/* =========================================================
   PANORAMIKA — SUPER FINAL POLISH
   Final visual/UX safety layer over the stable Hybrid/v46 base.
   No core calculator or product logic lives here.
   ========================================================= */

:root{
  --sf-radius-xl:32px;
  --sf-radius-lg:26px;
  --sf-radius-md:18px;
  --sf-pad:clamp(22px,3vw,46px);
  --sf-text:#172D39;
  --sf-muted:#607784;
  --sf-line:#D8E4EA;
  --sf-shadow:0 24px 68px rgba(32,58,73,.085);
}

/* ---------- layout guardrails ---------- */
html{scroll-behavior:smooth}
body{overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*,*::before,*::after{box-sizing:border-box}
.container,.hero-grid,.section-head,.product-grid,.calc-layout,.calc-panel,.calc-result-card,.consult-studio,.consult-studio-copy,.consult-aside,.product-detail-grid,.product-story-band,.footer-grid{min-width:0}
section[id],#calculator,#request{scroll-margin-top:112px}
h1,h2,h3{overflow-wrap:break-word;text-wrap:balance}
p,.lead,.notice,.product-buy-note,.faq-a{overflow-wrap:break-word;text-wrap:pretty}
img{max-width:100%;height:auto}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.actions .btn{min-width:0}

/* ---------- premium typography rhythm ---------- */
.section-head{align-items:flex-end;gap:22px}
.section-head>div:first-child{max-width:790px}
.section-head h2{letter-spacing:-.035em}
.section-head p{max-width:720px;line-height:1.72}
.label{letter-spacing:.075em}

/* ---------- controls: clear hierarchy, larger targets ---------- */
.btn{min-height:48px;padding-inline:19px;display:inline-flex;align-items:center;justify-content:center;line-height:1.15}
.btn:focus-visible,a:focus-visible,button:focus-visible,[role="button"]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(79,119,143,.24)!important;
  outline-offset:3px!important;
}
.btn-primary{font-weight:800}

/* ---------- header refinement ---------- */
.site-header .header-inner{isolation:isolate}
.site-header .header-inner::after{content:"";position:absolute;pointer-events:none;inset:1px;border-radius:inherit;border-top:1px solid rgba(255,255,255,.64);opacity:.72;z-index:-1}
.header-right{min-width:0}
.header-place{white-space:nowrap}

/* ---------- hero: keep actions readable and intentional ---------- */
.hero-copy{padding:clamp(30px,4vw,54px)!important}
.hero-copy h1{max-width:690px}
.hero-copy .lead{max-width:650px;line-height:1.62}
.hero-actions{margin-top:26px}
.hero-kpi{margin-top:auto;padding-top:30px}
.hero-floating-card{max-width:min(360px,calc(100% - 36px))}
.hero-photo-card{overflow:hidden}

/* ---------- product cards: stable heights + crisp media ---------- */
.reference-card,.catalog-card{overflow:hidden}
.product-card .product-body,.catalog-card .product-body{display:flex;flex-direction:column;min-width:0}
.product-card h3,.catalog-card h3{line-height:1.16;text-wrap:balance}
.product-card .product-bottom,.catalog-card .product-bottom{margin-top:auto}
.product-photo,.catalog-shot img,.product-media-main img{will-change:auto!important}

/* ---------- catalog/search ---------- */
.catalog-tools{overflow:hidden}
.catalog-quick-chips{gap:8px}
.catalog-quick-chips button{min-height:42px}
.catalog-note{line-height:1.65}

/* ---------- calculator clarity ---------- */
.calc-panel,.calc-result-card{overflow:hidden}
.calc-fields{align-items:start}
.calc-field label{font-weight:750;color:#314E5E}
.calc-field-note{display:block;margin-top:7px;line-height:1.45;color:#728591}
.quick-calc-presets{gap:8px}
.quick-calc-preset{min-height:44px}
.calc-result-card .price-strong{letter-spacing:-.04em}
.calc-preview{overflow:hidden}

/* ---------- technical demos ---------- */
.live-stage,.construction-stage,.product-schematic-stage{overflow:hidden}
.live-controls,.construction-shell{overflow:hidden}
.live-mode-btn,.construction-row{min-width:0}
.live-mode-btn span,.construction-row b{overflow-wrap:break-word}

/* ---------- order/check section: fixes the screenshot issue ---------- */
.consult-studio.premium-order-check{
  display:grid!important;
  grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr)!important;
  gap:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:var(--sf-radius-xl)!important;
  background:rgba(249,252,253,.76)!important;
}
.consult-studio-copy{
  padding:clamp(34px,4.2vw,58px)!important;
  align-self:stretch;
}
.consult-studio-copy h2{max-width:830px;margin:10px 0 18px;font-size:clamp(34px,4.2vw,58px);line-height:1.02;letter-spacing:-.045em;color:var(--sf-text)}
.consult-lead{max-width:800px;margin:0;color:#5E7481;line-height:1.72;font-size:clamp(15px,1.25vw,18px)}
.consult-bullets{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;margin-top:30px!important}
.consult-bullet{
  display:grid!important;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:start;
  padding:18px 18px 19px!important;border:1px solid #DEE8ED;border-radius:18px;
  background:rgba(255,255,255,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
}
.consult-bullet>i{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#EFF5F8;color:#4F7185;font-style:normal;font-size:11px;font-weight:900;letter-spacing:.04em}
.consult-bullet b{display:block;margin:2px 0 5px;color:#203A49;font-size:15px;line-height:1.28}
.consult-bullet span{display:block;color:#6D808B;font-size:13px;line-height:1.55}
.consult-aside{
  min-width:0;padding:clamp(34px,3.6vw,52px)!important;border-radius:0!important;
  display:flex!important;flex-direction:column;justify-content:space-between;gap:34px;
  position:relative;overflow:hidden;
}
.consult-aside::before{content:"";position:absolute;pointer-events:none;width:280px;height:280px;right:-130px;top:-120px;border-radius:50%;background:radial-gradient(circle,rgba(178,216,235,.19),transparent 68%)}
.consult-aside-label{color:#C7DBE7!important;background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.13)!important}
.consult-aside h3{position:relative;margin:14px 0 14px;max-width:470px;color:#fff;font-size:clamp(27px,2.5vw,38px);line-height:1.07;letter-spacing:-.035em}
.consult-aside p{position:relative;max-width:520px;line-height:1.65!important}
.consult-mini-list{position:relative;display:grid;gap:10px;margin-top:24px}
.consult-mini-list span{display:flex;align-items:flex-start;gap:9px;color:rgba(237,246,250,.91);font-size:13px;line-height:1.48}
.consult-mini-list i{flex:0 0 21px;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:rgba(197,226,240,.13);border:1px solid rgba(217,237,247,.15);color:#D8EDF7;font-style:normal;font-size:11px}
.consult-actions{position:relative;margin:0!important}
.consult-aside .btn-line{color:#E5F2F8!important;border-color:rgba(255,255,255,.23)!important;background:rgba(255,255,255,.08)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.10)!important}
.consult-aside .btn-line:hover{background:rgba(255,255,255,.14)!important}

/* ---------- final CTAs ---------- */
.smart-cta,.story-cta,.why-side,.pro-teaser-inner{overflow:hidden;padding:clamp(28px,3.5vw,46px)!important}
.smart-cta h2,.story-cta h3{max-width:760px}

/* ---------- product detail pages ---------- */
.product-detail-grid{align-items:start}
.product-buy-card{overflow:hidden}
.product-buy-card .price{letter-spacing:-.045em}
.product-spec-row{gap:20px}
.product-spec-row span{text-align:right;max-width:62%;overflow-wrap:break-word}
.product-buy-actions{display:grid;gap:9px}
.product-buy-actions .btn{width:100%}
.product-story-band{overflow:hidden}
.compact-head{margin-bottom:20px!important}
.variant-gallery{align-items:stretch}
.variant-thumb{overflow:hidden}
.variant-thumb span{display:block;line-height:1.3}

/* ---------- forms / legal pages ---------- */
form{min-width:0}
.form-grid>*{min-width:0}
input,select,textarea{max-width:100%;font-size:16px}
.notice{line-height:1.58}

/* ---------- FAQ: clearer clickable affordance ---------- */
.faq-item{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
@media(hover:hover) and (pointer:fine){.faq-item:hover{border-color:#C9DCE5!important;box-shadow:0 15px 38px rgba(37,63,77,.075)!important}}
.faq-q{gap:18px;line-height:1.35}

/* ---------- footer ---------- */
.footer-grid{gap:34px}
.footer a{line-height:1.45}
.footer-note{line-height:1.55}

/* ---------- tablet ---------- */
@media(max-width:1050px){
  .consult-studio.premium-order-check{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)!important}
  .consult-bullets{grid-template-columns:1fr!important}
  .consult-aside{padding:34px!important}
}

/* ---------- mobile ---------- */
@media(max-width:840px){
  section{scroll-margin-top:88px}
  .section-head{align-items:flex-start}
  .section-head>.btn{width:auto}
  .consult-studio.premium-order-check{display:block!important;border-radius:24px!important;padding:0!important}
  .consult-studio-copy{padding:30px 24px 24px!important}
  .consult-studio-copy h2{font-size:clamp(31px,8vw,44px)}
  .consult-bullets{grid-template-columns:1fr!important;gap:9px!important;margin-top:24px!important}
  .consult-bullet{padding:15px!important;grid-template-columns:38px minmax(0,1fr)}
  .consult-bullet>i{width:38px;height:38px;border-radius:12px}
  .consult-aside{margin:0 10px 10px;padding:27px 22px!important;border-radius:19px!important;gap:26px}
  .consult-aside h3{font-size:29px}
  .consult-actions .btn{flex:1 1 190px}
  .product-spec-row{align-items:flex-start}
  .product-spec-row span{max-width:58%}
}
@media(max-width:640px){
  :root{--sf-pad:20px}
  .container{width:min(var(--container),calc(100% - 28px))}
  .hero-copy{padding:27px 21px!important}
  .hero-actions,.actions{width:100%}
  .hero-actions .btn,.smart-cta .actions .btn,.consult-actions .btn{width:100%;flex:1 1 100%}
  .hero-kpi{gap:7px;padding-top:24px}
  .hero-kpi span{padding:8px 10px!important}
  .price-bar{overflow:hidden}
  .calc-panel,.calc-result-card,.live-controls,.construction-shell,.catalog-tools{border-radius:22px!important}
  .calc-field.full{min-width:0}
  .quick-calc-presets{display:grid!important;grid-template-columns:1fr!important}
  .quick-calc-preset{width:100%;text-align:left;justify-content:flex-start}
  .consult-studio-copy{padding:27px 20px 20px!important}
  .consult-studio-copy h2{font-size:clamp(30px,9.3vw,40px);line-height:1.02}
  .consult-lead{font-size:15px}
  .consult-bullet{grid-template-columns:36px minmax(0,1fr);gap:11px;padding:14px!important}
  .consult-bullet>i{width:36px;height:36px}
  .consult-aside{margin:0 8px 8px;padding:24px 19px!important}
  .consult-aside h3{font-size:27px}
  .consult-mini-list span{font-size:12px}
  .product-spec-row{display:grid!important;grid-template-columns:minmax(90px,.75fr) minmax(0,1.25fr)!important}
  .product-spec-row span{max-width:none;text-align:right}
  .footer-grid{gap:26px}
}
@media(max-width:430px){
  .header-place{display:none!important}
  .site-header .header-inner{padding-inline:8px!important}
  .btn{min-height:47px;padding-inline:16px}
  .consult-bullet span{font-size:12px}
}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.faq-item{transition:none}}

/* ---------- fixed mobile UI: never overlap one another ---------- */
@media(max-width:640px){
  .result-dock{display:none!important}
  .scroll-top{right:12px!important;bottom:88px!important}
  .sticky-mobile .bar,.product-mobile-buy{padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .footer{padding-bottom:104px!important}
}

/* ---------- remaining container/alignment fixes found in final audit ---------- */
.hero-caption{width:min(var(--container),calc(100% - 40px));margin:10px auto 0!important;padding:0!important;color:#728895!important}
.b2b-workspace,.delivery-details{margin-top:18px}
.b2b-workspace>.b2b-builder{margin-top:0}
.b2b-workspace>.split,.delivery-details>.split{margin-top:18px!important}
.b2b-builder{overflow:hidden}
.b2b-builder>div[style*="overflow:auto"]{-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;border-radius:14px}
.page-hero h1{font-size:clamp(38px,4.4vw,54px)!important;line-height:1.03!important;letter-spacing:-.045em!important}
@media(max-width:640px){
  .hero-caption{width:calc(100% - 28px);font-size:10px;line-height:1.45;margin-top:8px!important}
  .page-hero h1{font-size:clamp(34px,10.2vw,42px)!important;line-height:1.04!important}
  .b2b-workspace,.delivery-details{margin-top:14px}
  .b2b-workspace>.b2b-builder{padding:18px 14px!important}
  .b2b-workspace>.split,.delivery-details>.split{margin-top:14px!important}
  .b2b-table{min-width:690px}
}
@media(max-width:640px){
  .sticky-mobile .bar>div:first-child{min-width:0}
  .sticky-mobile .bar>div:first-child>div{font-size:11px!important;line-height:1.28;max-width:200px;white-space:normal}
}
