/* Claritas city pages: fix heading line-height (Alfred, Oct 10 2026) */
.page-id-3460 .elementor-heading-title, .page-id-3471 .elementor-heading-title, .page-id-3629 .elementor-heading-title, .page-id-3634 .elementor-heading-title, .page-id-3639 .elementor-heading-title, .page-id-3644 .elementor-heading-title, .page-id-3649 .elementor-heading-title, .page-id-3654 .elementor-heading-title, .page-id-3670 .elementor-heading-title, .page-id-3675 .elementor-heading-title, .page-id-3680 .elementor-heading-title, .page-id-3685 .elementor-heading-title { line-height: 1.2 !important; }
/* Keep Complianz banner above the mobile sticky bar */
@media (max-width:767px){ .cmplz-cookiebanner{ bottom: 72px !important; } }

/* Claritas homepage hero polish (owner-approved Oct 10, 4:42 PM): turquoise border on quote button, phone as small text line under buttons */
:is(.page-id-8,.page-id-1923) :is(.elementor-element-c67a075,.elementor-element-4369e7b) .elementor-button,
:is(.page-id-8,.page-id-1923) :is(.elementor-element-c67a075,.elementor-element-4369e7b) .elementor-button:hover{border:2px solid #92E8F7 !important;}
:is(.page-id-8,.page-id-1923) :has(> .elementor-element-c75274b){flex-wrap:wrap !important;justify-content:center !important;}
:is(.page-id-8,.page-id-1923) .elementor-element-c75274b{flex:0 0 100% !important;width:100% !important;max-width:100% !important;text-align:center !important;margin-top:4px !important;}
:is(.page-id-8,.page-id-1923) .elementor-element-c75274b .elementor-button,
:is(.page-id-8,.page-id-1923) .elementor-element-c75274b .elementor-button:hover{background:transparent !important;border:0 !important;box-shadow:none !important;padding:4px 0 !important;width:auto !important;min-height:0 !important;}
:is(.page-id-8,.page-id-1923) .elementor-element-c75274b .elementor-button-text{color:#FFFFFF !important;font-size:15px !important;font-weight:400 !important;text-decoration:underline;text-underline-offset:3px;}
:is(.page-id-8,.page-id-1923) .elementor-element-c75274b .elementor-button-icon{display:none !important;}

/* Lift Complianz manage-consent tab above mobile sticky bar */
@media (max-width:767px){ #cmplz-manage-consent .cmplz-manage-consent{ bottom: 72px !important; } }

/* =====================================================================
   Claritas: desktop header on ONE line at laptop widths (FR + EN)
   Paste in: Appearance > Customize > Additional CSS (entretienclaritas.ca)

   Header templates: #1945 (FR) and #1954 (EN). Same widget IDs in both
   except the quote button: 6006051 (FR) / 940a1eb (EN).
     f0acc64 = header row          2a8c6cf = logo
     7db4a07 = nav menu            f952914 = right group
     963c1db = Contact button      aff4e9d = FR/EN switcher (.pll-*)

   Tested in headless Chrome on the live HTML, with the future
   « Services » dropdown menu (Accueil · Services ▾ · À propos) and the EN
   button label "Get My Instant Price", with a 15px scrollbar (worst case).

   Sizes are fluid (clamp): at 1025px nav and buttons are 17px, logo 160px;
   they grow with the window back toward today's values (20px, 200px).

   Range: 1025-1365px, FR and EN. With the « Services » dropdown both
   headers fit at 1366px and up without changes (checked at 1366/1440).
   1024px and below (hamburger) is never touched.
   ===================================================================== */

/* ---------- FR header #1945: 1025-1365px ---------- */
@media (min-width: 1025px) and (max-width: 1365px) {
  /* Header row: side padding and gap between logo / nav / right group */
  .elementor-1945 .elementor-element.elementor-element-f0acc64 {
    gap: clamp(14px, calc(14px + (100vw - 1025px) * 0.0235), 20px) !important;
    padding-inline-start: clamp(16px, calc(16px + (100vw - 1025px) * 0.0157), 20px) !important;
    padding-inline-end: clamp(16px, calc(16px + (100vw - 1025px) * 0.0157), 20px) !important;
  }
  /* Right group: gap between Contact, quote button and switcher */
  .elementor-1945 .elementor-element.elementor-element-f952914 { gap: clamp(10px, calc(10px + (100vw - 1025px) * 0.039), 20px) !important; }

  /* Logo: scales 160px -> 200px wide; object-fit keeps proportions */
  .elementor-1945 .elementor-element.elementor-element-2a8c6cf img {
    width: clamp(160px, calc(160px + (100vw - 1025px) * 0.157), 200px) !important;
    height: auto !important;
    max-height: 50px !important;
    object-fit: contain !important;
  }

  /* Nav menu: one line, item gap 24px -> 46px, text 17px -> 20px */
  .elementor-1945 .elementor-element.elementor-element-7db4a07 {
    --e-nav-menu-horizontal-menu-item-margin: calc(clamp(24px, calc(24px + (100vw - 1025px) * 0.086), 46px) / 2) !important;
  }
  .elementor-1945 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main > .elementor-nav-menu { flex-wrap: nowrap !important; }
  .elementor-1945 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .elementor-item {
    font-size: clamp(17px, calc(17px + (100vw - 1025px) * 0.0118), 20px) !important;
    white-space: nowrap !important;
  }
  /* Caret of the « Services » dropdown: closer to its label */
  .elementor-1945 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .sub-arrow { padding-inline-start: 5px !important; }

  /* Contact + quote buttons: same style, text 17px -> 20px, never wraps */
  .elementor-1945 .elementor-element.elementor-element-963c1db .elementor-button,
  .elementor-1945 .elementor-element.elementor-element-6006051 .elementor-button {
    font-size: clamp(17px, calc(17px + (100vw - 1025px) * 0.0118), 20px) !important;
    white-space: nowrap !important;
  }
  .elementor-1945 .elementor-element.elementor-element-963c1db .elementor-button-icon svg,
  .elementor-1945 .elementor-element.elementor-element-6006051 .elementor-button-icon svg {
    width: clamp(20px, calc(20px + (100vw - 1025px) * 0.0157), 24px) !important;
    height: clamp(20px, calc(20px + (100vw - 1025px) * 0.0157), 24px) !important;
  }

  /* FR/EN switcher: slightly more compact pill */
  .elementor-1945 .elementor-element.elementor-element-aff4e9d .pll-selected {
    padding: 10px clamp(10px, calc(10px + (100vw - 1025px) * 0.0235), 16px) !important;
    gap: 5px !important;
  }
  .elementor-1945 .elementor-element.elementor-element-aff4e9d .pll-current { font-size: clamp(17px, calc(17px + (100vw - 1025px) * 0.0118), 20px) !important; }
  .elementor-1945 .elementor-element.elementor-element-aff4e9d .pll-icon svg,
  .elementor-1945 .elementor-element.elementor-element-aff4e9d .pll-arrow svg {
    width: clamp(20px, calc(20px + (100vw - 1025px) * 0.0157), 24px) !important;
    height: clamp(20px, calc(20px + (100vw - 1025px) * 0.0157), 24px) !important;
  }
}

/* ---------- EN header #1954: 1025-1365px ---------- */
@media (min-width: 1025px) and (max-width: 1365px) {
  /* Header row: side padding and gap between logo / nav / right group */
  .elementor-1954 .elementor-element.elementor-element-f0acc64 {
    gap: clamp(14px, calc(14px + (100vw - 1025px) * 0.0235), 20px) !important;
    padding-inline-start: clamp(16px, calc(16px + (100vw - 1025px) * 0.0157), 20px) !important;
    padding-inline-end: clamp(16px, calc(16px + (100vw - 1025px) * 0.0157), 20px) !important;
  }
  /* Right group: gap between Contact, quote button and switcher */
  .elementor-1954 .elementor-element.elementor-element-f952914 { gap: clamp(10px, calc(10px + (100vw - 1025px) * 0.039), 20px) !important; }

  /* Logo: scales 160px -> 200px wide; object-fit keeps proportions */
  .elementor-1954 .elementor-element.elementor-element-2a8c6cf img {
    width: clamp(160px, calc(160px + (100vw - 1025px) * 0.157), 200px) !important;
    height: auto !important;
    max-height: 50px !important;
    object-fit: contain !important;
  }

  /* Nav menu: one line, item gap 24px -> 46px, text 17px -> 20px */
  .elementor-1954 .elementor-element.elementor-element-7db4a07 {
    --e-nav-menu-horizontal-menu-item-margin: calc(clamp(24px, calc(24px + (100vw - 1025px) * 0.086), 46px) / 2) !important;
  }
  .elementor-1954 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main > .elementor-nav-menu { flex-wrap: nowrap !important; }
  .elementor-1954 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .elementor-item {
    font-size: clamp(17px, calc(17px + (100vw - 1025px) * 0.0118), 20px) !important;
    white-space: nowrap !important;
  }
  /* Caret of the « Services » dropdown: closer to its label */
  .elementor-1954 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .sub-arrow { padding-inline-start: 5px !important; }

  /* Contact + quote buttons: same style, text 17px -> 20px, never wraps */
  .elementor-1954 .elementor-element.elementor-element-963c1db .elementor-button,
  .elementor-1954 .elementor-element.elementor-element-940a1eb .elementor-button {
    font-size: clamp(17px, calc(17px + (100vw - 1025px) * 0.0118), 20px) !important;
    white-space: nowrap !important;
  }
  .elementor-1954 .elementor-element.elementor-element-963c1db .elementor-button-icon svg,
  .elementor-1954 .elementor-element.elementor-element-940a1eb .elementor-button-icon svg {
    width: clamp(20px, calc(20px + (100vw - 1025px) * 0.0157), 24px) !important;
    height: clamp(20px, calc(20px + (100vw - 1025px) * 0.0157), 24px) !important;
  }

  /* FR/EN switcher: slightly more compact pill */
  .elementor-1954 .elementor-element.elementor-element-aff4e9d .pll-selected {
    padding: 10px clamp(10px, calc(10px + (100vw - 1025px) * 0.0235), 16px) !important;
    gap: 5px !important;
  }
  .elementor-1954 .elementor-element.elementor-element-aff4e9d .pll-current { font-size: clamp(17px, calc(17px + (100vw - 1025px) * 0.0118), 20px) !important; }
  .elementor-1954 .elementor-element.elementor-element-aff4e9d .pll-icon svg,
  .elementor-1954 .elementor-element.elementor-element-aff4e9d .pll-arrow svg {
    width: clamp(20px, calc(20px + (100vw - 1025px) * 0.0157), 24px) !important;
    height: clamp(20px, calc(20px + (100vw - 1025px) * 0.0157), 24px) !important;
  }
}

/* =====================================================================
   « Services » dropdown (desktop, both headers, all desktop widths)
   Recommended WP menu structure (one level, Appearance > Menus):
     Services                         (top level, links to /services/ FR, /en/service/ EN)
       Résidentiel  -> hub page       CSS class: cl-menu-group
       Grand ménage                   CSS class: cl-menu-indent
       Emménagement / déménagement    CSS class: cl-menu-indent
       Prix instantané                CSS class: cl-menu-indent
       Commercial                     CSS class: cl-menu-group
   (Enable "CSS Classes" under Screen Options in Appearance > Menus.)
   ===================================================================== */
@media (min-width: 1025px) {
  .elementor-1945 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .sub-menu,
  .elementor-1954 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .sub-menu {
    min-width: 270px !important;
    padding: 8px 0 !important;
    border-radius: 10px !important;
    overflow: hidden;
    box-shadow: 0 14px 36px rgba(15, 45, 82, .22) !important;
  }
  .elementor-1945 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .sub-menu a.elementor-sub-item,
  .elementor-1954 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .sub-menu a.elementor-sub-item {
    font-size: 16px !important;
    line-height: 1.3 !important;
    padding: 10px 22px !important;
    color: #0F2D52 !important;
    background: #FFFFFF;
    white-space: nowrap;
  }
  .elementor-1945 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover,
  .elementor-1954 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover,
  .elementor-1945 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .sub-menu a.elementor-sub-item:focus,
  .elementor-1954 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .sub-menu a.elementor-sub-item:focus {
    background: #E6FAFD !important;
  }
  /* Group labels (Résidentiel / Commercial) */
  .elementor-1945 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .sub-menu .cl-menu-group > a.elementor-sub-item,
  .elementor-1954 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .sub-menu .cl-menu-group > a.elementor-sub-item { font-weight: 600 !important; }
  /* Residential sub-items: indented with a small turquoise dash */
  .elementor-1945 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .sub-menu .cl-menu-indent > a.elementor-sub-item,
  .elementor-1954 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .sub-menu .cl-menu-indent > a.elementor-sub-item {
    padding-inline-start: 40px !important;
    font-size: 15px !important;
    position: relative;
  }
  .elementor-1945 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .sub-menu .cl-menu-indent > a.elementor-sub-item::before,
  .elementor-1954 .elementor-element.elementor-element-7db4a07 .elementor-nav-menu--main .sub-menu .cl-menu-indent > a.elementor-sub-item::before {
    content: "" !important; display: block !important; position: absolute; left: 24px; top: 50%; width: 8px; height: 2px; background: #5BC9DD;
  }
  /* Thin divider before the second group */
  .elementor-location-header .elementor-nav-menu--main .cl-menu-indent + .cl-menu-group { border-top: 1px solid rgba(15, 45, 82, .1); margin-top: 6px; padding-top: 6px; }
}

/* =====================================================================
   Mobile menu popups #1957 (FR) / #1963 (EN), nav 9aad643, below 1025px.
   They use the same WP menu. Without this, the Services sub-menu opens
   as a flyout to the right, off the screen. With it, it opens in place
   (accordion) under « Services ».
   ===================================================================== */
@media (max-width: 1024px) {
  .elementor-1957 .elementor-element.elementor-element-9aad643 .elementor-nav-menu--main .sub-menu,
  .elementor-1963 .elementor-element.elementor-element-9aad643 .elementor-nav-menu--main .sub-menu {
    position: static !important;
    left: auto !important; top: auto !important;
    margin-top: 14px !important; margin-bottom: 0 !important;
    /* fixed 280px column centred under « Services », without widening the
       popup menu (the existing separator lines keep their position) */
    width: 280px !important; min-width: 0 !important; max-width: 90vw !important;
    margin-inline-start: calc(50% - 140px) !important; /* centred under « Services » */
    margin-inline-end: -280px !important; /* so it adds no width to the menu */
    contain: inline-size;
    background: transparent !important; box-shadow: none !important; border: 0 !important;
  }
  .elementor-1957 .elementor-element.elementor-element-9aad643 .elementor-nav-menu--main .sub-menu a.elementor-sub-item,
  .elementor-1963 .elementor-element.elementor-element-9aad643 .elementor-nav-menu--main .sub-menu a.elementor-sub-item {
    background: transparent !important;
    color: rgba(255, 255, 255, .85) !important;
    display: flex !important; width: 100% !important;
    justify-content: center !important; text-align: center;
    font-size: 17px !important; line-height: 1.3 !important;
    padding: 8px 0 !important; white-space: normal !important;
  }
  .elementor-1957 .elementor-element.elementor-element-9aad643 .elementor-nav-menu--main .sub-menu .cl-menu-group > a.elementor-sub-item,
  .elementor-1963 .elementor-element.elementor-element-9aad643 .elementor-nav-menu--main .sub-menu .cl-menu-group > a.elementor-sub-item {
    color: #92E8F7 !important; font-weight: 600 !important;
  }
  .elementor-1957 .elementor-element.elementor-element-9aad643 .elementor-nav-menu--main .sub-menu .cl-menu-indent > a.elementor-sub-item,
  .elementor-1963 .elementor-element.elementor-element-9aad643 .elementor-nav-menu--main .sub-menu .cl-menu-indent > a.elementor-sub-item {
    font-size: 15px !important; padding: 5px 0 !important;
  }
  /* no separator lines between sub-items */
  .elementor-1957 .elementor-element.elementor-element-9aad643 .sub-menu li,
  .elementor-1963 .elementor-element.elementor-element-9aad643 .sub-menu li { border: 0 !important; }
  .elementor-1957 .elementor-element.elementor-element-9aad643 .sub-menu li::before,
  .elementor-1957 .elementor-element.elementor-element-9aad643 .sub-menu li::after,
  .elementor-1963 .elementor-element.elementor-element-9aad643 .sub-menu li::before,
  .elementor-1963 .elementor-element.elementor-element-9aad643 .sub-menu li::after { display: none !important; }
}

/* claritas: calculator service tiles responsive (2026-10-11) */
@media (max-width: 900px){.cq2 .cq2-tiles{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.cq2 .cq2-tile{min-width:0 !important;white-space:normal !important}}


/* Claritas header fix - 2026-10-16 */
.elementor-location-header .elementor-element-70e2007,
.elementor-location-header .elementor-element-f0acc64{background:#0b2545 !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;opacity:1 !important;}
@media (min-width:1025px) and (max-width:1500px){
  .elementor-location-header .elementor-element-963c1db{display:none !important;}
  .elementor-location-header .elementor-element-b74b446 .elementor-button-text,
  .elementor-location-header .elementor-element-6006051 .elementor-button-text{font-size:0 !important;white-space:nowrap;}
  .elementor-location-header .elementor-element-b74b446 .elementor-button-text::after{content:"514-442-6544";font-size:16px;}
  html[lang^="fr"] .elementor-location-header .elementor-element-6006051 .elementor-button-text::after{content:"Prix instantané";font-size:16px;}
  html[lang^="en"] .elementor-location-header .elementor-element-6006051 .elementor-button-text::after{content:"Instant price";font-size:16px;}
}
/* space so the header doesn't cover the hero on the division pages */
body.page-id-4818 .elementor-location-header + *,
body.page-id-4821 .elementor-location-header + *,
body.page-id-4785 .elementor-location-header + *,
body.page-id-4787 .elementor-location-header + *{padding-top:24px;}

/* Header fix 2026-10-16 (EN header #1954 uses other widget IDs: phone e4918e5, quote 940a1eb) */
@media (min-width:1025px) and (max-width:1500px){
  .elementor-location-header .elementor-element-e4918e5 .elementor-button-text{font-size:0 !important;white-space:nowrap;}
  .elementor-location-header .elementor-element-e4918e5 .elementor-button-text::after{content:"514-442-6544";font-size:16px;}
  .elementor-location-header .elementor-element-940a1eb .elementor-button-text{font-size:0 !important;white-space:nowrap;}
  .elementor-location-header .elementor-element-940a1eb .elementor-button-text::after{content:"Instant price";font-size:16px;}
}
/* Tax-credit guides 2026-10-16: theme title hidden, content has its own H1 */
.page-id-4940 .entry-title, .page-id-4943 .entry-title{display:none !important;}

/* Header logo fix 2026-10-17: keep full logo visible, phone fully readable */
.elementor-location-header, .elementor-location-header .elementor-element-70e2007, .elementor-location-header .elementor-element-f0acc64, .elementor-location-header .elementor-element-9e1883c{overflow:visible !important;} .elementor-location-header .elementor-element-9e1883c{padding-top:10px !important;padding-bottom:10px !important;} .elementor-location-header .elementor-element-2a8c6cf img{max-height:56px !important;width:auto !important;height:auto !important;object-fit:contain !important;}
/* Claritas header medium widths */
@media (min-width:768px) and (max-width:1100px){
.elementor-location-header .elementor-element-963c1db,.elementor-location-header .elementor-element-6006051{display:none !important;}
.elementor-location-header .elementor-element-b74b446 .elementor-button-text{font-size:0 !important;white-space:nowrap;}
.elementor-location-header .elementor-element-b74b446 .elementor-button-text::after{content:"514-442-6544";font-size:15px;}
}
/* Claritas header spacing */
body.page-id-4818 .elementor-location-header + *, body.page-id-4821 .elementor-location-header + *{padding-top:160px !important;}
body.admin-bar.page-id-4818 .elementor-location-header + *, body.admin-bar.page-id-4821 .elementor-location-header + *{padding-top:128px !important;}
body.page-id-4785 .elementor-location-header + *, body.page-id-4787 .elementor-location-header + *{padding-top:88px !important;}
body.admin-bar.page-id-4785 .elementor-location-header + *, body.admin-bar.page-id-4787 .elementor-location-header + *{padding-top:56px !important;}
body.page-id-4940 .elementor-location-header + *, body.page-id-4943 .elementor-location-header + *{padding-top:146px !important;}
body.admin-bar.page-id-4940 .elementor-location-header + *, body.admin-bar.page-id-4943 .elementor-location-header + *{padding-top:114px !important;}