/* СОБРАНО Studio V5 — legibility, product discovery, conversion & accessible motion.
   Loaded after Studio V4. No API, CRM, checkout or pricing changes. */
:root{--s5-ink:#22251c;--s5-paper:#fbf7ef;--s5-gold:#e5c48d;--s5-edge:rgba(225,192,134,.33)}
/* Never let inherited light-on-dark text styles erase text in light panels. */
.route-shell .cta-band.studio-cta-band{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(218px,auto);
  align-items:center;gap:clamp(20px,4vw,56px);
  background:linear-gradient(120deg,#fffdf7 0%,#f8f0e3 68%,#ecddc5 100%)!important;
  color:var(--s5-ink)!important;border:1px solid #e4d3b4;
  border-radius:24px;padding:clamp(24px,4.1vw,52px);
  box-shadow:0 17px 48px rgba(0,0,0,.2);margin-top:8px;margin-bottom:45px;
  isolation:isolate;position:relative;overflow:hidden;
}
.route-shell .cta-band.studio-cta-band::after{
  content:'';position:absolute;width:220px;height:220px;right:-85px;top:-115px;
  background:radial-gradient(circle,#e5c48b67,transparent 68%);pointer-events:none;z-index:-1;
}
.route-shell .cta-band.studio-cta-band .studio-cta-copy{min-width:0}
.route-shell .cta-band.studio-cta-band h2,
.route-shell:not(:has(.lux-home)) .cta-band.studio-cta-band h2{
  color:#25251d!important;text-shadow:none!important;
  font-size:clamp(29px,3.5vw,49px);line-height:1.13;letter-spacing:-.035em;
  margin:4px 0 13px;max-width:760px;overflow-wrap:break-word;
}
.route-shell .studio-cta-copy h2 em{font-style:normal;color:#927039!important}
.route-shell .studio-cta-copy .eyebrow{color:#896432!important;margin-bottom:8px}
.route-shell .studio-cta-copy p,
.route-shell:not(:has(.lux-home)) .studio-cta-copy p{
  color:#5c5448!important;font-size:clamp(12px,1vw,14px);line-height:1.7;max-width:590px;
}
.route-shell .studio-cta-actions{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:10px;min-width:0}
.route-shell .studio-cta-actions .btn{margin:0!important;min-height:49px;font-size:11px;text-transform:none;letter-spacing:0;white-space:normal;text-align:center;padding:9px 19px}
.route-shell .studio-cta-actions .btn-gold{color:#261e14!important}
.route-shell .studio-secondary-btn{color:#382d20!important;background:rgba(255,255,255,.73);border:1px solid #bba47d;box-shadow:none}
.route-shell .studio-secondary-btn:hover{background:#fff;border-color:#a78955;box-shadow:0 8px 20px #b5975d30}
/* Secondary contrast safeguard for editorial sections sharing the dark route shell. */
.route-shell .brand-editorial .editorial-copy h2,
.route-shell:not(:has(.lux-home)) .brand-editorial .editorial-copy h2{color:#f8f0e0!important}
.route-shell .brand-editorial .editorial-copy>p,
.route-shell:not(:has(.lux-home)) .brand-editorial .editorial-copy>p{color:#cfc9bc!important}
.route-shell .brand-editorial .editorial-copy .concept-disclaimer{color:#c1b39c!important}
/* Events: images and calls to action are together; no empty space or hidden inner scrollbars. */
.route-shell .studio-events-section{padding:clamp(28px,4vw,50px) 0 25px}
.studio-events-heading{display:flex;justify-content:space-between;align-items:end;gap:26px;margin-bottom:23px}
.studio-events-heading>div{min-width:0}
.route-shell .studio-events-heading h2{color:#f5ead6!important;font-size:clamp(30px,3.2vw,46px);line-height:1.2;max-width:650px}
.route-shell .studio-events-heading>p{color:#c8bbab!important;line-height:1.65;font-size:12px;max-width:340px}
.route-shell .event-showcase.studio-events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.7vw,22px)}
.route-shell .occasion-card.studio-event-card{
  height:auto;min-height:clamp(275px,27vw,342px);border-radius:19px;
  border:1px solid var(--s5-edge);background:#1d2118;isolation:isolate;
  overflow:hidden;box-shadow:0 13px 30px #0003;
  transition:transform .32s cubic-bezier(.22,.8,.25,1),border-color .3s,box-shadow .3s;
}
.route-shell .occasion-card.studio-event-card::after{background:linear-gradient(180deg,transparent 12%,#10160c3d 37%,#10140cea 82%,#0f140bec 100%);z-index:0}
.route-shell .occasion-card.studio-event-card img{
  inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .45s ease;
}
.route-shell .occasion-card.studio-event-card>div.studio-event-overlay{
  position:relative;z-index:1;min-height:inherit;display:flex;flex-direction:column;
  align-items:flex-start;justify-content:flex-end;padding:clamp(16px,2vw,26px);
  overflow:visible!important;max-height:none!important;
}
.route-shell .studio-event-index{
  color:#f2d7a1;font:750 10px/1.2 var(--sans);letter-spacing:.19em;
  background:rgba(12,16,12,.45);border:1px solid rgba(233,201,146,.4);
  padding:7px 11px;border-radius:999px;margin-bottom:11px;
}
.route-shell .studio-event-overlay h3{
  color:#fff9ec!important;font-family:var(--serif);font-size:clamp(25px,2.25vw,33px);
  line-height:1.13;overflow:visible!important;max-height:none!important;
  hyphens:auto;text-wrap:balance;overflow-wrap:break-word;
}
.route-shell .studio-event-overlay p{font-size:12px;line-height:1.52;color:#eee5d9!important;margin:9px 0 16px;max-width:360px}
.route-shell .studio-event-overlay .studio-event-btn{
  min-height:43px;border-radius:30px;padding:9px 17px;font-size:10px;
  text-transform:none;letter-spacing:.01em;white-space:normal;
}
@media(hover:hover){
 .route-shell .occasion-card.studio-event-card:hover{transform:translateY(-5px);border-color:#e5c48ba6;box-shadow:0 20px 42px #0007}
 .route-shell .occasion-card.studio-event-card:hover img{transform:scale(1.045)}
}
/* One visible Telegram action near the footer, not two overlapping icons. */
.floating-contacts{transition:opacity .22s ease,visibility .22s ease,transform .22s ease}
body.studio-footer-visible .floating-contacts{
 opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(12px)!important;
}
.footer-social .footer-tg{transition:transform .24s ease,filter .24s ease}
.footer-social .footer-tg:hover{transform:translateY(-3px);filter:drop-shadow(0 0 8px rgba(45,168,238,.45))}
/* Modern focus, stable text wrapping and accessible actions without page flashing. */
.route-shell .btn,.route-shell button,.footer-nav a,.header a{touch-action:manipulation}
.route-shell .btn:focus-visible,.route-shell button:focus-visible,.footer-social a:focus-visible{outline:3px solid #ffdf9f!important;outline-offset:3px}
.route-shell .occasion-card .btn:active,.route-shell .studio-secondary-btn:active{transform:scale(.985)}
.route-shell .studio-event-card,.route-shell .studio-cta-band{content-visibility:visible!important}
/* Ensure white/pale surfaces always use dark text regardless of route theme. */
.route-shell .cta-band:not(.studio-cta-band){color:#25251d!important}
.route-shell .cta-band:not(.studio-cta-band) h2{color:#25251d!important;text-shadow:none!important}
.route-shell .cta-band:not(.studio-cta-band) p{color:#554c40!important}
/* Mobile first: a single flowing reading order, no horizontal scrolling. */
@media(max-width:1020px){
 .studio-events-heading{align-items:flex-start;flex-direction:column;gap:10px}
 .route-shell .studio-events-heading>p{max-width:650px}
 .route-shell .event-showcase.studio-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .route-shell .cta-band.studio-cta-band{grid-template-columns:1fr;gap:19px}
 .route-shell .studio-cta-actions{flex-direction:row;flex-wrap:wrap;justify-content:flex-start}
 .route-shell .studio-cta-actions .btn{flex:1 1 205px}
}
@media(max-width:610px){
 .route-shell .event-showcase.studio-events-grid{grid-template-columns:1fr;gap:14px}
 .route-shell .occasion-card.studio-event-card{min-height:270px;border-radius:15px}
 .route-shell .occasion-card.studio-event-card>div.studio-event-overlay{padding:19px}
 .route-shell .studio-event-overlay h3{font-size:29px}
 .route-shell .studio-events-section{padding:28px 0 15px}
 .route-shell .studio-events-heading h2{font-size:32px}
 .route-shell .cta-band.studio-cta-band{padding:24px 20px;border-radius:18px;margin-bottom:29px}
 .route-shell .cta-band.studio-cta-band h2{font-size:30px}
 .route-shell .studio-cta-actions{flex-direction:column}
 .route-shell .studio-cta-actions .btn{width:100%;flex:0 0 auto}
 .route-shell .studio-event-overlay .btn{min-height:44px}
 .route-shell .studio-cta-band{margin-top:5px}
 .footer-main{gap:14px}
}
@media(prefers-reduced-motion:reduce){
 .route-shell .occasion-card.studio-event-card,.route-shell .occasion-card.studio-event-card img,
 .floating-contacts,.footer-social .footer-tg{transition:none!important;animation:none!important}
}
