/* Promotion follows the existing offer-card grid and shared rows. */
.ruble-offer{grid-column:auto}
.ruble-offer-visual{position:relative;overflow:hidden;background:#202626}
.ruble-offer-visual img{position:absolute;inset:0;width:300%;max-width:none;height:100%;object-fit:cover;object-position:left}
.ruble-offer-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#10161520,#10161599)}
.ruble-offer-tag{position:absolute;top:22px;left:24px;z-index:1;color:white;font-size:14px;font-weight:550}
.ruble-offer-price{position:absolute;bottom:20px;left:26px;z-index:1;color:white;font-size:100px;font-weight:650;line-height:1;letter-spacing:-.06em}
.ruble-offer-price span{font-size:.55em}
.ruble-work-prices{list-style:none!important;padding:0!important;margin:12px 0 18px}
.ruble-work-prices li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0;border-bottom:1px solid #e8e9e5}
.ruble-work-prices strong{white-space:nowrap;color:#d7192a}
.ruble-eligibility{font-weight:600}
.ruble-offer-details{min-width:0}
.ruble-book:focus-visible{outline:3px solid #155aa6;outline-offset:4px}
@media(max-width:600px){.ruble-offer-price{font-size:88px}}
.ruble-max-heading .ruble-old-price{font-size:14px;line-height:1.5;color:#626969;margin:0 0 8px}.ruble-max-heading .ruble-old-price del{text-decoration-thickness:1px}.vp-card .ruble-max-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:7px}.ruble-max-price span{font-size:16px;line-height:1.3;font-weight:600;letter-spacing:0}.vp-card .ruble-package-total{font-size:16px;font-weight:700;line-height:1.4;margin:4px 0 9px;color:#232929}.vp-card .ruble-max-explain{font-size:13px;line-height:1.5;color:#626969;margin:0 0 9px}.vp-card .ruble-max-eligibility{font-size:13px;line-height:1.5;font-weight:650;color:#232929;margin:0 0 8px}.vp-card .ruble-max-terms{font-size:12px;line-height:1.5;color:#626969;margin:8px 0 0}.vp-card .ruble-max-heading .vp-materials{font-size:13px;line-height:1.5}.ruble-max-heading{height:auto!important;min-height:0!important}
/* Progressive enhancement: without JS the existing offer grid remains. */
.offers-carousel-controls{display:flex;justify-content:flex-end;gap:10px;margin:0 0 18px}
.offers-carousel-controls button{width:48px;height:48px;border:1px solid #d6d8d5;border-radius:50%;background:#fff;color:#252b2a;font-size:24px;cursor:pointer}
.offers-carousel-controls button:disabled{opacity:.35;cursor:default}
.offers-carousel-controls button:focus-visible,.offers-carousel:focus-visible{outline:3px solid #155aa6;outline-offset:3px}
.offers-grid.offers-carousel{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:4px 4px 14px;scrollbar-width:thin;align-items:stretch}
.offers-carousel>.offer-card{flex:0 0 calc((100% - 24px)/2);display:flex;flex-direction:column;scroll-snap-align:start;grid-row:auto}
.offers-carousel .offer-body{display:flex;flex-direction:column;flex:1;grid-row:auto}
.offers-carousel .offer-visual{flex:none}
.offers-carousel .offer-body>.offer-cta{margin-top:auto}
@media(max-width:600px){.offers-grid.offers-carousel{gap:16px}.offers-carousel>.offer-card{flex-basis:88%}.offers-carousel-controls{margin-bottom:12px}.offers-carousel-controls button{width:44px;height:44px}}
.offers-carousel .offer-body>.offer-cta{align-self:flex-start}
@media(min-width:901px){.service-offers:has(.offers-carousel) .offers-heading{padding-right:130px}.offers-carousel-controls{margin-top:-62px;margin-bottom:18px}}

/* Audit 2026-11-11: independent content flow; only the actions share a baseline. */
.vp-grid,#service-maintenance .vp-grid{align-items:stretch;grid-auto-rows:auto;gap:20px}
.vp-card,#service-maintenance .vp-card{display:flex;flex-direction:column;grid-row:auto;gap:18px;padding:22px;min-width:0}
.vp-card .vp-card-heading,#service-maintenance .vp-card-heading{height:auto;min-height:0}
.vp-card .vp-card-heading>h3,#service-maintenance .vp-card-heading>h3{margin:0 0 10px}
.vp-card .vp-card-heading>.vp-price,#service-maintenance .vp-card-heading>.vp-price{margin:0 0 6px;line-height:1.2}
.vp-card .vp-card-heading>.vp-materials,#service-maintenance .vp-card-heading>.vp-materials{margin:6px 0;font-size:13px;line-height:1.5}
.vp-card .ruble-max-heading>.vp-first-visit{font-size:13px;margin:6px 0;line-height:1.5}
.vp-card .ruble-max-heading>.ruble-max-eligibility{margin:6px 0;font-size:13px;line-height:1.5}
.vp-card .ruble-max-heading>.ruble-max-terms{margin:6px 0;font-size:12px;line-height:1.5}
.vp-card .ruble-max-price span{font-size:14px;font-weight:600}
.vp-card .ruble-package-details{margin:10px 0 0;padding:0;min-width:0}
.vp-card .ruble-package-details summary{white-space:normal;font-size:13px;line-height:1.5;padding:4px 0}
.vp-card .ruble-package-details[open]{margin-bottom:0}
.vp-card .ruble-package-details[open] summary{margin-bottom:8px}
.vp-card .ruble-package-details summary:focus-visible{outline:3px solid #173d64;outline-offset:4px}
.vp-card .vp-card-work h4,#service-maintenance .vp-card-work h4{margin:0 0 10px}
.vp-card .vp-card-work>ul,#service-maintenance .vp-card-work>ul{margin:0;min-height:0}
.vp-card>.vp-card-checks,#service-maintenance .vp-card>details.vp-card-checks{margin:0;padding-top:14px;align-self:stretch}
.vp-card>.to-response,#service-maintenance .vp-card>.to-response{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin: auto 0 0;padding-top:4px;align-self:stretch}
.vp-card>.to-response>a,#service-maintenance .vp-card>.to-response>a{box-sizing:border-box;min-width:0;min-height:56px;padding:10px 8px;overflow-wrap:normal;line-height:1.3;font-size:14px}
.vp-card>.to-response .to-book{flex-wrap:wrap;gap:5px}
@media(max-width:900px){.vp-card,#service-maintenance .vp-card{gap:16px;padding:20px}.vp-card>.to-response>a,#service-maintenance .vp-card>.to-response>a{min-height:52px}}

/* Shared desktop rows: short headings, works, checks, conditions, then actions. */
.vp-card .ruble-package-conditions{min-width:0}
.vp-card .ruble-package-conditions>p{font-size:12px;line-height:1.5;margin:0 0 5px}
.vp-card .ruble-package-conditions>.vp-first-visit{font-size:13px}
.vp-card .ruble-package-conditions>.ruble-max-eligibility{font-weight:600}
.vp-card .ruble-max-heading>.ruble-max-explain{margin:0 0 6px;font-size:13px;line-height:1.5}
.vp-card>.to-response>a,#service-maintenance .vp-card>.to-response>a{animation:none!important;transform:none!important;transition:background-color .2s,border-color .2s;min-height:56px}
@media(min-width:901px){
 .vp-card:has(>.vp-card-work),#service-maintenance .vp-card{display:grid;grid-row:span 5;grid-template-rows:subgrid;gap:16px}
 .vp-card>.vp-card-heading,#service-maintenance .vp-card>.vp-card-heading{grid-row:1;align-self:start}
 .vp-card>.vp-card-work,#service-maintenance .vp-card>.vp-card-work{grid-row:2;align-self:start}
 .vp-card>.vp-card-checks,#service-maintenance .vp-card>details.vp-card-checks{grid-row:3;align-self:start}
 .vp-card>.ruble-package-conditions,#service-maintenance .vp-card>.ruble-package-conditions{grid-row:4;align-self:start}
 .vp-card>.to-response,#service-maintenance .vp-card>.to-response{grid-row:5;margin:0;align-self:end}
}
/* Small screens: full-width actions keep the label and discount together. */
@media(max-width:600px){.vp-card>.to-response,#service-maintenance .vp-card>.to-response{grid-template-columns:1fr}.vp-card>.to-response>a,#service-maintenance .vp-card>.to-response>a{height:52px;min-height:52px}.vp-card>.to-response .to-book{flex-wrap:nowrap}}
