/* Garant Bani V5: production-preview visual finish over approved V5 themes.
   Functional flows, price engine, forms and manager API remain unchanged. */
:root{
  --v5-font-display:Georgia,'Times New Roman',serif;
  --v5-radius:18px;
  --v5-gold:#d49b53;
}
:root[data-theme="sun"]{
  --v5-gold:#c89146;
  --v5-gold-hover:#b77e34;
  --v5-hero-overlay:rgba(248,246,241,.0);
  --v5-ambient-bg:#f0f0e8;
  --v5-soft-accent:#eee6d5;
}
:root[data-theme="rain"]{
  --v5-gold:#e2ad65;
  --v5-gold-hover:#f0c587;
  --v5-hero-overlay:rgba(3,15,11,.10);
  --v5-ambient-bg:#1d3228;
  --v5-soft-accent:#2e4033;
}
html{scroll-behavior:smooth}
body{font-family:'Golos Text',Arial,sans-serif}
h1,h2,h3,.mood-head h2,.pain h2,.final-layout h2{
  font-family:var(--v5-font-display);
  font-weight:700;
  letter-spacing:-.035em;
}
h1 em,h2 em,h3 em{font-family:inherit;font-weight:inherit}
.section-top h2,.mood h2,.pain h2{line-height:1.09}
.demo-rail{font-size:11px;letter-spacing:.08em}
.header{
  position:sticky;top:0;z-index:70;
  backdrop-filter:blur(18px);
  box-shadow:0 1px 0 var(--v5-border);
}
.brand-mark{color:#fff}
.brand-words strong{letter-spacing:-.025em}
.btn{border-radius:10px;transition:transform .18s,filter .18s,background-color .18s}
.btn:hover{transform:translateY(-1px)}
.btn-accent{background:var(--v5-gold);color:#15241c;border-color:var(--v5-gold)}
.btn-accent:hover{background:var(--v5-gold-hover);border-color:var(--v5-gold-hover)}
.btn-dark{background:var(--pine)}
.btn-dark:hover{filter:brightness(1.09)}
.hero{
  padding-top:16px;
  background:
    radial-gradient(ellipse 60% 70% at 3% 5%,rgba(225,191,123,.14),transparent 65%),
    var(--cream);
}
:root[data-theme="rain"] .hero{
  background:
    radial-gradient(ellipse 68% 75% at 95% 15%,rgba(223,164,81,.09),transparent 68%),
    var(--cream);
}
.hero-toolbar{margin-bottom:10px}
.hero-weather{
  border-radius:100px;
  background:var(--v5-surface);
  border:1px solid var(--v5-border);
  color:var(--v5-text);
  box-shadow:0 5px 25px rgba(0,0,0,.05);
}
.weather-caption{color:var(--v5-muted)}
.weather-btn{border-radius:100px}
:root[data-theme="rain"] .weather-btn.active{color:#16251b}
.hero-grid{
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(25px,4vw,65px);
  align-items:center;
}
.hero-copy{padding-top:16px;padding-bottom:36px}
.hero-copy h1{
  font-size:clamp(45px,5vw,77px);
  line-height:1.035;letter-spacing:-.048em;
  max-width:760px;
}
.hero-lead{font-size:clamp(16px,1.35vw,19px);max-width:570px}
.hero-art{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.hero-image{
  aspect-ratio:5/4;
  min-height:0;
  border-radius:180px 180px 20px 20px;
  background:var(--v5-media-bg);
  box-shadow:0 20px 65px rgba(18,34,22,.17);
}
.hero-art-note{color:var(--v5-muted);font-size:11px;line-height:1.45;padding-top:10px}
.hero-proof{display:flex;gap:18px;flex-wrap:wrap}
.hero-proof>div{flex:1 1 125px}
.media-frame{
  background:var(--v5-media-bg);
  border-color:var(--v5-border);
}
.media-frame.media-ready{border:0}
.media-frame .v5-photo{
  position:absolute;inset:0;width:100%;height:100%;
  z-index:0;display:block;object-fit:cover;object-position:center;
  opacity:0;transition:opacity .36s ease;
}
.media-frame.media-ready .v5-photo{opacity:1}
.media-frame.media-ready:before{display:none}
.media-frame.media-ready .photo-placeholder-symbol,
.media-frame.media-ready .media-watermark,
.media-frame.media-ready .media-id,
.media-frame.media-ready .slot-name,
.media-frame.media-ready>small{display:none}
.media-frame.media-ready .slot-name{pointer-events:none}
.media-frame.media-ready.small-media:after{
  content:'';position:absolute;inset:45% 0 0;z-index:1;
  background:linear-gradient(transparent,rgba(12,20,16,.74));
  pointer-events:none;
}
.media-frame.media-ready.small-media .slot-name{
  display:block;z-index:2;position:absolute;left:16px;bottom:14px;
  max-width:90%;font-size:13px;font-weight:700;color:white;
  text-align:left;
}
.media-frame.media-ready.bundle-photo:after{
  content:'';position:absolute;inset:48% 0 0;z-index:1;
  background:linear-gradient(transparent,rgba(11,22,14,.78));
}
.media-frame.media-ready.bundle-photo>strong{
  display:block;position:absolute;bottom:24px;left:25px;right:18px;
  text-align:left;z-index:2;color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.35);
}
.media-frame.media-ready.bundle-photo>small{display:none}
.product-card{
  background:var(--v5-surface);
  border-color:var(--v5-border);
  border-radius:var(--v5-radius);
  box-shadow:0 12px 42px rgba(21,31,26,.035);
}
.product-media{aspect-ratio:5/4}
.product-body h3{font-family:var(--v5-font-display);font-size:clamp(22px,2vw,27px)}
.product-body p{color:var(--v5-muted)}
.product-price{color:var(--v5-text)}
.catalog-grid{gap:17px}
.catalog-filters{margin:25px 0 25px}
.filter{border-radius:100px;border-color:var(--v5-border);background:var(--v5-surface);color:var(--v5-text)}
.filter.active{background:var(--pine);color:#fff}
:root[data-theme="rain"] .filter.active{background:var(--v5-gold);color:#17271b}
.catalog,.details,.pain,.delivery,.faq,.mood{background:var(--v5-page)}
.pain{background:var(--v5-ambient-bg)}
.rule-line{color:var(--v5-text);border-color:var(--v5-border)}
.bundle-section{background:var(--v5-surface-alt)}
.bundle-card{border:1px solid var(--v5-border);border-radius:var(--v5-radius);background:var(--v5-surface)}
.bundle-photo{min-height:490px}
.bundle-info{background:var(--v5-surface)}
.bundle-info h3{font-family:var(--v5-font-display)}
.bundle-item,.bundle-info .tiny{color:var(--v5-muted)}
.mood{background:var(--v5-ambient-bg)}
.small-media{padding:0;box-shadow:0 14px 42px rgba(0,0,0,.12)}
.details-grid{gap:19px}
.detail-card{background:var(--v5-surface);padding:12px;border-radius:var(--v5-radius);border:1px solid var(--v5-border)}
.detail-photo{aspect-ratio:4/3}
.detail-card h3{font-family:var(--v5-font-display);font-size:21px;margin:18px 10px 8px}
.detail-card p{color:var(--v5-muted);margin:0 10px 14px}
.step{border-color:var(--v5-border)}
.step>span,.step-icon{color:var(--v5-gold)}
.step p{color:var(--v5-muted)}
.delivery-note{background:var(--v5-surface-soft);border-color:var(--v5-border)}
.builder-section{
  background:
    radial-gradient(ellipse 65% 80% at 100% 0,rgba(188,157,101,.1),transparent 55%),
    var(--v5-ambient-bg);
}
.builder-main,.builder-aside,.builder-preview,.quote-box{
  border-color:var(--v5-border);
}
.builder-preview-image{aspect-ratio:16/9;border-radius:10px;overflow:hidden}
.builder-preview-image.media-ready .v5-photo{object-fit:contain;background:var(--v5-media-bg)}
.preview-description{color:var(--v5-muted)}
:root[data-theme="rain"] .builder-section select,
:root[data-theme="rain"] .builder-section input{color:var(--v5-text);background:var(--v5-input)}
.faq-items details{border-color:var(--v5-border)}
.faq-items summary{color:var(--v5-text)}
.faq-items details p{color:var(--v5-muted)}
.final-cta{
  background:
    linear-gradient(94deg,rgba(11,29,22,.91) 0%,rgba(11,29,22,.81) 55%,rgba(11,29,22,.52) 100%),
    url('../media-v5/mood-evening.webp') center 42%/cover no-repeat,
    #15291d;
}
.final-cta h2,.final-cta p{color:#fff8e9}
.final-cta h2 em{color:#efc992}
.footer{border-top:1px solid var(--v5-border)}
.footer-links a,.footer-legal a{color:var(--v5-muted)}
:root[data-theme="rain"] .product-card .btn-dark,
:root[data-theme="rain"] .mood .btn-dark,
:root[data-theme="rain"] .faq .btn-dark,
:root[data-theme="rain"] .header-callback{background:var(--v5-gold);color:#17291e}
@media(max-width:1050px){
  .hero-copy h1{font-size:clamp(41px,5.2vw,65px)}
  .hero-grid{gap:25px}
  .bundle-photo{min-height:420px}
  .bundle-info{padding:32px}
}
@media(max-width:850px){
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:18px}
  .hero-copy{padding:8px 0 12px}
  .hero-copy h1{font-size:clamp(42px,8vw,64px)}
  .hero-image{aspect-ratio:5/4;max-height:660px}
  .hero-art-note{text-align:left}
  .hero-toolbar{margin-bottom:0}
  .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bundle-card{grid-template-columns:1fr}
  .bundle-photo{min-height:340px;aspect-ratio:16/9}
  .final-cta{background-position:center 55%}
}
@media(max-width:550px){
  .hero-copy h1{font-size:clamp(39px,10vw,55px)}
  .hero-image{aspect-ratio:4/4;min-height:0;border-radius:118px 118px 15px 15px}
  .hero-weather{max-width:100%;flex-wrap:wrap}
  .hero-proof{gap:10px}
  .hero-proof>div{flex:1 1 100px;font-size:12px}
  .product-media{aspect-ratio:4/3}
  .catalog-grid{grid-template-columns:minmax(0,1fr)}
  .product-card{max-width:520px}
  .bundle-photo{min-height:260px}
  .bundle-info{padding:23px 19px}
  .mood-images{grid-template-columns:1fr 1fr}
  .small-media,.small-media:last-child{aspect-ratio:3/4;transform:none}
  .details-grid{grid-template-columns:minmax(0,1fr)}
  .final-cta{background-position:center}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .media-frame .v5-photo{transition:none}
  .btn{transition:none}
}
