
/* ===== SmartSetupUAE RESCUE FIX - precise only ===== */

/* 1) Homepage hero: restore normal layout, not broken columns */
@media (min-width: 900px){
  .hero{
    min-height: calc(100vh - 64px) !important;
    padding: 28px 5% 24px !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
  }
  .hero-inner{
    max-width: 1240px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 48px !important;
  }
  .hero-copy{
    flex: 1 1 0 !important;
    max-width: 690px !important;
    min-width: 0 !important;
    padding-right: 0 !important;
  }
  .hero h1{
    font-size: clamp(34px,3.15vw,50px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.035em !important;
    margin: 0 0 16px !important;
    max-width: 720px !important;
    white-space: normal !important;
  }
  .hero p{
    font-size: clamp(15px,1.1vw,18px) !important;
    line-height: 1.5 !important;
    max-width: 700px !important;
  }
  .finder-card{
    width: min(390px,100%) !important;
    flex: 0 0 390px !important;
    padding: 22px !important;
    border-radius: 18px !important;
    max-height: none !important;
  }
  .hero .field{margin-bottom:10px !important;}
  .hero .field input,.hero .field select{height:42px !important;font-size:13px !important;}
  .trust-row{margin-top:16px !important;}
}
@media (max-width: 899px){
  .hero{padding: 28px 18px !important; min-height:auto !important;}
  .hero-inner{display:flex !important; flex-direction:column !important; gap:22px !important;}
  .hero h1{font-size:clamp(29px,8vw,40px) !important;line-height:1.08 !important;}
  .finder-card{width:100% !important; padding:20px !important;}
}

/* 2) Country code: existing project phone rows only, no duplicate */
.phone-row{
  display:flex !important;
  align-items:stretch !important;
  border:1.5px solid #dde8e2 !important;
  border-radius:9px !important;
  overflow:hidden !important;
  background:#fff !important;
}
.phone-row select,.dial-select{
  min-width:92px !important;
  width:auto !important;
  flex:0 0 auto !important;
  border:0 !important;
  border-right:1.5px solid #dde8e2 !important;
  background:#f4f8f6 !important;
  color:#064c39 !important;
  font-weight:800 !important;
  font-size:12.5px !important;
  padding:0 10px !important;
}
.phone-row input,.phone-input{
  flex:1 1 auto !important;
  min-width:0 !important;
  border:0 !important;
  height:44px !important;
  padding:0 13px !important;
  font-size:14px !important;
}
@media(max-width:520px){
  .phone-row select,.dial-select{min-width:82px !important;font-size:11.5px !important;padding:0 7px !important;}
  .phone-row input,.phone-input{font-size:13px !important;}
}

/* 3) Checkout summary card: fix broken stacked narrow content */
.checkout-side,.summary-card,.order-summary,.checkout-summary{
  min-width:0 !important;
  overflow:visible !important;
}
.checkout-side .zone-card,
.summary-card .zone-card,
.order-summary .zone-card,
.checkout-summary .zone-card{
  display:block !important;
  padding:18px !important;
  min-height:auto !important;
}
.checkout-side .zone-card h3,
.summary-card .zone-card h3,
.order-summary .zone-card h3,
.checkout-summary .zone-card h3{
  font-size:22px !important;
  line-height:1.15 !important;
  margin:0 0 4px !important;
}
.checkout-side .zone-card p,
.summary-card .zone-card p,
.order-summary .zone-card p,
.checkout-summary .zone-card p{
  font-size:13px !important;
  line-height:1.35 !important;
  margin:0 0 8px !important;
  white-space:normal !important;
}
.checkout-side [class*="badge"],.summary-card [class*="badge"],.order-summary [class*="badge"],.checkout-summary [class*="badge"]{
  position:static !important;
  display:inline-flex !important;
  width:auto !important;
  max-width:120px !important;
  font-size:10px !important;
  line-height:1.05 !important;
  padding:6px 8px !important;
  margin-bottom:8px !important;
}

/* 4) Finder/list view: prevent overlapping but keep layout readable */
.list-card,.zone-card,.fz-card,.jurisdiction-card,.result-card{
  min-width:0 !important;
  overflow:hidden !important;
}
.view-list .zone-card,.list-view .zone-card,.view-list .result-card,.list-view .result-card{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:16px !important;
  align-items:center !important;
  min-height:120px !important;
  padding:20px 24px !important;
}
.view-list .zone-card > *,.list-view .zone-card > *,.view-list .result-card > *,.list-view .result-card > *{
  min-width:0 !important;
  position:static !important;
  transform:none !important;
}
.view-list h3,.list-view h3{
  font-size:20px !important;
  line-height:1.2 !important;
  margin:0 0 5px !important;
  white-space:normal !important;
}
.view-list p,.list-view p{
  font-size:13.5px !important;
  line-height:1.35 !important;
}
.view-list [class*="badge"],.list-view [class*="badge"],.view-list .badge,.list-view .badge{
  position:static !important;
  transform:none !important;
  max-width:130px !important;
  white-space:normal !important;
  font-size:10.5px !important;
  line-height:1.05 !important;
}
@media(max-width:768px){
  .view-list .zone-card,.list-view .zone-card,.view-list .result-card,.list-view .result-card{
    grid-template-columns:1fr !important;
    padding:16px !important;
    min-height:auto !important;
  }
}

/* 5) Freezone detail hero: reduce top blank space, keep text and quote visible */
.fz-hero,.freezone-hero,.mainland-hero{
  padding-top:48px !important;
  padding-bottom:48px !important;
  min-height:auto !important;
}
@media(min-width:900px){
  .fz-hero,.freezone-hero,.mainland-hero{
    min-height:calc(100vh - 72px) !important;
    display:flex !important;
    align-items:center !important;
  }
  .fz-hero h1,.freezone-hero h1,.mainland-hero h1{
    font-size:clamp(42px,4.8vw,72px) !important;
    line-height:1.02 !important;
    margin-bottom:12px !important;
  }
  .fz-hero p,.freezone-hero p,.mainland-hero p{
    font-size:clamp(16px,1.25vw,20px) !important;
    line-height:1.45 !important;
  }
  .quote-card,.lead-card,.enquiry-card,.contact-card{
    padding:22px !important;
    border-radius:18px !important;
  }
  .quote-card input,.quote-card select,.lead-card input,.lead-card select,.enquiry-card input,.enquiry-card select,.contact-card input,.contact-card select{
    height:42px !important;
    font-size:13px !important;
  }
}

/* 6) SPC blank white tab/input: make it readable if it exists */
.fz-hero input:not([placeholder]):not([value]),
.freezone-hero input:not([placeholder]):not([value]){
  background:rgba(255,255,255,.18) !important;
  border-color:rgba(255,255,255,.35) !important;
  color:#fff !important;
}

/* 7) Floating buttons not over form button */
.whatsapp-float,.wa-float,[class*="whatsapp"]{z-index:9000 !important;}
.chatbot-widget,.chat-widget,.advisor-widget{z-index:8999 !important;}
@media(min-width:769px){
  .whatsapp-float,.wa-float,[class*="whatsapp"]{right:70px !important;bottom:32px !important;}
  .chatbot-widget,.chat-widget,.advisor-widget{right:22px !important;bottom:32px !important;}
}
