/* ---------- Fonts (self-hosted, latin + latin-ext) ---------- */
/* Bricolage Grotesque (owner 2026-10-11, option E of the font comparison; SIL OFL 1.1, assets/fonts/bricolage-OFL.txt):
   one variable font per subset, wght 200-800 and opsz 12-96, for headings and text alike. latin-ext carries the
   Lithuanian letters. */
@font-face { font-family: "Bricolage Grotesque"; font-style: normal; font-weight: 200 800; font-stretch: 75% 100%; font-display: swap; src: url("../fonts/bricolage-latin-wght.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: "Bricolage Grotesque"; font-style: normal; font-weight: 200 800; font-stretch: 75% 100%; font-display: swap; src: url("../fonts/bricolage-latin-ext-wght.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* Manrope as one variable font (weights 200-800) per subset; latin-ext carries the Lithuanian letters. */
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 200 800; font-display: swap; src: url("../fonts/manrope-latin-wght-normal.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: "Manrope"; font-style: normal; font-weight: 200 800; font-display: swap; src: url("../fonts/manrope-latin-ext-wght-normal.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* Pleasure Serif: Playfair Display (SIL OFL 1.1, assets/fonts/pleasure-serif-OFL.txt) cut to one file for headings:
   the wght axis limited to 400-600 (fonttools varLib.instancer), Basic Latin, Latin-1, the Lithuanian and Polish
   letters, quotes and the euro sign (pyftsubset, woff2), renamed because the licence reserves the original name. */
@font-face { font-family: "Pleasure Serif"; font-style: normal; font-weight: 400 600; font-display: swap; src: url("../fonts/pleasure-serif-lt-wght.woff2") format("woff2"); }
/* Georgia scaled to the serif's width and line box, so the swap barely moves a heading. */
@font-face { font-family: "Pleasure Serif Fallback"; src: local("Georgia"); size-adjust: 102%; ascent-override: 106%; descent-override: 24.6%; line-gap-override: 0%; }
/* Badge numerals (owner 2026-10-11): Fraunces 600 (SIL OFL 1.1, assets/fonts/fraunces-OFL.txt), one static instance
   (opsz 72, SOFT 100, WONK 0) cut to Latin, the Lithuanian letters, the euro, the minus and the quotes, 12 KB. Only the
   discount circles, the promo tile numbers and the sale badges use it. */
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/fraunces-badge-600.woff2") format("woff2"); }

/* ---------- Design tokens (design C + prabanga, DESIGN.md) ---------- */
/* Ivory base, deep plum for the editorial bands and the footer, berry as the only action colour, champagne for
   hairlines and badges. Contrast on ivory: ink 15.8:1, muted 6:1, berry 5.4:1 (white on berry 5.8:1), control
   borders 3.7:1; ivory on plum 14.8:1, muted ivory on plum 8.9:1. */
:root {
  --c-page: #FAF6F0;
  --c-surface: #FFFFFF;
  --c-soft: #F3ECE2;
  --c-soft-2: #EBE1D4;
  --c-ph: #F6F0E8;
  --c-pane: #F4F2EF;
  --c-line: #E5DACB;
  --c-line-strong: #8A7E78;
  --c-ink: #221A1F;
  --c-ink-2: #4B4044;
  --c-muted: #675B5F;
  --c-berry: #C4145A;
  --c-berry-dark: #A10E49;
  --c-berry-tint: #FCE9F0;
  --c-plum: #2B1422;
  --c-plum-2: #3A1D2E;
  --c-plum-line: rgba(216, 189, 140, 0.26);
  --c-on-plum: #F5EDE4;
  --c-on-plum-muted: #C9B6BD;
  --c-champagne: #C7A877;
  --c-champagne-tint: #F1E6D2;
  --c-champagne-ink: #6B5230;
  --c-champagne-on-plum: #D8BD8C;
  --c-star: #E8912A;
  --c-bar: #2B1422;
  --c-star-empty: #D9D3D1;
  --c-placeholder-text: #71666A;
  --c-wordmark: #62575B;
  --c-count: #6A5E62;
  /* The token keeps its name ("serif" = the display role): it is Bricolage Grotesque since 2026-10-11. */
  --f-serif: "Bricolage Grotesque", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-display: var(--f-serif);
  --f-body: "Bricolage Grotesque", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-badge: "Fraunces", "Pleasure Serif", Georgia, serif;
  /* Type roles (DESIGN.md): the serif for display and headings, Manrope for everything else. */
  --fs-display: clamp(40px, 3.4vw + 18px, 72px);
  --fs-h1: clamp(32px, 1.5vw + 24px, 48px);
  --fs-h2: clamp(28px, 1.1vw + 22px, 40px);
  --fs-h3: clamp(22px, 0.4vw + 19px, 25px);
  --fs-title: 20px;
  /* Radii: 3 badges, 4 controls and images, 6 cards and tiles, 8 large panels. No pills. */
  --r-xs: 3px;
  --r-sm: 4px;
  --r-md: 4px;
  --r-lg: 4px;
  --ring: 0 0 0 3px rgba(196, 20, 90, 0.18);
  /* Five stars for the rating masks (cards, product page, reviews). */
  --stars-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 16'%3E%3Cpath d='M8 .8l2.2 4.6 5 .7-3.6 3.5.9 5L8 12.2l-4.5 2.4.9-5L.8 6.1l5-.7zM24 .8l2.2 4.6 5 .7-3.6 3.5.9 5L24 12.2l-4.5 2.4.9-5-3.6-3.5 5-.7zM40 .8l2.2 4.6 5 .7-3.6 3.5.9 5L40 12.2l-4.5 2.4.9-5-3.6-3.5 5-.7zM56 .8l2.2 4.6 5 .7-3.6 3.5.9 5L56 12.2l-4.5 2.4.9-5-3.6-3.5 5-.7zM72 .8l2.2 4.6 5 .7-3.6 3.5.9 5L72 12.2l-4.5 2.4.9-5-3.6-3.5 5-.7z'/%3E%3C/svg%3E");
  --shadow-pop: 0 18px 40px -12px rgba(28, 26, 27, 0.28);
  /* The gift finder floating on the hero image. */
  --shadow-lift: 0 32px 64px -32px rgba(43, 20, 34, 0.55), 0 2px 6px rgba(43, 20, 34, 0.08);
  /* Film grain for the art placeholders: SVG turbulence, no image request. */
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --container: 1280px;
  --gutter: 16px;
}
@media (min-width: 768px) { :root { --gutter: 32px; } }

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html { font-synthesis-weight: none; }
body { margin: 0; background: var(--c-page); color: var(--c-ink); font-family: var(--f-body); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; font-feature-settings: "tnum" 0; }
/* WooCommerce reads these custom properties (forms, select2, buttons); set on body so they win over its :root values. */
body { --woocommerce: var(--c-berry); --wc-primary: var(--c-berry); --wc-primary-text: #fff; --wc-secondary: var(--c-soft); --wc-secondary-text: var(--c-ink); --wc-highlight: var(--c-berry); --wc-highligh-text: #fff; --wc-content-bg: var(--c-surface); --wc-subtext: var(--c-muted); --wc-form-border-color: var(--c-line-strong); --wc-form-border-radius: 4px; --wc-form-border-width: 1px; --wc-form-color-background: var(--c-surface); --wc-form-color-text: var(--c-ink); }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--c-berry); }
a:hover { color: var(--c-berry-dark); }
:focus-visible { outline: 3px solid var(--c-berry); outline-offset: 2px; }
main:focus { outline: none; }
/* Headings: h1 and h2 in the serif at 500 (the editorial voice), h3 and smaller in Manrope (the interface voice).
   UI headings that are labels (filter titles, the product title) set Manrope themselves. */
h1, h2, h3 { margin: 0; text-wrap: balance; }
h1, h2 { font-family: var(--f-serif); font-weight: 700; letter-spacing: -0.01em; line-height: 1.12; }
h3 { font-family: var(--f-body); font-weight: 700; letter-spacing: -0.01em; line-height: 1.25; }
/* Headings that are spaced-capital labels stay in Manrope (pleasure-promo's "Pirkite kartu" box among them). */
.promo-box__title { font-family: var(--f-body); }
.container { max-width: calc(var(--container) + 2 * var(--gutter)); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }
/* viewport-fit=cover (header.php): a phone held sideways keeps the content clear of the notch and the rounded corners. */
.container { padding-left: max(var(--gutter), env(safe-area-inset-left, 0px)); padding-right: max(var(--gutter), env(safe-area-inset-right, 0px)); }
/* Phones: an anchor, a focused field or a checkout error scrolled into view lands below the 113 px sticky header. */
@media (max-width: 959px) { html { scroll-padding-top: 124px; } }
/* main.page, not .page: WordPress also puts a "page" class on <body>. */
main.page { padding-top: 32px; padding-bottom: 64px; }
.nowrap { white-space: nowrap; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link:focus, .skip-link:focus-visible { position: fixed !important; top: 8px; left: 8px; width: auto; height: auto; clip: auto; overflow: visible; white-space: normal; z-index: 1000; background: var(--c-surface); color: var(--c-ink); padding: 12px 16px; border-radius: var(--r-sm); box-shadow: var(--shadow-pop); }
.icon { flex: none; }
/* Line icons are drawn at 1.6 (inc/icons.php); the small ones read better a touch heavier. */
.icon--plus, .icon--minus, .icon--close, .icon--arrow { stroke-width: 2; }
/* Bold category pictograms (inc/home-art.php). */
.pictogram, .home-art { display: block; width: 22px; height: 22px; color: var(--c-ink); }

/* ---------- Buttons, links, labels ---------- */
/* Square buttons with spaced uppercase labels. Primary berry, dark ink, secondary outlined. */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 26px; border-radius: var(--r-sm); border: 1px solid transparent; font: inherit; font-weight: 700; font-size: 13px; line-height: 1.2; letter-spacing: 0.16em; text-transform: uppercase; text-align: center; text-decoration: none; cursor: pointer; transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease; }
.btn--primary { background: var(--c-berry); color: #fff; }
.btn--primary:hover { background: var(--c-berry-dark); color: #fff; }
.btn--dark { background: var(--c-ink); color: #fff; }
.btn--dark:hover { background: var(--c-berry); color: #fff; }
.btn--soft { background: var(--c-surface); color: var(--c-ink); border-color: var(--c-ink); }
.btn--soft:hover { background: var(--c-ink); color: #fff; }
/* On plum: an ivory button (berry on plum is under 3:1) and an ivory outline. */
.btn--light { background: var(--c-on-plum); color: var(--c-plum); }
.btn--light:hover { background: #fff; color: var(--c-plum); }
.btn--ghost { background: transparent; color: var(--c-on-plum); border-color: rgba(245, 237, 228, 0.6); }
.btn--ghost:hover { background: var(--c-on-plum); color: var(--c-plum); border-color: var(--c-on-plum); }
.btn[aria-disabled="true"] { opacity: 0.6; cursor: progress; }
.text-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--c-berry); font-weight: 700; font-size: 14px; text-decoration: none; }
.text-link .icon { width: 18px; height: 18px; transition: transform 0.2s var(--ease-out); }
.text-link:hover { color: var(--c-berry-dark); }
.text-link:hover .icon { transform: translateX(3px); }
.label { font-size: 12px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--c-ink); }
.section-title { font-family: var(--f-serif); font-weight: 700; font-size: var(--fs-h2); line-height: 1.1; letter-spacing: -0.01em; margin: 0 0 24px; }
.section-title--small { font-size: var(--fs-h3); }

/* Chips: square radio and filter choices. */
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { position: relative; }
.chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.chip span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: var(--r-sm); border: 1px solid var(--c-line-strong); background: var(--c-surface); color: var(--c-ink); font-weight: 600; font-size: 14px; cursor: pointer; transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease; }
.chip span:hover { border-color: var(--c-ink); }
.chip input:checked + span { background: var(--c-ink); border-color: var(--c-ink); color: #fff; }
.chip input:focus-visible + span { outline: 3px solid var(--c-berry); outline-offset: 2px; }
.chip-link { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 14px; border-radius: var(--r-sm); border: 1px solid var(--c-line-strong); background: var(--c-surface); color: var(--c-ink); font-weight: 600; text-decoration: none; }
.chip-link:hover { border-color: var(--c-ink); color: var(--c-ink); }
.chip-link[aria-current="page"] { background: var(--c-ink); border-color: var(--c-ink); color: #fff; }
.chip-link[aria-current="page"] .catalog-count { color: #fff; }

/* Badges on cards: square, small, spaced uppercase. */
.badge { display: inline-block; padding: 4px 7px; border-radius: var(--r-xs); font-size: 11px; font-weight: 800; line-height: 1.2; letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; }
.badge--new { background: var(--c-champagne-tint); color: var(--c-champagne-ink); box-shadow: inset 0 0 0 1px rgba(199, 168, 119, 0.55); }
.badge--sale { background: var(--c-berry); color: #fff; letter-spacing: 0.04em; }

/* Stars: a five-star mask filled to --rating (only for real reviews). */
.stars { display: inline-block; flex: none; width: 70px; height: 14px; background: linear-gradient(90deg, var(--c-star) var(--rating, 0%), var(--c-star-empty) 0); -webkit-mask: var(--stars-mask) center / 100% 100% no-repeat; mask: var(--stars-mask) center / 100% 100% no-repeat; }

/* Form controls: 1px strong border, square, a berry ring on focus. */
input[type="text"], input[type="email"], input[type="search"], input[type="tel"], input[type="password"], input[type="number"], select, textarea { border-radius: var(--r-sm); }

/* ---------- Top bar ---------- */
/* A ticker: the track holds two identical copies and moves by half its width, so the loop is seamless. Pauses on
   hover and focus; stands still and centered with reduced motion. */
.top-bar { background: var(--c-bar); color: var(--c-on-plum); font-size: 13px; font-weight: 600; line-height: 1.3; letter-spacing: 0.01em; padding: 8px 0; overflow: hidden; }
.top-bar__track { display: flex; width: max-content; animation: top-bar-run 60s linear infinite; }
.top-bar__slide { display: flex; margin: 0; white-space: nowrap; }
.top-bar__slide span { display: inline-flex; align-items: center; }
.top-bar__slide span::after { content: ""; width: 4px; height: 4px; margin: 0 24px; border-radius: 50%; background: var(--c-champagne-on-plum); opacity: 0.8; }
@keyframes top-bar-run { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (min-width: 768px) { .top-bar { font-size: 13px; } }
@media (prefers-reduced-motion: reduce) {
  .top-bar__track { animation: none; width: auto; justify-content: center; }
  .top-bar__slide[aria-hidden="true"], .top-bar__slide span[aria-hidden="true"] { display: none; }
  .top-bar__slide { flex-wrap: wrap; justify-content: center; white-space: normal; padding-inline: var(--gutter); }
  .top-bar__slide span:last-of-type::after { content: none; }
}

/* ---------- Header ---------- */
/* Phones: menu, logo and icons in one row, the search field under it. From 960 px: search left, logo centred,
   labelled icons right, then one navigation line. */
.site-header { position: sticky; top: 0; z-index: 50; background: var(--c-page); border-bottom: 1px solid var(--c-line); }
.site-header__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); grid-template-areas: "menu logo acts" "search search search"; align-items: center; gap: 6px 8px; padding-top: 6px; padding-bottom: 10px; }
.mobile-nav { grid-area: menu; justify-self: start; position: static; }
.site-header__logo { grid-area: logo; justify-self: center; display: block; border-radius: var(--r-sm); }
.site-header__logo img { width: 128px; height: auto; }
.site-header__actions { grid-area: acts; justify-self: end; display: flex; align-items: center; gap: 2px; }
.icon-btn { position: relative; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-width: 44px; height: 44px; padding: 0 4px; border-radius: var(--r-sm); background: transparent; color: var(--c-ink); font-size: 12px; font-weight: 700; line-height: 1; text-decoration: none; cursor: pointer; list-style: none; transition: background-color 0.15s ease; }
.icon-btn::-webkit-details-marker { display: none; }
.icon-btn:hover { background: var(--c-soft); color: var(--c-ink); }
.icon-btn .icon { width: 22px; height: 22px; }
.icon-btn__label { display: none; }
/* The menu button shows a close icon while the menu is open (aria-expanded, set by site.js; [open] without it). */
.icon-btn--menu .icon--close, .icon-btn--menu[aria-expanded="true"] .icon--menu, .mobile-nav[open] > .icon-btn--menu .icon--menu { display: none; }
.icon-btn--menu[aria-expanded="true"] .icon--close, .mobile-nav[open] > .icon-btn--menu .icon--close { display: block; }
.icon-btn--wish { display: none; }
.cart-count { position: absolute; top: 1px; right: 1px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 50%; background: var(--c-berry); color: #fff; font-size: 11px; font-weight: 800; line-height: 18px; text-align: center; }
.cart-count:empty { display: none; }
.header-search { grid-area: search; position: relative; display: flex; align-items: center; gap: 8px; min-width: 0; height: 46px; padding: 0 4px 0 12px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); transition: border-color 0.15s ease, box-shadow 0.15s ease; }
.header-search:focus-within { border-color: var(--c-ink); box-shadow: var(--ring); }
.header-search > .icon { width: 20px; height: 20px; color: var(--c-muted); }
.header-search input[type="search"] { flex: 1; min-width: 0; height: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; color: var(--c-ink); font: inherit; font-size: 15px; -webkit-appearance: none; appearance: none; }
/* The field's ring is drawn on the whole bar (focus-within above). */
.header-search input[type="search"]:focus-visible { outline: none; }
.header-search input::placeholder { color: var(--c-placeholder-text); }
/* A 360 px phone cuts "Ieškokite prekių ar prekių ženklų" mid word: the hint ends in an ellipsis instead. */
.header-search input[type="search"] { text-overflow: ellipsis; }
.header-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.header-search__btn { flex: none; height: 36px; padding: 0 14px; border: 0; border-radius: 3px; background: var(--c-ink); color: #fff; font: inherit; font-size: 13px; font-weight: 800; letter-spacing: 0.06em; cursor: pointer; transition: background-color 0.15s ease; }
.header-search__btn:hover { background: var(--c-berry); }
/* The button is a 44 px target (the inner height of the 46 px field) and still draws a 36 px dark box: the box is
   a pseudo element 4 px inside the top and bottom edges, the label sits above it. */
.header-search__btn { position: relative; z-index: 0; height: 44px; background: none; }
.header-search__btn::before { content: ""; position: absolute; inset: 4px 0; z-index: -1; border-radius: 3px; background: var(--c-ink); transition: background-color 0.15s ease; }
.header-search__btn:hover { background: none; }
.header-search__btn:hover::before { background: var(--c-berry); }
/* Phones, scrolling down (site.js): the header keeps the menu, logo and cart row (57 px instead of 113 px); the search
   row comes back with a short slide on a scroll up, near the top and while focus is in the header. */
@media (max-width: 959px) {
  .site-header.is-compact .site-header__inner { padding-bottom: 6px; }
  .site-header.is-compact .header-search { display: none; }
  .site-header.has-folded:not(.is-compact) .header-search { animation: header-search-in 0.18s var(--ease-out); }
}
@keyframes header-search-in { from { opacity: 0; transform: translateY(-6px); } }
@media (prefers-reduced-motion: reduce) { .site-header .header-search { animation: none !important; } }
/* Inline links in running text: vertical padding on an inline box widens the target to 44 px without moving the
   lines (WCAG 2.5.8 is met either way; this is the comfortable size). */
.woocommerce-form-coupon-toggle .showcoupon, .product-notes a, .signup__small a, .breadcrumbs a { padding-block: 13px; }
.woocommerce-form-coupon-toggle .woocommerce-info { overflow: visible; }
.site-nav { display: none; }
@media (min-width: 960px) {
  .site-header { border-bottom: 0; }
  .site-header__inner { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); grid-template-areas: "search logo acts"; gap: 12px 28px; padding-top: 14px; padding-bottom: 14px; }
  .mobile-nav { display: none; }
  .site-header__logo img { width: 168px; }
  .header-search { width: 100%; max-width: 440px; }
  .icon-btn { min-width: 60px; height: 52px; padding: 0 6px; }
  .icon-btn__label { display: block; }
  .icon-btn--wish { display: inline-flex; }
  .cart-count { top: 2px; right: 10px; }
  .site-nav { display: block; position: relative; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); background: var(--c-page); }
  .site-nav__inner { display: flex; justify-content: center; align-items: center; gap: 2px; }
}
.site-nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.site-nav__list a { position: relative; display: inline-flex; align-items: center; min-height: 48px; padding: 0 14px; color: var(--c-ink); font-size: 12.5px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.site-nav__list a:hover { color: var(--c-berry); }
.site-nav__list a[aria-current="page"] { color: var(--c-berry); box-shadow: inset 0 -2px 0 var(--c-berry); }
.site-nav__list a.site-nav__accent, .site-nav__list li.site-nav__accent > a { color: var(--c-berry); }
.site-nav__list a.site-nav__accent:hover, .site-nav__list li.site-nav__accent > a:hover { color: var(--c-berry-dark); }
/* Naujienos: the menu colour, a 5 px Berry dot before the word as the only accent (not the current page mark). */
.site-nav__list li.site-nav__new > a::before { content: ""; flex: none; width: 5px; height: 5px; margin-right: 8px; border-radius: 50%; background: var(--c-berry); }
@media (min-width: 960px) and (max-width: 1179px) {
  .site-nav__list .site-nav__wide { display: none; }
  .site-nav__list a { padding: 0 10px; letter-spacing: 0.08em; }
}

/* ---------- Footer ---------- */
/* Deep plum: newsletter line, the ivory logo and three columns, payment logos on light chips, the legal line. */
.site-footer { margin-top: 88px; background: var(--c-plum); color: var(--c-on-plum); font-size: 14px; }
.site-footer a { color: var(--c-on-plum-muted); text-decoration: none; }
.site-footer a:hover { color: var(--c-on-plum); text-decoration: underline; text-underline-offset: 3px; }
.site-footer__news { border-bottom: 1px solid var(--c-plum-line); }
.site-footer__news-inner { display: grid; gap: 16px 48px; padding-top: 36px; padding-bottom: 36px; }
.site-footer__news-title { margin: 0; font-family: var(--f-serif); font-size: 26px; font-weight: 700; letter-spacing: -0.005em; line-height: 1.15; }
.site-footer__news-text p:not(.site-footer__news-title) { margin: 6px 0 0; color: var(--c-on-plum-muted); }
.site-footer__form .signup__row { display: flex; gap: 8px; }
.site-footer__form .signup__email { flex: 1 1 auto; min-width: 0; min-height: 48px; padding: 0 16px; border: 1px solid var(--c-on-plum); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font: inherit; font-size: 15px; }
.site-footer__form .signup__email:focus-visible { outline: 3px solid var(--c-champagne-on-plum); outline-offset: 2px; box-shadow: none; }
.site-footer__form .btn { flex: none; min-height: 48px; padding: 0 20px; }
.site-footer__form .signup__consent { margin-top: 12px; font-size: 13px; color: var(--c-on-plum-muted); }
.site-footer__form .signup__consent input { accent-color: var(--c-champagne-on-plum); }
.site-footer .signup__small { color: var(--c-on-plum-muted); }
.site-footer .signup__small a { color: var(--c-on-plum); text-decoration: underline; text-underline-offset: 3px; }
.site-footer__form .signup__small { margin: 6px 0 0; }
.site-footer__news .signup__done { padding: 16px; border: 1px solid var(--c-plum-line); border-radius: var(--r-sm); background: var(--c-plum-2); color: var(--c-on-plum); }
.site-footer__news .signup__code { border-color: var(--c-champagne-on-plum); color: var(--c-on-plum); }
.site-footer__news .signup__hint { color: var(--c-on-plum-muted); }
.site-footer__news .btn--soft { background: transparent; color: var(--c-on-plum); border-color: var(--c-on-plum); }
.site-footer__news .btn--soft:hover { background: var(--c-on-plum); color: var(--c-plum); }
@media (min-width: 960px) { .site-footer__news-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 520px); align-items: start; } }
.site-footer__promises { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; margin: 0 auto; padding-top: 28px; padding-bottom: 28px; border-bottom: 1px solid var(--c-plum-line); }
.site-footer__promises li { display: flex; align-items: center; gap: 12px; color: var(--c-on-plum); font-size: 13.5px; line-height: 1.35; }
.site-footer__promises .icon { flex: none; width: 26px; height: 26px; stroke-width: 1.25; color: var(--c-champagne-on-plum); }
@media (min-width: 960px) { .site-footer__promises { grid-template-columns: repeat(4, minmax(0, 1fr)); padding-top: 32px; padding-bottom: 32px; } }
.site-footer__mail { display: inline-flex; align-items: center; gap: 10px; margin-top: 10px; padding: 10px 16px; border: 1px solid var(--c-plum-line); border-radius: var(--r-sm); color: var(--c-on-plum) !important; font-weight: 600; }
.site-footer__mail:hover { border-color: var(--c-champagne-on-plum); text-decoration: none !important; }
.site-footer__mail .icon { width: 18px; height: 18px; color: var(--c-champagne-on-plum); }
.site-footer__mark { overflow: hidden; padding: 8px var(--gutter) 0; line-height: 0; }
.site-footer__mark { max-height: 150px; }
.site-footer__mark img { display: block; width: min(100%, 760px); height: auto; margin: 0 auto; filter: brightness(0) invert(1); opacity: 0.06; }
.site-footer__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; padding-top: 40px; padding-bottom: 32px; }
.site-footer__brand { grid-column: 1 / -1; }
/* The berry wordmark drawn in ivory on plum. */
.site-footer__brand img { width: 140px; height: auto; margin-bottom: 18px; filter: brightness(0) invert(1); opacity: 0.94; }
.site-footer__brand p { max-width: 36ch; margin: 0 0 8px; color: var(--c-on-plum-muted); line-height: 1.6; }
.site-footer__title { margin: 0 0 8px; font-size: 11.5px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--c-champagne-on-plum); }
.site-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
/* P3-11: every footer link is a 44 px tap target. */
.site-footer__col li a { display: inline-flex; align-items: center; min-height: 44px; }
@media (min-width: 768px) { .site-footer__grid { grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 32px; padding-top: 56px; padding-bottom: 40px; } .site-footer__brand { grid-column: auto; } .site-footer__col li a { min-height: 36px; } }
@media (min-width: 768px) and (pointer: coarse) { .site-footer__col li a { min-height: 44px; } }
/* Payment methods (inc/payments.php): the official logos on light chips. */
.site-footer__pay { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding-top: 24px; padding-bottom: 24px; }
/* The rules above the payment and legal rows stop at the gutters, like the content. */
.site-footer__pay, .site-footer__legal { background: linear-gradient(var(--c-plum-line), var(--c-plum-line)) center top / calc(100% - 2 * var(--gutter)) 1px no-repeat; }
.site-footer__pay-title { margin: 0; font-size: 11.5px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--c-champagne-on-plum); }
.pay-badges { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pay-badge { display: inline-flex; align-items: center; justify-content: center; height: 36px; padding: 0 10px; border-radius: var(--r-sm); background: var(--c-page); color: var(--c-ink); font-size: 13px; font-weight: 700; white-space: nowrap; }
.pay-badge--logo { width: 76px; padding: 0 6px; }
.pay-badge--logo img { width: 100%; height: 24px; object-fit: contain; }
.site-footer__legal { display: flex; flex-wrap: wrap; align-items: center; gap: 0 24px; padding-top: 10px; padding-bottom: 24px; font-size: 13px; color: var(--c-on-plum-muted); }
.site-footer__legal p { margin: 0; }
.site-footer__legal a, .site-footer__consent { display: inline-flex; align-items: center; min-height: 44px; color: var(--c-on-plum-muted); }
.site-footer__consent { padding: 0; border: 0; background: none; font: inherit; cursor: pointer; }
.site-footer__consent:hover { color: var(--c-on-plum); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Art slots (inc/art.php) ---------- */
/* Every editorial picture has a named slot with a fixed ratio and focal point. Without its file the slot is a warm
   silk gradient (two soft lights, two satin sheens, a deep corner) with film grain; tones match the art brief. */
.art { position: relative; display: block; overflow: hidden; aspect-ratio: var(--art-ratio, auto); background-color: var(--art-b, var(--c-soft)); isolation: isolate; }
.art picture { display: contents; }
.art__img, .art > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--art-focus, 50% 50%); }
@media (max-width: 767px) {
  .art { aspect-ratio: var(--art-ratio-m, var(--art-ratio, auto)); }
  .art__img { object-position: var(--art-focus-m, var(--art-focus, 50% 50%)); }
}
.art--empty {
  background-image:
    radial-gradient(120% 90% at 20% 10%, var(--art-hi) 0%, transparent 55%),
    linear-gradient(118deg, transparent 14%, var(--art-sheen) 28%, transparent 40%, transparent 56%, var(--art-sheen) 68%, transparent 80%),
    radial-gradient(110% 80% at 90% 100%, var(--art-lo) 0%, transparent 62%),
    linear-gradient(158deg, var(--art-a) 0%, var(--art-b) 52%, var(--art-c) 100%);
}
.art--empty::after { content: ""; position: absolute; inset: 0; background: var(--grain); background-size: 160px 160px; opacity: 0.2; mix-blend-mode: overlay; pointer-events: none; }
.art--tone-night { --art-a: #4C2439; --art-b: #2B1422; --art-c: #170910; --art-hi: rgba(196, 110, 145, 0.34); --art-lo: rgba(8, 2, 6, 0.6); --art-sheen: rgba(255, 214, 230, 0.08); }
/* The hero and coming soon placeholders: the warm light falls from the right, where the picture's subject will sit. */
.hero__art.art--empty, .coming-soon__art.art--empty { background-image: radial-gradient(60% 80% at 76% 38%, rgba(214, 128, 164, 0.42) 0%, rgba(150, 70, 110, 0.18) 38%, transparent 70%), radial-gradient(40% 50% at 88% 78%, rgba(216, 189, 140, 0.18) 0%, transparent 70%), linear-gradient(112deg, transparent 38%, rgba(255, 220, 236, 0.07) 50%, transparent 58%, transparent 66%, rgba(255, 220, 236, 0.06) 76%, transparent 86%), linear-gradient(158deg, var(--art-a) 0%, var(--art-b) 52%, var(--art-c) 100%); }
@media (max-width: 767px) { .hero__art.art--empty { background-image: radial-gradient(90% 60% at 70% 22%, rgba(214, 128, 164, 0.42) 0%, transparent 70%), linear-gradient(158deg, var(--art-a) 0%, var(--art-b) 52%, var(--art-c) 100%); } }
.art--tone-plum { --art-a: #74405F; --art-b: #46223A; --art-c: #22101B; --art-hi: rgba(230, 160, 190, 0.32); --art-lo: rgba(10, 3, 8, 0.5); --art-sheen: rgba(255, 220, 236, 0.1); }
.art--tone-wine { --art-a: #94364F; --art-b: #5E1832; --art-c: #2A0B18; --art-hi: rgba(255, 176, 196, 0.34); --art-lo: rgba(20, 4, 10, 0.5); --art-sheen: rgba(255, 220, 230, 0.1); }
.art--tone-blush { --art-a: #F3DDD6; --art-b: #DDB0AF; --art-c: #A9636F; --art-hi: rgba(255, 255, 255, 0.6); --art-lo: rgba(110, 40, 60, 0.38); --art-sheen: rgba(255, 255, 255, 0.24); }
.art--tone-rose { --art-a: #EBC6C6; --art-b: #CB8792; --art-c: #874157; --art-hi: rgba(255, 240, 240, 0.5); --art-lo: rgba(90, 25, 45, 0.4); --art-sheen: rgba(255, 255, 255, 0.2); }
.art--tone-champagne { --art-a: #F5EBD9; --art-b: #DDC6A1; --art-c: #A0804F; --art-hi: rgba(255, 255, 255, 0.62); --art-lo: rgba(90, 60, 30, 0.32); --art-sheen: rgba(255, 255, 255, 0.26); }
.art--tone-pearl { --art-a: #FCF8F2; --art-b: #EBE0D3; --art-c: #C2AC9C; --art-hi: rgba(255, 255, 255, 0.7); --art-lo: rgba(110, 80, 70, 0.26); --art-sheen: rgba(255, 255, 255, 0.4); }
.art--tone-kraft { --art-a: #EAD8BD; --art-b: #CBA982; --art-c: #8A6646; --art-hi: rgba(255, 248, 235, 0.55); --art-lo: rgba(70, 40, 20, 0.36); --art-sheen: rgba(255, 245, 230, 0.2); }
.art--tone-amber { --art-a: #EDCFA6; --art-b: #C78E5E; --art-c: #73382B; --art-hi: rgba(255, 236, 205, 0.5); --art-lo: rgba(60, 20, 10, 0.4); --art-sheen: rgba(255, 240, 220, 0.18); }

/* ---------- Home ---------- */
/* Design C + prabanga (front-page.php): eight bands, generous air between them, the serif for every heading. */
.section { padding-top: 56px; }
.section--tight { padding-top: 32px; }
@media (min-width: 768px) { .section { padding-top: 88px; } .section--tight { padding-top: 48px; } main.home { padding-bottom: 8px; } }
.section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px 24px; margin-bottom: 24px; }
.section-head .section-title { margin: 0; }
.section-head__link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14px; font-weight: 700; text-decoration: none; }
@media (min-width: 768px) { .section-head { margin-bottom: 32px; } }
.pill { align-self: flex-start; margin: 0; font-size: 12px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--c-muted); }
.text-link--light { color: var(--c-on-plum); }
.text-link--light:hover { color: #fff; }
/* On plum the focus ring is champagne (berry is under 3:1 there). */
.hero__copy :focus-visible, .gifts :focus-visible, .site-footer :focus-visible, .coming-soon-page .coming-soon > :not(.quiz) :focus-visible { outline-color: var(--c-champagne-on-plum); }

/* First screen: the hero art (full bleed, plum under it), the headline on its dark side, the finder card on top. */
.hero { position: relative; isolation: isolate; overflow: hidden; background: var(--c-plum); color: var(--c-on-plum); }
.hero__art { position: absolute; top: 0; left: 0; right: 0; z-index: -1; }
.hero__art::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(23, 9, 16, 0.72) 0%, rgba(23, 9, 16, 0.5) 34%, rgba(23, 9, 16, 0.12) 58%, var(--c-plum) 100%); }
.hero__inner { position: relative; display: grid; gap: 20px; padding-top: 28px; padding-bottom: 28px; }
.hero__copy { min-width: 0; }
.hero__title { font-size: var(--fs-display); line-height: 1.02; letter-spacing: -0.015em; color: var(--c-on-plum); }
.hero__text { margin: 12px 0 0; max-width: 42ch; font-size: 16px; line-height: 1.55; color: rgba(245, 237, 228, 0.88); }
.hero__links { display: none; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin: 32px 0 0; }
.finder { display: grid; gap: 14px; align-content: start; min-width: 0; padding: 18px 18px 20px; border-radius: var(--r-sm); background: var(--c-page); color: var(--c-ink); box-shadow: var(--shadow-lift); }
.finder__title { margin: 0; padding-bottom: 12px; border-bottom: 1px solid var(--c-line); font-family: var(--f-serif); font-size: 22px; font-weight: 700; line-height: 1.2; letter-spacing: -0.005em; }
.finder__group { border: 0; margin: 0; padding: 0; min-width: 0; }
.finder__group legend { padding: 0; margin-bottom: 8px; font-size: 11.5px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--c-ink-2); }
.finder .chips { display: grid; grid-template-columns: repeat(auto-fit, minmax(64px, 1fr)); gap: 8px; }
.finder .chip span { justify-content: center; width: 100%; padding: 0 8px; }
.finder__actions { display: grid; margin-top: 4px; }
.finder__actions .btn { width: 100%; min-height: 50px; }
@media (min-width: 768px) {
  .hero__art { bottom: 0; }
  .hero__art::before { background: linear-gradient(180deg, rgba(23, 9, 16, 0.42) 0%, rgba(23, 9, 16, 0.1) 40%, rgba(23, 9, 16, 0.5) 100%); }
  .hero__inner { padding-top: 56px; padding-bottom: 56px; gap: 32px; }
  .hero__text { font-size: 17px; }
  .hero__links { display: flex; }
  .finder { max-width: 520px; padding: 26px 28px 28px; gap: 18px; }
  .finder__title { font-size: 26px; }
}
@media (min-width: 960px) {
  .hero__art::before { background: linear-gradient(90deg, rgba(23, 9, 16, 0.74) 0%, rgba(23, 9, 16, 0.42) 40%, rgba(23, 9, 16, 0.06) 70%), linear-gradient(0deg, rgba(23, 9, 16, 0.35) 0%, rgba(23, 9, 16, 0) 30%); }
  .hero__inner { grid-template-columns: minmax(0, 1fr) 400px; align-items: center; gap: 64px; min-height: clamp(560px, 44vw, 680px); padding-top: 64px; padding-bottom: 64px; }
  .hero__title { max-width: 12ch; }
  .finder { max-width: none; }
}
.hero__products { display: none; }
@media (min-width: 1200px) {
  .hero__inner { grid-template-columns: minmax(0, 1fr) minmax(300px, 460px) 380px; gap: 40px; }
  .hero__products { display: block; align-self: center; }
  .hero__products img { display: block; width: 100%; height: auto; }
}

/* USP strip: four facts on the ivory floor, champagne line icons, hairline rules, no box. */
/* The hairline sits on the list, so it ends at the content edges like the hero above it (not in the gutter). */
.trust__list { list-style: none; margin: 0; padding: 0; display: grid; border-bottom: 1px solid var(--c-line); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.trust__item { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 16px 8px 16px 0; color: var(--c-ink); font-size: 13px; line-height: 1.35; }
.trust__item:nth-child(even) { padding-left: 14px; box-shadow: inset 1px 0 0 var(--c-line); }
.trust__item:nth-child(n+3) { border-top: 1px solid var(--c-line); }
.trust__icon { flex: none; display: inline-flex; color: var(--c-champagne-ink); }
.trust__icon .icon { width: 26px; height: 26px; stroke-width: 1.25; }
.trust__text { min-width: 0; }
.trust__text strong { display: block; font-size: 14px; font-weight: 700; }
.trust__text span { display: block; color: var(--c-muted); font-size: 13px; }
.trust__list > li:last-child:nth-child(odd) { grid-column: 1 / -1; box-shadow: none; padding-left: 0; }
@media (min-width: 960px) {
  .trust__list { grid-template-columns: repeat(var(--trust-n, 4), minmax(0, 1fr)); }
  .trust__item, .trust__item:nth-child(even), .trust__item:nth-child(n+3), .trust__list > li:last-child:nth-child(odd) { justify-content: center; gap: 12px; padding: 22px 12px; border-top: 0; box-shadow: none; }
  .trust__item + .trust__item, .trust__list > li + li:last-child:nth-child(odd) { box-shadow: inset 1px 0 0 var(--c-line); }
  .trust__list > li:last-child:nth-child(odd) { grid-column: auto; }
  .trust__icon .icon { width: 30px; height: 30px; }
}

/* "Ko ieškote?": large 4:5 picture cards, the name in the serif over a soft shade (a swipe row on phones). A short
   last row is centred, never a hole. */
.cat-tiles { list-style: none; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter) 4px; display: grid; grid-auto-flow: column; grid-auto-columns: 46%; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; overscroll-behavior-x: contain; }
.cat-tiles::-webkit-scrollbar { display: none; }
.cat-tiles > li { scroll-snap-align: start; min-width: 0; }
@media (min-width: 600px) {
  .cat-tiles { margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; overflow: visible; }
  .cat-tiles > li { flex: 0 0 calc((100% - 3 * 16px) / 4); }
}
@media (min-width: 1100px) { .cat-tiles { gap: 24px 20px; } .cat-tiles > li { flex-basis: calc((100% - 3 * 20px) / 4); } }
.cat-tile { position: relative; display: block; overflow: hidden; border-radius: var(--r-sm); color: var(--c-on-plum); text-decoration: none; }
.cat-tile:hover { color: var(--c-on-plum); }
.cat-tile:focus-visible { outline-offset: 3px; }
.cat-tile__art { transition: transform 0.9s var(--ease-out); }
.cat-tile::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(23, 9, 16, 0) 40%, rgba(23, 9, 16, 0.46) 72%, rgba(23, 9, 16, 0.72) 100%); }
.cat-tile:hover .cat-tile__art { transform: scale(1.035); }
.cat-tile__label { position: absolute; left: 14px; right: 14px; bottom: 14px; z-index: 1; display: grid; gap: 4px; }
.cat-tile__name { font-family: var(--f-serif); font-size: 20px; font-weight: 700; line-height: 1.1; overflow-wrap: break-word; }
.cat-tile__name::after { content: ""; display: block; width: 44px; height: 1px; margin-top: 10px; background: var(--c-champagne-on-plum); transform: scaleX(0.5); transform-origin: left center; transition: transform 0.5s var(--ease-out); }
.cat-tile:hover .cat-tile__name::after { transform: none; }
.cat-tile__count { font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(245, 237, 228, 0.86); }
@media (min-width: 768px) { .cat-tile__label { left: 22px; right: 22px; bottom: 20px; } .cat-tile__name { font-size: 26px; } .cat-tile__count { font-size: 11.5px; } }
.cat-tile--product { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid var(--c-line, rgba(23, 9, 16, 0.1)); color: var(--c-plum); }
.cat-tile--product:hover { color: var(--c-plum); }
.cat-tile--product::after { content: none; }
.cat-tile__photo { display: block; aspect-ratio: 1 / 1; padding: 10%; background: #fff; overflow: hidden; }
.cat-tile__photo img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform 0.9s var(--ease-out); }
.cat-tile--product:hover .cat-tile__photo img { transform: scale(1.05); }
.cat-tile__photo--studio { padding: 0; }
.cat-tile__photo--studio .art, .cat-tile__photo--studio .art__img { height: 100%; }
.cat-tile--product:hover .cat-tile__photo--studio .art__img { transform: scale(1.04); }
.cat-tile--product .cat-tile__label { position: static; padding: 12px 14px 16px; border-top: 1px solid var(--c-line, rgba(23, 9, 16, 0.08)); }
.cat-tile--product .cat-tile__name::after { background: var(--c-champagne, #b8946a); }
.cat-tile--product .cat-tile__count { color: var(--c-muted, rgba(23, 9, 16, 0.6)); }
@media (min-width: 768px) { .cat-tile--product .cat-tile__label { padding: 16px 20px 20px; } }

/* Brand row (the same band as the cards): one refined wordmark style, spaced capitals between two hairlines. */
.brands { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.brands > li { flex: 1 1 50%; min-width: 0; }
@media (min-width: 600px) { .brands > li { flex-basis: 25%; } }
@media (min-width: 1100px) { .brands > li { flex-basis: 12.5%; } }
.brand-chip { display: grid; place-items: center; height: 88px; padding: 0 16px; color: var(--c-wordmark); text-decoration: none; white-space: nowrap; overflow: hidden; transition: color 0.2s ease; }
.brand-chip:hover { color: var(--c-ink); }
/* One ink colour and one optical size for every logo (sizes from pleasure_brand_logo_size()), quiet until hover. */
.brand-logo { display: block; max-width: 100%; height: auto; object-fit: contain; filter: brightness(0); opacity: 0.5; transition: opacity 0.25s ease, transform 0.25s var(--ease-out); }
.brand-chip:hover .brand-logo, .brand-chip:focus-visible .brand-logo { opacity: 0.9; transform: translateY(-1px); }
.wordmark { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; padding-left: 0.28em; font-family: var(--f-body); font-size: 13px; font-weight: 600; line-height: 1; letter-spacing: 0.28em; text-transform: uppercase; }
.brands-row .section-title--small { font-size: 22px; }
@media (min-width: 768px) { .brands-row .section-title--small { font-size: 24px; } }

/* "Perkamiausi" tabs: text tabs with the berry underline; a horizontal row on phones. */
.tabs { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.tabs[hidden] { display: none; }
.tabs__tab { flex: none; min-height: 44px; padding: 0 14px; border: 0; border-radius: 0; background: transparent; color: var(--c-muted); font: inherit; font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; box-shadow: inset 0 -2px 0 transparent; transition: color 0.15s ease, box-shadow 0.15s ease; }
.tabs__tab:hover { color: var(--c-ink); }
.tabs__tab[aria-selected="true"] { color: var(--c-ink); box-shadow: inset 0 -2px 0 var(--c-berry); }
.bestsellers .section-head .tabs { order: 3; flex-basis: 100%; border-bottom: 1px solid var(--c-line); }
@media (min-width: 768px) {
  .bestsellers .section-head .tabs { order: 0; flex-basis: auto; margin-right: auto; margin-left: 24px; border-bottom: 0; }
}
.tabs__panel + .tabs__panel { margin-top: 32px; }
.tabs__heading { margin: 0 0 12px; font-size: 18px; }
.is-tabbed .tabs__heading { display: none; }
.is-tabbed .tabs__panel + .tabs__panel { margin-top: 0; }
.product-row { list-style: none; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter) 8px; display: grid; grid-auto-flow: column; grid-auto-columns: 46%; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 var(--gutter); scrollbar-width: none; overscroll-behavior-x: contain; }
.product-row::-webkit-scrollbar { display: none; }
.product-row > li { display: flex; flex-direction: column; scroll-snap-align: start; }
.product-row > li > .product-card { flex: 1; }
@media (min-width: 600px) { .product-row { grid-auto-columns: 31%; } }
@media (min-width: 960px) { .product-row { margin: 0; padding: 0; grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 20px; overflow: visible; } }

/* ---------- Product card (template-parts/product-card.php, every list) ---------- */
/* No box: the photo on a warm well, badges top left (berry sale, champagne new), the heart top right, brand in
   spaced capitals, the name, stars (only with real reviews), a quiet price and the square add button. Hover: a slow
   zoom, and the first gallery picture fades in when the product has one (site.js). */
.product-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
@media (min-width: 960px) { .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 20px; } }
.product-card { position: relative; display: flex; flex-direction: column; gap: 0; height: 100%; min-width: 0; background: transparent; }
.product-card__media { position: relative; display: block; border-radius: var(--r-sm); overflow: hidden; background: var(--c-ph); }
.product-card__media img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; background: #fff; transition: transform 0.9s var(--ease-out), opacity 0.45s ease; }
.product-card__media .product-card__alt { position: absolute; inset: 0; height: 100%; opacity: 0; }
.product-card:hover .product-card__media.has-alt .product-card__alt { opacity: 1; }
.product-card:hover .product-card__media img { transform: scale(1.025); }
.product-card__badges { position: absolute; top: 10px; left: 10px; z-index: 1; display: grid; gap: 4px; justify-items: start; margin: 0; pointer-events: none; }
.product-card__body { flex: 1; display: flex; flex-direction: column; gap: 5px; padding: 14px 0 0; min-width: 0; }
.product-card__brand { margin: 0; font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--c-muted); line-height: 1.3; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.product-card__name { color: var(--c-ink); font-size: 15px; font-weight: 500; line-height: 1.4; text-decoration: none; }
.product-card__name:hover { color: var(--c-berry); }
/* Real names run to 125 characters: 3 lines at most, the full name in the title and for screen readers. */
.product-card__name-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; overflow-wrap: anywhere; }
/* A linked variant group's card: the option count under the name and "nuo" before the lowest price in stock. */
.product-card__variants { margin: 2px 0 0; color: var(--c-muted); font-size: 13px; font-weight: 500; line-height: 1.45; }
.product-card__variants a { color: inherit; text-decoration: none; }
.product-card__variants a:hover { color: var(--c-berry); }
.price-from__word { color: var(--c-muted); font-size: 13px; font-weight: 500; }
.product-card__rating { display: flex; align-items: center; gap: 6px; margin: 2px 0 0; font-size: 12px; color: var(--c-muted); }
/* Equal heights in a row, the price on one line at the bottom of every card. */
ul.products li.product, .product-grid > li { display: flex; flex-direction: column; }
ul.products li.product > .product-card, .product-grid > li > .product-card { flex: 1; }
.product-card__foot { margin-top: auto; }
.product-card__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; padding: 10px 0 0; }
.product-card__price { display: flex; flex-direction: column-reverse; align-items: flex-start; min-width: 0; font-weight: 600; font-size: 17px; line-height: 1.25; letter-spacing: 0; color: var(--c-ink); font-variant-numeric: tabular-nums lining-nums; }
.product-card__price ins { text-decoration: none; }
.product-card__price--sale ins, .product-card__price--sale > .woocommerce-Price-amount { color: var(--c-berry); }
.product-card__price del { color: var(--c-muted); font-size: 13px; font-weight: 500; opacity: 1; }
.product-card__add { flex: none; width: 44px; height: 44px; border-radius: var(--r-sm); background: var(--c-ink); color: #fff; display: inline-flex; align-items: center; justify-content: center; transition: background-color 0.15s ease; }
.product-card__add:hover { background: var(--c-berry); color: #fff; }
.product-card__add .icon { width: 20px; height: 20px; }
@media (min-width: 960px) { .product-card__price { font-size: 18px; } }

.product-row > li, .product-grid--two > li { display: flex; flex-direction: column; }
.product-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 960px) { .product-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; } }

/* "Dovanų idėjos": the plum editorial band. The gift banner (21:9, 4:3 on phones) with the heading and the seasonal
   card, four ideas on raised plum, the ready-made sets in as many columns as there are sets (a swipe row on phones). */
.gifts { margin-top: 56px; padding: 40px 0 56px; background: var(--c-plum); color: var(--c-on-plum); }
@media (min-width: 768px) { .gifts { margin-top: 88px; padding: 64px 0 88px; } }
.gifts__banner { position: relative; isolation: isolate; display: grid; align-items: end; overflow: hidden; aspect-ratio: 1 / 1; margin: 0 calc(-1 * var(--gutter)); }
.gifts__art { position: absolute; inset: 0; z-index: -1; aspect-ratio: auto; }
.gifts__banner::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(23, 9, 16, 0) 50%, rgba(23, 9, 16, 0.6) 100%); }
.gifts__lead { display: grid; justify-items: start; gap: 14px; max-width: 540px; padding: 24px var(--gutter); }
.gifts__title { margin: 0; color: var(--c-on-plum); font-size: clamp(34px, 2.4vw + 20px, 56px); line-height: 1.04; }
.gifts__text { margin: 0; color: rgba(245, 237, 228, 0.88); font-size: 16px; }
@media (min-width: 768px) {
  .gifts__banner { aspect-ratio: 21 / 9; align-items: center; margin: 0; border-radius: var(--r-sm); }
  .gifts__banner::after { background: linear-gradient(90deg, rgba(23, 9, 16, 0.76) 0%, rgba(23, 9, 16, 0.4) 46%, rgba(23, 9, 16, 0.04) 80%); }
  .gifts__lead { gap: 18px; padding: 40px 56px; }
  .gifts__text { font-size: 17px; }
}
.season { display: grid; gap: 4px; max-width: 420px; padding: 16px 20px 18px; border: 1px solid var(--c-plum-line); border-radius: var(--r-sm); background: var(--c-plum); color: var(--c-on-plum); text-decoration: none; transition: border-color 0.2s ease; }
.season:hover { color: var(--c-on-plum); border-color: var(--c-champagne-on-plum); }
.season__title { font-family: var(--f-serif); font-size: 24px; font-weight: 700; line-height: 1.15; }
.season__text { color: var(--c-on-plum-muted); font-size: 14px; }
.season__cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; color: var(--c-champagne-on-plum); font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
.ideas { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ideas > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (min-width: 768px) { .ideas { margin-top: 32px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } .ideas > li:last-child:nth-child(odd) { grid-column: auto; } }
.idea { display: flex; flex-direction: column; gap: 6px; height: 100%; min-height: 188px; padding: 16px; border: 1px solid var(--c-plum-line); border-radius: var(--r-sm); background: var(--c-plum-2); color: var(--c-on-plum); text-decoration: none; transition: border-color 0.2s ease; }
.idea:hover { color: var(--c-on-plum); border-color: var(--c-champagne-on-plum); }
.idea__photo { display: block; margin: -16px -16px 10px; overflow: hidden; border-radius: calc(var(--r-sm) - 1px) calc(var(--r-sm) - 1px) 0 0; background: #fff; }
.idea__art .art__img { transition: transform 0.6s var(--ease-out); }
.idea:hover .idea__art .art__img { transform: scale(1.04); }
.idea__thumbs { display: flex; margin-bottom: 12px; }
.idea__thumb { width: 48px; height: 48px; border-radius: var(--r-sm); object-fit: contain; border: 2px solid var(--c-plum-2); background: #fff; }
.idea__thumb + .idea__thumb { margin-left: -10px; }
.idea__title { font-family: var(--f-serif); font-size: 20px; font-weight: 700; line-height: 1.15; text-wrap: balance; }
.idea__text { font-size: 13px; line-height: 1.45; color: var(--c-on-plum-muted); }
.idea__cta { margin-top: auto; padding-top: 8px; align-self: flex-start; display: inline-flex; color: var(--c-champagne-on-plum); transition: transform 0.2s var(--ease-out); }
.idea__cta .icon { width: 20px; height: 20px; }
.idea__cta { gap: 6px; align-items: center; font-size: 14px; font-weight: 600; }
.idea:hover .idea__cta { transform: translateX(4px); }
@media (min-width: 768px) { .idea { min-height: 236px; padding: 22px; } .idea__photo { margin: -22px -22px 14px; } .idea__thumb { width: 58px; height: 58px; } .idea__title { font-size: 24px; } .idea__text { font-size: 14px; } }
.ideas__sub { margin: 48px 0 20px; font-family: var(--f-serif); font-size: var(--fs-h3); font-weight: 700; letter-spacing: -0.005em; color: var(--c-on-plum); }
.sets { list-style: none; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter) 4px; display: grid; grid-auto-flow: column; grid-auto-columns: 64%; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; }
.sets::-webkit-scrollbar { display: none; }
.sets > li { scroll-snap-align: start; min-width: 0; }
@media (min-width: 768px) { .sets { margin: 0; padding: 0; grid-auto-flow: row; grid-template-columns: repeat(var(--sets-n, 4), minmax(0, 1fr)); max-width: calc(var(--sets-n, 4) * 440px); gap: 24px 20px; overflow: visible; } }
/* Positioned, so WooCommerce's absolute screen reader price texts stay inside the swipe row on phones. */
.set-card { position: relative; display: flex; flex-direction: column; gap: 6px; height: 100%; color: var(--c-on-plum); text-decoration: none; }
.set-card:hover { color: #fff; }
.set-card__img, .set-card__art { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; border-radius: var(--r-sm); background: var(--c-ph); transition: transform 0.9s var(--ease-out); }
.set-card__title { margin-top: 8px; font-size: 15px; font-weight: 600; line-height: 1.35; }
.set-card__price { font-weight: 600; font-size: 17px; font-variant-numeric: tabular-nums lining-nums; }
.set-card__saving { color: var(--c-champagne-on-plum); font-weight: 700; font-size: 13px; }
.set-card__price ins { text-decoration: none; }
.set-card__price del { margin-right: 6px; font-size: 13px; font-weight: 500; color: var(--c-on-plum-muted); }

/* First-time band (cream): "Pradedantiesiems" and the WELCOME signup as one invitation. */
.band--first { padding-bottom: 56px; background: var(--c-soft); }
@media (min-width: 768px) { .band--first { padding-bottom: 88px; } }
.beginners { display: grid; gap: 28px; }
.beginners__intro { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.beginners__title { font-size: var(--fs-h2); line-height: 1.08; }
.beginners__intro > p { margin: 0; max-width: 46ch; font-size: 16px; color: var(--c-ink-2); }
.beginners .product-card__media { background: var(--c-surface); }
@media (min-width: 960px) { .beginners { grid-template-columns: 5fr 7fr; align-items: center; gap: 56px; } }
@media (min-width: 1180px) { .beginners { grid-template-columns: 4fr 8fr; } .beginners .product-grid--two { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } }

/* WELCOME10 signup: a white invitation card with a champagne hairline. */
.band--first .section:has(.signup) { padding-top: 48px; }
@media (min-width: 768px) { .band--first .section:has(.signup) { padding-top: 64px; } }
.signup { position: relative; display: grid; gap: 20px; padding: 24px 20px; border: 1px solid rgba(199, 168, 119, 0.55); border-radius: var(--r-sm); background: var(--c-surface); }
.signup__title { font-size: clamp(28px, 1.1vw + 22px, 40px); line-height: 1.06; }
.signup__intro p { margin: 10px 0 0; max-width: 46ch; font-size: 16px; color: var(--c-muted); }
.signup__row { display: flex; flex-wrap: wrap; gap: 8px; }
.signup__email { flex: 1 1 200px; min-width: 0; min-height: 50px; padding: 0 16px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font: inherit; font-size: 16px; }
.signup__email:focus-visible { outline: none; border-color: var(--c-ink); box-shadow: var(--ring); }
.signup__email::placeholder { color: var(--c-placeholder-text); }
.signup__email[aria-invalid="true"] { border-color: var(--c-berry); }
.signup__row .btn { flex: 1 0 auto; min-height: 50px; }
.signup__consent { display: flex; align-items: flex-start; gap: 10px; max-width: 64ch; margin-top: 14px; font-size: 13px; line-height: 1.45; color: var(--c-ink-2); cursor: pointer; }
.signup__consent input { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--c-ink); }
.signup__small { max-width: 64ch; margin: 10px 0 0; font-size: 13px; color: var(--c-muted); }
.signup__small a { color: var(--c-ink); }
.signup__status { margin: 10px 0 0; font-weight: 700; font-size: 14px; }
.signup__status:empty { margin: 0; }
.signup__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.signup__done { padding: 20px; border-radius: var(--r-sm); background: var(--c-soft); }
.signup__done:focus { outline: none; }
.signup__done[hidden], .signup__form[hidden] { display: none; }
.signup__done-title { margin: 0; font-weight: 700; }
.signup__code-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 10px; }
.signup__code { margin: 0; padding: 8px 18px; border: 2px dashed var(--c-berry); border-radius: var(--r-sm); font-weight: 800; font-size: 26px; line-height: 1.2; letter-spacing: 0.08em; color: var(--c-berry); }
.signup__code:empty { display: none; }
.signup__hint { margin: 10px 0 0; font-size: 14px; color: var(--c-muted); }
@media (min-width: 960px) { .signup { grid-template-columns: 1fr 1fr; align-items: center; gap: 56px; padding: 48px 56px; } }

/* "Kaip atrodo jūsų siunta": the parcel picture (4:3) and three steps with serif numerals between hairlines. */
.parcel { display: grid; gap: 28px; }
.parcel .section-title { margin-bottom: 20px; }
.parcel__art { border-radius: var(--r-sm); }
.parcel__box { overflow: hidden; aspect-ratio: 1600 / 1195; background: #f2e9df; }
.parcel__box svg { display: block; width: 100%; height: 100%; }
.parcel__steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.parcel__step { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 0 14px; align-items: start; padding: 18px 0; border-top: 1px solid var(--c-line); }
.parcel__step:first-child { border-top: 0; padding-top: 4px; }
.step__num { font-family: var(--f-serif); font-size: 38px; font-weight: 600; line-height: 0.9; color: var(--c-champagne-ink); font-variant-numeric: lining-nums; }
.parcel__step-title { font-size: 17px; font-weight: 700; line-height: 1.3; letter-spacing: 0; }
.parcel__step p { margin: 4px 0 0; color: var(--c-muted); }
@media (min-width: 960px) { .parcel { grid-template-columns: 6fr 5fr; align-items: center; gap: 72px; } .parcel__step { grid-template-columns: 64px minmax(0, 1fr); padding: 22px 0; } .step__num { font-size: 46px; } }

/* Reviews (only with real reviews). */
.reviews__avg { margin: 0; font-weight: 700; }
.reviews { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
@media (min-width: 768px) { .reviews { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
.review { padding: 24px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); }
.review__stars { margin: 0; }
.review__text { margin: 12px 0; font-family: var(--f-serif); font-size: 20px; line-height: 1.4; }
.review__text p { margin: 0; }
.review__meta { margin: 0; font-size: 13px; color: var(--c-muted); }

/* Gidai: 3:2 cover slots (the guide's featured image first), the title in the serif; a swipe row on phones. */
.guides { list-style: none; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter) 4px; display: grid; grid-auto-flow: column; grid-auto-columns: 80%; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; }
.guides::-webkit-scrollbar { display: none; }
.guides > li { scroll-snap-align: start; min-width: 0; }
.guide-card { position: relative; display: flex; flex-direction: column; height: 100%; }
.guide-card__cover { border-radius: var(--r-sm); }
.guide-card__cover .art__img { transition: transform 0.9s var(--ease-out); }
.guide-card:hover .guide-card__cover .art__img { transform: scale(1.03); }
.guide-card__body { flex: 1; display: flex; flex-direction: column; gap: 8px; padding: 18px 0 0; }
.guide-card__title { font-family: var(--f-serif); font-size: var(--fs-h3); font-weight: 700; line-height: 1.18; letter-spacing: -0.005em; }
.guide-card__title a { color: var(--c-ink); text-decoration: none; }
.guide-card__title a::after { content: ""; position: absolute; inset: 0; }
.guide-card:hover .guide-card__title a { color: var(--c-berry); }
.guide-card__excerpt { margin: 0; font-size: 15px; line-height: 1.55; color: var(--c-muted); }
.guide-card__meta { display: inline-flex; align-items: center; gap: 6px; margin: auto 0 0; padding-top: 4px; font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-muted); }
.guide-card__meta .icon { width: 16px; height: 16px; }
@media (min-width: 768px) { .guides { margin: 0; padding: 0; grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; overflow: visible; } }

/* Help band: the questions and the shop description side by side from 960 px, under one hairline. */
.band--help { margin-top: 56px; border-top: 1px solid var(--c-line); }
@media (min-width: 768px) { .band--help { margin-top: 88px; } }
.band__grid { display: grid; }
.band--help .section { padding-top: 48px; }
@media (min-width: 960px) { .band__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 0 80px; align-items: start; } .band--help .section { padding-top: 72px; } }

/* DUK accordion: ruled rows. */
.faq { display: grid; gap: 0; border-top: 1px solid var(--c-line); }
.faq__item { border-bottom: 1px solid var(--c-line); }
.faq__q { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 60px; padding: 14px 4px; border-radius: var(--r-sm); font-weight: 600; font-size: 16px; line-height: 1.4; cursor: pointer; list-style: none; }
.faq__q::-webkit-details-marker { display: none; }
.faq__q:hover { color: var(--c-berry); }
.faq__q .icon { flex: none; width: 20px; height: 20px; color: var(--c-champagne-ink); transition: transform 0.2s var(--ease-out); }
.faq__item[open] .faq__q .icon { transform: rotate(45deg); }
.faq__a { padding: 0 4px 18px; max-width: 70ch; color: var(--c-muted); }
.faq__a p { margin: 0 0 8px; }
.faq__a p:last-child { margin: 0; }

/* Short SEO text. */
/* Measure: 64ch of Manrope is about 75 characters per line (its "0" is wider than the average letter). */
.seo-text { font-size: 14px; color: var(--c-muted); }
.seo-text__title { margin-bottom: 14px; font-size: 24px; line-height: 1.2; color: var(--c-ink); }
.seo-text p { margin: 0 0 10px; max-width: 110ch; }
.seo-text__more summary { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; color: var(--c-berry); cursor: pointer; list-style: none; }
.seo-text__more summary::-webkit-details-marker { display: none; }

@media (prefers-reduced-motion: reduce) {
  .chip span, .tabs__tab, .brand-chip, .cat-tile__art, .cat-tile__name::after, .idea__cta, .faq__q .icon, .product-card__media img, .guide-card__cover .art__img, .set-card__img, .cat-tile__photo img, .text-link .icon, .btn { transition: none; }
  .cat-tile:hover .cat-tile__art, .cat-tile--product:hover .cat-tile__photo img, .cat-tile:hover .cat-tile__name::after, .idea:hover .idea__cta, .idea:hover .idea__art .art__img, .product-card:hover .product-card__media img, .guide-card:hover .guide-card__cover .art__img, .text-link:hover .icon { transform: none; }
}

/* ---------- Age gate ---------- */
.age-gate { position: fixed; inset: 0; z-index: 1000; background: rgba(28, 26, 27, 0.72); display: flex; align-items: center; justify-content: center; padding: var(--gutter); }
.age-gate[hidden] { display: none; }
.age-gate__box { background: var(--c-surface); border-radius: var(--r-sm); padding: 32px; max-width: 460px; width: 100%; display: flex; flex-direction: column; gap: 16px; text-align: center; align-items: center; }
.age-gate__box img { height: 40px; width: auto; }
.age-gate__title { font-size: 28px; }
.age-gate__box p { margin: 0; color: var(--c-muted); }
.age-gate__box .age-gate__note { margin-top: -6px; color: var(--c-ink-2); font-size: 13px; font-weight: 600; }
.age-gate__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
body.age-gate-open { overflow: hidden; }

/* ---------- Cookie banner (plan 7C): a bottom card, not modal, below the age gate ---------- */
.consent { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 900; max-height: calc(100vh - 32px); overflow-y: auto; display: grid; gap: 12px; padding: 20px; background: var(--c-surface); color: var(--c-ink); border: 1px solid var(--c-line); border-radius: var(--r-sm); box-shadow: var(--shadow-pop); animation: consent-in 0.24s var(--ease-out); }
.consent[hidden] { display: none; }
@media (min-width: 640px) { .consent { left: 24px; right: auto; bottom: 24px; width: calc(100vw - 48px); max-width: 560px; padding: 24px; } }
.consent__title { font-size: 22px; }
.consent__title:focus { outline: none; }
.consent__text { margin: 0; font-size: 14px; line-height: 1.5; color: var(--c-muted); }
/* "Sutinku su visais" and "Tik būtini" share one row in two equal cells (an equal choice); "Nustatymai" is a text
   button under them. */
.consent__actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
.consent .btn { min-height: 44px; padding: 0 12px; font-size: 12px; }
.consent__more { grid-column: 1 / -1; justify-self: center; min-height: 32px; padding: 0 8px; border: 0; border-radius: var(--r-sm); background: none; color: var(--c-ink); font: inherit; font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.consent__more:hover { color: var(--c-berry); }
.consent__more[aria-expanded="true"] { text-decoration: none; }
/* Phones: a compact bar on the bottom edge, so most of the screen (the product buy row) stays free. */
@media (max-width: 639px) {
  .consent { left: 0; right: 0; bottom: 0; max-height: 75vh; gap: 8px; padding: 12px 16px calc(8px + env(safe-area-inset-bottom)); border: 0; border-top: 1px solid var(--c-line); border-radius: var(--r-sm) var(--r-sm) 0 0; box-shadow: 0 -18px 40px -12px rgba(28, 26, 27, 0.28); }
  /* dvh: with the Safari toolbars shown, 75vh of the large viewport would push the buttons under the bottom bar. */
  .consent { max-height: 75dvh; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
  .consent__more { min-height: 44px; }
  .consent__title { font-size: 15px; }
  .consent__text { font-size: 13px; line-height: 1.45; }
}
.consent__settings { display: grid; gap: 8px; justify-items: start; }
.consent__settings[hidden] { display: none; }
.consent__options { margin: 0; padding: 0; border: 0; display: grid; gap: 0; }
.consent__option { display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; font-weight: 500; }
.consent__option { align-items: flex-start; padding: 8px 0; }
.consent__option input { flex: none; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--c-berry); }
.consent__option span { display: grid; gap: 2px; }
.consent__option b { font-weight: 600; }
.consent__option small { color: var(--c-muted); font-size: 13px; font-weight: 400; line-height: 1.45; }
.consent__option--fixed { cursor: default; }
.consent__settings .btn { flex: none; }
/* Coming soon page: the quiz card sits in the middle of the screen, so from 640 px the banner is a bar on the bottom
   edge (text left, the two equal buttons right) and the page keeps its height free (--consent-space, site.js): the
   card is centred in the space above the bar and never under it. */
@media (min-width: 640px) {
  .coming-soon-page .consent { left: 0; right: 0; bottom: 0; width: auto; max-width: none; max-height: 60vh; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); column-gap: 32px; row-gap: 6px; align-items: center; padding: 16px max(24px, calc((100vw - 1216px) / 2)); border: 0; border-top: 1px solid var(--c-line); border-radius: 0; box-shadow: 0 -18px 40px -12px rgba(28, 26, 27, 0.28); }
  .coming-soon-page .consent__title { grid-column: 1; font-size: 16px; }
  .coming-soon-page .consent__text { grid-column: 1; max-width: 75ch; }
  .coming-soon-page .consent__actions { grid-column: 2; grid-row: 1 / span 2; }
  .coming-soon-page .consent__settings { grid-column: 1 / -1; }
}
.coming-soon-page .coming-soon { padding-bottom: calc(40px + var(--consent-space, 0px)); }
@keyframes consent-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .consent { animation: none; } }

/* ---------- Pages ---------- */
.page__title { margin: 0 0 24px; font-size: var(--fs-h1); line-height: 1.1; }
.breadcrumbs { margin-bottom: 14px; color: var(--c-muted); font-size: 13px; line-height: 1.5; }
.breadcrumbs a { color: var(--c-muted); text-decoration: none; }
.breadcrumbs a:hover { color: var(--c-ink); text-decoration: underline; text-underline-offset: 3px; }
/* Reading text of pages, guides and legal pages: 16 px, a 68 character measure, berry links. */
/* Not on the WooCommerce pages (cart, checkout, account), whose links are interface. */
body:not(.woocommerce-page) .entry__content a:not(.btn):not(.button) { color: var(--c-berry); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body:not(.woocommerce-page) .entry__content a:not(.btn):not(.button):hover { color: var(--c-berry-dark); }
/* A heading that links to its category (the gift guides' h3) keeps the heading colour, so linked and plain headings
   read as one list; the berry underline still marks the link. */
body:not(.woocommerce-page) .entry__content :is(h2, h3, h4) a:not(.btn):not(.button) { color: inherit; text-decoration-color: var(--c-berry); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.entry__content blockquote { margin: 24px 0; padding: 4px 0 4px 20px; border-left: 1px solid var(--c-line-strong); color: var(--c-ink-2); }
.entry__content img { border-radius: var(--r-sm); }
/* Guide and legal tables only: the WooCommerce pages print their own tables (the checkout order, the order received)
   inside .entry__content too, where the unbroken first column pushed the amounts out of the box. */
body:not(.woocommerce-page) .entry__content table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.45; }
body:not(.woocommerce-page) .entry__content th, body:not(.woocommerce-page) .entry__content td { padding: 10px 12px 10px 0; border-bottom: 1px solid var(--c-line); text-align: left; vertical-align: top; }
body:not(.woocommerce-page) .entry__content th { border-bottom-color: var(--c-ink); font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
body:not(.woocommerce-page) .entry__content td:first-child { font-weight: 700; white-space: nowrap; }
/* A wide table scrolls inside its region on phones (inc/legal.php wraps it); the page never scrolls sideways. */
.entry__table { margin: 0 0 24px; overflow-x: auto; overscroll-behavior-x: contain; }
.entry__table:focus-visible { outline: 3px solid var(--c-berry); outline-offset: 2px; }
@media (max-width: 639px) { .entry__table table { min-width: 640px; } }
/* A table with a header row (inc/legal.php adds each column name as data-label) stacks on phones: one block per row,
   the first cell as its title, the column names above the other values. Nothing is cut off at the edge. */
@media (max-width: 639px) {
  .entry__table--stack { overflow: visible; }
  .entry__table--stack table { min-width: 0; }
  .entry__table--stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .entry__table--stack tbody, .entry__table--stack tr, .entry__table--stack td { display: block; }
  .entry__table--stack tr { padding: 14px 0; border-bottom: 1px solid var(--c-line); }
  .entry__table--stack tbody tr:first-child { border-top: 1px solid var(--c-ink); }
  body:not(.woocommerce-page) .entry__table--stack td { padding: 0; border: 0; white-space: normal; }
  body:not(.woocommerce-page) .entry__table--stack td:first-child { font-size: 16px; }
  .entry__table--stack td + td { margin-top: 10px; }
  .entry__table--stack td + td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 2px; color: var(--c-muted); font-size: 11px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
}
/* Cookie policy tables (content-import/legal/slapuku-politika.html): the names wrap (two names share a row, joined by a
   plain "ir") only between whole names, as narrow as the longest one; the purpose takes the room. On phones each cookie
   is a card: name and purpose across, "Kas įrašo" and "Galioja" side by side under them. */
body:not(.woocommerce-page) .entry__content .cookie-table td:first-child { width: 1%; font-weight: 500; white-space: normal; }
.cookie-table td:first-child strong { font-weight: 700; }
.cookie-table td:nth-child(2) { color: var(--c-ink-2); }
@media (min-width: 640px) {
  .cookie-table th, .cookie-table td:nth-child(3) { white-space: nowrap; }
}
@media (max-width: 639px) {
  .entry__table--stack .cookie-table tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px 16px; }
  body:not(.woocommerce-page) .entry__content .cookie-table td:first-child { width: auto; }
  .entry__table--stack .cookie-table td:nth-child(-n+2) { grid-column: 1 / -1; }
  .entry__table--stack .cookie-table td + td { margin-top: 0; }
}

/* ---------- Gidai (articles) ---------- */
.entry--article, .entry--legal { max-width: 68ch; margin: 0 auto; line-height: 1.65; }
.entry--article .page__title { margin-bottom: 10px; }
.entry__meta { margin: 0 0 28px; padding-bottom: 20px; border-bottom: 1px solid var(--c-line); color: var(--c-muted); font-size: 13px; }
.entry__author::before { content: "·"; content: "·" / ""; margin: 0 8px; }
.guide-head__meta .entry__author::before { content: none; }
.entry--article .entry__content, .entry--legal .entry__content { font-size: 16px; }
.entry--article .entry__content h2, .entry--legal .entry__content h2 { margin: 48px 0 14px; font-size: clamp(26px, 0.8vw + 20px, 32px); line-height: 1.15; }
.entry--article .entry__content h3, .entry--legal .entry__content h3 { margin: 28px 0 8px; font-size: 18px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.25; }
.entry--article .entry__content p, .entry--article .entry__content ul, .entry--article .entry__content ol { margin: 0 0 16px; }
.entry--article .entry__content li, .entry--legal .entry__content li { margin-bottom: 6px; }
.entry--article .entry__content li p { margin: 0; }
.entry__back { margin: 40px 0 0; padding-top: 24px; border-top: 1px solid var(--c-line); }

/* Guide page (single.php, owner 2026-10-08: wide). Header and cover across the container, then the table of contents
   beside a reading column from 1100 px: the contents under the title's left edge, the text at a 64ch measure. */
.guide-page { padding-top: 0; }
.guide-head { display: grid; gap: 24px; padding-top: 28px; padding-bottom: 8px; }
@media (min-width: 1100px) { .guide-head { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; gap: 56px; padding-top: 40px; } }
.guide-head__crumb { margin: 0 0 14px; font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
.guide-head__crumb a { color: var(--c-champagne-ink); text-decoration: none; }
.guide-head__crumb a:hover { color: var(--c-berry); }
.guide-head__title { max-width: 22ch; margin: 0; font-size: clamp(32px, 3.2vw + 16px, 60px); line-height: 1.06; letter-spacing: -0.015em; }
.guide-head__lead { max-width: 62ch; margin: 18px 0 0; font-size: 18px; line-height: 1.55; color: var(--c-ink-2); }
.guide-head__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; margin: 20px 0 0; color: var(--c-muted); font-size: 13px; }
.guide-head__meta span { display: inline-flex; align-items: center; gap: 6px; }
.guide-head__meta .icon { width: 16px; height: 16px; }
.guide-cover { border-radius: var(--r-sm); }
.guide-body { display: grid; gap: 24px; padding-top: 32px; }
.guide-text { min-width: 0; max-width: 64ch; font-size: 17px; line-height: 1.7; }
.guide-text > :first-child { margin-top: 0; }
.guide-text h2 { margin: 52px 0 14px; font-size: clamp(26px, 0.8vw + 20px, 34px); line-height: 1.15; scroll-margin-top: 140px; }
.guide-text h3 { margin: 28px 0 8px; font-size: 19px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.25; }
.guide-text p, .guide-text ul, .guide-text ol { margin: 0 0 16px; }
.guide-text li { margin-bottom: 6px; }
.guide-toc__box { border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); }
.guide-toc__title { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; font-size: 12px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; cursor: pointer; list-style: none; }
.guide-toc__title::-webkit-details-marker { display: none; }
.guide-toc__title .icon { width: 18px; height: 18px; transition: transform 0.2s var(--ease-out); }
.guide-toc__box[open] .guide-toc__title .icon { transform: rotate(180deg); }
.guide-toc__list { margin: 0; padding: 0 18px 16px 36px; font-size: 14px; line-height: 1.4; }
.guide-toc__list li { margin: 0 0 8px; padding-left: 4px; }
.guide-toc__list li::marker { color: var(--c-champagne-ink); font-weight: 700; }
.guide-toc__list a { color: var(--c-ink-2); text-decoration: none; }
.guide-toc__list a:hover, .guide-toc__list a[aria-current="true"] { color: var(--c-berry); }
@media (min-width: 1100px) {
  .guide-body--toc { grid-template-columns: 280px minmax(0, 660px); justify-content: start; gap: 88px; padding-top: 48px; }
  .guide-body .guide-toc { position: sticky; top: 140px; align-self: start; max-height: calc(100vh - 160px); overflow: auto; }
  .guide-body .guide-toc__title { cursor: default; pointer-events: none; }
  .guide-body .guide-toc__title .icon { display: none; }
}
/* End of a guide below 1100 px, where the contents are folded above the text: a way back to them (single.php). */
.guide-end { margin-top: 32px; }
.guide-end .text-link .icon { transform: rotate(-90deg); }
.guide-end .text-link:hover .icon { transform: rotate(-90deg) translateX(3px); }
@media (min-width: 1100px) { .guide-end { display: none; } }
.guide-toc { scroll-margin-top: 140px; }
.guide-more { margin-top: 24px; }
.page__lead { max-width: 62ch; margin: -8px 0 32px; font-size: 17px; color: var(--c-ink-2); }
/* The guides list (/gidai/) is a page to read down, not a shelf: one column on phones instead of the swipe row. */
.guides--list { margin: 0; padding: 0; grid-auto-flow: row; grid-template-columns: minmax(0, 1fr); gap: 20px; overflow: visible; }
@media (min-width: 640px) { .guides--list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 24px; } }
@media (min-width: 1100px) { .guides--list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- Legal pages ---------- */
.entry--legal .entry__content p, .entry--legal .entry__content ul, .entry--legal .entry__content ol { margin: 0 0 14px; }
.seller { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 24px; margin: 0 0 16px; padding: 0; border-top: 1px solid var(--c-line); }
.seller__row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 16px; padding: 8px 0; border-bottom: 1px solid var(--c-line); }
.seller dt { font-weight: 700; }
.seller dd { margin: 0; overflow-wrap: anywhere; }
@media (min-width: 640px) { .seller__row { grid-template-columns: 200px minmax(0, 1fr); } }
.seller--missing { padding: 12px 16px; border: 1px dashed var(--c-berry); border-radius: var(--r-sm); color: var(--c-berry-dark); }
.withdrawal-form { margin: 16px 0 24px; padding: 20px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); overflow-wrap: anywhere; }
.entry--legal .withdrawal-form h3 { margin-top: 0; }
/* The closing "Paskutinį kartą atnaujinta" line (inc/legal.php marks it) reads as page meta, not as one more paragraph. */
.entry--legal .entry__content .entry__updated { margin: 32px 0 0; padding-top: 16px; border-top: 1px solid var(--c-line); color: var(--c-muted); font-size: 13px; }
.withdrawal-form p:last-child { margin-bottom: 0; }
@media (min-width: 768px) { .withdrawal-form { padding: 28px; } }
/* Guides list: cards with a hairline, the title in the title role. */
.article-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
@media (min-width: 640px) { .article-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
@media (min-width: 1200px) { .article-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.article-card { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 20px 24px 24px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); transition: border-color 0.15s ease; }
.article-card:hover { border-color: var(--c-line-strong); }
.article-card__title { font-size: 22px; line-height: 1.2; }
.article-card__title a { color: var(--c-ink); text-decoration: none; }
.article-card__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.article-card__title a:hover { color: var(--c-berry); }
.article-card__title a:focus-visible { outline: none; }
.article-card:has(.article-card__title a:focus-visible) { outline: 3px solid var(--c-berry); outline-offset: 2px; }
.article-card__date { order: -1; margin: 0; color: var(--c-muted); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.article-card__excerpt { color: var(--c-ink-2); font-size: 14px; line-height: 1.55; }
.article-card__excerpt p { margin: 0; }
@media (prefers-reduced-motion: reduce) { .article-card { transition: none; } }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Shop ---------- */
/* woocommerce/archive-product.php: heading and short intro, then the sidebar (categories and filters, 248 px from
   960 px; a bottom sheet on phones) beside the toolbar, the active filter tags, the grid and the pagination. */
.shop__head { margin-bottom: 20px; }
.shop__title { font-size: var(--fs-h1); line-height: 1.08; }
.shop__intro { max-width: 72ch; margin-top: 10px; color: var(--c-ink-2); }
.shop__intro p { margin: 0 0 8px; }
.shop__intro > :last-child { margin-bottom: 0; }
.shop__layout { display: grid; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 960px) {
  .shop__layout { grid-template-columns: 248px minmax(0, 1fr); gap: 40px; align-items: start; }
  .shop__layout--empty { grid-template-columns: minmax(0, 1fr); }
  /* The sidebar lists the same categories as the chips under the heading. */
  .shop:has(.side-cats) .shop__head .cat-chips { display: none; }
}
.shop__side, .shop__results { min-width: 0; }
/* Group titles of the sidebar: spaced caps like the footer column titles. */
.filter-title { display: block; float: left; width: 100%; margin: 0 0 8px; padding: 0; font-family: var(--f-body); font-size: 12px; font-weight: 800; line-height: 1.2; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-ink); }
.side-cats { margin: 0 0 16px; padding-bottom: 12px; border-bottom: 1px solid var(--c-line); }
.side-cats__list { clear: both; list-style: none; margin: 0; padding: 0; }
.side-cats__link { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; color: var(--c-ink); font-size: 14px; text-decoration: none; }
.side-cats__link:hover { color: var(--c-berry); }
.side-cats__link[aria-current="page"] { font-weight: 800; }
.side-cats__name { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 959px) { .side-cats { display: none; } }
/* Desktop: the sidebar's first title sits on the line of the toolbar beside it (the 44 px row with the result count
   and the sort select), centred in a 44 px band like the count. */
@media (min-width: 960px) {
  .shop__side > :first-child > .filter-title:first-child, .shop__side > .shop-filters:first-child .shop-filters__form > fieldset.shop-filters__group:first-of-type > .filter-title { display: flex; align-items: center; min-height: 44px; margin-bottom: 0; }
}

.shop-filters { margin: 0; }
/* Without JavaScript the filters are a disclosure; with it the sidebar is always open and the summary is hidden. */
.shop-filters__toggle { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 16px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font-size: 14px; font-weight: 700; cursor: pointer; list-style: none; }
.shop-filters__toggle::-webkit-details-marker { display: none; }
.shop-filters__toggle .icon { width: 18px; height: 18px; }
.shop-filters[open] > .shop-filters__toggle { margin-bottom: 16px; }
@media (min-width: 960px) { .shop-filters[open] > .shop-filters__toggle { display: none; } }
.shop-filters__form { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; }
.shop-filters__group { min-width: 0; margin: 0; padding: 16px 0; border: 0; border-top: 1px solid var(--c-line); }
.shop-filters__form > fieldset.shop-filters__group:first-of-type { padding-top: 0; border-top: 0; }
.check-list { clear: both; display: grid; }
.check-row { display: flex; align-items: center; gap: 12px; min-height: 44px; color: var(--c-ink); font-size: 14px; line-height: 1.3; cursor: pointer; }
.check-row input { appearance: none; -webkit-appearance: none; flex: none; width: 18px; height: 18px; margin: 0; border: 1px solid var(--c-line-strong); border-radius: 50%; background: var(--c-surface); cursor: pointer; transition: border-color 0.15s ease, background-color 0.15s ease; }
.check-row input[type="checkbox"] { border-radius: var(--r-xs); }
.check-row input[type="checkbox"]:checked { box-shadow: none; background: var(--c-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='white'%3E%3Cpath d='M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E") center / 14px no-repeat; }
.check-row:hover input { border-color: var(--c-ink); }
.check-row input:checked { border-color: var(--c-ink); background: var(--c-ink); box-shadow: inset 0 0 0 3px var(--c-surface); }
.check-row input:focus-visible { outline: 3px solid var(--c-berry); outline-offset: 2px; }
.check-row:has(input:checked) .check-row__name { font-weight: 700; }
.check-row__name { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.check-row__count { flex: none; color: var(--c-count); font-size: 12px; font-variant-numeric: tabular-nums; }
/* Folded facet groups (Medžiaga, Savybės, Spalva, Dydis): the title is a 44 px disclosure row with a chevron and, once
   chosen, the value; the group opens by itself when a value is chosen (template-parts/shop/facet-group.php). */
.filter-fold { padding: 6px 0; }
.filter-fold[open] { padding-bottom: 16px; }
.filter-fold__toggle { display: flex; align-items: center; gap: 12px; min-height: 44px; color: var(--c-ink); cursor: pointer; list-style: none; border-radius: var(--r-sm); }
.filter-fold__toggle::-webkit-details-marker { display: none; }
.filter-fold__toggle .filter-title { float: none; width: auto; margin: 0; }
.filter-fold__value { flex: 1 1 auto; min-width: 0; overflow: hidden; color: var(--c-berry); font-size: 13px; font-weight: 700; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.filter-fold__toggle .icon { flex: none; width: 18px; height: 18px; margin-left: auto; color: var(--c-muted); transition: transform 0.2s var(--ease-out); }
.filter-fold__toggle:hover .icon { color: var(--c-ink); }
.filter-fold[open] > .filter-fold__toggle .icon { transform: rotate(180deg); }
.filter-fold[open] > .filter-fold__toggle .filter-fold__value { display: none; }
.filter-fold__body { min-width: 0; margin: 4px 0 0; padding: 0; border: 0; }
@media (prefers-reduced-motion: reduce) { .filter-fold__toggle .icon { transition: none; } }
.shop-filters__price { clear: both; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 8px; }
.shop-filters__price label { min-width: 0; }
.shop-filters__dash { color: var(--c-muted); }
.shop-filters__price input, .brand-search { width: 100%; height: 44px; padding: 0 12px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font: inherit; font-size: 15px; }
.shop-filters__price input::placeholder, .brand-search::placeholder { color: var(--c-placeholder-text); opacity: 1; }
.shop-filters__price input:focus-visible, .brand-search:focus-visible { outline: none; border-color: var(--c-ink); box-shadow: var(--ring); }
.brand-search-wrap { clear: both; position: relative; display: block; margin-bottom: 4px; }
.brand-search-wrap[hidden] { display: none; }
.brand-search-wrap .icon { position: absolute; left: 12px; top: 50%; width: 18px; height: 18px; color: var(--c-muted); transform: translateY(-50%); pointer-events: none; }
.brand-search { padding-left: 38px; }
.brand-list { max-height: 312px; overflow-y: auto; overscroll-behavior: contain; padding-right: 6px; scrollbar-width: thin; }
.brand-option[hidden] { display: none; }
.brand-list__none { margin: 4px 0; color: var(--c-muted); font-size: 13px; }
.shop-filters__more { margin-top: 4px; }
.shop-filters__actions { display: flex; gap: 8px; padding-top: 16px; border-top: 1px solid var(--c-line); }
.shop-filters__actions .btn { flex: 1 1 0; min-width: 0; padding-left: 12px; padding-right: 12px; letter-spacing: 0.08em; }
/* Desktop: "Taikyti" stays in reach at the bottom of the screen while the sidebar is longer than the screen. */
@media (min-width: 960px) { .shop-filters__actions { position: sticky; bottom: 0; z-index: 1; padding-bottom: 16px; background: var(--c-surface); } }
/* Sheet head: shown only while the filters are a bottom sheet on phones (UX audit P2-3). */
.shop-filters__head { display: none; }
.shop-filters__title { font-size: 22px; }
.shop-filters__close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); cursor: pointer; }
.shop-filters__close:hover { border-color: var(--c-ink); }

/* Toolbar: the result count and the labelled sort select; on phones the "Filtrai" and "Rikiuoti" row replaces it. */
.shop__toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; min-height: 44px; margin-bottom: 16px; }
.shop__toolbar .woocommerce-result-count, .woocommerce .shop__toolbar .woocommerce-result-count { float: none; margin: 0; color: var(--c-muted); font-size: 14px; }
.shop__toolbar .woocommerce-ordering, .woocommerce .shop__toolbar .woocommerce-ordering { float: none; display: flex; align-items: center; gap: 10px; margin: 0; }
.woocommerce-ordering__label { color: var(--c-muted); font-size: 13px; }
.select-wrap { position: relative; display: inline-flex; }
.select-wrap select { appearance: none; -webkit-appearance: none; min-width: 210px; height: 44px; padding: 0 40px 0 14px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.select-wrap select:hover { border-color: var(--c-ink); }
.select-wrap select:focus-visible { outline: none; border-color: var(--c-ink); box-shadow: var(--ring); }
.select-wrap .icon { position: absolute; right: 12px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); pointer-events: none; }
.select-wrap[hidden] { display: none; }
.price-ranges { clear: both; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; padding: 0; }
.price-range { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); color: var(--c-ink); font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.price-range:hover { border-color: var(--c-ink); }
.price-range.is-active { border-color: var(--c-plum); background: var(--c-plum); color: #fff; }
/* Catalog ordering list (site.js, pointer screens): the site's surface, hairline and berry mark instead of the system menu. */
.sort-menu { position: relative; }
.sort-menu__button { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 210px; height: 44px; padding: 0 12px 0 14px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: border-color 0.15s ease; }
.sort-menu__button:hover, .sort-menu__button[aria-expanded="true"] { border-color: var(--c-ink); }
.sort-menu__button:focus-visible { outline: none; border-color: var(--c-ink); box-shadow: var(--ring); }
.sort-menu__button .icon { width: 18px; height: 18px; transition: transform 0.2s var(--ease-out); }
.sort-menu__button[aria-expanded="true"] .icon { transform: rotate(180deg); }
.sort-menu__list { position: absolute; z-index: 30; top: calc(100% + 6px); right: 0; min-width: 100%; margin: 0; padding: 6px; list-style: none; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); box-shadow: 0 18px 40px -18px rgba(43, 20, 34, 0.35); outline: none; animation: sort-menu-in 0.16s var(--ease-out); }
.sort-menu__list li { position: relative; padding: 10px 36px 10px 12px; border-radius: var(--r-sm); font-size: 14px; color: var(--c-ink-2); cursor: pointer; white-space: nowrap; }
.sort-menu__list li.is-active { background: var(--c-soft, #f3ebe3); color: var(--c-ink); }
.sort-menu__list li[aria-selected="true"] { color: var(--c-berry); font-weight: 700; }
.sort-menu__list li[aria-selected="true"]::after { content: ""; position: absolute; right: 12px; top: 50%; width: 14px; height: 14px; margin-top: -7px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='black'%3E%3Cpath d='M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='black'%3E%3Cpath d='M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (prefers-reduced-motion: reduce) { .sort-menu__list { animation: none; } }
/* Active filter tags: a 36 px tag with a 44 px target. */
.active-filters { list-style: none; margin: 0 0 20px; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.active-filter { position: relative; display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 8px 0 12px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font-size: 13px; font-weight: 600; text-decoration: none; }
.active-filter::after { content: ""; position: absolute; inset: -4px 0; }
.active-filter:hover { border-color: var(--c-ink); color: var(--c-ink); }
.active-filter .icon { width: 14px; height: 14px; stroke-width: 2; }
.active-filters__clear { display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; color: var(--c-berry); font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; }
@media (min-width: 640px) { ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 16px; } }
@media (min-width: 1200px) { ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.woocommerce ul.products { margin: 0; }
ul.products::before, ul.products::after, .woocommerce ul.products::before, .woocommerce ul.products::after { content: none; display: none; }
ul.products li.product, .woocommerce ul.products li.product, .woocommerce ul.products[class*="columns-"] li.product { margin: 0; padding: 0; width: auto; float: none; clear: none; }
.woocommerce ul.products li.product .product-card__media img { margin: 0; }

/* Pagination (catalog and guides): square 44 px cells, the current page in ink. */
.woocommerce nav.woocommerce-pagination, .pagination { margin: 40px 0 0; }
.woocommerce nav.woocommerce-pagination ul, .pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; padding: 0; border: 0; list-style: none; }
.woocommerce nav.woocommerce-pagination ul li { float: none; overflow: visible; border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span, .pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 10px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font-size: 14px; font-weight: 700; line-height: 1; text-decoration: none; }
.woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li a:focus, .pagination a.page-numbers:hover { border-color: var(--c-ink); background: var(--c-surface); color: var(--c-ink); }
.woocommerce nav.woocommerce-pagination ul li span.current, .pagination .page-numbers.current { border-color: var(--c-ink); background: var(--c-ink); color: #fff; }
.woocommerce nav.woocommerce-pagination ul li span.dots, .pagination .page-numbers.dots { min-width: 24px; padding: 0; border-color: transparent; }
.woocommerce-pagination .icon { width: 18px; height: 18px; }
/* The category's longer text under the grid. */
.shop__seo { max-width: 75ch; margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--c-line); color: var(--c-ink-2); }
.shop__seo h2 { margin: 28px 0 10px; color: var(--c-ink); font-size: 22px; letter-spacing: -0.02em; }
.shop__seo h3 { margin: 22px 0 8px; color: var(--c-ink); font-size: 18px; letter-spacing: -0.01em; }
.shop__seo > :first-child { margin-top: 0; }
.shop__seo p, .shop__seo ul, .shop__seo ol { margin: 0 0 14px; }

/* Phones: the "Filtrai (N)" and "Rikiuoti" row above the products. */
.shop-bar { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0 0 12px; }
.shop-bar[hidden] { display: none; }
.shop-bar__btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; margin: 0; padding: 0 12px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font: inherit; font-size: 14px; font-weight: 700; line-height: 1.2; cursor: pointer; }
.shop-bar__btn:hover { border-color: var(--c-ink); }
.shop-bar__btn .icon { width: 18px; height: 18px; }
.shop-bar__count { color: var(--c-berry); }
.shop-bar__sort select { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 16px; }
.shop-bar__sort:focus-within { outline: 3px solid var(--c-berry); outline-offset: 2px; }
.gift-choice { display: grid; gap: 10px; margin-top: 16px; }
.gift-choice__row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.gift-choice__label { min-width: 92px; font-size: 12px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
.gift-choice__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.shop-empty__near { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0; padding: 0; }
@media (max-width: 959px) {
  /* With JavaScript the filters become a bottom sheet opened from the "Filtrai" button. */
  .shop-filters { margin-bottom: 12px; }
  .shop-filters.is-sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 960; display: flex; flex-direction: column; max-height: 88vh; margin: 0; padding: 0; background: var(--c-surface); border-radius: var(--r-sm) var(--r-sm) 0 0; box-shadow: 0 -18px 40px -12px rgba(28, 26, 27, 0.28); transform: translateY(105%); visibility: hidden; transition: transform 0.25s var(--ease-out), visibility 0s linear 0.25s; }
  .shop-filters.is-sheet.is-open { transform: none; visibility: visible; transition: transform 0.3s var(--ease-out); }
  /* No slide while the page turns the sidebar into the sheet, only when the visitor opens or closes it. */
  .shop-filters.is-sheet:not(.is-animated) { transition: none; }
  .shop-filters.is-sheet > summary { display: none; }
  /* The sheet and its form never grow past the screen: long brand names wrap instead of widening it. */
  .shop-filters.is-sheet { width: 100%; max-width: 100vw; }
  .shop-filters.is-sheet .shop-filters__form { grid-template-columns: minmax(0, 1fr); width: 100%; min-width: 0; max-height: 88vh; padding: 0 20px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
  .shop-filters.is-sheet .shop-filters__head { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; margin: 0 -20px 4px; padding: 14px 16px 12px 20px; border-bottom: 1px solid var(--c-line); background: var(--c-surface); }
  .shop-filters.is-sheet .shop-filters__form > fieldset.shop-filters__group:first-of-type { padding-top: 12px; }
  .shop-filters.is-sheet .shop-filters__actions { position: sticky; bottom: 0; margin: 0 -20px; padding: 12px 20px calc(12px + env(safe-area-inset-bottom)); background: var(--c-surface); }
  /* dvh: 88vh is measured with the Safari toolbars hidden, so with them shown the sheet's top and its "Rodyti N
     prekes" button would sit past the visible screen. */
  .shop-filters.is-sheet, .shop-filters.is-sheet .shop-filters__form { max-height: 88dvh; }
  .shop-filters.is-sheet .brand-list { max-height: none; overflow: visible; }
  .shop-sheet-backdrop { position: fixed; inset: 0; z-index: 955; background: rgba(28, 26, 27, 0.45); }
  .shop-sheet-backdrop[hidden] { display: none; }
  .shop__toolbar.has-shop-bar .woocommerce-ordering { display: none; }
  .shop__toolbar.has-shop-bar { min-height: 0; margin-bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) { .shop-filters.is-sheet, .shop-filters.is-sheet.is-open { transition: none; } }
body.sheet-open { overflow: hidden; }

/* ---------- Brand index (Prekių ženklai A-Ž) ---------- */
.brand-index__letters ul { list-style: none; margin: 16px 0 32px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.brand-index__letters a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 10px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font-size: 14px; font-weight: 800; text-decoration: none; }
.brand-index__letters a:hover { border-color: var(--c-ink); background: var(--c-ink); color: #fff; }
.brand-index__groups { display: grid; gap: 16px; }
@media (min-width: 768px) { .brand-index__groups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .brand-index__groups { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.brand-index__group { padding: 20px 24px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); scroll-margin-top: 120px; }
.brand-index__letter { margin-bottom: 6px; color: var(--c-ink); font-size: 28px; }
.brand-index__list { list-style: none; margin: 0; padding: 0; display: grid; }
.brand-index__list a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; border-bottom: 1px solid var(--c-line); color: var(--c-ink); font-size: 14px; font-weight: 600; text-decoration: none; }
.brand-index__list li:last-child a { border-bottom: 0; }
.brand-index__list a:hover { color: var(--c-berry); }
.brand-index__list .catalog-count { color: var(--c-count); font-weight: 500; }
.brand-index__find { max-width: 440px; margin-top: 18px; }
.brand-index__group[hidden], .brand-index__list li[hidden], .brand-index__letters[hidden] { display: none; }
.brand-index__none { margin: 8px 0 0; color: var(--c-ink-2); }
.brand-index__none a { color: var(--c-berry); font-weight: 700; }

.shop-empty { display: grid; justify-items: start; gap: 12px; padding: 32px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); }
@media (max-width: 639px) { .shop-empty { padding: 24px 20px; } }
.shop-empty__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: var(--r-sm); background: var(--c-soft); color: var(--c-ink); }
.shop-empty__icon .icon { width: 24px; height: 24px; }
.shop-empty__title { max-width: 32ch; font-size: 28px; line-height: 1.15; }
.shop-empty p { max-width: 60ch; margin: 0; color: var(--c-muted); }

.product-card__add.button { padding: 0; font-size: 0; line-height: 0; border-radius: var(--r-sm); background: var(--c-ink); color: #fff; }
.product-card__add.button:hover { background: var(--c-berry); color: #fff; }
.product-card__add.loading { opacity: 0.6; }
.product-card__add.added { background: var(--c-berry); }
.product-card .product-card__add.button.added, .woocommerce .product-card .product-card__add.button.added, .woocommerce ul.products li.product .product-card__add.button.added { background: var(--c-berry); color: #fff; }
.product-card .added_to_cart { display: none; }

/* ---------- Product page ---------- */
/* The owner's reference is obsessive.pl: the gallery with vertical thumbnails on the left, a white airy summary on the
   right (brand line, spaced uppercase title, price, square controls, the trust list), then the tabs and the rows. */
.product-page div.product { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 960px) { .product-page div.product { grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 40px; align-items: start; } }
@media (min-width: 1200px) { .product-page div.product { grid-template-columns: minmax(0, 1fr) minmax(0, 460px); gap: 56px; } }
/* The summary is not sticky: a sticky grid item can slide over the tabs row below it. */
.product-page div.product .woocommerce-product-gallery, .product-page div.product .summary,
.woocommerce .product-page div.product div.images, .woocommerce .product-page div.product div.summary { width: auto; float: none; margin: 0; }
.product-page div.product > .onsale { display: none; }

/* Gallery (WooCommerce's slider): thumbnails in a column left of the photo from 960 px, dots under it on phones. */
.product-page .woocommerce-product-gallery { position: relative; min-width: 0; }
.product-page .woocommerce-product-gallery__image img, .product-page .woocommerce-product-gallery__image--placeholder img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; border-radius: var(--r-sm); background: #fff; }
.product-page .woocommerce-product-gallery .flex-viewport { border-radius: var(--r-sm); background: #fff; }
.woocommerce .product-page div.product div.images .woocommerce-product-gallery__trigger { top: 12px; right: 12px; z-index: 2; width: 44px; height: 44px; border-radius: var(--r-sm); background: rgba(255, 255, 255, 0.92); text-indent: -9999px; }
.woocommerce .product-page div.product div.images .woocommerce-product-gallery__trigger::before { left: 13px; top: 12px; width: 12px; height: 12px; border: 1.6px solid var(--c-ink); border-radius: 50%; }
.woocommerce .product-page div.product div.images .woocommerce-product-gallery__trigger::after { left: 26px; top: 24px; width: 1.6px; height: 7px; background: var(--c-ink); }
.woocommerce .product-page div.product div.images .flex-control-thumbs { display: flex; justify-content: center; gap: 0; margin: 4px 0 0; padding: 0; }
.woocommerce .product-page div.product div.images .flex-control-thumbs li { position: relative; float: none; width: 28px; height: 44px; margin: 0; padding: 0; list-style: none; }
.woocommerce .product-page div.product div.images .flex-control-thumbs li img { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.woocommerce .product-page div.product div.images .flex-control-thumbs li::after { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: var(--c-star-empty); pointer-events: none; transition: background-color 0.2s ease, transform 0.2s ease; }
.woocommerce .product-page div.product div.images .flex-control-thumbs li:has(img.flex-active)::after { background: var(--c-ink); transform: scale(1.25); }
@media (min-width: 960px) {
  .product-page .woocommerce-product-gallery:has(.flex-control-thumbs) { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 16px; align-items: start; }
  .product-page .woocommerce-product-gallery:has(.flex-control-thumbs) .flex-viewport { grid-column: 2; grid-row: 1; }
  .woocommerce .product-page div.product div.images .flex-control-thumbs { grid-column: 1; grid-row: 1; flex-direction: column; justify-content: flex-start; gap: 12px; max-height: 620px; margin: 0; overflow-y: auto; scrollbar-width: none; }
  .woocommerce .product-page div.product div.images .flex-control-thumbs li { width: 80px; height: auto; flex: none; }
  .woocommerce .product-page div.product div.images .flex-control-thumbs li img { position: static; aspect-ratio: 1 / 1; object-fit: cover; height: auto; border: 1px solid transparent; border-radius: var(--r-sm); background: #fff; opacity: 1; transition: border-color 0.2s ease; }
  .woocommerce .product-page div.product div.images .flex-control-thumbs li img:hover { border-color: var(--c-line-strong); }
  .woocommerce .product-page div.product div.images .flex-control-thumbs li img.flex-active { border-color: var(--c-ink); }
  .woocommerce .product-page div.product div.images .flex-control-thumbs li::after { content: none; }
}
@media (prefers-reduced-motion: reduce) { .woocommerce .product-page div.product div.images .flex-control-thumbs li::after { transition: none; } }
/* Gallery arrows: a square layer over the main picture (left of it sit the thumbnails on wide screens). */
.product-page .woocommerce-product-gallery .flex-direction-nav { position: absolute; top: 0; left: 0; right: 0; aspect-ratio: 1 / 1; z-index: 2; display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 0 12px; list-style: none; pointer-events: none; }
.product-page .woocommerce-product-gallery .flex-direction-nav li { margin: 0; list-style: none; }
.product-page .woocommerce-product-gallery .flex-direction-nav a { position: relative; display: block; width: 44px; height: 44px; border-radius: 50%; background: rgba(255, 255, 255, 0.92); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12); overflow: hidden; text-indent: -9999px; pointer-events: auto; transition: background-color 0.2s ease; }
.product-page .woocommerce-product-gallery .flex-direction-nav a::before { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; border-top: 2px solid var(--c-ink); border-left: 2px solid var(--c-ink); }
.product-page .woocommerce-product-gallery .flex-direction-nav .flex-prev::before { transform: translate(-30%, -50%) rotate(-45deg); }
.product-page .woocommerce-product-gallery .flex-direction-nav .flex-next::before { transform: translate(-70%, -50%) rotate(135deg); }
.product-page .woocommerce-product-gallery .flex-direction-nav a:hover { background: #fff; }
.product-page .woocommerce-product-gallery .flex-direction-nav a:focus-visible { outline: 2px solid var(--c-ink); outline-offset: 2px; }
.product-page .woocommerce-product-gallery .flex-direction-nav .flex-disabled { opacity: 0.35; pointer-events: none; }
@media (min-width: 960px) {
  .product-page .woocommerce-product-gallery:has(.flex-control-thumbs) .flex-direction-nav { left: 96px; }
}


/* WooCommerce buttons as theme buttons (WooCommerce sets them with .woocommerce a.button and .woocommerce a.button.alt). */
.product-page .single_add_to_cart_button, .woocommerce .button.alt, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce #respond input#submit { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--c-berry); color: #fff; border-radius: var(--r-sm); min-height: 50px; padding: 0 26px; font: inherit; font-size: 13px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; line-height: 1.2; text-align: center; border: 0; }
.product-page .single_add_to_cart_button:hover, .woocommerce .button.alt:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover, .woocommerce #respond input#submit:hover { background: var(--c-berry-dark); color: #fff; }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled], .woocommerce button.button.disabled, .woocommerce a.button.disabled { padding: 0 28px; opacity: 0.55; color: #fff; cursor: not-allowed; }
.woocommerce button.button:disabled:hover, .woocommerce button.button:disabled[disabled]:hover { background: var(--c-berry); color: #fff; }

/* Summary: no box, a calm column of groups. */
.product-page .summary { display: flex; flex-direction: column; min-width: 0; }
.product-page .summary > * { margin-top: 0; margin-bottom: 0; }
.product-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 16px; margin-bottom: 10px; }
.product-brand { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: 0.22em; text-transform: uppercase; }
.product-brand a { display: inline-flex; align-items: center; min-height: 44px; margin: -12px 0; color: var(--c-berry); text-decoration: none; }
.product-brand a:hover { color: var(--c-berry-dark); text-decoration: underline; text-underline-offset: 3px; }
.product-rating { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: -12px 0; color: var(--c-ink); font-size: 13px; font-weight: 600; text-decoration: none; }
.product-rating:hover { color: var(--c-ink); text-decoration: underline; text-underline-offset: 3px; }
/* The owner's reference: a spaced uppercase title, kept at a readable size. */
.product-page .product_title { margin: 0 0 16px; font-family: var(--f-serif); font-size: clamp(26px, 1vw + 18px, 34px); font-weight: 700; line-height: 1.15; letter-spacing: -0.01em; text-transform: none; overflow-wrap: anywhere; }
.product-price { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 10px; }
.product-price .price { display: contents; }
.product-page .product-price .price, .woocommerce .product-page div.product .product-price p.price { margin: 0; color: var(--c-ink); font-size: 26px; font-weight: 800; letter-spacing: 0.02em; line-height: 1.2; font-variant-numeric: tabular-nums; }
.product-price .price > .woocommerce-Price-amount, .product-price .price ins { order: 3; flex-basis: 100%; text-decoration: none; }
.product-price .price del { order: 1; color: var(--c-muted); font-size: 14px; font-weight: 500; letter-spacing: 0.02em; opacity: 1; }
.product-price__off { order: 2; }
.product-price--sale .price ins, .woocommerce .product-page div.product .product-price--sale p.price ins { color: var(--c-berry); }
.product-vat, .product-page .summary > .product-vat { margin: 2px 0 0; color: var(--c-muted); font-size: 13px; }
.feature-chips { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.feature-chips li { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border: 1px solid var(--c-line); border-radius: var(--r-xs); color: var(--c-ink-2); font-size: 12px; font-weight: 600; }
.product-page .woocommerce-product-details__short-description { max-width: 60ch; margin-top: 16px; color: var(--c-ink-2); font-size: 14px; line-height: 1.55; }
.product-page .woocommerce-product-details__short-description > :first-child { margin-top: 0; }
.product-page .woocommerce-product-details__short-description > :last-child { margin-bottom: 0; }
/* Stock: a quiet line with a status dot. */
.product-page .summary .stock, .woocommerce .product-page div.product .summary .stock { display: flex; align-items: center; gap: 8px; margin: 20px 0 0; color: var(--c-ink-2); font-size: 13px; font-weight: 600; }
.product-page .summary .stock::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--c-ink); }
.woocommerce .product-page div.product .summary .stock.out-of-stock { color: var(--c-muted); }
.woocommerce .product-page div.product .summary .stock.out-of-stock::before { background: var(--c-line-strong); }
/* The add-to-cart row: quantity, the square primary button, the wishlist square. */
.product-page form.cart, .woocommerce .product-page div.product form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; margin: 20px 0 0; }
.woocommerce .product-page div.product .stock + form.cart { margin-top: 12px; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { content: none; display: none; }
.woocommerce .product-page div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce .quantity .qty { width: 72px; min-height: 44px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font: inherit; font-weight: 700; text-align: center; }
.product-page form.cart .qty, .woocommerce .product-page form.cart .quantity .qty { width: 72px; height: 54px; min-height: 54px; }
.woocommerce .product-page div.product form.cart .button.single_add_to_cart_button { flex: 1 1 200px; float: none; min-height: 54px; margin: 0; }
.product-page form.cart .wish-btn, .product-page .summary .wish-btn { position: static; flex: none; width: 54px; height: 54px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); }
.product-page form.cart .wish-btn:hover, .product-page .summary .wish-btn:hover { border-color: var(--c-ink); }
.product-page .summary > .wish-btn { margin-top: 20px; }
.product-page .summary .wish-msg { flex-basis: 100%; position: static; margin: 4px 0 0; padding: 0; background: none; box-shadow: none; font-size: 13px; }
/* Variable products: the attribute rows above the button (site.js turns each select into square chips). */
.woocommerce .product-page div.product form.cart table.variations { width: 100%; margin: 0 0 4px; border: 0; border-collapse: collapse; }
.woocommerce .product-page div.product form.cart table.variations tr { display: block; margin-bottom: 14px; }
.woocommerce .product-page div.product form.cart table.variations th, .woocommerce .product-page div.product form.cart table.variations td { display: block; padding: 0; border: 0; text-align: left; line-height: 1.4; }
.woocommerce .product-page div.product form.cart table.variations th.label { margin-bottom: 8px; }
.woocommerce .product-page div.product form.cart table.variations label { font-size: 13px; font-weight: 700; }
.woocommerce .product-page div.product form.cart table.variations select { min-width: 200px; height: 44px; padding: 0 14px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background-color: var(--c-surface); font: inherit; }
.woocommerce .product-page div.product form.cart table.variations select.var-chips__select { position: absolute; width: 1px; height: 1px; min-width: 0; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; }
.var-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.var-chip { min-width: 52px; height: 44px; margin: 0; padding: 0 14px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font: inherit; font-size: 13px; font-weight: 700; letter-spacing: 0.04em; cursor: pointer; transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease; }
.var-chip:hover { border-color: var(--c-ink); }
.var-chip[aria-pressed="true"] { border-color: var(--c-ink); background: var(--c-ink); color: #fff; }
.var-chip[aria-disabled="true"] { border-color: var(--c-line); background: var(--c-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cline x1='4' y1='96' x2='96' y2='4' stroke='%23B3A79E' stroke-width='1.25' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat; color: #A69B94; cursor: not-allowed; }
/* Linked variants (inc/variants.php): the same square chips as links to the members' own pages, the current one Ink,
   a sold out one struck on Soft but still a link (its page says so); the member's own code under the rows. */
.variant-picker { margin: 24px 0 0; }
.variant-picker__row + .variant-picker__row { margin-top: 14px; }
.variant-picker__label { margin: 0 0 8px; color: var(--c-ink); font-size: 13px; font-weight: 700; line-height: 1.4; }
.variant-picker__value { color: var(--c-ink-2); font-weight: 500; }
.var-chip--link { display: inline-flex; align-items: center; justify-content: center; color: var(--c-ink); text-decoration: none; }
.var-chip--link:hover { color: var(--c-ink); }
.var-chip--link:focus-visible { outline: 3px solid var(--c-berry); outline-offset: 2px; }
.var-chip--link[aria-current="page"], .var-chip--link[aria-current="page"]:hover { border-color: var(--c-ink); background: var(--c-ink); color: #fff; }
/* Sold out: one thin vector line corner to corner over a white chip and a pale letter (a line-through made "L" read as
   the Polish "Ł", a gradient line looked jagged). The current sold out option is outlined, not filled: nothing to buy. */
.var-chip--sold-out { border-color: var(--c-line); background: var(--c-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cline x1='4' y1='96' x2='96' y2='4' stroke='%23B3A79E' stroke-width='1.25' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat; color: #A69B94; font-weight: 600; }
.var-chip--sold-out:hover { border-color: var(--c-line-strong); color: var(--c-muted); }
.var-chip--sold-out[aria-current="page"], .var-chip--sold-out[aria-current="page"]:hover { border-color: var(--c-ink); background: var(--c-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cline x1='4' y1='96' x2='96' y2='4' stroke='%23B3A79E' stroke-width='1.25' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat; box-shadow: inset 0 0 0 1px var(--c-ink); color: var(--c-muted); }
.variant-picker__sold { color: var(--c-muted); font-weight: 500; }
.variant-picker__sku { margin: 12px 0 0; color: var(--c-muted); font-size: 13px; }
.variant-picker__sku span { color: var(--c-ink-2); font-weight: 600; font-variant-numeric: tabular-nums; }
.woocommerce .product-page div.product form.cart .reset_variations { display: inline-flex; align-items: center; min-height: 44px; margin-top: 4px; color: var(--c-berry); font-size: 13px; font-weight: 700; }
.woocommerce .product-page div.product form.variations_form { display: block; }
.woocommerce .product-page div.product form.cart .single_variation_wrap { width: 100%; }
.woocommerce .product-page div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; }
.woocommerce .product-page div.product form.cart .woocommerce-variation-add-to-cart::before, .woocommerce .product-page div.product form.cart .woocommerce-variation-add-to-cart::after { content: none; display: none; }
.woocommerce .product-page div.product .woocommerce-variation-price .price { font-size: 18px; font-weight: 800; }
.woocommerce .product-page div.product .woocommerce-variation-availability .stock { margin: 0 0 12px; }
/* Trust list: thin line icons in hairline circles. */
.product-notes { list-style: none; display: grid; gap: 12px; margin: 24px 0 0; padding: 20px 0 0; border-top: 1px solid var(--c-line); font-size: 14px; line-height: 1.4; }
.product-notes li { display: flex; align-items: center; gap: 12px; }
.product-notes li:has(> [data-dispatch-days][hidden]) { display: none; }
.product-notes__icon { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid var(--c-line-strong); border-radius: 50%; color: var(--c-ink); }
.product-notes__icon .icon { width: 19px; height: 19px; stroke-width: 1.4; }
.product-notes__text { min-width: 0; }
.product-notes__sub { display: block; margin-top: 2px; color: var(--c-muted); font-size: 13px; }
.product-notes a { color: inherit; text-decoration: underline; text-decoration-color: var(--c-line-strong); text-underline-offset: 3px; }
.product-notes a:hover { color: var(--c-berry); text-decoration-color: currentColor; }
.product-notes__eta strong { color: var(--c-berry); font-weight: 700; }
.product-page .summary > .promo-box { margin-top: 24px; }

/* Tabs: text tabs on a hairline with the 2 px berry underline of the navigation; they scroll sideways on phones. */
.desc-fold.is-folded .desc-fold__body { max-height: 12.4em; overflow: hidden; -webkit-mask-image: linear-gradient(var(--c-ink) 70%, transparent); mask-image: linear-gradient(var(--c-ink) 70%, transparent); }
.desc-fold__toggle { margin-top: 12px; min-height: 44px; font-size: 13px; }
.product-page .woocommerce-tabs, .woocommerce .product-page div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 24px; padding: 0; }
.woocommerce .product-page div.product .woocommerce-tabs ul.tabs { list-style: none; display: flex; gap: 28px; margin: 0 0 28px; padding: 0; border-bottom: 1px solid var(--c-line); overflow-x: auto; scrollbar-width: none; }
.woocommerce .product-page div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
/* Phones: the row scrolls; the side with more tabs fades out (site.js sets data-more), so a cut label reads as
   "swipe for more" instead of a clipped word. */
@media (max-width: 959px) {
  .woocommerce .product-page div.product .woocommerce-tabs ul.tabs { gap: 22px; scroll-padding-inline: 16px; }
  .woocommerce .product-page div.product .woocommerce-tabs ul.tabs[data-more="end"] { -webkit-mask-image: linear-gradient(to right, var(--c-ink) calc(100% - 56px), transparent); mask-image: linear-gradient(to right, var(--c-ink) calc(100% - 56px), transparent); }
  .woocommerce .product-page div.product .woocommerce-tabs ul.tabs[data-more="start"] { -webkit-mask-image: linear-gradient(to left, var(--c-ink) calc(100% - 56px), transparent); mask-image: linear-gradient(to left, var(--c-ink) calc(100% - 56px), transparent); }
  .woocommerce .product-page div.product .woocommerce-tabs ul.tabs[data-more="both"] { -webkit-mask-image: linear-gradient(to right, transparent, var(--c-ink) 56px, var(--c-ink) calc(100% - 56px), transparent); mask-image: linear-gradient(to right, transparent, var(--c-ink) 56px, var(--c-ink) calc(100% - 56px), transparent); }
}
.woocommerce .product-page div.product .woocommerce-tabs ul.tabs::before, .woocommerce .product-page div.product .woocommerce-tabs ul.tabs::after { content: none; display: none; }
.woocommerce .product-page div.product .woocommerce-tabs ul.tabs li { flex: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.woocommerce .product-page div.product .woocommerce-tabs ul.tabs li::before, .woocommerce .product-page div.product .woocommerce-tabs ul.tabs li::after { content: none; display: none; }
.woocommerce .product-page div.product .woocommerce-tabs ul.tabs li a { display: inline-flex; align-items: center; min-height: 48px; padding: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; color: var(--c-muted); font-size: 12px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.woocommerce .product-page div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--c-ink); }
.woocommerce .product-page div.product .woocommerce-tabs ul.tabs li.active a { border-bottom-color: var(--c-berry); color: var(--c-ink); }
.woocommerce .product-page div.product .woocommerce-tabs .panel { max-width: 75ch; margin: 0; color: var(--c-ink-2); }
.woocommerce .product-page div.product .woocommerce-tabs .panel > h2:first-child, .gpsr__title { margin: 0 0 12px; color: var(--c-ink); font-size: 24px; }
.woocommerce .product-page div.product .woocommerce-tabs .panel > :last-child { margin-bottom: 0; }
.woocommerce .product-page div.product .woocommerce-tabs .panel table.woocommerce-product-attributes { border: 0; border-top: 1px solid var(--c-line); border-radius: 0; }
.woocommerce table.woocommerce-product-attributes th, .woocommerce table.woocommerce-product-attributes td { padding: 10px 12px 10px 0; border: 0; border-bottom: 1px solid var(--c-line); background: none; font-style: normal; text-align: left; }
.woocommerce table.woocommerce-product-attributes th { width: 200px; color: var(--c-ink); font-weight: 700; }
.woocommerce table.woocommerce-product-attributes td p { margin: 0; }
.gpsr__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 16px; margin: 0; border-top: 1px solid var(--c-line); }
@media (min-width: 640px) { .gpsr__list { grid-template-columns: 220px minmax(0, 1fr); } }
.gpsr__list dt { padding: 10px 0 0; color: var(--c-ink); font-weight: 700; }
.gpsr__list dd { margin: 0; padding: 2px 0 10px; border-bottom: 1px solid var(--c-line); color: var(--c-muted); overflow-wrap: anywhere; }
@media (min-width: 640px) { .gpsr__list dt { padding-bottom: 10px; border-bottom: 1px solid var(--c-line); } .gpsr__list dd { padding-top: 10px; } }
/* Reviews: WooCommerce's list and form in the C controls, stars from the same mask as the cards. */
.woocommerce #reviews #comments ol.commentlist { margin: 0 0 24px; padding: 0; }
.woocommerce #reviews #comments ol.commentlist li { margin: 0; padding: 16px 0; border-bottom: 1px solid var(--c-line); }
.woocommerce #reviews #comments ol.commentlist li img.avatar { display: none; }
.woocommerce #reviews #comments ol.commentlist li .comment-text { margin: 0; padding: 0; border: 0; border-radius: 0; }
.woocommerce #reviews .woocommerce-noreviews { margin: 0 0 16px; color: var(--c-muted); }
.woocommerce .star-rating { float: none; position: relative; width: 70px; height: 14px; overflow: hidden; margin: 0 0 6px; font-size: 0; background: var(--c-star-empty); -webkit-mask: var(--stars-mask) center / 100% 100% no-repeat; mask: var(--stars-mask) center / 100% 100% no-repeat; }
.woocommerce .star-rating::before, .woocommerce .star-rating span::before { content: none; }
.woocommerce .star-rating span { position: absolute; top: 0; left: 0; height: 100%; padding: 0; overflow: hidden; background: var(--c-star); text-indent: -9999px; }
.woocommerce #review_form #respond { margin: 0; padding: 0; }
.woocommerce #review_form #respond .comment-reply-title { display: block; margin-bottom: 8px; font-size: 18px; font-weight: 800; }
.woocommerce #review_form #respond p { margin: 0 0 14px; }
.woocommerce #review_form #respond label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; }
.woocommerce #review_form #respond textarea, .woocommerce #review_form #respond input[type="text"], .woocommerce #review_form #respond input[type="email"] { width: 100%; padding: 12px 14px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font: inherit; }
.woocommerce #review_form #respond textarea:focus-visible, .woocommerce #review_form #respond input:focus-visible { outline: none; border-color: var(--c-ink); box-shadow: var(--ring); }
.woocommerce p.stars a { width: 28px; height: 28px; color: var(--c-star); }

/* "Tinka kartu" and "Panašios prekės": card rows; on phones they scroll sideways like the home rows. */
.product-page .related { grid-column: 1 / -1; margin-top: 32px; }
.product-page .related > h2 { margin-bottom: 24px; font-size: var(--fs-h2); }
@media (max-width: 639px) {
  .product-page .related ul.products { margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter) 8px; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 46%; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 var(--gutter); scrollbar-width: none; }
  .product-page .related ul.products::-webkit-scrollbar { display: none; }
  .product-page .related ul.products > li { scroll-snap-align: start; }
}
.product-card .product-card__add.button, .woocommerce .product-card .product-card__add.button, .woocommerce ul.products li.product .product-card__add.button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 0; font-size: 0; line-height: 0; border-radius: var(--r-sm); background: var(--c-ink); color: #fff; }
.product-card .product-card__add.button:hover, .woocommerce .product-card .product-card__add.button:hover, .woocommerce ul.products li.product .product-card__add.button:hover { background: var(--c-berry); color: #fff; }

/* ---------- Cart ---------- */
.cart-progress { display: grid; gap: 10px; margin-bottom: 20px; padding: 16px 18px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); }
.cart-progress__text { margin: 0; font-size: 14px; font-weight: 700; }
.cart-progress__bar { height: 6px; overflow: hidden; border-radius: var(--r-xs); background: var(--c-soft-2); }
.cart-progress__bar span { display: block; height: 100%; border-radius: var(--r-xs); background: var(--c-berry); }
/* Cart page (template-parts/cart/page.php): the drawer's lines and progress on the left, the totals card on the right
   from 960 px. Lines, add-ons and the empty state reuse the drawer classes below. */
.cart-page { display: grid; gap: 20px; }
.cart-page__main { display: grid; gap: 12px; align-content: start; min-width: 0; }
.cart-page .cart-progress { margin: 0; }
.cart-page__form { display: grid; gap: 12px; margin: 0; }
.cart-page__form .promo-hints { margin: 0; }
.cart-page__lines { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cart-page__update { margin: 0; }
.cart-page__side { min-width: 0; }
@media (min-width: 640px) {
  .cart-page .cart-line { grid-template-columns: 96px minmax(0, 1fr) auto; gap: 6px 18px; padding: 16px; }
  .cart-page .cart-line__media { width: 96px; height: 96px; }
}
.cart-page .cart-line__name { display: block; font-size: 15px; -webkit-line-clamp: none; line-clamp: none; }
@media (min-width: 960px) {
  .cart-page:not(.cart-page--empty) { grid-template-columns: minmax(0, 1fr) minmax(340px, 400px); gap: 32px; align-items: start; }
  .cart-page__side { position: sticky; top: 104px; }
}
.woocommerce .cart-page .cart-collaterals .cart_totals { float: none; width: 100%; padding: 24px 20px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); }
@media (min-width: 768px) { .woocommerce .cart-page .cart-collaterals .cart_totals { padding: 28px; } }
.woocommerce .cart-page .cart_totals table.shop_table { margin: 0 0 16px; border: 0; background: none; border-radius: 0; }
.woocommerce .cart-page .cart_totals table.shop_table tr:first-child th, .woocommerce .cart-page .cart_totals table.shop_table tr:first-child td { border-top: 0; }
.woocommerce .cart-page .cart_totals table.shop_table th, .woocommerce .cart-page .cart_totals table.shop_table td { padding: 12px 0; vertical-align: top; }
.woocommerce .cart-page .cart_totals table.shop_table td { text-align: right; padding-left: 12px; }
/* The totals stay two columns on phones (WooCommerce turns them into stacked blocks with repeated labels). Each row is
   its own flex line, so a long promo label ("Kuo daugiau, tuo pigiau: -20 %") is not squeezed into the column the
   delivery method's name sets. */
.woocommerce .cart-page .cart_totals table.shop_table, .woocommerce .cart-page .cart_totals table.shop_table tbody { display: block; }
.woocommerce .cart-page .cart_totals table.shop_table tr, .woocommerce .cart-page .cart_totals table.shop_table_responsive tr { display: flex; }
.woocommerce .cart-page .cart_totals table.shop_table tr th, .woocommerce .cart-page .cart_totals table.shop_table_responsive tr th { display: block; flex: 1 1 auto; min-width: 0; }
.woocommerce .cart-page .cart_totals table.shop_table tr td, .woocommerce .cart-page .cart_totals table.shop_table_responsive tr td { display: block; flex: 0 1 auto; text-align: right !important; }
.woocommerce .cart-page .cart_totals table.shop_table tr td[colspan] { flex: 1 1 100%; padding-left: 0; }
.woocommerce .cart-page .cart_totals tr.fee td { white-space: nowrap; }
.woocommerce .cart-page .cart_totals table.shop_table_responsive tr td::before { content: none; display: none; }
.woocommerce .cart-page .cart_totals .order-total strong { font-size: 22px; font-variant-numeric: tabular-nums; }
.woocommerce .cart-page .cart_totals .includes_tax { display: block; color: var(--c-muted); font-size: 13px; white-space: nowrap; }
/* The total is the last ruled row: no second rule right above the coupon's own line. */
.woocommerce .cart-page .cart_totals table.shop_table tr:last-child th, .woocommerce .cart-page .cart_totals table.shop_table tr:last-child td, .woocommerce .cart-page .cart_totals table.shop_table tr.order-total th, .woocommerce .cart-page .cart_totals table.shop_table tr.order-total td { border-bottom: 0; }
.woocommerce .cart-page .woocommerce-shipping-destination:empty, .woocommerce .cart-page .woocommerce-shipping-destination { display: none; }
.woocommerce .cart-page .wc-proceed-to-checkout { display: grid; gap: 16px; padding: 0; }
.woocommerce .cart-page .wc-proceed-to-checkout a.checkout-button { display: flex; align-items: center; justify-content: center; min-height: 54px; margin: 0; padding: 0 24px; border-radius: var(--r-sm); font-size: 13px; }
/* Coupon in the totals card, above the one primary button. */
.cart-trust { margin: -4px 0 0; }
.cart-coupon { display: grid; gap: 6px; margin: 0; padding-top: 16px; border-top: 1px solid var(--c-line); }
.cart-coupon__label { font-size: 13px; font-weight: 700; }
.cart-coupon__row { display: flex; gap: 8px; }
.woocommerce .cart-coupon .cart-coupon__input { flex: 1 1 0; width: 0; min-width: 0; margin: 0; text-transform: uppercase; }
.woocommerce .cart-coupon .cart-coupon__input::placeholder { text-transform: none; color: var(--c-placeholder-text); opacity: 1; }
.cart-coupon__apply { flex: none; min-height: 48px; padding: 0 18px; }
.cart-coupon__hint, .cart-coupon__msg { margin: 0; font-size: 13px; line-height: 1.4; color: var(--c-muted); }
.cart-coupon__msg { color: var(--c-ink); font-weight: 700; }
.cart-coupon__msg.is-error { color: var(--c-berry); }
/* Phone checkout bar (template-parts/cart/page.php, site.js): shown only while the totals card's button is below the screen. */
.cart-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; display: flex; align-items: center; gap: 14px; padding: 10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)); background: var(--c-surface); border-top: 1px solid var(--c-line); box-shadow: 0 -18px 40px -26px rgba(43, 20, 34, 0.4); animation: cart-sticky-in 0.22s var(--ease-out); }
.cart-sticky[hidden], .cart-page:has(input:focus) .cart-sticky { display: none; }
.cart-sticky__sum { display: grid; margin: 0; line-height: 1.15; }
.cart-sticky__label { color: var(--c-muted); font-size: 12px; font-weight: 600; }
.cart-sticky__value { font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cart-sticky__btn { flex: 1 1 auto; min-width: 0; min-height: 52px; padding: 0 14px; border-radius: var(--r-sm); letter-spacing: 0.12em; }
@keyframes cart-sticky-in { from { transform: translateY(100%); } }
@media (prefers-reduced-motion: reduce) { .cart-sticky { animation: none; } }
@media (min-width: 960px) { .cart-sticky { display: none !important; } }
/* The coupon cross (inc/woo-cart.php): a round 32 px target in the row, 44 px with its padding on touch. */
.woocommerce a.woocommerce-remove-coupon { display: inline-grid; place-items: center; width: 32px; height: 32px; margin-left: 6px; border-radius: 50%; color: var(--c-muted); vertical-align: middle; transition: background-color 0.15s ease, color 0.15s ease; }
.woocommerce a.woocommerce-remove-coupon:hover { background: var(--c-soft); color: var(--c-berry); }
.woocommerce a.woocommerce-remove-coupon:focus-visible { outline: 2px solid var(--c-berry); outline-offset: 2px; }
/* WooCommerce runs the row through wp_kses, which drops an <svg>: the cross is a CSS mask in the link's colour. */
.woocommerce a.woocommerce-remove-coupon::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (pointer: coarse) { .woocommerce a.woocommerce-remove-coupon { width: 44px; height: 44px; margin: -6px -6px -6px 0; } }
/* Empty cart: the drawer's empty state, then categories and best sellers. */
.cart-empty-state { display: grid; justify-items: center; gap: 12px; padding: 40px 24px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); text-align: center; }
.cart-empty-state__title { margin: 0; font-family: var(--f-serif); font-size: 28px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.1; }
.cart-empty-state__text { margin: 0 0 8px; max-width: 36ch; color: var(--c-muted); }
.cart-empty-block { display: grid; gap: 16px; margin-top: 40px; }
.cart-empty-block__title { font-size: var(--fs-h2); line-height: 1.1; }
.cart-empty-block .product-grid { list-style: none; margin: 0; padding: 0; }
.woocommerce table.shop_table { border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); border-collapse: separate; overflow: hidden; margin: 0 0 24px; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td, .woocommerce table.shop_table tbody th, .woocommerce table.shop_table tfoot th, .woocommerce table.shop_table tfoot td { border-color: var(--c-line); padding: 14px 16px; }
.woocommerce table.shop_table_responsive tr:nth-child(2n) td { background-color: transparent; }
.woocommerce .cart-collaterals .cart_totals > h2, .woocommerce-checkout .checkout-heading, .woocommerce-account .u-columns h2 { margin: 0 0 16px; font-size: 24px; line-height: 1.2; }
.woocommerce .coupon .input-text, .woocommerce .cart-coupon .input-text, .woocommerce form .form-row .input-text, .woocommerce form .form-row select { min-height: 48px; border-radius: var(--r-sm); border: 1px solid var(--c-line-strong); padding: 0 14px; font: inherit; font-size: 15px; color: var(--c-ink); background-color: var(--c-surface); }
.woocommerce form .form-row .input-text::placeholder, .woocommerce .cart-coupon .input-text::placeholder { color: var(--c-placeholder-text); opacity: 1; }
.woocommerce form .form-row .input-text:focus-visible, .woocommerce form .form-row select:focus-visible, .woocommerce .cart-coupon .input-text:focus-visible { outline: none; border-color: var(--c-ink); box-shadow: var(--ring); }
.woocommerce form .form-row textarea.input-text { min-height: 120px; padding: 12px 14px; }
.woocommerce form .form-row label { margin-bottom: 6px; font-size: 13px; font-weight: 700; line-height: 1.4; }
.woocommerce form .form-row label.checkbox, .woocommerce form .form-row .woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin: 0; }
.woocommerce form .form-row input[type="checkbox"], .woocommerce form input.woocommerce-form__input-checkbox { width: 20px; height: 20px; margin: 0; accent-color: var(--c-berry); }
.woocommerce form .show-password-input { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; right: 2px; border-radius: var(--r-sm); }
/* selectWoo (Select2) as a 48 px theme input. */
.woocommerce .select2-container .select2-selection--single, :where(.woocommerce) .select2-container .select2-selection--single { height: 48px; margin: 0; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { padding: 0 40px 0 14px; line-height: 44px; color: var(--c-ink); }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { top: 0; right: 12px; height: 44px; }
.woocommerce .select2-container--focus .select2-selection--single, .woocommerce .select2-container--open .select2-selection--single { border-color: var(--c-ink); box-shadow: var(--ring); }
.select2-container .select2-dropdown { border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); overflow: hidden; }
.select2-container .select2-search--dropdown .select2-search__field { min-height: 44px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); padding: 0 12px; font: inherit; }
.select2-container .select2-results__option { padding: 10px 14px; }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--c-ink); color: #fff; }

/* ---------- Notices ---------- */
/* White with a hairline and a line icon (masked SVG, no glyphs); errors get a berry edge. */
.woocommerce-message, .woocommerce-info, .woocommerce-error { position: relative; margin: 0 0 20px; padding: 14px 18px 14px 50px; border: 1px solid var(--c-line); border-top: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font-size: 14px; line-height: 1.5; }
.woocommerce-error { border-color: var(--c-berry); border-top-color: var(--c-berry); }
.woocommerce-error li { margin: 0; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { content: ""; position: absolute; top: 15px; left: 18px; width: 20px; height: 20px; background: var(--c-ink); -webkit-mask: var(--notice-icon) center / 100% 100% no-repeat; mask: var(--notice-icon) center / 100% 100% no-repeat; }
.woocommerce-message { --notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='black'%3E%3Cpath d='M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'/%3E%3C/svg%3E"); }
.woocommerce-info { --notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='black'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm16-40a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176ZM112,84a12,12,0,1,1,12,12A12,12,0,0,1,112,84Z'/%3E%3C/svg%3E"); }
.woocommerce-error { --notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='black'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm-8-80V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,172Z'/%3E%3C/svg%3E"); }
.woocommerce-error::before { background: var(--c-berry); }
/* Success notice: icon, text and button in one row; the button wraps under the text on phones. */
.woocommerce-message { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.woocommerce-message::after { content: none; display: none; }
.woocommerce-message .button, .woocommerce .woocommerce-message .button { order: 2; float: none; margin-left: auto; min-height: 44px; padding: 0 18px; border: 1px solid var(--c-ink); background: var(--c-surface); color: var(--c-ink); }
.woocommerce-message .button:hover, .woocommerce .woocommerce-message .button:hover { background: var(--c-ink); color: #fff; }
.woocommerce-message .button:focus-visible, .woocommerce-message a:focus-visible { outline-offset: 3px; }
/* Phones: an info notice's button (WooCommerce's e-mail confirmation, the empty orders list) goes under its text
   instead of squeezing it into a narrow column. */
@media (max-width: 599px) {
  .woocommerce .woocommerce-info:has(> .button) { display: flex; flex-direction: column; }
  .woocommerce .woocommerce-info .button { order: 2; float: none; display: flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; margin: 10px 0 0; }
}
/* WooCommerce focuses notices (tabindex="-1") for screen readers; no ring around a non-interactive box. */
.woocommerce-message[tabindex="-1"]:focus, .woocommerce-info[tabindex="-1"]:focus, .woocommerce-error[tabindex="-1"]:focus, .woocommerce-notices-wrapper [tabindex="-1"]:focus { outline: none; }

/* ---------- Checkout (redesign 2026-10-10) ---------- */
/* woocommerce/checkout/form-checkout.php: the step row, then two panes. The order pane (Pane grey) holds the products as
   white cards, the delivery choice, the totals and the discount code; the details pane (white) holds the contact, the
   address, the payment methods and the place order button. From 960 px they stand side by side, the order pane on the
   left and in view while it fits the window (site.js adds is-sticky); on phones it comes first with the products and
   totals folded behind the bar with the total, and a pay bar stays at the bottom while the button is off screen.
   16 px cards, hairlines between the sections, Ink for every chosen state, Berry only on the pay button. */
.checkout-focus .page__title { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Step row: Krepšelis done (a link back), Pristatymas and Apmokėjimas on this page (site.js moves the current mark to
   Apmokėjimas once the payment section is reached). Hairlines between the steps, no dash characters. */
.checkout-steps { margin: 4px 0 16px; }
.checkout-steps__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 8px; }
.checkout-steps__step { display: flex; align-items: center; gap: 8px; min-width: 0; color: var(--c-muted); font-size: 13px; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.checkout-steps__step + .checkout-steps__step::before { content: ""; flex: none; width: clamp(8px, 3vw, 64px); height: 1px; background: var(--c-line-strong); }
@media (max-width: 399px) { .checkout-steps__list, .checkout-steps__step, .checkout-steps__link { gap: 6px; } .checkout-steps__step { font-size: 12.5px; } .checkout-steps__mark { width: 22px; height: 22px; font-size: 11px; } }
.checkout-steps__link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: inherit; text-decoration: none; }
.checkout-steps__link:hover .checkout-steps__name { color: var(--c-ink); text-decoration: underline; }
.checkout-steps__mark { flex: none; display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--c-line-strong); font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums; transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease; }
.checkout-steps__mark .icon { width: 14px; height: 14px; }
.checkout-steps__step.is-done .checkout-steps__mark { background: var(--c-soft-2); box-shadow: none; color: var(--c-ink); }
.checkout-steps__step.is-current { color: var(--c-ink); font-weight: 800; }
.checkout-steps__step.is-current .checkout-steps__mark { background: var(--c-ink); box-shadow: none; color: #fff; }
@media (min-width: 960px) {
  .checkout-steps { margin: 8px 0 24px; }
  .checkout-steps__list { gap: 14px; }
  .checkout-steps__step { gap: 14px; font-size: 14px; }
  .checkout-steps__link { gap: 10px; }
  .checkout-steps__mark { width: 28px; height: 28px; font-size: 13px; }
  .checkout-steps__step > .checkout-steps__mark { margin-right: -4px; }
}
/* Panes. */
.checkout-layout { display: grid; gap: 16px; align-items: start; }
.checkout-layout__side, .checkout-layout__main { min-width: 0; }
.checkout-layout__side { padding: 4px 16px 20px; border-radius: var(--r-sm); background: var(--c-pane); }
.checkout-side { --checkout-sticky-top: 104px; }
.checkout-layout__main { padding: 16px 0 0; }
@media (min-width: 960px) {
  .checkout-layout { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 24px; align-items: stretch; }
  .checkout-layout__side { padding: 32px 36px 40px; border-radius: var(--r-sm); }
  .checkout-side.is-sticky { position: sticky; top: var(--checkout-sticky-offset, var(--checkout-sticky-top)); }
  .checkout-layout__main { padding: 40px 48px 48px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
}
@media (min-width: 1200px) {
  .checkout-layout__side { padding: 36px 44px 44px; }
  .checkout-layout__main { padding: 44px 64px 56px; }
}
.woocommerce-checkout .checkout-heading { margin: 0 0 16px; font-size: 22px; line-height: 1.2; }
@media (min-width: 960px) { .woocommerce-checkout .checkout-heading { font-size: 24px; } }
/* Back to the cart (wide screens; phones have the step row and the header bag). */
.checkout-back { display: none; }
@media (min-width: 960px) {
  .checkout-back { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin: 0 0 20px; color: var(--c-ink); font-size: 14px; font-weight: 700; text-decoration: none; }
  .checkout-back:hover { color: var(--c-ink); text-decoration: underline; }
  .checkout-back__icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); transition: box-shadow 0.15s ease; }
  .checkout-back:hover .checkout-back__icon { box-shadow: inset 0 0 0 1px var(--c-ink); }
  .checkout-back__icon .icon { width: 18px; height: 18px; }
}
/* Phones: the bar with the total folds the products, the totals and the code (site.js); the delivery stays open. */
.checkout-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "label total" "more total"; align-items: center; gap: 2px 12px; width: 100%; min-height: 64px; margin: 0; padding: 10px 0; border: 0; background: none; color: var(--c-ink); font: inherit; text-align: left; cursor: pointer; }
.checkout-summary[hidden] { display: none; }
.checkout-summary__label { grid-area: label; font-size: 15px; font-weight: 700; }
.checkout-summary__more { grid-area: more; display: inline-flex; align-items: center; gap: 4px; color: var(--c-berry); font-size: 13px; font-weight: 700; }
.checkout-summary__more .icon { width: 16px; height: 16px; transition: transform 0.2s var(--ease-out); }
.checkout-summary[aria-expanded="true"] .checkout-summary__more .icon { transform: rotate(180deg); }
.checkout-summary__total { grid-area: total; font-size: 20px; font-weight: 800; white-space: nowrap; font-variant-numeric: tabular-nums; }
.checkout-summary:focus-visible { outline: 3px solid var(--c-berry); outline-offset: 2px; border-radius: var(--r-sm); }
@media (max-width: 959px) {
  .checkout-layout__side #order_review_heading { margin-top: 8px; }
  .checkout-layout__side.is-collapsed :is(#order_review_heading, .checkout-review__items, .checkout-totals, .checkout-coupon) { display: none; }
  .checkout-layout__side.is-collapsed .checkout-delivery { margin-top: 4px; padding-top: 16px; border-top: 1px solid var(--c-line); }
}
@media (min-width: 960px) { .checkout-summary, .checkout-summary[hidden] { display: none; } }
/* Products: white cards, the photo on a Pane tile (multiplied, so a white packshot melts into it) with the quantity. */
.woocommerce-checkout #order_review { padding: 0; background: none; border-radius: 0; }
.checkout-review__items { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.checkout-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 14px; margin: 0; padding: 10px 14px 10px 10px; border-radius: var(--r-sm); background: var(--c-surface); }
.checkout-item__info { min-width: 0; }
.woocommerce-checkout .checkout-item .product-quantity { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.checkout-item dl.variation { display: flex; flex-wrap: wrap; gap: 0 6px; margin: 4px 0 0 76px; color: var(--c-muted); font-size: 12.5px; }
.checkout-item dl.variation dt, .checkout-item dl.variation dd, .checkout-item dl.variation p { margin: 0; }
.checkout-item:has(.review-item--gift) dl.variation { display: none; }
.checkout-item__price { font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.checkout-item__price del { display: block; color: var(--c-muted); font-size: 12.5px; font-weight: 500; }
.checkout-item__price ins { color: var(--c-berry); text-decoration: none; }
.review-item { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 14px; align-items: center; }
.review-item__thumb { position: relative; width: 62px; height: 62px; border-radius: var(--r-sm); background: var(--c-pane); }
.review-item__thumb img { width: 100%; height: 100%; padding: 4px; object-fit: contain; border-radius: var(--r-sm); mix-blend-mode: multiply; }
.review-item__qty { position: absolute; top: -6px; right: -6px; min-width: 22px; height: 22px; padding: 0 6px; display: inline-grid; place-items: center; border-radius: var(--r-sm); background: var(--c-ink); color: #fff; font-size: 12px; font-weight: 800; line-height: 1; box-shadow: 0 0 0 2px var(--c-surface); }
.review-item__name { display: grid; gap: 3px; min-width: 0; }
.review-item__title { font-size: 14px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.review-item__meta { color: var(--c-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.review-item__gift { display: flex; width: fit-content; align-items: center; gap: 4px; margin-top: 4px; padding: 2px 8px 2px 6px; border-radius: var(--r-sm); background: var(--c-berry-tint); color: var(--c-berry-dark); font-size: 11px; font-weight: 800; letter-spacing: 0.04em; }
@media (min-width: 960px) {
  .checkout-item { padding: 12px 18px 12px 12px; gap: 4px 18px; }
  .review-item { grid-template-columns: 72px minmax(0, 1fr); gap: 16px; }
  .review-item__thumb { width: 72px; height: 72px; }
  .review-item__title { font-size: 14.5px; }
  .checkout-item dl.variation { margin-left: 88px; }
}
/* Delivery: one card per rate with WooCommerce's own input (inc/checkout.php); a choice gets a radio and the Ink ring. */
.checkout-delivery { margin-top: 28px; }
.woocommerce .checkout-delivery ul#shipping_method { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.woocommerce .checkout-delivery ul#shipping_method li.checkout-delivery__option { display: flex; align-items: center; gap: 0; margin: 0; padding: 0 0 0 18px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); text-indent: 0; transition: box-shadow 0.15s ease; }
.woocommerce .checkout-delivery ul#shipping_method li.checkout-delivery__option.is-only { padding-left: 0; }
.woocommerce .checkout-delivery ul#shipping_method li.checkout-delivery__option:has(input:checked) { box-shadow: inset 0 0 0 2px var(--c-ink); }
.woocommerce .checkout-delivery ul#shipping_method li input[type="radio"] { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--c-ink); }
.woocommerce .checkout-delivery ul#shipping_method li label { flex: 1 1 auto; min-width: 0; display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 14px; min-height: 76px; margin: 0; padding: 14px 18px 14px 14px; white-space: normal; cursor: pointer; }
.woocommerce .checkout-delivery ul#shipping_method li.is-only label { cursor: default; }
.checkout-delivery__logo { display: grid; place-items: center; width: 64px; height: 44px; border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink-2); }
.checkout-delivery__logo .icon { width: 22px; height: 22px; }
.checkout-delivery__text { display: grid; gap: 2px; min-width: 0; }
.checkout-delivery__name { font-size: 15px; font-weight: 700; line-height: 1.3; }
.checkout-delivery__note { color: var(--c-muted); font-size: 13px; font-weight: 500; line-height: 1.4; }
.checkout-delivery__note:empty { display: none; }
.checkout-delivery__price { font-size: 15px; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.checkout-delivery__empty { margin: 0; padding: 14px 18px; border-radius: var(--r-sm); background: var(--c-surface); font-size: 14px; line-height: 1.5; }
/* The discreet parcel: one quiet line with the box icon under the delivery. */
.checkout-discretion { display: flex; align-items: flex-start; gap: 10px; margin: 14px 0 0; padding: 0 2px; color: var(--c-ink-2); font-size: 13.5px; line-height: 1.45; }
.checkout-discretion .icon { flex: none; width: 20px; height: 20px; color: var(--c-ink-2); }
.checkout-discretion p { margin: 0; max-width: 60ch; }
/* Totals: a white card, the amounts on the right, "Viso" large. */
.woocommerce-checkout table.checkout-totals { width: 100%; margin: 28px 0 0; padding: 10px 20px 18px; border: 0; border-collapse: separate; border-spacing: 0; border-radius: var(--r-sm); background: var(--c-surface); }
.woocommerce-checkout table.checkout-totals th, .woocommerce-checkout table.checkout-totals td { padding: 7px 0; border: 0; background: none; font-size: 14px; line-height: 1.4; vertical-align: baseline; }
.woocommerce-checkout table.checkout-totals th { padding-right: 16px; color: var(--c-muted); font-weight: 500; text-align: left; }
.woocommerce-checkout table.checkout-totals td { color: var(--c-ink); font-weight: 600; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.woocommerce-checkout table.checkout-totals tr.cart-discount td, .woocommerce-checkout table.checkout-totals tr.fee td { color: var(--c-berry); }

.woocommerce-checkout table.checkout-totals tr.order-total th, .woocommerce-checkout table.checkout-totals tr.order-total td { padding-top: 16px; border-top: 1px solid var(--c-line); }
.woocommerce-checkout table.checkout-totals tr:nth-last-child(2) th, .woocommerce-checkout table.checkout-totals tr:nth-last-child(2) td { padding-bottom: 14px; }
.woocommerce-checkout table.checkout-totals tr.order-total th { color: var(--c-ink); font-size: 16px; font-weight: 700; vertical-align: top; padding-top: 22px; }
.woocommerce-checkout table.checkout-totals tr.order-total td strong { font-size: 26px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.2; }
.woocommerce-checkout table.checkout-totals .includes_tax { display: block; margin-top: 2px; color: var(--c-muted); font-size: 12.5px; font-weight: 500; white-space: normal; }
/* Discount code: a white card, the field opens with "Taikyti" inside it. */
.checkout-coupon { margin-top: 12px; padding: 0 20px; border-radius: var(--r-sm); background: var(--c-surface); }
.checkout-coupon__toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; font-size: 14px; font-weight: 700; cursor: pointer; list-style: none; }
.checkout-coupon__toggle::-webkit-details-marker { display: none; }
.checkout-coupon__toggle .icon { width: 18px; height: 18px; color: var(--c-ink-2); transition: transform 0.2s var(--ease-out); }
.checkout-coupon[open] .checkout-coupon__toggle .icon { transform: rotate(180deg); }
.checkout-coupon__row { position: relative; padding: 0 0 16px; }
.woocommerce-checkout .checkout-coupon .checkout-coupon__input { width: 100%; min-height: 50px; margin: 0; padding: 0 104px 0 16px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font: inherit; font-size: 15px; text-transform: uppercase; }
.woocommerce-checkout .checkout-coupon .checkout-coupon__input::placeholder { color: var(--c-placeholder-text); text-transform: none; opacity: 1; }
.woocommerce-checkout .checkout-coupon .checkout-coupon__input:focus-visible { outline: none; border-color: var(--c-ink); box-shadow: var(--ring); }
.checkout-coupon__apply { position: absolute; top: 3px; right: 3px; height: 44px; padding: 0 16px; border: 0; border-radius: var(--r-sm); background: none; color: var(--c-berry); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.checkout-coupon__apply:hover { background: var(--c-berry-tint); color: var(--c-berry-dark); }
.checkout-coupon__apply:focus-visible { outline: 3px solid var(--c-berry); outline-offset: -3px; }
.checkout-coupon__apply:disabled { opacity: 0.5; cursor: progress; }
.checkout-coupon__msg { margin: -6px 0 16px; color: var(--c-muted); font-size: 13px; line-height: 1.45; }
.checkout-coupon__msg:empty { display: none; }
.checkout-coupon__msg.is-error { color: var(--c-berry); }
/* Details pane: Kontaktai, Pristatymo adresas, Mokėjimo būdas, a hairline between them. The fields sit on a two
   column grid (first and last share a row), labels above, 50 px fields with 12 px corners. */
.woocommerce-checkout .checkout-layout .col2-set .col-1, .woocommerce-checkout .checkout-layout .col2-set .col-2 { float: none; width: 100%; max-width: none; }
.checkout-section + .checkout-section, .checkout-section--pay { margin-top: 32px; padding-top: 32px; border-top: 1px solid var(--c-line); }
@media (min-width: 960px) { .checkout-section + .checkout-section, .checkout-section--pay { margin-top: 40px; padding-top: 40px; } }
.checkout-layout__main :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 14px; }
.woocommerce .checkout-layout__main .form-row { grid-column: 1 / -1; float: none; width: auto; margin: 0; padding: 0; }
.woocommerce .checkout-layout__main .form-row-first { grid-column: 1; }
.woocommerce .checkout-layout__main .form-row-last { grid-column: 2; }
@media (max-width: 599px) { .woocommerce .checkout-layout__main :is(#billing_company_code_field, #billing_vat_code_field) { grid-column: 1 / -1; } }
.woocommerce form.checkout .form-row .input-text, .woocommerce form.checkout .form-row select { min-height: 50px; border-radius: var(--r-sm); transition: border-color 0.15s ease, box-shadow 0.15s ease; }
.woocommerce form.checkout .form-row .input-text:hover { border-color: var(--c-ink-2); }
.woocommerce form.checkout .form-row textarea.input-text { min-height: 96px; }
.woocommerce form.checkout .form-row .select2-container .select2-selection--single { height: 50px; border-radius: var(--r-sm); }
.woocommerce form .form-row-first label, .woocommerce form .form-row-last label { overflow-wrap: anywhere; }
/* One country to choose from: "Šalis: Lietuva" on one line, without the required mark of a value nobody changes. */
.woocommerce-checkout #customer_details .form-row:has(.country_to_state--single) { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; font-size: 15px; }
.woocommerce-checkout #customer_details .form-row:has(.country_to_state--single) label { display: inline-flex; margin: 0; }
.woocommerce-checkout #customer_details .form-row:has(.country_to_state--single) label .required { display: none; }
.woocommerce-checkout #customer_details .form-row:has(.country_to_state--single)::before, .woocommerce-checkout #customer_details .form-row:has(.country_to_state--single)::after { content: none; display: none; }
/* WooCommerce's address script puts a no-break space before the (hidden) required mark: the colon closes up over it. */
.woocommerce-checkout #customer_details .form-row:has(.country_to_state--single) label::after { content: ":"; margin-left: -0.26em; }
/* The quiet options at the end of the address: the company box, "Siųsti kitu adresu?" and the folded note. */
.woocommerce form .form-row.pleasure-company-toggle { margin-top: 4px; }
.woocommerce form .form-row.pleasure-company-toggle .description { display: block; margin: -10px 0 4px 32px; }
.woocommerce form.checkout:has(#pleasure_company_toggle:checked) #billing_company_field label .optional { display: none; }
.woocommerce form.checkout:has(#pleasure_company_toggle:checked) #billing_company_field label::after { content: " *"; color: var(--c-berry); font-weight: 700; }
.woocommerce-checkout .checkout-layout .col2-set .col-2 { margin-top: 4px; }
.woocommerce-checkout #ship-to-different-address { margin: 0; font-family: var(--f-body); font-size: 15px; font-weight: 600; letter-spacing: 0; line-height: 1.4; }
.woocommerce-checkout #ship-to-different-address label { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin: 0; cursor: pointer; }
.woocommerce-checkout #ship-to-different-address input { width: 20px; height: 20px; margin: 0; accent-color: var(--c-ink); }
.woocommerce-checkout .shipping_address { padding: 12px 0 8px; }
.woocommerce-checkout .woocommerce-additional-fields { margin: 0; padding: 0; border: 0; }
.checkout-notes__toggle { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-size: 15px; font-weight: 600; cursor: pointer; list-style: none; }
.checkout-notes__toggle::-webkit-details-marker { display: none; }
.checkout-notes__toggle .icon { width: 20px; height: 20px; padding: 2px; border-radius: 4px; box-shadow: inset 0 0 0 1px var(--c-line-strong); transition: transform 0.2s var(--ease-out); }
.checkout-notes[open] .checkout-notes__toggle .icon { transform: rotate(45deg); }
.checkout-notes .woocommerce-additional-fields__field-wrapper { padding: 8px 0 4px; }
.checkout-notes #order_comments_field > label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Radios and checkboxes in Ink: Berry stays for the one pay button. */
.woocommerce form input[type="radio"], .woocommerce form input[type="checkbox"], .woocommerce-checkout input[type="radio"], .woocommerce-checkout input[type="checkbox"] { accent-color: var(--c-ink); }
/* Checkbox rows (consents, terms, company box): the label is a grid of the box and one text cell (inc/checkout.php). */
.woocommerce-checkout #payment .place-order .form-row, .woocommerce-checkout .pleasure-consent { display: block; margin: 0; padding: 0; }
.woocommerce form .form-row label.pleasure-check, .woocommerce form label.pleasure-check { display: grid; grid-template-columns: 20px minmax(0, 1fr); column-gap: 12px; align-items: start; min-height: 44px; margin: 0; padding: 11px 0; cursor: pointer; color: var(--c-ink); font-size: 14px; font-weight: 500; line-height: 1.45; }
.woocommerce form label.pleasure-check input[type="checkbox"] { width: 20px; height: 20px; margin: 0; accent-color: var(--c-ink); }
.woocommerce form .pleasure-company-toggle label.pleasure-check { font-size: 15px; font-weight: 600; }
/* Payment: the gateways as white cards (the chosen one an Ink ring), the bank and card tiles under their gateway. */
.woocommerce-checkout #payment { background: none; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { display: grid; gap: 10px; margin: 0; padding: 0; border: 0; list-style: none; }
.woocommerce-checkout #payment ul.payment_methods::before, .woocommerce-checkout #payment ul.payment_methods::after { content: none; display: none; }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method { display: grid; grid-template-columns: 20px minmax(0, 1fr); column-gap: 12px; align-items: center; margin: 0; padding: 4px 18px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); line-height: 1.4; transition: box-shadow 0.15s ease; }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(> input.input-radio:checked) { box-shadow: inset 0 0 0 2px var(--c-ink); }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method::before, .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method::after { content: none; display: none; }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input.input-radio { width: 20px; height: 20px; margin: 0; accent-color: var(--c-ink); }
.woocommerce-checkout #payment ul.payment_methods li > label { grid-column: 2; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-height: 52px; margin: 0; font-size: 15px; font-weight: 700; cursor: pointer; }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(> input.input-radio[style*="none"]) { grid-template-columns: minmax(0, 1fr); column-gap: 0; box-shadow: inset 0 0 0 1px var(--c-line); }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(> input.input-radio[style*="none"]) > label { grid-column: 1; }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > div.payment_box { grid-column: 1 / -1; margin: 0 0 14px; padding: 0; background: none; color: var(--c-ink); border-radius: 0; font-size: 14px; }
.woocommerce-checkout #payment .makecommerce-picker .payment-method { border: 0 !important; background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line-strong) !important; border-radius: var(--r-sm) !important; transition: box-shadow 0.15s ease; }
.woocommerce-checkout #payment .makecommerce-picker .payment-method:hover { box-shadow: inset 0 0 0 1px var(--c-ink) !important; }
.woocommerce-checkout #payment .makecommerce-picker .payment-method-selected, .woocommerce-checkout #payment .makecommerce-picker .payment-method:has(.btn-check:checked) { box-shadow: inset 0 0 0 2px var(--c-ink) !important; }
@media (min-width: 600px) { .woocommerce-checkout .checkout-section--pay .makecommerce-picker .payment-method-wrapper.col-6 { flex: 0 0 auto; width: 33.3333%; } }
/* The place order block: the privacy note, terms, 18+ and newsletter rows, then the one Berry button with the lock. */
.woocommerce-checkout #payment div.form-row.place-order { margin: 24px 0 0; padding: 0; }
.woocommerce-checkout .woocommerce-privacy-policy-text { color: var(--c-muted); font-size: 13px; line-height: 1.5; }
.woocommerce-checkout .woocommerce-privacy-policy-text p { margin: 0 0 8px; max-width: 75ch; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin: 0; }
.woocommerce-checkout .woocommerce-terms-and-conditions { max-width: 75ch; }
.woocommerce #payment #place_order { float: none; display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 58px; margin: 20px 0 0; padding: 0 24px; border-radius: var(--r-sm); font-size: 14px; letter-spacing: 0.14em; }
.woocommerce #payment #place_order::before { content: ""; width: 16px; height: 16px; flex: none; background: currentColor; -webkit-mask: var(--icon-lock) center / contain no-repeat; mask: var(--icon-lock) center / contain no-repeat; }
.woocommerce-checkout { --icon-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='black'%3E%3Cpath d='M208,76H180V56A52,52,0,0,0,76,56V76H48A20,20,0,0,0,28,96V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V96A20,20,0,0,0,208,76ZM100,56a28,28,0,0,1,56,0V76H100ZM204,204H52V100H204Zm-60-52a16,16,0,1,1-16-16A16,16,0,0,1,144,152Z'/%3E%3C/svg%3E"); }
/* Trust line under the button: three facts, each with its own dot, so a wrapped line never starts with a separator. */
.checkout-trust { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 16px; color: var(--c-muted); font-size: 13px; line-height: 1.4; }
.checkout-trust li { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
/* Phones: the pay bar (form-checkout.php, site.js) while the button is below the screen; it steps aside while the
   keyboard is open (a field has the focus) and while the order is sent, and keeps clear of the home indicator. */
.checkout-paybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; padding: 10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)); background: var(--c-surface); border-top: 1px solid var(--c-line); box-shadow: 0 -18px 40px -26px rgba(43, 20, 34, 0.4); animation: cart-sticky-in 0.22s var(--ease-out); }
.checkout-paybar[hidden], form.checkout.processing .checkout-paybar, form.checkout:has(:is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea):focus) .checkout-paybar { display: none; }
.checkout-paybar__btn { width: 100%; min-height: 52px; border-radius: var(--r-sm); font-size: 14px; letter-spacing: 0.14em; }
.checkout-paybar__btn .icon { width: 16px; height: 16px; }
@media (min-width: 960px) { .checkout-paybar { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .checkout-paybar, .checkout-steps__mark, .checkout-summary__more .icon, .checkout-coupon__toggle .icon, .checkout-notes__toggle .icon { animation: none; transition: none; } }
@media (prefers-reduced-motion: reduce) { .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method, .woocommerce form.checkout .form-row .input-text, .woocommerce .checkout-delivery ul#shipping_method li.checkout-delivery__option { transition: none; } }
/* Kept from the earlier checkout rules: field states, hints, the company fields, the cart shipping list, MakeCommerce
   details, the processing state and the order received details. */
.woocommerce form .form-row.woocommerce-validated input.input-text, .woocommerce form .form-row.woocommerce-validated select, .woocommerce form .form-row.woocommerce-validated textarea, .woocommerce form .form-row.woocommerce-validated .select2-container .select2-selection { border-color: var(--c-line-strong); }
.woocommerce form .form-row.woocommerce-invalid input.input-text, .woocommerce form .form-row.woocommerce-invalid select, .woocommerce form .form-row.woocommerce-invalid .select2-container .select2-selection { border-color: var(--c-berry); }
.woocommerce form .form-row.woocommerce-invalid label { color: var(--c-ink); }
.woocommerce-checkout .checkout-inline-error-message { margin: 6px 0 0; color: var(--c-berry); font-size: 13px; font-weight: 700; line-height: 1.4; }
.woocommerce-checkout .form-row:has(label.pleasure-check) > .checkout-inline-error-message { margin-top: -4px; padding-left: 32px; }
/* A required box left empty: its text turns Berry, no frame around the box (owner 2026-10-11). */
.woocommerce form .form-row.woocommerce-invalid label.pleasure-check, .woocommerce-checkout .woocommerce-invalid label.woocommerce-form__label-for-checkbox { color: var(--c-berry); }
.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error a { color: var(--c-ink); text-decoration: underline; }
.woocommerce form .form-row .description, .woocommerce form .form-row .woocommerce-input-wrapper .description { display: block !important; position: static; margin: 6px 0 0; padding: 0; border-radius: 0; background: none; color: var(--c-muted); font-size: 13px; line-height: 1.4; }
.woocommerce form .form-row .woocommerce-input-wrapper .description::before { content: none; display: none; }
.woocommerce form.checkout:has(#pleasure_company_toggle:not(:checked)) .pleasure-company-field { display: none; }
.woocommerce ul#shipping_method { margin: 0; padding: 0; list-style: none; }
.woocommerce ul#shipping_method li { margin: 0; padding: 0; text-indent: 0; }
.woocommerce ul#shipping_method li label { display: inline; white-space: nowrap; }
.woocommerce ul#shipping_method li label .amount { white-space: nowrap; }
@media (max-width: 479px) { .woocommerce ul#shipping_method li label { white-space: normal; } }
.woocommerce-checkout #payment div.payment_box::before { content: none; display: none; }
.woocommerce-checkout #payment div.payment_box p:last-child { margin-bottom: 0; }
.woocommerce-checkout #payment ul.payment_methods li.woocommerce-notice { padding: 16px 20px 16px 56px; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 20px; }
.woocommerce form.checkout_coupon { margin: 0 0 20px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); }
.checkout-trust li::before { content: ""; flex: none; width: 5px; height: 5px; border-radius: 50%; background: var(--c-line-strong); }
.woocommerce-checkout #payment .makecommerce-picker { padding: 0 !important; background: none !important; border-radius: 0; }
.woocommerce-checkout #payment li.payment_method_makecommerce > label img { display: none; }
.woocommerce-checkout #payment .makecommerce-picker .mb-3:has(> #makecommerce_customer_country_picker) { display: none; }
.woocommerce-checkout #payment .makecommerce-picker .payment-method .check { display: none !important; background: none !important; }
.woocommerce-checkout #payment .makecommerce-picker .payment-method-selected .check, .woocommerce-checkout #payment .makecommerce-picker .payment-method:has(.btn-check:checked) .check { display: block !important; position: absolute; top: 4px; right: 4px; left: auto; width: 16px; height: 16px; background: var(--c-ink) !important; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='black'%3E%3Cpath d='M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='black'%3E%3Cpath d='M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E") center / contain no-repeat; pointer-events: none; }
.woocommerce-checkout #payment .makecommerce-picker .btn-check:focus-visible + .payment-control { outline: 3px solid var(--c-berry); outline-offset: 2px; border-radius: var(--r-sm); }
.woocommerce form .form-row-first label, .woocommerce form .form-row-last label { overflow-wrap: anywhere; }
.pleasure-check__text { min-width: 0; }
.pleasure-check .required { color: var(--c-berry); font-weight: 700; text-decoration: none; border: 0; }
.pleasure-check .optional { color: var(--c-muted); font-weight: 400; white-space: nowrap; }
.woocommerce-checkout .woocommerce-additional-fields > h3 { display: none; }
.review-item__gift .icon { width: 12px; height: 12px; }
.woocommerce-checkout form.checkout.processing #payment .place-order { position: relative; z-index: 1001; pointer-events: none; }
.woocommerce-checkout form.checkout.processing #payment #place_order::before { border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; background: none; -webkit-mask: none; mask: none; animation: cart-drawer-spin 0.8s linear infinite; }
.checkout-progress { margin: 10px 0 0; color: var(--c-ink); font-size: 14px; font-weight: 600; line-height: 1.45; text-align: center; }
.checkout-progress:empty { margin: 0; }
@media (prefers-reduced-motion: reduce) { .woocommerce-checkout form.checkout.processing #payment #place_order::before { animation: none; border-right-color: currentColor; opacity: 0.6; } }
.order-next__account { margin: 12px 0 0; color: var(--c-muted); font-size: 14px; }
.woocommerce .woocommerce-order-details table.shop_table th:last-child, .woocommerce .woocommerce-order-details table.shop_table td:last-child { text-align: right; font-variant-numeric: tabular-nums; }

/* Reduced header of the checkout (template-parts/header/checkout-header.php). */
.checkout-header__line { margin: 0; padding: 7px var(--gutter); border-bottom: 1px solid var(--c-line); background: var(--c-soft); color: var(--c-ink-2); font-size: 13px; font-weight: 600; line-height: 1.3; text-align: center; }
.checkout-header .site-header__actions { gap: 8px; }
.checkout-header__help { white-space: nowrap; display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; border-radius: var(--r-sm); color: var(--c-ink); font-weight: 700; font-size: 14px; text-decoration: none; }
.checkout-header__help:hover { background: var(--c-soft); color: var(--c-ink); text-decoration: underline; }
.checkout-header__help .icon { display: none; width: 22px; height: 22px; }
/* Phones: the help link is a 44 px icon (its text visually hidden), so the centred logo keeps its room. */
@media (max-width: 479px) {
  .checkout-header__help { position: relative; justify-content: center; width: 44px; padding: 0; }
  .checkout-header__help .icon { display: block; }
  .checkout-header__help-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* ---------- Account ---------- */
/* Navigation (woocommerce/myaccount/navigation.php): the customer above a list with line icons; on phones a scrolling row
   of chips, beside the content from 960 px. */
.account-nav__me { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; }
.account-nav__avatar { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--c-plum); color: var(--c-champagne-on-plum); font-family: var(--f-serif); font-size: 22px; }
.account-nav__who { display: grid; min-width: 0; font-size: 13px; color: var(--c-muted); }
.account-nav__who strong { color: var(--c-ink); font-size: 15px; }
.account-nav__who span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 calc(-1 * var(--gutter)) 24px; padding: 0 var(--gutter) 4px; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { flex: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease; }
.woocommerce-account .woocommerce-MyAccount-navigation a .icon { width: 18px; height: 18px; color: var(--c-champagne-ink); }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { border-color: var(--c-ink); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { border-color: var(--c-plum); background: var(--c-plum); color: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a .icon { color: var(--c-champagne-on-plum); }
@media (min-width: 960px) {
  .woocommerce-account .woocommerce-MyAccount-navigation { width: 24%; padding: 22px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { flex-direction: column; gap: 2px; margin: 0; padding: 14px 0 0; border-top: 1px solid var(--c-line); overflow: visible; }
  .woocommerce-account .woocommerce-MyAccount-navigation a { display: flex; width: 100%; min-height: 46px; padding: 0 12px; border: 0; border-radius: var(--r-sm); background: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--c-soft); color: var(--c-berry); }
  .woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--c-soft); color: var(--c-berry); font-weight: 800; }
  .woocommerce-account .woocommerce-MyAccount-navigation .is-active a .icon { color: var(--c-berry); }
  .woocommerce-account .woocommerce-MyAccount-content { width: 72%; padding: 32px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); }
}
/* Start page (woocommerce/myaccount/dashboard.php). */
.account-home__hello { margin: 0 0 20px; font-size: clamp(28px, 1.2vw + 20px, 38px); line-height: 1.1; }
.account-last { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 6px 16px; margin: 0 0 24px; padding: 18px 20px; border-radius: var(--r-sm); background: var(--c-plum); color: var(--c-on-plum); text-decoration: none; }
.account-last:hover { color: var(--c-on-plum); background: var(--c-plum-2); }
.account-last__label { grid-column: 1 / -1; font-size: 11.5px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--c-champagne-on-plum); }
.account-last__main { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; font-size: 15px; }
.account-last__main strong { font-family: var(--f-serif); font-size: 22px; font-weight: 700; }
.account-last__status { padding: 3px 10px; border-radius: var(--r-sm); background: rgba(245, 237, 228, 0.12); font-size: 13px; font-weight: 700; }
.account-last .icon { width: 22px; height: 22px; color: var(--c-champagne-on-plum); }
.account-last:has(+ .account-last__tracking) { margin-bottom: 10px; }
.account-last__tracking { margin: 0 0 24px; padding: 0 4px; color: var(--c-muted); font-size: 14px; }
.account-last__tracking a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }
.account-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
@media (min-width: 640px) { .account-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.account-card { display: grid; gap: 6px; height: 100%; padding: 20px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-bg, #faf6f0); color: var(--c-ink); text-decoration: none; transition: border-color 0.15s ease, transform 0.2s var(--ease-out); }
.account-card:hover { border-color: var(--c-ink); color: var(--c-ink); transform: translateY(-2px); }
.account-card__icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 6px; border-radius: 50%; background: var(--c-surface); color: var(--c-berry); box-shadow: inset 0 0 0 1px var(--c-line); }
.account-card__icon .icon { width: 20px; height: 20px; }
.account-card__title { font-weight: 800; }
.account-card__text { color: var(--c-muted); font-size: 14px; line-height: 1.45; }
/* Orders table: dates and amounts never break, the actions sit in one wrapping row. */
.woocommerce-account .woocommerce-orders-table__cell-order-date, .woocommerce-account .woocommerce-orders-table__cell-order-number { white-space: nowrap; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button { margin: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content mark { padding: 0; background: none; color: inherit; font-weight: 700; }
.woocommerce .woocommerce-order-details .button, .woocommerce-account .woocommerce-orders-table .button, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-button { min-height: 40px; padding: 0 14px; border: 1px solid var(--c-ink); background: var(--c-surface); color: var(--c-ink); font-size: 12px; }
.woocommerce .woocommerce-order-details .button:hover, .woocommerce-account .woocommerce-orders-table .button:hover, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-button:hover { background: var(--c-ink); color: #fff; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { padding: 20px; border: 1px solid var(--c-line); border-radius: var(--r-sm); }
.woocommerce-account .woocommerce-Address-title h2 { font-size: 18px; letter-spacing: -0.01em; }
/* The add or edit link sits on the heading's line as a 44 px target, not floated above the address. */
.woocommerce-account .woocommerce-Address-title { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 16px; margin: 0 0 8px; }
/* WooCommerce's clearfix pseudo elements (.addresses .title::before) would be flex items and push the heading. */
.woocommerce-account .addresses .woocommerce-Address-title::before, .woocommerce-account .addresses .woocommerce-Address-title::after { content: none; display: none; }
.woocommerce-account .woocommerce-Address-title h2, .woocommerce-account .woocommerce-Address-title .edit { float: none; margin: 0; }
.woocommerce-account .woocommerce-Address-title .edit { display: inline-flex; align-items: center; min-height: 44px; color: var(--c-berry); font-size: 14px; font-weight: 700; text-decoration: none; }
.woocommerce-account .woocommerce-Address-title .edit:hover { text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-account .woocommerce-MyAccount-content > form > h2 { margin: 0 0 20px; }
.woocommerce-account .woocommerce-Address address { font-style: normal; line-height: 1.6; }
.woocommerce form.login, .woocommerce form.register { margin: 0 0 32px; padding: 24px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); }
@media (min-width: 768px) { .woocommerce form.login, .woocommerce form.register { padding: 28px; } }
.woocommerce form.login > p:not(.form-row), .woocommerce form.register > p:not(.form-row), .woocommerce form.register .woocommerce-privacy-policy-text p { padding: 0 3px; color: var(--c-muted); }
.woocommerce .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.woocommerce .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit)::before, .woocommerce .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit)::after { content: none; display: none; }
.woocommerce .woocommerce-form-login .woocommerce-form-login__submit { float: none; margin: 0; }
.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme { display: inline-flex; }
.woocommerce .woocommerce-LostPassword { margin: 4px 0 0; padding: 0 3px; }
.woocommerce .woocommerce-LostPassword a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 700; }
/* Lost and reset password (WooCommerce's own forms): the same white card as the login, one column, a way back. */
.woocommerce form.lost_reset_password { max-width: 560px; margin: 8px 0 0; padding: 28px 22px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); }
@media (min-width: 768px) { .woocommerce form.lost_reset_password { padding: 40px 44px; } }
.woocommerce form.lost_reset_password > p:first-child { margin: 0 0 22px; color: var(--c-muted); }
.woocommerce form.lost_reset_password .form-row { float: none; width: 100%; margin: 0 0 16px; padding: 0; }
.woocommerce form.lost_reset_password .input-text { min-height: 50px; }
.woocommerce form.lost_reset_password .button { width: 100%; min-height: 52px; margin: 4px 0 0; }
.auth-back { max-width: 560px; margin: 16px 0 0; }
.auth-back a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--c-ink); font-size: 14px; font-weight: 700; text-decoration: none; }
.auth-back a:hover { color: var(--c-berry); }
.auth-back .icon { width: 18px; height: 18px; transform: scaleX(-1); }
/* Login by email link: request form below the columns, confirm form above them. */
.woocommerce form.magic-link-form, .woocommerce form.magic-link-confirm { clear: both; margin: 0 0 32px; padding: 24px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); }
@media (min-width: 768px) { .woocommerce form.magic-link-form, .woocommerce form.magic-link-confirm { padding: 28px; } }

/* Login and registration (woocommerce/myaccount/form-login.php): one card with tabs beside the plum account panel. */
.auth { display: grid; gap: 24px; margin: 8px 0 0; }
@media (min-width: 960px) { .auth { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 0; align-items: stretch; } }
.auth__card { padding: 28px 22px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); }
@media (min-width: 960px) { .auth__card { padding: 44px 48px; border-radius: var(--r-sm) 0 0 var(--r-sm); border-right: 0; } }
.auth__tabs { display: grid; grid-template-columns: 1fr 1fr; margin: 0 0 28px; padding: 4px; border-radius: var(--r-sm); background: var(--c-soft); }
.auth__tabs[hidden] { display: none; }
.auth__tab { min-height: 44px; border: 0; border-radius: var(--r-sm); background: none; color: var(--c-ink-2); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease; }
.auth__tab[aria-selected="true"] { background: var(--c-surface); color: var(--c-ink); box-shadow: 0 2px 10px -4px rgba(43, 20, 34, 0.25); }
.auth__tab:focus-visible { outline: 3px solid var(--c-berry); outline-offset: 2px; }
.auth.is-tabs .auth__panel[data-auth-hidden] { display: none; }
.auth:not(.is-tabs) .auth__panel + .auth__panel { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--c-line); }
.auth__title { margin: 0; font-size: clamp(28px, 1.2vw + 20px, 36px); line-height: 1.1; }
.auth__lead { margin: 8px 0 22px; color: var(--c-muted); }
.woocommerce .auth form.login, .woocommerce .auth form.register { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.woocommerce .auth form .form-row { padding: 0; margin: 0 0 16px; }
.woocommerce .auth form .input-text { min-height: 50px; }
.auth__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 20px; font-size: 14px; }
.auth__row label { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.auth__lost { display: inline-flex; align-items: center; min-height: 44px; color: var(--c-berry); font-weight: 600; text-decoration: none; }
.auth__lost:hover { text-decoration: underline; text-underline-offset: 3px; }
.woocommerce .auth .auth__submit { width: 100%; min-height: 52px; margin: 0; }
.auth__or { display: flex; align-items: center; gap: 14px; margin: 26px 0 18px; color: var(--c-muted); font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
.auth__or::before, .auth__or::after { content: ""; flex: 1; height: 1px; background: var(--c-line); }
.woocommerce .auth form.magic-link-form { margin: 0; padding: 18px; border: 1px dashed var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-bg, #faf6f0); }
.magic-link-form__title { margin: 0; font-weight: 800; }
.magic-link-form__text { margin: 2px 0 12px; color: var(--c-muted); font-size: 14px; }
.woocommerce .auth form.magic-link-form .form-row { margin-bottom: 10px; }
.woocommerce .auth .magic-link-form__submit { width: 100%; min-height: 46px; border: 1px solid var(--c-ink); background: var(--c-surface); color: var(--c-ink); }
.woocommerce .auth .magic-link-form__submit:hover { background: var(--c-ink); color: #fff; }
.auth__aside { position: relative; display: none; overflow: hidden; padding: 44px 40px 0; border-radius: 0 var(--r-sm) var(--r-sm) 0; background: radial-gradient(70% 60% at 55% 70%, rgba(150, 84, 112, 0.55) 0%, transparent 70%), linear-gradient(160deg, #46203a 0%, var(--c-plum) 70%); color: var(--c-on-plum); }
@media (min-width: 960px) { .auth__aside { display: flex; flex-direction: column; } }
.auth__aside-title { margin: 0 0 18px; font-family: var(--f-serif); font-size: 30px; line-height: 1.1; }
.auth__perks { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.auth__perks li { display: flex; align-items: center; gap: 12px; font-size: 15px; color: rgba(245, 237, 228, 0.9); }
.auth__perks .icon { flex: none; width: 22px; height: 22px; color: var(--c-champagne-on-plum); }
.auth__aside-img { display: block; width: 86%; max-width: 420px; height: auto; margin: auto auto -6px; padding-top: 20px; }
.woocommerce form.magic-link-form h2, .woocommerce form.magic-link-confirm h2 { margin: 0 0 12px; font-size: 18px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.25; }
.woocommerce form.magic-link-form > p:not(.form-row), .woocommerce form.magic-link-confirm > p { padding: 0 3px; color: var(--c-muted); }
.woocommerce form.magic-link-confirm { border-color: var(--c-berry); }
.woocommerce form.magic-link-form button.button { border: 1px solid var(--c-ink); background: var(--c-surface); color: var(--c-ink); }
.woocommerce form.magic-link-form button.button:hover { background: var(--c-ink); color: #fff; }
@media (max-width: 767px) { .woocommerce form.magic-link-form button.button, .woocommerce form.magic-link-confirm button.button { width: 100%; } }
/* Account deletion below the details form: separated by a line, the button in berry outline. */
.woocommerce .account-delete { clear: both; margin: 40px 0 0; padding: 32px 0 0; border-top: 1px solid var(--c-line); }
.woocommerce .account-delete h2 { margin: 0 0 12px; font-size: 18px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.25; }
.woocommerce .account-delete > p, .woocommerce .account-delete .account-delete__hint { color: var(--c-muted); }
.woocommerce .account-delete .account-delete__hint a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }
.woocommerce form .form-row.account-delete__confirm label { display: flex; align-items: center; gap: 12px; min-height: 44px; margin: 0; cursor: pointer; line-height: 1.4; }
.woocommerce form .form-row.account-delete__confirm input[type="checkbox"] { flex: none; width: 24px; height: 24px; margin: 0; accent-color: var(--c-berry); }
.woocommerce .account-delete button.button { border: 1px solid var(--c-berry); background: var(--c-surface); color: var(--c-berry); }
.woocommerce .account-delete button.button:hover { border-color: var(--c-berry); background: var(--c-berry); color: #fff; }
@media (max-width: 767px) { .woocommerce .account-delete button.button { width: 100%; } }

/* ---------- 404 ---------- */
.not-found__lead { margin: 0; color: var(--c-muted); }
.not-found__block { display: grid; gap: 16px; margin: 40px 0 0; }
.not-found__title { font-size: var(--fs-h2); }
.not-found .product-grid { list-style: none; margin: 0; padding: 0; }
.not-found__search { display: flex; gap: 8px; max-width: 560px; margin: 20px 0 0; }
.not-found__search input[type="search"] { flex: 1 1 auto; min-width: 0; min-height: 48px; padding: 0 16px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font: inherit; font-size: 15px; }
.not-found__search input[type="search"]::placeholder { color: var(--c-placeholder-text); opacity: 1; }
.not-found__search input[type="search"]:focus-visible { outline: none; border-color: var(--c-ink); box-shadow: var(--ring); }
.not-found__back { margin: 40px 0 0; }

/* ---------- Order received ---------- */
.woocommerce-order { display: grid; gap: 28px; max-width: 880px; }
.woocommerce-order > * { margin: 0; }
.woocommerce .woocommerce-order .woocommerce-thankyou-order-received { position: relative; margin: 0; padding: 18px 20px 18px 56px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); font-size: 18px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.35; }
.woocommerce .woocommerce-order .woocommerce-thankyou-order-received::before { content: ""; position: absolute; left: 20px; top: 19px; width: 24px; height: 24px; background: var(--c-berry); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='black'%3E%3Cpath d='M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='black'%3E%3Cpath d='M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
.woocommerce ul.order_details { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); margin: 0; padding: 0; border: 1px solid var(--c-line); border-radius: var(--r-sm); list-style: none; overflow: hidden; }
.woocommerce ul.order_details::before, .woocommerce ul.order_details::after { content: none; display: none; }
.woocommerce ul.order_details li { float: none; margin: 0 -1px -1px 0; padding: 14px 16px; border: 0; border-right: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); color: var(--c-muted); font-size: 11px; font-weight: 800; letter-spacing: 0.12em; line-height: 1.4; text-transform: uppercase; }
.woocommerce ul.order_details li strong { display: block; margin-top: 4px; color: var(--c-ink); font-size: 15px; font-weight: 700; letter-spacing: 0; line-height: 1.35; text-transform: none; overflow-wrap: anywhere; }
/* Section titles of the order received page: the checkout heading size, serif at 500 (DESIGN.md, Title serif). */
.woocommerce-order-details__title, .woocommerce-customer-details .woocommerce-column__title, .woocommerce-order .wc-bacs-bank-details-heading, .order-next__title { margin: 0 0 12px; font-size: 24px; font-weight: 500; letter-spacing: -0.01em; line-height: 1.2; }
.woocommerce .woocommerce-customer-details address { padding: 16px 20px; border: 1px solid var(--c-line); border-radius: var(--r-sm); font-style: normal; line-height: 1.6; }
.woocommerce .woocommerce-customer-details .woocommerce-columns--addresses { display: grid; gap: 20px; }
@media (min-width: 640px) { .woocommerce .woocommerce-customer-details .woocommerce-columns--addresses { grid-template-columns: 1fr 1fr; } }
.woocommerce .woocommerce-customer-details .woocommerce-columns--addresses .woocommerce-column { float: none; width: auto; }
.woocommerce .woocommerce-customer-details .woocommerce-columns--addresses::before, .woocommerce .woocommerce-customer-details .woocommerce-columns--addresses::after { content: none; display: none; }
/* "Kas toliau?" (inc/checkout.php): three steps with serif numerals between hairlines, like the parcel story. */
.order-next__steps { list-style: none; margin: 0; padding: 0 20px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); }
.order-next__step { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 0 12px; align-items: start; align-content: start; padding: 16px 0; border-top: 1px solid var(--c-line); }
.order-next__step:first-child { border-top: 0; }
.order-next__num { font-family: var(--f-serif); font-size: 32px; font-weight: 600; line-height: 0.9; color: var(--c-champagne-ink); font-variant-numeric: lining-nums; }
.order-next__step-title { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.3; }
.order-next__step p { margin: 4px 0 0; color: var(--c-muted); font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
@media (min-width: 768px) {
  .order-next__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; }
  .order-next__step { grid-template-columns: 1fr; gap: 10px; padding: 20px; border-top: 0; border-left: 1px solid var(--c-line); }
  .order-next__step:first-child { border-left: 0; }
}

/* ---------- Wishlist ---------- */
.product-card { position: relative; }
.wish-btn { position: absolute; top: 4px; right: 4px; z-index: 1; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: var(--r-sm); background: transparent; color: var(--c-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; text-decoration: none; transition: color 0.15s ease; }
.wish-btn:hover { color: var(--c-berry); }
/* A light square behind the heart keeps it visible on dark photos; the target stays 44 px. */
.product-card .wish-btn { isolation: isolate; }
.product-card .wish-btn::before { content: ""; position: absolute; inset: 5px; z-index: -1; border-radius: var(--r-sm); background: rgba(255, 255, 255, 0.88); }
.wish-btn .icon { width: 22px; height: 22px; }
.wish-btn:focus-visible { outline: 3px solid var(--c-berry); outline-offset: 2px; }
.wish-btn[aria-pressed="true"] { color: var(--c-berry); }
.wish-btn[aria-pressed="true"] svg { fill: var(--c-berry); }
.wish-btn[data-busy] { cursor: progress; opacity: 0.7; }
.wish-msg { position: absolute; top: 52px; right: 8px; left: 8px; z-index: 1; margin: 0; padding: 8px 12px; border-radius: var(--r-sm); background: #fff; color: var(--c-ink); font-size: 14px; line-height: 1.35; box-shadow: var(--shadow-pop); }
.wish-msg:empty { display: none; }
.wish-msg a { color: var(--c-berry); font-weight: 700; }
.guest-wishlist { display: grid; gap: 12px; margin-bottom: 24px; padding: 24px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); }
.guest-wishlist h2 { font-size: 18px; letter-spacing: -0.01em; }
.guest-wishlist p { margin: 0; color: var(--c-muted); }
.wishlist-empty { display: grid; justify-items: start; gap: 6px; padding: 28px 24px; border: 1px dashed var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-bg, #faf6f0); }
.wishlist-empty > .icon { width: 28px; height: 28px; margin-bottom: 4px; color: var(--c-berry); }
.wishlist-empty__title { margin: 0; font-family: var(--f-serif); font-size: 24px; line-height: 1.2; }
.wishlist-empty__text { margin: 0 0 12px; color: var(--c-muted); }
.woocommerce .wishlist-empty .button { min-height: 48px; }
.woocommerce-account .wishlist-grid { margin: 0; }
@media (min-width: 1200px) { .woocommerce-account ul.products.wishlist-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- Coming soon (closed until launch) ---------- */
/* The ivory logo, the serif headline and the quiz as an ivory card, all on the plum art background (slot coming-soon,
   fixed behind the page, with a soft vignette so the text keeps its contrast on any picture). */
body.coming-soon-page { background: var(--c-plum); color: var(--c-on-plum); }
.coming-soon__art { position: fixed; inset: 0; z-index: -2; aspect-ratio: auto; }
body.coming-soon-page::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(120% 90% at 50% 35%, rgba(23, 9, 16, 0.3) 0%, rgba(23, 9, 16, 0.72) 100%); }
.coming-soon { box-sizing: border-box; min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 40px 16px; text-align: center; }
.coming-soon__logo { width: 168px; max-width: 60vw; height: auto; filter: brightness(0) invert(1); opacity: 0.94; }
.coming-soon__title { margin: 16px 0 0; font-size: var(--fs-display); line-height: 1.02; letter-spacing: -0.015em; color: var(--c-on-plum); }
.coming-soon__text { max-width: 36rem; margin: 0; color: rgba(245, 237, 228, 0.88); font-size: 17px; line-height: 1.6; }
.coming-soon__contact { margin: 4px 0 0; font-size: 14px; }
.coming-soon__contact { color: var(--c-on-plum-muted); }
.coming-soon__contact a { color: var(--c-on-plum); font-weight: 700; }
.coming-soon__age { margin: 0; color: var(--c-on-plum-muted); font-size: 13px; letter-spacing: 0.04em; }

/* Lead quiz on the coming soon page (template-parts/coming-soon/quiz.php, assets/js/quiz.js). Mobile first. */
.quiz { position: relative; width: 100%; max-width: 580px; margin: 16px 0 8px; padding: 24px 20px; border: 1px solid rgba(199, 168, 119, 0.5); border-radius: var(--r-sm); background: var(--c-page); color: var(--c-ink); text-align: left; box-shadow: var(--shadow-lift); }
.quiz [hidden] { display: none !important; }
.quiz__title { font-size: 28px; line-height: 1.1; }
.quiz__intro { margin: 8px 0 0; color: var(--c-muted); font-size: 15px; line-height: 1.5; }
.quiz__form { margin-top: 20px; }
.quiz__progress { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; color: var(--c-ink); font-size: 12px; font-weight: 800; letter-spacing: 0.12em; font-variant-numeric: tabular-nums; }
.quiz__bar { flex: 1; height: 4px; overflow: hidden; border-radius: var(--r-xs); background: var(--c-soft-2); }
.quiz__bar-fill { display: block; width: 100%; height: 100%; background: var(--c-berry); transform: scaleX(0); transform-origin: left center; transition: transform 0.3s var(--ease-out); }
.quiz__step { min-width: 0; margin: 0; padding: 0; border: 0; }
.quiz__legend { margin: 0; padding: 0; }
.quiz__question { font-family: var(--f-serif); font-size: var(--fs-h3); font-weight: 700; letter-spacing: -0.01em; line-height: 1.15; }
.quiz__question:focus { outline: none; }
.quiz__hint { margin: 6px 0 0; color: var(--c-muted); font-size: 13px; }
/* Every box of a question has the height of the tallest one (a label on two lines), the label centred in it. */
.quiz__options { display: grid; grid-auto-rows: 1fr; gap: 8px; margin-top: 16px; }
.quiz__option { position: relative; display: block; height: 100%; }
.quiz__option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.quiz__option span { box-sizing: border-box; display: flex; align-items: center; gap: 12px; height: 100%; min-height: 52px; padding: 10px 14px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); font-size: 15px; font-weight: 600; line-height: 1.3; cursor: pointer; transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease; }
.quiz__option span::before { content: ""; flex: none; width: 18px; height: 18px; border: 1px solid var(--c-line-strong); border-radius: 50%; background: var(--c-surface); }
.quiz__option input[type="checkbox"] + span::before { border-radius: var(--r-xs); }
.quiz__option span:hover { border-color: var(--c-ink); }
.quiz__option input:checked + span { border-color: var(--c-ink); background: var(--c-ink); color: #fff; }
.quiz__option input:checked + span::before { border-color: #fff; background: #fff; box-shadow: inset 0 0 0 4px var(--c-ink); }
.quiz__option input[type="checkbox"]:checked + span::before { box-shadow: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%231C1A1B'%3E%3Cpath d='M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E") center / 13px no-repeat; }
.quiz__option input:focus-visible + span { outline: 3px solid var(--c-berry); outline-offset: 2px; }
.quiz__label { display: block; margin: 16px 0 6px; font-size: 13px; font-weight: 700; }
.quiz__email { width: 100%; min-height: 48px; padding: 0 16px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font: inherit; font-size: 16px; }
.quiz__email:focus-visible { outline: none; border-color: var(--c-ink); box-shadow: var(--ring); }
.quiz__email[aria-invalid="true"] { border-color: var(--c-berry); }
.quiz__consent { display: flex; align-items: flex-start; gap: 10px; margin-top: 16px; font-size: 13px; line-height: 1.45; cursor: pointer; }
.quiz__consent input { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--c-ink); }
.quiz__small { margin: 8px 0 0 30px; font-size: 13px; }
.quiz__small a { color: var(--c-ink); }
.quiz__submit { width: 100%; min-height: 50px; margin-top: 18px; }
.quiz__status { margin: 12px 0 0; color: var(--c-berry-dark); font-size: 13px; font-weight: 700; }
.quiz__status:empty { margin: 0; }
.quiz__nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--c-line); }
.quiz__next { flex: 1 1 auto; }
.quiz__skip { padding: 0 14px; background: transparent; color: var(--c-ink-2); text-decoration: underline; text-underline-offset: 3px; }
.quiz__skip:hover { color: var(--c-ink); }
.quiz__done { margin-top: 20px; padding: 20px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-soft); }
.quiz__done-title { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; font-size: 18px; font-weight: 800; line-height: 1.2; }
.quiz__done-title:focus { outline: none; }
.quiz__code { padding: 8px 16px; border: 1px dashed var(--c-ink); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font-size: 26px; font-weight: 800; letter-spacing: 0.08em; }
.quiz__copy { margin-top: 14px; }
.quiz__copy-status { margin: 8px 0 0; font-size: 13px; font-weight: 700; }
.quiz__copy-status:empty { margin: 0; }
.quiz__done-text { margin: 12px 0 0; color: var(--c-muted); font-size: 14px; }
.quiz__step.is-entering { animation: quiz-in 0.34s var(--ease-out); }
.quiz__step.is-entering.is-back { animation-name: quiz-back; }
@keyframes quiz-in { from { opacity: 0; transform: translateX(24px); } }
@keyframes quiz-back { from { opacity: 0; transform: translateX(-24px); } }
.quiz__option input:checked + span { animation: quiz-pick 0.24s ease-out; }
@keyframes quiz-pick { 40% { transform: scale(0.98); } }
@media (min-width: 560px) { .quiz__options { grid-template-columns: 1fr 1fr; } }
@media (min-width: 768px) { .quiz { padding: 36px 40px; } }
@media (prefers-reduced-motion: reduce) {
  .quiz__step.is-entering, .quiz__option input:checked + span { animation: none; }
  .quiz__bar-fill, .quiz__option span { transition: none; }
}

/* ---------- Cart drawer ---------- */
/* Above the cookie banner (900), always below the age gate (1000). */
.cart-drawer { position: fixed; inset: 0; z-index: 950; pointer-events: none; }
.cart-drawer[hidden] { display: none; }
.cart-drawer.is-open { pointer-events: auto; }
html.cart-drawer-open, html.cart-drawer-open body { overflow: hidden; }
.cart-drawer__backdrop { position: absolute; inset: 0; background: rgba(28, 26, 27, 0.5); opacity: 0; transition: opacity 0.2s ease; }
.cart-drawer.is-open .cart-drawer__backdrop { opacity: 1; transition-duration: 0.3s; }
.cart-drawer__panel { position: absolute; top: 0; right: 0; bottom: 0; width: 100%; display: flex; flex-direction: column; background: var(--c-surface); color: var(--c-ink); box-shadow: -24px 0 40px -24px rgba(28, 26, 27, 0.4); transform: translateX(100%); transition: transform 0.22s cubic-bezier(0.4, 0, 1, 1); }
.cart-drawer.is-open .cart-drawer__panel { transform: none; transition: transform 0.38s cubic-bezier(0.32, 0.72, 0, 1); }
.cart-drawer__panel:focus { outline: none; }
@media (min-width: 640px) { .cart-drawer__panel { width: 420px; overflow: hidden; } }
@media (prefers-reduced-motion: reduce) {
  .cart-drawer__backdrop, .cart-drawer.is-open .cart-drawer__backdrop, .cart-drawer__panel, .cart-drawer.is-open .cart-drawer__panel { transition: none; }
}
.cart-drawer__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px 14px 20px; border-bottom: 1px solid var(--c-line); }
@media (min-width: 640px) { .cart-drawer__head { padding: 18px 20px 16px 24px; } }
.cart-drawer__title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; font-size: 28px; line-height: 1.1; }
.cart-drawer__count { padding: 4px 8px; border-radius: var(--r-xs); background: var(--c-soft); color: var(--c-ink); font-family: var(--f-body); font-size: 13px; font-weight: 700; letter-spacing: 0; line-height: 1.2; }
.cart-drawer__count:empty { display: none; }
.cart-drawer__close { flex: none; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.cart-drawer__close:hover { border-color: var(--c-ink); }
.cart-drawer__body { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.cart-drawer__scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; display: grid; align-content: start; gap: 12px; padding: 16px 16px 20px; }
@media (min-width: 640px) { .cart-drawer__scroll { padding: 16px 24px 24px; } }
.cart-drawer .cart-progress { gap: 8px; margin: 0; padding: 12px 14px; border-radius: var(--r-sm); }
.cart-drawer .cart-progress__text { font-size: 13px; }
.cart-drawer__lines { list-style: none; margin: 0; padding: 0; display: grid; }
/* In the drawer the lines are rows between hairlines; on the cart page each line keeps its border. */
.cart-drawer .cart-line { padding: 14px 0; border: 0; border-bottom: 1px solid var(--c-line); border-radius: 0; }
.cart-drawer .cart-line:first-child { padding-top: 4px; }
/* The gift is a tinted card of its own in the drawer too, its tint never flush with the panel's edge. */
.cart-drawer .cart-line--gift { margin: 10px 0 4px; padding: 12px; border: 0; border-radius: var(--r-sm); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c-berry) 22%, var(--c-line)); }
.cart-drawer .cart-line--gift .cart-line__remove { margin: -4px -4px 0 0; }
.cart-line { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; grid-template-areas: "media info remove" "media row row"; gap: 6px 14px; padding: 12px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); }
.cart-line__media { grid-area: media; display: block; width: 76px; height: 76px; border-radius: var(--r-sm); overflow: hidden; background: var(--c-ph); }
.cart-line__media img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.cart-line__info { grid-area: info; min-width: 0; display: grid; gap: 2px; align-content: start; padding-top: 2px; }
.cart-line__name { color: var(--c-ink); font-weight: 600; font-size: 14px; line-height: 1.35; text-decoration: none; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; overflow-wrap: anywhere; }
a.cart-line__name:hover { color: var(--c-berry); text-decoration: underline; }
.cart-line__meta, .cart-line__unit { margin: 0; font-size: 13px; line-height: 1.4; color: var(--c-muted); }
/* pleasure-promo's gift line: a berry badge and a tinted card so the free unit reads as a present, not a 0 € product. */
.cart-line--gift { border-color: color-mix(in srgb, var(--c-berry) 28%, var(--c-line)); background: linear-gradient(135deg, var(--c-berry-tint), var(--c-surface) 70%); }
.cart-line__gift { margin: 4px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: 13px; line-height: 1.4; color: var(--c-muted); }
.cart-line__gift-badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px 3px 8px; border-radius: var(--r-sm); background: var(--c-berry); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: 0.02em; }
.cart-line__gift-badge .icon { width: 14px; height: 14px; }
.cart-line--gift .cart-line__total del { color: var(--c-muted); font-weight: 600; font-size: 13px; }
.cart-line--gift .cart-line__total ins { color: var(--c-berry); text-decoration: none; }
.cart-line__remove { grid-area: remove; width: 44px; height: 44px; margin: -6px -6px 0 0; padding: 0; border: 0; border-radius: var(--r-sm); background: none; color: var(--c-muted); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.cart-line__remove:hover { background: var(--c-soft); color: var(--c-berry); }
.cart-line__remove .icon { width: 20px; height: 20px; }
.cart-line__row { grid-area: row; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.cart-line__single { margin: 0; font-size: 13px; font-weight: 600; color: var(--c-muted); }
.cart-line__total { margin-left: auto; font-weight: 800; font-size: 16px; font-variant-numeric: tabular-nums; white-space: nowrap; transition: opacity 0.15s ease; }
.cart-line[aria-busy="true"] .cart-line__total { opacity: 0.45; }
.qty-stepper { display: inline-flex; align-items: center; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); }
.qty-stepper__btn { width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: var(--r-sm); background: none; color: var(--c-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.qty-stepper__btn .icon { width: 18px; height: 18px; }
.qty-stepper__btn:hover { background: var(--c-soft); }
.qty-stepper__btn[aria-disabled="true"] { color: var(--c-star-empty); background: none; cursor: not-allowed; }
.qty-stepper__input { width: 38px; height: 44px; margin: 0; padding: 0; border: 0; background: none; color: var(--c-ink); font: inherit; font-weight: 700; font-size: 16px; text-align: center; -moz-appearance: textfield; appearance: textfield; }
.qty-stepper__input::-webkit-outer-spin-button, .qty-stepper__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.qty-stepper__input:focus-visible { outline-offset: 0; border-radius: var(--r-sm); }
.cart-drawer__foot { display: grid; gap: 10px; padding: 16px 16px calc(16px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--c-line); background: var(--c-surface); }
@media (min-width: 640px) { .cart-drawer__foot { padding: 18px 24px 24px; } }
.cart-drawer__sum, .cart-drawer__discount { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0; font-size: 14px; font-weight: 700; }
.cart-drawer__sum-value { font-size: 22px; font-weight: 800; font-variant-numeric: tabular-nums; }
.cart-drawer__discount { color: var(--c-berry); }
.cart-drawer__note { margin: -4px 0 4px; font-size: 13px; line-height: 1.4; color: var(--c-muted); }
/* With a discount the amount to pay leads (drawer-body.php): the subtotal above it steps down to a plain row. */
.cart-drawer__total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 2px 0 0; padding-top: 10px; border-top: 1px solid var(--c-line); font-size: 15px; font-weight: 800; }
.cart-drawer__total-value { font-size: 22px; font-weight: 800; font-variant-numeric: tabular-nums; }
.cart-drawer__total-hint { color: var(--c-muted); font-size: 13px; font-weight: 600; white-space: nowrap; }
.cart-drawer__foot:has(.cart-drawer__total) .cart-drawer__sum { font-weight: 600; }
.cart-drawer__foot:has(.cart-drawer__total) .cart-drawer__sum-value { font-size: 14px; font-weight: 700; }
.cart-drawer__foot .btn { width: 100%; min-height: 50px; }
/* One filled button: the way to the cart page is a quiet underlined action under it (still 44 px tall). */
.cart-drawer__foot .btn--soft { min-height: 44px; margin-top: -4px; border-color: transparent; background: none; color: var(--c-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.cart-drawer__foot .btn--soft:hover { background: var(--c-soft); color: var(--c-ink); }
/* Long names: three lines, then "Visas pavadinimas" opens the whole name (site.js shows it only for a cut name). */
.cart-line.is-name-open .cart-line__name { display: block; -webkit-line-clamp: none; line-clamp: none; }
.cart-line__more { justify-self: start; display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; margin: -10px 0 -8px; padding: 0; border: 0; background: none; color: var(--c-berry); font: inherit; font-size: 13px; font-weight: 700; text-decoration: underline; cursor: pointer; }
.cart-line__more[hidden] { display: none; }
/* Add-ons that cover the free delivery gap (template-parts/cart/upsell.php). */
.cart-upsell { display: grid; gap: 10px; padding: 14px 16px 16px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); }
.cart-upsell__title { font-family: var(--f-body); font-size: 12px; font-weight: 800; letter-spacing: 0.16em; line-height: 1.3; text-transform: uppercase; }
.cart-upsell__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cart-upsell__item { display: grid; grid-template-columns: 56px minmax(0, 1fr) 44px; align-items: center; gap: 12px; }
.cart-upsell__media { display: block; width: 56px; height: 56px; border-radius: var(--r-sm); overflow: hidden; background: var(--c-ph); }
.cart-upsell__media img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.cart-upsell__info { display: grid; gap: 2px; min-width: 0; }
.cart-upsell__name { color: var(--c-ink); font-size: 13px; line-height: 1.35; text-decoration: none; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
a.cart-upsell__name:hover { color: var(--c-berry); text-decoration: underline; }
.cart-upsell__price { font-size: 14px; font-weight: 800; font-variant-numeric: tabular-nums; }
.cart-upsell__price del { color: var(--c-muted); font-weight: 400; margin-right: 4px; }
.cart-upsell__price ins { text-decoration: none; }
.cart-upsell__add { width: 44px; height: 44px; border-radius: var(--r-sm); background: var(--c-ink); color: #fff; display: inline-flex; align-items: center; justify-content: center; transition: background-color 0.15s ease; }
.cart-upsell__add:hover { background: var(--c-berry); color: #fff; }
.cart-upsell__add .icon { width: 20px; height: 20px; }
.cart-upsell__add[aria-busy="true"] { opacity: 0.6; cursor: progress; }
.cart-page .cart-upsell { padding: 18px 20px 20px; }
.cart-page .cart-upsell__title { font-size: 12px; }
/* auto-fit: two add-ons share the card's width instead of leaving an empty third column. */
@media (min-width: 640px) { .cart-page .cart-upsell__list { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); } }
.cart-line__stock { margin: 2px 0 0; font-size: 12px; font-weight: 700; color: var(--c-berry); }
.cart-drawer__loading { flex: 1; display: grid; align-content: center; justify-items: center; gap: 14px; padding: 32px 24px 64px; text-align: center; color: var(--c-muted); }
.cart-drawer__loading-text { margin: 0; font-weight: 700; }
.cart-drawer__spinner { width: 32px; height: 32px; border-radius: 50%; border: 3px solid var(--c-line); border-top-color: var(--c-ink); animation: cart-drawer-spin 0.8s linear infinite; }
@keyframes cart-drawer-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .cart-drawer__spinner { animation-duration: 2.4s; } }
.cart-drawer__empty { flex: 1; display: grid; align-content: center; justify-items: center; gap: 12px; padding: 32px 24px 64px; text-align: center; }
.cart-drawer__empty-icon { width: 72px; height: 72px; margin-bottom: 8px; border-radius: var(--r-sm); background: var(--c-soft); color: var(--c-ink); display: inline-flex; align-items: center; justify-content: center; }
.cart-drawer__empty-icon .icon { width: 32px; height: 32px; stroke-width: 1.4; }
.cart-drawer__empty-title { margin: 0; font-family: var(--f-serif); font-size: 26px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.1; }
.cart-drawer__empty-text { margin: 0 0 8px; max-width: 280px; color: var(--c-muted); }
/* The drawer replaces WooCommerce's "view cart" link after a card add (its own rule shows it on shop pages). */
.woocommerce .product-card a.added_to_cart, .woocommerce ul.products li.product .product-card a.added_to_cart { display: none; }

/* ---------- Catalog menu (desktop) and mobile menu ---------- */
.catalog-count { font-family: var(--f-body); font-size: 12px; font-weight: 500; color: var(--c-count); letter-spacing: 0; }
/* "Katalogas" opens a full-width mega menu under the navigation line (template-parts/header/catalog.php). */
.catalog { position: static; }
.catalog__toggle { list-style: none; display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 14px; color: var(--c-ink); font-weight: 700; font-size: 12.5px; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; user-select: none; transition: color 0.15s ease; }
.catalog__toggle::-webkit-details-marker { display: none; }
.catalog__toggle .icon { width: 20px; height: 20px; }
.catalog__toggle:hover { color: var(--c-berry); }
.catalog[open] > .catalog__toggle { color: var(--c-berry); box-shadow: inset 0 -2px 0 var(--c-berry); }
.catalog__panel { position: absolute; left: 0; right: 0; top: 100%; z-index: 60; max-height: calc(100vh - 190px); overflow-y: auto; overscroll-behavior: contain; background: var(--c-surface); border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); box-shadow: 0 24px 32px -24px rgba(28, 26, 27, 0.4); }
.catalog__inner { display: grid; grid-template-columns: minmax(220px, 260px) minmax(0, 1fr) minmax(0, 260px); gap: 24px 40px; padding-top: 28px; padding-bottom: 24px; }
.catalog__tops { list-style: none; margin: 0; padding: 0 24px 0 0; border-right: 1px solid var(--c-line); display: grid; align-content: start; gap: 2px; }
.catalog__top { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 48px; padding: 4px 10px 4px 6px; border-radius: var(--r-sm); color: var(--c-ink); font-weight: 700; font-size: 14px; text-decoration: none; transition: background-color 0.15s ease, color 0.15s ease; }
.catalog__top .catalog__icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: var(--r-sm); background: var(--c-soft); color: var(--c-ink); }
.catalog__top .catalog__icon svg { width: 22px; height: 22px; }
.catalog__top.is-active, .catalog__top:hover, .catalog__top:focus-visible { background: var(--c-soft); color: var(--c-berry); }
.catalog__top.is-active .catalog__icon { background: var(--c-surface); color: var(--c-berry); }
.catalog__panes { min-width: 0; }
.catalog__pane { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 240px); gap: 32px; align-items: start; animation: catalog-pane-in 0.18s var(--ease-out); }
.catalog__pane[hidden] { display: none; }
.catalog__pane-title { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 10px; font-family: var(--f-serif); font-size: 28px; font-weight: 700; line-height: 1.1; color: var(--c-ink); text-decoration: none; }
.catalog__pane-title .icon { width: 22px; height: 22px; color: var(--c-berry); transition: transform 0.2s var(--ease-out); }
.catalog__pane-title:hover { color: var(--c-berry); }
.catalog__pane-title:hover .icon { transform: translateX(4px); }
.catalog__pane-note { margin: 0; color: var(--c-muted); font-size: 14px; }
.catalog__children { list-style: none; margin: 0; padding: 0; columns: 2 180px; column-gap: 28px; }
.catalog__children li { break-inside: avoid; }
.catalog__children a { display: flex; align-items: baseline; gap: 8px; min-height: 36px; padding: 7px 0; border-bottom: 1px solid var(--c-line); color: var(--c-ink-2); font-size: 14px; text-decoration: none; }
.catalog__children a:hover { color: var(--c-berry); }
.catalog__pane-photo { display: block; overflow: hidden; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: #fff; }
.catalog__pane-art .art__img { transition: transform 0.6s var(--ease-out); }
.catalog__pane-photo:hover .catalog__pane-art .art__img { transform: scale(1.04); }
@keyframes catalog-pane-in { from { opacity: 0; transform: translateX(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .catalog__pane { animation: none; } }
@media (max-width: 1199px) { .catalog__inner { grid-template-columns: minmax(200px, 240px) minmax(0, 1fr); } .catalog__feat { display: none; } .catalog__pane { grid-template-columns: minmax(0, 1fr) minmax(0, 200px); } }
.catalog__feat { display: grid; align-content: start; gap: 6px; padding-left: 24px; border-left: 1px solid var(--c-line); }
.catalog__feat-img { border-radius: var(--r-sm); border: 1px solid var(--c-line); }
.catalog__feat-title { margin: 10px 0 0; font-family: var(--f-serif); font-size: 22px; font-weight: 700; line-height: 1.15; }
.catalog__feat-text { margin: 0; font-size: 14px; color: var(--c-muted); }
.catalog__feat-links { list-style: none; margin: 2px 0 4px; padding: 0; display: grid; }
.catalog__feat-links a { display: flex; align-items: center; min-height: 40px; border-bottom: 1px solid var(--c-line); color: var(--c-ink); font-size: 14px; font-weight: 600; text-decoration: none; }
.catalog__feat-links a:hover { color: var(--c-berry); }
.catalog__all { grid-column: 1 / -1; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding-top: 8px; border-top: 1px solid var(--c-line); color: var(--c-berry); font-weight: 700; font-size: 14px; text-decoration: none; }
.catalog__all .icon { width: 18px; height: 18px; }

/* Phones: the menu panel under the header row and search. */
.mnav { position: absolute; left: 0; right: 0; top: 100%; z-index: 60; display: grid; gap: 10px; max-height: calc(100dvh - 120px); overflow-y: auto; overscroll-behavior: contain; padding: 14px var(--gutter) 28px; background: var(--c-surface); border-top: 1px solid var(--c-line); box-shadow: 0 24px 32px -20px rgba(28, 26, 27, 0.35); }
/* The panel ends at the screen's bottom edge wherever the header is (site.js sets --mnav-top to the header's bottom:
   139 px under the top bar, 113 px once stuck), so its last links are always reachable; the page behind is dimmed
   and does not scroll while it is open. */
.mnav { max-height: calc(100vh - var(--mnav-top, 120px)); max-height: calc(100dvh - var(--mnav-top, 120px)); padding-left: max(var(--gutter), env(safe-area-inset-left, 0px)); padding-right: max(var(--gutter), env(safe-area-inset-right, 0px)); padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px)); }
@media (max-width: 959px) {
  html.mnav-open, html.mnav-open body { overflow: hidden; }
  html.mnav-open body::after { content: ""; position: fixed; inset: 0; z-index: 46; background: rgba(28, 26, 27, 0.45); }
}
.mnav__label { margin: 8px 0 0; font-size: 12px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-ink); }
.mnav__kam { list-style: none; margin: 6px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.mnav__cats, .mnav__children, .mnav__help { list-style: none; margin: 0; padding: 0; }
.mnav__cats > li + li { border-top: 1px solid var(--c-line); }
.mnav__row { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 0 2px; color: var(--c-ink); font-weight: 700; text-decoration: none; cursor: pointer; list-style: none; }
.mnav__row::-webkit-details-marker { display: none; }
.mnav__icon { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: var(--r-sm); background: var(--c-soft); }
.mnav__icon .pictogram { width: 18px; height: 18px; }
.mnav__row .catalog-count { margin-left: auto; }
.mnav__group > .mnav__row::after { content: ""; flex: none; width: 8px; height: 8px; margin: 0 6px 0 4px; border-right: 1.6px solid var(--c-ink); border-bottom: 1.6px solid var(--c-ink); transform: translateY(-2px) rotate(45deg); transition: transform 0.15s ease; }
.mnav__group[open] > .mnav__row::after { transform: translateY(2px) rotate(-135deg); }
.mnav__children { padding: 0 0 10px 48px; }
.mnav__children a { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 2px; color: var(--c-ink-2); text-decoration: none; }
.mnav__children a .catalog-count { margin-left: auto; }
.mnav__help { display: grid; gap: 0; margin-top: 4px; padding-top: 10px; border-top: 1px solid var(--c-line); }
.mnav__help a { display: flex; align-items: center; min-height: 44px; padding: 0 2px; color: var(--c-ink); font-weight: 600; text-decoration: none; }
.mnav__help a.mnav__accent { color: var(--c-berry); }
@media (prefers-reduced-motion: reduce) { .mnav__group > .mnav__row::after { transition: none; } }

/* Category page: subcategory chips under the title. */
.cat-chips { margin-top: 18px; }
/* position: relative keeps the visually hidden count texts inside the scroller (they would widen the page). */
.cat-chips__list { position: relative; list-style: none; margin: 0; padding: 0 0 4px; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: thin; }
@media (min-width: 768px) { .cat-chips__list { flex-wrap: wrap; overflow: visible; } }
.cat-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font-weight: 600; font-size: 14px; white-space: nowrap; text-decoration: none; box-shadow: inset 0 0 0 1px var(--c-line-strong); }
.cat-chip:hover { box-shadow: inset 0 0 0 1px var(--c-ink); color: var(--c-ink); }
.cat-chip[aria-current="page"] { background: var(--c-ink); color: #fff; box-shadow: none; }
.cat-chip[aria-current="page"] .catalog-count { color: #fff; }
.cat-chips__list--wrap { flex-wrap: wrap; overflow: visible; }
.shop-empty .cat-chips { margin: 4px 0 8px; }

/* ---------- Search suggestions ---------- */
/* The header search bar is the list's anchor. */
.suggest { position: absolute; left: -1px; right: -1px; top: calc(100% + 6px); z-index: 70; max-height: min(70vh, 520px); overflow-y: auto; overscroll-behavior: contain; padding: 6px; background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--r-sm); box-shadow: var(--shadow-pop); }
@media (min-width: 960px) { .suggest { right: auto; width: max(100%, 440px); } }
.suggest[hidden] { display: none; }
.suggest__head { display: block; padding: 10px 10px 4px; font-size: 12px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-muted); }
.suggest__option { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 6px 10px; border-radius: var(--r-sm); color: var(--c-ink); cursor: pointer; }
.suggest__option:hover, .suggest__option[aria-selected="true"] { background: var(--c-soft); }
.suggest__option[aria-selected="true"] { box-shadow: inset 0 0 0 2px var(--c-berry); }
.suggest__img { flex: none; width: 44px; height: 44px; border-radius: var(--r-sm); object-fit: contain; background: #fff; }
.suggest__logo { display: block; width: auto; height: 22px; max-width: 120px; object-fit: contain; filter: grayscale(1); opacity: 0.75; }
[role="option"]:hover .suggest__logo, [aria-selected="true"] .suggest__logo { filter: none; opacity: 1; }
.suggest__group--logos { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.suggest__group--logos > .suggest__head { flex-basis: 100%; }
.suggest__group--logos > .suggest__option--logo { flex: 0 0 auto; width: auto; min-height: 44px; padding: 8px 10px; }
.suggest__name { flex: 1; min-width: 0; font-size: 14px; line-height: 1.3; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.suggest__count { flex: none; font-size: 13px; color: var(--c-muted); }
.suggest__price { flex: none; font-weight: 800; font-size: 14px; white-space: nowrap; }
.suggest__all { font-weight: 700; color: var(--c-berry); }
/* The typed part of a name in bold (site.js), the relevance cue; no fill, so the selected row stays calm. */
.suggest__hit { background: none; color: inherit; font-weight: 800; }
/* No match: the note that heads the best sellers reads as a sentence, not as a group label. */
.suggest__head--note { padding-top: 12px; font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--c-ink-2); }

/* ---------- Product page on phones: back link and buy bar ---------- */
.crumb-back { display: none; }
@media (max-width: 959px) {
  .product-page .breadcrumbs { display: none; }
  .crumb-back { display: block; margin: -8px 0 8px; }
  .crumb-back a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--c-ink); font-size: 14px; font-weight: 600; text-decoration: none; }
  .crumb-back .icon { width: 18px; height: 18px; color: var(--c-berry); transform: rotate(180deg); }
}
.buy-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: flex; align-items: center; gap: 12px; padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--c-line); background: var(--c-surface); box-shadow: 0 -12px 28px -16px rgba(28, 26, 27, 0.28); animation: buy-bar-in 0.22s var(--ease-out); }
.buy-bar[hidden], body.age-gate-open .buy-bar { display: none; }
@media (min-width: 960px) { .buy-bar, .buy-bar[hidden] { display: none; } }
@keyframes buy-bar-in { from { transform: translateY(100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .buy-bar { animation: none; } }
.buy-bar__info { flex: 1; min-width: 0; display: grid; gap: 2px; }
.buy-bar__name { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 13px; font-weight: 600; color: var(--c-ink-2); }
.buy-bar__price { font-weight: 800; font-size: 18px; line-height: 1.1; color: var(--c-ink); font-variant-numeric: tabular-nums; }
.buy-bar__price del { margin-right: 6px; font-size: 13px; font-weight: 500; color: var(--c-muted); }
.buy-bar__price ins { color: var(--c-berry); text-decoration: none; }
.buy-bar__btn { flex: none; min-height: 48px; padding: 0 20px; }
@media (max-width: 959px) { html.has-buy-bar body { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); } }

/* ---------- Shop window home (owner 2026-10-08, after the competitor comparison) ---------- */
/* Offer carousel (template-parts/home/hero.php): light slides in a scroll-snap row. */
.promo-hero { padding-top: 16px; }
.promo-hero__frame { position: relative; }
.promo-hero__track { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; border-radius: var(--r-sm); }
.promo-hero__track::-webkit-scrollbar { display: none; }
.promo-slide { --slide-a: #fbe9ee; --slide-b: #f6d7e1; scroll-snap-align: start; display: grid; grid-template-rows: auto auto; min-width: 0; overflow: hidden; background: radial-gradient(80% 90% at 75% 55%, rgba(255, 255, 255, 0.75) 0%, rgba(255, 255, 255, 0) 60%), linear-gradient(135deg, var(--slide-a) 0%, var(--slide-b) 100%); color: var(--c-ink); }
.promo-slide--aqua { --slide-a: #e4f4f3; --slide-b: #cfe9ea; }
.promo-slide--sky { --slide-a: #e8eefb; --slide-b: #d4def6; }
.promo-slide--amber { --slide-a: #fbeadb; --slide-b: #f3d2b6; }
.promo-slide--lilac { --slide-a: #f1ebf9; --slide-b: #dfd2f1; }
.promo-slide__text { order: 2; display: grid; justify-items: start; align-content: center; gap: 10px; padding: 20px 20px 28px; }
.promo-slide__eyebrow { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-berry); }
.promo-slide__title { margin: 0; font-family: var(--f-serif); font-size: clamp(30px, 3.4vw + 14px, 58px); font-weight: 700; line-height: 1.04; letter-spacing: -0.015em; color: var(--c-ink); text-wrap: balance; }
.promo-slide__lead { margin: 0; max-width: 46ch; font-size: 16px; line-height: 1.55; color: var(--c-ink-2); }
.promo-slide__cta { margin-top: 8px; gap: 10px; }
.promo-slide__cta .icon { width: 18px; height: 18px; }
.promo-slide__media { order: 1; position: relative; display: grid; place-items: end center; min-width: 0; height: 240px; padding: 12px 12px 0; }
.promo-slide__media img { display: block; width: auto; height: 100%; max-width: 100%; object-fit: contain; }
.promo-slide__badge { position: absolute; top: 14px; right: 16px; z-index: 1; display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: var(--c-berry); color: #fff; font-family: var(--f-serif); font-size: 24px; font-weight: 600; line-height: 1; text-align: center; transform: rotate(-8deg); box-shadow: 0 12px 24px -12px rgba(184, 25, 93, 0.6); }
@media (min-width: 960px) {
  .promo-hero { padding-top: 24px; }
  .promo-slide { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); grid-template-rows: none; min-height: 460px; }
  .promo-slide__text { order: 0; padding: 48px 24px 48px 64px; gap: 14px; }
  .promo-slide__media { order: 0; height: auto; padding: 28px 48px 0 0; }
  .promo-slide__media img { height: 420px; }
  .promo-slide__badge { top: 36px; right: 64px; width: 112px; height: 112px; font-size: 32px; }
  .promo-slide__lead { font-size: 17px; }
}
.promo-hero__nav { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 14px; }
.promo-hero__nav[hidden] { display: none; }
.promo-hero__arrow { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--c-line-strong); border-radius: 50%; background: var(--c-surface); color: var(--c-ink); cursor: pointer; }
.promo-hero__arrow:hover { border-color: var(--c-ink); }
.promo-hero__arrow .icon { width: 18px; height: 18px; }
.promo-hero__dots { display: flex; gap: 0; }
.promo-hero__dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: var(--c-line-strong); cursor: pointer; transition: width 0.25s var(--ease-out), background-color 0.25s ease; }
.promo-hero__dot[aria-current="true"] { width: 28px; background: var(--c-berry); }
.promo-hero__arrow:focus-visible, .promo-hero__dot:focus-visible { outline: 3px solid var(--c-berry); outline-offset: 2px; }

/* Round categories (template-parts/home/categories.php). */
.cat-circles-section { padding-top: 28px; padding-bottom: 8px; }
.cat-circles { list-style: none; margin: 0 calc(-1 * var(--gutter)); padding: 4px var(--gutter) 8px; display: grid; grid-auto-flow: column; grid-auto-columns: 96px; gap: 14px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
.cat-circles::-webkit-scrollbar { display: none; }
.cat-circles > li { scroll-snap-align: start; min-width: 0; }
@media (min-width: 960px) { .cat-circles { margin: 0; padding: 4px 0 8px; grid-auto-flow: row; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); overflow: visible; gap: 20px; } }
.cat-circle { display: grid; justify-items: center; gap: 6px; color: var(--c-ink); text-align: center; text-decoration: none; }
.cat-circle__img { display: block; width: 96px; height: 96px; overflow: hidden; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1px var(--c-line), 0 6px 18px -12px rgba(43, 20, 34, 0.35); transition: transform 0.25s var(--ease-out), box-shadow 0.25s ease; }
.cat-circle__img .art, .cat-circle__img img { width: 100%; height: 100%; }
.cat-circle__img img { object-fit: contain; }
@media (min-width: 960px) { .cat-circle__img { width: 128px; height: 128px; } }
.cat-circle:hover .cat-circle__img { transform: translateY(-3px); box-shadow: inset 0 0 0 2px var(--c-berry), 0 12px 24px -14px rgba(184, 25, 93, 0.45); }
.cat-circle__name { font-size: 13.5px; font-weight: 700; line-height: 1.25; }
.cat-circle:hover .cat-circle__name { color: var(--c-berry); }
.cat-circle__count { font-size: 12px; color: var(--c-muted); }

/* Promotion tiles (template-parts/home/promos.php). */
.promo-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 960px) { .promo-tiles { grid-template-columns: repeat(min(var(--promo-n, 4), 5), minmax(0, 1fr)); gap: 18px; } }
.promo-tiles > li:last-child:nth-child(odd) { grid-column: auto; }
@media (max-width: 959px) { .promo-tiles > li:last-child:nth-child(odd) { grid-column: 1 / -1; } .promo-tiles > li:last-child:nth-child(odd) .promo-tile { min-height: 200px; } }
.promo-tile { --tile-bg: #fbe9ee; position: relative; display: grid; align-content: start; gap: 2px; height: 100%; min-height: 250px; overflow: hidden; padding: 18px 18px 0; border-radius: var(--r-sm); background: var(--tile-bg); color: var(--c-ink); text-decoration: none; transition: transform 0.25s var(--ease-out), box-shadow 0.25s ease; }
.promo-tile--aqua { --tile-bg: #e2f2f1; }
.promo-tile--sky { --tile-bg: #e6edfa; }
.promo-tile--lilac { --tile-bg: #eee7f7; }
.promo-tile--amber { --tile-bg: #f8e3d1; }
.promo-tile:hover { color: var(--c-ink); transform: translateY(-3px); box-shadow: 0 18px 32px -22px rgba(43, 20, 34, 0.45); }
.promo-tile__badge { font-family: var(--f-serif); font-size: clamp(30px, 1.6vw + 18px, 44px); font-weight: 600; line-height: 1; color: var(--c-berry); }
.promo-tile__title { margin-top: 6px; font-size: 15px; font-weight: 800; }
.promo-tile__text { font-size: 13px; color: var(--c-ink-2); }
.promo-tile__img { display: block; width: 100%; height: 140px; margin-top: auto; padding-top: 10px; object-fit: contain; object-position: center bottom; transition: transform 0.4s var(--ease-out); }
@media (min-width: 960px) { .promo-tile { min-height: 320px; padding: 24px 24px 0; } .promo-tile__img { height: 190px; } .promo-tile__title { font-size: 16px; } .promo-tile__text { font-size: 14px; } }
.promo-tile:hover .promo-tile__img { transform: scale(1.04); }

/* Product shelves (template-parts/home/shelf.php): one row that scrolls sideways, arrows from site.js. */
.shelf__tools { display: flex; align-items: center; gap: 8px; }
.shelf__arrow { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--c-line-strong); border-radius: 50%; background: var(--c-surface); color: var(--c-ink); cursor: pointer; }
.shelf__arrow[hidden] { display: none; }
.shelf__arrow:hover:not(:disabled) { border-color: var(--c-ink); }
.shelf__arrow:disabled { opacity: 0.35; cursor: default; }
.shelf__arrow .icon { width: 18px; height: 18px; }
.product-row.product-row--shelf { display: grid; grid-auto-flow: column; grid-auto-columns: 46%; grid-template-columns: none; gap: 14px; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter) 6px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; overscroll-behavior-x: contain; }
.product-row.product-row--shelf::-webkit-scrollbar { display: none; }
.product-row.product-row--shelf > li { scroll-snap-align: start; min-width: 0; }
/* Phones swipe the row: no arrows, and the title wraps beside "Žiūrėti visas" so every shelf head looks the same. */
@media (max-width: 767px) { .shelf__tools .shelf__arrow { display: none; } .shelf .section-head { flex-wrap: nowrap; } .shelf .section-head .section-title { min-width: 0; } .shelf__tools { flex: none; } }
@media (min-width: 768px) { .product-row.product-row--shelf { grid-auto-columns: calc((100% - 3 * 18px) / 4); gap: 18px; margin: 0; padding: 0 0 6px; scroll-padding-inline: 0; } }
@media (min-width: 1200px) { .product-row.product-row--shelf { grid-auto-columns: calc((100% - 4 * 18px) / 5); } }

/* Gift finder band (template-parts/home/finder.php). */
.finder-band__inner { display: grid; gap: 20px; padding: 24px 20px; border-radius: var(--r-sm); background: radial-gradient(70% 90% at 90% 20%, rgba(184, 25, 93, 0.12) 0%, transparent 60%), var(--c-soft); }
.finder-band__eyebrow { margin: 0 0 6px; font-size: 12px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-berry); }
.finder-band__text { margin: 6px 0 0; color: var(--c-ink-2); }
.finder.finder--band { max-width: none; box-shadow: none; }
/* The band heading and its text already name the finder: no second title inside the card on any width. */
.finder.finder--band .finder__title { display: none; }
@media (min-width: 960px) {
  .finder-band__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); align-items: center; gap: 48px; padding: 40px 48px; }
  .finder.finder--band { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; gap: 18px; padding: 22px; }
  .finder.finder--band .finder__actions { margin: 0; }
}

/* "Dovanų idėjos" in the light shop window (owner 2026-10-08): a blush band instead of the deep plum one. */
.gifts { background: linear-gradient(180deg, #f7eef1 0%, #f3e6eb 100%); color: var(--c-ink); }
.gifts :focus-visible { outline-color: var(--c-berry); }
.gifts__banner { border-radius: var(--r-sm); }
.gifts__banner::after { content: none; }
@media (min-width: 768px) { .gifts__banner::after { content: none; } }
.gifts__title { color: var(--c-ink); }
.gifts__text { color: var(--c-ink-2); }
.gifts .btn--light { background: var(--c-berry); border-color: var(--c-berry); color: #fff; }
.gifts .btn--light:hover { background: var(--c-berry-dark); border-color: var(--c-berry-dark); color: #fff; }
.gifts .idea { border-color: var(--c-line); background: var(--c-surface); color: var(--c-ink); }
.gifts .idea:hover { color: var(--c-ink); border-color: var(--c-ink); }
.gifts .idea__text { color: var(--c-muted); }
.gifts .idea__cta { color: var(--c-berry); }
.gifts .ideas__sub, .gifts .set-card, .gifts .set-card:hover { color: var(--c-ink); }
.gifts .set-card__saving { color: var(--c-berry); }
/* Light band: the old price in muted ink (the plum band's on-plum-muted read 1.8:1 here), the title answers the hover. */
.gifts .set-card__price del { color: var(--c-muted); }
.gifts .set-card__title { transition: color 0.2s ease; }
.gifts .set-card:hover .set-card__title { color: var(--c-berry); }
.gifts .season { color: #fff; }

/* Lower home sections in the shop window style (owner 2026-10-09): eyebrow labels and soft tinted panels. */
.eyebrow-label { margin: 0 0 6px; font-size: 12px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-berry); }
.soft-panel { --panel-bg: var(--c-soft); border-radius: var(--r-sm); background: var(--panel-bg); }
.soft-panel--lilac { --panel-bg: #eee7f7; }
.soft-panel--blush { --panel-bg: #fbe9ee; }
.soft-panel--sky { --panel-bg: #e6edfa; }
.soft-panel--aqua { --panel-bg: #e2f2f1; }
.band--first { padding-bottom: 0; background: none; }
.band--shelf { background: none; }
/* Brands: one white panel, logos in soft cells. */
.brands-row .section-head { align-items: end; }
.brands-row .brands { gap: 10px; padding: 14px; border: 0; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
.brands-row .brands > li { flex: 1 1 calc(50% - 10px); }
@media (min-width: 600px) { .brands-row .brands > li { flex-basis: calc(25% - 10px); } }
@media (min-width: 1100px) { .brands-row .brands > li { flex-basis: calc(12.5% - 10px); } }
.brands-row .brand-chip { height: 76px; border-radius: var(--r-sm); background: #faf6f3; transition: background-color 0.2s ease; }
.brands-row .brand-chip:hover { background: var(--c-soft); }
/* First-time buyers: lilac panel, products in a sideways row. */
.beginners.soft-panel { padding: 24px 20px; overflow: hidden; }
.beginners .eyebrow-label { margin-bottom: -6px; }
.beginners__row.product-row--shelf { margin: 0 -20px; padding: 0 20px 6px; scroll-padding-inline: 20px; }
@media (min-width: 960px) {
  .beginners.soft-panel { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 40px; padding: 40px 0 40px 48px; }
  .beginners__row.product-row--shelf { margin: 0; padding: 0 48px 6px 0; grid-auto-columns: calc((100% - 2 * 18px - 48px) / 3); scroll-padding-inline: 0; }
}
@media (min-width: 1180px) { .beginners.soft-panel { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); } .beginners__row.product-row--shelf { grid-auto-columns: calc((100% - 3 * 18px - 48px) / 4); } }
/* Newsletter: blush panel with the discount as a round badge. */
.signup.soft-panel { border: 0; padding: 28px 20px 24px; overflow: hidden; }
.signup__badge { display: grid; place-items: center; width: 76px; height: 76px; margin-bottom: -6px; border-radius: 50%; background: var(--c-berry); color: #fff; font-family: var(--f-serif); font-size: 22px; font-weight: 600; transform: rotate(-8deg); box-shadow: 0 12px 24px -12px rgba(184, 25, 93, 0.6); }
.signup.soft-panel .signup__email { background: #fff; }
@media (min-width: 960px) {
  .signup.soft-panel { grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 40px; padding: 44px 56px; }
  .signup__badge { width: 120px; height: 120px; margin: 0; font-size: 34px; }
}
/* Parcel: sky panel, the drawing in a white frame, round step numbers. */
.parcel.soft-panel { padding: 16px; }
.parcel.soft-panel .parcel__box { border-radius: var(--r-sm); }
.parcel.soft-panel .parcel__step { border-top-color: rgba(43, 20, 34, 0.1); }
.parcel.soft-panel .step__num { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--c-surface); color: var(--c-berry); font-size: 22px; box-shadow: inset 0 0 0 1px var(--c-line); }
@media (min-width: 960px) { .parcel.soft-panel { padding: 24px 56px 24px 24px; } .parcel.soft-panel .step__num { width: 52px; height: 52px; font-size: 26px; } }
/* Guides: white cards. */
.guides .guide-card { overflow: hidden; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); transition: transform 0.25s var(--ease-out), box-shadow 0.25s ease; }
.guides .guide-card:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px var(--c-line), 0 18px 32px -24px rgba(43, 20, 34, 0.5); }
.guides .guide-card__cover { border-radius: 0; }
.guides .guide-card__body { padding: 16px 18px 18px; }
/* Help band: the questions in a white card, the shop text in a soft panel. */
.band--help { border-top: 0; }
.band--help .faq-block { padding: 24px 20px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
.band--help .seo-text { padding: 24px 20px; border-radius: var(--r-sm); background: var(--c-soft); }
@media (min-width: 960px) { .band--help .band__grid { gap: 0 24px; align-items: stretch; } .band--help .faq-block, .band--help .seo-text { padding: 36px 40px; } }
.faq { border-top: 0; }
.faq__item:last-child { border-bottom: 0; }
/* .home .section (the section step) would push the card's own top padding to 48/72 px and drop the shop text card
   below the questions card: the cards keep even padding, the text card fills its column. */
.home .band--help .faq-block { padding-top: 24px; }
.home .band--help .seo-block { display: grid; padding-top: 16px; }
@media (min-width: 960px) { .home .band--help .faq-block { padding-top: 36px; } .home .band--help .seo-block { padding-top: 0; } }

/* Light footer (owner 2026-10-09, template-parts/footer/site-footer.php). */
.site-footer { margin-top: 72px; background: #f3ece6; color: var(--c-ink); border-top: 1px solid var(--c-line); }
.site-footer a { color: var(--c-ink-2); }
.site-footer a:hover { color: var(--c-berry); text-decoration: none; }
.site-footer :focus-visible { outline-color: var(--c-berry); }
.site-footer__news { border-bottom: 0; padding-top: 32px; }
.site-footer__news-inner { padding: 24px 20px; border-radius: var(--r-sm); background: #fbe9ee; }
@media (min-width: 960px) { .site-footer__news-inner { padding: 32px 40px; } }
.site-footer__news-title { color: var(--c-ink); }
.site-footer__news-text p:not(.site-footer__news-title) { color: var(--c-ink-2); }
.site-footer__form .signup__email { border-color: var(--c-line-strong); }
.site-footer__form .signup__consent, .site-footer .signup__small, .site-footer__news .signup__hint { color: var(--c-ink-2); }
.site-footer .signup__small a { color: var(--c-berry); }
.site-footer__form .btn--light, .site-footer__news .btn--light { background: var(--c-berry); border-color: var(--c-berry); color: #fff; }
.site-footer__news .signup__done { border-color: var(--c-line); background: var(--c-surface); color: var(--c-ink); }
.site-footer__news .signup__code { border-color: var(--c-berry); color: var(--c-ink); }
.site-footer__news .btn--soft { color: var(--c-ink); border-color: var(--c-ink); }
.site-footer__promises { border-bottom: 1px solid var(--c-line); }
.site-footer__promises li { color: var(--c-ink); }
.site-footer__promises .icon { color: var(--c-berry); }
.site-footer__grid { gap: 28px 20px; padding-top: 36px; padding-bottom: 28px; }
@media (min-width: 768px) { .site-footer__grid { grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 1fr)) minmax(0, 1.4fr); gap: 28px; padding-top: 48px; padding-bottom: 36px; } }
.site-footer__brand img { width: 128px; filter: none; opacity: 1; }
.site-footer__brand p { color: var(--c-ink-2); font-size: 14px; }
.site-footer__title { margin-bottom: 10px; font-size: 11.5px; font-weight: 800; letter-spacing: 0.16em; color: var(--c-ink); }
/* Phones and touch screens keep the 44 px footer targets (P3-11); only a mouse gets the denser 30 px list. */
.site-footer__col li a { min-height: 44px; font-size: 14px; }
@media (min-width: 768px) and (pointer: fine) { .site-footer__col li a { min-height: 30px; } }
.site-footer__mail { border-color: var(--c-line-strong); background: var(--c-surface); color: var(--c-ink) !important; }
.site-footer__mail:hover { border-color: var(--c-berry); }
.site-footer__mail .icon { color: var(--c-berry); }
.site-footer__pay { grid-column: 1 / -1; }
@media (min-width: 768px) { .site-footer__pay { grid-column: auto; } }
.site-footer__ship { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; font-size: 13.5px; line-height: 1.4; color: var(--c-ink-2); }
.site-footer__pay .pay-badges { display: grid; grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)); gap: 6px; margin: 0; }
.site-footer__pay .pay-badge { display: grid; place-items: center; height: 34px; padding: 0 6px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
.site-footer__pay .pay-badge img { max-width: 100%; max-height: 20px; width: auto; height: auto; }
.site-footer__legal { border-top: 1px solid var(--c-line); color: var(--c-muted); font-size: 12.5px; }
.site-footer__legal a { color: var(--c-muted); }
.site-footer__grid .site-footer__pay { display: block; padding: 0; background: none; }
.site-footer__legal { background: none; }
.site-footer__legal a, .site-footer__consent { color: var(--c-muted); }
.site-footer__pay .pay-badge--logo { width: auto; }
@media (max-width: 959px) { .site-footer__news-inner { margin-inline: var(--gutter); } }

/* Product page in the shop window style (owner 2026-10-09). */
.product-page .woocommerce-product-gallery .flex-viewport, .product-page .woocommerce-product-gallery__wrapper { border-radius: var(--r-sm); overflow: hidden; background: #fff; box-shadow: inset 0 0 0 1px var(--c-line); }
.woocommerce .product-page div.product div.images .flex-control-thumbs li img { border-radius: var(--r-sm); }
.campaign-note { display: inline-flex; align-items: center; gap: 10px; margin: 10px 0 4px; padding: 6px 12px 6px 6px; border-radius: var(--r-sm); background: #f8e3d1; color: var(--c-ink); font-size: 13.5px; font-weight: 600; }
.campaign-note__badge { padding: 3px 9px; border-radius: var(--r-sm); background: var(--c-berry); color: #fff; font-size: 12.5px; font-weight: 800; }
.product-notes { gap: 10px; padding: 16px; border-top: 0; border-radius: var(--r-sm); background: var(--c-soft); }
.product-notes li { gap: 12px; }
.product-notes__icon { border: 0; background: var(--c-surface); color: var(--c-berry); box-shadow: inset 0 0 0 1px var(--c-line); }
.product-notes__dispatch { order: -1; margin: -4px -4px 4px; padding: 10px 12px; border-radius: var(--r-sm); background: #e6edfa; font-weight: 600; }
.product-notes__dispatch .product-notes__icon { background: var(--c-surface); color: #2f5aa8; }
.product-notes { display: flex; flex-direction: column; }
.promo-box { border: 0; border-radius: var(--r-sm); background: #eee7f7; }
.woocommerce .product-page div.product .woocommerce-tabs ul.tabs { gap: 8px; padding: 0 0 6px; border-bottom: 0; }
/* The pills wrap to a second row instead of scrolling: with the scrollbar hidden the fourth tab (Atsiliepimai)
   was out of sight on laptops and phones (owner 2026-10-11). */
.woocommerce .product-page div.product .woocommerce-tabs ul.tabs, .woocommerce .product-page div.product .woocommerce-tabs ul.tabs[data-more] { flex-wrap: wrap; overflow: visible; -webkit-mask-image: none; mask-image: none; }
.woocommerce .product-page div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; border-radius: var(--r-sm); background: none; }
.woocommerce .product-page div.product .woocommerce-tabs ul.tabs li a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font-size: 12.5px; font-weight: 700; letter-spacing: 0.08em; white-space: nowrap; }
.woocommerce .product-page div.product .woocommerce-tabs ul.tabs li.active a { border-color: var(--c-plum); background: var(--c-plum); color: #fff; }
.woocommerce .product-page div.product .woocommerce-tabs ul.tabs li.active::after, .woocommerce .product-page div.product .woocommerce-tabs ul.tabs li a::after { content: none; }
.woocommerce .product-page div.product .woocommerce-tabs .panel { padding: 24px 20px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
@media (min-width: 960px) { .woocommerce .product-page div.product .woocommerce-tabs .panel { padding: 32px 40px; } }
/* "Panašios prekės" from 640 px: one still row (owner 2026-10-10: the scroller with mandatory snapping moved when the
   page was scrolled over it with a trackpad). Four cards, five from 1200 px; the rest are left out. Phones swipe. */
@media (min-width: 640px) {
  .product-page .related ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-flow: row; gap: 18px; overflow: visible; scroll-snap-type: none; }
}
@media (min-width: 640px) and (max-width: 1199px) { .product-page .related ul.products > li:nth-child(n+5) { display: none; } }
@media (min-width: 1200px) {
  .product-page .related ul.products { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .product-page .related ul.products > li:nth-child(n+6) { display: none; }
}
.product-page .promo-box, .woocommerce .product-page .promo-box { border: 0; border-radius: var(--r-sm); background: #eee7f7; box-shadow: none; }
.product-page .promo-box .button, .product-page .promo-box .btn { background: var(--c-surface); }
.product-page .promo-box .button:hover, .product-page .promo-box .btn:hover { background: var(--c-ink); border-color: var(--c-ink); color: #fff; }
/* The discount is said once (owner 2026-10-10): the title has the percent and the struck set price shows the saving,
   so the small "Sutaupote" line under it is left out. */
.product-page .promo-box__saving { display: none; }
.woocommerce .product-page div.product .woocommerce-tabs .panel { max-width: none; }
.woocommerce .product-page div.product .woocommerce-tabs .panel > * { max-width: 78ch; }

/* Autumn slide: two leaf clusters (assets/img/promo/leaves-*.svg) clear of the text, drifting slowly. */
.promo-slide--amber { position: relative; isolation: isolate; }
.promo-slide--amber::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url("../img/promo/leaves-tl.svg") 50% -10px / 300px auto no-repeat, url("../img/promo/leaves-br.svg") right -10px bottom -16px / 390px auto no-repeat; animation: leaves-drift 9s ease-in-out infinite alternate; }
@keyframes leaves-drift { from { transform: translate3d(0, -4px, 0); } to { transform: translate3d(0, 6px, 0); } }
@media (prefers-reduced-motion: reduce) { .promo-slide--amber::before { animation: none; } }
@media (max-width: 959px) { .promo-slide--amber::before { background: url("../img/promo/leaves-tl.svg") left -12px top -12px / 190px auto no-repeat; } }

/* Home rhythm (Impeccable polish 2026-10-09): one section step everywhere, every band a contained panel, tints in turn
   (finder aqua, gifts blush, first-time lilac, newsletter blush, parcel sky, help soft) so no two neighbours repeat. */
.home .section { padding-top: 48px; }
@media (min-width: 960px) { .home .section { padding-top: 72px; } }
.home .cat-circles-section { padding-top: 28px; }
.home .band--first, .home .band--help { margin-top: 0; }
/* The help cards carry their own padding (no section padding-top), so the band keeps the section step itself. */
.home .band--help { margin-top: 48px; }
@media (min-width: 960px) { .home .band--help { margin-top: 72px; } }
.finder-band__inner { background: radial-gradient(70% 90% at 90% 20%, rgba(255, 255, 255, 0.55) 0%, transparent 60%), #e2f2f1; }
.gifts { margin-top: 0; padding: 48px 0 0; background: none; }
@media (min-width: 768px) { .gifts { margin-top: 0; padding: 72px 0 0; } }
.gifts__banner { margin: 0; border-radius: var(--r-sm); background: radial-gradient(60% 90% at 72% 60%, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 65%), linear-gradient(135deg, #fbe9ee 0%, #f3d3df 100%); }
.gifts__art.art, .gifts__art .art__img { background: none; }
.gifts__art .art__img { object-fit: contain; object-position: center bottom; }
@media (min-width: 768px) { .gifts__art .art__img { object-position: right bottom; } }
.gifts .ideas { margin-top: 16px; }
/* Gift finder band: four budgets in two even rows, the button centred on the choices (owner 2026-10-09). */
.finder--band .chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 960px) { .finder.finder--band { align-items: center; } .finder--band .finder__actions { margin-top: 0; } }

/* Catalog in the shop window style (owner 2026-10-09): the header as a tinted panel with the category's studio photo,
   white subcategory pills inside it, the filters in a white panel. */
.shop__head.shop-hero { position: relative; display: grid; gap: 16px; align-items: center; margin-bottom: 24px; padding: 22px 20px; overflow: hidden; }
.shop-hero__text { min-width: 0; }
.shop-hero .shop__intro { max-width: 70ch; margin-top: 8px; color: var(--c-ink-2); }
.shop-hero .cat-chip { box-shadow: none; background: var(--c-surface); border-radius: var(--r-sm); }
.shop-hero .cat-chip:hover { box-shadow: inset 0 0 0 1px var(--c-ink); }
.shop-hero .cat-chip[aria-current="page"] { background: var(--c-plum); }
.shop-hero__photo { display: none; }
/* Phones: the chip row scrolls out to the panel's edge, so a cut chip reads as "more to the side", not as a clipped box. */
@media (max-width: 767px) { .shop-hero .cat-chips__list { margin: 0 -20px; padding: 0 20px 4px; scroll-padding-inline: 20px; } }
@media (min-width: 768px) {
  .shop__head.shop-hero { padding: 28px 36px; }
  .shop-hero--photo { grid-template-columns: minmax(0, 1fr) 170px; }
  .shop-hero__photo { display: block; width: 170px; height: 170px; overflow: hidden; border-radius: 50%; background: #fff; box-shadow: 0 14px 30px -18px rgba(43, 20, 34, 0.45); }
  .shop-hero__photo .art, .shop-hero__photo img { width: 100%; height: 100%; }
}
@media (min-width: 1100px) { .shop-hero--photo { grid-template-columns: minmax(0, 1fr) 200px; } .shop-hero__photo { width: 200px; height: 200px; } }
@media (min-width: 960px) {
  .shop__side { padding: 20px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); align-self: start; }
}
/* Cart, checkout and notices in the shop window style (owner 2026-10-09): white cards with 18 px corners and a hairline
   ring instead of the boxed 6 px frames, the free delivery progress and the promo hints as soft tinted strips. */
.cart-page .cart-line, .cart-page .cart-upsell, .woocommerce .cart-page .cart-collaterals .cart_totals { border: 0; border-radius: var(--r-sm); box-shadow: inset 0 0 0 1px var(--c-line); }
.cart-page .cart-line__media { border-radius: var(--r-sm); }
.cart-page .cart-progress { border: 0; border-radius: var(--r-sm); background: #fbe9ee; }
.cart-page .cart-progress__bar, .cart-drawer .cart-progress__bar { height: 8px; border-radius: 999px; background: rgba(255, 255, 255, 0.9); }
.cart-page .cart-progress__bar span, .cart-drawer .cart-progress__bar span { border-radius: 999px; }
.cart-drawer .cart-progress { border: 0; border-radius: var(--r-sm); background: #fbe9ee; }
.cart-page .promo-hint, .cart-drawer .promo-hint { border: 0; border-radius: var(--r-sm); background: #e2f2f1; }
.cart-page .promo-hint--gift, .cart-drawer .promo-hint--gift { background: #fbe9ee; }
.woocommerce .cart-page .cart_totals { box-shadow: 0 18px 40px -30px rgba(43, 20, 34, 0.35), inset 0 0 0 1px var(--c-line); }
.woocommerce .cart-page .wc-proceed-to-checkout a.checkout-button { border-radius: var(--r-sm); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border: 0; border-radius: var(--r-sm); box-shadow: inset 0 0 0 1px var(--c-line); }
.woocommerce-error { background: #fbe9ee; box-shadow: none; }
/* On the cart page the "added to cart" notice needs no button back to the same page. */
.woocommerce-cart .woocommerce-message .button { display: none; }
/* "Added to the cart" without AJAX (inc/woo-cart.php, .notice-line): one small line, a long name ends in an ellipsis;
   WooCommerce's button becomes a text link at the end of the line (critique 2026-10-10). */
.woocommerce-message:has(.notice-line) { flex-wrap: nowrap; gap: 12px; min-height: 44px; margin-bottom: 12px; padding: 4px 14px 4px 40px; font-size: 13px; line-height: 1.4; }
.woocommerce-message:has(.notice-line)::before { top: 50%; left: 14px; width: 16px; height: 16px; margin-top: -8px; }
.woocommerce-message .notice-line { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.woocommerce .woocommerce-message:has(.notice-line) .button { flex: none; min-height: 36px; margin: 0; padding: 0; border: 0; background: none; color: var(--c-ink); font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: none; text-decoration: underline; text-underline-offset: 3px; box-shadow: none; }
.woocommerce .woocommerce-message:has(.notice-line) .button:hover { background: none; color: var(--c-berry); }
/* Information and legal pages (page.php): a sky header panel, the help menus beside the text, the text in a white card. */
.page-hero { margin-bottom: 20px; padding: 24px 20px; }
.page-hero .page__title { margin: 0; }
.page-hero__lead { max-width: 64ch; margin: 10px 0 0; color: var(--c-ink-2); font-size: 16px; line-height: 1.55; }
.info-page__body { display: grid; gap: 16px; }
.info-nav { min-width: 0; }
.info-nav__list { list-style: none; display: flex; gap: 8px; margin: 0; padding: 0 0 4px; overflow-x: auto; scrollbar-width: none; }
.info-nav__list + .info-nav__list { margin-top: 8px; }
.info-nav__list::-webkit-scrollbar { display: none; }
.info-nav__list a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); color: var(--c-ink); font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.info-nav__list a:hover { box-shadow: inset 0 0 0 1px var(--c-ink); }
.info-nav__list .current-menu-item > a, .info-nav__list a[aria-current="page"] { background: var(--c-plum); box-shadow: none; color: #fff; }
.entry.info-page__card { max-width: none; margin: 0; padding: 24px 20px 28px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
.info-page__card .entry__content { max-width: 64ch; }
.info-page__card .entry__content h2 { scroll-margin-top: 140px; }
/* Contents of a long information page (page.php): a folded tinted well above the text, beside it from 1360 px where the
   card is wide enough for both (the text keeps its 64ch measure). Headings are numbered in the text, so no list markers. */
.info-toc { margin: 0 0 28px; }
.info-toc .guide-toc__box { border: 0; background: var(--c-page); }
.info-toc .guide-toc__list { padding-left: 18px; list-style: none; }
.info-toc .guide-toc__list li { padding-left: 0; }
.info-page__card .entry__content > :first-child { margin-top: 0; }
.info-page__card.entry--legal .entry__content h2:first-child { margin-top: 0; }
@media (min-width: 768px) {
  .page-hero { padding: 32px 40px; }
  .entry.info-page__card { padding: 40px 48px 44px; }
}
@media (min-width: 960px) {
  .info-page__body { grid-template-columns: 250px minmax(0, 1fr); gap: 28px; align-items: start; }
  .info-page__body--single { grid-template-columns: minmax(0, 1fr); }
  .info-nav { position: sticky; top: 104px; padding: 12px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
  .info-nav__list { display: grid; gap: 2px; padding: 0; overflow: visible; }
  .info-nav__list + .info-nav__list { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--c-line); }
  .info-nav__list a { display: flex; min-height: 42px; padding: 0 14px; border-radius: var(--r-sm); background: none; box-shadow: none; white-space: normal; }
  .info-nav__list a:hover { background: var(--c-soft); box-shadow: none; }
}
@media (min-width: 1360px) {
  .info-page__card--toc { display: grid; grid-template-columns: minmax(0, 64ch) 220px; justify-content: space-between; gap: 40px; align-items: start; }
  .info-page__card--toc .entry__content { grid-column: 1; grid-row: 1; }
  .info-page__card--toc .info-toc { grid-column: 2; grid-row: 1; position: sticky; top: 104px; max-height: calc(100vh - 128px); margin: 0; overflow: auto; }
  .info-toc .guide-toc__box { border-left: 1px solid var(--c-line); border-radius: 0; background: none; }
  .info-toc .guide-toc__title { padding-top: 4px; cursor: default; pointer-events: none; }
  .info-toc .guide-toc__title .icon { display: none; }
}
/* Brands A-Z and 404 in the same style: the title, the letters or the search inside a tinted header panel. */
.brand-index__hero .brand-index__letters ul { margin: 18px 0 0; }
.brand-index__letters a { border: 0; border-radius: var(--r-sm); box-shadow: inset 0 0 0 1px var(--c-line); }
.brand-index__letters a:hover { background: var(--c-plum); color: #fff; box-shadow: none; }
.brand-index__group { border: 0; border-radius: var(--r-sm); box-shadow: inset 0 0 0 1px var(--c-line); }
.brand-index__letter { display: inline-grid; place-items: center; width: 44px; height: 44px; margin-bottom: 8px; border-radius: 50%; background: #eee7f7; font-size: 22px; }
/* The letter beside its brands rather than above them: a group of one or two brands is one row, not a tall card. */
.brand-index__group { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 0 18px; align-items: start; }
.brand-index__group .brand-index__letter { margin: 0; }
.not-found__hero .not-found__lead { margin-top: 10px; color: var(--c-ink-2); }
.not-found__hero .not-found__search input[type="search"] { border-color: transparent; border-radius: var(--r-sm); }
.not-found__hero .not-found__search .btn { border-radius: var(--r-sm); }
.not-found .cat-chip { border-radius: var(--r-sm); }
/* Quantity ladder on the product page (inc/home-promo.php): the unit price per step, the Eurosnus way. */
.ladder { margin: 16px 0; padding: 14px 16px; border-radius: var(--r-sm); background: #e2f2f1; }
.ladder__title { margin: 0 0 8px; font-size: 12px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-ink); }
.ladder__rows { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 520px) { .ladder__rows { grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); } }
.ladder__row { display: grid; gap: 2px; padding: 10px 12px; border-radius: var(--r-sm); background: var(--c-surface); font-size: 13px; line-height: 1.3; }
.ladder__units { color: var(--c-ink-2); font-weight: 600; }
.ladder__price strong { font-size: 16px; font-variant-numeric: tabular-nums; }
.ladder__off { justify-self: start; padding: 1px 7px; border-radius: var(--r-sm); background: var(--c-berry); color: #fff; font-size: 12px; font-weight: 700; }
.ladder__note { margin: 8px 0 0; color: var(--c-ink-2); font-size: 13px; }
/* Phones (owner 2026-10-10): one compact row per step in a single white card instead of the 2 x 2 boxes, so the add
   to cart button sits higher. Units, unit price and the discount read left to right. */
@media (max-width: 519px) {
  .ladder__rows { grid-template-columns: minmax(0, 1fr); gap: 0; border-radius: var(--r-sm); background: var(--c-surface); }
  .ladder__row { grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 34px; padding: 4px 12px; border-radius: 0; background: none; font-size: 14px; }
  .ladder__row + .ladder__row { box-shadow: inset 0 1px 0 var(--c-line); }
  .ladder__off { justify-self: end; }
  .ladder__note { font-size: 12.5px; line-height: 1.45; }
}
/* Product page quantity dropdown (site.js qty-menu): the unit price per quantity and the ladder discount. */
.qty-menu { position: relative; flex: none; }
.qty-menu__button { display: inline-flex; align-items: center; justify-content: space-between; gap: 6px; min-width: 96px; height: 100%; min-height: 54px; padding: 0 10px 0 14px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; transition: border-color 0.15s ease; }
.qty-menu__button:hover, .qty-menu__button[aria-expanded="true"] { border-color: var(--c-ink); }
.qty-menu__button:focus-visible { outline: none; border-color: var(--c-ink); box-shadow: var(--ring); }
.qty-menu__button .icon { width: 18px; height: 18px; transition: transform 0.2s var(--ease-out); }
.qty-menu__button[aria-expanded="true"] .icon { transform: rotate(180deg); }
.qty-menu__button .qty-menu__off { margin-left: 2px; }
.qty-menu__list { position: absolute; z-index: 40; bottom: calc(100% + 8px); left: 0; width: max(100%, 280px); max-height: 360px; margin: 0; padding: 6px; overflow-y: auto; list-style: none; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: 0 22px 48px -20px rgba(43, 20, 34, 0.45), inset 0 0 0 1px var(--c-line); outline: none; transform-origin: left bottom; animation: qty-menu-in 0.18s var(--ease-out); }
.qty-menu__list li[role="option"] { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 44px; padding: 0 12px; border-radius: var(--r-sm); font-size: 14px; color: var(--c-ink-2); cursor: pointer; }
.qty-menu__list li.is-active { background: var(--c-soft); color: var(--c-ink); }
.qty-menu__list li[aria-selected="true"] { color: var(--c-ink); font-weight: 700; box-shadow: inset 0 0 0 1px var(--c-ink); }
.qty-menu__units { font-weight: 700; color: var(--c-ink); }
.qty-menu__price { font-variant-numeric: tabular-nums; }
.qty-menu__off { display: inline-block; padding: 1px 7px; border-radius: var(--r-sm); background: var(--c-berry); color: #fff; font-size: 12px; font-weight: 700; line-height: 1.5; }
.qty-menu__note { margin: 4px 0 0; padding: 8px 12px 6px; border-top: 1px solid var(--c-line); color: var(--c-ink-2); font-size: 12.5px; line-height: 1.4; }
@media (prefers-reduced-motion: reduce) { .qty-menu__list { animation: none; } }
/* One row on phones: the dropdown, the add to cart button and the heart. */
.woocommerce .product-page div.product form.cart:has(.qty-menu) .button.single_add_to_cart_button { flex-basis: 120px; }
.qty-menu__button .qty-menu__off { display: none; }
@media (min-width: 420px) { .qty-menu__button .qty-menu__off { display: inline-block; } }
.product-page .summary .ladder { margin: 20px 0 0; }
/* Product summary rhythm (owner 2026-10-09): 12 px under the price lines, 20 px between the blocks. */
.product-page .summary .campaign-note { margin-top: 12px; }
.product-page .summary .product-notes { margin-top: 20px; }
/* Touch targets (QA 2026-10-09): the slide dots keep their look inside a 32 px tap area, the shelf arrows and the
   price chips reach 44 and 40 px. */
/* The visible dot is drawn inside a 20 x 32 px button, the button itself stays transparent. */
.promo-hero__dot, .promo-hero__dot[aria-current="true"] { position: relative; width: 20px; height: 32px; padding: 0; background: none; transition: width 0.25s var(--ease-out); }
.promo-hero__dot::before { content: ""; position: absolute; top: 50%; left: 50%; width: 10px; height: 10px; border-radius: 999px; background: var(--c-line-strong); transform: translate(-50%, -50%); transition: width 0.25s var(--ease-out), background-color 0.25s ease; }
.promo-hero__dot[aria-current="true"] { width: 38px; }
.promo-hero__dot[aria-current="true"]::before { width: 28px; background: var(--c-berry); }
.shelf__arrow { width: 44px; height: 44px; }
.price-range { min-height: 40px; }

/* Motion review (2026-10-09). Popovers grow from their trigger: the quantity list opens upward, the sort list downward
   from its right edge; both start just short of full size instead of a bare slide. */
@keyframes qty-menu-in { from { opacity: 0; transform: translateY(6px) scale(0.98); } to { opacity: 1; transform: none; } }
.sort-menu__list { transform-origin: right top; }
@keyframes sort-menu-in { from { opacity: 0; transform: translateY(-4px) scale(0.98); } to { opacity: 1; transform: none; } }
/* Press feedback on buttons: a short, subtle press that snaps back. */
.btn, .button, .qty-menu__button, .sort-menu__button, .shelf__arrow, .promo-hero__arrow { transition-property: background-color, border-color, color, box-shadow, transform; transition-duration: 0.18s, 0.18s, 0.18s, 0.18s, 0.16s; transition-timing-function: ease, ease, ease, ease, var(--ease-out); }
.btn:active, .button:active, .qty-menu__button:active, .sort-menu__button:active, .shelf__arrow:active, .promo-hero__arrow:active { transform: scale(0.97); }
/* Touch screens fire a hover on tap and keep it: no lift or zoom there, the tap itself is the feedback. */
@media (hover: none) {
  .text-link:hover .icon, .cat-tile:hover .cat-tile__art, .cat-tile--product:hover .cat-tile__photo img, .cat-tile--product:hover .cat-tile__photo--studio .art__img, .brand-chip:hover .brand-logo, .product-card:hover .product-card__media img, .idea:hover .idea__art .art__img, .idea:hover .idea__cta, .guide-card:hover .guide-card__cover .art__img, .account-card:hover, .catalog__pane-title:hover .icon, .catalog__pane-photo:hover .catalog__pane-art .art__img, .cat-circle:hover .cat-circle__img, .promo-tile:hover, .promo-tile:hover .promo-tile__img, .guides .guide-card:hover { transform: none; }
}
.product-page .summary .feature-chips { margin-top: 12px; margin-bottom: 0; }
/* Number fields (price from/to): no browser spin arrows, the value is typed. */
input[type="number"].price-input, .shop-filters input[type="number"] { -moz-appearance: textfield; appearance: textfield; }
.shop-filters input[type="number"]::-webkit-inner-spin-button, .shop-filters input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
/* One unit left: WooCommerce keeps an empty quantity box (a hidden input) that would push the button off the edge. */
.product-page form.cart .quantity:has(input[type="hidden"]), .product-page form.cart .quantity[hidden] { display: none; }
/* Mega menu: a category without subcategories lists its best stocked brands (inc/catalog.php). */
.catalog__pane-label { margin: 0 0 4px; font-size: 12px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-ink-2); }
.catalog__pane-label + .catalog__children { margin-bottom: 14px; }

/* Brand logo tiles (template-parts/shop/brand-tiles.php, owner 2026-10-11): equal white tiles on a hairline, the logo in
   the one ink of the brand row (sizes from pleasure_brand_logo_size()), a brand without a logo file as a small spaced
   caps name in the same tile. The mega menu fills the space under the subcategories with two rows of three, the mobile
   menu and the top category pages show one row that scrolls sideways on phones. */
.brand-tiles { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.brand-tiles > li { min-width: 0; }
/* position: the spoken count (visually hidden, absolute) stays inside the tile, so a swipe row never widens the page. */
.brand-tile { position: relative; display: grid; place-items: center; height: 56px; padding: 0 12px; border: 1px solid var(--c-line); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-wordmark); text-decoration: none; transition: border-color 0.2s ease, color 0.2s ease; }
.brand-tile:hover { border-color: var(--c-line-strong); color: var(--c-ink); }
.brand-tile .brand-logo { max-height: 30px; opacity: 0.62; }
.brand-tile:hover .brand-logo, .brand-tile:focus-visible .brand-logo { opacity: 0.9; transform: translateY(-1px); }
.brand-tile__name { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; max-width: 100%; padding-left: 0.12em; font-size: 11px; font-weight: 700; line-height: 1.3; letter-spacing: 0.12em; text-align: center; text-transform: uppercase; overflow-wrap: anywhere; }
.catalog__children + .catalog__pane-label { margin-top: 20px; }
.brand-tiles--menu { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 8px; }
.catalog__pane-label + .brand-tiles--menu { margin-bottom: 14px; }
/* Mobile menu: one swipe row under the open group's subcategories, aligned with their text. */
.brand-tiles--mnav { grid-auto-flow: column; grid-auto-columns: 112px; margin: 0 calc(-1 * var(--gutter)) 12px 0; padding: 3px var(--gutter) 6px 48px; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
.brand-tiles--mnav::-webkit-scrollbar { display: none; }
.brand-tiles--mnav .brand-tile { height: 52px; }
/* Top category page: one compact row under the header panel, the label beside it from 768 px. */
.shop-brands { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin: -8px 0 24px; }
.shop-brands > * { min-width: 0; }
.shop-brands__title { margin: 0; font-size: 12px; font-weight: 800; line-height: 1.2; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-ink-2); }
.brand-tiles--row { grid-auto-flow: column; grid-auto-columns: 120px; margin: 0 calc(-1 * var(--gutter)); padding: 3px var(--gutter) 6px; overflow-x: auto; scroll-snap-type: x proximity; scroll-padding-inline: var(--gutter); scrollbar-width: none; overscroll-behavior-x: contain; }
.brand-tiles--row::-webkit-scrollbar { display: none; }
.brand-tiles--row > li { scroll-snap-align: start; }
@media (min-width: 768px) {
  .shop-brands { grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 24px; }
  .shop-brands__title { white-space: nowrap; }
  .brand-tiles--row { grid-auto-columns: minmax(104px, 148px); justify-content: start; margin: 0; padding: 3px; scroll-padding-inline: 3px; }
}
@media (prefers-reduced-motion: reduce) { .brand-tile:hover .brand-logo, .brand-tile:focus-visible .brand-logo { transform: none; } }

/* Brand page: the link to the brand index under the name. */
.shop-hero__more { margin: 10px 0 0; }
/* Brand page and search header: the brand's own (or the first result's) product photo on white, whole (contain) inside the circle. */
.shop-hero__photo--product .art__img { object-fit: contain; padding: 14%; background: #fff; }
/* A wider studio picture (the couples' set of the audience and gift pages) whole inside the circle, a little larger. */
.shop-hero__photo--wide .art__img { object-fit: contain; padding: 4%; background: #fff; }
/* Sold out (inc/stock.php): a dark badge, the photo faded, the price muted; the card still links to the product. */
.badge--sold-out { background: var(--c-ink); color: #fff; }
.product-card--sold-out .product-card__media img { opacity: 0.5; filter: grayscale(0.6); }
.product-card--sold-out .product-card__price { color: var(--c-muted); }
.product-card--sold-out .product-card__add { background: var(--c-surface); color: var(--c-ink); box-shadow: inset 0 0 0 1px var(--c-line-strong); }
.product-card--sold-out .product-card__add:hover { background: var(--c-surface); color: var(--c-ink); box-shadow: inset 0 0 0 1px var(--c-ink); }
.sold-out-note { margin: 4px 0 16px; padding: 12px 16px; border-radius: var(--r-sm); background: var(--c-soft); font-size: 14px; line-height: 1.5; }
.product-page .stock.out-of-stock { color: var(--c-ink); font-weight: 700; }
/* "Derinkite ir sutaupykite" (inc/pairings.php): three add-ons that count towards the quantity ladder. */
.pairings { margin: 20px 0 0; padding: 18px 18px 14px; border-radius: var(--r-sm); background: var(--c-soft); }
.pairings__title { margin: 0; font-family: var(--f-body); font-size: 13px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.pairings__note { margin: 4px 0 12px; font-size: 13px; line-height: 1.4; color: var(--c-muted); }
.pairings__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pairings__item { display: grid; grid-template-columns: 56px minmax(0, 1fr) 44px; gap: 12px; align-items: center; padding: 8px 8px 8px 8px; border-radius: var(--r-sm); background: var(--c-surface); }
.pairings__media { display: block; width: 56px; height: 56px; border-radius: var(--r-sm); overflow: hidden; background: #fff; }
.pairings__media img { width: 100%; height: 100%; object-fit: contain; }
.pairings__info { min-width: 0; display: grid; gap: 2px; }
.pairings__name { color: var(--c-ink); font-size: 14px; font-weight: 600; line-height: 1.35; text-decoration: none; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.pairings__name:hover { color: var(--c-berry); text-decoration: underline; }
.pairings__price { font-size: 14px; font-weight: 800; font-variant-numeric: tabular-nums; }
.woocommerce .pairings .pairings__add { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; min-height: 0; margin: 0; padding: 0; border-radius: var(--r-sm); background: var(--c-ink); color: #fff; }
.woocommerce .pairings .pairings__add:hover { background: var(--c-berry); color: #fff; }
.woocommerce .pairings .pairings__add .icon { width: 18px; height: 18px; }
.woocommerce .pairings .pairings__add.added::after, .woocommerce .pairings .pairings__add.loading::after { display: none; content: none; }
/* WooCommerce's AJAX states on the add button: its own icon font spinner is replaced by a quiet fade while adding and
   the berry fill once added, as on the product cards. */
.woocommerce .pairings .pairings__add.loading { opacity: 0.6; padding: 0; }
.woocommerce .pairings .pairings__add.added { background: var(--c-berry); color: #fff; }
.pairings .added_to_cart { display: none; }
/* Product page audit (Impeccable 2026-10-10). Wide screens: the tabs move under the gallery and the summary runs down
   the right column beside both, so the tall buy box no longer leaves an empty block under the photo and the text keeps
   a readable measure. The 1fr row takes what the summary needs beyond the photo, so the tabs start right under it. */
@media (min-width: 960px) {
  .product-page div.product { grid-template-rows: auto 1fr; row-gap: 40px; }
  .product-page div.product > .woocommerce-product-gallery { grid-column: 1; grid-row: 1; }
  .product-page div.product > .summary { grid-column: 2; grid-row: 1 / span 2; }
  .product-page div.product > .woocommerce-tabs, .woocommerce .product-page div.product > .woocommerce-tabs { grid-column: 1; grid-row: 2; align-self: start; margin-top: 0; }
}
/* The tab pill already names the panel: its repeated h2 ("Aprašymas" under "Aprašymas") stays for screen readers only. */
.woocommerce .product-page div.product .woocommerce-tabs .panel > h2:first-child, .woocommerce .product-page div.product .woocommerce-tabs .gpsr__title { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Tab pills reach the 44 px touch target. */
.woocommerce .product-page div.product .woocommerce-tabs ul.tabs li a { min-height: 44px; }
/* Summary rhythm: ".summary > *" zeroed the margins of the pairings box (it touched the delivery notes) and of the sold
   out note (it touched the "Išparduota" line). */
.product-page .summary > .pairings { margin-top: 20px; }
.product-page .summary > .sold-out-note { margin-top: 10px; }
.product-page .summary > .variant-picker { margin-top: 24px; }
/* Sold out: the price muted as on the card, the lone heart with its word so it reads as "save for later". */
.woocommerce .product-page div.product.outofstock .product-price p.price { color: var(--c-muted); }
.product-page .summary > .wish-btn--label { align-self: flex-start; width: auto; gap: 10px; padding: 0 22px; font-size: 13px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.product-page .summary > .wish-btn--label .icon { width: 20px; height: 20px; }
/* Phones: the autumn note wraps to two lines, where a full pill turns into a blob. */
@media (max-width: 559px) { .campaign-note { border-radius: var(--r-sm); } }
/* "Perku įmonės vardu" ticked: the company name is required (inc/company-fields.php), so it loses "(pasirenkamas)". */
.woocommerce form.checkout:has(#pleasure_company_toggle:checked) #billing_company_field label .optional { display: none; }
.woocommerce form.checkout:has(#pleasure_company_toggle:checked) #billing_company_field label::after { content: " *"; color: var(--c-berry); font-weight: 700; }
/* Phone pass 2026-10-10 (390 and 360 px, touch). */
/* iOS Safari zooms the page into any field under 16 px on focus and leaves it zoomed: phones and touch screens get
   16 px in every text field (search, checkout, coupon, login, filter prices, newsletter). */
@media (max-width: 959px), (pointer: coarse) {
  input:is([type="text"], [type="search"], [type="email"], [type="tel"], [type="number"], [type="password"], [type="url"], :not([type])), select, textarea { font-size: 16px !important; }
}
/* The slide dots and arrows were 20 x 32 and 40 x 40 targets: 44 px tall now, the drawn dot stays 10 px. */
.promo-hero__dot, .promo-hero__dot[aria-current="true"] { height: 44px; width: 24px; }
.promo-hero__dot[aria-current="true"] { width: 40px; }
.promo-hero__arrow { width: 44px; height: 44px; }
/* Conversion critique 2026-10-10: on a 390 x 844 phone the trust facts started under the fold. A shorter product
   cut-out and tighter slide padding lift the first row of facts into the first screen; the offer text is unchanged. */
@media (max-width: 959px) {
  .promo-slide__media { height: 200px; padding-top: 8px; }
  .promo-slide__text { gap: 8px; padding: 16px 20px 22px; }
  .promo-hero__nav { margin-top: 6px; }
}
/* Touch: the price chips in the filters and the info page chips reach 44 px. */
@media (pointer: coarse) { .price-range, .info-nav__list a { min-height: 44px; } }
/* The buy bar spans the screen: held sideways it keeps clear of the notch. */
.buy-bar { padding-left: max(var(--gutter), env(safe-area-inset-left, 0px)); padding-right: max(var(--gutter), env(safe-area-inset-right, 0px)); }
/* Held sideways, the drawer's right edge and the age gate box keep clear of the notch (viewport-fit=cover). */
.cart-drawer__panel { padding-right: env(safe-area-inset-right, 0px); }
.age-gate { padding: max(var(--gutter), env(safe-area-inset-top, 0px)) max(var(--gutter), env(safe-area-inset-right, 0px)) max(var(--gutter), env(safe-area-inset-bottom, 0px)) max(var(--gutter), env(safe-area-inset-left, 0px)); }

/* ---------- Home plan 2026-10-11 (Impeccable critique, home-plan/PLAN.md) ---------- */
/* Rhythm: five chapters (front-page.php). Blocks inside a chapter one step apart (40 px, 56 px from 960 px), chapters
   one larger step (56 / 88 px); headings sit 16 / 24 px over their content. */
.home .section { padding-top: 40px; }
.home .chapter + .chapter { margin-top: 16px; }
.home .section-head { margin-bottom: 16px; }
.home .cat-circles-section { padding-top: 20px; }
.home .band--help { margin-top: 40px; }
.home .band--first .section:has(.signup) { padding-top: 16px; }
@media (min-width: 768px) { .home .section-head { margin-bottom: 24px; } }
@media (min-width: 960px) {
  .home .section { padding-top: 56px; }
  .home .chapter + .chapter { margin-top: 32px; }
  .home .cat-circles-section { padding-top: 24px; }
  .home .band--help { margin-top: 56px; }
  .home .band--first .section:has(.signup) { padding-top: 24px; }
}
/* One radius per level on the home page: 12 px for large panels and the hero, 8 px for cards and tiles. */
.home .soft-panel, .home .finder-band__inner, .home .band--help .faq-block { border-radius: var(--r-sm); }

/* Discount badges everywhere (owner 2026-10-11): Fraunces numerals, a real minus and a smaller "%" (inc/promo.php
   pleasure_discount_html()). In the circles and the tile number the sign is raised; in the small badges it stays on
   the line. */
.promo-slide__badge, .signup__badge, .promo-tile__badge, .badge--sale, .ladder__off, .qty-menu__off, .campaign-note__badge { font-family: var(--f-badge); font-weight: 600; font-variant-numeric: lining-nums; letter-spacing: 0; text-transform: none; }
.pct { font-size: 0.6em; vertical-align: 0.5em; line-height: 0; }
.badge .pct, .ladder__off .pct, .qty-menu__off .pct, .campaign-note__badge .pct { font-size: 0.88em; vertical-align: 0; }
.badge--sale { padding: 3px 7px 4px; font-size: 13px; line-height: 1.1; }
.ladder__off, .qty-menu__off { font-size: 13px; }
.campaign-note__badge { font-size: 14px; }
.promo-slide__badge { font-size: 27px; letter-spacing: -0.01em; }
.signup__badge { width: 64px; height: 64px; font-size: 21px; }
.promo-tile__badge { font-size: clamp(34px, 1.6vw + 22px, 46px); line-height: 0.95; letter-spacing: -0.01em; }
@media (min-width: 960px) {
  .promo-slide__badge { font-size: 36px; }
  .signup__badge { width: 96px; height: 96px; font-size: 30px; }
}

/* Icons (Phosphor, inc/icons.php): 24 px in the header, 28 px in the trust strip; the saved heart fills in. */
.icon__fill { opacity: 0; transition: opacity 0.15s ease; }
.wish-btn[aria-pressed="true"] .icon__fill { opacity: 1; }
.icon-btn .icon { width: 24px; height: 24px; }
.trust__icon .icon { width: 24px; height: 24px; }
.product-notes__icon .icon { width: 20px; height: 20px; }
@media (min-width: 960px) { .trust__icon .icon { width: 28px; height: 28px; } }

/* Hero: a 480 px slide, the arrows and dots inside it (bottom left under the text from 960 px, top left over the
   picture on phones, where the slides swipe and the arrows stay out), the eyebrow in Berry Dark (4.5:1 on every tone). */
.promo-hero__track { border-radius: var(--r-sm); }
.promo-slide__eyebrow { color: var(--c-berry-dark); }
.promo-hero__nav { position: absolute; z-index: 2; top: 2px; left: calc(var(--gutter) + 8px); gap: 2px; margin: 0; }
.promo-hero__arrow { display: none; }
@media (min-width: 960px) {
  .promo-hero { padding-top: 16px; }
  .promo-slide { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 480px; }
  .promo-slide__text { padding: 36px 24px 88px 64px; }
  /* The track sizes every slide to the tallest one: the longest offer title (3 lines) still fits 480 px at 50 px. */
  .promo-slide__title { font-size: clamp(36px, 2.6vw + 14px, 50px); }
  .promo-slide__media { padding-top: 32px; }
  .promo-slide__media img { height: 400px; }
  .promo-hero__nav { top: auto; bottom: 24px; left: calc(var(--gutter) + 52px); gap: 10px; }
  .promo-hero__arrow { display: grid; width: 44px; height: 44px; background: rgba(255, 255, 255, 0.85); }
}
@media (max-width: 959px) { .home .promo-hero__nav { margin-top: 0; } }

/* Trust strip: 72 px from 960 px, a compact 2 x 2 on phones. */
.trust__item { gap: 10px; padding-top: 12px; padding-bottom: 12px; }
.trust__text strong { font-size: 13.5px; }
.trust__text span { font-size: 12.5px; }
@media (min-width: 960px) {
  .trust__item, .trust__item:nth-child(even), .trust__item:nth-child(n+3), .trust__list > li:last-child:nth-child(odd) { padding: 16px 12px; }
  .trust__text strong { font-size: 14px; }
  .trust__text span { font-size: 13px; }
}

/* Category circles read as navigation: 112 px from 960 px. */
@media (min-width: 960px) { .cat-circle__img { width: 112px; height: 112px; } }

/* Shelves: a row of exactly four products takes four columns, so the row is full (no hole at the right). */
@media (min-width: 1200px) { .product-row.product-row--shelf:not(.beginners__row):not(:has(> li:nth-child(5))) { grid-auto-columns: calc((100% - 3 * 18px) / 4); } }
.shelf-tabs .section-head .tabs { order: 3; flex-basis: 100%; border-bottom: 1px solid var(--c-line); }
@media (min-width: 768px) { .shelf-tabs .section-head .tabs { order: 0; flex-basis: auto; margin-right: auto; margin-left: 24px; border-bottom: 0; } }

/* "Akcijos": 200 px tiles, the products on the right half; a swipe row on phones (one tile spans the row). */
.promo-tile { grid-template-columns: minmax(0, 1fr) minmax(0, 42%); grid-template-rows: auto auto 1fr; align-content: stretch; column-gap: 8px; height: 168px; min-height: 0; padding: 18px 0 18px 18px; border-radius: var(--r-sm); }
.promo-tile__badge, .promo-tile__title, .promo-tile__text { grid-column: 1; }
.promo-tile__img { grid-column: 2; grid-row: 1 / -1; height: 100%; min-height: 0; margin: 0; padding: 0 10px 0 0; }
.promo-tiles > li:last-child:nth-child(odd) .promo-tile { min-height: 0; }
@media (max-width: 959px) {
  .promo-tiles { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 82%; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter) 4px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; }
  .promo-tiles::-webkit-scrollbar { display: none; }
  .promo-tiles > li { scroll-snap-align: start; min-width: 0; }
  .promo-tiles > li:last-child:nth-child(odd) { grid-column: auto; }
  .promo-tiles:not(:has(> li:nth-child(2))) { grid-auto-columns: 100%; }
  .promo-tile__title { font-size: 14.5px; line-height: 1.3; }
}
@media (min-width: 960px) { .promo-tile { height: 200px; min-height: 0; padding: 24px 0 24px 28px; } .promo-tile__img { height: 100%; padding-right: 16px; } }

/* "Dovanų idėjos": the cream head with the heading, one line and the gift finder in a white card, then the ideas and
   the sets as compact rows. The heading takes the section size like every other block. */
.home .gifts.section { margin-top: 0; padding-bottom: 0; }
.gifts__head { display: grid; gap: 16px; padding: 20px; border-radius: var(--r-sm); background: var(--c-soft); }
.gifts__title { font-size: var(--fs-h2); line-height: 1.1; }
.gifts__lead, .gifts__head .gifts__lead { display: grid; gap: 0; justify-items: start; max-width: none; padding: 0; }
.gifts__lead .gifts__text { margin: 0; max-width: 46ch; color: var(--c-ink-2); }
.gifts__lead .season { margin-top: 16px; }
.gifts__head .finder.finder--band { margin: 0; padding: 18px; border: 0; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
@media (min-width: 960px) {
  .gifts__head { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); align-items: center; gap: 40px; padding: 32px 40px; }
  .gifts__head .finder.finder--band { padding: 22px; }
}
.gifts .ideas { margin-top: 16px; }
.gifts .idea { min-height: 0; border-radius: var(--r-sm); }
.gifts .idea__photo { border-radius: var(--r-sm) var(--r-sm) 0 0; }
.gifts .idea__photo .art { aspect-ratio: auto; height: 120px; }
.gifts .idea__photo .art__img { height: 100%; object-fit: contain; }
@media (min-width: 768px) { .gifts .idea { padding: 18px 20px; } .gifts .idea__photo { margin: -18px -20px 12px; } .gifts .idea__photo .art { height: 150px; } .gifts .idea__title { font-size: 22px; } }
.gifts .ideas__sub { margin: 32px 0 14px; font-size: 22px; color: var(--c-ink); }
.sets { grid-auto-columns: 82%; gap: 12px; }
@media (min-width: 768px) { .sets { grid-template-columns: repeat(var(--sets-n, 4), minmax(0, 1fr)); max-width: none; gap: 16px; } }
.set-card { display: grid; grid-template-columns: 96px minmax(0, 1fr); grid-template-rows: auto auto 1fr; align-content: start; column-gap: 14px; row-gap: 2px; height: 100%; padding: 10px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); transition: box-shadow 0.2s ease; }
.gifts .set-card:hover { box-shadow: inset 0 0 0 1px var(--c-ink); }
.set-card__img, .set-card__art { grid-row: 1 / -1; width: 96px; height: 96px; border-radius: 4px; }
.set-card__title { margin-top: 4px; font-size: 14.5px; }
.set-card__price { font-size: 16px; }
@media (min-width: 960px) { .set-card { grid-template-columns: 112px minmax(0, 1fr); } .set-card__img, .set-card__art { width: 112px; height: 112px; } }
.finder-band__inner { background: var(--c-soft); }

/* First-time band: cream, the signup 16 / 24 px under it so the two read as one invitation. */
@media (min-width: 960px) {
  .beginners.soft-panel { padding: 32px 0 32px 40px; gap: 32px; }
  .beginners__row.product-row--shelf { padding-right: 40px; }
  .signup.soft-panel { padding: 32px 48px; gap: 32px; }
}
@media (max-width: 959px) { .beginners__row.product-row--shelf { grid-auto-columns: 42%; } .beginners__intro > p { font-size: 15px; } }

/* Parcel: a compact cream panel, the picture 360 px wide beside the steps from 960 px, 16:9 on phones. */
.parcel.soft-panel { gap: 16px; padding: 12px 12px 4px; }
.parcel.soft-panel .parcel__box { aspect-ratio: 16 / 9; border-radius: var(--r-sm); }
.parcel .section-title { margin-bottom: 8px; }
.parcel__body { padding: 0 8px; }
.parcel__step { padding: 12px 0; }
@media (min-width: 960px) {
  .parcel.soft-panel { grid-template-columns: 360px minmax(0, 1fr); gap: 48px; padding: 20px 48px 20px 20px; }
  .parcel.soft-panel .parcel__box { aspect-ratio: 4 / 3; }
  .parcel__body { padding: 0; }
  .parcel__step { padding: 14px 0; }
  .parcel.soft-panel .step__num { width: 44px; height: 44px; font-size: 22px; }
}

/* Brands: one hairline row of wordmarks, 72 px cells, no boxes; three per row on phones. */
.brands-row .brands { gap: 0; padding: 0; border-radius: 0; background: none; box-shadow: none; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.brands-row .brands > li { flex: 1 1 33.33%; }
@media (min-width: 600px) { .brands-row .brands > li { flex-basis: 25%; } }
@media (min-width: 1100px) { .brands-row .brands > li { flex-basis: 12.5%; } }
.brands-row .brands > li + li { box-shadow: inset 1px 0 0 var(--c-line); }
.brands-row .brand-chip { height: 64px; border-radius: 0; background: none; }
.brands-row .brand-chip:hover { background: var(--c-soft); }
@media (min-width: 960px) { .brands-row .brand-chip { height: 72px; } }

/* Guides: 8 px cards, two-line titles get air. */
.guides .guide-card { border-radius: var(--r-sm); }
.guide-card__title { line-height: 1.24; }

/* Help band: the shop text without a panel, both columns from the top. */
.band--help .seo-text { padding: 8px 0 0; border-radius: 0; background: none; }
@media (min-width: 960px) { .band--help .band__grid { align-items: start; } .band--help .seo-text { padding: 36px 0 0; } }

/* Footer on phones: the link columns two by two, the brand and the payments across. */
@media (max-width: 767px) {
  .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  .site-footer__brand, .site-footer__pay { grid-column: 1 / -1; }
  .site-footer__col li a { font-size: 13.5px; }
}

/* Second pass after the screenshots (2026-10-11). */
/* Promo tiles on the calm cream floor (the hero keeps the campaign tones), a "Žiūrėti" cue; a lone tile reads as a
   slim banner with its products on the right. */
.promo-tile, .promo-tile--aqua, .promo-tile--sky, .promo-tile--lilac, .promo-tile--amber, .promo-tile--blush { --tile-bg: var(--c-soft); }
.promo-tile { grid-template-rows: auto auto auto 1fr; }
.promo-tile__cta { grid-column: 1; align-self: end; display: inline-flex; align-items: center; gap: 6px; color: var(--c-berry); font-size: 14px; font-weight: 700; }
.promo-tile__cta .icon { width: 18px; height: 18px; transition: transform 0.2s var(--ease-out); }
.promo-tile:hover .promo-tile__cta .icon { transform: translateX(3px); }
@media (min-width: 960px) { .promo-tiles:not(:has(> li:nth-child(2))) .promo-tile { grid-template-columns: minmax(0, 1fr) 360px; padding-left: 40px; } }
/* Gift head: the heading, the line and the way to every gift, top aligned with the finder card. */
.gifts__lead .gifts__text { margin-top: 8px; }
.gifts__all { margin-top: 12px; }
@media (min-width: 960px) { .gifts__head { align-items: start; } }
/* Idea pictures fill the card on white. */
.gifts .idea__photo { background: #fff; }
.gifts .idea__photo .art { display: block; width: 100%; background: #fff; }
.gifts .idea__photo .art__img { width: 100%; }
/* Phones: the four ideas swipe (one row instead of a 2 x 2 block). */
@media (max-width: 767px) {
  .gifts .ideas { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 62%; margin-inline: calc(-1 * var(--gutter)); padding: 0 var(--gutter) 4px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; }
  .gifts .ideas::-webkit-scrollbar { display: none; }
  .gifts .ideas > li { scroll-snap-align: start; min-width: 0; }
  .gifts .ideas > li:last-child:nth-child(odd) { grid-column: auto; }
  .gifts .idea { padding: 14px; }
  .gifts .idea__photo { margin: -14px -14px 10px; }
}
/* First-time row: four cards fill the panel to its right padding. */
@media (min-width: 1180px) { .beginners__row.product-row--shelf { grid-auto-columns: calc((100% - 3 * 18px - 40px) / 4); } }
/* Footer on phones: Kategorijos down the left, Pagalba and Informacija stacked on the right. */
@media (max-width: 767px) { .site-footer__grid > nav.site-footer__col:first-of-type { grid-row: span 2; } }

/* ==== Sales toolkit (inc/sale.php, owner 2026-10-11): sale prices, the Omnibus lines, the cart line deal and the
   /ispardavimas/ page. One block of its own. ==== */
/* "Įprasta kaina" with the struck price: only when it held for the 30 days before the sale. */
.price-was { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 0 5px; color: var(--c-muted); font-size: 13px; font-weight: 500; letter-spacing: 0; }
.price-was del { color: inherit; opacity: 1; }
.product-price .price .price-was { order: 1; font-size: 14px; }
.buy-bar__price .price-was, .cart-upsell__price .price-was, .pairings__price .price-was { margin-right: 6px; }
.buy-bar__price .price-was__label, .cart-upsell__price .price-was__label, .pairings__price .price-was__label { display: none; }
/* The end date and the lowest price line: under the price on the product page, at the foot of a card. */
.sale-note { display: flex; flex-direction: column; gap: 2px; margin: 6px 0 2px; color: var(--c-ink-2); font-size: 13.5px; font-weight: 600; line-height: 1.4; }
.sale-note__until { color: var(--c-berry); }
.sale-note__lowest { color: var(--c-muted); font-weight: 500; }
.product-card__sale { display: flex; flex-direction: column; gap: 1px; margin: 6px 0 0; color: var(--c-berry); font-size: 12px; font-weight: 600; line-height: 1.35; }
.product-card__sale__lowest { color: var(--c-muted); font-weight: 500; }
/* Cart line: the sale badge, or the promo rule that gave the line its discount. */
.cart-line__deal { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 4px 0 2px; color: var(--c-berry); font-size: 12.5px; font-weight: 700; line-height: 1.3; }
.cart-line__deal .badge--sale { padding: 2px 6px 3px; font-size: 12px; }
/* /ispardavimas/: the filter panel would post to the whole shop, so the page shows the grid and the sort only. */
.pleasure-sale-page .shop__side, .pleasure-sale-page .shop-bar__btn[data-filters-open], .pleasure-sale-page .shop-hero .cat-chips { display: none; }
.pleasure-sale-page .shop__layout { grid-template-columns: minmax(0, 1fr); }
.pleasure-sale-page .shop-bar { grid-template-columns: 1fr; }
/* Naujienos (inc/new-arrivals.php) as /ispardavimas/: the filter form would post to the whole shop. */
.pleasure-new-page .shop__side, .pleasure-new-page .shop-bar__btn[data-filters-open] { display: none; }
/* Its own chips (the new arrivals per category) stay at every width: the sidebar they would repeat is hidden. */
.pleasure-new-page .shop:has(.side-cats) .shop__head .cat-chips--new { display: block; }
.shop-hero .cat-chips--sub { margin-top: 8px; }
.shop-hero .cat-chip[aria-current="true"] { box-shadow: inset 0 0 0 2px var(--c-ink); }
.pleasure-new-page .shop__layout { grid-template-columns: minmax(0, 1fr); }
.pleasure-new-page .shop-bar { grid-template-columns: 1fr; }
/* Gift tiers (pleasure-promo Gifts): "Nemokamai" on a gift line and the sample's kind chips under it. */
.price-free { color: var(--c-berry); font-weight: 700; }
.cart-line__gift-kind { color: var(--c-ink-2); font-weight: 600; }
/* The chips are the last row of the gift line across its full width (template-parts/cart/line.php): one wrapping row
   of compact 32 px chips, the chosen one with a Berry outline. */
.gift-kinds__form { margin: 0; }
.cart-line__kinds { grid-column: 1 / -1; min-width: 0; }
.gift-kinds { display: grid; gap: 6px; min-width: 0; margin: 2px 0 0; }
.gift-kinds__label { color: var(--c-muted); font-size: 12px; font-weight: 600; line-height: 1.3; }
.gift-kinds__list { display: flex; flex-wrap: wrap; gap: 6px; }
.gift-kinds__chip { display: inline-flex; align-items: center; height: 32px; margin: 0; padding: 0 12px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); font: inherit; font-size: 12.5px; font-weight: 600; line-height: 1; letter-spacing: 0; white-space: nowrap; cursor: pointer; }
.gift-kinds__chip:hover { border-color: var(--c-ink); }
.gift-kinds__chip[aria-pressed="true"] { border-color: var(--c-berry); box-shadow: inset 0 0 0 1px var(--c-berry); background: var(--c-surface); color: var(--c-berry-dark); }
.gift-kinds__chip:focus-visible { outline: 3px solid var(--c-berry); outline-offset: 2px; }
.gift-kinds[aria-busy="true"] { opacity: 0.6; }
/* Checkout: the gift row's thumbnail, name and price become one grid with the chips as a full-width row under them. */
.checkout-item:has(.review-item > .gift-kinds) { grid-template-columns: auto minmax(0, 1fr) auto; }
.checkout-item:has(.review-item > .gift-kinds) :is(.checkout-item__info, .review-item) { display: contents; }
.checkout-item:has(.review-item > .gift-kinds) .checkout-item__price { grid-row: 1; grid-column: 3; }
.review-item > .gift-kinds { grid-row: 2; grid-column: 1 / -1; margin-top: 4px; }
@media (min-width: 640px) { .cart-page .cart-line__kinds { grid-column: 2 / -1; } }
/* ==== End of the sales toolkit block. ==== */

/* ==== Cart page add-ons (owner 2026-10-11, template-parts/cart/bundle.php and upsell.php) ==== */
/* At most two calm blocks under the lines: "Pirk kartu" for the toy in the cart, then the add-ons towards free delivery
   or the next quantity step. Each add-on is a small card on the warm well: the 64 px picture, the name in two lines,
   the price and the Ink "+"; two or three share a row from 640 px. Phones keep one card per row, before the totals. */
.cart-page .cart-upsell { gap: 12px; }
.cart-upsell--cards .cart-upsell__list { gap: 8px; }
.cart-upsell--cards .cart-upsell__item { grid-template-columns: 64px minmax(0, 1fr) 40px; gap: 12px; padding: 8px 10px 8px 8px; border-radius: var(--r-sm); background: var(--c-ph); }
.cart-upsell--cards .cart-upsell__media { width: 64px; height: 64px; border-radius: var(--r-sm); background: #fff; }
.cart-upsell--cards .cart-upsell__add { width: 40px; height: 40px; border-radius: var(--r-sm); }
@media (pointer: coarse) { .cart-upsell--cards .cart-upsell__add { width: 44px; height: 44px; } .cart-upsell--cards .cart-upsell__item { grid-template-columns: 64px minmax(0, 1fr) 44px; } }
.cart-bundle__head { display: grid; gap: 4px; }
.cart-bundle__text { margin: 0; max-width: 52ch; color: var(--c-muted); font-size: 13.5px; line-height: 1.45; }
/* "Pridėti abu" needs the page script (two adds in a row): shown only with it. */
.cart-bundle__all { display: none; }
[data-cart-page-shell][data-js] .cart-bundle__all { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 20px; border-radius: var(--r-sm); }
.cart-bundle__all[aria-busy="true"] { opacity: 0.6; cursor: progress; }
@media (min-width: 640px) {
  .cart-upsell--cards .cart-upsell__list { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
  /* "Pirk kartu" holds one or two cards: the text beside them, the cards at their own width (no stretched card). */
  .cart-bundle { grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 24px; }
  .cart-bundle__head { grid-column: 1; grid-row: 1 / span 2; }
  .cart-bundle .cart-upsell__list { grid-column: 2; grid-template-columns: repeat(auto-fit, 272px); }
  [data-cart-page-shell][data-js] .cart-bundle__all { grid-column: 2; }
}
@media (min-width: 640px) {
  /* Two cards beside the text stacked in a narrow column and left a tall empty block on desktop (production audit
     2026-10-12): at every width the text goes on top, the two cards share one row at their own width under it and
     "Pridėti abu" follows, so the block is as tall as its content. */
  .cart-bundle:has(.cart-upsell__item + .cart-upsell__item) { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .cart-bundle:has(.cart-upsell__item + .cart-upsell__item) :is(.cart-bundle__head, .cart-upsell__list, .cart-bundle__all) { grid-column: 1; grid-row: auto; }
  .cart-bundle:has(.cart-upsell__item + .cart-upsell__item) .cart-upsell__list { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
  [data-cart-page-shell][data-js] .cart-bundle:has(.cart-upsell__item + .cart-upsell__item) .cart-bundle__all { justify-self: start; }
}
/* ==== End of the cart page add-ons block. ==== */

/* ==== Product finder "Rask sau tinkamą" (inc/finder.php, page-rask-sau-tinkama.php, assets/js/finder.js, owner
   2026-10-11). One block of its own: the question card, the option tiles, the result, the ready set and the entry
   points (the home tile, the category banner, the Katalogas link). Calm white panels on ivory, 12 px corners, Berry
   only for the next step and the set. ==== */
.finder-quiz [hidden] { display: none !important; }
.finder-quiz__head, .finder-form { width: 100%; max-width: 760px; margin-left: auto; margin-right: auto; }
.finder-quiz__head { margin-bottom: 20px; }
.finder-quiz__title { margin: 0; }
.finder-quiz__lead { max-width: 60ch; margin: 8px 0 0; color: var(--c-ink-2); font-size: 16px; line-height: 1.55; }
.finder-form { display: grid; gap: 20px; padding: 20px 16px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
.finder-form[aria-busy="true"] .finder-options { opacity: 0.6; transition: opacity 0.2s ease; }
.finder-form__again { margin: 0; font-size: var(--fs-h3); }
.finder-form__error { margin: 0; padding: 12px 14px; border-radius: var(--r-sm); background: var(--c-berry-tint); color: var(--c-berry-dark); font-size: 14.5px; font-weight: 600; }
@media (min-width: 768px) { .finder-form { gap: 24px; padding: 32px 40px 36px; } }

/* Progress: "2 / 5" over a thin track that fills in Berry. */
.finder-form__bar { display: grid; gap: 8px; }
.finder-form__progress { margin: 0; color: var(--c-muted); font-size: 13px; font-weight: 700; letter-spacing: 0.08em; font-variant-numeric: tabular-nums; }
.finder-form__track { display: block; height: 4px; overflow: hidden; border-radius: 2px; background: var(--c-soft-2); }
.finder-form__fill { display: block; height: 100%; background: var(--c-berry); transform: scaleX(0.2); transform-origin: left center; transition: transform 0.35s var(--ease-out); }

/* A question: the legend is the heading; without JavaScript all five stand under each other between hairlines. */
.finder-step { min-width: 0; margin: 0; padding: 0; border: 0; }
.finder-step__legend { display: grid; gap: 4px; width: 100%; padding: 0; }
.finder-step__count { color: var(--c-muted); font-size: 13px; font-weight: 700; letter-spacing: 0.08em; }
.finder-quiz.is-js .finder-step__count { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.finder-step__title { color: var(--c-ink); font-size: clamp(24px, 0.9vw + 20px, 32px); font-weight: 700; line-height: 1.15; letter-spacing: -0.01em; text-wrap: balance; }
.finder-step__title:focus { outline: none; }
.finder-step__title:focus-visible { outline: 3px solid var(--c-berry); outline-offset: 4px; border-radius: 4px; }
.finder-step__hint { margin: 6px 0 0; color: var(--c-muted); font-size: 14.5px; }
.finder-step__error { margin: 10px 0 0; color: var(--c-berry-dark); font-size: 14px; font-weight: 600; }
.finder-step__error:empty { display: none; }
.finder-quiz:not(.is-js) .finder-step + .finder-step { margin-top: 8px; padding-top: 28px; border-top: 1px solid var(--c-line); }

/* Option tiles: big tappable boxes; the input covers the tile, so the label, the keyboard and the focus ring work as
   for any radio or checkbox. Two columns for four answers, three or one for three, two (the last across) for five. */
.finder-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 16px; }
.finder-options--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 640px) {
  .finder-options { gap: 12px; margin-top: 20px; }
  .finder-options--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .finder-options--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finder-options--5 > :last-child { grid-column: 1 / -1; }
}
.finder-option { position: relative; display: flex; align-items: center; gap: 12px; min-height: 68px; padding: 14px 14px; border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink); cursor: pointer; transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease; }
@media (min-width: 640px) { .finder-option { min-height: 84px; padding: 16px 18px; } }
.finder-option:hover { border-color: var(--c-ink); }
.finder-option__input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.finder-option:has(.finder-option__input:focus-visible) { outline: 3px solid var(--c-berry); outline-offset: 2px; }
.finder-option:has(.finder-option__input:checked) { border-color: var(--c-ink); box-shadow: inset 0 0 0 1px var(--c-ink); background: var(--c-page); }
.finder-option__mark { flex: none; display: inline-grid; place-items: center; width: 22px; height: 22px; border: 1.5px solid var(--c-line-strong); border-radius: 50%; background: var(--c-surface); color: #fff; transition: background-color 0.15s ease, border-color 0.15s ease; }
.finder-option:has(input[type="checkbox"]) .finder-option__mark { border-radius: var(--r-sm); }
.finder-option__mark .icon { width: 14px; height: 14px; opacity: 0; transform: scale(0.6); transition: opacity 0.15s ease, transform 0.2s var(--ease-out); }
.finder-option:has(.finder-option__input:checked) .finder-option__mark { border-color: var(--c-berry); background: var(--c-berry); }
.finder-option:has(.finder-option__input:checked) .finder-option__mark .icon { opacity: 1; transform: none; }
.finder-option__text { display: grid; gap: 2px; min-width: 0; }
.finder-option__label { font-size: 16.5px; font-weight: 700; line-height: 1.25; }
.finder-option__line { color: var(--c-muted); font-size: 13px; font-weight: 500; line-height: 1.35; }
@media (min-width: 640px) { .finder-option__label { font-size: 17.5px; } }

/* Back left, the next step right; on phones the next step takes the rest of the row. */
.finder-form__nav { display: flex; gap: 10px; align-items: center; }
.finder-form__nav .btn { min-height: 50px; }
.finder-form__back .icon { width: 18px; height: 18px; }
.finder-form__next, .finder-form__submit { flex: 1 1 auto; margin-left: auto; }
@media (min-width: 640px) { .finder-form__next, .finder-form__submit { flex: 0 0 auto; min-width: 220px; } }
.finder-quiz:not(.is-js) .finder-form__submit { flex: 1 1 auto; }

/* Result. */
.finder-result { display: grid; gap: 24px; }
.finder-result__head { display: grid; gap: 8px; padding: 20px; border-radius: var(--r-sm); background: var(--c-soft); }
.finder-result__title { margin: 0; font-size: var(--fs-h2); line-height: 1.1; }
.finder-result__title:focus { outline: none; }
.finder-result__summary { margin: 0; color: var(--c-ink-2); font-size: 15px; font-weight: 600; }
.finder-result__note { max-width: 70ch; margin: 4px 0 0; padding: 10px 14px; border-radius: var(--r-sm); background: var(--c-surface); color: var(--c-ink-2); font-size: 14.5px; line-height: 1.5; }
.finder-result__note strong { color: var(--c-ink); }
.finder-result__actions { display: flex; flex-wrap: wrap; gap: 0 24px; margin: 0; }
@media (min-width: 960px) { .finder-result__head { padding: 28px 40px; } }
.finder-result__empty { display: grid; justify-items: start; gap: 12px; padding: 24px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
.finder-result__empty p { margin: 0; }

/* The top three: a swipe row on phones, three columns from 768 px; each with its line of facts. */
.finder-top { list-style: none; display: grid; grid-auto-flow: column; grid-auto-columns: 74%; gap: 14px; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter) 4px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; overscroll-behavior-x: contain; }
.finder-top::-webkit-scrollbar { display: none; }
.finder-top__item { display: flex; flex-direction: column; gap: 10px; min-width: 0; scroll-snap-align: start; }
.finder-top__item > .product-card { flex: 1; }
@media (min-width: 768px) { .finder-top { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 20px; margin: 0; padding: 0; overflow: visible; } }
.finder-top:not(:has(> li:nth-child(2))) { grid-auto-columns: 100%; }
.finder-reason { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 10px 12px; border-radius: var(--r-sm); background: var(--c-soft); color: var(--c-ink-2); font-size: 13.5px; font-weight: 600; line-height: 1.4; }
.finder-reason .icon { flex: none; width: 16px; height: 16px; margin-top: 1px; color: var(--c-berry); }

/* The beginners' guide for a first time. */
.finder-guide { display: grid; gap: 4px; padding: 16px 20px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); color: var(--c-ink); text-decoration: none; transition: box-shadow 0.2s ease; }
.finder-guide:hover { color: var(--c-ink); box-shadow: inset 0 0 0 1px var(--c-ink); }
.finder-guide__title { font-size: 17px; font-weight: 700; }
.finder-guide__text { color: var(--c-muted); font-size: 14.5px; }
.finder-guide__cta { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; color: var(--c-berry); font-size: 14px; font-weight: 700; }
.finder-guide__cta .icon { width: 18px; height: 18px; transition: transform 0.2s var(--ease-out); }
.finder-guide:hover .finder-guide__cta .icon { transform: translateX(3px); }
@media (min-width: 768px) { .finder-guide { grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; column-gap: 16px; } .finder-guide__cta { margin-top: 0; } }

/* The ready set: the toy and its companions with pleasure-promo's discount and one button. */
.finder-set { display: grid; gap: 16px; padding: 20px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
.finder-set__head { display: flex; align-items: center; gap: 12px; }
.finder-set__badge { flex: none; }
.finder-set__title { margin: 0; font-size: 19px; font-weight: 700; line-height: 1.25; }
.finder-set__items { list-style: none; display: grid; gap: 10px; margin: 0; padding: 0; }
.finder-set__item { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 12px; }
.finder-set__plus { display: none; }
.finder-set__media { display: block; width: 64px; height: 64px; overflow: hidden; border-radius: var(--r-sm); background: var(--c-ph); }
.finder-set__media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.finder-set__info { display: grid; gap: 2px; min-width: 0; }
.finder-set__name { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: var(--c-ink); font-size: 14px; font-weight: 600; line-height: 1.35; text-decoration: none; }
.finder-set__name:hover { color: var(--c-berry); }
.finder-set__price { color: var(--c-muted); font-size: 13.5px; font-variant-numeric: tabular-nums; }
.finder-set__foot { display: grid; gap: 10px; padding-top: 16px; border-top: 1px solid var(--c-line); }
.finder-set__total { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0; }
.finder-set__total-label { color: var(--c-muted); font-size: 13px; font-weight: 700; letter-spacing: 0.08em; }
.finder-set__total-price { font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
.finder-set__total-price del { margin-right: 6px; color: var(--c-muted); font-size: 15px; font-weight: 500; }
.finder-set__total-price ins { color: var(--c-berry); text-decoration: none; }
.finder-set__saving { color: var(--c-berry); font-size: 13.5px; font-weight: 700; }
.finder-set__form { margin: 0; }
.finder-set__button { width: 100%; min-height: 50px; }
.finder-set__status { margin: 0; color: var(--c-ink-2); font-size: 14px; font-weight: 600; }
.finder-set__status:empty { display: none; }
.finder-set__note { margin: 0; color: var(--c-muted); font-size: 13px; }
@media (min-width: 960px) {
  .finder-set { grid-template-columns: minmax(0, 1fr) 320px; column-gap: 40px; padding: 24px 28px; }
  .finder-set__head { grid-column: 1 / -1; }
  .finder-set__items { display: flex; align-items: center; gap: 12px; }
  .finder-set__item { flex: 1 1 0; grid-template-columns: 64px minmax(0, 1fr); }
  .finder-set__plus { display: block; order: -1; color: var(--c-muted); font-size: 20px; font-weight: 500; }
  .finder-set__item:has(.finder-set__plus) { grid-template-columns: 16px 64px minmax(0, 1fr); }
  .finder-set__foot { padding-top: 0; padding-left: 28px; border-top: 0; border-left: 1px solid var(--c-line); }
}

/* Up to six more: rows always full (six, four or two cards). */
.finder-more__title { margin: 16px 0 0; font-size: 22px; font-weight: 700; }
.finder-result .finder-more { margin-top: -8px; }
@media (min-width: 960px) { .finder-result .finder-more { grid-template-columns: repeat(var(--finder-cols, 3), minmax(0, 1fr)); } }
.finder-result__all { margin: 8px 0 0; text-align: center; }

/* Entry points: the tile in the first-time band, the slim banner above a toy category grid and the Katalogas link. */
.finder-teaser { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 16px; padding: 14px 18px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); color: var(--c-ink); text-decoration: none; transition: box-shadow 0.2s ease; }
.finder-teaser:hover { color: var(--c-ink); box-shadow: inset 0 0 0 1px var(--c-ink); }
.finder-teaser__text { display: flex; flex-wrap: wrap; gap: 0 8px; align-items: baseline; }
.finder-teaser__title { font-size: 16px; font-weight: 700; }
.finder-teaser__line { color: var(--c-muted); font-size: 14.5px; }
.finder-teaser__cta { display: inline-flex; align-items: center; gap: 6px; color: var(--c-berry); font-size: 14px; font-weight: 700; white-space: nowrap; }
.finder-teaser__cta .icon { width: 18px; height: 18px; transition: transform 0.2s var(--ease-out); }
.finder-teaser:hover .finder-teaser__cta .icon { transform: translateX(3px); }
.finder-teaser--banner { margin: 0 0 20px; background: var(--c-soft); box-shadow: none; }
.finder-teaser--banner:hover { box-shadow: inset 0 0 0 1px var(--c-line-strong); }
.finder-teaser--home { margin-top: 16px; }
.beginners__intro .finder-teaser--home { flex-direction: column; align-items: flex-start; }
.catalog__finder { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; margin-top: 16px; padding: 10px 14px; border-radius: var(--r-sm); background: var(--c-soft); color: var(--c-ink); font-size: 14px; text-decoration: none; }
.catalog__finder:hover { color: var(--c-ink); background: var(--c-soft-2); }
.catalog__finder-title { font-weight: 700; }
.catalog__finder-text { color: var(--c-ink-2); }
.catalog__finder .icon { width: 16px; height: 16px; color: var(--c-berry); }
/* ==== End of the product finder block. ==== */

/* ==== Compact checkout (owner 2026-10-11, Shopify style; woocommerce/checkout/form-checkout.php) ==== */
/* The details on the left and the order summary as a sticky 40 % column on the right from 960 px; on phones the summary
   is one folded bar ("Rodyti užsakymą") above the details. Tighter rhythm: 20-24 px between sections, 44 px fields,
   56 px product photos, compact totals, bank tiles four in a row and the cards on one line. The frame keeps only the
   logo with "Reikia pagalbos?" on top and one thin line of links at the end. */
.checkout-focus main.page { padding-top: 12px; padding-bottom: 32px; }
.checkout-header .site-header__inner { grid-template-areas: "menu logo acts"; padding-top: 8px; padding-bottom: 8px; }
.checkout-header .site-header__logo img { width: 116px; }
@media (min-width: 960px) {
  .checkout-focus main.page { padding-top: 8px; }
  .checkout-header .site-header__inner { padding-top: 12px; padding-bottom: 12px; }
  .checkout-header .site-header__logo img { width: 140px; }
}
/* The thin footer line (template-parts/footer/site-footer.php). */
/* The page is short now: while the cookie card is shown (--consent-space, site.js) the page can scroll the pay button and
   the links clear of it. */
.site-footer.site-footer--checkout { margin-top: 0; padding-bottom: var(--consent-space, 0px); border-top: 1px solid var(--c-line); background: none; }
.checkout-footer__links { list-style: none; margin: 0; padding: 6px 0 calc(6px + env(safe-area-inset-bottom, 0px)); display: flex; flex-wrap: wrap; justify-content: center; gap: 0 24px; font-size: 13px; }
.site-footer--checkout .checkout-footer__links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--c-muted); text-decoration: underline; text-decoration-color: var(--c-line-strong); text-underline-offset: 3px; }
.site-footer--checkout .checkout-footer__links a:hover { color: var(--c-ink); }
/* Steps. */
.checkout-steps { margin: 0 0 8px; }
@media (min-width: 960px) {
  .checkout-steps { margin: 0 0 8px; }
  .checkout-steps__step { font-size: 13.5px; }
  .checkout-steps__mark { width: 24px; height: 24px; font-size: 12px; }
}
/* Panes: details left (60 %), summary right (40 %), the summary pane runs the full height so its card can stick. */
.checkout-layout { gap: 12px; }
.checkout-side { --checkout-sticky-top: 84px; }
@media (min-width: 960px) {
  .checkout-layout { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 28px; }
  .checkout-layout__main { grid-column: 1; grid-row: 1; padding: 22px 36px 32px; border-radius: var(--r-sm); }
  .checkout-layout__side { grid-column: 2; grid-row: 1; padding: 24px 28px 28px; border-radius: var(--r-sm); }
}
@media (min-width: 1200px) {
  .checkout-layout__main { padding: 22px 44px 36px; }
  .checkout-layout__side { padding: 28px 32px 32px; }
}
.woocommerce-checkout .checkout-heading { margin: 0 0 10px; font-size: 20px; }
@media (min-width: 960px) { .woocommerce-checkout .checkout-heading { font-size: 21px; } }
.checkout-section + .checkout-section, .checkout-section--pay { margin-top: 20px; padding-top: 20px; }
@media (min-width: 960px) { .checkout-section + .checkout-section, .checkout-section--pay { margin-top: 16px; padding-top: 18px; } }
/* Fields: 44 px, labels 4 px above, 12 px between the rows; e-mail and phone share a row from 600 px. */
.checkout-layout__main :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper) { gap: 12px; }
.woocommerce .checkout-layout__main .form-row label { margin-bottom: 4px; }
.woocommerce form.checkout .form-row .input-text, .woocommerce form.checkout .form-row select { min-height: 44px; border-radius: var(--r-sm); }
.woocommerce form.checkout .form-row .select2-container .select2-selection--single { height: 44px; border-radius: var(--r-sm); }
.woocommerce form.checkout .form-row textarea.input-text { min-height: 80px; }
.woocommerce .checkout-layout__main .form-row .description { margin-top: 4px; font-size: 12.5px; }
@media (min-width: 600px) { .woocommerce .checkout-layout__main .checkout-section--contact .form-row { grid-column: auto; } }
/* The quiet options at the end of the address: "Siųsti kitu adresu?" and "Pridėti pastabą" share a row; an opened one
   takes the full width. */
.woocommerce form .form-row.pleasure-company-toggle { margin-top: 0; }
.woocommerce form .form-row.pleasure-company-toggle .description { margin: -10px 0 2px 32px; }
.woocommerce-checkout .checkout-layout .col2-set .col-2 { display: flex; flex-wrap: wrap; align-items: flex-start; column-gap: 28px; margin-top: 0; }
.woocommerce-checkout .checkout-layout .col2-set .col-2 > * { flex: 0 1 auto; min-width: 0; }
.woocommerce-checkout .checkout-layout .col2-set .col-2 > .woocommerce-shipping-fields:has(#ship-to-different-address-checkbox:checked),
.woocommerce-checkout .checkout-layout .col2-set .col-2 > .woocommerce-additional-fields:has(.checkout-notes[open]) { flex-basis: 100%; }
/* Payment: compact gateway cards, bank logos as small tiles four in a row, the four card methods on one line. */
.woocommerce-checkout #payment ul.payment_methods { gap: 8px; }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method { padding: 2px 16px; border-radius: var(--r-sm); }
.woocommerce-checkout #payment ul.payment_methods li > label { min-height: 48px; font-size: 14.5px; }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > div.payment_box { margin: 0 0 12px; }
.woocommerce-checkout #payment .makecommerce-picker .row { --bs-gutter-x: 8px; --bs-gutter-y: 8px; }
.woocommerce-checkout .checkout-section--pay .makecommerce-picker .payment-method-wrapper.col-6 { flex: 0 0 auto; width: 25%; }
.woocommerce-checkout #payment .makecommerce-picker .payment-method { height: 40px !important; border-radius: var(--r-sm) !important; }
.woocommerce-checkout #payment .makecommerce-picker .mc-payment-logo { max-width: 78%; max-height: 22px; width: auto; height: auto; object-fit: contain; }
.woocommerce-checkout #payment .makecommerce-picker .my-3 { margin-top: 6px !important; margin-bottom: 8px !important; font-size: 12.5px !important; }
.woocommerce-checkout #payment .makecommerce-picker .my-3:first-child { margin-top: 0 !important; }
/* The place order block: the privacy note, the one required box (18+ and the terms), the optional newsletter box, the
   Berry button. */
.woocommerce-checkout #payment div.form-row.place-order { margin: 14px 0 0; }
.woocommerce-checkout .woocommerce-privacy-policy-text { font-size: 12.5px; line-height: 1.45; }
.woocommerce-checkout .woocommerce-privacy-policy-text p { margin: 0 0 2px; }
.woocommerce-checkout #payment .place-order label.pleasure-check { padding: 9px 0; }
.woocommerce #payment #place_order { min-height: 52px; margin: 12px 0 0; }
.checkout-trust { margin-top: 10px; }
/* Stripe card tile (inc/payments.php): the same card as the bank tile, the short line in muted text, then Stripe's card
   form in its own frame (the plugin takes the colours and borders from the inputs of this form); test mode adds the
   plugin's test card hint. */
.woocommerce-checkout #payment li.payment_method_stripe > div.payment_box > p { margin: 0 0 10px; color: var(--c-muted); font-size: 13px; line-height: 1.45; }
.woocommerce-checkout #payment li.payment_method_stripe .wc-upe-form { margin: 0; padding: 0; border: 0; }
.woocommerce-checkout #payment li.payment_method_stripe .wc-stripe-upe-element { min-height: 44px; }
.woocommerce-checkout #payment li.payment_method_stripe #wc-stripe-upe-errors:not(:empty) { margin-top: 8px; color: var(--c-berry); font-size: 13px; }
.woocommerce-checkout #payment li.payment_method_stripe .testmode-info { padding: 8px 10px; border-radius: var(--r-sm); background: var(--c-soft); color: var(--c-ink-2); font-size: 12.5px; }
/* Apple Pay and Google Pay of Stripe under the payment block: "arba" between two hairlines, one row of wallet buttons,
   faded and inert until the 18+ and terms box is ticked (site.js), with the hint under them. The plugin's own
   separator line is not used. */
.checkout-express { margin: 16px 0 0; }
.checkout-express[hidden] { display: none; }
.checkout-express__or { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; color: var(--c-muted); font-size: 13px; text-transform: lowercase; }
.checkout-express__or::before, .checkout-express__or::after { content: ""; flex: 1; height: 1px; background: var(--c-line); }
.checkout-express #wc-stripe-express-checkout-element { margin: 0 !important; transition: opacity 0.15s ease; }
.checkout-express #wc-stripe-express-checkout-button-separator { display: none !important; }
.checkout-express.is-locked #wc-stripe-express-checkout-element { opacity: 0.45; filter: grayscale(1); pointer-events: none; }
.checkout-express__hint { display: none; margin: 8px 0 0; color: var(--c-muted); font-size: 12.5px; line-height: 1.45; text-align: center; }
.checkout-express.is-locked .checkout-express__hint { display: block; }
@media (prefers-reduced-motion: reduce) { .checkout-express #wc-stripe-express-checkout-element { transition: none; } }
/* Summary: 56 px photos, compact cards and totals. */
@media (min-width: 960px) {
  .checkout-back { margin: 0 0 10px; gap: 10px; }
  .checkout-back__icon { width: 32px; height: 32px; }
}
.checkout-review__items { gap: 6px; }
.checkout-item, .checkout-item:is(*) { gap: 4px 12px; padding: 8px 12px 8px 8px; border-radius: var(--r-sm); }
.review-item, .review-item:is(*) { grid-template-columns: 56px minmax(0, 1fr); gap: 12px; }
.review-item__thumb, .review-item__thumb:is(*) { width: 56px; height: 56px; border-radius: var(--r-sm); }
.review-item__thumb img { border-radius: var(--r-sm); }
.review-item__title, .review-item__title:is(*) { font-size: 13.5px; }
.checkout-item__price { font-size: 14px; }
.checkout-item dl.variation, .checkout-item dl.variation:is(*) { margin-left: 68px; }
.checkout-delivery { margin-top: 18px; }
.woocommerce .checkout-delivery ul#shipping_method li.checkout-delivery__option { border-radius: var(--r-sm); }
.woocommerce .checkout-delivery ul#shipping_method li label { grid-template-columns: 60px minmax(0, 1fr) auto; gap: 12px; min-height: 60px; padding: 10px 14px 10px 12px; }
.checkout-delivery__logo { width: 60px; height: auto; border-radius: 0; background: none; }
.checkout-delivery__name { font-size: 14px; }
.checkout-delivery__note { font-size: 12.5px; }
.checkout-discretion { margin-top: 10px; font-size: 13px; }
.woocommerce-checkout table.checkout-totals { margin-top: 16px; padding: 8px 16px 14px; border-radius: var(--r-sm); }
.woocommerce-checkout table.checkout-totals th, .woocommerce-checkout table.checkout-totals td { padding: 4px 0; font-size: 13.5px; }
.woocommerce-checkout table.checkout-totals tr:nth-last-child(2) th, .woocommerce-checkout table.checkout-totals tr:nth-last-child(2) td { padding-bottom: 10px; }
.woocommerce-checkout table.checkout-totals tr.order-total th, .woocommerce-checkout table.checkout-totals tr.order-total td { padding-top: 10px; }
.woocommerce-checkout table.checkout-totals tr.order-total th { padding-top: 14px; font-size: 15px; }
.woocommerce-checkout table.checkout-totals tr.order-total td strong { font-size: 22px; }
.checkout-coupon { margin-top: 8px; padding: 0 16px; border-radius: var(--r-sm); }
.checkout-coupon__toggle { min-height: 46px; font-size: 13.5px; }
.woocommerce-checkout .checkout-coupon .checkout-coupon__input { min-height: 44px; border-radius: var(--r-sm); }
.checkout-coupon__apply { top: 2px; height: 40px; }
/* Phones: the whole order folds behind the bar with the total; the details follow right under it. */
@media (max-width: 959px) {
  .checkout-layout__side { padding: 0 14px; border-radius: var(--r-sm); }
  .checkout-layout__side:not(.is-collapsed) { padding-bottom: 14px; }
  .checkout-summary { min-height: 52px; padding: 6px 0; }
  .checkout-summary__total { font-size: 18px; }
  .checkout-layout__side.is-collapsed :is(#order_review_heading, #order_review, .checkout-coupon) { display: none; }
  .checkout-layout__main { padding: 4px 0 0; }
}
/* ==== End of the compact checkout block. ==== */

/* ==== Icons without outlines (owner 2026-10-11: "kad nesimatytų borderiai") ==== */
/* Icon circles and icon buttons keep a soft fill (or none) but lose their outline strokes: the product trust list, the
   checkout back button, step marks and the note toggle, the account cards, the parcel step numbers, the drawer close
   button and the shelf and hero arrows. Keyboard focus rings stay, on :focus-visible only. */
.product-notes__icon, .product-notes__icon:is(*) { border: 0; background: var(--c-berry-tint); box-shadow: none; }
.checkout-back__icon, .checkout-back:hover .checkout-back__icon { box-shadow: none; }
.checkout-back:hover .checkout-back__icon { background: var(--c-soft); }
.checkout-steps__mark { box-shadow: none; background: var(--c-soft-2); }
.checkout-notes__toggle .icon { box-shadow: none; background: var(--c-soft-2); }
.account-card__icon { box-shadow: none; background: var(--c-berry-tint); }
.parcel.soft-panel .step__num { box-shadow: none; }
.cart-drawer__close, .cart-drawer__close:hover { border: 0; background: var(--c-soft); }
.cart-drawer__close:hover { background: var(--c-soft-2); }
.shelf__arrow, .promo-hero__arrow { border: 0; box-shadow: 0 2px 10px -3px rgba(43, 20, 34, 0.22); }
.shelf__arrow:hover, .promo-hero__arrow:hover { box-shadow: 0 4px 14px -4px rgba(43, 20, 34, 0.3); }
/* The sort select's ring only for the keyboard (it was :focus-within, so a mouse click drew it too). */
.shop-bar__sort:focus-within { outline: none; }
.shop-bar__sort:has(:focus-visible) { outline: 3px solid var(--c-berry); outline-offset: 2px; }
/* ==== End of the icons without outlines block. ==== */

/* ==== DPD logo, one treatment (owner 2026-10-11, pleasure_dpd_logo_html() in inc/shipping.php) ==== */
/* 60 px wide, the official file without a box, centred on its line: the checkout delivery card, the cart totals
   "Pristatymas" row and the footer. */
.dpd-logo { display: block; flex: none; width: 60px; height: auto; aspect-ratio: 50 / 21; }
.checkout-delivery__logo .dpd-logo { width: 60px; }
.site-footer__ship .dpd-logo { width: 60px; height: auto; padding: 0; border-radius: 0; background: none; box-shadow: none; }
.cart-ship { display: inline-flex; align-items: center; justify-content: flex-end; gap: 10px; }
.cart-ship__text { text-align: right; white-space: nowrap; }
.woocommerce .cart-page .cart_totals tr.woocommerce-shipping-totals td { flex: 0 0 auto; }
@media (max-width: 479px) {
  .woocommerce .cart-page .cart_totals table.shop_table tr.woocommerce-shipping-totals th { padding-right: 12px; }
  .cart-ship__text { white-space: normal; max-width: 9.5em; line-height: 1.35; }
}
/* The row keeps its full height hairline: the label and the logo line are centred inside their cells. */
.woocommerce .cart-page .cart_totals table.shop_table tr.woocommerce-shipping-totals th, .woocommerce .cart-page .cart_totals table.shop_table tr.woocommerce-shipping-totals td { display: flex; align-items: center; }
.woocommerce .cart-page .cart_totals table.shop_table tr.woocommerce-shipping-totals td { justify-content: flex-end; }
/* ==== End of the DPD logo block. ==== */

/* ==== Product page redesign (2026-10-11, the way of the new home, cart and checkout) ==== */
/* One column of decisions: the title, the price with VAT and points on one line, the key facts, the code, the short
   text, the variants, the stock line and the buy row, then the delivery block as one white card right under the
   button; the quantity ladder, "Pirk kartu" and the pairings follow as calm white cards (no pastel fills). */
.product-page .summary { flex-flow: row wrap; align-content: flex-start; }
.product-page .summary > * { flex: 1 1 100%; min-width: 0; }
.product-page .summary > .product-vat, .product-page .summary > .product-points { flex: 0 0 auto; }
.product-page .summary > .wish-btn--label { flex: 0 0 auto; }
.product-page .summary > .product-top { margin-bottom: 6px; }
.product-page .product_title { margin: 0 0 12px; font-size: clamp(24px, 0.8vw + 18px, 32px); font-weight: 700; line-height: 1.14; letter-spacing: -0.015em; }
.product-page .product-price .price, .woocommerce .product-page div.product .product-price p.price { font-size: 28px; letter-spacing: 0; }
.product-page .summary > .product-vat { margin: 4px 0 0; }
.product-page .summary > .product-points { margin: 4px 0 0; }
.product-page .summary > .product-vat + .product-points::before { content: "\00B7"; margin: 0 8px; color: var(--c-line-strong); }
/* Key facts (pleasure_product_key_facts()): short checks in one wrapping row, the lubricant note under them. */
.product-page .summary > .key-facts { margin: 14px 0 0; }
.key-facts__list { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; padding: 0; }
.key-facts__list li { display: inline-flex; align-items: center; gap: 7px; color: var(--c-ink); font-size: 14px; font-weight: 600; line-height: 1.3; }
.key-facts__list .icon { flex: none; width: 16px; height: 16px; color: var(--c-berry); }
.key-facts__note { display: flex; align-items: flex-start; gap: 7px; margin: 10px 0 0; color: var(--c-ink-2); font-size: 13.5px; line-height: 1.45; }
.key-facts__note .icon { flex: none; width: 16px; height: 16px; margin-top: 1px; color: var(--c-champagne-ink); }
/* The autumn code: one quiet line with its badge, no tinted capsule. */
.product-page .summary .campaign-note { display: flex; align-items: center; gap: 10px; margin: 14px 0 0; padding: 0; border-radius: 0; background: none; color: var(--c-ink-2); font-size: 13.5px; font-weight: 600; line-height: 1.4; }
.product-page .summary .campaign-note__badge { flex: none; border-radius: var(--r-sm); }
.product-page .summary > .woocommerce-product-details__short-description { margin-top: 16px; font-size: 15px; }
.product-page .summary > .variant-picker { margin-top: 20px; }
.woocommerce .product-page div.product .summary .stock { margin-top: 20px; }
.woocommerce .product-page div.product .stock + form.cart { margin-top: 10px; }
/* The delivery block: a white card with hairline rows, the dispatch date first. */
.product-page .summary .product-notes { gap: 0; margin: 16px 0 0; padding: 4px 16px; border: 0; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); font-size: 14px; }
.product-page .summary .product-notes li { align-items: flex-start; gap: 12px; padding: 12px 0; }
.product-page .summary .product-notes li + li { box-shadow: inset 0 1px 0 var(--c-line); }
.product-page .summary .product-notes__dispatch { order: 0; margin: 0; padding: 12px 0; border-radius: 0; background: none; font-weight: 600; }
.product-page .summary .product-notes__icon, .product-page .summary .product-notes__dispatch .product-notes__icon { width: 32px; height: 32px; margin-top: -5px; background: var(--c-berry-tint); color: var(--c-berry); }
.product-page .summary .product-notes__icon .icon { width: 18px; height: 18px; }
.product-page .summary .product-notes__text { align-self: center; }
.product-page .summary .product-notes__eta strong { color: var(--c-berry); }
.free-left { display: grid; gap: 6px; margin-top: 8px; }
.free-left[hidden] { display: none; }
.free-left__text { color: var(--c-ink); font-size: 13px; font-weight: 700; }
.free-left__bar { display: block; height: 4px; border-radius: 2px; background: var(--c-soft-2); overflow: hidden; }
.free-left__bar span { display: block; height: 100%; border-radius: inherit; background: var(--c-berry); }
.free-left--done .free-left__bar { display: none; }
/* Ladder, "Pirk kartu" and the pairings: the white cards of the cart page add-ons. */
.product-page .summary .ladder { margin: 16px 0 0; padding: 16px 18px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
.product-page .summary .ladder__row { background: var(--c-ph); }
@media (max-width: 519px) { .product-page .summary .ladder__rows { background: var(--c-ph); } .product-page .summary .ladder__row { background: none; } }
.product-page .promo-box, .woocommerce .product-page .promo-box, .product-page .summary > .promo-box { margin-top: 16px; padding: 18px; border: 0; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
.product-page .promo-box .button, .product-page .promo-box .btn { background: var(--c-surface); }
.product-page .summary > .pairings { margin-top: 16px; background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); border-radius: var(--r-sm); }
.product-page .pairings__item { background: var(--c-ph); }
/* Phones: the gallery edge to edge, dots on the picture (the swipe is the way to browse), less air above it. */
@media (max-width: 959px) {
  main.page.product-page { padding-top: 8px; }
  .product-page .crumb-back { margin: 0 0 4px; }
  .woocommerce .product-page div.product div.images.woocommerce-product-gallery { margin-inline: calc(-1 * var(--gutter)); }
  .product-page .woocommerce-product-gallery .flex-viewport, .product-page .woocommerce-product-gallery__wrapper { border-radius: 0; box-shadow: none; }
  .product-page .woocommerce-product-gallery__image img { border-radius: 0; }
  .woocommerce .product-page div.product div.images .flex-control-thumbs { position: absolute; left: 50%; bottom: 12px; z-index: 3; transform: translateX(-50%); margin: 0; padding: 0 6px; border-radius: var(--r-sm); background: rgba(255, 255, 255, 0.86); }
  .woocommerce .product-page div.product div.images .flex-control-thumbs li { width: 22px; height: 28px; }
  .woocommerce .product-page div.product div.images .flex-control-thumbs li::after { width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px; background: rgba(34, 26, 31, 0.28); }
  .product-page div.product { gap: 20px; }
}
@media (max-width: 959px) and (hover: none) {
  .woocommerce .product-page div.product div.images .flex-direction-nav { display: none; }
}
/* Wide screens: the summary keeps its column beside the gallery, the tabs and "Prieš užsakant" under the photo. */
@media (min-width: 960px) {
  .product-page div.product { grid-template-rows: auto auto 1fr; }
  .product-page div.product > .summary { grid-row: 1 / span 3; }
  .product-page div.product > .product-faq { grid-column: 1; grid-row: 3; align-self: start; }
}
/* "Prieš užsakant": three short answers in a white card. */
.product-faq { grid-column: 1 / -1; padding: 8px 20px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
@media (min-width: 960px) { .product-faq { padding: 12px 40px 16px; } }
.product-faq__title { margin: 16px 0 4px; font-size: 22px; font-weight: 700; }
.product-faq .faq { border-top: 0; }
.product-faq .faq__item:last-child { border-bottom: 0; }
.product-faq .faq__q { min-height: 56px; font-size: 15px; }
/* The rows below: the same air as the home sections; a row of four on a wide screen fills four columns, not four of
   five (no hole at the end). */
@media (min-width: 1200px) { .product-page .related ul.products:not(:has(> li:nth-child(5))) { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.product-page .related { margin-top: 24px; }
@media (min-width: 768px) { .product-page .related { margin-top: 40px; } }
/* The phone buy bar: the price on top, the delivery date (or the name) under it. */
.buy-bar__info { gap: 1px; }
.buy-bar__name { order: 2; font-size: 12.5px; font-weight: 500; color: var(--c-muted); }
.buy-bar__eta { order: 2; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 12.5px; font-weight: 600; color: var(--c-berry); }
.buy-bar__eta[hidden], .buy-bar--eta .buy-bar__name { display: none; }
/* ==== End of the product page redesign block. ==== */

/* ==== Catalog listing pass (2026-10-11, the way of the new product, cart and checkout pages) ==== */
/* The header is a calm white card with a hairline ring (no pastel fill), the studio photo smaller beside it; on phones
   it is compact (the intro on two lines with "Daugiau", site.js), so the first products start on the first screen.
   The finder banner sits inside the grid after the first four products; "Rodyti daugiau prekių" loads the next page
   under the cards already seen. */
.shop__head.shop-hero.soft-panel { margin-bottom: 16px; padding: 16px 16px 14px; gap: 12px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
.shop-hero .shop__title { margin: 0; font-size: 28px; line-height: 1.1; letter-spacing: -0.015em; }
.shop-hero .shop__intro { max-width: 72ch; margin-top: 6px; color: var(--c-ink-2); font-size: 14.5px; line-height: 1.5; }
.shop-hero .shop__intro.is-clamped { max-height: 3em; overflow: hidden; }
.shop-hero .shop__intro.is-clamped p { margin: 0; }
.shop__intro-more { display: inline-flex; align-items: center; min-height: 44px; margin: -8px 0 -10px; padding: 0; border: 0; background: none; color: var(--c-berry); font: inherit; font-size: 13.5px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.shop__intro-more:hover { color: var(--c-berry-dark); }
.shop-hero .cat-chips { margin-top: 12px; }
.shop-hero .cat-chip { min-height: 44px; padding: 0 14px; background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line-strong); font-size: 14px; }
.shop-hero .cat-chip:hover { box-shadow: inset 0 0 0 1px var(--c-ink); }
.shop-hero .cat-chip[aria-current="page"] { background: var(--c-ink); color: #fff; box-shadow: none; }
.shop-hero .gift-choice { margin-top: 12px; }
.shop-hero__more { margin: 4px 0 -8px; }
@media (max-width: 767px) {
  .shop-hero .cat-chips__list { margin: 0 -16px; padding: 0 16px 2px; scroll-padding-inline: 16px; scrollbar-width: none; }
  .shop-hero .cat-chips__list::-webkit-scrollbar { display: none; }
}
@media (min-width: 768px) {
  .shop__head.shop-hero.soft-panel { margin-bottom: 20px; padding: 22px 28px; gap: 24px; }
  .shop-hero .shop__title { font-size: clamp(32px, 1vw + 22px, 40px); }
  .shop-hero .shop__intro { font-size: 15px; }
  .shop-hero--photo { grid-template-columns: minmax(0, 1fr) 128px; }
  .shop-hero__photo { width: 128px; height: 128px; background: var(--c-ph); box-shadow: 0 0 0 1px var(--c-line); }
}
@media (min-width: 1100px) { .shop-hero--photo { grid-template-columns: minmax(0, 1fr) 144px; } .shop-hero__photo { width: 144px; height: 144px; } }
/* A header with only its title (Prekės jai beside the categories list, a brand page): a smaller photo, a lower card. */
@media (min-width: 768px) { .shop-hero--photo:not(:has(.shop__intro, .gift-choice)) { grid-template-columns: minmax(0, 1fr) 96px; } .shop-hero--photo:not(:has(.shop__intro, .gift-choice)) .shop-hero__photo { width: 96px; height: 96px; } }
/* Less air above the header on a listing; the breadcrumbs one quiet line. */
main.page.shop { padding-top: 20px; }
.shop > .breadcrumbs { margin-bottom: 10px; }
@media (max-width: 767px) {
  main.page.shop { padding-top: 10px; }
  .shop > .breadcrumbs { margin-bottom: 6px; font-size: 12.5px; }
  .shop > .breadcrumbs a { padding-block: 10px; }
}
/* The brand row: compact tiles; on phones the label is for screen readers only (the logos say it). */
.shop-brands { margin: 0 0 16px; }
@media (max-width: 767px) {
  .shop-brands__title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  .shop-brands .brand-tiles--row { grid-auto-columns: 100px; padding-block: 2px; }
  .shop-brands .brand-tile { height: 44px; padding: 0 10px; }
  .shop-brands .brand-tile .brand-logo { max-height: 22px; }
}
@media (min-width: 768px) { .shop-brands .brand-tile { height: 48px; } .shop-brands .brand-tile .brand-logo { max-height: 26px; } }
/* Phones: "Filtrai" and "Rikiuoti" right under the header, the count as one small line, then the cards. */
@media (max-width: 959px) {
  .shop-bar { margin: 0 0 8px; }
  .shop__toolbar.has-shop-bar { margin-bottom: 10px; }
  .shop__toolbar.has-shop-bar .woocommerce-result-count { font-size: 13px; }
  .active-filters { margin-bottom: 14px; }
}
/* The filter panel beside the grid: the same white card as the header. */
@media (min-width: 960px) { .shop__side { border-radius: var(--r-sm); } }
/* The finder banner inside the grid: a full row after the first four products, a quiet white card. In the three
   column range the next products fill the row before it (dense), so the grid has no hole. */
ul.products > li.grid-banner { grid-column: 1 / -1; min-width: 0; }
@media (min-width: 640px) and (max-width: 1199px) { .shop__results ul.products { grid-auto-flow: row dense; } }
.finder-teaser--banner { margin: 0; padding: 14px 18px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
.finder-teaser--banner:hover { box-shadow: inset 0 0 0 1px var(--c-ink); }
.finder-teaser--after { margin-top: 28px; }
@media (max-width: 639px) { .finder-teaser--banner { padding: 12px 16px; } .finder-teaser--banner .finder-teaser__title { font-size: 15px; } .finder-teaser--banner .finder-teaser__line { font-size: 13.5px; } }
/* "Rodyti daugiau prekių" (site.js): how many of how many, a thin Berry bar and the secondary button; the page links
   stay under it. */
.load-more { display: grid; justify-items: center; gap: 10px; max-width: 340px; margin: 40px auto 0; text-align: center; }
.load-more__status { margin: 0; color: var(--c-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.load-more__bar { display: block; width: 100%; max-width: 220px; height: 4px; border-radius: 2px; background: var(--c-soft-2); overflow: hidden; }
.load-more__bar span { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--c-berry); transition: width 0.3s var(--ease-out); }
.load-more__btn { width: 100%; min-height: 48px; }
.load-more__btn[aria-busy="true"] { opacity: 0.6; cursor: progress; }
.load-more + .woocommerce-pagination { margin-top: 20px; }
@media (prefers-reduced-motion: reduce) { .load-more__bar span { transition: none; } }
/* Empty states: the same white card, the recommended products under it. */
.shop-empty { border: 0; border-radius: var(--r-sm); box-shadow: inset 0 0 0 1px var(--c-line); }
.shop-empty .cat-chip { border-radius: var(--r-sm); }
/* ==== End of the catalog listing pass block. ==== */

/* ==== Account, guides and info pages pass (2026-10-11, the way of the new product, cart and checkout pages) ==== */
/* Calm white cards with a hairline ring and 16 px corners everywhere: the account as a dashboard (the last order with
   its status, pictures, DPD parcel and "Pakartoti užsakymą", the points, the wishlist, the settings), the orders as
   cards, the order page with a status card, the login without the plum panel, the one-time link as one card, the
   guides at a 66 character measure with their category and products at the end, the legal pages as documents (a white
   header with the sections and the reading time, sections under hairlines), the 404 that helps and the order received
   page as one centred column. */
.account-tile, .order-card, .order-status-card, .auth__card, .auth__aside, .woocommerce form.magic-link-confirm, .page-hero--plain, .guide-shop, .thanks-hero { border: 0; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
/* The account frame: the menu card and the content card. */
@media (min-width: 960px) {
  .woocommerce-account .woocommerce-MyAccount-navigation { border: 0; border-radius: var(--r-sm); box-shadow: inset 0 0 0 1px var(--c-line); }
  .woocommerce-account .woocommerce-MyAccount-navigation a { border-radius: var(--r-sm); }
  .woocommerce-account .woocommerce-MyAccount-content { padding: 28px; border: 0; border-radius: var(--r-sm); box-shadow: inset 0 0 0 1px var(--c-line); }
  .woocommerce-account.logged-in .woocommerce-MyAccount-content:has(> .account-home) { padding: 0; background: none; box-shadow: none; }
}
.woocommerce-account .woocommerce-MyAccount-navigation .account-nav__avatar { font-family: var(--f-body); font-size: 20px; font-weight: 700; }
/* Start page. */
.account-home__head { margin: 0 0 16px; }
.account-home__hello { margin: 0; font-size: 28px; line-height: 1.1; letter-spacing: -0.015em; }
.account-home__lead { margin: 4px 0 0; color: var(--c-muted); font-size: 15px; }
@media (min-width: 960px) { .account-home__head { margin-bottom: 20px; } .account-home__hello { font-size: 32px; } }
.account-dash { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.account-tile--order, .account-tile--settings, .account-dash:not(:has(.account-tile--points)) .account-tile--wish { grid-column: 1 / -1; }
@media (min-width: 640px) { .account-dash { gap: 16px; } }
@media (max-width: 639px) { .account-tile--points, .account-tile--wish { padding: 16px; } .account-tile--wish .order-thumbs__item:nth-child(n+3) { display: none; } .account-tile__number { font-size: 32px; } }
.account-tile { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 18px; color: var(--c-ink); text-decoration: none; }
@media (min-width: 768px) { .account-tile { padding: 20px 24px; } }
a.account-tile { transition: box-shadow 0.15s ease; }
a.account-tile:hover { color: var(--c-ink); box-shadow: inset 0 0 0 1px var(--c-ink); }
.account-tile__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.account-tile__label { margin: 0; font-family: var(--f-body); color: var(--c-muted); font-size: 12px; font-weight: 800; letter-spacing: 0.16em; line-height: 1.3; text-transform: uppercase; }
.account-tile__link { display: inline-flex; align-items: center; min-height: 44px; margin: -12px 0; color: var(--c-berry); font-size: 14px; font-weight: 700; text-decoration: none; }
.account-tile__link:hover { color: var(--c-berry-dark); text-decoration: underline; text-underline-offset: 3px; }
.account-tile__number { font-size: 36px; font-weight: 800; line-height: 1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.account-tile__text { margin: 0; color: var(--c-muted); font-size: 14px; line-height: 1.45; }
.account-tile__more { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 4px; color: var(--c-berry); font-size: 14px; font-weight: 700; }
.account-tile__more .icon { width: 16px; height: 16px; transition: transform 0.2s var(--ease-out); }
a.account-tile:hover .account-tile__more .icon { transform: translateX(3px); }
.account-tile__row, .order-card__row, .order-status-card__row { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--c-ink-2); font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
.account-tile__row a, .order-card__row a, .order-status-card__row a { display: inline-flex; align-items: center; min-height: 44px; color: var(--c-berry); font-weight: 700; }
.account-tile__icon { flex: none; display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--c-berry-tint); color: var(--c-berry); }
.account-tile__icon .icon { width: 18px; height: 18px; }
.account-tile__actions, .order-status-card__actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.account-tile__btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; }
.account-tile__btn .icon { width: 18px; height: 18px; }
@media (max-width: 639px) { .account-tile__btn { width: 100%; } }
.account-tile--empty .account-tile__text { color: var(--c-ink-2); font-size: 15px; }
/* The last order: the pictures, the number with the status, the date, count and total, a chevron. */
.account-order { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px 14px; padding: 12px; border-radius: var(--r-sm); background: var(--c-ph); color: var(--c-ink); text-decoration: none; transition: background-color 0.15s ease; }
.account-order:hover { background: var(--c-soft); color: var(--c-ink); }
.account-order > .icon { width: 20px; height: 20px; color: var(--c-muted); }
.account-order__main, .order-card__main { display: grid; gap: 4px; min-width: 0; }
.account-order__line, .order-card__line, .order-status-card__line { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.account-order__number, .order-card__number { font-size: 18px; font-weight: 800; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
.account-order__meta, .order-card__meta, .order-status-card__meta { color: var(--c-muted); font-size: 13.5px; line-height: 1.4; font-variant-numeric: tabular-nums; }
@media (max-width: 479px) { .account-order { grid-template-columns: minmax(0, 1fr) auto; } .account-order .order-thumbs { grid-column: 1 / -1; } .account-order > .icon { grid-row: 2; grid-column: 2; } }
/* Product pictures of an order and of the wishlist. */
.order-thumbs { display: flex; gap: 6px; min-width: 0; }
.order-thumbs__item { flex: none; display: grid; place-items: center; width: 48px; height: 48px; overflow: hidden; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); color: var(--c-muted); font-size: 13px; font-weight: 700; }
.order-thumbs__item img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.account-tile--wish .order-thumbs__item { background: var(--c-ph); box-shadow: none; }
/* The status pill: Berry while the order is on its way, champagne while it waits, quiet when it is done. */
.order-status { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 10px; border-radius: var(--r-sm); background: var(--c-soft); color: var(--c-ink-2); font-size: 12.5px; font-weight: 700; line-height: 1.3; white-space: nowrap; }
.order-status--processing, .order-status--shipped { background: var(--c-berry-tint); color: var(--c-berry-dark); }
.order-status--pending, .order-status--on-hold { background: var(--c-champagne-tint); color: var(--c-champagne-ink); }
.order-status--completed { background: var(--c-soft-2); color: var(--c-ink); }
.order-status--cancelled, .order-status--failed, .order-status--refunded { background: var(--c-soft); color: var(--c-muted); }
/* Settings: hairline rows with an icon, the name and one line. */
.account-settings { list-style: none; margin: 0 0 -6px; padding: 0; display: grid; }
@media (min-width: 768px) { .account-settings { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 20px; } }
.account-settings li + li { border-top: 1px solid var(--c-line); }
@media (min-width: 768px) { .account-settings li + li { border-top: 0; } }
.account-settings a { display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 8px 0; color: var(--c-ink); text-decoration: none; }
.account-settings a > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.account-settings strong { font-size: 15px; font-weight: 700; }
.account-settings small { color: var(--c-muted); font-size: 13px; line-height: 1.35; }
.account-settings a > .icon { flex: none; width: 18px; height: 18px; margin-left: auto; color: var(--c-muted); }
.account-settings a:hover strong { color: var(--c-berry); }
/* Orders: one card per order. */
.order-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.order-card { display: grid; gap: 4px; padding: 8px; }
.order-card__head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 10px 14px; padding: 10px; border-radius: var(--r-sm); color: var(--c-ink); text-decoration: none; transition: background-color 0.15s ease; }
.order-card__head:hover { background: var(--c-ph); color: var(--c-ink); }
.order-card__head > .icon { width: 20px; height: 20px; color: var(--c-muted); }
.order-card__total { font-size: 16px; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.order-card__row { padding: 0 10px; }
.order-card__row-label { color: var(--c-muted); }
.order-card__actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 4px 10px 10px; }
.woocommerce-account .order-card .order-card__action.button { display: inline-flex; align-items: center; min-height: 44px; margin: 0; padding: 0 16px; border: 0; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line-strong); color: var(--c-ink); font-size: 12px; }
.woocommerce-account .order-card .order-card__action.button:hover { background: var(--c-ink); box-shadow: none; color: #fff; }
@media (max-width: 639px) {
  .order-card__head { grid-template-columns: minmax(0, 1fr) auto; }
  .order-card__head .order-thumbs { grid-column: 1 / -1; grid-row: 2; }
  .order-card__head > .icon { display: none; }
  .woocommerce-account .order-card .order-card__action.button { flex: 1 1 auto; justify-content: center; }
}
.account-empty { margin: 0; }
/* The order page: the status card, the updates, the table with product pictures. */
.order-status-card { display: grid; gap: 10px; margin: 0 0 28px; padding: 18px 20px; }
.order-status-card > p { margin: 0; }
.woocommerce .woocommerce-order-details tfoot td .button { margin: 4px 0 4px 8px; }
.order-status-card__meta { font-size: 14px; }
.order-updates__title { margin: 0 0 12px; font-size: 22px; }
.order-updates { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 8px; }
.order-updates li { padding: 12px 16px; border-radius: var(--r-sm); background: var(--c-ph); }
.order-updates .meta { margin: 0 0 2px; color: var(--c-muted); font-size: 12.5px; font-weight: 700; }
.order-updates .description p { margin: 0; }
.woocommerce .woocommerce-order-details table.shop_table { overflow: hidden; border: 0; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
.woocommerce .woocommerce-order-details table.shop_table td.product-name { line-height: 1.4; }
.woocommerce .woocommerce-order-details td.product-name::after { content: ""; display: table; clear: both; }
/* The gift lines' meta ("Dovana: ...", "Rūšis: ..."): its own block formatting context, so the labels' clear: both
   (WooCommerce) stays inside the list instead of dropping the first label under the floated thumbnail. */
.woocommerce .woocommerce-order-details td.product-name .wc-item-meta { display: flow-root; margin: 4px 0 0; padding: 0; }
.order-line__thumb { float: left; display: grid; place-items: center; width: 48px; height: 48px; margin: 0 12px 0 0; overflow: hidden; border-radius: var(--r-sm); background: var(--c-ph); }
.order-line__thumb img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.order-line__name a, .woocommerce .woocommerce-order-details .product-name a { color: var(--c-ink); font-weight: 600; text-decoration: none; }
.order-line__name a:hover, .woocommerce .woocommerce-order-details .product-name a:hover { color: var(--c-berry); text-decoration: underline; text-underline-offset: 3px; }
.woocommerce .woocommerce-customer-details address { border: 0; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { border: 0; border-radius: var(--r-sm); box-shadow: inset 0 0 0 1px var(--c-line); }
/* Paskyros duomenys: the password group on the warm well instead of the browser's fieldset frame. */
.woocommerce-EditAccountForm fieldset { clear: both; margin: 8px 0 18px; padding: 16px 18px 2px; border: 0; border-radius: var(--r-sm); background: var(--c-ph); }
.woocommerce-EditAccountForm fieldset legend { float: left; width: 100%; margin: 0 0 10px; padding: 0; font-size: 15px; font-weight: 700; }
.woocommerce-EditAccountForm fieldset legend + * { clear: both; }
.woocommerce-EditAccountForm #account_display_name_description em { color: var(--c-muted); font-size: 13px; font-style: normal; }
/* Taškai and the empty wishlist: the same calm cards. */
.points-summary { border: 0; border-radius: var(--r-sm); box-shadow: inset 0 0 0 1px var(--c-line); }
.points-page__staff { border: 0; border-radius: var(--r-sm); background: var(--c-ph); }
.wishlist-empty { border: 0; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
.wishlist-empty > .icon { box-sizing: content-box; padding: 12px; border-radius: 50%; background: var(--c-berry-tint); }
.wishlist-empty__title { font-weight: 700; }
/* Login and registration: the white card beside a white card of what the account gives (under it on phones). */
.auth { max-width: 1040px; margin: 8px auto 0; gap: 16px; }
@media (min-width: 960px) { .auth { grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: 20px; align-items: start; } }
.auth__card { padding: 24px 18px; }
@media (min-width: 960px) { .auth__card { padding: 40px 44px; border-right: 0; border-radius: var(--r-sm); } }
.auth__tabs { margin-bottom: 24px; border-radius: var(--r-sm); background: var(--c-ph); }
.auth__tab { border-radius: var(--r-sm); }
.auth__tab[aria-selected="true"] { box-shadow: 0 0 0 1px var(--c-line), 0 2px 8px -4px rgba(43, 20, 34, 0.2); }
.auth__title { font-size: 28px; letter-spacing: -0.015em; }
@media (min-width: 960px) { .auth__title { font-size: 32px; } }
.auth__lead { margin-bottom: 20px; }
.woocommerce .auth form.magic-link-form { padding: 18px; border: 0; border-radius: var(--r-sm); background: var(--c-ph); }
.magic-link-form__title { display: flex; align-items: center; gap: 10px; }
.magic-link-form__icon { flex: none; display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--c-surface); color: var(--c-berry); }
.magic-link-form__icon .icon { width: 18px; height: 18px; }
.magic-link-form__text { margin: 6px 0 12px; }
.woocommerce .auth .magic-link-form__submit { min-height: 48px; }
.woocommerce form.magic-link-form > p.magic-link-form__title { color: var(--c-ink); }
.auth__aside { display: block; padding: 22px 20px; background: var(--c-surface); color: var(--c-ink); }
@media (min-width: 960px) { .auth__aside { display: block; padding: 32px 28px; border-radius: var(--r-sm); } }
.auth__aside-title { margin: 0 0 14px; font-size: 20px; font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; }
.auth__perks { gap: 12px; }
.auth__perks li { gap: 12px; color: var(--c-ink-2); font-size: 15px; line-height: 1.4; }
.auth__perk-icon { flex: none; display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--c-berry-tint); color: var(--c-berry); }
.auth__perks .auth__perk-icon .icon { width: 18px; height: 18px; color: var(--c-berry); }
.auth__aside-note { display: flex; align-items: flex-start; gap: 8px; margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var(--c-line); color: var(--c-muted); font-size: 13px; line-height: 1.45; }
.auth__aside-note .icon { flex: none; width: 16px; height: 16px; margin-top: 1px; color: var(--c-champagne-ink); }
.auth__aside-note a { color: var(--c-berry); font-weight: 700; }
/* The one-time link: one centred card with the account it opens and one button. */
.woocommerce form.magic-link-confirm { display: grid; justify-items: center; gap: 4px; max-width: 480px; margin: 16px auto 0; padding: 32px 22px 26px; border: 0; text-align: center; }
@media (min-width: 768px) { .woocommerce form.magic-link-confirm { padding: 40px 44px 32px; } }
.magic-link-confirm__icon { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 0 8px; border-radius: 50%; background: var(--c-berry-tint); color: var(--c-berry); }
.magic-link-confirm__icon .icon { width: 26px; height: 26px; }
.woocommerce form.magic-link-confirm h2 { margin: 0; font-size: 24px; font-weight: 700; letter-spacing: -0.015em; }
.woocommerce form.magic-link-confirm > p { margin: 0; padding: 0; }
.woocommerce form.magic-link-confirm .magic-link-confirm__account { margin: 8px 0 4px; padding: 8px 14px; border-radius: var(--r-sm); background: var(--c-ph); color: var(--c-ink); font-size: 14px; font-weight: 700; }
.woocommerce form.magic-link-confirm button.magic-link-confirm__submit { width: 100%; min-height: 52px; margin: 14px 0 0; }
.woocommerce form.magic-link-confirm .magic-link-confirm__note { margin-top: 10px; font-size: 13px; }
.auth-back--center { max-width: 480px; margin: 12px auto 0; text-align: center; }
/* Information and legal pages: a white header card, the text as a document. */
.page-hero--plain { margin-bottom: 16px; padding: 18px 18px 16px; }
.page-hero--plain .page__title { font-size: 28px; letter-spacing: -0.015em; }
.page-hero__meta { margin: 6px 0 0; color: var(--c-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
@media (min-width: 768px) { .page-hero--plain { margin-bottom: 20px; padding: 24px 32px; } .page-hero--plain .page__title { font-size: clamp(32px, 1vw + 22px, 40px); } }
.entry.info-page__card, .info-nav { border-radius: var(--r-sm); }
/* The running text at about 68 characters (Bricolage sets narrow: 33em at 16 px); tables and forms keep the column. */
.info-page__card .entry__content { line-height: 1.7; }
.info-page__card .entry__content > :is(p, ul, ol, h2, h3, h4, blockquote, dl) { max-width: 33em; }
.info-page__card.entry--legal .entry__content h2 { margin: 40px 0 12px; padding-top: 28px; border-top: 1px solid var(--c-line); font-size: clamp(22px, 0.6vw + 18px, 26px); font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; }
.info-page__card.entry--legal .entry__content h2:first-child { padding-top: 0; border-top: 0; }
.info-page__card.entry--legal .entry__content h3 { margin: 24px 0 6px; font-size: 17px; }
.info-page__card.entry--legal .entry__content li { margin-bottom: 8px; }
.info-toc .guide-toc__box { border-radius: var(--r-sm); background: var(--c-ph); }
.info-toc .guide-toc__list a { display: block; padding: 3px 0; }
@media (min-width: 1360px) { .info-toc .guide-toc__box { border-radius: 0; background: none; } }
/* Phones: the two help menus as one swipe row, so the text starts higher. */
@media (max-width: 959px) {
  .info-nav { display: flex; gap: 8px; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter) 4px; overflow-x: auto; scrollbar-width: none; }
  .info-nav::-webkit-scrollbar { display: none; }
  .info-nav__list, .info-nav__list + .info-nav__list { display: contents; margin: 0; }
  .info-nav__list li { flex: none; }
}
/* Brand index header. */
.brand-index__hero.page-hero--plain .page-hero__lead p { margin: 0; }
/* 404: the white card with the search and the popular categories, the help pages as a row. */
.not-found__hero { display: grid; justify-items: start; gap: 10px; }
.not-found__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--c-berry-tint); color: var(--c-berry); }
.not-found__icon .icon { width: 24px; height: 24px; }
.not-found__hero .not-found__lead { max-width: 60ch; color: var(--c-ink-2); }
.not-found__hero .not-found__search { width: 100%; max-width: 620px; margin-top: 6px; }
.not-found__hero .not-found__search input[type="search"] { min-height: 50px; border-color: var(--c-line-strong); border-radius: var(--r-sm); }
.not-found__hero .not-found__search input[type="search"]:focus-visible { border-color: var(--c-ink); }
.not-found__hero .not-found__search .btn { min-height: 50px; border-radius: var(--r-sm); }
.not-found__cats { width: 100%; margin-top: 10px; padding-top: 16px; border-top: 1px solid var(--c-line); }
.not-found__sub { margin: 0 0 10px; font-family: var(--f-body); color: var(--c-muted); font-size: 12px; font-weight: 800; letter-spacing: 0.16em; line-height: 1.3; text-transform: uppercase; }
.not-found__cats .cat-chip { border-radius: var(--r-sm); }
.not-found__cats .cat-chip:hover { box-shadow: inset 0 0 0 1px var(--c-ink); }
.not-found__help ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; padding: 0; }
.not-found__help a { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 16px 0 8px; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); color: var(--c-ink); font-size: 14px; font-weight: 600; text-decoration: none; }
.not-found__help a:hover { box-shadow: inset 0 0 0 1px var(--c-ink); }
.not-found .not-found__block { margin-top: 40px; }
@media (min-width: 768px) { .not-found__hero.page-hero--plain { padding: 32px 40px; } }
/* Guides: the reading measure, the heading scale, the contents card, the category with products, the related guides. */
.guide-text { max-width: 35em; font-size: 17px; line-height: 1.7; }
.guide-text h2 { margin: 48px 0 12px; font-size: clamp(24px, 0.8vw + 18px, 30px); font-weight: 700; line-height: 1.18; letter-spacing: -0.015em; }
.guide-text h3 { margin: 28px 0 6px; font-size: 19px; font-weight: 700; }
.guide-text > p:first-child { font-size: 18px; color: var(--c-ink-2); }
.guide-head__title { font-size: clamp(32px, 2.4vw + 18px, 52px); letter-spacing: -0.02em; }
.guide-cover { border-radius: var(--r-sm); }
.guide-toc__box { border: 0; border-radius: var(--r-sm); box-shadow: inset 0 0 0 1px var(--c-line); }
.guide-toc__list a { display: block; padding: 3px 0; }
@media (min-width: 1100px) { .guide-body--toc { grid-template-columns: 260px minmax(0, 35em); gap: 72px; } }
.guide-shop-wrap { margin-top: 48px; }
.guide-shop { padding: 20px 16px; }
.guide-shop__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 24px; margin: 0 0 20px; }
.guide-shop__title { margin: 0; font-size: clamp(24px, 0.8vw + 18px, 30px); letter-spacing: -0.015em; }
.guide-shop__lead { margin: 4px 0 0; color: var(--c-muted); font-size: 14px; }
.guide-shop__cta { min-height: 48px; }
@media (max-width: 639px) { .guide-shop__cta { width: 100%; } }
@media (min-width: 768px) { .guide-shop-wrap { margin-top: 64px; } .guide-shop { padding: 28px 32px 32px; } }
.guide-page .guides .guide-card, .guides--list .guide-card { border-radius: var(--r-sm); }
.guide-more { margin-top: 48px; }
/* Order received: one centred column, the white hero card with the check, then the steps, the points and the order. */
.woocommerce-order { max-width: 880px; margin-inline: auto; gap: 20px; }
.thanks-hero { display: grid; justify-items: center; gap: 14px; padding: 28px 18px 20px; text-align: center; }
@media (min-width: 768px) { .thanks-hero { padding: 40px 40px 28px; } }
.thanks-hero__icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--c-berry-tint); color: var(--c-berry); }
.thanks-hero__icon .icon { width: 28px; height: 28px; }
.woocommerce .woocommerce-order .thanks-hero .woocommerce-thankyou-order-received { margin: 0; padding: 0; border: 0; background: none; font-size: clamp(22px, 1vw + 16px, 30px); font-weight: 700; letter-spacing: -0.015em; line-height: 1.2; text-wrap: balance; }
.woocommerce .woocommerce-order .thanks-hero .woocommerce-thankyou-order-received::before { content: none; }
.woocommerce .thanks-hero ul.order_details { width: 100%; margin-top: 6px; border: 0; border-radius: var(--r-sm); background: var(--c-ph); text-align: left; }
.woocommerce .thanks-hero ul.order_details { display: flex; flex-wrap: wrap; }
.woocommerce .thanks-hero ul.order_details li { flex: 1 1 140px; border-color: var(--c-surface); }
.woocommerce .thanks-hero ul.order_details li.email { flex-basis: 220px; }
.woocommerce-order .order-tracking { margin: 0; color: var(--c-ink-2); font-size: 14px; }
.woocommerce-order .order-tracking a { font-weight: 700; }
.order-next__steps, .woocommerce-order .points-earn { border: 0; border-radius: var(--r-sm); box-shadow: inset 0 0 0 1px var(--c-line); }
.woocommerce-order .points-earn { margin: 0; padding: 14px 18px; }
.order-next__account { margin: 10px 0 0; color: var(--c-muted); font-size: 14px; }
.thanks-next { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
@media (max-width: 639px) { .thanks-next .btn { flex: 1 1 100%; } }
@media (prefers-reduced-motion: reduce) { a.account-tile, .account-order, .order-card__head, .account-tile__more .icon { transition: none; } }
/* ==== End of the account, guides and info pages pass block. ==== */

/* Payment tiles (owner 2026-10-11 "centruoti per middle"): every logo sits in the exact middle of its tile, and the
   check of the chosen tile is centred on the right edge instead of hanging in the top corner. */
.woocommerce-checkout #payment .makecommerce-picker .payment-method { position: relative; display: flex !important; align-items: center; justify-content: center; padding: 0 !important; }
.woocommerce-checkout #payment .makecommerce-picker .payment-method > label, .woocommerce-checkout #payment .makecommerce-picker .payment-method .payment-control { display: flex !important; align-items: center; justify-content: center; width: 100%; height: 100%; margin: 0 !important; padding: 0 !important; }
.woocommerce-checkout #payment .makecommerce-picker .mc-payment-logo { display: block; margin: 0 auto !important; }
.woocommerce-checkout #payment .makecommerce-picker .payment-method-selected .check, .woocommerce-checkout #payment .makecommerce-picker .payment-method:has(.btn-check:checked) .check { top: 50% !important; right: 8px !important; width: 14px !important; height: 14px !important; transform: translateY(-50%); }

/* A product photo in a promo tile (the gift tiles, owner 2026-10-11): the whole product, never cropped, and its white
   studio background melts into the tile colour. */
.promo-tile__img--product { object-fit: contain !important; object-position: center !important; mix-blend-mode: multiply; padding: 12px !important; background: transparent; }

/* Trust facts under "Pereiti prie apmokėjimo" and "Apmokėti" (owner 2026-10-11 "gražiau sudėti"): three equal columns,
   a small Berry icon over a short muted text, centred, never an uneven second line. */
.checkout-trust { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start !important; gap: 8px !important; margin: 16px 0 0 !important; text-align: center; }
.checkout-trust li { display: grid !important; justify-items: center; align-content: start !important; align-items: start !important; gap: 6px !important; white-space: normal !important; font-size: 12.5px; line-height: 1.3; color: var(--c-muted); }
.checkout-trust li::before { content: none !important; display: none !important; }
.checkout-trust li .icon { width: 22px; height: 22px; color: var(--c-berry); }
/* The cart totals delivery row: the DPD mark above the method text, both on the right, so a long "Nemokamas
   pristatymas (DPD)" never runs into the "Pristatymas" label. */
.cart-ship { display: inline-flex !important; flex-direction: column; align-items: flex-end !important; gap: 4px !important; }
.cart-ship__text { white-space: normal !important; max-width: 14em; text-align: right; line-height: 1.35; }
.woocommerce .cart_totals tr.woocommerce-shipping-totals th { vertical-align: top; white-space: nowrap; }

/* Cart add-ons, gifts, Naujienos and the product set box (items 1, 2, 3 and 5, 2026-10-11) */
/* "Pirkite kartu" cards (owner 2026-10-11 "pridėti nuolaidą ir raudoną kainą"): the companion's price in the set in
   Berry with the "-10 %" badge, the normal price muted and smaller beside it; no line-through, it is no old price. */
.cart-upsell__price--set { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 8px; row-gap: 0; font-weight: 600; }
.cart-upsell__media:has(.cart-upsell__set-badge) { position: relative; }
.cart-upsell__set-badge { position: absolute; top: 4px; left: 4px; display: inline-flex; align-items: center; height: 18px; padding: 0 5px; border-radius: 3px; background: var(--c-berry); color: #fff; font-family: var(--f-badge); font-size: 11.5px; font-weight: 600; line-height: 1; letter-spacing: 0; font-variant-numeric: lining-nums; pointer-events: none; }
.cart-upsell__set-badge .pct { font-size: 0.8em; }
.cart-upsell__set { color: var(--c-berry); font-size: 13px; font-weight: 600; }
.cart-upsell__set strong { font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; }
.cart-upsell__normal { color: var(--c-muted); font-size: 12.5px; font-weight: 500; font-variant-numeric: tabular-nums; }
/* The whole "Pridėti abu ir sutaupyti 4,90 €" on one line on phones. */
@media (max-width: 479px) { .cart-bundle__all { font-size: 12px; letter-spacing: 0.06em; padding-left: 12px; padding-right: 12px; } }
/* "Grąžinti dovaną: lubrikanto mėginukas" under the cart lines (owner 2026-10-11): a removed gift tier that is still
   due, one quiet Berry text button per tier with the gift icon, a 44 px target. */
.gift-restore__form { margin: 0; }
.gift-restore { display: flex; flex-wrap: wrap; gap: 0 16px; margin: 4px 0 8px; }
.gift-restore__btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0; border: 0; background: none; color: var(--c-berry); font: inherit; font-size: 14px; font-weight: 700; line-height: 1.3; text-align: left; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; cursor: pointer; }
.gift-restore__btn:hover { color: var(--c-berry-dark); }
.gift-restore__btn .icon { flex: none; width: 18px; height: 18px; }
.gift-restore[aria-busy="true"] { opacity: 0.6; cursor: progress; }
.cart-drawer__scroll .gift-restore { margin: 0; padding: 4px 0 8px; border-bottom: 1px solid var(--c-line); }
.cart-page__form .gift-restore { margin: 8px 0 0; padding: 0 4px; }
/* The brand row on phones (2026-10-11, now also on subcategories): tighter around it, so the first card's photo and
   price still sit on the first 390 x 844 screen; the tiles keep their 44 px target. */
@media (max-width: 767px) {
  .shop__head + .shop-brands { margin: -6px 0 8px; }
  .shop__head + .shop-brands .brand-tiles--row { padding-block: 0; }
  .shop__head + .shop-brands .brand-tile:focus-visible { outline-offset: -3px; }
  .shop-brands + .shop__layout .shop-bar { margin-bottom: 4px; }
}

/* Mega menu (item 7 and 8, 2026-10-11) */
/* Item 7: the finder banner in the Sekso žaislai pane keeps the pane rhythm, 16 px after the subcategory hairlines and
   22 px before "Populiarūs prekių ženklai" (the older rule only spaced the heading when it followed the list). */
.catalog__finder { margin-top: 16px; margin-bottom: 0; }
.catalog__finder + .catalog__pane-label { margin-top: 22px; }
/* Item 8: the subcategories are one grid for both columns, so a row that wraps to two lines keeps its neighbour in the
   other column at the same height and every hairline lines up. Filled down the first column (--catalog-rows from
   catalog.php); the name on the left, the count at the right end in muted tabular figures. */
.catalog__children { columns: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(var(--catalog-rows, 1), minmax(44px, auto)); grid-auto-flow: column; grid-auto-rows: minmax(44px, auto); column-gap: 28px; }
.catalog__children li { display: flex; min-width: 0; break-inside: auto; }
.catalog__children a { flex: 1 1 auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 12px; min-height: 0; padding: 6px 0; line-height: 1.3; }
.catalog__child-name { min-width: 0; overflow-wrap: anywhere; }
.catalog__children .catalog-count { justify-self: end; font-variant-numeric: tabular-nums; color: var(--c-count); white-space: nowrap; }
.catalog__children a:focus-visible { outline-offset: 0; border-radius: 2px; }
/* Mobile menu: an open group's brand swipe row made the nav (a grid item of .mnav) as wide as all its tiles, so the
   panel scrolled sideways, lost its left gutter and pushed the counts off screen. */
.mnav > nav { min-width: 0; }

/* Quantity ladder tiles (item 10, 2026-10-11) */
/* Owner "čia padarom šituos clickable": site.js turns every step into a toggle button (.ladder--tiles) that sets the
   form's quantity. White tiles with a Line Strong edge (the Visible Edge Rule), the chosen one with a 2 px Ink ring;
   44 px targets, the Berry focus outline. Without JavaScript the rows above stay plain information. */
.ladder--tiles .ladder__row, .product-page .summary .ladder--tiles .ladder__row { display: flex; padding: 0; background: none; }
.ladder__tile { flex: 1 1 auto; display: grid; align-content: start; gap: 2px; min-width: 0; min-height: 44px; margin: 0; padding: 10px 12px; border: 0; border-radius: var(--r-sm); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line-strong); color: var(--c-ink); font: inherit; text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: box-shadow 0.15s ease; }
.ladder__tile:hover { box-shadow: inset 0 0 0 1px var(--c-ink); }
.ladder__tile[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--c-ink); }
.ladder__tile[aria-pressed="true"] .ladder__units { color: var(--c-ink); font-weight: 800; }
.ladder__tile:focus-visible { outline: 3px solid var(--c-berry); outline-offset: 2px; }
.ladder__tile:disabled { cursor: not-allowed; opacity: 0.45; box-shadow: inset 0 0 0 1px var(--c-line); }
@media (max-width: 519px) {
  .product-page .summary .ladder--tiles .ladder__rows, .ladder--tiles .ladder__rows { gap: 6px; border-radius: 0; background: none; }
  .ladder--tiles .ladder__row + .ladder__row { box-shadow: none; }
  .ladder__tile { grid-template-columns: 52px minmax(0, 1fr) auto; align-content: center; align-items: center; gap: 10px; padding: 0 12px; border-radius: var(--r-sm); }
}
