/* =====================================================================
   Site-wide skin in the home page (v2) design language.
   Loaded last in layouts.guest.master, so it applies to every public page.
   The home page sections (.hv2) carry their own scoped styles.
   ===================================================================== */
:root{
  --font-primary:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-secondary:'Manrope','Inter',sans-serif;
  --lqd-text-font-family:'Inter',system-ui,sans-serif;
  --lqd-heading-font-family:'Manrope',sans-serif;
  --lqd-secondary-font-family:'Manrope',sans-serif;
  --lqd-accent-font-family:'Manrope',sans-serif;

  --color-primary:#1d5b8d;
  --color-secondary:#f73f32;
  --color-heading:#0f2236;
  --color-body:#4a5b6e;
  --color-border:#e4ebf2;
  --color-light:#f4f8fc;
  --color-lighter:#eef4fa;
  --color-primary-light:#eef4fa;

  --v2-brand:#1d5b8d; --v2-brand-600:#174b75; --v2-brand-800:#0e3354; --v2-brand-900:#0a2540;
  --v2-brand-50:#eef4fa; --v2-brand-100:#dce8f3;
  --v2-red:#f73f32; --v2-red-600:#dd2e22;
  --v2-ink:#0f2236; --v2-text:#4a5b6e; --v2-muted:#7a8a9c; --v2-line:#e4ebf2; --v2-bg:#f4f8fc;
  --v2-shadow-sm:0 2px 10px rgba(14,51,84,.06);
  --v2-shadow:0 14px 40px rgba(14,51,84,.10);
}

/* ---------- Base ---------- */
/* clip (not hidden) so the window stays the scroll container: scroll animations and sticky keep working */
html,body{overflow-x:clip}
body{font-family:var(--font-primary);color:var(--v2-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--font-secondary);color:var(--v2-ink);letter-spacing:-.02em}
h1,.h1,h2,.h2{font-weight:800}
h3,.h3,h4,.h4{font-weight:700}
img{max-width:100%;height:auto}
::selection{background:var(--v2-brand-100);color:var(--v2-ink)}

/* Gradient headline text -> solid brand blue, like the home page */
.theme-gradient{
  background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;
  -webkit-text-fill-color:currentColor!important;color:var(--v2-brand)!important;
}

/* Section "subtitle" pills -> home page eyebrow (red dash + uppercase label) */
.section-title .subtitle,
.section-title span.subtitle{
  display:inline-flex!important;align-items:center;gap:8px;
  background:transparent!important;padding:0!important;border-radius:0!important;
  font-family:var(--font-secondary);font-size:13px!important;font-weight:800!important;line-height:1.4!important;
  letter-spacing:1.4px;text-transform:uppercase;color:var(--v2-brand)!important;margin-bottom:12px;
}
.section-title .subtitle::before{content:"";width:20px;height:3px;border-radius:3px;background:var(--v2-red);flex:none}
.section-title .title{font-family:var(--font-secondary);font-weight:800;color:var(--v2-ink)}
.section-title .description{color:var(--v2-text)}

/* ---------- Buttons ---------- */
.rbt-btn{
  font-family:var(--font-secondary);font-weight:700;letter-spacing:0;border-radius:10px!important;
  background:var(--v2-brand);transition:background .25s,transform .25s,box-shadow .25s,color .25s;
}
.rbt-btn:hover{background:var(--v2-brand-600);transform:translateY(-2px);box-shadow:0 10px 24px rgba(29,91,141,.28)}
.rbt-btn.btn-gradient,
.rbt-btn.btn-gradient.btn-gradient-2,
.rbt-btn.btn-gradient.btn-gradient-3{background-image:none!important;background:var(--v2-brand)!important;color:#fff!important}
.rbt-btn.btn-gradient:hover{background:var(--v2-brand-600)!important}
.rbt-btn.btn-secondary{background:var(--v2-red)}
.rbt-btn.btn-secondary:hover{background:var(--v2-red-600)}
.rbt-btn.btn-white{background:#fff;color:var(--v2-brand)}
.rbt-btn.btn-border,
.rbt-btn.btn-border-gradient{background:#fff!important;color:var(--v2-brand)!important;border:2px solid var(--v2-brand-100)!important;box-shadow:none}
.rbt-btn.btn-border:hover,
.rbt-btn.btn-border-gradient:hover{border-color:var(--v2-brand)!important;background:var(--v2-brand-50)!important}
.rbt-btn.btn-border-gradient::before,.rbt-btn.btn-border-gradient::after{display:none!important}
.rbt-btn-link,.rbt-btn-link a{font-family:var(--font-secondary);font-weight:800;color:var(--v2-red)}
.btn-primary{background:var(--v2-brand);border-color:var(--v2-brand);border-radius:10px}
.btn-primary:hover{background:var(--v2-brand-600);border-color:var(--v2-brand-600)}

/* ---------- Cards ---------- */
.rbt-card,
.rbt-splash-feature-box,
.rbt-service,
.rbt-counterup,
.service-card,
.single-blog,
.blog-card{border-radius:16px}
.rbt-card{border:1px solid var(--v2-line);box-shadow:var(--v2-shadow-sm);transition:box-shadow .3s,transform .3s}
.rbt-card:hover{box-shadow:var(--v2-shadow);transform:translateY(-4px)}
.rbt-card .rbt-card-img img{border-radius:12px}
.rbt-card .rbt-card-title a:hover{color:var(--v2-brand)}

/* ---------- Forms ---------- */
body:not(.admin) input[type="text"],
body:not(.admin) input[type="email"],
body:not(.admin) input[type="tel"],
body:not(.admin) input[type="number"],
body:not(.admin) input[type="search"],
body:not(.admin) input[type="url"],
body:not(.admin) textarea,
body:not(.admin) select{font-family:var(--font-primary);color:var(--v2-ink)}
body input:focus,body textarea:focus,body select:focus{border-color:var(--v2-brand)}
.form-control{border-radius:9px;border:1.5px solid var(--v2-line)}
.form-control:focus{border-color:var(--v2-brand);box-shadow:0 0 0 4px var(--v2-brand-50)}

/* ---------- Accordions (FAQ on inner pages) ---------- */
.rbt-accordion-style .card{border:1px solid var(--v2-line)!important;border-radius:12px!important;overflow:hidden;margin-bottom:12px}
.rbt-accordion-style .card .card-header button{font-family:var(--font-secondary);font-weight:700;color:var(--v2-ink)}
.rbt-accordion-style .card .card-header button[aria-expanded=true]{color:var(--v2-brand)}

/* ---------- Page hero / banner backgrounds -> home page light blue ---------- */
.specialties-hero{background:linear-gradient(180deg,var(--v2-brand-50) 0%,var(--v2-bg) 100%)!important;padding-top:140px!important}
@media (max-width:767px){.specialties-hero{padding-top:110px!important;padding-bottom:50px!important}}
.bg-gradient-11{background-image:linear-gradient(180deg,var(--v2-brand-50) 0%,#fff 100%)!important}
.specialties-hero .subtitle{background:transparent!important;color:var(--v2-brand)!important;font-family:var(--font-secondary);font-weight:800;letter-spacing:1.4px}

/* ---------- Breadcrumb / page title bars ---------- */
.rbt-breadcrumb-default{background:var(--v2-bg)}
.rbt-breadcrumb-default .title{font-family:var(--font-secondary);font-weight:800}
.page-list li a:hover{color:var(--v2-brand)}

/* ---------- Floating WhatsApp / Call buttons: bottom-right on small screens ---------- */
@media (max-width:991px){
  .rbt-floating-contact{top:auto!important;bottom:18px;right:14px!important;transform:none!important;gap:10px}
  .rbt-floating-contact .floating-btn{width:46px;height:46px;font-size:19px}
}

/* ---------- Responsive helpers for every page ---------- */
@media (max-width:1199px){
  .container,.container-fluid{padding-left:20px;padding-right:20px}
}
@media (max-width:767px){
  .container,.container-fluid{padding-left:16px;padding-right:16px}
  :is(h1,.h1):not(.hv2 *,.cmp-footer *){font-size:clamp(30px,8vw,40px)!important;line-height:1.15!important}
  :is(h2,.h2):not(.hv2 *,.cmp-footer *){font-size:clamp(24px,6.6vw,32px)!important;line-height:1.2!important}
  :is(h3,.h3):not(.hv2 *,.cmp-footer *){font-size:clamp(20px,5.4vw,24px)!important;line-height:1.25!important}
  .section-title .title{font-size:clamp(24px,6.6vw,32px)!important;line-height:1.2!important}
  .rbt-section-gap,.rbt-section-gapTop{padding-top:56px!important}
  .rbt-section-gap,.rbt-section-gapBottom{padding-bottom:56px!important}
  .rbt-btn{max-width:100%;white-space:normal}
  table{display:block;max-width:100%;overflow-x:auto}
  iframe,video,embed{max-width:100%}
}

/* ---------- Newsletter message (shown under the form, on every page with a newsletter box) ---------- */
#newsletterMessage.nl-message{margin-top:10px;padding:10px 14px;border-radius:10px;font-size:14px;font-weight:500;line-height:1.45;border:1px solid transparent}
#newsletterMessage.nl-message.is-success{background:#e6f7ef;color:#16774f;border-color:#bfe8d4}
#newsletterMessage.nl-message.is-error{background:#fff0ee;color:#b42318;border-color:#fbd0ca}

/* ---------- Inline form result message (schedule demo and other classic forms) ---------- */
.site-form-msg{margin:6px 0 14px;padding:12px 16px;border-radius:10px;font-size:14.5px;font-weight:500;line-height:1.45;border:1px solid transparent}
.site-form-msg.is-success{background:#e6f7ef;color:#16774f;border-color:#bfe8d4}
.site-form-msg.is-error{background:#fff0ee;color:#b42318;border-color:#fbd0ca}
