/* Colors */
:root, #device-wrapper {
    --background-color: #fdfcf8;
    --text-color: #16140c;
    --accent-color: #f5ece1;
    --background-color-secondary: #ffffff;
    --text-color-secondary: #000000;
    --accent-color-secondary: #f4f2eb;
    /* Alias: l'editor exposa l'opcio "secondary background" com a
       var(--bg-color-secondary), pero la canonica al :root es
       --background-color-secondary. Definim l'alias perque resolgui. */
    --bg-color-secondary: #ffffff;
}

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

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

/* Typography */
:root, #device-wrapper {
    --h1-font-family: Georgia, serif;
    --h1-font-size-value: 3.6rem;
    --h1-line-height: 1.1;
    --h1-font-weight: 400;
    --h1-font-style: normal;
    --h1-text-transform: none;
    --h1-letter-spacing: 0px;
    --h1-color: var(--text-color);
    --h2-font-family: Georgia, serif;
    --h2-size: 2.6rem;
    --h2-line-height: 1.3;
    --h2-font-weight: 400;
    --h2-font-style: normal;
    --h2-text-transform: none;
    --h2-letter-spacing: 0px;
    --h2-color: var(--text-color);
    --h3-font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';
    --h3-size: 2.45rem;
    --h3-line-height: 1.4;
    --h3-font-weight: 400;
    --h3-font-style: normal;
    --h3-text-transform: none;
    --h3-letter-spacing: 0px;
    --h3-color: var(--text-color);
    --h4-font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';
    --h4-size: 1.65rem;
    --h4-line-height: 1.4;
    --h4-font-weight: 400;
    --h4-font-style: normal;
    --h4-text-transform: none;
    --h4-letter-spacing: 0px;
    --h4-color: var(--text-color);
    --p-font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';
    --p-size: 1rem;
    --p-line-height: 1.5;
    --p-font-weight: 400;
    --p-font-style: normal;
    --p-text-transform: none;
    --p-letter-spacing: 0px;
    --p-color: var(--text-color);
    --p2-font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';
    --p2-size: 1.1rem;
    --p2-line-height: 1.5;
    --p2-font-weight: 600;
    --p2-font-style: normal;
    --p2-text-transform: none;
    --p2-letter-spacing: 0px;
    --p2-color: var(--text-color);
    --p3-font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';
    --p3-size: 1.3rem;
    --p3-line-height: 1.5;
    --p3-font-weight: 400;
    --p3-font-style: normal;
    --p3-text-transform: none;
    --p3-letter-spacing: 0px;
    --p3-color: var(--text-color);
    --p4-font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';
    --p4-size: 1rem;
    --p4-line-height: 1.5;
    --p4-font-weight: 400;
    --p4-font-style: normal;
    --p4-text-transform: none;
    --p4-letter-spacing: 0px;
    --p4-color: var(--text-color);
    --button-font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';
    --button-font-size: 1rem;
    --button-line-height: 1.5;
    --button-font-weight: 500;
    --button-font-style: normal;
    --button-text-transform: none;
    --button-letter-spacing: 0px;
    --button-color: var(--background-color);
    --link-color: #000000;
    --link-underline: none;
    --link-hover-color: var(--accent-color);
    --link-hover-underline: none;
}

#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);
    font-style: var(--p2-font-style);
    text-transform: var(--p2-text-transform);
    letter-spacing: var(--p2-letter-spacing);
    color: var(--p2-color);
}

#device-wrapper .p3 {
    font-family: var(--p3-font-family);
    font-size: var(--p3-size);
    line-height: var(--p3-line-height);
    font-weight: var(--p3-font-weight);
    font-style: var(--p3-font-style);
    text-transform: var(--p3-text-transform);
    letter-spacing: var(--p3-letter-spacing);
    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);
    font-style: var(--p4-font-style);
    text-transform: var(--p4-text-transform);
    letter-spacing: var(--p4-letter-spacing);
    color: var(--p4-color);
}

#device-wrapper button, #device-wrapper .btn, #device-wrapper .btn-primary, #device-wrapper .btn-secondary, #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);
}

#device-wrapper #page a:not([class*="btn"]):not([class*="button"]) {
    color: var(--link-color) !important;
    text-decoration: var(--link-underline) !important;
}

#device-wrapper #page a:not([class*="btn"]):not([class*="button"]):hover {
    color: var(--link-hover-color) !important;
    text-decoration: var(--link-hover-underline) !important;
}

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

/* Buttons */
:root, #device-wrapper {
    /* Primary Button */
    --btn-primary-bg-color: #141413;
    --btn-primary-text-color: #f0eee6;
    --btn-primary-border-color: #f0eee6;
    --btn-primary-hover-bg-color: #16140c;
    --btn-primary-hover-text-color: #f0eee6;
    --btn-primary-hover-border-color: #f0eee6;
    --btn-primary-selected-bg-color: #16140c;
    --btn-primary-selected-text-color: #f0eee6;
    --btn-primary-selected-border-color: #f0eee6;
    --btn-primary-border-radius: 8px;
    --btn-primary-border-width: 0px;
    --btn-primary-box-shadow: none;
    --btn-primary-padding-vertical: 12px;
    --btn-primary-padding-horizontal: 24px;
    --btn-primary-min-width: 120px;
    --btn-primary-font-weight: 500;

    /* Secondary Button */
    --btn-secondary-bg-color: #f0eee6;
    --btn-secondary-text-color: #141413;
    --btn-secondary-border-color: #141413;
    --btn-secondary-hover-bg-color: #f0eee6;
    --btn-secondary-hover-text-color: #16140c;
    --btn-secondary-hover-border-color: #f0eee6;
    --btn-secondary-selected-bg-color: #f0eee6;
    --btn-secondary-selected-text-color: #16140c;
    --btn-secondary-selected-border-color: #f0eee6;
    --btn-secondary-border-radius: 8px;
    --btn-secondary-border-width: 0px;
    --btn-secondary-box-shadow: none;
    --btn-secondary-padding-vertical: 12px;
    --btn-secondary-padding-horizontal: 24px;
    --btn-secondary-min-width: 120px;
    --btn-secondary-font-weight: 400;

    /* Menu */
    --menu-bg-color: rgba(240, 238, 230, 0);
    --menu-text-color: #141413;
    --menu-border-color: #f0eee6;
    --menu-hover-bg-color: rgba(240, 238, 230, 0);
    --menu-hover-text-color: #271f09;
    --menu-hover-border-color: #f0eee6;
    --menu-active-bg-color: rgba(240, 238, 230, 0);
    --menu-active-text-color: #271f09;
    --menu-active-border-color: #f0eee6;
    --menu-border-radius: 5px;
    --menu-border-width: 0px;
    --menu-box-shadow: none;
    --menu-font-size: 1rem;
    --menu-padding-vertical: 10px;
    --menu-padding-horizontal: 20px;
    --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;
    font-weight: var(--btn-primary-font-weight) !important;
    transition: all 0.3s 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-primary:active, #device-wrapper .button-primary:active,
#device-wrapper .btn-primary.active, #device-wrapper .button-primary.active,
.btn-primary:active, .button-primary:active,
.btn-primary.active, .button-primary.active {
    background-color: var(--btn-primary-selected-bg-color) !important;
    color: var(--btn-primary-selected-text-color) !important;
    border-color: var(--btn-primary-selected-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;
    font-weight: var(--btn-secondary-font-weight) !important;
    transition: all 0.3s 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 .btn-secondary:active, #device-wrapper .button-secondary:active,
#device-wrapper .btn-secondary.active, #device-wrapper .button-secondary.active,
.btn-secondary:active, .button-secondary:active,
.btn-secondary.active, .button-secondary.active {
    background-color: var(--btn-secondary-selected-bg-color) !important;
    color: var(--btn-secondary-selected-text-color) !important;
    border-color: var(--btn-secondary-selected-border-color) !important;
}

#device-wrapper ul.menu li.item a {
    background-color: var(--menu-bg-color) !important;
    color: var(--menu-text-color) !important;
    border: var(--menu-border-width) solid var(--menu-border-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.3s ease !important;
}
#device-wrapper ul.menu li.item a span {
    color: inherit !important;
}
#device-wrapper ul.menu li.item a:hover {
    background-color: var(--menu-hover-bg-color) !important;
    color: var(--menu-hover-text-color) !important;
    border-color: var(--menu-hover-border-color) !important;
}
#device-wrapper ul.menu li.item.selected a {
    background-color: var(--menu-active-bg-color) !important;
    color: var(--menu-active-text-color) !important;
    border-color: var(--menu-active-border-color) !important;
}

/* Layout */
:root, #device-wrapper {
    --container-width-value: 1400px;
    --spacing-value: 40px;
    --header-height: 80px;
    --logo-max-height: 44px;
    --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;
    height: var(--header-height) !important;
    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 */
