/*
Theme Name: IVS Cleaning Premium v8.5
Theme URI: https://www.ivscleaning.co.uk
Author: IVS Cleaning Ltd
Author URI: https://www.ivscleaning.co.uk
Description: Premium WordPress theme for IVS Cleaning Ltd with ServiceOS-first CTAs, dynamic admin-controlled two-level Services mega menu, canonical duplicate-safe service navigation, full-height hero image controls, complete dynamic business contact page with service autocomplete, photo attachments and location search enquiry flow, service combobox, pricing service finder, real nearby area sorting, Normal Pages visual management, category landing pages, fixed service sticky navigation, conversion-focused pricing page design, service section controls, pricing visibility controls and manual popular location controls per service page.
Version: 8.5.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ivs-cleaning-premium
Tags: custom-logo, custom-menu, featured-images, one-column, two-columns, blog
*/

:root {
  --ivs-purple: #4A0B50;
  --ivs-purple-2: #6B2A73;
  --ivs-gold: #F3DF1F;
  --ivs-white: #FFFFFF;
  --ivs-text: #222222;
  --ivs-muted: #626262;
  --ivs-soft: #FAF7FB;
  --ivs-line: #E8DCEB;
  --ivs-success: #2E7D32;
  --ivs-warning: #FF9800;
  --ivs-error: #D32F2F;
  --ivs-shadow: 0 18px 45px rgba(74, 11, 80, 0.12);
  --ivs-shadow-soft: 0 10px 30px rgba(74, 11, 80, 0.08);
  --ivs-radius: 18px;
  --ivs-radius-sm: 10px;
  --ivs-max: 1180px;
  --ivs-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--ivs-font);
  color: var(--ivs-text);
  background: var(--ivs-white);
  line-height: 1.6;
  font-size: 16px;
}
img { max-width: 100%; height: auto; }
a { color: var(--ivs-purple); text-decoration: none; }
a:hover { color: var(--ivs-purple-2); }
.ivs-container { width: min(var(--ivs-max), calc(100% - 40px)); margin: 0 auto; }
.ivs-skip-link { position:absolute; left:-999px; top:10px; background:var(--ivs-purple); color:#fff; padding:10px 14px; border-radius:8px; z-index:9999; }
.ivs-skip-link:focus { left:10px; }

.ivs-site-header { background:rgba(255,255,255,.98); border-bottom:1px solid var(--ivs-line); position:sticky; top:0; z-index:1000; backdrop-filter:blur(12px); }
.ivs-top-trust { background:#fff; border-bottom:1px solid #f0e8f2; font-size:12px; color:#4b3b50; }
.ivs-top-trust .ivs-container { min-height:34px; display:flex; align-items:center; justify-content:center; gap:22px; flex-wrap:wrap; }
.ivs-top-trust span::before { content:'✓'; color:var(--ivs-purple); margin-right:6px; font-weight:900; }
.ivs-header-inner { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.ivs-brand { display:flex; align-items:center; min-width:74px; }
.ivs-logo { width:68px; height:68px; object-fit:contain; border-radius:50%; }
.custom-logo { max-width:68px; height:auto; }
.ivs-desktop-nav { display:flex; align-items:center; justify-content:center; gap:24px; flex:1; }
.ivs-desktop-nav > a, .ivs-services-nav-item > a { font-size:14px; font-weight:750; color:var(--ivs-text); padding:29px 0; }
.ivs-desktop-nav > a:hover, .ivs-services-nav-item > a:hover { color:var(--ivs-purple); }
.ivs-services-nav-item > a::after { content:'⌄'; margin-left:6px; color:var(--ivs-purple); font-size:12px; }
.ivs-header-actions { display:flex; align-items:center; gap:12px; }
.ivs-header-phone { font-weight:800; color:var(--ivs-purple); white-space:nowrap; font-size:14px; }
.ivs-menu-toggle { display:none; border:1px solid var(--ivs-line); background:#fff; color:var(--ivs-purple); border-radius:10px; width:44px; height:44px; font-size:24px; cursor:pointer; }

.ivs-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:12px 22px; border-radius:10px; font-weight:850; border:2px solid transparent; transition:transform .2s ease, box-shadow .2s ease, background .2s ease; line-height:1.2; text-align:center; }
.ivs-btn:hover { transform:translateY(-1px); }
.ivs-btn-primary { background:var(--ivs-gold); color:var(--ivs-text); box-shadow:0 8px 18px rgba(243,223,31,.24); }
.ivs-btn-primary:hover { color:var(--ivs-text); box-shadow:0 12px 24px rgba(243,223,31,.32); }
.ivs-btn-secondary { background:var(--ivs-purple); color:#fff; }
.ivs-btn-secondary:hover { color:#fff; background:var(--ivs-purple-2); }
.ivs-btn-outline { background:#fff; color:var(--ivs-purple); border-color:var(--ivs-purple); }
.ivs-btn-outline:hover { color:#fff; background:var(--ivs-purple); }
.ivs-btn-wide { width:100%; }

.ivs-mega-menu { position:absolute; left:0; right:0; top:100%; background:#fff; border-top:1px solid var(--ivs-line); border-bottom:1px solid var(--ivs-line); box-shadow:var(--ivs-shadow); opacity:0; visibility:hidden; transform:translateY(10px); pointer-events:none; transition:.18s ease; }
.ivs-services-nav-item:hover .ivs-mega-menu, .ivs-services-nav-item:focus-within .ivs-mega-menu { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
.ivs-mega-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; padding:28px 0; }
.ivs-mega-column { padding:20px; border:1px solid var(--ivs-line); border-radius:18px; background:#fff; }
.ivs-mega-column-strong { border-color:var(--ivs-gold); box-shadow:0 0 0 2px rgba(243,223,31,.35) inset; }
.ivs-mega-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:var(--ivs-soft); color:var(--ivs-purple); font-size:24px; font-weight:900; }
.ivs-mega-column h3 { margin:12px 0 8px; font-size:18px; line-height:1.2; }
.ivs-mega-column h3 a { color:var(--ivs-purple); }
.ivs-mega-column p { margin:0 0 12px; color:var(--ivs-muted); font-size:13px; line-height:1.45; }
.ivs-mega-column ul { list-style:none; margin:0; padding:0; display:grid; gap:5px; }
.ivs-mega-column li a { display:block; color:#312735; font-weight:650; font-size:13px; padding:4px 0; }
.ivs-mega-column li a:hover { color:var(--ivs-purple); padding-left:4px; }
.ivs-mega-cta { display:inline-block; margin-top:14px; font-weight:900; color:var(--ivs-purple); border-bottom:2px solid var(--ivs-gold); }
.ivs-mobile-nav { display:none; }

.ivs-hero { background:linear-gradient(90deg,#fff 0%,#fff 47%,rgba(248,245,250,.88) 64%,#fff 100%); border-bottom:1px solid var(--ivs-line); overflow:hidden; }
.ivs-hero-inner { min-height:430px; display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:38px; padding:52px 0; }
.ivs-kicker { display:inline-flex; align-items:center; gap:8px; color:var(--ivs-purple); font-weight:900; letter-spacing:.02em; margin-bottom:10px; }
.ivs-kicker::before { content:'✦'; color:var(--ivs-gold); }
h1, h2, h3 { color:var(--ivs-text); line-height:1.14; }
h1 { font-size:clamp(38px,5vw,60px); margin:0 0 16px; letter-spacing:-.04em; }
h1 span, .ivs-accent { color:var(--ivs-purple); }
.ivs-hero p, .ivs-page-hero p { max-width:650px; font-size:18px; color:var(--ivs-muted); margin:0 0 24px; }
.ivs-hero-actions { display:flex; gap:14px; flex-wrap:wrap; align-items:center; margin-bottom:20px; }
.ivs-hero-features { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:22px; }
.ivs-mini-feature { border-left:3px solid var(--ivs-gold); padding:5px 0 5px 12px; }
.ivs-mini-feature strong { display:block; color:var(--ivs-text); font-size:14px; }
.ivs-mini-feature span { display:block; color:var(--ivs-muted); font-size:13px; line-height:1.35; }
.ivs-hero-visual { position:relative; min-height:340px; border-radius:22px; background:linear-gradient(135deg,#fff 0%,#f6eff7 48%,#ffffff 100%); box-shadow:var(--ivs-shadow-soft); overflow:hidden; border:1px solid var(--ivs-line); }
.ivs-hero-visual::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 72% 28%, rgba(243,223,31,.36), transparent 28%), radial-gradient(circle at 25% 75%, rgba(74,11,80,.12), transparent 32%); }
.ivs-hero-visual img { position:absolute; right:28px; bottom:0; width:min(76%,390px); filter:drop-shadow(0 20px 35px rgba(74,11,80,.18)); }
.ivs-hero-person { height:330px; }
.ivs-guarantee-badge { position:absolute; left:28px; top:44px; width:142px; height:142px; border:6px solid rgba(243,223,31,.72); border-radius:50%; background:#fff; display:grid; place-items:center; text-align:center; color:var(--ivs-purple); box-shadow:var(--ivs-shadow-soft); }
.ivs-guarantee-badge strong { display:block; font-size:46px; line-height:.9; }
.ivs-guarantee-badge span { display:block; font-weight:900; text-transform:uppercase; font-size:14px; line-height:1.1; }
.ivs-rating-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:18px; font-size:14px; }
.ivs-stars { color:#F7B500; letter-spacing:1px; }
.ivs-trustpilot { color:#00B67A; font-weight:900; }

.ivs-trust-strip { background:var(--ivs-purple); color:#fff; }
.ivs-trust-strip a { color:#fff; }
.ivs-trust-grid { display:flex; align-items:center; justify-content:center; gap:28px; min-height:54px; flex-wrap:wrap; font-weight:750; }
.ivs-trust-grid span::before { content:'✓'; color:var(--ivs-gold); margin-right:7px; }

.ivs-section { padding:56px 0; }
.ivs-soft { background:var(--ivs-soft); }
.ivs-section-title { text-align:center; font-size:clamp(28px,3.4vw,42px); margin:0 0 28px; letter-spacing:-.03em; }
.ivs-section-title.ivs-lined { display:flex; align-items:center; justify-content:center; gap:22px; }
.ivs-section-title.ivs-lined::before, .ivs-section-title.ivs-lined::after { content:''; flex:1; height:1px; background:linear-gradient(90deg,transparent,var(--ivs-purple),transparent); max-width:320px; }
.ivs-subtitle { text-align:center; max-width:760px; margin:-16px auto 28px; color:var(--ivs-muted); }

.ivs-quick-services { display:grid; grid-template-columns:repeat(9,1fr); gap:12px; }
.ivs-quick-card { min-height:116px; padding:16px 10px; border:1px solid var(--ivs-line); border-radius:10px; box-shadow:var(--ivs-shadow-soft); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; color:var(--ivs-text); font-weight:850; background:#fff; }
.ivs-quick-card span { font-size:30px; color:var(--ivs-purple); line-height:1; }
.ivs-quick-card small { display:block; color:#333; line-height:1.2; }
.ivs-quick-card:hover { transform:translateY(-2px); border-color:var(--ivs-purple); }

.ivs-service-grid, .ivs-category-grid, .ivs-location-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.ivs-service-card, .ivs-category-card, .ivs-location-card, .ivs-panel, .ivs-price-card, .ivs-review-card { background:#fff; border:1px solid var(--ivs-line); border-radius:18px; padding:28px; box-shadow:var(--ivs-shadow-soft); }
.ivs-service-card { position:relative; overflow:hidden; }
.ivs-service-card::before { content:''; position:absolute; left:0; top:0; right:0; height:5px; background:var(--ivs-purple); }
.ivs-service-card.ivs-gold-top::before { background:var(--ivs-gold); }
.ivs-card-icon { width:50px; height:50px; display:grid; place-items:center; border-radius:14px; background:var(--ivs-soft); color:var(--ivs-purple); font-size:28px; margin-bottom:14px; }
.ivs-service-card h3, .ivs-category-card h3 { font-size:26px; margin:0 0 12px; }
.ivs-service-card p, .ivs-category-card p, .ivs-location-card p { color:var(--ivs-muted); }
.ivs-service-card strong { display:block; color:var(--ivs-purple); font-size:32px; line-height:1.1; margin:10px 0 18px; }
.ivs-card-link { font-weight:900; }
.ivs-check-list, .ivs-x-list { margin:18px 0 0; padding:0; list-style:none; display:grid; gap:10px; }
.ivs-check-list li::before { content:'✓'; color:var(--ivs-purple); font-weight:900; margin-right:10px; }
.ivs-x-list li::before { content:'–'; color:var(--ivs-muted); font-weight:900; margin-right:10px; }

.ivs-band { background:linear-gradient(135deg,var(--ivs-purple),#2d0631); color:#fff; padding:42px 0; }
.ivs-band h2, .ivs-band h3, .ivs-band strong { color:#fff; }
.ivs-band p, .ivs-band span { color:rgba(255,255,255,.84); }
.ivs-band-grid, .ivs-feature-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; align-items:start; }
.ivs-band-feature { display:flex; gap:14px; align-items:flex-start; }
.ivs-band-icon { width:42px; height:42px; display:grid; place-items:center; border:2px solid var(--ivs-gold); color:var(--ivs-gold); border-radius:12px; flex:0 0 auto; font-size:22px; }

.ivs-page-hero { padding:70px 0; background:linear-gradient(135deg,#fff 0%,#fff 58%,#f8f2fa 100%); border-bottom:1px solid var(--ivs-line); }
.ivs-service-quicknav { position:sticky; top:113px; z-index:40; background:#fff; border-bottom:1px solid var(--ivs-line); }
.ivs-service-quicknav .ivs-container { display:flex; gap:20px; overflow:auto; padding:12px 0; }
.ivs-service-quicknav a { white-space:nowrap; font-weight:850; color:var(--ivs-purple); font-size:14px; }
.ivs-two-col { display:grid; grid-template-columns:1.08fr .92fr; gap:26px; align-items:start; }
.ivs-process-list { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.ivs-process-step { background:#fff; border:1px solid var(--ivs-line); border-radius:16px; padding:20px; min-height:120px; box-shadow:var(--ivs-shadow-soft); }
.ivs-process-step span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--ivs-gold); color:var(--ivs-text); font-weight:900; margin-bottom:12px; }
.ivs-faq { display:grid; gap:12px; max-width:900px; margin:0 auto; }
.ivs-faq details { border:1px solid var(--ivs-line); border-radius:14px; background:#fff; padding:16px 20px; box-shadow:var(--ivs-shadow-soft); }
.ivs-faq summary { font-weight:900; cursor:pointer; color:var(--ivs-purple); }

.ivs-price-table { width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid var(--ivs-line); border-radius:12px; background:#fff; box-shadow:var(--ivs-shadow-soft); }
.ivs-price-table th { background:var(--ivs-purple); color:#fff; padding:14px; text-align:left; }
.ivs-price-table td { padding:13px 14px; border-top:1px solid var(--ivs-line); }
.ivs-price-table td:nth-child(2), .ivs-price-table th:nth-child(2) { font-weight:900; color:var(--ivs-purple); text-align:center; }
.ivs-empty-price { color:var(--ivs-warning); font-weight:900; }

.ivs-pricing-layout { display:grid; grid-template-columns:1fr 1fr 310px; gap:28px; align-items:start; }
.ivs-price-card { padding:0; overflow:hidden; }
.ivs-price-card h3 { margin:0; background:var(--ivs-purple); color:#fff; text-align:center; padding:14px; font-size:18px; }
.ivs-mini-table { width:100%; border-collapse:collapse; font-size:14px; }
.ivs-mini-table th, .ivs-mini-table td { padding:13px 14px; border:1px solid #eee5f0; text-align:center; }
.ivs-mini-table th { background:#fff; color:#3e3542; font-size:13px; }
.ivs-mini-table td:first-child, .ivs-mini-table th:first-child { text-align:left; }
.ivs-mini-table td:not(:first-child) { font-weight:900; }
.ivs-addons-list { display:grid; gap:0; }
.ivs-addon-row { display:flex; justify-content:space-between; gap:10px; border-bottom:1px solid var(--ivs-line); padding:13px 16px; }
.ivs-addon-row:last-child { border-bottom:0; }
.ivs-addon-row strong { color:var(--ivs-purple); }
.ivs-full-width-cta { margin-top:22px; }
.ivs-full-width-cta .ivs-btn { width:100%; justify-content:center; min-height:60px; font-size:18px; }
.ivs-other-services { display:grid; grid-template-columns:repeat(7,1fr); gap:0; border:1px solid var(--ivs-line); border-radius:18px; overflow:hidden; background:#fff; box-shadow:var(--ivs-shadow-soft); }
.ivs-other-service { padding:20px 12px; text-align:center; border-right:1px solid var(--ivs-line); }
.ivs-other-service:last-child { border-right:0; }
.ivs-other-service span { display:block; color:var(--ivs-purple); font-size:30px; }
.ivs-other-service strong { display:block; line-height:1.2; margin:5px 0 2px; }
.ivs-other-service small { color:var(--ivs-muted); }
.ivs-review-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; align-items:stretch; }
.ivs-review-source { background:#fff; border:1px solid var(--ivs-line); border-radius:18px; padding:22px; box-shadow:var(--ivs-shadow-soft); text-align:center; }
.ivs-review-source b { display:block; font-size:28px; margin-bottom:6px; }

.ivs-final-cta, .ivs-footer-cta { background:linear-gradient(135deg,var(--ivs-purple),#2d0631); color:#fff; padding:36px 0; }
.ivs-final-cta h2, .ivs-footer-cta h2 { color:#fff; margin:0 0 6px; }
.ivs-final-cta p, .ivs-footer-cta p { margin:0; color:rgba(255,255,255,.84); }
.ivs-final-cta-inner, .ivs-footer-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.ivs-site-footer { background:#310537; color:rgba(255,255,255,.84); }
.ivs-site-footer a { color:rgba(255,255,255,.88); display:block; margin:5px 0; }
.ivs-site-footer h3 { color:#fff; margin-top:0; }
.ivs-footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:34px; padding:44px 0; }
.ivs-footer-brand .ivs-logo { background:#fff; margin-bottom:14px; }
.ivs-footer-bottom { border-top:1px solid rgba(255,255,255,.14); display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; padding:18px 0; font-size:13px; }

@media (max-width: 1120px) {
  .ivs-header-phone { display:none; }
  .ivs-desktop-nav { gap:16px; }
  .ivs-quick-services { grid-template-columns:repeat(5,1fr); }
  .ivs-pricing-layout { grid-template-columns:1fr 1fr; }
  .ivs-price-card.ivs-addons { grid-column:1 / -1; }
  .ivs-other-services { grid-template-columns:repeat(4,1fr); }
  .ivs-review-strip { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 940px) {
  .ivs-top-trust { display:none; }
  .ivs-header-inner { min-height:72px; }
  .ivs-desktop-nav { display:none; }
  .ivs-menu-toggle { display:block; }
  .ivs-header-actions .ivs-btn { display:none; }
  .ivs-mobile-nav { display:none; position:absolute; left:0; right:0; top:100%; background:#fff; border-top:1px solid var(--ivs-line); box-shadow:var(--ivs-shadow); padding:14px 20px 22px; max-height:calc(100vh - 72px); overflow:auto; }
  body.ivs-mobile-open .ivs-mobile-nav { display:grid; gap:8px; }
  .ivs-mobile-nav a, .ivs-mobile-nav summary { padding:12px 10px; border-radius:10px; font-weight:850; color:var(--ivs-text); cursor:pointer; }
  .ivs-mobile-nav a:hover, .ivs-mobile-nav summary:hover { background:var(--ivs-soft); color:var(--ivs-purple); }
  .ivs-mobile-details, .ivs-mobile-details details { border:1px solid var(--ivs-line); border-radius:12px; }
  .ivs-mobile-details > summary { color:var(--ivs-purple); }
  .ivs-mobile-accordion-inner { padding:0 10px 10px; }
  .ivs-mobile-accordion-inner a { display:block; padding:9px 12px; }
  .ivs-mobile-category-link { color:var(--ivs-purple)!important; font-weight:900!important; }
  .ivs-mobile-book { display:flex!important; margin-top:8px; }
  .ivs-hero-inner, .ivs-two-col { grid-template-columns:1fr; }
  .ivs-service-grid, .ivs-category-grid, .ivs-location-grid { grid-template-columns:1fr 1fr; }
  .ivs-band-grid, .ivs-feature-grid { grid-template-columns:1fr 1fr; }
  .ivs-process-list { grid-template-columns:1fr 1fr; }
  .ivs-quick-services { grid-template-columns:repeat(3,1fr); }
  .ivs-service-quicknav { top:72px; }
}
@media (max-width: 680px) {
  .ivs-container { width:min(100% - 28px, var(--ivs-max)); }
  .ivs-hero-inner { padding:36px 0; }
  .ivs-hero-actions, .ivs-final-cta-inner, .ivs-footer-cta-inner { align-items:stretch; flex-direction:column; }
  .ivs-hero-features { grid-template-columns:1fr; }
  .ivs-service-grid, .ivs-category-grid, .ivs-location-grid, .ivs-band-grid, .ivs-feature-grid, .ivs-process-list, .ivs-pricing-layout, .ivs-review-strip, .ivs-footer-grid { grid-template-columns:1fr; }
  .ivs-quick-services { grid-template-columns:repeat(2,1fr); }
  .ivs-other-services { grid-template-columns:repeat(2,1fr); }
  .ivs-other-service { border-bottom:1px solid var(--ivs-line); }
  .ivs-section { padding:42px 0; }
  .ivs-guarantee-badge { width:118px; height:118px; left:16px; top:22px; }
  .ivs-guarantee-badge strong { font-size:38px; }
  .ivs-footer-bottom { flex-direction:column; }
}

/* IVS v7.1 header and mega menu stability fix
   Reason: v7 placed the services mega menu inside the desktop flex navigation. On some WordPress/CSS cache combinations the dropdown panel could influence the header row and visually push the logo/menu out of place. v7.1 keeps the header row separate and treats the mega menu as an absolute overlay below the header only. */
body.admin-bar .ivs-site-header { top:32px; }
.ivs-site-header { left:0; right:0; width:100%; }
.ivs-main-header { position:relative; background:#fff; }
.ivs-header-inner {
  height:78px;
  min-height:78px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  justify-content:normal;
  gap:26px;
}
.ivs-brand { min-width:70px; width:70px; flex:0 0 70px; display:flex; align-items:center; justify-content:flex-start; }
.ivs-brand img, .ivs-logo, .custom-logo { width:62px; max-width:62px; height:62px; max-height:62px; object-fit:contain; border-radius:50%; }
.ivs-desktop-nav { min-width:0; display:flex; align-items:center; justify-content:center; gap:24px; height:78px; flex:none; }
.ivs-desktop-nav > a,
.ivs-services-nav-item > a {
  height:78px;
  display:flex;
  align-items:center;
  padding:0;
  white-space:nowrap;
  font-size:14px;
  line-height:1;
  font-weight:800;
  color:var(--ivs-text);
}
.ivs-services-nav-item { position:static; height:78px; display:flex; align-items:center; }
.ivs-services-nav-item > a::after { content:'⌄'; margin-left:6px; color:var(--ivs-purple); font-size:12px; line-height:1; }
.ivs-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; min-width:max-content; }
.ivs-header-actions .ivs-btn,
.ivs-header-book { white-space:nowrap; min-height:48px; padding:12px 18px; border-radius:10px; }
.ivs-header-phone { white-space:nowrap; font-size:14px; font-weight:900; }
.ivs-top-trust .ivs-container { min-height:34px; }
.ivs-top-trust a { color:var(--ivs-purple); font-weight:900; white-space:nowrap; }

.ivs-mega-menu {
  position:absolute;
  left:0;
  right:0;
  top:100%;
  width:100%;
  background:#fff;
  border-top:1px solid var(--ivs-line);
  border-bottom:1px solid var(--ivs-line);
  box-shadow:0 24px 55px rgba(74,11,80,.14);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
  z-index:1200;
  max-height:calc(100vh - 130px);
  overflow:auto;
}
.ivs-site-header.ivs-mega-open .ivs-mega-menu {
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.ivs-mega-grid {
  width:min(var(--ivs-max), calc(100% - 40px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  padding:22px 0;
}
.ivs-mega-column {
  padding:18px;
  border:1px solid var(--ivs-line);
  border-radius:14px;
  background:#fff;
  min-width:0;
}
.ivs-mega-column-strong { border-color:var(--ivs-gold); box-shadow:0 0 0 2px rgba(243,223,31,.28) inset; }
.ivs-mega-column h3 { margin:10px 0 7px; font-size:18px; line-height:1.15; }
.ivs-mega-column p { margin:0 0 10px; font-size:13px; line-height:1.42; color:var(--ivs-muted); }
.ivs-mega-column ul { list-style:none; margin:0; padding:0; display:grid; gap:3px; }
.ivs-mega-column li a { display:block; padding:3px 0; color:#312735; font-size:13px; line-height:1.35; font-weight:750; }
.ivs-mega-cta { display:inline-block; margin-top:10px; font-size:14px; font-weight:900; color:var(--ivs-purple); border-bottom:2px solid var(--ivs-gold); }
.ivs-mega-icon { width:38px; height:38px; border-radius:11px; font-size:20px; }

@media (max-width: 1240px) {
  .ivs-container { width:min(100% - 32px, var(--ivs-max)); }
  .ivs-desktop-nav { gap:16px; }
  .ivs-header-inner { gap:18px; }
  .ivs-header-phone { display:none; }
}
@media (max-width: 1080px) {
  .ivs-top-trust { display:none; }
  .ivs-header-inner { height:72px; min-height:72px; grid-template-columns:auto auto; justify-content:space-between; }
  .ivs-brand { width:66px; min-width:66px; }
  .ivs-brand img, .ivs-logo, .custom-logo { width:58px; max-width:58px; height:58px; max-height:58px; }
  .ivs-desktop-nav { display:none; }
  .ivs-mega-menu { display:none!important; }
  .ivs-menu-toggle { display:inline-flex; align-items:center; justify-content:center; }
  .ivs-header-actions .ivs-btn { display:none; }
  .ivs-mobile-nav { display:none; position:absolute; left:0; right:0; top:100%; background:#fff; border-top:1px solid var(--ivs-line); box-shadow:var(--ivs-shadow); padding:14px 20px 22px; max-height:calc(100vh - 72px); overflow:auto; z-index:1205; }
  body.ivs-mobile-open .ivs-mobile-nav { display:grid; gap:8px; }
}
@media (max-width:782px){ body.admin-bar .ivs-site-header { top:46px; } }
@media (max-width:600px){ body.admin-bar .ivs-site-header { top:0; } }


/* ==========================================================
   IVS v7.2 visual correction
   - No reserved blank area for mega menu
   - Header matches the provided homepage reference more closely
   - Hero starts immediately after header
   - Services mega menu opens only on hover/click as an overlay
   ========================================================== */
body.ivs-cleaning-theme { overflow-x:hidden; }
.ivs-main { margin:0!important; padding:0!important; }
.ivs-site-header {
  position:relative!important;
  top:auto!important;
  left:0!important;
  right:0!important;
  z-index:1000!important;
  background:#fff!important;
  border-bottom:1px solid #eadfec!important;
  box-shadow:0 2px 18px rgba(74,11,80,.04)!important;
  backdrop-filter:none!important;
}
body.admin-bar .ivs-site-header { top:auto!important; }
.ivs-top-trust { display:none!important; }
.ivs-main-header { position:relative!important; height:72px!important; background:#fff!important; overflow:visible!important; }
.ivs-header-inner {
  height:72px!important;
  min-height:72px!important;
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:22px!important;
  margin:0 auto!important;
}
.ivs-brand { width:66px!important; min-width:66px!important; display:flex!important; align-items:center!important; justify-content:flex-start!important; }
.ivs-brand img, .ivs-logo, .custom-logo { width:58px!important; height:58px!important; max-width:58px!important; max-height:58px!important; object-fit:contain!important; border-radius:50%!important; }
.ivs-desktop-nav { height:72px!important; display:flex!important; align-items:center!important; justify-content:center!important; gap:25px!important; min-width:0!important; }
.ivs-desktop-nav > a,
.ivs-services-trigger {
  height:72px!important;
  display:flex!important;
  align-items:center!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#151018!important;
  font:inherit!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:850!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
.ivs-desktop-nav > a:hover,
.ivs-services-trigger:hover,
.ivs-services-trigger[aria-expanded="true"] { color:var(--ivs-purple)!important; }
.ivs-services-trigger::after { content:'⌄'; margin-left:7px; color:var(--ivs-purple); font-size:12px; }
.ivs-services-nav-item { position:static!important; height:72px!important; display:flex!important; align-items:center!important; }
.ivs-services-nav-item > a { display:none!important; }
.ivs-header-actions { display:flex!important; align-items:center!important; justify-content:flex-end!important; gap:14px!important; min-width:max-content!important; }
.ivs-header-phone { color:var(--ivs-purple)!important; font-size:14px!important; font-weight:900!important; white-space:nowrap!important; display:inline-flex!important; align-items:center!important; gap:5px!important; }
.ivs-header-book,
.ivs-header-actions .ivs-btn { min-height:44px!important; padding:12px 20px!important; border-radius:10px!important; white-space:nowrap!important; font-size:13px!important; box-shadow:0 10px 24px rgba(243,223,31,.32)!important; }
.ivs-mega-menu {
  display:none!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:72px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  height:auto!important;
  max-height:calc(100vh - 86px)!important;
  overflow:auto!important;
  background:#fff!important;
  border-top:1px solid var(--ivs-line)!important;
  border-bottom:1px solid var(--ivs-line)!important;
  box-shadow:0 26px 60px rgba(74,11,80,.18)!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  pointer-events:auto!important;
  z-index:9999!important;
}
.ivs-site-header.ivs-mega-open .ivs-mega-menu { display:block!important; }
.ivs-mega-grid {
  width:min(1080px, calc(100% - 44px))!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  padding:26px 0!important;
}
.ivs-mega-column { padding:20px!important; border:1px solid var(--ivs-line)!important; border-radius:14px!important; box-shadow:none!important; background:#fff!important; }
.ivs-mega-column-strong { border-color:var(--ivs-gold)!important; box-shadow:0 0 0 2px rgba(243,223,31,.35) inset!important; }
.ivs-mega-icon { width:38px!important; height:38px!important; display:grid!important; place-items:center!important; border-radius:11px!important; background:var(--ivs-soft)!important; color:var(--ivs-purple)!important; font-size:20px!important; }
.ivs-mega-column h3 { margin:12px 0 8px!important; font-size:19px!important; color:var(--ivs-purple)!important; line-height:1.12!important; }
.ivs-mega-column p { margin:0 0 13px!important; color:var(--ivs-muted)!important; font-size:13px!important; line-height:1.45!important; }
.ivs-mega-column ul { list-style:none!important; margin:0!important; padding:0!important; display:grid!important; gap:4px!important; }
.ivs-mega-column li a { display:block!important; padding:3px 0!important; color:#312735!important; font-size:13px!important; line-height:1.36!important; font-weight:800!important; }
.ivs-mega-column li a:hover { color:var(--ivs-purple)!important; }
.ivs-mega-cta { display:inline-block!important; margin-top:12px!important; font-size:14px!important; color:var(--ivs-purple)!important; font-weight:950!important; border-bottom:2px solid var(--ivs-gold)!important; }

/* Homepage exact-reference layout */
.ivs-home-hero-match {
  background:linear-gradient(90deg,#fff 0%,#fff 48%,#f8f6f5 68%,#ffffff 100%)!important;
  border-bottom:1px solid #eee5f0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
}
.ivs-home-hero-match .ivs-container {
  width:min(1180px, calc(100% - 40px))!important;
  min-height:390px!important;
  display:grid!important;
  grid-template-columns:1.04fr .96fr!important;
  align-items:stretch!important;
  gap:28px!important;
  padding:34px 0 0!important;
}
.ivs-home-hero-copy { padding:0 0 26px!important; display:flex!important; flex-direction:column!important; justify-content:center!important; }
.ivs-home-hero-match .ivs-kicker {
  font-size:28px!important;
  line-height:1.14!important;
  font-weight:900!important;
  color:#222!important;
  letter-spacing:-.035em!important;
  margin:0 0 4px!important;
}
.ivs-home-hero-match .ivs-kicker::before { display:none!important; }
.ivs-home-hero-match h1 {
  font-size:clamp(36px,4.15vw,52px)!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
  margin:0 0 15px!important;
  color:#222!important;
  max-width:680px!important;
}
.ivs-home-hero-match h1 span { color:var(--ivs-purple)!important; display:block!important; }
.ivs-home-hero-match p { font-size:16px!important; line-height:1.55!important; color:#4b434f!important; max-width:500px!important; margin:0 0 22px!important; }
.ivs-home-hero-match .ivs-hero-features { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:18px!important; margin:0 0 22px!important; max-width:620px!important; }
.ivs-home-hero-match .ivs-mini-feature { border-left:0!important; padding:0!important; display:grid!important; grid-template-columns:24px 1fr!important; column-gap:8px!important; align-items:start!important; }
.ivs-home-hero-match .ivs-mini-feature::before { content:'▣'; color:var(--ivs-gold); font-weight:900; font-size:18px; line-height:1.1; }
.ivs-home-hero-match .ivs-mini-feature strong { display:block!important; color:#222!important; font-size:12px!important; line-height:1.18!important; font-weight:900!important; margin-bottom:2px!important; }
.ivs-home-hero-match .ivs-mini-feature span { display:block!important; color:#4b434f!important; font-size:12px!important; line-height:1.25!important; }
.ivs-home-hero-match .ivs-hero-actions { display:flex!important; align-items:center!important; gap:14px!important; flex-wrap:wrap!important; margin:0 0 15px!important; }
.ivs-home-hero-match .ivs-btn { min-height:48px!important; padding:13px 24px!important; border-radius:8px!important; font-size:13px!important; font-weight:900!important; }
.ivs-home-hero-match .ivs-btn-outline { border-color:var(--ivs-purple)!important; color:var(--ivs-purple)!important; background:#fff!important; }
.ivs-home-rating-line { display:flex!important; align-items:center!important; gap:9px!important; flex-wrap:wrap!important; font-size:13px!important; color:#222!important; }
.ivs-home-rating-line .ivs-trustpilot { color:#00B67A!important; font-weight:900!important; }
.ivs-rating-boxes { display:inline-flex!important; gap:2px!important; }
.ivs-rating-boxes i { width:18px!important; height:18px!important; background:#00B67A!important; color:#fff!important; display:grid!important; place-items:center!important; font-style:normal!important; font-size:11px!important; line-height:1!important; }
.ivs-home-hero-image { position:relative!important; min-height:336px!important; align-self:end!important; }
.ivs-home-hero-image img { position:absolute!important; inset:auto 0 0 0!important; width:100%!important; height:100%!important; object-fit:cover!important; object-position:center bottom!important; display:block!important; border-radius:0!important; }

.ivs-home-page .ivs-section { padding:34px 0!important; }
.ivs-home-page .ivs-section-title { font-size:30px!important; line-height:1.15!important; margin:0 0 24px!important; }
.ivs-home-page .ivs-section-title.ivs-lined { gap:18px!important; }
.ivs-home-page .ivs-section-title.ivs-lined::before,
.ivs-home-page .ivs-section-title.ivs-lined::after { max-width:330px!important; background:linear-gradient(90deg,transparent,var(--ivs-purple),transparent)!important; }
.ivs-home-page .ivs-quick-services { grid-template-columns:repeat(9,minmax(0,1fr))!important; gap:12px!important; }
.ivs-home-page .ivs-quick-card { min-height:96px!important; padding:13px 8px!important; border-radius:8px!important; box-shadow:0 8px 20px rgba(74,11,80,.07)!important; }
.ivs-home-page .ivs-quick-card span { font-size:27px!important; }
.ivs-home-page .ivs-quick-card small { font-size:12px!important; font-weight:900!important; color:#1e1722!important; }
.ivs-home-page .ivs-soft { background:#fff!important; }
.ivs-home-page .ivs-service-grid { width:min(990px,100%)!important; margin:0 auto!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:38px!important; }
.ivs-home-page .ivs-service-card { border-radius:8px!important; padding:32px 32px 26px!important; box-shadow:0 10px 28px rgba(74,11,80,.08)!important; min-height:372px!important; }
.ivs-home-page .ivs-service-card h3 { font-size:28px!important; line-height:1.16!important; margin:0 0 12px!important; }
.ivs-home-page .ivs-service-card strong { font-size:38px!important; margin:4px 0 12px!important; }
.ivs-home-page .ivs-service-card p { font-size:13px!important; line-height:1.5!important; margin:0 0 14px!important; }
.ivs-home-page .ivs-check-list { gap:7px!important; margin:12px 0 22px!important; font-size:13px!important; }
.ivs-home-page .ivs-service-card .ivs-btn { width:100%!important; min-height:44px!important; font-size:12px!important; border-radius:7px!important; }
.ivs-home-page .ivs-band { padding:30px 0!important; }
.ivs-home-page .ivs-band .ivs-section-title { color:#fff!important; margin-bottom:24px!important; }
.ivs-home-page .ivs-band-grid { grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:24px!important; }
.ivs-home-page .ivs-band-feature strong { font-size:13px!important; }
.ivs-home-page .ivs-band-feature span { font-size:12px!important; line-height:1.35!important; }
.ivs-home-page .ivs-pricing-layout { grid-template-columns:1fr 1fr 260px!important; gap:28px!important; }
.ivs-home-page .ivs-price-card { border-radius:7px!important; }
.ivs-home-page .ivs-price-card h3 { font-size:14px!important; padding:11px!important; }
.ivs-home-page .ivs-mini-table { font-size:12px!important; }
.ivs-home-page .ivs-mini-table th,
.ivs-home-page .ivs-mini-table td { padding:10px 12px!important; }
.ivs-home-page .ivs-full-width-cta { width:min(760px,100%)!important; margin:20px auto 0!important; }
.ivs-home-page .ivs-full-width-cta .ivs-btn { min-height:52px!important; font-size:16px!important; border-radius:7px!important; }
.ivs-home-page .ivs-other-services { border:0!important; box-shadow:none!important; border-radius:0!important; }
.ivs-home-page .ivs-other-service { border-right:1px solid var(--ivs-line)!important; }
.ivs-home-page .ivs-review-strip { grid-template-columns:1fr 1fr 1fr 1.45fr!important; gap:18px!important; }
.ivs-home-page .ivs-review-source,
.ivs-home-page .ivs-review-card { border-radius:8px!important; box-shadow:0 8px 20px rgba(74,11,80,.07)!important; }

@media (max-width:1240px){
  .ivs-desktop-nav{gap:17px!important;}
  .ivs-header-phone{display:none!important;}
}
@media (max-width:1080px){
  .ivs-main-header{height:70px!important;}
  .ivs-header-inner{height:70px!important;min-height:70px!important;grid-template-columns:auto auto!important;justify-content:space-between!important;}
  .ivs-desktop-nav{display:none!important;}
  .ivs-mega-menu{display:none!important;}
  .ivs-menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;}
  .ivs-header-actions .ivs-btn{display:none!important;}
  .ivs-mobile-nav{display:none!important;position:absolute!important;left:0!important;right:0!important;top:70px!important;background:#fff!important;border-top:1px solid var(--ivs-line)!important;box-shadow:var(--ivs-shadow)!important;padding:14px 20px 22px!important;max-height:calc(100vh - 70px)!important;overflow:auto!important;z-index:9999!important;}
  body.ivs-mobile-open .ivs-mobile-nav{display:grid!important;gap:8px!important;}
  .ivs-home-hero-match .ivs-container{grid-template-columns:1fr!important;min-height:auto!important;padding:30px 0!important;}
  .ivs-home-hero-copy{padding:0!important;}
  .ivs-home-hero-image{min-height:320px!important;}
  .ivs-home-page .ivs-quick-services{grid-template-columns:repeat(3,1fr)!important;}
  .ivs-home-page .ivs-service-grid,.ivs-home-page .ivs-band-grid,.ivs-home-page .ivs-pricing-layout,.ivs-home-page .ivs-review-strip{grid-template-columns:1fr!important;}
}
@media (max-width:640px){
  .ivs-container,.ivs-home-hero-match .ivs-container{width:min(100% - 28px,1180px)!important;}
  .ivs-home-hero-match h1{font-size:40px!important;}
  .ivs-home-hero-match .ivs-kicker{font-size:22px!important;}
  .ivs-home-hero-match .ivs-hero-features{grid-template-columns:1fr!important;}
  .ivs-home-page .ivs-quick-services{grid-template-columns:repeat(2,1fr)!important;}
}


/* ==========================================================
   IVS v7.3 correction
   - Service-like pages are no longer shown as areas
   - Footer/final CTA gold buttons keep black readable text
   - Service quick navigation sticks to the top without hiding content
   ========================================================== */
:root { --ivs-service-nav-top: 0px; }
body.admin-bar { --ivs-service-nav-top: 32px; }
@media (max-width: 782px) { body.admin-bar { --ivs-service-nav-top: 46px; } }
@media (max-width: 600px) { body.admin-bar { --ivs-service-nav-top: 0px; } }

.ivs-footer-cta a.ivs-btn-primary,
.ivs-final-cta a.ivs-btn-primary,
.ivs-site-footer a.ivs-btn-primary,
.ivs-site-footer .ivs-btn-primary,
.ivs-final-cta .ivs-btn-primary,
.ivs-footer-cta .ivs-btn-primary {
  color:#222222!important;
  display:inline-flex!important;
  margin:0!important;
  text-decoration:none!important;
}
.ivs-footer-cta a.ivs-btn-primary:hover,
.ivs-final-cta a.ivs-btn-primary:hover,
.ivs-site-footer a.ivs-btn-primary:hover {
  color:#222222!important;
}
.ivs-site-footer .ivs-footer-grid a:not(.ivs-btn) {
  display:block!important;
  margin:5px 0!important;
  color:rgba(255,255,255,.88)!important;
}

.ivs-service-quicknav {
  position:sticky!important;
  top:var(--ivs-service-nav-top)!important;
  z-index:900!important;
  background:#ffffff!important;
  border-top:0!important;
  border-bottom:1px solid var(--ivs-line)!important;
  box-shadow:0 10px 22px rgba(74,11,80,.06)!important;
}
.ivs-service-quicknav .ivs-container {
  min-height:52px!important;
  display:flex!important;
  align-items:center!important;
  gap:22px!important;
  overflow:auto!important;
  padding:0!important;
}
.ivs-service-quicknav a {
  display:inline-flex!important;
  align-items:center!important;
  min-height:52px!important;
  white-space:nowrap!important;
  font-weight:900!important;
  color:var(--ivs-purple)!important;
  font-size:14px!important;
}
#overview,
#included,
#pricing,
#process,
#faqs,
#locations {
  scroll-margin-top:calc(var(--ivs-service-nav-top) + 72px)!important;
}
.ivs-service-quicknav + .ivs-section {
  margin-top:0!important;
}

@media (max-width: 680px) {
  .ivs-service-quicknav .ivs-container {
    width:100%!important;
    padding:0 14px!important;
  }
}


/* ==========================================================
   IVS v7.5 visual management update
   - Uploadable no-crop hero images
   - Section image panels
   - Footer legal links
   - Better spacing inside Why Choose band
   ========================================================== */
.ivs-page-hero.ivs-media-hero{position:relative!important;min-height:clamp(430px,46vw,620px)!important;padding:0!important;overflow:hidden!important;border-bottom:1px solid var(--ivs-line)!important;background:#fff!important;display:flex!important;align-items:center!important;}
.ivs-media-hero .ivs-hero-bg{position:absolute!important;inset:0!important;z-index:0!important;background:#fff!important;}
.ivs-media-hero .ivs-hero-bg img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:var(--ivs-hero-position,center center)!important;display:block!important;background:#fff!important;}
.ivs-media-hero[data-fit="cover"] .ivs-hero-bg img{object-fit:cover!important;}
.ivs-media-hero .ivs-hero-bg::after{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.95) 33%,rgba(255,255,255,.66) 56%,rgba(255,255,255,.18) 100%)!important;pointer-events:none!important;}
.ivs-media-hero .ivs-container{position:relative!important;z-index:1!important;padding:70px 0!important;}
.ivs-media-hero .ivs-hero-content{max-width:660px!important;}
.ivs-section-image-panel{margin:0 0 22px!important;border-radius:18px!important;overflow:hidden!important;border:1px solid var(--ivs-line)!important;background:#fff!important;box-shadow:var(--ivs-shadow-soft)!important;}
.ivs-section-image-panel img{width:100%!important;height:auto!important;display:block!important;object-fit:contain!important;background:#fff!important;}
.ivs-two-col .ivs-section-image-panel{margin-bottom:0!important;}
.ivs-home-hero-image{min-height:0!important;align-self:center!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;}
.ivs-home-hero-image img{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;max-height:390px!important;object-fit:contain!important;object-position:center center!important;display:block!important;border-radius:0!important;}
.ivs-home-hero-match .ivs-container{align-items:center!important;}
.ivs-home-page .ivs-band-feature{gap:16px!important;align-items:flex-start!important;}
.ivs-home-page .ivs-band-feature strong{display:block!important;margin:0 0 7px!important;line-height:1.2!important;}
.ivs-home-page .ivs-band-feature span{display:block!important;margin-top:0!important;line-height:1.5!important;color:rgba(255,255,255,.88)!important;}
.ivs-home-page .ivs-band-icon{flex:0 0 42px!important;}
.ivs-footer-grid{grid-template-columns:1.3fr .95fr .95fr 1fr 1.15fr!important;}
.ivs-site-footer .ivs-footer-legal a{font-size:14px!important;}
.ivs-site-footer .ivs-footer-legal .ivs-footer-small{display:block!important;color:rgba(255,255,255,.66)!important;font-size:12px!important;line-height:1.45!important;margin-top:10px!important;}
@media(max-width:1080px){.ivs-page-hero.ivs-media-hero{min-height:auto!important;display:grid!important;}.ivs-media-hero .ivs-hero-bg{position:relative!important;order:2!important;min-height:260px!important;}.ivs-media-hero .ivs-container{padding:44px 0 28px!important;}.ivs-media-hero .ivs-hero-bg::after{background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0))!important;}.ivs-footer-grid{grid-template-columns:1fr 1fr!important;}}
@media(max-width:680px){.ivs-footer-grid{grid-template-columns:1fr!important;}.ivs-media-hero .ivs-hero-bg{min-height:220px!important;}}


/* ==========================================================
   IVS v7.6 hero system
   - Full-height right-side homepage hero visual
   - Hero layout controls for every page
   - Cover/contain, height, blend and radius controls
   ========================================================== */
:root{--ivs-home-hero-height:430px;--ivs-page-hero-height:520px;--ivs-home-image-edge:max(20px,calc((100vw - 1180px)/2));}
.ivs-home-hero-match{position:relative!important;background:#fff!important;border-bottom:1px solid #eee5f0!important;overflow:hidden!important;}
.ivs-home-hero-match .ivs-container{min-height:var(--ivs-home-hero-height,430px)!important;padding:0!important;display:grid!important;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;align-items:stretch!important;gap:28px!important;}
.ivs-home-hero-copy{padding:34px 0!important;justify-content:center!important;}
.ivs-home-hero-image{position:relative!important;align-self:stretch!important;min-height:var(--ivs-home-hero-height,430px)!important;margin-right:calc(-1 * var(--ivs-home-image-edge))!important;display:block!important;overflow:hidden!important;background:#fff!important;}
.ivs-home-hero-image::before{content:''!important;position:absolute!important;inset:0 auto 0 0!important;width:38%!important;z-index:2!important;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.92) 36%,rgba(255,255,255,.45) 72%,rgba(255,255,255,0) 100%)!important;pointer-events:none!important;}
.ivs-home-hero-image img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:var(--ivs-home-image-position,center center)!important;display:block!important;border-radius:0!important;background:#fff!important;}
.ivs-home-hero-match[data-fit="contain"] .ivs-home-hero-image img{object-fit:contain!important;}
.ivs-home-hero-match[data-blend="off"] .ivs-home-hero-image::before{display:none!important;}
.ivs-home-hero-match[data-radius="soft"] .ivs-home-hero-image{border-radius:0 0 0 22px!important;}
.ivs-home-hero-match[data-radius="rounded"] .ivs-home-hero-image{border-radius:0 0 0 34px!important;}

.ivs-page-hero.ivs-media-hero{min-height:var(--ivs-page-hero-height,520px)!important;}
.ivs-media-hero[data-layout="full-width-banner"] .ivs-hero-bg{inset:0!important;}
.ivs-media-hero[data-layout="split-right"] .ivs-hero-bg{left:48%!important;right:0!important;top:0!important;bottom:0!important;width:auto!important;}
.ivs-media-hero[data-layout="split-left"] .ivs-hero-bg{left:0!important;right:48%!important;top:0!important;bottom:0!important;width:auto!important;}
.ivs-media-hero[data-layout="split-left"] .ivs-container{display:flex!important;justify-content:flex-end!important;}
.ivs-media-hero[data-layout="split-left"] .ivs-hero-content{margin-left:auto!important;}
.ivs-media-hero[data-layout="text-only"] .ivs-hero-bg{display:none!important;}
.ivs-media-hero[data-radius="none"] .ivs-hero-bg img{border-radius:0!important;}
.ivs-media-hero[data-radius="soft"] .ivs-hero-bg img{border-radius:0!important;}
.ivs-media-hero[data-blend="off"] .ivs-hero-bg::after{display:none!important;}
.ivs-media-hero[data-blend="soft"] .ivs-hero-bg::after{background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 32%,rgba(255,255,255,.42) 60%,rgba(255,255,255,.05) 100%)!important;}
.ivs-media-hero[data-blend="strong"] .ivs-hero-bg::after{background:linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.97) 38%,rgba(255,255,255,.7) 62%,rgba(255,255,255,.22) 100%)!important;}
.ivs-media-hero[data-layout="split-right"] .ivs-hero-bg::after{background:linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.78) 28%,rgba(255,255,255,.18) 62%,rgba(255,255,255,0) 100%)!important;}
.ivs-media-hero[data-layout="split-left"] .ivs-hero-bg::after{background:linear-gradient(270deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.78) 28%,rgba(255,255,255,.18) 62%,rgba(255,255,255,0) 100%)!important;}

@media(max-width:1080px){
  .ivs-home-hero-match .ivs-container{grid-template-columns:1fr!important;min-height:auto!important;width:min(100% - 28px,1180px)!important;}
  .ivs-home-hero-copy{padding:30px 0 0!important;}
  .ivs-home-hero-image{min-height:320px!important;margin-right:0!important;border-radius:18px!important;}
  .ivs-home-hero-image::before{width:100%!important;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0))!important;}
  .ivs-media-hero[data-layout="split-right"] .ivs-hero-bg,.ivs-media-hero[data-layout="split-left"] .ivs-hero-bg{left:0!important;right:0!important;position:relative!important;min-height:280px!important;order:2!important;}
}
@media(max-width:680px){.ivs-home-hero-image{min-height:260px!important;}.ivs-page-hero.ivs-media-hero{--ivs-page-hero-height:auto!important;}}

/* v7.7 dynamic menu support */
.ivs-wpb-menu-table input[type="text"]{width:100%;}


/* v7.9 two-level Services mega menu inspired by premium service grids
   - First level: 4 IVS service category containers
   - Second level: dynamic service cards shown on hover/click
   - Uses IVS Builder menu data, so draft/deleted/hidden pages stay removed. */
.ivs-mega-menu-v79{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:100%!important;
  width:100%!important;
  background:rgba(255,255,255,.98)!important;
  border-top:1px solid rgba(74,11,80,.08)!important;
  border-bottom:1px solid rgba(74,11,80,.13)!important;
  box-shadow:0 24px 70px rgba(45,6,49,.16)!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(8px)!important;
  pointer-events:none!important;
  z-index:9999!important;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease!important;
}
.ivs-site-header.ivs-mega-open .ivs-mega-menu-v79{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0)!important;
  pointer-events:auto!important;
  display:block!important;
}
.ivs-mega-shell-v79{
  padding:18px 0 22px!important;
  display:grid!important;
  grid-template-columns:320px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:stretch!important;
}
.ivs-mega-categories-v79{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.ivs-mega-category-v79{
  width:100%!important;
  display:grid!important;
  grid-template-columns:42px 1fr auto!important;
  gap:12px!important;
  align-items:center!important;
  text-align:left!important;
  border:1px solid rgba(74,11,80,.13)!important;
  border-radius:16px!important;
  padding:12px!important;
  background:#fff!important;
  color:#222!important;
  cursor:pointer!important;
  transition:all .16s ease!important;
}
.ivs-mega-category-v79:hover,
.ivs-mega-category-v79.is-active{
  border-color:var(--ivs-gold)!important;
  box-shadow:0 10px 28px rgba(74,11,80,.10), inset 0 0 0 2px rgba(243,223,31,.35)!important;
  transform:translateX(2px)!important;
}
.ivs-mega-category-icon-v79{
  width:42px!important;
  height:42px!important;
  border-radius:12px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg, rgba(243,223,31,.28), rgba(74,11,80,.08))!important;
  color:var(--ivs-purple)!important;
  font-size:20px!important;
  font-weight:900!important;
}
.ivs-mega-category-text-v79 strong{
  display:block!important;
  color:var(--ivs-purple)!important;
  font-size:16px!important;
  line-height:1.16!important;
  font-weight:950!important;
  margin:0 0 3px!important;
}
.ivs-mega-category-text-v79 small{
  display:block!important;
  color:var(--ivs-muted)!important;
  font-size:12px!important;
  line-height:1.32!important;
  font-weight:500!important;
}
.ivs-mega-category-count-v79{
  min-width:28px!important;
  height:28px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  background:var(--ivs-soft)!important;
  color:var(--ivs-purple)!important;
  font-weight:900!important;
  font-size:12px!important;
}
.ivs-mega-panels-v79{
  background:linear-gradient(135deg,#fff,rgba(250,246,252,.9))!important;
  border:1px solid rgba(74,11,80,.12)!important;
  border-radius:20px!important;
  padding:18px!important;
  min-height:330px!important;
}
.ivs-mega-panel-v79{display:none!important;}
.ivs-mega-panel-v79.is-active{display:block!important;}
.ivs-mega-panel-heading-v79{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding-bottom:12px!important;
  margin-bottom:14px!important;
  border-bottom:1px solid rgba(74,11,80,.10)!important;
}
.ivs-mega-panel-heading-v79 div{display:flex!important;align-items:center!important;gap:10px!important;}
.ivs-mega-panel-heading-v79 span{
  width:36px!important;height:36px!important;border-radius:11px!important;display:grid!important;place-items:center!important;
  background:var(--ivs-purple)!important;color:#fff!important;font-size:18px!important;font-weight:900!important;
}
.ivs-mega-panel-heading-v79 h3{margin:0!important;color:var(--ivs-purple)!important;font-size:21px!important;line-height:1.1!important;}
.ivs-mega-panel-heading-v79 a{color:var(--ivs-purple)!important;font-weight:900!important;border-bottom:2px solid var(--ivs-gold)!important;white-space:nowrap!important;}
.ivs-mega-service-grid-v79{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.ivs-mega-service-card-v79{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  min-height:78px!important;
  padding:10px!important;
  border:1px solid rgba(74,11,80,.10)!important;
  border-radius:15px!important;
  background:#fff!important;
  color:#222!important;
  box-shadow:0 8px 22px rgba(74,11,80,.06)!important;
  transition:all .16s ease!important;
}
.ivs-mega-service-card-v79:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(74,11,80,.28)!important;
  box-shadow:0 14px 34px rgba(74,11,80,.12)!important;
}
.ivs-mega-service-card-v79 img{
  width:64px!important;
  height:58px!important;
  border-radius:12px!important;
  object-fit:cover!important;
  background:var(--ivs-soft)!important;
  box-shadow:0 6px 16px rgba(0,0,0,.10)!important;
}
.ivs-mega-service-icon-v79{
  width:64px!important;
  height:58px!important;
  border-radius:12px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg, rgba(74,11,80,.08), rgba(243,223,31,.24))!important;
  color:var(--ivs-purple)!important;
  font-size:24px!important;
  font-weight:900!important;
}
.ivs-mega-service-copy-v79 strong{
  display:block!important;
  color:var(--ivs-purple)!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.22!important;
  margin-bottom:5px!important;
}
.ivs-mega-service-copy-v79 small{
  display:block!important;
  color:#B02367!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.25!important;
}
.ivs-mega-panel-footer-v79{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:14px!important;
  margin-top:15px!important;
  padding-top:14px!important;
  border-top:1px solid rgba(74,11,80,.10)!important;
}
.ivs-mega-panel-link-v79{color:var(--ivs-purple)!important;font-weight:900!important;}
.ivs-mega-panel-book-v79{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:42px!important;padding:10px 16px!important;border-radius:10px!important;
  background:var(--ivs-gold)!important;color:#222!important;font-weight:950!important;
  box-shadow:0 10px 24px rgba(243,223,31,.30)!important;
}
@media (max-width:1280px){
  .ivs-mega-shell-v79{grid-template-columns:280px 1fr!important;}
  .ivs-mega-service-grid-v79{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:1080px){
  .ivs-mega-menu-v79{display:none!important;}
}


/* ==========================================================
   IVS v8.0 Contact Page + Canonical Menu Refinements
   ========================================================== */
.ivs-contact-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:28px;align-items:start;}
.ivs-contact-form-panel,.ivs-contact-info-panel,.ivs-contact-card{background:#fff;border:1px solid var(--ivs-line);border-radius:18px;padding:28px;box-shadow:var(--ivs-shadow-soft);}
.ivs-contact-form-panel h2,.ivs-contact-info-panel h2,.ivs-contact-card h3{margin-top:0;color:var(--ivs-purple);}
.ivs-contact-intro{font-size:17px;color:var(--ivs-muted);margin-top:0;}
.ivs-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.ivs-contact-field{display:flex;flex-direction:column;gap:6px;}
.ivs-contact-field.ivs-wide{grid-column:1/-1;}
.ivs-contact-field label{font-weight:850;color:#28202b;font-size:14px;}
.ivs-contact-field input,.ivs-contact-field select,.ivs-contact-field textarea{width:100%;border:1px solid var(--ivs-line);border-radius:10px;padding:12px 13px;font:inherit;background:#fff;color:var(--ivs-text);min-height:46px;}
.ivs-contact-field textarea{min-height:130px;resize:vertical;}
.ivs-contact-field input:focus,.ivs-contact-field select:focus,.ivs-contact-field textarea:focus{outline:2px solid rgba(243,223,31,.70);border-color:var(--ivs-purple);}
.ivs-contact-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ivs-muted);line-height:1.45;}
.ivs-contact-consent input{margin-top:3px;}
.ivs-contact-honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;width:0!important;overflow:hidden!important;}
.ivs-contact-submit{margin-top:8px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.ivs-contact-note{font-size:13px;color:var(--ivs-muted);}
.ivs-form-message{border-radius:12px;padding:14px 16px;margin:0 0 18px;font-weight:800;}
.ivs-form-message-success{background:#eaf7ee;border:1px solid #2E7D32;color:#1f5c25;}
.ivs-form-message-error{background:#fdeaea;border:1px solid #D32F2F;color:#8a1c1c;}
.ivs-contact-methods{display:grid;gap:14px;margin:18px 0;}
.ivs-contact-method{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:14px;border:1px solid var(--ivs-line);border-radius:14px;background:var(--ivs-soft);}
.ivs-contact-method span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff;color:var(--ivs-purple);font-weight:900;}
.ivs-contact-method strong{display:block;color:var(--ivs-text);}
.ivs-contact-method a{font-weight:900;}
.ivs-contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px;}
.ivs-contact-card ul{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:8px;}
.ivs-contact-card li::before{content:'✓';color:var(--ivs-purple);font-weight:900;margin-right:8px;}
.ivs-contact-emergency{border-left:5px solid var(--ivs-gold);background:linear-gradient(135deg,#fff,rgba(243,223,31,.10));}
.ivs-btn-primary,.ivs-footer-cta .ivs-btn-primary,.ivs-final-cta .ivs-btn-primary{color:#222!important;}
@media (max-width:960px){.ivs-contact-layout{grid-template-columns:1fr}.ivs-contact-cards{grid-template-columns:1fr}.ivs-contact-grid{grid-template-columns:1fr}.ivs-contact-field.ivs-wide{grid-column:auto;}}

/* v8.0 menu polish: keep category buttons as selectors and make the actual category link explicit. */
.ivs-mega-category-v79[data-ivs-mega-category="biohazard"].is-active,
.ivs-mega-category-v79[data-ivs-mega-category="biohazard"]:hover{border-color:var(--ivs-gold)!important;}
.ivs-mega-panel-book-v79,.ivs-mega-panel-link-v79{cursor:pointer!important;}


/* v8.3 dynamic contact form, upload and location search improvements */
.ivs-contact-field small,.ivs-file-help,.ivs-location-search-help{color:var(--ivs-muted);font-size:13px;line-height:1.45;}
.ivs-contact-file input[type="file"]{padding:10px;min-height:46px;background:#fff;}
.ivs-contact-file input[type="file"]::file-selector-button{border:0;border-radius:8px;padding:8px 12px;margin-right:10px;background:var(--ivs-purple);color:#fff;font-weight:800;cursor:pointer;}
.ivs-contact-field.ivs-contact-consent{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-size:13px;color:var(--ivs-muted);line-height:1.45;}
.ivs-contact-field.ivs-contact-consent input[type="checkbox"]{width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 18px;margin:2px 0 0;padding:0;accent-color:var(--ivs-purple);}
.ivs-contact-field.ivs-contact-consent label{margin:0;font-weight:750;font-size:13px;line-height:1.45;color:#28202b;}
.ivs-location-search-panel{background:#fff;border:1px solid var(--ivs-line);border-radius:18px;padding:24px;margin:0 0 26px;box-shadow:var(--ivs-shadow-soft);}
.ivs-location-search-panel h2{margin:0 0 8px;color:var(--ivs-purple);}
.ivs-location-search-control{position:relative;margin-top:16px;}
.ivs-location-search-control input{width:100%;border:1px solid var(--ivs-line);border-radius:12px;padding:15px 16px;min-height:52px;font:inherit;font-weight:700;color:var(--ivs-text);background:#fff;}
.ivs-location-search-control input:focus{outline:2px solid rgba(243,223,31,.7);border-color:var(--ivs-purple);}
.ivs-location-no-results{background:linear-gradient(135deg,#fff,rgba(243,223,31,.08));border:1px solid var(--ivs-line);border-left:5px solid var(--ivs-gold);border-radius:18px;padding:26px;margin-top:24px;box-shadow:var(--ivs-shadow-soft);}
.ivs-location-no-results[hidden],.ivs-location-card[hidden]{display:none!important;}
.ivs-location-no-results h2{margin-top:0;color:var(--ivs-purple);}

/* ==========================================================
   IVS v8.3 Dynamic service combobox, nearby logic and pricing finder
   ========================================================== */
.ivs-service-combobox{position:relative;width:100%;}
.ivs-service-combobox-control{position:relative;display:flex;align-items:stretch;width:100%;}
.ivs-service-combobox-control input{padding-right:48px!important;}
.ivs-service-combobox-toggle{position:absolute;right:7px;top:7px;width:34px;height:34px;border:0;border-radius:8px;background:#fff;color:var(--ivs-purple);font-weight:950;font-size:18px;cursor:pointer;display:grid;place-items:center;}
.ivs-service-combobox-toggle:hover{background:var(--ivs-soft);}
.ivs-service-suggestions{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:40;background:#fff;border:1px solid var(--ivs-line);border-radius:14px;box-shadow:0 18px 45px rgba(74,11,80,.16);padding:8px;max-height:340px;overflow:auto;}
.ivs-service-suggestion{width:100%;border:0;background:#fff;text-align:left;border-radius:10px;padding:12px 14px;cursor:pointer;color:var(--ivs-text);}
.ivs-service-suggestion:hover,.ivs-service-suggestion:focus{background:linear-gradient(135deg,rgba(74,11,80,.08),rgba(243,223,31,.16));outline:0;}
.ivs-service-suggestion strong{display:block;color:var(--ivs-purple);font-size:15px;line-height:1.25;font-weight:900;}
.ivs-service-suggestion small{display:block;margin-top:4px;color:#B02367;font-size:12px;font-weight:800;}
.ivs-service-suggestion-empty{padding:14px;border-radius:10px;background:var(--ivs-soft);color:var(--ivs-muted);font-weight:750;}
.ivs-service-combobox-help{display:block;margin-top:7px;color:var(--ivs-muted);font-size:12px;line-height:1.4;}
.ivs-service-suggestions[hidden],.ivs-service-suggestion[hidden]{display:none!important;}
.ivs-contact-field.ivs-contact-consent{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px!important;}
.ivs-contact-field.ivs-contact-consent input[type="checkbox"]{width:16px!important;min-width:16px!important;height:16px!important;min-height:16px!important;margin:3px 0 0!important;}

.ivs-pricing-finder-section{background:linear-gradient(180deg,#fff,var(--ivs-soft));}
.ivs-pricing-search-wrap{margin:20px auto 16px;max-width:760px;}
.ivs-pricing-search-wrap input{width:100%;min-height:56px;border:1px solid var(--ivs-line);border-radius:14px;padding:15px 18px;font:inherit;font-size:17px;font-weight:800;color:var(--ivs-text);background:#fff;box-shadow:var(--ivs-shadow-soft);}
.ivs-pricing-search-wrap input:focus{outline:2px solid rgba(243,223,31,.7);border-color:var(--ivs-purple);}
.ivs-pricing-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px 0 26px;}
.ivs-pricing-tabs button{border:1px solid var(--ivs-line);background:#fff;color:var(--ivs-purple);border-radius:999px;padding:10px 16px;font-weight:900;cursor:pointer;}
.ivs-pricing-tabs button.is-active,.ivs-pricing-tabs button:hover{background:var(--ivs-purple);color:#fff;border-color:var(--ivs-purple);}
.ivs-pricing-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.ivs-pricing-service-card{background:#fff;border:1px solid var(--ivs-line);border-radius:18px;padding:22px;box-shadow:var(--ivs-shadow-soft);display:flex;flex-direction:column;gap:10px;}
.ivs-pricing-service-card[hidden]{display:none!important;}
.ivs-pricing-service-group{display:inline-flex;align-self:flex-start;border-radius:999px;background:rgba(243,223,31,.22);color:var(--ivs-purple);padding:5px 10px;font-size:12px;font-weight:900;}
.ivs-pricing-service-card h3{margin:0;color:var(--ivs-purple);font-size:20px;line-height:1.2;}
.ivs-pricing-service-card>strong{font-size:24px;color:#B02367;line-height:1.2;}
.ivs-pricing-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;}
.ivs-pricing-card-actions a:not(.ivs-btn){font-weight:900;color:var(--ivs-purple);}
.ivs-pricing-card-actions .ivs-btn{padding:9px 12px;min-height:40px;font-size:13px;}
.ivs-pricing-no-results{margin-top:18px;padding:18px;border-radius:14px;background:#fff;border:1px solid var(--ivs-line);text-align:center;font-weight:850;color:var(--ivs-purple);}
.ivs-nearby-location-grid .ivs-location-card{border-top:4px solid var(--ivs-gold);}
@media(max-width:980px){.ivs-pricing-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:680px){.ivs-pricing-card-grid{grid-template-columns:1fr}.ivs-pricing-card-actions{flex-direction:column;align-items:stretch}.ivs-pricing-card-actions .ivs-btn{width:100%;}}

/* ==========================================================
   IVS v8.3 category pages, about page and enquiry CRM updates
   ========================================================== */
.ivs-mega-category-wrap-v83{display:grid;gap:7px;}
.ivs-mega-category-wrap-v83 .ivs-mega-category-v79{width:100%;}
.ivs-mega-category-open-v83{font-size:12px;font-weight:900;color:var(--ivs-purple)!important;text-decoration:none;padding:0 8px 6px 58px;line-height:1.2;}
.ivs-mega-category-open-v83:hover{text-decoration:underline;color:#B02367!important;}
.ivs-category-summary-section{background:#fff;}
.ivs-category-icon-large{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,rgba(243,223,31,.20),#fff);color:var(--ivs-purple);font-size:28px;font-weight:950;margin-bottom:16px;}
.ivs-category-intro-panel h2,.ivs-category-cta-panel h2{color:var(--ivs-purple);}
.ivs-category-service-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.ivs-category-service-card strong{display:block;color:#B02367;font-size:20px;margin:10px 0;font-weight:950;}
.ivs-about-intro-grid .ivs-panel p{font-size:17px;line-height:1.7;}
.ivs-about-highlight-panel{border-left:5px solid var(--ivs-gold)!important;background:linear-gradient(135deg,#fff,rgba(243,223,31,.10))!important;}
.ivs-about-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.ivs-about-process{grid-template-columns:repeat(4,minmax(0,1fr));}
.ivs-marketing-consent label{font-weight:650!important;color:var(--ivs-muted)!important;}
.ivs-contact-consent input[type="checkbox"]{border-radius:3px!important;}
@media(max-width:1100px){.ivs-category-service-grid,.ivs-about-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.ivs-about-process{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.ivs-category-service-grid,.ivs-about-service-grid,.ivs-about-process{grid-template-columns:1fr;}.ivs-mega-category-open-v83{padding-left:8px;}}

/* IVS v8.5 visual service cards */
.ivs-visual-service-grid{align-items:stretch;}
.ivs-service-card-visual{position:relative;overflow:hidden;min-height:330px;padding:0!important;border:1px solid rgba(74,11,80,.14);border-radius:18px;background:linear-gradient(135deg,#4A0B50,#6B2A73);box-shadow:0 18px 42px rgba(74,11,80,.13);display:flex;flex-direction:column;justify-content:flex-end;color:#fff;isolation:isolate;}
.ivs-service-card-visual .ivs-service-card-bg{position:absolute;inset:0;background-image:var(--ivs-card-bg,linear-gradient(135deg,#4A0B50,#6B2A73));background-size:cover;background-position:center;background-repeat:no-repeat;filter:blur(1.6px) saturate(1.05);transform:scale(1.035);transition:transform .35s ease,filter .35s ease;z-index:-3;}
.ivs-service-card-visual .ivs-service-card-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(74,11,80,.38) 38%,rgba(45,0,50,.92) 100%);z-index:-2;}
.ivs-service-card-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 16%,rgba(243,223,31,.22),transparent 34%);z-index:-1;}
.ivs-service-card-visual:hover .ivs-service-card-bg{filter:blur(.6px) saturate(1.08);transform:scale(1.08);}
.ivs-service-card-visual .ivs-service-card-content{position:relative;z-index:2;padding:105px 24px 24px;display:flex;flex-direction:column;gap:10px;min-height:100%;justify-content:flex-end;}
.ivs-service-card-visual .ivs-service-card-icon-floating{position:absolute;top:20px;left:20px;z-index:3;background:rgba(255,255,255,.94);color:var(--ivs-purple);box-shadow:0 10px 25px rgba(0,0,0,.12);}
.ivs-service-card-visual h3{margin:0;color:#fff;font-size:22px;line-height:1.15;}
.ivs-service-card-visual h3 a{color:#fff;text-decoration:none;}
.ivs-service-card-visual p{margin:0;color:rgba(255,255,255,.92);font-size:14px;line-height:1.45;}
.ivs-service-card-visual .ivs-card-price,.ivs-service-card-visual strong{display:block;color:var(--ivs-gold)!important;font-size:22px;font-weight:950;line-height:1.1;margin-top:4px;}
.ivs-service-card-visual .ivs-card-link,.ivs-service-card-visual .ivs-pricing-card-actions a:not(.ivs-btn){color:#fff!important;font-weight:900;text-decoration:none;}
.ivs-service-card-visual .ivs-card-link:after{content:"";display:block;width:46px;height:2px;background:var(--ivs-gold);margin-top:8px;}
.ivs-service-card-visual .ivs-btn-primary{color:#222!important;background:var(--ivs-gold)!important;}
.ivs-pricing-service-card.ivs-service-card-visual{min-height:300px;}
.ivs-pricing-service-card.ivs-service-card-visual .ivs-pricing-service-group{display:inline-flex;align-self:flex-start;margin-bottom:6px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.24);padding:5px 9px;border-radius:999px;font-weight:900;font-size:12px;}
.ivs-pricing-service-card.ivs-service-card-visual .ivs-pricing-card-actions{margin-top:12px;display:flex;gap:10px;align-items:center;justify-content:space-between;}
.ivs-card-style-preview{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:center;background:#fff;border:1px solid #eadfed;border-radius:14px;padding:12px;margin-top:10px;}
.ivs-card-style-preview img{width:140px;height:90px;object-fit:cover;border-radius:10px;}
@media(max-width:680px){.ivs-service-card-visual{min-height:290px}.ivs-service-card-visual .ivs-service-card-content{padding:92px 20px 22px}.ivs-pricing-service-card.ivs-service-card-visual .ivs-pricing-card-actions{flex-direction:column;align-items:stretch}.ivs-pricing-service-card.ivs-service-card-visual .ivs-btn{width:100%;}}
