:root {
  --green: #62c95a;
  --green-dark: #2d9d48;
  --coral: #f26678;
  --text: #2d2d2f;
  --muted: #7c7c82;
  --line: #e8e8e8;
  --paper: #fff;
  --soft: #f6f6f6;
  --purple: #7867d8;
  --container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--paper); font-family: Arial, Helvetica, sans-serif; -webkit-font-smoothing: antialiased; }
body.modal-open { overflow: hidden; }
body.drawer-open { overflow: hidden; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
img, video { max-width: 100%; }
h1, h2, h3, p, a, button, label, span, strong, small { overflow-wrap: break-word; }
.svg-sprite { display: none; }
.container { width: min(var(--container), calc(100% - 40px)); margin-inline: auto; }

.promo-bar { min-height: 42px; background: var(--green); color: white; }
.promo-inner { min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 6px; position: relative; font-size: 14px; }
.promo-flower { font-size: 21px; color: #fff7ac; }
.promo-close { position: absolute; right: 0; border: 0; background: none; color: white; font-size: 24px; cursor: pointer; opacity: .8; }

.seasonal-strip { position:relative; z-index:11; overflow:hidden; color:#fff; background:linear-gradient(100deg,#27152f 0%,#4a1e45 48%,#7b2e43 100%); box-shadow:0 8px 26px rgba(44,18,48,.16); }
.seasonal-strip::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 28% 20%,rgba(255,146,60,.18),transparent 24%),radial-gradient(circle at 78% 120%,rgba(245,91,103,.18),transparent 32%); pointer-events:none; }
.seasonal-strip-inner { min-height:68px; position:relative; display:flex; align-items:center; justify-content:center; gap:26px; }
.seasonal-strip-copy { display:flex; align-items:baseline; gap:16px; }.seasonal-strip-copy b { color:#ffd5a0; font-size:20px; letter-spacing:.2px; }.seasonal-strip-copy span { color:#eadfeb; font-size:13px; }
.seasonal-strip a { min-height:34px; display:inline-flex; align-items:center; gap:8px; padding:0 16px; border:1px solid rgba(255,255,255,.26); border-radius:18px; background:rgba(255,255,255,.1); font-size:11px; font-weight:900; backdrop-filter:blur(8px); transition:background .2s,transform .2s; }.seasonal-strip a:hover { background:#f17849; transform:translateY(-1px); }.seasonal-strip a svg { width:15px; }
.seasonal-scatter { position:absolute; display:flex; align-items:center; gap:18px; font-size:23px; pointer-events:none; filter:drop-shadow(0 7px 10px rgba(0,0,0,.18)); }.seasonal-scatter-left { left:18px; }.seasonal-scatter-right { right:18px; }.seasonal-scatter span:nth-child(2) { color:#ffb25f; font-size:16px; animation:seasonal-twinkle 2.4s ease-in-out infinite; }.seasonal-scatter-right span:first-child { animation:seasonal-fly 3.8s ease-in-out infinite; }
@keyframes seasonal-twinkle { 50%{ opacity:.42; transform:scale(.72) rotate(20deg); } }
@keyframes seasonal-fly { 50%{ transform:translateY(-5px) rotate(-5deg); } }

.site-header { background: white; position: relative; z-index: 10; }
.utility { height: 48px; display: flex; align-items: center; border-bottom: 1px solid var(--line); color: #6d6d71; font-size: 13px; }
.utility button { border: 0; background: none; cursor: pointer; }
.city-btn { display: flex; align-items: center; gap: 6px; padding: 0; color: #444; }
.city-btn svg { width: 18px; height: 18px; color: var(--green-dark); }
.address-btn { color: var(--green-dark); margin-left: 22px; }
.utility-right { height: 100%; margin-left: auto; display: flex; align-items: center; }
.messenger-support { height: 32px; display: inline-flex; align-items: center; justify-content: center; padding: 0 17px; border-radius: 16px; background: var(--green); color: #fff; font-family: inherit; font-size: 12px; font-weight: 800; letter-spacing: 0; box-shadow: 0 5px 12px rgba(45,157,72,.16); transition: background .2s ease, transform .2s ease; }
.messenger-support:hover { background: var(--green-dark); transform: translateY(-1px); }
.round-call { width: 31px; height: 31px; border-radius: 50% !important; background: #eff9ee !important; color: var(--green-dark); display: grid; place-items: center; }
.round-call svg { width: 16px; }

.main-head { min-height: 88px; display: flex; align-items: center; gap: 28px; }
.brand { min-width: 175px; display: inline-flex; align-items: center; gap: 8px; color: #3aa556; font-weight: 900; font-size: 29px; letter-spacing: 1.5px; }
.brand-bloom { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 50%; background: var(--coral); color: #fff; font-size: 25px; transform: rotate(15deg); }
.search { position:relative; height:50px; flex:1; display:flex; border:1px solid #dce5da; border-radius:25px; background:linear-gradient(115deg,#fafcf9,#f5f8f4); box-shadow:inset 0 1px 0 #fff,0 5px 18px rgba(48,83,52,.05); transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease; }
.search:focus-within { border-color:var(--green); box-shadow:0 0 0 4px rgba(98,201,90,.12),0 12px 30px rgba(48,83,52,.1); transform:translateY(-1px); }
.search input { min-width:0; flex:1; padding:0 7px 0 20px; border:0; outline:0; background:transparent; color:#2d2d2f; font:inherit; font-size:14px; }
.search input::placeholder { color:#a4aaa3; transition:color .2s; }
.search:focus-within input::placeholder { color:#c2c7c1; }
.search>button { width:42px; height:42px; flex:0 0 auto; align-self:center; display:grid; place-items:center; margin-right:4px; border:0; border-radius:50%; background:#eaf7e7; color:var(--green-dark); cursor:pointer; transition:transform .2s cubic-bezier(.2,.8,.2,1),background .2s,box-shadow .2s; }
.search>button:hover { transform:scale(1.07) rotate(-5deg); background:var(--green); color:#fff; box-shadow:0 7px 18px rgba(53,158,70,.23); }
.search>button:active { transform:scale(.9); }
.search>button svg { width:19px; height:19px; transition:transform .2s; }
.search:focus-within>button svg { transform:scale(1.06); }
.search-panel[hidden] { display:none; }
.search-panel { position:absolute; z-index:60; top:calc(100% + 10px); left:0; right:0; max-height:min(480px,72vh); overflow:auto; padding:8px; border:1px solid #e4e9e2; border-radius:20px; background:rgba(255,255,255,.98); box-shadow:0 24px 60px rgba(35,58,39,.18); backdrop-filter:blur(18px); transform-origin:top center; animation:search-panel-in .2s cubic-bezier(.2,.8,.2,1); }
.search-panel-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:2px 4px 11px; }
.search-panel-head strong { font-size:13px; }
.search-panel-head span { color:var(--muted); font-size:10px; }
.search-popular { display:flex; flex-wrap:wrap; gap:7px; padding:0 3px 4px; }
.search-popular button { width:auto; min-height:31px; padding:0 12px; border:1px solid #dcebd9; border-radius:16px; background:#f3faf1; color:#337d43; font:inherit; font-size:10px; font-weight:800; cursor:pointer; }
.search-popular button:hover { border-color:#9ed49a; background:#e8f7e5; }
.search-suggestions { display:grid; gap:4px; }
.search-suggestion { width:100%; display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:center; gap:12px; padding:8px; border:0; border-radius:15px; background:transparent; color:inherit; text-align:left; cursor:pointer; opacity:0; transform:translateY(6px); animation:search-item-in .25s cubic-bezier(.2,.8,.2,1) forwards; animation-delay:calc(var(--search-index) * 28ms); transition:background .18s,transform .18s,box-shadow .18s; }
.search-suggestion:hover,.search-suggestion.active { background:linear-gradient(105deg,#f0f9ee,#f8fbf7); transform:translateX(3px); box-shadow:inset 3px 0 0 var(--green); }
.search-suggestion:active { transform:translateX(3px) scale(.985); }
.search-suggestion img { width:56px; height:56px; display:block; object-fit:cover; border-radius:12px; background:#f3f3f3; transition:transform .22s,box-shadow .22s; }
.search-suggestion:hover img,.search-suggestion.active img { transform:scale(1.045) rotate(-1deg); box-shadow:0 7px 16px rgba(45,90,50,.16); }
.search-suggestion-copy { min-width:0; }
.search-suggestion-copy strong,.search-suggestion-copy small { display:block; }
.search-suggestion-copy strong { overflow:hidden; font-size:12px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.search-suggestion-copy small { margin-top:4px; overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.search-suggestion-side { display:flex; align-items:center; gap:9px; padding-right:3px; white-space:nowrap; }
.search-suggestion-side b { font-size:12px; }
.search-suggestion-side i { width:27px; height:27px; display:grid; place-items:center; border-radius:50%; background:#edf8eb; color:var(--green-dark); font-size:14px; font-style:normal; transition:transform .2s,background .2s,color .2s; }
.search-suggestion:hover .search-suggestion-side i,.search-suggestion.active .search-suggestion-side i { transform:translateX(2px); background:var(--green); color:#fff; }
.search-view-all { min-height:40px; display:flex; align-items:center; justify-content:center; gap:7px; margin-top:4px; padding:0 14px; border:1px solid #d8ead5; border-radius:13px; background:#f2faf0; color:#2d873f; font:inherit; font-size:10px; font-weight:850; cursor:pointer; transition:background .18s,transform .18s,border-color .18s; }
.search-view-all span { min-width:22px; height:22px; display:grid; place-items:center; padding:0 6px; border-radius:11px; background:#fff; font-size:9px; }
.search-view-all i { font-size:14px; font-style:normal; }
.search-view-all:hover { border-color:#9ed49a; background:#e9f7e6; transform:translateY(-1px); }
.search-no-results { padding:24px 12px; text-align:center; }
.search-no-results strong,.search-no-results span { display:block; }
.search-no-results strong { font-size:14px; }
.search-no-results span { margin-top:6px; color:var(--muted); font-size:11px; }
.search-status { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:12px; padding:13px 18px; border:1px solid #d9ecd6; border-radius:15px; background:#f3faf1; color:#365d3c; font-size:12px; }
.search-status[hidden] { display:none; }
.search-status strong { color:#24823b; }
.search-status button { flex:0 0 auto; padding:8px 13px; border:0; border-radius:14px; background:#fff; color:var(--green-dark); font:inherit; font-size:10px; font-weight:850; cursor:pointer; box-shadow:0 3px 10px rgba(45,97,50,.08); }
@keyframes search-panel-in { from{ opacity:0; transform:translateY(-7px) scale(.985); } to{ opacity:1; transform:translateY(0) scale(1); } }
@keyframes search-item-in { to{ opacity:1; transform:translateY(0); } }
.head-actions { display: flex; align-items: center; gap: 22px; }
.action-btn { min-width: 54px; position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; border: 0; background: none; color: #4b4b4e; font-size: 11px; cursor: pointer; }
.action-btn svg { width: 23px; height: 23px; }
.action-btn:hover svg { color: var(--green-dark); }
.badge { position: absolute; top: -7px; right: 4px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 10px; display: none; place-items: center; background: var(--coral); color: white; font-size: 10px; line-height: 18px; }
.badge.show { display: grid; }
.icon-btn { border: 0; background: var(--green); color: white; border-radius: 10px; cursor: pointer; }
.menu-btn { display: none; width: 44px; height: 44px; place-items: center; }

.quick-nav { min-height: 58px; display: flex; align-items: center; justify-content: flex-start; gap: 23px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 12px; font-weight: 800; white-space: nowrap; overflow-x: auto; scrollbar-width: none; }
.quick-nav::-webkit-scrollbar { display: none; }
.quick-nav a { flex: 0 0 auto; transition: color .2s, transform .2s, box-shadow .2s; }
.quick-nav a:hover { color: var(--green-dark); }
.quick-nav .pill { padding: 8px 15px; border-radius: 18px; color: #fff; }
.quick-nav .pill:hover { color: #fff; transform: translateY(-1px); box-shadow: 0 6px 15px rgba(45,45,47,.12); }
.quick-nav .green { background: var(--green); }
.quick-nav .coral { background: var(--coral); }
.quick-nav .day { background: #f3aa2f; }

.hero { --hero-copy-x:0px; --hero-copy-y:0px; --hero-visual-x:0px; --hero-visual-y:0px; --hero-rx:0deg; --hero-ry:0deg; height: 370px; margin-top: 24px; position: relative; isolation:isolate; border-radius: 20px; overflow: hidden; background: #e8ddff; perspective:1100px; box-shadow:0 18px 45px rgba(76,57,111,.08); }
.hero-slide { position: absolute; inset: 0; display:none; pointer-events: none; transform:rotateX(var(--hero-rx)) rotateY(var(--hero-ry)) scale(1.015); transition:transform .22s cubic-bezier(.2,.75,.25,1); will-change:transform; }
.hero-slide.active { display:block; z-index:1; pointer-events: auto; transform-style:preserve-3d; animation:hero-reveal .38s ease both; }
@keyframes hero-reveal { from { opacity:0; } to { opacity:1; } }
.hero.is-tilting { box-shadow:0 24px 58px rgba(76,57,111,.15); }
.hero-slide > img { width: 100%; height: 100%; object-fit: cover; }
.hero-visual-layer { transform:translate3d(var(--hero-visual-x),var(--hero-visual-y),24px) scale(1.035); transition:transform .22s cubic-bezier(.2,.75,.25,1); will-change:transform; }
.hero-copy { position: absolute; top: 50%; left: 7%; transform: translate3d(var(--hero-copy-x),calc(-50% + var(--hero-copy-y)),58px); z-index: 2; max-width: 500px; transition:transform .22s cubic-bezier(.2,.75,.25,1); will-change:transform; }
.eyebrow { display: inline-block; color: var(--green-dark); font-size: 12px; font-weight: 900; letter-spacing: 1.4px; }
.hero h1, .hero h2 { margin: 12px 0 14px; color: #372d55; font-size: clamp(36px, 4vw, 59px); line-height: .98; letter-spacing: -2px; }
.hero h2 { font-size: clamp(34px, 3.7vw, 54px); }
.hero em { color: var(--coral); font-style: normal; }
.hero p { max-width: 380px; margin: 0 0 24px; color: #5c5271; font-size: 17px; }
.cta { display: inline-flex; align-items: center; gap: 13px; padding: 14px 22px; border-radius: 24px; background: var(--coral); color: #fff; font-weight: 800; font-size: 14px; box-shadow: 0 8px 18px rgba(242,102,120,.25); }
.cta svg { width: 18px; }
.hero-alt { background: linear-gradient(110deg, #fee6ec 0%, #fff4e2 55%, #ff8795 55%); }
.alt-art { position: absolute; right: 12%; top: 50%; width: 260px; height: 260px; transform: translate3d(var(--hero-visual-x),calc(-50% + var(--hero-visual-y)),45px) rotate(7deg) scale(1.02); display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; background: radial-gradient(circle, #fff 0 29%, #ff6f82 30% 46%, #fff 47% 53%, #ffb429 54%); color: #ef5368; box-shadow: 0 20px 45px rgba(91,41,55,.15); }
.alt-art span { font-size: 92px; line-height: .8; font-weight: 900; }
.alt-art small { font-size: 28px; font-weight: 800; }
.hero-autumn { background:#f56b46; }.hero-autumn .autumn-hero-image { object-position:center; filter:saturate(.98) contrast(.98); }.hero-autumn .hero-copy { max-width:540px; }.hero-autumn .eyebrow,.hero-autumn h2,.hero-autumn p { color:#fff; text-shadow:0 3px 18px rgba(99,39,18,.14); }.hero-autumn h2 em { color:#fff1d7; }.autumn-cta { background:#fff; color:#d85736; box-shadow:0 10px 25px rgba(124,47,27,.2); }.autumn-cta:hover { transform:translateY(-2px); }
.hero-sale { background:linear-gradient(120deg,#edfff0 0%,#fff8e8 48%,#ffdce4 100%); }
.hero-sale .eyebrow { color:#238d45; }.hero-sale h2 { color:#313b32; }.hero-sale h2 em { color:#f05770; font-size:1.08em; }.hero-sale p { color:#667067; }.hero-sale p strong { display:inline-block; padding:2px 8px; border-radius:8px; background:#fff; color:#f05770; letter-spacing:1px; box-shadow:0 5px 14px rgba(54,89,59,.08); }.sale-cta { background:#43ad57; box-shadow:0 8px 18px rgba(45,157,72,.23); }
.sale-scene { position:absolute; z-index:2; right:7%; top:50%; width:440px; height:315px; transform:translate3d(var(--hero-visual-x),calc(-50% + var(--hero-visual-y)),52px); transform-style:preserve-3d; transition:transform .22s cubic-bezier(.2,.75,.25,1); }
.sale-bouquet-card { position:absolute; right:18px; top:5px; width:275px; height:300px; overflow:hidden; border:9px solid rgba(255,255,255,.9); border-radius:34px; background:#d7c6f1; box-shadow:0 26px 55px rgba(78,58,94,.2); transform:rotate(6deg) translateZ(30px); }.sale-bouquet-card img { width:100%; height:100%; object-fit:cover; object-position:65% center; }.sale-bouquet-card span { position:absolute; left:17px; right:17px; bottom:15px; padding:10px 13px; border-radius:14px; background:rgba(255,255,255,.88); backdrop-filter:blur(7px); color:#51435e; font-size:12px; font-weight:900; text-align:center; }
.sale-ticket { position:absolute; z-index:3; left:0; top:82px; width:190px; padding:23px 22px; border:2px dashed rgba(255,255,255,.85); border-radius:22px; background:#f5657a; color:#fff; box-shadow:0 20px 42px rgba(197,70,91,.28); transform:rotate(-8deg) translateZ(80px); }.sale-ticket small,.sale-ticket strong,.sale-ticket b { display:block; }.sale-ticket small { opacity:.82; font-size:10px; letter-spacing:1.6px; }.sale-ticket strong { margin:7px 0 12px; font-size:21px; letter-spacing:1px; }.sale-ticket b { font-size:48px; line-height:.9; }
.sale-glow { position:absolute; border-radius:50%; filter:blur(1px); opacity:.62; }.sale-glow-one { right:22%; top:-90px; width:290px; height:290px; background:rgba(255,255,255,.72); }.sale-glow-two { right:-45px; bottom:-105px; width:260px; height:260px; background:rgba(246,122,143,.2); }
.sale-petal { position:absolute; z-index:4; display:grid; place-items:center; color:#fff; text-shadow:0 7px 15px rgba(82,52,68,.2); animation:sale-float 3.8s ease-in-out infinite; }.petal-a { right:3px; top:25px; font-size:36px; }.petal-b { left:150px; top:12px; font-size:22px; animation-delay:-1.2s; }.petal-c { left:166px; bottom:4px; color:#f37a8d; font-size:28px; animation-delay:-2.3s; }
@keyframes sale-float { 0%,100%{ transform:translateY(0) rotate(-8deg); } 50%{ transform:translateY(-10px) rotate(8deg); } }
.hero-arrow { position: absolute; top: 50%; z-index: 4; width: 42px; height: 42px; transform: translateY(-50%); border: 0; border-radius: 50%; background: rgba(255,255,255,.94); color: #555; font-size: 31px; line-height: 1; cursor: pointer; box-shadow: 0 4px 15px rgba(0,0,0,.12); }
.hero-prev { left: 14px; }.hero-next { right: 14px; }
.hero-dots { position: absolute; z-index: 4; left: 50%; bottom: 14px; display: flex; gap: 8px; transform: translateX(-50%); }
.hero-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.65); cursor: pointer; }
.hero-dots button.active { width: 24px; border-radius: 5px; background: white; }
.hero-seasonal-decor { position:absolute; inset:0; z-index:3; pointer-events:none; overflow:hidden; }.hero-moon { position:absolute; right:22px; top:18px; width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:rgba(42,19,50,.85); color:#ffd89a; font-size:31px; box-shadow:0 9px 28px rgba(32,12,37,.24),0 0 0 7px rgba(255,255,255,.13); transform:rotate(-18deg); }.hero-bat { position:absolute; width:6px; height:7px; border-radius:50%; background:#35163d; color:#35163d; opacity:.72; filter:drop-shadow(0 5px 8px rgba(0,0,0,.16)); animation:hero-bat-fly 4.5s ease-in-out infinite; }.hero-bat-one { right:86px; top:31px; }.hero-bat-two { right:54px; top:78px; transform:scale(.72); animation-delay:-2.2s; }.hero-bat::before,.hero-bat::after { content:""; position:absolute; top:-1px; width:18px; height:11px; border-radius:70% 15% 70% 10%; background:currentColor; }.hero-bat::before { right:50%; transform:rotate(20deg); }.hero-bat::after { left:50%; transform:scaleX(-1) rotate(20deg); }
@keyframes hero-bat-fly { 50%{ transform:translate(-7px,-6px) rotate(-8deg); } }

.categories { display:grid; grid-template-columns:repeat(11,minmax(68px,1fr)); gap:8px; padding-block:18px 20px; overflow-x:auto; border-bottom:1px solid #edf0eb; scrollbar-width:none; }
.categories::-webkit-scrollbar { display:none; }
.category-item { min-width:68px; padding:5px 2px 8px; border:0; border-radius:18px; background:transparent; color:#383d38; cursor:pointer; font:inherit; font-size:10px; font-weight:780; line-height:1.14; transition:background .22s ease,color .22s ease,transform .22s ease; }
.category-item>span:last-child { display:block; min-height:24px; }
.category-icon { position:relative; width:68px; aspect-ratio:1; display:block; margin:0 auto 7px; overflow:hidden; border:1px solid rgba(255,255,255,.9); border-radius:20px; background:#fbf8f2; box-shadow:0 7px 18px rgba(62,77,61,.1),inset 0 1px 0 #fff; transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease; }
.category-icon img { width:100%; height:100%; display:block; object-fit:cover; transform:scale(1.015); transition:transform .28s cubic-bezier(.2,.8,.2,1); }
.category-icon::after { content:""; position:absolute; inset:5px 8px auto; height:18%; border-radius:50%; background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,0)); transform:rotate(-8deg); pointer-events:none; }
.category-item:hover { color:var(--green-dark); transform:translateY(-2px); }
.category-item:hover .category-icon { transform:translateY(-6px) rotate(-1.5deg) scale(1.035); box-shadow:0 16px 30px rgba(62,77,61,.16),inset 0 1px 0 #fff; }
.category-item:hover .category-icon img { transform:scale(1.07); }
.category-item.active { background:#f0faee; color:#278e43; }
.category-item.active .category-icon { box-shadow:0 0 0 3px #dff4dc,0 13px 28px rgba(51,155,72,.17),inset 0 1px 0 #fff; }

.catalog-filters { position:sticky; top:0; z-index:12; display:flex; align-items:center; gap:10px; padding-block:13px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.94); backdrop-filter:blur(14px); }
.filter-field { min-width:156px; height:48px; display:grid; grid-template-columns:1fr auto; grid-template-rows:17px 17px; align-content:center; column-gap:8px; padding:5px 13px; border:1px solid #e7e9e5; border-radius:16px; background:#f7f8f6; transition:border-color .2s,background .2s,box-shadow .2s; }
.filter-field:hover,.filter-field:focus-within { border-color:#b9dfb7; background:#fff; box-shadow:0 8px 22px rgba(52,104,55,.09); }
.filter-field label { grid-column:1; grid-row:1; overflow:hidden; color:#8b918a; font-size:9px; font-weight:800; letter-spacing:.65px; line-height:17px; text-transform:uppercase; text-overflow:ellipsis; white-space:nowrap; pointer-events:none; }
.filter-field select { grid-column:1/-1; grid-row:2; width:100%; padding:0 20px 0 0; border:0; outline:0; background:transparent; color:#2d2d2f; font:inherit; font-size:12px; font-weight:800; line-height:17px; cursor:pointer; }
.filter-field-sort { min-width:188px; grid-template-columns:22px 1fr; }
.filter-field-sort svg { grid-column:1; grid-row:1/-1; align-self:center; width:20px; height:20px; fill:none; stroke:var(--green-dark); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.filter-field-sort label,.filter-field-sort select { grid-column:2; }
.filter-field-wide { min-width:198px; }
.filter-reset { flex:0 0 auto; min-height:40px; padding:0 15px; border:1px solid #cae8c7; border-radius:15px; background:#f1faef; color:var(--green-dark); font:inherit; font-size:11px; font-weight:850; cursor:pointer; }
.filter-reset:hover { background:#e3f6df; }
.catalog-section.filtered-out { display:none; }
.product-card.filter-hidden { display:none !important; }

.catalog-section { padding-block: 24px 42px; border-top: 1px solid var(--line); }
.catalog-section { content-visibility:auto; contain-intrinsic-size:720px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.section-heading h2 { margin: 5px 0 0; font-size: 26px; letter-spacing: -.5px; }
.section-heading > a, .section-heading .view-all { display: inline-flex; align-items: center; gap: 7px; border: 0; background: none; color: #555; font-size: 13px; font-weight: 700; cursor: pointer; }
.section-heading svg { width: 18px; }
.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.products .product-card:nth-child(n+9) { display:none; }
.catalog-section.expanded .product-card { display:block; }
.product-card { position: relative; min-width: 0; }
.product-card:focus-visible { outline: 3px solid rgba(98,201,90,.35); outline-offset: 5px; border-radius: 16px; }
.product-media { position: relative; aspect-ratio: .92; overflow: hidden; border-radius: 16px; background-color: #f2e9e9; cursor: pointer; }
.product-image { width: 100%; height: 100%; background-image: url("assets/bouquet-atlas.webp"); background-size: 400% 300%; background-repeat: no-repeat; transition: transform .35s ease; }
.product-photo { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.94) contrast(.98) brightness(1.025); transition: transform .35s ease; }
.product-card:hover .product-image, .product-card:hover .product-photo { transform: scale(1.035); }
.p1 { background-position: 0% 0%; }.p2 { background-position: 33.333% 0%; }.p3 { background-position: 66.666% 0%; }.p4 { background-position: 100% 0%; }
.p5 { background-position: 0% 50%; }.p6 { background-position: 33.333% 50%; }.p7 { background-position: 66.666% 50%; }.p8 { background-position: 100% 50%; }
.p9 { background-position: 0% 100%; }.p10 { background-position: 33.333% 100%; }.p11 { background-position: 66.666% 100%; }.p12 { background-position: 100% 100%; }
.product-like { position: absolute; top: 12px; right: 12px; z-index: 2; width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255,255,255,.88); cursor: pointer; }
.product-like svg { width: 20px; height: 20px; }
.product-like.active { color: #f04f69; }.product-like.active svg { fill: currentColor; }
.discount { position: absolute; left: 12px; top: 12px; z-index: 2; padding: 6px 9px; border-radius: 12px; background: var(--coral); color: white; font-size: 12px; font-weight: 800; }
.rating { margin-top: 12px; color: #89898d; font-size: 12px; }.rating strong { color: #f4aa1a; }
.product-title { min-height: 42px; margin: 7px 0 10px; line-height: 1.3; font-size: 14px; }
.product-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.price-wrap { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; }
.old-price { color: #9c9ca1; font-size: 12px; text-decoration: line-through; }
.price { font-size: 18px; font-weight: 800; }
.add-btn { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--green); color: white; cursor: pointer; transition: transform .2s, background .2s; }
.add-btn:hover { transform: scale(1.08); background: var(--green-dark); }
.add-btn svg { width: 20px; height: 20px; }
.add-btn.added { background: #343438; }
.search-empty { padding: 60px 20px; text-align: center; color: var(--muted); }
.coming-soon-card { min-height: 150px; display: flex; align-items: center; gap: 22px; padding: 28px 32px; overflow: hidden; border: 1px solid #e2ebdf; border-radius: 20px; background: linear-gradient(110deg, #f3faef 0%, #fff9f2 100%); }
.coming-soon-flower { width: 70px; height: 70px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--coral); font-size: 39px; box-shadow: 0 10px 26px rgba(98,201,90,.13); transform: rotate(12deg); }
.coming-soon-card strong { display: block; margin-bottom: 7px; font-size: 18px; }
.coming-soon-card p { margin: 0; color: var(--muted); line-height: 1.5; }
.coming-soon-label { margin-left: auto; padding: 8px 15px; border-radius: 18px; background: var(--green); color: #fff; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .6px; }

.halloween-story { min-height:330px; position:relative; display:grid; grid-template-columns:1fr 1.05fr; margin-block:6px 46px; overflow:hidden; border-radius:26px; background:linear-gradient(125deg,#23152d 0%,#3d1d43 52%,#6d2c46 100%); color:#fff; box-shadow:0 24px 55px rgba(45,20,48,.17); }
.halloween-story::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 12% 110%,rgba(237,117,67,.32),transparent 34%),radial-gradient(circle at 82% 0%,rgba(255,210,139,.11),transparent 26%); }
.halloween-copy { position:relative; z-index:2; align-self:center; padding:48px 15px 48px 58px; }.halloween-copy .eyebrow { color:#f2a45f; }.halloween-copy h2 { margin:11px 0 15px; font-size:48px; line-height:.98; letter-spacing:-1.7px; }.halloween-copy h2 em { color:#ffb36b; font-style:normal; }.halloween-copy p { max-width:470px; margin:0 0 25px; color:#dacddd; line-height:1.55; }.halloween-copy a { display:inline-flex; align-items:center; gap:10px; min-height:47px; padding:0 21px; border-radius:24px; background:#e87947; color:#fff; font-size:13px; font-weight:900; box-shadow:0 10px 25px rgba(232,121,71,.2); }.halloween-copy a svg { width:17px; }
.halloween-scene { position:relative; min-height:330px; transform-style:preserve-3d; }.magic-moon { position:absolute; right:74px; top:35px; width:190px; height:190px; border-radius:50%; background:radial-gradient(circle at 37% 32%,#fff5c7 0 7%,#ffd889 8% 42%,#e99549 70%); box-shadow:0 0 0 18px rgba(255,196,103,.06),0 0 65px rgba(255,197,104,.32); }.magic-moon::before,.magic-moon::after { content:""; position:absolute; border-radius:50%; background:rgba(149,82,69,.16); }.magic-moon::before { width:29px; height:29px; left:38px; top:50px; }.magic-moon::after { width:18px; height:18px; right:41px; bottom:43px; }
.magic-card { position:absolute; z-index:2; overflow:hidden; border:7px solid rgba(255,255,255,.9); border-radius:22px; box-shadow:0 22px 45px rgba(11,5,17,.36); }.magic-card img { width:100%; height:100%; object-fit:cover; }.magic-card-red { left:45px; top:46px; width:205px; height:235px; transform:rotate(-8deg); }.magic-card-white { right:36px; bottom:-35px; width:185px; height:215px; transform:rotate(9deg); }.magic-pumpkin { position:absolute; z-index:4; left:224px; bottom:5px; font-size:74px; filter:drop-shadow(0 15px 16px rgba(0,0,0,.28)); transform:rotate(-8deg); }.magic-bat { position:absolute; z-index:4; width:6px; height:7px; border-radius:50%; background:#140b1a; color:#140b1a; animation:hero-bat-fly 4s ease-in-out infinite; }.magic-bat::before,.magic-bat::after { content:""; position:absolute; top:-1px; width:20px; height:12px; border-radius:70% 15% 70% 10%; background:currentColor; }.magic-bat::before { right:50%; transform:rotate(20deg); }.magic-bat::after { left:50%; transform:scaleX(-1) rotate(20deg); }.bat-a { right:248px; top:42px; }.bat-b { right:40px; top:64px; transform:scale(.72); animation-delay:-1.8s; }.magic-star { position:absolute; z-index:5; color:#ffd488; animation:seasonal-twinkle 2.7s ease-in-out infinite; }.star-a { left:277px; top:45px; font-size:24px; }.star-b { right:228px; bottom:50px; font-size:17px; animation-delay:-1.1s; }

.features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-block: 28px 64px; overflow: hidden; border-radius: 16px; background: #dbeed9; }
.features article { min-height: 145px; display: flex; align-items: center; gap: 18px; padding: 30px; background: #eff9ee; }
.features article > span { width: 58px; height: 58px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: white; color: var(--green-dark); font-size: 19px; font-weight: 900; }
.features h3 { margin: 0 0 7px; font-size: 16px; }.features p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }

.journal { padding-block: 0 64px; }
.journal-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 20px; }
.journal-grid article { overflow: hidden; border-radius: 16px; background: #f6f3f4; cursor: pointer; transition: transform .22s ease, box-shadow .22s ease; }
.journal-grid article:hover { transform: translateY(-5px); box-shadow: 0 17px 36px rgba(45,45,47,.1); }
.journal-grid article:focus-visible { outline: 3px solid rgba(98,201,90,.35); outline-offset: 4px; }
.journal-main { display: grid; grid-template-columns: 1.05fr 1fr; }
.journal-grid article > div:last-child { padding: 22px; }
.journal-grid small { color: var(--green-dark); font-weight: 700; }
.journal-grid h3 { margin: 9px 0; line-height: 1.2; }.journal-grid p { margin: 0; color: var(--muted); }
.journal-all { display:inline-flex; align-items:center; gap:7px; padding:0; border:0; background:transparent; color:#555; font-weight:700; font-size:13px; cursor:pointer; }.journal-all svg { width:18px; }
.journal-read { display:inline-block; margin-top:18px; color:var(--green-dark); font-size:12px; font-weight:800; }
.journal-art { min-height: 230px; display: grid; place-items: center; font-size: 72px; }
.art-1 { background: radial-gradient(circle at 35% 35%, #ffb7c4 0 8%, transparent 9%), radial-gradient(circle at 62% 46%, #fff 0 8%, transparent 9%), radial-gradient(circle at 45% 68%, #f57f95 0 11%, transparent 12%), #fbe1e7; color: #fff; }
.art-2 { background: #e5dbff; color: #8b78e8; }.art-3 { background: #ffe6a4; color: #e9a21a; }
.art-4 { background:#dff4dc; color:#42a84d; }.art-5 { background:#ffe3dc; color:#ef6e72; }.art-6 { background:#dfeefa; color:#4e8ebc; }

.journal-modal { z-index:180; padding:22px; background:rgba(29,34,29,.66); }
.journal-modal-card { position:relative; width:min(1160px,100%); height:min(860px,calc(100vh - 44px)); overflow:auto; border-radius:28px; background:#fff; box-shadow:0 30px 100px rgba(0,0,0,.3); transform:translateY(14px) scale(.985); transition:transform .22s ease; }
.journal-modal.open .journal-modal-card { transform:translateY(0) scale(1); }
.journal-modal-close { position:sticky; z-index:8; top:18px; float:right; width:45px; height:45px; margin:18px 18px -63px 0; border:0; border-radius:50%; background:#fff; box-shadow:0 7px 24px rgba(0,0,0,.13); font-size:30px; line-height:1; cursor:pointer; }
.journal-library { min-height:100%; padding:68px 58px 62px; background:#f5f7f3; }
.journal-library-head { max-width:700px; margin-bottom:34px; }.journal-library-head h2 { margin:10px 0 12px; font-size:clamp(38px,5vw,62px); letter-spacing:-2px; }.journal-library-head p { margin:0; color:var(--muted); font-size:17px; line-height:1.55; }
.journal-library-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.journal-library-card { overflow:hidden; border:0; border-radius:20px; background:#fff; padding:0; text-align:left; cursor:pointer; box-shadow:0 10px 28px rgba(45,65,48,.06); transition:transform .2s,box-shadow .2s; }.journal-library-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(45,65,48,.12); }.journal-library-card .journal-art { min-height:185px; }.journal-library-card>span { display:block; padding:22px; }.journal-library-card small { color:var(--green-dark); font-weight:800; }.journal-library-card h3 { margin:9px 0 10px; font-size:19px; line-height:1.25; }.journal-library-card p { margin:0; color:var(--muted); line-height:1.45; }
.journal-article { min-height:100%; background:#fff; }
.journal-article-hero { min-height:345px; display:grid; grid-template-columns:1.08fr .92fr; background:#f5f7f3; }
.journal-article-cover { min-height:345px; font-size:110px; border-radius:0 0 42px 0; }.journal-article-heading { align-self:center; padding:58px 80px 58px 55px; }.journal-article-back { display:inline-flex; align-items:center; gap:8px; margin-bottom:36px; padding:0; border:0; background:transparent; color:var(--green-dark); font-weight:800; cursor:pointer; }.journal-article-heading h2 { margin:11px 0 15px; font-size:clamp(34px,4.5vw,56px); line-height:1.02; letter-spacing:-2px; }.journal-article-heading p { margin:0; color:var(--muted); font-size:17px; line-height:1.55; }
.journal-prose { width:min(760px,calc(100% - 40px)); margin:0 auto; padding:54px 0 72px; }.journal-prose .article-intro { margin:0 0 38px; color:#3d3d40; font-size:21px; line-height:1.6; }.journal-prose h3 { margin:36px 0 12px; font-size:25px; }.journal-prose p,.journal-prose li { color:#5e5e64; font-size:16px; line-height:1.75; }.journal-prose ul { padding-left:22px; }.journal-tip { margin:35px 0; padding:24px 27px; border-left:4px solid var(--green); border-radius:0 16px 16px 0; background:#f0f8ee; }.journal-tip strong { display:block; margin-bottom:7px; color:var(--green-dark); }.journal-tip p { margin:0; }.journal-article-cta { margin-top:46px; padding:34px; border-radius:22px; background:linear-gradient(120deg,#eef8eb,#fff0f2); text-align:center; }.journal-article-cta h3 { margin:0 0 8px; }.journal-article-cta p { margin:0 0 20px; }.journal-article-cta button { min-height:50px; padding:0 26px; border:0; border-radius:25px; background:var(--green); color:#fff; font-weight:900; cursor:pointer; box-shadow:0 8px 20px rgba(98,201,90,.22); }

.delivery-info-card { background:#f6f8f4; }
.delivery-info-content { min-height:100%; }
.delivery-info-hero { position:relative; min-height:310px; display:grid; grid-template-columns:minmax(0,1fr) 245px; align-items:center; gap:38px; overflow:hidden; padding:58px 64px; background:linear-gradient(130deg,#eef8eb 0%,#fff7f1 62%,#fff0f3 100%); }
.delivery-info-hero::before { content:""; position:absolute; width:340px; height:340px; right:-95px; top:-120px; border-radius:50%; border:1px solid rgba(98,201,90,.17); box-shadow:0 0 0 38px rgba(98,201,90,.05),0 0 0 78px rgba(242,102,120,.035); }
.delivery-info-hero>div { position:relative; z-index:1; }
.delivery-info-hero h2 { max-width:760px; margin:11px 0 16px; font-size:clamp(36px,5vw,58px); line-height:1.03; letter-spacing:-2px; }
.delivery-info-hero p { max-width:690px; margin:0; color:#666d66; font-size:17px; line-height:1.55; }
.delivery-info-art { width:210px; height:210px; display:grid; place-content:center; justify-items:center; border-radius:50%; background:#fff; color:var(--green-dark); box-shadow:0 20px 55px rgba(54,102,60,.13),0 0 0 16px rgba(255,255,255,.45); transform:rotate(3deg); }
.delivery-info-art span { font-size:70px; font-weight:900; line-height:.85; }
.delivery-info-art small { margin-top:9px; color:#747a74; font-size:14px; font-weight:800; line-height:1.05; text-align:center; text-transform:uppercase; letter-spacing:1px; }
.delivery-info-art b { position:absolute; right:0; bottom:12px; width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:var(--coral); color:#fff; font-size:31px; box-shadow:0 10px 25px rgba(242,102,120,.25); }
.delivery-info-body { width:min(940px,calc(100% - 48px)); margin:0 auto; padding:48px 0 70px; }
.delivery-info-lead { max-width:850px; margin:0 0 38px; color:#444a44; font-size:20px; line-height:1.65; }
.delivery-info-body h3 { margin:0 0 22px; font-size:28px; }
.delivery-steps { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin:0 0 30px; padding:0; list-style:none; }
.delivery-steps li { min-height:150px; display:grid; grid-template-columns:43px 1fr; gap:15px; padding:23px; border-radius:19px; background:#fff; box-shadow:0 8px 26px rgba(42,65,44,.055); }
.delivery-steps li>span { width:43px; height:43px; display:grid; place-items:center; border-radius:50%; background:#ecf8e9; color:var(--green-dark); font-weight:900; }
.delivery-steps strong { display:block; margin:3px 0 7px; font-size:17px; }
.delivery-steps p { margin:0; color:#707570; font-size:14px; line-height:1.55; }
.delivery-note { display:grid; grid-template-columns:54px 1fr; align-items:center; gap:18px; margin:24px 0; padding:24px 27px; border:1px solid #d8ead4; border-radius:20px; background:#eff8ed; }
.delivery-note>span { width:54px; height:54px; display:grid; place-items:center; border-radius:50%; background:var(--green); color:#fff; font-size:26px; font-weight:900; }
.delivery-note p { margin:0; color:#5f675f; line-height:1.55; }.delivery-note strong { display:block; margin-bottom:4px; color:var(--text); }
.delivery-copy-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:34px 0; }
.delivery-copy-grid p { margin:0; color:#626862; font-size:15px; line-height:1.75; }
.delivery-catalog-button { min-height:54px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:0 27px; border:0; border-radius:27px; background:var(--green); color:#fff; font-weight:900; cursor:pointer; box-shadow:0 10px 24px rgba(45,157,72,.2); }
.delivery-catalog-button:hover { background:var(--green-dark); }.delivery-catalog-button svg { width:18px; }

.quality-info-card { background:#f4f7f2; }
.quality-info-content { min-height:100%; }
.quality-info-hero { position:relative; min-height:330px; display:grid; grid-template-columns:minmax(0,1fr) 230px; align-items:center; gap:44px; overflow:hidden; padding:62px 68px; background:linear-gradient(128deg,#e8f5e4 0%,#f8fbf5 52%,#fff0f2 100%); }
.quality-info-hero::before,.quality-info-hero::after { content:""; position:absolute; border-radius:50%; pointer-events:none; }
.quality-info-hero::before { width:330px; height:330px; right:-80px; top:-125px; border:1px solid rgba(38,151,69,.14); box-shadow:0 0 0 42px rgba(98,201,90,.055),0 0 0 82px rgba(242,102,120,.035); }
.quality-info-hero::after { width:100px; height:100px; left:48%; bottom:-64px; background:rgba(255,255,255,.55); }
.quality-info-hero>div { position:relative; z-index:1; }
.quality-info-hero h2 { max-width:700px; margin:11px 0 17px; font-size:clamp(38px,5vw,60px); line-height:1.02; letter-spacing:-2.2px; }
.quality-info-hero p { max-width:700px; margin:0; color:#626a62; font-size:18px; line-height:1.6; }
.quality-seal { width:205px; height:205px; display:flex; flex-direction:column; align-items:center; justify-content:center; justify-self:center; border:1px solid rgba(38,151,69,.12); border-radius:50%; background:#fff; color:var(--green-dark); box-shadow:0 22px 58px rgba(42,91,48,.14),0 0 0 15px rgba(255,255,255,.48); transform:rotate(3deg); }
.quality-seal>span { width:61px; height:61px; display:grid; place-items:center; margin-bottom:12px; border-radius:50%; background:var(--green); color:#fff; }.quality-seal svg { width:29px; height:29px; }.quality-seal strong { font-size:22px; }.quality-seal small { max-width:110px; margin-top:5px; color:#7a817a; line-height:1.2; text-align:center; text-transform:uppercase; letter-spacing:.7px; }
.quality-info-body { width:min(960px,calc(100% - 48px)); margin:0 auto; padding:48px 0 70px; }
.quality-promise-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.quality-promise-grid article { min-height:205px; display:grid; grid-template-columns:56px 1fr; gap:18px; padding:27px; border:1px solid #e7ece4; border-radius:22px; background:#fff; box-shadow:0 9px 28px rgba(42,65,44,.055); }
.quality-promise-icon { width:56px; height:56px; display:grid; place-items:center; border-radius:17px; background:#edf8ea; color:var(--green-dark); }.quality-promise-icon svg { width:27px; height:27px; }
.quality-promise-grid h3 { margin:3px 0 9px; font-size:19px; }.quality-promise-grid p { margin:0; color:#686f68; font-size:14px; line-height:1.65; }
.quality-question { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr); gap:34px; align-items:center; margin-top:24px; padding:38px 40px; overflow:hidden; border-radius:25px; background:linear-gradient(130deg,#2c3b2e,#315b3a); color:#fff; box-shadow:0 18px 42px rgba(35,74,42,.15); }
.quality-question .eyebrow { color:#9ade91; }.quality-question h3 { margin:10px 0 13px; font-size:30px; }.quality-question p { margin:7px 0 0; color:#dbe4da; font-size:14px; line-height:1.65; }
.quality-terms { display:grid; gap:11px; }.quality-terms div { padding:17px 19px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(255,255,255,.08); }.quality-terms small,.quality-terms strong { display:block; }.quality-terms small { color:#c8d3c7; font-size:12px; line-height:1.35; }.quality-terms strong { margin-top:6px; color:#fff; font-size:17px; }

.about-info-card { background:#f5f7f3; }
.about-info-content { min-height:100%; }
.about-info-hero { position:relative; min-height:360px; display:grid; grid-template-columns:minmax(0,1fr) 245px; align-items:center; gap:50px; overflow:hidden; padding:64px 70px; background:linear-gradient(130deg,#fff 0%,#f1f8ee 55%,#fff0f3 100%); }
.about-info-hero::before { content:""; position:absolute; width:390px; height:390px; right:-115px; top:-155px; border-radius:50%; border:1px solid rgba(98,201,90,.16); box-shadow:0 0 0 46px rgba(98,201,90,.05),0 0 0 92px rgba(242,102,120,.035); }
.about-info-heading,.about-monogram { position:relative; z-index:1; }.about-info-heading h2 { margin:11px 0 18px; font-size:clamp(42px,5.5vw,65px); line-height:1; letter-spacing:-2.5px; }.about-info-heading p { max-width:720px; margin:9px 0 0; color:#616861; font-size:17px; line-height:1.65; }
.about-monogram { width:215px; height:215px; display:flex; flex-direction:column; align-items:center; justify-content:center; justify-self:center; border-radius:50%; background:#fff; color:var(--green-dark); box-shadow:0 22px 60px rgba(47,88,52,.14),0 0 0 16px rgba(255,255,255,.5); transform:rotate(3deg); }.about-monogram>span { position:absolute; right:8px; top:8px; width:55px; height:55px; display:grid; place-items:center; border-radius:50%; background:var(--coral); color:#fff; font-size:30px; }.about-monogram strong { font-size:78px; line-height:.9; }.about-monogram small { margin-top:12px; color:#788078; font-weight:800; text-transform:uppercase; letter-spacing:.8px; }
.about-info-body { width:min(960px,calc(100% - 48px)); margin:0 auto; padding:50px 0 70px; }.about-supply { padding:34px; border-radius:24px; background:#fff; box-shadow:0 10px 30px rgba(42,65,44,.06); }.about-section-title { display:flex; align-items:center; gap:18px; }.about-section-title h3 { margin:6px 0 0; font-size:28px; }.about-icon { flex:0 0 auto; width:56px; height:56px; display:grid; place-items:center; border-radius:17px; background:#ebf7e8; color:var(--green-dark); }.about-icon.coral { background:#fff0f2; color:var(--coral); }.about-icon svg { width:27px; height:27px; }.about-supply>p { margin:22px 0 0; color:#626962; font-size:15px; line-height:1.75; }.about-country-list { display:flex; flex-wrap:wrap; gap:9px; margin:22px 0 0; }.about-country-list span { padding:9px 14px; border:1px solid #dcebd8; border-radius:20px; background:#f2f9ef; color:#3c7046; font-size:12px; font-weight:800; }
.about-story-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }.about-story-card { min-height:245px; display:grid; grid-template-columns:56px 1fr; gap:18px; padding:28px; border:1px solid #e5ebe2; border-radius:23px; background:#fff; }.about-story-card h3 { margin:7px 0 11px; font-size:21px; }.about-story-card p { margin:0; color:#686f68; font-size:14px; line-height:1.7; }
.about-support { display:grid; grid-template-columns:minmax(0,1fr) 145px; gap:30px; align-items:center; margin-top:16px; padding:34px 38px; border-radius:24px; background:linear-gradient(130deg,#2d3a2e,#315e3b); color:#fff; box-shadow:0 18px 42px rgba(35,74,42,.15); }.about-support .eyebrow { color:#9add91; }.about-support h3 { margin:8px 0 10px; font-size:28px; }.about-support p { margin:0; color:#d8e3d7; line-height:1.65; }.about-support-badge { width:125px; height:125px; display:flex; flex-direction:column; align-items:center; justify-content:center; justify-self:end; border-radius:50%; background:#fff; color:var(--green-dark); box-shadow:0 0 0 12px rgba(255,255,255,.09); }.about-support-badge strong { font-size:34px; }.about-support-badge span { color:#6b756b; font-size:12px; font-weight:800; text-transform:uppercase; }

.reviews-info-card { width:min(1380px,100%); background:#f7f8f6; }.reviews-page { min-height:100%; padding-bottom:64px; }.reviews-hero { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 180px auto; align-items:center; gap:30px; overflow:hidden; padding:62px 64px 48px; background:linear-gradient(125deg,#eef8eb,#fff 56%,#fff0f3); }.reviews-hero::after { content:""; position:absolute; width:260px; height:260px; right:17%; top:-150px; border-radius:50%; border:1px solid rgba(98,201,90,.15); box-shadow:0 0 0 34px rgba(98,201,90,.05),0 0 0 66px rgba(242,102,120,.03); }.reviews-hero>div,.reviews-hero>button { position:relative; z-index:1; }.reviews-hero h2 { max-width:700px; margin:10px 0 13px; font-size:clamp(40px,5vw,62px); line-height:1; letter-spacing:-2.3px; }.reviews-hero p { margin:0; color:#697069; font-size:16px; }.reviews-score { display:flex; flex-direction:column; align-items:center; padding:18px; border-radius:22px; background:#fff; box-shadow:0 12px 35px rgba(48,83,52,.09); }.reviews-score strong { color:var(--text); font-size:42px; line-height:1; }.reviews-score span { margin:6px 0; color:#f7ae21; letter-spacing:2px; }.reviews-score small { color:#858a85; font-size:10px; line-height:1.25; text-align:center; }.reviews-add { min-height:52px; padding:0 24px; border:0; border-radius:26px; background:var(--green); color:#fff; font-weight:900; cursor:pointer; box-shadow:0 10px 25px rgba(45,157,72,.2); }.reviews-add:hover { background:var(--green-dark); }
.customer-smiles,.reviews-impressions { width:min(1240px,calc(100% - 48px)); margin:0 auto; padding-top:42px; }.reviews-section-head { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:20px; }.reviews-section-head h3 { margin:5px 0 0; font-size:29px; }.reviews-section-head>p { margin:0; color:var(--muted); font-size:13px; }.smiles-gallery { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(205px,1fr); gap:14px; overflow-x:auto; padding:0 0 10px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#b9d7b5 transparent; }.smiles-gallery figure { position:relative; aspect-ratio:.78; margin:0; overflow:hidden; border-radius:20px; background:#eef1ec; scroll-snap-align:start; box-shadow:0 8px 24px rgba(42,65,44,.08); }.smiles-gallery img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .35s ease; }.smiles-gallery figure:hover img { transform:scale(1.035); }.smiles-gallery figcaption { position:absolute; left:10px; right:10px; bottom:10px; padding:8px 10px; border-radius:12px; background:rgba(255,255,255,.88); color:#435043; font-size:10px; font-weight:800; text-align:center; text-transform:uppercase; letter-spacing:.5px; backdrop-filter:blur(8px); }
.review-form { width:min(1240px,calc(100% - 48px)); display:grid; grid-template-columns:240px 1fr 1.5fr auto; align-items:end; gap:16px; margin:36px auto 0; padding:24px; border:1px solid #dae8d7; border-radius:22px; background:#fff; box-shadow:0 12px 34px rgba(42,65,44,.07); }.review-form h3 { margin:5px 0 0; font-size:23px; }.review-form label { display:grid; gap:7px; color:#555c55; font-size:12px; font-weight:800; }.review-form input,.review-form textarea { width:100%; border:1px solid #dfe3dd; border-radius:14px; background:#fafbfa; font:inherit; font-size:14px; outline:0; }.review-form input { height:50px; padding:0 15px; }.review-form textarea { height:82px; padding:13px 15px; resize:none; }.review-form input:focus,.review-form textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(98,201,90,.12); }.review-form-actions { display:flex; gap:8px; }.review-form-actions button { min-height:48px; padding:0 17px; border:1px solid var(--green); border-radius:24px; background:#fff; color:var(--green-dark); font-weight:900; cursor:pointer; }.review-form-actions button:last-child { border-color:var(--green); background:var(--green); color:#fff; }
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; align-items:stretch; }.review-card { min-height:220px; display:flex; flex-direction:column; padding:25px; border:1px solid #e8ebe6; border-radius:21px; background:#fff; box-shadow:0 9px 27px rgba(42,65,44,.05); }.review-card header { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }.review-card header>div { display:grid; gap:6px; }.review-card strong { font-size:17px; }.review-card time { color:#8b908b; font-size:12px; white-space:nowrap; }.review-stars { color:#f5ad24; font-size:12px; letter-spacing:1px; }.review-card p { flex:1; margin:18px 0 22px; color:#696f69; font-size:14px; line-height:1.67; }.review-card>small { color:#3e9c53; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; }.reviews-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:7px; margin-top:34px; }.reviews-pagination button { width:38px; height:38px; border:1px solid #dfe5dc; border-radius:12px; background:#fff; color:#4e554e; font-weight:800; cursor:pointer; }.reviews-pagination button:hover,.reviews-pagination button.active { border-color:var(--green); background:var(--green); color:#fff; }.reviews-pagination button:disabled { opacity:.35; cursor:not-allowed; }

.returns-info-card { background:#f5f7f3; }.returns-info-content { min-height:100%; }.returns-info-hero { position:relative; min-height:330px; display:grid; grid-template-columns:minmax(0,1fr) 220px; align-items:center; gap:45px; overflow:hidden; padding:62px 68px; background:linear-gradient(130deg,#edf8ea 0%,#fff 55%,#fff0f2 100%); }.returns-info-hero::before { content:""; position:absolute; width:340px; height:340px; right:-85px; top:-130px; border-radius:50%; border:1px solid rgba(98,201,90,.15); box-shadow:0 0 0 40px rgba(98,201,90,.05),0 0 0 78px rgba(242,102,120,.035); }.returns-info-hero>div { position:relative; z-index:1; }.returns-info-hero h2 { max-width:730px; margin:11px 0 16px; font-size:clamp(40px,5.4vw,62px); line-height:1; letter-spacing:-2.3px; }.returns-info-hero p { max-width:660px; margin:0; color:#666d66; font-size:17px; line-height:1.6; }.returns-hero-badge { width:190px; height:190px; display:flex; flex-direction:column; align-items:center; justify-content:center; justify-self:center; border-radius:50%; background:#fff; color:var(--green-dark); box-shadow:0 20px 55px rgba(50,91,54,.14),0 0 0 15px rgba(255,255,255,.48); transform:rotate(3deg); }.returns-hero-badge>span { width:54px; height:54px; display:grid; place-items:center; margin-bottom:10px; border-radius:50%; background:var(--green); color:#fff; }.returns-hero-badge svg { width:26px; height:26px; }.returns-hero-badge strong { font-size:21px; }.returns-hero-badge small { margin-top:4px; color:#7b827b; text-transform:uppercase; letter-spacing:.8px; }
.returns-info-body { width:min(960px,calc(100% - 48px)); margin:0 auto; padding:50px 0 70px; }.returns-warranty,.returns-legal { padding:34px; border:1px solid #e5ebe2; border-radius:24px; background:#fff; box-shadow:0 10px 30px rgba(42,65,44,.055); }.returns-legal { margin-top:18px; }.returns-title { display:flex; align-items:center; gap:18px; margin-bottom:26px; }.returns-title h3 { margin:6px 0 0; font-size:28px; }.returns-number { flex:0 0 auto; width:62px; height:62px; display:grid; place-items:center; border-radius:18px; background:#eaf7e7; color:var(--green-dark); font-size:20px; font-weight:900; }.returns-number.coral { background:#fff0f2; color:var(--coral); }.returns-list { display:grid; gap:13px; margin:0; padding:0; list-style:none; }.returns-list li { display:grid; grid-template-columns:40px 1fr; gap:15px; padding:18px; border-radius:17px; background:#f8faf7; }.returns-list li>span { width:40px; height:40px; display:grid; place-items:center; border-radius:13px; background:#e8f6e5; color:var(--green-dark); }.returns-list svg { width:21px; height:21px; }.returns-list p { margin:0; color:#626962; font-size:14px; line-height:1.68; }.returns-response { display:grid; grid-template-columns:58px 1fr; align-items:center; gap:18px; margin-top:20px; padding:22px 25px; border:1px solid #d8ead4; border-radius:19px; background:#eef8eb; }.returns-response>span { width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:var(--green); color:#fff; font-size:24px; font-weight:900; }.returns-response>span::after { content:"ч"; font-size:11px; }.returns-response p { margin:0; color:#5e675e; line-height:1.55; }.returns-response strong { display:block; margin-bottom:4px; color:var(--text); }.returns-legal>p { margin:0; color:#626962; font-size:15px; line-height:1.78; }.returns-case-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin-top:25px; }.returns-case-grid article { display:grid; grid-template-columns:48px 1fr; gap:15px; padding:22px; border-radius:19px; background:#f8faf7; }.returns-case-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:15px; background:#e8f6e5; color:var(--green-dark); }.returns-case-icon.coral { background:#fff0f2; color:var(--coral); }.returns-case-icon svg { width:23px; height:23px; }.returns-case-grid h4 { margin:3px 0 8px; font-size:17px; }.returns-case-grid p { margin:0; color:#697069; font-size:13px; line-height:1.67; }

.consent-info-card { background:#f5f7f3; }.consent-info-content { min-height:100%; }.consent-info-hero { position:relative; min-height:350px; display:grid; grid-template-columns:minmax(0,1fr) 220px; align-items:center; gap:46px; overflow:hidden; padding:64px 68px; background:linear-gradient(128deg,#eef8eb 0%,#fff 58%,#f3efff 100%); }.consent-info-hero::before { content:""; position:absolute; width:360px; height:360px; right:-100px; top:-145px; border-radius:50%; border:1px solid rgba(98,201,90,.15); box-shadow:0 0 0 42px rgba(98,201,90,.05),0 0 0 82px rgba(133,111,213,.035); }.consent-info-hero>div { position:relative; z-index:1; }.consent-info-hero h2 { max-width:760px; margin:11px 0 17px; font-size:clamp(38px,5vw,59px); line-height:1.03; letter-spacing:-2.2px; }.consent-info-hero p { max-width:690px; margin:0; color:#666d66; font-size:17px; line-height:1.6; }.consent-lock { width:190px; height:190px; display:flex; flex-direction:column; align-items:center; justify-content:center; justify-self:center; border-radius:50%; background:#fff; color:var(--green-dark); box-shadow:0 20px 55px rgba(50,91,54,.14),0 0 0 15px rgba(255,255,255,.48); transform:rotate(3deg); }.consent-lock>span { width:54px; height:54px; display:grid; place-items:center; margin-bottom:10px; border-radius:17px; background:var(--green); color:#fff; }.consent-lock svg { width:26px; height:26px; }.consent-lock strong { font-size:21px; }.consent-lock small { margin-top:4px; color:#7b827b; text-transform:uppercase; letter-spacing:.8px; }
.consent-info-body { width:min(960px,calc(100% - 48px)); margin:0 auto; padding:38px 0 72px; }.consent-summary { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-bottom:18px; }.consent-summary a { display:flex; align-items:center; gap:15px; padding:19px 21px; border:1px solid #dfe8dc; border-radius:18px; background:#fff; color:var(--text); box-shadow:0 8px 24px rgba(42,65,44,.045); }.consent-summary a:hover { border-color:#afd7a8; }.consent-summary span { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:#eaf7e7; color:var(--green-dark); font-weight:900; }.consent-summary strong { font-size:15px; }.consent-section { scroll-margin-top:75px; padding:34px; border:1px solid #e5ebe2; border-radius:24px; background:#fff; box-shadow:0 10px 30px rgba(42,65,44,.055); }.consent-section+.consent-section { margin-top:18px; }.consent-section-head { display:flex; align-items:center; gap:18px; margin-bottom:25px; }.consent-section-head>span { flex:0 0 auto; width:62px; height:62px; display:grid; place-items:center; border-radius:18px; background:#eaf7e7; color:var(--green-dark); font-size:20px; font-weight:900; }.consent-section-head small { color:var(--green-dark); font-size:10px; font-weight:900; letter-spacing:1px; }.consent-section-head h3 { margin:6px 0 0; font-size:28px; }.consent-prose { display:grid; gap:13px; }.consent-prose p { margin:0; padding:18px 20px; border-radius:16px; background:#f8faf7; color:#616861; font-size:14px; line-height:1.75; }.consent-prose b { color:var(--green-dark); }.consent-definitions { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin:0; }.consent-definitions>div { padding:20px; border-radius:17px; background:#f8faf7; }.consent-definitions dt { margin-bottom:8px; color:#343a34; font-size:14px; font-weight:900; line-height:1.4; }.consent-definitions dd { margin:0; color:#687068; font-size:13px; line-height:1.68; }

.offer-info-card { background:#f5f7f3; }.offer-info-content { min-height:100%; }.offer-info-hero { position:relative; min-height:340px; display:grid; grid-template-columns:minmax(0,1fr) 220px; align-items:center; gap:46px; overflow:hidden; padding:64px 68px; background:linear-gradient(128deg,#fff5ed 0%,#fff 55%,#eef8eb 100%); }.offer-info-hero::before { content:""; position:absolute; width:360px; height:360px; right:-100px; top:-145px; border-radius:50%; border:1px solid rgba(242,102,120,.14); box-shadow:0 0 0 42px rgba(242,102,120,.045),0 0 0 82px rgba(98,201,90,.035); }.offer-info-hero>div { position:relative; z-index:1; }.offer-info-hero h2 { margin:11px 0 17px; font-size:clamp(42px,5.5vw,64px); line-height:1; letter-spacing:-2.4px; }.offer-info-hero p { max-width:690px; margin:0; color:#666d66; font-size:17px; line-height:1.6; }.offer-document { width:190px; height:190px; display:flex; flex-direction:column; align-items:center; justify-content:center; justify-self:center; border-radius:50%; background:#fff; color:#ad5543; box-shadow:0 20px 55px rgba(103,69,55,.13),0 0 0 15px rgba(255,255,255,.48); transform:rotate(3deg); }.offer-document>span { width:54px; height:54px; display:grid; place-items:center; margin-bottom:9px; border-radius:17px; background:var(--coral); color:#fff; font-size:34px; font-weight:900; }.offer-document strong { font-size:21px; }.offer-document small { margin-top:4px; color:#7b827b; text-transform:uppercase; letter-spacing:.8px; }
.offer-info-body { width:min(960px,calc(100% - 48px)); margin:0 auto; padding:38px 0 72px; }.offer-summary { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:18px; }.offer-summary a { display:flex; align-items:center; gap:14px; padding:18px 20px; border:1px solid #e6e2da; border-radius:18px; background:#fff; color:var(--text); box-shadow:0 8px 24px rgba(65,54,42,.045); }.offer-summary a:hover { border-color:#e4b4aa; }.offer-summary span { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:#fff0ed; color:#bb5e4b; font-weight:900; }.offer-summary strong { font-size:15px; }.offer-section { scroll-margin-top:75px; padding:34px; border:1px solid #e9e5df; border-radius:24px; background:#fff; box-shadow:0 10px 30px rgba(65,54,42,.05); }.offer-section+.offer-section { margin-top:18px; }.offer-section-head { display:flex; align-items:center; gap:18px; margin-bottom:25px; }.offer-section-head>span { flex:0 0 auto; width:62px; height:62px; display:grid; place-items:center; border-radius:18px; background:#fff0ed; color:#bb5e4b; font-size:20px; font-weight:900; }.offer-section-head small { color:#bb5e4b; font-size:10px; font-weight:900; letter-spacing:1px; }.offer-section-head h3 { margin:6px 0 0; font-size:28px; }.offer-terms { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0; }.offer-terms>div { padding:19px; border-radius:16px; background:#faf8f5; }.offer-terms>div:last-child { grid-column:1/-1; }.offer-terms dt { margin-bottom:7px; color:#443a35; font-size:14px; font-weight:900; }.offer-terms dd { margin:0; color:#6c6561; font-size:13px; line-height:1.65; }.offer-prose { display:grid; gap:12px; }.offer-prose p { margin:0; padding:18px 20px; border-radius:16px; background:#faf8f5; color:#625d59; font-size:14px; line-height:1.75; }.offer-prose b { color:#b25644; }.offer-order-list { display:grid; gap:11px; margin:0; padding:0; list-style:none; }.offer-order-list li { display:grid; grid-template-columns:52px 1fr; gap:15px; padding:18px; border-radius:17px; background:#faf8f5; }.offer-order-list b { width:52px; height:40px; display:grid; place-items:center; border-radius:12px; background:#fff0ed; color:#b25644; }.offer-order-list p { margin:0; color:#625d59; font-size:14px; line-height:1.72; }

.seo-block { padding-block: 44px 70px; border-top: 1px solid var(--line); }
.seo-block > h2 { font-size: 30px; }.seo-block > p { max-width: 1000px; color: #666; line-height: 1.65; }
.seo-columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 50px; margin-top: 34px; }
.seo-columns h3 { margin-bottom: 8px; }.seo-columns p { color: #777; line-height: 1.55; }

footer { background: #323a32; color: white; }
.footer-main { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 70px; padding-block: 56px; }
.brand.light { color: white; }.footer-brand p { color: #bfc7bf; line-height: 1.5; }
.footer-main h3 { margin: 5px 0 19px; font-size: 14px; }
.footer-main > div:not(:first-child) { display: flex; flex-direction: column; gap: 11px; }
.footer-main a:not(.brand):not(.phone) { color: #cbd0cb; font-size: 13px; }
.footer-documents a { line-height:1.45; }
.legal-data-list { margin:0; padding:4px 0 4px 22px; color:#616861; }.legal-data-list li { padding:6px 0 6px 4px; font-size:14px; line-height:1.6; }.legal-data-list li::marker { color:var(--green-dark); }
.footer-bottom { min-height: 64px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #4d554d; color: #9da59d; font-size: 12px; }.footer-bottom button { padding:0; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; }.footer-bottom button:hover { color:#fff; text-decoration:underline; }

.side-drawer { position: fixed; inset: 0 auto 0 0; z-index: 50; width: min(360px, 88vw); height: 100vh; height: 100dvh; display: flex; flex-direction: column; overflow: hidden; background: white; transform: translateX(-105%); transition: transform .3s; box-shadow: 15px 0 45px rgba(0,0,0,.14); }
.side-drawer.open { transform: translateX(0); }.side-drawer a { display:block; padding:13px 6px; border-bottom:1px solid #eee; }.side-drawer hr { width:100%; margin:8px 0; border:0; border-top:1px solid #ddd; }
.drawer-head { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; min-height:82px; padding:18px 24px 12px; border-bottom:1px solid #f0f0f0; background:#fff; font-size:24px; font-weight:800; }.drawer-close { width:44px; height:44px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; background:#f5f7f4; font-size:33px; line-height:1; cursor:pointer; }
.drawer-scroll { flex:1 1 auto; min-height:0; overflow-x:hidden; overflow-y:auto; padding:4px 24px calc(34px + env(safe-area-inset-bottom)); overscroll-behavior:contain; -webkit-overflow-scrolling:touch; touch-action:pan-y; scrollbar-width:thin; scrollbar-color:#c7ddc4 transparent; }
.drawer-scroll::-webkit-scrollbar { width:5px; }.drawer-scroll::-webkit-scrollbar-thumb { border-radius:5px; background:#c7ddc4; }
.drawer-catalog-links { display:flex; flex-direction:column; }
.overlay { position: fixed; inset: 0; z-index: 40; background: rgba(0,0,0,.35); opacity: 0; pointer-events: none; transition: opacity .3s; }.overlay.open { opacity: 1; pointer-events: auto; }
.mobile-nav { display: none; }
.toast { position: fixed; z-index: 100; right: 24px; bottom: 24px; padding: 14px 18px; border-radius: 12px; background: #313633; color: white; box-shadow: 0 10px 30px rgba(0,0,0,.22); opacity: 0; transform: translateY(15px); pointer-events: none; transition: .25s; font-size: 14px; }.toast.show { opacity: 1; transform: translateY(0); }

.modal { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 20px; background: rgba(25,28,25,.52); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.modal.open { opacity: 1; pointer-events: auto; }
.modal-card { width: min(680px, 100%); max-height: min(760px, calc(100vh - 40px)); overflow: auto; padding: 30px; border-radius: 22px; background: white; box-shadow: 0 24px 70px rgba(0,0,0,.22); transform: translateY(12px) scale(.985); transition: transform .2s ease; }
.modal.open .modal-card { transform: translateY(0) scale(1); }
.modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.modal-head h2 { margin: 5px 0 0; font-size: 28px; }
.modal-close { width: 42px; height: 42px; flex: 0 0 auto; border: 0; border-radius: 50%; background: #f3f3f3; font-size: 30px; line-height: 1; cursor: pointer; }
.modal-search { height: 50px; display: flex; align-items: center; gap: 10px; padding: 0 16px; border: 1px solid #ddd; border-radius: 13px; background: #fafafa; }
.modal-search:focus-within { border-color: var(--green); box-shadow: 0 0 0 3px rgba(98,201,90,.13); }
.modal-search svg { width: 20px; color: #777; }
.modal-search input { width: 100%; border: 0; outline: 0; background: transparent; }
.city-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px 14px; margin-top: 18px; }
.city-option { min-height: 44px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; border: 0; border-bottom: 1px solid #eee; background: white; text-align: left; cursor: pointer; }
.city-option:hover { color: var(--green-dark); background: #f7fbf6; }
.city-option.selected { color: var(--green-dark); font-weight: 800; }
.city-option b { color: var(--green); }
.city-empty { grid-column: 1 / -1; padding: 22px; color: var(--muted); text-align: center; }
.modal-note { margin: 18px 0 0; color: var(--muted); font-size: 12px; }
.address-modal-card { width: min(580px, 100%); }
.address-city-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; padding: 16px 18px; border-radius: 14px; background: #f3f8f2; }
.address-city-row small { display: block; margin-bottom: 4px; color: var(--muted); }
.change-city-link { border: 0; background: transparent; color: var(--green-dark); font-weight: 800; cursor: pointer; }
.address-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.address-form .wide { grid-column: 1 / -1; }
.address-form label span { display: block; margin-bottom: 7px; color: #555; font-size: 13px; font-weight: 700; }
.address-form input { width: 100%; height: 50px; padding: 0 14px; border: 1px solid #ddd; border-radius: 12px; outline: 0; }
.address-form input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(98,201,90,.13); }
.save-address { grid-column: 1 / -1; height: 52px; margin-top: 4px; border: 0; border-radius: 26px; background: var(--green); color: white; font-weight: 900; cursor: pointer; }
.save-address:hover { background: var(--green-dark); }

.product-modal { z-index: 140; padding: 24px; }
.product-modal-card { position: relative; width: calc(100vw - 48px); max-width: 1180px; max-height: calc(100vh - 48px); overflow: auto; overflow-x: hidden; border-radius: 24px; background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.25); transform: translateY(14px) scale(.985); transition: transform .22s ease; }
.product-modal.open .product-modal-card { transform: translateY(0) scale(1); }
.product-modal-close { position: absolute; top: 18px; right: 18px; z-index: 4; width: 46px; height: 46px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); box-shadow: 0 4px 18px rgba(0,0,0,.12); font-size: 31px; line-height: 1; cursor: pointer; }
.product-detail { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); min-height: 680px; }
.product-gallery { min-width: 0; width: 100%; height: 680px; align-self: start; display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 12px; padding-bottom: 14px; background: #fff; }
.product-gallery .product-detail-media { min-height: 584px; }
.product-gallery .product-detail-media > img { min-height: 584px; filter: saturate(.94) contrast(.98) brightness(1.025); transition: opacity .16s ease; }
.product-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding: 0 14px; }
.product-thumb { height: 70px; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 12px; background: #f3efed; cursor: pointer; opacity: .72; transition: border-color .18s, opacity .18s, transform .18s; }
.product-thumb:hover { opacity: 1; transform: translateY(-2px); }
.product-thumb.active { border-color: var(--green); opacity: 1; }
.product-thumb img { width: 100%; height: 100%; display: block; object-fit: cover; }
.product-detail-media { position: relative; min-height: 680px; overflow: hidden; border-radius: 24px 0 0 24px; background: #f2e9e9; }
.product-detail-media > img, .product-detail-atlas { width: 100%; height: 100%; min-height: 680px; display: block; object-fit: cover; }
.product-detail-atlas { background-image: url("assets/bouquet-atlas.webp"); background-size: 400% 300%; background-repeat: no-repeat; }
.product-detail-discount { position: absolute; left: 22px; top: 22px; padding: 8px 12px; border-radius: 15px; background: var(--coral); color: #fff; font-size: 13px; font-weight: 900; }
.product-detail-copy { align-self: center; padding: 58px 54px; }
.product-detail-copy h2 { margin: 10px 0 10px; font-size: clamp(30px, 3vw, 46px); line-height: 1.08; letter-spacing: -1.5px; }
.product-detail-rating { color: #85858a; font-size: 13px; }
.product-detail-rating strong { color: #f4aa1a; }
.product-detail-price { display: flex; align-items: baseline; gap: 13px; margin: 26px 0 21px; }
.product-detail-price span { color: #9c9ca1; font-size: 17px; text-decoration: line-through; }
.product-detail-price b { font-size: 32px; }
.product-order { min-width: 210px; height: 56px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 0; border-radius: 28px; background: var(--green); color: #fff; font-weight: 900; cursor: pointer; box-shadow: 0 10px 24px rgba(45,157,72,.2); }
.product-order:hover { background: var(--green-dark); }
.product-order svg { width: 20px; height: 20px; }
.product-order.added { background: #343438; }
.product-detail-facts { margin-top: 40px; padding-top: 27px; border-top: 1px solid var(--line); }
.product-detail-facts p { margin: 0 0 20px; color: #626268; font-size: 15px; line-height: 1.58; }
.product-detail-facts strong { color: var(--text); }

.account-modal { z-index: 160; padding: 22px; background: rgba(29,34,29,.66); }
.account-modal-card { position: relative; width: min(1280px, 100%); height: min(820px, calc(100vh - 44px)); overflow: hidden; border-radius: 26px; background: #f5f7f3; box-shadow: 0 30px 100px rgba(0,0,0,.3); transform: translateY(14px) scale(.985); transition: transform .22s ease; }
.account-modal.open .account-modal-card { transform: translateY(0) scale(1); }
.account-close { position: absolute; right: 20px; top: 18px; z-index: 8; width: 43px; height: 43px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 5px 20px rgba(0,0,0,.1); font-size: 29px; cursor: pointer; }
#accountContent { height: 100%; }
.account-auth { height: 100%; display: grid; grid-template-columns: .88fr 1.12fr; background: #fff; }
.account-auth-form { max-width: 510px; width: 100%; align-self: center; justify-self: center; padding: 54px 46px; }
.account-crumb { display: flex; align-items: center; gap: 9px; margin-bottom: 48px; color: #a6a6aa; font-size: 12px; font-weight: 700; }.account-crumb button { padding: 0; border: 0; background: transparent; color: inherit; font-weight: inherit; cursor: pointer; transition: color .2s; }.account-crumb button:hover, .account-crumb button:focus-visible { color: var(--green-dark); }.account-crumb span { color: var(--green); }
.account-auth-form h2 { margin: 9px 0 10px; font-size: 40px; letter-spacing: -1.5px; }.account-lead { margin: 0 0 30px; color: var(--muted); line-height: 1.5; }
.account-form { display: grid; gap: 17px; }.account-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.account-form label > span, .profile-form label > span, .account-editor label > span { display: block; margin-bottom: 8px; color: #4e4e52; font-size: 12px; font-weight: 800; }
.account-form input, .profile-form input, .profile-form select, .account-editor input, .account-editor select, .date-form input { width: 100%; height: 52px; padding: 0 16px; border: 1px solid #dedfe0; border-radius: 13px; background: #fafafa; outline: 0; }
.account-form input:focus, .profile-form input:focus, .profile-form select:focus, .account-editor input:focus, .account-editor select:focus, .date-form input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(98,201,90,.13); }
.account-field { min-width: 0; }.account-field.invalid input { border-color: var(--coral); background: #fff8f9; box-shadow: 0 0 0 3px rgba(242,102,120,.11); }.field-hint { display: block; margin-top: 6px; color: #96969b; font-size: 10px; line-height: 1.3; }.field-hint:empty { display: none; }.field-error { display: block; min-height: 0; margin-top: 6px; color: #d93f57; font-size: 11px; font-weight: 700; line-height: 1.25; }.field-error:empty { display: none; }.consent-error { margin-top: -10px; }
.account-consent { display: flex; align-items: flex-start; gap: 9px; color: var(--muted); font-size: 12px; line-height: 1.35; }.account-consent input { width: 17px; height: 17px; flex: 0 0 auto; margin-top: 1px; accent-color: var(--green); }.account-consent span { margin: 0 !important; font-weight: 400 !important; }
.account-primary { min-height: 52px; padding: 0 24px; border: 0; border-radius: 26px; background: var(--green); color: #fff; font-weight: 900; cursor: pointer; box-shadow: 0 8px 20px rgba(45,157,72,.18); }.account-primary:hover { background: var(--green-dark); }
.account-switch { width: 100%; margin-top: 20px; border: 0; background: none; color: var(--green-dark); font-weight: 800; cursor: pointer; }
.account-auth-art { position: relative; display: grid; place-items: center; overflow: hidden; background: linear-gradient(145deg, #edf8eb, #fff1f3); }.account-auth-art::before { content: ""; position: absolute; width: 580px; height: 580px; border-radius: 50%; background: rgba(255,255,255,.72); }
.account-art-card { position: relative; z-index: 2; width: 330px; min-height: 235px; padding: 34px; border-radius: 26px; background: #fff; box-shadow: 0 28px 70px rgba(80,83,80,.15); transform: rotate(-3deg); }.account-art-card .brand-bloom { margin-bottom: 38px; }.account-art-card b { display: block; font-size: 29px; line-height: 1.08; }.account-art-line { height: 8px; margin-top: 25px; border-radius: 5px; background: #e9eee8; }.account-art-line.short { width: 65%; margin-top: 10px; }
.account-auth-art > p { position: absolute; z-index: 2; bottom: 52px; margin: 0; color: #6c736c; text-align: center; line-height: 1.5; }.account-art-flower { position: absolute; z-index: 1; color: var(--coral); font-size: 150px; opacity: .22; }.flower-one { right: -20px; top: 45px; transform: rotate(18deg); }.flower-two { left: 25px; bottom: 25px; color: var(--green); font-size: 110px; transform: rotate(-14deg); }

.account-shell { height: 100%; display: grid; grid-template-columns: 260px 1fr; }
.account-sidebar { position: relative; display: flex; flex-direction: column; align-items: center; padding: 30px 22px 24px; background: #fff; border-right: 1px solid #e6e9e4; }
.account-mini-brand { align-self: flex-start; margin: 0 0 27px 8px; padding: 0; border: 0; background: transparent; color: var(--green-dark); font-size: 16px; font-weight: 900; letter-spacing: 1px; cursor: pointer; }.account-mini-brand span { color: var(--coral); }
.account-avatar { width: 76px; height: 76px; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: linear-gradient(145deg, var(--coral), #ff9aaa); color: #fff; font-size: 30px; font-weight: 900; box-shadow: 0 8px 20px rgba(242,102,120,.22); }.account-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; }.account-sidebar > p { margin: 17px 0 2px; color: var(--muted); font-size: 12px; }.account-sidebar > strong { font-size: 19px; }
.account-sidebar nav { width: calc(100% + 44px); margin-top: 26px; display: grid; }.account-sidebar nav button, .account-logout { height: 50px; display: flex; align-items: center; gap: 13px; padding: 0 27px; border: 0; border-left: 4px solid transparent; background: transparent; color: #797c79; text-align: left; cursor: pointer; }.account-sidebar nav button svg, .account-logout svg { width: 21px; height: 21px; }.account-sidebar nav button.active { border-left-color: var(--green); background: #f1f9ef; color: var(--text); font-weight: 800; }.account-sidebar nav button:hover { color: var(--green-dark); }
.account-logout { width: calc(100% + 44px); margin-top: auto; color: #8a8a8e; }.account-logout:hover { color: var(--coral); }
.account-workspace { min-width: 0; height: 100%; overflow: auto; padding: 54px 58px; }.account-mobile-head { display: none; }
.account-panel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 28px; }.account-panel-head h2 { margin: 7px 0 0; font-size: 34px; letter-spacing: -1px; }.account-shop, .account-card-title button { border: 0; background: transparent; color: var(--green-dark); font-weight: 800; cursor: pointer; }.account-shop { padding: 11px 17px; border: 1px solid #cfe6cc; border-radius: 20px; }
.account-stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-bottom: 17px; }.account-stat-grid article { min-height: 135px; display: flex; flex-direction: column; padding: 22px; border-radius: 18px; background: #fff; box-shadow: 0 4px 18px rgba(32,45,32,.04); }.account-stat-grid span { color: var(--muted); font-size: 12px; }.account-stat-grid b { margin: 9px 0 3px; font-size: 34px; }.account-stat-grid small { margin-top: auto; color: #979b97; }
.account-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }.account-card { min-height: 180px; padding: 24px; border-radius: 19px; background: #fff; box-shadow: 0 4px 18px rgba(32,45,32,.04); }.account-card.wide { grid-column: 1 / -1; min-height: 190px; }.account-card-title { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 22px; }.account-card-title h3 { margin: 0; font-size: 17px; }.account-card-title button { padding: 0; font-size: 12px; }.account-card-muted { max-width: 360px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.account-draft { display: grid; grid-template-columns: 45px 1fr auto; align-items: center; gap: 14px; padding: 18px; border-radius: 14px; background: #f4faf3; }.account-draft > span { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--green-dark); }.account-draft small { display: block; margin-top: 4px; color: var(--muted); }.account-date-row, .account-address { display: flex; align-items: center; gap: 13px; }.account-date-row > span { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 13px; background: #fff0f2; color: var(--coral); font-weight: 900; }.account-date-row small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }.account-address > span { color: var(--green-dark); }.account-address p { margin: 0; color: var(--muted); line-height: 1.5; }.account-address b { color: var(--text); }
.account-empty { display: grid; justify-items: center; padding: 28px 15px; text-align: center; }.account-empty > span { color: var(--coral); font-size: 42px; }.account-empty h3 { margin: 7px 0 5px; }.account-empty p { margin: 0 0 18px; color: var(--muted); font-size: 13px; }.account-empty .account-primary { min-height: 44px; }
.profile-form { display: grid; grid-template-columns: 190px 1fr; gap: 35px; padding: 34px; border-radius: 20px; background: #fff; }.profile-avatar-panel { display: flex; flex-direction: column; align-items: center; gap: 10px; }.profile-avatar-upload { display: flex; flex-direction: column; align-items: center; color: var(--green-dark); font-size: 12px; font-weight: 800; text-align: center; cursor: pointer; }.profile-avatar-upload input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }.profile-avatar-upload small { margin-top: 5px; color: var(--muted); font-size: 10px; font-weight: 400; }.profile-avatar { width: 150px; height: 150px; margin-bottom: 14px; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: linear-gradient(145deg, var(--coral), #ff9aaa); color: #fff; font-size: 58px; font-weight: 900; box-shadow: 0 10px 28px rgba(242,102,120,.2); transition: transform .2s, box-shadow .2s; }.profile-avatar-upload:hover .profile-avatar { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(242,102,120,.27); }.profile-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; }.avatar-remove { border: 0; background: transparent; color: var(--coral); font-size: 11px; cursor: pointer; }.profile-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 19px; }.profile-wide { grid-column: 1 / -1; }.profile-fields .account-primary { grid-column: 2; justify-self: end; min-width: 210px; }
.bonus-hero { min-height: 245px; display: grid; grid-template-columns: 1fr 190px; align-items: center; padding: 35px 42px; border-radius: 22px; background: linear-gradient(135deg, #3aa556, #65cb5c); color: #fff; overflow: hidden; }.bonus-hero span { opacity: .8; }.bonus-hero b { display: block; margin: 12px 0; font-size: 55px; }.bonus-hero b small { font-size: 20px; }.bonus-hero p { max-width: 500px; margin: 0; line-height: 1.5; }.bonus-orbit { width: 150px; height: 150px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--green-dark); font-size: 46px; font-weight: 900; box-shadow: 0 0 0 20px rgba(255,255,255,.15), 0 0 0 40px rgba(255,255,255,.08); }.bonus-rules { margin-top: 18px; }.bonus-rules > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }.bonus-rules p { display: flex; align-items: center; gap: 12px; }.bonus-rules p b { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: #eef8ec; color: var(--green-dark); }
.account-orders { display: grid; gap: 15px; }.account-orders article { display: flex; justify-content: space-between; gap: 30px; padding: 28px; border-radius: 18px; background: #fff; }.account-orders h3 { margin: 10px 0 7px; }.account-orders p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }.account-orders article > strong { white-space: nowrap; font-size: 20px; }.order-status { padding: 5px 9px; border-radius: 10px; background: #fff1d7; color: #a56a00; font-size: 10px; font-weight: 900; }
.account-editor { max-width: 720px; display: grid; grid-template-columns: 1fr 1fr; gap: 17px; padding: 30px; border-radius: 20px; background: #fff; }.account-editor .wide { grid-column: 1 / -1; }
.date-form { display: grid; grid-template-columns: 1.4fr 1fr auto; gap: 12px; margin-bottom: 20px; padding: 22px; border-radius: 18px; background: #fff; }.dates-list { display: grid; gap: 12px; }.dates-list > article { display: grid; grid-template-columns: 60px 1fr 34px; align-items: center; gap: 17px; padding: 18px 20px; border-radius: 17px; background: #fff; }.date-badge { height: 60px; display: grid; place-items: center; align-content: center; border-radius: 15px; background: #fff0f2; color: var(--coral); }.date-badge b { font-size: 21px; }.date-badge span { font-size: 10px; text-transform: uppercase; }.dates-list h3 { margin: 0 0 4px; }.dates-list p { margin: 0; color: var(--muted); font-size: 12px; }.dates-list > article > button { border: 0; background: none; color: #aaa; font-size: 25px; cursor: pointer; }
.account-favorites { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }.account-favorites article { cursor: pointer; }.account-favorites article > div { aspect-ratio: 1; overflow: hidden; border-radius: 15px; background: #eee; }.account-favorites img, .favorite-atlas { width: 100%; height: 100%; object-fit: cover; }.favorite-atlas { background-image: url("assets/bouquet-atlas.webp"); background-size: 400% 300%; }.account-favorites h3 { min-height: 37px; margin: 9px 0 5px; font-size: 12px; line-height: 1.35; }.account-favorites b { font-size: 15px; }

.cart-modal { z-index: 170; padding: 22px; background: rgba(29,34,29,.66); }.cart-modal-card { position: relative; width: min(1380px,100%); height: min(860px,calc(100vh - 44px)); overflow: hidden; border-radius: 26px; background: #fff; box-shadow: 0 30px 100px rgba(0,0,0,.3); transform: translateY(14px) scale(.985); transition: transform .22s ease; }.cart-modal.open .cart-modal-card { transform: translateY(0) scale(1); }.cart-close { position: absolute; right: 18px; top: 17px; z-index: 8; width: 43px; height: 43px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 5px 20px rgba(0,0,0,.1); font-size: 29px; cursor: pointer; }#cartContent { height: 100%; }
.cart-page,.checkout-page { height: 100%; display: grid; grid-template-columns: minmax(0,1fr) 370px; }.cart-main,.checkout-main { min-width: 0; overflow: auto; padding: 43px 48px 55px; }.cart-side,.checkout-summary { background: #f4f7f2; }.cart-side { display: flex; flex-direction: column; padding: 80px 32px 34px; }.cart-crumb { display: flex; align-items: center; gap: 9px; margin-bottom: 23px; color: #a0a3a0; font-size: 12px; font-weight: 700; }.cart-crumb button { padding: 0; border: 0; background: transparent; color: inherit; font-weight: inherit; cursor: pointer; transition: color .2s; }.cart-crumb button:hover, .cart-crumb button:focus-visible { color: var(--green-dark); }.cart-crumb button[aria-current="page"] { cursor: default; }.cart-crumb span { color: var(--green); }
.checkout-progress { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin: 0 0 30px; }.checkout-progress span { display: flex; align-items: center; gap: 7px; color: #a2a5a1; font-size: 11px; }.checkout-progress span::after { content:""; height: 3px; flex:1; border-radius: 3px; background:#e4e7e3; }.checkout-progress span:last-child::after { display:none; }.checkout-progress b { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; background:#eceeeb; font-size:10px; }.checkout-progress span.active { color:var(--green-dark); font-weight:800; }.checkout-progress span.active b,.checkout-progress span.active::after { background:var(--green); color:#fff; }
.cart-title-row { display:flex; align-items:flex-end; justify-content:space-between; padding-bottom:20px; border-bottom:1px solid var(--line); }.cart-title-row h2,.checkout-main>h2 { margin:6px 0 0; font-size:34px; letter-spacing:-1px; }.cart-clear { border:0; background:none; color:var(--coral); font-size:12px; font-weight:800; cursor:pointer; }
.cart-list { display:grid; }.cart-row { position:relative; display:grid; grid-template-columns:108px minmax(190px,1fr) 120px 110px 32px; align-items:center; gap:18px; padding:23px 0; border-bottom:1px solid var(--line); }.cart-row-media { width:108px; aspect-ratio:1; overflow:hidden; border-radius:15px; background:#eee; }.cart-row-media img,.cart-atlas { width:100%; height:100%; object-fit:cover; }.cart-atlas { background-image:url("assets/bouquet-atlas.webp"); background-size:400% 300%; }.cart-row-copy h3 { margin:0 0 8px; font-size:16px; line-height:1.35; }.cart-row-copy p { margin:0; color:#a77c13; font-size:11px; }.quantity { display:flex; align-items:center; justify-content:center; gap:13px; }.quantity button { width:34px; height:34px; border:0; border-radius:50%; background:#f1f3f0; color:var(--green-dark); font-size:20px; cursor:pointer; }.quantity b { min-width:16px; text-align:center; }.cart-row-price { text-align:right; white-space:nowrap; }.cart-remove { width:30px; height:30px; border:0; border-radius:50%; background:#fff0f2; color:var(--coral); font-size:21px; cursor:pointer; }
.promo-box { display:grid; grid-template-columns:1fr minmax(270px,380px); gap:10px 20px; align-items:center; margin-top:24px; padding:20px; border-radius:17px; background:#f7f8f6; }.promo-box>div:first-child b,.promo-box>div:first-child span { display:block; }.promo-box>div:first-child span { margin-top:5px; color:var(--muted); font-size:11px; }.promo-box>div:nth-child(2) { height:45px; display:flex; overflow:hidden; border:1px solid #ddd; border-radius:23px; background:#fff; }.promo-box input { min-width:0; flex:1; padding:0 16px; border:0; outline:0; }.promo-box button { padding:0 18px; border:0; background:var(--green); color:#fff; font-weight:800; cursor:pointer; }.promo-box small { grid-column:2; color:var(--green-dark); }.promo-box small.error { color:var(--coral); }
.checkout-summary { padding:38px 32px 30px; }.checkout-summary.compact { height:100%; padding-top:80px; }.checkout-summary h3 { margin:6px 0 30px; font-size:30px; }.summary-line { display:flex; justify-content:space-between; gap:20px; padding:13px 0; color:#5f625f; font-size:13px; }.summary-line b { color:var(--text); white-space:nowrap; }.discount-line,.discount-line b { color:var(--coral); }.summary-total { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:17px; padding-top:22px; border-top:1px solid #d8dcd7; font-size:18px; }.summary-total b { font-size:25px; white-space:nowrap; }.summary-bonus { margin:25px 0 0; padding:15px; border-radius:13px; background:#fff; color:var(--muted); font-size:11px; line-height:1.45; }.summary-bonus strong { color:#b27e00; }
.checkout-primary { min-height:52px; padding:0 24px; border:0; border-radius:26px; background:var(--green); color:#fff; font-weight:900; cursor:pointer; box-shadow:0 8px 20px rgba(45,157,72,.18); }.checkout-primary:hover { background:var(--green-dark); }.cart-side>.checkout-primary { margin-top:auto; }.checkout-consent { display:flex; align-items:flex-start; gap:8px; margin-top:15px; color:var(--muted); font-size:10px; line-height:1.4; }.checkout-consent input { accent-color:var(--green); }
.checkout-main { padding-right:60px; }.checkout-main>.eyebrow { margin-top:2px; }.checkout-main>h2 { margin-bottom:27px; }.checkout-form { padding:26px; border:1px solid #e2e5e1; border-radius:20px; background:#fff; }.checkout-fields { display:grid; grid-template-columns:1fr 1fr; gap:19px; }.checkout-fields label>span,.checkout-comment>span { display:block; margin-bottom:8px; color:#4e4e52; font-size:12px; font-weight:800; }.checkout-fields input:not([type="checkbox"]),.checkout-fields select { width:100%; height:50px; padding:0 15px; border:1px solid #dedfe0; border-radius:13px; background:#fafafa; outline:0; }.checkout-fields .wide { grid-column:1/-1; }.checkout-check { display:flex!important; align-items:center; gap:10px; color:#616461; font-size:12px; }.checkout-check input { width:20px; height:20px; flex:0 0 auto; accent-color:var(--green); }.checkout-check span { margin:0!important; font-weight:500!important; }.field-hidden { display:none!important; }.checkout-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:28px; }.checkout-actions>button:first-child { min-width:125px; border:1px solid var(--green); border-radius:25px; background:#fff; color:var(--green-dark); font-weight:900; cursor:pointer; }.checkout-actions .checkout-primary { min-width:170px; }
.payment-options { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:27px; }.payment-options-single { grid-template-columns:minmax(0,1fr); max-width:620px; }.payment-options label { position:relative; min-height:150px; display:flex; flex-direction:column; padding:20px; border:1px solid #e1e3e0; border-radius:17px; cursor:pointer; }.payment-options label.selected { border-color:var(--green); box-shadow:0 0 0 3px rgba(98,201,90,.1); }.payment-options input { position:absolute; opacity:0; }.payment-options label>span { width:45px; height:35px; display:grid; place-items:center; margin-bottom:16px; border-radius:9px; background:#edf8eb; color:var(--green-dark); font-size:20px; font-weight:900; }.payment-options b { margin-bottom:6px; }.payment-options small { color:var(--muted); line-height:1.4; }.checkout-comment { display:block; margin-bottom:20px; }.checkout-comment textarea { width:100%; min-height:105px; resize:vertical; padding:14px; border:1px solid #dedfe0; border-radius:13px; outline:0; }
.cart-empty-screen,.order-success { height:100%; display:grid; place-content:center; justify-items:center; padding:30px; text-align:center; background:radial-gradient(circle at center,#fff 0 28%,#eff8ed 70%,#fff0f2 100%); }.cart-empty-screen h2,.order-success h2 { margin:20px 0 8px; font-size:38px; }.cart-empty-screen p { margin:0 0 24px; color:var(--muted); }.success-flower { width:90px; height:90px; display:grid; place-items:center; border-radius:50%; background:var(--coral); color:#fff; font-size:52px; box-shadow:0 12px 30px rgba(242,102,120,.25); }.order-success>p { margin:8px 0; color:var(--muted); }.order-success>strong { color:var(--green-dark); font-size:42px; }.order-success .success-note { max-width:520px; margin:18px 0 28px; line-height:1.5; }.order-success>div:last-child { display:flex; gap:12px; }.success-account { min-height:52px; padding:0 24px; border:1px solid var(--green); border-radius:26px; background:#fff; color:var(--green-dark); font-weight:900; cursor:pointer; }
.checkout-comment.wide { grid-column:1/-1; margin:0; }.checkout-comment.wide textarea { min-height:92px; background:#fafafa; }.order-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; }.order-submit-status { min-height:18px; color:var(--coral); font-size:12px; font-weight:700; }.checkout-primary:disabled { cursor:wait; opacity:.68; }
.order-success-final { position:relative; overflow:hidden; padding:48px 24px; background:radial-gradient(circle at 50% 38%,#fff 0 25%,#f1f9ef 68%,#fff2f3 100%); }.order-success-final::before,.order-success-final::after { content:""; position:absolute; width:210px; height:210px; border-radius:50%; border:1px solid rgba(98,201,90,.18); }.order-success-final::before { left:-70px; top:-80px; box-shadow:0 0 0 28px rgba(98,201,90,.06),0 0 0 57px rgba(98,201,90,.03); }.order-success-final::after { right:-85px; bottom:-90px; border-color:rgba(242,102,120,.2); box-shadow:0 0 0 28px rgba(242,102,120,.06),0 0 0 57px rgba(242,102,120,.03); }.order-success-final>* { position:relative; z-index:1; }.order-success-final .success-flower { width:84px; height:84px; margin-bottom:22px; font-size:45px; }.order-success-final h2 { max-width:650px; margin:12px 0 6px; font-size:clamp(34px,4vw,52px); letter-spacing:-1.6px; }.success-lead { font-size:18px; }.success-details { width:min(100%,620px); display:grid!important; grid-template-columns:38px 1fr 38px 1fr; align-items:center; gap:12px; margin:28px 0 10px; padding:20px 24px; border:1px solid rgba(98,201,90,.2); border-radius:20px; background:rgba(255,255,255,.82); box-shadow:0 16px 40px rgba(45,80,50,.08); text-align:left; }.success-details>span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#e9f7e7; color:var(--green-dark); font-weight:900; }.success-details p { margin:0; }.success-details b,.success-details small { display:block; }.success-details small { margin-top:4px; color:var(--muted); line-height:1.35; }.success-orbit { position:absolute!important; inset:0; pointer-events:none; }.success-orbit i { position:absolute; width:12px; height:12px; border-radius:50%; background:var(--coral); opacity:.35; }.success-orbit i:nth-child(1){left:18%;top:24%;}.success-orbit i:nth-child(2){right:20%;top:31%;width:9px;height:9px;background:var(--green);}.success-orbit i:nth-child(3){right:28%;bottom:20%;width:7px;height:7px;}

@media (max-width: 1100px) {
  .seasonal-strip-inner { justify-content: space-between; gap: 16px; }
  .seasonal-scatter { display: none; }
  .seasonal-strip-copy { min-width: 0; }
  .seasonal-strip-copy b { font-size: 18px; }
  .seasonal-strip-copy span { font-size: 12px; }
  .main-head { gap: 16px; }
  .menu-btn { display: grid; }
  .head-actions { display: none; }
  .brand { min-width: 155px; }
  .quick-nav { gap: 13px; }
  .quick-nav a:not(.pill) { padding-inline: 3px; }
  .hero-copy { left: 7%; max-width: 46%; }
  .hero h1, .hero h2 { font-size: clamp(34px, 4.5vw, 46px); }
  .hero p { max-width: 330px; font-size: 15px; }
  .sale-scene { right: 1%; width: 390px; }
  .categories { grid-template-columns:repeat(11,76px); gap:9px; overflow-x:auto; padding-bottom:20px; scrollbar-width:none; scroll-snap-type:x proximity; }
  .categories::-webkit-scrollbar { display: none; }
  .category-item { scroll-snap-align: start; }
  .catalog-filters { overflow-x:auto; scrollbar-width:none; }
  .catalog-filters::-webkit-scrollbar { display:none; }
  .filter-field { flex:0 0 154px; }
  .filter-field-sort { flex-basis:184px; }
  .filter-field-wide { flex-basis:194px; }
  .cart-page,.checkout-page { grid-template-columns:minmax(0,1fr) 300px; }
  .cart-main,.checkout-main { padding-inline:28px; }
  .cart-row { grid-template-columns:82px minmax(120px,1fr) 92px 82px 28px; gap:10px; }
  .cart-row-media { width:82px; }
  .cart-side,.checkout-summary { padding-inline:22px; }
  .promo-box { grid-template-columns:1fr minmax(220px,300px); }
}

@media (max-width: 900px) {
  body { padding-bottom: 66px; }
  .container { width: min(100% - 28px, var(--container)); }
  .promo-inner { padding-inline: 23px; text-align: center; font-size: 13px; flex-wrap: wrap; line-height: 1.25; }
  .promo-close { right: 4px; }
  .seasonal-strip-inner { justify-content:space-between; gap:14px; }.seasonal-scatter { display:none; }.seasonal-strip-copy { display:block; }.seasonal-strip-copy b,.seasonal-strip-copy span { display:block; }.seasonal-strip-copy span { margin-top:3px; font-size:11px; }
  .utility { height: 44px; }.utility-right { display: flex; }.address-btn { margin-left: auto; }.messenger-support { height:30px; padding-inline:12px; font-size:10px; white-space:nowrap; }
  .main-head { min-height: 69px; gap: 12px; }
  .brand { min-width: auto; font-size: 22px; }.brand-bloom { width: 31px; height: 31px; font-size: 20px; }
  .search { height: 42px; }
  .quick-nav { justify-content: flex-start; min-height: 49px; gap: 10px; }
  .quick-nav a:not(.pill) { padding: 8px 5px; }
  .hero { height: 330px; border-radius: 16px; }
  .hero-copy { left: 8%; max-width: 45%; }
  .hero h1, .hero h2 { font-size: 36px; }
  .hero p { font-size: 14px; }
  .sale-scene { right:1%; width:390px; }
  .categories { grid-template-columns: repeat(8, 104px); gap: 15px; }
  .products { grid-template-columns: repeat(3, 1fr); }
  .products .product-card:nth-child(n+7) { display: none; }
  .catalog-section.expanded .product-card { display: block !important; }
  .features { grid-template-columns: 1fr; }
  .halloween-story { grid-template-columns:.8fr 1.2fr; }.halloween-copy { padding:38px 8px 38px 36px; }.halloween-copy h2 { font-size:39px; }.magic-card-red { left:20px; }.magic-pumpkin { left:175px; }
  .journal-grid { grid-template-columns: 1fr 1fr; }.journal-main { grid-column: 1 / -1; }
  .journal-library-grid { grid-template-columns:repeat(2,1fr); }.journal-article-heading { padding-inline:38px 65px; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .mobile-nav { position: fixed; inset: auto 0 0 0; z-index: 30; height: 66px; display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid #ddd; background: rgba(255,255,255,.97); backdrop-filter: blur(12px); }
  .mobile-nav button { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; border: 0; background: none; font-size: 10px; }.mobile-nav svg { width: 21px; height: 21px; }
  .mobile-nav .badge { right: 21%; top: 5px; }
  .product-detail { grid-template-columns: 1fr; }
  .product-gallery { height: 560px; }
  .product-gallery .product-detail-media, .product-gallery .product-detail-media > img { min-height: 470px; }
  .product-detail-media { min-height: 470px; border-radius: 24px 24px 0 0; }
  .product-detail-media > img, .product-detail-atlas { min-height: 470px; }
  .product-detail-copy { padding: 38px; }
  .account-modal { padding: 12px; }.account-modal-card { height: calc(100vh - 24px); }.account-shell { grid-template-columns: 220px 1fr; }.account-sidebar { padding-inline: 16px; }.account-workspace { padding: 48px 30px; }.account-auth { grid-template-columns: 1fr 1fr; }.account-auth-form { padding: 42px 32px; }.account-auth-art > p { bottom: 32px; }.account-art-card { width: 280px; }.account-stat-grid { grid-template-columns: 1fr 1fr; }.account-stat-grid article:last-child { grid-column: 1 / -1; }.profile-form { grid-template-columns: 1fr; }.profile-avatar { width: 90px; height: 90px; font-size: 35px; }.profile-fields { grid-template-columns: 1fr; }.profile-wide, .profile-fields .account-primary { grid-column: 1; }.profile-fields .account-primary { justify-self: stretch; }.account-favorites { grid-template-columns: repeat(2, 1fr); }
  .cart-page,.checkout-page { grid-template-columns:minmax(0,1fr) 275px; }.cart-main,.checkout-main { padding-inline:24px; }.cart-row { grid-template-columns:76px minmax(105px,1fr) 86px 76px 26px; gap:8px; }.cart-row-media { width:76px; }.cart-side,.checkout-summary { padding-inline:18px; }
}

@media (max-width: 760px) {
  .cart-modal { padding:10px; }
  .cart-modal-card { height:calc(100vh - 20px); overflow:auto; }
  .cart-page,.checkout-page { height:auto; min-height:100%; display:block; }
  .cart-main,.checkout-main { overflow:visible; }
  .cart-side,.checkout-summary,.checkout-summary.compact { height:auto; padding-top:28px; padding-bottom:30px; }
  .checkout-page .checkout-summary { margin-top:10px; }
}

@media (max-width: 600px) {
  .catalog-section { contain-intrinsic-size:620px; }
  .catalog-filters,.mobile-nav,.search-panel,.seasonal-strip a,.sale-bouquet-card span,.smiles-gallery figcaption { backdrop-filter:none !important; }
  .seasonal-scatter span,.sale-petal,.hero-bat,.magic-bat,.magic-star { animation:none !important; }
  .product-photo,.product-image,.smiles-gallery img { transition:none !important; }
  .container { width: calc(100% - 32px); }
  .promo-bar { min-height: 54px; }.promo-inner { min-height: 54px; display: block; padding: 7px 40px 6px; font-size: 13px; }.promo-inner strong { display: inline; }.promo-inner > span:not(.promo-flower) { display: block; }.promo-flower { position: absolute; left: 8px; top: 8px; }.promo-close { right:8px; top:10px; }
  .seasonal-strip-inner { min-height:62px; }.seasonal-strip-copy { min-width:0; padding-right:5px; }.seasonal-strip-copy b { font-size:14px; line-height:1.15; }.seasonal-strip-copy span { display:none; }.seasonal-strip a { flex:0 0 auto; min-height:32px; padding:0 12px; font-size:9px; white-space:nowrap; }.seasonal-strip a svg { display:none; }
  .utility { height:auto; min-height:76px; display:grid; grid-template-columns:auto 1fr; gap:6px 10px; padding-block:5px; border-bottom:0; }.city-btn svg { width:15px; }.address-btn { margin-left:auto; color:var(--green-dark); }.utility-right { grid-column:1/-1; width:100%; height:auto; margin-left:0; }.messenger-support { width:100%; height:32px; }
  .main-head { flex-wrap: wrap; padding-block: 10px 12px; }
  .brand { order: 1; font-size: 21px; }.menu-btn { order: 0; width: 40px; height: 40px; }.search > button { width: 42px; }
  .search { order: 3; flex: 0 0 100%; width: 100%; margin-left: 0; border-radius: 22px; }
  .search input { display: block; }
  .search-panel { top:calc(100% + 7px); max-height:min(460px,calc(100vh - 365px)); padding:7px; border-radius:18px; overscroll-behavior:contain; box-shadow:0 20px 45px rgba(35,58,39,.2); }
  .search-panel-head { padding-inline:3px; }
  .search-panel-head span { display:none; }
  .search-suggestions { gap:3px; }
  .search-suggestion { min-height:74px; grid-template-columns:62px minmax(0,1fr); grid-template-rows:auto auto; grid-template-areas:"photo copy" "photo price"; align-items:center; column-gap:11px; row-gap:3px; padding:7px 9px; border-radius:14px; }
  .search-suggestion img { grid-area:photo; width:62px; height:62px; border-radius:12px; }
  .search-suggestion-copy { grid-area:copy; align-self:end; padding-top:1px; }
  .search-suggestion-copy strong { min-width:0; white-space:normal; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:12px; line-height:1.28; }
  .search-suggestion-copy small { margin-top:3px; font-size:9px; line-height:1.25; }
  .search-suggestion-side { grid-area:price; align-self:start; justify-content:flex-start; gap:5px; padding:0; }
  .search-suggestion-side b { color:#26823d; font-size:12px; line-height:1.2; }
  .search-suggestion-side i { display:none; }
  .search-suggestion:hover,.search-suggestion.active { transform:translateX(2px); }
  .search-view-all { position:sticky; bottom:0; min-height:42px; margin-top:5px; background:rgba(239,249,237,.97); backdrop-filter:blur(10px); }
  .search-status { width:calc(100% - 32px); margin-top:10px; padding:11px 12px; font-size:11px; }
  .search-status button { padding-inline:10px; }
  .quick-nav { border-top: 0; }
  .hero { width: calc(100% - 32px); height: 230px; margin-top: 18px; border-radius: 15px; }
  .hero-slide > img { object-position: 57% center; filter: brightness(.97); }
  .hero-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(237,226,252,.97) 0%, rgba(237,226,252,.8) 36%, transparent 67%); }
  .hero-copy { left: 20px; max-width: 58%; }
  .hero .eyebrow { font-size: 8px; }.hero h1, .hero h2 { margin: 7px 0; font-size: 24px; letter-spacing: -1px; }.hero p { margin-bottom: 13px; font-size: 11px; line-height: 1.3; }.cta { padding: 9px 13px; font-size: 10px; }.cta svg { width: 14px; }
  .hero-arrow { width: 31px; height: 31px; font-size: 24px; }.hero-prev { left: -10px; }.hero-next { right: -10px; }.hero-dots { bottom: 8px; }
  .hero-alt::after,.hero-sale::after { display: none; }.hero-autumn::after { background:linear-gradient(90deg,rgba(225,81,43,.92) 0%,rgba(230,89,48,.72) 48%,transparent 76%); }.hero-autumn .autumn-hero-image { object-position:68% center; }.alt-art { right: -16px; width: 180px; height: 180px; }.alt-art span { font-size: 60px; }.alt-art small { font-size: 20px; }
  .hero-sale .hero-copy { max-width:55%; }.hero-sale .hero-copy p { max-width:230px; }.sale-scene { right:-17px; width:215px; height:205px; }.sale-bouquet-card { right:0; width:158px; height:195px; border-width:5px; border-radius:22px; }.sale-bouquet-card span { left:8px; right:8px; bottom:8px; padding:6px; font-size:8px; }.sale-ticket { left:0; top:58px; width:116px; padding:14px 12px; border-radius:15px; }.sale-ticket small { font-size:7px; }.sale-ticket strong { margin:5px 0 8px; font-size:13px; }.sale-ticket b { font-size:31px; }.sale-petal.petal-a { font-size:24px; }.sale-petal.petal-b { left:78px; font-size:15px; }.sale-petal.petal-c { left:88px; font-size:19px; }
  .hero-seasonal-decor { display:none; }
  .categories { width:100%; grid-template-columns:repeat(11,70px); gap:8px; padding:16px 16px 18px; }.category-item { min-width:70px; padding:3px 1px 6px; font-size:9px; }.category-icon { width:60px; border-radius:17px; }
  .catalog-filters { width:100%; top:0; gap:8px; padding:10px 16px; }
  .filter-field { flex-basis:142px; height:44px; border-radius:14px; }
  .filter-field-sort { flex-basis:174px; }.filter-field-wide { flex-basis:178px; }
  .catalog-section { padding-block: 20px 34px; }.section-heading { margin-bottom: 17px; }.section-heading h2 { font-size: 20px; }.section-heading .eyebrow { font-size: 9px; }.section-heading > a, .section-heading .view-all { font-size: 0; }.section-heading > a svg, .section-heading .view-all svg { width: 24px; }
  .coming-soon-card { min-height: 130px; gap: 15px; padding: 21px 18px; }.coming-soon-flower { width: 52px; height: 52px; font-size: 29px; }.coming-soon-card strong { font-size: 15px; }.coming-soon-card p { font-size: 12px; }.coming-soon-label { display: none; }
  .halloween-story { min-height:540px; display:block; margin-block:0 34px; border-radius:20px; }.halloween-copy { padding:35px 23px 18px; }.halloween-copy h2 { font-size:36px; }.halloween-copy p { font-size:13px; }.halloween-copy a { min-height:43px; font-size:11px; }.halloween-scene { min-height:270px; }.magic-moon { right:24px; top:20px; width:145px; height:145px; }.magic-card-red { left:22px; top:30px; width:150px; height:178px; }.magic-card-white { right:12px; bottom:-34px; width:135px; height:158px; }.magic-pumpkin { left:140px; bottom:0; font-size:55px; }.bat-a { right:170px; top:20px; }.star-a { left:180px; top:34px; }
  .products { grid-template-columns: repeat(2, 1fr); gap: 18px 12px; }.products .product-card:nth-child(n+5) { display: none; }.product-media { border-radius: 12px; aspect-ratio: .9; }.product-like { width: 32px; height: 32px; top: 8px; right: 8px; }.discount { left: 8px; top: 8px; padding: 5px 7px; font-size: 10px; }.rating { margin-top: 8px; font-size: 10px; }.product-title { min-height: 43px; margin: 5px 0 8px; font-size: 12px; }.price { font-size: 16px; }.old-price { font-size: 10px; }.add-btn { width: 36px; height: 36px; }
  .features { margin-block: 16px 46px; }.features article { min-height: 120px; padding: 22px 18px; }.features article > span { width: 48px; height: 48px; }.features h3 { font-size: 14px; }.features p { font-size: 12px; }
  .journal { padding-bottom: 45px; }.journal-grid { display: flex; overflow-x: auto; scrollbar-width: none; }.journal-grid article { min-width: 78vw; }.journal-main { display: block; }.journal-art { min-height: 175px; }.journal-grid article > div:last-child { padding: 17px; }
  .journal-modal { padding:0; align-items:stretch; }.journal-modal-card { width:100%; height:100vh; border-radius:0; }.journal-modal-close { top:11px; margin:11px 11px -56px 0; }.journal-library { padding:66px 16px 34px; }.journal-library-head h2 { font-size:36px; }.journal-library-head p { font-size:14px; }.journal-library-grid { grid-template-columns:1fr; gap:15px; }.journal-library-card { display:grid; grid-template-columns:112px 1fr; }.journal-library-card .journal-art { min-height:150px; font-size:48px; }.journal-library-card>span { padding:17px; }.journal-library-card h3 { font-size:16px; }.journal-library-card p { display:none; }.journal-article-hero { display:block; }.journal-article-cover { min-height:235px; border-radius:0 0 28px 28px; font-size:82px; }.journal-article-heading { padding:30px 20px 34px; }.journal-article-back { margin-bottom:25px; }.journal-article-heading h2 { font-size:34px; }.journal-article-heading p { font-size:15px; }.journal-prose { width:calc(100% - 36px); padding:34px 0 60px; }.journal-prose .article-intro { font-size:18px; }.journal-prose h3 { font-size:22px; }.journal-prose p,.journal-prose li { font-size:15px; }.journal-article-cta { padding:26px 19px; }
  .delivery-info-hero { min-height:0; grid-template-columns:1fr; padding:68px 20px 38px; }.delivery-info-hero h2 { font-size:36px; letter-spacing:-1.2px; }.delivery-info-hero p { font-size:15px; }.delivery-info-art { width:142px; height:142px; justify-self:center; }.delivery-info-art span { font-size:50px; }.delivery-info-art small { font-size:10px; }.delivery-info-art b { width:44px; height:44px; font-size:23px; }.delivery-info-body { width:calc(100% - 36px); padding:34px 0 55px; }.delivery-info-lead { font-size:17px; }.delivery-info-body h3 { font-size:24px; }.delivery-steps { grid-template-columns:1fr; }.delivery-steps li { min-height:0; padding:19px; }.delivery-copy-grid { grid-template-columns:1fr; gap:14px; }.delivery-note { grid-template-columns:42px 1fr; padding:19px 16px; }.delivery-note>span { width:42px; height:42px; }
  .quality-info-hero { min-height:0; grid-template-columns:1fr; gap:30px; padding:70px 20px 38px; }.quality-info-hero h2 { font-size:36px; letter-spacing:-1.3px; }.quality-info-hero p { font-size:15px; }.quality-seal { width:145px; height:145px; }.quality-seal>span { width:44px; height:44px; margin-bottom:8px; }.quality-seal svg { width:22px; height:22px; }.quality-seal strong { font-size:18px; }.quality-seal small { font-size:9px; }.quality-info-body { width:calc(100% - 32px); padding:30px 0 50px; }.quality-promise-grid { grid-template-columns:1fr; gap:12px; }.quality-promise-grid article { min-height:0; grid-template-columns:48px 1fr; gap:14px; padding:20px 17px; }.quality-promise-icon { width:48px; height:48px; border-radius:14px; }.quality-promise-icon svg { width:23px; height:23px; }.quality-promise-grid h3 { font-size:17px; }.quality-question { grid-template-columns:1fr; gap:24px; padding:27px 21px; }.quality-question h3 { font-size:25px; }.quality-terms strong { font-size:15px; }
  .about-info-hero { min-height:0; grid-template-columns:1fr; gap:30px; padding:70px 20px 40px; }.about-info-heading h2 { font-size:38px; letter-spacing:-1.5px; }.about-info-heading p { font-size:15px; }.about-monogram { width:150px; height:150px; }.about-monogram>span { width:42px; height:42px; font-size:22px; }.about-monogram strong { font-size:54px; }.about-monogram small { font-size:9px; }.about-info-body { width:calc(100% - 32px); padding:30px 0 50px; }.about-supply { padding:22px 18px; }.about-section-title { align-items:flex-start; gap:14px; }.about-section-title h3 { font-size:22px; }.about-icon { width:48px; height:48px; border-radius:14px; }.about-icon svg { width:23px; height:23px; }.about-country-list { gap:7px; }.about-country-list span { padding:8px 11px; font-size:10px; }.about-story-grid { grid-template-columns:1fr; gap:12px; }.about-story-card { min-height:0; grid-template-columns:48px 1fr; gap:14px; padding:21px 17px; }.about-story-card h3 { font-size:19px; }.about-support { grid-template-columns:1fr; gap:22px; padding:27px 21px; }.about-support h3 { font-size:24px; }.about-support-badge { width:105px; height:105px; justify-self:start; }.about-support-badge strong { font-size:28px; }
  .reviews-hero { grid-template-columns:1fr 105px; gap:16px; padding:68px 18px 30px; }.reviews-hero>div:first-child { grid-column:1/-1; }.reviews-hero h2 { font-size:37px; letter-spacing:-1.5px; }.reviews-hero p { font-size:14px; line-height:1.5; }.reviews-score { padding:12px 8px; }.reviews-score strong { font-size:31px; }.reviews-score span { font-size:10px; }.reviews-score small { display:none; }.reviews-add { min-height:46px; padding:0 15px; font-size:11px; }.customer-smiles,.reviews-impressions { width:calc(100% - 32px); padding-top:30px; }.reviews-section-head { align-items:flex-start; margin-bottom:16px; }.reviews-section-head h3 { font-size:23px; }.reviews-section-head>p { display:none; }.smiles-gallery { grid-auto-columns:72vw; gap:10px; padding-bottom:8px; scrollbar-width:none; }.smiles-gallery figure { border-radius:17px; }.smiles-gallery figcaption { left:8px; right:8px; bottom:8px; }.review-form { width:calc(100% - 32px); grid-template-columns:1fr; margin-top:24px; padding:19px 16px; }.review-form .wide { grid-column:1; }.review-form textarea { height:105px; }.review-form-actions { justify-content:stretch; }.review-form-actions button { flex:1; padding-inline:10px; }.reviews-grid { grid-template-columns:1fr; gap:12px; }.review-card { min-height:0; padding:20px 18px; }.review-card p { margin:14px 0 18px; }.reviews-pagination { gap:5px; margin-top:25px; }.reviews-pagination button { width:34px; height:34px; border-radius:10px; font-size:11px; }
  .returns-info-hero { min-height:0; grid-template-columns:1fr; gap:28px; padding:70px 20px 38px; }.returns-info-hero h2 { font-size:37px; letter-spacing:-1.5px; }.returns-info-hero p { font-size:15px; }.returns-hero-badge { width:145px; height:145px; }.returns-hero-badge>span { width:43px; height:43px; }.returns-hero-badge svg { width:21px; height:21px; }.returns-hero-badge strong { font-size:18px; }.returns-hero-badge small { font-size:9px; }.returns-info-body { width:calc(100% - 32px); padding:30px 0 50px; }.returns-warranty,.returns-legal { padding:21px 17px; }.returns-title { align-items:flex-start; gap:13px; margin-bottom:20px; }.returns-title h3 { font-size:22px; }.returns-number { width:48px; height:48px; border-radius:14px; font-size:16px; }.returns-list li { grid-template-columns:36px 1fr; gap:12px; padding:15px 13px; }.returns-list li>span { width:36px; height:36px; border-radius:11px; }.returns-response { grid-template-columns:45px 1fr; gap:13px; padding:17px 14px; }.returns-response>span { width:45px; height:45px; font-size:19px; }.returns-case-grid { grid-template-columns:1fr; gap:12px; }.returns-case-grid article { grid-template-columns:43px 1fr; padding:18px 15px; }.returns-case-icon { width:43px; height:43px; }
  .consent-info-hero { min-height:0; grid-template-columns:1fr; gap:28px; padding:70px 20px 38px; }.consent-info-hero h2 { font-size:34px; letter-spacing:-1.4px; }.consent-info-hero p { font-size:15px; }.consent-lock { width:145px; height:145px; }.consent-lock>span { width:43px; height:43px; border-radius:14px; }.consent-lock svg { width:21px; height:21px; }.consent-lock strong { font-size:18px; }.consent-lock small { font-size:9px; }.consent-info-body { width:calc(100% - 32px); padding:28px 0 50px; }.consent-summary { grid-template-columns:1fr; gap:9px; }.consent-summary a { padding:15px 16px; }.consent-section { padding:21px 17px; }.consent-section-head { align-items:flex-start; gap:13px; margin-bottom:20px; }.consent-section-head>span { width:48px; height:48px; border-radius:14px; font-size:16px; }.consent-section-head h3 { font-size:22px; }.consent-prose p { padding:15px 14px; }.consent-definitions { grid-template-columns:1fr; gap:10px; }.consent-definitions>div { padding:17px 15px; }
  .offer-info-hero { min-height:0; grid-template-columns:1fr; gap:28px; padding:70px 20px 38px; }.offer-info-hero h2 { font-size:37px; letter-spacing:-1.5px; }.offer-info-hero p { font-size:15px; }.offer-document { width:145px; height:145px; }.offer-document>span { width:43px; height:43px; border-radius:14px; font-size:27px; }.offer-document strong { font-size:18px; }.offer-document small { font-size:9px; }.offer-info-body { width:calc(100% - 32px); padding:28px 0 50px; }.offer-summary { grid-template-columns:1fr; gap:9px; }.offer-summary a { padding:15px 16px; }.offer-section { padding:21px 17px; }.offer-section-head { align-items:flex-start; gap:13px; margin-bottom:20px; }.offer-section-head>span { width:48px; height:48px; border-radius:14px; font-size:16px; }.offer-section-head h3 { font-size:22px; }.offer-terms { grid-template-columns:1fr; gap:10px; }.offer-terms>div,.offer-terms>div:last-child { grid-column:1; padding:16px 14px; }.offer-prose p { padding:15px 14px; }.offer-order-list li { grid-template-columns:43px 1fr; gap:12px; padding:15px 13px; }.offer-order-list b { width:43px; height:36px; }
  .seo-block { padding-block: 34px 48px; }.seo-block > h2 { font-size: 23px; }.seo-block > p { font-size: 14px; }.seo-columns { grid-template-columns: 1fr; gap: 10px; margin-top: 25px; }
  .footer-main { grid-template-columns: 1fr; gap: 30px; padding-block: 42px; }.footer-main > div:nth-child(2), .footer-main > div:nth-child(3) { display: none; }.footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; gap: 7px; }
  .toast { left: 16px; right: 16px; bottom: 81px; text-align: center; }
  .modal { padding: 0; align-items: end; }.modal-card { max-height: 88vh; padding: 22px 18px 26px; border-radius: 22px 22px 0 0; }.modal-head h2 { font-size: 23px; }.city-list { grid-template-columns: 1fr; }.address-form { grid-template-columns: 1fr; }.address-form label, .address-form .wide, .save-address { grid-column: 1; }
  .product-modal { align-items: stretch; }
  .product-modal-card { width: 100%; max-height: 100vh; border-radius: 0; }
  .product-detail-media { min-height: 48vh; border-radius: 0; }
  .product-detail-media > img, .product-detail-atlas { min-height: 48vh; }
  .product-gallery { height: calc(48vh + 86px); }
  .product-gallery .product-detail-media, .product-gallery .product-detail-media > img { min-height: 48vh; }
  .product-thumbs { gap: 7px; padding: 0 10px; }
  .product-thumb { height: 66px; border-radius: 9px; }
  .product-detail-copy { padding: 27px 20px 90px; }
  .product-detail-copy h2 { margin-top: 7px; font-size: 28px; }
  .product-detail-price { margin: 20px 0 16px; }.product-detail-price b { font-size: 27px; }
  .product-order { width: 100%; }
  .product-detail-facts { margin-top: 29px; padding-top: 22px; }
  .product-detail-facts p { font-size: 14px; }
  .product-modal-close { top: 12px; right: 12px; }
  .account-modal { padding: 0; align-items: stretch; }.account-modal-card { height: 100vh; border-radius: 0; }.account-close { top: 12px; right: 12px; }.account-auth { display: block; overflow: auto; }.account-auth-form { max-width: none; padding: 46px 22px 35px; }.account-crumb { margin-bottom: 35px; }.account-auth-form h2 { font-size: 32px; }.account-form-row { grid-template-columns: 1fr; }.account-auth-art { min-height: 320px; }.account-auth-art::before { width: 370px; height: 370px; }.account-art-card { width: 245px; min-height: 180px; padding: 25px; }.account-art-card .brand-bloom { margin-bottom: 20px; }.account-art-card b { font-size: 23px; }.account-auth-art > p { bottom: 20px; font-size: 12px; }
  .account-shell { display: block; overflow: auto; }.account-sidebar { height: auto; display: block; padding: 16px 16px 0; border: 0; }.account-mini-brand, .account-sidebar > .account-avatar, .account-sidebar > p, .account-sidebar > strong, .account-logout { display: none; }.account-sidebar nav { width: 100%; margin: 58px 0 0; display: flex; gap: 7px; overflow-x: auto; scrollbar-width: none; }.account-sidebar nav button { min-width: max-content; height: 38px; padding: 0 13px; border: 0; border-radius: 19px; background: #f0f2ef; font-size: 11px; }.account-sidebar nav button.active { border: 0; background: var(--green); color: #fff; }.account-sidebar nav button svg { width: 16px; }.account-workspace { height: auto; overflow: visible; padding: 22px 16px 45px; }.account-mobile-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }.account-mobile-head span { display: block; color: var(--muted); font-size: 11px; }.account-mobile-head strong { font-size: 18px; }.account-avatar.small { width: 43px; height: 43px; font-size: 17px; }.account-panel-head { align-items: center; margin-bottom: 18px; }.account-panel-head h2 { font-size: 25px; }.account-shop { display: none; }.account-stat-grid { grid-template-columns: 1fr 1fr; gap: 10px; }.account-stat-grid article { min-height: 115px; padding: 16px; }.account-stat-grid article:last-child { grid-column: 1 / -1; }.account-grid { grid-template-columns: 1fr; }.account-card.wide { grid-column: 1; }.account-draft { grid-template-columns: 40px 1fr; }.account-draft > strong { grid-column: 2; }.profile-form { padding: 20px; }.bonus-hero { grid-template-columns: 1fr; padding: 28px 24px; }.bonus-hero b { font-size: 43px; }.bonus-orbit { display: none; }.bonus-rules > div { grid-template-columns: 1fr; gap: 4px; }.account-orders article { display: block; padding: 21px; }.account-orders article > strong { display: block; margin-top: 20px; }.account-editor { grid-template-columns: 1fr; padding: 20px; }.account-editor .wide { grid-column: 1; }.date-form { grid-template-columns: 1fr; padding: 16px; }.account-favorites { grid-template-columns: repeat(2, 1fr); gap: 14px 10px; }
  .cart-modal { padding:0; align-items:stretch; }.cart-modal-card { height:100vh; border-radius:0; overflow:auto; }.cart-close { top:11px; right:11px; }.cart-page,.checkout-page { height:auto; min-height:100%; display:block; }.cart-main,.checkout-main { overflow:visible; padding:62px 16px 25px; }.cart-crumb { margin-bottom:18px; }.checkout-progress { gap:4px; margin-bottom:22px; }.checkout-progress span { display:grid; justify-items:center; gap:4px; font-size:8px; }.checkout-progress span::after { display:none; }.cart-title-row h2,.checkout-main>h2 { font-size:28px; }.cart-row { grid-template-columns:82px 1fr auto; gap:10px; padding:17px 0; }.cart-row-media { width:82px; grid-row:1/3; }.cart-row-copy { padding-right:26px; }.cart-row-copy h3 { font-size:13px; }.cart-row-copy p { display:none; }.quantity { grid-column:2; justify-content:flex-start; }.cart-row-price { grid-column:3; grid-row:2; font-size:14px; }.cart-remove { position:absolute; right:0; top:16px; }.promo-box { grid-template-columns:1fr; padding:16px; }.promo-box small { grid-column:1; }.cart-side { padding:22px 16px 90px; }.checkout-summary,.checkout-summary.compact { height:auto; padding:24px 16px; }.checkout-page .checkout-summary { margin-top:10px; }.checkout-summary h3 { font-size:24px; margin-bottom:16px; }.cart-side>.checkout-primary { position:fixed; z-index:5; left:16px; right:16px; bottom:78px; }.checkout-main { padding-bottom:15px; }.checkout-form { padding:18px 14px; }.checkout-fields { grid-template-columns:1fr; }.checkout-fields .wide { grid-column:1; }.checkout-actions { position:sticky; bottom:75px; z-index:4; padding:10px 0; background:#fff; }.checkout-actions>button:first-child { min-width:90px; }.checkout-actions .checkout-primary { min-width:0; flex:1; }.payment-options { grid-template-columns:1fr; }.payment-options label { min-height:120px; }.cart-empty-screen h2,.order-success h2 { font-size:29px; }.order-success>div:last-child { flex-direction:column; width:100%; }.order-success>div:last-child button { width:100%; }.order-success-final { min-height:100vh; padding:70px 18px 32px; }.success-details { grid-template-columns:34px 1fr; padding:17px; }.success-details>span:nth-of-type(2) { margin-top:8px; }
}

@media (max-width: 420px) {
  .container { width: calc(100% - 24px); }
  .promo-inner { padding-inline: 38px; font-size: 12px; }
  .seasonal-strip-inner { min-height: 58px; gap: 8px; }
  .seasonal-strip-copy b { font-size: 12px; }
  .seasonal-strip a { min-height: 30px; padding-inline: 10px; font-size: 8px; }
  .utility { font-size: 11px; }
  .city-btn { min-width: 0; }
  .city-name { max-width: 126px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .address-btn { white-space: nowrap; }
  .brand { font-size: 19px; }
  .brand-bloom { width: 29px; height: 29px; font-size: 18px; }
  .hero { width: calc(100% - 24px); height: 252px; }
  .hero-copy { left: 17px; max-width: 66%; }
  .hero h1, .hero h2 { font-size: 22px; }
  .hero p { max-width: 205px; font-size: 10px; }
  .hero-autumn .autumn-hero-image { object-position: 72% center; }
  .hero-sale .hero-copy { max-width: 60%; }
  .sale-scene { right: -42px; opacity: .9; }
  .categories { grid-template-columns: repeat(8, 76px); padding-inline: 12px; }
  .halloween-copy h2 { font-size: 31px; }
  .magic-card-red { left: 14px; }
  .magic-pumpkin { left: 126px; font-size: 48px; }
  .products { gap-inline: 10px; }
  .product-title { hyphens: auto; }
  .journal-grid article { min-width: 86vw; }
  .delivery-info-hero h2 { font-size: 31px; }
  .delivery-info-body { width: calc(100% - 28px); }
  .checkout-actions { flex-wrap: wrap; }
  .checkout-actions > button { min-height: 46px; }
}

.contact-method-field { grid-column:2; grid-row:2; }
#contactStep .checkout-fields > .checkout-check.wide:first-of-type { grid-column:1; grid-row:2; min-height:50px; align-self:end; }
.contact-method-select { position:relative; }
.contact-method-select select { appearance:none; padding-right:48px!important; color:#2d2d2f; font-weight:700; cursor:pointer; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.contact-method-select select:hover,.contact-method-select select:focus { border-color:var(--green); background:#fff; box-shadow:0 0 0 4px rgba(98,201,90,.11); }
.contact-method-select i { position:absolute; top:50%; right:17px; transform:translateY(-55%); color:var(--green-dark); font-size:21px; font-style:normal; pointer-events:none; }
.account-field.invalid .contact-method-select select { border-color:var(--coral); background:#fff8f9; box-shadow:0 0 0 3px rgba(242,102,120,.11); }
@media (max-width:760px) {
  .contact-method-field { grid-column:1; grid-row:auto; }
  #contactStep .checkout-fields > .checkout-check.wide:first-of-type { grid-column:1; grid-row:auto; min-height:0; align-self:auto; }
}

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
