/* Cardivena design system — tokens + components (ported from the static site). Fonts are self-hosted and registered via theme.json. */
/* Cardivena colour tokens. Base values from DESIGN.md §3; sampled against packaging + mockups. */
:root{
/* base */
--cv-black:#050807;
--cv-bg-deep:#0B0F0D;/* @kind other */
--cv-bg-surface:#13201B;/* @kind other */
--cv-green-deep:#1B3A30;
--cv-green-mid:#24584A;
--cv-green-glow:#3FBF9A;
--cv-green-mist:#8FE3C8;
--cv-gold-dark:#8A6630;
--cv-gold:#C99A4E;
--cv-gold-light:#E8C37A;
--cv-parchment:#EFE3C8;
--cv-sand:#CDBF9F;
--cv-stone:#B8AE95;
--cv-danger:#D4785F;
--cv-success:#3FBF9A;
--cv-line:#2A3A33;
--cv-sale:#D9A15A;
/* semantic: surfaces */
--surface-media:rgba(27,58,48,.28);
--surface-notice:rgba(27,58,48,.5);
--surface-page:var(--cv-bg-deep);
--surface-card:rgba(15,24,20,.88);
--surface-card-strong:rgba(11,15,13,.94);
--surface-nav:rgba(19,32,27,.9);
--surface-input:rgba(11,15,13,.6);
--surface-overlay:rgba(5,8,7,.82);
--surface-hover:rgba(239,227,200,.06);
--scrim-hero:linear-gradient(180deg,rgba(5,8,7,.9) 0%,rgba(5,8,7,.78) 55%,rgba(5,8,7,0) 100%);/* @kind color */
--scrim-footer:rgba(5,8,7,.94);
--scrim-drawer:rgba(5,8,7,.72);
--scrim-text:linear-gradient(180deg,rgba(5,8,7,0) 0%,rgba(5,8,7,.6) 30%,rgba(5,8,7,.85) 100%);/* @kind color */
/* semantic: text */
--text-heading:var(--cv-parchment);
--text-body:var(--cv-sand);
--text-muted:var(--cv-stone);
--text-accent:var(--cv-gold);
--text-on-gold:var(--cv-bg-deep);
--text-link:var(--cv-gold);
--text-link-hover:var(--cv-gold-light);
--text-on-danger:#FFF6EC;
--text-error:#E8A08C;
--text-legal-flag:var(--cv-sale);
/* semantic: lines */
--line-gold:var(--cv-gold);
--line-gold-soft:rgba(201,154,78,.3);
--line-green:var(--cv-green-deep);
--line-neutral:rgba(239,227,200,.12);
--line-input:rgba(239,227,200,.28);
--line-danger:rgba(212,120,95,.6);
--line-gold-dim:rgba(201,154,78,.3);
/* semantic: action */
--action-primary:var(--cv-gold);
--action-primary-hover:var(--cv-gold-light);
--action-focus:var(--cv-green-glow);
/* gradients */
--gold-gradient:linear-gradient(180deg,#D6AA5E 0%,#C99A4E 100%);/* @kind color */
--gold-line-fade:linear-gradient(90deg,rgba(201,154,78,0) 0%,#C99A4E 20%,#C99A4E 80%,rgba(201,154,78,0) 100%);/* @kind color */
--glow-radial:radial-gradient(ellipse 60% 50% at 50% 35%,rgba(63,191,154,.1) 0%,rgba(63,191,154,0) 70%);/* @kind color */
--scrim-bottom:linear-gradient(180deg,rgba(11,15,13,0) 0%,rgba(11,15,13,.55) 55%,rgba(11,15,13,.9) 100%);/* @kind color */
}

:root{
--font-display:'IM Fell English SC','Cinzel','Cormorant SC','Trajan Pro',Georgia,serif;/* @kind font */
--font-serif:var(--font-sans);/* deprecated alias */
--font-sans:'Poppins',system-ui,sans-serif;/* @kind font */
/* scale — mobile first (390px). Audience 45+: body never below 16px, UI labels ≥15px. */
--fs-display:clamp(34px,6.4vw,60px);/* @kind font */
--fs-h1:clamp(30px,5vw,48px);/* @kind font */
--fs-h2:clamp(26px,3.6vw,38px);/* @kind font */
--fs-h3:clamp(21px,2.4vw,26px);/* @kind font */
--fs-quote:18px;/* @kind font */
--fs-body:17px;/* @kind font */
--fs-body-desktop:18px;/* @kind font */
--fs-small:16px;/* @kind font */
--fs-nav:16px;/* @kind font */
--fs-button:16px;/* @kind font */
--fs-micro:15px;/* @kind font */
--fs-price:24px;/* @kind font */
--fs-price-lg:32px;/* @kind font */
--lh-tight:1.15;/* @kind font */
--lh-heading:1.25;/* @kind font */
--lh-body:1.65;/* @kind font */
--ls-display:.04em;/* @kind font */
--ls-heading:.03em;/* @kind font */
--ls-nav:.04em;/* @kind font */
--ls-button:.05em;/* @kind font */
--fw-regular:400;/* @kind font */
--fw-medium:500;/* @kind font */
--fw-semibold:600;/* @kind font */
--fw-bold:700;/* @kind font */
}

:root{
--space-1:4px;/* @kind spacing */--space-2:8px;/* @kind spacing */--space-3:12px;/* @kind spacing */--space-4:16px;/* @kind spacing */--space-5:24px;/* @kind spacing */--space-6:32px;/* @kind spacing */--space-7:48px;/* @kind spacing */--space-8:64px;/* @kind spacing */--space-9:96px;/* @kind spacing */--space-10:128px;/* @kind spacing */
--gutter-mobile:20px;/* @kind spacing */--gutter-desktop:64px;/* @kind spacing */
--container-text:640px;/* @kind spacing */--container:1200px;/* @kind spacing */--container-wide:1440px;/* @kind spacing */
--radius-sm:4px;/* @kind radius */--radius-card:8px;/* @kind radius */--radius-lg:14px;/* @kind radius */
/* chamfer (hexagonal) corner depth */
--chamfer-sm:10px;/* @kind spacing */--chamfer:14px;/* @kind spacing */--chamfer-lg:18px;/* @kind spacing */--chamfer-xl:22px;/* @kind spacing */
--nav-height-desktop:84px;/* @kind spacing */
}

:root{
/* Calm by design: glow belongs to the photography, not to UI. Shadows are soft and neutral. */
--focus-ring:0 0 0 3px rgba(143,227,200,.55);
--glow-green:0 0 32px rgba(63,191,154,.14);
--glow-green-soft:0 0 60px rgba(63,191,154,.08);
--glow-gold:0 0 0 1px rgba(232,195,122,.5);
--glow-gold-strong:0 0 0 2px rgba(232,195,122,.6);
--shadow-card:0 10px 30px rgba(0,0,0,.35);
--shadow-panel:0 16px 40px rgba(0,0,0,.4);
--text-shadow-soft:0 1px 2px rgba(0,0,0,.5);
--blur-panel:blur(10px);/* @kind other */
--ease-mist:cubic-bezier(.22,.61,.36,1);/* @kind other */
--dur-fast:160ms;/* @kind other */--dur-base:260ms;/* @kind other */--dur-slow:600ms;/* @kind other */--dur-fade:1200ms;/* @kind other */
/* backgrounds (url relative to this file) */
--bg-monastery-desktop:url(../images/bg-desktop.webp);/* @kind other */
--bg-monastery-mobile:url(../images/bg-mobile.webp);/* @kind other */
--img-monk:url(../images/monk.webp);/* @kind other */
--img-text-panel:url(../images/text-panel.webp);/* @kind other */
--img-logo:url(../images/logo.webp);/* @kind other */
--img-packshot:url(../images/packshot-front.webp);/* @kind other */
--img-packshot-trio:url(../images/packshot-trio.webp);/* @kind other */
--img-manuscript:url(../images/manuscript.webp);/* @kind other */
--img-med-klaszt:url(../images/med-klaszt.webp);/* @kind other */
}

html{background:var(--surface-page);color-scheme:dark}
body{margin:0;font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
@media (min-width:900px){body{font-size:var(--fs-body-desktop)}}
a{color:var(--text-link);text-decoration:none;transition:color var(--dur-fast) var(--ease-mist)}
a:hover{color:var(--text-link-hover)}
::selection{background:var(--cv-gold);color:var(--cv-bg-deep)}
.cv-monastery-bg{background:var(--cv-bg-deep) var(--bg-monastery-mobile) center top/cover no-repeat fixed}
@media (min-width:900px){.cv-monastery-bg{background-image:var(--bg-monastery-desktop)}}

/* Cardivena component styles — calm premium apothecary. Atmosphere lives in the imagery; UI is quiet: no glow, clear contrast, large type.
   Shape variant C is default: 5px radius on actions; the chamfer (hexagonal ends from the "200 ml" pack plate) only on plaques. */
.cv-hex{clip-path:polygon(var(--chamfer) 0,calc(100% - var(--chamfer)) 0,100% 50%,calc(100% - var(--chamfer)) 100%,var(--chamfer) 100%,0 50%)}
/* Button */
.cv-btn{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 32px;border:0;background:none;font-family:var(--font-sans);font-weight:600;font-size:var(--fs-button);letter-spacing:var(--ls-button);text-transform:uppercase;white-space:nowrap;cursor:pointer;text-decoration:none;transition:color var(--dur-fast) var(--ease-mist),transform var(--dur-fast) var(--ease-mist)}
.cv-btn::before{content:"";position:absolute;inset:0;z-index:-1;transition:background var(--dur-fast) var(--ease-mist)}
.cv-btn:active{transform:translateY(1px)}
.cv-btn--primary{color:var(--text-on-gold)}
.cv-btn--primary::before{background:var(--cv-gold);clip-path:polygon(var(--chamfer-sm) 0,calc(100% - var(--chamfer-sm)) 0,100% 50%,calc(100% - var(--chamfer-sm)) 100%,var(--chamfer-sm) 100%,0 50%)}
.cv-btn--primary:hover{color:var(--text-on-gold)}
.cv-btn--primary:hover::before{background:var(--cv-gold-light)}
.cv-btn--secondary{color:var(--cv-gold-light)}
.cv-btn--secondary::before{background:var(--cv-gold);clip-path:polygon(evenodd,var(--chamfer-sm) 0,calc(100% - var(--chamfer-sm)) 0,100% 50%,calc(100% - var(--chamfer-sm)) 100%,var(--chamfer-sm) 100%,0 50%,var(--chamfer-sm) 0,calc(var(--chamfer-sm) + 1px) 1px,1.4px 50%,calc(var(--chamfer-sm) + 1px) calc(100% - 1px),calc(100% - var(--chamfer-sm) - 1px) calc(100% - 1px),calc(100% - 1.4px) 50%,calc(100% - var(--chamfer-sm) - 1px) 1px,calc(var(--chamfer-sm) + 1px) 1px)}
.cv-btn--secondary:hover{color:var(--cv-parchment);background:none}
.cv-btn--secondary:hover::before{background:var(--cv-gold-light)}
.cv-btn--text{height:auto;padding:6px 0;color:var(--cv-gold-light);text-decoration:underline;text-decoration-color:var(--line-gold-soft);text-underline-offset:5px;text-transform:none;letter-spacing:0;font-weight:500;font-size:var(--fs-body)}
.cv-btn--text:hover{color:var(--cv-parchment);text-decoration-color:currentColor}
.cv-btn--sm{height:46px;padding:0 22px;font-size:15px}
.cv-btn--lg{height:64px;padding:0 40px;font-size:17px}
.cv-btn--block{display:flex;width:100%}
.cv-btn[disabled],.cv-btn[aria-disabled="true"]{opacity:.45;pointer-events:none}
.cv-btn.is-done{color:var(--cv-bg-deep)}
.cv-btn.is-done::before{background:var(--cv-green-mist)}
/* Icon */
.cv-icon{display:inline-block;flex:none;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
.cv-icon--text{background:none;-webkit-mask:none;mask:none;text-align:center;font-weight:600}
.cv-spin{animation:cv-spin 1s linear infinite}@keyframes cv-spin{to{transform:rotate(360deg)}}
.cv-btn.is-loading{cursor:progress}
.cv-icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;background:none;padding:0;color:var(--cv-gold);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--dur-fast),background var(--dur-fast)}
.cv-icon-btn:hover{color:var(--cv-gold-light);background:var(--surface-hover)}
.cv-icon-btn[disabled]{opacity:.35;pointer-events:none}
/* Logo */
.cv-logo{display:block;aspect-ratio:888/282;background:var(--img-logo) center/contain no-repeat}
/* Nav */
.cv-nav{display:flex;align-items:center;gap:4px;font-family:var(--font-sans)}
.cv-nav--bar{position:relative;isolation:isolate;padding:0 32px}
.cv-nav--bar::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--surface-nav);clip-path:polygon(var(--chamfer-xl) 0,calc(100% - var(--chamfer-xl)) 0,100% 50%,calc(100% - var(--chamfer-xl)) 100%,var(--chamfer-xl) 100%,0 50%)}
.cv-nav__item{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:8px 18px;font-size:var(--fs-nav);font-weight:500;letter-spacing:var(--ls-nav);text-transform:uppercase;color:var(--cv-gold);text-align:center;line-height:1.3;cursor:pointer;background:none;border:0;text-decoration:none;transition:color var(--dur-fast)}
.cv-nav__item:hover{color:var(--cv-parchment)}
.cv-nav__label{position:relative;padding-bottom:4px}
.cv-nav__item.is-active{color:var(--cv-gold-light)}
.cv-nav__item.is-active .cv-nav__label::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor}
.cv-nav--inline .cv-nav__item.is-active::before,.cv-nav--rows .cv-nav__item.is-active::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--line-gold-soft);clip-path:polygon(evenodd,var(--chamfer-sm) 0,calc(100% - var(--chamfer-sm)) 0,100% 50%,calc(100% - var(--chamfer-sm)) 100%,var(--chamfer-sm) 100%,0 50%,var(--chamfer-sm) 0,calc(var(--chamfer-sm) + 1px) 1px,1.4px 50%,calc(var(--chamfer-sm) + 1px) calc(100% - 1px),calc(100% - var(--chamfer-sm) - 1px) calc(100% - 1px),calc(100% - 1.4px) 50%,calc(100% - var(--chamfer-sm) - 1px) 1px,calc(var(--chamfer-sm) + 1px) 1px)}
.cv-nav--bar .cv-nav__item{color:var(--cv-sand);padding:8px 14px}
.cv-nav--bar .cv-nav__item:hover,.cv-nav--bar .cv-nav__item.is-active{color:var(--cv-gold-light)}
.cv-nav--rows{flex-wrap:wrap;justify-content:center;column-gap:0;row-gap:0;width:100%}
.cv-nav--rows .cv-nav__item{padding:4px 7px;min-height:44px;letter-spacing:.03em}
.cv-nav--rows .cv-nav__item:nth-child(2)::after{content:"";position:absolute;left:0;right:0;bottom:0}
.cv-nav--rows::before{content:"";order:2;flex-basis:100%;height:0}
.cv-nav--rows .cv-nav__item:nth-child(-n+2){order:1}.cv-nav--rows .cv-nav__item:nth-child(n+3){order:3}
.cv-nav--stack{flex-direction:column;align-items:stretch;gap:0;width:100%;max-width:360px}
.cv-nav--stack .cv-nav__item{justify-content:flex-start;font-size:18px;padding:18px 8px;border-bottom:1px solid var(--line-neutral)}
.cv-nav--stack .cv-nav__item.is-active::before{display:none}
/* Breadcrumbs */
.cv-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;padding:0;list-style:none;font-size:15px;color:var(--text-muted)}
.cv-crumbs a{color:var(--cv-sand);text-decoration:underline;text-decoration-color:var(--line-gold-soft);text-underline-offset:4px}
.cv-crumbs a:hover{color:var(--cv-gold-light)}
.cv-crumbs li+li::before{content:"/";margin-right:10px;color:var(--line-gold-soft)}
.cv-crumbs [aria-current]{color:var(--text-heading)}
/* Section heading */
.cv-heading{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}
.cv-heading--left{align-items:flex-start;text-align:left}
.cv-heading__eyebrow{font-family:var(--font-sans);font-size:var(--fs-micro);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cv-gold)}
.cv-heading__title{margin:0;font-family:var(--font-display);font-weight:600;font-size:var(--fs-h2);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);text-transform:uppercase;color:var(--text-heading);text-wrap:balance}
.cv-heading--xl .cv-heading__title{font-size:var(--fs-h1)}
.cv-heading__lead{margin:4px 0 0;max-width:620px;font-size:var(--fs-body);color:var(--text-body);text-wrap:pretty}
.cv-heading__rule{width:64px;height:1px;background:var(--cv-gold)}
/* Content card */
.cv-card{position:relative;padding:28px 22px;border-radius:var(--radius-card);background:var(--surface-card);border:1px solid var(--line-neutral);box-shadow:var(--shadow-panel);backdrop-filter:var(--blur-panel);-webkit-backdrop-filter:var(--blur-panel);color:var(--text-body)}
.cv-card--solid{background:var(--surface-card-strong)}
.cv-card--outline{box-shadow:none;background:transparent;border-color:var(--line-gold-soft);backdrop-filter:none}
.cv-card__title{margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line-gold-soft);font-family:var(--font-display);font-weight:600;font-size:var(--fs-h3);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);text-transform:uppercase;color:var(--text-heading);text-align:center;text-wrap:balance}
.cv-card--left .cv-card__title{text-align:left}
.cv-card__body{margin:0;text-wrap:pretty}
.cv-card__body p{margin:0 0 1em}.cv-card__body p:last-child{margin-bottom:0}
@media (min-width:900px){html:not(.k-force-mobile) .cv-card{padding:40px 44px}}
/* Testimonial */
.cv-quote{display:flex;flex-direction:column;gap:14px;padding:26px 24px;border-radius:var(--radius-card);background:var(--surface-card);border:1px solid var(--line-neutral)}
.cv-quote__stars{display:flex;gap:3px;color:var(--cv-gold);font-size:18px;line-height:1}
.cv-quote__stars .is-off{color:var(--line-gold-dim)}
.cv-quote__text{margin:0;font-family:var(--font-sans);font-size:var(--fs-quote);line-height:1.6;color:var(--text-heading);text-wrap:pretty}
.cv-quote__who{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:15px;color:var(--text-muted)}
.cv-quote__who b{font-weight:600;color:var(--cv-sand)}
/* Capacity badge (pack plate) */
.cv-badge{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 28px;font-family:var(--font-sans);font-weight:500;font-size:19px;color:var(--text-heading);white-space:nowrap}
.cv-badge::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--cv-gold);clip-path:polygon(evenodd,var(--chamfer) 0,calc(100% - var(--chamfer)) 0,100% 50%,calc(100% - var(--chamfer)) 100%,var(--chamfer) 100%,0 50%,var(--chamfer) 0,calc(var(--chamfer) + 1px) 1px,1.4px 50%,calc(var(--chamfer) + 1px) calc(100% - 1px),calc(100% - var(--chamfer) - 1px) calc(100% - 1px),calc(100% - 1.4px) 50%,calc(100% - var(--chamfer) - 1px) 1px,calc(var(--chamfer) + 1px) 1px)}
.cv-badge--sm{height:34px;padding:0 18px;font-size:15px}
.cv-badge--sm::before{clip-path:polygon(evenodd,var(--chamfer-sm) 0,calc(100% - var(--chamfer-sm)) 0,100% 50%,calc(100% - var(--chamfer-sm)) 100%,var(--chamfer-sm) 100%,0 50%,var(--chamfer-sm) 0,calc(var(--chamfer-sm) + 1px) 1px,1.4px 50%,calc(var(--chamfer-sm) + 1px) calc(100% - 1px),calc(100% - var(--chamfer-sm) - 1px) calc(100% - 1px),calc(100% - 1.4px) 50%,calc(100% - var(--chamfer-sm) - 1px) 1px,calc(var(--chamfer-sm) + 1px) 1px)}
/* Product badge (Nowość / Bestseller / Promocja) */
.cv-pbadge{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:15px;font-weight:600;letter-spacing:.02em;line-height:1;white-space:nowrap;background:var(--surface-card-strong);color:var(--cv-gold-light);box-shadow:inset 0 0 0 1px var(--cv-gold)}
.cv-pbadge--new{color:var(--cv-gold-light)}
.cv-pbadge--bestseller{color:var(--cv-parchment);box-shadow:inset 0 0 0 1px var(--cv-gold-light)}
.cv-pbadge--sale{color:var(--cv-sale);box-shadow:inset 0 0 0 1px var(--cv-sale)}
.cv-pbadge--info{color:var(--cv-sand);box-shadow:inset 0 0 0 1px var(--line-gold-soft)}
.cv-pbadge--legal{color:var(--text-legal-flag);box-shadow:inset 0 0 0 1px var(--line-danger);font-weight:500}
/* Category label */
.cv-catlabel{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:15px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cv-gold);text-decoration:none}
a.cv-catlabel:hover{color:var(--cv-gold-light)}
.cv-catlabel--chip{height:34px;padding:0 14px;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--line-gold-soft);letter-spacing:.04em;text-transform:none;font-weight:500;font-size:15px;color:var(--cv-sand)}
/* Category filter */
.cv-cats-wrap{position:relative}
.cv-cats-wrap::after{content:"";position:absolute;top:0;right:0;bottom:0;width:56px;pointer-events:none;opacity:0;background:linear-gradient(90deg,rgba(11,15,13,0),var(--cv-bg-deep));transition:opacity var(--dur-fast)}
.cv-cats-wrap.has-more::after{opacity:1}
.cv-cats{display:flex;gap:8px;overflow-x:auto;padding:2px;margin:-2px;scrollbar-width:none}
.cv-cats::-webkit-scrollbar{display:none}
.cv-cats__item{flex:none;display:inline-flex;align-items:center;gap:8px;height:48px;white-space:nowrap;padding:0 18px;border:1px solid var(--line-gold-soft);border-radius:var(--radius-sm);background:transparent;font-family:var(--font-sans);font-size:16px;font-weight:500;color:var(--cv-sand);cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}
.cv-cats__item:hover{border-color:var(--cv-gold);color:var(--text-heading)}
.cv-cats__item.is-active{background:var(--cv-gold);border-color:var(--cv-gold);color:var(--cv-bg-deep)}
.cv-cats__count{font-size:15px;opacity:.8}
/* Price */
.cv-price{display:flex;flex-direction:column;gap:4px;font-family:var(--font-sans)}
.cv-price__row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.cv-price__now{font-size:var(--fs-price);font-weight:600;color:var(--text-heading);font-variant-numeric:tabular-nums;line-height:1.2}
.cv-price--lg .cv-price__now{font-size:var(--fs-price-lg)}
.cv-price--sale .cv-price__now{color:var(--cv-sale)}
.cv-price__old{font-size:17px;color:var(--text-muted);text-decoration:line-through}
.cv-price__unit{font-size:15px;color:var(--text-muted)}
.cv-price__lowest{font-size:15px;color:var(--text-muted)}
/* Add to cart */
.cv-atc{display:flex;gap:10px;align-items:stretch;width:100%}
.cv-atc .cv-btn{flex:1;min-width:0;padding-left:16px;padding-right:16px}
.cv-atc .cv-qty{padding:0 2px}
.cv-atc .cv-qty .cv-icon-btn{width:44px}
/* Cart counter */
.cv-cartcount{position:relative;display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 10px;border:0;background:none;color:var(--cv-gold);font-family:var(--font-sans);font-size:16px;font-weight:500;cursor:pointer;border-radius:var(--radius-sm);text-decoration:none}
.cv-cartcount:hover{color:var(--cv-gold-light);background:var(--surface-hover)}
.cv-cartcount__n{line-height:24px!important;position:absolute;top:2px;left:26px;min-width:24px;height:24px;padding:0 6px;box-sizing:border-box;border-radius:12px;background:var(--cv-gold);color:var(--cv-bg-deep);font-size:15px;font-weight:700;line-height:22px;text-align:center;font-variant-numeric:tabular-nums}
.cv-cartcount__label{color:var(--cv-sand)}
.cv-cartcount__total{color:var(--text-heading);font-weight:600}
/* Product card */
.cv-pcard{position:relative;display:flex;flex-direction:column;border-radius:var(--radius-card);background:var(--surface-card);border:1px solid var(--line-neutral);overflow:hidden;transition:border-color var(--dur-fast)}
.cv-pcard:hover{border-color:var(--line-gold-soft)}
.cv-pcard__media{position:relative;display:block;aspect-ratio:4/5;background:var(--surface-media);text-decoration:none}
.cv-pcard__img{position:absolute;inset:16px;background-position:center;background-size:contain;background-repeat:no-repeat}
.cv-pcard__ph{position:absolute;inset:16px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:linear-gradient(160deg,rgba(201,154,78,.16),rgba(27,58,48,.45));text-align:center;padding:12px}
.cv-mono{font:600 clamp(28px,7vw,52px) var(--font-display);color:var(--cv-gold);letter-spacing:.02em;line-height:1}
.cv-pcard__badges{position:absolute;top:12px;left:12px;display:flex;flex-wrap:wrap;gap:6px}
.cv-pcard__body{display:flex;flex-direction:column;gap:8px;padding:18px 18px 20px;flex:1}
.cv-pcard__name{margin:0;font-family:var(--font-display);font-weight:600;font-size:21px;line-height:1.25;letter-spacing:.02em;color:var(--text-heading);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.5em}
.cv-pcard__name a{color:inherit}
.cv-pcard__name a:hover{color:var(--cv-gold-light)}
.cv-pcard__desc{margin:0;font-size:16px;line-height:1.5;color:var(--text-body);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.cv-pcard__meta{font-size:15px;color:var(--text-muted)}
.cv-pcard__foot{display:flex;flex-direction:column;gap:14px;margin-top:auto;padding-top:10px}
/* Product tabs */
.cv-tabs__list{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--line-gold-soft);scrollbar-width:none}
.cv-tabs__list::-webkit-scrollbar{display:none}
.cv-tabs__tab{flex:none;position:relative;min-height:56px;padding:0 20px;border:0;background:none;font-family:var(--font-sans);font-size:17px;font-weight:500;color:var(--cv-sand);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast)}
.cv-tabs__tab:hover{color:var(--text-heading)}
.cv-tabs__tab.is-active{color:var(--cv-gold-light)}
.cv-tabs__tab.is-active::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--cv-gold)}
.cv-tabs__panel{padding:28px 0 8px;color:var(--text-body);text-wrap:pretty}
.cv-tabs__panel p{margin:0 0 1em}.cv-tabs__panel p:last-child{margin:0}
.cv-tabs__panel ul{margin:0;padding-left:1.2em}.cv-tabs__panel li{margin-bottom:.5em}
/* Mobile: tabs become stacked sections */
.cv-tabs--acc .cv-tabs__list{display:none}
.cv-tabs__acc-q{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:64px;padding:14px 0;border:0;border-bottom:1px solid var(--line-gold-soft);background:none;font-family:var(--font-sans);font-size:18px;font-weight:500;color:var(--text-heading);text-align:left;cursor:pointer}
/* Info table */
.cv-table{width:100%;border-collapse:collapse;font-size:16px}
.cv-table th,.cv-table td{padding:14px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line-neutral)}
.cv-table th:first-child,.cv-table td:first-child{padding-left:0}
.cv-table th:last-child,.cv-table td:last-child{padding-right:0}
.cv-table thead th{font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--cv-gold);border-bottom-color:var(--line-gold-soft)}
.cv-table td{color:var(--text-body)}
.cv-table td:first-child{color:var(--text-heading)}
.cv-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cv-table small{display:block;margin-top:2px;font-size:15px;color:var(--text-muted)}
/* Notice */
.cv-notice{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:var(--radius-card);background:var(--surface-notice);border:1px solid var(--line-gold-soft);color:var(--text-body);font-size:16px}
.cv-notice .cv-icon{color:var(--cv-gold);margin-top:3px}
.cv-notice__title{display:block;margin-bottom:4px;font-weight:600;color:var(--text-heading)}
.cv-notice--warn{border-color:var(--line-danger)}
.cv-notice--warn .cv-icon{color:var(--cv-sale)}
/* FAQ */
.cv-faq{border-top:1px solid var(--line-gold-soft)}
.cv-faq__item{border-bottom:1px solid var(--line-gold-soft)}
.cv-faq__q{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:64px;padding:16px 0;border:0;background:none;text-align:left;font-family:var(--font-sans);font-size:18px;font-weight:500;line-height:1.45;color:var(--text-heading);cursor:pointer;transition:color var(--dur-fast)}
.cv-faq__q:hover{color:var(--cv-gold-light)}
.cv-faq__mark{position:relative;flex:none;width:18px;height:18px;color:var(--cv-gold)}
.cv-faq__mark::before,.cv-faq__mark::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:currentColor}
.cv-faq__mark::after{transform:rotate(90deg);transition:transform var(--dur-base) var(--ease-mist)}
.cv-faq__item.is-open .cv-faq__mark::after{transform:rotate(0deg)}
.cv-faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-base) var(--ease-mist)}
.cv-faq__item.is-open .cv-faq__a{grid-template-rows:1fr}
.cv-faq__a>div{overflow:hidden}
.cv-faq__a p{margin:0;padding:0 32px 22px 0;color:var(--text-body);text-wrap:pretty}
/* Social */
.cv-social{display:flex;align-items:center;gap:2px}
/* Music toggle */
.cv-music{position:fixed;right:16px;bottom:16px;z-index:40;width:48px;height:48px;border-radius:50%;border:1px solid var(--line-gold-soft);background:var(--surface-card-strong)}
.cv-music--inline{position:relative;right:auto;bottom:auto}
.cv-music.is-on{border-color:var(--cv-gold)}
/* Quantity */
.cv-qty{position:relative;isolation:isolate;display:inline-flex;align-items:center;flex:none;height:56px;padding:0 4px;border:1px solid var(--line-gold-soft);border-radius:var(--radius-sm)}
.cv-qty.is-disabled{opacity:.5}
.cv-qty__val{min-width:34px;text-align:center;font-weight:600;font-size:18px;color:var(--text-heading);font-variant-numeric:tabular-nums}
/* Form field */
.cv-field{display:flex;flex-direction:column;gap:8px}
.cv-field__label{font-size:16px;font-weight:500;color:var(--text-heading)}
.cv-field__input{height:56px;padding:0 16px;border:1px solid var(--line-input);border-radius:var(--radius-sm);background:var(--surface-input);font:inherit;font-size:17px;color:var(--text-heading);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}
textarea.cv-field__input{height:auto;min-height:132px;padding:14px 16px;resize:vertical}
.cv-field__input::placeholder{color:var(--text-muted)}
.cv-field__input:focus{outline:none;border-color:var(--cv-gold);box-shadow:var(--focus-ring)}
.cv-field__hint{font-size:15px;color:var(--text-muted)}
.cv-field.is-error .cv-field__input{border-color:var(--cv-danger)}
.cv-field.is-error .cv-field__hint{color:var(--text-error)}
/* Shape variants. DEFAULT = C (soft-plaques): 5px buttons/menu, chamfer only on plaques. Opt out on <html> or a wrapper: data-cv-shape="chamfer" (A) | "soft" (B). */
[data-cv-shape="soft"] .cv-btn--primary::before,:is([data-cv-shape="soft-plaques"],:root:not([data-cv-shape])) .cv-btn--primary::before{clip-path:none;border-radius:5px}
[data-cv-shape="soft"] .cv-btn--secondary::before,:is([data-cv-shape="soft-plaques"],:root:not([data-cv-shape])) .cv-btn--secondary::before{clip-path:none;border-radius:5px;background:transparent;box-shadow:inset 0 0 0 1px var(--cv-gold)}
[data-cv-shape="soft"] .cv-btn--secondary:hover::before,:is([data-cv-shape="soft-plaques"],:root:not([data-cv-shape])) .cv-btn--secondary:hover::before{background:transparent;box-shadow:inset 0 0 0 1px var(--cv-gold-light)}
[data-cv-shape="soft"] .cv-nav__item.is-active::before,:is([data-cv-shape="soft-plaques"],:root:not([data-cv-shape])) .cv-nav__item.is-active::before{display:none}
[data-cv-shape="soft"] .cv-badge::before{clip-path:none;background:transparent;box-shadow:inset 0 0 0 1px var(--cv-gold);border-radius:4px}
:is([data-cv-shape="soft-plaques"],:root:not([data-cv-shape])) .cv-pbadge{border-radius:0;padding:0 18px;box-shadow:none;background:none;position:relative;isolation:isolate}
:is([data-cv-shape="soft-plaques"],:root:not([data-cv-shape])) .cv-pbadge::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--surface-card-strong)}
:is([data-cv-shape="soft-plaques"],:root:not([data-cv-shape])) .cv-pbadge::after{content:"";position:absolute;inset:0;z-index:-1;background:currentColor;clip-path:polygon(evenodd,8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%,8px 0,9px 1px,1.4px 50%,9px calc(100% - 1px),calc(100% - 9px) calc(100% - 1px),calc(100% - 1.4px) 50%,calc(100% - 9px) 1px,9px 1px)}
:is([data-cv-shape="soft-plaques"],:root:not([data-cv-shape])) .cv-pbadge::before{clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%)}
/* Brand image utilities — use these classes instead of var(--img-*) in your own CSS files (url() inside custom properties resolves relative to the stylesheet that USES it). */
.cv-img-monk{background-image:url(../images/monk.webp)}
.cv-img-packshot{background-image:url(../images/packshot-front.webp)}
.cv-img-packshot-trio{background-image:url(../images/packshot-trio.webp)}
.cv-img-manuscript{background-image:url(../images/manuscript.webp)}
.cv-img-bg-desktop{background-image:url(../images/bg-desktop.webp)}
.cv-img-bg-mobile{background-image:url(../images/bg-mobile.webp)}
.cv-img-text-panel{background-image:url(../images/text-panel.webp)}
.cv-img-med-klaszt{background-image:url(../images/med-klaszt.webp)}

/* Keyboard focus — one rule for every interactive component (WCAG 2.4.7). */
.cv-btn:focus-visible,.cv-icon-btn:focus-visible,.cv-nav__item:focus-visible,.cv-crumbs a:focus-visible,.cv-cats__item:focus-visible,.cv-tabs__tab:focus-visible,.cv-tabs__acc-q:focus-visible,.cv-faq__q:focus-visible,.cv-cartcount:focus-visible,.cv-pcard__media:focus-visible,.cv-pcard__name a:focus-visible,.cv-catlabel:focus-visible,.cv-music:focus-visible,.cv-btn--text:focus-visible{outline:2px solid var(--cv-green-mist);outline-offset:3px;border-radius:var(--radius-sm)}
.cv-tabs__tab:focus-visible{outline-offset:-4px}
.cv-field__input:focus-visible{outline:2px solid var(--cv-green-mist);outline-offset:2px;box-shadow:none}
/* Legal-review flag: wraps copy awaiting a compliance decision. */
.cv-legal-flag{position:relative;display:block;margin:0 0 1em;padding:14px 16px 14px 18px;border-left:2px solid var(--text-legal-flag);background:rgba(217,161,90,.08);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.cv-legal-flag__tag{display:inline-flex;align-items:center;gap:6px;margin-bottom:8px;font-size:15px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-legal-flag)}
