/*
 * L-FLOWERS product UI compatibility layer.
 * Product/card/detail geometry is intentionally restored from the user supplied v2.11.08-size-fix build.
 * Loaded after the current global stylesheet so later non-product site work remains intact.
 */
.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}
.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}
.product-modal.is-open .modal-card{transform:translateY(0)}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:980px){
.product-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
.product-grid{grid-template-columns:repeat(2,1fr);gap:27px 12px}
.product-name{font-size:15px}
.product-price{font-size:11px}
}
.product-grid{transition:opacity .22s,transform .22s}
.product-grid.is-refreshing{opacity:.15;transform:translateY(6px)}
@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;
  }
}
.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}
@media(max-width:700px){
.detail-gallery-thumb{width:64px;height:64px}
}
.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}
.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}
.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)}
@media(max-width:1180px){
.top-sales{padding-top:86px}
.top-sales-grid{gap:15px}
}
@media(max-width:980px){
.top-sales{padding:76px 0 100px}
.top-sales-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}
}
@media(max-width:700px){
.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}
}
.woocommerce .product_meta,.woocommerce .sku_wrapper,.woocommerce .product_meta .sku{display:none!important}
.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}
@media(max-width:700px){
.product-buy{min-width:86px;gap:7px}
.buy-product{padding:8px 9px;font-size:8px}
}
@keyframes reviewSlideIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.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}
.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}
.product-modal{backdrop-filter:blur(9px)}
@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){
.product-grid{gap:34px 16px}
.product-name{font-size:17px}
.product-assurance{font-size:7px}
}
@media(max-width:700px){
.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-results .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1180px){
.catalog-results .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
.catalog-results .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:46px 28px}
.product-photo{aspect-ratio:4 / 5}
@media (min-width:1600px){
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:52px 30px}
.product-name{font-size:20px}
}
@media (max-width:1180px){
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:980px){
.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:700px){
.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 10px}
.product-photo{aspect-ratio:3 / 4}
}
.top-sales-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 22px}
.top-sale-info h3{max-width:250px}
@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}
}
@media (max-width:700px){
.top-sales-grid{grid-template-columns:1fr 1fr;gap:28px 11px}
.top-sale-info h3{max-width:none}
}
.top-sales{padding-top:88px;padding-bottom:108px}
.top-sales-grid{gap:30px 20px}
.top-sale-photo{aspect-ratio:4 / 5}
@media (min-width:1600px){
.top-sales{padding-top:102px}
}
@media (max-width:1180px){
.top-sales{padding-top:76px;padding-bottom:94px}
}
@media (max-width:980px){
.top-sales{padding-top:66px;padding-bottom:84px}
.top-sales-grid{gap:28px 16px}
}
@media (max-width:700px){
.top-sales{padding-top:54px;padding-bottom:70px}
.top-sales-grid{gap:25px 11px}
.top-sale-photo{aspect-ratio:4 / 5}
}
.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%}
@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}
}
.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)}
.top-sales{padding-top:72px;padding-bottom:84px}
.product-photo img{object-position:center center}
@media (max-width:1180px){
.top-sales{padding-top:64px;padding-bottom:72px}
}
@media (max-width:980px){
.top-sales{padding-top:56px;padding-bottom:66px}
}
@media (max-width:700px){
.top-sales{padding-top:46px;padding-bottom:58px}
}
.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){
.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){
.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}
}
.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)}
.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}
@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}
.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}
}
.product-detail [data-add-cart][disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}
.product-size-cta{min-width:0}
.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}
}
.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){
.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}
}
@media (max-width:700px){
.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}
.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}
.product-modal{padding:10px}
}
@media (max-width:700px){
.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}
}
.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}
@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}
}
.product-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.product-info{
  flex:1 1 auto;
  min-height:0;
}
.product-copy{
  min-height:0;
}
.product-buy{
  align-self:end;
  margin-top:auto;
}
@media(max-width:700px){
.product-info{flex:1 1 auto}
.product-copy{flex:1 1 auto}
.product-buy{align-self:stretch;margin-top:auto}
}
@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}
}
.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 .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)}
@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-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 .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}
}
@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;
  }
}
.top-sale-number{left:14px;top:14px;padding:2px 4px;line-height:1;background:rgba(31,18,22,.2);border-radius:2px}
.catalog-grid .product-card{content-visibility:auto;contain-intrinsic-size:520px}
@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}
}
.product-grid{
  align-items:stretch;
}
.product-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%;
}
.product-info{
  display:flex!important;
  flex:1 1 auto;
  flex-direction:column!important;
  align-items:stretch!important;
  min-height:0;
  gap:12px;
}
.product-copy{
  display:flex!important;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
}
.product-meta{
  margin-top:5px;
}
.product-open-hint{
  margin-top:auto!important;
  align-self:flex-start;
}
.product-buy{
  margin-top:8px!important;
  align-self:stretch;
}
@media(max-width:700px){
.product-info{gap:10px}
.product-copy{flex:1 1 auto}
.product-open-hint{margin-top:auto!important}
.product-buy{margin-top:8px!important;}
}
@media(max-width:700px){
.product-buy{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
  }
.product-buy .product-price{
    display:block!important;
    width:100%!important;
    min-height:22px;
    line-height:1.2;
    text-align:left;
  }
.product-buy .buy-product{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    min-height:40px;
    justify-content:space-between;
    white-space:nowrap;
  }
}
.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}
@media(max-width:700px){
.product-open-cue{right:12px;bottom:12px;width:27px;height:27px}
}

/* Product-only resets needed because the modern global control system is loaded first. */
.product-card .buy-product,
.top-sale-card .top-sale-cta,
.product-detail .detail-size,
.product-detail .detail-gallery-thumb,
.product-detail .detail-buy .button {
  min-height: initial;
}
.product-card .product-photo-link,
.product-card .product-name-link {
  display: contents;
  color: inherit;
  text-decoration: none;
}

/* Product detail primary purchase CTA. Keep it substantial after the legacy product UI reset. */
.product-detail .detail-buy{
  align-items:center;
  gap:18px;
}
.product-detail .detail-buy .button{
  flex:0 0 auto;
  width:190px;
  min-width:190px;
  min-height:48px;
  padding:13px 18px;
  justify-content:space-between;
  gap:18px;
  line-height:1.2;
  white-space:nowrap;
}
.product-detail .detail-buy .button .icon-arrow{
  flex:0 0 auto;
}
@media(max-width:700px){
  .product-detail .detail-buy{
    gap:12px;
  }
  .product-detail .detail-buy .button{
    flex:1 1 auto;
    width:auto;
    min-width:150px;
    min-height:48px;
    padding:13px 15px;
  }
}
@media(max-width:380px){
  .product-detail .detail-buy{
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .product-detail .detail-buy .button{
    width:100%;
    min-width:0;
  }
}

/* Product detail price presentation: a compact purchase stack with a clear,
   premium price panel above the primary CTA on desktop and mobile. */
.product-detail .detail-buy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:10px!important;
  margin-top:24px;
}
.product-detail .detail-price{
  box-sizing:border-box;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:max-content!important;
  min-width:min(300px,100%)!important;
  max-width:100%!important;
  min-height:56px!important;
  margin:0!important;
  padding:0 22px!important;
  border:1px solid rgba(177,139,90,.36);
  border-left:3px solid var(--wine);
  background:rgba(255,253,250,.78);
  box-shadow:0 8px 24px rgba(55,38,31,.07);
  color:var(--wine)!important;
  font-family:var(--serif)!important;
  font-size:27px!important;
  font-weight:600!important;
  font-variant-numeric:tabular-nums lining-nums;
  line-height:1!important;
  letter-spacing:-.015em!important;
  white-space:nowrap!important;
}
.product-detail .detail-price::before{
  content:'Цена';
  flex:0 0 auto;
  margin-right:14px;
  color:var(--brass);
  font-family:var(--sans);
  font-size:9px;
  font-weight:700;
  line-height:1;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.product-detail .detail-buy .button{
  width:300px!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
}
@media(max-width:700px){
  .product-detail .detail-buy{
    width:100%!important;
    align-items:stretch!important;
    gap:9px!important;
    margin-top:20px;
  }
  .product-detail .detail-price{
    width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    padding:0 14px!important;
    font-size:25px!important;
  }
  .product-detail .detail-buy .button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}
@media(max-width:380px){
  .product-detail .detail-price{
    min-height:52px!important;
    font-size:23px!important;
  }
}

/* Use the semibold display face without legacy rules restoring thin text. */
.product-detail-copy h1{font-weight:600}
.product-detail-description{font-weight:500;color:#514947}
