/* Colors */
#device-wrapper {
    --background-color: #ffffff;
    --text-color: #000000;
    --accent-color: #fce436;
    --background-color-secondary: #f5f5f5;
    --text-color-secondary: #99998d;
    --accent-color-secondary: #ddcb50;
}

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

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

/* Typography */
#device-wrapper {
    --h1-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';
    --h1-font-size-value: 32px;
    --h1-line-height: 1.2;
    --h1-font-weight: 300;
    --h1-font-style: normal;
    --h1-text-transform: none;
    --h1-color: var(--text-color);
    --h2-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';
    --h2-size: 28px;
    --h2-line-height: 1.3;
    --h2-font-weight: 300;
    --h2-font-style: normal;
    --h2-text-transform: none;
    --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: 24px;
    --h3-line-height: 1.4;
    --h3-font-weight: 300;
    --h3-font-style: normal;
    --h3-text-transform: none;
    --h3-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: 15px;
    --p-line-height: 1.5;
    --p-font-weight: 200;
    --p-font-style: normal;
    --p-text-transform: none;
    --p-color: var(--text-color-secondary);
    --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: 14px;
    --button-line-height: 1.5;
    --button-font-weight: 400;
    --button-font-style: normal;
    --button-text-transform: uppercase;
    --button-color: var(--background-color);
    --link-color: #000000;
    --link-underline: none;
    --link-hover-color: #000000;
    --link-hover-underline: underline;
}

#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);
}

#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);
    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);
    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);
    color: var(--h3-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);
    color: var(--p-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);
    color: var(--button-color);
}

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

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

/* Buttons */
#device-wrapper {
    /* Primary Button */
    --btn-primary-bg-color: #000000;
    --btn-primary-text-color: #ffffff;
    --btn-primary-border-color: #ffffff;
    --btn-primary-hover-bg-color: #000000;
    --btn-primary-hover-text-color: #ffffff;
    --btn-primary-hover-border-color: #ffffff;
    --btn-primary-selected-bg-color: #000000;
    --btn-primary-selected-text-color: #ffffff;
    --btn-primary-selected-border-color: #ffffff;
    --btn-primary-border-radius: 0px;
    --btn-primary-border-width: 0px;
    --btn-primary-box-shadow: none;
    --btn-primary-padding-vertical: 12px;
    --btn-primary-padding-horizontal: 24px;

    /* Secondary Button */
    --btn-secondary-bg-color: #b0b0b0;
    --btn-secondary-text-color: #ffffff;
    --btn-secondary-border-color: #ffffff;
    --btn-secondary-hover-bg-color: #b0b0b0;
    --btn-secondary-hover-text-color: #ffffff;
    --btn-secondary-hover-border-color: #ffffff;
    --btn-secondary-selected-bg-color: #b0b0b0;
    --btn-secondary-selected-text-color: #ffffff;
    --btn-secondary-selected-border-color: #ffffff;
    --btn-secondary-border-radius: 0px;
    --btn-secondary-border-width: 0px;
    --btn-secondary-box-shadow: none;
    --btn-secondary-padding-vertical: 12px;
    --btn-secondary-padding-horizontal: 24px;

    /* Menu */
    --menu-bg-color: #ffffff;
    --menu-text-color: #000000;
    --menu-border-color: #ffffff;
    --menu-hover-bg-color: #ffffff;
    --menu-hover-text-color: #b0b0b0;
    --menu-hover-border-color: #ffffff;
    --menu-active-bg-color: rgba(252, 228, 54, 0);
    --menu-active-text-color: #b0b0b0;
    --menu-active-border-color: #ffffff;
    --menu-border-radius: 0px;
    --menu-border-width: 0px;
    --menu-box-shadow: none;
    --menu-font-size: 14px;
    --menu-padding-vertical: 10px;
    --menu-padding-horizontal: 20px;
    --menu-font-weight: 400;
    --menu-text-transform: none;
}

/* Layout */
#device-wrapper {
    --container-width-value: 1350px;
    --spacing-value: 40px;
    --header-height: 80px;
    --logo-max-height: 52px;
    --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(--background-color-secondary);
    --footer-bg-color-custom: #ffffff;
    --footer-bg-color: var(--background-color-secondary);
}

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

#device-wrapper header {
    background-color: var(--header-bg-color) !important;
    height: var(--header-height) !important;
}

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

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

/* Banner de cookies: usar l'accent secundari del web (#wsf-cookie-consent
   s'injecta fora de #device-wrapper, per aixo cal definir-hi --accent-color) */
#wsf-cookie-consent {
    --accent-color: #ddcb50;
}

/* Custom */

/* Descripció de producte: separar clarament cada bloc.
   La descripció ve d'un sol camp de BD amb diversos blocs separats per doble
   salt de línia (idioma original, traducció, dimensions, preu), que es
   renderitzen com a <p> consecutius. Dins de cada <p> les línies van amb <br>
   (line-height 1.7), de manera que sense prou marge el salt entre paràgrafs no
   es distingeix del salt de línia intern i sembla text seguit. Aquí separem
   cada paràgraf amb marge + un filet subtil perquè quedi clar que la traducció
   no és continuació del text original. (2026-06-19)
   Especificitat (1,2,2) per guanyar la regla base de style.min.css (1,2,1). */
#device-wrapper .product-details .product-description p {
    margin: 0;
}
#device-wrapper .product-details .product-description p + p {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid #ececec;
}

/* Text de la descripció una mica més lleuger i clar per guanyar elegància,
   sense perdre llegibilitat: pes 300 (base era 400) i color #737373 (base
   #666666, encara amb prou contrast sobre blanc). (2026-06-19) */
#device-wrapper .product-details .product-description,
#device-wrapper .product-details .product-description p {
    font-weight: 300;
    color: #737373;
}

/* Títol de producte una mica més petit i no tan negre, per a un aspecte més
   refinat. Base: 28px / negre pur (var(--text-color) #000). Especificitat
   (1,2,1) amb .product-detail-container per guanyar la regla de
   /css/modules/products.css (1,1,1), que es carrega després de custom.css. */
#device-wrapper .product-detail-container .product-details h1 {
    font-size: 24px;
    font-weight: 300;       /* abans 400: una mica més lleuger */
    letter-spacing: 1px;    /* separació entre lletres per elegància */
    /* !important per guanyar la regla global de css-variables-enforce.css:
       #device-wrapper h1 { color: var(--h1-color,...) !important; } */
    color: #737373 !important;
}
