:root{--ink:#2e2228;--ink-soft:#6c5a61;--muted:#9a8890;--paper:#faf5f0;--paper-2:#f3eae2;--card:#fffdfb;--blush:#f3e1e4;--olive-soft:#e6e9de;--plum-dark:#241a1f;--rose:#b8465e;--rose-deep:#9c3450;--olive:#5e6b4f;--line:#e8dad3;--line-ink:#2e22281f;--shadow-sm:0 6px 20px #5a323e0f;--shadow-md:0 16px 40px #5a323e1a;--shadow-lg:0 30px 64px #3c222c29;--radius:14px;--radius-lg:22px;--maxw:1200px;--serif:"Cormorant", Georgia, "Times New Roman", serif;--sans:"Golos Text", system-ui, -apple-system, sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);-webkit-font-smoothing:antialiased;min-width:320px;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);letter-spacing:-.005em;margin:0;font-weight:600;line-height:1.06}.eyebrow{color:var(--rose);letter-spacing:.28em;text-transform:uppercase;font-size:.72rem;font-weight:600;font-family:var(--sans);align-items:center;gap:12px;margin:0 0 20px;display:inline-flex}.eyebrow:before{content:"";background:var(--rose);opacity:.6;width:28px;height:1px}.seal{color:var(--rose)}.seal.divider-seal{opacity:.9;width:46px;height:46px;margin:18px auto 0;display:block}.btn{font-family:var(--sans);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:13px 26px;font-size:.92rem;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s,color .2s,border-color .2s;display:inline-flex}.btn svg{width:18px;height:18px}.btn-primary{background:var(--rose);color:#fff;box-shadow:0 10px 24px #b8465e3d}.btn-primary:hover{background:var(--rose-deep);transform:translateY(-2px);box-shadow:0 14px 30px #9c345052}.btn-sm{padding:10px 18px;font-size:.85rem}.btn-block{width:100%}.btn-outline{border-color:var(--line-ink);color:var(--ink);background:0 0}.btn-outline:hover{border-color:var(--ink);transform:translateY(-2px)}.btn-ghost{color:#fff;background:0 0;border-color:#fff6}.btn-ghost:hover{color:var(--plum-dark);background:#fff}.btn-heart{background:var(--card);border:1px solid var(--line);width:42px;height:42px;color:var(--rose);border-radius:999px;flex:none;padding:0}.btn-heart svg{width:18px;height:18px}.btn-heart:hover{background:var(--blush);border-color:var(--rose);transform:translateY(-2px)}.link-arrow{color:var(--rose-deep);font-size:.88rem;font-weight:600;font-family:var(--sans);align-items:center;gap:7px;transition:gap .2s,color .2s;display:inline-flex}.link-arrow svg{width:16px;height:16px}.link-arrow:hover{gap:12px}.site-header{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#faf5f0db;justify-content:space-between;align-items:center;gap:24px;padding:15px clamp(16px,4vw,52px);display:flex;position:sticky;top:0}.brand{font-family:var(--serif);color:var(--ink);letter-spacing:.01em;align-items:center;gap:11px;font-size:1.5rem;font-weight:700;display:inline-flex}.brand-mark{width:30px;height:30px;color:var(--rose);flex:none}.nav{color:var(--ink-soft);gap:30px;font-size:.92rem;font-weight:500;display:flex}.nav a{transition:color .2s;position:relative}.nav a:after{content:"";background:var(--rose);width:0;height:1px;transition:width .25s;position:absolute;bottom:-5px;left:0}.nav a:hover{color:var(--ink)}.nav a:hover:after{width:100%}.header-phone{color:var(--ink);align-items:center;gap:8px;font-size:.94rem;font-weight:600;display:inline-flex}.header-phone-icon{width:17px;height:17px;color:var(--rose)}.section{padding:clamp(60px,8vw,108px) clamp(16px,4vw,52px)}.section-head{max-width:760px;margin:0 auto clamp(34px,5vw,56px)}.section-head.center{text-align:center}.section-head.center .eyebrow:before{display:none}.section-head.center .eyebrow{margin-bottom:14px}.section-head h2{font-size:clamp(2.2rem,5vw,3.6rem)}.section-sub{color:var(--ink-soft);max-width:560px;margin:18px auto 0;font-size:1.04rem;line-height:1.6}.section-head.center .section-sub{margin-left:auto;margin-right:auto}.hero{padding:clamp(28px,4vw,56px) clamp(16px,4vw,52px) clamp(48px,6vw,88px);position:relative;overflow:hidden}.hero-inner{max-width:var(--maxw);grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(28px,5vw,72px);margin:0 auto;display:grid;position:relative}.hero-copy{z-index:2;position:relative}.hero-copy h1{margin-bottom:24px;font-size:clamp(2.9rem,6.4vw,5.4rem);line-height:1.02}.hero-copy h1 em{color:var(--rose-deep);font-style:italic}.hero-text{color:var(--ink-soft);max-width:440px;margin:0 0 34px;font-size:1.12rem;line-height:1.65}.hero-cta{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.hero-meta{flex-wrap:wrap;gap:clamp(20px,4vw,46px);margin:40px 0 0;display:flex}.hero-meta-item{flex-direction:column;gap:2px;display:flex}.hero-meta-item b{font-family:var(--serif);color:var(--ink);font-size:1.9rem;font-weight:600;line-height:1}.hero-meta-item span{color:var(--muted);letter-spacing:.02em;font-size:.8rem}.hero-photo{z-index:1;position:relative}.hero-photo .photo{border-radius:260px 260px var(--radius-lg) var(--radius-lg);aspect-ratio:4/5;box-shadow:var(--shadow-lg)}.hero-photo:after{content:"";z-index:-1;background:radial-gradient(circle,#b8465e24,#0000 70%);border-radius:999px;width:130px;height:130px;position:absolute;inset:-18px -18px auto auto}.hero-badge{z-index:3;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-md);color:var(--ink);border-radius:999px;align-items:center;gap:11px;padding:12px 20px 12px 14px;font-size:.86rem;font-weight:500;display:inline-flex;position:absolute;bottom:34px;left:-18px}.hero-badge .round-ic{margin:0}.catalog-section{background:var(--paper)}.picker{max-width:var(--maxw);margin:0 auto clamp(30px,4vw,44px)}.picker-row{margin-bottom:20px}.picker-row:last-child{margin-bottom:0}.picker-label{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-size:.74rem;font-weight:600;display:block}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{border:1px solid var(--line);background:var(--card);color:var(--ink-soft);font-family:var(--sans);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:500;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.chip-ic{width:17px;height:17px;color:var(--rose);transition:color .2s}.chip:hover{border-color:var(--rose);transform:translateY(-1px)}.chip.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.chip.is-active .chip-ic{color:#fff}.catalog-meta{max-width:var(--maxw);border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;margin:0 auto 22px;padding-top:20px;display:flex}.catalog-count{color:var(--muted);font-size:.9rem}.catalog-count b{color:var(--ink);font-weight:600}.catalog-grid{max-width:var(--maxw);grid-template-columns:repeat(4,1fr);gap:22px;margin:0 auto;display:grid}.product-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;transition:transform .28s,box-shadow .28s,border-color .28s;display:flex;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-md);border-color:var(--blush);transform:translateY(-6px)}.product-photo{aspect-ratio:4/5;position:relative}.product-photo .tag{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--ink);letter-spacing:.02em;background:#faf5f0eb;border-radius:999px;padding:5px 11px;font-size:.72rem;font-weight:600;position:absolute;top:12px;left:12px}.product-body{flex-direction:column;flex:1;padding:16px 17px 18px;display:flex}.product-body h3{margin-bottom:5px;font-size:1.35rem}.product-tone{color:var(--muted);flex:1;margin:0 0 14px;font-size:.82rem;line-height:1.45}.product-price{font-size:1.05rem;font-weight:700;font-family:var(--sans);color:var(--ink);margin:0 0 14px}.product-price small{color:var(--muted);font-size:.78rem;font-weight:500}.product-actions{align-items:center;gap:8px;display:flex}.product-actions .btn-sm{flex:1}.catalog-empty{max-width:var(--maxw);text-align:center;color:var(--ink-soft);margin:0 auto;padding:60px 20px}.catalog-empty h3{margin-bottom:8px;font-size:1.6rem}.statement{background:var(--plum-dark);color:#f4e9ec;text-align:center;padding:clamp(64px,9vw,120px) clamp(16px,4vw,52px)}.statement-inner{max-width:860px;margin:0 auto}.statement .seal{color:var(--rose);opacity:.9;width:40px;height:40px;margin:0 auto 26px;display:block}.statement p{font-family:var(--serif);color:#fbf3f0;margin:0;font-size:clamp(1.7rem,3.6vw,2.9rem);font-weight:500;line-height:1.28}.statement p em{color:#e69fae;font-style:italic}.statement cite{font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#f4e9ec99;margin-top:26px;font-size:.82rem;font-style:normal;display:block}.delivery-section{background:var(--paper-2)}.delivery-grid{grid-template-columns:repeat(3,1fr);gap:22px;max-width:1060px;margin:0 auto 24px;display:grid}.delivery-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:34px 30px;transition:transform .25s,box-shadow .25s}.delivery-card:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}.delivery-num{font-family:var(--serif);color:var(--muted);letter-spacing:.1em;font-size:.95rem}.delivery-ic{width:60px;height:60px;color:var(--rose);place-items:center;margin:16px 0 20px;display:grid}.delivery-ic svg{width:52px;height:52px}.delivery-card h3{margin-bottom:10px;font-size:1.55rem}.delivery-card p{color:var(--ink-soft);margin:0;font-size:.94rem;line-height:1.55}.round-ic{border-radius:999px;flex:none;place-items:center;width:46px;height:46px;display:grid}.round-ic svg{width:22px;height:22px}.round-blush{background:var(--blush);color:var(--rose-deep)}.round-olive{background:var(--olive-soft);color:var(--olive)}.info-bar{border-radius:var(--radius);background:var(--card);border:1px solid var(--line);max-width:1060px;box-shadow:var(--shadow-sm);align-items:center;gap:16px;margin:0 auto 18px;padding:18px 24px;display:flex}.info-bar:last-child{margin-bottom:0}.info-bar strong{font-family:var(--serif);font-size:1.3rem;font-weight:600}.info-bar-note{color:var(--ink-soft);font-size:.94rem}.info-bar.promo{background:var(--blush);text-align:center;border-color:#0000;flex-wrap:wrap;justify-content:center}.info-bar.promo span.txt{color:var(--ink);font-size:1rem}.info-bar.promo b{color:var(--rose-deep);font-family:var(--sans);letter-spacing:.04em}.wedding-section{background:var(--paper)}.wedding-grid{max-width:var(--maxw);grid-template-columns:repeat(4,1fr);gap:22px;margin:0 auto 26px;display:grid}.wedding-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;transition:transform .25s,box-shadow .25s;display:flex;overflow:hidden}.wedding-card:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}.wedding-photo{aspect-ratio:3/4}.wedding-body{flex-direction:column;flex:1;padding:20px 18px;display:flex}.wedding-body h3{margin-bottom:9px;font-size:1.35rem}.wedding-body p{color:var(--ink-soft);flex:1;margin:0 0 16px;font-size:.9rem;line-height:1.55}.wedding-bar{max-width:var(--maxw);border-radius:var(--radius);background:var(--olive-soft);border:1px solid #0000;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:0 auto;padding:24px 30px;display:flex}.wedding-bar>span{color:var(--ink);align-items:center;gap:12px;font-size:1.02rem;display:inline-flex}.wedding-bar .round-ic{background:#fff}.gallery-section{background:var(--paper-2)}.gallery-grid-wrap{max-width:var(--maxw);grid-template-columns:1.4fr .6fr;align-items:start;gap:clamp(26px,4vw,48px);margin:0 auto;display:grid}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.gallery-photo{aspect-ratio:1;box-shadow:var(--shadow-sm);border-radius:12px;transition:transform .3s,box-shadow .3s}.gallery-photo:hover{box-shadow:var(--shadow-md);transform:scale(1.03)}.contact-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:30px;position:sticky;top:90px}.contact-card h3{margin-bottom:10px;font-size:1.9rem}.contact-lead{color:var(--ink-soft);margin:0 0 20px;font-size:.94rem;line-height:1.55}.contact-card input,.contact-card textarea{border:1px solid var(--line);width:100%;font-family:var(--sans);background:var(--paper);color:var(--ink);resize:vertical;border-radius:11px;margin-bottom:12px;padding:13px 15px;font-size:.94rem;transition:border-color .2s,background .2s}.contact-card input:focus,.contact-card textarea:focus{border-color:var(--rose);background:#fff;outline:none}.contact-card input::placeholder,.contact-card textarea::placeholder{color:var(--muted)}.contact-note{color:var(--ink-soft);align-items:flex-start;gap:9px;margin:14px 0 0;font-size:.83rem;line-height:1.5;display:flex}.contact-note svg{flex:none;margin-top:1px}.site-footer{background:var(--plum-dark);color:#efe4e7;padding:clamp(48px,6vw,72px) clamp(16px,4vw,52px) 0}.footer-inner{max-width:var(--maxw);grid-template-columns:1.4fr 1fr 1fr;gap:36px;margin:0 auto;padding-bottom:40px;display:grid}.footer-inner .brand{color:#fff}.footer-inner .brand-mark{color:var(--rose)}.footer-tag{color:#efe4e7a8;max-width:320px;margin:16px 0 0;font-size:.94rem;line-height:1.6}.footer-col h4{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#efe4e780;margin-bottom:16px;font-size:.74rem}.footer-col a,.footer-col p{color:#efe4e7d1;margin-bottom:11px;font-size:.94rem;transition:color .2s;display:block}.footer-col a:hover{color:#fff}.footer-bottom{max-width:var(--maxw);text-align:center;color:#efe4e780;border-top:1px solid #efe4e724;margin:0 auto;padding:22px 0;font-size:.84rem}.photo{background:linear-gradient(135deg,#efd9df 0%,#e4c8bf 55%,#dcd7c3 100%);position:relative;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%;transition:opacity .4s,transform .6s}.photo img.is-broken{opacity:0}.product-card:hover .product-photo img,.wedding-card:hover .wedding-photo img{transform:scale(1.04)}.reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(20px)}.reveal.is-visible{opacity:1;transform:none}:focus-visible{outline:2px solid var(--rose);outline-offset:3px}@media (width<=1080px){.catalog-grid{grid-template-columns:repeat(3,1fr)}.wedding-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=940px){.nav{display:none}.hero-inner{grid-template-columns:1fr;gap:34px}.hero-photo{width:100%;max-width:460px;margin:0 auto}.hero-photo .photo{aspect-ratio:4/4.4}.gallery-grid-wrap{grid-template-columns:1fr}.contact-card{max-width:560px;margin:0 auto;position:static}.footer-inner{grid-template-columns:1fr 1fr}}@media (width<=720px){.catalog-grid{grid-template-columns:repeat(2,1fr)}.delivery-grid{grid-template-columns:1fr;max-width:460px}.info-bar{flex-wrap:wrap}}@media (width<=560px){.header-phone{display:none}.site-header{justify-content:space-between}.hero-copy h1{font-size:clamp(2.5rem,12vw,3.4rem)}.catalog-grid{grid-template-columns:1fr;max-width:360px}.catalog-grid.two-up{grid-template-columns:repeat(2,1fr);max-width:none}.wedding-grid{grid-template-columns:1fr;max-width:360px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-inner{grid-template-columns:1fr;gap:28px}.hero-badge{left:12px}.catalog-meta{flex-direction:column;gap:8px}}@media (width<=380px){.catalog-grid.two-up{grid-template-columns:1fr;max-width:320px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}.reveal{opacity:1;transform:none}}.header-actions{align-items:center;gap:14px;display:inline-flex}.header-action{background:var(--card);border:1px solid var(--line);width:42px;height:42px;color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:transform .2s,background .2s,border-color .2s,color .2s;display:inline-flex;position:relative}.header-action svg{width:19px;height:19px}.header-action:hover{background:var(--blush);border-color:var(--rose);color:var(--rose-deep);transform:translateY(-2px)}.badge-count{background:var(--rose);color:#fff;min-width:18px;height:18px;font-size:.68rem;font-weight:700;font-family:var(--sans);border:2px solid var(--paper);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;line-height:1;display:inline-flex;position:absolute;top:-4px;right:-4px}.btn-heart.is-active{background:var(--rose);border-color:var(--rose);color:#fff}.btn-heart.is-active:hover{background:var(--rose-deep)}.btn-primary.is-added{background:var(--olive);box-shadow:0 10px 24px #5e6b4f3d}.btn-primary.is-added:hover{background:var(--olive)}body.drawer-open{overflow:hidden}.drawer-root{z-index:100;pointer-events:none;visibility:hidden;position:fixed;inset:0}.drawer-root.is-open{pointer-events:auto;visibility:visible}.drawer-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;background:#241a1f6b;transition:opacity .3s;position:absolute;inset:0}.drawer-root.is-open .drawer-overlay{opacity:1}.drawer{background:var(--paper);width:min(420px,100%);box-shadow:var(--shadow-lg);flex-direction:column;transition:transform .34s cubic-bezier(.32,.72,.2,1);display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.drawer-root.is-open .drawer{transform:translate(0)}.drawer-head{border-bottom:1px solid var(--line);background:var(--card);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.drawer-head h3{font-size:1.4rem}.drawer-close{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.drawer-close svg{width:18px;height:18px}.drawer-close:hover{background:var(--blush);border-color:var(--rose);transform:rotate(90deg)}.drawer-body{flex-direction:column;flex:1;padding:18px 22px;display:flex;overflow-y:auto}.drawer-empty{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:300px;margin:auto;display:flex}.drawer-empty h3{font-size:1.6rem}.drawer-empty p{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.5}.big-round{width:56px;height:56px;margin-bottom:4px}.big-round svg{width:26px;height:26px}.cart-list,.fav-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.cart-item,.fav-item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);grid-template-columns:70px 1fr auto;gap:14px;padding:12px;display:grid}.cart-item-img{object-fit:cover;background:var(--paper-2);border-radius:10px;width:70px;height:70px}.cart-item-info{min-width:0}.cart-item-info h4{margin-bottom:3px;font-size:1.08rem;line-height:1.15}.cart-item-info .product-tone{margin:0 0 8px;font-size:.78rem}.cart-item-info .product-price{font-family:var(--serif);color:var(--ink);margin:0;font-size:1.05rem;font-weight:600}.qty-control{align-items:center;gap:10px;margin-top:8px;display:inline-flex}.qty-control button{background:var(--paper);border:1px solid var(--line);width:26px;height:26px;color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:1rem;font-weight:600;line-height:1;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.qty-control button:hover{background:var(--rose);border-color:var(--rose);color:#fff}.qty-control span{text-align:center;min-width:18px;font-size:.92rem;font-weight:600}.cart-item-right{flex-direction:column;justify-content:space-between;align-items:flex-end;display:flex}.cart-item-price{font-family:var(--serif);color:var(--rose-deep);white-space:nowrap;margin:0;font-size:1.12rem;font-weight:600}.cart-remove{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:color .2s,background .2s;display:inline-flex}.cart-remove svg{width:18px;height:18px}.cart-remove:hover{color:var(--rose);background:var(--blush)}.fav-item{grid-template-columns:70px 1fr}.fav-item-info{grid-column:2}.fav-item-actions{border-top:1px dashed var(--line);grid-column:1/-1;align-items:center;gap:8px;margin-top:4px;padding-top:10px;display:flex}.cart-footer{border-top:1px solid var(--line);flex-direction:column;gap:12px;margin-top:auto;padding-top:18px;display:flex}.cart-total{color:var(--ink-soft);justify-content:space-between;align-items:baseline;font-size:1.05rem;display:flex}.cart-total b{font-family:var(--serif);color:var(--ink);font-size:1.6rem;font-weight:600}.form-success{background:var(--olive-soft);border:1px solid var(--olive);border-radius:var(--radius);color:var(--ink);align-items:center;gap:8px;margin:4px 0 0;padding:12px 14px;font-size:.9rem;font-weight:500;display:none}.form-success .header-phone-icon{color:var(--olive);width:18px;height:18px}.contact-card.is-success .form-success{animation:.4s fade-up;display:inline-flex}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=860px){.header-phone{display:none}.header-actions{gap:10px}.nav{display:none}}@media (width<=480px){.drawer{width:100%}.cart-item,.fav-item{grid-template-columns:60px 1fr}.cart-item-img{width:60px;height:60px}}

/* ===== mobile fixes (added) ===== */
@media (width<=560px){
  /* Каталог и галерея — одна колонка на телефоне: крупные фото, кнопки помещаются */
  .catalog-grid,.catalog-grid.two-up{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}
  /* Строка действий: кнопка тянется, сердце фиксировано и не обрезается */
  .product-actions{flex-wrap:nowrap}
  .product-actions .btn-sm{flex:1 1 auto;min-width:0}
  .btn-heart{flex:0 0 42px}
  /* Крупнее фото карточки на всю ширину */
  .product-photo{aspect-ratio:4/3}
}
