/* Colors */
:root, #device-wrapper {
    --background-color: #faf6ec;
    --text-color: #1f2417;
    --accent-color: #c66a3d;
    --background-color-secondary: #f7f1e3;
    --text-color-secondary: #1f2417;
    --accent-color-secondary: #2f3a22;
}

#device-wrapper body {
    background-color: #faf6ec;
    color: var(--text-color);
}

#device-wrapper a {
    color: var(--accent-color);
}

/* Typography */
:root, #device-wrapper {
    --h1-font-family: 'Fraunces', 'Cormorant Garamond', 'Playfair Display', 'Times New Roman', serif;
    --h1-font-size-value: 4.6rem;
    --h1-size: 4.6rem;
    --h1-line-height: 1.05;
    --h1-font-weight: 300;
    --h1-font-style: normal;
    --h1-text-transform: none;
    --h1-letter-spacing: -0.01em;
    --h1-color: var(--text-color);

    --h2-font-family: 'Fraunces', 'Cormorant Garamond', 'Playfair Display', 'Times New Roman', serif;
    --h2-size: 2.8rem;
    --h2-line-height: 1.15;
    --h2-font-weight: 400;
    --h2-font-style: normal;
    --h2-text-transform: none;
    --h2-letter-spacing: -0.01em;
    --h2-color: var(--text-color);

    --h3-font-family: 'Fraunces', 'Cormorant Garamond', 'Playfair Display', 'Times New Roman', serif;
    --h3-size: 1.7rem;
    --h3-line-height: 1.2;
    --h3-font-weight: 500;
    --h3-font-style: normal;
    --h3-text-transform: none;
    --h3-letter-spacing: 0;
    --h3-color: var(--text-color);

    --h4-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --h4-size: 0.78rem;
    --h4-line-height: 1.3;
    --h4-font-weight: 600;
    --h4-font-style: normal;
    --h4-text-transform: uppercase;
    --h4-letter-spacing: 0.12em;
    --h4-color: var(--text-color-secondary);

    --p-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --p-size: 1rem;
    --p-line-height: 1.6;
    --p-font-weight: 400;
    --p-font-style: normal;
    --p-text-transform: none;
    --p-letter-spacing: 0;
    --p-color: var(--text-color-secondary);

    --p2-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --p2-size: 1.15rem;
    --p2-line-height: 1.65;
    --p2-font-weight: 400;
    --p2-font-style: normal;
    --p2-text-transform: none;
    --p2-letter-spacing: 0;
    --p2-color: var(--text-color-secondary);

    --p3-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --p3-size: 0.92rem;
    --p3-line-height: 1.55;
    --p3-font-weight: 400;
    --p3-font-style: normal;
    --p3-text-transform: none;
    --p3-letter-spacing: 0;
    --p3-color: var(--text-color-secondary);

    --p4-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --p4-size: 0.78rem;
    --p4-line-height: 1.4;
    --p4-font-weight: 500;
    --p4-font-style: normal;
    --p4-text-transform: uppercase;
    --p4-letter-spacing: 0.16em;
    --p4-color: var(--accent-color-secondary);

    --button-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --button-font-size: 0.95rem;
    --button-line-height: 1.2;
    --button-font-weight: 500;
    --button-font-style: normal;
    --button-text-transform: none;
    --button-letter-spacing: 0.02em;
    --button-color: var(--text-color);

    --link-color: var(--text-color);
    --link-underline: none;
    --link-hover-color: var(--accent-color);
    --link-hover-underline: underline;
}

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600&family=Inter:wght@300;400;500;600&display=swap');

#device-wrapper body {
    font-family: var(--p-font-family);
    font-size: var(--p-size);
    line-height: var(--p-line-height);
    font-weight: var(--p-font-weight);
    font-style: var(--p-font-style);
    text-transform: var(--p-text-transform);
    letter-spacing: var(--p-letter-spacing);
}

#device-wrapper h1 {
    font-family: var(--h1-font-family);
    font-size: var(--h1-font-size-value);
    line-height: var(--h1-line-height);
    font-weight: var(--h1-font-weight);
    font-style: var(--h1-font-style);
    text-transform: var(--h1-text-transform);
    letter-spacing: var(--h1-letter-spacing);
    color: var(--h1-color);
}
#device-wrapper h2 {
    font-family: var(--h2-font-family);
    font-size: var(--h2-size);
    line-height: var(--h2-line-height);
    font-weight: var(--h2-font-weight);
    font-style: var(--h2-font-style);
    text-transform: var(--h2-text-transform);
    letter-spacing: var(--h2-letter-spacing);
    color: var(--h2-color);
}
#device-wrapper h3 {
    font-family: var(--h3-font-family);
    font-size: var(--h3-size);
    line-height: var(--h3-line-height);
    font-weight: var(--h3-font-weight);
    font-style: var(--h3-font-style);
    text-transform: var(--h3-text-transform);
    letter-spacing: var(--h3-letter-spacing);
    color: var(--h3-color);
}
#device-wrapper h4 {
    font-family: var(--h4-font-family);
    font-size: var(--h4-size);
    line-height: var(--h4-line-height);
    font-weight: var(--h4-font-weight);
    font-style: var(--h4-font-style);
    text-transform: var(--h4-text-transform);
    letter-spacing: var(--h4-letter-spacing);
    color: var(--h4-color);
}
#device-wrapper p {
    font-family: var(--p-font-family);
    font-size: var(--p-size);
    line-height: var(--p-line-height);
    font-weight: var(--p-font-weight);
    font-style: var(--p-font-style);
    text-transform: var(--p-text-transform);
    letter-spacing: var(--p-letter-spacing);
    color: var(--p-color);
}
#device-wrapper .p2 {
    font-family: var(--p2-font-family);
    font-size: var(--p2-size);
    line-height: var(--p2-line-height);
    font-weight: var(--p2-font-weight);
    color: var(--p2-color);
}
#device-wrapper .p3 {
    font-family: var(--p3-font-family);
    font-size: var(--p3-size);
    line-height: var(--p3-line-height);
    color: var(--p3-color);
}
#device-wrapper .p4 {
    font-family: var(--p4-font-family);
    font-size: var(--p4-size);
    line-height: var(--p4-line-height);
    font-weight: var(--p4-font-weight);
    text-transform: var(--p4-text-transform);
    letter-spacing: var(--p4-letter-spacing);
    color: var(--p4-color);
}

#device-wrapper button,
#device-wrapper .btn,
#device-wrapper input[type="submit"],
#device-wrapper input[type="button"] {
    font-family: var(--button-font-family);
    font-size: var(--button-font-size);
    line-height: var(--button-line-height);
    font-weight: var(--button-font-weight);
    font-style: var(--button-font-style);
    text-transform: var(--button-text-transform);
    letter-spacing: var(--button-letter-spacing);
    color: var(--button-color);
}

/* Subratllat clàssic (només a #page) */
#device-wrapper #page a:not([class*="btn"]):not([class*="button"]):not(.anima-btn) {
    color: var(--link-color);
    text-decoration: var(--link-underline);
}
#device-wrapper #page a:not([class*="btn"]):not([class*="button"]):not(.anima-btn):hover {
    color: var(--link-hover-color);
    text-decoration: var(--link-hover-underline);
}

@container device (max-width: 768px) {
    #device-wrapper h1 { font-size: calc(var(--h1-font-size-value) * 0.6); }
    #device-wrapper h2 { font-size: calc(var(--h2-size) * 0.7); }
}

/* Buttons */
:root, #device-wrapper {
    /* Primary Button — pill claro (acción CTA destacada) */
    --btn-primary-bg-color: var(--accent-color);
    --btn-primary-text-color: #ffffff;
    --btn-primary-border-color: var(--accent-color);
    --btn-primary-hover-bg-color: #a65428;
    --btn-primary-hover-text-color: #ffffff;
    --btn-primary-hover-border-color: #a65428;
    --btn-primary-selected-bg-color: #1f2417;
    --btn-primary-selected-text-color: var(--background-color);
    --btn-primary-selected-border-color: #1f2417;
    --btn-primary-border-radius: 999px;
    --btn-primary-border-width: 1px;
    --btn-primary-box-shadow: none;
    --btn-primary-padding-vertical: 14px;
    --btn-primary-padding-horizontal: 32px;
    --btn-primary-min-width: 120px;

    /* Secondary Button — pill oscuro (acción principal neutra) */
    --btn-secondary-bg-color: var(--text-color);
    --btn-secondary-text-color: var(--background-color);
    --btn-secondary-border-color: var(--text-color);
    --btn-secondary-hover-bg-color: var(--accent-color);
    --btn-secondary-hover-text-color: #ffffff;
    --btn-secondary-hover-border-color: var(--accent-color);
    --btn-secondary-selected-bg-color: rgba(31,36,23,0.7);
    --btn-secondary-selected-text-color: #ffffff;
    --btn-secondary-selected-border-color: rgba(31,36,23,0.7);
    --btn-secondary-border-radius: 999px;
    --btn-secondary-border-width: 1px;
    --btn-secondary-box-shadow: none;
    --btn-secondary-padding-vertical: 14px;
    --btn-secondary-padding-horizontal: 32px;
    --btn-secondary-min-width: 120px;

    /* Menu */
    --menu-bg-color: transparent;
    --menu-text-color: var(--text-color-secondary);
    --menu-border-color: transparent;
    --menu-hover-bg-color: transparent;
    --menu-hover-text-color: var(--text-color);
    --menu-hover-border-color: var(--text-color);
    --menu-active-bg-color: transparent;
    --menu-active-text-color: var(--text-color);
    --menu-active-border-color: var(--text-color);
    --menu-border-radius: 0px;
    --menu-border-width: 0 0 1px 0;
    --menu-box-shadow: none;
    --menu-font-size: 0.92rem;
    --menu-padding-vertical: 6px;
    --menu-padding-horizontal: 0px;
    --menu-font-weight: 400;
    --menu-text-transform: none;
}

#device-wrapper .btn-primary, #device-wrapper .button-primary,
.btn-primary, .button-primary {
    background-color: var(--btn-primary-bg-color) !important;
    color: var(--btn-primary-text-color) !important;
    border: var(--btn-primary-border-width) solid var(--btn-primary-border-color) !important;
    border-radius: var(--btn-primary-border-radius) !important;
    box-shadow: var(--btn-primary-box-shadow) !important;
    padding: var(--btn-primary-padding-vertical) var(--btn-primary-padding-horizontal) !important;
    min-width: var(--btn-primary-min-width) !important;
    transition: all 0.25s ease !important;
}
#device-wrapper .btn-primary:hover, #device-wrapper .button-primary:hover,
.btn-primary:hover, .button-primary:hover {
    background-color: var(--btn-primary-hover-bg-color) !important;
    color: var(--btn-primary-hover-text-color) !important;
    border-color: var(--btn-primary-hover-border-color) !important;
}

#device-wrapper .btn-secondary, #device-wrapper .button-secondary,
.btn-secondary, .button-secondary {
    background-color: var(--btn-secondary-bg-color) !important;
    color: var(--btn-secondary-text-color) !important;
    border: var(--btn-secondary-border-width) solid var(--btn-secondary-border-color) !important;
    border-radius: var(--btn-secondary-border-radius) !important;
    box-shadow: var(--btn-secondary-box-shadow) !important;
    padding: var(--btn-secondary-padding-vertical) var(--btn-secondary-padding-horizontal) !important;
    min-width: var(--btn-secondary-min-width) !important;
    transition: all 0.25s ease !important;
}
#device-wrapper .btn-secondary:hover, #device-wrapper .button-secondary:hover,
.btn-secondary:hover, .button-secondary:hover {
    background-color: var(--btn-secondary-hover-bg-color) !important;
    color: var(--btn-secondary-hover-text-color) !important;
    border-color: var(--btn-secondary-hover-border-color) !important;
}

#device-wrapper ul.menu li.item a {
    background-color: var(--menu-bg-color) !important;
    color: var(--menu-text-color) !important;
    border-radius: var(--menu-border-radius) !important;
    padding: var(--menu-padding-vertical) var(--menu-padding-horizontal) !important;
    font-size: var(--menu-font-size) !important;
    font-weight: var(--menu-font-weight) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}
#device-wrapper ul.menu li.item a:hover,
#device-wrapper ul.menu li.item.selected a {
    color: var(--menu-hover-text-color) !important;
    border-bottom: 1px solid var(--menu-hover-border-color) !important;
}

/* Layout */
:root, #device-wrapper {
    --container-width-value: 1200px;
    --spacing-value: 40px;
    --header-height: 80px;
    --logo-max-height: 115px;
    --page-side-padding-base: 20px;
    --page-side-padding: var(--page-side-padding-base);
    --header-fixed: 0;
    --header-expandable: 0;
    --header-max-width: var(--container-width-value);
    --header-bg-color-select: var(--background-color);
    --header-bg-color-custom: #ffffff;
    --header-bg-color: var(--background-color);
    --page-bg-color-select: var(--background-color);
    --page-bg-color-custom: #ffffff;
    --page-bg-color: var(--background-color);
    --footer-bg-color-select: var(--text-color-secondary);
    --footer-bg-color-custom: #ffffff;
    --footer-bg-color: var(--text-color-secondary);
}

#device-wrapper .container {
    max-width: var(--container-width-value);
    padding-top: var(--spacing-value);
    padding-bottom: var(--spacing-value);
}

#device-wrapper header {
    background-color: var(--header-bg-color) !important;
    min-height: var(--header-height);
    padding-left: var(--page-side-padding) !important;
    padding-right: var(--page-side-padding) !important;
}

#device-wrapper header .container,
#device-wrapper header .head,
#device-wrapper header .maxwidth,
#device-wrapper header > .block {
    max-width: var(--header-max-width) !important;
}

#device-wrapper #page, #device-wrapper main {
    background-color: var(--page-bg-color) !important;
}

#device-wrapper #page section,
#device-wrapper main section {
    padding-left: var(--page-side-padding);
    padding-right: var(--page-side-padding);
}

#device-wrapper footer {
    background-color: var(--footer-bg-color) !important;
    padding-left: var(--page-side-padding) !important;
    padding-right: var(--page-side-padding) !important;
}

/* En mòbil: meitat del page-side-padding */
@media (max-width: 768px) {
    :root, #device-wrapper {
        --page-side-padding: calc(var(--page-side-padding-base) / 2);
    }
}

/* Custom */


/* Spacing */
