/* ==============================
   Cleanwee – Global Styles (Bootstrap 5)
   File: assets/css/style.css
   ============================== */

/* ---------- Root & Theme ---------- */
:root{
  /* Your palette */
  --bule:#007CFA;        /* keep original key */
  --blue:#007CFA;        /* safe alias */
  --orange:#FFC702;
  --black:#0B132B;
  --white:#ffffff;

  /* UI tokens */
  --radius:16px;
  --shadow-sm:0 6px 18px rgba(0,0,0,.06);
  --shadow-md:0 10px 24px rgba(0,0,0,.08);

  /* Extras used in some panels */
  --border:#eef0f4;
  --tint-blue: #f7fbff;
  --ring: rgba(0,124,250,.15);
  --brand-600:#0d2f7a;
}

/* ---------- Base ---------- */
html,body{height:100%}
body{
  font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans";
  color:#222;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{text-decoration:none}
a:hover{opacity:.9}
a:visited{ color:inherit !important; }

a.btn.btn-brand.px-4{ color:#fff !important; }

/* ---------- Utilities ---------- */
.rounded-3xl{border-radius:24px}
.shadow-soft{box-shadow:var(--shadow-sm)}
.shadow-lift{box-shadow:var(--shadow-md)}
.text-faint{color:rgba(0,0,0,.6)}
.bg-faint{background:#f7f9fb}
.letter-2{ letter-spacing:.12em; }
.object-fit-cover{ object-fit:cover }
.ratio-5x4{ --bs-aspect-ratio: calc(5 / 4 * 100%); } /* 80% */

/* If .ratio base is missing in your build */
.ratio{ position:relative; width:100%; }
.ratio::before{ display:block; padding-top: var(--bs-aspect-ratio); content:""; }
.ratio > *{ position:absolute; inset:0; width:100%; height:100%; }

/* Brand text helper (used in many sections) */
.text-brand{ color:var(--bule); }

/* ---------- Buttons & Links ---------- */
.btn-primary{ background:var(--bule); border-color:var(--bule); }
.btn-primary:hover{ filter:brightness(.95); }
.link-muted{color:rgba(0,0,0,.65)}
.link-muted:hover{color:#000}

.btn-brand{
  --btn-bg:var(--bule);
  background:linear-gradient(180deg,var(--btn-bg),#036ee0);
  border:0;color:#fff;font-weight:700;border-radius:999px;
  padding:.85rem 1.35rem;
  box-shadow:0 10px 24px rgba(0,124,250,.35), inset 0 1px 0 rgba(255,255,255,.18);
}
.btn-brand:hover{ filter:brightness(.96); color:#fff; }
.btn-outline-brand{
  border:1.6px solid var(--bule); color:var(--bule);
  border-radius:999px; padding:.85rem 1.35rem; font-weight:700;
}
.btn-outline-brand:hover{ background:var(--bule); color:#fff; }

/* ---------- Topbar ---------- */
.topbar{
  background:var(--bule);
  color:var(--white);
  font-weight:600;
  font-size:.95rem;
}
.topbar a{color:var(--white)}
.topbar .social a{opacity:.9}
.topbar .social a:hover{opacity:1}

/* ---------- Header / Navbar ---------- */
.navbar{box-shadow:var(--shadow-sm)}
.navbar-brand img{height:48px}
.brand-text{font-weight:700;letter-spacing:.4px;color:#111}

.navbar .nav-link{
  font-weight:600;
  letter-spacing:.2px;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus{color:var(--bule)}
.navbar .dropdown-toggle::after{margin-left:.35rem}

/* Sticky shadow on scroll (paired with JS) */
.sticky-top{transition:box-shadow .2s ease}
.sticky-top.is-stuck{box-shadow:var(--shadow-md)}

/* Hover dropdowns on lg+ only */
@media (min-width:992px){
  .dropdown-hover:hover>.dropdown-menu{display:block;margin-top:0}
  .dropdown-menu{border:0;box-shadow:var(--shadow-sm);padding:.5rem}
  .dropdown-item{border-radius:.5rem}
}

/* Header icon buttons */
.nav-utilities .btn{border:0}
.cart-badge{
  position:absolute;top:-6px;right:-6px;
  background:var(--bule);color:#fff;font-size:.7rem;
  width:20px;height:20px;display:grid;place-items:center;border-radius:50%;
}

/* Phone CTA (navbar right) */
.call-cta{
  display:inline-flex;align-items:center;gap:10px;
  background:#fff;border:1px solid #eef2f7;
  padding:.55rem .95rem;border-radius:999px;
  text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.08);
}
.call-cta:hover{filter:brightness(.98);box-shadow:0 10px 28px rgba(0,0,0,.10)}
.call-ico{
  width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--bule,#007CFA);color:#fff;font-size:1.05rem;
}
.call-num{
  font-weight:800;letter-spacing:.2px;
  color:var(--bule);
  font-size:1.05rem;
}
@media (max-width: 575.98px){
  .call-ico{width:32px;height:32px;font-size:.95rem}
  .call-num{font-size:1rem}
}

/* ---------- Right Offcanvas (Mobile/Tablet) ---------- */
.offcanvas-end{width:min(360px,90vw)}
.offcanvas{--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem}
.offcanvas-header{border-bottom:1px solid #eef0f3}
.offcanvas .search-btn{background:var(--bule);border-color:var(--bule)}

/* Mobile nav list */
.mobile-nav .list-group-item{
  border:0;padding:.9rem 0;font-weight:600;color:#222;
}
.mobile-nav .list-group-item + .list-group-item{border-top:1px solid #f1f3f5}

/* Accordion groups */
.clean-acc .accordion-item{border:0;border-top:1px solid #f1f3f5}
.clean-acc .accordion-button{
  padding:.9rem 0;background:#fff;box-shadow:none;font-weight:600;color:#222;
}
.clean-acc .accordion-button:not(.collapsed){color:var(--bule);background:#f7fbff}
.clean-acc .accordion-button:focus{box-shadow:none}
.clean-acc .accordion-body .list-group-item{padding:.65rem 0;font-weight:500;color:#444}
.clean-acc .accordion-body .list-group-item:hover{color:var(--bule)}

/* --- Dropdown base look --- */
.navbar .dropdown-menu{
  border:0;
  border-radius:.5rem;
  box-shadow:0 12px 32px rgba(16,24,40,.12);
  margin-top:.5rem;
  --bs-dropdown-min-width:12rem;
  max-height:70vh;
  overflow-y:auto;
  z-index:1050;
}
/* Desktop: hover open with fade/slide (no jump) */
@media (min-width: 992px){
  .navbar .dropdown-hover{ position:relative; }
  .navbar .dropdown-hover .dropdown-menu{
    display:block;
    opacity:0;
    visibility:hidden;
    transform:translateY(6px);
    pointer-events:none;
    transition:opacity .16s ease, transform .16s ease, visibility 0s linear .16s;
  }
  .navbar .dropdown-hover:hover .dropdown-menu,
  .navbar .dropdown-hover:focus-within .dropdown-menu{
    opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; transition-delay:0s;
  }
}

/* Split-caret spacing */
.navbar-nav .dropdown-hover > .nav-link{
  display:inline-flex; align-items:center; gap:.25rem;
}
.navbar .dropdown-toggle-split{
  display:inline-flex; align-items:center;
  padding-left:.25rem; padding-right:.25rem; line-height:1;
}
.navbar .dropdown-toggle-split::after{ margin-left:.15rem; }

/* Hover highlight */
.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus{
  background: rgba(13,47,122,.08);
  color: var(--brand-600);
}

/* Position */
.navbar .dropdown-menu{ top:100%; }

/* two-column layout for long Service menu on desktop */
@media (min-width:992px){
  .navbar .dropdown-menu.cols-2{
    width:520px; display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:.5rem; row-gap:.25rem;
  }
  .navbar .dropdown-menu.cols-2 .dropdown-item{ white-space:normal; }
}

/* right-edge menus align */
@media (min-width:992px){
  .navbar .dropdown-menu.dropdown-menu-end{ right:0; left:auto; }
}

/* ===== Hero (Cleanwee) ===== */
.hero-cleanwee{
  background:#0a1a28;
  position:relative;
  isolation:isolate;
}
.hero-cleanwee .hero-bg{
  position:absolute; inset:0;
  background:url("../img/hero-bg.jpg") center/cover no-repeat;
  filter:brightness(.55);
  z-index:-2;
}
.hero-cleanwee .hero-overlay{
  position:absolute; inset:0;
  background: radial-gradient(60% 80% at 80% 10%, rgba(0,124,250,.22) 0%, rgba(0,124,250,0) 55%),
              linear-gradient(90deg, rgba(7,23,36,.85), rgba(7,23,36,.6));
  z-index:-1;
}
.hero-cleanwee .text-accent{ color:#36c174; font-weight:700; }
.hero-cleanwee .hero-underline{
  height:8px; margin-top:.25rem;
  background: radial-gradient(circle at 6px 6px, transparent 6px, var(--bule) 6px) 0 0/22px 100% repeat-x;
}
.hero-cleanwee .hero-img{
  max-height:520px; object-fit:contain;
  filter: drop-shadow(0 18px 40px rgba(0,0,0,.25));
}
.hero-stats .stat{ padding-right:1.25rem; border-right:1px solid rgba(255,255,255,.15) }
.hero-stats .col-6:last-child .stat,
.hero-stats .col-md-auto:last-child .stat{ border-right:0; padding-right:0 }

@media (min-width: 992px){
  .hero-cleanwee .py-lg-6{ padding-top:4.5rem !important; padding-bottom:4.5rem !important; }
}
@media (max-width: 991.98px){
  .hero-cleanwee .hero-img{ max-height:360px }
  .hero-cleanwee h1{ font-size:clamp(2rem, 4vw + 1.2rem, 3rem); }
}

/* ===== About v2 (Cleanwee) ===== */
.about-v2 .text-brand{ color:var(--bule); }

/* Media collage */
.media-stack{ position:relative; max-width:640px; }
.media-stack .photo-card{ position:relative; border-radius:22px; overflow:hidden; }
.media-stack .photo-card img{
  height: clamp(560px, 56vh, 560px);
  width:100%; object-fit:cover; object-position: top center; display:block;
}
.media-stack .photo-card .ring{
  position:absolute; left:-18px; top:-18px; width:160px; height:160px; border-radius:50%;
  border:6px solid rgba(0,124,250,.18); border-right-color:transparent;
  transform:rotate(18deg); pointer-events:none; z-index:1;
}
.media-stack .photo-thumb{
  position:absolute; right:-16px; bottom:-18px; width:46%;
  border-radius:18px; overflow:hidden; background:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.12); z-index:2;
}
.media-stack .photo-thumb img{
  width:100%; height: clamp(200px, 28vh, 240px);
  object-fit:cover; object-position: top center; display:block;
}
.media-stack .stat-float{
  position:absolute; left:-12px; top:14px;
  background:rgba(255,255,255,.92); border:1px solid rgba(0,0,0,.06);
  backdrop-filter: blur(8px); border-radius:14px; padding:.75rem 1rem; z-index:3;
}
.shape-blob{
  position:absolute; left:-28px; top:-22px; width:200px; height:200px;
  border-radius:50%;
  background: radial-gradient(closest-side, rgba(0,124,250,.18), rgba(0,124,250,0));
  z-index:0;
}

/* Donut (mini) — pure CSS, set with --p:0..100 */
.donut{
  --size:44px; --track: rgba(0,124,250,.15);
  width:var(--size); height:var(--size); border-radius:50%;
  background: conic-gradient(var(--bule) calc(var(--p)*1%), var(--track) 0);
  display:grid; place-items:center; position:relative;
}
.donut::before{
  content:""; width:calc(var(--size) - 16px); height:calc(var(--size) - 16px);
  border-radius:50%; background:#fff;
}

/* Value props */
.about-checks .check-icon{
  width:36px;height:36px;border-radius:50%;
  display:inline-grid;place-items:center;
  background:rgba(0,124,250,.10); color:var(--bule);
}

/* KPI chips */
.kpi{
  background:#f7fbff; border:1px solid #e6eef8; border-radius:14px; padding:14px 8px;
}

/* Responsive */
@media (max-width:991.98px){
  .media-stack .photo-card img{ height: clamp(360px, 48vh, 420px); }
  .media-stack .photo-thumb{ position:static; width:100%; margin-top:1rem; }
  .media-stack .photo-thumb img{ height:200px; }
  .media-stack .stat-float{ position:static; display:inline-block; margin-top:.75rem; }
}
@media (max-width:575.98px){
  .media-stack .photo-card img{ height:320px; }
}

/* ===== Services Slider ===== */
.services-slider .text-brand{ color:var(--bule); }
.services-slider .track{
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scroll-padding:0 1rem;
  mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}
.services-slider .track::-webkit-scrollbar{ display:none; }
.services-slider .slide{ scroll-snap-align:start; width:85%; }
@media (min-width:768px){ .services-slider .slide{ width: calc(50% - .5rem); } }
@media (min-width:992px){ .services-slider .slide{ width: calc(33.333% - .5rem); } }

.service-card{ border-radius:18px; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease; }
.service-card:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.08); }
.service-card .card-body{ position:relative;}
.service-card .service-icon{
  position:absolute; left:50%; transform:translateX(-50%); top:-22px;
  width:56px; height:56px; border-radius:14px; display:grid; place-items:center;
  background:rgba(0,124,250,.12); color:var(--bule); font-size:1.35rem; border:1px solid rgba(0,124,250,.15);
}

/* Arrow buttons */
.btn-nav{
  width:44px; height:44px; border-radius:50%;
  display:inline-grid; place-items:center;
  background:var(--bule); border:0; color:#fff;
  box-shadow:0 10px 24px rgba(0,124,250,.35);
}
.btn-nav:hover{ filter:brightness(.95); color:#fff; }
.btn-nav[disabled]{ opacity:.35; cursor:not-allowed; }
.services-slider .track.no-snap{ scroll-snap-type:none; }

/* ===== Get in Touch (Cleanwee) ===== */
.contact-cta .text-brand{ color:var(--bule); }
.cta-pane{
  background: radial-gradient(80% 120% at 85% 20%, rgba(0,124,250,.18) 0%, rgba(0,124,250,0) 55%), #0a1a28;
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
}
.shadow-soft{ box-shadow:0 8px 24px rgba(0,0,0,.08); } /* section-specific tweak */
.cta-motif{
  position:absolute; right:8%; bottom:6%; width:280px; height:280px; opacity:.25;
  background: radial-gradient(circle at center, rgba(255,255,255,.18) 1px, transparent 1px) 0 0/10px 10px;
  border-radius:50%; filter: blur(.3px);
}
.appt-card .card-header{ background: linear-gradient(180deg, var(--bule), #036ee0); }
.form-pill{
  border-radius:999px; padding:.9rem 2.75rem .9rem 1.1rem;
  background:#f6f9fc; border:1px solid #e8eef5;
}
.form-pill:focus{ box-shadow:none; border-color:var(--bule); background:#fff; }
.form-icon{
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  color:#96a0af; pointer-events:none; font-size:1.05rem;
}
.rounded-top-4{ border-top-left-radius:1rem !important; border-top-right-radius:1rem !important; }
@media (max-width:575.98px){
  .cta-pane{ border-radius:1rem; }
  .appt-card{ border-radius:1rem !important; }
}

/* ===== Why Choose Us ===== */
.why-cleanwee .text-brand{ color:var(--bule); }
.v-benefits .iconbox{
  width:46px;height:46px;border-radius:12px;display:grid;place-items:center;
  background:rgba(0,124,250,.10); color:var(--bule); font-size:1.1rem; flex:0 0 auto;
  border:1px solid rgba(0,124,250,.18);
}

/* Overlapping circular images */
.circles{
  --R-lg: clamp(260px, 35vw, 520px);
  --R-sm: clamp(140px, 20vw, 260px);
  width: min(100%, 720px);
  aspect-ratio: 16/11;
}
.circles .circle{
  position:absolute; border-radius:50%; overflow:hidden;
  border:8px solid var(--bule); background:#fff;
}
.circles .circle img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.circles .circle-lg{ width:var(--R-lg); height:var(--R-lg); right:0; top:0; }
.circles .circle-sm{ width:var(--R-sm); height:var(--R-sm); left:6%; bottom:4%; }
.circles .bg-dots{
  position:absolute; inset:auto 12% 10% auto; width:280px; height:280px; opacity:.25;
  background: radial-gradient(circle at center, rgba(0,124,250,.14) 1px, transparent 1px) 0 0/10px 10px;
  border-radius:50%; filter: blur(.3px); z-index:-1;
}
@media (max-width:575.98px){
  .circles{ aspect-ratio:4/3; }
  .circles .circle-lg{ right:50%; transform:translateX(50%); }
  .circles .circle-sm{ left:50%; transform:translateX(-50%); bottom:0; }
}

/* ===== FAQ ===== */
.faq-cleanwee .text-brand{ color:var(--bule); }
.faq-accordion{ padding-block:10px; }
.faq-accordion .accordion-item{
  border:0; background:transparent; border-radius:22px; overflow:visible;
  box-shadow:none;
}
.faq-accordion .accordion-button{
  border-radius:22px; padding:1rem 1.25rem; font-weight:700;
  color:#fff; background:var(--black); box-shadow:none;
}
.faq-accordion .accordion-button .chev{ transition: transform .25s ease; }
.faq-accordion .accordion-button::after{ display:none; }
.faq-accordion .accordion-button:not(.collapsed){
  color:#fff; background:linear-gradient(180deg, var(--bule), #036ee0);
  border-bottom-left-radius:0; border-bottom-right-radius:0;
}
.faq-accordion .accordion-button:not(.collapsed) .chev{ transform:rotate(180deg); }
.faq-accordion .accordion-body{
  background:#fff; color:#374151; border:1px solid #eef1f6; border-top:0;
  border-bottom-left-radius:22px; border-bottom-right-radius:22px; padding:1rem 1.25rem;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
}
@media (max-width:575.98px){
  .faq-accordion .accordion-button{ padding:.9rem 1rem; }
  .faq-accordion .accordion-body{ padding:.9rem 1rem; }
}
.faq-cleanwee, .faq-cleanwee .container { overflow:visible; }
.faq-accordion .accordion-item:first-child{ margin-top:.25rem; }
.faq-accordion .accordion-item:last-child{ margin-bottom:.25rem; }

/* ===== CWB (wizard styles) ===== */
.cwb{max-width:1100px;margin:0 auto;padding:24px}
.cwb-hero{background:#FFC702;color:#000;text-align:center;font-weight:800;border-radius:.5rem;padding:.9rem;margin:0 0 1.25rem}
.cwb-bar{background:#FFC702;color:#000;padding:.7rem .9rem;font-weight:700;border-radius:.375rem;margin:1rem 0 .75rem;border:none !important;}
.cwb-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:.5rem 0 1rem}
.cwb-step{background:#f1f59;border:1px solid #eef2f7;border-radius:1rem;padding:.5rem;text-align:center;font-size:.8rem;color:var(--cwb-sub);font-weight:600}
.cwb-step--active{background:rgba(13,47,122,.12);border-color:rgba(13,47,122,.45);color:#fff}
.cwb-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
@media (max-width:900px){ .cwb-services{grid-template-columns:1fr} }
.cwb-service-chip{display:grid;grid-template-columns:auto auto 1fr;gap:.75rem;align-items:center;border:1px solid var(--cwb-border);background:#fff;border-radius:.5rem;padding:.7rem}
.cwb-price{color:#64748b;font-weight:600;margin-left:.25rem}
.cwb-qty{display:flex;align-items:center;gap:.45rem}
.cwb-qty-num{min-width:28px;text-align:center;font-weight:800}
.cwb-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.cwb-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}
@media (max-width:900px){ .cwb-grid-2,.cwb-grid-4{grid-template-columns:1fr} }
.cwb-service-card{border:1px solid var(--cwb-border);background:#000;border-radius:.5rem;padding:.75rem;margin-bottom:.9rem}
.cwb-service-title{background:var(--cwb-blue2);color:#000;font-weight:800;padding:.55rem .7rem;border-radius:.375rem;margin:-.75rem -.75rem .75rem}
.form-control,.form-select{border-color:var(--cwb-border)}
.btn-ghost{background:#fff;border:1px solid var(--cwb-border)}
.cwb-total-pill{display:inline-flex;align-items:center;gap:.5rem;background:#f1f5f9;border:1px solid var(--cwb-border);border-radius:999px;padding:.5rem .9rem;font-weight:800;margin:.75rem 0}
.cwb-card{border:1px solid var(--cwb-border);background:#fff;border-radius:.5rem;padding:1rem}
.cwb-card-title{font-weight:900;color:#0b1c47}
.cwb-row{display:flex;align-items:center;justify-content:space-between;padding:.35rem 0}
.cwb-row .label{color:#64748b}
.cwb-total-line{display:flex;align-items:center;justify-content:space-between;font-weight:900;font-size:1.15rem;margin:.5rem 0}
.cwb-nav .btn-primary{background:var(--cwb-blue2);border-color:var(--cwb-blue2)}
.cwb-submit{background:var(--cwb-green);border:0}
.help-err{color:#b91c1c;font-weight:800;margin:.25rem 0}

/* ===== Testimonials ===== */
.testi-cleanwee .text-brand{ color:var(--bule); }
.testi-track{
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scroll-padding:0 1rem;
  mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}
.testi-track.no-snap{ scroll-snap-type:none; }
.testi-track::-webkit-scrollbar{ display:none; }
.t-slide{ scroll-snap-align:start; width:92%; }
@media (min-width:768px){ .t-slide{ width:66%; } }
@media (min-width:992px){ .t-slide{ width:48%; } }
@media (min-width:1200px){ .t-slide{ width:45%; } }
.t-card{ border-radius:18px; }
.t-avatar{
  width:88px; height:88px; border-radius:50%;
  object-fit:cover; object-position:center; border:3px solid var(--bule);
}
.t-quote{ font-style:italic; line-height:1.8; }
.t-nav{
  width:46px; height:46px; border-radius:12px; background:var(--bule); color:#fff; border:0;
  display:grid; place-items:center; box-shadow:0 10px 24px rgba(0,124,250,.35);
}
.t-nav:hover{ filter:brightness(.95); color:#fff; }
.t-nav[disabled]{ opacity:.35; cursor:not-allowed; }

/* ===== Blog Slider ===== */
.blog-slider .text-brand{ color:var(--bule); }
.blog-track{
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scroll-padding:0 1rem;
  mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}
.blog-track.no-snap{ scroll-snap-type:none; }
.blog-track::-webkit-scrollbar{ display:none; }
.b-slide{ scroll-snap-align:start; width:88%; }
@media (min-width:768px){ .b-slide{ width: calc(50% - .5rem); } }
@media (min-width:992px){ .b-slide{ width: calc(33.333% - .5rem); } }
.blog-card{ border-radius:18px; overflow:hidden; }
.blog-card .card-body{ padding:1rem 1.1rem 1.25rem; }
.date-badge{
  position:absolute; right:.75rem; bottom:.75rem;
  background:var(--bule); color:#fff; border-radius:.6rem;
  display:flex; flex-direction:column; align-items:center; line-height:1;
  box-shadow:0 10px 24px rgba(0,124,250,.35);
  display:none !important;
}
.date-badge .day{ font-weight:800; padding:.35rem .55rem 0; }
.date-badge .mon{
  font-size:.8rem; background:rgba(255,255,255,.16);
  padding:.25rem .55rem .35rem; border-bottom-left-radius:.6rem; border-bottom-right-radius:.6rem;
}
.blog-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--bule); color:#fff; border:0;
  box-shadow:0 10px 24px rgba(0,124,250,.35); z-index:2;
}
.blog-nav.prev{ left:8px; } .blog-nav.next{ right:8px; }
.blog-nav:hover{ filter:brightness(.95); color:#fff; }
.blog-nav[disabled]{ opacity:.35; cursor:not-allowed; }
.line-clamp-2{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
/* unify cover images */
.blog-card .ratio{ --bs-aspect-ratio:56.25%; }
.blog-card .ratio > img{
  width:100%; height:100%; display:block;
  object-fit:cover; object-position: top center;
  border-top-left-radius:18px; border-top-right-radius:18px;
}

/* Kill edge-fade on every slider track */
.services-slider .track, .testi-track, .blog-track{
  -webkit-mask-image:none !important; mask-image:none !important;
}

/* ===== Work Process ===== */
.work-process{ background: linear-gradient(180deg, var(--bule) 0%, #0b65f0 100%); isolation:isolate; }
.wp-ico{
  width:112px;height:112px;border-radius:50%;
  display:grid;place-items:center;background:rgba(255,255,255,.06);
  border:2px solid rgba(255,255,255,.65); box-shadow:0 10px 30px rgba(0,0,0,.15);
}
.wp-ico i{ font-size:2rem; color:var(--orange); }
@media (max-width:991.98px){
  .wp-step{ position:relative; }
  .wp-step::before{
    content:""; position:absolute; left:50%; top:-18px; width:2px; height:18px; transform:translateX(-50%);
    background:rgba(255,255,255,.35); border-radius:2px;
  }
  .row > .col:first-child .wp-step::before{ display:none; }
}
.wp-line{ min-height:220px; }
.wp-curve{ height:190px; }

/* ===== Why Choose Us (Pro section) ===== */
.why-cw .cw-blob{ position:absolute; inset:auto; z-index:0; pointer-events:none; filter:blur(.4px); }
.why-cw .cw-blob-1{
  left:-20px; bottom:-24px; width:58%; height:56%;
  background: radial-gradient(closest-side, rgba(255,199,2,.85), rgba(255,199,2,0));
  border-bottom-left-radius:1000px;
}
.why-cw .cw-blob-2{
  right:-18px; top:-18px; width:54%; height:54%;
  background: radial-gradient(closest-side, rgba(0,124,250,.85), rgba(0,124,250,0));
  border-top-right-radius:1000px;
}
.feature{ transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.feature:hover{ transform:translateY(-4px); box-shadow:0 18px 36px rgba(0,0,0,.08); border-color:rgba(0,124,250,.25)!important; }
.feature .ico{
  width:56px; height:56px; background:rgba(0,124,250,.10); color:var(--bule);
  border:1px solid rgba(0,124,250,.18);
}
.letter-spacing-1{ letter-spacing:.06em; }

/* ===== Pro Sidebar ===== */
.pro-sidebar{
  background:#fff; border:1px solid var(--border); border-radius:20px;
  padding:1.25rem;
  box-shadow: 0 18px 50px rgba(11,19,43,.10), 0 8px 24px rgba(11,19,43,.06), 0 2px 6px rgba(11,19,43,.04);
}
.pro-sidebar .widget{ background:transparent; border:0; box-shadow:none; padding:0; }
.pro-sidebar .widget + .widget{
  margin-top:1.25rem; padding-top:1.25rem; border-top:1px dashed #eef1f6;
}
.pro-sidebar .widget-title{ font-weight:800; color:var(--black); margin-bottom:.75rem; }
/* Search pill */
.pro-sidebar .search-pill .input-group-text{
  background:#fff; border:0; color:#7a8798; border-top-left-radius:999px; border-bottom-left-radius:999px;
}
.pro-sidebar .search-pill .form-control{
  border:0; background:#f6f9ff; border-radius:999px;
}
.pro-sidebar .search-pill .form-control:focus{box-shadow:none}
.pro-sidebar .search-pill .btn{border-radius:999px}
/* Author card btn */
.pro-sidebar .btn-icon{
  width:36px; height:36px; border-radius:50%;
  display:inline-grid; place-items:center; border:1px solid var(--border);
}
.pro-sidebar .btn-icon:hover{background:#f7faff}
/* Mini post */
.mini-post{padding:.55rem; border-radius:12px; transition:.2s}
.mini-post + .mini-post{margin-top:.4rem}
.mini-post:hover{background:#f8fbff}
.mini-post .thumb{
  width:80px; height:56px; border-radius:10px; overflow:hidden; display:block;
  box-shadow:0 6px 16px rgba(0,0,0,.06);
}
.mini-post .thumb img{width:100%; height:100%; object-fit:cover}
.mini-post .mini-title{font-weight:600; color:#1f2a37; text-decoration:none}
.mini-post .mini-title:hover{color:var(--blue)}
/* Categories list */
.widget-cats .list-group-item{
  border:0; padding:.65rem .25rem; background:transparent;
  display:flex; align-items:center; justify-content:space-between;
}
.widget-cats .badge{
  background:rgba(0,124,250,.08)!important; color:var(--blue)!important;
}
/* Tags */
.widget-tags .btn{border-color:#e6ecfb}
.widget-tags .btn:hover{border-color:var(--blue); background:#f0f6ff}
/* Newsletter */
.newsletter{
  background: radial-gradient(120% 120% at 110% -20%, rgba(0,124,250,.55), rgba(0,124,250,.95));
  color:#fff; position:relative; overflow:hidden;
}
.newsletter .form-control{ background:rgba(255,255,255,.95); border:0; color:#0b1528; }
.newsletter .form-control::placeholder{color:#7f8aa3}
.newsletter .btn-warning{background:var(--orange); border:0; color:#0b1528; font-weight:700}
.newsletter-blob{
  position:absolute; right:-40px; bottom:-40px; width:180px; height:180px;
  background:rgba(255,255,255,.18); border-radius:50%;
}
/* CTA / Phone pill */
.cta{background:#fff}
.phone-pill{
  background:#fff; border:1px solid #eef1f6; box-shadow:0 8px 26px rgba(0,0,0,.08);
}
.phone-pill i{color:#0b1b34}
@media (max-width:575.98px){ .pro-sidebar .widget{padding:.9rem} }

/* ===== Sidebar Generic Panels & Forms ===== */
.sidebar-card{ background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow-sm); padding:18px; border:1px solid var(--border); }
.sidebar-fixed{ position: sticky; top: 24px; }

.panel-block{ border-radius:12px; overflow:hidden; background:var(--tint-blue); border:1px solid rgba(0,0,0,.05); box-shadow:var(--shadow-sm); margin-bottom:16px; }
.panel-head{ background:var(--black); color:var(--white); padding:12px 16px; font-weight:800; font-size:18px; display:flex; align-items:center; gap:8px; }
.panel-body{ padding:14px; }

.search-panel .form-control{
  background:var(--white); border:1px solid #dfe3ea; border-right:0;
  border-radius:999px 0 0 999px; height:42px; font-size:14px; padding-left:14px;
}
.search-panel .btn-search{
  border-radius:0 999px 999px 0; height:42px;
  background:var(--black); color:var(--white); border:0; font-weight:700; padding:0 16px;
}
.search-panel .btn-search:hover{ background:var(--blue); }
.search-panel .form-control:focus{ border-color:var(--blue); box-shadow:0 0 0 .2rem var(--ring); }

/* Menus as blocks */
.categories-panel ul{ list-style:none; margin:0; padding:0; }
.categories-panel li{ background:var(--white); border:1px solid #e6eaf1; border-radius:10px; padding:10px 12px; margin-bottom:8px; display:flex; align-items:center; gap:10px; transition:.15s ease; }
.categories-panel li:hover{ border-color:#cfe2ff; box-shadow:0 2px 10px rgba(0,124,250,.08); }
.categories-panel li a{ color:#0f172a; text-decoration:none; flex:1; }
.categories-panel li a:focus{ outline:2px solid var(--blue); outline-offset:2px; }
.categories-panel li > a::before{
  content:"F334"; font-family: bootstrap-icons !important; color:var(--blue); margin-right:8px;
}
.services-panel .menu{ list-style:none; margin:0; padding:0; }
.services-panel .menu > li{ margin-bottom:8px; }
.services-panel .menu a{
  display:flex; align-items:center; gap:8px; background:var(--white);
  border:1px solid #e6eaf1; border-radius:10px; padding:10px 12px;
  font-weight:600; color:#0f172a; text-decoration:none; transition:.15s ease;
}
.services-panel .menu a:hover{ border-color:#cfe2ff; box-shadow:0 2px 10px rgba(0,124,250,.08); }
.services-panel .menu a::before{
  content:"F586"; font-family: bootstrap-icons !important; color:var(--blue); font-size:1rem;
}

/* Quote form */
.quote-panel{ border-radius:12px; overflow:hidden; background:var(--tint-blue); border:1px solid rgba(0,0,0,.06); box-shadow:var(--shadow-sm); }
.quote-panel .quote-head{ background:var(--black); color:var(--white); padding:14px 16px; font-weight:800; font-size:20px; text-align:center; }
.quote-form .form-control, .quote-form .form-select{ background:var(--white); border:1px solid #dfe3ea; border-radius:6px; height:42px; font-size:14px; }
.quote-form textarea.form-control{ height:110px; resize:vertical; }
.quote-form .form-control::placeholder{ color:#9aa3b2; }
.quote-form .form-control:focus, .quote-form .form-select:focus{ border-color:var(--blue); box-shadow:0 0 0 .2rem rgba(0,124,250,.15); }
.quote-form .btn-submit{ background:var(--black); color:var(--white); border:0; border-radius:6px; font-weight:700; height:46px; }
.quote-form .btn-submit:hover{ background:var(--blue); }
.quote-form .btn-submit:active{ background:var(--orange); color:var(--black); }

/* Tags (WP tag cloud) */
.tags-panel .tag-cloud-link{
  display:inline-flex; align-items:center; gap:6px; background:var(--orange); color:var(--black);
  padding:7px 12px; border-radius:999px; text-decoration:none; font-weight:700; margin:4px; border:1px solid rgba(0,0,0,.06);
}
.tags-panel .tag-cloud-link:hover{ filter:brightness(.95); }
.tags-panel .tag-cloud-link::before{ content:"#"; opacity:.7; }

/* ===== Locations ===== */
.location-card .ratio{ overflow:hidden; border-radius:inherit; }
.location-card .loc-img{
  width:100%; height:100%; object-fit:cover;
  transform:scale(1); transition:transform .55s ease;
}
.location-card .loc-overlay{
  position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(11,19,43,.75) 0%, rgba(11,19,43,.05) 55%);
  transition:background .35s ease, opacity .35s ease;
}
.location-card .loc-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding:1rem 1rem 1.1rem;
  color:#fff; font-weight:700; letter-spacing:.2px;
  display:inline-flex; align-items:center;
}
.location-card .loc-caption .bi{ color:var(--orange); }
.location-card:hover .loc-img,
.location-card:focus .loc-img{ transform:scale(1.08); }
.location-card:hover .loc-overlay,
.location-card:focus .loc-overlay{
  background:linear-gradient(0deg, rgba(0,124,250,.72) 0%, rgba(0,124,250,.1) 58%);
}
@media (max-width:575.98px){
  .locations .bg-dark{ border-radius:12px; }
}

/* ===== Contact ===== */
.cw-contact .display-6{ font-weight:800; }
.info-card .icon-badge{
  width:46px;height:46px;border-radius:12px;
  display:grid;place-items:center;
  background:rgba(0,124,250,.1); color:var(--bule); font-size:1.25rem;
}
.cw-contact .form-control-lg,
.cw-contact .form-select-lg{
  border-radius:12px; padding:.75rem .95rem;
  border:1px solid #e7ecf2;
}
.cw-contact .form-control-lg:focus,
.cw-contact .form-select-lg:focus{
  border-color:var(--bule); box-shadow:0 0 0 .2rem rgba(0,124,250,.15);
}
.cw-contact .call-cta{ /* reuse pill */
  display:inline-flex; align-items:center; gap:10px;
  background:#fff; border:1px solid #eef2f7;
  padding:.7rem 1rem; border-radius:999px;
  text-decoration:none; box-shadow:0 8px 24px rgba(0,0,0,.08);
}
.cw-contact .call-ico{
  width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--bule);color:#fff;font-size:1.05rem;
}
.cw-contact .call-num{ color:var(--bule); font-weight:800; letter-spacing:.2px; }
.cw-contact .form-check-label.small.text-faint{ width:100%; }
.cw-badge{
  position:absolute; top:12px; left:12px;
  background:var(--orange); color:#111; font-weight:800;
  padding:.3rem .6rem; border-radius:999px; font-size:.8rem;
}

/* ===== Static Hero (Lawn / Gutter page) ===== */
.hero-static{
  position:relative; min-height:clamp(520px, 72vh, 820px); overflow:hidden; background-color:#08162f;
}
.hero-lawn{
  background-image:url("../img/gutter-hero.jpg");
  background-position:top center; background-size:cover; background-repeat:no-repeat;
}
.hero-static::before{
  content:""; position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(7,21,46,.88) 0%, rgba(7,21,46,.66) 45%, rgba(7,21,46,.18) 100%);
  z-index:0; pointer-events:none;
}
.hero-static > *{ position:relative; z-index:1; }
.hero-eyebrow{
  display:inline-flex; align-items:center; gap:.6rem;
  font-weight:800; letter-spacing:.2px; color:var(--orange);
}
.hero-eyebrow::before{
  content:""; width:48px; height:3px; border-radius:6px; background: currentColor;
}
.hero-title{ text-shadow:0 10px 30px rgba(0,0,0,.25); }
.btn-warning{ background:var(--orange); border-color:var(--orange); }
.btn-warning:hover{ filter:brightness(.97); }
@media (max-width:575.98px){ .hero-title{ font-size:2.4rem; } }
img.why-photo{ width:80%; }

/* ===== Page Hero + Article ===== */
.page-hero{
  background:
    linear-gradient(180deg, rgba(11,19,43,.58), rgba(11,19,43,.58)),
    url("assets/img/gutter-hero.jpg") center/cover no-repeat;
  padding:48px 0 24px; box-shadow: inset 0 -8px 24px rgba(0,0,0,.25);
}
.article .list-check li{ padding-left:1.6rem; position:relative; margin:.35rem 0; }
.article .list-check li::before{
  content:"F26A"; font-family:"bootstrap-icons"; position:absolute; left:0; top:.05rem; color:var(--bule);
}
.article .list-dot li{ padding-left:1.2rem; position:relative; margin:.35rem 0; }
.article .list-dot li::before{
  content:""; width:.45rem; height:.45rem; border-radius:50%;
  background:var(--bule); position:absolute; left:0; top:.55rem;
}
.quote-card .card-header{ background:var(--bule) !important; }
.list-icon li{ margin:.35rem 0; display:flex; align-items:flex-start; }
.list-icon i{ line-height:1.2; }
.bg-primary-subtle{ background: color-mix(in oklab, var(--bule) 15%, #fff) !important; }
.text-primary{ color:var(--bule) !important; }
.card{ border-radius:16px; }
.card-header{ border-radius:16px 16px 0 0; }

/* ===== Carousel Hero (CW) ===== */
.cw-hero .carousel,
.cw-hero .carousel-inner,
.cw-hero .carousel-item { min-height: min(84vh, 880px); }
.cw-hero .hero-bg{ position:absolute; inset:0; background-size:cover; background-position:center; }
.cw-hero .hero-bg::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(11,19,43,.90) 0%, rgba(11,19,43,.75) 35%, rgba(11,19,43,.30) 70%, rgba(11,19,43,0) 100%);
}
.cw-hero .slide-body{
  position:relative; z-index:2; padding: clamp(4rem, 8vw, 8rem) 0;
  display:flex; align-items:center;
}
.cw-hero .eyebrow{
  display:inline-flex; align-items:center; gap:.5rem; padding:.35rem .75rem;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  color:#9EE493; font-weight:700; font-size:.95rem; border-radius:999px;
}
.text-outline{
  color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.85); text-stroke:1.5px rgba(255,255,255,.85);
}
.btn-cta{
  background:var(--blue); border-color:var(--blue); color:#fff;
  border-radius:999px; box-shadow:0 10px 28px rgba(0,124,250,.25);
}
.btn-cta:hover{ filter:brightness(.96); }
.btn-video{ color:#fff; font-weight:600; }
.btn-video .play-circle{
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center; background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.25); transition:transform .15s ease;
}
.btn-video:hover .play-circle{ transform:scale(1.05); }
.cw-control{ width:auto; }
.cw-control .control-circle{
  width:48px;height:48px;border-radius:50%;
  color:#000;background:#fff; display:grid;place-items:center; box-shadow:0 2px 6px rgba(0,0,0,.2);
}

/* Position arrows */
.cw-hero .carousel-control-prev{ left:70rem; }
.cw-hero .carousel-control-next{ right:1rem; }
.cw-hero .carousel-control-prev,
.cw-hero .carousel-control-next{
  top:50%; transform:translateY(-50%);
  width:auto; height:auto; opacity:1; z-index:5; pointer-events:auto;
}

/* Indicators */
.cw-hero .carousel-indicators [data-bs-target]{
  width:10px;height:10px;border-radius:50%;
  background:#fff; opacity:.6; transition:opacity .2s;
}
.cw-hero .carousel-indicators .active{ opacity:1; background:var(--orange); }

/* Sparkles */
.cw-hero .sparkle{
  position:absolute; width:10px;height:10px; border-radius:2px;
  background: radial-gradient(circle,#fff,rgba(255,255,255,.2) 60%, transparent 61%);
  filter: drop-shadow(0 0 6px rgba(255,255,255,.6));
  z-index:1; animation: float 6s ease-in-out infinite;
}
.cw-hero .sparkle.s1{ top:8%; left:8%; animation-delay:0s; }
.cw-hero .sparkle.s2{ top:16%; left:30%; animation-delay:.8s; }
.cw-hero .sparkle.s3{ bottom:8%; right:40%; animation-delay:1.6s; }
@keyframes float{
  0%,100%{ transform:translateY(0) scale(1); opacity:.9;}
  50%{ transform:translateY(-8px) scale(1.05); opacity:1;}
}
.fw-extrabold{ font-weight:900; }

/* ===== Process (hex) ===== */
.cw-process .shadow-soft{ box-shadow:0 10px 28px rgba(0,0,0,.06); }
.cw-process .fw-extrabold{ font-weight:800; }
.cw-process .hex-wrap{ position:relative; width:170px; }
.cw-process .step-num{
  position:absolute; inset:auto auto 100% 50%; transform:translate(-50%, 12px);
  background:var(--orange); color:#111; font-weight:800; font-size:.85rem;
  padding:.35rem .55rem; border-radius:999px; box-shadow:0 6px 18px rgba(0,0,0,.08);
}
.cw-process .hex{
  width:170px; aspect-ratio:1;
  clip-path: polygon(25% 5%, 75% 5%, 100% 50%, 75% 95%, 25% 95%, 0 50%);
  position:relative; border:6px solid var(--bule); border-radius:14px; overflow:hidden; background:#fff;
}
.cw-process .hex-img{
  width:100%; height:100%; object-fit:cover; display:block;
  transform:scale(1); transition: transform .35s ease;
}
.cw-process .step:hover .hex-img{ transform:scale(1.06); }
@media (min-width:768px){
  .cw-process .step-col{ position:relative; }
  .cw-process .step-col:not(:last-child)::after{
    content:""; position:absolute; top:120px; right:-12px; left:calc(100% + 12px);
    height:0; border-top:2px dashed color-mix(in oklab, var(--bule) 65%, #fff); opacity:.75;
  }
  .cw-process .step-col:not(:last-child)::before{
    content:""; position:absolute; top:115px; right:-8px; width:10px; height:10px; border-radius:50%;
    background:var(--bule); box-shadow:0 0 0 4px color-mix(in oklab, var(--bule) 18%, #fff);
  }
}
@media (max-width:767.98px){
  .cw-process .row{ row-gap:2.25rem; }
  .cw-process .step-col{ position:relative; padding-left:1.25rem; }
  .cw-process .step-col::before{
    content:""; position:absolute; left:.25rem; top:0; bottom:0; width:2px;
    background: repeating-linear-gradient(
      to bottom, color-mix(in oklab, var(--bule) 65%, #fff) 0 8px, transparent 8px 14px
    );
  }
  .cw-process .step-col .card{ margin-left:.25rem; }
}
.cw-process h5{ color:#0B132B; }
.cw-process p{ font-size:.975rem; }
.cw-process .step{ transition: transform .2s ease, box-shadow .2s ease; }
.cw-process .step:hover{ transform: translateY(-4px); box-shadow: 0 14px 34px rgba(0,0,0,.08); }

/* ===== CTA Section ===== */
.cw-cta{ isolation:isolate; }
.cw-cta .cta-bg{
  position:absolute; inset:0; background:url("assets/img/cta/cleaning-cta.jpg") center/cover no-repeat;
  filter:saturate(.95) contrast(.95); transform:scale(1.02);
}
.cw-cta .cta-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(1200px 600px at 80% 20%, rgba(0,0,0,.15) 0%, transparent 60%),
    linear-gradient( to bottom right, color-mix(in oklab, var(--bule) 78%, #000) 0%, rgba(4,20,45,.88) 60% );
  backdrop-filter: blur(2px);
}
.py-6{ padding-top:4.5rem; padding-bottom:4.5rem; }
.py-7{ padding-top:6rem; padding-bottom:6rem; }
@media (min-width:992px){ .py-lg-7{ padding-top:7rem; padding-bottom:7rem; } }
.cw-cta .btn-primary{ background:var(--bule); border-color:var(--bule); }
.cw-cta .btn-primary:hover{ filter:brightness(.95); }
.cw-cta .btn-outline-light{ border-width:2px; }
.cw-cta .btn-outline-light:hover{ color:#111; background:#fff; }
.cw-cta .cta-sparkle{ position:absolute; left:1rem; top:1rem; color:#fff; opacity:.35; font-size:2rem; }
@media (max-width:576px){
  .cw-cta .lead{ color:rgba(255,255,255,.75)!important; }
  .call-pill{ width:100%; justify-content:center; }
}
.call-pill{
  --_ring: rgba(255,255,255,.15);
  display:inline-flex; align-items:center; gap:.65rem;
  background:#fff; color:var(--bule);
  border-radius:999px; padding:5px 30px; text-decoration:none;
  box-shadow:0 10px 28px rgba(0,0,0,.12), 0 0 0 6px var(--_ring);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.call-pill:hover{ transform: translateY(-2px); filter:brightness(.98); box-shadow:0 14px 34px rgba(0,0,0,.16), 0 0 0 6px var(--_ring); }
.call-pill .pill-ico{
  width:42px; height:42px; border-radius:50%;
  display:grid; place-items:center; font-size:1.15rem; color:#fff; background:var(--bule);
}
.call-pill .pill-num{ font-weight:800; letter-spacing:.3px; }

/* ===== Content Goodies ===== */
.brand-underline{
  background: linear-gradient(to top, color-mix(in oklab, var(--orange) 55%, #fff) 0 55%, transparent 55% 100%);
  padding-bottom:.05em;
}
.benefit-item{
  display:flex; align-items:flex-start; gap:.65rem; font-size:1.05rem; margin-bottom:.6rem;
}
.benefit-ico{
  flex:0 0 auto; margin-top:.15rem;
  width:28px; height:28px; border-radius:50%;
  display:grid; place-items:center; color:#fff; background:var(--bule);
  box-shadow:0 6px 16px rgba(0,0,0,.12); font-size:1rem;
}
.download-card{
  position:relative; border-radius:var(--radius);
  padding:1.5rem; background:
    radial-gradient(60% 100% at 90% 10%, rgba(255,255,255,.12), transparent 60%),
    linear-gradient(135deg, color-mix(in oklab, var(--bule) 88%, #001232) 0%, #0b2452 80%);
  color:#fff;
}
.file-badge{
  width:56px; height:56px; border-radius:14px;
  display:grid; place-items:center; font-size:1.4rem; color:var(--bule);
  background:#fff; box-shadow:0 10px 26px rgba(0,0,0,.22);
}
.download-card .corner-accent{
  position:absolute; right:14px; top:14px; width:14px; height:14px; border-radius:3px;
  background:var(--orange); opacity:.9; transform: rotate(45deg);
}
@media (min-width:992px){ .py-lg-6{ padding-top:5.5rem; padding-bottom:5.5rem; } }

/* ---------- Footer (Pro) ---------- */
.footer{
  color:#fff;
  background: radial-gradient(80% 120% at 100% 0%, rgba(0,124,250,.18) 0%, rgba(0,124,250,0) 55%), #071724;
}
.footer .border-white-10{border-color:rgba(255,255,255,.1)!important}
.footer .btn-icon{ width:40px;height:40px;display:inline-grid;place-items:center;border-radius:50%; }
.footer .footer-links a{ color:rgba(255,255,255,.85); display:inline-flex;align-items:center;padding:.35rem 0; }
.footer .footer-links a:hover{color:#fff}
.footer .form-control{ background:rgba(255,255,255,.1);border:0;color:#fff; }
.footer .form-control::placeholder{color:rgba(255,255,255,.6)}
.footer .form-control:focus{box-shadow:none;background:rgba(255,255,255,.14)}
.contact-tile{
  display:flex;align-items:center;gap:12px; padding:14px;border-radius:16px; background:rgba(255,255,255,.06);
}
.contact-tile .icon{
  width:52px;height:52px;border-radius:12px; display:inline-flex;align-items:center;justify-content:center;
  color:var(--bule);background:rgba(0,124,250,.12);
}
@media (max-width:991.98px){
  .navbar-brand img{height:42px}
  .brand-text{font-size:1.05rem}
}
@media (max-width:575.98px){
  .topbar{font-size:.9rem}
  .footer .btn-icon{width:36px;height:36px}
}
footer.footer.text-white.pt-5.mt-5 .navbar-brand img{ height:auto; width:50%; }
img.alignnone.size-medium {
    width: 100% !important;
}

a.btn.btn-light.btn-lg.px-4 {
    color: black !important;
}

/* ========= Professional Bootstrap Pagination ========== */
:root {
  --pg-bg: #ffffff;
  --pg-fg: #0f172a;        /* slate-900 */
  --pg-muted: #64748b;     /* slate-500 */
  --pg-border: #e2e8f0;    /* slate-200 */
  --pg-hover-bg: #f8fafc;  /* slate-50 */
  --pg-active-bg: #0d6efd; /* Bootstrap primary */
  --pg-active-fg: #ffffff;
  --pg-focus: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --pg-radius: 12px;
  --pg-shadow: 0 6px 16px rgba(2, 8, 23, 0.06); /* subtle depth */
}

/* Container */
.pagination {
  gap: .25rem;
  margin-top: 1.25rem;
  flex-wrap: wrap; /* nicer on mobile */
}

/* Items */
.page-item {
  transition: transform .15s ease;
}
.page-item:not(.disabled):active {
  transform: translateY(1px);
}

/* Links */
.page-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 44px;         /* bigger hit target */
  height: 44px;
  padding: 0 .9rem;

  color: var(--pg-fg);
  background: var(--pg-bg);
  border: 1px solid var(--pg-border);
  border-radius: var(--pg-radius);
  box-shadow: var(--pg-shadow);

  font-weight: 600;
  line-height: 1;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

/* Hover */
.page-link:hover {
  background: var(--pg-hover-bg);
  border-color: #dbe3ee;
  color: var(--pg-fg);
  text-decoration: none;
}

/* Focus ring (accessible) */
.page-link:focus {
  outline: 0;
  box-shadow: var(--pg-focus);
}

/* Active (current page) */
.page-item.active .page-link,
.page-item.active .page-link:hover,
.page-item.active .page-link:focus {
  background: var(--pg-active-bg);
  border-color: var(--pg-active-bg);
  color: var(--pg-active-fg);
  box-shadow: 0 6px 16px rgba(13, 110, 253, 0.25);
}

/* Disabled (Prev/Next off or dots) */
.page-item.disabled .page-link {
  color: var(--pg-muted);
  background: #f8fafc;
  border-color: var(--pg-border);
  box-shadow: none;
  cursor: not-allowed;
}

/* Compact numbers (optional): tighter spacing on narrow screens */
@media (max-width: 480px) {
  .pagination {
    gap: .2rem;
  }
  .page-link {
    min-width: 40px;
    height: 40px;
    padding: 0 .75rem;
    border-radius: 10px;
  }
}

/* Size variants that match Bootstrap semantics, but with the pro look */
.pagination.pagination-sm .page-link {
  min-width: 36px;
  height: 36px;
  padding: 0 .65rem;
  border-radius: 10px;
  font-size: .875rem;
}
.pagination.pagination-lg .page-link {
  min-width: 50px;
  height: 50px;
  padding: 0 1.1rem;
  border-radius: 14px;
  font-size: 1.05rem;
}

/* Prev/Next icon nudges (if you use « ») */
.page-link > [aria-hidden="true"] {
  display: inline-block;
  transform: translateY(-.5px);
}

/* RTL support */
[dir="rtl"] .pagination {
  direction: rtl;
}
[dir="rtl"] .page-item:not(.disabled):active {
  transform: translateY(1px); /* same tap feel */
}

/* Dark mode (optional but nice) */
@media (prefers-color-scheme: dark) {
  :root {
    --pg-bg: #0b1220;        /* deep slate */
    --pg-fg: #e5e7eb;        /* slate-200 */
    --pg-muted: #94a3b8;     /* slate-400 */
    --pg-border: #1f2a44;    /* slate-700ish */
    --pg-hover-bg: #111a2e;
    --pg-shadow: 0 6px 16px rgba(0,0,0,.35);
  }
  .page-item.disabled .page-link {
    background: #0f172a;
  }
}

/* Optional: tighter list style when you output type='list' directly from paginate_links */
.pagination > li {
  list-style: none;
}