@font-face { font-family:"Onest"; font-style:normal; font-display:swap; font-weight:100 900; src:url("../fonts/onest-cyrillic.woff2") format("woff2-variations"); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:"Onest"; font-style:normal; font-display:swap; font-weight:100 900; src:url("../fonts/onest-latin.woff2") format("woff2-variations"); 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; }
:root { --violet-950:#302537; --violet-900:#493650; --violet-800:#62476d; --violet-700:#72517f; --violet-600:#80579b; --violet-500:#9c75ae; --violet-300:#d4bfdd; --violet-150:#eee5f2; --violet-075:#f7f2f8; --berry:#d65c82; --berry-soft:#faeaf0; --gold:#e7b75e; --cream:#fdfbf9; --white:#fff; --ink:#2b2630; --muted:#746d77; --line:rgba(73,54,80,.13); --green:#70805e; --shadow:0 22px 60px rgba(64,43,72,.11); --radius-xl:42px; --radius-lg:28px; --radius-md:20px; --shell:1280px; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { scroll-behavior:smooth; }
html.has-store-dialog { overflow:hidden; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:"Onest","Segoe UI",Arial,sans-serif; font-size:17px; line-height:1.55; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
button { appearance:none; -webkit-appearance:none; color:inherit; }
a[href],button:not(:disabled),input[type="button"],input[type="submit"],input[type="reset"],summary,label:has(input[type="checkbox"]),label:has(input[type="radio"]),label:has(input[type="file"]) { cursor:pointer; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { line-height:1.07; letter-spacing:-.035em; }
.site-shell { width:min(calc(100% - 48px),var(--shell)); margin-inline:auto; }
.ui-icon { display:block; width:1em; height:1em; flex:0 0 auto; overflow:visible; }
.skip-link { position:fixed; z-index:9999; top:10px; left:10px; padding:12px 18px; color:#fff; background:var(--violet-900); border-radius:12px; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.service-bar { color:var(--violet-900); background:#fff; border-bottom:1px solid var(--line); }
.header-notice { color:#fff; background:var(--violet-700); }.header-notice>.site-shell { display:flex; min-height:38px; align-items:center; justify-content:center; gap:8px; padding-top:7px; padding-bottom:7px; text-align:center; }.header-notice .ui-icon { width:17px; height:17px; flex:0 0 17px; }.header-notice strong { font-size:12px; }.header-notice span { font-size:12px; }
.service-row { display:flex; min-height:43px; align-items:center; gap:20px; font-size:12px; font-weight:620; }
.service-links { display:flex; min-width:0; align-items:center; gap:18px; }
.service-links a,.city-button,.service-hours,.service-phone { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.service-links a { color:var(--muted); transition:color .18s ease; }
.service-links a:hover { color:var(--violet-700); }
.service-links .ui-icon,.city-button .ui-icon,.service-hours .ui-icon,.service-phone .ui-icon { width:14px; height:14px; color:var(--violet-600); stroke-width:1.9; }
.city-button { padding:6px 12px; color:var(--violet-900); background:var(--violet-075); border:1px solid var(--violet-150); border-radius:999px; font-weight:780; cursor:pointer; }
.service-hours { margin-left:auto; color:var(--muted); }
.service-phones { display:flex; align-items:center; gap:13px; }.service-phone { color:var(--violet-900); font-size:13px; font-weight:800; }
.site-header { position:relative; z-index:100; border-bottom:1px solid var(--line); background:#fdfbf9; box-shadow:0 9px 32px rgba(58,39,66,.045); }
.header-row { display:grid; min-height:96px; grid-template-columns:auto minmax(280px,1fr) auto; align-items:center; gap:28px; }
.site-brand { display:inline-flex; min-width:250px; align-items:center; gap:13px; flex:0 0 auto; }
.brand-logo { width:58px; height:58px; flex:0 0 auto; filter:drop-shadow(0 9px 16px rgba(98,71,109,.13)); }
.brand-copy { display:grid; line-height:1; }
.brand-copy strong { font-size:24px; font-weight:790; letter-spacing:-.045em; white-space:nowrap; }
.brand-copy small { margin-top:8px; color:var(--violet-600); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.13em; }
.header-search { position:relative; display:flex; width:100%; height:54px; min-width:250px; align-items:center; gap:12px; padding:5px 6px 5px 18px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 9px 28px rgba(58,39,66,.05); transition:border-color .18s ease,box-shadow .18s ease; }
.header-search:focus-within { border-color:rgba(128,87,155,.4); box-shadow:0 12px 35px rgba(128,87,155,.11); }
.header-search__icon { color:var(--violet-600); font-size:22px; }
.header-search input { min-width:0; flex:1; color:var(--ink); background:transparent; border:0; outline:0; font-size:14px; }
.header-search input::placeholder { color:#9a929c; }
.header-search button { display:inline-flex; height:42px; align-items:center; gap:8px; padding:0 17px; color:#fff; background:var(--violet-600); border:0; border-radius:13px; font-size:13px; font-weight:780; cursor:pointer; transition:background .18s ease,transform .18s ease; }
.header-search button:hover { background:var(--violet-700); transform:translateY(-1px); }
.header-search button .ui-icon { width:15px; height:15px; }
.search-suggest { position:absolute; z-index:70; top:calc(100% + 10px); left:0; right:0; min-width:520px; padding:18px; color:var(--ink); background:rgba(255,255,255,.98); border:1px solid var(--line); border-radius:24px; box-shadow:0 28px 80px rgba(36,21,53,.2); backdrop-filter:blur(18px); }
.search-suggest__section+.search-suggest__section { margin-top:15px; padding-top:15px; border-top:1px solid var(--line); }
.search-suggest__label { display:block; margin-bottom:9px; color:var(--violet-600); font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.12em; }
.search-suggest__categories { display:flex; flex-wrap:wrap; gap:7px; }
.search-suggest__categories a { padding:7px 11px; background:var(--violet-075); border-radius:999px; font-size:13px; font-weight:720; }
.search-suggest__products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.search-result { display:grid; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:10px; min-width:0; padding:6px; border-radius:14px; }
.search-result:hover { background:var(--violet-075); }
.search-result img { width:48px; height:60px; object-fit:contain; background:#fff; border-radius:9px; }
.search-result__copy { display:grid; min-width:0; }
.search-result__copy b { display:-webkit-box; overflow:hidden; font-size:13px; line-height:1.35; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.search-result__copy small { margin-top:5px; color:var(--violet-700); font-size:12px; font-weight:800; }
.sale-price,.search-result__price,.recent-card__price,.store-line__price,.store-line__sum,.quick-order__variant-price,.product-buy__price-values { display:grid; justify-items:start; gap:1px; }.sale-price del,.search-result__price del,.recent-card__price del,.store-line__price del,.store-line__sum del,.quick-order__variant-price del,.product-buy__price-values del,.product-card__price del,.variant-row>b del { color:var(--muted); font-size:.78em; font-weight:650; text-decoration-color:var(--berry); text-decoration-thickness:1.5px; }.search-result__price { margin-top:5px; color:var(--violet-700); font-size:12px; }.search-result__price strong { font-size:inherit; }
.search-suggest__all { display:block; margin:15px -18px -18px; padding:14px 18px; color:#fff; background:var(--violet-600); border-radius:0 0 24px 24px; font-size:13px; font-weight:800; text-align:center; }
.search-suggest__loading,.search-suggest__empty { margin:0; color:var(--muted); font-size:13px; text-align:center; }
.header-tools { display:flex; align-items:center; gap:8px; }
.header-tools button,.header-tools>a { display:grid; min-width:70px; place-items:center; gap:5px; padding:5px 7px; color:var(--ink); background:transparent; border:0; border-radius:14px; cursor:pointer; transition:background .18s ease,color .18s ease; }
.header-tools button:hover,.header-tools>a:hover { color:var(--violet-700); background:var(--violet-075); }
.tool-icon { position:relative; display:grid; width:30px; height:28px; place-items:center; }
.tool-icon>.ui-icon { width:25px; height:25px; stroke-width:1.75; }
.header-tools small { color:var(--muted); font-size:10px; font-weight:650; }
.header-tools b { position:absolute; top:-7px; right:-9px; display:grid; min-width:19px; height:19px; place-items:center; color:#fff; background:var(--berry); border:2px solid #fff; border-radius:50%; box-shadow:0 4px 10px rgba(214,92,130,.24); font-size:9px; line-height:1; }
.catalog-row { position:relative; display:flex; min-height:49px; align-items:center; border-top:1px solid var(--line); }
.primary-nav { min-width:0; flex:1 1 auto; width:auto; }
.nav-list { display:flex; margin:0; padding:0; gap:2px; list-style:none; }
.nav-list a { position:relative; display:block; padding:12px 12px; font-size:13px; font-weight:720; }
.nav-list a::after { content:""; position:absolute; left:0; right:100%; bottom:5px; height:2px; background:var(--violet-600); transition:.25s ease; }
.nav-list a:hover::after { right:0; }
.nav-list .catalog-all { color:#fff; background:var(--violet-600); border-radius:12px; }
.nav-list .f365-seasonal-menu>a { margin:5px 4px 5px 0; padding:7px 12px; color:#fff; background:linear-gradient(135deg,var(--berry),#b7558e); border-radius:999px; box-shadow:0 7px 18px rgba(190,69,121,.18); white-space:nowrap; }.nav-list .f365-seasonal-menu>a::after { display:none; }.nav-list .f365-seasonal-menu>a:hover { color:#fff; transform:translateY(-1px); }
.nav-list .f365-has-mega>a { padding-right:26px; }
.nav-list .f365-has-mega>a::before { content:""; position:absolute; width:6px; height:6px; top:18px; right:11px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transition:transform .2s ease,top .2s ease; }
.nav-list .f365-has-mega>a[aria-expanded="true"]::before { top:21px; transform:rotate(225deg); }
.mobile-menu-section-toggle { display:none; }
.catalog-mega { position:absolute; z-index:20; top:100%; left:0; right:0; max-height:min(72vh,720px); padding:28px; overflow:auto; background:rgba(255,255,255,.98); border:1px solid var(--line); border-radius:0 0 30px 30px; box-shadow:0 32px 80px rgba(36,21,53,.18); backdrop-filter:blur(20px); }
.catalog-mega__mobile-head { display:none; }
.catalog-mega__close { position:absolute; top:20px; right:24px; display:none; padding:8px 12px; color:var(--violet-700); background:var(--violet-075); border:0; border-radius:999px; font-size:12px; font-weight:800; cursor:pointer; }
.catalog-mega__heading { display:flex; align-items:end; justify-content:space-between; gap:24px; padding:0 0 22px; border-bottom:1px solid var(--line); }
.catalog-mega__heading>div { display:grid; }
.catalog-mega__heading>div span { color:var(--violet-600); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.16em; }
.catalog-mega__heading strong { margin-top:3px; font-size:29px; line-height:1; letter-spacing:-.04em; }
.catalog-mega__heading>a { padding-bottom:4px; border-bottom:1px solid var(--violet-500); font-size:12px; font-weight:800; }
.catalog-mega__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:30px 26px; padding-top:25px; }
.catalog-mega__group h2 { margin:0 0 10px; color:var(--violet-700); font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.catalog-mega__group-title { display:inline-flex; align-items:center; gap:6px; padding:2px 0; color:inherit; font:inherit; letter-spacing:inherit; }
.catalog-mega__group-title i { font-size:14px; font-style:normal; line-height:1; transition:transform .2s ease; }
.catalog-mega__group-title:hover i { transform:translateX(3px); }
.catalog-mega__group ul { display:grid; margin:0; padding:0; gap:1px; list-style:none; }
.catalog-mega__group li>a { display:flex; align-items:center; justify-content:space-between; gap:9px; padding:6px 0; color:var(--ink); font-size:13px; line-height:1.25; }
.catalog-mega__group li>a:hover { color:var(--violet-700); }
.catalog-mega__group li>a i { opacity:0; color:var(--violet-500); font-style:normal; transform:translateX(-4px); transition:.2s ease; }
.catalog-mega__group li>a:hover i { opacity:1; transform:none; }
.catalog-mega__loading { margin:0; padding:55px 0; color:var(--muted); text-align:center; }
.catalog-picker-button { display:inline-flex; min-height:39px; flex:0 0 auto; align-items:center; gap:8px; margin-left:auto; padding:0 16px; color:#fff; background:var(--berry); border:0; border-radius:13px; box-shadow:0 9px 22px rgba(214,92,130,.18); font-size:12px; font-weight:780; cursor:pointer; }
.catalog-picker-button .ui-icon { width:16px; height:16px; }
.menu-toggle { display:none; width:48px; height:48px; margin-left:auto; padding:12px; color:var(--violet-900); border:1px solid var(--line); border-radius:14px; background:#fff; }
.menu-toggle .ui-icon { width:24px; height:24px; }
.menu-toggle em { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.hero { position:relative; overflow:hidden; min-height:660px; padding:62px 0 68px; background:radial-gradient(circle at 87% 10%,rgba(178,139,197,.22),transparent 27%),linear-gradient(115deg,#fffdfa 0%,#fcf9fc 55%,#f7eef8 100%); }
.hero::before { content:""; position:absolute; width:480px; height:480px; right:-235px; bottom:-275px; border:1px solid rgba(101,64,126,.16); border-radius:50%; }
.hero::after { content:""; position:absolute; width:12px; height:12px; left:4.5%; bottom:12%; background:var(--berry); border-radius:50%; box-shadow:25px -18px 0 -3px var(--violet-300),-14px -31px 0 -4px var(--violet-500); opacity:.55; }
.hero-grid { display:grid; grid-template-columns:1.03fr .97fr; align-items:center; gap:48px; }
.hero-copy { position:relative; z-index:2; padding:18px 0; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; color:var(--violet-700); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.16em; }
.eyebrow i { width:25px; height:1px; background:currentColor; }
.hero h1 { max-width:720px; margin:26px 0 24px; font-size:clamp(54px,5.35vw,76px); font-weight:790; line-height:.96; }
.hero h1 em { color:var(--violet-600); font-style:normal; font-weight:500; }
.hero-copy>p { max-width:610px; color:var(--muted); font-size:18px; line-height:1.6; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.button { display:inline-flex; min-height:54px; align-items:center; justify-content:center; gap:22px; padding:0 26px; color:var(--ink); appearance:none; background-clip:padding-box; border:1px solid transparent; border-radius:999px; cursor:pointer; font-weight:750; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease; }
.button .ui-icon { width:18px; height:18px; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:#fff; background:var(--violet-600); box-shadow:0 14px 32px rgba(128,87,155,.19); }
.button-primary:hover { background:var(--violet-700); }
.button-ghost { color:var(--violet-800); border-color:var(--violet-150); background:#fff; box-shadow:0 9px 24px rgba(64,43,72,.07); }
.button-ghost:hover,.button-ghost:focus-visible { color:#fff; background:var(--violet-700); border-color:var(--violet-700); box-shadow:0 13px 30px rgba(91,56,111,.18); }
.button-light { color:var(--violet-950); background:#fff; }
.hero-note { display:flex; align-items:center; gap:13px; margin-top:38px; }
.hero-note span { font-size:34px; font-weight:850; color:var(--violet-700); letter-spacing:-.05em; }
.hero-note p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; text-transform:uppercase; letter-spacing:.1em; }
.hero-art { position:relative; min-height:540px; isolation:isolate; overflow:hidden; border:10px solid rgba(255,255,255,.72); background:#e9ddec; border-radius:76px 24px 76px 24px; box-shadow:0 30px 80px rgba(73,47,87,.18); }
.hero-photo { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%; }
.hero-art::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(38,21,48,.62) 100%); pointer-events:none; }
.hero-orbit { position:absolute; z-index:0; pointer-events:none; }
.orbit-one { width:190px; height:190px; top:-104px; right:-72px; border:1px solid rgba(255,255,255,.75); border-radius:50%; box-shadow:0 0 0 24px rgba(255,255,255,.08); }
.orbit-two { width:130px; height:52px; top:26px; left:-43px; border:1px solid rgba(255,255,255,.7); border-radius:999px; transform:rotate(-20deg); }
.hero-art__seal { position:absolute; top:24px; right:24px; display:grid; width:60px; height:60px; place-items:center; color:var(--violet-700); background:rgba(255,255,255,.92); border:1px solid rgba(255,255,255,.72); border-radius:20px 9px 20px 9px; box-shadow:0 12px 30px rgba(49,30,60,.12); backdrop-filter:blur(12px); }
.hero-art__seal .ui-icon { width:31px; height:31px; }
.art-caption { position:absolute; right:24px; bottom:24px; left:24px; display:grid; gap:5px; padding:18px 20px; color:#fff; background:rgba(45,27,56,.55); border:1px solid rgba(255,255,255,.28); border-radius:24px 10px 24px 10px; box-shadow:0 16px 36px rgba(30,18,38,.16); backdrop-filter:blur(16px); }
.art-caption strong { font-size:25px; line-height:1; letter-spacing:-.035em; }
.art-caption small { color:rgba(255,255,255,.8); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.catalog-section { padding:110px 0; }
.catalog-results { position:relative; min-height:220px; }
.catalog-results::after { content:""; position:absolute; z-index:12; top:160px; left:50%; width:42px; height:42px; margin-left:-21px; border:4px solid rgba(128,87,155,.18); border-top-color:var(--violet-700); border-radius:50%; opacity:0; pointer-events:none; transform:rotate(0); }
.catalog-results.is-loading { cursor:progress; }
.catalog-results.is-loading::after { opacity:1; animation:f365-catalog-spin .75s linear infinite; }
.catalog-results.is-loading>.product-grid,.catalog-results.is-loading>.catalog-empty,.catalog-results.is-loading>.navigation { opacity:.35; pointer-events:none; }
@keyframes f365-catalog-spin { to { transform:rotate(360deg); } }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:42px; }
.section-heading h2,.about-copy h2,.request-copy h2 { max-width:720px; margin:16px 0 0; font-size:clamp(38px,4.5vw,62px); }
.text-link { padding-bottom:7px; border-bottom:1px solid var(--ink); font-weight:750; white-space:nowrap; }
.text-link span { margin-left:12px; }
.catalog-directions { margin-top:84px; }
.compact-heading { align-items:start; }
.compact-heading h2 { font-size:clamp(34px,4vw,54px); }
.compact-heading>p { max-width:390px; margin:5px 0 0; color:var(--muted); }
.direction-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.direction-card { position:relative; min-height:205px; padding:20px; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:0 12px 34px rgba(64,43,72,.045); }
.direction-card::after { content:""; position:absolute; width:150px; height:150px; right:-80px; bottom:-90px; border:1px solid var(--violet-300); border-radius:50%; }
.direction-card:nth-child(3n+2) { background:var(--violet-075); }
.direction-card:nth-child(3n) { background:var(--berry-soft); }
.direction-card header { display:flex; align-items:center; justify-content:space-between; color:var(--violet-600); font-size:12px; font-weight:850; }
.direction-card header>a { display:grid; width:36px; height:36px; place-items:center; background:#fff; border:1px solid var(--line); border-radius:50%; }
.direction-card h3 { margin:20px 0 14px; font-size:22px; line-height:1.08; }
.direction-card ul { display:flex; flex-wrap:wrap; gap:7px; margin:0; padding:0; list-style:none; }
.direction-card li a { display:block; padding:6px 9px; color:var(--muted); background:rgba(255,255,255,.7); border:1px solid rgba(52,32,71,.08); border-radius:999px; font-size:12px; font-weight:700; line-height:1.25; }
.direction-card li a:hover { color:var(--violet-800); background:#fff; }
.direction-card>p { max-width:220px; color:var(--muted); font-size:13px; }
.catalog-tools { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:25px; padding:14px 16px 14px 20px; background:#fff; border:1px solid var(--line); border-radius:22px; }
.catalog-quick-filter { display:grid; grid-template-columns:minmax(310px,1.35fr) minmax(180px,.8fr) minmax(180px,.8fr) auto; align-items:end; gap:10px; margin-bottom:12px; padding:13px; background:var(--violet-075); border:1px solid rgba(128,87,155,.1); border-radius:22px; }
.catalog-price-range { min-width:0; padding:10px 12px; background:#fff; border:1px solid var(--line); border-radius:16px; }.catalog-price-range header { display:flex; align-items:center; justify-content:space-between; gap:14px; }.catalog-price-range header span,.catalog-quick-select>span { color:var(--muted); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }.catalog-price-range header strong { color:var(--violet-800); font-size:14px; white-space:nowrap; }.catalog-price-range>div { position:relative; height:16px; margin-top:7px; }.catalog-price-range>div::before { content:""; position:absolute; top:7px; right:0; left:0; height:3px; background:linear-gradient(90deg,var(--line) 0 var(--range-from,0%),var(--violet-600) var(--range-from,0%) var(--range-to,100%),var(--line) var(--range-to,100%) 100%); border-radius:999px; }.catalog-price-range input[type="range"] { position:absolute; inset:0; width:100%; height:16px; margin:0; pointer-events:none; appearance:none; background:transparent; }.catalog-price-range input[type="range"]::-webkit-slider-thumb { width:17px; height:17px; pointer-events:auto; appearance:none; background:#fff; border:3px solid var(--violet-600); border-radius:50%; box-shadow:0 3px 9px rgba(69,35,92,.15); cursor:grab; }.catalog-price-range input[type="range"]::-moz-range-thumb { width:12px; height:12px; pointer-events:auto; background:#fff; border:3px solid var(--violet-600); border-radius:50%; box-shadow:0 3px 9px rgba(69,35,92,.15); cursor:grab; }.catalog-quick-select { display:grid; gap:6px; padding:8px 12px; background:#fff; border:1px solid var(--line); border-radius:16px; }.catalog-quick-select select { width:100%; height:24px; color:var(--ink); background:transparent; border:0; outline:0; font-size:14px; font-weight:750; }.catalog-quick-filter__submit { min-height:54px; padding-inline:20px; }.catalog-quick-filter__submit .ui-icon { width:17px; height:17px; }
.catalog-price-range>div { height:24px; }.catalog-price-range>div::before { top:11px; }.catalog-price-range input[type="range"] { height:24px; }.catalog-price-range input[type="range"]::-webkit-slider-thumb { width:22px; height:22px; }.catalog-price-range input[type="range"]::-moz-range-thumb { width:16px; height:16px; }
.catalog-active-filters { display:flex; align-items:center; gap:7px; margin:0 0 12px; overflow:auto; padding:1px 0 3px; scrollbar-width:none; }.catalog-active-filters::-webkit-scrollbar { display:none; }.catalog-active-filters>span { flex:0 0 auto; margin-right:2px; color:var(--muted); font-size:11px; font-weight:800; }.catalog-active-filters>a { display:inline-flex; min-height:34px; flex:0 0 auto; align-items:center; gap:8px; padding:0 11px; color:var(--violet-800); background:#fff; border:1px solid var(--line); border-radius:999px; font-size:11px; font-weight:750; }.catalog-active-filters>a b { display:grid; width:17px; height:17px; place-items:center; color:#fff; background:var(--violet-600); border-radius:50%; font-size:13px; line-height:1; }.catalog-active-filters>a:hover { border-color:var(--violet-400); }.catalog-active-filters>.catalog-active-filters__clear { color:var(--muted); background:transparent; border-color:transparent; }
.catalog-tools__summary { display:flex; align-items:baseline; gap:7px; }
.catalog-tools__summary strong { color:var(--violet-800); font-size:24px; }
.catalog-tools__summary span { color:var(--muted); font-size:13px; }
.catalog-tools__actions { display:flex; align-items:center; gap:10px; }
.filter-open { display:flex; min-height:44px; align-items:center; gap:9px; padding:0 17px; color:#fff; background:var(--violet-600); border:0; border-radius:999px; font-size:12px; font-weight:800; cursor:pointer; }
.filter-open>.ui-icon { width:17px; height:17px; }
.filter-open b { display:grid; min-width:20px; height:20px; place-items:center; color:var(--violet-900); background:#fff; border-radius:50%; font-size:10px; }
.catalog-sort { display:flex; align-items:center; gap:9px; padding:0 13px; background:var(--violet-075); border-radius:999px; }
.catalog-sort>span { color:var(--muted); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.catalog-sort select { height:44px; max-width:210px; background:transparent; border:0; outline:0; font-size:14px; font-weight:750; }
.catalog-filter { position:fixed; z-index:300; inset:0; padding-left:max(18px,calc((100vw - var(--shell))/2)); background:rgba(27,15,38,.55); backdrop-filter:blur(7px); }
.catalog-filter form { width:min(760px,100%); height:100%; margin-left:auto; padding:34px; overflow:auto; background:var(--cream); box-shadow:-30px 0 80px rgba(27,15,38,.22); }
.catalog-filter__header { display:flex; align-items:start; justify-content:space-between; gap:20px; padding-bottom:25px; border-bottom:1px solid var(--line); }
.catalog-filter__header span { color:var(--violet-600); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.16em; }
.catalog-filter__header h2 { margin:6px 0 0; font-size:36px; }.catalog-filter__header p { max-width:480px; margin:9px 0 0; color:var(--muted); font-size:13px; }
.catalog-filter__header button { display:grid; width:42px; height:42px; flex:0 0 auto; place-items:center; padding:0; background:#fff; border:1px solid var(--line); border-radius:50%; cursor:pointer; }
.catalog-filter__header button .ui-icon { width:21px; height:21px; }
.catalog-filter__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:25px 0; }
.catalog-filter details { background:#fff; border:1px solid var(--line); border-radius:18px; }
.catalog-filter summary { display:flex; min-height:52px; align-items:center; justify-content:space-between; gap:12px; padding:0 17px; font-size:13px; font-weight:800; cursor:pointer; list-style:none; }
.catalog-filter summary::-webkit-details-marker { display:none; }
.catalog-filter summary::after { content:"+"; color:var(--violet-600); font-size:18px; }
.catalog-filter details[open] summary::after { content:"−"; }
.catalog-filter summary b { display:grid; min-width:20px; height:20px; margin-left:auto; place-items:center; color:#fff; background:var(--violet-700); border-radius:50%; font-size:9px; }
.filter-options { display:grid; max-height:250px; gap:3px; padding:0 12px 14px; overflow:auto; }
.filter-options label { display:flex; align-items:center; gap:9px; padding:7px 6px; color:var(--muted); border-radius:10px; font-size:12px; cursor:pointer; }.filter-options label span { min-width:0; flex:1; }.filter-options label small { display:grid; min-width:25px; height:25px; place-items:center; color:var(--violet-700); background:var(--violet-075); border-radius:999px; font-size:10px; font-weight:800; }
.filter-options label:hover { color:var(--ink); background:var(--violet-075); }
.filter-options input { width:16px; height:16px; margin:0; accent-color:var(--violet-700); }
.filter-option__icon { display:grid; width:27px; height:27px; flex:0 0 27px; place-items:center; color:var(--violet-600); background:var(--violet-075); border:1px solid var(--violet-150); border-radius:9px; }.filter-option__icon .ui-icon { width:14px; height:14px; }.filter-options input:checked+.filter-option__icon { color:#fff; background:var(--violet-700); border-color:var(--violet-700); }
.catalog-price-range--panel { margin:0 12px 14px; background:var(--violet-075); }
.catalog-filter__footer { position:sticky; bottom:-34px; display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 -34px -34px; padding:20px 34px; background:rgba(252,250,248,.96); border-top:1px solid var(--line); backdrop-filter:blur(12px); }
.catalog-filter__footer>a { color:var(--muted); border-bottom:1px solid currentColor; font-size:12px; font-weight:750; }
html.has-catalog-filter { overflow:hidden; }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.product-card { position:relative; display:flex; height:100%; overflow:hidden; flex-direction:column; background:#fff; border:1px solid rgba(73,54,80,.11); border-radius:24px; box-shadow:0 12px 34px rgba(64,43,72,.055); transition:transform .25s ease,box-shadow .25s ease; }
.product-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.product-card__media { display:block; overflow:hidden; aspect-ratio:1; background:#fff; }
.product-card__media img { width:100%; height:100%; padding:0; object-fit:contain; }
.product-card__placeholder { position:relative; display:block; width:100%; height:100%; background:radial-gradient(circle at 50% 45%,#fff 0 8%,transparent 9%),linear-gradient(145deg,#f7f0f8,#e7d7ed); }
.product-card__placeholder i,.product-card__placeholder b { position:absolute; display:block; }
.product-card__placeholder i { width:27%; height:38%; left:36.5%; top:23%; background:linear-gradient(150deg,var(--violet-300),var(--violet-700)); border-radius:80% 20% 70% 30%; transform-origin:50% 71%; }
.product-card__placeholder i:nth-child(2) { transform:rotate(90deg); }.product-card__placeholder i:nth-child(3) { transform:rotate(180deg); }.product-card__placeholder i:nth-child(4) { transform:rotate(270deg); }
.product-card__placeholder b { z-index:2; width:17%; aspect-ratio:1; left:41.5%; top:40%; background:#fff; border-radius:50%; }
.product-card__favorite { position:absolute; z-index:3; top:13px; right:13px; display:grid; width:42px; height:42px; place-items:center; padding:0; color:var(--violet-800); background:rgba(255,255,255,.94); border:1px solid var(--line); border-radius:50%; box-shadow:0 8px 24px rgba(52,32,71,.1); cursor:pointer; }
.product-card__favorite .ui-icon { width:21px; height:21px; }
.product-card__favorite.is-active { color:#fff; background:var(--berry); border-color:var(--berry); }
.product-card__favorite.is-active .ui-icon { fill:currentColor; }
.product-card__body { display:flex; flex:1; flex-direction:column; padding:19px; }
.product-card__body h3 { display:-webkit-box; min-height:63px; margin-bottom:11px; overflow:hidden; font-size:18px; line-height:1.19; letter-spacing:-.025em; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.product-card__badges { position:absolute; z-index:4; top:13px; left:13px; display:flex; flex-wrap:wrap; gap:5px; max-width:calc(100% - 72px); }
.product-card__badges span { padding:6px 9px; color:#fff; background:var(--violet-600); border-radius:999px; box-shadow:0 7px 18px rgba(64,43,72,.1); font-size:10px; font-weight:820; text-transform:uppercase; letter-spacing:.05em; }
.product-card__badges .is-sale { background:var(--berry); }
.product-card__badges .is-hit { background:var(--violet-600); }
.product-card__badges .is-value { color:#fff; background:#667c57; }
.product-card__composition { display:-webkit-box; min-height:53px; margin:0 0 13px; overflow:hidden; color:var(--muted); font-size:13px; line-height:1.38; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.product-card__composition strong { color:var(--ink); }
.product-card__meta { display:flex; min-height:29px; flex-wrap:nowrap; gap:6px; margin-bottom:12px; overflow:hidden; }
.product-card__meta span { padding:6px 9px; color:var(--violet-700); background:var(--violet-075); border-radius:999px; font-size:11px; font-weight:750; }
.product-card__meta span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.product-card__meta span:last-child:not(:first-child) { flex:0 0 auto; }
.product-card__bottom { display:flex; align-items:end; justify-content:space-between; gap:10px; margin-top:auto; padding-top:12px; border-top:1px solid var(--line); }
.product-card__price { display:grid; min-width:0; gap:3px; }
.product-card__price del { line-height:1; }
.product-card__price strong { font-size:17px; letter-spacing:-.03em; }
.product-card__price small { display:flex; align-items:center; gap:4px; color:var(--violet-700); font-size:9px; font-weight:780; white-space:nowrap; }
.product-card__price small .ui-icon { width:12px; height:12px; color:var(--berry); }
.product-card__bottom a { display:inline-flex; align-items:center; gap:5px; color:var(--muted); font-size:11px; font-weight:750; }
.product-card__bottom a .ui-icon { width:13px; height:13px; }
.product-card__actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:13px; }
.product-card__actions button { min-height:38px; padding:0 9px; border-radius:12px; font-size:10px; font-weight:800; cursor:pointer; }
.product-card__order { color:#fff; background:var(--violet-600); border:1px solid var(--violet-600); }
.product-card__quick { color:var(--violet-800); background:#fff; border:1px solid var(--line); }
.round-link { display:grid; width:38px; height:38px; place-items:center; border:1px solid var(--line); border-radius:50%; }
.product-card__add { color:#fff; background:var(--violet-800); cursor:pointer; }
.catalog-empty { display:flex; min-height:310px; align-items:center; justify-content:center; gap:56px; padding:46px; overflow:hidden; background:linear-gradient(125deg,#fff,#f1e7f4); border:1px solid var(--line); border-radius:var(--radius-xl); text-align:left; }
.catalog-empty h3,.catalog-empty h2 { margin:8px 0 12px; font-size:36px; }
.catalog-empty span { color:var(--violet-600); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.catalog-empty p { max-width:520px; margin:0; color:var(--muted); }
.catalog-empty .button { margin-top:22px; }
.empty-art { position:relative; flex:0 0 180px; height:180px; }
.empty-art i,.empty-art b { position:absolute; display:block; }
.empty-art i { width:62px; height:96px; left:59px; top:0; background:linear-gradient(155deg,var(--violet-300),var(--violet-700)); border-radius:85% 15% 72% 28%; transform-origin:50% 90px; }
.empty-art i:nth-child(2) { transform:rotate(90deg); }.empty-art i:nth-child(3) { transform:rotate(180deg); }.empty-art i:nth-child(4) { transform:rotate(270deg); }
.empty-art b { z-index:2; width:48px; height:48px; left:66px; top:66px; background:#fff; border-radius:50%; }
.about-section { padding:110px 0; background:var(--violet-075); }
.about-grid { display:grid; grid-template-columns:.8fr .8fr 1.4fr; align-items:stretch; gap:20px; }
.about-card,.about-copy { min-height:330px; padding:34px; border:1px solid var(--line); border-radius:var(--radius-lg); }
.about-card { display:flex; flex-direction:column; justify-content:flex-end; background:#fff; }
.about-card--accent { color:var(--ink); background:var(--berry-soft); }
.about-card>span { margin-bottom:auto; font-size:12px; font-weight:800; opacity:.7; }
.about-card h3 { margin-bottom:12px; font-size:27px; }
.about-card p { margin:0; color:var(--muted); }
.about-card--accent p { color:var(--muted); }
.about-copy { padding:46px; background:#fff; }
.about-copy p { max-width:560px; margin:24px 0 0; color:var(--muted); font-size:17px; }
.request-section { padding:110px 0; }
.request-card { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; padding:62px; color:var(--ink); background:var(--violet-075); border:1px solid var(--line); border-radius:var(--radius-xl); box-shadow:var(--shadow); }
.eyebrow--light { color:var(--violet-600); }
.request-copy p { max-width:440px; margin:24px 0 0; color:var(--muted); }
.request-form { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.request-form label>span { display:block; margin-bottom:8px; color:var(--muted); font-size:13px; font-weight:700; }
.request-form input,.request-form textarea { width:100%; padding:15px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:14px; outline:0; }
.request-form input:focus,.request-form textarea:focus { border-color:var(--violet-500); box-shadow:0 0 0 3px rgba(128,87,155,.09); }
.request-form input::placeholder,.request-form textarea::placeholder { color:#9a929c; }
.form-wide { grid-column:1/-1; }
.hp-field { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; }
.form-consent { display:flex!important; align-items:center; gap:10px; }
.form-consent input { flex:0 0 16px; width:16px; height:16px; accent-color:var(--violet-300); }
.form-consent span { margin:0!important; }
.form-consent a { color:var(--violet-800); text-decoration:underline; text-underline-offset:2px; }
.request-photo { position:relative; display:grid!important; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:12px 14px; padding:14px; background:rgba(255,255,255,.72); border:1px dashed var(--violet-300); border-radius:17px; cursor:pointer; transition:border-color .18s ease,background .18s ease; }
.request-photo:hover { background:#fff; border-color:var(--violet-600); }
.request-photo>input { position:absolute; width:1px!important; height:1px; opacity:0; pointer-events:none; }
.request-photo>.request-photo__button { display:inline-flex; min-height:44px; align-items:center; gap:9px; margin:0; padding:0 15px; color:#fff; background:var(--violet-700); border-radius:12px; font-size:13px; font-weight:800; }
.request-photo__button .ui-icon { width:18px; height:18px; }
.request-photo>small { color:var(--muted); font-size:12px; line-height:1.4; }
.request-photo__preview { grid-column:1/-1; display:block; width:126px; height:126px; padding:5px; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:16px; }.request-photo__preview[hidden] { display:none; }.request-photo__preview img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; border-radius:11px; }
.form-submit { display:flex; align-items:center; gap:18px; }
.form-submit .button-light { color:#fff; background:var(--violet-600); }
.form-submit small { color:var(--muted); }
.form-status { padding:12px 15px; border-radius:14px; font-weight:750; }
.form-status.is-success { color:#183923; background:#d9f2df; }
.form-status.is-error { color:#612330; background:#f7dce1; }
.home-categories { padding:110px 0; background:#fff; }
.home-discovery { position:relative; padding:94px 0; overflow:hidden; background:linear-gradient(145deg,#fff 0%,#faf5fa 48%,#f7eef5 100%); border-bottom:1px solid rgba(128,87,155,.09); }.home-discovery::before { position:absolute; top:-190px; right:-130px; width:410px; height:410px; background:rgba(214,92,130,.08); border-radius:50%; content:""; }.home-discovery>.site-shell { position:relative; z-index:1; }.home-discovery__heading { margin-bottom:32px; }.home-discovery__heading>p { max-width:590px; }.home-occasion-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }.home-occasion-card { position:relative; display:block; min-height:278px; overflow:hidden; color:#fff; background:var(--violet-800); border-radius:26px; box-shadow:0 16px 36px rgba(54,34,66,.11); isolation:isolate; }.home-occasion-card__media,.home-occasion-card__shade { position:absolute; inset:0; }.home-occasion-card__media img,.home-occasion-card__media>i { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .45s ease; }.home-occasion-card__media>i { display:block; background:linear-gradient(145deg,var(--violet-500),var(--berry)); }.home-occasion-card__shade { z-index:1; background:linear-gradient(180deg,rgba(23,14,29,.04) 22%,rgba(29,18,35,.86) 100%); }.home-occasion-card__copy { position:absolute; z-index:2; right:24px; bottom:22px; left:24px; display:flex; flex-direction:column; align-items:flex-start; }.home-occasion-card__copy small { margin-bottom:8px; font-size:10px; font-weight:850; line-height:1.3; text-transform:uppercase; letter-spacing:.09em; }.home-occasion-card__copy strong { font-size:25px; line-height:1.08; letter-spacing:-.025em; }.home-occasion-card__copy em { display:flex; align-items:center; gap:6px; margin-top:11px; font-size:12px; font-style:normal; font-weight:750; }.home-occasion-card__copy .ui-icon { width:15px; height:15px; }.home-occasion-card:hover .home-occasion-card__media img { transform:scale(1.035); }.home-gifts-panel { display:grid; grid-template-columns:270px minmax(0,1fr); gap:28px; margin-top:22px; padding:26px; background:rgba(255,255,255,.86); border:1px solid rgba(128,87,155,.13); border-radius:28px; box-shadow:0 18px 48px rgba(67,44,76,.07); }.home-gifts-panel__intro { display:flex; align-items:flex-start; gap:15px; padding:8px 4px; }.home-gifts-panel__intro>span { display:grid; width:50px; height:50px; flex:0 0 50px; place-items:center; color:#fff; background:linear-gradient(145deg,var(--violet-500),var(--berry)); border-radius:17px; }.home-gifts-panel__intro>span .ui-icon { width:23px; height:23px; }.home-gifts-panel__intro small { color:var(--violet-700); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.09em; }.home-gifts-panel__intro h3 { margin:5px 0 7px; font-size:24px; line-height:1.05; letter-spacing:-.03em; }.home-gifts-panel__intro p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }.home-gifts-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.home-gifts-grid>a { display:grid; min-height:92px; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:11px; padding:14px; color:var(--ink); background:#fff; border:1px solid rgba(128,87,155,.12); border-radius:18px; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }.home-gifts-grid>a:hover { transform:translateY(-2px); border-color:rgba(128,87,155,.3); box-shadow:0 11px 26px rgba(67,44,76,.08); }.home-gifts-grid>a>i { display:grid; width:40px; height:40px; place-items:center; color:var(--violet-700); background:var(--violet-075); border-radius:13px; }.home-gifts-grid>a>i .ui-icon { width:20px; height:20px; }.home-gifts-grid>a>span { min-width:0; }.home-gifts-grid>a strong,.home-gifts-grid>a small { display:block; }.home-gifts-grid>a strong { font-size:14px; line-height:1.25; }.home-gifts-grid>a small { margin-top:4px; overflow:hidden; color:var(--muted); font-size:10px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }.home-gifts-grid>a>em { min-width:25px; color:var(--violet-700); font-size:11px; font-style:normal; font-weight:850; text-align:right; }
.home-seasonal { position:relative; padding:72px 0 78px; overflow:hidden; background:linear-gradient(145deg,#f8f1f8 0%,#fff 58%,#f7eef4 100%); border-bottom:1px solid rgba(128,87,155,.09); }.home-seasonal::before,.home-seasonal::after { position:absolute; width:330px; height:330px; background:rgba(214,92,130,.07); border-radius:50%; content:""; filter:blur(1px); }.home-seasonal::before { top:-220px; left:-120px; }.home-seasonal::after { right:-180px; bottom:-240px; background:rgba(128,87,155,.08); }.home-seasonal>.site-shell { position:relative; z-index:1; }.home-seasonal__header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:34px; margin-bottom:30px; padding:32px 36px; background:rgba(255,255,255,.82); border:1px solid rgba(128,87,155,.13); border-radius:28px; box-shadow:0 18px 52px rgba(67,44,76,.07); backdrop-filter:blur(14px); }.home-seasonal__copy { max-width:820px; }.home-seasonal__eyebrow { display:flex; align-items:center; gap:9px; margin-bottom:12px; color:#9b3f69; font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.12em; }.home-seasonal__eyebrow i { width:30px; height:1px; background:currentColor; }.home-seasonal h2 { max-width:760px; margin:0; font-size:clamp(32px,3.2vw,50px); line-height:1.02; letter-spacing:-.045em; }.home-seasonal__copy>p { max-width:760px; margin:16px 0 0; color:var(--muted); font-size:16px; line-height:1.65; }.home-seasonal__facts { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }.home-seasonal__facts>span { display:flex; min-height:34px; align-items:center; gap:7px; padding:6px 11px; color:var(--violet-700); background:var(--violet-075); border-radius:999px; font-size:11px; font-weight:750; }.home-seasonal__facts .ui-icon { width:16px; height:16px; }.home-seasonal__button { min-width:220px; justify-content:center; }.home-seasonal__grid { position:relative; }.home-seasonal__grid .product-card { background:#fff; }
.home-heading { align-items:end; }
.home-heading>p { max-width:470px; margin:0; color:var(--muted); font-size:16px; }
.home-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:255px; gap:14px; }
.home-category-card { position:relative; min-width:0; overflow:hidden; color:#fff; background:var(--violet-150); border-radius:28px; box-shadow:0 16px 42px rgba(64,43,72,.08); }
.home-category-card.is-featured { grid-column:span 2; grid-row:span 2; }
.home-category-card:last-child { grid-column:span 2; }
.home-category-card__media,.home-category-card__shade { position:absolute; inset:0; }
.home-category-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.home-category-card--people .home-category-card__media img { object-position:center 18%; }
.home-category-card__media>i { display:block; width:100%; height:100%; background:radial-gradient(circle at 65% 30%,rgba(255,255,255,.9),transparent 20%),linear-gradient(145deg,var(--violet-150),var(--violet-600)); }
.home-category-card__shade { background:linear-gradient(180deg,rgba(24,13,34,.02) 12%,rgba(24,13,34,.8) 100%); }
.home-category-card__copy { position:absolute; z-index:2; inset:auto 22px 20px; display:grid; gap:7px; }
.home-category-card__copy small { color:rgba(255,255,255,.72); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.12em; }
.home-category-card__copy strong { max-width:340px; font-size:25px; line-height:1.05; letter-spacing:-.035em; }
.home-category-card__copy em { display:flex; align-items:center; gap:7px; color:rgba(255,255,255,.78); font-size:11px; font-style:normal; font-weight:750; }
.home-category-card__copy em .ui-icon { width:14px; height:14px; }
.home-category-card:hover .home-category-card__media img { transform:scale(1.035); }
.home-products { position:relative; background:#fdfbf9; }
.home-products--new { background:var(--violet-075); }
.home-confidence { padding:110px 0; background:linear-gradient(135deg,#f4edf6,#fbf8fc); }
.home-confidence__heading { display:grid; max-width:840px; grid-template-columns:180px minmax(0,1fr); gap:8px 42px; margin-bottom:44px; }
.home-confidence__heading>span { grid-row:1/3; padding-top:11px; color:var(--violet-600); font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.14em; }
.home-confidence__heading h2 { margin:0; font-size:clamp(40px,4.5vw,62px); }
.home-confidence__heading p { max-width:660px; margin:12px 0 0; color:var(--muted); font-size:16px; }
.home-confidence__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.home-confidence__grid article { position:relative; display:flex; min-height:310px; flex-direction:column; padding:27px; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:28px; }
.home-confidence__grid article:nth-child(2),.home-confidence__grid article:nth-child(4) { background:#fcf8fd; }
.home-confidence__grid article>i { display:grid; width:54px; height:54px; place-items:center; color:#fff; background:var(--violet-600); border-radius:18px; font-style:normal; }
.home-confidence__grid article>i .ui-icon { width:27px; height:27px; }
.home-confidence__grid article>span { position:absolute; top:28px; right:26px; color:var(--violet-600); font-size:12px; font-weight:900; }
.home-confidence__grid h3 { margin:auto 0 12px; font-size:26px; }
.home-confidence__grid p { margin:0; color:var(--muted); font-size:14px; }
.home-journey { padding:120px 0; background:#fff; }
.home-journey__layout { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:85px; }
.home-journey__layout>header { align-self:start; }
.home-journey__layout>header h2 { margin:18px 0 22px; font-size:clamp(42px,4.7vw,64px); }
.home-journey__layout>header p { margin:0 0 28px; color:var(--muted); font-size:16px; }
.home-journey__layout ol { display:grid; margin:0; padding:0; overflow:hidden; background:var(--violet-075); border:1px solid var(--line); border-radius:34px; list-style:none; }
.home-journey__layout li { display:grid; min-height:125px; grid-template-columns:68px minmax(0,1fr); align-items:center; gap:20px; padding:22px 30px; border-bottom:1px solid rgba(73,54,80,.1); }
.home-journey__layout li:last-child { border-bottom:0; }
.home-journey__layout li>b { display:grid; width:58px; height:58px; place-items:center; color:#fff; background:var(--violet-800); border-radius:50%; font-size:11px; }
.home-journey__layout h3 { margin:0 0 7px; font-size:21px; }
.home-journey__layout li p { margin:0; color:var(--muted); font-size:14px; }
.home-picker-story { padding:110px 0; background:#fff; }
.home-picker-story__card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:570px; padding:0; overflow:hidden; color:#fff; background:var(--violet-700); border-radius:42px; box-shadow:0 30px 80px rgba(66,37,84,.18); }
.home-picker-story__media { position:relative; min-height:570px; overflow:hidden; }
.home-picker-story__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 62%,rgba(32,17,43,.48)); }
.home-picker-story__media img { width:100%; height:100%; object-fit:cover; }
.home-picker-story__placeholder { display:block; width:100%; height:100%; background:radial-gradient(circle at 38% 35%,rgba(255,255,255,.72),transparent 18%),linear-gradient(145deg,var(--violet-150),var(--violet-700)); }
.home-picker-story__media>span { position:absolute; z-index:2; left:26px; bottom:25px; padding:8px 12px; color:#fff; background:rgba(40,22,54,.65); border:1px solid rgba(255,255,255,.18); border-radius:999px; font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.1em; backdrop-filter:blur(10px); }
.home-picker-story__copy { display:flex; flex-direction:column; justify-content:center; padding:64px; }
.home-picker-story__copy .eyebrow { color:rgba(255,255,255,.88); }
.home-picker-story__copy h2 { max-width:620px; margin:22px 0; color:#fff; font-size:clamp(42px,4.6vw,64px); }
.home-picker-story__copy>p { max-width:590px; margin:0; color:rgba(255,255,255,.86); font-size:16px; }
.home-picker-story__copy>div { display:flex; flex-wrap:wrap; gap:10px; margin-top:32px; }
.home-picker-story__catalog { color:#fff; border-color:rgba(255,255,255,.24); }
.home-editorial { padding:120px 0; background:#fff; }
.home-editorial__grid { display:grid; grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr); gap:85px; padding-top:52px; border-top:1px solid var(--line); }
.home-editorial h2 { max-width:680px; margin:20px 0 0; font-size:clamp(40px,4.5vw,62px); }
.home-editorial__text { color:var(--muted); font-size:17px; }
.home-editorial__text p { margin:0 0 20px; }
.home-editorial__text p:first-child::first-letter { float:left; margin:8px 12px 0 0; color:var(--violet-600); font-size:68px; font-weight:850; line-height:.7; }
.home-editorial__text nav { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; }
.home-editorial__text nav a { padding:9px 13px; color:var(--violet-800); background:var(--violet-075); border:1px solid var(--line); border-radius:999px; font-size:12px; font-weight:800; }
.home-reviews { padding:110px 0; background:var(--violet-075); }
.home-faq { padding:120px 0; background:var(--violet-075); }
.home-faq .service-heading>p { max-width:430px; margin:22px 0 0; color:var(--muted); }
.home-faq .service-heading h2 { font-size:clamp(40px,4.5vw,62px); }
.home-cities { padding:110px 0; color:#fff; background:linear-gradient(135deg,var(--violet-800),var(--violet-950)); }
.home-cities__layout { display:grid; grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); gap:75px; }
.home-cities__layout>header h2 { max-width:560px; margin:20px 0; color:#fff; font-size:clamp(42px,4.8vw,66px); }
.home-cities__layout>header p { max-width:500px; margin:0 0 30px; color:rgba(255,255,255,.65); }
.home-cities__layout>nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:8px; }
.home-cities__layout>nav a { display:grid; min-height:72px; grid-template-columns:minmax(0,1fr) 20px; align-items:center; padding:13px 16px; color:#fff; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); border-radius:16px; }
.home-cities__layout>nav a:hover { background:rgba(255,255,255,.12); }
.home-cities__layout>nav strong { font-size:14px; }
.home-cities__layout>nav small { grid-column:1; margin-top:3px; color:rgba(255,255,255,.5); font-size:9px; }
.home-cities__layout>nav .ui-icon { grid-column:2; grid-row:1/3; width:17px; height:17px; color:rgba(255,255,255,.55); }
.site-footer { padding:74px 0 30px; color:#fff; background:var(--violet-950); }
.footer-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; padding-bottom:55px; }
.footer-brand .brand-logo { filter:none; }
.footer-brand .brand-copy small,.footer-grid p { color:rgba(255,255,255,.68); }
.footer-grid p { max-width:440px; margin:24px 0 0; }
.footer-menu { display:grid; grid-template-columns:repeat(2,1fr); gap:14px 30px; margin:0; padding:0; list-style:none; }
.footer-bottom { display:flex; justify-content:space-between; padding-top:24px; color:rgba(255,255,255,.66); border-top:1px solid rgba(255,255,255,.1); font-size:12px; }
.mobile-dock { display:none; }
.mobile-menu-extra { display:none; }
.mobile-menu-head { display:none; }
.footer-top { display:grid; grid-template-columns:minmax(270px,1.3fr) repeat(3,minmax(145px,.7fr)); gap:42px; padding-bottom:48px; }
.footer-intro>p { max-width:380px; margin:22px 0; color:rgba(255,255,255,.62); font-size:15px; }
.footer-column>strong { display:block; margin:5px 0 19px; color:rgba(255,255,255,.5); font-size:12px; text-transform:uppercase; letter-spacing:.13em; }
.footer-menu { display:grid; grid-template-columns:1fr; gap:9px; margin:0; padding:0; list-style:none; }
.footer-menu a { color:rgba(255,255,255,.78); font-size:14px; transition:color .18s ease,transform .18s ease; }
.footer-menu a:hover { color:#fff; transform:translateX(3px); }
.footer-messengers { display:flex; flex-wrap:wrap; gap:8px; }
.footer-messengers a { display:flex; align-items:center; gap:8px; min-height:42px; padding:5px 12px 5px 5px; color:rgba(255,255,255,.84); background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.09); border-radius:999px; font-size:12px; font-weight:750; }
.footer-messengers img { width:30px; height:30px; border-radius:50%; }
.footer-social-profiles { display:grid; gap:7px; margin-top:15px; }
.footer-social-profiles>span { color:rgba(255,255,255,.55); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.footer-social-profiles>div { display:flex; flex-wrap:wrap; gap:8px; }
.footer-social-profiles a { display:flex; min-height:40px; align-items:center; gap:8px; padding:5px 11px 5px 5px; color:#fff; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.13); border-radius:12px; font-size:12px; font-weight:800; }
.footer-social-profiles a:hover { background:rgba(255,255,255,.16); transform:translateY(-1px); }
.footer-social-profiles img { width:30px; height:30px; border-radius:9px; }
.footer-account-link { display:grid; max-width:280px; grid-template-columns:22px minmax(0,1fr) 16px; align-items:center; gap:10px; margin:0 0 18px; padding:11px 13px; color:#fff; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); border-radius:13px; font-size:13px; font-weight:750; }
.footer-account-link .ui-icon { width:18px; height:18px; color:var(--violet-300); }
.footer-actions-grid { display:grid; grid-template-columns:minmax(220px,268px) minmax(240px,288px) minmax(360px,1fr); align-items:stretch; gap:14px 20px; padding:0 0 26px; }.footer-action-card { min-width:0; margin:0!important; color:#fff; }.footer-actions-grid .footer-calculator-link,.footer-actions-grid .footer-account-link { width:100%; max-width:none; height:26px; min-height:26px; align-self:center; grid-template-columns:20px minmax(0,1fr) 11px; gap:3px; padding:0 7px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); border-radius:9px; }.footer-actions-grid .footer-calculator-link>.ui-icon:first-child,.footer-actions-grid .footer-account-link>.ui-icon:first-child { width:13px; height:13px; margin:3px; color:var(--violet-300); }.footer-actions-grid .footer-calculator-link>.ui-icon:last-child,.footer-actions-grid .footer-account-link>.ui-icon:last-child { width:11px; height:11px; }.footer-actions-grid .footer-calculator-link>span,.footer-actions-grid .footer-account-link>span { display:grid; gap:0; }.footer-actions-grid .footer-calculator-link small,.footer-actions-grid .footer-account-link small { color:rgba(255,255,255,.58); font-size:9px; font-weight:750; line-height:1.05; text-transform:uppercase; letter-spacing:.07em; }.footer-actions-grid .footer-calculator-link strong,.footer-actions-grid .footer-account-link strong { color:#fff; font-size:12px; line-height:1.05; }.footer-action-card--channels,.footer-actions-grid .footer-social-profiles { display:grid; align-content:center; gap:10px; padding:2px 0; background:transparent; border:0; border-radius:0; }.footer-intro .footer-action-card--channels { width:max-content; max-width:100%; margin-top:24px!important; }.footer-intro .footer-messengers { display:flex; width:auto; max-width:400px; }.footer-intro .footer-messengers a { width:max-content; min-height:38px; flex:0 0 auto; padding:4px 10px 4px 4px; }.footer-intro .footer-messengers img { width:28px; height:28px; }.footer-action-card header { display:grid; gap:2px; }.footer-action-card header>span { color:#fff; font-size:14px; font-weight:820; }.footer-action-card header>small { color:rgba(255,255,255,.55); font-size:10px; }.footer-actions-grid .footer-social-profiles { width:max-content; max-width:100%; min-height:40px; grid-template-columns:max-content max-content; align-items:center; justify-self:end; justify-content:end; gap:18px; margin:0; padding-left:4px; }.footer-actions-grid .footer-social-profiles>header { justify-items:end; text-align:right; }.footer-actions-grid .footer-social-profiles>div { justify-content:flex-end; gap:6px; }.footer-actions-grid .footer-social-profiles a { min-height:34px; padding:2px 8px 2px 2px; font-size:11px; }.footer-actions-grid .footer-social-profiles img { width:28px; height:28px; }
.footer-actions-grid { align-items:center; }
.footer-actions-grid .footer-calculator-link,.footer-actions-grid .footer-account-link { height:68px; min-height:68px; grid-template-columns:22px minmax(0,1fr) 14px; gap:8px; padding:12px 12px; border-radius:11px; }.footer-actions-grid .footer-calculator-link>.ui-icon:first-child,.footer-actions-grid .footer-account-link>.ui-icon:first-child { width:16px; height:16px; margin:2px; }.footer-actions-grid .footer-calculator-link>.ui-icon:last-child,.footer-actions-grid .footer-account-link>.ui-icon:last-child { width:12px; height:12px; }.footer-actions-grid .footer-calculator-link small,.footer-actions-grid .footer-account-link small { font-size:10px; line-height:1.1; }.footer-actions-grid .footer-calculator-link strong,.footer-actions-grid .footer-account-link strong { font-size:13px; line-height:1.15; }.footer-intro .footer-messengers a { min-height:40px; padding:5px 11px 5px 5px; }.footer-intro .footer-messengers img { width:30px; height:30px; }.footer-actions-grid .footer-social-profiles { min-height:52px; }.footer-actions-grid .footer-social-profiles a { min-height:42px; padding:5px 11px 5px 5px; font-size:12px; }.footer-actions-grid .footer-social-profiles img { width:30px; height:30px; }
.footer-meta { display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:24px; padding:26px 0; border-top:1px solid rgba(255,255,255,.1); }
.footer-meta>div { display:grid; align-content:start; gap:8px; }
.footer-meta>div>span { color:rgba(255,255,255,.7); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.footer-contacts a { display:inline-flex; width:max-content; align-items:center; gap:8px; color:#fff; font-size:15px; font-weight:750; }
.footer-contacts a .ui-icon { width:15px; height:15px; color:var(--violet-300); }
.footer-contacts small { max-width:260px; color:rgba(255,255,255,.56); font-size:12px; }
.footer-payments>div { display:flex; flex-wrap:wrap; gap:6px; }
.footer-payments img { width:auto; height:34px; min-width:52px; padding:8px 10px; object-fit:contain; background:rgba(255,255,255,.96); border:1px solid rgba(255,255,255,.16); border-radius:9px; }
.footer-apps>button { display:grid; width:max-content; min-width:235px; grid-template-columns:42px minmax(0,1fr) 18px; align-items:center; gap:11px; padding:8px 11px 8px 8px; color:#fff; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:14px; cursor:pointer; transition:background .18s ease,transform .18s ease; }
.footer-apps>button:hover { background:rgba(255,255,255,.14); transform:translateY(-2px); }
.footer-apps>button>img { width:42px; height:42px; border-radius:12px; }
.footer-apps>button>span { display:grid; text-align:left; }
.footer-apps>button>.ui-icon { width:17px; height:17px; color:var(--violet-300); }
.footer-apps small { color:rgba(255,255,255,.76); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.footer-apps b { color:#fff; font-size:13px; }
.contact-rail { position:fixed; z-index:115; right:22px; bottom:24px; display:grid; justify-items:end; gap:9px; pointer-events:none; transition:opacity .18s ease,visibility .18s ease; }
.contact-rail.is-avoiding-actions { opacity:0; pointer-events:none; visibility:hidden; }
.contact-rail__links { display:grid; max-height:0; gap:7px; overflow:hidden; opacity:0; pointer-events:none; transform:translateY(12px); visibility:hidden; transition:max-height .25s ease,opacity .18s ease,transform .25s ease,visibility .25s ease; }
.contact-rail.is-expanded .contact-rail__links { max-height:260px; opacity:1; pointer-events:auto; transform:none; visibility:visible; }
.contact-rail__links a { display:flex; width:184px; height:54px; align-items:center; justify-content:flex-end; overflow:hidden; color:var(--ink); background:#fff; border:1px solid rgba(128,87,155,.2); border-radius:999px; box-shadow:none; pointer-events:auto; transition:transform .18s ease,border-color .18s ease; }
.contact-rail__links a:hover,.contact-rail__links a:focus-visible { border-color:rgba(128,87,155,.48); box-shadow:none; transform:translateX(-4px); }
.contact-rail__links img { order:2; width:42px; height:42px; margin:5px; flex:0 0 42px; border-radius:50%; }
.contact-rail__links span { min-width:125px; padding-left:16px; font-size:13px; font-weight:820; }
.contact-rail__top { display:none; width:54px; height:54px; align-items:center; justify-content:center; gap:8px; padding:0; overflow:hidden; color:var(--violet-800); background:#fff; border:1px solid var(--line); border-radius:999px; box-shadow:0 12px 32px rgba(52,32,71,.13); opacity:0; pointer-events:none; cursor:pointer; transform:translateY(10px); visibility:hidden; transition:.2s ease; }
.contact-rail.is-scrolled .contact-rail__top { display:flex; opacity:1; pointer-events:auto; transform:none; visibility:visible; }
.contact-rail__top .ui-icon { width:21px; height:21px; }.contact-rail__top span { display:none; font-size:12px; font-weight:820; }
.contact-rail__top:hover,.contact-rail__top:focus-visible { color:#fff; background:var(--violet-700); border-color:var(--violet-700); transform:translateY(-2px); }
.contact-rail__toggle { display:flex; min-width:154px; height:56px; align-items:center; justify-content:center; gap:9px; padding:0 18px; color:#fff; background:linear-gradient(145deg,var(--berry),var(--violet-700)); border:0; border-radius:999px; box-shadow:0 18px 40px rgba(99,62,116,.27); cursor:pointer; pointer-events:auto; transition:transform .18s ease,box-shadow .18s ease; }
.contact-rail__toggle:hover,.contact-rail__toggle:focus-visible { box-shadow:0 22px 48px rgba(99,62,116,.34); transform:translateY(-2px); }.contact-rail__toggle i { display:grid; place-items:center; font-style:normal; }.contact-rail__toggle .ui-icon { width:22px; height:22px; }.contact-rail__toggle span { display:block; font-size:13px; font-weight:850; }.contact-rail.is-expanded .contact-rail__toggle i { transform:rotate(-8deg); }
.contact-rail__hint { position:absolute; right:0; bottom:66px; display:grid; width:310px; grid-template-columns:46px minmax(0,1fr); align-items:center; gap:13px; padding:14px 42px 14px 14px; color:var(--ink); background:rgba(255,255,255,.97); border:1px solid rgba(128,87,155,.2); border-radius:22px; box-shadow:0 22px 60px rgba(52,32,71,.18); opacity:0; pointer-events:none; transform:translateY(12px) scale(.98); transform-origin:bottom right; visibility:hidden; transition:.25s ease; backdrop-filter:blur(16px); }
.contact-rail.is-inviting:not(.is-expanded) .contact-rail__hint { opacity:1; pointer-events:auto; transform:none; visibility:visible; }
.contact-rail__hint-icon { display:grid; width:46px; height:46px; place-items:center; color:#fff; background:linear-gradient(145deg,var(--berry),var(--violet-700)); border-radius:15px; font-style:normal; }.contact-rail__hint-icon .ui-icon { width:23px; height:23px; }.contact-rail__hint strong,.contact-rail__hint span { display:block; }.contact-rail__hint strong { margin-bottom:4px; font-size:15px; }.contact-rail__hint span { color:var(--muted); font-size:12px; line-height:1.45; }
.contact-rail__hint button { position:absolute; top:9px; right:9px; display:grid; width:27px; height:27px; place-items:center; padding:0; color:var(--muted); background:var(--violet-075); border:0; border-radius:9px; cursor:pointer; }.contact-rail__hint button:hover,.contact-rail__hint button:focus-visible { color:var(--violet-800); background:var(--violet-100); }.contact-rail__hint button .ui-icon { width:14px; height:14px; }
.contact-rail__links a,.contact-rail__links a:hover,.contact-rail__links a:focus-visible,.contact-rail__top { box-shadow:none; }
.service-page { overflow:hidden; }
.service-hero { position:relative; overflow:hidden; padding:64px 0 96px; background:radial-gradient(circle at 88% 10%,rgba(214,92,130,.1),transparent 24%),linear-gradient(135deg,#fff 0%,#fcf9fd 62%,#f2eaf5 100%); }
.service-hero::after { content:""; position:absolute; width:480px; height:480px; right:-330px; bottom:-330px; border:1px solid rgba(101,64,126,.18); border-radius:50%; }
.service-hero__inner { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); align-items:center; gap:70px; }
.service-hero__copy { position:relative; z-index:2; }
.service-hero__copy .product-breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:12px; }
.service-hero__copy .product-breadcrumbs a:hover { color:var(--violet-700); }
.service-hero h1 { max-width:850px; margin:24px 0 22px; font-size:clamp(52px,6vw,82px); }
.service-hero__copy>p { max-width:720px; margin:0; color:var(--muted); font-size:19px; line-height:1.65; }
.service-hero__art { position:relative; min-height:370px; overflow:hidden; background:radial-gradient(circle at 74% 18%,rgba(214,92,130,.5),transparent 24%),var(--violet-800); border-radius:36px; box-shadow:0 30px 72px rgba(73,54,80,.2); }
.service-hero__art::before,.service-hero__art::after { content:""; position:absolute; inset:14%; border:1px solid rgba(255,255,255,.25); border-radius:50%; transform:rotate(28deg); }
.service-hero__art::after { inset:25% 7%; transform:rotate(-42deg); }
.service-hero__brandmark { position:absolute; z-index:2; width:164px; height:164px; top:calc(50% - 82px); left:calc(50% - 82px); border-radius:42px; box-shadow:0 25px 55px rgba(35,23,42,.25); transform:rotate(-3deg); }
.service-hero__art>span { position:absolute; z-index:3; right:27px; bottom:25px; display:grid; color:#fff; font-size:46px; font-weight:820; line-height:.9; letter-spacing:-.06em; }
.service-hero__art>span small { margin-top:8px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; }
.service-hero__art i { position:absolute; z-index:2; width:94px; height:156px; top:97px; left:calc(50% - 47px); background:linear-gradient(150deg,#fff,var(--violet-150)); border-radius:90% 10% 75% 25%; transform-origin:50% 90%; }
.service-hero__art i:nth-of-type(2) { transform:rotate(120deg); }.service-hero__art i:nth-of-type(3) { transform:rotate(240deg); }
.service-hero__art b { position:absolute; z-index:3; width:68px; height:68px; top:calc(50% - 34px); left:calc(50% - 34px); background:var(--violet-300); border:13px solid rgba(255,255,255,.82); border-radius:50%; }
.service-hero__art--photo::before { z-index:1; inset:0; background:linear-gradient(180deg,transparent 64%,rgba(34,22,39,.24) 100%); border:0; border-radius:inherit; transform:none; }
.service-hero__art--photo::after { display:none; }
.service-hero__photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.service-hero__art--photo>span { left:24px; right:auto; bottom:24px; padding:12px 15px; background:rgba(39,25,46,.66); border:1px solid rgba(255,255,255,.2); border-radius:17px; font-size:24px; line-height:1; letter-spacing:-.035em; backdrop-filter:blur(10px); }
.service-hero__art--photo>span small { margin-top:7px; font-size:11px; }
.service-section { padding:96px 0; }
.service-section--tint { background:var(--violet-075); }
.service-heading { display:grid; grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr); align-items:start; gap:35px; margin-bottom:42px; }
.service-heading>span { padding-top:9px; color:var(--violet-600); font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.15em; }
.service-heading h2 { max-width:810px; margin:0; font-size:clamp(40px,5vw,64px); }
.service-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.service-cards article { position:relative; min-height:285px; padding:30px; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:30px; box-shadow:0 14px 44px rgba(52,32,71,.05); }
.service-cards article::after { content:""; position:absolute; width:170px; height:170px; right:-115px; bottom:-115px; border:1px solid var(--violet-300); border-radius:50%; }
.service-cards article:nth-child(2) { background:var(--violet-075); }
.service-cards article:nth-child(3) { color:var(--ink); background:var(--berry-soft); }
.service-cards .service-card__icon { position:absolute; top:24px; right:24px; width:48px; height:48px; padding:12px; color:var(--violet-700); background:rgba(255,255,255,.82); border:1px solid rgba(101,64,126,.14); border-radius:16px; box-shadow:0 12px 28px rgba(75,47,91,.09); }
.service-cards article>span { color:var(--violet-700); font-size:11px; font-weight:900; letter-spacing:.12em; }
.service-cards h3 { margin:72px 0 14px; font-size:28px; }
.service-cards p { margin:0; color:var(--muted); font-size:15px; }
.service-cards article:nth-child(3) p { color:var(--violet-900); }
.service-steps-wrap { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; }
.service-steps-wrap .service-heading { display:block; margin:0; }
.service-steps-wrap .service-heading h2 { margin-top:18px; }
.service-steps { display:grid; margin:0; padding:0; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:32px; list-style:none; }
.service-steps li { display:grid; grid-template-columns:58px minmax(0,1fr); align-items:center; gap:19px; min-height:88px; padding:17px 24px; border-bottom:1px solid var(--line); }
.service-steps li:last-child { border-bottom:0; }
.service-steps b { display:grid; width:50px; height:50px; place-items:center; color:#fff; background:var(--violet-800); border-radius:50%; font-size:12px; }
.service-steps span { font-size:17px; font-weight:750; }
.service-faq-wrap { display:grid; grid-template-columns:.7fr 1.3fr; align-items:start; gap:70px; }
.service-faq-wrap .service-heading { display:block; margin:0; }
.service-faq-wrap .service-heading h2 { margin-top:18px; }
.service-faq { display:grid; gap:10px; }
.service-faq details { background:#fff; border:1px solid var(--line); border-radius:20px; }
.service-faq summary { display:grid; grid-template-columns:minmax(0,1fr) 38px; align-items:center; gap:15px; min-height:74px; padding:13px 17px 13px 24px; font-size:17px; font-weight:800; cursor:pointer; list-style:none; }
.service-faq summary::-webkit-details-marker { display:none; }
.service-faq summary i { display:grid; width:38px; height:38px; place-items:center; color:#fff; background:var(--violet-800); border-radius:50%; font-size:20px; font-style:normal; transition:transform .2s ease; }
.service-faq details[open] summary i { transform:rotate(45deg); }
.service-faq details p { margin:0; padding:0 76px 24px 24px; color:var(--muted); }
.service-contact-hub { display:grid; grid-template-columns:.9fr 1.1fr; align-items:stretch; gap:20px; }.service-contact-hub__copy { padding:48px; color:#fff; background:linear-gradient(145deg,var(--violet-800),var(--violet-600)); border-radius:34px; }.service-contact-hub__copy .eyebrow { color:rgba(255,255,255,.84); }.service-contact-hub__copy h2 { max-width:680px; margin:22px 0 18px; font-size:clamp(36px,4.3vw,58px); }.service-contact-hub__copy>p { max-width:650px; color:rgba(255,255,255,.82); font-size:16px; }.service-contact-hub__links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:30px; }.service-contact-hub__links a,.service-contact-hub__hours { display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:11px; min-width:0; padding:12px; color:var(--ink); background:#fff; border-radius:16px; }.service-contact-hub__copy>.service-contact-hub__hours { color:var(--ink); }.service-contact-hub__links .ui-icon,.service-contact-hub__hours .ui-icon { width:20px; height:20px; margin:auto; color:var(--violet-700); }.service-contact-hub__links span,.service-contact-hub__hours span { display:grid; min-width:0; }.service-contact-hub__links small,.service-contact-hub__hours small { color:var(--muted); font-size:12px; line-height:1.35; text-transform:uppercase; letter-spacing:.08em; }.service-contact-hub__links strong { overflow:hidden; font-size:15px; text-overflow:ellipsis; white-space:nowrap; }.service-contact-hub__hours { width:max-content; max-width:100%; margin:9px 0 0!important; }.service-map { position:relative; min-height:520px; overflow:hidden; background:var(--violet-075); border:1px solid var(--line); border-radius:34px; }.service-map__placeholder { position:absolute; inset:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; padding:44px; background:radial-gradient(circle at 75% 22%,rgba(214,92,130,.23),transparent 23%),linear-gradient(36deg,transparent 48%,rgba(128,87,155,.12) 49%,rgba(128,87,155,.12) 51%,transparent 52%),linear-gradient(-34deg,transparent 48%,rgba(128,87,155,.09) 49%,rgba(128,87,155,.09) 51%,transparent 52%),#f5eff7; background-size:auto,130px 130px,160px 160px,auto; }.service-map__placeholder>.ui-icon { width:48px; height:48px; padding:12px; color:#fff; background:var(--berry); border-radius:17px; box-shadow:0 14px 34px rgba(120,67,105,.2); }.service-map__placeholder>span { margin-top:28px; color:var(--violet-700); font-size:12px; font-weight:850; text-transform:uppercase; letter-spacing:.12em; }.service-map__placeholder h3 { margin:8px 0 10px; font-size:44px; }.service-map__placeholder p { max-width:520px; margin:0 0 22px; color:var(--muted); }.service-map__placeholder>a { margin-top:14px; color:var(--violet-700); font-size:14px; font-weight:800; }.service-map iframe { width:100%; height:100%; min-height:520px; border:0; }
.service-contact-social { display:grid; gap:8px; margin-top:20px; }
.service-contact-social>span { color:rgba(255,255,255,.72); font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.1em; }
.service-contact-social>div { display:flex; flex-wrap:wrap; gap:8px; }
.service-contact-social a { display:grid; min-height:48px; grid-template-columns:38px minmax(0,1fr) 16px; align-items:center; gap:9px; padding:5px 11px 5px 5px; color:var(--ink); background:rgba(255,255,255,.94); border:1px solid rgba(255,255,255,.55); border-radius:14px; font-size:13px; font-weight:800; }
.service-contact-social a:hover { background:#fff; transform:translateY(-1px); }
.service-contact-social img { width:38px; height:38px; border-radius:11px; }
.service-contact-social .ui-icon { width:15px; height:15px; color:var(--violet-600); }
.service-faq-topics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:28px; }.service-faq-topics a { display:flex; min-height:72px; align-items:center; justify-content:space-between; gap:15px; padding:16px 18px; background:#fff; border:1px solid var(--line); border-radius:18px; font-size:14px; font-weight:820; }.service-faq-topics a span { color:var(--violet-700); }.service-faq-groups { display:grid; gap:18px; }.service-faq-groups>section { display:grid; grid-template-columns:.68fr 1.32fr; align-items:start; gap:48px; padding:34px; background:#fff; border:1px solid var(--line); border-radius:30px; scroll-margin-top:24px; }.service-faq-groups>section>header { display:grid; grid-template-columns:38px minmax(0,1fr); gap:14px; }.service-faq-groups>section>header>span { display:grid; width:38px; height:38px; place-items:center; color:#fff; background:var(--violet-700); border-radius:50%; font-size:10px; font-weight:850; }.service-faq-groups h2 { margin:0; font-size:32px; }.service-faq-groups header p { margin:10px 0 0; color:var(--muted); font-size:14px; }
.reviews-wall { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.reviews-wall article { display:flex; min-height:265px; flex-direction:column; padding:26px; background:#fff; border:1px solid var(--line); border-radius:28px; }
.reviews-wall article>header,.reviews-wall article>footer { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.reviews-wall article>header span { color:var(--violet-600); letter-spacing:.06em; }
.reviews-wall article>p { flex:1; margin:20px 0; color:var(--muted); font-size:15px; }
.reviews-wall article>footer { color:var(--muted); font-size:11px; }
.reviews-wall article>footer a { color:var(--violet-700); font-weight:800; }
.review-shop-reply { margin:0 0 20px; padding:14px 15px; color:var(--ink); background:var(--violet-075); border-left:3px solid var(--violet-500); border-radius:0 14px 14px 0; }.review-shop-reply>span { display:flex; align-items:center; gap:7px; color:var(--violet-700); font-size:11px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }.review-shop-reply>span .ui-icon { width:16px; height:16px; }.review-shop-reply>p { margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
.reviews-empty-state { background:linear-gradient(135deg,#fff,var(--violet-075)); }.reviews-contribute { scroll-margin-top:20px; }.reviews-contribute__layout { display:grid; grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr); align-items:start; gap:clamp(45px,7vw,100px); }.reviews-contribute__copy { padding-top:28px; }.reviews-contribute__copy h2 { max-width:620px; margin:20px 0 18px; font-size:clamp(42px,4.8vw,64px); }.reviews-contribute__copy>p { max-width:650px; color:var(--muted); font-size:16px; }.reviews-contribute__copy ol { display:grid; gap:10px; margin:32px 0 0; padding:0; list-style:none; }.reviews-contribute__copy li { display:grid; grid-template-columns:46px minmax(0,1fr); align-items:center; gap:14px; padding:15px; background:#fff; border:1px solid var(--line); border-radius:17px; }.reviews-contribute__copy li>b { display:grid; width:42px; height:42px; place-items:center; color:#fff; background:var(--violet-700); border-radius:13px; font-size:11px; }.reviews-contribute__copy li>span { display:grid; gap:4px; }.reviews-contribute__copy li strong { font-size:14px; }.reviews-contribute__copy li small { color:var(--muted); font-size:11px; line-height:1.4; }.reviews-page-form { position:relative; gap:18px; overflow:hidden; padding:42px; border-color:rgba(128,87,155,.2); box-shadow:0 28px 75px rgba(72,45,84,.12); }.reviews-page-form::before { content:""; position:absolute; height:5px; inset:0 0 auto; background:linear-gradient(90deg,var(--violet-700),var(--berry),var(--violet-300)); }.reviews-page-form>span { padding-top:5px; }.reviews-page-form__lead { margin:-7px 0 3px; color:var(--muted); font-size:13px; line-height:1.5; }.review-form-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:12px; }.reviews-page-form select { width:100%; min-height:52px; padding:13px 42px 13px 14px; color:var(--ink); background:var(--cream); border:1px solid var(--line); border-radius:14px; outline:0; font:inherit; }.reviews-page-form select:focus { border-color:var(--violet-500); box-shadow:0 0 0 3px rgba(128,87,155,.09); }.reviews-page-form .form-notice { margin:0; padding:13px 15px; border-radius:13px; font-size:13px; }.reviews-page-form .form-notice.is-success { color:#22643a; background:#edf8f0; border:1px solid #cce8d4; }.reviews-page-form .form-notice.is-error { color:#8a3444; background:#fff0f3; border:1px solid #f2ccd5; }.reviews-page-form>.button { width:100%; min-height:56px; }.reviews-page-form>.button .ui-icon { width:19px; height:19px; }
.service-empty { padding:50px; background:var(--violet-075); border:1px solid var(--line); border-radius:34px; text-align:center; }
.service-empty>span { color:var(--violet-600); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.16em; }
.service-empty h3 { max-width:720px; margin:16px auto; font-size:clamp(32px,4vw,50px); }
.service-empty p { max-width:640px; margin:0 auto 25px; color:var(--muted); }
.service-section--legal { padding-top:70px; }
.service-document { max-width:none; padding:50px 58px; background:#fff; border:1px solid var(--line); border-radius:34px; box-shadow:0 20px 60px rgba(52,32,71,.06); }
.service-document>* { max-width:none; }
.service-document h2 { margin:44px 0 16px; font-size:32px; }.service-document h2:first-child { margin-top:0; }
.service-document h3 { margin:30px 0 12px; font-size:23px; }
.service-document p,.service-document li { color:#514b54; line-height:1.75; }
.service-document a { color:var(--violet-700); text-decoration:underline; text-underline-offset:3px; }
.service-document .f365-placeholder,.service-document strong:has(+ .f365-placeholder) { color:#8b2f5e; }
.f365-legal-notice { margin-bottom:40px; padding:18px 20px; color:#722443; background:#fff0f5; border:1px solid rgba(139,47,94,.18); border-radius:16px; font-size:15px; }
.f365-legal-notice strong { color:#8b2f5e; }
.city-directory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.city-directory a { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; padding:17px 18px; background:#fff; border:1px solid var(--line); border-radius:18px; transition:transform .18s ease,border-color .18s ease; }
.city-directory a:hover { border-color:var(--violet-300); transform:translateY(-2px); }
.city-directory strong { font-size:15px; }.city-directory small { grid-column:1; margin-top:3px; overflow:hidden; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.city-directory a>span { grid-column:2; grid-row:1/3; color:var(--violet-600); }
.city-directory__all { margin-top:24px; }
.city-directory-browser { margin-top:54px; padding-top:44px; border-top:1px solid var(--line); }.city-directory-browser__header { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.8fr); align-items:end; gap:42px; }.city-directory-browser__header>div>span { color:var(--violet-700); font-size:11px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }.city-directory-browser__header h2 { margin:9px 0 8px; font-size:clamp(34px,4.2vw,60px); line-height:.98; }.city-directory-browser__header p { margin:0; color:var(--muted); }.city-directory-filter { display:flex; min-height:58px; align-items:center; gap:11px; padding:0 10px 0 18px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 12px 34px rgba(52,32,71,.07); }.city-directory-filter>.ui-icon { flex:0 0 auto; color:var(--violet-600); }.city-directory-filter input { width:100%; min-width:0; padding:16px 0; background:transparent; border:0; outline:0; font:inherit; }.city-directory-filter input::-webkit-search-cancel-button { display:none; appearance:none; }.city-directory-filter button { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; padding:0; color:var(--violet-800); background:var(--violet-100); border:0; border-radius:50%; font-size:23px; line-height:1; cursor:pointer; }.city-directory-filter button[hidden] { display:none; }.city-directory-alphabet { display:flex; flex-wrap:wrap; gap:7px; margin:28px 0 14px; }.city-directory-alphabet a { display:grid; width:36px; height:36px; place-items:center; color:var(--violet-800); background:#fff; border:1px solid var(--line); border-radius:11px; font-size:13px; font-weight:850; }.city-directory-alphabet a:hover { color:#fff; background:var(--violet-700); border-color:var(--violet-700); }.city-directory-browser.is-filtering .city-directory-alphabet { display:none; }.city-directory-browser__count { margin:0 0 24px; color:var(--muted); font-size:14px; }.city-directory-groups { display:grid; gap:30px; }.city-directory-group { display:grid; grid-template-columns:72px minmax(0,1fr); align-items:start; gap:22px; scroll-margin-top:20px; content-visibility:auto; contain-intrinsic-size:420px; }.city-directory-browser.is-filtering .city-directory-group { content-visibility:visible; contain-intrinsic-size:auto; }.city-directory-group[hidden] { display:none; }.city-directory-group>header { display:grid; justify-items:center; gap:6px; position:sticky; top:16px; }.city-directory-group>header>span { display:grid; width:54px; height:54px; place-items:center; color:#fff; background:var(--violet-800); border-radius:18px; font-size:25px; font-weight:850; }.city-directory-group>header>small { color:var(--muted); font-size:11px; }.city-directory--compact { grid-template-columns:repeat(4,minmax(0,1fr)); }.city-directory--compact a { min-height:70px; padding:13px 14px; border-radius:15px; }.city-directory-empty { margin-top:26px; }.city-directory-empty[hidden] { display:none; }
.service-contact { padding:0 0 105px; }
.service-contact__inner { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; padding:54px; color:#fff; background:var(--violet-600); border-radius:40px; box-shadow:0 24px 60px rgba(128,87,155,.18); }
.service-contact__inner>div:first-child>span { color:rgba(255,255,255,.9); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.15em; }
.service-contact h2 { max-width:650px; margin:15px 0; font-size:clamp(38px,4.5vw,58px); }
.service-contact p { max-width:570px; margin:0; color:rgba(255,255,255,.9); }
.messenger-links { display:grid; gap:9px; }
.messenger-links a { display:grid; grid-template-columns:52px minmax(0,1fr) auto; align-items:center; gap:13px; min-height:68px; padding:7px 15px 7px 7px; color:var(--ink); background:#fff; border:1px solid rgba(255,255,255,.4); border-radius:19px; }
.messenger-links img { width:52px; height:52px; border-radius:15px; }
.messenger-links a>span { display:grid; }.messenger-links small { color:var(--muted); font-size:10px; }.messenger-links a>b { color:var(--violet-700); }
.account-page { overflow:hidden; }
.account-hero { position:relative; padding:65px 0 82px; background:radial-gradient(circle at 85% 8%,rgba(128,87,155,.13),transparent 28%),#fdfbf9; border-bottom:1px solid var(--line); }
.account-hero__inner { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); align-items:center; gap:70px; }
.account-hero .product-breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:36px; color:var(--muted); font-size:12px; }
.account-hero h1 { max-width:900px; margin:22px 0 18px; font-size:clamp(52px,6vw,80px); }
.account-hero__inner>div:first-child>p { max-width:720px; margin:0; color:var(--muted); font-size:19px; }
.account-hero__art { position:relative; display:grid; min-height:310px; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:22px; overflow:hidden; padding:38px; color:var(--violet-700); background:linear-gradient(145deg,#fbf8fc,#eee6f4); border:1px solid #ded1e6; border-radius:34px; box-shadow:0 24px 60px rgba(88,59,99,.12); }
.account-hero__art::before,.account-hero__art::after { content:""; position:absolute; width:230px; height:230px; border:1px solid rgba(128,87,155,.2); border-radius:50%; transform:rotate(32deg) scaleY(.55); }
.account-hero__art::after { transform:rotate(-37deg) scaleY(.55); }
.account-hero__art>.ui-icon { position:relative; z-index:2; width:96px; height:96px; stroke-width:1.2; }
.account-hero__art>.account-oauth-avatar { position:relative; z-index:2; width:112px; height:112px; padding:5px; object-fit:cover; background:#fff; border:1px solid rgba(128,87,155,.22); border-radius:50%; box-shadow:0 14px 34px rgba(72,44,83,.18); }
.account-hero__identity { position:relative; z-index:2; display:grid; min-width:0; }.account-hero__identity>span { color:var(--muted); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }.account-hero__identity>strong { overflow:hidden; margin-top:7px; color:var(--ink); font-size:clamp(20px,2vw,28px); line-height:1.06; text-overflow:ellipsis; white-space:nowrap; }.account-hero__identity>small { overflow:hidden; margin-top:8px; color:var(--muted); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.account-hero__art>b { position:absolute; z-index:2; right:24px; bottom:22px; display:grid; font-size:30px; font-weight:820; line-height:.9; letter-spacing:-.05em; }.account-hero__art>b small { margin-top:7px; font-size:8px; text-transform:uppercase; letter-spacing:.13em; }
.account-shell { padding-top:42px; padding-bottom:110px; }
.account-notice { display:flex; align-items:center; gap:11px; margin-bottom:22px; padding:15px 18px; border:1px solid; border-radius:16px; font-size:14px; font-weight:720; }
.account-notice .ui-icon { width:20px; height:20px; }
.account-notice--success { color:#315d39; background:#f0f8f1; border-color:#cfe3d2; }.account-notice--error { color:#8b2f5e; background:#fff2f6; border-color:#f1cfdb; }
.account-oauth { display:grid; grid-template-columns:minmax(245px,.6fr) minmax(0,1.4fr); align-items:center; gap:20px 34px; margin-bottom:18px; padding:25px 28px; background:linear-gradient(135deg,#fbf8fc,#fff); border:1px solid var(--line); border-radius:28px; box-shadow:0 14px 42px rgba(64,43,72,.055); }.account-oauth>header>span { color:var(--violet-600); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.14em; }.account-oauth h2 { margin:6px 0 5px; font-size:27px; }.account-oauth>header>p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }.account-oauth__buttons { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }.account-oauth-button { display:flex; min-width:0; min-height:62px; align-items:center; gap:10px; padding:9px 11px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:18px; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }.account-oauth-button[href]:hover { transform:translateY(-2px); border-color:var(--violet-300); box-shadow:0 10px 24px rgba(62,42,70,.09); }.account-oauth-button>img { width:40px; height:40px; flex:0 0 40px; object-fit:contain; border-radius:12px; }.account-oauth-button>span { display:grid; min-width:0; }.account-oauth-button b { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.account-oauth-button small { margin-top:3px; color:var(--muted); font-size:9px; }.account-oauth-button>i { display:grid; width:22px; height:22px; flex:0 0 22px; place-items:center; margin-left:auto; color:#fff; background:#5b9064; border-radius:50%; font-size:11px; font-style:normal; }.account-oauth-button.is-unavailable { opacity:.42; cursor:not-allowed; filter:saturate(.45); }.account-oauth__consent { grid-column:2; color:var(--muted); font-size:9px; line-height:1.45; }.account-oauth__consent a { color:var(--violet-700); text-decoration:underline; text-underline-offset:2px; }.account-oauth--connections { display:grid; grid-template-columns:1fr; gap:17px; margin:0; padding:24px; background:#fff; border-radius:27px; box-shadow:none; }.account-oauth--connections h2 { font-size:27px; }.account-oauth--connections .account-oauth__buttons { grid-template-columns:1fr; gap:10px; }.account-oauth--connections .account-oauth-button { min-height:66px; padding:11px 13px; }.account-oauth--connections .account-oauth-button>img { width:40px; height:40px; flex-basis:40px; }.account-oauth--connections .account-oauth-button b { overflow:visible; text-overflow:clip; white-space:normal; }.account-oauth--connections .account-oauth-button>i { width:24px; height:24px; flex-basis:24px; box-shadow:0 0 0 4px #edf6ef; }
.account-auth-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:18px; align-items:start; }
.account-card { padding:30px; background:#fff; border:1px solid var(--line); border-radius:30px; box-shadow:0 16px 48px rgba(64,43,72,.06); }
.account-form { display:grid; gap:16px; }
.account-form>header { display:flex; align-items:center; gap:14px; margin-bottom:5px; padding-bottom:21px; border-bottom:1px solid var(--line); }
.account-form>header>.ui-icon { width:42px; height:42px; padding:9px; color:#fff; background:var(--violet-600); border-radius:13px; }
.account-form>header div { display:grid; }.account-form>header span { color:var(--violet-600); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.13em; }.account-form h2 { margin:4px 0 0; font-size:28px; }
.account-form>label>span,.account-form__grid label>span,.account-profile label>span { display:block; margin-bottom:6px; color:var(--muted); font-size:12px; font-weight:750; }
.account-form input,.account-profile input { width:100%; min-height:50px; padding:0 14px; background:#fff; border:1px solid var(--line); border-radius:14px; outline:0; }
.account-form input:focus,.account-profile input:focus { border-color:var(--violet-500); box-shadow:0 0 0 3px rgba(128,87,155,.1); }
.account-form input:disabled,.account-profile input:disabled { background:var(--violet-075); }
.account-form__grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.account-form__row { display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:12px; }.account-form__row>a { color:var(--violet-700); font-weight:750; }
.account-check { display:flex!important; align-items:flex-start; gap:9px; color:var(--muted); font-size:12px; line-height:1.45; cursor:pointer; }.account-check input { width:18px; min-height:18px; flex:0 0 18px; margin:1px 0 0; padding:0; accent-color:var(--violet-600); }.account-check>span { margin:0!important; }.account-check a { color:var(--violet-700); text-decoration:underline; text-underline-offset:2px; }
.account-form>.button { width:100%; margin-top:3px; }
.account-benefits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:18px; }
.account-benefits article { min-height:205px; padding:26px; background:var(--violet-075); border:1px solid var(--line); border-radius:25px; }.account-benefits article:nth-child(2) { background:#fff; }.account-benefits article:nth-child(3) { background:var(--berry-soft); }
.account-benefits .ui-icon { width:32px; height:32px; color:var(--violet-600); }.account-benefits h3 { margin:35px 0 10px; font-size:22px; }.account-benefits p { margin:0; color:var(--muted); font-size:14px; }
.account-benefits article:nth-child(3) p { color:var(--violet-900); }
.account-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto; gap:12px; margin-bottom:22px; }
.account-summary>div { display:grid; min-height:105px; padding:17px 20px; background:#fff; border:1px solid var(--line); border-radius:21px; }.account-summary>div span { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:12px; font-weight:700; }.account-summary>div .ui-icon { width:17px; height:17px; color:var(--violet-600); }.account-summary>div strong { margin-top:auto; font-size:31px; }
.account-summary>a { display:flex; min-width:120px; align-items:center; justify-content:center; gap:8px; color:var(--muted); background:var(--violet-075); border:1px solid var(--line); border-radius:21px; font-size:13px; font-weight:750; }.account-summary>a .ui-icon { width:18px; height:18px; }
.account-summary>div.account-summary__bonus { color:#fff; background:linear-gradient(135deg,var(--violet-700),#a66d9c); border-color:transparent; }.account-summary>div.account-summary__bonus span,.account-summary>div.account-summary__bonus .ui-icon { color:#fff; }.account-summary>div.account-summary__bonus span { opacity:.78; }
.account-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; align-items:start; gap:22px; }
.account-section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:20px; }.account-section-heading>div span,.account-profile>span { color:var(--violet-600); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.14em; }.account-section-heading h2,.account-profile h2 { margin:7px 0 0; font-size:38px; }
.account-orders { min-width:0; }.account-orders>.button { flex:0 0 auto; }
.account-empty { display:grid; min-height:390px; place-items:center; align-content:center; padding:40px; background:#fff; border:1px solid var(--line); border-radius:28px; text-align:center; }.account-empty>.ui-icon { width:64px; height:64px; color:var(--violet-300); stroke-width:1.2; }.account-empty h3 { margin:16px 0 8px; font-size:30px; }.account-empty p { max-width:460px; color:var(--muted); }.account-empty .button { margin-top:8px; }
.account-order { overflow:hidden; margin-bottom:12px; background:#fff; border:1px solid var(--line); border-radius:24px; }
.account-order>summary { display:grid; min-height:94px; grid-template-columns:minmax(150px,1fr) auto auto 24px; align-items:center; gap:18px; padding:17px 22px; cursor:pointer; list-style:none; }.account-order>summary::-webkit-details-marker { display:none; }.account-order>summary>div { display:grid; }.account-order>summary small { color:var(--muted); font-size:10px; }.account-order>summary strong { margin-top:4px; font-size:19px; }.account-order>summary>b { font-size:17px; white-space:nowrap; }.account-order>summary>.ui-icon { width:20px; height:20px; color:var(--violet-600); transition:transform .2s ease; }.account-order[open]>summary>.ui-icon { transform:rotate(90deg); }
.account-status { display:inline-flex; min-height:30px; align-items:center; padding:0 11px; color:var(--status-color); background:color-mix(in srgb,var(--status-color) 9%,#fff); border:1px solid color-mix(in srgb,var(--status-color) 22%,#fff); border-radius:999px; font-size:11px; font-weight:800; white-space:nowrap; }
.account-order__body { padding:0 22px 24px; border-top:1px solid var(--line); }
.account-order__option { display:flex; align-items:flex-start; gap:10px; margin:16px 0 0; padding:11px 13px; color:var(--ink); background:var(--violet-075); border:1px solid var(--line); border-radius:14px; }.account-order__option .ui-icon { flex:0 0 auto; width:34px; height:34px; padding:8px; color:var(--violet-700); background:#fff; border-radius:10px; }.account-order__option span { display:grid; gap:3px; }.account-order__option b { font-size:12px; }.account-order__option small { color:var(--muted); font-size:11px; line-height:1.45; }
.account-progress { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:25px 0; }.account-progress>span { position:relative; display:grid; justify-items:center; gap:8px; color:var(--muted); text-align:center; }.account-progress>span::before { content:""; position:absolute; z-index:0; width:100%; height:2px; top:13px; right:50%; background:var(--line); }.account-progress>span:first-child::before { display:none; }.account-progress i { position:relative; z-index:1; display:grid; width:28px; height:28px; place-items:center; background:#fff; border:2px solid var(--line); border-radius:50%; font-style:normal; }.account-progress i .ui-icon { width:13px; height:13px; }.account-progress small { max-width:100px; font-size:9px; line-height:1.3; }.account-progress>span.is-done { color:var(--violet-700); font-weight:750; }.account-progress>span.is-done::before,.account-progress>span.is-done i { background:var(--violet-600); border-color:var(--violet-600); }.account-progress>span.is-done i { color:#fff; }.account-progress.is-cancelled { display:none; }
.account-order__grid { display:grid; grid-template-columns:1.15fr .85fr; gap:28px; padding-top:6px; }.account-order__grid h3 { margin:0 0 14px; font-size:20px; }
.account-order__products article { display:grid; min-width:0; grid-template-columns:66px minmax(0,1fr) auto; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); }.account-order__products article>img,.account-order__products article>.ui-icon { width:66px; height:72px; padding:4px; object-fit:contain; object-position:center; background:#fff; border:1px solid var(--line); border-radius:12px; }.account-order__products article>div { display:grid; min-width:0; }.account-order__products article a { overflow-wrap:anywhere; font-size:13px; font-weight:780; }.account-order__products article small { margin-top:4px; color:var(--muted); font-size:10px; }.account-order__products article>strong { font-size:12px; white-space:nowrap; }.account-order__products footer { display:grid; grid-template-columns:1fr auto; gap:7px; padding-top:15px; font-size:12px; }.account-order__products footer span { color:var(--muted); }.account-order__products footer b:last-child { color:var(--violet-700); font-size:17px; }
.account-order__line-price { display:grid; justify-items:end; gap:2px; white-space:nowrap; }.account-order__line-price del { color:var(--muted); font-size:10px; text-decoration-color:var(--berry); }.account-order__line-price strong { font-size:12px; }.account-order__products footer .is-saving { color:#4f7d46; }
.account-order__details dl { display:grid; gap:8px; margin:0 0 24px; }.account-order__details dl>div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:12px; padding-bottom:7px; border-bottom:1px dashed var(--line); font-size:12px; }.account-order__details dt { color:var(--muted); }.account-order__details dd { margin:0; font-weight:700; }
.account-order__history { display:grid; gap:12px; margin:0; padding:0; list-style:none; }.account-order__history li { display:grid; grid-template-columns:12px minmax(0,1fr); gap:9px; }.account-order__history li>i { width:9px; height:9px; margin-top:4px; background:var(--violet-600); border:2px solid #fff; border-radius:50%; box-shadow:0 0 0 1px var(--violet-300); }.account-order__history li>div { display:grid; }.account-order__history strong { font-size:12px; }.account-order__history p { margin:3px 0; color:var(--muted); font-size:11px; }.account-order__history small { color:var(--muted); font-size:9px; }
.account-side { position:sticky; top:24px; display:grid; gap:14px; }.account-profile { padding:26px; background:var(--violet-075); border:1px solid var(--line); border-radius:27px; }.account-profile>p { color:var(--muted); font-size:13px; }.account-profile form { display:grid; gap:14px; margin-top:21px; }.account-profile label small { display:block; margin-top:5px; color:var(--muted); font-size:9px; }.account-profile .button { width:100%; }.account-profile__security { overflow:hidden; border:1px solid var(--line); border-radius:15px; background:#fff; }.account-profile__security summary { display:flex; align-items:center; gap:8px; padding:13px 14px; color:var(--violet-700); cursor:pointer; font-size:12px; font-weight:800; list-style:none; }.account-profile__security summary::-webkit-details-marker { display:none; }.account-profile__security summary::after { content:"+"; margin-left:auto; font-size:18px; line-height:1; }.account-profile__security[open] summary::after { content:"−"; }.account-profile__security summary .ui-icon { width:16px; height:16px; }.account-profile__security label { display:block; padding:0 13px 13px; }.account-profile__security label+label { padding-top:0; }
.account-bonus-card { position:relative; overflow:hidden; padding:25px; color:#fff; background:linear-gradient(145deg,var(--violet-800),#a86f9d); border-radius:27px; box-shadow:0 18px 45px rgba(91,56,111,.18); }.account-bonus-card::after { content:""; position:absolute; width:150px; height:150px; right:-55px; bottom:-65px; border:1px solid rgba(255,255,255,.24); border-radius:50%; }.account-bonus-card>.ui-icon { width:38px; height:38px; padding:8px; background:rgba(255,255,255,.13); border-radius:12px; }.account-bonus-card>span { display:block; margin-top:20px; font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.14em; opacity:.76; }.account-bonus-card>strong { display:flex; align-items:end; gap:7px; margin-top:3px; font-size:42px; line-height:1; }.account-bonus-card>strong small { padding-bottom:5px; font-size:13px; }.account-bonus-card p { margin:14px 0; font-size:13px; line-height:1.55; opacity:.86; }.account-bonus-card>a { position:relative; z-index:1; display:flex; align-items:center; gap:7px; font-size:13px; font-weight:800; }.account-bonus-card>a .ui-icon { width:15px; height:15px; }
.checkout-account-note { display:flex; align-items:center; gap:9px; margin:-8px 0 17px; padding:11px 13px; color:var(--muted); background:var(--violet-075); border:1px solid var(--line); border-radius:13px; font-size:12px; line-height:1.45; }.checkout-account-note .ui-icon { width:18px; height:18px; flex:0 0 auto; color:var(--violet-600); }.checkout-account-note a { color:var(--violet-700); font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.checkout-important-notice { display:flex; align-items:flex-start; gap:10px; margin:0 0 17px; padding:13px 15px; color:#6d3b20; background:#fff7e9; border:1px solid #efd9b4; border-radius:14px; font-size:12px; line-height:1.48; }.checkout-important-notice .ui-icon { width:20px; height:20px; flex:0 0 20px; color:#b76835; }.checkout-important-notice span { display:grid; gap:2px; }.checkout-important-notice strong { font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.page-hero { padding:90px 0 45px; background:var(--violet-075); }
.page-hero h1 { max-width:950px; margin:20px 0 14px; font-size:clamp(48px,7vw,86px); }
.page-hero p,.term-lead { max-width:720px; color:var(--muted); font-size:18px; }
.catalog-hero { padding-bottom:40px; }
.catalog-hero__layout { display:grid; grid-template-columns:minmax(0,.92fr) minmax(500px,.78fr); align-items:center; gap:78px; }
.catalog-hero__copy { min-width:0; }
.catalog-hero__visual { display:grid; height:370px; grid-template-columns:1.18fr .82fr; grid-template-rows:repeat(2,minmax(0,1fr)); gap:12px; }
.catalog-hero__spotlight { position:relative; min-width:0; overflow:hidden; background:#fff; border:7px solid rgba(255,255,255,.88); border-radius:30px 14px 30px 14px; box-shadow:0 22px 54px rgba(67,43,78,.12); }
.catalog-hero__spotlight:first-child { grid-row:1/3; }
.catalog-hero__spotlight img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.catalog-hero__spotlight:hover img { transform:scale(1.035); }
.catalog-hero__spotlight>span { position:absolute; right:12px; bottom:12px; left:12px; display:grid; gap:3px; padding:12px 14px; color:#fff; background:rgba(45,27,56,.62); border:1px solid rgba(255,255,255,.28); border-radius:17px 8px 17px 8px; backdrop-filter:blur(14px); }
.catalog-hero__spotlight strong { font-size:17px; line-height:1.1; }
.catalog-hero__spotlight small { color:rgba(255,255,255,.78); font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.08em; }
.catalog-hero__skip { display:inline-flex; align-items:center; gap:8px; margin-top:24px; color:var(--violet-700); font-size:13px; font-weight:800; }.catalog-hero__skip .ui-icon { width:16px; height:16px; transition:transform .2s ease; }.catalog-hero__skip:hover .ui-icon { transform:translateX(3px); }
.archive-page-context { padding:32px 0 30px; }.archive-page-context .breadcrumbs { margin-bottom:20px; }.archive-page-context__row { display:flex; align-items:end; justify-content:space-between; gap:36px; }.archive-page-context__row>div { min-width:0; }.archive-page-context h1 { max-width:none; margin:13px 0 10px; font-size:clamp(38px,4.2vw,58px); }.archive-page-context h1 span { display:inline-flex; vertical-align:middle; margin-left:8px; padding:7px 11px; color:var(--violet-700); background:#fff; border:1px solid var(--line); border-radius:999px; font-size:12px; font-weight:850; letter-spacing:.03em; white-space:nowrap; }.archive-page-context p { max-width:760px; margin:0; font-size:15px; line-height:1.55; }.archive-page-context__back { display:inline-flex; flex:0 0 auto; align-items:center; gap:9px; min-height:48px; padding:0 18px; color:var(--violet-700); background:#fff; border:1px solid var(--line); border-radius:15px; box-shadow:0 12px 28px rgba(74,45,86,.07); font-size:13px; font-weight:850; cursor:pointer; }.archive-page-context__back .ui-icon { width:17px; height:17px; transition:transform .2s ease; }.archive-page-context__back:hover .ui-icon { transform:translateX(3px); }
.subcategories { padding:34px 0 0; }
.category-subcategories header { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:22px; }.category-subcategories header>div>span { color:var(--violet-600); font-size:12px; font-weight:850; text-transform:uppercase; letter-spacing:.13em; }.category-subcategories h2 { margin:6px 0 0; font-size:32px; }.category-subcategories header>p { max-width:560px; margin:0; color:var(--muted); font-size:15px; line-height:1.55; }.category-subcategories__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }.category-subcategory-card { position:relative; display:grid; min-width:0; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:0 12px 34px rgba(64,43,72,.045); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }.category-subcategory-card:hover { transform:translateY(-3px); border-color:var(--violet-300); box-shadow:0 20px 42px rgba(64,43,72,.1); }.category-subcategory-card__media { position:relative; aspect-ratio:1.42; overflow:hidden; margin:0; background:linear-gradient(145deg,#fff,var(--violet-075)); border-bottom:1px solid var(--line); }.category-subcategory-card__media img { width:100%; height:100%; object-fit:contain; transition:transform .35s ease; }.category-subcategory-card__media--story { aspect-ratio:4/3; }.category-subcategory-card__media--story img { object-fit:cover; }.category-subcategory-card:hover .category-subcategory-card__media img { transform:scale(1.025); }.category-subcategory-card__media>span { display:grid; width:100%; height:100%; place-items:center; color:var(--violet-500); }.category-subcategory-card__media>span .ui-icon { width:42px; height:42px; }.category-subcategory-card__media>b { position:absolute; top:10px; right:10px; min-width:31px; height:31px; display:grid; place-items:center; padding:0 9px; color:#fff; background:rgba(46,33,53,.78); border:1px solid rgba(255,255,255,.28); border-radius:999px; backdrop-filter:blur(8px); font-size:11px; }.category-subcategory-card__body { display:grid; min-width:0; padding:17px 48px 18px 17px; }.category-subcategory-card__body strong { overflow:hidden; font-size:18px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }.category-subcategory-card__body small { margin-top:6px; color:var(--muted); font-size:12px; }.category-subcategory-card__body em { width:max-content; margin-top:12px; padding:7px 10px; color:var(--violet-800); background:var(--violet-075); border:1px solid var(--line); border-radius:999px; font-size:13px; font-style:normal; font-weight:850; }.category-subcategory-card__arrow { position:absolute; right:15px; bottom:18px; display:grid; width:31px; height:31px; place-items:center; color:var(--violet-700); background:#fff; border:1px solid var(--line); border-radius:50%; transition:.2s ease; }.category-subcategory-card:hover .category-subcategory-card__arrow { color:#fff; background:var(--violet-600); border-color:var(--violet-600); }.category-subcategory-card__arrow .ui-icon { width:16px; height:16px; }.category-subcategories__toggle { display:flex; align-items:center; gap:8px; margin:18px auto 0; padding:11px 17px; color:var(--violet-700); background:#fff; border:1px solid var(--line); border-radius:999px; font-size:13px; font-weight:800; cursor:pointer; }.category-subcategories__toggle .ui-icon { width:16px; height:16px; transition:transform .2s ease; }.category-subcategories__toggle[aria-expanded="true"] .ui-icon { transform:rotate(45deg); }
.category-subcategories+.catalog-section { padding-top:64px; }
article.single-product { padding:34px 0 0; }
.product-breadcrumbs { margin-bottom:28px; }
.product-layout { display:grid; grid-template-columns:1.05fr .95fr; align-items:start; gap:70px; }
.product-media-wrap { position:sticky; top:24px; min-width:0; align-self:start; }
.product-media { position:relative; overflow:hidden; min-height:0; aspect-ratio:1; background:#fff; border:1px solid var(--line); border-radius:var(--radius-xl); box-shadow:0 18px 55px rgba(64,43,72,.055); }
.product-media img { width:100%; height:100%; object-fit:contain; }
.product-media__zoom { display:block; width:100%; height:100%; padding:0; overflow:hidden; background:#fff; border:0; cursor:zoom-in; }
.product-media__zoom>span { position:absolute; left:18px; bottom:18px; display:inline-flex; align-items:center; gap:7px; padding:9px 12px; color:var(--ink); background:rgba(255,255,255,.94); border:1px solid var(--line); border-radius:999px; box-shadow:0 8px 22px rgba(52,32,71,.08); font-size:10px; font-weight:850; transition:.2s ease; }
.product-media__zoom>span .ui-icon { width:15px; height:15px; color:var(--violet-700); }
.product-media__zoom:hover>span { color:#fff; background:var(--violet-700); border-color:var(--violet-700); }.product-media__zoom:hover>span .ui-icon { color:#fff; }
.product-media__favorite { position:absolute; z-index:2; top:18px; right:18px; display:grid; width:46px; height:46px; place-items:center; padding:0; color:var(--violet-800); background:rgba(255,255,255,.92); border:1px solid var(--line); border-radius:50%; box-shadow:0 12px 28px rgba(52,32,71,.12); cursor:pointer; }
.product-media__favorite .ui-icon { width:23px; height:23px; }
.product-media__favorite.is-active { color:#fff; background:var(--berry); border-color:var(--berry); }
.product-media__favorite.is-active .ui-icon { fill:currentColor; }
.product-gallery-thumbs { display:flex; gap:9px; margin-top:11px; overflow:auto; scrollbar-width:thin; }
.product-gallery-thumbs button { width:74px; height:74px; flex:0 0 74px; padding:3px; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:17px; cursor:pointer; transition:.2s ease; }
.product-gallery-thumbs button.is-active { border-color:var(--violet-600); box-shadow:0 0 0 2px rgba(128,87,155,.13); }
.product-gallery-thumbs img { width:100%; height:100%; padding:3px; object-fit:contain; object-position:center; background:#fff; border-radius:13px; }
.product-photo-note { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:11px; padding:15px 19px; color:var(--muted); background:var(--violet-075); border:1px solid rgba(128,87,155,.08); border-radius:18px; font-size:11px; }
.product-photo-note span { color:var(--violet-700); font-weight:850; text-transform:uppercase; letter-spacing:.07em; }
.product-photo-note p { max-width:290px; margin:0; text-align:right; }
.product-info { position:static; padding:28px 0; }
.product-status-row { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.product-availability { display:inline-flex; align-items:center; gap:8px; color:#536c46; font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }
.product-availability i { width:8px; height:8px; background:#7a9b68; border-radius:50%; box-shadow:0 0 0 5px rgba(112,128,94,.12); }
.product-rating { color:var(--violet-700); font-size:11px; font-weight:800; }
.product-rating span { letter-spacing:.08em; }
.product-status-note { color:var(--muted); font-size:12px; font-weight:700; }
.product-info h1 { margin:24px 0 18px; font-size:clamp(38px,4.2vw,58px); }
.product-excerpt { color:var(--muted); font-size:18px; }
.product-variant-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:28px 0 10px; }
.product-variant-heading>div { display:grid; }
.product-variant-heading span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.product-variant-heading strong { margin-top:4px; font-size:17px; }
.product-variant-heading small { max-width:190px; color:var(--muted); font-size:10px; text-align:right; }
.variant-list { margin:0 0 24px; border-top:1px solid var(--line); }
.variant-row { display:flex; justify-content:space-between; padding:13px 0; border-bottom:1px solid var(--line); }
.variant-row:has(input) { align-items:center; cursor:pointer; }
.variant-row input { width:18px; height:18px; margin:0 12px 0 0; accent-color:var(--violet-700); }
.variant-row>span { display:flex; flex:1 1 auto; min-width:0; align-items:center; }
.variant-row>span>span { display:grid; min-width:0; }
.variant-row small { margin-top:2px; color:var(--muted); font-size:10px; }
.variant-row>b { display:grid; flex:0 0 auto; min-width:max-content; justify-items:end; gap:2px; margin-left:12px; font-size:15px; white-space:nowrap; }.variant-row>b strong { color:var(--violet-800); }
.product-option-selector { display:grid; gap:16px; margin:0 0 24px; padding:20px; background:linear-gradient(145deg,#fff,var(--violet-075)); border:1px solid var(--line); border-radius:22px; }.product-option-selector>header { display:grid; gap:3px; }.product-option-selector>header span { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }.product-option-selector>header strong { font-size:17px; }.product-option-selector fieldset { min-width:0; margin:0; padding:0; border:0; }.product-option-selector legend { margin-bottom:9px; color:var(--muted); font-size:12px; }.product-option-selector legend strong { color:var(--ink); }
.product-option-choices { display:flex; flex-wrap:wrap; gap:8px; }.product-option-choice { position:relative; cursor:pointer; }.product-option-choice input { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }.product-option-choice>span { display:flex; min-height:42px; align-items:center; gap:8px; padding:8px 12px; background:#fff; border:1px solid var(--line); border-radius:13px; transition:.18s ease; }.product-option-choice i,.quick-order__option-choice i { width:20px; height:20px; flex:0 0 20px; background:var(--option-swatch,#fff); border:2px solid #fff; border-radius:50%; box-shadow:0 0 0 1px rgba(42,33,46,.18); }.product-option-choice b { font-size:12px; }.product-option-choice small { color:var(--violet-700); font-size:10px; font-weight:800; }.product-option-choice input:checked+span { color:var(--violet-800); border-color:var(--violet-600); box-shadow:0 0 0 2px rgba(128,87,155,.12); }.product-option-choice input:focus-visible+span { outline:2px solid var(--violet-700); outline-offset:2px; }.product-option-choices.is-buttons .product-option-choice>span { min-width:42px; justify-content:center; }
.product-composition { margin:0 0 30px; }
.product-composition span { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.product-composition p { margin:8px 0 0; }
.product-buy { margin-top:30px; padding:24px; background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); box-shadow:0 15px 45px rgba(52,32,71,.06); }
.product-buy__price { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.product-buy__price span { color:var(--muted); font-size:13px; }
.product-buy__price strong { font-size:27px; letter-spacing:-.04em; }
.product-buy__price-values { justify-items:end; }.product-buy__price-values del { font-size:13px; }.product-buy__price-values strong { color:var(--violet-800); }
.product-buy__actions { display:flex; flex-wrap:wrap; gap:10px; }
.product-buy>small { display:block; margin-top:13px; color:var(--muted); font-size:10px; text-align:center; }
.product-buy__bonus { display:flex; align-items:center; gap:9px; margin:14px 0 0; padding:11px 13px; color:var(--violet-800); background:var(--violet-075); border:1px solid var(--line); border-radius:14px; font-size:12px; line-height:1.45; }.product-buy__bonus .ui-icon { flex:0 0 auto; width:19px; height:19px; color:var(--berry); }.product-buy__bonus strong { font-size:inherit; }
.product-assurance { display:grid; gap:8px; margin-top:18px; }
.product-assurance>div { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:11px; padding:11px 14px; background:rgba(255,255,255,.65); border:1px solid var(--line); border-radius:15px; }
.product-assurance i { display:grid; width:28px; height:28px; place-items:center; color:var(--violet-600); background:var(--violet-075); border-radius:50%; font-size:9px; font-style:normal; font-weight:900; }
.product-assurance span { display:grid; }
.product-assurance strong { font-size:12px; }
.product-assurance small { margin-top:1px; color:var(--muted); font-size:10px; }
.product-details { padding-top:110px; }
.product-section-heading>span { color:var(--violet-600); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.16em; }
.product-section-heading h2 { margin:12px 0 32px; font-size:clamp(36px,4.5vw,58px); }
.product-details__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.product-details details { background:#fff; border:1px solid var(--line); border-radius:22px; }
.product-details summary { display:grid; grid-template-columns:30px minmax(0,1fr) 24px; align-items:center; gap:10px; padding:20px; cursor:pointer; list-style:none; }
.product-details summary::-webkit-details-marker { display:none; }
.product-details summary>span { color:var(--violet-300); font-size:10px; font-weight:900; }
.product-details summary>strong { font-size:14px; }
.product-details summary>i { display:grid; width:24px; height:24px; place-items:center; color:var(--violet-700); background:var(--violet-075); border-radius:50%; font-style:normal; transition:transform .2s ease; }
.product-details details[open] summary>i { transform:rotate(45deg); }
.product-details__content { padding:0 20px 20px 60px; color:var(--muted); font-size:13px; }
.product-details__content p:last-child { margin-bottom:0; }
.product-details__content ol { margin:0; padding-left:18px; }
.product-details__content li+li { margin-top:8px; }
.product-tabs { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:30px; box-shadow:0 22px 65px rgba(52,32,71,.07); }
.product-tabs__nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; padding:8px; background:var(--violet-075); border-bottom:1px solid var(--line); }
.product-tabs__nav button { min-height:54px; padding:10px 16px; color:var(--muted); background:transparent; border:0; border-radius:20px; font-size:14px; font-weight:800; cursor:pointer; transition:.2s ease; }
.product-tabs__nav button:hover { color:var(--violet-800); background:rgba(255,255,255,.65); }
.product-tabs__nav button[aria-selected="true"] { color:#fff; background:var(--violet-600); box-shadow:0 12px 28px rgba(128,87,155,.16); }
.product-tabs__panels { padding:38px; }
.product-tab-panel { animation:f365-tab-in .24s ease; }
.product-tab-panel.is-active { display:grid; }
.product-tab-panel:first-child { grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:42px; align-items:start; }
.product-tab-copy { max-width:780px; color:#463e49; font-size:17px; line-height:1.72; }
.product-tab-copy p:last-child { margin-bottom:0; }
.product-care-note { padding:27px; color:var(--ink); background:var(--berry-soft); border:1px solid rgba(214,92,130,.12); border-radius:24px; }
.product-care-note>span { display:block; margin-bottom:18px; color:#a43e61; font-size:12px; font-weight:850; text-transform:uppercase; letter-spacing:.1em; }
.product-care-note ol { display:grid; margin:0; padding:0; gap:13px; list-style:none; counter-reset:care; }
.product-care-note li { position:relative; padding-left:34px; color:var(--violet-900); font-size:14px; counter-increment:care; }
.product-care-note li::before { content:counter(care,decimal-leading-zero); position:absolute; left:0; top:0; color:var(--violet-700); font-size:10px; font-weight:900; }
.product-tab-intro { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1fr); gap:30px; align-items:end; margin-bottom:28px; }
.product-tab-intro h3 { margin:0; font-size:32px; }
.product-tab-intro p { margin:0; color:var(--muted); font-size:16px; }
.product-size-guide { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.product-size-guide article { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:14px; padding:18px; background:var(--violet-075); border:1px solid rgba(52,32,71,.07); border-radius:20px; }
.product-size-guide article>span { display:grid; width:40px; height:40px; place-items:center; color:#fff; background:var(--violet-700); border-radius:50%; font-size:13px; font-weight:900; }
.product-size-guide article>div { display:grid; }
.product-size-guide article strong { font-size:15px; }
.product-size-guide article small { margin-top:3px; color:var(--muted); font-size:12px; }
.product-size-guide article b { font-size:16px; white-space:nowrap; }
.product-tab-footnote { margin:20px 0 0; color:var(--muted); font-size:13px; }
.product-order-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.product-order-steps article { min-height:210px; padding:24px; background:var(--cream); border:1px solid var(--line); border-radius:22px; }
.product-order-steps span { color:var(--violet-300); font-size:13px; font-weight:900; }
.product-order-steps h3 { margin:36px 0 10px; font-size:21px; }
.product-order-steps p { margin:0; color:var(--muted); font-size:14px; }
.product-delivery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.product-delivery-grid article { min-height:170px; padding:24px; background:var(--cream); border:1px solid var(--line); border-radius:22px; }
.product-delivery-grid span { color:var(--violet-600); font-size:12px; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.product-delivery-grid strong { display:block; margin:18px 0 8px; font-size:22px; }
.product-delivery-grid p { margin:0; color:var(--muted); font-size:14px; }
.product-delivery-grid p a { color:var(--violet-700); font-weight:800; text-decoration:underline; text-decoration-color:var(--violet-200); text-underline-offset:3px; }
.product-operational-grid { margin-top:22px; }.product-operational-grid article { min-height:145px; }
@keyframes f365-tab-in { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
.product-category-links { display:grid; grid-template-columns:190px minmax(0,1fr); align-items:start; gap:25px; margin-top:26px; padding:22px; background:var(--violet-075); border-radius:22px; }
.product-category-links>span { color:var(--violet-700); font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.product-category-links>div { display:flex; flex-wrap:wrap; gap:7px; }
.product-category-links a { padding:7px 10px; background:#fff; border:1px solid var(--line); border-radius:999px; font-size:10px; font-weight:750; }
.product-addons,.product-cross-sell,.product-related,.product-recent { padding-top:110px; }
.product-addons__heading>div { max-width:760px; }.product-addons__heading p { max-width:680px; margin:12px 0 0; color:var(--muted); font-size:15px; line-height:1.6; }.product-addon-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.product-addon-card { display:grid; min-width:0; grid-template-columns:132px minmax(0,1fr); overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:0 15px 38px rgba(61,38,72,.07); }.product-addon-card__media { display:grid; min-height:150px; place-items:center; padding:8px; background:#fff; border-right:1px solid var(--line); }.product-addon-card__media img { width:100%; height:100%; max-height:150px; object-fit:contain; }.product-addon-card__media>span { display:grid; width:58px; height:58px; place-items:center; color:var(--violet-600); background:var(--violet-075); border-radius:18px; }.product-addon-card__media .ui-icon { width:28px; height:28px; }.product-addon-card__body { display:flex; min-width:0; flex-direction:column; padding:17px 18px; }.product-addon-card__body>span { color:var(--berry); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }.product-addon-card h3 { margin:7px 0 13px; font-size:16px; line-height:1.35; }.product-addon-card h3 a { color:var(--ink); }.product-addon-card footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; }.product-addon-card footer strong { color:var(--ink); font-size:16px; white-space:nowrap; }.product-addon-card footer button { position:relative; display:inline-flex; min-height:40px; flex:0 0 auto; align-items:center; justify-content:center; gap:7px; overflow:hidden; padding:8px 13px; color:var(--violet-800); background:var(--violet-075); border:1px solid var(--violet-150); border-radius:999px; cursor:pointer; font-size:12px; font-weight:850; white-space:nowrap; }.product-addon-card footer button:hover,.product-addon-card footer button:focus-visible { color:#fff; background:var(--violet-700); border-color:var(--violet-700); }.product-addon-card footer button .ui-icon { position:static; display:block; width:16px; height:16px; flex:0 0 16px; }
.product-grid--compact .product-card__composition { -webkit-line-clamp:2; }
.recent-products { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.recent-card { display:grid; grid-template-columns:90px minmax(0,1fr); overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:18px; }
.recent-card__media { aspect-ratio:1; background:#fff; }
.recent-card__media img { width:100%; height:100%; object-fit:contain; }
.recent-card__body { display:flex; min-width:0; flex-direction:column; justify-content:center; padding:10px; }
.recent-card__body a { display:-webkit-box; overflow:hidden; font-size:12px; font-weight:750; line-height:1.32; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.recent-card__body strong { margin-top:7px; color:var(--violet-700); font-size:12px; }
.recent-card__price { margin-top:7px; }.recent-card__price strong { margin-top:0; }
.product-reviews { margin-top:110px; padding:100px 0 120px; background:var(--violet-075); }
.product-reviews__layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); align-items:start; gap:70px; }.product-reviews__copy,.product-review-form { min-width:0; }
.product-reviews__copy h2 { margin:16px 0 18px; font-size:clamp(40px,5vw,66px); }
.product-reviews__copy>p { max-width:620px; color:var(--muted); }
.product-reviews__summary { display:flex; align-items:center; gap:18px; margin:24px 0; }
.product-reviews__summary>strong { font-size:58px; }
.product-reviews__summary>span { display:grid; color:var(--violet-600); letter-spacing:.1em; }
.product-reviews__summary small { margin-top:3px; color:var(--muted); font-size:10px; letter-spacing:0; }
.product-review-list { display:grid; gap:10px; margin-top:28px; }
.product-review-list article { padding:18px; background:#fff; border:1px solid var(--line); border-radius:18px; }
.product-review-list header { display:flex; justify-content:space-between; gap:20px; }
.product-review-list header span { color:var(--violet-600); }
.product-review-list p { margin:10px 0; color:var(--muted); font-size:13px; }
.product-review-list time { color:var(--muted); font-size:9px; }
.product-review-list article>footer { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.review-verified-purchase { display:inline-flex; align-items:center; gap:4px; color:#4f7248; font-size:10px; font-weight:800; }.review-verified-purchase .ui-icon { width:14px; height:14px; }
.review-photos { display:flex; gap:8px; margin:12px 0; }
.review-photos button { width:72px; height:72px; padding:0; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:12px; cursor:zoom-in; }
.review-photos img { width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.review-photos button:hover img { transform:scale(1.05); }
.product-gallery-viewer { position:fixed; inset:0; width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; padding:12px 20px; color:#fff; background:rgba(20,13,24,.22); border:0; }.product-gallery-viewer::backdrop { background:rgba(20,13,24,.42); backdrop-filter:blur(5px); }.product-gallery-viewer[open] { display:grid; grid-template-columns:58px minmax(0,1fr) 58px; align-items:center; gap:20px; }.product-gallery-viewer[open].has-one-image { grid-template-columns:minmax(0,1fr); }.product-gallery-viewer figure { display:grid; width:100%; max-width:min(1440px,100%); max-height:calc(100dvh - 24px); justify-self:center; margin:0; place-items:center; }.product-gallery-viewer figure img { display:block; width:auto; max-width:100%; max-height:calc(100dvh - 52px); object-fit:contain; border-radius:20px; box-shadow:0 22px 70px rgba(10,5,14,.24); }.product-gallery-viewer figcaption { margin-top:8px; color:rgba(255,255,255,.94); font-size:12px; text-align:center; }.product-gallery-viewer__close,.product-gallery-viewer__arrow { display:grid; width:52px; height:52px; place-items:center; padding:0; color:#fff; background:rgba(34,21,40,.58); border:1px solid rgba(255,255,255,.32); border-radius:50%; cursor:pointer; }.product-gallery-viewer__close { position:absolute; z-index:2; top:12px; right:12px; }.product-gallery-viewer__arrow .ui-icon,.product-gallery-viewer__close .ui-icon { width:22px; height:22px; }.product-gallery-viewer.has-one-image .product-gallery-viewer__arrow { display:none; }
.product-review-form { display:grid; gap:14px; padding:32px; background:#fff; border:1px solid var(--line); border-radius:30px; box-shadow:var(--shadow); }
.product-review-form>span { color:var(--violet-600); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.14em; }
.product-review-form h3 { margin:0 0 6px; font-size:30px; }
.review-verification-note { display:flex; align-items:flex-start; gap:8px; margin:0 0 3px; padding:11px 12px; color:#52684c; background:#f2f7ef; border:1px solid #dae8d4; border-radius:12px; font-size:12px; line-height:1.45; }.review-verification-note .ui-icon { width:17px; height:17px; flex:0 0 17px; margin-top:1px; }
.product-review-form label>span,.product-review-form legend { display:block; margin-bottom:6px; color:var(--muted); font-size:10px; font-weight:750; }
.product-review-form input[type="text"],.product-review-form input[type="email"],.product-review-form input[type="tel"],.product-review-form input:not([type]),.product-review-form select,.product-review-form textarea { width:100%; padding:12px 14px; color:var(--ink); background:var(--cream); border:1px solid var(--line); border-radius:12px; outline:0; }.product-review-form label>span>small { color:var(--muted); font-size:.82em; font-weight:650; }.review-contact-grid:not(.has-contact) { grid-template-columns:1fr; }.review-contact-note { display:flex; align-items:flex-start; gap:9px; margin:-2px 0 0; padding:11px 12px; color:#5e5662; background:#faf7fb; border:1px solid var(--line); border-radius:12px; font-size:13px; line-height:1.45; }.review-contact-note .ui-icon { width:17px; height:17px; flex:0 0 17px; color:var(--violet-600); }.review-contact-note span { margin:0!important; }
.product-review-form fieldset { margin:0; padding:0; border:0; }
.review-rating-field { padding:16px!important; background:linear-gradient(135deg,var(--violet-075),#fff); border:1px solid var(--line)!important; border-radius:17px; }.review-rating-field>legend { width:auto; padding:0 6px; color:var(--ink); font-size:12px; font-weight:850; }.review-rating-field>p { margin:0 0 11px; color:var(--muted); font-size:11px; }.rating-choice { display:flex; flex-direction:row; justify-content:flex-start; gap:8px; }.rating-choice label { position:relative; cursor:pointer; }.rating-choice input { position:absolute; width:1px; height:1px; opacity:0; }.rating-choice span { display:grid; width:52px; height:52px; place-items:center; margin:0!important; color:var(--violet-300)!important; background:#fff; border:1px solid var(--line); border-radius:15px; box-shadow:0 7px 18px rgba(64,43,72,.05); transition:.18s ease; }.rating-choice span .ui-icon { width:27px; height:27px; fill:transparent; }.rating-choice label:hover span,.rating-choice label:has(~ label:hover) span,.rating-choice input:checked+span,.rating-choice label:has(~ label input:checked) span { color:#fff!important; background:linear-gradient(145deg,var(--berry),var(--violet-700)); border-color:transparent; box-shadow:0 10px 22px rgba(115,67,125,.2); transform:translateY(-2px); }.rating-choice label:hover span .ui-icon,.rating-choice label:has(~ label:hover) span .ui-icon,.rating-choice input:checked+span .ui-icon,.rating-choice label:has(~ label input:checked) span .ui-icon { fill:currentColor; }.rating-choice input:focus-visible+span { outline:3px solid rgba(128,87,155,.24); outline-offset:2px; }
.review-consent { display:flex; align-items:flex-start; gap:11px; padding:14px; color:var(--muted); background:var(--violet-50); border:1px solid var(--line); border-radius:15px; cursor:pointer; }
.review-consent input { width:19px; height:19px; flex:0 0 19px; margin-top:1px; accent-color:var(--violet-700); }
.review-consent span { margin:0!important; font-size:11px!important; line-height:1.5; }
.review-consent a { color:var(--violet-700); text-decoration:underline; text-underline-offset:2px; }
.review-photo-field { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px 12px; padding:13px; background:var(--cream); border:1px dashed var(--violet-300); border-radius:15px; }
.review-photo-field>input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.review-photo-field__trigger { display:block; margin:0; cursor:pointer; }.product-review-form label>.review-photo-field__button { display:inline-flex; min-height:43px; align-items:center; justify-content:center; gap:8px; margin:0; padding:0 14px; color:#fff; background:var(--violet-700); border-radius:11px; font-size:12px; font-weight:800; }.review-photo-field__button .ui-icon { width:18px; height:18px; }
.review-photo-field>small { color:var(--muted); font-size:11px; line-height:1.4; }
.review-photo-preview { position:relative; grid-column:1/-1; display:block; width:144px; height:144px; padding:5px; background:#fff; border:1px solid var(--line); border-radius:15px; }.review-photo-preview[hidden] { display:none; }.review-photo-preview img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; border-radius:10px; }.review-photo-preview button { position:absolute; top:8px; right:8px; display:grid; width:34px; height:34px; place-items:center; padding:0; color:#fff; background:rgba(52,32,71,.88); border:0; border-radius:10px; box-shadow:0 5px 14px rgba(52,32,71,.2); cursor:pointer; }.review-photo-preview button:hover { background:var(--berry); }.review-photo-preview button .ui-icon { width:17px; height:17px; }.review-photo-preview button span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.product-review-form .rating-choice span { display:grid; place-items:center; line-height:0; }
.review-status { margin:0; padding:10px 12px; border-radius:12px; font-size:11px; }
.review-status.is-success { color:#45613c; background:#eef6e9; }
.review-status.is-error { color:#7e2637; background:#fff0f3; }
.bouquet-finder { width:min(900px,calc(100% - 30px)); }
.bouquet-finder__shell { padding:40px; }
.bouquet-finder__lead { max-width:650px; margin:-10px 0 26px; color:var(--muted); }
.bouquet-finder__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.bouquet-finder__grid label { display:grid; gap:7px; }
.bouquet-finder__grid label>span { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.bouquet-finder__grid select { width:100%; min-height:52px; padding:0 14px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:14px; outline:0; }
.bouquet-finder__popular { margin-top:22px; padding:18px; background:var(--violet-075); border-radius:18px; }
.bouquet-finder__popular>span { color:var(--violet-600); font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.1em; }
.bouquet-finder__popular>div { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.bouquet-finder__popular a { padding:7px 10px; background:#fff; border:1px solid var(--line); border-radius:999px; font-size:10px; font-weight:750; }
.bouquet-finder__status { margin:16px 0 0; padding:11px 13px; color:var(--violet-700); background:var(--violet-075); border:1px solid var(--line); border-radius:13px; font-size:12px; font-weight:720; }
.bouquet-finder__footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:24px; }
.bouquet-finder__footer>span { display:flex; flex-wrap:wrap; gap:9px 16px; }.bouquet-finder__footer>span>a { display:inline-flex; align-items:center; gap:7px; color:var(--violet-700); border-bottom:1px solid currentColor; font-size:12px; font-weight:750; }.bouquet-finder__footer>span>a .ui-icon { width:17px; height:17px; }
.bouquet-finder__footer button[disabled] { cursor:progress; opacity:.72; }
.quick-order { width:min(610px,calc(100% - 30px)); }
.quick-order__content { display:grid; gap:16px; }
.quick-order__product { display:grid; grid-template-columns:90px minmax(0,1fr); align-items:center; gap:15px; padding:10px; background:#fff; border:1px solid var(--line); border-radius:18px; }
.quick-order__product img { width:90px; aspect-ratio:1; padding:4px; object-fit:contain; object-position:center; background:#fff; border:1px solid var(--line); border-radius:12px; }
.quick-order__product>div { display:grid; }
.quick-order__product-variant { margin-top:5px; color:var(--muted); font-size:11px; }.quick-order__product-price { display:flex; align-items:baseline; gap:8px; margin-top:3px; }.quick-order__product-price del { color:var(--muted); font-size:11px; text-decoration-color:var(--berry); }.quick-order__product-price strong { color:var(--violet-800); font-size:14px; }
.quick-order__product span { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.quick-order__product strong { margin-top:4px; line-height:1.25; }
.quick-order__variants { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.quick-order__variants.is-single { grid-template-columns:1fr; }.quick-order__variants.is-single .quick-order__variant { grid-template-columns:minmax(0,1fr) auto; }.quick-order__variants.is-single .quick-order__variant>input { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }.quick-order__variants.is-single .quick-order__variant-price { grid-column:auto; }
.quick-order__variant { display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:11px; padding:12px 14px; background:#fff; border:1px solid var(--line); border-radius:14px; cursor:pointer; }
.quick-order__variant input { width:18px; height:18px; margin:0; accent-color:var(--violet-700); }
.quick-order__variant>span { display:grid; }
.quick-order__variant small { color:var(--muted); font-size:9px; }
.quick-order__variant-price { justify-items:end; font-size:13px; }.quick-order__variant-price strong { color:var(--violet-800); }
.quick-order__product-option { margin-top:5px; color:var(--violet-700)!important; font-size:11px!important; font-weight:750; text-transform:none!important; letter-spacing:0!important; }.quick-order__options { display:grid; gap:11px; padding:14px; background:var(--violet-075); border:1px solid var(--line); border-radius:17px; }.quick-order__options>strong { font-size:13px; }.quick-order__options fieldset { display:grid; gap:6px; min-width:0; margin:0; padding:0; border:0; }.quick-order__options legend { color:var(--muted); font-size:10px; font-weight:800; }.quick-order__option-choices { display:flex; flex-wrap:wrap; gap:6px; }.quick-order__option-choice { position:relative; cursor:pointer; }.quick-order__option-choice input { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }.quick-order__option-choice>span { display:flex; min-height:38px; align-items:center; gap:7px; padding:7px 10px; background:#fff; border:1px solid var(--line); border-radius:11px; }.quick-order__option-choice b { font-size:11px; }.quick-order__option-choice small { color:var(--violet-700); font-size:9px; font-weight:800; }.quick-order__option-choice input:checked+span { color:var(--violet-800); border-color:var(--violet-600); box-shadow:0 0 0 2px rgba(128,87,155,.1); }.quick-order__option-choices.is-buttons .quick-order__option-choice>span { min-width:38px; justify-content:center; }
.quick-order__content>.button { width:100%; }
.quick-order__details { color:var(--muted); font-size:11px; text-align:center; }
.quick-order__loading,.quick-order__error { padding:30px; color:var(--muted); text-align:center; }
.quick-order__lead { margin:17px 0 20px; color:var(--muted); font-size:14px; }
.quick-order__bot-grid { display:grid; gap:9px; }
.quick-order__bot { display:grid; grid-template-columns:54px minmax(0,1fr) auto; align-items:center; gap:14px; padding:13px 15px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:18px; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.quick-order__bot:hover { transform:translateY(-2px); border-color:var(--violet-400); box-shadow:0 14px 30px rgba(69,35,92,.1); }
.quick-order__bot i { display:grid; width:52px; height:52px; place-items:center; overflow:hidden; background:transparent; border:0; border-radius:50%; font-size:14px; font-style:normal; }
.quick-order__bot i img { display:block; width:100%; height:100%; object-fit:contain; border-radius:inherit; }
.quick-order__bot>span { display:grid; min-width:0; }
.quick-order__bot strong { font-size:16px; }
.quick-order__bot small { margin-top:3px; color:var(--muted); font-size:12px; }
.quick-order__bot b { color:var(--violet-700); font-size:12px; white-space:nowrap; }
.quick-order__bot-note { margin:0; padding:12px 14px; color:var(--muted); background:var(--violet-50); border-radius:14px; font-size:12px; line-height:1.5; text-align:center; }
.quick-order__bot-empty { display:grid; place-items:center; padding:22px 15px; background:var(--violet-50); border:1px solid rgba(128,87,155,.14); border-radius:20px; text-align:center; }
.quick-order__bot-empty h3 { margin:0 0 7px; font-size:23px; }
.quick-order__bot-empty p { max-width:390px; margin:0 0 16px; color:var(--muted); }
.quick-order__error:not([hidden]) { padding:11px 13px; color:#8b2f5e; background:#fff2f6; border-radius:13px; font-size:12px; }
.store-panel { width:min(760px,calc(100% - 30px)); max-width:none; max-height:min(880px,calc(100dvh - 30px)); margin:auto; padding:0; overflow:hidden; color:var(--ink); background:var(--cream); border:1px solid rgba(52,32,71,.14); border-radius:32px; box-shadow:0 35px 100px rgba(27,15,38,.3); }
.store-panel::backdrop { background:rgba(27,15,38,.58); backdrop-filter:blur(6px); }
.review-viewer { width:min(920px,calc(100% - 30px)); max-width:none; max-height:calc(100dvh - 30px); padding:0; overflow:hidden; background:#17101e; border:0; border-radius:26px; box-shadow:0 35px 100px rgba(15,8,21,.45); }
.review-viewer::backdrop { background:rgba(22,13,29,.78); backdrop-filter:blur(8px); }
.review-viewer>button { position:absolute; z-index:2; top:14px; right:14px; display:grid; width:44px; height:44px; place-items:center; color:#fff; background:rgba(22,13,29,.65); border:1px solid rgba(255,255,255,.25); border-radius:50%; font-size:24px; cursor:pointer; }
.review-viewer>img { display:block; width:100%; max-height:calc(100dvh - 30px); object-fit:contain; }
.store-panel--side { width:min(620px,calc(100% - 18px)); height:calc(100dvh - 18px); max-height:none; margin:9px 9px 9px auto; border-radius:30px; }
.store-panel__shell { display:flex; height:auto; max-height:inherit; flex-direction:column; padding:32px; overflow:auto; overscroll-behavior:contain; }.store-panel--side .store-panel__shell { height:100%; }
.store-panel__header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:25px; }
.store-panel__header span,.checkout-heading span { color:var(--violet-600); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.16em; }
.store-panel__header h2 { margin:6px 0 0; font-size:38px; }
.store-panel__header>button { display:grid; width:42px; height:42px; flex:0 0 auto; place-items:center; padding:0; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:50%; cursor:pointer; }
.store-panel__header>button .ui-icon,.review-viewer>button .ui-icon { width:21px; height:21px; }
.store-panel__lead { margin:-10px 0 24px; color:var(--muted); }
.store-lines { display:grid; gap:13px; }
.store-line { display:grid; grid-template-columns:95px minmax(0,1fr); gap:17px; padding:12px; background:#fff; border:1px solid var(--line); border-radius:20px; }
.store-line__image { display:block; overflow:hidden; aspect-ratio:1; background:#fff; border:1px solid var(--line); border-radius:14px; }
.store-line__image img { width:100%; height:100%; padding:4px; object-fit:contain; object-position:center; }
.store-line__body { display:flex; min-width:0; flex-direction:column; justify-content:center; }
.store-line__title { overflow:hidden; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.store-line__meta { margin:5px 0 4px; color:var(--muted); font-size:12px; }.store-line__composition { margin:0 0 12px; color:var(--ink); font-size:12px; line-height:1.45; }
.store-line__price { margin:5px 0 12px; }.store-line__sum { margin-left:auto; justify-items:end; }.store-line__sum strong { margin-left:0; }
.store-line__controls,.store-line__actions { display:flex; align-items:center; gap:8px; }
.store-line__controls button { display:grid; width:29px; height:29px; place-items:center; padding:0; background:var(--violet-075); border:0; border-radius:50%; cursor:pointer; }
.store-line__controls strong { margin-left:auto; }
.store-line__actions button { padding:7px 12px; border-radius:999px; font-size:11px; font-weight:800; cursor:pointer; }
.store-line__add { color:#fff; background:var(--violet-800); border:1px solid var(--violet-800); }
.store-line__remove { color:var(--muted); background:transparent; border:1px solid var(--line); }
.store-empty { display:grid; min-height:360px; place-items:center; align-content:center; padding:35px; text-align:center; }
.store-empty>.store-empty__icon { width:68px; height:68px; color:var(--violet-300); stroke-width:1.25; }
.store-empty h3 { margin:7px 0 10px; font-size:30px; }
.store-empty p { max-width:370px; color:var(--muted); }
.store-loading,.store-error,.store-empty-note { padding:25px; color:var(--muted); background:#fff; border:1px solid var(--line); border-radius:18px; text-align:center; }
.store-error { color:#7e2637; background:#fff0f3; }
.cart-summary { margin-top:auto; padding-top:26px; }
.cart-summary>div { display:flex; justify-content:space-between; padding:7px 0; }
.cart-summary__discount,.checkout-total__discount { color:#4f7d46!important; font-weight:780; }
.cart-summary__total { margin-top:10px; padding-top:19px!important; border-top:1px solid var(--line); font-size:23px; }
.cart-summary p { min-height:22px; margin:8px 0 20px; color:var(--muted); font-size:12px; }
.cart-summary .button { width:100%; }
.button:disabled { cursor:not-allowed; opacity:.48; transform:none; }
.checkout-heading { display:flex; align-items:center; gap:15px; margin-bottom:25px; }
.checkout-heading button { padding:0; color:var(--violet-700); background:transparent; border:0; font-size:22px; cursor:pointer; }
.checkout-heading h3 { margin:4px 0 0; font-size:27px; }
.checkout-form { padding-bottom:8px; }
.checkout-block { margin:0 0 16px; padding:18px; background:#fff; border:1px solid var(--line); border-radius:20px; }
.checkout-block>header { display:flex; align-items:center; gap:11px; margin-bottom:16px; padding-bottom:13px; border-bottom:1px solid var(--line); }
.checkout-block>header>.ui-icon { width:35px; height:35px; padding:8px; color:#fff; background:var(--violet-600); border-radius:11px; }
.checkout-block>header div { display:grid; }.checkout-block>header small { color:var(--violet-600); font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.13em; }.checkout-block>header h4 { margin:3px 0 0; font-size:19px; }
.checkout-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.checkout-grid>* { min-width:0; }
.checkout-grid label>span { display:block; margin-bottom:6px; color:var(--muted); font-size:11px; font-weight:750; }
.checkout-grid input,.checkout-grid textarea,.checkout-grid select { width:100%; min-width:0; max-width:100%; min-height:47px; padding:12px 14px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:12px; outline:0; font:inherit; }.checkout-date-field,.checkout-date-field input { min-inline-size:0; overflow:hidden; }
.checkout-grid textarea { min-height:72px; resize:vertical; }.checkout-grid select { appearance:none; padding-right:38px; background-image:linear-gradient(45deg,transparent 50%,var(--violet-600) 50%),linear-gradient(135deg,var(--violet-600) 50%,transparent 50%); background-position:calc(100% - 17px) 21px,calc(100% - 12px) 21px; background-repeat:no-repeat; background-size:5px 5px,5px 5px; }
.checkout-grid input:focus,.checkout-grid textarea:focus,.checkout-grid select:focus { border-color:var(--violet-500); box-shadow:0 0 0 3px rgba(154,114,179,.12); }
.checkout-wide { grid-column:1/-1; }
.checkout-contact { min-width:0; margin:2px 0 0; padding:0; border:0; }.checkout-contact legend { margin-bottom:8px; color:var(--muted); font-size:11px; font-weight:750; }.checkout-contact>div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.checkout-contact label { cursor:pointer; }.checkout-contact input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }.checkout-contact label>span { display:flex; min-height:55px; align-items:center; justify-content:center; gap:6px; margin:0; padding:8px 5px; color:var(--ink); background:var(--violet-075); border:1px solid var(--line); border-radius:13px; font-size:12px; transition:.18s ease; }.checkout-contact label>span .ui-icon,.checkout-contact label>span img { width:19px; height:19px; flex:0 0 19px; object-fit:contain; }.checkout-contact input:checked+span { color:#fff; background:var(--violet-700); border-color:var(--violet-700); box-shadow:0 8px 20px rgba(100,65,123,.18); }.checkout-contact input:checked+span img { filter:drop-shadow(0 0 0 transparent); }
.checkout-contact-profile[hidden],.checkout-contact-profile__help[hidden],.checkout-card-option [hidden] { display:none; }.checkout-contact-profile small { display:block; margin-top:7px; color:var(--muted); font-size:10px; line-height:1.4; }.checkout-contact-profile__field { display:grid; grid-template-columns:minmax(0,1fr) 47px; align-items:end; gap:8px; }.checkout-contact-profile__field label { min-width:0; }.checkout-contact-profile__field>button { display:grid; width:47px; height:47px; place-items:center; padding:0; color:var(--violet-700); background:var(--violet-075); border:1px solid var(--line); border-radius:12px; cursor:pointer; }.checkout-contact-profile__field>button .ui-icon { width:21px; height:21px; }.checkout-contact-profile__field>button[aria-expanded="true"] { color:#fff; background:var(--violet-700); }.checkout-contact-profile__help { margin-top:10px; padding:14px 15px; color:var(--muted); background:var(--violet-075); border:1px solid var(--line); border-radius:13px; font-size:13px; line-height:1.5; }.checkout-contact-profile__help strong { color:var(--ink); }.checkout-contact-profile__help ol { margin:7px 0 0; padding-left:20px; }.checkout-contact-profile__help li+li { margin-top:4px; }.checkout-card-option { display:grid; gap:10px; }.checkout-card-option>label:first-child { cursor:pointer; }.checkout-card-option>label:first-child>input { position:absolute; width:1px; height:1px; opacity:0; }.checkout-card-option>label:first-child>span { display:grid; grid-template-columns:36px minmax(0,1fr) auto; align-items:center; gap:10px; margin:0; padding:11px 13px; color:var(--ink); background:var(--violet-075); border:1px solid var(--line); border-radius:14px; }.checkout-card-option>label:first-child .ui-icon { grid-row:1/3; width:36px; height:36px; padding:8px; color:var(--violet-700); background:#fff; border-radius:11px; }.checkout-card-option>label:first-child b { align-self:end; font-size:12px; }.checkout-card-option>label:first-child small { grid-column:2/4; color:var(--muted); font-size:10px; }.checkout-card-option>label:first-child>input:checked+span { color:#fff; background:var(--violet-700); border-color:var(--violet-700); }.checkout-card-option>label:first-child>input:checked+span .ui-icon { color:var(--berry); }.checkout-card-option>label:first-child>input:checked+span small { color:rgba(255,255,255,.8); }
.checkout-bonus { display:grid; grid-template-columns:42px minmax(0,1fr); gap:13px; margin:0 0 16px; padding:17px; color:#fff; background:linear-gradient(135deg,var(--violet-700),#a66d9c); border-radius:20px; box-shadow:0 14px 35px rgba(100,65,123,.16); }.checkout-bonus>.ui-icon { width:42px; height:42px; padding:9px; background:rgba(255,255,255,.14); border-radius:13px; }.checkout-bonus>div { display:grid; }.checkout-bonus span { font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.13em; opacity:.8; }.checkout-bonus strong { margin-top:4px; font-size:18px; }.checkout-bonus p { margin:5px 0 0; font-size:11px; line-height:1.45; opacity:.84; }.checkout-bonus a { color:#fff; text-decoration:underline; }.checkout-bonus label { display:grid; grid-template-columns:auto minmax(75px,110px) auto; align-items:center; gap:8px; margin-top:12px; }.checkout-bonus label input { min-height:38px; padding:0 10px; color:var(--ink); background:#fff; border:0; border-radius:10px; font:inherit; }.checkout-bonus label button { min-height:38px; padding:0 11px; color:#fff; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.23); border-radius:10px; font-size:10px; font-weight:800; cursor:pointer; }
.checkout-total { display:grid; gap:7px; margin:0 0 16px; padding:17px 19px; background:var(--violet-075); border:1px solid var(--line); border-radius:18px; }.checkout-total>div { display:flex; justify-content:space-between; gap:20px; color:var(--muted); font-size:12px; }.checkout-total>div b { color:var(--ink); }.checkout-total>div[hidden] { display:none; }.checkout-total__main { align-items:end; margin-top:5px; padding-top:13px; color:var(--ink)!important; border-top:1px solid var(--line); font-size:15px!important; }.checkout-total__main strong { color:var(--violet-800); font-size:25px; }.checkout-total>p { margin:2px 0 0; color:#4f7d46; font-size:11px; font-weight:750; }
.checkout-consent { display:flex; align-items:flex-start; gap:10px; color:var(--muted); font-size:12px; line-height:1.5; cursor:pointer; }.checkout-consent input { width:18px; height:18px; flex:0 0 18px; margin-top:1px; accent-color:var(--violet-700); }.checkout-consent span { margin:0!important; }.checkout-consent a { color:var(--violet-700); text-decoration:underline; text-underline-offset:2px; }
.checkout-error { margin:15px 0; padding:12px 15px; color:#7e2637; background:#fff0f3; border-radius:12px; }
.checkout-form>.button { width:100%; margin-top:20px; }
.checkout-form>small { display:block; margin-top:10px; color:var(--muted); text-align:center; }
.checkout-success { margin:auto; padding:60px 25px; text-align:center; }
.checkout-success i { display:grid; width:72px; height:72px; margin:0 auto 22px; place-items:center; color:#fff; background:var(--violet-700); border-radius:50%; font-size:35px; font-style:normal; }
.checkout-success h3 { margin-bottom:12px; font-size:36px; }
.checkout-success p { color:var(--muted); }
.city-search { display:flex; align-items:center; gap:10px; padding:0 18px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.city-search>.ui-icon { width:21px; height:21px; color:var(--violet-600); }
.city-search input { width:100%; padding:15px 0; background:transparent; border:0; outline:0; }
.city-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:18px; }
.city-results__label { grid-column:1/-1; margin:2px 0 3px; color:var(--violet-600); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.12em; }
.city-result { display:grid; min-width:0; grid-template-columns:minmax(0,1fr) auto; align-items:center; padding:13px 15px; text-align:left; background:#fff; border:1px solid var(--line); border-radius:14px; cursor:pointer; }
.city-result:hover { color:#fff; background:var(--violet-800); }
.city-result strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.city-result small { grid-column:1; overflow:hidden; margin-top:3px; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.city-result i { grid-column:2; grid-row:1/3; margin-left:9px; color:var(--violet-600); font-size:10px; font-style:normal; font-weight:850; }.city-result i:empty { width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(-45deg); }
.city-result.is-current { background:var(--violet-075); border-color:var(--violet-300); }.city-result.is-current i { padding:4px 7px; color:#fff; background:var(--violet-600); border-radius:999px; font-size:8px; }
.city-result:hover small { color:rgba(255,255,255,.6); }
.city-result:hover i { color:#fff; }
.city-results>.store-loading,.city-results>.store-error,.city-results>.store-empty-note { grid-column:1/-1; }
.pwa-panel { max-width:760px; }.pwa-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:25px; }.pwa-steps article { min-height:180px; padding:22px; background:var(--violet-075); border:1px solid var(--line); border-radius:22px; }.pwa-steps article:nth-child(2) { background:var(--berry-soft); }.pwa-steps b { display:block; margin-bottom:45px; font-size:17px; }.pwa-steps p { margin:0; color:var(--muted); font-size:13px; }
.store-toast { position:fixed; z-index:1000; left:50%; bottom:28px; display:flex; width:max-content; max-width:calc(100% - 30px); align-items:center; gap:11px; padding:10px 16px 10px 10px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:17px; box-shadow:0 18px 50px rgba(52,32,71,.18); opacity:0; pointer-events:none; transform:translate(-50%,20px); transition:.25s ease; }
.store-toast>i { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; color:#fff; background:linear-gradient(145deg,var(--violet-500),var(--violet-800)); border-radius:11px; font-style:normal; }
.store-toast>i .ui-icon { width:18px; height:18px; stroke-width:2.5; }
.store-toast>span { font-size:13px; font-weight:800; }
.store-toast.is-visible { opacity:1; transform:translate(-50%,0); }
body #wolf-cookie.wolf-cookie { z-index:130; left:50%; right:auto; bottom:18px; width:min(680px,calc(100% - 30px)); color:var(--ink); background:#fff!important; border:1px solid var(--line); border-radius:20px; box-shadow:0 22px 60px rgba(64,43,72,.18); transform:translateX(-50%); backdrop-filter:none; }
body #wolf-cookie .wolf-cookie-in { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; width:auto; padding:14px 16px; }
body #wolf-cookie p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }
body #wolf-cookie a { color:var(--violet-700); text-decoration:underline; text-decoration-color:var(--violet-300); text-underline-offset:2px; }
body #wolf-cookie #wolf-cookie-ok { width:auto; min-width:112px; min-height:42px; padding:9px 18px; color:#fff; background:var(--violet-600); border:0; border-radius:999px; font-size:12px; font-weight:850; cursor:pointer; }
.content-page,.error-page { min-height:65vh; padding:90px 0 120px; }
.content-narrow { max-width:900px; }
.content-page h1,.error-page h1 { font-size:clamp(46px,7vw,80px); }
.entry-content { font-size:18px; }
.error-page { position:relative; display:flex; align-items:center; overflow:hidden; background:radial-gradient(circle at 90% 10%,rgba(197,165,214,.18),transparent 32%); }
.error-page__layout { display:grid; grid-template-columns:minmax(360px,.86fr) minmax(0,1.14fr); align-items:center; gap:clamp(48px,7vw,100px); }
.error-page__visual { position:relative; display:grid; min-height:440px; place-items:center; overflow:hidden; color:#fff; background:linear-gradient(145deg,var(--violet-500),var(--violet-900)); border-radius:44px; box-shadow:0 32px 80px rgba(76,44,96,.2); }
.error-page__visual>i,.error-page__visual>b { position:absolute; width:330px; height:330px; border:1px solid rgba(255,255,255,.18); border-radius:50%; }
.error-page__visual>i { top:-190px; right:-120px; }.error-page__visual>b { bottom:-230px; left:-150px; }
.error-page__visual img { position:absolute; top:48px; left:48px; width:72px; height:72px; padding:12px; background:rgba(255,255,255,.92); border-radius:22px; box-shadow:0 16px 34px rgba(31,14,43,.18); }
.error-page__code { display:block; font-size:clamp(104px,12vw,178px); font-weight:900; line-height:.75; letter-spacing:-.08em; text-shadow:0 18px 45px rgba(34,14,49,.22); }
.error-page__visual small { position:absolute; right:36px; bottom:32px; max-width:180px; font-size:11px; font-weight:850; text-align:right; text-transform:uppercase; letter-spacing:.14em; opacity:.72; }
.error-page__copy h1 { max-width:760px; margin:20px 0 22px; font-size:clamp(48px,5.6vw,78px); line-height:.98; letter-spacing:-.055em; }
.error-page__copy>p { max-width:680px; margin:0 0 28px; color:var(--muted); font-size:18px; line-height:1.65; }
.error-page__search { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; max-width:700px; padding:7px 7px 7px 18px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 16px 45px rgba(74,46,88,.08); }
.error-page__search>.ui-icon { width:21px; height:21px; color:var(--violet-600); }.error-page__search input[type="search"] { min-width:0; padding:12px 14px; background:transparent; border:0; outline:0; font:inherit; }.error-page__search button { min-height:48px; padding:0 22px; color:#fff; background:var(--violet-700); border:0; border-radius:13px; font-weight:850; cursor:pointer; }
.error-page__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }.error-page__actions .button { min-height:52px; }.error-page__actions .ui-icon { width:18px; height:18px; }
.error-page__links { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin-top:25px; color:var(--muted); font-size:13px; }.error-page__links>span { font-weight:750; }.error-page__links a { color:var(--violet-700); font-weight:800; text-decoration:underline; text-decoration-color:var(--violet-200); text-underline-offset:4px; }
.content-list { display:grid; gap:18px; }
.content-list article { padding:28px; background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); }
.navigation.pagination { display:flex; justify-content:center; margin-top:42px; }
.nav-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.page-numbers { display:grid; width:42px; height:42px; place-items:center; background:#fff; border:1px solid var(--line); border-radius:50%; font-size:13px; font-weight:800; }
.page-numbers.prev,.page-numbers.next { color:var(--violet-700); }
.page-numbers .ui-icon { width:17px; height:17px; }
.page-numbers.current { color:#fff; background:var(--violet-900); }
.breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-bottom:30px; color:var(--muted); font-size:11px; }
.breadcrumbs a:hover { color:var(--violet-700); }
.breadcrumbs strong { color:var(--ink); font-weight:750; }
.category-page-hero { position:relative; overflow:hidden; padding:38px 0 34px; }
.category-page-hero h1 { margin:14px 0 12px; font-size:clamp(48px,5vw,68px); }
.category-page-hero::after { content:""; position:absolute; width:340px; height:340px; right:-110px; bottom:-250px; border:1px solid rgba(101,64,126,.15); border-radius:50%; }
.category-page-hero__layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,.76fr); align-items:center; gap:clamp(36px,6vw,86px); margin-top:24px; }.category-page-hero__copy { min-width:0; }.category-page-hero__intro { max-width:800px; margin:0; color:var(--muted); font-size:16px; line-height:1.58; }.category-page-hero__facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:24px 0 0; padding:17px 0; border-top:1px solid rgba(101,64,126,.17); border-bottom:1px solid rgba(101,64,126,.17); list-style:none; }.category-page-hero__facts>li { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:11px; min-width:0; padding:0 17px; border-right:1px solid rgba(101,64,126,.14); }.category-page-hero__facts>li:first-child { padding-left:0; }.category-page-hero__facts>li:last-child { padding-right:0; border-right:0; }.category-page-hero__facts .ui-icon { width:30px; height:30px; padding:7px; color:var(--violet-700); background:rgba(255,255,255,.76); border:1px solid rgba(101,64,126,.12); border-radius:11px; }.category-page-hero__facts span { display:grid; min-width:0; gap:4px; }.category-page-hero__facts small { color:var(--muted); font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.11em; }.category-page-hero__facts strong { overflow-wrap:anywhere; color:var(--ink); font-size:13px; font-weight:800; line-height:1.26; }.category-city-context { display:flex; align-items:flex-start; gap:11px; margin-top:14px; color:var(--muted); font-size:12px; line-height:1.45; }.category-city-context>.ui-icon { width:30px; height:30px; flex:0 0 30px; padding:7px; color:var(--violet-700); background:#fff; border:1px solid var(--line); border-radius:10px; }.category-city-context span { display:grid; gap:2px; }.category-city-context strong { color:var(--ink); font-size:13px; }.category-city-context small { font-size:12px; }.category-page-hero__media { position:relative; aspect-ratio:16/9; overflow:hidden; margin:0; background:#fff; border:8px solid rgba(255,255,255,.8); border-radius:26px 26px 10px 26px; box-shadow:0 24px 70px rgba(74,45,86,.14); }.category-page-hero__media img { width:100%; height:100%; object-fit:cover; }.category-page-hero__media figcaption { position:absolute; right:14px; bottom:14px; left:14px; display:flex; align-items:center; gap:11px; padding:12px 14px; color:#fff; background:rgba(45,29,52,.78); border:1px solid rgba(255,255,255,.22); border-radius:15px; backdrop-filter:blur(10px); }.category-page-hero__media figcaption>.ui-icon { flex:0 0 auto; width:23px; height:23px; }.category-page-hero__media figcaption span { display:grid; gap:2px; }.category-page-hero__media figcaption strong { font-size:14px; }.category-page-hero__media figcaption small { color:rgba(255,255,255,.78); font-size:11px; line-height:1.35; }
.category-story { padding:0 0 120px; }
.category-story>.site-shell { display:grid; gap:26px; }
.category-journal-hero { position:relative; display:grid; grid-template-columns:1.08fr .92fr; min-height:590px; overflow:hidden; color:#fff; background:var(--violet-600); border-radius:48px; box-shadow:0 30px 75px rgba(128,87,155,.18); }
.category-journal-hero::after { content:""; position:absolute; width:330px; height:330px; left:-230px; bottom:-230px; border:1px solid rgba(255,255,255,.16); border-radius:50%; }
.category-journal-hero__copy { position:relative; z-index:2; display:flex; min-width:0; flex-direction:column; justify-content:center; padding:70px; }
.category-kicker { display:inline-flex; align-items:center; gap:9px; color:var(--violet-700); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.17em; }
.category-kicker i { display:block; width:24px; height:1px; background:currentColor; }
.category-journal-hero .category-kicker { color:rgba(255,255,255,.9); }
.category-journal-hero h2 { max-width:620px; margin:22px 0; font-size:clamp(42px,5.2vw,70px); }
.category-journal-hero__text { max-width:610px; color:rgba(255,255,255,.9); font-size:17px; }
.category-journal-hero__text>*:last-child { margin-bottom:0; }
.category-journal-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:34px; }
.category-trust-stamp { display:grid; width:106px; height:106px; place-items:center; padding:15px; color:var(--violet-950); background:var(--violet-300); border-radius:50%; font-size:9px; font-weight:900; line-height:1.25; text-align:center; text-transform:uppercase; letter-spacing:.08em; transform:rotate(7deg); }
.category-journal-hero__visual { position:relative; min-height:590px; margin:24px 24px 24px 0; overflow:hidden; background:var(--violet-075); border-radius:28px 28px 82px 28px; }
.category-journal-hero__image { width:100%; height:100%; object-fit:cover; }
.category-image-zoom { position:absolute; inset:0; display:block; width:100%; height:100%; padding:0; overflow:hidden; background:transparent; border:0; cursor:zoom-in; }
.category-image-zoom picture { display:block; width:100%; height:100%; }
.category-image-zoom:focus-visible { outline:3px solid #fff; outline-offset:-6px; }
.category-image-zoom__hint { position:absolute; left:18px; top:18px; display:inline-flex; align-items:center; gap:7px; padding:9px 12px; color:var(--ink); background:rgba(255,255,255,.94); border:1px solid rgba(52,32,71,.08); border-radius:999px; box-shadow:0 10px 28px rgba(52,32,71,.13); font-size:10px; font-weight:850; transition:.2s ease; }
.category-image-zoom__hint .ui-icon { width:15px; height:15px; color:var(--violet-700); }
.category-image-zoom:hover .category-image-zoom__hint { color:#fff; background:var(--violet-700); }.category-image-zoom:hover .category-image-zoom__hint .ui-icon { color:#fff; }
.category-journal-hero__folio { position:absolute; z-index:2; right:22px; bottom:20px; display:grid; color:#fff; font-size:38px; font-weight:900; line-height:.8; letter-spacing:-.07em; text-align:right; text-shadow:0 2px 25px rgba(36,21,53,.45); pointer-events:none; }
.category-journal-hero__folio small { margin-top:8px; font-size:8px; letter-spacing:.15em; text-transform:uppercase; }
.category-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:30px; }
.category-fact { display:grid; grid-template-columns:auto 1fr; gap:15px; min-width:0; padding:28px; border-right:1px solid var(--line); }
.category-fact:last-child { border-right:0; }
.category-fact>span { color:var(--violet-700); font-size:11px; font-weight:900; }
.category-fact div { display:grid; min-width:0; align-content:start; }
.category-fact small { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.category-fact strong { margin-top:7px; color:var(--violet-800); font-size:24px; line-height:1; letter-spacing:-.04em; }
.category-fact p { margin:7px 0 0; color:var(--muted); font-size:11px; }
.category-editorial { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; padding:80px 70px; background:#fff; border:1px solid var(--line); border-radius:42px; }
.category-editorial header { position:sticky; top:140px; align-self:start; }
.category-editorial h2,.category-compare h2,.category-steps h2,.category-related h2,.category-faq h2 { margin:16px 0 0; font-size:clamp(36px,4.4vw,58px); }
.category-editorial__body { max-width:720px; color:#3f3742; font-size:17px; }
.category-editorial__body>p:first-child::first-letter { float:left; margin:8px 10px 0 0; color:var(--violet-700); font-size:72px; font-weight:850; line-height:.72; }
.category-editorial__body a { color:var(--violet-700); border-bottom:1px solid var(--violet-300); }
.category-inline-links { grid-column:2; display:flex; flex-wrap:wrap; gap:8px; }
.category-inline-links a { display:flex; align-items:center; gap:14px; padding:9px 13px; background:var(--violet-075); border-radius:999px; font-size:11px; font-weight:750; }
.category-compare { display:grid; grid-template-columns:.55fr 1.45fr; gap:42px; padding:42px; background:var(--violet-075); border-radius:36px; }
.category-compare header>span { color:var(--violet-600); font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.15em; }
.category-compare header p { margin:16px 0 0; color:var(--muted); font-size:13px; }
.category-compare__scroll { overflow:auto; background:#fff; border:1px solid rgba(52,32,71,.08); border-radius:24px; }
.category-compare table { width:100%; min-width:620px; border-collapse:collapse; }
.category-compare th,.category-compare td { padding:17px 20px; border-bottom:1px solid var(--line); font-size:12px; text-align:left; vertical-align:top; }
.category-compare th { color:var(--violet-700); background:var(--violet-075); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.category-compare tr:last-child td { border-bottom:0; }
.category-quote { position:relative; margin:0; padding:64px 110px; overflow:hidden; color:#fff; background:var(--violet-600); border-radius:36px; }
.category-quote::after { content:""; position:absolute; width:250px; height:250px; right:-90px; top:-150px; border:1px solid rgba(255,255,255,.22); border-radius:50%; }
.category-quote__mark { position:absolute; left:30px; top:15px; color:rgba(255,255,255,.16); font-family:Georgia,serif; font-size:140px; line-height:1; }
.category-quote blockquote { position:relative; z-index:1; max-width:930px; margin:0; font-size:clamp(24px,3vw,39px); font-weight:650; line-height:1.22; letter-spacing:-.025em; }
.category-quote figcaption { position:relative; z-index:1; display:flex; align-items:center; gap:13px; margin-top:32px; }
.category-quote__avatar { width:54px; height:54px; object-fit:cover; border:2px solid rgba(255,255,255,.55); border-radius:50%; }
.category-quote figcaption>span { display:grid; }
.category-quote figcaption small { color:rgba(255,255,255,.9); font-size:10px; }
.category-quote figcaption>i { margin-left:auto; padding:9px 13px; color:var(--violet-950); background:var(--violet-300); border-radius:999px; font-size:9px; font-style:normal; font-weight:850; text-transform:uppercase; letter-spacing:.1em; transform:rotate(-3deg); }
.category-steps { padding:70px; background:#fff; border:1px solid var(--line); border-radius:42px; }
.category-steps header { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:42px; }
.category-steps header .category-kicker { align-self:flex-start; }
.category-steps ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; padding:0; list-style:none; counter-reset:none; }
.category-steps li { position:relative; min-width:0; padding:28px 28px 0 0; border-top:1px solid var(--violet-300); }
.category-steps li::after { content:""; position:absolute; width:9px; height:9px; top:-5px; left:0; background:var(--violet-700); border:3px solid #fff; border-radius:50%; box-shadow:0 0 0 1px var(--violet-300); }
.category-steps li>span { color:var(--violet-300); font-size:12px; font-weight:900; }
.category-steps h3 { margin:16px 0 10px; font-size:21px; }
.category-steps li>div { color:var(--muted); font-size:13px; }
.category-callout { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:34px; padding:36px 42px; background:#ebe0f0; border:1px solid rgba(101,64,126,.12); border-radius:30px; }
.category-callout>span { padding:8px 12px; color:#fff; background:var(--violet-800); border-radius:999px; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.1em; }
.category-callout h2 { margin:0 0 7px; font-size:28px; }
.category-callout p { margin:0; color:var(--violet-900); }
.category-callout>i { color:var(--violet-500); font-size:46px; font-style:normal; }
.category-case { display:grid; grid-template-columns:.9fr 1.1fr; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:42px; }
.category-case__visual { position:relative; min-height:500px; overflow:hidden; background:linear-gradient(145deg,var(--violet-150),var(--violet-300)); }
.category-case__image { width:100%; height:100%; object-fit:cover; }
.category-case__visual>span { position:absolute; z-index:2; left:24px; bottom:24px; padding:9px 13px; color:#fff; background:rgba(36,21,53,.78); border-radius:999px; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.1em; backdrop-filter:blur(10px); pointer-events:none; }
.category-case__copy { display:flex; flex-direction:column; justify-content:center; padding:70px; }
.category-case__copy>small { color:var(--violet-600); font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.15em; }
.category-case__copy h2 { margin:14px 0 28px; font-size:clamp(34px,4vw,54px); }
.category-case__text { position:relative; margin:0; padding:22px 26px; background:var(--violet-075); border-radius:24px 24px 24px 5px; font-size:17px; }
.category-case__copy>p { display:grid; margin:20px 0 0; }
.category-case__copy>p span { color:var(--muted); font-size:10px; }
.category-related { padding:70px; background:#f2e9f5; border-radius:42px; }
.category-related header,.category-faq header { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:42px; }
.category-related__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.category-related-card { position:relative; display:flex; min-width:0; min-height:320px; flex-direction:column; padding:10px 10px 18px; background:#fff; border:1px solid rgba(52,32,71,.08); border-radius:22px; box-shadow:0 14px 35px rgba(52,32,71,.06); transition:transform .2s ease; }
.category-related-card:nth-child(even) { transform:translateY(15px) rotate(1deg); }
.category-related-card:hover { transform:translateY(-4px) rotate(0); }
.category-related-card__media { position:relative; display:block; overflow:hidden; aspect-ratio:4/3; background:linear-gradient(145deg,#f9f4fa,#dfcbe8); border-radius:15px; }
.category-related-card__media img { width:100%; height:100%; object-fit:cover; }
.category-related-card__media i,.category-related-card__media b { position:absolute; display:block; width:38%; height:52%; left:31%; top:22%; background:linear-gradient(145deg,var(--violet-300),var(--violet-700)); border-radius:80% 20% 70% 30%; }
.category-related-card__media b { transform:rotate(90deg); }
.category-related-card>small { margin:14px 5px 6px; color:var(--violet-700); font-size:10px; font-weight:900; }
.category-related-card>strong { margin:0 5px; font-size:18px; line-height:1.15; }
.category-related-card>em { margin:auto 5px 0; padding-top:14px; color:var(--violet-700); font-size:10px; font-style:normal; font-weight:800; }
.category-faq { padding:76px 70px; background:#fff; border:1px solid var(--line); border-radius:42px; }
.category-faq__list { border-top:1px solid var(--line); }
.category-faq details { border-bottom:1px solid var(--line); }
.category-faq summary { display:grid; grid-template-columns:42px minmax(0,1fr) 28px; align-items:center; gap:16px; padding:22px 0; cursor:pointer; list-style:none; }
.category-faq summary::-webkit-details-marker { display:none; }
.category-faq summary>span { color:var(--violet-700); font-size:10px; font-weight:900; }
.category-faq summary>strong { font-size:18px; }
.category-faq summary>i { display:grid; width:28px; height:28px; place-items:center; color:var(--violet-700); background:var(--violet-075); border-radius:50%; font-style:normal; transition:transform .2s ease; }
.category-faq details[open] summary>i { transform:rotate(45deg); }
.category-faq details>div { max-width:780px; padding:0 0 24px 58px; color:var(--muted); }
.category-final-cta { position:relative; display:flex; align-items:center; justify-content:space-between; gap:50px; padding:64px 70px; overflow:hidden; color:#fff; background:var(--violet-600); border-radius:42px; }
.category-final-cta::after { content:""; position:absolute; width:300px; height:300px; right:17%; top:-225px; border:1px solid rgba(255,255,255,.18); border-radius:50%; }
.category-final-cta>div { position:relative; z-index:1; max-width:760px; }
.category-final-cta>div>span { color:rgba(255,255,255,.9); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.16em; }
.category-final-cta h2 { margin:13px 0 12px; font-size:clamp(38px,4.7vw,62px); }
.category-final-cta p { margin:0; color:rgba(255,255,255,.9); }
.category-final-cta>.button { position:relative; z-index:1; flex:0 0 auto; }

/* Readability pass: utility text stays compact, but never microscopic. */
body { font-size:17px; }
.service-row { font-size:12px; }
.brand-copy small,.header-tools small { font-size:11px; }
.header-search button,.catalog-mega__heading>a,.catalog-mega__group h2,.filter-open { font-size:13px; }
.catalog-sort select { font-size:14px; }
.nav-list a,.catalog-mega__group li>a { font-size:14px; }
.catalog-picker-button { font-size:12px; }
.catalog-mega__heading>div span,.catalog-filter__header span,.product-section-heading>span,.store-panel__header span,.checkout-heading span,.product-review-form>span { font-size:11px; }
.product-card__badges span { font-size:11px; }
.product-card__body h3 { min-height:68px; font-size:19px; line-height:1.2; }
.product-card__composition { min-height:58px; font-size:14px; line-height:1.38; }
.product-card__meta span,.product-card__bottom a { font-size:12px; }
.product-card__bottom strong { font-size:21px; }
.product-card__actions button { min-height:44px; font-size:13px; }
.breadcrumbs { font-size:12px; }
.product-photo-note { font-size:13px; }
.product-availability,.product-rating { font-size:12px; }
.product-variant-heading span,.product-variant-heading small { font-size:12px; }
.product-variant-heading strong { font-size:18px; }
.variant-row small { font-size:12px; }
.variant-row>b { font-size:16px; }
.product-composition span { font-size:13px; }
.product-buy>small { font-size:12px; }
.product-assurance strong { font-size:14px; }
.product-assurance small { font-size:12px; }
.product-category-links>span { font-size:12px; }
.product-category-links a { font-size:12px; }
.quick-order__product span { font-size:11px; }
.quick-order__variant small { font-size:11px; }
.quick-order__variant-price { font-size:14px; }
.quick-order__details { font-size:13px; }
.store-panel__header span,.checkout-grid label>span,.product-review-form label>span,.product-review-form legend { font-size:12px; }
.store-line__meta,.cart-summary p,.review-status { font-size:13px; }
.product-review-list p { font-size:15px; }
.product-review-list time { font-size:11px; }
.category-kicker,.category-compare header>span,.category-final-cta>div>span { font-size:11px; }
.category-fact small,.category-related-card>small,.category-related-card>em,.category-case__copy>small { font-size:11px; }
.category-fact p,.category-inline-links a,.category-steps li>div { font-size:13px; }
.category-compare th,.category-compare td { font-size:13px; }

@media (max-width:1180px) {
	.service-link--optional,.service-hours { display:none; }
	.header-row { grid-template-columns:auto minmax(260px,1fr) auto; gap:18px; }
	.site-brand { min-width:225px; }
	.brand-logo { width:52px; height:52px; }
	.brand-copy strong { font-size:22px; }
	.nav-list a { padding-inline:9px; font-size:12px; }
	.nav-list .f365-seasonal-menu>a { padding-inline:10px; }
	.catalog-picker-button { padding-inline:12px; }
	.direction-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media (max-width:1024px) {
	.service-links a:nth-child(3) { display:none; }
	.hero-grid,.request-card,.product-layout { grid-template-columns:1fr; }
	.hero-art { min-height:470px; }
	.product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.about-grid { grid-template-columns:1fr 1fr; }
	.about-copy { grid-column:1/-1; }
	.request-card { gap:42px; }
	.product-info { position:static; }
	.product-media-wrap { position:static; }
	.product-details__grid { grid-template-columns:1fr; }
	.product-reviews__layout { grid-template-columns:minmax(0,1fr); gap:45px; }
	.recent-products { display:flex; overflow:auto; scroll-snap-type:x proximity; }
	.recent-card { min-width:260px; scroll-snap-align:start; }
	.catalog-mega__grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
	.direction-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.catalog-quick-filter { grid-template-columns:1fr 1fr 1fr; }
	.catalog-price-range { grid-column:1/-1; }
	.category-subcategories__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.catalog-hero__layout { grid-template-columns:1fr; gap:34px; }
	.catalog-hero__visual { height:260px; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:1fr; }
	.catalog-hero__spotlight:first-child { grid-row:auto; }
	.category-page-hero__layout { grid-template-columns:minmax(0,1fr) minmax(330px,.72fr); gap:34px; }
	.category-journal-hero__copy { padding:50px; }
	.category-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.category-fact:nth-child(2) { border-right:0; }
	.category-fact:nth-child(-n+2) { border-bottom:1px solid var(--line); }
	.category-editorial { gap:45px; padding:60px 50px; }
	.category-steps ol { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:38px; }
	.category-related__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:960px) {
	.site-shell { width:min(calc(100% - 30px),var(--shell)); }
	.service-row { min-height:36px; gap:10px; padding-inline:3px; }
	.service-links,.service-hours { display:none; }
	.service-phones { margin-left:auto; }.service-phone { font-size:11px; }.service-phone--secondary { display:none; }
	.city-button { min-height:32px; padding:4px 9px; }
	.header-row { min-height:0; grid-template-columns:minmax(0,1fr) auto auto; gap:8px; padding:10px 0 12px; }
	.site-brand { min-width:0; grid-column:1; grid-row:1; margin-right:auto; }
	.brand-logo { width:46px; height:46px; }
	.brand-copy strong { font-size:20px; }
	.brand-copy small { margin-top:6px; font-size:9px; }
	.header-tools { grid-column:2; grid-row:1; gap:1px; }
	.header-account { display:none!important; }
	.menu-toggle { display:grid; grid-column:3; grid-row:1; place-items:center; }
	.header-search { width:100%; height:50px; grid-column:1/-1; grid-row:2; margin:2px 0 0; border-radius:16px; }
	.header-search button { min-width:44px; height:44px; }
	.search-suggest { min-width:0; }
	.header-tools small { display:none; }
	.header-tools button { min-width:44px; min-height:44px; padding-inline:3px; }
	.tool-icon>.ui-icon { width:23px; height:23px; }
	.catalog-row { min-height:0; border-top:0; }
	.catalog-picker-button { display:none; }
	.catalog-directions { margin-right:-15px; }
	.direction-grid { display:flex; gap:12px; padding-right:15px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; }.direction-grid::-webkit-scrollbar { display:none; }
	.direction-card { min-width:min(82vw,320px); min-height:205px; scroll-snap-align:start; }
	.primary-nav { position:absolute; top:calc(100% + 1px); left:15px; right:15px; display:none; width:auto; margin:0; padding:16px; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); }
	.primary-nav.is-open { display:block; }
	.site-header.is-mega-open .primary-nav { display:none; }
	.nav-list { display:grid; gap:2px; }
	.nav-list a { display:block; padding:12px; }
	.catalog-mega { top:calc(100% + 1px); max-height:calc(100vh - 185px); padding:58px 20px 24px; border-radius:20px; }
	.catalog-mega__close { display:block; }
	.catalog-mega__heading { display:grid; gap:14px; }
	.catalog-mega__heading strong { font-size:25px; }
	.catalog-mega__heading>a { width:max-content; }
	.catalog-mega__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 20px; }
	.hero { min-height:auto; padding:54px 0 70px; }
	.hero-grid { align-items:stretch; gap:18px; }
	.hero-copy { display:contents; }
	.hero-copy>.eyebrow { grid-row:1; position:relative; z-index:2; }
	.hero h1 { grid-row:2; position:relative; z-index:2; margin:4px 0 0; font-size:clamp(43px,11.5vw,58px); }
	.hero-art { grid-row:3; min-height:390px; margin-top:3px; border-width:7px; border-radius:46px 18px 46px 18px; }
	.hero-copy>p { grid-row:4; position:relative; z-index:2; margin:2px 0 0; }
	.hero-actions { grid-row:5; position:relative; z-index:2; margin-top:4px; }
	.hero-note { grid-row:6; position:relative; z-index:2; margin-top:5px; }
	.hero-art__seal { top:16px; right:16px; width:52px; height:52px; border-radius:17px 8px 17px 8px; }
	.art-caption { right:68px; bottom:70px; left:14px; padding:15px 16px; border-radius:19px 8px 19px 8px; }
	.art-caption strong { font-size:21px; }
	.catalog-hero { padding:54px 0 34px; }
	.catalog-hero__visual { display:none; }
	.catalog-hero+.catalog-section { padding-top:34px; }
	.archive-page-context__row { display:grid; gap:20px; }.archive-page-context__back { width:max-content; }
	.catalog-section,.about-section,.request-section { padding:76px 0; }
	.section-heading { align-items:start; }
	.catalog-directions { margin-top:62px; }
	.compact-heading { display:grid; }
	.catalog-tools { align-items:flex-start; }
	.catalog-quick-filter { display:none; }
	.catalog-quick-filter::-webkit-scrollbar { display:none; }
	.catalog-quick-filter>* { flex:0 0 220px; scroll-snap-align:start; }
	.catalog-quick-filter>.catalog-price-range { flex-basis:280px; }
	.catalog-quick-filter__submit { flex-basis:140px; }
	.category-page-hero { padding:28px 0 30px; }
	.category-page-hero__layout { grid-template-columns:1fr; gap:22px; margin-top:18px; }
	.category-page-hero__intro { font-size:15px; }
	.category-page-hero__media { max-height:250px; border-width:6px; border-radius:22px 22px 8px 22px; }
	.category-page-hero__media figcaption { right:10px; bottom:10px; left:10px; padding:10px 12px; }
	.category-page-hero__media figcaption small { display:none; }
	.category-page-hero__facts { margin-top:20px; }
	.category-subcategories header { display:grid; gap:10px; }
	.category-subcategories__grid { display:flex; margin-right:-15px; padding-right:15px; overflow:auto; scroll-snap-type:x proximity; }
	.category-subcategory-card { min-width:245px; scroll-snap-align:start; }
	.category-subcategories+.catalog-section { padding-top:48px; }
	.catalog-tools__actions { width:100%; justify-content:flex-end; }
	.catalog-filter form { padding:24px; }
	.catalog-filter__footer { bottom:-24px; margin:0 -24px -24px; padding:17px 24px; }
	.product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
	.product-layout { gap:14px; }
	.product-info { display:contents; }
	.product-info h1 { order:1; margin:0; }
	.product-status-row { order:2; }
	.product-excerpt { order:3; margin:0; }
	.product-media-wrap { order:4; margin:8px 0 12px; }
	.product-variant-heading { order:5; margin:10px 0 0; }
	.variant-list { order:6; margin-bottom:10px; }
	.product-composition { order:7; margin-bottom:8px; }
	.product-buy { order:8; margin-top:8px; }
	.product-assurance { order:9; margin-top:0; }
	.product-card__body { padding:14px; }
	.product-card__body h3 { min-height:61px; font-size:17px; }
	.catalog-empty { display:grid; gap:20px; padding:28px; text-align:center; }
	.empty-art { margin:auto; }
	.about-grid { grid-template-columns:1fr; }
	.about-copy { grid-column:auto; }
	.request-card { padding:38px 24px; border-radius:30px; }
	.request-form { grid-template-columns:1fr; }
	.form-wide { grid-column:auto; }
	.footer-grid { grid-template-columns:1fr; }
	.site-footer { padding-bottom:110px; }
	.mobile-dock { position:fixed; z-index:120; left:10px; right:10px; bottom:9px; display:grid; grid-template-columns:repeat(5,1fr); align-items:end; padding:8px 7px calc(8px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.97); border:1px solid var(--line); border-radius:22px; box-shadow:0 18px 50px rgba(64,43,72,.17); backdrop-filter:blur(18px); }
	body #wolf-cookie.wolf-cookie { bottom:92px; width:calc(100% - 24px); border-radius:17px; }
	body #wolf-cookie .wolf-cookie-in { grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:11px 11px 11px 14px; }
	body #wolf-cookie p { font-size:10px; line-height:1.35; }
	body #wolf-cookie #wolf-cookie-ok { width:auto!important; min-width:78px; min-height:38px; padding:7px 11px; }
	.mobile-dock a,.mobile-dock button { position:relative; display:grid; place-items:center; gap:4px; padding:0; color:var(--violet-900); background:transparent; border:0; }
	.mobile-dock small { font-size:10px; font-weight:620; }
	.mobile-dock .dock-icon { position:relative; display:grid; width:28px; height:28px; place-items:center; }
	.mobile-dock .dock-icon>.ui-icon { width:22px; height:22px; }
	.mobile-dock b { position:absolute; top:-7px; right:-7px; display:grid; min-width:17px; height:17px; place-items:center; color:#fff; background:var(--berry); border:2px solid #fff; border-radius:50%; font-size:8px; }
	.mobile-dock .dock-main { margin-bottom:-25px; transform:translateY(-25px); }
	.mobile-dock .dock-main .dock-icon { width:50px; height:50px; color:#fff; background:var(--violet-600); border:5px solid #fff; border-radius:50%; box-shadow:0 8px 20px rgba(128,87,155,.24); }
	.mobile-dock .dock-main .ui-icon { width:23px; height:23px; }
	.product-layout { gap:25px; }
	.product-photo-note { border-radius:18px; }
	.product-details,.product-addons,.product-cross-sell,.product-related,.product-recent { padding-top:78px; }
	.product-tabs__nav { display:flex; overflow:auto; scroll-snap-type:x proximity; }
	.product-tabs__nav { scrollbar-width:none; }
	.product-tabs__nav::-webkit-scrollbar { display:none; }
	.product-tabs__nav button { min-width:180px; flex:1 0 auto; scroll-snap-align:start; }
	.product-tabs__panels { padding:26px; }
	.product-tab-panel:first-child { grid-template-columns:1fr; gap:24px; }
	.product-order-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.product-category-links { grid-template-columns:1fr; gap:12px; }
	.store-panel__shell { padding:23px; }
	.city-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.category-story { padding-bottom:85px; }
	.category-story>.site-shell { gap:18px; }
	.category-journal-hero { grid-template-columns:minmax(0,1fr); border-radius:34px; }
	.category-journal-hero__copy { padding:45px 30px; }
	.category-journal-hero__visual { min-height:440px; margin:0 18px 18px; }
	.category-editorial,.category-compare,.category-case { grid-template-columns:1fr; }
	.category-editorial,.category-steps,.category-related,.category-faq { padding:48px 30px; border-radius:32px; }
	.category-editorial header { position:static; }
	.category-inline-links { grid-column:auto; }
	.category-compare { padding:30px; }
	.category-quote { padding:55px 35px; }
	.category-quote__mark { left:8px; }
	.category-case__visual { min-height:420px; }
	.category-case__copy { padding:45px 30px; }
	.category-related__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.category-related-card:nth-child(even) { transform:none; }
	.category-final-cta { display:grid; padding:50px 34px; border-radius:32px; }
	.category-final-cta>.button { width:max-content; }
}

@media (max-width:480px) {
	.brand-copy small { display:none; }
	.brand-copy strong { font-size:18px; }
	.brand-logo { width:42px; height:42px; }
	.header-search button span { display:none; }
	.header-search button { width:40px; padding:0; justify-content:center; }
	.product-info h1 { margin:18px 0 16px; font-size:34px; line-height:1.04; }
	.hero-art { min-height:330px; }
	.hero-actions .button { width:100%; }
	.section-heading { display:grid; }
	.catalog-tools { display:grid; min-width:0; grid-template-columns:minmax(0,1fr); padding:15px; }
	.catalog-tools__summary,.catalog-tools__actions,.catalog-sort { width:100%; min-width:0; }
	.catalog-tools__actions { display:grid; grid-template-columns:minmax(0,1fr); }
	.filter-open { justify-content:center; }
	.catalog-sort { justify-content:space-between; }.catalog-sort select { width:100%; min-width:0; max-width:none; }
	.catalog-filter { padding-left:0; }
	.catalog-filter form { width:100%; padding:20px 16px; }
	.catalog-filter__header h2 { font-size:30px; }
	.catalog-filter__grid { grid-template-columns:1fr; }
	.catalog-filter__footer { bottom:-20px; margin:0 -16px -20px; padding:15px 16px calc(15px + env(safe-area-inset-bottom)); }
	.catalog-filter__footer .button { min-height:48px; padding-inline:20px; }
	.search-suggest__products { grid-template-columns:1fr; }
	.product-grid { grid-template-columns:1fr 1fr; }
	.product-card__favorite { top:8px; right:8px; width:40px; height:40px; }
	.product-card__badges { top:8px; left:8px; max-width:calc(100% - 56px); }
	.product-card__badges span { padding:5px 7px; font-size:9px; }
	.product-card__body { padding:11px; }
	.product-card__body h3 { min-height:76px; margin-bottom:8px; font-size:16px; line-height:1.18; -webkit-line-clamp:4; }
	.product-card__composition { min-height:53px; margin-bottom:9px; font-size:13px; line-height:1.36; -webkit-line-clamp:3; }
	.product-card__meta { margin-bottom:8px; gap:4px; }
	.product-card__meta span { padding:5px 7px; font-size:11px; }
	.product-card__bottom { display:grid; align-items:flex-end; gap:3px; padding-top:9px; }
	.product-card__bottom strong { font-size:18px; }
	.product-card__bottom a { font-size:12px; }
	.product-card__actions { grid-template-columns:1fr; gap:5px; margin-top:9px; }
	.product-card__actions button { min-height:42px; font-size:12px; }
	.catalog-mega__grid { grid-template-columns:1fr; }
	.round-link { width:32px; height:32px; }
	.about-card,.about-copy { min-height:270px; padding:28px; }
	.form-submit { display:grid; }
	.form-submit .button { width:100%; }
	.footer-bottom { display:grid; gap:8px; }
	.product-buy__actions .button { width:100%; }
	.product-breadcrumbs { margin-bottom:16px; }
	.product-breadcrumbs .breadcrumbs { display:flex; overflow:auto; white-space:nowrap; scrollbar-width:none; }
	.product-breadcrumbs__current,.product-breadcrumbs__current-separator { display:none; }
	.product-breadcrumbs .breadcrumbs::-webkit-scrollbar { display:none; }
	.product-media__favorite { top:12px; right:12px; width:42px; height:42px; }
	.product-media__zoom>span { left:12px; bottom:12px; padding:8px 10px; }
	.product-gallery-thumbs button { width:64px; height:64px; flex-basis:64px; border-radius:14px; }
	.product-photo-note { display:grid; gap:5px; padding:13px 15px; }
	.product-photo-note p { max-width:none; text-align:left; }
	.product-status-row { align-items:flex-start; }
	.product-status-row .product-rating,.product-status-row .product-status-note { text-align:right; }
	.product-variant-heading { align-items:start; }
	.product-variant-heading small { max-width:125px; }
	.variant-row small { font-size:12px; }
	.product-assurance>div { padding:10px 12px; }
	.product-section-heading h2 { font-size:36px; }
	.product-tabs { border-radius:24px; }
	.product-tabs__nav { padding:6px; }
	.product-tabs__nav button { min-width:156px; min-height:50px; padding:9px 12px; font-size:13px; }
	.product-tabs__panels { padding:20px 16px; }
	.product-tab-copy { font-size:16px; line-height:1.65; }
	.product-care-note { padding:22px 18px; }
	.product-tab-intro { grid-template-columns:1fr; gap:10px; }
	.product-tab-intro h3 { font-size:27px; }
	.product-size-guide,.product-order-steps,.product-delivery-grid { grid-template-columns:1fr; }
	.product-order-steps article { min-height:170px; }
	.product-size-guide article { grid-template-columns:38px minmax(0,1fr) auto; padding:14px 12px; gap:10px; }
	.product-size-guide article>span { width:36px; height:36px; }
	.product-addons,.product-cross-sell,.product-related { overflow:hidden; }
	.product-addon-grid { display:flex; margin-right:-15px; padding-right:15px; overflow:auto; scroll-snap-type:x proximity; }.product-addon-card { min-width:min(340px,calc(100vw - 24px)); grid-template-columns:88px minmax(0,1fr); scroll-snap-align:start; border-radius:19px; }.product-addon-card__media { min-height:124px; padding:6px; }.product-addon-card__media img { max-height:124px; }.product-addon-card__body { padding:14px 10px; }.product-addon-card h3 { margin:5px 0 10px; font-size:14px; }.product-addon-card footer { align-items:flex-end; gap:6px; }.product-addon-card footer strong { font-size:14px; }.product-addon-card footer button { min-height:36px; padding:6px 9px; font-size:11px; }
	.product-cross-sell .product-grid,.product-related .product-grid { display:flex; margin-right:-15px; padding-right:15px; overflow:auto; scroll-snap-type:x proximity; }
	.product-cross-sell .product-card,.product-related .product-card { min-width:225px; scroll-snap-align:start; }
	.product-reviews { margin-top:78px; padding:72px 0 95px; }
	.product-review-form { padding:24px 17px; border-radius:24px; }
	.product-gallery-viewer { padding:58px 4px 10px; }.product-gallery-viewer[open],.product-gallery-viewer[open].has-one-image { grid-template-columns:minmax(0,1fr); gap:0; }.product-gallery-viewer figure { max-width:100%; max-height:calc(100dvh - 68px); }.product-gallery-viewer figure img { max-width:100%; max-height:calc(100dvh - 96px); border-radius:12px; }.product-gallery-viewer__close { top:8px; right:8px; }.product-gallery-viewer__arrow { position:absolute; z-index:2; top:50%; width:42px; height:42px; margin-top:-21px; background:rgba(38,24,44,.58); }.product-gallery-viewer__arrow.is-prev { left:8px; }.product-gallery-viewer__arrow.is-next { right:8px; }.product-gallery-viewer__arrow .ui-icon { width:18px; height:18px; }
	.rating-choice { gap:4px; }
	.rating-choice span { min-height:40px; font-size:12px; }
	.bouquet-finder__shell { padding:24px 16px; }
	.bouquet-finder__grid { grid-template-columns:1fr; }
	.bouquet-finder__footer { display:grid; }
	.bouquet-finder__footer .button { width:100%; }
	.quick-order__shell { padding:22px 16px; }
	.quick-order__product { grid-template-columns:72px minmax(0,1fr); }
	.quick-order__product img { width:72px; }
	.quick-order__variant { padding:11px 10px; }
	.quick-order__variant { grid-template-columns:18px minmax(0,1fr); align-items:start; }
	.quick-order__variant-price { grid-column:2; justify-items:start; font-size:12px; }
	.quick-order__bot { grid-template-columns:44px minmax(0,1fr); gap:11px; padding:11px; }
	.quick-order__bot i { width:44px; height:44px; border-radius:50%; }
	.quick-order__bot strong { font-size:14px; }
	.quick-order__bot small { font-size:10px; }
	.quick-order__bot b { display:none; }
	.subcategories { padding-top:22px; overflow:hidden; }
	.store-panel--side { width:calc(100% - 12px); height:calc(100dvh - 12px); margin:6px; border-radius:24px; }
	.store-panel__shell { padding:20px 16px; }
	.store-panel__header h2 { font-size:31px; }
	.store-line { grid-template-columns:78px minmax(0,1fr); gap:12px; }
	.checkout-grid { grid-template-columns:1fr; }
	.checkout-wide { grid-column:auto; }
	.checkout-block { padding:15px; }
	.checkout-contact>div { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.checkout-bonus label { grid-template-columns:1fr 1fr; }.checkout-bonus label>span { grid-column:1/-1; }.checkout-bonus label button { padding:0 8px; }
	.city-results { grid-template-columns:1fr; }
	.store-toast { bottom:100px; }
	.breadcrumbs { margin-bottom:22px; }
	.category-journal-hero__copy { padding:38px 22px; }
	.category-journal-hero__visual { min-height:350px; border-radius:22px 22px 56px 22px; }
	.category-image-zoom__hint { left:12px; top:12px; padding:8px 10px; }
	.category-trust-stamp { width:88px; height:88px; }
	.category-facts { grid-template-columns:1fr; }
	.category-fact { border-right:0; border-bottom:1px solid var(--line); }
	.category-fact:nth-child(3) { border-bottom:1px solid var(--line); }
	.category-fact:last-child { border-bottom:0; }
	.category-editorial,.category-steps,.category-related,.category-faq { padding:38px 20px; }
	.category-compare { padding:22px 16px; }
	.category-quote { padding:45px 24px; }
	.category-quote figcaption>i { display:none; }
	.category-steps header,.category-related header,.category-faq header { display:grid; min-width:0; grid-template-columns:minmax(0,1fr); }
	.category-steps h2,.category-related h2,.category-faq h2 { min-width:0; overflow-wrap:anywhere; hyphens:auto; }
	.category-steps h2 { font-size:clamp(28px,8.5vw,34px); overflow-wrap:normal; word-break:normal; hyphens:none; }
	.category-steps ol,.category-related__grid { grid-template-columns:1fr; }
	.category-callout { grid-template-columns:1fr; gap:15px; padding:28px 22px; }
	.category-callout>span { width:max-content; }
	.category-case__visual { min-height:340px; }
	.category-case__copy { padding:35px 22px; }
	.category-related-card { min-height:300px; }
	.category-faq summary { grid-template-columns:30px minmax(0,1fr) 28px; gap:9px; }
	.category-faq summary>strong { font-size:15px; }
	.category-faq details>div { padding-left:39px; }
	.category-final-cta { padding:42px 24px; }
	.category-final-cta>.button { width:100%; }
}

@media (max-width:640px) {
	.category-page-hero__facts { display:flex; margin-right:-15px; padding-right:15px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; }
	.category-page-hero__facts::-webkit-scrollbar { display:none; }
	.category-page-hero__facts>li { flex:0 0 205px; scroll-snap-align:start; }
	.category-page-hero__facts>li:first-child { padding-left:0; }
}

@media (max-width:1024px) {
	.footer-top { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.footer-intro { grid-column:1/-1; }
	.footer-meta { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.footer-apps { grid-column:1/-1; }
	.service-hero__inner { grid-template-columns:1fr; gap:38px; }
	.service-hero__art { min-height:330px; }
	.service-steps-wrap,.service-faq-wrap { grid-template-columns:1fr; gap:35px; }
	.service-contact-hub,.service-faq-groups>section { grid-template-columns:1fr; }
	.reviews-contribute__layout { grid-template-columns:1fr; }
	.service-faq-topics { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.service-steps-wrap .service-heading,.service-faq-wrap .service-heading { max-width:720px; }
	.reviews-wall { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.city-directory { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.city-directory-browser__header { grid-template-columns:1fr; gap:24px; }.city-directory--compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.service-contact__inner { grid-template-columns:1fr; gap:38px; }
}

@media (max-width:960px) {
	html.has-mobile-menu { overflow:hidden; }
	.primary-nav { position:fixed; z-index:190; inset:0; width:100%; max-height:none; padding:18px 18px 120px; overflow:auto; overscroll-behavior:contain; background:linear-gradient(155deg,#fff 0%,#fcf9fd 66%,#f3eaf6 100%); border:0; border-radius:0; box-shadow:none; }
	body.admin-bar .primary-nav,body.admin-bar .catalog-mega { top:var(--wp-admin--admin-bar--height,46px); }
	.mobile-menu-head { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; padding-bottom:18px; border-bottom:1px solid var(--line); }
	.mobile-menu-head>a { display:flex; align-items:center; gap:11px; }.mobile-menu-head>a>img { width:42px; height:42px; border-radius:13px; }.mobile-menu-head>a>span { display:grid; }.mobile-menu-head strong { font-size:18px; }.mobile-menu-head small { color:var(--violet-600); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.11em; }
	.mobile-menu-head>button { display:grid; width:42px; height:42px; place-items:center; padding:0; color:var(--violet-800); background:#fff; border:1px solid var(--line); border-radius:13px; }.mobile-menu-head>button .ui-icon { width:21px; height:21px; }
	.primary-nav .nav-list { display:grid; gap:0; overflow:hidden; background:rgba(255,255,255,.82); border:1px solid var(--line); border-radius:18px; box-shadow:0 12px 35px rgba(63,42,72,.055); }.primary-nav .nav-list>li { position:relative; min-width:0; border-bottom:1px solid var(--line); }.primary-nav .nav-list>li:last-child { border-bottom:0; }.primary-nav .nav-list a { display:flex; min-height:54px; align-items:center; padding:12px 54px 12px 15px; background:transparent; border:0; border-radius:0; font-size:16px; }.primary-nav .nav-list a::after,.primary-nav .nav-list .f365-has-mega>a::before { display:none; }.primary-nav .nav-list>li:not(.f365-has-mega)>a { padding-right:15px; }.primary-nav .nav-list .f365-seasonal-menu { margin:5px; overflow:hidden; border:0; border-radius:14px; }.primary-nav .nav-list .f365-seasonal-menu>a { min-height:48px; margin:0; padding:10px 14px; border-radius:14px; }.mobile-menu-section-toggle { position:absolute; top:7px; right:7px; display:grid; width:40px; height:40px; place-items:center; padding:0; color:var(--violet-700); background:var(--violet-075); border:1px solid var(--violet-150); border-radius:12px; }.mobile-menu-section-toggle .ui-icon { width:19px; height:19px; transition:transform .2s ease; }.mobile-menu-section-toggle[aria-expanded="true"] .ui-icon { transform:rotate(90deg); }
	.primary-nav .nav-list .f365-seasonal-menu>a { margin:0 0 6px; color:#fff; background:linear-gradient(135deg,var(--berry),#b7558e); border:0; }
	.catalog-mega { position:fixed; z-index:195; inset:0; width:100%; max-height:none; padding:0 18px 120px; overflow:auto; background:linear-gradient(155deg,#fff 0%,#fcf9fd 78%,#f5edf7 100%); border:0; border-radius:0; }
	.catalog-mega__mobile-head { position:sticky; z-index:3; top:0; display:grid; min-height:77px; grid-template-columns:1fr auto 1fr; align-items:center; margin:0 -18px 18px; padding:14px 18px; background:rgba(255,255,255,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(16px); }
	.catalog-mega__mobile-head strong { font-size:17px; letter-spacing:-.02em; }
	.catalog-mega__mobile-head button { display:inline-flex; width:max-content; min-height:44px; align-items:center; justify-content:center; gap:7px; padding:0 12px; color:var(--violet-800); background:#fff; border:1px solid var(--line); border-radius:13px; box-shadow:0 7px 18px rgba(43,26,55,.06); font-size:14px; font-weight:800; cursor:pointer; }
	.catalog-mega__mobile-head button:last-child { width:44px; justify-self:end; padding:0; }
	.catalog-mega__mobile-head .ui-icon { width:20px; height:20px; }
	.catalog-mega__close { display:none; }
	.mobile-menu-extra { display:grid; gap:14px; margin-top:14px; padding:18px 12px 4px; border-top:1px solid var(--line); }
	.mobile-menu-extra>span { color:var(--violet-600); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.12em; }
	.mobile-menu-extra__links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 10px; }
	.mobile-menu-extra__links a { padding:7px 0; color:var(--muted); font-size:13px; font-weight:700; }
	.mobile-menu-extra__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.mobile-menu-extra__actions>button { display:grid; min-width:0; grid-template-columns:36px minmax(0,1fr) 15px; align-items:center; gap:9px; padding:9px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:14px; text-align:left; }.mobile-menu-extra__actions>button>img { width:36px; height:36px; border-radius:11px; }.mobile-menu-extra__actions>button>.ui-icon:first-child { width:20px; height:20px; margin:8px; color:var(--violet-600); }.mobile-menu-extra__actions>button>.ui-icon:last-child { width:15px; height:15px; color:var(--violet-500); }.mobile-menu-extra__actions>button>span { display:grid; min-width:0; }.mobile-menu-extra__actions small { color:var(--muted); font-size:8px; text-transform:uppercase; letter-spacing:.06em; }.mobile-menu-extra__actions strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
	.mobile-menu-extra__phone { display:inline-flex; width:max-content; max-width:100%; align-items:center; gap:8px; padding:3px 0; color:var(--violet-800); font-size:19px; font-weight:850; line-height:1.15; white-space:nowrap; }
	.mobile-menu-extra__phone .ui-icon { width:19px; height:19px; }
	.mobile-menu-extra__phones { display:grid; gap:8px; padding-top:2px; }
	.mobile-menu-extra__messengers { display:flex; flex-wrap:wrap; gap:7px; }
	.mobile-menu-extra__messengers a { display:flex; align-items:center; gap:7px; padding:5px 10px 5px 5px; background:var(--violet-075); border-radius:999px; font-size:11px; font-weight:800; }
	.mobile-menu-extra__messengers img { width:30px; height:30px; border-radius:50%; }
	.footer-top { grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px 22px; }
	.footer-actions-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.footer-actions-grid .footer-social-profiles { min-height:auto; grid-column:1/-1; justify-content:start; }
	.footer-meta { grid-template-columns:1fr; }
	.footer-apps { grid-column:auto; }
	.footer-apps>button { width:100%; min-width:0; }
	.contact-rail { right:12px; bottom:calc(94px + env(safe-area-inset-bottom)); }
	body:has(#wolf-cookie.is-in) { padding-bottom:74px; }
	body:has(#wolf-cookie.is-in) .contact-rail { bottom:calc(168px + env(safe-area-inset-bottom)); }
	.contact-rail__links { position:absolute; right:0; bottom:130px; }
	.contact-rail__links a:hover { transform:none; }
	.contact-rail__hint { right:0; bottom:64px; width:min(310px,calc(100vw - 24px)); }
	.contact-rail__toggle { min-width:56px; width:56px; padding:0; }.contact-rail__toggle span { display:none; }
	.pwa-steps { grid-template-columns:1fr; }.pwa-steps article { min-height:0; }.pwa-steps b { margin-bottom:18px; }
	html.has-mobile-menu .mobile-dock,html.has-mobile-menu .contact-rail,html.has-mobile-menu body #wolf-cookie.wolf-cookie { display:none!important; }
	.service-hero { padding:40px 0 66px; }
	.service-hero h1 { font-size:clamp(44px,12vw,64px); }
	.service-hero__copy>p { font-size:17px; }
	.service-hero__art { min-height:285px; border-radius:28px; }
	.service-section { padding:72px 0; }
	.service-heading { grid-template-columns:1fr; gap:12px; margin-bottom:30px; }
	.service-cards { grid-template-columns:1fr; }
	.service-cards article { min-height:235px; }
	.service-cards h3 { margin-top:45px; }
	.reviews-wall { grid-template-columns:1fr; }
	.city-directory { grid-template-columns:1fr; }
	.city-directory-browser { margin-top:38px; padding-top:32px; }.city-directory-browser__header { gap:20px; }.city-directory-browser__header h2 { font-size:36px; }.city-directory-filter { min-height:54px; }.city-directory-alphabet { gap:6px; }.city-directory-alphabet a { width:34px; height:34px; }.city-directory-group { grid-template-columns:44px minmax(0,1fr); gap:10px; }.city-directory-group>header { top:10px; }.city-directory-group>header>span { width:42px; height:42px; border-radius:14px; font-size:20px; }.city-directory--compact { grid-template-columns:1fr; }.city-directory--compact a { min-height:66px; }
	.service-document { padding:35px 28px; border-radius:26px; }
	.service-contact { padding-bottom:80px; }
	.service-contact__inner { padding:38px 25px; border-radius:30px; }
}

@media (max-width:520px) {
	.review-form-grid { grid-template-columns:1fr; }
	.rating-choice { display:flex; flex-direction:row; gap:5px; }.rating-choice label { min-width:0; flex:1 1 0; }.rating-choice span { width:100%; height:46px; }.rating-choice span .ui-icon { width:24px; height:24px; }
	.request-photo { grid-template-columns:1fr; }
	.request-photo>.request-photo__button { width:100%; justify-content:center; }
	.request-photo>small { display:block; text-align:center; }
	.review-photo-field { grid-template-columns:1fr; }
	.review-photo-field__trigger,.review-photo-field__button { width:100%; }
	.review-photo-field>small { display:block; text-align:center; }
	.review-photo-preview { justify-self:center; }
	.contact-rail { right:4px; }
	.contact-rail.is-scrolled .contact-rail__top { display:flex; width:48px; height:48px; }
	.single-product .variant-row { padding-right:64px; }
	.footer-top { grid-template-columns:minmax(0,1fr); }
	.footer-intro,.footer-column { min-width:0; }
	.footer-intro { grid-column:auto; }
	.footer-intro .footer-action-card--channels,.footer-intro .footer-messengers { width:100%; max-width:100%; }
	.footer-actions-grid { grid-template-columns:1fr; }
	.footer-actions-grid .footer-calculator-link,.footer-actions-grid .footer-account-link { height:68px; min-height:68px; padding:12px; }
	.footer-actions-grid .footer-social-profiles { grid-column:auto; grid-template-columns:1fr; justify-content:start; }
	.footer-actions-grid .footer-social-profiles>div { justify-content:flex-start; }
	.footer-column { padding-top:22px; border-top:1px solid rgba(255,255,255,.08); }
	.footer-column>strong { margin-bottom:13px; }
	.footer-apps>div { display:grid; grid-template-columns:1fr 1fr; }
	.footer-apps>div>span { min-width:0; }
	.service-hero__inner { gap:25px; }
	.service-hero__art { min-height:245px; }
	.service-hero__art i { width:70px; height:116px; top:69px; left:calc(50% - 35px); }
	.service-hero__art>span { right:20px; bottom:20px; font-size:50px; }
	.service-hero__art--photo>span { left:14px; right:auto; bottom:70px; max-width:calc(100% - 82px); padding:10px 12px; font-size:18px; line-height:1.05; }
	.service-hero__art--photo>span small { margin-top:5px; font-size:9px; }
	.service-steps li { grid-template-columns:48px minmax(0,1fr); padding:14px; }
	.service-steps b { width:44px; height:44px; }
	.service-steps span { font-size:15px; }
	.service-faq summary { min-height:68px; padding-left:17px; font-size:15px; }
	.service-faq details p { padding:0 18px 20px; }
	.service-contact-hub__copy { padding:30px 22px; }.service-contact-hub__links { grid-template-columns:1fr; }.service-map { min-height:420px; }.service-map__placeholder { padding:26px 22px; }.service-map iframe { min-height:420px; }.service-faq-topics { display:flex; margin-right:-15px; padding-right:15px; overflow-x:auto; scrollbar-width:none; }.service-faq-topics::-webkit-scrollbar { display:none; }.service-faq-topics a { flex:0 0 210px; }.service-faq-groups>section { padding:24px 16px; }.service-faq-groups>section>header { grid-template-columns:32px minmax(0,1fr); }.service-faq-groups>section>header>span { width:32px; height:32px; }.service-faq-groups h2 { font-size:27px; }
	.reviews-contribute__copy { padding-top:0; }.reviews-contribute__copy h2 { font-size:38px; }.reviews-page-form { padding:24px 17px; border-radius:24px; }
	.service-empty { padding:35px 20px; }
	.service-document { padding:28px 19px; font-size:16px; }
	.service-document h2 { font-size:27px; }
	.messenger-links a { grid-template-columns:46px minmax(0,1fr) auto; }
	.messenger-links img { width:46px; height:46px; }
}

@media (max-width:1024px) {
	.account-hero__inner { grid-template-columns:1fr; gap:35px; }
	.account-hero__art { min-height:260px; }
	.account-layout { grid-template-columns:1fr; }
	.account-side { position:static; }
}

@media (max-width:960px) {
	.account-hero { padding:42px 0 58px; }
	.account-hero .product-breadcrumbs { margin-bottom:26px; }
	.account-hero h1 { font-size:clamp(43px,11.5vw,60px); }
	.account-hero__inner>div:first-child>p { font-size:16px; }
	.account-hero__art { min-height:230px; }
	.account-shell { padding-top:25px; padding-bottom:95px; }
	.account-auth-grid,.account-benefits { grid-template-columns:1fr; }
	.account-oauth { grid-template-columns:1fr; }.account-oauth__consent { grid-column:auto; }.account-oauth__buttons { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.account-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.account-summary>a { min-height:50px; grid-column:1/-1; }
	.account-section-heading { align-items:start; flex-direction:column; }
	.account-section-heading .button { width:100%; }
	.account-order>summary { min-height:105px; grid-template-columns:minmax(0,1fr) 22px; gap:10px; }
	.account-order>summary .account-status,.account-order>summary>b { grid-row:2; }
	.account-order>summary>.ui-icon { grid-column:2; grid-row:1; }
	.account-order__body { padding:0 16px 20px; }
	.account-progress { display:flex; min-width:0; overflow-x:auto; overscroll-behavior-inline:contain; }
	.account-progress>span { min-width:108px; }
	.account-order__grid { grid-template-columns:1fr; }
}

@media (max-width:520px) {
	.account-hero__art { display:none; }
	.account-card,.account-profile { padding:22px 18px; border-radius:23px; }
	.account-form__grid { grid-template-columns:1fr; }
	.account-form__row { align-items:flex-start; flex-direction:column; }
	.account-oauth { padding:22px 18px; border-radius:23px; }.account-oauth__buttons,.account-oauth--connections .account-oauth__buttons { grid-template-columns:1fr; }.account-oauth-button { min-height:58px; }
	.account-benefits article { min-height:180px; }
	.account-summary { gap:7px; }
	.account-summary>div { min-height:92px; padding:13px; }.account-summary>div span { align-items:flex-start; font-size:9px; }.account-summary>div strong { font-size:27px; }
	.account-order>summary { padding:15px; }
	.account-order>summary .account-status { font-size:9px; }
	.account-order__products article { grid-template-columns:50px minmax(0,1fr); }.account-order__products article>img,.account-order__products article>.ui-icon { width:50px; height:58px; }.account-order__products article>strong,.account-order__line-price { grid-column:2; justify-items:start; }
}

@media (max-width:1180px) {
	.home-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.home-confidence__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.home-confidence__grid article { min-height:270px; }
}

@media (max-width:1024px) {
	.home-heading { align-items:start; }
	.home-journey__layout,.home-editorial__grid,.home-cities__layout { grid-template-columns:1fr; gap:46px; }
	.home-picker-story__card { grid-template-columns:1fr; }
	.home-picker-story__media { min-height:480px; }
	.home-picker-story__copy { padding:55px; }
	.home-editorial__grid { padding-top:42px; }
	.home-cities__layout>nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:960px) {
	.home-categories,.home-confidence,.home-journey,.home-picker-story,.home-editorial,.home-reviews,.home-faq,.home-cities { padding:76px 0; }
	.home-discovery { padding:72px 0; }.home-occasion-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.home-gifts-panel { grid-template-columns:1fr; }.home-gifts-panel__intro { max-width:540px; }.home-gifts-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.home-seasonal { padding:62px 0; }.home-seasonal__header { grid-template-columns:1fr; align-items:start; padding:27px; }.home-seasonal__button { width:max-content; }
	.home-heading { display:grid; gap:18px; }
	.home-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:220px; gap:10px; }
	.home-category-card.is-featured { grid-column:auto; grid-row:auto; }
	.home-category-card:last-child { grid-column:auto; }
	.home-category-card__copy { inset:auto 16px 16px; }
	.home-category-card__copy strong { font-size:21px; }
	.home-confidence__heading { display:grid; grid-template-columns:1fr; gap:8px; }
	.home-confidence__heading>span { grid-row:auto; padding-top:0; }
	.home-confidence__grid { gap:10px; }
	.home-confidence__grid article { min-height:245px; padding:21px; }
	.home-confidence__grid h3 { font-size:21px; }
	.home-journey__layout { gap:34px; }
	.home-journey__layout li { min-height:115px; padding:18px; }
	.home-picker-story__media { min-height:390px; }
	.home-picker-story__copy { padding:44px 28px; }
	.home-picker-story__copy>div { display:grid; }
	.home-picker-story__copy .button { width:100%; }
	.home-editorial__text { font-size:16px; }
	.home-cities__layout>nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:520px) {
	.home-category-grid { grid-auto-rows:190px; }
	.home-seasonal { padding:48px 0; }.home-seasonal__header { gap:23px; margin-bottom:20px; padding:22px 18px; border-radius:22px; }.home-seasonal h2 { font-size:30px; }.home-seasonal__copy>p { font-size:14px; }.home-seasonal__facts { display:grid; }.home-seasonal__facts>span { width:max-content; max-width:100%; }.home-seasonal__button { width:100%; min-width:0; }
	.home-discovery { padding:52px 0; }.home-discovery__heading { margin-bottom:22px; }.home-occasion-grid { gap:10px; }.home-occasion-card { min-height:190px; border-radius:19px; }.home-occasion-card__copy { right:14px; bottom:14px; left:14px; }.home-occasion-card__copy small { margin-bottom:6px; font-size:8px; }.home-occasion-card__copy strong { font-size:17px; }.home-occasion-card__copy em { margin-top:8px; font-size:10px; }.home-gifts-panel { gap:17px; margin-top:14px; padding:18px; border-radius:22px; }.home-gifts-panel__intro h3 { font-size:22px; }.home-gifts-grid { grid-template-columns:1fr; }.home-gifts-grid>a { min-height:76px; }.home-gifts-grid>a small { white-space:normal; }
	.home-category-card__copy small { font-size:8px; }
	.home-category-card__copy strong { font-size:18px; }
	.home-category-card__copy em { font-size:9px; }
	.home-confidence__grid { grid-template-columns:1fr; }
	.home-confidence__grid article { min-height:215px; }
	.home-journey__layout li { grid-template-columns:50px minmax(0,1fr); gap:13px; padding:15px; }
	.home-journey__layout li>b { width:46px; height:46px; }
	.home-journey__layout h3 { font-size:18px; }
	.home-picker-story__card { border-radius:28px; }
	.home-picker-story__media { min-height:300px; }
	.home-picker-story__copy { padding:36px 21px; }
	.home-picker-story__copy h2 { font-size:38px; }
	.home-cities__layout>nav { grid-template-columns:1fr; }
}

.category-subcategory-card__media--cover { aspect-ratio:4/3; }.category-subcategory-card__media--cover img { object-fit:cover; }.category-subcategories__grid { grid-template-columns:repeat(6,minmax(0,1fr)); }.category-subcategory-card__body { min-height:112px; align-content:start; padding:15px 45px 15px 15px; }.category-subcategory-card__body strong { display:-webkit-box; min-height:42px; overflow:hidden; font-size:17px; line-height:1.25; text-overflow:clip; white-space:normal; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.category-subcategory-card__body em { margin-top:10px; padding:6px 9px; font-size:12px; }.category-subcategory-card__arrow { right:13px; bottom:15px; width:30px; height:30px; }
@media (max-width:1320px) { .category-subcategories__grid { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media (max-width:1100px) { .category-subcategories__grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:960px) { .category-subcategories__grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:960px) { .category-subcategories__grid { display:flex; }.category-subcategory-card { min-width:245px; } }

@media (max-width:960px) { .error-page { padding:42px 0 105px; }.error-page__layout { grid-template-columns:1fr; gap:34px; }.error-page__visual { min-height:280px; border-radius:30px; }.error-page__visual img { top:24px; left:24px; width:58px; height:58px; padding:10px; border-radius:18px; }.error-page__visual small { right:24px; bottom:22px; }.error-page__copy h1 { margin-top:16px; font-size:clamp(42px,13vw,62px); }.error-page__copy>p { font-size:16px; } }
@media (max-width:480px) { .error-page__search { grid-template-columns:auto minmax(0,1fr); padding:10px 14px; }.error-page__search input[type="search"] { padding:11px 10px; }.error-page__search button { grid-column:1/-1; width:100%; }.error-page__actions { display:grid; grid-template-columns:1fr; }.error-page__actions .button { width:100%; } }
@media (max-width:360px) { .store-panel--side { width:calc(100vw - 12px); margin:6px; }.quick-order { max-height:calc(100dvh - 12px); margin:6px auto; }.store-panel__shell { padding:18px 12px; }.store-panel__header { gap:12px; }.store-line { grid-template-columns:70px minmax(0,1fr); gap:9px; padding:9px; }.store-line__controls,.store-line__actions { gap:6px; } }

.calculator-page { background:#fff; }.calculator-hero { position:relative; padding:72px 0 82px; overflow:hidden; background:linear-gradient(145deg,#faf6fa 0%,#fff 64%,#f6edf7 100%); border-bottom:1px solid rgba(128,87,155,.1); }.calculator-hero::before { position:absolute; top:-210px; left:-170px; width:430px; height:430px; background:rgba(214,92,130,.07); border-radius:50%; content:""; }.calculator-hero__layout { position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(410px,.95fr); align-items:center; gap:64px; }.calculator-hero__copy h1 { max-width:720px; margin:18px 0 0; font-size:clamp(50px,5.7vw,82px); line-height:.96; letter-spacing:-.06em; }.calculator-hero__copy>p { max-width:700px; margin:24px 0 0; color:var(--muted); font-size:17px; line-height:1.7; }.calculator-hero__copy>.button { margin-top:28px; }.calculator-hero__facts { display:flex; flex-wrap:wrap; gap:8px; margin-top:23px; }.calculator-hero__facts>span { display:flex; min-height:35px; align-items:center; gap:7px; padding:7px 11px; color:var(--violet-700); background:#fff; border:1px solid var(--line); border-radius:999px; box-shadow:0 7px 18px rgba(64,43,72,.04); font-size:11px; font-weight:750; }.calculator-hero__facts .ui-icon { width:16px; height:16px; }.calculator-hero__media { position:relative; min-width:0; aspect-ratio:4/3; margin:0; padding:10px; background:#fff; border-radius:34px; box-shadow:0 28px 70px rgba(61,39,70,.14); transform:rotate(1.2deg); }.calculator-hero__media>img { width:100%; height:100%; object-fit:cover; border-radius:26px; }.calculator-hero__media figcaption { position:absolute; right:28px; bottom:26px; left:28px; display:grid; gap:4px; padding:16px 19px; color:#fff; background:rgba(52,37,58,.86); border:1px solid rgba(255,255,255,.18); border-radius:17px; backdrop-filter:blur(14px); }.calculator-hero__media figcaption span { font-size:14px; font-weight:800; }.calculator-hero__media figcaption strong { color:rgba(255,255,255,.72); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.calculator-builder { padding:100px 0; background:#fff; }.calculator-builder__heading { align-items:end; }.calculator-builder__heading>p { max-width:530px; }.calculator-price-note { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:14px; margin:28px 0 24px; padding:16px 18px; color:#694f74; background:#faf5fb; border:1px solid #e8dceb; border-radius:17px; }.calculator-price-note>.ui-icon { width:23px; height:23px; margin:10px; }.calculator-price-note span { display:grid; gap:3px; }.calculator-price-note strong { font-size:14px; }.calculator-price-note small { color:var(--muted); font-size:12px; line-height:1.45; }.calculator-price-note>b { padding:7px 10px; background:#fff; border-radius:999px; font-size:12px; }.calculator-layout { display:grid; grid-template-columns:minmax(0,1fr) 410px; align-items:start; gap:24px; }.calculator-steps { display:grid; gap:17px; }.calculator-step { padding:26px; background:#fcfafc; border:1px solid var(--line); border-radius:25px; }.calculator-step>header { display:grid; grid-template-columns:38px 46px minmax(0,1fr); align-items:center; gap:11px; margin-bottom:20px; }.calculator-step>header>span { display:grid; width:38px; height:38px; place-items:center; color:var(--violet-700); background:#fff; border:1px solid var(--line); border-radius:12px; font-size:11px; font-weight:850; }.calculator-step>header>i { display:grid; width:46px; height:46px; place-items:center; color:#fff; background:linear-gradient(135deg,var(--violet-600),#a76fae); border-radius:14px; font-style:normal; }.calculator-step>header>i .ui-icon { width:23px; height:23px; }.calculator-step>header h2 { margin:0; font-size:23px; letter-spacing:-.035em; }.calculator-step>header p { margin:4px 0 0; color:var(--muted); font-size:14px; }.calculator-component-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.calculator-component { display:grid; min-width:0; grid-template-columns:44px minmax(0,1fr) 105px; align-items:center; gap:10px; padding:11px; background:#fff; border:1px solid rgba(74,54,82,.11); border-radius:16px; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }.calculator-component:hover { border-color:rgba(128,87,155,.32); }.calculator-component.is-selected { border-color:var(--violet-500); box-shadow:0 8px 24px rgba(95,60,111,.09); transform:translateY(-1px); }.calculator-component__mark { display:grid; width:44px; height:44px; place-items:center; color:var(--violet-700); background:linear-gradient(145deg,#f4eaf6,#fff); border-radius:13px; }.calculator-component__mark span { font-size:16px; font-weight:850; }.calculator-component__copy { min-width:0; }.calculator-component__copy h3 { overflow:hidden; margin:0; font-size:14px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }.calculator-component__copy p { margin:4px 0 0; color:#6f4c7c; font-size:11px; font-weight:750; }.calculator-component.needs-price .calculator-component__copy p { color:#a15a70; }.calculator-quantity { display:grid; grid-template-columns:32px minmax(34px,1fr) 32px; align-items:center; overflow:hidden; background:#f8f4f9; border:1px solid var(--line); border-radius:11px; }.calculator-quantity button { display:grid; width:32px; height:36px; place-items:center; padding:0; color:var(--violet-700); background:transparent; border:0; font-size:18px; cursor:pointer; }.calculator-quantity button:hover { background:#eee4f1; }.calculator-quantity input { width:100%; min-width:0; height:36px; padding:0; color:var(--ink); background:#fff; border:0; border-width:0 1px; border-color:var(--line); border-radius:0; box-shadow:none; font-size:13px; font-weight:800; text-align:center; -moz-appearance:textfield; }.calculator-quantity input::-webkit-inner-spin-button,.calculator-quantity input::-webkit-outer-spin-button { margin:0; -webkit-appearance:none; }
.calculator-summary { position:sticky; top:24px; padding:25px; background:#fff; border:1px solid rgba(74,54,82,.13); border-radius:26px; box-shadow:0 22px 60px rgba(61,39,70,.1); }.calculator-summary__top>span,.calculator-contact>span { color:var(--violet-600); font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.12em; }.calculator-summary__top h2 { margin:6px 0 0; font-size:30px; letter-spacing:-.045em; }.calculator-summary__top p { margin:7px 0 0; color:var(--muted); font-size:13px; }.calculator-summary__empty { display:grid; margin-top:18px; padding:24px; place-items:center; color:var(--muted); background:#faf7fb; border:1px dashed #d8c9dd; border-radius:17px; text-align:center; }.calculator-summary__empty>.ui-icon { width:27px; height:27px; color:var(--violet-500); }.calculator-summary__empty strong { margin-top:9px; color:var(--ink); font-size:15px; }.calculator-summary__empty small { margin-top:4px; font-size:12px; }.calculator-summary__items { display:grid; max-height:280px; margin:18px 0 0; padding:0; gap:0; overflow:auto; list-style:none; }.calculator-summary__items li { display:grid; grid-template-columns:minmax(0,1fr) auto 34px; align-items:center; gap:10px; padding:10px 2px; border-bottom:1px solid var(--line); }.calculator-summary__items li>span { display:grid; min-width:0; gap:2px; }.calculator-summary__items li strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }.calculator-summary__items li small { color:var(--muted); font-size:11px; }.calculator-summary__items li>b { flex:0 0 auto; color:var(--violet-700); font-size:11px; }.calculator-summary__items li>button { display:grid; width:34px; height:34px; place-items:center; padding:0; color:var(--muted); background:var(--violet-075); border:1px solid var(--line); border-radius:10px; font-size:20px; line-height:1; cursor:pointer; }.calculator-summary__items li>button:hover,.calculator-summary__items li>button:focus-visible { color:#fff; background:var(--berry); border-color:var(--berry); }.calculator-summary__work { display:flex; align-items:center; gap:10px; margin:12px 0 0; padding:12px; color:var(--violet-700); background:var(--violet-075); border-radius:13px; }.calculator-summary__work>.ui-icon { width:20px; height:20px; }.calculator-summary__work>span { display:grid; }.calculator-summary__work strong { font-size:12px; }.calculator-summary__work small { margin-top:2px; color:var(--muted); font-size:11px; }.calculator-summary__total { display:grid; gap:5px; margin-top:16px; padding:17px 0; border:1px solid var(--line); border-width:1px 0; }.calculator-summary__total>span { display:flex; align-items:end; justify-content:space-between; gap:16px; }.calculator-summary__total small { color:var(--muted); font-size:12px; }.calculator-summary__total strong { color:var(--violet-800); font-size:24px; letter-spacing:-.035em; }.calculator-summary__total>p { margin:0; color:var(--muted); font-size:11px; }.calculator-contact { display:grid; gap:12px; margin-top:20px; }.calculator-contact h3 { margin:-5px 0 0; font-size:21px; }.calculator-contact>p { margin:-4px 0 3px; color:var(--muted); font-size:12px; line-height:1.5; }.calculator-contact label:not(.review-consent) { display:grid; gap:5px; }.calculator-contact label>span { color:var(--ink); font-size:12px; font-weight:750; }.calculator-contact label>span>small { color:var(--muted); font-size:10px; font-weight:600; }.calculator-contact input:not([type=checkbox]),.calculator-contact textarea { width:100%; min-height:46px; padding:10px 12px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:11px; outline:0; box-shadow:none; font-size:14px; }.calculator-contact textarea { min-height:82px; resize:vertical; }.calculator-contact input:focus,.calculator-contact textarea:focus { border-color:var(--violet-500); box-shadow:0 0 0 2px rgba(128,87,155,.1); }.calculator-contact__grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.calculator-contact__consent { padding:11px; font-size:11px; line-height:1.45; }.calculator-contact>.button { width:100%; justify-content:center; }.calculator-contact>.button:disabled { cursor:not-allowed; opacity:.5; }.calculator-how,.calculator-faq { padding:88px 0; background:#faf7fb; }.calculator-faq { padding-top:0; }.calculator-how .service-cards article>.ui-icon { display:block; width:28px; height:28px; margin-bottom:14px; color:var(--violet-600); }
@media (max-width:1180px) { .calculator-hero__layout { grid-template-columns:minmax(0,1fr) minmax(360px,.8fr); gap:38px; }.calculator-layout { grid-template-columns:minmax(0,1fr) 370px; }.calculator-component { grid-template-columns:40px minmax(0,1fr); }.calculator-component__mark { width:40px; height:40px; }.calculator-quantity { grid-column:1/-1; } }
@media (max-width:960px) { .calculator-hero { padding:52px 0 64px; }.calculator-hero__layout { grid-template-columns:1fr; }.calculator-hero__copy h1 { font-size:clamp(48px,12vw,70px); }.calculator-hero__media { max-width:720px; width:100%; justify-self:center; transform:none; }.calculator-builder { padding:72px 0; }.calculator-layout { grid-template-columns:1fr; }.calculator-summary { position:static; }.calculator-component { grid-template-columns:44px minmax(0,1fr) 105px; }.calculator-quantity { grid-column:auto; }.calculator-how,.calculator-faq { padding:70px 0; }.calculator-faq { padding-top:0; } }
@media (max-width:620px) { .calculator-hero { padding-top:36px; }.calculator-hero__layout { gap:32px; }.calculator-hero__copy h1 { margin-top:14px; font-size:44px; }.calculator-hero__copy>p { margin-top:18px; font-size:15px; }.calculator-hero__facts { display:grid; }.calculator-hero__facts>span { width:max-content; max-width:100%; }.calculator-hero__media { padding:7px; border-radius:24px; }.calculator-hero__media>img { border-radius:19px; }.calculator-hero__media figcaption { right:17px; bottom:16px; left:17px; padding:12px 14px; }.calculator-builder { padding:54px 0; }.calculator-builder__heading { display:grid; }.calculator-price-note { grid-template-columns:38px minmax(0,1fr); }.calculator-price-note>.ui-icon { margin:7px; }.calculator-price-note>b { grid-column:2; width:max-content; }.calculator-step { padding:18px 14px; border-radius:20px; }.calculator-step>header { grid-template-columns:34px 40px minmax(0,1fr); }.calculator-step>header>span { width:34px; height:34px; }.calculator-step>header>i { width:40px; height:40px; }.calculator-step>header h2 { font-size:19px; }.calculator-component-grid { grid-template-columns:1fr; }.calculator-component { grid-template-columns:42px minmax(0,1fr) 104px; }.calculator-component__mark { width:42px; height:42px; }.calculator-quantity { grid-column:auto; }.calculator-summary { padding:20px 16px; border-radius:22px; }.calculator-contact__grid { grid-template-columns:1fr; }.calculator-how,.calculator-faq { padding:58px 0; }.calculator-faq { padding-top:0; }.bouquet-finder__footer>span { display:grid; } }
@media (max-width:380px) { .calculator-component { grid-template-columns:40px minmax(0,1fr); }.calculator-component__mark { width:40px; height:40px; }.calculator-quantity { grid-column:1/-1; }.calculator-hero__copy h1 { font-size:39px; } }

/* Readability pass 2: user-facing helper copy and form values stay legible on every viewport. */
.hero-note p,.request-photo>small,.reviews-page-form__lead,.review-verification-note,.review-rating-field>p,.product-buy__bonus,.account-check,.category-fact p,.direction-card>p,.category-compare header p,.product-photo-note,.account-oauth>header>p { font-size:14px; }
.request-form label>span,.account-form>label>span,.account-form__grid label>span,.account-profile label>span { font-size:14px; }
.account-oauth>header>span { font-size:12px; }.account-oauth-button b { font-size:14px; }.account-oauth-button small { font-size:12px; }.account-oauth__consent { font-size:13px; }
.calculator-price-note small,.calculator-component__copy p,.calculator-summary__top p,.calculator-summary__empty small,.calculator-summary__items li strong,.calculator-summary__items li small,.calculator-summary__items li>b,.calculator-summary__work strong,.calculator-summary__work small,.calculator-summary__total small,.calculator-summary__total>p,.calculator-contact>p,.calculator-contact label>span,.calculator-contact__consent { font-size:14px; }
.calculator-quantity input,.calculator-contact input:not([type=checkbox]),.calculator-contact textarea { font-size:16px; }
.calculator-quantity { grid-template-columns:44px minmax(40px,1fr) 44px; }.calculator-quantity button { width:44px; height:44px; font-size:20px; }.calculator-quantity input { height:44px; }
.calculator-component { grid-template-columns:84px minmax(0,1fr); grid-template-areas:"photo copy" "controls controls"; align-items:start; gap:11px 13px; padding:14px; }.calculator-component__mark { grid-area:photo; width:84px; height:84px; margin:0; overflow:hidden; background:#fff; border:1px solid var(--line); }.calculator-component__mark img { width:100%; height:100%; object-fit:contain; background:#fff; }.calculator-component__copy { grid-area:copy; align-self:center; padding:3px 0; }.calculator-component__copy h3 { font-size:16px; line-height:1.28; white-space:normal; }.calculator-component__copy p { margin-top:6px; }.calculator-component__controls { display:grid; grid-area:controls; grid-template-columns:minmax(0,1fr) 128px; align-items:end; gap:8px; }.calculator-component__options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.calculator-component__options:empty { display:block; }.calculator-component__options label { display:grid; min-width:0; gap:4px; }.calculator-component__options label>span,.calculator-quantity__label { color:var(--muted); font-size:12px; font-weight:750; line-height:1.2; }.calculator-component__options select { width:100%; min-width:0; min-height:40px; padding:6px 28px 6px 10px; color:var(--ink); background-color:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:none; font-size:14px; }.calculator-quantity { display:grid; grid-template-columns:1fr; gap:4px; overflow:visible; background:transparent; border:0; border-radius:0; }.calculator-quantity__control { display:grid; grid-template-columns:40px minmax(38px,1fr) 40px; align-items:center; overflow:hidden; background:#f8f4f9; border:1px solid var(--line); border-radius:10px; }.calculator-quantity__control button { width:40px; height:40px; }.calculator-quantity__control input { height:40px; }.calculator-component-grid { align-items:start; }
.calculator-component__options>label:only-child { grid-column:1/-1; width:min(100%,160px); }
button.calculator-component__zoom { position:relative; padding:0; appearance:none; cursor:zoom-in; }.calculator-component__zoom:focus-visible { outline:3px solid var(--violet-500); outline-offset:3px; }.calculator-component__zoom-icon { position:absolute; right:5px; bottom:5px; display:grid; width:25px; height:25px; place-items:center; color:#fff; background:rgba(57,35,68,.9); border:1px solid rgba(255,255,255,.64); border-radius:50%; box-shadow:0 5px 14px rgba(45,26,54,.24); transition:transform .18s ease,background-color .18s ease; }.calculator-component__zoom-icon .ui-icon { width:13px; height:13px; }.calculator-component__zoom:hover .calculator-component__zoom-icon,.calculator-component__zoom:focus-visible .calculator-component__zoom-icon { background:var(--violet-700); transform:scale(1.08); }
@media (max-width:1180px) { .calculator-component { grid-template-columns:76px minmax(0,1fr); }.calculator-component__mark { width:76px; height:76px; } }
@media (max-width:620px) { .calculator-component { grid-template-columns:76px minmax(0,1fr); gap:10px 12px; padding:12px; }.calculator-component__mark { width:76px; height:76px; }.calculator-component__controls { grid-template-columns:minmax(0,1fr) 108px; gap:6px; }.calculator-component__options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }.calculator-component__options select { min-height:40px; padding-right:22px; font-size:13px; }.calculator-quantity__control { grid-template-columns:40px minmax(28px,1fr) 40px; } }
@media (max-width:380px) { .calculator-component { grid-template-columns:72px minmax(0,1fr); }.calculator-component__mark { width:72px; height:72px; }.calculator-component__controls { grid-template-columns:1fr; }.calculator-component__options { grid-template-columns:repeat(2,minmax(0,1fr)); }.calculator-quantity { width:128px; justify-self:end; } }

/* Readability pass 3: transactional and consent copy must never look like fine print. */
.reviews-contribute__copy li small,.reviews-page-form .form-notice,.product-review-form label>span,.product-review-form legend,.product-review-form label>.review-photo-field__button,.review-photo-field>small,.review-consent span { font-size:14px!important; }
.checkout-account-note,.checkout-important-notice,.checkout-grid label>span,.checkout-contact legend,.checkout-contact label>span,.checkout-contact-profile small,.checkout-card-option>label:first-child b,.checkout-card-option>label:first-child small,.checkout-total>div,.checkout-total>p,.checkout-consent,.checkout-form>small { font-size:14px; }
.checkout-heading span,.checkout-block>header small,.checkout-important-notice strong { font-size:12px; }
.checkout-bonus span { font-size:12px; }.checkout-bonus p,.checkout-bonus a,.checkout-bonus label button { font-size:14px; }
.account-oauth-button small,.account-oauth__consent,.account-form>header span,.account-form__row,.account-form__row>a { font-size:14px; }
.account-order>summary small,.account-status,.account-order__option b,.account-order__option small,.account-order__products article a,.account-order__products article small,.account-order__products article>strong,.account-order__products footer,.account-order__line-price strong,.account-order__details dl>div,.account-order__history strong,.account-order__history p,.account-order__history small,.account-profile label small { font-size:14px; }
@media (max-width:620px) { .product-card__composition { min-height:58px; font-size:14px; }.product-card__actions button { font-size:13px; } }

/* Readability pass 4: compact navigation and commerce labels remain comfortably readable. */
.header-search button,.catalog-picker-button,.filter-open,.category-subcategories__toggle,.page-numbers,.filter-options label,.catalog-filter__footer>a { font-size:14px; }
.product-card__badges span,.product-card__price small { font-size:11px; }.product-card__meta span,.product-card__bottom a { font-size:13px; }.product-card__actions button { font-size:14px; }
.home-category-card__copy small { font-size:11px; }.home-category-card__copy em,.home-cities__layout>nav small { font-size:12px; }
.category-page-hero__facts small { font-size:11px; }.category-page-hero__facts strong { font-size:14px; }.category-kicker,.category-compare header>span,.category-final-cta>div>span,.category-related-card>small,.category-related-card>em,.category-image-zoom__hint { font-size:12px; }.category-trust-stamp { font-size:10px; }.category-subcategory-card__body em { font-size:13px; }
.footer-messengers a { font-size:13px; }.footer-account-link { font-size:14px; }.footer-apps small { font-size:11px; }.footer-meta>div>span { font-size:11px; }
.art-caption small,.service-hero__art--photo>span small,.category-callout>span,.category-case__visual>span,.category-case__copy>small,.category-case__copy>p span,.category-quote figcaption small,.category-quote figcaption>i { font-size:12px; }
.catalog-hero__skip,.request-photo>.request-photo__button,.product-addon-card footer button { font-size:14px; }.product-availability,.product-status-note { font-size:13px; }.product-details__content,.product-tab-footnote { font-size:14px; }
@media (max-width:620px) { .product-card__badges span,.product-card__price small { font-size:11px; }.product-card__actions button { font-size:14px; }.home-category-card__copy small { font-size:10px; }.home-category-card__copy em { font-size:11px; } }
@media (max-width:620px) { .product-tabs__nav button,.product-addon-card footer button { font-size:14px; } }
@media (max-width:620px) { .product-addon-card footer button { min-height:42px; } }
/* Mobile category stories: grid items and long callout labels must shrink inside the viewport. */
@media (max-width:680px) { .category-story>.site-shell>* { width:100%; min-width:0; }.category-callout>span { width:fit-content; max-width:100%; overflow-wrap:anywhere; } }
/* Readability pass 5: product navigation and availability are regular copy, not fine print. */
.product-card__meta span,.product-card__bottom a,.product-availability,.product-status-note { font-size:14px; }
/* Calculator summary actions keep a reliable mobile touch target. */
.calculator-summary__items li { grid-template-columns:minmax(0,1fr) auto 40px; }
.calculator-summary__items li>button { width:40px; height:40px; border-radius:11px; }
/* Calculator discovery: visible header entry points and a reusable site-wide promo. */
.service-calculator { padding:6px 10px; color:var(--violet-800)!important; background:var(--violet-075); border:1px solid var(--violet-150); border-radius:999px; font-weight:800; }.catalog-calculator-link { display:inline-flex; min-height:39px; flex:0 0 auto; align-items:center; gap:7px; margin-left:10px; padding:0 13px; color:var(--violet-800); background:#fff; border:1px solid var(--violet-200); border-radius:13px; box-shadow:0 8px 18px rgba(88,56,100,.08); font-size:12px; font-weight:800; white-space:nowrap; }.catalog-calculator-link:hover { color:#fff; background:var(--violet-700); border-color:var(--violet-700); }.catalog-calculator-link .ui-icon { width:16px; height:16px; }.mobile-menu-calculator { display:none; }.calculator-promo { padding:34px 0 84px; background:linear-gradient(180deg,transparent,#faf7fb); }.calculator-promo__card { position:relative; display:grid; min-height:390px; grid-template-columns:minmax(0,1fr) minmax(340px,44%); align-items:stretch; overflow:hidden; color:var(--ink); background:linear-gradient(135deg,#f8f1fa,#fff 52%,#f5edf8); border:1px solid var(--violet-150); border-radius:32px; box-shadow:0 24px 70px rgba(67,43,77,.11); }.calculator-promo__copy { display:flex; flex-direction:column; justify-content:center; padding:48px 24px 48px 48px; }.calculator-promo__copy h2 { max-width:700px; margin:13px 0 0; font-size:clamp(34px,3.2vw,52px); line-height:1.02; letter-spacing:-.055em; }.calculator-promo__copy>p { max-width:670px; margin:18px 0 0; color:var(--muted); font-size:16px; line-height:1.65; }.calculator-promo__copy ul { display:flex; flex-wrap:wrap; margin:24px 0 0; padding:0; gap:8px; list-style:none; }.calculator-promo__copy li { display:inline-flex; min-height:38px; align-items:center; gap:8px; padding:7px 11px; color:var(--violet-800); background:rgba(255,255,255,.78); border:1px solid var(--violet-150); border-radius:999px; font-size:12px; font-weight:750; }.calculator-promo__copy li .ui-icon { width:17px; height:17px; color:var(--berry); }.calculator-promo__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }.calculator-promo__actions .button { min-height:48px; }.calculator-promo__media { position:relative; min-height:390px; margin:0; overflow:hidden; background:var(--violet-100); }.calculator-promo__media>img { width:100%; height:100%; object-fit:cover; object-position:center; }.calculator-promo__media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(248,241,250,.22),transparent 30%); pointer-events:none; }.calculator-promo__media figcaption { position:absolute; z-index:1; left:20px; right:20px; bottom:20px; display:flex; align-items:center; gap:12px; padding:15px 16px; color:#fff; background:rgba(48,31,55,.84); border:1px solid rgba(255,255,255,.18); border-radius:17px; backdrop-filter:blur(12px); }.calculator-promo__media figcaption>.ui-icon { width:24px; height:24px; flex:0 0 auto; }.calculator-promo__media figcaption>span { display:grid; gap:3px; }.calculator-promo__media figcaption strong { font-size:14px; }.calculator-promo__media figcaption small { color:rgba(255,255,255,.76); font-size:11px; }.calculator-promo a { cursor:pointer; }
@media (max-width:1280px) { .catalog-calculator-link span { display:none; }.catalog-calculator-link { width:39px; justify-content:center; padding:0; }.calculator-promo__copy { padding-left:34px; } }
@media (max-width:960px) { .catalog-calculator-link { display:none; }.mobile-menu-calculator { display:grid; min-height:68px; grid-template-columns:42px minmax(0,1fr) 20px; align-items:center; gap:11px; padding:11px 12px; color:#fff; background:linear-gradient(135deg,var(--violet-700),var(--berry)); border-radius:16px; box-shadow:0 12px 28px rgba(104,65,121,.2); }.mobile-menu-calculator>.ui-icon:first-child { width:22px; height:22px; margin:10px; }.mobile-menu-calculator>.ui-icon:last-child { width:18px; height:18px; }.mobile-menu-calculator>span { display:grid; gap:2px; }.mobile-menu-calculator small { color:rgba(255,255,255,.72); font-size:9px; font-weight:750; text-transform:uppercase; letter-spacing:.08em; }.mobile-menu-calculator strong { font-size:15px; }.calculator-promo { padding:24px 0 64px; }.calculator-promo__card { min-height:0; grid-template-columns:1fr; }.calculator-promo__copy { padding:34px 28px 30px; }.calculator-promo__media { min-height:300px; }.calculator-promo__media>img { object-position:center 42%; } }
@media (max-width:620px) { .calculator-promo { padding:18px 0 52px; }.calculator-promo__card { border-radius:24px; }.calculator-promo__copy { padding:27px 20px 24px; }.calculator-promo__copy h2 { font-size:32px; }.calculator-promo__copy>p { margin-top:14px; font-size:15px; }.calculator-promo__copy ul { display:grid; margin-top:20px; }.calculator-promo__copy li { width:100%; border-radius:13px; }.calculator-promo__actions { display:grid; margin-top:23px; }.calculator-promo__actions .button { width:100%; justify-content:center; }.calculator-promo__media { min-height:235px; }.calculator-promo__media figcaption { left:12px; right:12px; bottom:12px; }.calculator-promo__media figcaption small { font-size:10px; } }
/* Readability pass 6: calculator discovery facts and option values are normal interface copy. */
.calculator-promo__copy li { font-size:14px; }
.calculator-component__options select { font-size:16px; }
@media (max-width:620px) { .calculator-component__options select { font-size:16px; } }
/* Filter pass: budget leads, desktop exposes the whole decision set, mobile keeps price open. */
.catalog-filter form { width:min(1080px,100%); }
.catalog-filter__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.catalog-filter__price { grid-column:1/-1; background:linear-gradient(135deg,#fff,var(--violet-075))!important; border-color:var(--violet-150)!important; }
.catalog-filter summary { justify-content:flex-start; }
.catalog-filter summary>span { min-width:0; flex:1; }
.catalog-filter__icon { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; color:var(--violet-700); background:var(--violet-075); border:1px solid var(--violet-150); border-radius:11px; }
.catalog-filter__icon .ui-icon { width:17px; height:17px; }
.catalog-filter__price .catalog-filter__icon { color:#fff; background:var(--violet-700); border-color:var(--violet-700); }
.catalog-filter__price .catalog-price-range--panel { margin:0 16px 18px; padding:15px 16px; }
.catalog-filter__price .catalog-price-range header span { font-size:12px; }
/* Bouquet finder: the constructor is a primary path, not a small secondary text link. */
.bouquet-finder__calculator { display:grid; grid-template-columns:48px minmax(0,1fr) 38px; align-items:center; gap:14px; margin:-5px 0 22px; padding:14px; color:#fff; background:linear-gradient(135deg,var(--violet-800),var(--violet-600)); border:1px solid rgba(255,255,255,.16); border-radius:19px; box-shadow:0 16px 35px rgba(79,48,94,.18); cursor:pointer; }
.bouquet-finder__calculator>i,.bouquet-finder__calculator>b { display:grid; place-items:center; font-style:normal; }
.bouquet-finder__calculator>i { width:48px; height:48px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.16); border-radius:14px; }
.bouquet-finder__calculator>i .ui-icon { width:23px; height:23px; }
.bouquet-finder__calculator>span { display:grid; gap:2px; }
.bouquet-finder__calculator small { color:rgba(255,255,255,.68); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.bouquet-finder__calculator strong { color:#fff; font-size:17px; }
.bouquet-finder__calculator em { color:rgba(255,255,255,.78); font-size:12px; font-style:normal; line-height:1.45; }
.bouquet-finder__calculator>b { width:38px; height:38px; background:#fff; border-radius:50%; color:var(--violet-800); }
.bouquet-finder__calculator>b .ui-icon { width:18px; height:18px; }
.bouquet-finder__calculator:hover,.bouquet-finder__calculator:focus-visible { color:#fff; transform:translateY(-2px); }
/* Calculator promo uses a readable interface preview instead of an unrelated bouquet photograph. */
.calculator-promo__interface { display:flex; min-width:0; flex-direction:column; align-self:center; margin:30px; padding:20px; color:var(--ink); background:rgba(255,255,255,.95); border:1px solid var(--violet-150); border-radius:24px; box-shadow:0 25px 60px rgba(65,40,75,.16); cursor:pointer; }
.calculator-promo__interface>header { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:11px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.calculator-promo__interface>header>i { display:grid; width:42px; height:42px; place-items:center; color:#fff; background:var(--violet-700); border-radius:13px; }
.calculator-promo__interface>header>i .ui-icon { width:21px; height:21px; }
.calculator-promo__interface>header>span { display:grid; }
.calculator-promo__interface>header small,.calculator-promo__steps small,.calculator-promo__interface>footer small { color:var(--muted); font-size:10px; font-weight:750; }
.calculator-promo__interface>header strong { font-size:17px; }
.calculator-promo__interface>header>b { padding:6px 9px; color:var(--violet-700); background:var(--violet-075); border-radius:999px; font-size:11px; }
.calculator-promo__steps { display:grid; gap:8px; padding:16px 0; }
.calculator-promo__steps>span { display:grid; grid-template-columns:38px minmax(0,1fr) 18px; align-items:center; gap:10px; padding:10px; background:#faf8fb; border:1px solid var(--line); border-radius:14px; }
.calculator-promo__steps>span>i { display:grid; width:38px; height:38px; place-items:center; color:var(--violet-700); background:#fff; border:1px solid var(--line); border-radius:11px; }
.calculator-promo__steps>span>i .ui-icon { width:19px; height:19px; }
.calculator-promo__steps>span>em { display:grid; font-style:normal; }
.calculator-promo__steps>span>em strong { font-size:13px; }
.calculator-promo__steps>span>.ui-icon { width:17px; height:17px; color:var(--muted); }
.calculator-promo__steps>span.is-active { background:var(--violet-075); border-color:var(--violet-200); }
.calculator-promo__steps>span.is-active>i { color:#fff; background:var(--berry); border-color:var(--berry); }
.calculator-promo__interface>footer { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-top:15px; border-top:1px solid var(--line); }
.calculator-promo__interface>footer>span { display:grid; }
.calculator-promo__interface>footer>span strong { color:var(--violet-800); font-size:13px; }
.calculator-promo__interface>footer>b { display:inline-flex; min-height:40px; align-items:center; gap:8px; padding:0 13px; color:#fff; background:var(--violet-700); border-radius:999px; font-size:12px; }
.calculator-promo__interface>footer>b .ui-icon { width:15px; height:15px; }
/* Footer keeps the constructor visible even when custom WordPress menus are assigned. */
.footer-calculator-link { display:grid; width:min(100%,330px); grid-template-columns:40px minmax(0,1fr) 18px; align-items:center; gap:10px; margin:0 0 10px; padding:10px; color:#fff; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15); border-radius:14px; cursor:pointer; }
.footer-calculator-link>.ui-icon:first-child { width:20px; height:20px; margin:10px; color:var(--violet-300); }
.footer-calculator-link>.ui-icon:last-child { width:17px; height:17px; color:var(--violet-300); }
.footer-calculator-link>span { display:grid; }
.footer-calculator-link small { color:rgba(255,255,255,.58); font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:.07em; }
.footer-calculator-link strong { color:#fff; font-size:14px; }
.footer-calculator-link:hover,.footer-calculator-link:focus-visible { color:#fff; background:rgba(255,255,255,.16); }
@media (max-width:960px) { .catalog-filter__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.catalog-filter__price { grid-column:1/-1; }.calculator-promo__interface { margin:0 28px 30px; } }
@media (max-width:620px) { .catalog-filter__grid { grid-template-columns:1fr; }.catalog-filter__price { grid-column:auto; }.catalog-filter summary { min-height:58px; padding:0 13px; }.catalog-filter__icon { width:36px; height:36px; flex-basis:36px; }.bouquet-finder__calculator { grid-template-columns:43px minmax(0,1fr) 34px; gap:10px; margin-bottom:18px; padding:11px; border-radius:16px; }.bouquet-finder__calculator>i { width:43px; height:43px; }.bouquet-finder__calculator strong { font-size:15px; }.bouquet-finder__calculator em { display:none; }.bouquet-finder__calculator>b { width:34px; height:34px; }.calculator-promo__interface { margin:0 14px 18px; padding:14px; border-radius:19px; }.calculator-promo__interface>header { grid-template-columns:38px minmax(0,1fr) auto; }.calculator-promo__interface>header>i { width:38px; height:38px; }.calculator-promo__steps>span { grid-template-columns:36px minmax(0,1fr) 16px; padding:8px; }.calculator-promo__steps>span>i { width:36px; height:36px; }.calculator-promo__interface>footer { display:grid; }.calculator-promo__interface>footer>b { width:100%; justify-content:center; }.footer-calculator-link { width:100%; } }
.home-gifts-panel__intro p,.review-contact-note { font-size:14px; }
@media (max-width:360px) { .header-row { grid-template-columns:minmax(0,1fr) auto; }.header-tools { display:none; }.menu-toggle { grid-column:2; } }
@media (prefers-reduced-motion:reduce) {
	* { scroll-behavior:auto!important; transition:none!important; }
}
