/* Advertising landing: product-first hierarchy, mobile checkout and readable controls. */
.product-card{display:flex;flex-direction:column;min-width:0}
.product-card .product-image{position:relative;flex:none;width:100%;aspect-ratio:4/5}
.product-card .product-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.product-card .product-meta{flex:1;width:100%}
.product-card .product-meta>div{width:100%}
.product-card .product-meta h3{min-height:2.2em;line-height:1.1;font-weight:600}
.product-card .product-meta p{font-size:16px;font-weight:700;color:var(--wine);font-variant-numeric:tabular-nums}
.product-card .card-actions{margin-top:16px}
.button{font-weight:600;letter-spacing:.15px}
.hero h1,.section-top h2,.rose-copy h2{font-weight:500}
:root{--action:#b42d3e}
.hero{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;min-height:0}
.hero-copy{padding:50px 10% 20px}
.hero h1{font-size:clamp(58px,6.5vw,96px);margin-bottom:20px}
.hero-feeling{font:30px/1.2 "Cormorant Garamond",Georgia,serif;margin:0;color:var(--ink)}
.hero-photo{grid-column:2;grid-row:1/3;min-height:600px}
.hero-photo a{display:block;height:100%}
.hero-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 43%}
.hero-purchase{padding:20px 10% 45px}
.hero-purchase h2{font-size:34px;letter-spacing:-.5px;margin-bottom:8px}
.hero-purchase p{font-size:14px}
.hero-actions{display:flex;flex-direction:column;align-items:start;gap:16px}
.text-link{font-size:13px;text-decoration:underline;text-underline-offset:5px}
.marquee{position:relative;display:block;overflow:hidden;padding:22px 0;background:var(--pink)}
.marquee-track{display:flex;width:max-content;animation:marquee 10s linear infinite}
.marquee-group{display:flex;align-items:center;gap:38px;padding-right:38px;flex-shrink:0}
.marquee span{font-size:18px;white-space:nowrap}
.marquee i{font-size:23px}
.marquee:hover .marquee-track,.marquee.paused .marquee-track{animation-play-state:paused}
#marquee-toggle{position:absolute;right:8px;top:18px;width:36px;height:36px;border:1px solid var(--wine);background:var(--paper);border-radius:50%;color:var(--wine)}
@keyframes marquee{to{transform:translateX(-50%)}}
.section-top>p{font-size:14px;line-height:1.8}
.filters button,.price-filters button{border:1px solid #bcb1aa;background:transparent;padding:10px 17px;font-size:13px}
.filters button.active,.price-filters button.active{border-color:var(--wine);background:var(--wine);color:#fff}
.price-filters{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}
.search-row input{font-size:14px}
.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.card-actions .button{padding:11px 8px;gap:5px;justify-content:center;font-size:12px;min-height:45px}
.plus-icon{display:inline-flex;width:20px;height:20px;border:1px solid currentColor;border-radius:50%;align-items:center;justify-content:center;font:18px/1 Arial;flex-shrink:0;padding-bottom:1px}
.empty-results{grid-column:1/-1;padding:35px 0}
.detail-gallery{align-self:start;position:relative}
.detail-gallery .detail-image{height:auto;aspect-ratio:4/5;min-height:0;object-fit:contain;background:#eee9e2}
.gallery-caption{font-size:12px;margin:10px 15px}
.gallery-thumbs{display:flex;gap:10px;overflow:auto;padding:0 15px 18px}
.gallery-thumbs button{background:none;border:1px solid var(--line);padding:5px;min-width:100px}
.gallery-thumbs button[aria-pressed=true]{border:2px solid var(--wine)}
.gallery-thumbs img{height:70px;width:70px;object-fit:cover;margin:auto}
.gallery-thumbs span{font-size:10px;display:block;padding-top:5px}
.composition{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}
.composition h3{font-size:26px;margin-bottom:12px}
.composition p{font-size:13px}
.urgent{background:var(--action);border-color:var(--action)}
.urgent:hover{background:#932130}
#rose-form fieldset{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border:0;padding:0;margin:24px 0 20px}
#rose-form legend{font-size:14px;margin-bottom:10px}
#rose-form fieldset label{cursor:pointer}
#rose-form input{position:absolute;opacity:0}
#rose-form fieldset span{display:block;border:1px solid #b4999a;padding:14px 8px;text-align:center;font-size:16px}
#rose-form fieldset small{display:block;font-size:12px;margin-top:7px}
#rose-form input:checked+span{background:var(--wine);color:white;border-color:var(--wine)}
#rose-form input:focus-visible+span{outline:2px solid var(--wine);outline-offset:3px}
#rose-color-label{font-size:13px;display:block}
.rose-choice-preview{margin:0 0 20px;background:var(--paper)}
.rose-choice-preview img{display:block;width:100%;height:280px;object-fit:contain}
.rose-choice-preview figcaption{padding:9px 12px;text-align:center;font-size:13px;color:var(--wine)}
#rose-color{display:block;border:1px solid #b4999a;background:var(--paper);width:100%;padding:12px;margin-top:7px}
.rose-total{font-size:18px;margin-top:20px}
#rose-form>.button{width:100%;justify-content:center}
#rose-form>.small{font-size:12px;margin-top:12px}
.story-photo{padding:0}
.story-slides img{width:100%;aspect-ratio:4/5;object-fit:cover}
#story-buy{width:100%;justify-content:center;margin-top:12px}
.slider-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:16px}
.slider-controls button{height:42px;width:42px;border:1px solid var(--wine);color:var(--wine);background:transparent;border-radius:50%;font-size:22px}
.story-photo .slider-controls span{position:static;font:14px Manrope,Arial;color:var(--ink)}
.story-photo .story-caption{position:static;display:block;text-align:center;font-size:23px;margin-top:14px}
.delivery>.button{margin-top:24px;justify-content:center}
.pulse{animation:cta-pulse 2.4s ease-in-out infinite}
@keyframes cta-pulse{50%{box-shadow:0 0 0 9px #b42d3e18;background:#c53749}}
.recommend-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px}
.recommend-track .product-card{flex:0 0 calc((100% - 72px)/4);scroll-snap-align:start}
.recommendations .section-top .slider-controls{margin:0}
.questions summary{font-size:16px;min-height:40px;align-items:center}
.questions summary:after{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--wine);border-radius:50%;flex-shrink:0}
.questions details[open] summary:after{background:var(--action);border-color:var(--action);color:white}
.questions details p{font-size:14px;line-height:1.8}
#offer-trigger{height:1px}
.closing{background:linear-gradient(#faf8f4d9,#faf8f4e6),url("assets/products/F041.webp") center 43%/cover;padding:85px 20px}
footer{grid-template-columns:1.2fr 1fr 1fr 1fr}
footer h3{font:600 14px Manrope,Arial;margin-bottom:20px}
footer a,footer .text-button{font-size:13px}
footer .brand{margin-bottom:22px}
footer .footer-note{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:11px}
#offer-dialog{padding:0;width:min(800px,94vw)}
#offer-dialog[open]{display:grid;grid-template-columns:1fr 1fr}
#offer-dialog>img{width:100%;height:100%;object-fit:cover}
.offer-copy{padding:42px 28px}
.offer-copy h2{font-size:37px}
.offer-copy strong{color:var(--action);font-size:25px;margin-left:8px}
.offer-copy .button{justify-content:center;width:100%;gap:8px}
.offer-copy>.small{margin-top:18px}
.brand>span{font-size:38px;letter-spacing:-1px}
.brand small{font-size:9px}
@media(max-width:1000px){.card-actions{grid-template-columns:1fr}.rose-copy{padding:35px 6%}.recommend-track .product-card{flex-basis:calc((100% - 40px)/3)}}
@media(max-width:700px){
.announcement:after{content:"NHA TRANG · ЦВЕТЫ ДЛЯ ВАШИХ ЛЮДЕЙ"}
header{height:68px}.brand>span{font-size:33px}.brand small{font-size:8px}
.hero{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto}
.hero-copy{padding:18px 5% 14px;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center}
.hero-copy .eyebrow{display:none}
.hero h1{font-size:43px;line-height:.96;letter-spacing:-1.7px;margin:0}
.hero-feeling{font-size:20px;line-height:1.15;margin:0;padding-left:12px}
.hero-photo{grid-column:1;grid-row:2;min-height:0;height:330px;max-height:none}
.hero-photo img{object-position:center 39%}
.photo-caption{top:12px;left:16px}
.hero-purchase{padding:15px 5% 20px}
.hero-purchase>div:first-child{display:flex;gap:10px;justify-content:space-between;align-items:center}
.hero-purchase h2{font-size:27px;margin:0}
.hero-purchase p{font-size:11px;margin:0;max-width:145px;text-align:right}
.hero-purchase p strong{font-size:17px;display:block}
.hero-actions{gap:12px;margin-top:13px;align-items:stretch;text-align:center}
.hero-actions .button{padding:13px;justify-content:center;min-height:47px;font-size:14px}
.text-link{font-size:12px}
.marquee{padding:18px 0}
.marquee-group{gap:25px;padding-right:25px}
.marquee span{font-size:16px}.marquee i{display:block}
#marquee-toggle{top:14px}
.section-top>p{font-size:14px}
.filters{gap:8px}.filters button,.price-filters button{font-size:12px;padding:9px 12px}
.price-filters{gap:8px}
.catalog-tools{padding:14px 0}
.card-actions{gap:7px}.card-actions .button{font-size:12px;min-height:41px}
.product-meta h3{font-size:23px}.product-meta p{font-size:14px}
.product-grid{gap:28px 12px}
.detail-copy{padding:25px 20px}
.detail-copy>.button{margin:8px 0}
.detail-gallery .detail-image{height:380px;aspect-ratio:auto}
.rose-copy h2{font-size:43px}
#rose-form fieldset{gap:7px}
#rose-form fieldset span{font-size:15px;padding:15px 5px}
.rose-photo,.rose-photo img{height:95vw;max-height:440px}
.rose-photo{display:none}
.rose-copy>p:not(.eyebrow){font-size:14px}
.recommend-track{gap:14px}
.recommend-track .product-card{flex-basis:72%}
.recommendations .section-top{display:flex;align-items:end;gap:10px}
.recommendations h2{font-size:34px}
.recommendations .slider-controls{gap:6px}
.slider-controls button{width:35px;height:35px}
.questions summary{font-size:14px}
.questions details p{margin-right:0;font-size:14px}
.closing{padding:65px 20px;background-position:center}
footer{grid-template-columns:1fr 1fr;gap:30px 18px}
footer>.footer-note{grid-column:1/-1}
#offer-dialog[open]{grid-template-columns:1fr}
#offer-dialog>img{height:230px;object-position:center 40%}
.offer-copy{padding:22px}
.offer-copy h2{font-size:33px;margin-bottom:12px}
.offer-copy .eyebrow{margin-bottom:12px}
}
@media(prefers-reduced-motion:reduce){.marquee-track,.pulse{animation:none}.marquee{overflow-x:auto}.marquee-group[aria-hidden]{display:none}#marquee-toggle{display:none}}
button,.button,.slider-controls button{min-height:44px}
.slider-controls button{min-width:44px}
#order-confirmation{padding:20px 0}
#order-confirmation h3{font-size:34px;color:var(--wine)}
#checkout-form[hidden]{display:none}
@media(max-width:600px){input,select,textarea{font-size:16px}.filters{flex-wrap:nowrap;overflow-x:auto;padding:5px 0}.filters button{flex-shrink:0}.consent input{min-width:20px;min-height:20px}.card-actions .button{min-height:44px}.gallery-thumbs button{min-width:64px}}
