/* FIUU FIUU v43 - Smart Quote category-first UI without product thumbnails.
   Scope: Smart Quote route only. Keeps calculator, upload, mockup preview and pricing logic intact. */

.ff-route-smart-quote .ff-smart-v38-catalog{
  position:relative;
  overflow:hidden;
}
.ff-route-smart-quote .ff-smart-v38-catalog::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 8% 12%, rgba(0,174,239,.28), transparent 32%),
    radial-gradient(circle at 88% 18%, rgba(236,0,140,.24), transparent 34%),
    radial-gradient(circle at 45% 88%, rgba(255,242,0,.24), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(17,17,17,.04));
  opacity:.95;
}
.ff-route-smart-quote .ff-smart-v43-section-head,
.ff-route-smart-quote .ff-smart-v38-layout{
  position:relative;
  z-index:1;
}
.ff-route-smart-quote .ff-smart-v43-section-head h2{
  max-width:980px;
}
.ff-route-smart-quote .ff-smart-v38-layout{
  grid-template-columns:320px minmax(0,1fr);
  gap:1.25rem;
}
.ff-route-smart-quote .ff-smart-v38-sidebar{
  border:1px solid rgba(17,17,17,.14)!important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.70), rgba(255,255,255,.34)),
    radial-gradient(circle at 15% 0%, rgba(0,174,239,.22), transparent 45%),
    radial-gradient(circle at 88% 12%, rgba(236,0,140,.18), transparent 42%)!important;
  box-shadow:0 24px 70px rgba(17,17,17,.16)!important;
  backdrop-filter:blur(20px) saturate(1.35);
}
.ff-route-smart-quote .ff-smart-v38-search input{
  background:rgba(255,255,255,.76)!important;
  color:#111!important;
  border-color:rgba(17,17,17,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75), 0 12px 28px rgba(17,17,17,.08)!important;
}
.ff-route-smart-quote .ff-smart-v38-search input::placeholder{color:rgba(17,17,17,.52)!important;}
.ff-route-smart-quote .ff-smart-v38-cats{
  gap:.62rem;
}
.ff-route-smart-quote .ff-smart-v38-cats button{
  position:relative;
  overflow:hidden;
  min-height:58px;
  border:1px solid rgba(17,17,17,.12)!important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.76), rgba(255,255,255,.46)),
    linear-gradient(90deg, rgba(0,174,239,.16), rgba(236,0,140,.13), rgba(255,242,0,.18))!important;
  color:#161616!important;
  box-shadow:0 14px 34px rgba(17,17,17,.10)!important;
}
.ff-route-smart-quote .ff-smart-v38-cats button::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:6px;
  background:linear-gradient(180deg,#00AEEF,#EC008C,#FFF200,#111111);
  opacity:.75;
}
.ff-route-smart-quote .ff-smart-v38-cats button.active{
  background:
    linear-gradient(135deg, rgba(0,174,239,.82), rgba(236,0,140,.74), rgba(255,242,0,.72)),
    #fff!important;
  border-color:rgba(17,17,17,.20)!important;
  color:#111!important;
  transform:translateY(-1px);
  box-shadow:0 22px 52px rgba(236,0,140,.18), 0 18px 44px rgba(0,174,239,.16)!important;
}
.ff-route-smart-quote .ff-smart-v38-cats button span{
  position:relative;
  z-index:1;
  font-size:.92rem;
  line-height:1.1;
}
.ff-route-smart-quote .ff-smart-v38-cats em{
  position:relative;
  z-index:1;
  min-width:34px;
  height:28px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  color:#111!important;
  background:rgba(255,255,255,.52);
  border:1px solid rgba(17,17,17,.10);
}
.ff-route-smart-quote .ff-smart-v43-products-head,
.ff-route-smart-quote .ff-smart-v43-group-head{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  border:1px solid rgba(17,17,17,.12)!important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.38)),
    radial-gradient(circle at 0% 0%, rgba(0,174,239,.20), transparent 35%),
    radial-gradient(circle at 100% 0%, rgba(236,0,140,.18), transparent 36%),
    radial-gradient(circle at 70% 100%, rgba(255,242,0,.20), transparent 40%)!important;
  box-shadow:0 24px 64px rgba(17,17,17,.13)!important;
  backdrop-filter:blur(18px) saturate(1.32);
}
.ff-route-smart-quote .ff-smart-v43-products-head::after,
.ff-route-smart-quote .ff-smart-v43-group-head::after{
  content:"";
  position:absolute;
  inset:auto 18px 0 18px;
  height:4px;
  border-radius:999px 999px 0 0;
  background:linear-gradient(90deg,#00AEEF,#EC008C,#FFF200,#111111,#FF6B35);
}
.ff-route-smart-quote .ff-smart-v43-products-head h3,
.ff-route-smart-quote .ff-smart-v43-group-head h3{
  color:#171717!important;
  max-width:820px;
}
.ff-route-smart-quote .ff-smart-v43-products-head strong,
.ff-route-smart-quote .ff-smart-v43-group-head strong{
  white-space:nowrap;
  color:#111!important;
  border:1px solid rgba(17,17,17,.14);
  background:rgba(255,255,255,.55);
  border-radius:999px;
  padding:.48rem .72rem;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.ff-route-smart-quote .ff-smart-v43-group-block{
  gap:.9rem;
}
.ff-route-smart-quote .ff-smart-v43-service-list{
  display:grid;
  gap:.68rem;
}
.ff-route-smart-quote .ff-smart-v43-service-option{
  width:100%;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.9rem;
  text-align:left;
  border:1px solid rgba(17,17,17,.13);
  border-radius:20px;
  padding:.9rem .95rem;
  cursor:pointer;
  color:#151515;
  background:
    linear-gradient(135deg, rgba(255,255,255,.76), rgba(255,255,255,.42)),
    linear-gradient(90deg, rgba(0,174,239,.13), rgba(236,0,140,.10), rgba(255,242,0,.13));
  box-shadow:0 16px 36px rgba(17,17,17,.10);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.ff-route-smart-quote .ff-smart-v43-service-option:hover,
.ff-route-smart-quote .ff-smart-v43-service-option:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(236,0,140,.34);
  box-shadow:0 24px 54px rgba(17,17,17,.16), 0 0 0 4px rgba(0,174,239,.10);
  outline:0;
}
.ff-route-smart-quote .ff-smart-v43-service-option.active{
  border-color:rgba(17,17,17,.22);
  background:
    linear-gradient(135deg, rgba(0,174,239,.82), rgba(236,0,140,.72), rgba(255,242,0,.68)),
    rgba(255,255,255,.70);
  box-shadow:0 28px 70px rgba(236,0,140,.20), 0 18px 50px rgba(0,174,239,.18);
}
.ff-route-smart-quote .ff-smart-v43-dot{
  width:18px;
  height:54px;
  border-radius:999px;
  background:linear-gradient(180deg,#00AEEF 0 25%,#EC008C 25% 50%,#FFF200 50% 75%,#111 75% 100%);
  box-shadow:0 8px 18px rgba(17,17,17,.18);
}
.ff-route-smart-quote .ff-smart-v43-service-copy{
  display:grid;
  min-width:0;
  gap:.16rem;
}
.ff-route-smart-quote .ff-smart-v43-service-copy small{
  color:rgba(17,17,17,.58);
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.ff-route-smart-quote .ff-smart-v43-service-copy strong{
  color:#111;
  font-size:1.02rem;
  line-height:1.2;
  font-weight:950;
}
.ff-route-smart-quote .ff-smart-v43-service-copy em{
  color:rgba(17,17,17,.68);
  font-style:normal;
  font-size:.84rem;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.ff-route-smart-quote .ff-smart-v43-service-option b{
  color:#111;
  border:1px solid rgba(17,17,17,.14);
  background:rgba(255,255,255,.56);
  border-radius:999px;
  padding:.42rem .62rem;
  font-size:.68rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
}
.ff-route-smart-quote .ff-smart-v43-detail-card{
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center;
  border-color:rgba(17,17,17,.12)!important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.38)),
    radial-gradient(circle at 12% 0%, rgba(0,174,239,.22), transparent 42%),
    radial-gradient(circle at 90% 20%, rgba(236,0,140,.18), transparent 44%),
    radial-gradient(circle at 55% 100%, rgba(255,242,0,.16), transparent 42%)!important;
  box-shadow:0 22px 62px rgba(17,17,17,.12)!important;
}
.ff-route-smart-quote .ff-smart-v43-detail-icon{
  width:86px;
  height:86px;
  border-radius:28px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  overflow:hidden;
  border:1px solid rgba(17,17,17,.16);
  box-shadow:0 18px 38px rgba(17,17,17,.14);
}
.ff-route-smart-quote .ff-smart-v43-detail-icon span{
  display:grid;
  place-items:center;
  color:#111;
  font-weight:1000;
  font-size:.82rem;
}
.ff-route-smart-quote .ff-smart-v43-detail-icon span:nth-child(1){background:#00AEEF;}
.ff-route-smart-quote .ff-smart-v43-detail-icon span:nth-child(2){background:#EC008C;color:#fff;}
.ff-route-smart-quote .ff-smart-v43-detail-icon span:nth-child(3){background:#FFF200;}
.ff-route-smart-quote .ff-smart-v43-detail-icon span:nth-child(4){background:#111;color:#fff;}
.ff-route-smart-quote .ff-smart-v43-detail-card h3{color:#111!important;}
.ff-route-smart-quote .ff-smart-v43-detail-card p,
.ff-route-smart-quote .ff-smart-v43-detail-card .ff-smart-v38-detail-list{color:rgba(17,17,17,.68)!important;}
.ff-route-smart-quote .ff-smart-v43-detail-card .ff-smart-v38-detail-list strong{color:#111!important;}
.ff-route-smart-quote .ff-smart-v38-product-card img,
.ff-route-smart-quote .ff-smart-v38-detail-card > img{
  display:none!important;
}
.ff-route-smart-quote .ff-smart-v38-mockup-card,
.ff-route-smart-quote .ff-smart-v38-mockup-art,
.ff-route-smart-quote #ffSmartMockupArt img{
  display:grid!important;
}
.ff-route-smart-quote #ffSmartMockupArt img{
  display:block!important;
}

@media (max-width:900px){
  .ff-route-smart-quote .ff-smart-v38-layout{grid-template-columns:1fr;}
  .ff-route-smart-quote .ff-smart-v38-sidebar{position:relative;top:auto;}
  .ff-route-smart-quote .ff-smart-v43-detail-card{grid-template-columns:1fr!important;}
  .ff-route-smart-quote .ff-smart-v43-detail-icon{width:100%;height:auto;min-height:54px;grid-template-columns:repeat(4,1fr);border-radius:18px;}
}
@media (max-width:640px){
  .ff-route-smart-quote .ff-smart-v43-service-option{grid-template-columns:auto minmax(0,1fr);}
  .ff-route-smart-quote .ff-smart-v43-service-option b{grid-column:2;justify-self:start;}
  .ff-route-smart-quote .ff-smart-v43-dot{height:70px;}
  .ff-route-smart-quote .ff-smart-v43-products-head,
  .ff-route-smart-quote .ff-smart-v43-group-head{display:grid;}
  .ff-route-smart-quote .ff-smart-v43-products-head strong,
  .ff-route-smart-quote .ff-smart-v43-group-head strong{justify-self:start;}
}
