/* InterCool extras: chat assistant, offer banner, open badge, language switch */

/* ---------- offer banner ---------- */
.ic-offer{position:relative;background:linear-gradient(90deg,#ff7a1a,#ff9a3c);color:#fff;text-align:center;padding:8px 44px 8px 14px;font-size:.9rem;line-height:1.4}
.ic-offer-t{color:#fff;font-weight:600;text-decoration:none}
.ic-offer-t:hover{text-decoration:underline}
.ic-offer-x{position:absolute;top:50%;inset-inline-end:10px;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:50%;background:rgba(255,255,255,.22);color:#fff;font-size:1.2rem;line-height:1;cursor:pointer}
.ic-offer-x:hover{background:rgba(255,255,255,.4)}

/* ---------- topbar tools: open badge + language ---------- */
.ic-tools{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;justify-content:center}
.topbar .tb-welcome{margin-inline-end:auto}
.ic-open{display:inline-flex;align-items:center;gap:7px;padding:3px 11px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:.74rem;font-weight:600;white-space:nowrap}
.ic-hours{gap:0}
.ic-open i{width:8px;height:8px;border-radius:50%;background:#25d366;box-shadow:0 0 0 3px rgba(37,211,102,.28)}
.ic-open.off i{background:#ff6b5e;box-shadow:0 0 0 3px rgba(255,107,94,.28)}
.ic-lang{border:0;border-radius:999px;background:#fff;color:#0a3d8a;font:inherit;font-size:.78rem;font-weight:700;padding:3px 14px;cursor:pointer;line-height:1.5;min-height:0}
.ic-lang:hover{background:#0aa5c6;color:#fff}
.ic-lang-float{position:fixed;top:10px;inset-inline-end:10px;z-index:900;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.sf-soc .ic-review{background:rgba(255,255,255,.18)}

/* ---------- floating help button + hello bubble ---------- */
.ic-fab{position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:9000;width:66px;height:66px;padding:0;display:grid;place-items:center;border-radius:50%;border:2px solid #fff;background:linear-gradient(135deg,#0a3d8a,#0aa5c6);color:#fff;font:inherit;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.35),0 0 0 3px rgba(10,165,198,.28);transition:transform .25s,box-shadow .25s;min-height:0;animation:icFabIn .7s cubic-bezier(.34,1.56,.64,1) .5s backwards,icFabHop 5s ease-in-out 4s infinite}
.ic-fab:hover{transform:scale(1.12);box-shadow:0 12px 28px rgba(0,0,0,.4),0 0 0 4px rgba(10,165,198,.35)}
.ic-fab svg{width:32px;height:32px}
.ic-fab svg circle{fill:#0a3d8a;animation:icDot 1.4s ease-in-out infinite}
.ic-fab svg circle:nth-of-type(2){animation-delay:.2s}.ic-fab svg circle:nth-of-type(3){animation-delay:.4s}
.ic-fab span{position:absolute;top:-11px;left:50%;transform:translateX(-50%);padding:2px 9px;border-radius:999px;border:2px solid #fff;background:#ff7a1a;color:#fff;font-size:.68rem;font-weight:800;line-height:1.35;letter-spacing:.02em;white-space:nowrap;box-shadow:0 3px 8px rgba(0,0,0,.25)}
.ic-fab::before,.ic-fab::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid #0aa5c6;opacity:0;pointer-events:none;animation:icFabRing 2.4s ease-out infinite}
.ic-fab::after{animation-delay:1.2s}
.ic-fab.hide{display:none}
@keyframes icFabIn{from{opacity:0;transform:scale(.2) translateY(40px)}to{opacity:1;transform:none}}
@keyframes icFabRing{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.9);opacity:0}}
@keyframes icFabHop{0%,84%,100%{transform:translateY(0)}88%{transform:translateY(-14px)}92%{transform:translateY(0)}95%{transform:translateY(-6px)}98%{transform:translateY(0)}}
@keyframes icDot{0%,60%,100%{opacity:1}30%{opacity:.25}}
.ic-nudge{position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(104px + env(safe-area-inset-bottom,0px));z-index:9000;max-width:220px;padding:10px 14px;border:0;border-radius:14px 14px 14px 4px;background:#fff;color:#0a2540;font:inherit;font-size:.85rem;font-weight:600;text-align:start;cursor:pointer;box-shadow:0 10px 28px rgba(8,42,84,.25);animation:icPop .35s ease-out both;min-height:0}
@keyframes icPop{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}

/* ---------- chat window ---------- */
.ic-chat{position:fixed;left:16px;bottom:16px;z-index:10000;width:min(390px,calc(100vw - 24px));height:min(620px,calc(100vh - 32px));display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.4);opacity:0;transform:translateY(24px) scale(.97);transition:opacity .22s,transform .22s}
@supports(height:100dvh){.ic-chat{height:min(620px,calc(100dvh - 32px))}}
.ic-chat[hidden]{display:none}
.ic-chat.on{opacity:1;transform:none}
.ic-head{display:flex;align-items:center;gap:12px;padding:13px 14px;background:linear-gradient(120deg,#0a2540,#0e4d7a);color:#fff;flex:none}
.ic-logo{width:42px;height:42px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none;overflow:hidden;box-shadow:0 0 0 3px rgba(0,240,255,.3)}
.ic-logo img{width:100%;height:100%;object-fit:contain}
.ic-who{flex:1;min-width:0;line-height:1.3}
.ic-who b{display:block;font-size:1rem}
.ic-who small{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#bfe4f5}
.ic-dot{width:8px;height:8px;border-radius:50%;background:#25d366;box-shadow:0 0 0 3px rgba(37,211,102,.25);flex:none}
.ic-hl{border:0;border-radius:14px;background:rgba(255,255,255,.16);color:#fff;font:inherit;font-size:.75rem;font-weight:600;padding:6px 11px;cursor:pointer;min-height:0}
.ic-hl:hover{background:rgba(255,255,255,.3)}
.ic-x{border:0;background:rgba(255,255,255,.16);color:#fff;width:34px;height:34px;border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;flex:none;padding:0;min-height:0}
.ic-x:hover{background:rgba(255,255,255,.3)}
.ic-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;background:#ece5dd;padding:14px;display:flex;flex-direction:column;gap:8px;scroll-behavior:smooth}
.ic-b{max-width:88%;padding:9px 13px;border-radius:14px;font-size:.88rem;line-height:1.55;color:#1d2b3a;box-shadow:0 1px 1px rgba(0,0,0,.12);overflow-wrap:anywhere;animation:icPop .25s ease-out both}
.ic-b.bot{align-self:flex-start;background:#fff;border-start-start-radius:3px}
.ic-b.user{align-self:flex-end;background:#d9fdd3;border-start-end-radius:3px}
.ic-b a{color:#0a7f9c;text-decoration:underline}
.ic-typing{display:flex;gap:5px;align-items:center;width:62px;height:34px;padding:0 16px}
.ic-typing i{width:7px;height:7px;border-radius:50%;background:#9aa7b4;animation:icDot 1s infinite ease-in-out}
.ic-typing i:nth-child(2){animation-delay:.15s}.ic-typing i:nth-child(3){animation-delay:.3s}
@keyframes icDot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}
.ic-warn{margin-top:7px;padding:8px 10px;background:#fff4e5;border-inline-start:4px solid #ff7a1a;border-radius:8px;color:#7a3b00;font-size:.84rem}
.ic-price{display:flex;justify-content:space-between;gap:14px;font-size:.9rem;padding:2px 0}
.ic-price b{color:#0a3d8a;white-space:nowrap}
.ic-b small{display:block;color:#5a6b80;font-size:.78rem;margin-bottom:4px}
.ic-chips{flex:none;display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px 8px;background:#fff;border-top:1px solid #e3e9ef;max-height:38%;overflow-y:auto}
.ic-chips:empty{display:none}
.ic-chip{display:inline-flex;align-items:center;border:1.5px solid #0aa5c6;background:#fff;color:#0a6f89;border-radius:999px;padding:7px 13px;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.3;min-height:0;transition:.15s}
.ic-chip:hover{background:#0aa5c6;color:#fff}
.ic-chip.ic-w{border-color:#25d366;color:#138a3e}
.ic-chip.ic-w:hover{background:#25d366;color:#fff}
.ic-wa{flex:none;display:flex;align-items:center;justify-content:center;gap:8px;margin:6px 12px 4px;padding:11px;background:#25d366;color:#fff;font-weight:700;font-size:.92rem;border-radius:12px;text-decoration:none;transition:.15s}
.ic-wa:hover{background:#1ebe5b;color:#fff}
.ic-wa svg{width:20px;height:20px}
.ic-form{flex:none;display:flex;gap:8px;padding:6px 12px 12px;background:#fff}
.ic-form input{flex:1;min-width:0;border:1px solid #cfd8e3;border-radius:22px;padding:10px 15px;font:inherit;font-size:.9rem;color:#12202f;background:#fff}
.ic-form input:focus{outline:2px solid #0aa5c6;outline-offset:0;border-color:#0aa5c6}
.ic-form button{flex:none;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:#0a3d8a;color:#fff;display:grid;place-items:center;cursor:pointer;min-height:0}
.ic-form button:hover{background:#0aa5c6}
.ic-form button svg{width:20px;height:20px}
.ic-chat[dir="rtl"] .ic-form button svg{transform:scaleX(-1)}
@media(max-width:520px){
  .ic-chat{left:0;right:0;bottom:0;width:100%;height:min(90vh,100%);border-radius:18px 18px 0 0}
  @supports(height:100dvh){.ic-chat{height:min(90dvh,100%)}}
  .ic-fab{width:58px;height:58px}.ic-fab svg{width:28px;height:28px}
  .ic-nudge{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  .ic-tools{gap:8px}
}
@media(prefers-reduced-motion:reduce){.ic-b,.ic-nudge,.ic-typing i,.ic-fab,.ic-fab::before,.ic-fab::after,.ic-fab svg circle{animation:none}.ic-chat{transition:none}}

/* ---------- Urdu mode ---------- */
.ic-ur body,.ic-ur body *:not(svg):not(path){font-family:"Noto Naskh Arabic","Segoe UI",Tahoma,Arial,sans-serif !important;letter-spacing:0 !important;text-transform:none !important}
.ic-ur body{line-height:1.9}
.ic-ur h1,.ic-ur h2,.ic-ur h3,.ic-ur h4{line-height:1.55 !important}
.ic-ur p,.ic-ur li,.ic-ur a,.ic-ur span,.ic-ur label,.ic-ur button{line-height:1.7}
.ic-ur [dir="auto"]{unicode-bidi:plaintext}

/* top bar: welcome text, hours and language button stay on one line on laptops/tablets */
@media(max-width:1250px){.topbar .container{gap:6px 14px}.topbar-info{gap:16px}.topbar{font-size:.85rem}.ic-tools{gap:8px}}
@media(max-width:1020px){.topbar .tb-addr{display:none}}

/* top bar on wide screens: welcome text, email, address, hours and language button spread with equal space between them */
@media(min-width:1101px){
  .topbar .container{justify-content:space-between;flex-wrap:nowrap}
  .topbar .container .topbar-info,.topbar .container .ic-tools{display:contents}
  .topbar .tb-welcome{margin-inline-end:0}
}


/* ---------- price estimator (Pricing page) ---------- */
.ic-est-sec{padding:46px 0}
.ic-est{max-width:640px;margin:0 auto;padding:28px 26px;border-radius:20px;background:#fff;border:1px solid #dbe6f3;box-shadow:0 18px 44px rgba(10,61,138,.13)}
.ic-est h2{margin:0 0 6px;font-size:1.5rem;color:#0a2540}
.ic-est-sub{margin:0 0 16px;color:#4a5a70}
.ic-est-sel{width:100%;padding:13px 14px;border:2px solid #cfe0f2;border-radius:12px;background:#f6faff;font:inherit;font-weight:600;color:#0a2540}
.ic-est-sel:focus{outline:0;border-color:#0aa5c6}
.ic-est-out{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:16px 0 8px;padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,#0a3d8a,#0aa5c6);color:#fff;animation:icPop .35s ease-out}
.ic-est-out b{font-size:1.5rem;white-space:nowrap}
.ic-est-note{display:block;margin:0 0 8px;color:#355;font-size:.9rem}
.ic-est-fine{margin:6px 0 16px;color:#5b6b80;font-size:.84rem}
.ic-est-btns{display:flex;gap:10px;flex-wrap:wrap}
.ic-est-btns .btn{flex:1 1 180px;text-align:center;justify-content:center}
@media(max-width:560px){.ic-est{padding:22px 16px}.ic-est-out{flex-direction:column;align-items:flex-start;gap:4px}}
.ic-est-btns .btn{border-radius:12px}

/* Help button: alone at the bottom-left corner, above everything, so it is always clearly visible */
.ic-fab{left:max(14px,env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));width:64px;height:64px;z-index:9000;box-shadow:0 8px 22px rgba(0,0,0,.4),0 0 0 4px rgba(255,255,255,.9),0 0 0 7px rgba(10,165,198,.35)}
.ic-fab svg{width:50%;height:50%}
.ic-fab span{top:-13px;font-size:.66rem}
@media(max-width:600px){.ic-fab{width:56px;height:56px;left:max(10px,env(safe-area-inset-left,0px))}}
/* keep the footer copyright line clear of the corner buttons */
.sf-copy{margin-bottom:64px}

/* ===== v41: area pages, share box, map buttons ===== */
.share-sec{padding:44px 0;background:#eaf5fa}
.share-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px}
.share-text{flex:1 1 320px;min-width:0}
.share-text h2{margin:0 0 6px;font-size:clamp(1.3rem,2.6vw,1.8rem);color:#0a2540}
.share-text p{margin:0;color:#33475f;line-height:1.6}
.share-btns{display:flex;flex-wrap:wrap;gap:12px}
.share-sec [hidden]{display:none!important}
.share-copy{background:#fff;color:#0a3d8a;border-color:#0a3d8a}
.share-copy:hover{background:#0a3d8a;color:#fff}
.share-msg{flex:1 0 100%;margin:0;min-height:1.3em;font-weight:600;color:#087f99}
.map-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:18px 16px}
.areas-strip{padding:44px 0;background:#f6f9fd;text-align:center}
.areas-strip h2{margin:0 0 8px;font-size:clamp(1.3rem,2.6vw,1.8rem);color:#0a2540}
.areas-strip p{margin:0 0 18px;color:#33475f}
.area-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.area-chips a{display:block;padding:9px 18px;border-radius:50px;background:#fff;border:1.5px solid #cfdcec;color:#0a3d8a;font-weight:600}
.area-chips a:hover,.area-chips a:focus-visible{background:#0a3d8a;color:#fff;border-color:#0a3d8a}
.area-chips .all a{background:#0a3d8a;color:#fff;border-color:#0a3d8a}
.area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.area-card{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:var(--radius,16px);background:#fff;border:1px solid #dbe5f3;box-shadow:var(--shadow,0 10px 34px rgba(10,37,64,.10));color:inherit;transition:transform .25s,border-color .25s}
.area-card:hover,.area-card:focus-visible{transform:translateY(-3px);border-color:#0aa5c6}
.area-card h3{margin:0;color:#0a3d8a}
.area-card p{margin:0;color:#33475f;line-height:1.6;flex:1}
.area-card span{font-weight:700;color:#087f99}
.area-svc{list-style:none;margin:0 0 14px;padding:0;border:1px solid #dbe5f3;border-radius:12px;overflow:hidden}
.area-svc li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:12px 16px;border-bottom:1px solid #edf2f7}
.area-svc li:last-child{border-bottom:0}
.area-svc a{font-weight:600;color:#0a3d8a}
.area-svc span{color:#33475f;font-weight:600}
.area-note{color:#33475f;line-height:1.6}
@media(prefers-reduced-motion:reduce){.area-card{transition:none}.area-card:hover{transform:none}}

/* v42 fixes */
/* "Send on WhatsApp instead" was white-on-white inside the white form cards */
.contact-form .btn-ghost,.book-card .btn-ghost{color:#0a3d8a;border:2px solid #0a3d8a;background:#fff}
.contact-form .btn-ghost:hover,.book-card .btn-ghost:hover{background:#0a3d8a;color:#fff}
/* phones: smaller floating buttons so they cover less of the text */
@media(max-width:600px){
  .fstack{--fs:40px;--fg:10px}
  body .to-top{width:36px;height:36px;bottom:calc(16px + 3*40px + 2*10px + 14px + env(safe-area-inset-bottom,0px))}
}
/* Urdu mode: right-to-left reading */
html.ic-ur body{direction:rtl}
html.ic-ur .ic-chat,html.ic-ur .ic-fab{direction:rtl}
html.ic-ur input[type=tel],html.ic-ur input[type=email],html.ic-ur input[type=date]{direction:ltr;text-align:right}
html.ic-ur a[href^="tel:"],html.ic-ur .px-btn b,html.ic-ur .px-btn span{direction:ltr;unicode-bidi:isolate}

/* v46: phones and tablets: top bar is ONE line. Welcome text on the left, working hours + language button on the right (email/address hidden here, they are in the menu, Contact page and footer) */
@media(max-width:1100px){
  .topbar .container{display:flex!important;flex-wrap:nowrap!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;width:94%!important;min-height:42px;padding:0!important;text-align:start!important}
  .topbar .topbar-info{display:none!important}
  .topbar .tb-welcome{flex:1 1 auto;min-width:0;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem}
  .topbar .ic-tools{display:flex!important;flex:none;gap:6px}
}
@media(max-width:420px){
  .topbar .tb-welcome{font-size:.72rem}
  .topbar .ic-open{padding:3px 8px;font-size:.66rem}
  .topbar .ic-lang{padding:3px 10px;font-size:.72rem}
}
@media(max-width:340px){
  .topbar .tb-welcome{font-size:.66rem}
  .topbar .ic-open{padding:3px 6px;font-size:.62rem}
  .topbar .ic-lang{padding:3px 8px;font-size:.68rem}
}
