/*
Theme Name: L-Flowers Luxury
Theme URI: https://l-flowers.shop/
Author: L-Flowers
Description: Luxury Flowers theme for l-flowers.shop
Version: 2.14.5
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: l-flowers
*/
:root{--ink:#1c1818;--muted:#716968;--paper:#f6f3ee;--cream:#ece4db;--line:#dcd4ca;--brass:#b18b5a;--wine:#5f2730;--white:#fffdfa;--serif:Georgia,'Times New Roman',serif;--sans:Arial,'Helvetica Neue',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5}body:after{content:'';position:fixed;inset:0;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E");z-index:20}.section-shell{width:min(1180px,calc(100% - 80px));margin:0 auto}.topline{height:30px;background:var(--wine);color:#f5e6d5;display:flex;align-items:center;justify-content:center;gap:38px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.topline-note{opacity:.7}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(40px,calc((100vw - 1300px)/2));border-bottom:1px solid var(--line);background:rgba(246,243,238,.94);position:sticky;top:0;z-index:15;backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.brand-mark{width:36px;height:36px;border:1px solid var(--brass);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:12px;letter-spacing:-.04em;color:var(--brass)}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font-size:14px;letter-spacing:.24em;font-weight:600}.brand-copy em{font-style:normal;font-size:8px;letter-spacing:.46em;margin-top:6px;color:var(--brass)}.main-nav{display:flex;gap:27px;margin-left:30px}.main-nav a,.footer-nav a{font-size:11px;letter-spacing:.11em;text-transform:uppercase;text-decoration:none;color:var(--ink);transition:color .2s}.main-nav a:hover,.footer-nav a:hover{color:var(--brass)}.header-actions{display:flex;align-items:center;gap:22px}.phone{font-size:11px;letter-spacing:.07em;color:var(--ink);text-decoration:none}.cart-button{border:0;background:transparent;display:flex;gap:8px;align-items:center;font:inherit;font-size:11px;cursor:pointer;color:var(--ink)}.cart-icon{font-size:21px;line-height:1;transform:rotate(-25deg);display:inline-block}.cart-button b{background:var(--wine);color:#fff;border-radius:50%;font-size:9px;min-width:17px;height:17px;display:grid;place-items:center}.menu-button{display:none;border:0;background:none;padding:8px}.menu-button span{display:block;width:23px;height:1px;background:var(--ink);margin:5px}.hero{min-height:625px;display:grid;grid-template-columns:1fr 1.08fr;gap:56px;align-items:center;padding-top:68px;padding-bottom:58px}.eyebrow{font-size:10px;letter-spacing:.24em;color:var(--brass);font-weight:600;margin:0 0 24px;text-transform:uppercase}.hero h1,.section-heading h2,.manifesto h2,.events h2,.contact-band h2{font-family:var(--serif);font-size:clamp(47px,5vw,75px);font-weight:500;line-height:.98;letter-spacing:-.04em;margin:0}.hero h1 i,.section-heading h2 i,.manifesto h2 i,.events h2 i,.contact-band h2 i{font-weight:500;color:var(--wine)}.hero-lead{color:var(--muted);max-width:390px;font-size:15px;line-height:1.7;margin:30px 0}.hero-actions{display:flex;align-items:center;gap:23px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;border:1px solid transparent;padding:15px 21px;font:inherit;font-size:10px;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:17px;line-height:0}.button-dark{background:var(--ink);color:var(--white)}.button-light{background:var(--white);color:var(--ink)}.button-outline{background:transparent;border-color:var(--ink);color:var(--ink)}.text-link{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:5px}.text-link span{margin-left:7px;color:var(--brass);font-size:16px}.hero-meta{display:flex;align-items:center;gap:10px;margin-top:70px;font-size:10px;color:var(--muted);letter-spacing:.14em}.meta-line{width:42px;height:1px;background:var(--brass)}.meta-label{margin-left:8px;text-transform:uppercase;font-size:9px;letter-spacing:.16em}.hero-visual{position:relative;height:530px}.hero-frame{position:absolute;inset:0 42px 0 0;overflow:hidden;background:#ded7cf}.hero-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(140deg,rgba(28,24,24,.02),rgba(95,39,48,.23));mix-blend-mode:multiply}.hero-frame img{height:100%;width:100%;display:block;object-fit:cover;object-position:center 62%;filter:saturate(.88) contrast(.96)}.hero-note{position:absolute;bottom:35px;right:0;background:var(--white);padding:17px 17px;display:flex;align-items:center;gap:12px;box-shadow:0 12px 40px rgba(34,25,20,.12);font-size:10px;line-height:1.35;letter-spacing:.08em;text-transform:uppercase}.hero-note strong{color:var(--wine);letter-spacing:.15em}.note-dot{width:7px;height:7px;background:var(--brass);border-radius:50%}.note-price{margin-left:16px;font-family:var(--serif);font-size:16px;letter-spacing:0;text-transform:none}.hero-stamp{position:absolute;top:31px;right:-16px;width:92px;height:92px;border:1px solid rgba(177,139,90,.7);border-radius:50%;display:grid;place-content:center;text-align:center;font-size:9px;letter-spacing:.17em;line-height:1.4;color:var(--brass);transform:rotate(13deg)}.hero-stamp span{color:var(--ink);font-size:8px}.trust-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:126px}.trust-bar>div{display:flex;gap:17px;align-items:flex-start;padding:0 30px;border-right:1px solid var(--line)}.trust-bar>div:first-child{padding-left:0}.trust-bar>div:last-child{border:0}.trust-no{font-family:var(--serif);color:var(--brass);font-size:20px}.trust-bar p{margin:0;color:var(--muted);font-size:11px;line-height:1.7}.trust-bar strong{color:var(--ink);font-weight:600;letter-spacing:.03em}.catalog{padding-bottom:140px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:54px}.section-heading h2{font-size:61px}.section-intro{max-width:330px;color:var(--muted);font-size:13px;line-height:1.75;margin:0 0 6px}.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:25px}.filters{display:flex;gap:25px}.filter{border:0;background:none;padding:0;font:inherit;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer}.filter:after{content:'';display:block;width:0;height:1px;background:var(--wine);margin-top:7px;transition:width .2s}.filter.is-active,.filter:hover{color:var(--ink)}.filter.is-active:after{width:100%}.search{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:2px 0}.search span{font-size:21px;line-height:.6;color:var(--brass)}.search input{border:0;outline:0;background:none;width:150px;font:inherit;font-size:11px;color:var(--ink)}.search input::placeholder{color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 18px}.product-card{min-width:0;position:relative;animation:fadeUp .45s both}.product-card.is-hidden{display:none}.product-photo{position:relative;aspect-ratio:3/4;background:var(--cream);overflow:hidden;margin-bottom:15px;cursor:pointer}.product-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(145deg,rgba(95,39,48,.06),transparent 55%);transition:opacity .3s}.product-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.86);transition:transform .45s}.product-card:hover .product-photo img{transform:scale(1.04)}.product-tag{position:absolute;left:12px;top:12px;z-index:1;background:var(--white);padding:6px 8px;font-size:8px;letter-spacing:.15em;color:var(--wine);text-transform:uppercase}.product-info{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.product-name{font-family:var(--serif);font-size:17px;line-height:1.15;max-width:190px}.product-meta{font-size:10px;color:var(--muted);margin-top:6px;letter-spacing:.05em}.product-price{font-size:12px;white-space:nowrap;font-weight:600}.add-product{border:0;background:none;color:var(--brass);font:inherit;font-size:20px;line-height:1;cursor:pointer;padding:0 1px;margin-top:7px}.catalog-footer{display:flex;justify-content:space-between;align-items:center;margin-top:54px}.catalog-footer>span{font-size:10px;color:var(--muted);letter-spacing:.11em;text-transform:uppercase}.categories{padding-bottom:148px}.section-heading.compact{align-items:center}.section-heading.compact h2{font-size:59px}.category-grid{display:grid;grid-template-columns:1.35fr .75fr .75fr;grid-template-rows:210px 210px;gap:15px}.category-card{position:relative;overflow:hidden;text-decoration:none;background:var(--cream)}.category-card img{height:100%;width:100%;object-fit:cover;display:block;filter:saturate(.7) sepia(.1);transition:transform .5s,filter .5s}.category-card:hover img{transform:scale(1.06);filter:saturate(.9)}.category-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,13,13,.65),transparent 55%)}.category-card span{position:absolute;z-index:1;left:20px;bottom:18px;color:#fff;font-family:var(--serif);font-size:25px}.category-card b{font:inherit;font-family:var(--sans);font-size:17px;color:#eed6b0;margin-left:8px}.category-wide{grid-row:span 2}.manifesto{background:var(--cream);display:grid;grid-template-columns:1.02fr .98fr;min-height:536px;margin-bottom:148px}.manifesto-image{position:relative;min-height:500px;overflow:hidden}.manifesto-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.vertical-label{position:absolute;left:20px;bottom:20px;color:rgba(255,255,255,.8);font-size:9px;letter-spacing:.23em;writing-mode:vertical-rl;transform:rotate(180deg)}.manifesto-copy{padding:76px 75px}.manifesto-copy h2{font-size:60px;margin-bottom:30px}.manifesto-copy>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.8;max-width:380px}.manifesto-copy .button{margin-top:20px}.events{display:grid;grid-template-columns:.86fr 1.14fr;gap:70px;align-items:center;padding-bottom:150px}.event-copy h2{font-size:59px;margin-bottom:29px}.event-copy>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.8;max-width:340px;margin-bottom:27px}.event-visual{position:relative;height:430px;overflow:hidden;background:var(--cream)}.event-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.65);object-position:center}.event-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(24,18,18,.5),transparent 55%)}.event-caption{position:absolute;z-index:1;bottom:20px;left:22px;right:22px;display:flex;justify-content:space-between;color:#fff;font-size:9px;letter-spacing:.17em;text-transform:uppercase}.contact-band{background:var(--wine);color:#f8eee3;display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:74px 75px;margin-bottom:0}.contact-band .eyebrow{color:#d8b783}.contact-band h2{font-size:59px}.contact-band h2 i{color:#e1bea0}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.contact-actions p{max-width:330px;color:#e6d6ce;font-size:13px;margin:0 0 24px}.contact-actions .button{margin-bottom:16px}.contact-phone{color:#f8eee3;text-decoration:none;font-size:11px;letter-spacing:.12em}.site-footer{background:#211b1b;color:#eee2d8;padding:55px max(40px,calc((100vw - 1180px)/2)) 23px}.footer-top{display:grid;grid-template-columns:1.15fr .9fr 1fr 1.2fr;gap:35px;align-items:start;padding-bottom:50px}.footer-brand{color:#eee2d8}.footer-top>p{font-family:var(--serif);font-size:17px;line-height:1.35;margin:0;color:#cbbab0}.footer-nav,.footer-contact{display:flex;flex-direction:column;gap:13px}.footer-nav a,.footer-contact span,.footer-contact a{color:#cbbab0;font-size:10px;letter-spacing:.11em;text-transform:uppercase;text-decoration:none}.footer-contact a{color:#eee2d8}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:18px;display:flex;gap:28px;color:#8f817b;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.footer-note{margin-left:auto;color:var(--brass)}.footer-verification{margin-left:auto;color:var(--brass);font-weight:600}.cart-drawer{position:fixed;z-index:30;right:0;top:0;bottom:0;width:min(420px,100%);background:var(--white);transform:translateX(102%);transition:transform .35s;display:flex;flex-direction:column;box-shadow:-12px 0 50px rgba(0,0,0,.15)}.cart-drawer.is-open{transform:translateX(0)}.drawer-overlay{position:fixed;inset:0;background:rgba(20,14,14,.42);z-index:29;opacity:0;pointer-events:none;transition:opacity .35s}.drawer-overlay.is-open{opacity:1;pointer-events:auto}.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:27px 30px;border-bottom:1px solid var(--line)}.drawer-head h2{font-family:var(--serif);font-size:29px;font-weight:500;margin:0}.drawer-head button,.modal-close{font-size:29px;line-height:1;background:none;border:0;color:var(--ink);cursor:pointer}.drawer-body{flex:1;overflow:auto;padding:22px 30px}.empty-cart{text-align:center;color:var(--muted);padding:90px 20px}.empty-cart>span{font-size:28px;color:var(--brass)}.empty-cart p{font-size:13px;line-height:1.7}.empty-cart a{color:var(--ink);font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:5px}.cart-row{display:grid;grid-template-columns:70px 1fr auto;gap:13px;align-items:start;padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.cart-row img{width:70px;height:88px;object-fit:cover}.cart-row h3{font-family:var(--serif);font-size:16px;line-height:1.1;margin:0 0 7px}.cart-row p{font-size:11px;color:var(--muted);margin:0}.cart-row button{border:0;background:none;color:var(--brass);font-size:17px;cursor:pointer}.drawer-foot{padding:22px 30px 30px;border-top:1px solid var(--line)}.drawer-foot>div{display:flex;justify-content:space-between;margin-bottom:17px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.drawer-foot strong{font-family:var(--serif);font-size:21px;letter-spacing:0}.button-full{width:100%}.product-modal{position:fixed;z-index:35;inset:0;background:rgba(21,14,14,.55);display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .25s}.product-modal.is-open{opacity:1;pointer-events:auto}.modal-card{position:relative;background:var(--paper);width:min(760px,100%);display:grid;grid-template-columns:.9fr 1.1fr;transform:translateY(12px);transition:transform .25s}.product-modal.is-open .modal-card{transform:translateY(0)}.modal-close{position:absolute;right:13px;top:10px;z-index:1;color:#fff}.modal-image{height:470px;background:var(--cream)}.modal-image img{width:100%;height:100%;object-fit:cover}.modal-copy{padding:67px 45px 40px;display:flex;flex-direction:column}.modal-copy h2{font-family:var(--serif);font-size:35px;line-height:1.05;font-weight:500;margin:0 0 20px}.modal-copy>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.7;margin:0;max-width:290px}.modal-buy{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:18px}.modal-buy strong{font-family:var(--serif);font-size:26px;font-weight:500}.modal-buy .button{width:100%;justify-content:space-between}.mobile-menu{display:none}@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:980px){.section-shell{width:min(100% - 44px,720px)}.main-nav{gap:15px}.main-nav a{font-size:9px}.phone{display:none}.hero{gap:27px;grid-template-columns:.9fr 1.1fr}.hero-visual{height:455px}.hero h1{font-size:52px}.product-grid{grid-template-columns:repeat(3,1fr)}.manifesto-copy{padding:52px 40px}.contact-band{padding:58px 45px}.footer-top{grid-template-columns:1fr 1fr}.footer-contact{grid-column:2}.footer-nav{grid-column:1}.footer-bottom{flex-wrap:wrap}.footer-note{margin-left:0}}@media(max-width:700px){.topline{font-size:8px;letter-spacing:.08em;height:27px}.topline-note{display:none}.site-header{height:67px;padding:0 22px}.main-nav,.phone{display:none}.header-actions{margin-left:auto}.menu-button{display:block}.section-shell{width:calc(100% - 36px)}.hero{display:flex;flex-direction:column-reverse;gap:34px;padding:39px 0 53px;align-items:stretch}.hero-visual{height:420px}.hero-frame{right:27px}.hero-stamp{right:-5px;top:16px}.hero-note{right:0;bottom:20px}.hero h1{font-size:53px}.hero-lead{font-size:14px;margin:24px 0}.hero-meta{margin-top:38px}.trust-bar{display:block;margin-bottom:85px;padding:0}.trust-bar>div{border-right:0;border-bottom:1px solid var(--line);padding:17px 0!important}.trust-bar>div:last-child{border-bottom:0}.section-heading{display:block;margin-bottom:33px}.section-heading h2,.section-heading.compact h2,.manifesto-copy h2,.event-copy h2,.contact-band h2{font-size:48px}.section-intro{margin-top:25px}.catalog{padding-bottom:94px}.catalog-toolbar{display:block;border:0;padding:0}.filters{gap:17px;overflow:auto;padding-bottom:15px;border-bottom:1px solid var(--line)}.search{margin:16px 0 24px;width:100%}.search input{width:100%}.product-grid{grid-template-columns:repeat(2,1fr);gap:27px 12px}.product-name{font-size:15px}.product-price{font-size:11px}.catalog-footer{margin-top:34px}.categories{padding-bottom:94px}.category-grid{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px 180px;gap:10px}.category-wide{grid-column:span 2;grid-row:auto}.category-card span{font-size:19px;left:13px;bottom:13px}.manifesto{display:flex;flex-direction:column;margin-bottom:94px}.manifesto-image{min-height:340px}.manifesto-copy{padding:43px 25px 48px}.manifesto-copy>p:not(.eyebrow){font-size:13px}.events{display:flex;flex-direction:column;gap:30px;padding-bottom:94px;align-items:stretch}.event-visual{height:320px}.contact-band{display:block;padding:45px 24px}.contact-actions{margin-top:33px}.site-footer{padding:43px 22px 20px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:29px 17px;padding-bottom:35px}.footer-top>p{grid-column:1/-1;grid-row:2}.footer-nav{grid-column:1;grid-row:3}.footer-contact{grid-column:2;grid-row:3}.footer-bottom{gap:12px 19px;line-height:1.7}.footer-note{display:none}.footer-verification{margin-left:0}.modal-card{display:block}.modal-image{height:260px}.modal-copy{padding:31px 24px 27px;min-height:300px}.modal-copy h2{font-size:29px}.modal-buy{margin-top:28px;flex-direction:row;align-items:center;justify-content:space-between}.modal-buy .button{width:auto}.modal-close{color:var(--ink);top:7px;right:9px}}
@media(max-width:700px){.main-nav.mobile-menu{display:flex;position:absolute;top:100%;left:0;right:0;padding:18px 22px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:16px;box-shadow:0 15px 25px rgba(30,20,20,.08)}}

/* Product messenger buttons removed */

/* Checkout copy cleanup */
/* Product open cue spacing */

/* Catalog pagination refresh */
.catalog-footer{gap:24px}
.catalog-pagination{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:42px}
.pagination-page,.pagination-arrow{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid rgba(177,139,90,.35);background:transparent;color:var(--muted);font-size:10px;letter-spacing:.1em;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s}
.pagination-page:hover,.pagination-arrow:hover{border-color:var(--wine);color:var(--wine);transform:translateY(-2px)}
.pagination-page.is-active{background:var(--wine);border-color:var(--wine);color:var(--white)}
.pagination-arrow{font-family:var(--serif);font-size:20px;line-height:1}
.pagination-ellipsis{padding:0 3px;color:var(--brass);font-size:15px}
.product-grid{transition:opacity .22s,transform .22s}
.product-grid.is-refreshing{opacity:.15;transform:translateY(6px)}
@media(max-width:700px){.catalog-footer{gap:17px}.catalog-pagination{justify-content:center;gap:5px;width:100%}.pagination-page,.pagination-arrow{width:36px;height:36px;font-size:9px}.pagination-arrow{font-size:18px}.pagination-ellipsis{font-size:13px}}

/* Price slider interaction polish */
.range-wrap{touch-action:none;cursor:pointer}
.range-wrap input::-webkit-slider-thumb{cursor:grab}
.range-wrap input:active::-webkit-slider-thumb{cursor:grabbing}
.range-wrap input::-moz-range-thumb{cursor:grab}
.range-wrap input:active::-moz-range-thumb{cursor:grabbing}

/* Top sales mobile one-line heading */
@media(max-width:700px){
  .top-sales .section-heading.compact{
    gap:14px;
    padding:16px 14px 17px;
  }
  .top-sales .section-heading.compact .top-sales-heading{
    padding:12px 14px 13px 14px;
  }
  .top-sales-heading:before{top:12px;height:45px}
  .top-sales-heading-meta{gap:8px}
  .top-sales-heading .eyebrow{font-size:8px;letter-spacing:.14em}
  .top-sales-heading h2{
    display:block;
    margin-top:7px;
    font-size:clamp(30px,9vw,42px);
    line-height:1;
    letter-spacing:-.045em;
    white-space:nowrap;
  }
  .top-sales-heading h2 span,
  .top-sales-heading h2 i{display:inline;font-weight:500}
  .top-sales-heading h2 i{margin-left:.12em}
  .top-sales-heading:after{margin-top:11px;width:38px}
  .top-sales-subtitle{max-width:100%;margin-top:10px;font-size:10px;line-height:1.45}
  .top-sales .section-heading.compact .text-link.top-sales-catalog-link{
    width:100%;
    min-width:0;
    min-height:44px;
    align-self:stretch;
    margin:0;
  }
}

/* reliability layer */
.catalog-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.filter-chip{border:1px solid rgba(100,32,45,.3);background:#fffaf7;color:#64202d;border-radius:999px;padding:7px 12px;font-size:12px;cursor:pointer}.filter-reset{border:0;background:transparent;color:#64202d;text-decoration:underline;cursor:pointer;font:inherit}.catalog-empty{padding:64px 20px;text-align:center;background:#fbf5ef;border:1px solid rgba(100,32,45,.12)}.catalog-empty strong{font-family:var(--font-display,serif);font-size:28px}.catalog-empty p{color:#796f6b;margin:10px 0 20px}.filter [data-filter-count]{opacity:.6;font-size:.8em}.detail-gallery-main{background:#f7f0eb;aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden}.detail-gallery-main img{width:100%;height:100%;object-fit:cover}.detail-gallery-thumbs{display:flex;gap:10px;margin-top:12px;overflow:auto}.detail-gallery-thumb{border:1px solid transparent;padding:0;background:none;width:76px;height:76px;flex:0 0 auto;cursor:pointer}.detail-gallery-thumb.is-active{border-color:#7c3040}.detail-gallery-thumb img{width:100%;height:100%;object-fit:cover}.menu-open,.filters-open,.cart-open{overflow:hidden}@media(max-width:700px){.catalog-toolbar{display:grid;gap:10px}.filter-reset{justify-self:start}.detail-gallery-thumb{width:64px;height:64px}}

/* Mobile catalog artwork: keep the full illustration visible. */
@media(max-width:700px){
  .category-grid .category-card[data-category-link="all"]{
    grid-column:1 / -1;
    aspect-ratio:16 / 9;
    min-height:0;
  }
  .category-grid .category-card[data-category-link="all"] img{
    object-fit:cover!important;
    object-position:center!important;
  }
}

/* — the About hero uses the supplied studio video without cropping. */
.about-hero-visual{border:1px solid rgba(177,139,90,.42);box-shadow:0 22px 55px rgba(45,28,22,.10);padding:10px;background:var(--cream)}
.about-hero-video{display:block;width:100%;height:100%;object-fit:contain;background:#171313;filter:saturate(.86);border:1px solid rgba(255,255,255,.16)}
@media(max-width:700px){.about-hero{flex-direction:column}.about-hero-visual{height:auto;aspect-ratio:16/10;padding:7px}.about-hero-video{min-height:0}}

/* — product cards navigate directly to their full detail page. */
.product-card[role="link"]{cursor:pointer}
.product-card[role="link"]:focus-visible,.top-sale-card[data-product]:focus-visible{outline:2px solid var(--brass);outline-offset:5px}

/* L-FLOWERS LUXURY — homepage/video and catalogue polish */
html,body{overflow-x:hidden}
.video-hero{position:relative;width:100%;height:min(78vh,760px);min-height:500px;overflow:hidden;background:#241b1a;color:#fff}
.video-hero video{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%;background:transparent}
.video-hero:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(18,12,12,.66) 0%,rgba(18,12,12,.28) 44%,rgba(18,12,12,.04) 75%),linear-gradient(0deg,rgba(18,12,12,.45),transparent 42%)}
.video-hero-overlay{position:absolute;z-index:2;left:max(48px,calc((100vw - 1760px)/2));top:50%;transform:translateY(-50%);width:min(600px,calc(100% - 96px));text-shadow:0 2px 18px rgba(0,0,0,.22)}
.video-hero-overlay .eyebrow{color:#e4c48f;margin-bottom:22px}
.video-hero-overlay h1{font-family:var(--serif);font-size:clamp(52px,6.4vw,96px);font-weight:500;line-height:.93;letter-spacing:-.045em;margin:0;color:#fff}
.video-hero-overlay h1 i{color:#f0d6b6;font-weight:500}
.video-hero-overlay>p:not(.eyebrow){max-width:430px;color:rgba(255,255,255,.86);font-size:15px;line-height:1.7;margin:28px 0 30px}
.video-hero-actions{display:flex;flex-wrap:wrap;gap:13px}
.video-hero-actions .button{min-height:50px;text-shadow:none}
.button-ghost-light{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.72);color:#fff}
.button-ghost-light:hover{background:rgba(255,255,255,.2);border-color:#fff}
.video-hero-caption{position:absolute;z-index:2;right:max(48px,calc((100vw - 1760px)/2));bottom:30px;display:flex;align-items:flex-end;gap:18px;color:rgba(255,255,255,.9);font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.video-hero-caption strong{font-family:var(--serif);font-size:18px;letter-spacing:.02em;font-weight:500;text-transform:none;color:#fff}
.video-hero-caption em{font-style:normal;color:#e4c48f;letter-spacing:.1em}
.top-sales{padding:106px 0 132px}
.top-sales .section-heading{margin-bottom:38px}
.top-sales .section-heading h2{font-size:clamp(52px,5.1vw,74px)}
.top-sales-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.top-sale-card{min-width:0;cursor:pointer}
.top-sale-photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--cream);border:1px solid rgba(197,160,106,.27);box-shadow:0 12px 35px rgba(45,28,22,.07)}
.top-sale-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.25,1)}
.top-sale-card:hover .top-sale-photo img{transform:scale(1.045)}
.top-sale-photo:after{content:'';position:absolute;inset:10px;border:1px solid rgba(255,255,255,.27);pointer-events:none}
.top-sale-number{position:absolute;z-index:1;left:15px;top:13px;font-family:var(--serif);font-size:22px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.3)}
.top-sale-info{display:grid;grid-template-columns:1fr auto;gap:10px 12px;align-items:start;padding-top:16px}
.top-sale-info h3{font-family:var(--serif);font-size:20px;line-height:1.1;font-weight:500;margin:0 0 6px}
.top-sale-info span{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.top-sale-info>strong{font-family:var(--serif);font-size:18px;font-weight:500;white-space:nowrap;color:var(--wine)}
.top-sale-info .button{grid-column:1/-1;justify-content:space-between;min-height:40px;width:100%;padding:11px 13px;font-size:9px}
.manifesto{margin-top:0}
.manifesto-image{min-height:560px}
.manifesto-image img{object-position:center 16%}
.categories{padding-bottom:105px}
.section-heading.compact{margin-bottom:31px}
.product-assurance span:first-child:before,.product-assurance span:last-child:before{content:'';display:inline-block;width:4px;height:4px;margin:0 6px 2px 0;border-radius:50%;background:var(--gold)}
.modal-assurances span:first-child{color:var(--wine)}
.modal-assurances span:last-child{color:var(--wine)}
@media(max-width:1180px){.video-hero-overlay{left:38px}.video-hero-caption{right:38px}.top-sales{padding-top:86px}.top-sales-grid{gap:15px}}
@media(max-width:980px){.video-hero{min-height:470px;height:min(72vh,650px)}.video-hero-overlay{left:28px;width:min(540px,calc(100% - 56px))}.video-hero-caption{right:28px;left:28px;justify-content:space-between;gap:10px}.video-hero-caption strong{font-size:16px}.top-sales{padding:76px 0 100px}.top-sales-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.manifesto-image{min-height:500px}}
@media(max-width:700px){.video-hero{height:72svh;min-height:500px}.video-hero video{object-position:center center}.video-hero-overlay{left:20px;top:auto;bottom:86px;transform:none;width:calc(100% - 40px)}.video-hero-overlay .eyebrow{font-size:8px;letter-spacing:.17em;margin-bottom:16px}.video-hero-overlay h1{font-size:clamp(46px,14vw,64px)}.video-hero-overlay>p:not(.eyebrow){font-size:13px;line-height:1.55;margin:19px 0 21px;max-width:350px}.video-hero-actions{display:grid;grid-template-columns:1fr;gap:9px}.video-hero-actions .button{width:100%;justify-content:space-between;min-height:47px}.video-hero-caption{left:20px;right:20px;bottom:21px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;font-size:7px;letter-spacing:.12em}.video-hero-caption strong{font-size:14px;grid-column:2;grid-row:1/3}.video-hero-caption em{grid-column:1;grid-row:2;font-size:7px}.top-sales{padding:65px 0 83px}.top-sales .section-heading{margin-bottom:26px}.top-sales-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 11px}.top-sale-info{padding-top:11px;gap:8px}.top-sale-info h3{font-size:16px}.top-sale-info>strong{font-size:15px}.top-sale-info span{font-size:8px}.top-sale-info .button{font-size:8px;min-height:39px;padding:10px}.top-sale-number{left:10px;top:9px;font-size:18px}.manifesto-image{min-height:390px}.categories{padding-bottom:82px}}
.about-page{overflow:hidden}.about-hero{display:grid;grid-template-columns:.88fr 1.12fr;gap:72px;align-items:center;padding-top:95px;padding-bottom:126px}.about-hero-copy h1,.about-story-copy h2,.about-origin h2,.about-process-copy h2,.about-cta h2{font-family:var(--serif);font-size:clamp(48px,5vw,72px);font-weight:500;line-height:.98;letter-spacing:-.045em;margin:0}.about-hero-copy h1 i,.about-story-copy h2 i,.about-origin h2 i,.about-process-copy h2 i,.about-cta h2 i{font-weight:500;color:var(--wine)}.about-hero-lead{max-width:390px;color:var(--muted);font-size:15px;line-height:1.8;margin:30px 0 42px}.about-year{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:20px;max-width:310px}.about-year strong{font-family:var(--serif);font-size:38px;font-weight:500;color:var(--brass);line-height:1}.about-year span{font-size:10px;line-height:1.55;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.about-hero-visual{height:560px;position:relative;overflow:hidden;background:var(--cream)}.about-hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(145deg,rgba(95,39,48,.05),transparent 60%);pointer-events:none}.about-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 54%;display:block;filter:saturate(.8)}.about-image-label{position:absolute;z-index:1;left:20px;bottom:20px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.82)}.about-story{display:grid;grid-template-columns:1.04fr .96fr;gap:78px;align-items:center;padding-bottom:145px}.about-story-image{height:575px;position:relative;overflow:hidden;background:var(--cream)}.about-story-image img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.72)}.about-story-image span{position:absolute;left:20px;bottom:19px;color:#fff;font-size:9px;letter-spacing:.2em}.about-story-copy h2{font-size:61px;margin-bottom:31px}.about-story-copy>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.85;max-width:410px}.about-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-top:1px solid var(--line);margin-top:34px;padding-top:22px;max-width:410px}.about-facts div{display:flex;flex-direction:column;gap:8px}.about-facts strong{font-family:var(--serif);font-size:28px;font-weight:500;color:var(--brass)}.about-facts span{font-size:10px;line-height:1.55;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.about-origin{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:var(--cream);padding:76px 75px;margin-bottom:125px}.about-origin h2{font-size:58px;margin-top:4px}.about-origin-copy{align-self:end}.about-origin-copy p{max-width:430px;color:var(--muted);font-size:13px;line-height:1.85;margin:0 0 18px}.about-origin-copy p:last-child{margin-bottom:0}.about-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding-bottom:145px}.about-pillar{border-top:1px solid var(--line);padding-top:18px}.about-pillar>span{font-family:var(--serif);font-size:21px;color:var(--brass)}.about-pillar h3{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.1;margin:26px 0 12px}.about-pillar p{color:var(--muted);font-size:12px;line-height:1.7;margin:0}.about-process{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--ink);color:var(--white);margin-bottom:145px}.about-process-image{min-height:610px;overflow:hidden}.about-process-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.65)}.about-process-copy{padding:75px 72px}.about-process-copy .eyebrow{color:#d8b783}.about-process-copy h2{font-size:57px;color:var(--white);margin-bottom:48px}.about-process-copy h2 i{color:#e1bea0}.about-process-copy ol{list-style:none;margin:0;padding:0}.about-process-copy li{display:grid;grid-template-columns:115px 1fr;gap:18px;border-top:1px solid rgba(255,255,255,.2);padding:18px 0}.about-process-copy li:last-child{border-bottom:1px solid rgba(255,255,255,.2)}.about-process-copy li strong{font-family:var(--serif);font-size:21px;font-weight:500;color:#f2dfca}.about-process-copy li span{color:#c7b8b1;font-size:12px;line-height:1.65}.about-cta{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:var(--wine);color:#f8eee3;padding:72px 75px;margin-bottom:0}.about-cta .eyebrow{color:#d8b783}.about-cta h2{font-size:57px}.about-cta h2 i{color:#e1bea0}.about-cta>div:last-child{align-self:center}.about-cta>div:last-child p{max-width:360px;color:#e6d6ce;font-size:13px;line-height:1.8;margin:0 0 26px}.about-cta .button{margin:0}.about-catalog-link{font-size:11px;letter-spacing:.1em;text-decoration:none;color:var(--ink)}
@media(max-width:980px){.about-hero{gap:35px;padding-top:70px}.about-story{gap:40px}.about-origin{padding:58px 45px}.about-process-copy{padding:55px 42px}.about-cta{padding:58px 45px}.about-pillars{grid-template-columns:repeat(2,1fr);gap:40px 25px}}
.woocommerce .product_meta,.woocommerce .sku_wrapper,.woocommerce .product_meta .sku{display:none!important}
@media(max-width:700px){.about-hero{display:flex;flex-direction:column-reverse;gap:37px;padding:42px 0 86px}.about-hero-visual{height:420px;width:100%}.about-hero-copy h1{font-size:52px}.about-hero-lead{font-size:14px;margin:24px 0 35px}.about-year{max-width:none}.about-story{display:flex;flex-direction:column;gap:38px;padding-bottom:88px}.about-story-image{height:390px;width:100%}.about-story-copy h2{font-size:49px}.about-story-copy>p:not(.eyebrow){font-size:13px}.about-facts{max-width:none}.about-origin{display:block;padding:45px 24px;margin-bottom:87px}.about-origin h2{font-size:48px;margin-bottom:29px}.about-origin-copy p{font-size:13px}.about-pillars{display:grid;grid-template-columns:1fr 1fr;gap:34px 17px;padding-bottom:90px}.about-pillar h3{font-size:20px;margin-top:19px}.about-pillar p{font-size:11px}.about-process{display:flex;flex-direction:column;margin-bottom:88px}.about-process-image{min-height:350px}.about-process-copy{padding:46px 25px 50px}.about-process-copy h2{font-size:48px;margin-bottom:35px}.about-process-copy li{grid-template-columns:94px 1fr;gap:12px;padding:15px 0}.about-process-copy li strong{font-size:18px}.about-process-copy li span{font-size:11px}.about-cta{display:block;padding:46px 24px}.about-cta h2{font-size:48px}.about-cta>div:last-child{margin-top:32px}.about-cta>div:last-child p{font-size:13px}}

.video-story{display:grid;grid-template-columns:.82fr 1.18fr;gap:64px;align-items:center;padding:0 0 148px}.video-story-copy h2{font-family:var(--serif);font-size:clamp(48px,5vw,66px);font-weight:500;line-height:.98;letter-spacing:-.04em;margin:0 0 27px}.video-story-copy h2 i{color:var(--wine);font-weight:500}.video-story-copy>p:not(.eyebrow){max-width:350px;color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 27px}.video-story-frame{height:440px;overflow:hidden;background:var(--ink);position:relative}.video-story-frame:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(145deg,rgba(95,39,48,.12),transparent 60%)}.video-story-frame video{width:100%;height:100%;display:block;object-fit:cover}.order-addons{border:1px solid var(--line);background:var(--cream);padding:18px 20px 17px;margin:0 0 22px}.addon-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:13px}.addon-heading .eyebrow{margin:0;font-size:9px}.addon-heading h3{font-family:var(--serif);font-size:23px;font-weight:500;margin:0}.addon-options{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}.addon-option{display:flex;align-items:center;gap:9px;border:1px solid rgba(177,139,90,.32);background:var(--white);padding:10px 11px;cursor:pointer;min-width:0}.addon-option input{accent-color:var(--wine);margin:0;flex:0 0 auto}.addon-option-copy{display:flex;justify-content:space-between;align-items:baseline;gap:8px;width:100%;min-width:0}.addon-option-copy strong{font-family:var(--serif);font-size:15px;font-weight:500;line-height:1.1}.addon-option-copy small{font-size:10px;color:var(--wine);white-space:nowrap}.order-total-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(177,139,90,.4);margin-top:14px;padding-top:12px;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.order-total-row strong{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:0;text-transform:none}
@media(max-width:980px){.video-story{gap:35px}.video-story-frame{height:360px}.addon-options{grid-template-columns:1fr}}
@media(max-width:700px){.video-story{display:flex;flex-direction:column;gap:29px;padding-bottom:88px;align-items:stretch}.video-story-copy h2{font-size:48px}.video-story-frame{height:310px}.order-addons{padding:16px 13px}.addon-heading{display:block}.addon-heading h3{margin-top:5px}.addon-option-copy strong{font-size:14px}}
.header-status{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--brass);white-space:nowrap}
.product-buy{display:flex;flex-direction:column;align-items:flex-end;gap:9px;min-width:100px}.buy-product{padding:9px 12px;gap:9px;font-size:9px;letter-spacing:.1em}.buy-product span{font-size:14px}
.hero-buy{padding:8px 12px;gap:8px;font-size:9px;letter-spacing:.1em}.hero-buy span{font-size:14px}.order-close{color:var(--ink);font-size:28px;font-weight:300}.order-head{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:22px}.order-head h2{font-family:var(--serif);font-size:43px;line-height:1.03;font-weight:500;margin:5px 0 14px}.order-head h2 i{color:var(--wine)}.order-product{font-size:13px;margin:0;color:var(--muted)}.order-price{display:block;font-family:var(--serif);font-size:24px;font-weight:500;margin-top:8px}.order-steps{display:flex;gap:24px;margin:0 0 25px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.order-steps span{padding-bottom:8px;border-bottom:1px solid transparent}.order-steps span.is-active{color:var(--ink);border-color:var(--brass)}.order-form{display:block}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.order-form label{display:flex;flex-direction:column;gap:7px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.order-form input,.order-form select,.order-form textarea{width:100%;border:1px solid var(--line);background:var(--white);border-radius:0;padding:12px 13px;color:var(--ink);font:inherit;font-size:13px;letter-spacing:0;outline:none}.order-form input:focus,.order-form select:focus,.order-form textarea:focus{border-color:var(--brass)}.order-form textarea{resize:vertical;min-height:84px}.form-wide{grid-column:1 / -1;margin-top:16px}.form-consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:9px!important;margin:22px 0 24px;text-transform:none!important;letter-spacing:0!important;line-height:1.45}.form-consent input{width:15px;height:15px;flex:0 0 auto;margin-top:1px;padding:0}.order-summary{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin-bottom:18px;font-size:12px}.order-summary strong{font-family:var(--serif);font-size:18px;font-weight:500;margin-bottom:3px}
@media(max-width:700px){.header-status{display:none}.hero-note{right:-5px;left:10px;justify-content:flex-start;flex-wrap:wrap;gap:9px}.hero-note .note-price{margin-left:auto}.hero-buy{order:5;width:100%;justify-content:space-between}.product-buy{min-width:86px;gap:7px}.buy-product{padding:8px 9px;font-size:8px}.order-head h2{font-size:36px}.form-grid{grid-template-columns:1fr;gap:14px}.form-wide{grid-column:auto;margin-top:14px}}

/* Dedicated reviews page — editorial carousel with keyboard and touch support. */
.reviews-page{padding:88px 0 0}
.reviews-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(220px,.88fr);align-items:end;gap:70px;padding-bottom:76px}
.reviews-page-heading h1{font-family:var(--serif);font-size:clamp(52px,6vw,82px);font-weight:500;line-height:.95;letter-spacing:-.045em;margin:0}
.reviews-page-heading h1 i{font-weight:500;color:var(--wine)}
.reviews-page-heading>p:last-child{max-width:530px;color:var(--muted);font-size:14px;line-height:1.8;margin:31px 0 0}
.reviews-page-stat{justify-self:end;display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:16px;row-gap:8px;padding:0 0 5px;border-bottom:1px solid var(--line);min-width:230px}
.reviews-page-stat strong{font-family:var(--serif);font-size:74px;line-height:.8;font-weight:500;color:var(--wine)}
.reviews-page-stat span{font-size:10px;line-height:1.45;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.reviews-page-stat b{grid-column:1/-1;color:var(--brass);font-size:16px;letter-spacing:.25em;line-height:1}
.reviews-carousel{padding-bottom:120px}
.reviews-carousel-head{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:23px}
.reviews-carousel-head .eyebrow{margin:0}
.reviews-carousel-controls{display:flex;align-items:center;gap:17px}
.reviews-arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;transition:background .25s,border-color .25s,color .25s,transform .25s}
.reviews-arrow:hover{background:var(--wine);border-color:var(--wine);color:var(--white);transform:translateY(-2px)}
.reviews-arrow:focus-visible{outline:2px solid var(--brass);outline-offset:4px}
.reviews-counter{display:flex;align-items:baseline;gap:5px;min-width:54px;justify-content:center;color:var(--muted);font-size:10px;letter-spacing:.12em}
.reviews-counter b{color:var(--ink);font-size:13px;font-weight:600}
.reviews-counter i{font-style:normal;color:var(--line)}
.reviews-track{position:relative;overflow:hidden;outline:none}
.reviews-track:focus-visible{outline:2px solid var(--brass);outline-offset:6px}
.review-slide{display:none;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:430px;background:var(--white);border:1px solid var(--line);box-shadow:0 20px 55px rgba(45,28,22,.06);animation:reviewSlideIn .55s cubic-bezier(.2,.65,.25,1) both}
.review-slide.is-active{display:grid}
.review-slide .review-photo{min-height:430px;aspect-ratio:auto;margin:0}
.review-slide .review-copy{padding:52px clamp(30px,5vw,76px)}
.review-slide .review-copy blockquote{max-width:520px}
.reviews-dots{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:24px}
.reviews-dots button{width:7px;height:7px;border:1px solid var(--brass);border-radius:50%;padding:0;background:transparent;cursor:pointer;transition:background .25s,transform .25s}
.reviews-dots button:hover{transform:scale(1.2)}
.reviews-dots button.is-active{background:var(--wine);border-color:var(--wine);transform:scale(1.25)}
.reviews-dots button:focus-visible{outline:2px solid var(--brass);outline-offset:4px}
.reviews-invite{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;background:var(--cream);padding:67px 75px;margin-bottom:0}
.reviews-invite h2{font-family:var(--serif);font-size:clamp(43px,4.8vw,62px);font-weight:500;line-height:.98;letter-spacing:-.04em;margin:0}
.reviews-invite h2 i{font-weight:500;color:var(--wine)}
.reviews-invite>div:last-child p{max-width:380px;color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 25px}
.reviews-invite .button{margin:0}
.icon-arrow-left{transform:rotate(-135deg);margin-left:0;margin-right:4px}
@keyframes reviewSlideIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:980px){.reviews-page{padding-top:70px}.reviews-hero{gap:36px;padding-bottom:58px}.reviews-page-heading h1{font-size:58px}.reviews-page-stat strong{font-size:62px}.review-slide{min-height:390px}.review-slide .review-photo{min-height:390px}.review-slide .review-copy{padding:42px 35px}.review-slide .review-copy blockquote{font-size:28px}.reviews-invite{gap:35px;padding:58px 45px}}
@media(max-width:700px){.reviews-page{padding-top:43px}.reviews-hero{display:block;padding-bottom:52px}.reviews-page-heading h1{font-size:clamp(50px,14vw,62px)}.reviews-page-heading>p:last-child{font-size:13px;line-height:1.7;margin-top:24px}.reviews-page-stat{justify-self:auto;margin-top:32px;min-width:0;width:100%;grid-template-columns:auto 1fr;column-gap:13px;padding-bottom:13px}.reviews-page-stat strong{font-size:56px}.reviews-page-stat span{font-size:9px}.reviews-page-stat b{font-size:14px}.reviews-carousel{padding-bottom:83px}.reviews-carousel-head{align-items:flex-end;gap:17px;margin-bottom:17px}.reviews-carousel-head .eyebrow{font-size:8px;line-height:1.45;max-width:180px}.reviews-carousel-controls{gap:9px}.reviews-arrow{width:36px;height:36px}.reviews-counter{min-width:43px;font-size:9px}.reviews-counter b{font-size:11px}.review-slide{grid-template-columns:1fr;min-height:0}.review-slide .review-photo{min-height:0;aspect-ratio:4 / 3}.review-slide .review-copy{padding:29px 22px 31px}.review-slide .review-rating{font-size:14px;letter-spacing:.18em;margin-bottom:20px}.review-slide .review-copy blockquote{font-size:25px;line-height:1.18}.review-slide .review-meta{margin-top:25px;padding-top:15px;gap:7px 13px}.reviews-dots{gap:9px;margin-top:18px}.reviews-dots button{width:6px;height:6px}.reviews-invite{display:block;padding:44px 24px}.reviews-invite h2{font-size:48px}.reviews-invite>div:last-child{margin-top:28px}.reviews-invite>div:last-child p{font-size:13px}.reviews-invite .button{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.review-slide{animation:none}.reviews-arrow,.reviews-dots button{transition:none}}
.review-slide .review-photo{background:var(--cream)}
.review-slide .review-photo img{object-fit:contain;background:var(--cream);padding:8px}
@media(max-width:700px){.review-slide .review-photo img{padding:5px}}

/* — keep the active review within the desktop viewport. Portrait
   photos previously expanded the grid row because the slide had only a
   minimum height; an explicit height lets the image contain inside the card. */
.review-slide{
  height:min(520px,calc(100vh - 240px));
  min-height:400px;
}

.review-slide .review-photo{
  height:100%;
  min-height:0;
}
.review-slide .review-copy{
  min-height:0;
}
@media(max-width:980px){
  .review-slide{height:470px;min-height:0}
}
@media(max-width:700px){
  .review-slide{height:auto}
  .review-slide .review-photo{
    height:auto;
    aspect-ratio:4 / 3;
  }
}

/* L-FLOWERS LUXURY — visual refinement */
:root{--gold:#c5a06a;--gold-soft:#ead7b8;--ink-soft:#332a29;--shadow-soft:0 18px 55px rgba(42,26,22,.1);--shadow-luxury:0 28px 80px rgba(40,24,21,.16)}
::selection{background:var(--wine);color:var(--white)}
html{scroll-padding-top:96px}
body{overflow-x:hidden;background:radial-gradient(circle at 85% 5%,rgba(234,215,184,.2),transparent 34rem),var(--paper)}
body:before{content:'';position:fixed;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.3),transparent 38%,rgba(95,39,48,.025))}
.topline{position:relative;overflow:hidden;background:linear-gradient(100deg,#5f2730,#71323c 46%,#5f2730);box-shadow:0 1px 0 rgba(255,255,255,.1) inset}.topline:after{content:'';position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(100deg,transparent,rgba(255,255,255,.18),transparent);animation:toplineShine 8s ease-in-out infinite;pointer-events:none}
.site-header{box-shadow:0 8px 30px rgba(42,26,22,.04);transition:background .3s,box-shadow .3s}.site-header:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.55}.brand-mark{box-shadow:0 0 0 4px rgba(197,160,106,.08);transition:transform .35s,background .35s}.brand:hover .brand-mark{transform:rotate(-12deg);background:rgba(197,160,106,.1)}.header-status:before{content:'•';margin-right:7px;color:var(--wine);font-size:14px;vertical-align:-1px}
.hero{position:relative;isolation:isolate}.hero:before{content:'L';position:absolute;z-index:-1;right:7%;top:2%;font-family:var(--serif);font-size:clamp(260px,34vw,520px);line-height:1;color:rgba(177,139,90,.055);pointer-events:none}.hero-copy{animation:heroCopyIn .9s cubic-bezier(.2,.65,.25,1) both}.hero h1{font-size:clamp(52px,6vw,86px);text-wrap:balance}.hero-lead{max-width:420px}.hero-actions{flex-wrap:wrap}.button{position:relative;overflow:hidden;min-height:48px;border-radius:1px;box-shadow:0 7px 20px rgba(32,22,19,.08);transition:transform .28s,box-shadow .28s,background .28s,color .28s,border-color .28s}.button:after{content:'';position:absolute;inset:0;transform:translateX(-130%) skewX(-18deg);background:linear-gradient(100deg,transparent,rgba(255,255,255,.24),transparent);transition:transform .55s}.button:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(32,22,19,.15)}.button:hover:after{transform:translateX(130%) skewX(-18deg)}.button-dark:hover{background:var(--wine)}.button-light:hover{background:var(--gold-soft)}.button-outline:hover{border-color:var(--wine);background:rgba(95,39,48,.05)}.text-link{transition:color .25s,border-color .25s}.text-link:hover{color:var(--wine);border-color:var(--wine)}
.hero-frame{border:1px solid rgba(197,160,106,.42);box-shadow:var(--shadow-luxury)}.hero-frame img{transform:scale(1.015);animation:heroImageBreath 12s ease-in-out infinite alternate}.hero-frame:before{content:'';position:absolute;z-index:1;inset:16px;border:1px solid rgba(255,255,255,.28);pointer-events:none}.hero-note{border:1px solid rgba(197,160,106,.35);box-shadow:var(--shadow-luxury);backdrop-filter:blur(8px)}.hero-note-copy{min-width:98px}.hero-assurances{display:flex;flex-direction:column;gap:4px;font-size:8px;line-height:1.25;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.hero-assurances span:first-child:before,.hero-assurances span:last-child:before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--gold);margin:0 5px 2px 0}.hero-stamp{animation:stampFloat 6s ease-in-out infinite}
.trust-bar{position:relative}.trust-bar>div{transition:transform .3s}.trust-bar>div:hover{transform:translateY(-3px)}.trust-no{font-size:25px}.trust-bar strong{font-family:var(--serif);font-size:14px;font-weight:500}
.video-story{position:relative}.video-story-frame{border:1px solid rgba(197,160,106,.4);box-shadow:var(--shadow-luxury)}.video-story-frame video{filter:saturate(.84) contrast(1.02);transition:transform .8s}.video-story-frame:hover video{transform:scale(1.025)}.video-story-frame:before{content:'L-FLOWERS / 2017—2026';position:absolute;z-index:2;right:22px;top:19px;color:rgba(255,255,255,.78);font-size:8px;letter-spacing:.17em}
.catalog{position:relative}.catalog:before{content:'COLLECTION';position:absolute;right:-34px;top:6%;writing-mode:vertical-rl;color:rgba(95,39,48,.22);font-size:9px;letter-spacing:.35em}.section-heading h2{font-size:clamp(54px,5.2vw,70px)}.section-intro{max-width:370px}.catalog-toolbar{position:sticky;top:82px;z-index:6;padding-top:16px;background:linear-gradient(var(--paper) 75%,transparent);backdrop-filter:blur(3px)}.filter{position:relative;min-height:27px}.filter:after{height:2px;background:var(--gold)}.product-grid{gap:42px 20px}.product-card{animation:cardIn .65s cubic-bezier(.2,.7,.25,1) both;animation-delay:var(--reveal-delay,0ms)}.product-photo{border:1px solid rgba(197,160,106,.22);box-shadow:0 10px 28px rgba(45,28,22,.06);transition:box-shadow .35s,transform .35s}.product-card:hover .product-photo{transform:translateY(-4px);box-shadow:var(--shadow-soft)}.product-photo:before{content:'';position:absolute;z-index:1;inset:10px;border:1px solid rgba(255,255,255,.23);pointer-events:none}.photo-shine{position:absolute;z-index:2;inset:0;transform:translateX(-130%) skewX(-18deg);background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);pointer-events:none}.product-card:hover .photo-shine{transform:translateX(130%) skewX(-18deg);transition:transform .7s}.product-tag{border:1px solid rgba(197,160,106,.3);box-shadow:0 5px 15px rgba(45,28,22,.1);font-weight:600}.product-info{min-height:92px}.product-copy{min-width:0}.product-name{font-size:19px}.product-meta{font-size:9px;letter-spacing:.1em;text-transform:uppercase}.product-assurance{display:flex;flex-direction:column;gap:3px;margin-top:10px;color:var(--wine);font-size:8px;line-height:1.3;letter-spacing:.04em}.product-assurance span{white-space:nowrap}.product-price{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--ink)}.product-buy{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.buy-product{min-height:38px;padding:10px 13px;font-size:9px;letter-spacing:.1em;white-space:nowrap}.catalog-footer{border-top:1px solid var(--line);padding-top:24px}.catalog-footer .button{min-width:178px}
.category-card{border:1px solid rgba(197,160,106,.25);box-shadow:0 11px 30px rgba(45,28,22,.07);transition:transform .35s,box-shadow .35s}.category-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft)}.category-card:before{content:'';position:absolute;z-index:1;inset:12px;border:1px solid rgba(255,255,255,.25);pointer-events:none}.category-card span{letter-spacing:-.02em}
.manifesto{box-shadow:0 20px 60px rgba(45,28,22,.06)}.manifesto-image img,.event-visual img{transition:transform .8s}.manifesto:hover .manifesto-image img,.event-visual:hover img{transform:scale(1.03)}.contact-band{box-shadow:0 -14px 45px rgba(45,28,22,.08)}
.product-modal{backdrop-filter:blur(9px)}.modal-card{border:1px solid rgba(197,160,106,.38);box-shadow:var(--shadow-luxury)}.modal-image{position:relative}.modal-image:after{content:'';position:absolute;inset:14px;border:1px solid rgba(255,255,255,.25);pointer-events:none}.modal-assurances{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}.modal-assurances span{padding:7px 9px;background:var(--cream);border:1px solid rgba(197,160,106,.28);color:var(--wine);font-size:9px;letter-spacing:.05em}.order-head h2{font-size:48px}.order-total-row strong,.order-price{color:var(--wine)}.addon-option{transition:transform .22s,border-color .22s,box-shadow .22s}.addon-option:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 5px 16px rgba(45,28,22,.08)}
.reveal{animation:revealIn .72s cubic-bezier(.2,.7,.25,1) both;animation-delay:var(--reveal-delay,0ms)}
@keyframes revealIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes cardIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes heroCopyIn{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}@keyframes heroImageBreath{from{transform:scale(1.015)}to{transform:scale(1.06)}}@keyframes stampFloat{0%,100%{transform:rotate(13deg) translateY(0)}50%{transform:rotate(9deg) translateY(-7px)}}@keyframes toplineShine{0%,65%,100%{transform:translateX(-120%)}78%{transform:translateX(120%)}}
@media(max-width:980px){.catalog-toolbar{top:68px}.catalog:before{display:none}.product-grid{gap:34px 16px}.product-name{font-size:17px}.product-assurance{font-size:7px}.hero:before{right:-4%;top:0}}
@media(max-width:700px){html{scroll-padding-top:74px}.section-shell{width:calc(100% - 32px)}.site-header{padding:0 16px}.brand-copy strong{font-size:12px}.brand-copy em{font-size:7px}.hero{gap:27px;padding-top:31px;overflow:hidden}.hero:before{font-size:280px;right:-16%;top:4%}.hero h1{font-size:clamp(46px,14vw,60px);line-height:.95}.hero-actions{display:grid;grid-template-columns:1fr;gap:13px}.hero-actions .button{width:100%}.hero-actions .text-link{justify-self:start}.hero-visual{height:405px}.hero-frame{right:18px}.hero-frame:before{inset:10px}.hero-note{right:-4px;left:6px;bottom:14px;padding:12px 11px;gap:8px}.hero-note-copy{font-size:9px;min-width:84px}.hero-note .note-price{font-size:15px}.hero-assurances{font-size:7px;gap:3px;flex-basis:100%;padding-left:2px;order:4}.hero-buy{order:5;min-height:42px}.trust-bar{margin-bottom:70px}.trust-bar>div{padding:15px 0!important}.trust-bar strong{font-size:13px}.catalog{padding-bottom:80px}.catalog-toolbar{position:relative;top:auto;padding-top:0;background:none;backdrop-filter:none}.filters{scrollbar-width:none;overscroll-behavior-x:contain}.filters::-webkit-scrollbar{display:none}.filter{flex:0 0 auto;min-height:31px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 10px}.product-photo{margin-bottom:11px}.product-info{display:flex;flex-direction:column;gap:10px;min-height:0}.product-name{font-size:16px}.product-meta{font-size:8px;margin-top:5px}.product-assurance{font-size:7px;gap:2px;margin-top:8px}.product-assurance span{white-space:normal}.product-buy{width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:6px}.product-price{font-size:16px}.buy-product{min-height:40px;flex:0 0 auto;padding:9px 10px;font-size:8px}.catalog-footer{margin-top:33px;display:flex;flex-direction:column;align-items:stretch;gap:16px}.catalog-footer .button{width:100%}.category-grid{grid-template-rows:170px 170px 170px}.category-card:before{inset:8px}.video-story-frame:before{right:12px;top:13px;font-size:7px}.video-story-frame{height:295px}.manifesto-image{min-height:320px}.contact-band .button{width:100%}.modal-card{max-height:calc(100vh - 28px);overflow:auto}.modal-image{height:245px}.modal-copy{padding:29px 20px 22px}.modal-assurances{margin-top:18px;gap:6px}.modal-assurances span{font-size:8px;padding:6px 7px}.modal-buy{margin-top:25px}.modal-buy .button{min-height:44px}.order-head h2{font-size:36px}.order-form input,.order-form select,.order-form textarea{min-height:46px;padding:12px}.addon-options{gap:7px}.addon-option{padding:9px 8px}.addon-option-copy strong{font-size:13px}.addon-option-copy small{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Dedicated request confirmation page */
.order-success-page{min-height:calc(100svh - 190px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px 20px 120px}
.order-success-mark{width:64px;height:64px;border:1px solid var(--brass);border-radius:50%;display:grid;place-items:center;color:var(--brass);font:28px var(--serif);margin-bottom:30px;box-shadow:0 0 0 8px rgba(197,160,106,.08)}
.order-success-page .eyebrow{margin-bottom:24px}
.order-success-page h1{font:500 clamp(54px,7vw,88px)/.94 var(--serif);letter-spacing:-.04em;margin:0}
.order-success-page h1 i{font-style:normal;color:var(--wine)}
.order-success-lead{max-width:470px;color:var(--muted);font-size:15px;line-height:1.75;margin:30px 0 34px}
.order-success-rule{width:72px;height:1px;background:var(--brass);margin-bottom:34px}
@media(max-width:700px){.order-success-page{min-height:calc(100svh - 150px);padding:65px 18px 85px}.order-success-mark{width:54px;height:54px;font-size:24px;margin-bottom:23px}.order-success-page .eyebrow{font-size:9px;margin-bottom:20px}.order-success-page h1{font-size:54px}.order-success-lead{font-size:13px;line-height:1.65;margin:24px 0 28px}.order-success-page .button{width:100%;max-width:320px}}

/* Mobile catalog artwork */
@media(max-width:700px){
  .category-grid .category-card[data-category-link="all"]{
    grid-column:1 / -1;
    aspect-ratio:16 / 9;
    min-height:0;
  }
  .category-grid .category-card[data-category-link="all"] img{
    object-fit:contain!important;
    object-position:center!important;
    background:#68263A!important;
  }
}

/* Mobile category labels: keep every title inside its frame. */
@media(max-width:700px){
  .category-grid .category-card span{
    left:14px;
    right:14px;
    bottom:14px;
    max-width:calc(100% - 28px);
    font-size:clamp(16px,4.8vw,21px);
    line-height:1.08;
    white-space:normal;
    overflow-wrap:anywhere;
    text-wrap:balance;
    display:flex;
    align-items:flex-end;
    gap:6px;
  }
  .category-grid .category-card span .icon-arrow{
    flex:0 0 auto;
    margin-left:auto;
  }
}

/* — streamlined homepage, centered advantages and direct product navigation */
.trust-bar>div{justify-content:center;align-items:center;text-align:center}
.trust-bar p{text-align:center}

/* — full catalogue controls and basket add-ons */
.header-actions{gap:16px}.cart-button{position:relative;letter-spacing:.08em;text-transform:uppercase}.cart-icon{font-size:18px;line-height:1;color:var(--brass)}.cart-button b{position:absolute;top:-9px;right:-12px}
.catalog-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:42px;align-items:start}.catalog-filters{border:1px solid var(--line);background:rgba(255,253,250,.65);padding:22px 20px;position:sticky;top:115px}.filter-panel-head{display:none}.filter-group{padding:0 0 24px;margin:0 0 23px;border-bottom:1px solid var(--line)}.filter-group:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.filter-group>p{margin:0 0 14px;color:var(--ink);font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.filter-list{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.filter-list .filter{font-size:11px;letter-spacing:.03em;text-transform:none;color:var(--muted);text-align:left}.filter-list .filter:after{margin-top:4px}.flower-list{display:grid;grid-template-columns:1fr 1fr;gap:9px 10px}.flower-list .filter{font-size:10px}.catalog-results{min-width:0}.catalog-results .catalog-toolbar{position:relative;top:auto;background:none;padding:0 0 16px;margin:0 0 25px;backdrop-filter:none;gap:20px}.sort-label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.sort-label select{border:0;border-bottom:1px solid var(--line);padding:5px 20px 5px 0;background:transparent;color:var(--ink);font:inherit;font-size:10px;letter-spacing:.03em;outline:0}.mobile-filter-toggle{display:none}.price-values{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin:0 0 14px}.range-wrap{position:relative;height:25px}.range-wrap input{position:absolute;inset:0;width:100%;height:4px;margin:8px 0;appearance:none;background:var(--line);pointer-events:none}.range-wrap input::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;background:var(--wine);border:2px solid var(--white);box-shadow:0 0 0 1px var(--wine);pointer-events:auto;cursor:pointer}.range-wrap input::-moz-range-thumb{width:11px;height:11px;border-radius:50%;background:var(--wine);border:2px solid var(--white);box-shadow:0 0 0 1px var(--wine);pointer-events:auto;cursor:pointer}.catalog-results .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cart-qty{display:flex;align-items:center;gap:10px;margin-top:10px}.cart-qty button{width:24px;height:24px;padding:0;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:15px;line-height:1;cursor:pointer}.cart-qty span{min-width:14px;text-align:center;font-size:11px}.cart-remove{font-size:22px!important;color:var(--muted)!important}.checkout-modal{position:fixed;inset:0;z-index:40;background:rgba(21,14,14,.55);display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .25s}.checkout-modal.is-open{opacity:1;pointer-events:auto}.checkout-card{position:relative;width:min(650px,100%);max-height:calc(100vh - 48px);overflow:auto;background:var(--paper);padding:54px 48px 42px;border:1px solid rgba(197,160,106,.4);box-shadow:var(--shadow-luxury)}.checkout-card .modal-close{color:var(--ink);top:12px;right:15px}.checkout-comment{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.checkout-comment textarea{width:100%;border:1px solid var(--line);padding:12px;font:inherit;font-size:13px;resize:vertical}
@media(max-width:1180px){.catalog-layout{grid-template-columns:190px minmax(0,1fr);gap:26px}.catalog-results .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.header-actions{gap:7px}.header-city{display:none}.cart-button{font-size:0;padding:8px 11px}.cart-button .cart-icon{font-size:22px}.cart-button b{font-size:9px;top:0;right:0}.mobile-filter-toggle{display:flex;width:100%;justify-content:space-between;margin:0 0 16px}.catalog-layout{display:block}.catalog-filters{position:fixed;z-index:41;inset:0 auto 0 0;width:min(320px,88vw);transform:translateX(-105%);transition:transform .3s;overflow:auto;background:var(--paper);padding:30px 22px;box-shadow:10px 0 35px rgba(0,0,0,.14)}.catalog-filters.is-open{transform:translateX(0)}.filter-panel-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;margin-bottom:23px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:25px}.filter-panel-head button{border:0;background:transparent;font-size:25px;color:var(--ink)}.catalog-results .catalog-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:15px;margin-bottom:20px}.sort-label{justify-content:space-between}.catalog-results .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-card{padding:42px 20px 26px}.checkout-card .form-grid{grid-template-columns:1fr}.checkout-card .form-wide{grid-column:auto}.cart-drawer{width:min(390px,100%)}.drawer-head{padding:22px}.drawer-body{padding:20px 22px}.drawer-foot{padding:20px 22px 24px}}
.checkout-success{padding:24px 0 8px;text-align:center;border-top:1px solid var(--line)}
.checkout-success h3{font-family:var(--serif);font-size:34px;font-weight:500;margin:0 0 12px;color:var(--ink)}
.checkout-success>p:not(.eyebrow){max-width:390px;margin:0 auto;color:var(--muted);font-size:13px;line-height:1.7}
/* The confirmation state is intentionally quiet: once a request is sent,
   the customer sees the status and waits for a manager's reply. */
@media(max-width:700px){.checkout-success{padding-top:20px}.checkout-success h3{font-size:29px}}

/* Messenger ordering actions: the public contact route replaces phone-based CTAs. */
.messenger-actions{display:flex;flex-wrap:wrap;gap:10px;width:100%;margin:0 0 14px}
.messenger-button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;padding:12px 16px;border:1px solid rgba(177,139,90,.65);color:var(--white);background:rgba(255,255,255,.08);font-size:10px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:background .25s,border-color .25s,transform .2s}
.messenger-button:hover{transform:translateY(-2px);background:rgba(255,255,255,.16);border-color:var(--gold,var(--brass))}
.messenger-button .icon-arrow{font-size:16px;color:#e1bea0}
.messenger-button>svg{width:18px;height:18px;flex:0 0 18px;display:block;fill:currentColor}
.messenger-button>span:not(.icon-arrow){flex:1;text-align:left}
.messenger-button-max{background:var(--white);color:var(--wine);border-color:var(--white)}
.messenger-button-max:hover{background:#f2e8dc;border-color:#f2e8dc}
.contact-email{color:#f8eee3;text-decoration:none;font-size:11px;letter-spacing:.1em}
.footer-messenger{color:#eee2d8!important}
.messenger-actions-product{margin-top:18px;flex-direction:column;align-items:stretch;max-width:360px}
.messenger-actions-product .messenger-button{width:100%;color:var(--wine);background:transparent;border-color:rgba(95,39,48,.35)}
.messenger-actions-product .messenger-button:hover{background:var(--cream);border-color:var(--brass)}
.messenger-actions-product .messenger-button-max{background:var(--wine);color:var(--white);border-color:var(--wine)}
@media(max-width:700px){.messenger-actions{flex-direction:column;align-items:stretch}.messenger-button{width:100%;font-size:9px}.messenger-actions-product{max-width:none}.contact-email{font-size:10px}}

/* L-FLOWERS LUXURY — Russian storefront refinement */
.brand-logo{display:block;width:190px;height:auto;max-height:56px;object-fit:contain;object-position:left center}
.footer-brand .brand-logo{width:205px;filter:invert(1) brightness(1.7)}
.site-header .brand{flex:0 0 auto}
.section-shell{width:min(1760px,calc(100% - 96px))}
.site-header{padding-left:48px;padding-right:48px}
.hero{grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr);gap:clamp(48px,6vw,110px);min-height:650px}
.hero-visual{height:clamp(530px,42vw,700px)}
.video-story{grid-template-columns:minmax(270px,.68fr) minmax(0,1.32fr);gap:clamp(34px,5vw,96px);padding-top:4px}
.video-story-frame{height:auto;aspect-ratio:16 / 9;min-height:360px;background:#171313;display:flex;align-items:center;justify-content:center}
.video-story-frame video{width:100%;height:100%;object-fit:contain;background:#171313}
.video-story-frame:after{z-index:1;border:1px solid rgba(197,160,106,.38)}
.catalog-toolbar{gap:26px}
.filters{flex-wrap:wrap;row-gap:12px}
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:46px 28px}
.product-photo{aspect-ratio:4 / 5}
.category-grid{grid-template-columns:1.4fr .8fr .8fr;grid-template-rows:260px 260px;gap:18px}
.manifesto,.contact-band{width:min(1760px,calc(100% - 96px))}
.site-footer{padding-left:48px;padding-right:48px}
@media (min-width:1600px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:52px 30px}.product-name{font-size:20px}.section-heading h2{font-size:76px}.hero h1{font-size:92px}}
@media (max-width:1180px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hero{gap:40px}.video-story{gap:40px}}
@media (max-width:980px){.section-shell,.manifesto,.contact-band{width:min(calc(100% - 44px),900px)}.site-header{padding-left:28px;padding-right:28px}.brand-logo{width:164px}.hero{grid-template-columns:.9fr 1.1fr;min-height:0}.hero-visual{height:480px}.video-story-frame{min-height:300px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.category-grid{grid-template-rows:220px 220px}}
@media (max-width:700px){.section-shell,.manifesto,.contact-band{width:calc(100% - 32px)}.site-header{padding-left:16px;padding-right:16px}.brand-logo{width:142px;max-height:51px}.footer-brand .brand-logo{width:164px}.hero{display:flex;flex-direction:column-reverse;gap:27px;padding-top:31px}.hero-visual{height:405px}.video-story{display:flex;flex-direction:column;gap:25px;padding-top:0;padding-bottom:75px}.video-story-frame{width:100%;min-height:0;aspect-ratio:16 / 10;height:auto}.video-story-frame video{object-fit:contain}.catalog-toolbar{gap:0}.filters{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:14px}.filter{white-space:nowrap}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 10px}.product-photo{aspect-ratio:3 / 4}.category-grid{grid-template-rows:170px 170px 170px}.site-footer{padding-left:22px;padding-right:22px}}

/* L-FLOWERS LUXURY — storefront refinements */
.video-hero{background:#241b1a}
.video-hero video{object-fit:cover;object-position:center center;background:transparent}
.top-sales-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 22px}
.top-sale-info h3{max-width:250px}
.manifesto-image img{object-position:40% 36%}
.manifesto-copy{padding-top:58px;padding-bottom:58px}
@media (max-width:1180px){.top-sales-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 16px}.top-sale-info h3{max-width:210px}}
@media (max-width:980px){.top-sales-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.manifesto-copy{padding-top:46px;padding-bottom:46px}.manifesto-image img{object-position:38% 34%}}
@media (max-width:700px){.video-hero{height:76svh;min-height:510px}.video-hero video{object-position:center center}.top-sales-grid{grid-template-columns:1fr 1fr;gap:28px 11px}.top-sale-info h3{max-width:none}.manifesto-copy{padding-top:35px;padding-bottom:38px}.manifesto-image img{object-position:38% 31%}.video-story-frame video{object-fit:cover;background:transparent}}

/* L-FLOWERS LUXURY — storefront refinements */
/* The source film is vertical (9:16). Cover keeps the hero edge-to-edge on
   wide screens and removes the black letterbox bars seen in the previous build. */
.video-hero{height:clamp(560px,calc(100svh - 112px),900px);min-height:560px;background:#241b1a}
.video-hero video{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 42%;background:#241b1a}
.video-hero-overlay{max-width:620px}
.video-hero-caption{white-space:nowrap}
.top-sales{padding-top:88px;padding-bottom:108px}
.top-sales-grid{gap:30px 20px}
.top-sale-photo{aspect-ratio:4 / 5}
.manifesto{margin-bottom:108px}
.manifesto-image{min-height:520px}
.manifesto-image img{object-position:42% 28%;object-fit:cover}
.manifesto-copy{padding-top:48px;padding-bottom:48px}
.categories{padding-bottom:94px}
@media (min-width:1600px){.video-hero{height:calc(100svh - 112px);min-height:620px}.video-hero video{object-position:50% 40%}.top-sales{padding-top:102px}}
@media (max-width:1180px){.video-hero{height:clamp(520px,72svh,760px);min-height:520px}.video-hero-caption{white-space:normal}.top-sales{padding-top:76px;padding-bottom:94px}.manifesto{margin-bottom:92px}.manifesto-image{min-height:470px}}
@media (max-width:980px){.video-hero{height:clamp(500px,74svh,680px);min-height:500px}.video-hero video{object-position:50% 40%}.top-sales{padding-top:66px;padding-bottom:84px}.top-sales-grid{gap:28px 16px}.manifesto-image{min-height:430px}.manifesto-copy{padding-top:38px;padding-bottom:38px}}
@media (max-width:700px){
  .video-hero{height:calc(100svh - 94px);min-height:560px;max-height:820px}
  .video-hero video{object-position:50% 42%}
  .video-hero-overlay{width:calc(100% - 40px);max-width:none;bottom:82px}
  .video-hero-caption{white-space:normal}
  .top-sales{padding-top:54px;padding-bottom:70px}
  .top-sales-grid{gap:25px 11px}
  .top-sale-photo{aspect-ratio:4 / 5}
  .manifesto{margin-bottom:72px}
  .manifesto-image{min-height:380px;height:62vw;max-height:460px}
  .manifesto-image img{object-position:42% 24%}
  .manifesto-copy{padding:31px 22px 34px}
  .categories{padding-bottom:72px}
}

/* L-FLOWERS LUXURY — show the butterfly composition at its natural scale
   The source photo is portrait (3:4), while the desktop feature column is wide.
   Contain mode keeps the full box, ribbon and butterfly visible instead of
   cropping the top and bottom. A very soft blurred backdrop fills the side
   space without competing with the product photograph. */
.video-feature-image{isolation:isolate;background:var(--cream)}
.video-feature-image:before{content:'';position:absolute;inset:-18px;z-index:0;background:url('assets/products/ABOX001.webp') center/cover no-repeat;filter:blur(22px) saturate(.72) brightness(.9);opacity:.18;transform:scale(1.08)}
.video-feature-image img{position:relative;z-index:1;object-fit:contain;object-position:center center;background:var(--cream)}
.video-feature-image:after{z-index:2}
.video-feature-image-label{z-index:3}

/* L-FLOWERS LUXURY — two-level header and softer feature framing
   The reference places the logo in its own upper row, with navigation below.
   The feature photograph is enlarged only slightly and loses the hard frame;
   its soft tonal surround keeps the portrait comfortable in the wide column. */
@media (min-width:701px){
  .site-header{
    height:156px;
    display:block;
    padding:0 clamp(24px,4vw,64px);
  }
  .site-header .header-top{
    position:relative;
    height:108px;
    width:100%;
  }
  .site-header .brand{
    position:absolute;
    left:50%;
    top:12px;
    transform:translateX(-50%);
    z-index:2;
    padding:0;
  }
  .site-header .brand-logo{
    width:238px;
    max-height:91px;
    object-position:center center;
  }
  .site-header .header-contact{
    position:absolute;
    left:0;
    top:27px;
    display:flex;
    align-items:center;
    gap:15px;
  }
  .site-header .header-contact .phone{display:block}
  .site-header .header-actions{
    position:absolute;
    right:0;
    top:24px;
    display:flex;
    align-items:center;
    gap:18px;
    margin:0;
  }
  .site-header .header-city{
    color:var(--muted);
    font-size:10px;
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  .site-header .main-nav{
    position:absolute;
    left:50%;
    bottom:17px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:clamp(22px,3.2vw,48px);
    margin:0;
    white-space:nowrap;
  }
  .site-header .main-nav a{font-size:11px;letter-spacing:.08em}
}

.video-feature-image{
  margin-left:clamp(8px,1vw,16px);
  padding:clamp(8px,1vw,16px) clamp(10px,1.3vw,20px) clamp(12px,1.35vw,20px) clamp(8px,1vw,14px);
  border-left:0;
  box-shadow:none;
  background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.5),transparent 70%),var(--cream);
}
.video-feature-image img{
  border:0;
  box-shadow:0 14px 34px rgba(40,24,20,.13);
  transform:scale(1.08);
  transform-origin:center center;
}
.video-feature-image-label{left:clamp(16px,1.8vw,28px);right:clamp(16px,1.8vw,28px)}
.video-feature-detail{
  max-width:300px;
  margin:17px auto 0;
  color:var(--muted);
  font-family:var(--serif);
  font-size:14px;
  line-height:1.45;
  letter-spacing:.01em;
}
@media (max-width:980px){
  .site-header .brand-logo{width:210px;max-height:82px}
  .site-header .main-nav{gap:clamp(16px,2.5vw,28px)}
  .site-header .main-nav a{font-size:10px}
  .video-feature-image{margin-left:8px;padding:10px 14px 16px 8px}
  .video-feature-image img{transform:scale(1.06)}
}
@media (max-width:700px){
  .site-header{
    height:67px;
    display:flex;
    align-items:center;
    padding:0 22px;
  }
  .site-header .header-top{height:100%;width:100%}
  .site-header .brand{
    position:static;
    transform:none;
    display:inline-flex;
    align-items:flex-start;
    padding-top:5px;
  }
  .site-header .brand-logo{width:142px;max-height:51px;object-position:left top}
  .site-header .header-contact,.site-header .header-city{display:none}
  .site-header .header-actions{
    position:absolute;
    right:0;
    top:9px;
    margin:0;
  }
  .site-header .main-nav{position:static;transform:none}
  .video-feature-image{margin-left:0;padding:12px 14px 18px;border-left:0;box-shadow:none}
  .video-feature-image img{transform:scale(1.035)}
  .video-feature-detail{max-width:310px;font-size:13px;line-height:1.5;margin-top:14px}
  .site-header .main-nav.mobile-menu{
    display:flex;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    padding:18px 22px;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    flex-direction:column;
    gap:16px;
    box-shadow:0 15px 25px rgba(30,20,20,.08);
  }
}

/* L-FLOWERS LUXURY — reference video sizing refinement
   Desktop keeps the source film in the same narrow middle column as the
   reference (25% of the viewport, about 316px at 1280px). The neighbouring
   editorial copy and composition retain their own columns, so the video is
   never promoted to a full-screen banner. */
@media (min-width:981px){
  .video-feature{grid-template-columns:minmax(0,30%) minmax(0,25%) minmax(0,45%);height:780px;min-height:780px}
  .video-feature-media{width:100%;height:100%;min-width:0}
  .video-feature-media .video-hero-main{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center}
}

/* L-FLOWERS LUXURY — spacious catalogue cards
   Four columns keep long Russian names readable on desktop. */
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:46px 28px}
.product-info{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;min-height:132px}
.product-copy{min-width:0}
.product-name{max-width:none;line-height:1.16;overflow-wrap:anywhere;word-break:normal}
.product-meta{line-height:1.35}
.product-assurance{gap:5px;margin-top:10px}
.product-assurance span{display:block;white-space:normal}
.product-assurance span:first-child:before,.product-assurance span:last-child:before{content:none!important;display:none!important}
.product-buy{min-width:82px;align-items:flex-end}
.buy-product{width:100%}
.modal-assurances span:first-child:before,.modal-assurances span:last-child:before{content:none!important;display:none!important}
@media (max-width:1180px) and (min-width:701px){
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 20px}
  .product-info{gap:14px;min-height:126px}
}
@media (max-width:700px){
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 12px}
  .product-info{display:flex;flex-direction:column;gap:10px;min-height:0}
  .product-buy{width:100%;min-width:0;align-items:center}
}


/* Keep unresolved SKUs visually neutral instead of showing another product's
   photograph. This state is only a safety net; the shipped image archive has
   a curated file for every catalogue SKU. */
.product-photo.is-missing{background:var(--cream);display:grid;place-items:center}
.product-photo.is-missing:after{content:'L-FLOWERS';position:absolute;inset:auto;z-index:0;color:var(--wine);font-family:var(--serif);font-size:18px;letter-spacing:.18em;opacity:.72}
.product-photo.is-missing:before{inset:10px;border-color:rgba(177,139,90,.35)}

/* L-FLOWERS LUXURY — full-frame vertical hero video */
.video-hero{isolation:isolate;background:#241b1a}
.video-hero-backdrop{position:absolute!important;z-index:0;inset:-5%;width:110%!important;height:110%!important;object-fit:cover!important;object-position:center!important;filter:blur(24px) saturate(.78) brightness(.62);transform:scale(1.08);opacity:.9;pointer-events:none}
.video-hero-main{position:relative!important;z-index:1;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:transparent!important}
.video-hero:after{z-index:2}
.video-hero-overlay,.video-hero-caption{z-index:3}
@media(max-width:700px){.video-hero-backdrop{filter:blur(18px) saturate(.8) brightness(.58)}.video-hero-main{object-fit:contain!important}}

/* L-FLOWERS LUXURY — storefront refinements */
/* Only one film is rendered in the hero. The former blurred duplicate and
   contain mode created black letterbox bands; cover fills the frame cleanly. */
.video-hero-backdrop{display:none!important}
.video-hero{overflow:hidden;background:#241b1a}
.video-hero-main{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 42%;background:transparent!important;transform:scale(1.018);transform-origin:center center}
.video-hero-overlay,.video-hero-caption{z-index:3}

/* Keep the complete editorial portrait visible instead of cutting the model
   at the shoulders. Compact sizing also removes the large dead area below it. */
.manifesto{min-height:0;margin-bottom:84px}
.manifesto-image{min-height:0;aspect-ratio:1 / 1;background:var(--cream)}
.manifesto-image img{object-fit:contain;object-position:center center;background:var(--cream);filter:saturate(.8)}
.manifesto-copy{display:flex;flex-direction:column;justify-content:center;padding:48px 64px}
.manifesto-copy h2{margin-bottom:22px}
.manifesto-copy>p:not(.eyebrow){margin-top:0;margin-bottom:15px}
.manifesto-copy .button{align-self:flex-start;margin-top:14px}

/* The luxury product rhythm stays airy without leaving oversized gaps. */
.top-sales{padding-top:72px;padding-bottom:84px}
.categories{padding-bottom:76px}
.catalog{padding-bottom:96px}
.product-photo img{object-position:center center}

@media (max-width:1180px){
  .top-sales{padding-top:64px;padding-bottom:72px}
  .manifesto-copy{padding:42px 42px}
}
@media (max-width:980px){
  .manifesto{margin-bottom:72px}
  .manifesto-image{aspect-ratio:1 / 1;min-height:0}
  .manifesto-copy{padding:38px 34px}
  .top-sales{padding-top:56px;padding-bottom:66px}
}
@media (max-width:700px){
  .video-hero{height:calc(100svh - 94px);min-height:540px;max-height:820px}
  .video-hero-main{object-position:50% 42%;transform:scale(1.025)}
  .top-sales{padding-top:46px;padding-bottom:58px}
  .categories{padding-bottom:62px}
  .catalog{padding-bottom:72px}
  .manifesto{margin-bottom:62px}
  .manifesto-image{height:auto;min-height:0;aspect-ratio:1 / 1}
  .manifesto-copy{padding:30px 22px 34px}
  .manifesto-copy h2{font-size:clamp(42px,12vw,52px);margin-bottom:18px}
  .manifesto-copy>p:not(.eyebrow){font-size:12px;line-height:1.7;margin-bottom:12px}
  .manifesto-copy .button{width:100%;margin-top:11px}
}

/* L-FLOWERS LUXURY — uncropped bouquet category image */
/* The source portrait is narrower than the editorial wide card. Contain
   keeps the complete model and bouquet visible; the warm cream surround
   matches the luxury palette instead of introducing dark bars. */
.category-wide {
  background: var(--cream);
}
.category-wide img {
  object-fit: contain;
  object-position: center;
  background: var(--cream);
}
@media (max-width:700px) {
  /* Give the wide card enough vertical room on small screens so the
     contained portrait remains readable rather than becoming a thin tile. */
  .category-grid {
    grid-template-rows: minmax(250px, min(72vw, 320px)) 170px 170px;
  }
  .category-wide img {
    object-fit: contain;
  }
}

/* L-FLOWERS LUXURY — reference-style special offer hero
   The reference uses three edge-to-edge columns: copy, a narrow portrait
   film, and the feature composition. Keeping the video in its own column
   prevents it from becoming a full-screen banner while cover mode removes
   letterbox bars. */
.video-feature{position:relative;width:100%;height:780px;min-height:780px;display:grid;grid-template-columns:30% 25% 45%;margin:0;overflow:hidden;background:var(--cream);color:var(--ink)}
.video-feature:after{display:none}
.video-feature-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:56px clamp(30px,4.3vw,68px);background:var(--cream)}
.video-feature-copy .eyebrow{margin-bottom:22px;line-height:1.5}
.video-feature-copy h1{font-family:var(--serif);font-size:clamp(37px,3.2vw,58px);font-weight:500;line-height:1.03;letter-spacing:-.045em;margin:0;max-width:390px}
.video-feature-copy h1 i{font-weight:500;color:var(--wine)}
.video-feature-copy>p:not(.eyebrow):not(.video-feature-note){max-width:330px;color:var(--muted);font-size:13px;line-height:1.8;margin:25px 0 30px}
.video-feature-copy .button{min-width:148px}
.video-feature-note{max-width:270px;color:var(--muted);font-size:10px;line-height:1.55;margin:22px 0 0;letter-spacing:.04em}
.video-feature-media{position:relative;min-width:0;height:100%;overflow:hidden;background:#241b1a}
.video-feature-media:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(20,14,13,.04),rgba(20,14,13,.18))}
.video-feature-media .video-hero-main{position:absolute!important;inset:0;width:100%!important;height:100%!important;display:block;object-fit:cover!important;object-position:center center;background:#241b1a!important;transform:none!important}
.video-feature-image{position:relative;min-width:0;height:100%;overflow:hidden;background:var(--cream)}
.video-feature-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center;filter:saturate(.9)}
.video-feature-image:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(28,24,24,.02),rgba(28,24,24,.28))}
.video-feature-image-label{position:absolute;z-index:1;left:clamp(18px,2.2vw,34px);right:clamp(18px,2.2vw,34px);bottom:clamp(18px,3vw,38px);display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 17px;color:#fff;text-shadow:0 1px 12px rgba(28,24,24,.38);font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.video-feature-image-label strong{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:0;text-transform:none}
.video-feature-image-label em{font-style:normal;color:#f1d6ae;font-size:9px;letter-spacing:.1em}
@media (max-width:980px){
  .video-feature{height:clamp(570px,76svh,700px);min-height:570px;grid-template-columns:31% 28% 41%}
  .video-feature-copy{padding:42px 27px}
  .video-feature-copy h1{font-size:clamp(31px,4.7vw,48px)}
  .video-feature-copy>p:not(.eyebrow):not(.video-feature-note){font-size:12px;line-height:1.65;margin:20px 0 24px}
  .video-feature-note{font-size:9px}
  .video-feature-image-label{display:block;line-height:1.5}
  .video-feature-image-label strong,.video-feature-image-label em{display:block;margin-top:5px}
}
@media (max-width:700px){
  .video-feature{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;overflow:visible}
  .video-feature-copy{padding:42px 22px 38px;min-height:365px}
  .video-feature-copy .eyebrow{font-size:9px;letter-spacing:.18em;margin-bottom:18px}
  .video-feature-copy h1{font-size:clamp(42px,12vw,55px)}
  .video-feature-copy>p:not(.eyebrow):not(.video-feature-note){font-size:13px;line-height:1.7;margin:21px 0 25px;max-width:360px}
  .video-feature-note{font-size:9px;margin-top:18px}
  .video-feature-media{width:100%;height:auto;aspect-ratio:9 / 16;max-height:none;flex:0 0 auto}
  .video-feature-image{width:100%;height:auto;aspect-ratio:3 / 4;flex:0 0 auto}
  .video-feature-image-label{left:20px;right:20px;bottom:20px;display:flex;gap:6px 13px;font-size:8px}
  .video-feature-image-label strong{font-size:19px}
  .video-feature-image-label em{font-size:8px}
}

/* L-FLOWERS LUXURY — alignment and readable catalogue cards */
.site-header{position:sticky;isolation:isolate}
.site-header .brand{position:absolute;left:clamp(22px,3.1vw,52px);top:7px;align-self:flex-start;padding-top:0;z-index:1}
.site-header .brand-logo{width:190px;max-height:58px;object-fit:contain;object-position:left top}
.site-header .main-nav{position:absolute;left:50%;margin-left:0;transform:translateX(-50%);white-space:nowrap}
.site-header .header-actions{margin-left:auto}
.video-feature-copy{align-items:center;text-align:center}
.video-feature-copy>p:not(.eyebrow):not(.video-feature-note){margin-left:auto;margin-right:auto}
.video-feature-copy .button{align-self:center}
.video-feature-image{margin-left:clamp(10px,1.4vw,24px);padding:clamp(12px,1.45vw,24px) clamp(14px,1.8vw,30px) clamp(16px,1.8vw,28px) clamp(10px,1.2vw,20px);border-left:1px solid rgba(177,139,90,.24);box-shadow:inset 14px 0 30px rgba(60,38,28,.06)}
.video-feature-image img{border:1px solid rgba(177,139,90,.34);box-shadow:0 18px 45px rgba(40,24,20,.17);object-position:center center}
.top-sale-info{grid-template-rows:minmax(78px,auto) auto}
.top-sale-info>div{min-width:0;min-height:78px}
.top-sale-info h3{overflow-wrap:anywhere}
.top-sale-info .button{min-width:0}
.product-copy{min-width:0}
.product-name{font-family:'Cormorant Garamond','Playfair Display',Georgia,serif;font-size:clamp(19px,1.5vw,24px);font-weight:600;line-height:1.12;color:var(--ink);letter-spacing:-.015em}
.product-meta{font-size:11px;font-weight:600;line-height:1.35;color:#5e5350;letter-spacing:.12em}
.product-assurance{font-size:9px;line-height:1.35;color:var(--wine);letter-spacing:.04em}
.product-assurance span{white-space:normal}
.product-assurance span:before{content:none!important;margin:0!important}
@media (max-width:980px){
  .site-header .brand{left:28px}
  .video-feature-copy{padding-left:27px;padding-right:27px}
  .video-feature-image{margin-left:12px;padding:14px 18px 20px 12px}
  .top-sale-info{grid-template-rows:minmax(76px,auto) auto}
  .top-sale-info>div{min-height:76px}
  .product-name{font-size:20px}
}
@media (max-width:700px){
  .site-header .brand{position:static;align-self:flex-start;padding-top:5px}
  .site-header .brand-logo{width:142px;max-height:51px;object-position:left top}
  .site-header .main-nav{position:static;transform:none}
  .video-feature-copy{align-items:center;text-align:center;padding-left:22px;padding-right:22px}
  .video-feature-image{margin-left:0;padding:14px 16px 20px;border-left:0;box-shadow:none}
  .top-sale-info{grid-template-rows:minmax(68px,auto) auto}
  .top-sale-info>div{min-height:68px}
  .product-name{font-size:18px;line-height:1.14}
  .product-meta{font-size:9px}
  .product-assurance{font-size:8px}
}

/* L-FLOWERS LUXURY — final butterfly image framing */
.video-feature-image{isolation:isolate;background:var(--cream);border-left-color:rgba(177,139,90,.14);box-shadow:inset 8px 0 22px rgba(60,38,28,.035)}
.video-feature-image:before{content:'';position:absolute;inset:-18px;z-index:0;background:url('assets/products/ABOX001.webp') center/cover no-repeat;filter:blur(22px) saturate(.72) brightness(.9);opacity:.16;transform:scale(1.08)}
.video-feature-image img{position:relative;z-index:1;object-fit:contain!important;object-position:center center!important;background:transparent!important;border:1px solid rgba(177,139,90,.18);box-shadow:0 12px 28px rgba(40,24,20,.11);transform:scale(1.035);transform-origin:center center}
.video-feature-image:after{z-index:2;background:linear-gradient(180deg,rgba(28,24,24,.01),rgba(28,24,24,.16))}
.video-feature-image-label{z-index:3}

/* — show the complete butterfly-box photograph without a tight crop. */
.video-feature-image{isolation:isolate;background:var(--cream)}
.video-feature-image:before{content:'';position:absolute;inset:-18px;z-index:-1;background:url('assets/products/ABOX001.webp') center/cover no-repeat;filter:blur(22px) saturate(.72) brightness(.9);opacity:.18;transform:scale(1.08)}
.video-feature-image img{position:relative;z-index:1;object-fit:contain!important;object-position:center center!important;background:transparent!important}
.video-feature-image:after{z-index:2}
.video-feature-image-label{z-index:3}

/* L-FLOWERS LUXURY — final two-level header and feature framing */
@media (min-width:701px){
  .site-header{height:156px;display:block;padding:0 clamp(24px,4vw,64px)}
  .site-header .header-top{position:relative;height:108px;width:100%}
  .site-header .brand{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:2;padding:0}
  .site-header .brand-logo{width:238px;max-height:91px;object-position:center center}
  .site-header .header-contact{position:absolute;left:0;top:27px;display:flex;align-items:center;gap:15px}
  .site-header .header-contact .phone{display:block}
  .site-header .header-actions{position:absolute;right:0;top:24px;display:flex;align-items:center;gap:18px;margin:0}
  .site-header .header-city{color:var(--muted);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
  .site-header .main-nav{position:absolute;left:50%;bottom:17px;transform:translateX(-50%);display:flex;align-items:center;gap:clamp(22px,3.2vw,48px);margin:0;white-space:nowrap}
  .site-header .main-nav a{font-size:11px;letter-spacing:.08em}
}
.video-feature-image{margin-left:clamp(8px,1vw,16px);padding:clamp(8px,1vw,16px) clamp(10px,1.3vw,20px) clamp(12px,1.35vw,20px) clamp(8px,1vw,14px);border-left:0;box-shadow:none;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.5),transparent 70%),var(--cream)}
.video-feature-image img{border:0;box-shadow:0 14px 34px rgba(40,24,20,.13);transform:scale(1.08);transform-origin:center center}
.video-feature-image-label{left:clamp(16px,1.8vw,28px);right:clamp(16px,1.8vw,28px)}
.video-feature-detail{max-width:300px;margin:17px auto 0;color:var(--muted);font-family:var(--serif);font-size:14px;line-height:1.45;letter-spacing:.01em}
@media (max-width:980px){
  .site-header .brand-logo{width:210px;max-height:82px}
  .site-header .main-nav{gap:clamp(16px,2.5vw,28px)}
  .site-header .main-nav a{font-size:10px}
  .video-feature-image{margin-left:8px;padding:10px 14px 16px 8px}
  .video-feature-image img{transform:scale(1.06)}
}
@media (max-width:700px){
  .site-header{height:67px;display:flex;align-items:center;padding:0 22px}
  .site-header .header-top{height:100%;width:100%}
  .site-header .brand{position:static;transform:none;display:inline-flex;align-items:flex-start;padding-top:5px}
  .site-header .brand-logo{width:142px;max-height:51px;object-position:left top}
  .site-header .header-contact,.site-header .header-city{display:none}
  .site-header .header-actions{position:absolute;right:0;top:9px;margin:0}
  .site-header .main-nav{position:static;transform:none}
  .video-feature-image{margin-left:0;padding:12px 14px 18px;border-left:0;box-shadow:none}
  .video-feature-image img{transform:scale(1.035)}
  .video-feature-detail{max-width:310px;font-size:13px;line-height:1.5;margin-top:14px}
  .site-header .main-nav.mobile-menu{display:flex;position:absolute;top:100%;left:0;right:0;padding:18px 22px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:16px;box-shadow:0 15px 25px rgba(30,20,20,.08)}
}

/* — fill the side space with a soft continuation of the photograph. */
.video-feature-extra{max-width:330px;margin:14px auto 0;color:var(--muted);font-size:11px;line-height:1.7;letter-spacing:.01em}
.video-feature-image{background:#b8b0a9;isolation:isolate;overflow:hidden}
.video-feature-image:before{z-index:0;inset:-34px;background:url('assets/products/ABOX001.webp') center/cover no-repeat;filter:blur(28px) saturate(.78) brightness(.74);opacity:.62;transform:scale(1.12)}
.video-feature-image img{z-index:1;object-fit:contain!important;object-position:center center!important;transform:scale(1.12);transform-origin:center center;filter:saturate(.94);border:0;box-shadow:0 14px 34px rgba(40,24,20,.15)}
.video-feature-image:after{z-index:2;background:linear-gradient(180deg,rgba(28,24,24,.02),rgba(28,24,24,.18))}
@media(max-width:700px){
  .video-feature-image:before{inset:-20px;filter:blur(20px) saturate(.78) brightness(.76);opacity:.42}
  .video-feature-image img{transform:scale(1.04)}
  .video-feature-extra{max-width:340px;font-size:12px;line-height:1.65;margin-top:12px}
}

/* L-FLOWERS LUXURY — product composition, variants and detail pages */
.product-composition{display:flex;flex-wrap:wrap;align-items:center;gap:4px 7px;margin-top:9px;color:var(--muted);font-size:10px;line-height:1.35}
.product-composition span{max-width:100%;overflow-wrap:anywhere}
.product-composition b{color:var(--wine);font-weight:600;white-space:nowrap}
.card-sizes{display:flex;gap:5px;margin-top:10px;flex-wrap:wrap}
.card-sizes span{display:inline-flex;align-items:center;gap:4px;min-width:42px;min-height:26px;padding:3px 6px;border:1px solid rgba(177,139,90,.45);color:var(--wine);font-size:9px;letter-spacing:.08em;line-height:1}
.card-sizes b{font-size:10px;font-weight:600}
.card-sizes small{font-size:8px;letter-spacing:0;white-space:nowrap;color:var(--muted)}
.product-open-hint{display:inline-flex;align-items:center;gap:7px;margin-top:13px;color:var(--muted);font-size:8px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid rgba(177,139,90,.4);padding-bottom:4px;width:max-content;max-width:100%;pointer-events:none;transition:color .25s,border-color .25s}
.product-open-hint .icon-arrow{font-size:14px;color:var(--brass)}
.product-card:hover .product-open-hint,.product-card:focus-visible .product-open-hint{color:var(--wine);border-color:var(--brass)}
.modal-composition{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-top:20px;padding:12px 13px;background:var(--cream);border:1px solid rgba(197,160,106,.26);color:var(--muted);font-size:11px}
.modal-composition strong{color:var(--ink);font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.modal-composition b{color:var(--wine);font-weight:600;white-space:nowrap}
.modal-sizes{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
.modal-size-title{width:100%;margin-bottom:2px;color:var(--muted);font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.modal-sizes button{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;font:inherit;font-size:11px}
.modal-sizes button b{font-family:var(--serif);font-size:17px;font-weight:500;color:var(--wine)}
.modal-sizes button span{color:var(--muted);font-size:10px}
.modal-sizes button.is-active,.modal-sizes button:hover{border-color:var(--brass);background:var(--cream)}
.product-detail{padding:80px 0 140px}
.product-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:clamp(40px,7vw,110px);align-items:start}
.product-detail-gallery{position:relative;background:var(--cream);border:1px solid rgba(177,139,90,.25);box-shadow:var(--shadow-soft)}
.product-detail-gallery img{display:block;width:100%;aspect-ratio:4 / 5;object-fit:contain;background:var(--cream)}
.product-detail-copy{padding-top:13px}
.product-detail-copy h1{font-family:var(--serif);font-size:clamp(42px,5vw,72px);line-height:.98;font-weight:500;letter-spacing:-.04em;margin:0 0 22px}
.product-detail-copy h1 i{color:var(--wine);font-style:normal}
.product-detail-description{max-width:490px;color:var(--muted);font-size:15px;line-height:1.75;margin:0 0 25px}
.detail-composition{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 25px}
.detail-composition span{padding:8px 11px;background:var(--cream);border:1px solid rgba(197,160,106,.28);color:var(--ink);font-size:11px}
.detail-composition b{padding:8px 11px;background:var(--wine);color:#fff4e9;font-size:11px;font-weight:500}
.detail-sizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:24px 0 27px}
.detail-sizes::before{content:'Выберите размер букета';grid-column:1 / -1;color:var(--muted);font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:2px}
.detail-size{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:14px 14px;border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;font:inherit;text-align:left;transition:border-color .2s,background .2s}
.detail-size strong{font-family:var(--serif);font-size:26px;font-weight:500;color:var(--wine)}
.detail-size span{font-size:11px;color:var(--muted)}
.detail-size.is-active,.detail-size:hover{border-color:var(--brass);background:var(--cream)}
.detail-assurances{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:28px 0 30px}
.detail-assurance{padding:14px;background:var(--white);border:1px solid rgba(197,160,106,.27)}
.detail-assurance strong{display:block;margin-bottom:5px;color:var(--wine);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.detail-assurance span{display:block;color:var(--muted);font-size:11px;line-height:1.45}
.detail-buy{display:flex;align-items:center;gap:22px}.detail-price{font-family:var(--serif);font-size:29px;color:var(--wine);white-space:nowrap}
.detail-back{display:inline-flex;margin-top:36px;color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:5px}
.detail-addon-note{margin-top:28px;padding:18px 20px;background:var(--wine);color:#f8eee3}.detail-addon-note strong{display:block;font-family:var(--serif);font-size:20px;font-weight:500;margin-bottom:4px}.detail-addon-note span{font-size:11px;line-height:1.5;color:#ead9ce}
.contact-channel-section{margin-top:19px;padding-top:18px;border-top:1px solid var(--line)}.contact-channel-section h4{margin:0 0 5px;font-family:var(--serif);font-size:19px;font-weight:500;color:var(--ink)}.contact-channel-note{margin:0 0 12px;color:var(--muted);font-size:11px;line-height:1.45}.contact-channel-group{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-channel{position:relative;display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important;padding:12px 13px!important;border:1px solid var(--line)!important;background:var(--white)!important;color:var(--ink)!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}.contact-channel:has(input:checked){border-color:var(--brass)!important;background:var(--cream)!important}.contact-channel:focus-within{outline:2px solid rgba(177,139,90,.45);outline-offset:2px}.contact-channel input{position:absolute!important;width:1px!important;min-width:1px!important;height:1px!important;min-height:1px!important;margin:0!important;padding:0!important;opacity:0!important;pointer-events:none!important;appearance:none!important}.contact-channel::before{content:"";display:block;flex:0 0 16px;width:16px;height:16px;border:1px solid rgba(95,39,48,.42);background:var(--white);box-sizing:border-box}.contact-channel:has(input:checked)::before{border-color:var(--wine);background:var(--wine)}.contact-channel:has(input:checked)::after{content:"";position:absolute;left:18px;top:50%;width:4px;height:8px;border:solid var(--white);border-width:0 1.5px 1.5px 0;transform:translateY(-60%) rotate(45deg)}.contact-channel-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:9px;font-weight:700;letter-spacing:.04em;color:var(--white);background:var(--wine)}.contact-channel-icon svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.contact-channel-icon-telegram svg,.contact-channel-icon-telegram svg path{fill:currentColor;stroke:none}.contact-channel-icon-max{background:var(--brass);color:var(--ink)}.contact-channel-copy{display:flex;flex-direction:column;gap:2px}.contact-channel-copy strong{font-size:11px;font-weight:600}.contact-channel-copy small{font-size:9px;color:var(--muted)}.contact-channel-error{margin:8px 0 0;color:var(--wine);font-size:11px}.contact-channel-section.has-error .contact-channel-group{outline:1px solid rgba(95,39,48,.35);outline-offset:4px}
.checkout-section{margin:24px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.checkout-section h3{margin:0 0 13px;font-family:var(--serif);font-size:24px;font-weight:500;color:var(--ink)}
.checkout-section .section-note{margin:-4px 0 12px;color:var(--muted);font-size:11px}
.checkout-options{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px;margin:4px 0 2px}
.checkout-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:9px!important;min-height:0!important;padding:0!important;background:transparent!important;border:0!important;color:var(--muted)!important;font-size:11px!important;letter-spacing:0!important;line-height:1.4!important;text-transform:none!important}
.checkout-check input{width:16px!important;min-width:16px!important;height:16px!important;min-height:16px!important;margin:1px 0 0!important;padding:0!important;accent-color:var(--wine);box-shadow:none!important}
.checkout-check span{display:block}
.checkout-card .checkout-section:first-of-type{margin-top:0;padding-top:0;border-top:0}
.cart-suggestions{margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}
.cart-suggestions-head p{font-family:var(--serif);font-size:24px;margin:0;color:var(--ink)}
.cart-suggestions-head span{display:block;margin-top:3px;color:var(--muted);font-size:10px;letter-spacing:.11em;text-transform:uppercase}
.cart-suggestion-grid{display:grid;gap:8px;margin-top:13px}
.cart-suggestion{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px;border:1px solid var(--line);background:var(--white);text-align:left;cursor:pointer;font:inherit;transition:border-color .2s,transform .2s}
.cart-suggestion:hover{border-color:var(--brass);transform:translateY(-1px)}
.cart-suggestion-icon,.cart-addon-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(177,139,90,.35);background:var(--cream);color:var(--wine)}
.cart-suggestion-copy{min-width:0}.cart-suggestion-copy strong{display:block;color:var(--ink);font-family:var(--serif);font-size:16px;font-weight:500;line-height:1.1}.cart-suggestion-copy small{display:block;margin-top:3px;color:var(--muted);font-size:9px;line-height:1.3}.cart-suggestion-price{color:var(--wine);font-size:10px;white-space:nowrap}
@media(max-width:900px){.product-detail-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:38px}.product-detail-copy h1{font-size:48px}}
@media(max-width:700px){.product-composition{font-size:9px}.card-sizes{margin-top:8px}.modal-composition{grid-template-columns:1fr auto;font-size:10px}.modal-composition strong{grid-column:1 / -1}.modal-sizes button{flex:1 1 auto;justify-content:center}.product-detail{padding:45px 0 34px}.product-detail-grid{display:flex;flex-direction:column;gap:24px}.product-detail-gallery{width:100%}.product-detail-gallery img{aspect-ratio:1 / 1.12}.product-detail-copy{padding-top:0}.product-detail-copy h1{font-size:43px}.product-detail-description{font-size:13px;line-height:1.65}.detail-sizes{gap:6px}.detail-size{padding:11px 9px}.detail-size strong{font-size:23px}.detail-size span{font-size:10px}.detail-assurances{gap:7px}.detail-assurance{padding:11px 10px}.detail-assurance strong{font-size:8px}.detail-assurance span{font-size:10px}.detail-buy{gap:14px}.detail-price{font-size:25px}.detail-buy .button{flex:1}.detail-addon-note{margin-top:20px;padding:15px 16px}.detail-addon-note strong{font-size:19px}.checkout-options{grid-template-columns:1fr;gap:10px}.checkout-section{margin-top:20px;padding-top:18px}.checkout-section h3{font-size:22px}.cart-suggestions-head p{font-size:22px}.cart-suggestion{grid-template-columns:38px minmax(0,1fr) auto;gap:8px;padding:9px 8px}.cart-suggestion-icon{width:36px;height:36px}.cart-suggestion-copy strong{font-size:14px}.cart-suggestion-price{font-size:9px}}

/* Variant selection — keep the catalog CTA calm and prevent accidental adds. */
.product-detail [data-add-cart][disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}
.product-size-cta{min-width:0}

/* — server-rendered product gallery. Keep the main frame and
   thumbnail strip independent so the broad image rule cannot distort thumbs. */
.product-detail-gallery{overflow:hidden}
.detail-gallery-main{width:100%;aspect-ratio:4 / 5;background:var(--cream);display:grid;place-items:center;overflow:hidden}
.detail-gallery-main>img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;background:var(--cream)}
.detail-gallery-thumbs{display:flex;gap:10px;margin:12px 12px 14px;overflow-x:auto;scrollbar-width:thin}
.detail-gallery-thumb{display:block;width:76px;height:76px;min-width:76px;padding:0;border:1px solid transparent;background:var(--white);cursor:pointer;transition:border-color .2s,opacity .2s}
.detail-gallery-thumb:hover,.detail-gallery-thumb.is-active{border-color:var(--brass)}
.detail-gallery-thumb img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;background:var(--cream)}
.detail-gallery-thumb:focus-visible{outline:2px solid var(--wine);outline-offset:2px}
@media(max-width:700px){.detail-gallery-main{aspect-ratio:1 / 1.12}.detail-gallery-thumbs{margin:9px 9px 11px;gap:8px}.detail-gallery-thumb{width:64px;height:64px;min-width:64px}}

@media(min-width:701px){
  /* Give the editorial copy more breathing room and keep the product panel compact. */
  .video-feature{grid-template-columns:minmax(0,36%) minmax(0,29%) minmax(0,35%)}
}

/* — editorial hero re-composition.
   The copy gets a genuinely wide column while the film remains a slim
   portrait panel. The product photograph uses a gentle cover crop so its
   frame feels intentional instead of leaving empty side gutters. */
.video-feature-copy{position:relative;z-index:3;align-items:center;text-align:center;padding:clamp(58px,6vw,84px) clamp(36px,5vw,92px);}
.video-feature-copy:after{content:'';width:64px;height:1px;margin-top:27px;background:linear-gradient(90deg,transparent,var(--brass),transparent);opacity:.6;order:8}
.video-feature-copy h1{max-width:540px;font-size:clamp(42px,3.8vw,66px);line-height:1.01}
.video-feature-copy .video-feature-lead{max-width:500px!important;font-size:clamp(14px,1.05vw,16px)!important;line-height:1.75!important;margin:27px 0 28px!important;color:#625756}
.video-feature-copy .video-feature-note{max-width:430px;font-size:11px;line-height:1.55;margin:22px 0 0}
.video-feature-copy .video-feature-detail{max-width:440px;font-size:clamp(14px,1vw,15px);line-height:1.55;margin:17px auto 0}
.video-feature-copy .video-feature-extra{max-width:470px;font-size:12px;line-height:1.7;margin:15px auto 0;color:#776a67}
.video-feature-points{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin-top:23px;color:var(--wine);font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.video-feature-points span{display:inline-flex;align-items:center;padding:0 13px;line-height:1.4}
.video-feature-points span+span{border-left:1px solid rgba(177,139,90,.42)}
.video-feature-image{margin-left:0;padding:clamp(10px,1.1vw,18px);background:#b8b0a9;}
.video-feature-image img{object-fit:cover!important;object-position:center 48%!important;transform:scale(1.025);}
.video-feature-image:before{inset:-30px;filter:blur(30px) saturate(.78) brightness(.72);opacity:.5;transform:scale(1.1)}
.video-feature-media .video-hero-main{object-position:center 45%;}
@media(min-width:1101px){
  .video-feature{height:clamp(820px,calc(100svh - 186px),900px);min-height:820px;grid-template-columns:minmax(0,40%) minmax(0,31%) minmax(0,29%)}
}
@media(min-width:701px) and (max-width:1100px){
  .video-feature{height:clamp(690px,calc(100svh - 150px),800px);min-height:690px;grid-template-columns:minmax(0,38%) minmax(0,32%) minmax(0,30%)}
  .video-feature-copy{padding-left:30px;padding-right:30px}
  .video-feature-copy h1{font-size:clamp(36px,4.4vw,54px)}
  .video-feature-copy .video-feature-lead{font-size:13px!important}
  .video-feature-copy .video-feature-detail{font-size:13px}
  .video-feature-copy .video-feature-extra{font-size:11px}
  .video-feature-points span{padding:0 8px;font-size:8px}
}
@media(max-width:700px){
  .video-feature-copy{padding:50px 24px 44px;min-height:0}
  .video-feature-copy h1{max-width:360px;font-size:clamp(43px,12vw,58px)}
  .video-feature-copy .video-feature-lead{max-width:370px!important;font-size:14px!important;line-height:1.72!important;margin:23px 0 25px!important}
  .video-feature-copy .video-feature-note{max-width:340px;font-size:9px}
  .video-feature-copy .video-feature-detail{max-width:350px;font-size:13px;margin-top:14px}
  .video-feature-copy .video-feature-extra{max-width:360px;font-size:11px;line-height:1.65;margin-top:12px}
  .video-feature-points{max-width:340px;margin-top:20px;font-size:8px;line-height:1.35}
  .video-feature-points span{padding:0 8px}
  .video-feature-copy:after{margin-top:24px}
  .video-feature-image{padding:10px 12px 16px}
  .video-feature-image img{transform:scale(1.015)}
}

/* L-FLOWERS LUXURY — editorial polish.
   Increase contrast and hierarchy in the special collection copy, centre the
   studio story, and give the bestseller heading a quiet couture treatment. */
.video-feature-copy .eyebrow{
  color:#9d7442;
  font-size:clamp(10px,.72vw,12px);
  font-weight:700;
  letter-spacing:.25em;
  line-height:1.4;
  text-shadow:0 1px 0 rgba(255,255,255,.45);
}
.video-feature-copy h1{
  font-size:clamp(46px,4.15vw,72px);
  letter-spacing:-.052em;
  line-height:.96;
}
.video-feature-copy .video-feature-lead{
  color:#544947;
  font-size:clamp(15px,1.12vw,17px)!important;
  line-height:1.72!important;
}
.video-feature-copy .video-feature-note{
  color:#6f5e58;
  font-size:11px;
  letter-spacing:.08em;
}
.video-feature-copy .video-feature-detail{
  color:#655654;
  font-size:clamp(14px,1.05vw,16px);
  line-height:1.6;
}
.video-feature-copy .video-feature-extra{
  color:#776966;
  font-size:12px;
  line-height:1.75;
}
.video-feature-copy .button-dark{
  box-shadow:0 10px 24px rgba(28,24,24,.14);
}

/* No price/label overlay on the hero photograph: the image remains clean and
   the product details are available in the catalogue and order modal. */
.video-feature-image-label{display:none!important}

.manifesto-copy{
  align-items:center;
  text-align:center;
}
.manifesto-copy>p:not(.eyebrow){
  max-width:470px;
}
.manifesto-copy .button{align-self:center}

.top-sales-heading{
  position:relative;
  padding-left:25px;
}
.top-sales-heading:before{
  content:'';
  position:absolute;
  left:0;
  top:8px;
  width:2px;
  height:94px;
  background:linear-gradient(180deg,var(--brass),rgba(177,139,90,.15));
}
.top-sales-heading .eyebrow{
  margin-bottom:17px;
  color:#9d7442;
  font-size:11px;
  letter-spacing:.25em;
}
.top-sales-heading h2{
  display:flex;
  flex-direction:column;
  gap:0;
  font-size:clamp(60px,6.1vw,90px);
  line-height:.84;
  letter-spacing:-.065em;
}
.top-sales-heading h2 span,
.top-sales-heading h2 i{
  display:block;
  font-weight:500;
}
.top-sales-heading h2 i{
  margin-left:.16em;
  color:var(--wine);
}
.top-sales-heading:after{
  content:'';
  display:block;
  width:58px;
  height:1px;
  margin-top:23px;
  background:linear-gradient(90deg,var(--brass),transparent);
}

@media (max-width:980px){
  .top-sales-heading h2{font-size:clamp(56px,8vw,76px)}
  .top-sales-heading:before{height:82px}
}
@media (max-width:700px){
  .video-feature-copy .eyebrow{font-size:10px;letter-spacing:.2em}
  .video-feature-copy h1{font-size:clamp(46px,13vw,60px)}
  .video-feature-copy .video-feature-lead{font-size:14px!important}
  .video-feature-copy .video-feature-detail{font-size:13px}
  .video-feature-copy .video-feature-extra{font-size:11px}
  .manifesto-copy>p:not(.eyebrow){max-width:360px}
  .top-sales-heading{padding-left:17px}
  .top-sales-heading .eyebrow{font-size:9px;letter-spacing:.2em;margin-bottom:14px}
  .top-sales-heading h2{font-size:clamp(52px,15vw,66px);line-height:.86}
  .top-sales-heading:before{top:5px;height:68px}
  .top-sales-heading:after{margin-top:18px;width:46px}
}

/* L-FLOWERS LUXURY — focused mobile layout
   Keep every interactive block inside the viewport, give the menu one clear
   entry point, and let long Russian names wrap without pushing buttons out. */
html,body{max-width:100%;overflow-x:hidden}
img,video{max-width:100%}
button,a,input,select,textarea{font:inherit}
.icon-arrow{display:inline-block;width:9px;height:9px;flex:0 0 auto;margin-left:4px;border-top:1px solid currentColor;border-right:1px solid currentColor;font-size:0!important;line-height:0;transform:rotate(45deg)}
.icon-down{display:inline-block;width:8px;height:8px;flex:0 0 auto;margin:0 2px 3px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;font-size:0!important;line-height:0;transform:rotate(45deg)}
.search-icon{position:relative;display:inline-block;width:14px!important;height:14px;flex:0 0 14px;border:1.5px solid var(--brass);border-radius:50%;font-size:0!important;line-height:0}
.search-icon:after{content:'';position:absolute;width:6px;height:1.5px;right:-5px;bottom:-2px;background:var(--brass);transform:rotate(45deg);transform-origin:left center}
.modal-close{width:36px;height:36px;padding:0;font-size:0!important;line-height:0}
.modal-close:before,.modal-close:after{content:'';position:absolute;left:10px;top:17px;width:17px;height:1px;background:currentColor}
.modal-close:before{transform:rotate(45deg)}
.modal-close:after{transform:rotate(-45deg)}

@media (max-width:700px){
  body:after{opacity:.035}
  .topline{height:28px;padding:0 14px;font-size:8px;letter-spacing:.08em;white-space:nowrap}
  .site-header{height:68px;padding:0 16px;overflow:visible}
  .site-header .header-top{position:relative;display:flex;align-items:center;height:100%;width:100%}
  .site-header .brand{position:static;display:inline-flex;align-items:flex-start;transform:none;padding:0}
  .site-header .brand-logo{width:132px;max-height:48px;object-fit:contain;object-position:left center}
  .site-header .header-contact,.site-header .header-city{display:none}
  .site-header .header-actions{position:absolute;right:0;top:11px;margin:0;display:flex;align-items:center}
  .menu-button{display:grid;place-items:center;width:42px;height:42px;padding:7px;border:1px solid rgba(177,139,90,.45);background:rgba(255,253,250,.72)}
  .menu-button span{display:block;width:21px;height:1px;margin:3px 0;background:var(--ink)}
  .site-header .main-nav{display:none;position:absolute;left:0;right:0;top:100%;transform:none;margin:0;padding:8px 20px 16px;background:rgba(246,243,238,.98);border-bottom:1px solid var(--line);box-shadow:0 18px 34px rgba(30,20,20,.12)}
  .site-header .main-nav.mobile-menu{display:flex;flex-direction:column;gap:0}
  .site-header .main-nav a{display:flex;align-items:center;min-height:46px;padding:10px 0;border-bottom:1px solid rgba(220,212,202,.75);font-size:11px;letter-spacing:.14em}
  .site-header .main-nav a:last-child{border-bottom:0}

  .video-feature-copy{min-height:0;padding:40px 20px 32px}
  .video-feature-copy .eyebrow{font-size:9px;letter-spacing:.17em;line-height:1.5;margin-bottom:16px}
  .video-feature-copy h1{max-width:360px;font-size:clamp(42px,12vw,56px);line-height:.98}
  .video-feature-copy .video-feature-lead{max-width:350px!important;margin:20px 0 22px!important;font-size:14px!important;line-height:1.65!important}
  .video-feature-copy .button{width:100%;min-height:48px;justify-content:space-between}
  .video-feature-copy .video-feature-note{max-width:320px;margin:16px 0 0;font-size:9px;line-height:1.5}
  .video-feature-copy .video-feature-detail{max-width:340px;margin-top:12px;font-size:12px;line-height:1.55}
  .video-feature-copy .video-feature-extra,.video-feature-copy .video-feature-points{display:none}
  .video-feature-copy:after{width:48px;margin-top:22px}
  .video-feature-media{aspect-ratio:9 / 16;height:auto;max-height:620px;flex:0 0 auto}
  .video-feature-media .video-hero-main{object-fit:cover!important;object-position:center center!important}
  .video-feature-image{aspect-ratio:4 / 5;height:auto;min-height:0;flex:0 0 auto;padding:10px 12px 16px;background:#b8b0a9}
  .video-feature-image img{object-fit:contain!important;object-position:center!important;transform:scale(1.02)!important}

  .top-sales{padding-top:44px;padding-bottom:56px}
  .top-sales-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 10px}
  .top-sale-photo{aspect-ratio:4 / 5}
  .top-sale-info{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding-top:11px}
  .top-sale-info>div{min-height:0}
  .top-sale-info h3{max-width:none;margin:0 0 5px;font-size:16px;line-height:1.14;overflow-wrap:anywhere}
  .top-sale-info span{font-size:8px;letter-spacing:.12em}
  .top-sale-info>strong{font-size:16px;line-height:1.2}
  .top-sale-info .button{width:100%;min-height:42px;padding:10px 9px;justify-content:space-between;font-size:8px;letter-spacing:.1em}
  .trust-bar{display:block;margin:0 0 62px;padding:0}
  .trust-bar>div{padding:14px 0!important;border-right:0;border-bottom:1px solid var(--line)}
  .trust-bar>div:last-child{border-bottom:0}

  .section-shell,.manifesto,.contact-band{width:calc(100% - 32px)}
  .section-heading{display:block;margin-bottom:28px}
  .section-heading h2,.section-heading.compact h2,.manifesto-copy h2,.event-copy h2,.contact-band h2{font-size:clamp(42px,12vw,52px);line-height:.98}
  .section-intro{max-width:none;margin-top:18px;font-size:12px;line-height:1.7}
  .catalog{padding-bottom:66px}
  .catalog-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:0;border:0;padding:0;margin-bottom:22px}
  .filters{width:100%;flex-wrap:nowrap;gap:17px;overflow-x:auto;overscroll-behavior-x:contain;padding:0 0 12px;border-bottom:1px solid var(--line);scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .filter{flex:0 0 auto;white-space:nowrap;min-height:28px;font-size:9px}
  .search{width:100%;margin:15px 0 0;padding:5px 0}
  .search input{width:100%;min-width:0;font-size:12px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 10px}
  .product-photo{aspect-ratio:4 / 5;margin-bottom:10px}
  .product-info{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-height:0}
  .product-copy{min-width:0}
  .product-name{max-width:none;font-size:16px;line-height:1.13;overflow-wrap:anywhere}
  .product-meta{margin-top:5px;font-size:8px;line-height:1.35;letter-spacing:.1em}
  .product-assurance{margin-top:7px;font-size:7px;line-height:1.35;gap:2px}
  .product-buy{width:100%;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:7px}
  .product-price{font-size:16px;line-height:1.15}
  .buy-product{width:100%;min-height:40px;padding:9px 9px;justify-content:space-between;font-size:8px;letter-spacing:.08em}
  .catalog-footer{margin-top:30px;display:flex;flex-direction:column;align-items:stretch;gap:14px}
  .catalog-footer .button{width:100%}

  .categories{padding-bottom:64px}
  .categories .section-heading.compact{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
  .categories .section-heading.compact .text-link{flex:0 0 auto;margin-bottom:4px;font-size:9px}
  .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:10px}
  .category-wide{grid-column:1 / -1;grid-row:auto;min-height:230px}
  .category-card:not(.category-wide){min-height:155px}
  .category-card span{left:12px;bottom:12px;font-size:18px;line-height:1.1}
  .category-card b{font-size:14px;margin-left:5px}

  .manifesto{display:flex;flex-direction:column;margin-bottom:60px}
  .manifesto-image{width:100%;min-height:0;aspect-ratio:4 / 5}
  .manifesto-image img{object-fit:contain;object-position:center;background:var(--cream)}
  .manifesto-copy{align-items:center;text-align:center;padding:30px 20px 34px}
  .manifesto-copy>p:not(.eyebrow){max-width:340px;font-size:12px;line-height:1.65;margin-bottom:11px}
  .manifesto-copy .button{width:100%;margin-top:10px}
  .events{display:flex;flex-direction:column;gap:25px;padding-bottom:70px;align-items:stretch}
  .event-copy>p:not(.eyebrow){font-size:12px;line-height:1.65}
  .event-visual{height:270px}
  .contact-band{display:block;padding:38px 22px}
  .contact-actions{margin-top:26px;align-items:stretch}
  .contact-actions p{font-size:12px;line-height:1.6}
  .contact-actions .button{width:100%;justify-content:space-between}

  .site-footer{padding:38px 18px 18px}
  .footer-top{display:flex;flex-direction:column;gap:20px;padding-bottom:28px}
  .footer-top>p{font-size:16px}
  .footer-nav,.footer-contact{width:100%;gap:10px}
  .footer-nav a,.footer-contact span,.footer-contact a{font-size:9px}
  .footer-bottom{display:flex;flex-wrap:wrap;gap:9px 14px;font-size:8px;line-height:1.55}
  .footer-note{display:none}.footer-verification{margin-left:0}

  .product-modal{padding:10px}
  .modal-card{width:100%;max-width:420px;max-height:calc(100dvh - 20px);overflow:auto;overscroll-behavior:contain}
  .modal-card{display:block}
  .modal-image{height:auto;aspect-ratio:4 / 5;max-height:330px}
  .modal-copy{padding:26px 20px 22px;min-height:0}
  .modal-copy h2{font-size:30px;line-height:1.05;margin-bottom:14px;overflow-wrap:anywhere}
  .modal-copy>p:not(.eyebrow){max-width:none;font-size:12px;line-height:1.65}
  .modal-assurances{gap:6px;margin-top:16px}
  .modal-assurances span{padding:6px 7px;font-size:8px}
  .modal-buy{margin-top:22px;display:flex;flex-direction:column;align-items:stretch;gap:11px}
  .modal-buy strong{font-size:23px}
  .modal-buy .button{width:100%;min-height:44px;justify-content:space-between}
  .modal-close{top:7px;right:7px}
  .order-head{padding-bottom:17px;margin-bottom:17px}
  .order-head h2{font-size:34px;line-height:1.02}
  .order-product{font-size:12px;line-height:1.4;overflow-wrap:anywhere}
  .order-price{font-size:23px}
  .order-steps{gap:16px;margin-bottom:19px;font-size:9px}
  .form-grid{grid-template-columns:1fr;gap:12px}
  .form-wide{grid-column:auto;margin-top:12px}
  .order-form label{font-size:9px;gap:6px}
  .order-form input,.order-form select,.order-form textarea{min-height:46px;padding:11px 12px;font-size:13px}
  .form-consent{margin:17px 0 19px;line-height:1.4}
  .order-form .button{min-height:46px;justify-content:space-between}
  .order-addons{padding:14px 11px}
  .addon-options{grid-template-columns:1fr;gap:7px}
  .addon-option{padding:9px 8px}
  .addon-option-copy strong{font-size:13px}
  .addon-option-copy small{font-size:9px}
}

/* L-FLOWERS LUXURY — mobile editorial layout
   The phone layout follows a clear reading order: story copy, framed film,
   then the primary order action. Supporting panels stay compact and cards
   keep their calls to action aligned. */
.mobile-feature-video{display:none}

@media (max-width:700px){
  /* The desktop feature image is intentionally omitted on phones.  A second,
     lightweight video element is placed in the copy so the film can sit just
     above «Заказать» without disturbing the wide desktop composition. */
  .video-feature{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "eyebrow"
      "title"
      "lead"
      "film"
      "cta"
      "note"
      "detail";
    gap:0;
    padding:0 0 36px;
    overflow:hidden;
  }
  .video-feature-copy{display:contents}
  .video-feature-copy:after{display:none}
  .video-feature-copy .eyebrow{
    grid-area:eyebrow;
    width:100%;
    margin:0;
    padding:40px 20px 0;
  }
  .video-feature-copy h1{
    grid-area:title;
    width:calc(100% - 40px);
    max-width:360px;
    margin:15px auto 0;
  }
  .video-feature-copy .video-feature-lead{
    grid-area:lead;
    width:calc(100% - 40px);
    max-width:350px!important;
    margin:20px auto 19px!important;
  }
  .video-feature .mobile-feature-video{
    grid-area:film;
    display:block;
    position:relative;
    width:calc(100% - 40px);
    max-width:360px;
    aspect-ratio:16 / 9;
    height:auto;
    margin:0 auto 22px;
    padding:5px;
    overflow:hidden;
    background:var(--cream);
    border:1px solid rgba(177,139,90,.72);
    box-shadow:0 12px 28px rgba(40,24,20,.13), inset 0 0 0 1px rgba(255,255,255,.55);
  }
  .video-feature .mobile-feature-video:after{
    content:'';
    position:absolute;
    inset:5px;
    z-index:2;
    pointer-events:none;
    border:1px solid rgba(255,253,250,.55);
  }
  .video-feature .mobile-feature-video .video-hero-main{
    position:relative!important;
    inset:auto;
    width:100%!important;
    height:100%!important;
    display:block;
    object-fit:cover!important;
    object-position:center center!important;
    background:#241b1a!important;
  }
  .video-feature > .video-feature-media{display:none}
  .video-feature-copy .button{
    grid-area:cta;
    width:calc(100% - 40px);
    margin:0 auto;
    min-height:48px;
    justify-content:space-between;
  }
  .video-feature-copy .video-feature-note{
    grid-area:note;
    width:calc(100% - 40px);
    max-width:320px;
    margin:15px auto 0;
  }
  .video-feature-copy .video-feature-detail{
    grid-area:detail;
    width:calc(100% - 40px);
    max-width:340px;
    margin:12px auto 0;
  }
  .video-feature-image{display:none!important}

  /* Equal-height cards in the two-column best-seller grid put every button
     on the same baseline, even when a product name wraps to two lines. */
  .top-sales-grid{align-items:stretch}
  .top-sale-card{display:flex;flex-direction:column;height:100%}
  .top-sale-info{flex:1;display:flex;flex-direction:column;align-items:stretch;gap:8px}
  .top-sale-info>div{flex:0 0 auto}
  .top-sale-info .button{margin-top:auto}

  /* Three concise advantages read as a single horizontal luxury strip. */
  .trust-bar{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    margin:0 0 62px;
    padding:0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .trust-bar>div{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    padding:14px 7px!important;
    text-align:center;
    border:0;
    border-right:1px solid var(--line);
  }
  .trust-bar>div:last-child{border-right:0}
  .trust-no{font-size:18px;line-height:1}
  .trust-bar p{font-size:9px;line-height:1.38}
  .trust-bar strong{display:block;font-size:11px;line-height:1.25}

  /* The studio portrait is a compact framed panel above its CTA. */
  .manifesto{display:flex;flex-direction:column;margin-bottom:60px}
  .manifesto-image{
    order:0;
    width:calc(100% - 32px);
    max-width:390px;
    min-height:0;
    /* A slightly taller 4:3 frame keeps the florist and bouquet visible
       without returning to the oversized portrait panel. */
    aspect-ratio:4 / 3;
    margin:16px auto 0;
    padding:6px;
    overflow:hidden;
    background:var(--cream);
    border:1px solid rgba(177,139,90,.68);
    box-shadow:0 12px 28px rgba(40,24,20,.12), inset 0 0 0 1px rgba(255,255,255,.55);
  }
  .manifesto-image:after{
    content:'';
    position:absolute;
    inset:6px;
    pointer-events:none;
    border:1px solid rgba(255,253,250,.65);
  }
  .manifesto-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:40% 32%;
  }
  .manifesto-copy{order:1}
}

/* L-FLOWERS LUXURY — compact mobile film card
   The phone layout keeps the original film in a controlled 4:5 editorial
   frame.  Cover mode removes the oversized natural-height panel while the
   restrained crop keeps the composition and butterfly in focus. */
.manifesto-image-mobile{display:none!important}
@media (max-width:700px){
  .video-feature .mobile-feature-video{
    width:calc(100% - 64px);
    max-width:320px;
    max-height:440px;
    min-height:0;
    aspect-ratio:4 / 5;
    margin:0 auto 22px;
    padding:5px;
    display:block;
    overflow:hidden;
    background:var(--cream);
    border:1px solid rgba(177,139,90,.72);
    box-shadow:0 12px 28px rgba(40,24,20,.13),inset 0 0 0 1px rgba(255,255,255,.55);
  }
  .video-feature .mobile-feature-video:after{
    inset:5px;
    border:1px solid rgba(255,253,250,.55);
  }
  .video-feature .mobile-feature-video:before{
    content:'L-FLOWERS · ЖИВАЯ БАБОЧКА';
    position:absolute;
    z-index:3;
    top:15px;
    left:16px;
    color:rgba(255,253,250,.9);
    font-size:8px;
    line-height:1;
    letter-spacing:.14em;
    text-transform:uppercase;
    text-shadow:0 1px 10px rgba(20,14,14,.4);
    pointer-events:none;
  }
  .video-feature .mobile-feature-video .video-hero-main{
    position:relative!important;
    inset:auto!important;
    display:block;
    width:100%!important;
    height:100%!important;
    max-height:100%!important;
    aspect-ratio:4 / 5!important;
    object-fit:cover!important;
    object-position:center 42%!important;
    background:#241b1a!important;
  }

  /* On phones the studio portrait belongs to the story copy, immediately
     before its CTA.  The desktop two-column image remains unchanged. */
  .manifesto > .manifesto-image{display:none!important}
  .manifesto-copy{display:flex;flex-direction:column;align-items:center;text-align:center}
  .manifesto-copy > .manifesto-image-mobile{
    display:block!important;
    position:relative;
    order:0;
    width:100%;
    max-width:340px;
    min-height:0;
    aspect-ratio:4 / 3;
    margin:18px auto 12px;
    padding:6px;
    overflow:hidden;
    background:var(--cream);
    border:1px solid rgba(177,139,90,.68);
    box-shadow:0 12px 28px rgba(40,24,20,.12),inset 0 0 0 1px rgba(255,255,255,.55);
  }
  .manifesto-copy > .manifesto-image-mobile:after{
    content:'';
    position:absolute;
    inset:6px;
    pointer-events:none;
    border:1px solid rgba(255,253,250,.65);
  }
  .manifesto-copy > .manifesto-image-mobile img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:40% 32%;
  }
  .manifesto-copy > .manifesto-image-mobile .vertical-label{display:block}
  .manifesto-copy > .button{order:1}
}

/* L-FLOWERS LUXURY — mobile header and studio heading alignment
   Keep the mark optically centered between the viewport edges while the
   menu remains anchored to the right. The studio statement stays in two
   editorial lines instead of wrapping each word on phones. */
@media (max-width:700px){
  .site-header .header-top{position:relative}
  .site-header .brand{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    display:inline-flex;
    align-items:center;
    padding:0;
    margin:0;
    z-index:2;
  }
  .site-header .brand-logo{
    width:142px;
    max-height:51px;
    object-position:center center;
  }
  .manifesto-copy h2{
    font-size:clamp(32px,10.5vw,44px);
    line-height:.98;
    letter-spacing:-.045em;
    white-space:nowrap;
  }
}
/* Basket suggestions — elegant add-ons shown only after a bouquet or box is added. */
.cart-suggestions{border-top:1px solid var(--line);margin-top:10px;padding-top:20px}
.cart-suggestions-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.cart-suggestions-head p{margin:0;color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1.1}
.cart-suggestions-head span{color:var(--muted);font-size:9px;letter-spacing:.11em;text-transform:uppercase}
.cart-suggestion-grid{display:grid;gap:8px}
.cart-suggestion{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;border:1px solid var(--line);background:linear-gradient(125deg,rgba(246,243,238,.7),rgba(255,253,250,.95));padding:10px 11px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}
.cart-suggestion:hover{border-color:var(--brass);transform:translateY(-1px);box-shadow:0 7px 18px rgba(51,32,25,.08)}
.cart-suggestion-icon{width:32px;height:32px;border:1px solid rgba(177,139,90,.7);border-radius:50%;display:grid;place-items:center;color:var(--wine);font-family:var(--serif);font-size:17px;background:rgba(255,253,250,.75)}
.cart-suggestion-copy{display:flex;flex-direction:column;min-width:0;gap:2px}
.cart-suggestion-copy strong{font-family:var(--serif);font-size:15px;font-weight:500;line-height:1.1}
.cart-suggestion-copy small{overflow:hidden;color:var(--muted);font-size:9px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.cart-suggestion-price{color:var(--brass);font-size:10px;font-weight:600;white-space:nowrap}
.cart-row-addon{align-items:center}
.cart-addon-icon{width:70px;height:88px;display:grid;place-items:center;border:1px solid rgba(177,139,90,.55);background:linear-gradient(145deg,var(--cream),var(--white));color:var(--wine);font-family:var(--serif);font-size:30px}
@media(max-width:700px){
  .cart-suggestions{padding-top:17px}
  .cart-suggestions-head p{font-size:18px}
  .cart-suggestion{grid-template-columns:31px minmax(0,1fr) auto;padding:9px}
  .cart-suggestion-icon{width:29px;height:29px;font-size:15px}
  .cart-suggestion-copy strong{font-size:14px}
  .cart-suggestion-copy small{font-size:8px}
  .cart-addon-icon{width:62px;height:78px}
}

/* The optional gifts use one consistent fine-line icon language. */
.cart-suggestion-icon,.cart-addon-icon{font-size:0;line-height:0;color:var(--wine)}
.cart-suggestion-icon:before,.cart-suggestion-icon:after{content:none!important;display:none!important}
.addon-icon-svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.cart-suggestion-icon .addon-icon-svg{width:21px;height:21px}
.cart-addon-icon .addon-icon-svg{width:35px;height:35px;stroke-width:1.15}
.cart-suggestion:hover .addon-icon-svg{color:var(--wine)}
@media(max-width:700px){.cart-suggestion-icon .addon-icon-svg{width:19px;height:19px}.cart-addon-icon .addon-icon-svg{width:31px;height:31px}}

/* Unified line icons for optional basket gifts. */
.cart-suggestion-icon{
  position:relative;
  width:38px;
  height:38px;
  border:1px solid rgba(177,139,90,.72);
  border-radius:50%;
  background:linear-gradient(145deg,rgba(255,253,250,.96),rgba(246,243,238,.8));
  color:transparent;
  font-size:0;
  line-height:0;
  box-shadow:inset 0 0 0 3px rgba(255,253,250,.68);
}
.cart-suggestion-icon:before,.cart-suggestion-icon:after{
  content:'';
  position:absolute;
  display:block;
  box-sizing:border-box;
}
/* chocolate praline */
.cart-suggestion:nth-child(1) .cart-suggestion-icon:before{inset:11px;border:1px solid var(--wine);border-radius:50%}
.cart-suggestion:nth-child(1) .cart-suggestion-icon:after{width:4px;height:4px;left:16px;top:16px;border-radius:50%;background:var(--brass)}
/* chocolate bar */
.cart-suggestion:nth-child(2) .cart-suggestion-icon:before{width:14px;height:14px;left:12px;top:12px;border:1px solid var(--wine);transform:rotate(45deg)}
.cart-suggestion:nth-child(2) .cart-suggestion-icon:after{width:7px;height:1px;left:15px;top:19px;background:var(--brass);transform:rotate(-45deg)}
/* macarons */
.cart-suggestion:nth-child(3) .cart-suggestion-icon:before{width:10px;height:10px;left:8px;top:15px;border:1px solid var(--wine);border-radius:50%;box-shadow:10px -5px 0 -1px var(--paper),10px -5px 0 0 var(--wine),20px 0 0 -1px var(--paper),20px 0 0 0 var(--wine)}
.cart-suggestion:nth-child(3) .cart-suggestion-icon:after{width:22px;height:1px;left:8px;top:25px;background:var(--brass)}
/* handwritten card */
.cart-suggestion:nth-child(4) .cart-suggestion-icon:before{width:18px;height:13px;left:10px;top:12px;border:1px solid var(--wine);transform:skewY(-12deg)}
.cart-suggestion:nth-child(4) .cart-suggestion-icon:after{width:12px;height:1px;left:13px;top:20px;background:var(--brass);transform:rotate(-12deg)}
/* scented candle */
.cart-suggestion:nth-child(5) .cart-suggestion-icon:before{width:14px;height:16px;left:12px;top:14px;border:1px solid var(--wine);border-radius:2px 2px 5px 5px}
.cart-suggestion:nth-child(5) .cart-suggestion-icon:after{width:5px;height:7px;left:16px;top:7px;border:1px solid var(--brass);border-radius:50% 50% 50% 0;transform:rotate(45deg);background:var(--cream)}
.cart-suggestion:hover .cart-suggestion-icon{border-color:var(--wine);box-shadow:inset 0 0 0 3px rgba(255,253,250,.68),0 0 0 3px rgba(197,160,106,.12)}
@media(max-width:700px){.cart-suggestion-icon{width:34px;height:34px}.cart-suggestion:nth-child(1) .cart-suggestion-icon:before{inset:10px}.cart-suggestion:nth-child(1) .cart-suggestion-icon:after{left:14px;top:14px}.cart-suggestion:nth-child(2) .cart-suggestion-icon:before{width:12px;height:12px;left:11px;top:11px}.cart-suggestion:nth-child(2) .cart-suggestion-icon:after{left:13px;top:17px}.cart-suggestion:nth-child(3) .cart-suggestion-icon:before{left:6px;top:13px;transform:scale(.88);transform-origin:left top}.cart-suggestion:nth-child(3) .cart-suggestion-icon:after{left:6px;top:22px;width:20px}.cart-suggestion:nth-child(4) .cart-suggestion-icon:before{left:8px;top:11px}.cart-suggestion:nth-child(4) .cart-suggestion-icon:after{left:11px;top:19px}.cart-suggestion:nth-child(5) .cart-suggestion-icon:before{left:10px;top:12px}.cart-suggestion:nth-child(5) .cart-suggestion-icon:after{left:14px;top:6px}}

/* L-FLOWERS LUXURY — cart usability refinement
   The drawer is a three-row layout: the header and checkout summary stay
   visible while only the item list scrolls.  min-height:0 is important in
   flex/grid layouts on iOS and prevents the panel from pushing beyond the
   viewport when many products or add-ons are present. */
html.cart-open,body.cart-open{overflow:hidden;overscroll-behavior:none}
.cart-drawer{
  inset-block:0;
  height:100vh;
  height:100dvh;
  max-height:100dvh;
  width:min(460px,100vw);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  transform:translate3d(102%,0,0);
  transition:transform .32s cubic-bezier(.22,.61,.36,1);
  contain:layout paint;
  will-change:transform;
}
.cart-drawer.is-open{transform:translate3d(0,0,0)}
.drawer-head{
  min-height:78px;
  flex:0 0 auto;
  padding:18px 28px;
  padding-top:max(18px,env(safe-area-inset-top));
  display:flex;
}
.drawer-head h2{min-width:0;overflow-wrap:anywhere}
.drawer-head button,
.cart-remove,
.cart-qty button{
  min-width:44px;
  min-height:44px;
  display:grid;
  place-items:center;
}
.drawer-body{
  min-height:0;
  height:auto;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:rgba(177,139,90,.55) transparent;
  padding:22px 28px;
}
.drawer-foot{
  min-height:112px;
  flex:0 0 auto;
  padding:18px 28px;
  padding-bottom:max(18px,calc(18px + env(safe-area-inset-bottom)));
  background:var(--white);
}
.drawer-foot>div{margin-bottom:14px}
.drawer-foot .button{min-height:50px}
.cart-row{
  grid-template-columns:72px minmax(0,1fr) 44px;
  gap:14px;
  min-width:0;
}
.cart-row>div{min-width:0}
.cart-row h3{overflow-wrap:anywhere;word-break:normal}
.cart-row p{white-space:nowrap}
.cart-row>.cart-remove{margin:0;padding:0;color:var(--muted)!important;font-size:22px!important}
.cart-qty{gap:7px}
.cart-qty button{width:36px;height:36px;padding:0;font-size:17px}
.cart-qty span{min-width:20px}
.cart-suggestions,.cart-suggestion-grid,.cart-suggestion{min-width:0}
.cart-suggestion{grid-template-columns:38px minmax(0,1fr) auto;min-height:58px}
.cart-suggestion-copy strong,.cart-suggestion-copy small{min-width:0;overflow-wrap:anywhere}
.cart-suggestion-copy small{white-space:normal}

@media(max-width:700px){
  .cart-drawer{
    width:100vw;
    max-width:420px;
    border-left:1px solid rgba(177,139,90,.28);
  }
  .drawer-head{min-height:70px;padding-left:20px;padding-right:14px}
  .drawer-head button{min-width:48px;min-height:48px}
  .drawer-body{padding:16px 16px 20px}
  .drawer-foot{min-height:116px;padding:16px 16px 0}
  .drawer-foot .button{min-height:52px}
  .cart-row{grid-template-columns:62px minmax(0,1fr) 44px;gap:11px;padding-bottom:16px;margin-bottom:16px}
  .cart-row img{width:62px;height:78px}
  .cart-addon-icon{width:62px;height:78px}
  .cart-row h3{font-size:15px;line-height:1.16}
  .cart-qty{margin-top:8px;gap:5px}
  .cart-qty button{width:38px;height:38px}
  .cart-suggestions{margin-top:5px;padding-top:16px}
  .cart-suggestion{grid-template-columns:36px minmax(0,1fr) auto;gap:8px;min-height:56px;padding:9px 8px}
  .cart-suggestion-icon{width:34px;height:34px}
  .cart-suggestion-price{font-size:9px}
  .empty-cart{padding:64px 12px}
}

@media(max-width:700px) and (max-height:560px){
  .drawer-head{min-height:58px;padding-top:10px;padding-bottom:10px}
  .drawer-body{padding-top:12px;padding-bottom:14px}
  .drawer-foot{min-height:94px;padding-top:12px}
  .drawer-foot>div{margin-bottom:9px}
  .drawer-foot .button{min-height:44px}
}

@media(min-width:701px){
  .cart-drawer{border-left:1px solid rgba(177,139,90,.25)}
  .drawer-body{padding-left:30px;padding-right:30px}
  .drawer-foot{padding-left:30px;padding-right:30px}
}

/* L-FLOWERS LUXURY — mobile overflow guard
   The category heading link used to sit beside a long two-line heading and
   extend past the viewport on narrow screens. Stack it inside the section
   width so the page never gains a horizontal scroll area. */
@media(max-width:700px){
  .categories .section-heading.compact{display:block;max-width:100%;overflow:visible}
  .categories .section-heading.compact>div:first-child{max-width:100%;min-width:0}
  .categories .section-heading.compact .text-link{display:inline-flex;align-items:center;max-width:100%;margin:18px 0 0;white-space:nowrap}
}

/* L-FLOWERS LUXURY — delivery form refinement
   Separate each field into a calm, readable panel. The time control uses
   native 30-minute steps so customers can select any convenient slot. */
.checkout-card [data-checkout-form]{
  display:flex;
  flex-direction:column;
  gap:0;
}
.checkout-card [data-checkout-form] .form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
.checkout-card [data-checkout-form] .form-grid>label:not(.form-consent){
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
  min-height:86px;
  margin:0;
  padding:13px 14px 14px;
  color:var(--muted);
  background:rgba(255,253,250,.76);
  border:1px solid rgba(197,160,106,.24);
  font-size:10px;
  letter-spacing:.12em;
  line-height:1.25;
  text-transform:uppercase;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.checkout-card [data-checkout-form] .form-grid>label:not(.form-consent):focus-within{
  background:var(--white);
  border-color:rgba(177,139,90,.75);
  box-shadow:0 7px 18px rgba(51,32,25,.06);
}
.checkout-card [data-checkout-form] .form-grid .form-wide{grid-column:1 / -1;margin-top:0}
.checkout-card [data-checkout-form] input,
.checkout-card [data-checkout-form] select,
.checkout-card [data-checkout-form] textarea{
  display:block;
  width:100%;
  min-width:0;
  min-height:48px;
  margin:0;
  padding:12px 13px;
  border:1px solid rgba(48,35,31,.16);
  border-radius:1px;
  background:var(--white);
  color:var(--ink);
  font:inherit;
  font-size:14px;
  letter-spacing:0;
  line-height:1.25;
  outline:none;
  box-sizing:border-box;
  transition:border-color .2s,box-shadow .2s;
}
.checkout-card [data-checkout-form] input::placeholder,
.checkout-card [data-checkout-form] textarea::placeholder{color:rgba(80,65,59,.54)}
.checkout-card [data-checkout-form] input:focus,
.checkout-card [data-checkout-form] select:focus,
.checkout-card [data-checkout-form] textarea:focus{
  border-color:var(--brass);
  box-shadow:0 0 0 3px rgba(197,160,106,.13);
}
.checkout-card [data-checkout-form] input[type=date],
.checkout-card [data-checkout-form] input[type=time]{
  min-height:48px;
  color-scheme:light;
  letter-spacing:.04em;
}
.checkout-card [data-checkout-form] textarea{min-height:104px;resize:vertical;line-height:1.5}
.field-hint{
  display:block;
  margin:-2px 1px 0;
  color:var(--muted);
  font-size:9px;
  font-weight:400;
  letter-spacing:.04em;
  line-height:1.35;
  text-transform:none;
}
.checkout-card [data-checkout-form] .checkout-comment{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:14px;
  padding:13px 14px 14px;
  color:var(--muted);
  background:rgba(255,253,250,.76);
  border:1px solid rgba(197,160,106,.24);
  font-size:10px;
  letter-spacing:.12em;
  line-height:1.25;
  text-transform:uppercase;
}
.checkout-card [data-checkout-form] .form-consent{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start;
  gap:10px!important;
  min-height:0!important;
  margin:18px 0 20px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--muted);
  font-size:11px;
  letter-spacing:0!important;
  line-height:1.45;
  text-transform:none!important;
}
.checkout-card [data-checkout-form] .form-consent input{
  width:17px;
  min-width:17px;
  height:17px;
  min-height:17px;
  margin:1px 0 0;
  padding:0;
  accent-color:var(--wine);
  box-shadow:none;
}
.checkout-card [data-checkout-form] .button{min-height:50px;margin-top:0}

@media(max-width:700px){
  .checkout-modal{padding:10px}
  .checkout-card{
    width:100%;
    max-width:430px;
    max-height:calc(100dvh - 20px);
    padding:32px 14px 20px;
    overflow-x:hidden;
  }
  .checkout-card [data-checkout-form] .form-grid{
    grid-template-columns:minmax(0,1fr);
    gap:10px;
  }
  .checkout-card [data-checkout-form] .form-grid>label:not(.form-consent){
    min-height:0;
    padding:11px 12px 12px;
    gap:7px;
    font-size:9px;
    letter-spacing:.1em;
  }
  .checkout-card [data-checkout-form] .form-grid .form-wide{grid-column:auto}
  .checkout-card [data-checkout-form] input,
  .checkout-card [data-checkout-form] select,
  .checkout-card [data-checkout-form] textarea{
    min-height:50px;
    padding:13px 12px;
    font-size:14px;
  }
  .checkout-card [data-checkout-form] .checkout-comment{
    margin-top:10px;
    padding:11px 12px 12px;
    gap:7px;
    font-size:9px;
    letter-spacing:.1em;
  }
  .checkout-card [data-checkout-form] textarea{min-height:100px}
  /* iOS can give date inputs an intrinsic width after a value is selected. */
  .checkout-card [data-checkout-form] input[type=date]{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden;
    -webkit-appearance:none;
    appearance:none;
  }
  .checkout-card [data-checkout-form] input[type=date]::-webkit-date-and-time-value{
    min-width:0;
    text-align:left;
  }
  .field-hint{font-size:8px;line-height:1.35}
  .checkout-card [data-checkout-form] .form-consent{
    margin:15px 0 17px!important;
    font-size:10px;
  }
  .checkout-card [data-checkout-form] .button{min-height:50px}
}

/* L-FLOWERS LUXURY — final product and cart polish
   Keep long Russian names and optional gifts inside the drawer at every
   viewport width.  Only the item list scrolls; the total and checkout action
   remain immediately available. */
.product-copy,
.product-info,
.product-buy,
.cart-drawer,
.cart-drawer *{
  min-width:0;
}
.product-name,
.product-composition span,
.product-open-hint,
.cart-row h3,
.cart-suggestion-copy strong,
.cart-suggestion-copy small{
  overflow-wrap:anywhere;
  word-break:normal;
}
.product-name{max-width:none}
.cart-row p{overflow-wrap:anywhere}
.cart-suggestion{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.cart-suggestion.is-added{
  cursor:default;
  pointer-events:none;
  transform:none!important;
  box-shadow:none;
  border-color:rgba(177,139,90,.34);
  background:rgba(246,243,238,.62);
}
.cart-suggestion.is-added .cart-suggestion-price{color:var(--muted)}
.cart-qty button,
.cart-remove,
.drawer-head button,
.cart-button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.drawer-body{overscroll-behavior:contain;overflow-x:hidden}
@media(max-width:700px){
  .cart-suggestion-copy strong{line-height:1.2}
  .cart-suggestion-copy small{display:block;max-width:100%;line-height:1.35}
  .cart-suggestion-price{max-width:84px;text-align:right;white-space:normal;line-height:1.2}
  .cart-row p{white-space:normal}
}

/* Unified cart icon: avoid platform-dependent text glyphs in the header. */
.cart-icon{display:inline-grid;place-items:center;width:22px;height:22px;transform:none;font-size:0;line-height:0;color:currentColor}
.cart-icon svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:700px){.cart-icon{width:24px;height:24px}.cart-icon svg{width:23px;height:23px}}

/* L-FLOWERS LUXURY — full-width mobile product image
   The product dialog is intentionally one column on phones.  Explicit
   sizing prevents the desktop grid's narrow image track from leaving an
   empty half of the card when a cached/combined stylesheet is applied. */
@media(max-width:700px){
  .product-modal .modal-card{display:block!important;grid-template-columns:none!important;width:100%!important;max-width:420px!important}
  .product-modal .modal-image{display:block!important;width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:4 / 5;max-height: none!important}
  .product-modal .modal-image img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center center!important}
  .product-modal .modal-copy{display:flex!important;width:100%!important;max-width:none!important}
}

/* Customer reviews — a quiet, editorial proof point near the end of the home page. */
.reviews{
  padding-bottom:132px;
}
.reviews-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  margin-bottom:42px;
}
.reviews-heading h2{
  font-family:var(--serif);
  font-size:clamp(45px,5vw,64px);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.04em;
  margin:0;
  max-width:760px;
}
.reviews-heading h2 i{color:var(--wine);font-weight:500}
.review-card{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  min-height:365px;
  background:var(--white);
  border:1px solid var(--line);
  box-shadow:0 20px 55px rgba(45,28,22,.06);
  overflow:hidden;
}
.review-photo{
  position:relative;
  min-height:365px;
  background:var(--cream);
  overflow:hidden;
}
.review-photo:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(145deg,rgba(95,39,48,.08),transparent 55%);
  pointer-events:none;
}
.review-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 55%;
  filter:saturate(.86);
  transition:transform .8s ease;
}
.review-card:hover .review-photo img{transform:scale(1.035)}
.review-photo-label{
  position:absolute;
  z-index:1;
  left:22px;
  bottom:19px;
  color:rgba(255,255,255,.9);
  font-size:9px;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.review-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:52px clamp(30px,5vw,76px);
}
.review-rating{
  color:var(--brass);
  font-size:16px;
  letter-spacing:.22em;
  line-height:1;
  margin-bottom:27px;
}
.review-copy blockquote{
  margin:0;
  max-width:520px;
  color:var(--ink);
  font-family:var(--serif);
  font-size:clamp(24px,2.4vw,34px);
  line-height:1.16;
  letter-spacing:-.02em;
}
.review-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 18px;
  margin-top:32px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.review-meta strong{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:600;
}
.review-meta span{
  color:var(--muted);
  font-size:10px;
  letter-spacing:.08em;
}
@media(max-width:980px){
  .reviews{padding-bottom:106px}
  .review-copy{padding:42px 35px}
  .review-copy blockquote{font-size:28px}
}
@media(max-width:700px){
  .reviews{padding-bottom:72px}
  .reviews-heading{display:block;margin-bottom:28px}
  .reviews-heading h2{font-size:clamp(42px,12vw,52px)}
  .review-card{display:flex;flex-direction:column;min-height:0}
  .review-photo{min-height:0;aspect-ratio:4 / 3}
  .review-photo-label{left:16px;bottom:14px;font-size:8px}
  .review-copy{padding:29px 22px 31px}
  .review-rating{font-size:14px;letter-spacing:.18em;margin-bottom:20px}
  .review-copy blockquote{font-size:25px;line-height:1.18}
  .review-meta{margin-top:25px;padding-top:15px;gap:7px 13px}
  .review-meta strong{font-size:9px}
  .review-meta span{font-size:9px}
}

/* FAQ — compact, accessible accordion for delivery and care questions. */
.faq{padding-bottom:132px}
.faq-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:42px;margin-bottom:42px}
.faq-heading h2{font-family:var(--serif);font-size:clamp(45px,5vw,64px);font-weight:500;line-height:.98;letter-spacing:-.04em;margin:0}
.faq-heading h2 i{color:var(--wine);font-weight:500}
.faq-intro{max-width:320px;color:var(--muted);font-size:13px;line-height:1.75;margin:0 0 5px}
.faq-list{display:grid;grid-template-columns:1fr 1fr;column-gap:58px;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;position:relative;cursor:pointer;padding:21px 38px 21px 0;color:var(--ink);font-family:var(--serif);font-size:21px;line-height:1.2;transition:color .2s ease}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:'+';position:absolute;right:1px;top:18px;color:var(--brass);font-family:var(--sans);font-size:24px;font-weight:300;line-height:1;transition:transform .25s ease,color .2s ease}
.faq-item[open] summary{color:var(--wine)}
.faq-item[open] summary:after{transform:rotate(45deg);color:var(--wine)}
.faq-item summary:focus-visible{outline:2px solid var(--brass);outline-offset:4px}
.faq-item p{max-width:490px;margin:-3px 38px 21px 0;color:var(--muted);font-size:12px;line-height:1.7}
@media(max-width:980px){.faq{padding-bottom:106px}.faq-list{column-gap:28px}.faq-item summary{font-size:19px}}
@media(max-width:700px){.faq{padding-bottom:72px}.faq-heading{display:block;margin-bottom:28px}.faq-heading h2{font-size:clamp(42px,12vw,52px)}.faq-intro{margin-top:23px;max-width:340px;font-size:12px;line-height:1.65}.faq-list{display:block}.faq-item summary{padding:18px 31px 18px 0;font-size:19px}.faq-item summary:after{top:16px;font-size:22px}.faq-item p{margin:-2px 27px 18px 0;font-size:11px;line-height:1.65}}

/* Hero actions and type scale */
.video-feature-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:2px}
.video-feature-actions .button{min-width:164px}
.video-feature-copy .eyebrow{font-size:clamp(11px,.8vw,13px)}
.video-feature-copy .video-feature-lead{font-size:clamp(16px,1.2vw,19px)!important;line-height:1.72!important}
.video-feature-copy .video-feature-note{font-size:13px;line-height:1.6;letter-spacing:.11em}
.video-feature-copy .video-feature-points{font-size:10px;letter-spacing:.15em}
.video-feature-actions .button-outline{border-color:var(--brass);color:var(--wine);background:rgba(255,253,250,.42)}
.video-feature-actions .button-outline:hover{background:var(--wine);border-color:var(--wine);color:var(--white)}
@media(max-width:700px){
  .video-feature-actions{grid-area:cta;width:min(100%,350px);flex-direction:column;gap:10px;margin-left:auto;margin-right:auto}
  .video-feature-actions .button{width:100%;min-width:0;justify-content:space-between}
  .video-feature-copy .video-feature-lead{font-size:16px!important;line-height:1.65!important}
  .video-feature-copy .video-feature-note{font-size:11px;line-height:1.55}
  .video-feature-copy .eyebrow{font-size:10px}
  .video-feature-copy .video-feature-points{font-size:9px}
}

/* Mobile catalogue controls — keep the CTA aligned and make filters touch-safe. */
@media(max-width:700px){
  .top-sales .section-heading.compact{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
  .top-sales .section-heading.compact .top-sales-heading{min-width:0}
  .top-sales .section-heading.compact .text-link{flex:0 0 auto;margin:0 0 5px; margin-left:auto;white-space:nowrap;font-size:9px}
  .catalog-filters{height:100dvh;max-height:100dvh;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
  .catalog-filters .filter-list{min-width:0}
  .filters{touch-action:pan-x;overscroll-behavior-x:contain}
  html.filters-open,body.filters-open{overflow:hidden}
  .range-wrap input.is-active{z-index:3}
}

/* Four-category layout after retiring the former plant category. */
@media(min-width:701px){
  .category-grid .category-card[data-category-link="all"]{grid-column:2 / 4}
}

/* Final category card overrides */
.category-wide img{object-fit:cover!important;object-position:center 68%!important;background:transparent!important}
.category-grid .category-card[data-category-link="all"] img{object-fit:cover!important;object-position:center!important;background:var(--cream)!important;filter:none!important}
@media(max-width:700px){.category-wide img{object-fit:cover!important;object-position:center 67%!important}}

/* About film: keep the complete portrait frame and replace black letterbox
   bars with a soft, branded backdrop. */
.about-hero-visual{background:var(--cream);isolation:isolate}
.about-hero-visual:before{content:'';position:absolute;inset:0;background:url('assets/about-story.jpg') center/cover no-repeat;filter:blur(24px) saturate(.72);opacity:.26;transform:scale(1.08);z-index:0}
.about-hero-video{position:relative;z-index:1;width:100%;height:100%;object-fit:contain!important;object-position:center center!important;background:transparent!important;border:0!important;filter:saturate(.86) contrast(.98)}
.about-hero-visual:after{z-index:2;background:linear-gradient(145deg,rgba(95,39,48,.04),transparent 62%)}
@media(max-width:700px){.about-hero-visual{aspect-ratio:16/10;height:auto;min-height:300px}.about-hero-video{min-height:0;object-fit:contain!important}}

/* Price visibility polish */
.product-price,
.top-sale-info>strong{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:5px 9px;
  color:var(--wine)!important;
  background:var(--white);
  border:1px solid rgba(177,139,90,.42);
  box-shadow:0 5px 14px rgba(45,28,22,.07);
  font-family:var(--serif);
  font-size:19px;
  font-weight:600;
  line-height:1;
  letter-spacing:.015em;
  white-space:nowrap;
}
.product-price::after,
.top-sale-info>strong::after{
  content:'';
  display:block;
  width:16px;
  height:1px;
  margin-left:7px;
  background:var(--brass);
}
@media(max-width:700px){
  .product-price,
  .top-sale-info>strong{
    min-height:32px;
    padding:5px 7px;
    font-size:16px;
  }
  .product-price::after,
  .top-sale-info>strong::after{width:12px;margin-left:5px}
}

/* Top sales editorial refresh */
.top-sales .section-heading.compact{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:32px;
  padding-bottom:26px;
  border-bottom:1px solid var(--line);
}
.top-sales-heading{
  min-width:0;
  padding:22px 30px 22px 25px;
  border:1px solid rgba(177,139,90,.42);
  background:linear-gradient(135deg,rgba(255,253,250,.94),rgba(236,228,219,.52));
  box-shadow:0 16px 34px rgba(45,28,22,.06);
}
.top-sales-heading:before{
  top:22px;
  height:96px;
}
.top-sales-heading-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.top-sales-heading .eyebrow{margin-bottom:0}
.top-sales-heading h2{margin-top:15px}
.top-sales-subtitle{
  max-width:390px;
  margin:19px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.65;
  letter-spacing:.03em;
}
.top-sales-heading:after{margin-top:20px}
.top-sales .text-link.top-sales-catalog-link{
  align-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  min-width:190px;
  min-height:48px;
  margin:0 0 4px;
  padding:13px 15px;
  border:1px solid rgba(177,139,90,.55);
  background:var(--white);
  color:var(--wine);
  box-shadow:0 9px 22px rgba(45,28,22,.06);
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
.top-sales .text-link.top-sales-catalog-link:hover{
  background:var(--wine);
  color:var(--white);
  transform:translateY(-2px);
}
.top-sales .text-link.top-sales-catalog-link .icon-arrow{color:var(--brass)}
.top-sales .text-link.top-sales-catalog-link:hover .icon-arrow{color:var(--white)}
/* Catalog illustration label refresh */
.category-grid .category-card[data-category-link="all"]:after,
.category-grid .category-card[data-category-link="all"]:before{display:none}
.category-grid .category-card[data-category-link="all"] img{filter:none!important}
@media(max-width:700px){
  .top-sales .section-heading.compact{
    grid-template-columns:1fr;
    align-items:stretch;
    gap:17px;
    padding-bottom:20px;
  }
  .top-sales-heading{padding:18px 18px 17px 17px}
  .top-sales-heading:before{top:18px;height:73px}
  .top-sales-heading-meta{gap:10px}
  .top-sales-heading h2{margin-top:14px;font-size:clamp(50px,15vw,68px);line-height:.84}
  .top-sales-subtitle{max-width:290px;margin-top:16px;font-size:11px;line-height:1.55}
  .top-sales .text-link.top-sales-catalog-link{
    width:100%;
    min-width:0;
    min-height:46px;
    align-self:center;
    margin:0;
    padding:12px 14px;
    font-size:9px;
    letter-spacing:.12em;
  }
}

/* Product card hierarchy refresh */
.product-info{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px;min-height:0}
.product-copy{display:flex;flex-direction:column;min-width:0}
.product-name{font-size:clamp(18px,1.35vw,22px);line-height:1.12;letter-spacing:-.015em}
.product-meta{margin-top:5px;color:var(--brass);font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.product-composition{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:7px 12px;width:100%;margin-top:2px;padding:10px 0;border-top:1px solid rgba(177,139,90,.3);border-bottom:1px solid rgba(177,139,90,.3);color:var(--muted);font-size:11px;line-height:1.35}
.product-composition small{color:var(--ink);font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.product-composition span{min-width:0}.product-composition b{font-size:11px;white-space:nowrap}
.product-assurance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:0}
.product-assurance span{min-width:0;padding:7px 8px;border:1px solid rgba(177,139,90,.26);background:rgba(236,228,219,.45);color:var(--wine);font-size:9px;line-height:1.3;letter-spacing:.02em;white-space:normal}
.card-sizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;margin-top:0}
.card-sizes span{min-width:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 4px;border:1px solid rgba(177,139,90,.42);background:rgba(255,253,250,.55);text-align:center}
.card-sizes b{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--wine)}.card-sizes small{font-size:9px;letter-spacing:0;white-space:nowrap;color:var(--muted)}
.product-open-hint{order:18;align-self:flex-start;margin-top:0;font-size:8px;letter-spacing:.12em}
.product-buy{order:20;width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:auto}
.product-buy .product-price{justify-self:start}.product-buy .buy-product{width:auto;min-width:124px}
@media(max-width:980px){.product-name{font-size:18px}.product-composition{grid-template-columns:auto minmax(0,1fr);gap:5px 9px}.product-composition b{grid-column:2}.product-buy .buy-product{min-width:112px}}
@media(max-width:700px){.product-info{gap:10px}.product-name{font-size:16px;line-height:1.14}.product-meta{font-size:8px}.product-composition{grid-template-columns:auto minmax(0,1fr);font-size:9px;padding:8px 0}.product-composition b{grid-column:2;font-size:10px}.product-assurance{grid-template-columns:1fr;gap:5px}.product-assurance span{padding:6px 7px;font-size:8px}.card-sizes{gap:5px}.card-sizes span{min-height:43px;padding:5px 2px}.card-sizes b{font-size:16px}.card-sizes small{font-size:8px}.product-open-hint{font-size:8px}.product-buy{grid-template-columns:minmax(0,1fr) auto;gap:7px}.product-buy .buy-product{min-width:0;padding:9px 10px;font-size:8px}}

/* Top sales frame and price type polish */
.top-sales .section-heading.compact{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:32px;
  padding:28px 30px 30px;
  border:1px solid rgba(177,139,90,.42);
  background:linear-gradient(135deg,rgba(255,253,250,.96),rgba(236,228,219,.58));
  box-shadow:0 16px 34px rgba(45,28,22,.06);
}
.top-sales .section-heading.compact .top-sales-heading{
  padding:0 0 0 25px;
  border:0;
  background:transparent;
  box-shadow:none;
}
.top-sales .section-heading.compact .text-link.top-sales-catalog-link{
  position:relative;
  align-self:center;
  margin:0;
}
.product-price,
.top-sale-info>strong{
  font-family:var(--sans);
  font-size:18px;
  font-weight:700;
  font-variant-numeric:tabular-nums lining-nums;
  letter-spacing:.035em;
}
@media(max-width:700px){
  .top-sales .section-heading.compact{
    grid-template-columns:1fr;
    gap:17px;
    padding:20px 17px 21px;
  }
  .top-sales .section-heading.compact .top-sales-heading{padding:0 0 0 17px}
  .top-sales .section-heading.compact .text-link.top-sales-catalog-link{
    width:100%;
    min-width:0;
    align-self:stretch;
    margin:0;
  }
  .product-price,
  .top-sale-info>strong{font-size:16px;letter-spacing:.025em}
}

/* Top sales mobile price alignment */
@media(max-width:700px){
  .top-sales-grid .top-sale-info,
  .top-sale-info.top-sale-info--aligned{
    display:flex;
    flex-direction:column;
  }
  .top-sale-info>div{
    min-height:68px;
  }
  .top-sale-info>strong{
    min-height:32px;
    display:flex;
    align-items:center;
  }
}

/* Home polish and FAQ page */
.top-sale-number{left:14px;top:14px;padding:2px 4px;line-height:1;background:rgba(31,18,22,.2);border-radius:2px}
.category-grid .category-card[data-category-link="all"] span{display:flex;align-items:center;gap:8px}
.category-grid .category-card[data-category-link="all"] .icon-arrow{font-size:17px;color:#eed6b0}
.faq-page .faq{padding-top:clamp(54px,8vw,100px)}

/* Keep long catalog pages responsive by skipping layout work below the fold. */
.catalog-grid .product-card{content-visibility:auto;contain-intrinsic-size:520px}
.faq-page .faq-heading h1{font-family:var(--serif);font-size:clamp(52px,6vw,82px);font-weight:500;line-height:.96;letter-spacing:-.045em;margin:0}
@media(max-width:700px){
  .top-sale-number{left:11px;top:10px;padding:2px 3px}
  .top-sales-heading h2{white-space:nowrap;font-size:clamp(30px,9vw,42px);letter-spacing:-.04em}
  .top-sales .section-heading.compact{gap:14px;padding:18px 14px 19px}
  .faq-page .faq{padding-top:44px}
  .faq-page .faq-heading h1{font-size:clamp(42px,12vw,56px)}
}

/* Legal documents — quiet, readable layouts for Russian compliance pages. */
.legal-page{padding-top:clamp(34px,6vw,74px);padding-bottom:clamp(72px,10vw,136px)}
.legal-breadcrumbs{display:flex;align-items:center;gap:11px;margin-bottom:34px;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.legal-breadcrumbs a{color:var(--wine);text-decoration:none;border-bottom:1px solid rgba(177,139,90,.5)}
.legal-heading{max-width:820px;padding:0 0 34px;border-bottom:1px solid var(--line)}
.legal-heading h1{margin:0;font-family:var(--serif);font-size:clamp(43px,6vw,76px);font-weight:500;line-height:1;letter-spacing:-.035em;color:var(--ink)}
.legal-heading>p:not(.eyebrow){max-width:640px;margin:22px 0 12px;color:var(--muted);font-size:15px;line-height:1.7}
.legal-heading small{color:var(--brass);font-size:10px;letter-spacing:.08em}
.legal-doc-nav{display:flex;flex-wrap:wrap;gap:8px;max-width:920px;margin:22px 0 4px}
.legal-doc-nav a{display:inline-flex;align-items:center;min-height:34px;padding:8px 11px;border:1px solid var(--line);background:rgba(255,253,250,.52);color:var(--muted);font-size:9px;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:border-color .2s,color .2s,background .2s}
.legal-doc-nav a:hover,.legal-doc-nav a:focus-visible{border-color:var(--brass);color:var(--wine);outline:0}
.legal-doc-nav a.is-active{border-color:var(--wine);background:var(--wine);color:var(--white)}
.legal-document{max-width:820px;padding-top:30px}
.legal-document section{padding:24px 0;border-bottom:1px solid rgba(220,212,202,.8)}
.legal-document section:first-child{padding-top:0}
.legal-document h2{margin:0 0 11px;font-family:var(--serif);font-size:28px;font-weight:500;color:var(--wine)}
.legal-document p{margin:0;color:var(--ink);font-size:14px;line-height:1.85}
.legal-section-copy p+p{margin-top:12px}
.legal-section-copy ul,.legal-section-copy ol{margin:10px 0 0;padding-left:22px;color:var(--ink)}
.legal-section-copy li{margin:6px 0;line-height:1.7}
.legal-section-copy code{padding:1px 5px;border-radius:3px;background:rgba(95,39,48,.08);font-size:.92em}
.legal-document a{color:var(--wine);text-underline-offset:3px}
.legal-details{max-width:820px;margin:0 0 12px;border:1px solid var(--line);background:rgba(255,253,250,.58)}
.legal-details>div{display:grid;grid-template-columns:minmax(130px,.34fr) minmax(0,1fr);gap:20px;padding:15px 18px;border-bottom:1px solid var(--line)}
.legal-details>div:last-child{border-bottom:0}
.legal-details dt{color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.legal-details dd{margin:0;font-size:14px;line-height:1.55}
.legal-contact{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:820px;margin-top:36px;padding:20px 22px;border:1px solid rgba(177,139,90,.45);background:var(--cream)}
.legal-contact strong{display:block;font-family:var(--serif);font-size:22px;font-weight:500}
.legal-contact span{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.5}
.legal-contact a{color:var(--wine);font-size:12px;letter-spacing:.08em}
.legal-cookie-settings{border:1px solid var(--wine);background:transparent;color:var(--wine);padding:10px 14px;font:inherit;font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.legal-cookie-settings:hover,.legal-cookie-settings:focus-visible{background:var(--wine);color:var(--white);outline:0}
.footer-documents{display:flex;flex-direction:column;gap:9px}
.footer-documents strong{margin-bottom:4px;color:var(--brass);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.footer-bottom a{color:inherit;text-decoration:none}
.footer-bottom a:hover{color:var(--brass)}
.form-consent a{color:var(--wine);text-decoration:underline;text-underline-offset:2px}
@media(max-width:700px){
  .legal-page{padding-top:30px;padding-bottom:76px}
  .legal-breadcrumbs{margin-bottom:25px;font-size:8px;gap:8px}
  .legal-heading{padding-bottom:27px}
  .legal-heading h1{font-size:clamp(40px,11vw,58px);line-height:1.02}
  .legal-heading>p:not(.eyebrow){margin-top:17px;font-size:13px;line-height:1.6}
  .legal-doc-nav{gap:6px;margin:17px 0 1px}
  .legal-doc-nav a{min-height:32px;padding:7px 9px;font-size:8px}
  .legal-document{padding-top:22px}
  .legal-document section{padding:20px 0}
  .legal-document h2{font-size:24px}
  .legal-document p{font-size:13px;line-height:1.72}
  .legal-details>div{grid-template-columns:1fr;gap:6px;padding:13px 14px}
  .legal-details dt{font-size:9px}
  .legal-details dd{font-size:13px}
  .legal-contact{align-items:flex-start;flex-direction:column;gap:8px;margin-top:27px;padding:17px}
  .legal-contact strong{font-size:20px}
  .footer-documents{grid-column:1/-1;grid-row:auto}
  .footer-bottom{align-items:flex-start}
}
.cart-messenger-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.cart-messenger-actions .messenger-button{min-height:42px;padding:10px 11px;font-size:9px;letter-spacing:.08em}.cart-messenger-actions .messenger-button-telegram{color:var(--wine);background:transparent;border-color:rgba(95,39,48,.35)}.cart-messenger-actions .messenger-button-telegram:hover{background:var(--cream);border-color:var(--brass)}.cart-messenger-actions .messenger-button-max{background:var(--wine);color:var(--white);border-color:var(--wine)}
@media(max-width:700px){.cart-messenger-actions{grid-template-columns:1fr;gap:7px}.cart-messenger-actions .messenger-button{min-height:44px;font-size:8px}}

/* City selector */
.city-selector{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--ink,#2b2522);font:600 12px/1.2 var(--font-sans,'Manrope',sans-serif);letter-spacing:.08em;text-transform:uppercase;padding:8px 0;cursor:pointer;transition:color .2s ease}
.city-selector:hover,.city-selector:focus-visible{color:var(--wine,#7d2638)}
.city-selector-chevron{font-size:16px;line-height:1;transform:translateY(-1px);transition:transform .2s ease}
.city-selector[aria-expanded="true"] .city-selector-chevron{transform:rotate(180deg) translateY(1px)}
.city-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(32,20,18,.58);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
.city-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.city-dialog{position:relative;width:min(520px,100%);max-height:min(700px,calc(100vh - 48px));overflow:auto;background:#f8f4ef;color:var(--ink,#2b2522);padding:48px clamp(24px,6vw,56px) 42px;box-shadow:0 24px 80px rgba(23,12,10,.28);transform:translateY(14px);transition:transform .3s ease}
.city-modal.is-open .city-dialog{transform:none}
.city-modal-close{position:absolute;top:16px;right:18px;width:36px;height:36px;border:1px solid rgba(74,43,35,.24);border-radius:50%;background:transparent;color:inherit;font-size:24px;line-height:1;cursor:pointer}
.city-modal-close:hover,.city-modal-close:focus-visible{border-color:var(--wine,#7d2638);color:var(--wine,#7d2638)}
.city-dialog .eyebrow{margin:0 0 14px;color:var(--wine,#7d2638);font-size:11px;letter-spacing:.16em}
.city-dialog h2{margin:0;font:500 clamp(30px,5vw,46px)/1.04 var(--font-display,'Playfair Display',serif)}
.city-dialog h2 i{color:var(--wine,#7d2638);font-style:italic}
.city-dialog-lead{margin:18px 0 26px;color:rgba(43,37,34,.7);font-size:14px;line-height:1.5}
.city-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.city-option{min-height:46px;padding:11px 14px;border:1px solid rgba(74,43,35,.2);background:rgba(255,255,255,.5);color:inherit;text-align:left;font:500 14px/1.2 var(--font-sans,'Manrope',sans-serif);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.city-option:hover,.city-option:focus-visible,.city-option.is-selected{border-color:var(--wine,#7d2638);background:var(--wine,#7d2638);color:#fff;transform:translateY(-1px)}
html.city-open,body.city-open{overflow:hidden}
@media (max-width:700px){.city-modal{padding:14px}.city-dialog{padding:42px 20px 24px;max-height:calc(100vh - 28px)}.city-options{grid-template-columns:1fr;gap:8px}.city-option{min-height:44px}.city-dialog h2{font-size:34px}.city-dialog-lead{margin:14px 0 20px}}

/* Footer hierarchy.  The footer uses one predictable grid on
   desktop and a compact, readable flow on small screens. */
.footer-top{grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr) minmax(0,1.1fr) minmax(0,1.2fr);gap:42px;max-width:1180px;margin:0 auto}
.footer-identity{min-width:0;display:flex;flex-direction:column;gap:19px}
.footer-identity p{margin:0;max-width:210px;font-family:var(--serif);font-size:17px;line-height:1.35;color:#cbbab0}
.footer-nav strong,.footer-contact strong{margin:0 0 4px;color:var(--brass);font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.footer-nav a,.footer-contact a,.footer-contact span{overflow-wrap:anywhere}
.footer-top:not(:has(.footer-identity)){grid-template-columns:minmax(0,1.1fr) minmax(0,.95fr) minmax(0,1.1fr) minmax(0,1.2fr)}
.footer-top:not(:has(.footer-identity))>a{grid-column:1;grid-row:1}
.footer-top:not(:has(.footer-identity))>p{grid-column:1;grid-row:2;margin-top:-24px}
.footer-top:not(:has(.footer-identity))>.footer-nav:not(.footer-documents){grid-column:2;grid-row:1 / span 2}
.footer-top:not(:has(.footer-identity))>.footer-documents{grid-column:3;grid-row:1 / span 2}
.footer-top:not(:has(.footer-identity))>.footer-contact{grid-column:4;grid-row:1 / span 2}
.footer-bottom{flex-wrap:wrap;align-items:center;row-gap:10px;line-height:1.6}
.footer-bottom a,.footer-bottom span{overflow-wrap:anywhere}
@media(max-width:700px){
  .site-footer{padding:42px 20px 20px}
  .footer-top,.footer-top:not(:has(.footer-identity)){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 20px;padding-bottom:30px}
  .footer-identity{grid-column:1/-1;gap:14px}
  .footer-identity p{max-width:260px;font-size:16px}
  .footer-top:not(:has(.footer-identity))>a{grid-column:1;grid-row:1}
  .footer-top:not(:has(.footer-identity))>p{grid-column:1/-1;grid-row:2;margin:0}
  .footer-top:not(:has(.footer-identity))>.footer-nav:not(.footer-documents){grid-column:1;grid-row:3}
  .footer-top:not(:has(.footer-identity))>.footer-documents{grid-column:2;grid-row:3}
  .footer-top:not(:has(.footer-identity))>.footer-contact{grid-column:1/-1;grid-row:4}
  .footer-nav,.footer-contact{min-width:0;width:auto;gap:10px}
  .footer-nav a,.footer-contact span,.footer-contact a{font-size:9px;line-height:1.45}
  .footer-bottom{display:flex;gap:9px 15px;align-items:flex-start;font-size:8px;line-height:1.55}
  .footer-bottom>*{max-width:100%}
  .footer-note{display:none}.footer-verification{margin-left:0}
}

/* L-FLOWERS LUXURY — mobile city selector visibility
   Keep the city control visible below the compact logo row while leaving
   operating hours out of the narrow header. */
@media(max-width:700px){
  .site-header{height:96px!important;padding:0 16px!important}
  .site-header .header-top{height:68px!important}
  .site-header .header-contact{display:flex!important;position:absolute;left:16px;bottom:7px;align-items:center;gap:0;z-index:2}
  .site-header .header-contact .city-selector{display:inline-flex;align-items:center;gap:6px;padding:4px 0;font-size:9px;letter-spacing:.1em;line-height:1.2}
  .site-header .header-contact .city-selector-chevron{font-size:14px}
  .site-header .header-contact .header-status{display:none!important;}
}

/* City selector alignment and hierarchy. Desktop gets a quiet framed control; mobile moves it to its own baseline row so it never collides with the centered logo/actions. */
.city-selector{
  min-height:32px;
  border:1px solid rgba(177,139,90,.52);
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:164px;
  max-width:220px;
  padding:8px 12px;
  background:rgba(255,253,250,.72);
  box-shadow:0 5px 16px rgba(45,28,22,.06);
  color:var(--ink);
  text-align:left;
  text-transform:none;
  letter-spacing:.04em;
  line-height:1;
}
.city-selector .city-selector-label,[data-city-label]{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.city-selector-chevron{flex:0 0 auto;margin-left:auto;color:var(--brass);font-size:15px}
.city-selector:hover,.city-selector:focus-visible{border-color:var(--wine);background:var(--white);color:var(--wine);box-shadow:0 7px 20px rgba(95,39,48,.11)}
.city-selector:focus-visible{outline:2px solid rgba(177,139,90,.45);outline-offset:3px}
@media(max-width:700px){
  .site-header{
    height:104px!important;
    padding:0 16px!important;
  }
  .site-header .header-top{height:72px!important}
  .site-header .header-contact{
    display:flex!important;
    position:absolute!important;
    left:16px!important;
    right:16px!important;
    top:auto!important;
    bottom:0!important;
    height:32px;
    align-items:center;
    justify-content:flex-start;
    gap:0;
    z-index:3;
  }
  .site-header .header-contact .city-selector{
    width:min(145px,calc(100vw - 230px));
    min-width:0;
    max-width:145px;
    min-height:30px;
    height:30px;
    padding:6px 9px;
    gap:6px;
    font-size:9px;
    letter-spacing:.045em;
    line-height:1;
  }
  .site-header .header-contact .city-selector-label,[data-city-label]{max-width:100%;font-size:9px}
  .site-header .header-contact .city-selector-chevron{font-size:13px;line-height:1}
  .site-header .header-contact .header-status{display:none!important}
  .site-header .brand{top:36px!important;z-index:2}
  .site-header .header-actions{top:11px!important;z-index:4}
  .site-header .main-nav.mobile-menu{top:100%}
}

/* Footer legal links centered */
.footer-bottom{position:relative;justify-content:center;align-items:center}
.footer-bottom .footer-note{position:absolute;right:0;margin-left:0;max-width:260px;text-align:right}
@media (max-width:980px) and (min-width:701px){
  .footer-bottom{padding-right:220px}
  .footer-bottom .footer-note{max-width:200px;font-size:8px}
}
@media(max-width:700px){
  .footer-bottom{justify-content:center;position:relative}
  .footer-bottom .footer-note{display:none!important}
  .footer-bottom .footer-note{position:static}
}

/* Product cards and mobile header alignment
   The card itself is the only navigation affordance. A quiet arrow cue on
   the photo communicates that it opens the full product page without adding
   another text row to the card. The mobile header uses one shared grid row so
   city, logo and actions share a stable baseline at every phone width. */
.product-photo{cursor:pointer}
.product-open-cue{
  position:absolute;
  right:16px;
  bottom:16px;
  z-index:3;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,253,250,.86);
  border-radius:50%;
  background:rgba(28,24,24,.46);
  color:#fff;
  box-shadow:0 5px 16px rgba(24,15,13,.22);
  pointer-events:none;
  transition:transform .25s ease,background .25s ease,border-color .25s ease;
}
.product-open-cue .icon-arrow{width:8px;height:8px;margin:0;border-width:1px}
.product-card:hover .product-open-cue,.product-card:focus-visible .product-open-cue{transform:translate(2px,-2px);background:var(--wine);border-color:rgba(255,253,250,.98)}
.product-open-hint{display:none!important}
.video-feature-image picture{display:block;width:100%;height:100%;position:relative;z-index:1}
@media(min-width:701px){
  .video-feature-image:before{background-image:url('assets/hero-butterfly-desktop.jpg')}
}
@media(max-width:700px){
  .product-open-cue{right:12px;bottom:12px;width:27px;height:27px}
  .site-header{height:72px!important;padding:0 16px!important}
  .site-header .header-top{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    align-items:center!important;
    column-gap:10px!important;
    height:100%!important;
    width:100%!important;
  }
  .site-header .header-contact{
    position:static!important;
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
    height:auto!important;
    z-index:3;
  }
  .site-header .header-contact .city-selector{
    width:100%!important;
    min-width:0!important;
    max-width:150px!important;
    min-height:32px!important;
    height:32px!important;
    padding:7px 9px!important;
    font-size:9px!important;
    line-height:1!important;
  }
  .site-header .header-contact .header-status{display:none!important}
  .site-header .brand{
    position:static!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    justify-self:center!important;
    align-self:center!important;
    z-index:2;
  }
  .site-header .brand-logo{width:132px!important;max-height:48px!important;object-position:center center!important}
  .site-header .header-actions{
    position:static!important;
    right:auto!important;
    top:auto!important;
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    margin:0!important;
    z-index:4;
  }
}

/* Desktop studio photograph
   The supplied square delivery photograph is used only on wide screens;
   phones keep the original mobile crop.  A block-level picture removes
   inline baseline gaps and lets the image fill the framed panel cleanly. */
.manifesto-image picture{display:block;width:100%;height:100%}
.manifesto-image picture img{width:100%;height:100%;display:block}

/* L-FLOWERS LUXURY — compact mobile footer hierarchy */
@media (max-width:700px){
  .site-footer{padding:34px 18px 18px}
  .footer-top,
  .footer-top:not(:has(.footer-identity)){
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:20px;
    row-gap:25px;
    align-items:start;
    padding-bottom:27px;
  }
  .footer-identity{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(0,auto) minmax(0,1fr);
    align-items:center;
    gap:16px;
    min-width:0;
    padding-bottom:3px;
  }
  .footer-identity .footer-brand{min-width:0}
  .footer-identity .footer-brand .brand-logo{width:148px;max-width:100%;height:auto}
  .footer-identity p{margin:0;max-width:none;font-size:14px;line-height:1.28}
  .footer-top:not(:has(.footer-identity))>a{
    grid-column:1;
    grid-row:1;
    align-self:center;
    min-width:0;
  }
  .footer-top:not(:has(.footer-identity))>a .brand-logo{width:148px;max-width:100%;height:auto}
  .footer-top:not(:has(.footer-identity))>p{
    grid-column:2;
    grid-row:1;
    align-self:center;
    margin:0;
    min-width:0;
    font-size:14px;
    line-height:1.28;
  }
  .footer-nav,
  .footer-contact{
    min-width:0;
    width:auto;
    gap:9px;
  }
  .footer-top>.footer-nav:not(.footer-documents){grid-column:1;grid-row:2}
  .footer-top>.footer-documents{grid-column:2;grid-row:2}
  .footer-top>.footer-contact{
    grid-column:1/-1;
    grid-row:3;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:18px;
    row-gap:9px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.14);
  }
  .footer-contact strong,
  .footer-contact span{grid-column:1/-1}
  .footer-contact a{min-width:0}
  .footer-nav strong,.footer-contact strong{margin:0 0 3px;font-size:9px;line-height:1.25}
  .footer-nav a,.footer-contact span,.footer-contact a{font-size:8.5px;line-height:1.45;letter-spacing:.09em;overflow-wrap:anywhere}
  .footer-bottom{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px 18px;
    align-items:start;
    justify-items:start;
    padding-top:16px;
    font-size:8px;
    line-height:1.45;
  }
  .footer-bottom>*{max-width:100%;min-width:0;overflow-wrap:anywhere}
  .footer-bottom>*:first-child{grid-column:1/-1}
  .footer-bottom .footer-note{display:none!important}
}

/* The time step is enforced by the input; keep implementation guidance out of the customer UI. */
.checkout-modal .field-hint{display:none!important}

/* Mobile footer columns
   Keep navigation and documents side by side on phones.  This final layer
   intentionally overrides earlier responsive rules from previous releases. */
@media (max-width:700px){
  .site-footer .footer-top,
  .site-footer .footer-top:not(:has(.footer-identity)){
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:18px;
    row-gap:22px;
    align-items:start;
  }

  .site-footer .footer-identity{
    grid-column:1/-1;
    grid-row:1;
  }

  .site-footer .footer-top:not(:has(.footer-identity))>a{
    grid-column:1;
    grid-row:1;
  }

  .site-footer .footer-top:not(:has(.footer-identity))>p{
    grid-column:2;
    grid-row:1;
  }

  .site-footer .footer-top>.footer-nav:not(.footer-documents){
    grid-column:1;
    grid-row:2;
  }

  .site-footer .footer-top>.footer-documents{
    grid-column:2;
    grid-row:2;
  }

  .site-footer .footer-top>.footer-contact{
    grid-column:1/-1;
    grid-row:3;
  }
}

/* Footer legal links centered on every viewport
   The tablet rule above reserved 220px for the legal identity note, which
   shifted the visible links left.  Keep the note in its own centered row on
   intermediate widths and use a centered wrapping row on phones. */
@media (max-width:980px) and (min-width:701px){
  .footer-bottom{
    padding-right:0;
    padding-left:0;
    justify-content:center;
    text-align:center;
  }
  .footer-bottom .footer-note{
    position:static;
    flex:0 0 100%;
    max-width:none;
    margin:2px 0 0;
    text-align:center;
  }
}
@media(max-width:700px){
  .footer-bottom{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    justify-items:initial;
    text-align:center;
    gap:8px 14px;
  }
  .footer-bottom>*:first-child{flex-basis:100%;}
}

/* Mobile header alignment
   Keep each control anchored to the viewport so the logo cannot drift when
   the city label or cart controls change width. */
@media (max-width:700px){
  .site-header .header-top{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
  }

  .site-header .brand{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    margin:0!important;
    z-index:2!important;
  }

  .site-header .brand-logo{
    width:clamp(104px,33vw,132px)!important;
    max-width:132px!important;
    max-height:48px!important;
    object-fit:contain!important;
    object-position:center center!important;
  }

  .site-header .header-contact{
    position:absolute!important;
    left:0!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    z-index:3!important;
  }

  .site-header .header-contact .city-selector{
    width:clamp(96px,31vw,138px)!important;
    max-width:calc(100vw - 190px)!important;
    min-width:0!important;
    min-height:32px!important;
    height:32px!important;
    padding:7px 9px!important;
    font-size:9px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  .site-header .header-contact .city-selector-label,
  .site-header .header-contact [data-city-label]{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  .site-header .header-actions{
    position:absolute!important;
    right:0!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
    margin:0!important;
    z-index:4!important;
  }
}
@media(max-width:700px){.contact-channel-group{grid-template-columns:1fr}.contact-channel{padding:11px 12px!important}}

/* Compatibility: current checkout uses only hide_sender. If an older
   cached template still contains anonymous_delivery, keep the duplicate hidden. */
.checkout-check:has(input[name="anonymous_delivery"]){display:none!important}

/* Mobile header visual baseline
   The logo PNG includes a few transparent pixels above its artwork. Keep
   the header anchors centered, but lift only the image so the visible mark
   shares the city selector's optical center on phones. */
@media(max-width:700px){
  .site-header .brand-logo{transform:translateY(-6px)!important}
}

/* Logo navigation hit area
   Keep the home link above header utility layers and let the anchor receive
   the click even when the transparent PNG extends beyond its visible mark. */
.site-header .brand{
  z-index:10!important;
  pointer-events:auto!important;
}
.site-header .brand-logo{pointer-events:none!important}

/* Keep the mobile city control sized to its label instead of a fixed bar. */
@media(max-width:700px){
  .site-header .header-contact .city-selector{
    width:max-content!important;
    min-width:0!important;
    max-width:calc(100vw - 230px)!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .site-header .header-contact .city-selector-label,
  .site-header .header-contact [data-city-label]{
    max-width:calc(100vw - 270px)!important;
  }
}

/* Footer contact and identity polish */
.footer-identity{
  align-items:flex-start;
}
.footer-identity .footer-brand{
  display:flex;
  align-items:center;
}
.footer-messenger{
  display:flex!important;
  align-items:center;
  gap:10px;
  min-height:34px;
  padding:7px 10px;
  border:1px solid rgba(197,160,106,.28);
  background:rgba(255,255,255,.035);
  transition:background .2s,border-color .2s,transform .2s;
}
.footer-messenger:hover{
  border-color:var(--brass);
  background:rgba(177,139,90,.12);
  transform:translateY(-1px);
}
.footer-messenger svg{
  width:19px;
  height:19px;
  flex:0 0 19px;
  display:block;
  fill:currentColor;
}
.footer-messenger-telegram svg{color:#8db8d8}
.footer-messenger-max svg{color:var(--brass)}
.footer-email{padding-top:2px}
@media(max-width:700px){
  .site-footer .footer-top,
  .site-footer .footer-top:not(:has(.footer-identity)){
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:16px;
    row-gap:24px;
  }
  .site-footer .footer-identity{
    grid-column:1/-1;
    grid-row:1;
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    padding:0 0 4px;
  }
  .site-footer .footer-identity .footer-brand{
    justify-content:center;
    width:100%;
  }
  .site-footer .footer-identity .footer-brand .brand-logo{
    width:164px;
    max-width:72vw;
    height:auto;
  }
  .site-footer .footer-top>.footer-nav:not(.footer-documents){
    grid-column:1;
    grid-row:2;
  }
  .site-footer .footer-top>.footer-documents{
    grid-column:2;
    grid-row:2;
  }
  .site-footer .footer-top>.footer-contact{
    grid-column:1/-1;
    grid-row:3;
    display:flex;
    flex-direction:column;
    gap:9px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.14);
  }
  .site-footer .footer-contact strong{margin-bottom:1px}
  .site-footer .footer-contact span{margin-bottom:2px}
  .site-footer .footer-messenger{
    width:100%;
    min-height:38px;
    padding:8px 11px;
    letter-spacing:.08em;
  }
  .site-footer .footer-email{padding-top:3px}
}


/* Legal consent separation */
.lflowers-cookie-banner{position:fixed;left:24px;right:24px;bottom:24px;z-index:9999;width:min(760px,calc(100% - 48px));margin:0 auto;padding:22px 24px 20px;background:rgba(255,253,250,.98);color:var(--ink);border:1px solid rgba(177,139,90,.48);box-shadow:0 18px 55px rgba(36,25,26,.24),inset 0 0 0 1px rgba(255,255,255,.7);font-size:12px;line-height:1.55}
.lflowers-cookie-banner:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--wine)}
.lflowers-cookie-content{padding-right:12px}.lflowers-cookie-kicker{display:block;margin-bottom:8px;color:var(--brass);font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}.lflowers-cookie-banner p{margin:0;color:var(--muted);max-width:620px}.lflowers-cookie-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:17px}.lflowers-cookie-actions button{border:1px solid var(--wine);background:var(--wine);color:var(--white);padding:10px 14px;cursor:pointer;font:inherit;font-size:10px;letter-spacing:.07em;text-transform:uppercase;transition:background .2s,color .2s,transform .2s}.lflowers-cookie-actions button:hover,.lflowers-cookie-actions button:focus-visible{background:#431c23;transform:translateY(-1px)}.lflowers-cookie-actions button+button{background:var(--brass);border-color:var(--brass);color:var(--ink)}.lflowers-cookie-actions button+button:hover,.lflowers-cookie-actions button+button:focus-visible{background:#987544}.lflowers-cookie-actions a{padding:8px 2px;color:var(--wine);font-size:10px;letter-spacing:.08em;text-transform:uppercase;text-underline-offset:3px}.lflowers-cookie-actions a:focus-visible{outline:2px solid rgba(177,139,90,.55);outline-offset:3px}
@media(max-width:600px){.lflowers-cookie-banner{left:12px;right:12px;bottom:12px;width:auto;padding:18px 17px 16px;font-size:12px;line-height:1.5}.lflowers-cookie-content{padding-right:0}.lflowers-cookie-kicker{font-size:8px;margin-bottom:7px}.lflowers-cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.lflowers-cookie-actions button{width:100%;min-height:42px;padding:9px 8px;font-size:9px;line-height:1.25}.lflowers-cookie-actions a{grid-column:1/-1;justify-self:center;padding:4px 2px;font-size:9px}}
.form-legal-note{margin:8px 0 18px;color:var(--muted);font-size:10px;line-height:1.55}
.form-legal-note a,.form-consent a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* Cookie consent card — quiet, readable hierarchy on desktop and mobile. */
.lflowers-cookie-banner{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  left:50%; right:auto; bottom:22px;
  width:min(900px,calc(100% - 44px));
  transform:translateX(-50%);
  padding:20px 24px 20px 20px;
  background:rgba(255,253,250,.985);
  border:1px solid rgba(177,139,90,.55);
  box-shadow:0 20px 65px rgba(36,25,26,.28), inset 0 0 0 1px rgba(255,255,255,.8);
  font-size:12px; line-height:1.5;
}
.lflowers-cookie-banner[hidden]{display:none!important}
.lflowers-cookie-banner:before{left:0;top:0;bottom:0;width:3px}
.lflowers-cookie-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--brass);border-radius:50%;font-family:var(--serif);font-size:21px;color:var(--wine);font-style:italic}
.lflowers-cookie-content{padding:0;min-width:0}
.lflowers-cookie-kicker{margin-bottom:4px;font-size:8px;letter-spacing:.2em}
.lflowers-cookie-banner h2{margin:0 0 5px;font-family:var(--serif);font-size:21px;line-height:1.1;font-weight:500;color:var(--ink)}
.lflowers-cookie-banner p{max-width:510px;font-size:11px;line-height:1.5}
.lflowers-cookie-more{display:inline-flex;align-items:center;gap:5px;margin-top:8px;color:var(--wine);font-size:9px;letter-spacing:.1em;text-transform:uppercase;text-underline-offset:3px}
.lflowers-cookie-more span{font-size:13px;color:var(--brass)}
.lflowers-cookie-actions{display:flex;flex-direction:column;gap:8px;min-width:174px;margin:0}
.lflowers-cookie-actions button{width:100%;min-height:38px;padding:9px 12px;font-size:9px;letter-spacing:.06em;white-space:nowrap}
.lflowers-cookie-actions button+button{background:var(--wine);border-color:var(--wine);color:var(--white)}
.lflowers-cookie-actions button+button:hover,.lflowers-cookie-actions button+button:focus-visible{background:#431c23}
@media(max-width:600px){
  .lflowers-cookie-banner{grid-template-columns:34px minmax(0,1fr);gap:12px;left:12px;right:12px;bottom:12px;width:auto;transform:none;padding:16px 15px 14px 14px}
  .lflowers-cookie-mark{width:34px;height:34px;font-size:17px;align-self:start}
  .lflowers-cookie-kicker{font-size:7px;letter-spacing:.16em}
  .lflowers-cookie-banner h2{font-size:19px}
  .lflowers-cookie-banner p{font-size:11px;line-height:1.45}
  .lflowers-cookie-more{margin-top:7px;font-size:8px}
  .lflowers-cookie-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0;margin-top:2px}
  .lflowers-cookie-actions button{min-height:42px;padding:8px 6px;font-size:8px;white-space:normal;line-height:1.25}
}


/* Request success identifier */
.order-success-request{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:min(100%,360px);margin:28px 0 0;padding:18px 24px;border:1px solid var(--line);background:rgba(255,253,250,.58)}
.order-success-request-label{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.order-success-request-id{font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:.035em;color:var(--ink);word-break:break-word}
.order-success-copy{border:0;background:transparent;color:var(--wine);font:inherit;font-size:9px;letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:5px 8px}
.order-success-copy-status{min-height:1.2em;font-size:10px;color:var(--muted)}
.order-success-page .order-success-request+.order-success-lead{margin-top:22px}
@media(max-width:700px){.order-success-request{width:100%;max-width:340px;padding:16px 18px;margin-top:22px}.order-success-request-id{font-size:21px}}


/* Anti-spam honeypot: available to bots, visually and interactively absent for customers. */
.lflowers-honeypot{
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}


/* ==========================================================================
   L-FLOWERS STOREFRONT UI SYSTEM
   Shared controls and product-card geometry live in one final layer.
   Page-specific editorial styling above remains untouched; these rules are
   deliberately authoritative for buttons, card baselines and tap targets.
   ========================================================================== */
:root{
  --ui-control-height:48px;
  --ui-tap-target:44px;
  --ui-control-pad-x:22px;
  --ui-control-gap:14px;
  --ui-card-gap:12px;
}

/* Primary/secondary actions use one geometry across the storefront. */
.button,
.buy-product,
.filter-reset,
.messenger-button{
  min-height:var(--ui-control-height);
  padding-top:0;
  padding-bottom:0;
  padding-left:var(--ui-control-pad-x);
  padding-right:var(--ui-control-pad-x);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  line-height:1.2;
}
.button .icon-arrow,
.buy-product .icon-arrow,
.messenger-button .icon-arrow{flex:0 0 auto}
.button-full{width:100%}

/* Every card uses the same two-row structure: media, then flexible content. */
.product-grid{align-items:stretch}
.product-card{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr);
  height:100%;
  min-width:0;
}
.product-info{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto;
  align-items:stretch!important;
  gap:var(--ui-card-gap);
  min-width:0;
  min-height:0;
}
.product-copy{
  display:flex!important;
  flex-direction:column;
  min-width:0;
  min-height:0;
}
.product-buy{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center!important;
  align-self:end!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  margin-top:0!important;
}
.product-buy .product-price{justify-self:start;min-width:0}
.product-buy .buy-product{justify-self:end;min-width:124px}

/* Small icon/utility controls keep a minimum 44×44 interactive area. */
.menu-button,
.cart-button,
.city-selector,
.modal-close,
.city-modal-close,
.drawer-head button,
.cart-remove,
.cart-qty button,
.catalog-pagination button,
.filter-panel-head button,
.reviews-arrow,
.detail-gallery-thumb,
.order-success-copy,
.legal-cookie-settings,
.lflowers-cookie-actions button{
  min-width:var(--ui-tap-target);
  min-height:var(--ui-tap-target);
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.modal-close,
.city-modal-close,
.drawer-head button,
.cart-remove,
.filter-panel-head button,
.reviews-arrow{display:inline-grid;place-items:center}

@media(max-width:700px){
  :root{--ui-control-pad-x:16px}
  .button,
  .buy-product,
  .filter-reset,
  .messenger-button{min-height:48px}
  .product-info{gap:10px}
  .product-buy{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
  }
  .product-buy .product-price{width:100%!important;min-height:22px}
  .product-buy .buy-product{width:100%!important;min-width:0!important;justify-content:space-between}
  .product-open-cue{width:30px;height:30px}
}


/* ================================================================
   L-FLOWERS responsive layout & interaction system
   Points 21–25: gutters, mobile header/menu, checkout dialog, filters.
   ================================================================ */
:root{
  --lf-shell-max:1180px;
  --lf-gutter-desktop:40px;
  --lf-gutter-tablet:26px;
  --lf-gutter-mobile:18px;
}
.section-shell{width:min(var(--lf-shell-max),calc(100% - (var(--lf-gutter-desktop) * 2)))!important;margin-left:auto!important;margin-right:auto!important}
.site-header{padding-left:max(var(--lf-gutter-desktop),calc((100vw - var(--lf-shell-max))/2))!important;padding-right:max(var(--lf-gutter-desktop),calc((100vw - var(--lf-shell-max))/2))!important}
@media(max-width:980px){
  .section-shell,.manifesto,.contact-band{width:calc(100% - (var(--lf-gutter-tablet) * 2))!important;max-width:900px;margin-left:auto!important;margin-right:auto!important}
  .site-header{padding-left:var(--lf-gutter-tablet)!important;padding-right:var(--lf-gutter-tablet)!important}
}
@media(max-width:700px){
  .section-shell,.manifesto,.contact-band{width:calc(100% - (var(--lf-gutter-mobile) * 2))!important;max-width:none!important}
  .site-header{padding-left:var(--lf-gutter-mobile)!important;padding-right:var(--lf-gutter-mobile)!important}
}

/* Stable phone header: brand on the left, cart/menu on the right, city below. */
@media(max-width:700px){
  .topline{min-height:28px;height:auto;padding:7px var(--lf-gutter-mobile);gap:0;text-align:center;line-height:1.35}
  .topline .topline-note{display:none}
  .site-header{height:94px!important;min-height:94px!important;display:block!important;padding-top:0!important;padding-bottom:0!important}
  .site-header .header-top{position:relative!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;width:100%!important;height:94px!important;padding-top:9px!important}
  .site-header .brand{position:static!important;transform:none!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;width:auto!important;height:50px!important;margin:0!important;z-index:10!important}
  .site-header .brand-logo{width:116px!important;max-width:36vw!important;max-height:47px!important;height:auto!important;transform:none!important;object-fit:contain!important;object-position:left center!important}
  .site-header .header-actions{position:static!important;transform:none!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;height:50px!important;margin:0!important;z-index:12!important}
  .site-header .cart-button,.site-header .menu-button{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;display:grid!important;place-items:center!important;margin:0!important}
  .site-header .cart-button{font-size:0!important;position:relative!important}
  .site-header .cart-button .cart-icon{font-size:22px!important;margin:0!important}
  .site-header .cart-button b{position:absolute!important;top:2px!important;right:1px!important}
  .site-header .menu-button span{width:22px!important;margin:4px auto!important}
  .site-header .header-contact{position:absolute!important;left:0!important;right:0!important;bottom:7px!important;top:auto!important;transform:none!important;height:28px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;z-index:11!important;pointer-events:none!important}
  .site-header .header-contact .city-selector{pointer-events:auto!important;width:auto!important;max-width:min(230px,calc(100vw - 36px))!important;min-width:0!important;height:28px!important;min-height:28px!important;padding:5px 9px!important;font-size:9px!important;line-height:1!important;border-radius:0!important}
  .site-header .header-contact [data-city-label]{max-width:190px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .site-header .header-status{display:none!important}
}
@media(max-width:350px){
  .site-header .brand-logo{width:104px!important;max-width:34vw!important}
  .site-header .header-actions{gap:1px!important}
}

/* Mobile menu behaves like one predictable panel under the sticky header. */
@media(max-width:700px){
  .site-header .main-nav{display:none!important;position:absolute!important;left:0!important;right:0!important;top:100%!important;margin:0!important;padding:8px var(--lf-gutter-mobile) 18px!important;background:rgba(246,243,238,.995)!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;box-shadow:0 18px 34px rgba(28,24,24,.12)!important;z-index:30!important;max-height:calc(100dvh - 122px)!important;overflow:auto!important}
  .site-header .main-nav.mobile-menu{display:flex!important;flex-direction:column!important;gap:0!important}
  .site-header .main-nav a{display:flex!important;align-items:center!important;min-height:48px!important;padding:10px 2px!important;border-bottom:1px solid rgba(220,212,202,.72)!important;font-size:11px!important;letter-spacing:.11em!important}
  .site-header .main-nav a:last-child{border-bottom:0!important}
  .site-header .menu-button[aria-expanded="true"] span:first-child{transform:translateY(5px) rotate(45deg)!important}
  .site-header .menu-button[aria-expanded="true"] span:last-child{transform:translateY(-5px) rotate(-45deg)!important}
  .site-header .menu-button span{transition:transform .2s ease!important}
  html.menu-open,body.menu-open{overflow:hidden!important}
}

/* Checkout is a true modal dialog with a single scroll container. */
html.checkout-open,body.checkout-open{overflow:hidden!important}
.checkout-modal[aria-hidden="true"]{visibility:hidden}
.checkout-modal[aria-hidden="false"]{visibility:visible}
.checkout-card:focus{outline:none}
.checkout-card:focus-visible{outline:2px solid rgba(177,139,90,.7);outline-offset:-5px}
@media(max-width:700px){
  .checkout-modal{padding:8px!important;align-items:end!important}
  .checkout-card{width:100%!important;max-width:none!important;max-height:calc(100dvh - 16px)!important;border-radius:0!important;padding:44px var(--lf-gutter-mobile) 24px!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
  .checkout-card .modal-close{position:absolute!important;float:none!important;top:12px!important;right:15px!important;z-index:5!important;margin:0!important;background:var(--paper)!important}
}

/* Catalogue mobile filter drawer with backdrop and fixed actions. */
.catalog-filter-backdrop{display:none}
.filter-panel-actions{display:none}
@media(max-width:700px){
  html.filters-open,body.filters-open{overflow:hidden!important}
  .catalog-filter-backdrop{display:block;position:fixed;inset:0;z-index:40;border:0;background:rgba(21,14,14,.46);opacity:0;pointer-events:none;transition:opacity .25s;padding:0}
  .catalog-filter-backdrop.is-open{opacity:1;pointer-events:auto}
  .catalog-filters{z-index:41!important;width:min(340px,90vw)!important;height:100dvh!important;max-height:100dvh!important;padding:0 20px 96px!important;background:var(--paper)!important;overflow-y:auto!important;overscroll-behavior:contain!important;visibility:hidden!important;pointer-events:none!important}
  .catalog-filters.is-open{visibility:visible!important;pointer-events:auto!important}
  .catalog-filters .filter-panel-head{position:sticky!important;top:0!important;z-index:4!important;display:flex!important;min-height:66px!important;margin:0 -20px 22px!important;padding:12px 20px!important;background:rgba(246,243,238,.985)!important;backdrop-filter:blur(8px)!important;border-bottom:1px solid var(--line)!important}
  .catalog-filters .filter-panel-head button{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;display:grid!important;place-items:center!important}
  .filter-panel-actions{position:fixed;left:0;bottom:0;z-index:43;display:grid;width:min(340px,90vw);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 14px max(12px,env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -10px 25px rgba(28,24,24,.08);transform:translateX(-105%);transition:transform .3s}
  .catalog-filters.is-open .filter-panel-actions{transform:translateX(0)}
  .filter-panel-actions .button{min-height:48px!important;width:100%!important;padding-left:14px!important;padding-right:14px!important;gap:7px!important}
  .filter-panel-reset{min-height:48px;padding:0 10px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:9px;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
  .mobile-filter-toggle{min-height:48px!important}
}

/* L-FLOWERS legal navigation + mobile footer */
@media (max-width:700px){
  /* Legal documents behave like one compact horizontal tab rail instead of
     wrapping into several uneven rows on narrow phones. */
  .legal-doc-nav{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    max-width:100%!important;
    margin:17px 0 2px!important;
    padding:0 0 10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
    scrollbar-color:rgba(177,139,90,.55) transparent;
  }
  .legal-doc-nav::-webkit-scrollbar{height:3px}
  .legal-doc-nav::-webkit-scrollbar-track{background:transparent}
  .legal-doc-nav::-webkit-scrollbar-thumb{background:rgba(177,139,90,.55);border-radius:999px}
  .legal-doc-nav a{
    flex:0 0 auto!important;
    min-height:38px!important;
    padding:9px 11px!important;
    white-space:nowrap!important;
    scroll-snap-align:start;
  }
  .legal-doc-nav a.is-active{scroll-snap-stop:always}

  /* Footer hierarchy on phones: brand -> Navigation | Contact -> Documents ->
     copyright/requisites.  The document group gets the full width because it
     contains the longest labels. */
  .site-footer{padding:40px 18px 22px!important}
  .site-footer .footer-top,
  .site-footer .footer-top:not(:has(.footer-identity)){
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:20px!important;
    row-gap:26px!important;
    padding-bottom:28px!important;
  }
  .site-footer .footer-identity{
    grid-column:1/-1!important;
    grid-row:1!important;
    justify-content:flex-start!important;
    padding:0 0 2px!important;
  }
  .site-footer .footer-identity .footer-brand,
  .site-footer .footer-identity .footer-brand .brand-logo{
    justify-content:flex-start!important;
  }
  .site-footer .footer-identity .footer-brand .brand-logo{
    width:150px!important;
    max-width:64vw!important;
  }
  .site-footer .footer-top>.footer-nav:not(.footer-documents){
    grid-column:1!important;
    grid-row:2!important;
  }
  .site-footer .footer-top>.footer-contact{
    grid-column:2!important;
    grid-row:2!important;
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    min-width:0!important;
    padding:0!important;
    border-top:0!important;
  }
  .site-footer .footer-top>.footer-documents{
    grid-column:1/-1!important;
    grid-row:3!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:18px!important;
    row-gap:9px!important;
    padding-top:21px!important;
    border-top:1px solid rgba(255,255,255,.14)!important;
  }
  .site-footer .footer-documents>strong{grid-column:1/-1!important;margin-bottom:2px!important}
  .site-footer .footer-nav,.site-footer .footer-contact{min-width:0!important;width:auto!important}
  .site-footer .footer-nav a,
  .site-footer .footer-contact span,
  .site-footer .footer-contact a{font-size:9px!important;line-height:1.45!important}
  .site-footer .footer-messenger{
    width:100%!important;
    min-height:44px!important;
    padding:8px 9px!important;
  }
  .site-footer .footer-email{font-size:8px!important;word-break:break-word}
  .site-footer .footer-bottom{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:7px!important;
    padding:18px 0 0!important;
    border-top:1px solid rgba(255,255,255,.14)!important;
    font-size:8px!important;
    line-height:1.55!important;
  }
  .site-footer .footer-bottom .footer-note{
    display:block!important;
    position:static!important;
    max-width:none!important;
    margin:0!important;
    text-align:left!important;
    color:var(--brass)!important;
  }
}
@media (max-width:370px){
  .site-footer .footer-top,
  .site-footer .footer-top:not(:has(.footer-identity)){column-gap:14px!important}
  .site-footer .footer-documents{grid-template-columns:1fr!important}
  .site-footer .footer-documents>strong{grid-column:1!important}
}

/* L-FLOWERS PERFORMANCE & RESPONSIVE MEDIA
   Points 31–36: lighter media, one editorial film per page, reduced-motion
   support and cheaper mobile compositing. */
@media (max-width:700px){
  /* The texture is decorative; removing the viewport-sized fixed filter layer
     avoids a permanent compositor surface on phones. */
  body:after{display:none!important}

  /* A nearly opaque background keeps the luxury header appearance without
     the cost of backdrop-filter while scrolling on mobile GPUs. */
  .site-header{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    background:rgba(246,243,238,.985)!important;
  }

  /* The home hero now contains one physical video element.  On phones that
     same node is moved into the editorial "film" grid area instead of loading
     a second copy of the MP4. */
  .video-feature > .video-feature-media{
    grid-area:film!important;
    display:block!important;
    position:relative!important;
    width:calc(100% - 64px)!important;
    max-width:320px!important;
    height:auto!important;
    max-height:440px!important;
    min-height:0!important;
    aspect-ratio:4 / 5!important;
    margin:0 auto 22px!important;
    padding:5px!important;
    overflow:hidden!important;
    background:#241b1a!important;
    border:1px solid rgba(177,139,90,.72)!important;
    box-shadow:0 12px 28px rgba(40,24,20,.13),inset 0 0 0 1px rgba(255,255,255,.55)!important;
  }
  .video-feature > .video-feature-media:after{
    content:''!important;
    position:absolute!important;
    inset:5px!important;
    z-index:2!important;
    pointer-events:none!important;
    border:1px solid rgba(255,253,250,.55)!important;
    background:none!important;
  }
  .video-feature > .video-feature-media:before{
    content:'L-FLOWERS · ЖИВАЯ БАБОЧКА'!important;
    position:absolute!important;
    z-index:3!important;
    top:15px!important;
    left:16px!important;
    color:rgba(255,253,250,.9)!important;
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:.14em!important;
    text-transform:uppercase!important;
    text-shadow:0 1px 10px rgba(20,14,14,.4)!important;
    pointer-events:none!important;
    background:none!important;
  }
  .video-feature > .video-feature-media .video-hero-main{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-height:100%!important;
    aspect-ratio:4 / 5!important;
    object-fit:cover!important;
    object-position:center 42%!important;
    transform:none!important;
    background:#241b1a!important;
  }
}

@media (prefers-reduced-motion:reduce){
  video[data-autoplay-video]{animation:none!important}
  .video-feature > .video-feature-media .video-hero-main,
  .about-hero-video{transform:none!important}
}

/* — crawlable product links keep the existing card appearance. */
.product-photo-link{display:block;width:100%;height:100%;color:inherit;text-decoration:none}
.product-photo-link img{display:block;width:100%;height:100%;object-fit:cover}
.product-name-link{color:inherit;text-decoration:none}
.product-name-link:hover,.product-name-link:focus-visible{color:var(--wine)}


/* — keyboard access: hidden until focused. */
.skip-link{position:fixed;left:16px;top:12px;z-index:10000;transform:translateY(-180%);padding:11px 15px;background:#fffdfa;color:#5f2730;border:1px solid rgba(95,39,48,.25);border-radius:999px;font-weight:700;text-decoration:none;box-shadow:0 8px 30px rgba(42,25,23,.14)}
.skip-link:focus{transform:translateY(0);outline:2px solid var(--brass);outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.skip-link{transition:none!important}}

/* Product card alignment system: media → content → price → action.
   Keeps catalogue and Top Sales typography consistent and pins every CTA
   to the same baseline inside each grid row. */
:root{
  --lf-product-title-font:var(--serif);
  --lf-product-title-size:19px;
  --lf-product-title-weight:500;
  --lf-product-title-line:1.12;
  --lf-product-action-height:44px;
}

/* One title treatment in Top Sales and the catalogue. */
.product-name,
.top-sale-info h3{
  font-family:var(--lf-product-title-font)!important;
  font-size:var(--lf-product-title-size)!important;
  font-weight:var(--lf-product-title-weight)!important;
  line-height:var(--lf-product-title-line)!important;
  letter-spacing:-.015em!important;
  color:var(--ink)!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:auto;
}

/* Catalogue: the variable information may grow, while price + CTA stay
   together at the bottom of every equal-height card. */
.product-grid{
  align-items:stretch!important;
}
.product-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-width:0;
}
.product-photo{
  flex:0 0 auto;
}
.product-info{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  align-items:stretch!important;
  min-width:0!important;
  min-height:0!important;
  gap:10px!important;
}
.product-copy{
  flex:0 0 auto;
  min-width:0;
}
.product-buy{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-end!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  margin-top:auto!important;
}
.product-buy .product-price{
  align-self:flex-start!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:32px!important;
  margin:0!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
}
.product-buy .buy-product{
  width:100%!important;
  min-width:0!important;
  min-height:var(--lf-product-action-height)!important;
  margin:0!important;
  justify-content:space-between!important;
  white-space:nowrap!important;
}

/* Top Sales follows the exact same vertical rhythm: flexible copy first,
   then a non-wrapping price and a full-width CTA pinned to the bottom. */
.top-sales-grid{
  align-items:stretch!important;
}
.top-sale-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-width:0;
}
.top-sale-photo{
  flex:0 0 auto;
}
.top-sale-info{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:8px!important;
  min-width:0!important;
  min-height:0!important;
}
.top-sale-info>div{
  min-width:0!important;
  min-height:0!important;
  flex:0 0 auto!important;
}
.top-sale-info>strong{
  align-self:flex-start!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:32px!important;
  margin-top:auto!important;
  margin-bottom:0!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
}
.top-sale-info .button{
  width:100%!important;
  min-width:0!important;
  min-height:var(--lf-product-action-height)!important;
  margin:0!important;
  justify-content:space-between!important;
  white-space:nowrap!important;
}

/* Price typography is also kept identical in both product grids. */
.product-price,
.top-sale-info>strong{
  font-family:var(--sans)!important;
  font-size:17px!important;
  font-weight:700!important;
  font-variant-numeric:tabular-nums lining-nums;
  line-height:1!important;
  letter-spacing:.025em!important;
}

@media(max-width:980px){
  :root{--lf-product-title-size:18px}
}

@media(max-width:700px){
  :root{
    --lf-product-title-size:16px;
    --lf-product-action-height:44px;
  }
  .product-info,
  .top-sale-info{gap:7px!important}
  .product-buy,
  .top-sale-info{gap:7px!important}
  .product-price,
  .top-sale-info>strong{
    font-size:15px!important;
    min-height:30px!important;
    padding:5px 7px!important;
  }
  .product-buy .buy-product,
  .top-sale-info .button{
    padding-left:9px!important;
    padding-right:9px!important;
    font-size:8px!important;
    letter-spacing:.08em!important;
  }
}

/* Canonical mobile storefront header.
   One compact utility row + one full-width location row. */
@media (max-width:700px){
  body .site-header{
    height:116px!important;
    min-height:116px!important;
    display:block!important;
    padding-top:0!important;
    padding-bottom:0!important;
    overflow:visible!important;
    border-bottom:1px solid rgba(177,139,90,.28)!important;
  }
  body .site-header .header-top{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:54px 42px!important;
    column-gap:12px!important;
    row-gap:6px!important;
    align-items:center!important;
    width:100%!important;
    height:116px!important;
    box-sizing:border-box!important;
    padding:6px 0 8px!important;
  }
  body .site-header .brand{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:auto!important;
    height:50px!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
  body .site-header .brand-logo{
    display:block!important;
    width:132px!important;
    max-width:42vw!important;
    height:auto!important;
    max-height:50px!important;
    margin:0!important;
    transform:none!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  body .site-header .header-actions{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
    width:auto!important;
    height:50px!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
  body .site-header .cart-button,
  body .site-header .menu-button{
    flex:0 0 44px!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
  }
  body .site-header .header-contact{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    grid-column:1 / -1!important;
    grid-row:2!important;
    justify-self:stretch!important;
    align-self:stretch!important;
    display:flex!important;
    align-items:stretch!important;
    width:100%!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    padding:0!important;
    pointer-events:auto!important;
  }
  body .site-header .header-contact .city-selector{
    position:static!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 14px!important;
    box-sizing:border-box!important;
    background:rgba(255,253,250,.72)!important;
    border:1px solid rgba(177,139,90,.5)!important;
    border-radius:0!important;
    box-shadow:none!important;
    color:var(--ink)!important;
    font-size:10px!important;
    font-weight:600!important;
    line-height:1!important;
    letter-spacing:.035em!important;
    text-align:left!important;
  }
  body .site-header .header-contact [data-city-label]{
    display:block!important;
    min-width:0!important;
    max-width:none!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    line-height:1!important;
  }
  body .site-header .header-contact .city-selector-chevron{
    flex:0 0 auto!important;
    margin:0!important;
    font-size:15px!important;
    line-height:1!important;
  }
  body .site-header .header-status{display:none!important}
  body .site-header .main-nav.mobile-menu{top:100%!important}
}
@media (max-width:350px){
  body .site-header{height:110px!important;min-height:110px!important}
  body .site-header .header-top{
    grid-template-rows:50px 40px!important;
    row-gap:6px!important;
    height:110px!important;
    padding:6px 0 8px!important;
  }
  body .site-header .brand{height:48px!important}
  body .site-header .brand-logo{width:116px!important;max-width:40vw!important;max-height:46px!important}
  body .site-header .header-actions{height:48px!important;gap:2px!important}
  body .site-header .header-contact{height:40px!important;min-height:40px!important}
  body .site-header .header-contact .city-selector{height:40px!important;min-height:40px!important;padding:0 12px!important;font-size:9.5px!important}
}

/* Compact catalogue card layout: natural content height, aligned price + action. */
.catalog-results .product-grid{
  align-items:stretch!important;
  row-gap:30px!important;
}
.catalog-results .product-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-width:0!important;
}
.catalog-results .product-photo{
  flex:0 0 auto!important;
  margin-bottom:12px!important;
}
.catalog-results .product-info{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:0!important;
  min-width:0!important;
  min-height:0!important;
}
.catalog-results .product-copy{
  flex:0 0 auto!important;
  min-width:0!important;
}
.catalog-results .product-name{
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  font-size:18px!important;
  line-height:1.12!important;
  letter-spacing:-.018em!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.catalog-results .product-meta{
  min-height:0!important;
  height:auto!important;
  margin:8px 0 0!important;
  padding:0 0 7px!important;
  border-bottom:1px solid rgba(177,139,90,.30)!important;
  color:var(--brass)!important;
  font-size:8px!important;
  font-weight:700!important;
  letter-spacing:.15em!important;
  line-height:1.25!important;
  text-transform:uppercase!important;
}
.catalog-results .product-composition{
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:8px 0 9px!important;
  border-top:0!important;
  border-bottom:1px solid rgba(177,139,90,.30)!important;
  font-size:10px!important;
  line-height:1.35!important;
}
.catalog-results .product-composition small{
  flex:0 0 auto!important;
  padding-top:1px!important;
  font-size:8px!important;
  font-weight:600!important;
  letter-spacing:.13em!important;
}
.catalog-results .product-composition span{
  min-width:0!important;
  color:var(--muted)!important;
}
.catalog-results .card-sizes{
  margin-top:8px!important;
}
.catalog-results .product-buy{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-end!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  margin-top:auto!important;
  padding-top:10px!important;
}
.catalog-results .product-price{
  position:relative!important;
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:6px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:8px 0 6px!important;
  overflow:visible!important;
  color:var(--wine)!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid rgba(177,139,90,.34)!important;
  box-shadow:none!important;
  white-space:nowrap!important;
  font-family:var(--serif)!important;
  line-height:1!important;
  letter-spacing:0!important;
}
.catalog-results .product-price::after{
  display:none!important;
  content:none!important;
}
.catalog-results .product-price-prefix{
  display:inline-block!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:var(--brass)!important;
  font-family:var(--sans)!important;
  font-size:8px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
.catalog-results .product-price-value{
  display:inline-block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:var(--wine)!important;
  font-family:var(--serif)!important;
  font-size:21px!important;
  font-weight:600!important;
  font-variant-numeric:tabular-nums lining-nums!important;
  line-height:1!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
}
.catalog-results .buy-product{
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  height:44px!important;
  margin:0!important;
  padding:0 13px!important;
  justify-content:space-between!important;
  font-size:9px!important;
  letter-spacing:.10em!important;
  white-space:nowrap!important;
}

@media(max-width:700px){
  .catalog-results .product-grid{
    column-gap:12px!important;
    row-gap:26px!important;
  }
  .catalog-results .product-photo{margin-bottom:10px!important}
  .catalog-results .product-name{
    min-height:0!important;
    height:auto!important;
    font-size:15px!important;
    line-height:1.13!important;
    letter-spacing:-.012em!important;
  }
  .catalog-results .product-meta{
    min-height:0!important;
    margin-top:7px!important;
    padding-bottom:6px!important;
    font-size:7.5px!important;
  }
  .catalog-results .product-composition{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    padding:7px 0 8px!important;
    font-size:9px!important;
    line-height:1.34!important;
  }
  .catalog-results .product-composition small{
    display:block!important;
    margin:0 0 4px!important;
    padding:0!important;
    font-size:7.5px!important;
  }
  .catalog-results .product-composition span{display:block!important}
  .catalog-results .card-sizes{
    gap:4px!important;
    margin-top:7px!important;
  }
  .catalog-results .product-buy{
    gap:5px!important;
    padding-top:8px!important;
  }
  .catalog-results .product-price{
    gap:5px!important;
    padding:7px 0 5px!important;
  }
  .catalog-results .product-price-prefix{
    font-size:7px!important;
    letter-spacing:.09em!important;
  }
  .catalog-results .product-price-value{
    font-size:clamp(16px,4.45vw,18px)!important;
    letter-spacing:0!important;
  }
  .catalog-results .buy-product{
    min-height:43px!important;
    height:43px!important;
    padding:0 10px!important;
    font-size:8px!important;
    letter-spacing:.075em!important;
  }
}

@media(max-width:370px){
  .catalog-results .product-grid{column-gap:10px!important;row-gap:24px!important}
  .catalog-results .product-name{font-size:14px!important}
  .catalog-results .product-price-value{font-size:15px!important}
  .catalog-results .product-price-prefix{font-size:6.5px!important}
  .catalog-results .buy-product{font-size:7.5px!important}
}

/* Luxury price typography — catalogue and Top Sales. */
:root{
  --lf-price-serif:Didot,"Bodoni 72","Bodoni MT","Baskerville","Times New Roman",Georgia,serif;
}

.catalog-results .product-price,
.top-sale-info>strong{
  font-family:var(--lf-price-serif)!important;
  font-weight:500!important;
  font-style:normal!important;
  font-variant-numeric:tabular-nums lining-nums!important;
  font-feature-settings:"tnum" 1,"lnum" 1!important;
  letter-spacing:.012em!important;
  color:var(--wine)!important;
  text-rendering:optimizeLegibility;
}

.catalog-results .product-price-value{
  font-family:var(--lf-price-serif)!important;
  font-size:22px!important;
  font-weight:500!important;
  font-style:normal!important;
  line-height:.96!important;
  letter-spacing:.005em!important;
  font-variant-numeric:tabular-nums lining-nums!important;
  font-feature-settings:"tnum" 1,"lnum" 1!important;
  color:var(--wine)!important;
}

.catalog-results .product-price-prefix{
  font-family:var(--lf-price-serif)!important;
  font-size:11px!important;
  font-weight:400!important;
  font-style:italic!important;
  line-height:1!important;
  letter-spacing:.025em!important;
  text-transform:none!important;
  color:var(--brass)!important;
  transform:translateY(-1px);
}

.top-sale-info>strong{
  font-size:20px!important;
  line-height:1!important;
}

@media(max-width:700px){
  .catalog-results .product-price-value{
    font-size:18px!important;
    line-height:.98!important;
    letter-spacing:0!important;
  }
  .catalog-results .product-price-prefix{
    font-size:10px!important;
    letter-spacing:.015em!important;
  }
  .top-sale-info>strong{
    font-size:17px!important;
    line-height:1!important;
  }
}

@media(max-width:370px){
  .catalog-results .product-price-value{font-size:17px!important}
  .catalog-results .product-price-prefix{font-size:9.5px!important}
  .top-sale-info>strong{font-size:16px!important}
}


/* Product text uses the shared catalogue; cards keep their compact layout. */
.detail-description-full{max-width:860px;margin:48px auto 0;padding:32px 0 0;border-top:1px solid rgba(116,92,71,.18);color:var(--ink,#312c29)}
.detail-description-full h2{font-family:var(--font-display,Georgia,serif);font-size:clamp(27px,3vw,38px);font-weight:400;line-height:1.2;margin:0 0 22px}
.detail-description-full h3{font-size:16px;font-weight:500;line-height:1.4;margin:25px 0 10px}
.detail-description-full p{font-size:15px;line-height:1.8;margin:0 0 16px;max-width:78ch}
.detail-composition strong{font-weight:500}
@media(max-width:700px){.detail-description-full{margin-top:30px;padding-top:24px}.detail-description-full p{font-size:14px;line-height:1.75}}

/* Luxury typography: real medium/semibold Cyrillic faces, served locally. */
:root{
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Manrope",Arial,"Helvetica Neue",sans-serif;
  --lf-price-serif:var(--serif);
  --lf-product-title-weight:600;
  --lf-product-title-size:22px;
  --font-display:var(--serif);
}
body{
  font-weight:500;
}
.product-detail-copy h1{font-weight:600}
.catalog-results .product-name{
  font-size:var(--lf-product-title-size)!important;
  line-height:1.18!important;
}
.catalog-results .product-price,
.catalog-results .product-price-value,
.top-sale-info>strong{font-weight:600!important}
.catalog-results .product-price-value{font-size:24px!important}
.top-sale-info>strong{font-size:22px!important}
.catalog-results .product-price-prefix{font-weight:500!important}
.product-detail-description,
.detail-description-full p{
  font-weight:500;
  color:#514947;
}
.detail-description-full h3,
.detail-composition strong{
  font-weight:600;
}
.detail-description-full p{
  max-width:74ch;
}
.detail-description-full h2{font-weight:600}
@media(max-width:980px){
  :root{--lf-product-title-size:20px}
}
@media(max-width:700px){
  :root{--lf-product-title-size:17px}
  .catalog-results .product-name{line-height:1.2!important}
  .catalog-results .product-price-value{font-size:20px!important}
  .top-sale-info>strong{font-size:19px!important}
}
@media(max-width:370px){
  :root{--lf-product-title-size:16px}
  .catalog-results .product-price-value{font-size:19px!important}
  .top-sale-info>strong{font-size:18px!important}
}

/* A discreet recovery control when playback is blocked or still loading. */
.editorial-video-toggle{
  position:absolute;
  right:18px;
  bottom:20px;
  z-index:5;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  max-width:calc(100% - 36px);
  min-height:44px;
  padding:11px 16px;
  border:1px solid rgba(177,139,90,.85);
  border-radius:2px;
  background:rgba(255,253,250,.96);
  color:var(--wine);
  box-shadow:0 5px 20px rgba(28,24,24,.16);
  font:600 11px/1.4 var(--sans);
  letter-spacing:.03em;
  cursor:pointer;
}
.editorial-video-toggle::before{
  content:'';
  width:0;height:0;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  border-left:7px solid currentColor;
}
.editorial-video-toggle[hidden]{display:none!important}
.editorial-video-toggle:focus-visible{outline:2px solid var(--brass);outline-offset:4px}

/* v2.11.41: reserve real layout space for mobile filter actions. */
@media(max-width:700px){
  .catalog-filters{
    display:flex!important;flex-direction:column!important;
    height:100vh!important;height:100dvh!important;
    max-height:100vh!important;max-height:100dvh!important;
    padding:0!important;overflow:hidden!important;
  }
  .catalog-filters .filter-panel-head{
    position:relative!important;flex:0 0 auto!important;
    margin:0!important;padding:12px 20px!important;
  }
  .catalog-filters .filter-panel-body{
    flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
    padding:22px 20px 28px;overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .catalog-filters .filter-panel-body>.filter-group:last-child{margin-bottom:0}
  .catalog-filters .filter-panel-actions{
    position:relative;left:auto;bottom:auto;flex:0 0 auto;
    width:100%;transform:none;transition:none;
    padding-bottom:max(12px,env(safe-area-inset-bottom));
  }
  .catalog-filters .filter-panel-actions .button{white-space:normal;line-height:1.4}
  .catalog-filters .filter-panel-actions .button span{line-height:1.2}
}

/* ========================================================================== 
   L-FLOWERS 2.13.6 — order checkout
   Customer-facing order summary and messenger payment instructions.
   ========================================================================== */
.checkout-intro{
  max-width:510px;
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.65;
}
.checkout-order-summary,
.checkout-payment-section{
  margin-top:26px;
  padding:20px;
  border:1px solid rgba(177,139,90,.34);
  background:rgba(255,253,250,.72);
}
.checkout-summary-head,
.checkout-payment-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.checkout-summary-head h3,
.checkout-payment-heading h3{
  margin:0;
}
.checkout-summary-head>span{
  color:var(--muted);
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
}
.checkout-summary-items{
  display:flex;
  flex-direction:column;
  gap:0;
  border-top:1px solid rgba(48,35,31,.1);
  border-bottom:1px solid rgba(48,35,31,.1);
}
.checkout-summary-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:12px 0;
  border-bottom:1px solid rgba(48,35,31,.08);
}
.checkout-summary-row:last-child{border-bottom:0}
.checkout-summary-product{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.checkout-summary-product strong{
  color:var(--ink);
  font-family:var(--serif);
  font-size:15px;
  font-weight:500;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.checkout-summary-product small{
  color:var(--muted);
  font-size:9px;
  letter-spacing:.04em;
}
.checkout-summary-row>b{
  flex:0 0 auto;
  color:var(--ink);
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
}
.checkout-summary-empty{
  margin:0;
  padding:14px 0;
  color:var(--muted);
  font-size:11px;
}
.checkout-summary-total{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  padding-top:15px;
}
.checkout-summary-total>span{
  color:var(--muted);
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.checkout-summary-total>strong{
  color:var(--wine);
  font-family:var(--serif);
  font-size:26px;
  font-weight:500;
  line-height:1;
}
.checkout-summary-note{
  margin:12px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.5;
}
.checkout-payment-section{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(255,253,250,.96),rgba(236,228,219,.66));
}
.checkout-payment-section:after{
  content:"L";
  position:absolute;
  right:9px;
  bottom:-34px;
  color:rgba(177,139,90,.08);
  font-family:var(--serif);
  font-size:118px;
  line-height:1;
  pointer-events:none;
}
.checkout-payment-state{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border:1px solid rgba(177,139,90,.38);
  color:var(--wine);
  background:rgba(255,253,250,.72);
  font-size:8px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.checkout-payment-state:before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--brass);
}
.checkout-payment-section.is-unavailable .checkout-payment-state{
  color:#7a3a3a;
  border-color:rgba(122,58,58,.25);
}
.checkout-payment-section.is-unavailable .checkout-payment-state:before{background:#9a5b5b}
.checkout-payment-method{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:13px;
  align-items:start;
  padding:15px 0 4px;
  border-top:1px solid rgba(48,35,31,.1);
}
.checkout-payment-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(177,139,90,.4);
  border-radius:50%;
  color:var(--wine);
  background:var(--white);
}
.checkout-payment-icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.checkout-payment-copy{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}
.checkout-payment-copy strong{
  color:var(--ink);
  font-family:var(--serif);
  font-size:18px;
  font-weight:500;
  line-height:1.2;
}
.checkout-payment-copy small{
  color:var(--muted);
  font-size:10px;
  line-height:1.55;
}
.checkout-payment-trust{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid rgba(48,35,31,.09);
}
.checkout-payment-trust span{
  color:var(--muted);
  font-size:9px;
  line-height:1.35;
}
.checkout-pay-button{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px!important;
  min-height:58px!important;
  padding:14px 17px!important;
}
.checkout-pay-button .checkout-pay-label{
  justify-self:start;
  font-size:10px!important;
  line-height:1.2!important;
}
.checkout-pay-button .checkout-pay-amount{
  color:#f1ddc0;
  font-family:var(--serif);
  font-size:17px;
  font-weight:500;
  letter-spacing:0;
  line-height:1;
  white-space:nowrap;
}
.checkout-pay-button .icon-arrow{
  justify-self:end;
  font-size:17px!important;
}
.checkout-pay-button[disabled],
.checkout-pay-button[aria-disabled="true"]{
  opacity:.55;
  cursor:not-allowed;
  transform:none!important;
}
.checkout-payment-unavailable{
  margin:10px 0 0;
  padding:10px 12px;
  border-left:2px solid rgba(95,39,48,.45);
  background:rgba(95,39,48,.05);
  color:var(--muted);
  font-size:10px;
  line-height:1.5;
}
.checkout-submit-error{
  margin:0 0 12px;
  padding:11px 12px;
  border-left:2px solid var(--wine);
  background:rgba(95,39,48,.06);
  color:var(--wine);
  font-size:11px;
  line-height:1.45;
}
.order-success-page[data-payment-state="success"] .order-success-mark{
  color:var(--wine);
}
.order-success-page[data-payment-state="pending"] .order-success-mark{
  color:var(--brass);
}
@media(max-width:700px){
  .checkout-intro{font-size:11px;line-height:1.55}
  .checkout-order-summary,
  .checkout-payment-section{margin-top:20px;padding:16px 14px}
  .checkout-summary-row{gap:10px;padding:11px 0}
  .checkout-summary-product strong{font-size:14px}
  .checkout-summary-total>strong{font-size:23px}
  .checkout-payment-method{grid-template-columns:38px minmax(0,1fr);gap:11px}
  .checkout-payment-icon{width:38px;height:38px}
  .checkout-payment-copy strong{font-size:17px}
  .checkout-payment-copy small{font-size:9px;line-height:1.5}
  .checkout-payment-trust span{font-size:8px}
  .checkout-pay-button{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label arrow" "amount arrow";gap:4px 10px!important;text-align:left}
  .checkout-pay-button .checkout-pay-label{grid-area:label}
  .checkout-pay-button .checkout-pay-amount{grid-area:amount;justify-self:start;font-size:16px}
  .checkout-pay-button .icon-arrow{grid-area:arrow;align-self:center}
}


/* ========================================================================== 
   L-FLOWERS 2.12.2 — checkout UX audit
   Keep the single-page checkout calm and explicit: reveal meaningful hints,
   group address controls under Delivery, expose a cart-edit action and keep
   customer-facing payment copy non-technical.
   ========================================================================== */
.checkout-modal .field-hint{display:block!important;font-size:10px;line-height:1.5}
.checkout-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}
.checkout-section-heading h3{margin:0!important}
.checkout-check-inline{flex:0 0 auto!important;color:var(--ink)!important}
.checkout-options-single{grid-template-columns:1fr}
.checkout-delivery-options{grid-template-columns:1fr;margin-top:12px}
.checkout-delivery-options .field-hint{margin:0 0 0 25px;font-size:9px;line-height:1.45}
.checkout-check:has(input:disabled){opacity:.48;cursor:not-allowed}
.checkout-card [data-checkout-form] input[readonly]{background:rgba(236,228,219,.55);color:var(--muted);cursor:default}
.checkout-optional{display:inline-block;margin-left:6px;color:var(--muted);font-family:var(--sans);font-size:8px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;vertical-align:middle}.checkout-required{display:inline-block;margin-left:6px;color:var(--wine);font-family:var(--sans);font-size:8px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;vertical-align:middle}
.checkout-summary-actions{display:flex;align-items:center;gap:12px;min-width:0}
.checkout-summary-actions>span{color:var(--muted);font-size:9px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.checkout-summary-actions>button{padding:0 0 2px;border:0;border-bottom:1px solid rgba(95,39,48,.36);background:transparent;color:var(--wine);font:inherit;font-size:9px;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.checkout-summary-actions>button:hover,.checkout-summary-actions>button:focus-visible{border-color:var(--wine);outline:none}
.checkout-summary-delivery{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0 0;color:var(--muted);font-size:10px}
.checkout-summary-delivery strong{color:var(--ink);font-size:10px;font-weight:600}
@media(max-width:700px){
  .checkout-section-heading{align-items:flex-start;flex-direction:column;gap:9px}
  .checkout-check-inline{align-self:flex-start}
  .checkout-summary-head{align-items:flex-start}
  .checkout-summary-actions{align-items:flex-end;flex-direction:column;gap:5px}
  .checkout-summary-actions>button{font-size:9px}
  .checkout-delivery-options .field-hint{font-size:9px}
  .checkout-payment-trust span{font-size:9px}
}

/* ==========================================================================
   L-FLOWERS 2.12.6 — checkout messenger spacing and delivery label
   Keep the required messenger block readable on mobile, including validation
   hints, without changing its mandatory Telegram/MAX logic.
   ========================================================================== */
.contact-channel-section h4{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  column-gap:10px;
  row-gap:4px;
  margin:0 0 8px;
  line-height:1.3;
}
.contact-channel-section h4 .checkout-required{margin-left:0}
.contact-channel-section .contact-channel-note{margin:0 0 14px;line-height:1.55}
.contact-channel-section .contact-channel-group{margin:0}
.checkout-modal .contact-channel-section .field-hint{
  display:block!important;
  margin:12px 2px 0!important;
  padding:0!important;
  font-size:10px;
  line-height:1.55;
}
.contact-channel-section .contact-channel-error{
  margin:8px 2px 0;
  line-height:1.5;
}
.contact-channel-section .contact-channel-error[hidden]{display:none!important}
@media(max-width:700px){
  .contact-channel-section{margin-top:21px;padding-top:20px}
  .contact-channel-section h4{column-gap:9px;row-gap:5px;margin-bottom:9px}
  .contact-channel-section .contact-channel-note{margin-bottom:14px;font-size:11px;line-height:1.55}
  .contact-channel-group{gap:10px}
  .checkout-modal .contact-channel-section .field-hint{margin-top:12px!important;font-size:10px!important;line-height:1.55}
  .contact-channel-section .contact-channel-error{margin-top:8px;font-size:11px;line-height:1.5}
}


/* ========================================================================== 
   L-FLOWERS 2.13.1 — payment-choice polish + optional Telegram username
   The checkout remains compact on desktop and stacks safely on mobile.
   ========================================================================== */
.telegram-username-field{
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(177,139,90,.28);
  background:rgba(255,253,250,.72);
}
.telegram-username-field[hidden]{display:none!important}
.telegram-username-field>label{
  display:block!important;
  min-width:0;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  font-size:10px!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
.telegram-username-field>label .checkout-optional{margin-left:6px}
.telegram-username-input{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:8px;
  margin-top:8px;
  min-width:0;
  border:1px solid var(--line);
  background:var(--white);
  padding:0 12px;
}
.telegram-username-input>span{
  color:var(--wine);
  font-family:var(--serif);
  font-size:19px;
  line-height:1;
}
.checkout-card .telegram-username-input input{
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  margin:0!important;
  padding:11px 0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  font-size:13px!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.telegram-username-field .field-hint{margin-top:8px!important}

.checkout-payment-section.is-manual-selected .checkout-payment-state:before{background:var(--wine)}
.checkout-pay-button[data-payment-mode="messenger"] .checkout-pay-amount{color:#ead0aa}

@media(max-width:700px){
  .telegram-username-field{margin-top:13px;padding:12px 11px}
  .telegram-username-input{padding:0 10px}
}



/* ========================================================================== 
   L-FLOWERS 2.13.2 — checkout structure, phone UX and modal accessibility
   ========================================================================== */
/* Author-level layout rules use display:flex/grid on checkout labels. Explicitly
   preserve the HTML hidden contract so conditional fields cannot remain visible. */
.checkout-card [data-checkout-form] [hidden]{display:none!important}
.checkout-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.checkout-card [data-checkout-form] input[aria-invalid="true"]{
  border-color:rgba(95,39,48,.72)!important;
  box-shadow:0 0 0 3px rgba(95,39,48,.08)!important;
}
.checkout-card [data-checkout-form] .form-consent>span{min-width:0;overflow-wrap:anywhere}
.checkout-card [data-checkout-form] .form-consent>span>label{
  display:inline;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  text-transform:none;
  cursor:pointer;
}
.checkout-card [data-checkout-form] .form-consent a{overflow-wrap:anywhere}
.checkout-modal[aria-hidden="false"] .checkout-card{isolation:isolate}
/* Prevent iOS Safari from zooming the viewport when a customer focuses a
   checkout control. Text-entry controls stay at 16px while the editorial
   labels and surrounding copy keep the compact luxury typography. */
@media(max-width:700px){
  .checkout-card [data-checkout-form] input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  .checkout-card [data-checkout-form] select,
  .checkout-card [data-checkout-form] textarea,
  .checkout-card .telegram-username-input input{font-size:16px!important}
}

/* 2.13.4 — native catalogue-card link semantics and keyboard focus. */
.product-card{position:relative}
.product-card-link{position:absolute;inset:0;z-index:2;border-radius:inherit;text-decoration:none;color:inherit}
.product-card-link:focus-visible{outline:2px solid var(--wine,#5f2730);outline-offset:3px}
.product-card:focus-within .product-open-cue{transform:translate(2px,-2px);background:var(--wine);border-color:rgba(255,253,250,.98)}
.product-card .buy-product,.product-card .product-size-cta{position:relative;z-index:3}


/* ==========================================================================
   L-FLOWERS 2.14.0 — Platega SBP + messenger payment choice
   ========================================================================== */
.checkout-payment-options{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0;padding-top:4px}
.checkout-payment-choice{position:relative;display:grid!important;grid-template-columns:18px 38px minmax(0,1fr);align-items:start;gap:10px!important;min-width:0;margin:0!important;padding:14px!important;border:1px solid rgba(48,35,31,.14)!important;background:rgba(255,253,250,.84)!important;color:var(--ink)!important;cursor:pointer;text-transform:none!important;letter-spacing:0!important;transition:border-color .2s,background .2s,box-shadow .2s,opacity .2s}
.checkout-payment-choice:hover{border-color:rgba(177,139,90,.55)!important}
.checkout-payment-choice:has(input:checked){border-color:var(--brass)!important;background:var(--cream)!important;box-shadow:0 0 0 1px rgba(177,139,90,.12)}
.checkout-payment-choice:has(input:focus-visible){outline:2px solid rgba(177,139,90,.45);outline-offset:2px}
.checkout-payment-choice.is-disabled{opacity:.58;cursor:not-allowed}
.checkout-payment-choice>input{width:17px!important;min-width:17px!important;height:17px!important;min-height:17px!important;margin:3px 0 0!important;padding:0!important;accent-color:var(--wine)}
.checkout-payment-choice .checkout-payment-icon{width:38px;height:38px}
.checkout-payment-choice .checkout-payment-copy{min-width:0;gap:4px}
.checkout-payment-choice .checkout-payment-copy strong{font-size:16px;overflow-wrap:anywhere}
.checkout-payment-choice .checkout-payment-copy small{font-size:9px;line-height:1.5;overflow-wrap:anywhere}
.checkout-payment-choice-status{display:inline-block;margin-top:5px;color:var(--wine);font-size:8px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.checkout-payment-choice.is-disabled .checkout-payment-choice-status{color:#7a3a3a}
.checkout-payment-section.is-manual-selected .checkout-payment-state:before{background:var(--wine)}
.checkout-payment-section.is-platega-selected .checkout-payment-state:before{background:var(--brass)}
.checkout-payment-guidance{position:relative;z-index:1;margin:13px 0 0;padding-top:12px;border-top:1px solid rgba(48,35,31,.09);color:var(--muted);font-size:9px;line-height:1.55}
.checkout-payment-guidance strong{color:var(--ink);font-weight:600}
.checkout-pay-button[data-payment-mode="messenger"] .checkout-pay-amount{color:#ead0aa}
@media(max-width:700px){.checkout-payment-options{grid-template-columns:1fr;gap:9px}.checkout-payment-choice{grid-template-columns:18px 36px minmax(0,1fr);gap:9px!important;padding:12px 11px!important}.checkout-payment-choice .checkout-payment-icon{width:36px;height:36px}.checkout-payment-choice .checkout-payment-copy strong{font-size:16px;line-height:1.2}.checkout-payment-choice .checkout-payment-copy small{font-size:9px;line-height:1.5}.checkout-payment-guidance{font-size:9px;line-height:1.55}}
@media(max-width:380px){.checkout-payment-choice{grid-template-columns:17px 32px minmax(0,1fr);gap:8px!important;padding:11px 9px!important}.checkout-payment-choice .checkout-payment-icon{width:32px;height:32px}.checkout-payment-choice .checkout-payment-copy strong{font-size:15px}}
