/* Generat per tools/build-theme-css.py a partir de: tokens, fonts, base, components, header, footer, flex, pages. No l'editis. */

:root {
color-scheme: light;
--do: #e53935;
--re: #f08a00;
--mi: #e8b800;
--fa: #3f9b47;
--sol: #2aa3dc;
--la: #1f3f8f;
--si: #7b3fa0;
--notes: linear-gradient(90deg,
var(--do) 0 14.286%, var(--re) 0 28.571%, var(--mi) 0 42.857%, var(--fa) 0 57.143%,
var(--sol) 0 71.429%, var(--la) 0 85.714%, var(--si) 0);
--rainbow-h: 8px; 
--paper: #ffffff;
--surface: #f3f4f8;
--surface-2: #e9ebf2;
--line: #dde0e8;
--line-strong: #b8bdcb;
--ink: #151821;
--ink-2: #393e4c;
--muted: #5f6577;
--accent: var(--la);
--accent-hover: #172f6b;
--link: var(--la);
--focus: var(--sol);
--ok: #2b7a34;
--ok-bg: #edf6ee;
--info-bg: #eef3fb;
--sale: var(--do);
--on-dark: #ffffff;
--on-dark-2: #b9bdca;
--dark: #151821;
--dark-2: #232735;
--dark-rail: #3d4253; 
--font-display: "Young Serif", Georgia, "Times New Roman", serif;
--display-w: 400;      
--display-w-2: 400;    
--display-ls: -0.012em;
--font-body: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
--text-xs: 0.8125rem;   
--text-sm: 0.90625rem;  
--text-base: 1.0625rem; 
--text-lg: 1.1875rem;   
--h1: clamp(2.5rem, 1.6rem + 3.6vw, 4.5rem);
--h1-page: clamp(2.125rem, 1.6rem + 2.2vw, 3.5rem);
--h2: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
--h3: 1.3125rem;
--h4: 1.125rem;
--stat: clamp(2.25rem, 1.6rem + 2.4vw, 3.5rem);
--leading: 1.6;
--leading-tight: 1.08;
--space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px;
--space-6: 24px; --space-8: 32px; --space-10: 40px; --space-12: 48px; --space-16: 64px;
--radius-sm: 4px;
--radius: 8px;
--radius-lg: 14px;
--radius-pill: 999px;
--shadow-sm: 0 1px 2px rgb(21 24 33 / 0.08);
--shadow-md: 0 6px 20px -6px rgb(21 24 33 / 0.22);
--shadow-book: 0 1px 1px rgb(21 24 33 / 0.10), 0 12px 24px -12px rgb(21 24 33 / 0.50);
--container: 1240px;
--narrow: 760px;
--edge: clamp(16px, 4vw, 40px);
--gutter-l: max(var(--edge), env(safe-area-inset-left, 0px));
--gutter-r: max(var(--edge), env(safe-area-inset-right, 0px));
--section: clamp(48px, 3rem + 3vw, 96px);
--header-h: 72px;
--global-palette1: var(--ink);
--global-palette2: var(--accent);
--global-palette3: var(--ink);
--global-palette4: var(--ink-2);
--global-palette5: var(--muted);
--global-palette6: var(--line-strong);
--global-palette7: var(--surface-2);
--global-palette8: var(--surface);
--global-palette9: var(--paper);
--global-body-font-family: var(--font-body);
--global-heading-font-family: var(--font-display);
--global-content-width: var(--container);
--global-content-edge-padding: var(--edge);
}

@font-face {
font-family: "Young Serif";
font-style: normal;
font-weight: 400;
font-display: swap;
src: url("../../fonts/young-serif-latin.woff2") format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: "Young Serif";
font-style: normal;
font-weight: 400;
font-display: swap;
src: url("../../fonts/young-serif-latin-ext.woff2") format("woff2");
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: "Figtree";
font-style: normal;
font-weight: 400 800;
font-display: swap;
src: url("../../fonts/figtree-latin.woff2") format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: "Figtree";
font-style: italic;
font-weight: 400 800;
font-display: swap;
src: url("../../fonts/figtree-italic-latin.woff2") format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + 16px); }
body {
margin: 0;
background: var(--paper);
color: var(--ink);
font-family: var(--font-body);
font-size: var(--text-base);
line-height: var(--leading);
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
text-wrap: pretty;
}
[hidden] { display: none !important; }
img, svg, video { max-width: 100%; height: auto; }
.cp-content img, .cp-footer img { display: block; }
h1, h2, h3, h4 {
margin: 0;
font-family: var(--font-display);
font-weight: var(--display-w);
font-optical-sizing: auto;
font-synthesis-weight: none;
line-height: var(--leading-tight);
letter-spacing: var(--display-ls);
font-variant-numeric: lining-nums;
text-wrap: balance;
color: var(--ink);
}
p, ul, ol, dl, figure, blockquote { margin: 0; }
a { color: var(--link); text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
a:hover { color: var(--accent-hover); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 2px; }
::selection { background: color-mix(in srgb, var(--sol) 30%, transparent); }
.cp-container {
width: 100%;
max-width: calc(var(--container) + var(--edge) * 2);
margin-inline: auto;
padding-left: var(--gutter-l);
padding-right: var(--gutter-r);
}
.cp-container--narrow { max-width: calc(var(--narrow) + var(--edge) * 2); }
.cp-display, .cp-h1 { font-size: var(--h1); font-weight: var(--display-w); letter-spacing: -0.02em; }
.cp-h1--page { font-size: var(--h1-page); }
.cp-h2 { font-size: var(--h2); font-weight: var(--display-w); letter-spacing: -0.015em; }
.cp-h3 { font-size: var(--h3); font-weight: var(--display-w-2); }
:is(.cp-display, .cp-h1, .cp-h2) em { font-style: normal; background: var(--notes) left bottom / 100% 0.12em no-repeat; padding-bottom: 0.05em; }
.cp-h4 { font-size: var(--h4); font-weight: var(--display-w-2); }
.cp-lead { font-size: var(--text-lg); line-height: 1.55; color: var(--ink-2); max-width: 60ch; }
.cp-small { font-size: var(--text-sm); }
.cp-muted { color: var(--muted); }
.cp-prose { max-width: 68ch; color: var(--ink-2); }
.cp-prose > * + * { margin-top: 1em; }
.cp-prose h2 { font-size: var(--h3); margin-top: 1.8em; color: var(--ink); }
.cp-prose h3 { font-size: var(--h4); margin-top: 1.5em; color: var(--ink); }
.cp-prose ul, .cp-prose ol { padding-left: 1.2em; }
.cp-prose li + li { margin-top: 0.35em; }
.cp-prose strong { color: var(--ink); font-weight: 650; }
.cp-sr-only {
position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.cp-skip { position: absolute; left: 8px; top: -60px; z-index: 100; padding: 10px 16px; background: var(--ink); color: var(--on-dark); border-radius: var(--radius); }
.cp-skip:focus { top: 8px; }
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

.cp-icon { width: 1.25em; height: 1.25em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; vertical-align: -0.25em; }
.cp-icon--fill { fill: currentColor; stroke: none; }
.cp-ins { width: 1.5em; height: 1.5em; flex: none; fill: none; stroke: currentColor; stroke-width: 24; stroke-linecap: round; stroke-linejoin: round; }
.cp-btn {
--btn-bg: var(--ink); --btn-fg: var(--on-dark); --btn-bd: var(--ink);
display: inline-flex; align-items: center; justify-content: center; gap: 0.55em;
min-height: 48px; padding: 0.7em 1.35em;
border: 2px solid var(--btn-bd); border-radius: var(--radius);
background: var(--btn-bg); color: var(--btn-fg);
font: 650 var(--text-base)/1.2 var(--font-body);
text-decoration: none; cursor: pointer;
transition: background-color .15s, border-color .15s, color .15s, transform .15s;
}
.cp-btn:hover { --btn-bg: var(--accent); --btn-bd: var(--accent); color: var(--btn-fg); text-decoration: none; }
.cp-btn:active { transform: translateY(1px); }
.cp-btn .cp-icon { transition: transform .15s; }
.cp-btn:hover .cp-icon--arrow { transform: translateX(3px); }
.cp-btn--secondary { --btn-bg: transparent; --btn-fg: var(--ink); --btn-bd: var(--ink); }
.cp-btn--secondary:hover { --btn-bg: var(--ink); --btn-fg: var(--on-dark); --btn-bd: var(--ink); }
.cp-btn--light { --btn-bg: var(--paper); --btn-fg: var(--ink); --btn-bd: var(--paper); }
.cp-btn--light:hover { --btn-bg: transparent; --btn-fg: var(--on-dark); --btn-bd: var(--paper); }
.cp-btn--ghost { --btn-bg: transparent; --btn-fg: var(--ink); --btn-bd: var(--line-strong); }
.cp-btn--ghost:hover { --btn-bg: var(--surface); --btn-fg: var(--ink); --btn-bd: var(--ink); }
.cp-btn--small { min-height: 40px; padding: 0.45em 1em; font-size: var(--text-sm); }
.cp-btn--block { width: 100%; }
.cp-buttons { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.cp-link { display: inline-flex; align-items: center; gap: 0.4em; font-weight: 650; color: var(--ink); text-decoration: none; }
.cp-link:hover { color: var(--accent); text-decoration: underline; }
.cp-link .cp-icon { transition: transform .15s; }
.cp-link:hover .cp-icon { transform: translateX(3px); }
.cp-kicker {
display: inline-flex; align-items: center; gap: 0.6em;
font: 700 var(--text-xs)/1.2 var(--font-body);
letter-spacing: 0.09em; text-transform: uppercase; color: var(--muted);
}
.cp-kicker::before {
content: ""; width: 0.95em; height: 0.72em; border-radius: 50%;
background: var(--note, var(--do)); transform: rotate(-22deg); flex: none;
}
.cp-notes { display: flex; flex-wrap: wrap; gap: 6px 12px; padding: 0; list-style: none; font-size: var(--text-sm); font-weight: 600; color: var(--ink-2); }
.cp-notes li { display: inline-flex; align-items: center; gap: 5px; }
.cp-notes i { position: relative; width: 14px; height: 11px; border-radius: 50%; transform: rotate(-22deg); background: var(--c); }
.cp-notes i.is-low::after { content: ""; position: absolute; left: 50%; top: 50%; width: 20px; height: 2px; border-radius: 1px; background: var(--ink); transform: translate(-50%, -50%) rotate(22deg); }
.cp-legend { display: grid; gap: 8px; }
.cp-legend p { font-size: var(--text-xs); color: var(--muted); }
.cp-rainbow { height: var(--rainbow-h); background: var(--notes); }
.cp-lang {
display: inline-flex; align-items: center; gap: 0.45em;
font: 600 var(--text-sm)/1 var(--font-body); color: var(--ink);
}
.cp-lang abbr {
display: inline-grid; place-items: center; min-width: 2.1em; height: 1.6em; padding: 0 0.35em;
border-radius: var(--radius-sm); background: var(--ink); color: var(--on-dark);
font-size: 0.78em; font-weight: 700; letter-spacing: 0.06em; text-decoration: none;
}
.cp-lang--sm { font-size: var(--text-xs); }
.cp-lang--lg { font-size: var(--text-base); }
.cp-price { font: var(--display-w-2) 1.125rem/1.1 var(--font-display); font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
.cp-price del { font-weight: 400; color: var(--muted); font-size: 0.85em; margin-right: 0.3em; }
.cp-price ins { text-decoration: none; color: var(--sale); }
.cp-price small { font: 400 var(--text-xs)/1 var(--font-body); color: var(--muted); }
.cp-chip {
display: inline-flex; align-items: center; gap: 0.45em;
min-height: 36px; padding: 0.35em 0.9em;
border: 1.5px solid var(--line-strong); border-radius: var(--radius-pill);
background: var(--paper); color: var(--ink);
font: 600 var(--text-sm)/1.2 var(--font-body); text-decoration: none; cursor: pointer; white-space: nowrap;
}
.cp-chip:hover { border-color: var(--ink); color: var(--ink); text-decoration: none; }
.cp-chip.is-active, .cp-chip[aria-pressed="true"], .cp-chip[aria-current] { background: var(--ink); border-color: var(--ink); color: var(--on-dark); }
.cp-chip small { font-weight: 500; color: var(--muted); }
.cp-chip.is-active small, .cp-chip[aria-current] small { color: var(--on-dark-2); }
.cp-feats { display: flex; flex-wrap: wrap; gap: 10px 22px; padding: 0; list-style: none; }
.cp-feats li { display: inline-flex; align-items: center; gap: 0.5em; font-size: var(--text-sm); font-weight: 600; color: var(--ink-2); }
.cp-feats .cp-icon { width: 1.5em; height: 1.5em; color: var(--ink); }
.cp-book { position: relative; display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }
.cp-book__cover {
display: flex; align-items: center; justify-content: center;
aspect-ratio: 1 / 1; max-width: 100%; padding: 11%;
border-radius: var(--radius); background: var(--surface);
transition: background-color .2s;
}
.cp-book__cover img {
width: 100%; height: 100%; object-fit: contain; border-radius: 2px;
filter: drop-shadow(0 1px 1px rgb(21 24 33 / 0.12)) drop-shadow(0 10px 12px rgb(21 24 33 / 0.28));
transition: transform .25s ease;
}
.cp-book:hover .cp-book__cover { background: var(--surface-2); }
.cp-book__flag {
position: absolute; top: 10px; left: 10px; z-index: 1; pointer-events: none;
padding: 5px 8px; border-radius: var(--radius-sm); background: var(--mi); color: var(--ink);
font: 700 var(--text-xs)/1 var(--font-body); letter-spacing: 0.02em;
}
.cp-book:hover .cp-book__cover img { transform: translateY(-4px) rotate(-1deg); }
.cp-book__body { display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 0; }
.cp-book__title { font: var(--display-w-2) 1.0625rem/1.25 var(--font-display); letter-spacing: 0; hyphens: auto; overflow-wrap: break-word; }
.cp-book__title a { color: var(--ink); text-decoration: none; }
.cp-book__title a::after { content: ""; position: absolute; inset: 0; border-radius: var(--radius); }
.cp-book__title a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.cp-book__title a:focus-visible { outline: none; }
.cp-book__title a:focus-visible::after { outline: 3px solid var(--focus); outline-offset: 4px; }
.cp-book__sub { font-size: var(--text-sm); line-height: 1.4; color: var(--ink-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cp-book__fmt { font-size: var(--text-xs); color: var(--muted); }
.cp-book__foot { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); margin-top: auto; padding-top: 6px; }
.cp-book__add {
position: relative; z-index: 1;
display: inline-grid; place-items: center; width: 42px; height: 42px; flex: none;
border: 1.5px solid var(--line-strong); border-radius: 50%; background: var(--paper); color: var(--ink); cursor: pointer;
transition: background-color .15s, border-color .15s, color .15s;
}
.cp-book__add:hover { background: var(--ink); border-color: var(--ink); color: var(--on-dark); }
.cp-book__add { text-decoration: none; }
.cp-book__add.is-added, .cp-book__add.added { background: var(--ok); border-color: var(--ok); color: var(--on-dark); }
.cp-book__add.loading { opacity: 0.55; pointer-events: none; }
.cp-book .added_to_cart { display: none; }
.cp-books { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 16px; }
@media (min-width: 700px) { .cp-books { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 24px; } }
@media (min-width: 1080px) { .cp-books--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.cp-qty { display: inline-flex; align-items: stretch; height: 48px; border: 1.5px solid var(--line-strong); border-radius: var(--radius); background: var(--paper); }
.cp-qty button { width: 42px; border: 0; background: none; color: var(--ink); cursor: pointer; display: grid; place-items: center; }
.cp-qty button:hover { background: var(--surface); }
.cp-qty input { width: 3ch; border: 0; text-align: center; font: 650 var(--text-base)/1 var(--font-body); font-variant-numeric: tabular-nums; color: var(--ink); background: none; -moz-appearance: textfield; }
.cp-qty input::-webkit-outer-spin-button, .cp-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cp-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.cp-field label, .cp-field .cp-label { font-size: var(--text-sm); font-weight: 650; color: var(--ink); }
.cp-field small { font-size: var(--text-xs); color: var(--muted); }
.cp-input, .cp-select, .cp-textarea {
width: 100%; min-height: 48px; padding: 0.65em 0.85em;
border: 1.5px solid var(--line-strong); border-radius: var(--radius); background: var(--paper);
font: 400 var(--text-base)/1.4 var(--font-body); color: var(--ink);
}
.cp-textarea { min-height: 140px; resize: vertical; }
.cp-select { appearance: none; padding-right: 2.4em; background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%); background-position: calc(100% - 20px) 52%, calc(100% - 15px) 52%; background-size: 5px 5px; background-repeat: no-repeat; }
.cp-input:hover, .cp-select:hover, .cp-textarea:hover { border-color: var(--ink-2); }
.cp-input:focus, .cp-select:focus, .cp-textarea:focus { outline: 3px solid color-mix(in srgb, var(--focus) 45%, transparent); outline-offset: 0; border-color: var(--ink); }
.cp-check { display: flex; align-items: flex-start; gap: 10px; font-size: var(--text-sm); line-height: 1.45; cursor: pointer; }
.cp-check input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--ink); flex: none; }
.cp-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: var(--text-sm); color: var(--muted); }
.cp-breadcrumb a { color: var(--muted); text-decoration: none; }
.cp-breadcrumb a:hover { color: var(--ink); text-decoration: underline; }
.cp-breadcrumb [aria-current] { color: var(--ink); font-weight: 600; }
.cp-tabs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; -webkit-mask-image: linear-gradient(90deg, #000 92%, transparent); mask-image: linear-gradient(90deg, #000 92%, transparent); }
.cp-tabs::-webkit-scrollbar { display: none; }
@media (min-width: 1080px) { .cp-tabs { flex-wrap: wrap; -webkit-mask-image: none; mask-image: none; } }
.cp-dl { display: grid; gap: 0; }
.cp-dl > div { display: grid; grid-template-columns: minmax(8.5em, 38%) 1fr; gap: var(--space-4); padding: 10px 0; border-bottom: 1px solid var(--line); }
.cp-dl > div:first-child { border-top: 1px solid var(--line); }
.cp-dl dt { font-size: var(--text-sm); color: var(--muted); }
.cp-dl dd { margin: 0; font-size: var(--text-sm); font-weight: 600; color: var(--ink); min-width: 0; overflow-wrap: anywhere; }
.cp-dl dd a { color: inherit; text-decoration-color: var(--line-strong, currentColor); text-underline-offset: 3px; }
.cp-dl dd a:hover { text-decoration-color: currentColor; }
.cp-faq { border-top: 1px solid var(--line); }
.cp-faq details { border-bottom: 1px solid var(--line); }
.cp-faq summary {
display: flex; align-items: center; justify-content: space-between; gap: var(--space-4);
padding: 18px 0; cursor: pointer; list-style: none;
font: var(--display-w-2) var(--h4)/1.3 var(--font-display);
}
.cp-faq summary::-webkit-details-marker { display: none; }
.cp-faq summary::after { content: "+"; font: 400 1.6rem/1 var(--font-body); color: var(--muted); transition: transform .2s; }
.cp-faq details[open] summary::after { transform: rotate(45deg); }
.cp-faq summary:hover { color: var(--accent); }
.cp-faq .cp-faq__a { padding: 0 0 20px; max-width: 68ch; color: var(--ink-2); }
.cp-notice { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: var(--radius); background: var(--info-bg); font-size: var(--text-sm); line-height: 1.5; color: var(--ink-2); }
.cp-notice .cp-icon { width: 1.4em; height: 1.4em; color: var(--accent); margin-top: 1px; }
.cp-notice strong { color: var(--ink); }
.cp-notice--ok { background: var(--ok-bg); }
.cp-notice--ok .cp-icon { color: var(--ok); }
.cp-toast {
position: fixed; z-index: 60; left: 50%; bottom: calc(20px + env(safe-area-inset-bottom, 0px));
display: flex; align-items: center; gap: 14px; max-width: min(560px, calc(100vw - 32px));
padding: 12px 12px 12px 18px; border-radius: var(--radius); background: var(--dark); color: var(--on-dark);
box-shadow: var(--shadow-md); font-size: var(--text-sm);
transform: translate(-50%, 140%); visibility: hidden; transition: transform .3s ease, visibility .3s;
}
.cp-toast.is-visible { transform: translate(-50%, 0); visibility: visible; }
.cp-toast a { color: var(--on-dark); font-weight: 700; white-space: nowrap; }
.cp-quote { display: grid; gap: var(--space-6); }
.cp-quote blockquote p { font: var(--display-w-2) clamp(1.375rem, 1.1rem + 1vw, 1.875rem)/1.3 var(--font-display); letter-spacing: -0.01em; color: var(--ink); text-wrap: balance; }
.cp-quote figcaption { display: flex; align-items: center; gap: var(--space-4); font-size: var(--text-sm); color: var(--muted); }
.cp-quote figcaption strong { display: block; color: var(--ink); font-size: var(--text-base); }
.cp-quote figcaption img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; background: var(--surface); }
.cp .cp-iconbtn {
position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0;
border: 0; border-radius: 50%; background: none; color: var(--ink); box-shadow: none; cursor: pointer; text-decoration: none;
}
.cp .cp-iconbtn:hover { background: var(--surface); color: var(--ink); }
.cp .cp-iconbtn .cp-icon { width: 24px; height: 24px; }

.cp #masthead { position: relative; z-index: 40; background: var(--paper); }
.cp #masthead::before { content: ""; display: block; height: var(--rainbow-h); background: var(--notes); } 
.cp #masthead .site-container { max-width: calc(var(--container) + var(--edge) * 2); padding-left: var(--gutter-l); padding-right: var(--gutter-r); }
.cp #masthead .site-header-row-container-inner { background: transparent; border: 0; }
.cp .site-top-header-wrap .site-header-row-container-inner { background: var(--surface); }
.cp .site-top-header-inner-wrap { min-height: 38px; font-size: var(--text-xs); color: var(--ink-2); }
.cp .site-top-header-wrap .header-html { display: flex; align-items: center; gap: 8px; }
.cp .site-top-header-wrap .header-html p { margin: 0; display: flex; align-items: center; gap: 8px; }
.cp .secondary-navigation .secondary-menu-container > ul { gap: 20px; }
.cp .secondary-navigation .secondary-menu-container > ul > li > a { padding: 8px 0; font-size: var(--text-xs); font-weight: 600; color: var(--ink-2); }
.cp .secondary-navigation .secondary-menu-container > ul > li > a:hover { color: var(--ink); text-decoration: underline; }
.cp .secondary-navigation li.cp-idiomes { display: flex; align-items: center; padding-left: 16px; border-left: 1px solid var(--line); }
.cp .cp-idiomes__llista, .cp .cp-idiomes--mobil { display: inline-flex; align-items: center; gap: 2px; flex-wrap: nowrap; }
.cp .cp-idiomes a, .cp .cp-idiomes__actual { display: inline-flex; align-items: center; padding: 6px 5px; font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.04em; line-height: 1; color: var(--ink-2); text-decoration: none; background: none; }
.cp .cp-idiomes abbr { all: unset; cursor: inherit; }
.cp .cp-idiomes a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.cp .cp-idiomes__actual { color: var(--ink); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.cp .cp-idiomes--mobil { display: flex; gap: 4px; margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line); }
.cp .cp-idiomes--mobil a, .cp .cp-idiomes--mobil .cp-idiomes__actual { min-height: 44px; padding: 0 10px; font-size: var(--text-sm); }
.cp .site-main-header-inner-wrap { min-height: var(--header-h); }
.cp .site-main-header-wrap .site-header-row-container-inner { background: var(--paper); }
.cp .kadence-sticky-header.item-is-fixed:not(.item-at-start) { box-shadow: 0 1px 0 var(--line), 0 8px 20px -14px rgb(21 24 33 / 0.35); }
.cp .kadence-sticky-header.item-is-fixed .site-header-row-container-inner { background: var(--paper); }
.cp .cp-brand .brand { display: block; line-height: 0; padding: 6px 0; }
.cp .cp-brand .cp-logo { height: 34px; width: auto; }
.cp .main-navigation .primary-menu-container > ul { gap: 2px; }
.cp .main-navigation .primary-menu-container > ul > li > a {
display: inline-flex; align-items: center; gap: 4px; min-height: 44px; padding: 0 12px;
border-radius: var(--radius); font: 600 0.96875rem/1 var(--font-body); color: var(--ink); text-decoration: none;
}
@media (max-width: 1299px) { .cp .main-navigation .primary-menu-container > ul > li > a { padding: 0 7px; font-size: 0.9375rem; } }
@media (min-width: 1025px) and (max-width: 1149px) {
.cp .main-navigation .primary-menu-container > ul { gap: 0; }
.cp .main-navigation .primary-menu-container > ul > li > a { padding: 0 5px; font-size: 0.875rem; }
.cp #main-header .cp-brand .cp-logo { height: 28px !important; } 
.cp #main-header .search-toggle-open, .cp #main-header .cp-pregunta, .cp #main-header .cp-header-account, .cp #main-header .header-cart-button { width: 38px; }
}
.cp .main-navigation .primary-menu-container > ul > li > a:hover { background: var(--surface); color: var(--ink); }
.cp .main-navigation .primary-menu-container > ul > li.current-menu-item > a,
.cp .main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a,
.cp .main-navigation .primary-menu-container > ul > li.current-menu-parent > a { box-shadow: inset 0 -2px 0 var(--ink); border-radius: var(--radius) var(--radius) 0 0; color: var(--ink); }
.cp .main-navigation .primary-menu-container > ul > li.menu-item-home.current-menu-item > a { box-shadow: none; }
.cp .main-navigation .nav-drop-title-wrap { display: inline-flex; align-items: center; gap: 4px; padding-right: 0; }
.cp .main-navigation .nav-drop-title-wrap .dropdown-nav-toggle { position: static; display: inline-flex; width: auto; height: auto; transform: none; margin: 0; opacity: 1; }
.cp .cp-kadence-icon { display: inline-flex; }
.cp .cp-kadence-icon .cp-icon { width: 1em; height: 1em; vertical-align: 0; }
.cp .main-navigation .dropdown-nav-toggle .cp-icon { width: 16px; height: 16px; }
.cp .main-navigation ul ul.sub-menu {
min-width: 270px; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius-lg);
background: var(--paper); box-shadow: var(--shadow-md);
}
.cp .main-navigation ul ul.sub-menu li { border: 0; }
.cp .main-navigation ul ul.sub-menu li a { display: flex; width: 100%; padding: 10px 12px; border-radius: var(--radius); font: 500 var(--text-base)/1.2 var(--font-body); color: var(--ink); background: none; }
.cp .main-navigation ul ul.sub-menu li a:hover { background: var(--surface); color: var(--ink); }
.cp .main-navigation ul ul.sub-menu li.cp-menu-all { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--line); }
.cp .main-navigation ul ul.sub-menu li.cp-menu-all a { font-weight: 650; }
.cp .site-main-header-inner-wrap { position: relative; }
.cp .main-navigation .primary-menu-container > ul > li.cp-has-mega { position: static; }
.cp .main-navigation li.cp-has-mega > ul.sub-menu { display: none !important; }
.cp .cp-mega {
position: absolute; z-index: 1000; top: calc(100% - 4px); left: 0; right: 0;
display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1.2fr); gap: 8px 32px; padding: 24px 28px 18px;
border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); box-shadow: var(--shadow-md);
opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .15s, transform .15s, visibility .15s;
}
.cp .cp-mega::before { content: ""; position: absolute; inset: -14px 0 auto; height: 14px; }
.cp .main-navigation li.cp-has-mega:hover > .cp-mega, .cp .main-navigation li.cp-has-mega:focus-within > .cp-mega, .cp .main-navigation li.cp-has-mega.menu-item--toggled-on > .cp-mega { opacity: 1; visibility: visible; transform: none; }
.cp .cp-mega__title { margin: 0 0 8px; font: 700 var(--text-xs)/1.2 var(--font-body); letter-spacing: 0.09em; text-transform: uppercase; color: var(--muted); }
.cp .cp-mega ul { display: grid; gap: 0; padding: 0; margin: 0; list-style: none; }
.cp .cp-mega .cp-mega__ins, .cp .cp-mega .cp-mega__langs { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 8px; }
.cp .cp-mega li { border: 0; }
.cp .main-navigation .cp-mega .is-site a { font-weight: 650; }
.cp .cp-mega .is-site abbr { background: var(--ink); color: var(--on-dark); }
.cp .main-navigation .cp-mega a { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 40px; padding: 0 10px; border-radius: var(--radius); font: 500 var(--text-base)/1.2 var(--font-body); color: var(--ink); text-decoration: none; }
.cp .main-navigation .cp-mega a:hover { background: var(--surface); color: var(--ink); }
.cp .cp-mega a small { margin-left: auto; font-size: var(--text-xs); color: var(--muted); }
.cp .cp-mega .cp-ins { width: 24px; height: 24px; stroke-width: 26; color: var(--ink-2); }
.cp .cp-mega abbr { display: inline-grid; place-items: center; min-width: 30px; height: 24px; border-radius: var(--radius-sm); background: var(--surface-2); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.05em; text-decoration: none; }
.cp .main-navigation .cp-mega .cp-mega__all { grid-column: 1 / -1; margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--line); border-radius: 0; font-weight: 650; }
.cp .main-navigation .cp-mega .cp-mega__all:hover { background: none; text-decoration: underline; }
.cp .cp-mega__all .cp-icon { width: 1.1em; height: 1.1em; }
.cp .search-toggle-open, .cp .cp-pregunta, .cp .cp-header-account, .cp .header-cart-button, .cp #mobile-toggle {
position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0;
border: 0; border-radius: 50%; background: none; color: var(--ink); box-shadow: none;
}
.cp .search-toggle-open:hover, .cp .cp-pregunta:hover, .cp .cp-header-account:hover, .cp .header-cart-button:hover, .cp #mobile-toggle:hover { background: var(--surface); color: var(--ink); }
.cp .cp-pregunta .cp-icon { width: 24px; height: 24px; } 
.cp .search-toggle-open .kadence-svg-iconset .cp-icon, .cp .header-cart-button .kadence-svg-iconset .cp-icon, .cp #mobile-toggle .kadence-svg-iconset .cp-icon, .cp #mobile-drawer .menu-toggle-close .cp-icon, .cp #search-drawer .search-toggle-close .cp-icon { width: 24px; height: 24px; }
.cp .search-toggle-open .search-toggle-icon, .cp #mobile-toggle .menu-toggle-icon { display: inline-flex; font-size: 24px; }
.cp .search-toggle-open .search-toggle-label:empty { display: none; }
.cp .cp-header-account .cp-icon { width: 24px; height: 24px; }
.cp .site-header-item[data-section="kadence_customizer_cart"] { display: flex; align-items: center; gap: 2px; }
.cp .header-cart-wrap .header-cart-button .header-cart-total, .cp .header-mobile-cart-wrap .header-cart-button .header-cart-total {
position: absolute; top: 3px; right: 1px; min-width: 19px; height: 19px; padding: 0 5px; margin: 0;
border-radius: var(--radius-pill); background: var(--do); color: var(--on-dark);
font: 700 11px/19px var(--font-body); text-align: center; font-variant-numeric: tabular-nums;
}
.cp .header-cart-wrap .header-cart-button .header-cart-total.header-cart-is-empty-true,
.cp .header-cart-is-empty-true ~ .header-cart-inner-wrap .header-cart-total { display: none; }
.cp #search-drawer .drawer-inner { background: color-mix(in srgb, var(--dark) 96%, transparent); }
.cp #search-drawer .drawer-content { max-width: 760px; }
.cp #search-drawer .search-form input.search-field { min-height: 64px; padding: 0 64px 0 20px; border: 2px solid var(--paper); border-radius: var(--radius); background: transparent; color: var(--on-dark); font: 500 1.375rem/1.2 var(--font-body); }
.cp #search-drawer .search-form input.search-field::placeholder { color: var(--on-dark-2); }
.cp #search-drawer .search-form .kadence-search-icon-wrap { color: var(--on-dark); right: 20px; }
.cp #search-drawer .drawer-header .search-toggle-close { color: var(--on-dark); }
.cp #mobile-header .site-main-header-inner-wrap { min-height: 64px; }
.cp #mobile-header .site-header-main-section-left { gap: 4px; }
.cp #mobile-header .cp-brand .cp-logo { height: 28px; }
.cp #mobile-toggle { margin-left: -10px; }
.cp #mobile-drawer .drawer-overlay { background: rgb(21 24 33 / 0.45); }
.cp #mobile-drawer .drawer-inner { width: min(360px, 88vw); max-width: none; background: var(--paper); color: var(--ink); box-shadow: var(--shadow-md); }
.cp #mobile-drawer .drawer-header { padding: 12px 16px 0; }
.cp #mobile-drawer .menu-toggle-close { color: var(--ink); border-radius: 50%; }
.cp #mobile-drawer .drawer-content { padding: 8px 20px 32px; }
.cp #mobile-drawer .mobile-navigation ul li { border-bottom: 1px solid var(--line); }
.cp #mobile-drawer .mobile-navigation ul li > a, .cp #mobile-drawer .mobile-navigation ul li .drawer-nav-drop-wrap > a { padding: 14px 0; font: var(--display-w-2) 1.1875rem/1.2 var(--font-display); color: var(--ink); }
.cp #mobile-drawer .mobile-navigation ul ul.sub-menu li { border: 0; }
.cp #mobile-drawer .mobile-navigation ul ul.sub-menu li a { padding: 10px 0 10px 14px; font: 500 var(--text-base)/1.2 var(--font-body); }
.cp #mobile-drawer .mobile-navigation .drawer-sub-toggle { color: var(--ink); border: 0; }
.cp #mobile-drawer .mobile-html { margin-top: 20px; font-size: var(--text-sm); color: var(--ink-2); }
.cp #mobile-drawer .mobile-html a { color: var(--ink-2); font-weight: 600; }

.cp-footer { background: var(--dark); color: var(--on-dark-2); font-size: var(--text-sm); }
.cp-footer a { color: var(--on-dark); text-decoration: none; }
.cp-footer a:hover { color: var(--on-dark); text-decoration: underline; }
.cp-footer__main { display: grid; gap: var(--space-10); padding-block: var(--space-16) var(--space-12); }
.cp-footer__brand { display: grid; gap: var(--space-5); align-content: start; max-width: 34ch; }
.cp-footer__brand img, .cp-footer__brand svg { width: 210px; height: auto; }
.cp-footer__brand p { line-height: 1.55; }
.cp-footer h2 { margin-bottom: var(--space-4); font: 700 var(--text-xs)/1.2 var(--font-body); letter-spacing: 0.09em; text-transform: uppercase; color: var(--on-dark); }
.cp-footer ul { display: grid; gap: 10px; padding: 0; list-style: none; }
.cp-footer address { font-style: normal; display: grid; gap: 10px; }
.cp-footer address span { display: flex; gap: 10px; align-items: flex-start; }
.cp-footer address .cp-icon { color: var(--on-dark-2); margin-top: 2px; }
.cp-footer__contact { display: grid; gap: 10px; padding: 0; list-style: none; }
.cp-footer__contact li { display: flex; gap: 10px; align-items: flex-start; }
.cp-footer__contact .cp-icon { color: var(--on-dark-2); margin-top: 2px; }
.cp-footer__brand a { display: inline-block; line-height: 0; }
.cp-footer__brand .cp-logo { height: 38px; width: auto; }
.cp-footer__bottom { border-top: 1px solid var(--dark-2); }
.cp-footer__bottom .cp-container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3) var(--space-6); padding-block: 20px calc(20px + env(safe-area-inset-bottom, 0px)); }
.cp-footer__bottom nav { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.cp-footer__bottom a { color: var(--on-dark-2); }
.cp-footer__pay { display: flex; flex-wrap: wrap; gap: 6px; }
.cp-footer__pay span { padding: 3px 8px; border: 1px solid var(--dark-2); border-radius: var(--radius-sm); font-size: var(--text-xs); font-weight: 600; color: var(--on-dark-2); }
@media (min-width: 700px) {
.cp-footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1080px) {
.cp-footer__main { grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr)); }
}

.cp-section { --note: var(--do); padding-block: var(--section); }
.cp-section--suau { background: var(--surface); }
.cp-section--fosc { background: var(--dark); color: var(--on-dark-2); }
.cp-section--fosc :is(h1, h2, h3, h4, .cp-h2, .cp-h3) { color: var(--on-dark); }
.cp-section--fosc .cp-kicker { color: var(--on-dark-2); }
.cp-section.cp-section--blanc + .cp-section.cp-section--blanc, .cp-section.cp-section--suau + .cp-section.cp-section--suau { padding-top: 0; }
.cp-section--compacta { padding-block: calc(var(--section) * 0.6); }
.cp-section__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--space-4) var(--space-8); margin-bottom: clamp(24px, 3vw, 40px); }
.cp-section__head > div { display: grid; gap: var(--space-3); max-width: 62ch; }
.cp-section__head p { color: var(--muted); }
.cp-section--fosc .cp-section__head p { color: var(--on-dark-2); }
.cp-hero { padding-block: clamp(32px, 5vw, 72px) clamp(40px, 6vw, 88px); overflow: hidden; }
.cp-hero__grid { display: grid; gap: clamp(32px, 5vw, 64px); align-items: center; }
.cp-hero__text { display: grid; gap: var(--space-6); justify-items: start; }
.cp-hero h1 em {
font-style: normal;
background: var(--notes) left bottom / 100% 0.13em no-repeat;
padding-bottom: 0.06em;
}
.cp-hero .cp-display--long { font-size: var(--h1-page); }
.cp-hero__lead { display: grid; gap: var(--space-3); }
.cp-hero__lang { display: inline-flex; align-items: center; gap: 10px; margin-top: calc(var(--space-6) * -0.4); font: 600 var(--text-base)/1.25 var(--font-body); color: var(--ink); text-decoration: none; }
.cp-hero__lang abbr { display: inline-grid; place-items: center; min-width: 2.5em; height: 1.85em; padding: 0 0.4em; border-radius: var(--radius-sm); background: var(--ink); color: var(--on-dark); font-size: 0.78em; font-weight: 700; letter-spacing: 0.06em; text-decoration: none; }
.cp-hero__lang span { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: var(--line); }
.cp-hero__lang:hover span { text-decoration-color: currentColor; }
.cp-hero__lang .cp-icon { width: 1.1em; height: 1.1em; transition: transform .2s ease; }
.cp-hero__lang:hover .cp-icon { transform: translateX(3px); }
.cp-hero__meta { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 0; margin: 0; list-style: none; font-size: var(--text-sm); color: var(--ink-2); }
.cp-hero__meta li { display: inline-flex; align-items: center; gap: 8px; }
.cp-hero__meta strong { font-family: var(--font-display); font-variant-numeric: lining-nums; font-weight: var(--display-w); font-size: 1.1875rem; color: var(--ink); }
.cp-hero__stage { position: relative; display: grid; grid-template-columns: repeat(12, 1fr); grid-template-rows: repeat(10, 1fr); aspect-ratio: 6 / 5; max-width: 100%; }
.cp-staff { --s: 26px; position: absolute; z-index: 0; left: 0; right: 0; top: 5%; height: calc(var(--s) * 4); pointer-events: none; }
.cp-staff__line {
position: absolute; left: -14%; right: -60%; top: calc(var(--s) * var(--i)); height: 1.5px; margin-top: -0.75px;
background: var(--line-strong); transform-origin: 0 50%;
animation: cp-staff-draw 1.1s cubic-bezier(.65, .05, .25, 1) both; animation-delay: calc(150ms + var(--i) * 90ms);
}
.cp-staff__note {
position: absolute; left: var(--x); top: calc(var(--s) * var(--p));
width: calc(var(--s) * 1.28); height: calc(var(--s) * 0.9); margin: calc(var(--s) * -0.45) 0 0 calc(var(--s) * -0.64);
animation: cp-note-in .6s cubic-bezier(.34, 1.56, .64, 1) both; animation-delay: calc(1.1s + var(--i) * 110ms);
}
.cp-staff__note i { position: absolute; inset: 0; animation: cp-note-float calc(2.2s + var(--i) * 0.3s) ease-in-out calc(1.9s + var(--i) * 0.13s) infinite alternate; }
.cp-staff__note i::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--c); transform: rotate(-22deg); }
.cp-staff__note i::after { content: ""; position: absolute; right: 0.5px; bottom: 55%; width: 2px; height: calc(var(--s) * 3.1); border-radius: 1px; background: var(--ink); }
.cp-staff__note--down i::after { right: auto; left: 0.5px; top: 55%; bottom: auto; }
.cp-staff__note--ledger::before { content: ""; position: absolute; left: -32%; right: -32%; top: 50%; height: 1.5px; margin-top: -0.75px; background: var(--line-strong); }
@keyframes cp-staff-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes cp-note-in { from { opacity: 0; transform: translateY(calc(var(--s) * -0.9)) scale(.3); } to { opacity: 1; transform: none; } }
@keyframes cp-note-float { from { transform: translateY(1.5px) rotate(2deg); } to { transform: translateY(-5px) rotate(-5deg); } }
@media (prefers-reduced-motion: reduce) { .cp-staff__note i { animation: none !important; } }
@media (max-width: 899px) {
.cp-staff { --s: 17px; top: 4%; }
.cp-staff__note { left: var(--xm); }
}
.cp-hero__cover { position: relative; display: block; align-self: center; transition: transform .3s ease; }
.cp-hero__cover img { width: 100%; height: auto; border-radius: 2px; box-shadow: var(--shadow-book); }
.cp-hero__cover:hover { transform: translateY(-6px) rotate(0deg) !important; }
.cp-hero__cover:nth-of-type(1) { grid-column: 1 / 8; grid-row: 4 / 9; z-index: 2; transform: rotate(-4deg); }
.cp-hero__cover:nth-of-type(2) { grid-column: 6 / 11; grid-row: 1 / 11; z-index: 1; transform: rotate(3deg); }
.cp-hero__cover:nth-of-type(3) { grid-column: 7 / 13; grid-row: 6 / 11; z-index: 3; transform: rotate(-1.5deg); }
.cp-hero__cover--square:nth-of-type(1) { grid-column: 1 / 6; }
.cp-hero__cover--square:nth-of-type(3) { grid-column: 8 / 13; }
@media (min-width: 900px) {
.cp-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
}
.cp-pagehero { padding-block: clamp(28px, 4vw, 56px) clamp(40px, 5vw, 72px); background: var(--surface); }
.cp-pagehero__grid { display: grid; gap: var(--space-8); align-items: end; }
.cp-pagehero__text { display: grid; gap: var(--space-5); justify-items: start; }
.cp-pagehero .cp-breadcrumb { margin-bottom: var(--space-2); }
.cp-pagehero__aside { display: grid; gap: 0; padding: 8px 22px; border-radius: var(--radius-lg); background: var(--paper); }
.cp-pagehero__aside li { display: flex; gap: 12px; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: var(--text-sm); color: var(--ink-2); }
.cp-pagehero__aside li:last-child { border-bottom: 0; }
.cp-pagehero__aside strong { display: block; color: var(--ink); font-size: var(--text-base); }
.cp-pagehero__aside .cp-icon { width: 1.5em; height: 1.5em; margin-top: 2px; color: var(--ink); }
.cp-pagehero__aside ul { padding: 0; margin: 0; list-style: none; }
.cp-pagehero__img img { width: 100%; height: auto; border-radius: var(--radius-lg); }
@media (min-width: 900px) { .cp-pagehero__grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--space-16); } }
.cp-instruments { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 0; list-style: none; }
.cp-instruments a {
display: flex; align-items: center; gap: 14px; height: 100%; padding: 14px 16px;
border: 1.5px solid var(--line); border-radius: var(--radius-lg); background: var(--paper);
color: var(--ink); text-decoration: none; transition: border-color .15s, transform .15s;
}
.cp-instruments a:hover { border-color: var(--ink); transform: translateY(-2px); }
.cp-instruments__icon { display: grid; place-items: center; width: 56px; height: 56px; flex: none; border-radius: 50%; background: color-mix(in srgb, var(--c) 16%, var(--paper)); transition: background-color .2s; }
.cp-instruments__icon .cp-ins, .cp-instruments__icon .cp-icon { width: 34px; height: 34px; transition: transform .25s cubic-bezier(.34, 1.56, .64, 1); }
.cp-instruments a:hover .cp-instruments__icon { background: color-mix(in srgb, var(--c) 30%, var(--paper)); }
.cp-instruments a:hover .cp-ins { transform: rotate(-8deg) scale(1.06); }
.cp-instruments strong { display: block; font: var(--display-w-2) 1.0625rem/1.2 var(--font-display); }
.cp-instruments small { color: var(--muted); font-size: var(--text-xs); }
@media (max-width: 699px) { .cp-instruments li:last-child:nth-child(odd) { grid-column: 1 / -1; } } 
@media (min-width: 700px) { .cp-instruments { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } .cp-instruments--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 700px) { .cp-instruments--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; } }
@media (min-width: 700px) and (max-width: 1099px) { .cp-instruments--5 a { flex-direction: column; justify-content: center; gap: 8px; padding: 14px 8px; text-align: center; } }
.cp-obra { display: grid; gap: clamp(28px, 4vw, 64px); align-items: center; }
.cp-obra__media { position: relative; }
.cp-obra__media img { width: 100%; height: auto; border-radius: 3px; box-shadow: var(--shadow-book); }
.cp-obra__media figcaption { margin-top: 14px; font-size: var(--text-xs); color: var(--muted); }
.cp-obra__text { display: grid; gap: var(--space-5); justify-items: start; }
.cp-obra__eds { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: 0 24px; width: 100%; padding: 0; margin: 0; list-style: none; }
.cp-obra__eds a { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; font-size: var(--text-sm); font-weight: 600; min-width: 0; }
.cp-obra__eds a span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cp-obra__eds a:hover span:last-child { text-decoration: underline; }
@media (min-width: 900px) { .cp-obra { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); } }
.cp-steps { display: grid; gap: var(--space-8) var(--space-6); padding: 0; margin: 0; list-style: none; counter-reset: pas; }
.cp-steps li { position: relative; isolation: isolate; display: grid; gap: var(--space-3); align-content: start; counter-increment: pas; }
.cp-steps li::before {
content: counter(pas); display: grid; place-items: center; width: 54px; height: 44px;
font: var(--display-w) 1.25rem/1 var(--font-display); font-variant-numeric: lining-nums; color: var(--ink);
}
.cp-steps li::after {
content: ""; position: absolute; z-index: -1; top: 0; left: 0; width: 54px; height: 44px;
border-radius: 50%; background: var(--c, var(--do)); transform: rotate(-18deg);
}
.cp-steps li:nth-child(1) { --c: var(--do); }
.cp-steps li:nth-child(2) { --c: var(--re); }
.cp-steps li:nth-child(3) { --c: var(--mi); }
.cp-steps li:nth-child(4) { --c: var(--fa); }
.cp-steps h3 { font-size: var(--h3); font-weight: var(--display-w-2); }
.cp-steps p { color: var(--ink-2); font-size: var(--text-base); max-width: 40ch; }
.cp-section--fosc .cp-steps p { color: var(--on-dark-2); }
@media (min-width: 700px) { .cp-steps { grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); } }
.cp-banner { position: relative; display: grid; gap: var(--space-6); align-items: center; padding: clamp(28px, 4vw, 56px); border-radius: var(--radius-lg); background: var(--dark); color: var(--on-dark-2); overflow: hidden; }
.cp-banner::before { content: ""; position: absolute; inset: 0 0 auto; height: 6px; background: var(--notes); }
.cp-banner h2 { color: var(--on-dark); }
.cp-banner__text { display: grid; gap: var(--space-4); max-width: 60ch; }
.cp-banner .cp-kicker { color: var(--on-dark-2); }
@media (min-width: 900px) { .cp-banner { grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-12); } }
.cp-langs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0; margin: 0; list-style: none; }
.cp-langs a { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: var(--radius); background: var(--paper); color: var(--ink); text-decoration: none; border: 1.5px solid transparent; }
.cp-langs a:hover { border-color: var(--ink); }
.cp-langs abbr { display: grid; place-items: center; width: 42px; height: 34px; flex: none; border-radius: var(--radius-sm); background: var(--ink); color: var(--on-dark); font: 700 var(--text-sm)/1 var(--font-body); letter-spacing: 0.06em; text-decoration: none; }
.cp-langs strong { display: block; font-weight: 650; line-height: 1.2; }
.cp-langs small { color: var(--muted); font-size: var(--text-xs); }
.cp-langs .is-site a { background: var(--ink); color: var(--on-dark); }
.cp-langs .is-site a:hover { border-color: var(--ink); background: var(--ink-2); }
.cp-langs .is-site abbr { background: var(--paper); color: var(--ink); }
.cp-langs .is-site small { color: var(--on-dark); opacity: 0.8; }
@media (min-width: 700px) { .cp-langs { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.cp-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8) var(--space-6); padding: 0; margin: 0; list-style: none; }
.cp-stats li { display: grid; gap: 6px; align-content: start; padding-top: 16px; border-top: 3px solid var(--c, var(--ink)); }
.cp-stats li:nth-child(1) { --c: var(--do); } .cp-stats li:nth-child(2) { --c: var(--re); }
.cp-stats li:nth-child(3) { --c: var(--fa); } .cp-stats li:nth-child(4) { --c: var(--sol); }
.cp-stats strong { font: var(--display-w) var(--stat)/1 var(--font-display); letter-spacing: -0.02em; color: var(--ink); font-variant-numeric: lining-nums tabular-nums; }
.cp-stats span { font-size: var(--text-sm); color: var(--ink-2); max-width: 26ch; }
@media (min-width: 900px) { .cp-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.cp-cards { display: grid; gap: 16px; padding: 0; margin: 0; list-style: none; }
.cp-cards li { display: grid; gap: var(--space-3); align-content: start; padding: 24px; border: 1.5px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); }
.cp-cards .cp-icon { width: 34px; height: 34px; color: var(--ink); }
.cp-cards h3 { font-size: var(--h3); font-weight: var(--display-w-2); }
.cp-cards p { font-size: var(--text-base); color: var(--ink-2); }
@media (min-width: 700px) { .cp-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .cp-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.cp-ti { display: grid; gap: clamp(28px, 4vw, 64px); align-items: center; }
.cp-ti__text { display: grid; gap: var(--space-5); justify-items: start; }
.cp-ti__media img { width: 100%; height: auto; border-radius: var(--radius-lg); }
.cp-ti__media figcaption { margin-top: 12px; font-size: var(--text-xs); color: var(--muted); }
.cp-ti__media--marc img { border-radius: 3px; box-shadow: var(--shadow-book); }
.cp-ti__body { color: var(--ink-2); }
.cp-ti__list { display: grid; gap: 12px; padding: 0; margin: 0; list-style: none; }
.cp-ti__list li { display: grid; grid-template-columns: auto 1fr; gap: 12px; color: var(--ink-2); }
.cp-ti__list li::before { content: ""; width: 12px; height: 9px; margin-top: 0.55em; border-radius: 50%; background: var(--c, var(--fa)); transform: rotate(-22deg); }
.cp-ti__list li:nth-child(7n+1) { --c: var(--do); } .cp-ti__list li:nth-child(7n+2) { --c: var(--re); }
.cp-ti__list li:nth-child(7n+3) { --c: var(--mi); } .cp-ti__list li:nth-child(7n+4) { --c: var(--fa); }
.cp-ti__list li:nth-child(7n+5) { --c: var(--sol); } .cp-ti__list li:nth-child(7n+6) { --c: var(--la); }
.cp-ti__list li:nth-child(7n+7) { --c: var(--si); }
.cp-ti__list strong { color: var(--ink); }
@media (min-width: 900px) {
.cp-ti:not(.cp-ti--sense-imatge) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.cp-ti--img-esquerra .cp-ti__media { order: -1; }
}
.cp-faqsec { display: grid; gap: var(--space-8); }
.cp-faqsec__head { display: grid; gap: var(--space-4); align-content: start; }
.cp-faqsec__head p { color: var(--ink-2); }
@media (min-width: 900px) { .cp-faqsec { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); gap: var(--space-16); } .cp-faqsec__head { position: sticky; top: calc(var(--header-h) + 24px); } }
.cp-quotesec { display: grid; gap: var(--space-8); align-items: center; }
.cp-quotesec__img img { width: 100%; max-width: 280px; aspect-ratio: 1; object-fit: cover; border-radius: 50%; background: var(--paper); }
@media (min-width: 900px) { .cp-quotesec { grid-template-columns: auto minmax(0, 1fr); gap: var(--space-16); } }
.cp-formsec { display: grid; gap: var(--space-10); }
.cp-formsec__text { display: grid; gap: var(--space-5); align-content: start; }
.cp-formsec__text p { color: var(--ink-2); }
.cp-contact { display: grid; gap: 12px; padding: 0; margin: 0; list-style: none; font-weight: 600; }
.cp-contact li { display: flex; gap: 12px; align-items: center; }
.cp-contact .cp-icon { width: 1.4em; height: 1.4em; flex: none; }
.cp-contact a { color: var(--ink); text-decoration: none; }
.cp-contact a:hover { text-decoration: underline; }
.cp-form { display: grid; gap: var(--space-5); padding: clamp(20px, 3vw, 36px); border-radius: var(--radius-lg); background: var(--paper); border: 1.5px solid var(--line); }
.cp-form__row { display: grid; gap: var(--space-5); }
@media (min-width: 700px) { .cp-form__row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .cp-formsec { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: var(--space-16); } }
.cp-logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr)); gap: 16px; padding: 0; margin: 0; list-style: none; }
.cp-logos li { display: grid; place-items: center; min-height: 96px; padding: 16px; border-radius: var(--radius); background: var(--surface); }
.cp-section--suau .cp-logos li { background: var(--paper); }
.cp-logos img { max-height: 56px; width: auto; filter: grayscale(1); opacity: 0.8; transition: filter .2s, opacity .2s; }
.cp-logos a:hover img { filter: none; opacity: 1; }
.cp-logos span { font-weight: 650; color: var(--ink-2); text-align: center; }
.cp-cats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 0; margin: 0; list-style: none; }
.cp-cats a { display: grid; gap: 12px; color: var(--ink); text-decoration: none; }
.cp-cats__img { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; max-width: 100%; padding: 10%; border-radius: var(--radius-lg); background: color-mix(in srgb, var(--c, var(--line)) 18%, var(--paper)); transition: background-color .2s; }
.cp-cats a:hover .cp-cats__img { background: color-mix(in srgb, var(--c, var(--line)) 32%, var(--paper)); }
.cp-cats li:nth-child(7n+1) { --c: var(--do); } .cp-cats li:nth-child(7n+2) { --c: var(--re); } .cp-cats li:nth-child(7n+3) { --c: var(--mi); }
.cp-cats li:nth-child(7n+4) { --c: var(--fa); } .cp-cats li:nth-child(7n+5) { --c: var(--sol); } .cp-cats li:nth-child(7n+6) { --c: var(--la); }
.cp-cats li:nth-child(7n+7) { --c: var(--si); }
.cp-cats__img img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 8px 10px rgb(21 24 33 / 0.25)); transition: transform .25s; }
.cp-cats a:hover .cp-cats__img img { transform: translateY(-4px); }
.cp-cats__name strong { display: block; font: var(--display-w-2) 1.125rem/1.2 var(--font-display); }
.cp-cats__name small { color: var(--muted); font-size: var(--text-xs); }
.cp-cats a:hover strong { text-decoration: underline; }
@media (min-width: 900px) { .cp-cats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; } }
@media (min-width: 900px) { .cp-cats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cp-people { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 16px; padding: 0; margin: 0; list-style: none; }
@media (min-width: 700px) { .cp-people { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 24px; } }
@media (min-width: 1080px) { .cp-people { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.cp-person { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.cp-people--destacada > .cp-person:first-child { grid-column: 1 / -1; }
.cp-people--destacada > .cp-person:first-child .cp-person__name { font-size: var(--h2); }
.cp-people--destacada > .cp-person:first-child .cp-person__role { font-size: var(--text-base); }
.cp-people--destacada > .cp-person:first-child .cp-person__links { margin-top: 0; }
@media (min-width: 700px) { .cp-people--destacada > .cp-person:first-child { grid-column: span 2; } }
@media (min-width: 1080px) { .cp-people--destacada > .cp-person:first-child { grid-row: span 2; } }
.cp-person__photo { aspect-ratio: 1; max-width: 100%; margin-bottom: 6px; border-radius: var(--radius-lg); overflow: hidden; background: var(--surface); }
.cp-person__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.cp-person__initials { display: grid; place-items: center; height: 100%; font: var(--display-w) 3rem/1 var(--font-display); color: var(--muted); }
.cp-person__name { font-size: var(--h3); font-weight: var(--display-w-2); }
.cp-person__role { font-size: var(--text-sm); line-height: 1.45; color: var(--ink-2); }
.cp-person__role + .cp-person__web { margin-top: -4px; }
.cp-person__web { margin: 0; font-size: var(--text-sm); line-height: 1.45; }
.cp-person__web a { display: inline-flex; gap: 6px; align-items: center; max-width: 100%; color: var(--ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 3px; }
.cp-person__web a:hover, .cp-person__web a:focus-visible { color: var(--accent); text-decoration-color: currentColor; }
.cp-person__web .cp-icon { flex: none; color: var(--accent); }
.cp-person__web span:not(.cp-sr-only) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cp-person__books { display: flex; align-items: flex-end; padding: 8px 0 2px; margin: 0; list-style: none; }
.cp-person__books li + li { margin-left: -8px; }
.cp-person__books a { position: relative; display: block; transition: transform .2s ease; }
.cp-person__books li:nth-child(1) a { transform: rotate(-4deg); }
.cp-person__books li:nth-child(2) a { transform: rotate(2.5deg); }
.cp-person__books li:nth-child(3) a { transform: rotate(-1.5deg); }
.cp-person__books a:hover, .cp-person__books a:focus-visible { z-index: 1; transform: translateY(-5px) rotate(0deg); }
.cp-person__books img { display: block; width: auto; height: 64px; max-width: 96px; object-fit: contain; border-radius: 2px; box-shadow: var(--shadow-book); }
.cp-person__escoles { display: flex; gap: 8px; align-items: flex-start; margin: 0; font-size: var(--text-sm); line-height: 1.45; color: var(--ink-2); }
.cp-person__escoles .cp-icon { flex: none; margin-top: 1px; color: var(--accent); }
.cp-person__links { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: auto 0 0; padding-top: 4px; font-size: var(--text-sm); }
.cp-press-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: clamp(20px, 3vw, 32px); }
.cp-press { display: grid; gap: 16px; padding: 0; margin: 0; list-style: none; }
@media (min-width: 700px) { .cp-press { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .cp-press { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
.cp-press__item { position: relative; display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 22px; border: 1.5px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); transition: border-color .15s, transform .15s; }
.cp-press__item:hover { border-color: var(--ink); transform: translateY(-2px); }
.cp-press:not(.is-filtered) > .cp-press__item:first-child { grid-column: 1 / -1; }
.cp-press:not(.is-filtered) > .cp-press__item:first-child .cp-press__title { font-size: var(--h3); }
.cp-press:not(.is-filtered) > .cp-press__item:first-child p { max-width: 68ch; font-size: var(--text-base); }
.cp-press__meta { display: flex; align-items: center; gap: 12px; }
.cp-press__icon { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border-radius: 50%; background: color-mix(in srgb, var(--c) 16%, var(--paper)); color: var(--ink); }
.cp-press__icon .cp-icon { width: 22px; height: 22px; }
.cp-press__meta strong { display: block; font-size: var(--text-sm); line-height: 1.3; }
.cp-press__meta small { font-size: var(--text-xs); color: var(--muted); }
.cp-press__title { font-size: var(--h4); line-height: 1.25; }
.cp-press__title a { color: var(--ink); text-decoration: none; }
.cp-press__title a::after { content: ""; position: absolute; inset: 0; border-radius: var(--radius-lg); }
.cp-press__title a:focus-visible { outline: none; }
.cp-press__title a:focus-visible::after { outline: 3px solid var(--focus); outline-offset: 2px; }
.cp-press__item p { font-size: var(--text-sm); color: var(--ink-2); }
.cp-press__cta { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; font-size: var(--text-sm); font-weight: 650; color: var(--ink); }
.cp-press__cta .cp-icon { width: 1.1em; height: 1.1em; }
.cp-press__item:hover .cp-press__cta { text-decoration: underline; }
.cp-form__per { display: flex; gap: 10px; align-items: center; margin: 0 0 var(--space-5); padding: 12px 16px; border-radius: var(--radius); background: var(--surface); font-size: var(--text-sm); }
.cp-form__per .cp-icon { flex: none; }
.cp-form__legal { margin: 0; font-size: var(--text-xs, 0.8125rem); line-height: 1.5; color: var(--muted); }
.cp-form a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

.cp #inner-wrap { padding: 0; }
.cp .content-area, .cp .cp-content { margin: 0; padding: 0; }
.cp #wrapper { overflow-x: clip; }
.cp .kadence-scrollbar-fixer, .cp #kt-scroll-up, .cp #kt-scroll-up-reader { display: none !important; }
.cp-page__head { padding-block: clamp(24px, 3vw, 40px) clamp(20px, 2.5vw, 32px); background: var(--surface); }
.cp-page__head .cp-breadcrumb { margin-bottom: 12px; }
.cp-page__body { padding-block: clamp(32px, 4vw, 56px) var(--section); }
.cp-page .cp-prose h2 { font-size: var(--h3); }
.cp-page .cp-prose a { color: var(--link); }
.cp-page .cp-prose table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.cp-page .cp-prose th, .cp-page .cp-prose td { padding: 8px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.cp-404 .cp-container { display: grid; gap: var(--space-6); justify-items: start; }
.cp-searchform { display: flex; gap: 10px; width: 100%; max-width: 560px; }
.cp-searchform .cp-input { flex: 1; min-width: 0; }
.cp-results-list { display: grid; gap: 0; padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line); }
.cp-results-list li { padding: 16px 0; border-bottom: 1px solid var(--line); }
.cp-results-list a { font: var(--display-w-2) var(--h4)/1.3 var(--font-display); color: var(--ink); }
.cp-results-list p { margin-top: 4px; font-size: var(--text-sm); color: var(--muted); }
.cp-wc { --wc-gap: 24px; }
.cp-wc .wc-block-components-title, .cp-wc .wc-block-cart__totals-title { font-family: var(--font-display); font-weight: var(--display-w-2); }
.cp-wc .wc-block-components-product-name { font: var(--display-w-2) 1.0625rem/1.25 var(--font-display); color: var(--ink); text-decoration: none; }
.cp-wc .wc-block-components-product-name:hover { text-decoration: underline; }
.cp-wc .wc-block-cart-item__image img, .cp-wc .wc-block-components-order-summary-item__image img { border-radius: 2px; box-shadow: var(--shadow-sm); }
.cp-wc .wc-block-components-text-input input, .cp-wc .wc-block-components-select .wc-blocks-components-select__select,
.cp-wc .wc-block-components-textarea, .cp-wc .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
border: 1.5px solid var(--line-strong) !important; border-radius: var(--radius) !important; background: var(--paper) !important; color: var(--ink) !important;
}
.cp-wc .wc-block-components-text-input input:focus, .cp-wc .wc-block-components-textarea:focus { border-color: var(--ink) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus) 40%, transparent) !important; }
.cp-wc .wc-block-components-radio-control__option, .cp-wc .wc-block-components-radio-control-accordion-option { border-radius: var(--radius); }
.cp-wc .wc-block-components-checkout-place-order-button, .cp-wc .wc-block-cart__submit-button {
min-height: 52px; border-radius: var(--radius) !important; background: var(--ink) !important; color: var(--on-dark) !important; font: 650 var(--text-base)/1.2 var(--font-body) !important;
}
.cp-wc .wc-block-components-checkout-place-order-button:hover, .cp-wc .wc-block-cart__submit-button:hover { background: var(--accent) !important; }
.cp-wc .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font: 700 1.375rem/1.1 var(--font-display); }
.cp-wc .wc-block-components-notice-banner { border-radius: var(--radius); }
.cp-wc .wc-block-components-sidebar-layout .wc-block-components-sidebar { padding: 20px; border-radius: var(--radius-lg); background: var(--surface); }
.cp-wc .wc-block-cart-items__header, .cp-wc .wc-block-cart__totals-title, .cp-wc .wc-block-components-checkout-order-summary__title-text {
font: 650 var(--text-xs)/1.3 var(--font-body); letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted);
}
.cp-wc .wc-block-components-checkout-order-summary__title { margin-bottom: 8px; }
.cp-wc .wc-block-components-checkout-order-summary__title-text { font-size: var(--text-xs) !important; }
.cp-wc .wc-block-components-order-summary-item .wc-block-components-product-name { font-size: 0.9375rem; line-height: 1.3; }
.cp-wc .wc-block-components-product-metadata__description { display: none; }
.cp-wc .wc-block-components-product-details { margin: 4px 0 0; padding: 0; list-style: none; font-size: var(--text-xs); color: var(--muted); }
.cp-wc .wc-block-components-product-details li { display: inline; margin: 0; }
.cp-wc .wc-block-components-product-details li:not(:last-of-type)::after { content: " · "; }
.cp-wc .wc-block-components-product-details__name { display: none; }
.cp-wc .wc-block-cart-item__prices, .cp-wc .wc-block-components-order-summary-item__individual-prices { font-size: var(--text-sm); color: var(--ink-2); }
.cp-wc .wp-block-woocommerce-checkout-order-summary-block { border: 0; }
.cp-wc .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper,
.cp-wc .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content { padding-inline: 0; }
.cp-wc .wc-block-components-checkout-step__description, .cp-wc .wc-block-checkout__guest-checkout-notice { font-size: var(--text-sm); color: var(--muted); }
.cp-wc .wc-block-checkout__terms { font-size: var(--text-sm); color: var(--ink-2); }
.cp-wc .wc-block-checkout__terms a, .cp-wc .wc-block-components-checkbox a { color: inherit; }
.cp-wc .wc-block-components-checkout-return-to-cart-button { color: var(--ink-2); font-weight: 600; }
.cp-wc .wc-block-cart__empty-cart__title { font: var(--display-w-2) var(--h3)/1.2 var(--font-display); }
.cp-wc .wc-block-cart__empty-cart__title.with-empty-cart-icon::before { width: 4rem; height: 4rem; opacity: 0.35; }
.cp-wc .cp-empty-cart__cta { margin-top: var(--space-5); }
.cp-wc .cp-empty-cart__cta .cp-btn { color: var(--on-dark); text-decoration: none; }
.cp-wc .woocommerce-order-details a, .cp-wc .woocommerce-table--order-details a, .cp-wc .woocommerce-orders-table a:not(.button) { color: var(--ink); text-decoration-color: var(--line-strong); text-underline-offset: 3px; }
.cp-wc .woocommerce-thankyou-order-received { display: flex; align-items: center; gap: 12px; margin: 0; font: var(--display-w-2) var(--h3)/1.3 var(--font-display); color: var(--ink); }
.cp-wc .woocommerce-thankyou-order-received::before {
content: ""; flex: none; width: 32px; height: 32px; border-radius: 50%;
background: var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 12.5 3.6 3.6 7.4-7.6'/%3E%3C/svg%3E") center / 18px no-repeat;
}
.cp-wc .woocommerce ul.order_details:not(.bacs_details) {
position: relative; display: flex; flex-wrap: wrap; gap: 14px 44px;
margin: 20px 0 32px; padding: 24px 24px 20px; overflow: hidden;
border-radius: var(--radius-lg); background: var(--surface); list-style: none;
}
.cp-wc .woocommerce ul.order_details:not(.bacs_details)::before { content: ""; display: block; position: absolute; inset: 0 0 auto; height: 4px; background: var(--notes); }
.cp-wc .woocommerce ul.order_details:not(.bacs_details)::after { display: none; }
.cp-wc .woocommerce ul.order_details li {
float: none; margin: 0; padding: 0; border: 0;
font: 600 var(--text-xs)/1.3 var(--font-body); letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted);
}
.cp-wc .woocommerce ul.order_details li strong {
display: block; margin-top: 4px; font: 650 var(--text-base)/1.35 var(--font-body); letter-spacing: 0; text-transform: none; color: var(--ink);
font-variant-numeric: tabular-nums; overflow-wrap: anywhere;
}
.cp-wc .woocommerce-order > p:not(.woocommerce-notice) { margin: 0 0 12px; }
.cp-wc .woocommerce-bacs-bank-details { margin: 0 0 40px; padding: 20px 24px 22px; border: 1px solid var(--line); border-radius: var(--radius-lg); }
.cp-wc .woocommerce-bacs-bank-details .wc-bacs-bank-details-heading { margin: 0; font: var(--display-w-2) var(--h3)/1.3 var(--font-display); }
.cp-wc .woocommerce-bacs-bank-details .wc-bacs-bank-details-account-name { margin: 2px 0 16px; font: 600 var(--text-sm)/1.4 var(--font-body); letter-spacing: 0; color: var(--ink-2); }
.cp-wc .woocommerce ul.bacs_details.order_details { display: flex; flex-wrap: wrap; gap: 14px 44px; margin: 0; padding: 0; list-style: none; }
.cp-wc .woocommerce ul.bacs_details.order_details::before, .cp-wc .woocommerce ul.bacs_details.order_details::after { display: none; }
.cp-wc .woocommerce ul.bacs_details li.iban strong { user-select: all; } 
@media (max-width: 599px) {
.cp-wc .woocommerce ul.order_details:not(.bacs_details) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 22px 18px 18px; }
.cp-wc .woocommerce ul.order_details:not(.bacs_details) li:is(.woocommerce-order-overview__email, .method) { grid-column: 1 / -1; }
.cp-wc .woocommerce-bacs-bank-details { padding: 18px 18px 20px; }
.cp-wc .woocommerce ul.bacs_details.order_details { display: grid; gap: 14px; }
}
.cp-wc .woocommerce-customer-details address { border-radius: var(--radius); border-color: var(--line); }
@media (min-width: 768px) {
.woocommerce-account .cp-wc > .woocommerce:has(> .account-navigation-wrap) { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 48px; align-items: start; }
.woocommerce-account .cp-wc > .woocommerce:has(> .account-navigation-wrap)::before,
.woocommerce-account .cp-wc > .woocommerce:has(> .account-navigation-wrap)::after { display: none; }
.woocommerce-account .cp-wc .account-navigation-wrap { grid-column: 2; grid-row: 1; float: none; width: auto; }
.woocommerce-account .cp-wc .woocommerce-MyAccount-content { grid-column: 1; grid-row: 1; float: none; width: auto; padding: 0; }
}
.woocommerce-account .cp-wc .account-navigation-wrap { margin: 0 0 24px; padding: 12px; border: 0; border-radius: var(--radius-lg); background: var(--surface); }
@media (min-width: 768px) { .woocommerce-account .cp-wc .account-navigation-wrap { margin: 0; } }
.cp-wc .account-navigation-wrap .kadence-account-avatar { margin: 2px 0 8px; padding-left: 14px; }
.cp-wc .account-navigation-wrap .kadence-customer-image { left: 14px; }
.cp-wc .account-navigation-wrap .kadence-customer-name { font-weight: 650; color: var(--ink); overflow-wrap: anywhere; }
.cp-wc .woocommerce-MyAccount-navigation ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.cp-wc .woocommerce-MyAccount-navigation li { margin: 0; }
.cp-wc .account-navigation-wrap .woocommerce-MyAccount-navigation li a {
display: block; margin: 0; padding: 10px 14px; border: 0 !important; 
border-radius: var(--radius); color: var(--ink-2); font-weight: 600; text-decoration: none; transition: background-color .15s, color .15s;
}
.cp-wc .account-navigation-wrap .woocommerce-MyAccount-navigation li a:hover { background: var(--paper); color: var(--ink); }
.cp-wc .account-navigation-wrap .woocommerce-MyAccount-navigation li.is-active a { background: var(--ink); color: var(--on-dark); font-weight: 650; }
.cp-wc .account-navigation-wrap .woocommerce-MyAccount-navigation li a:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.cp-wc .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--line); }
.cp-wc .account-navigation-wrap .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:not(:hover) { color: var(--muted); }
@media (max-width: 767px) {
.cp-wc .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 6px; }
.cp-wc .account-navigation-wrap .woocommerce-MyAccount-navigation li a { padding: 8px 13px; background: var(--paper); }
.cp-wc .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 0; padding-top: 0; border-top: 0; }
}
.cp-wc .woocommerce-form-row input.input-text, .cp-wc .woocommerce-Input { min-height: 48px; padding: 0.6em 0.85em; border: 1.5px solid var(--line-strong); border-radius: var(--radius); }
.cp-wc .woocommerce-button, .cp-wc .woocommerce-Button { min-height: 48px; padding: 0.6em 1.3em; border: 0; border-radius: var(--radius); background: var(--ink); color: var(--on-dark); font-weight: 650; cursor: pointer; }
.cp-wc .woocommerce-button:hover, .cp-wc .woocommerce-Button:hover { background: var(--accent); color: var(--on-dark); }
.cp-wc #customer_login h2 { margin: 0 0 14px; }
.cp-wc .woocommerce :is(form.login, form.register) { margin: 0; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-lg); }
.cp-wc .woocommerce-form-login .form-row:has(> .woocommerce-form-login__submit) { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.cp-wc .woocommerce .woocommerce-form-login .woocommerce-form-login__submit { order: -1; float: none; margin: 0; }
.cp-wc .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 600; }
.cp-wc .woocommerce-form-login__rememberme input { width: 18px; height: 18px; margin: 0; accent-color: var(--ink); }
.cp-wc form.register > p:not(.form-row), .cp-wc form.register .woocommerce-privacy-policy-text p { margin: 0 0 12px; font-size: var(--text-sm); line-height: 1.5; color: var(--ink-2); }
.cp-wc form.register .woocommerce-privacy-policy-text p { margin-bottom: 16px; }
.cp .wpcf7-form { display: grid; gap: var(--space-5); }
.cp .wpcf7-form p { margin: 0; display: grid; gap: 6px; font-size: var(--text-sm); font-weight: 650; }
.cp .wpcf7-form-control-wrap { display: block; }
.cp .wpcf7-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .cp .wpcf7-form select, .cp .wpcf7-form textarea {
width: 100%; min-height: 48px; padding: 0.65em 0.85em; border: 1.5px solid var(--line-strong); border-radius: var(--radius);
background: var(--paper); font: 400 var(--text-base)/1.4 var(--font-body); color: var(--ink);
}
.cp .wpcf7-form textarea { min-height: 140px; resize: vertical; }
.cp .wpcf7-form input:focus, .cp .wpcf7-form select:focus, .cp .wpcf7-form textarea:focus { outline: 3px solid color-mix(in srgb, var(--focus) 45%, transparent); outline-offset: 0; border-color: var(--ink); }
.cp .wpcf7-form .wpcf7-list-item { margin: 0; }
.cp .wpcf7-form .wpcf7-acceptance label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.cp .wpcf7-form input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--ink); }
.cp .wpcf7-form .wpcf7-submit {
justify-self: start; min-height: 48px; padding: 0.7em 1.5em; border: 2px solid var(--ink); border-radius: var(--radius);
background: var(--ink); color: var(--on-dark); font: 650 var(--text-base)/1.2 var(--font-body); cursor: pointer;
}
.cp .wpcf7-form .wpcf7-submit:hover { background: var(--accent); border-color: var(--accent); }
.cp .wpcf7-not-valid-tip { margin-top: 4px; font-size: var(--text-xs); color: var(--do); font-weight: 600; }
.cp .wpcf7 form .wpcf7-response-output { margin: 0; padding: 12px 14px; border-radius: var(--radius); font-size: var(--text-sm); }
.cp .wpcf7 form.sent .wpcf7-response-output { border-color: var(--ok); background: var(--ok-bg); }
.cp .wpcf7-spinner { margin: 0 0 0 12px; }
.cp-page .cp-prose .mmkt-cookie-table { font-size: var(--text-xs); margin-block: var(--space-3) var(--space-6); }
.cp-page .cp-prose .mmkt-cookie-table th { font-weight: 600; background: var(--surface); }
.cp-page .cp-prose .mmkt-cookie-table code { font-size: inherit; white-space: normal; overflow-wrap: anywhere; }
.cp-page .cp-prose .mmkt-cookie-table td:first-child { min-width: 15ch; }
@media (min-width: 1000px) {
.cp-page .cp-prose .mmkt-cookie-table { width: min(1040px, calc(100vw - var(--edge) * 2)); margin-left: 50%; transform: translateX(-50%); }
}
@media (max-width: 699px) {
.cp-page .cp-prose .mmkt-cookie-table thead { display: none; }
.cp-page .cp-prose .mmkt-cookie-table tr { display: block; padding: 10px 0; border-bottom: 1px solid var(--line); }
.cp-page .cp-prose .mmkt-cookie-table td { display: grid; grid-template-columns: 9em 1fr; gap: 10px; padding: 3px 0; border: 0; }
.cp-page .cp-prose .mmkt-cookie-table td::before { content: attr(data-label); color: var(--muted); }
}
@media (max-width: 699px) { .cp-page .cp-prose .mmkt-cookie-table td small { grid-column: 2; } }
