
/* Catalog + Quote integration */
.quoteNavCount{
  display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 5px;
  margin-left:6px; border-radius:999px; background:linear-gradient(135deg,var(--gold),#ffd45c); color:#0b1020; font-size:11px; font-weight:900;
}
.subhero{
  position:relative;
  padding:70px 0 30px;
  background:
    radial-gradient(900px 400px at 80% 0%, rgba(247,181,0,.16), transparent 60%),
    linear-gradient(180deg, rgba(9,14,28,.04), rgba(9,14,28,.01));
}
.page-head{
  display:grid; grid-template-columns:1.25fr .75fr; gap:24px; align-items:center;
}
.crumbs{font-size:13px; letter-spacing:.08em; font-weight:800; color:#5e6f8d; margin-bottom:12px;}
.page-head h2{margin:0 0 12px; font-size:clamp(32px,4vw,48px); color:#10203c;}
.page-head > div > p{margin:0; color:#4d5f7a; max-width:760px;}
.page-panel{
  background:linear-gradient(145deg, #10264c, #0b1730);
  color:#fff; border:1px solid rgba(247,181,0,.2); border-radius:24px; padding:26px; box-shadow:var(--shadow);
}
.page-panel h3{margin:0 0 10px; color:#fff;}
.page-panel p,.page-panel a{color:rgba(255,255,255,.9);}
.catalogPageWrap{padding-top:0;}
.chip-row{display:flex; flex-wrap:wrap; gap:10px; margin:8px 0 20px;}
.chip{
  display:inline-flex; align-items:center; justify-content:center; padding:10px 14px; border-radius:999px;
  border:1px solid rgba(43,108,255,.16); background:#fff; color:#15335f; font-weight:900; font-size:13px; box-shadow:0 8px 22px rgba(0,0,0,.06);
}
.chip:hover{border-color:rgba(247,181,0,.6); transform:translateY(-1px);}
.catalog-page{
  background:#fff; border:1px solid rgba(15,24,44,.08); border-radius:26px; padding:18px; margin:0 0 20px; box-shadow:0 18px 50px rgba(12,17,32,.08);
}
.catalog-page-head{display:flex; justify-content:space-between; gap:12px; align-items:end; margin-bottom:12px;}
.catalog-page-head h3{margin:0; color:#10203c;}
.catalog-page-head p{margin:0; color:#60708b; font-weight:700;}
.catalog-page-image-wrap{position:relative; border-radius:20px; overflow:hidden; background:#f4f6fb; border:1px solid rgba(16,32,60,.08);}
.catalog-page-image-wrap img{display:block; width:100%; height:auto;}
.catalog-hotspots{position:absolute; inset:0;}
.catalog-hotspot{position:absolute; border:1px solid rgba(43,108,255,.32); background:rgba(43,108,255,.08); border-radius:6px; cursor:pointer; padding:0; transition:.18s ease; overflow:hidden;}
.catalog-hotspot span{position:absolute; left:4px; right:4px; bottom:2px; font-size:10px; color:#12315d; opacity:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.catalog-hotspot:hover,.catalog-hotspot:focus{background:rgba(247,181,0,.22); border-color:rgba(247,181,0,.9); box-shadow:0 0 0 2px rgba(247,181,0,.3);}
.catalog-hotspot:hover span,.catalog-hotspot:focus span{opacity:1;}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:12px 18px; border-radius:999px; font-weight:900; letter-spacing:.04em; border:1px solid transparent; cursor:pointer; text-decoration:none;}
.btn-primary{background:linear-gradient(135deg,var(--gold),#ffd45c); color:#0b1020; box-shadow:0 16px 34px rgba(247,181,0,.28);}
.btn-outline{background:#fff; color:#14325f; border-color:rgba(20,50,95,.18); box-shadow:0 10px 24px rgba(0,0,0,.05);}
.quote-fab{position:fixed; right:18px; bottom:18px; z-index:60;}
.quote-overlay{position:fixed; inset:0; background:rgba(5,10,18,.5); display:none; z-index:69;}
.quote-overlay.show{display:block;}
.quote-drawer{position:fixed; top:0; right:0; width:min(430px,100%); height:100vh; background:#fff; position: fixed; z-index: 200;; transform:translateX(100%); transition:transform .24s ease; box-shadow:-18px 0 48px rgba(0,0,0,.2); display:flex; flex-direction:column;}
.quote-drawer.open{transform:translateX(0);}
.quote-drawer-head{display:flex; justify-content:space-between; align-items:center; gap:10px; padding:18px 20px; border-bottom:1px solid rgba(16,32,60,.1);}
.quote-drawer-body{padding:16px 20px; overflow:auto; flex:1;}
.quote-drawer-foot{padding:16px 20px; border-top:1px solid rgba(16,32,60,.1); display:flex; flex-wrap:wrap; gap:10px;}
.quote-line,.quote-review-item,.form,.page-panel,.empty-state{box-shadow:0 12px 30px rgba(10,16,30,.06);}
.quote-line,.quote-review-item{border:1px solid rgba(16,32,60,.1); border-radius:16px; background:#f8fbff; padding:12px; margin-bottom:12px;}
.quote-line h4,.quote-review-item strong{color:#10203c;}
.quote-line .small,.quote-review-item .small,.small{color:#61738d; font-size:13px;}
.quote-line-controls{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:10px;}
.quote-line-controls input,.quote-review-item input{width:90px; padding:10px 12px; border:1px solid rgba(16,32,60,.16); border-radius:12px;}
.quote-box{display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:start;}
.quote-review-panel,.form{background:#fff; border:1px solid rgba(16,32,60,.08); border-radius:24px; padding:22px;}
.section-title h3{margin:0 0 6px; color:#10203c;}
.section-title p{margin:0; color:#61738d;}
.quote-review-list{display:grid; gap:12px; margin-top:14px;}
.quote-review-item-top{display:flex; justify-content:space-between; align-items:start; gap:10px;}
.quote-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:16px;}
.form h3{color:#10203c;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.field{display:flex; flex-direction:column; gap:8px;}
.field.full{grid-column:1/-1;}
.form label{font-weight:800; color:#15335f;}
.form input,.form select,.form textarea{width:100%; padding:14px 15px; border-radius:14px; border:1px solid rgba(16,32,60,.15); font:inherit; background:#fcfdff;}
.form textarea{min-height:130px; resize:vertical;}
.note,.empty-state{padding:16px; border-radius:16px; border:1px dashed rgba(43,108,255,.22); background:#f8fbff; color:#60708b;}
@media (max-width: 980px){
  .page-head,.quote-box{grid-template-columns:1fr;}
}
@media (max-width: 900px){
  .page-head h2{font-size:34px;}
}
@media (max-width: 640px){
  .quote-fab{left:18px; right:18px; width:auto;}
  .catalog-page-head,.quote-review-item-top{flex-direction:column; align-items:flex-start;}
  .catalog-hotspot span{display:none;}
  .form-grid{grid-template-columns:1fr;}
}
