
/*
Theme Name: HSS_Theme
Description: A child theme for Hebridean Sheep Society using Divi 5
Author: Pen Rashbass
Template: Divi
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: divi-child
*/

/* Reset and Base Styles */
body {
    font-family: 'Inter', sans-serif; /* Modern, clean font */
    line-height: 1.6;
    color: #333;
}

/* Divi 5 Specific Resets */
.et-l.et-l--header,
.et-l.et-l--content,
.et-l.et-l--footer {
    max-width: 100%;
    width: 100%;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    margin-bottom: 0.75em;
    line-height: 1.3;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }

/* Global Button Styles */
.et_pb_button {
    transition: all 0.3s ease;
    border-radius: 4px;
    padding: 12px 24px;
    font-weight: 500;
}

.et_pb_button:hover {
    opacity: 0.85;
}

/* Custom Color Palette */
:root {
    --primary-color: #3498db;
    --secondary-color: #2ecc71;
    --accent-color: #e74c3c;
    --text-color: #333;
    --background-color: #f4f4f4;
}

/* Responsive Adjustments */
@media screen and (max-width: 980px) {
    body {
        font-size: 16px;
    }

    .et_pb_column {
        margin-bottom: 30px;
    }
}

/* Custom Module Overrides */
.et_pb_module {
    margin-bottom: 2rem;
}

/* Header Customizations */
.et-l.et-l--header {
    background-color: var(--background-color);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Content Area Enhancements */
.et-l.et-l--content {
    padding: 2rem 0;
}

/* Footer Styling */
.et-l.et-l--footer {
    background-color: #f8f9fa;
    color: #666;
    padding: 2rem 0;
}

/* Custom Utility Classes */
.et-custom-width {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

.et-shadow {
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.et-rounded {
    border-radius: 8px;
}

/* Performance and Accessibility */
img {
    max-width: 100%;
    height: auto;
}

/* Print Styles */
@media print {
    body {
        color: #000;
        background: #fff;
    }
}
