    /* ===================================================================
       Bali Pro Services — UI Components
       - Base tokens & resets
       - Buttons (tokens + states)
       - Forms & focus
       - Native selects
       - Alerts (Elementor)
       - Google Maps control skin
       - Header navigation
       - Accordion (FAQ)
       - Blog posts grid
       - Contact slider
       - Packages / Calculator
       - Global cursor & interaction
       =================================================================== */
    
    
    /* === Base Tokens === */
    
    :root {
      --pc-btn-bg: #87CEEB;
      --pc-btn-text: #000;
      --pc-btn-border: #EEE;
      --pc-btn-radius: 5px;
      --pc-btn-font: "Montserrat", sans-serif;
      --pc-btn-weight: 900;
      --pc-btn-size: 15px;
      --pc-btn-pad: 12px 24px;
      --pc-box-radius: 5px;
      --pc-box-border: #87CEEB;
      --pc-box-text: #e9eef1;
      --pc-box-bg: rgba(135, 206, 235, 0.10);
      --pc-box-link: #87CEEB;
      --pc-box-success: #45c47b;
      --pc-box-error: #ff6666;
      --pc-box-info: #87CEEB;
    }
    
    
    /* === Base Resets === */
    
    h1.entry-title,
    h2 { margin-left: 0 !important; padding-left: 0 !important; }
    
    body,
    .site,
    .site-main,
    #content,
    .content-area,
    .entry-content { background: #000 !important; }
    
    /*body, p,
    .elementor p,
    .elementor-widget-text-editor p { color: #e9eef1 !important; }*/
    
    body,
    .elementor-widget-text-editor { font-size: 16px !important; line-height: 1.6 !important; }
    .elementor p { font-size: 16px !important; }
    .elementor h2 { font-size: 32px !important; }
    
    
    /* === Buttons — Global Skin (Elementor / WP) === */
    
    body:not(.wp-admin) a.button,
    body:not(.wp-admin) button,
    body:not(.wp-admin) input[type="button"],
    body:not(.wp-admin) input[type="submit"],
    body:not(.wp-admin) .wp-element-button,
    body:not(.wp-admin) .wp-block-button__link,
    body:not(.wp-admin) .elementor-button,
    body:not(.wp-admin) .elementor-button-link {
      font-family: var(--pc-btn-font) !important;
      font-weight: var(--pc-btn-weight) !important;
      font-size: var(--pc-btn-size) !important;
      line-height: 1.2 !important;
      padding: var(--pc-btn-pad) !important;
      text-transform: uppercase !important;
      background: var(--pc-btn-bg) !important;
      color: var(--pc-btn-text) !important;
      border: 2px solid var(--pc-btn-border) !important;
      border-radius: var(--pc-btn-radius) !important;
      min-height: 48px !important;
      height: auto !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      box-sizing: border-box !important;
      text-shadow: none !important;
      box-shadow: none !important;
      cursor: pointer;
      transition: background 0.18s, color 0.18s, border-color 0.18s, transform 0.05s !important;
    }
    
    body:not(.wp-admin) .elementor-button .elementor-button-text,
    body:not(.wp-admin) .elementor-button span { color: var(--pc-btn-text) !important; }
    
    body:not(.wp-admin) a.button:hover,
    body:not(.wp-admin) button:hover,
    body:not(.wp-admin) input[type="button"]:hover,
    body:not(.wp-admin) input[type="submit"]:hover,
    body:not(.wp-admin) .wp-element-button:hover,
    body:not(.wp-admin) .wp-block-button__link:hover,
    body:not(.wp-admin) .elementor-button:hover,
    body:not(.wp-admin) a.button:focus,
    body:not(.wp-admin) button:focus,
    body:not(.wp-admin) input[type="button"]:focus,
    body:not(.wp-admin) input[type="submit"]:focus,
    body:not(.wp-admin) .wp-element-button:focus,
    body:not(.wp-admin) .wp-block-button__link:focus,
    body:not(.wp-admin) .elementor-button:focus {
      background: #000 !important;
      color: #fff !important;
      border-color: var(--pc-btn-border) !important;
      outline: none !important;
      text-decoration: none !important;
    }
    
    body:not(.wp-admin) .elementor-button:hover .elementor-button-text,
    body:not(.wp-admin) .elementor-button:hover span,
    body:not(.wp-admin) .elementor-button:focus .elementor-button-text,
    body:not(.wp-admin) .elementor-button:focus span { color: #fff !important; }
    
    body:not(.wp-admin) .button.disabled,
    body:not(.wp-admin) .button:disabled,
    body:not(.wp-admin) button:disabled,
    body:not(.wp-admin) input[type="submit"]:disabled,
    body:not(.wp-admin) .is-busy .wp-element-button {
      opacity: 0.55 !important;
      cursor: not-allowed !important;
      filter: grayscale(10%);
    }
    
    
    /* === WhatsApp Button === */
    
    #whatsapp.elementor-widget-button .elementor-button,
    #whatsapp.elementor-element.elementor-widget-button .elementor-button { background-color: #25D366 !important; border-color: #25D366 !important; color: #FFFFFF !important; }
    
    #whatsapp.elementor-widget-button .elementor-button:hover,
    #whatsapp.elementor-widget-button .elementor-button:focus,
    #whatsapp.elementor-element.elementor-widget-button .elementor-button:hover,
    #whatsapp.elementor-element.elementor-widget-button .elementor-button:focus { background-color: #128C7E !important; border-color: #128C7E !important; color: #FFFFFF !important; }
    
    #whatsapp.elementor-widget-button .elementor-button:active,
    #whatsapp.elementor-element.elementor-widget-button .elementor-button:active { background-color: #075E54 !important; border-color: #075E54 !important; }
    
    #whatsapp .elementor-button-text { color: inherit !important; }
    
    #whatsapp .elementor-button-text { color: inherit !important; }
    
    /* === WhatsApp Link Button === */
    .whatsapp-link { display: inline-block; background-color: #25D366; border: 2px solid #25D366; color: #ffffff !important; text-decoration: none; padding: 10px 24px; border-radius: 4px; font-size: 14px; font-weight: 600; transition: background-color 0.2s ease, border-color 0.2s ease; }
    .whatsapp-link:hover, .whatsapp-link:focus { background-color: #128C7E; border-color: #128C7E; color: #ffffff !important; }
    .whatsapp-link:active { background-color: #075E54; border-color: #075E54; color: #ffffff !important; }
    
    
    /* === Forms — Inputs, Focus, Placeholders === */
    
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="password"],
    input[type="url"],
    input[type="search"],
    select {
      height: 48px !important;
      line-height: normal !important;
      border: 1px solid #CCC !important;
      border-radius: 5px !important;
      background: #FFF !important;
      color: #000 !important;
      font-family: "Montserrat", sans-serif !important;
      font-weight: 500 !important;
      padding: 0 16px !important;
      box-sizing: border-box !important;
      transition: all 0.3s ease !important;
    }
    
    textarea {
      border: 1px solid #CCC !important;
      border-radius: 5px !important;
      background: #FFF !important;
      color: #000 !important;
      font-family: "Montserrat", sans-serif !important;
      font-weight: 500 !important;
      padding: 16px !important;
      min-height: 120px !important;
      transition: all 0.3s ease !important;
    }
    
    input[type="text"]:focus,
    input[type="email"]:focus,
    input[type="tel"]:focus,
    input[type="number"]:focus,
    input[type="password"]:focus,
    input[type="url"]:focus,
    input[type="search"]:focus,
    textarea:focus,
    select:focus {
      outline: none !important;
      border-color: #87CEEB !important;
      background: #FFF !important;
      box-shadow: 0 0 0 3px rgba(135, 206, 235, 0.25) !important;
    }
    
    input[type="checkbox"]:focus,
    input[type="radio"]:focus { outline: none !important; box-shadow: 0 0 6px 2px rgba(135, 206, 235, 0.7) !important; }
    
    input::placeholder,
    textarea::placeholder { color: #666 !important; opacity: 1; }
    
    
    /* === Native Selects === */
    
    select {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      background-color: #FFF !important;
      color: #000 !important;
      border: 1px solid #CCC !important;
      border-radius: 5px !important;
      height: 48px !important;
      line-height: 1.4;
      padding: 0 45px 0 16px !important;
      font-family: "Montserrat", sans-serif !important;
      font-weight: 500;
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' width='24px' height='24px'><path d='M7 10l5 5 5-5z'/></svg>") !important;
      background-repeat: no-repeat !important;
      background-position: right 12px center !important;
      background-size: 20px 20px !important;
    }
    
    select:focus { outline: none !important; border-color: #87CEEB !important; box-shadow: 0 0 0 3px rgba(135, 206, 235, 0.25) !important; }
    
    
    /* === Alerts (Elementor) === */
    
    .elementor-alert {
      background: var(--pc-box-bg) !important;
      color: var(--pc-box-text) !important;
      border: 2px solid var(--pc-box-border) !important;
      border-radius: var(--pc-box-radius) !important;
      padding: 14px 16px !important;
    }
    .elementor-alert--success { border-color: var(--pc-box-success) !important; }
    .elementor-alert--danger { border-color: var(--pc-box-error) !important; }
    .elementor-alert--warning { border-color: #e6b800 !important; }
    .elementor-alert--info { border-color: var(--pc-box-info) !important; }
    
    .bps-notice { background: var(--pc-box-bg); color: var(--pc-box-text); border: 2px solid var(--pc-box-border); border-radius: var(--pc-box-radius); padding: 14px 16px; margin: 16px 0; }
    .bps-notice--success { border-color: var(--pc-box-success); }
    .bps-notice--error { border-color: var(--pc-box-error); }
    .bps-notice--info { border-color: var(--pc-box-info); }
    
    
    /* === Google Maps Controls === */
    
    .gm-bundled-control .gmnoprint,
    .gm-svpc,
    .gm-fullscreen-control { background: #0b0b0b !important; border: 2px solid #EEE !important; border-radius: 6px !important; }
    
    .gm-bundled-control button:hover,
    .gm-fullscreen-control:hover { background: #1a1a1a !important; }
    
    .gm-style-mtc button { background: #87CEEB !important; color: #000 !important; border: 2px solid #EEE !important; font-family: "Montserrat", sans-serif !important; font-weight: 900 !important; border-radius: 8px !important; width: auto !important; height: auto !important; padding: 6px 12px !important; }
    .gm-style-mtc button:hover { background: #000 !important; color: #87CEEB !important; border-color: #87CEEB !important; }
    
    .gm-style .gm-style-mtc ul,
    .gm-style .gm-style-mtc li { display: none !important; }
    
    button[aria-label="Show satellite imagery"],
    button[aria-label="Show street map"],
    button[title="Show satellite imagery"],
    button[title="Show street map"] { display: none !important; }
    
    /* Scoped to the square icon controls only. A blanket button[title] rule
       also paints controls we never want seen — notably Google's "Undo last
       edit" button, which a draggable pin adds — as a white block on the map. */
    .gm-style .gm-bundled-control button,
    .gm-style button.gm-control-active,
    gmp-internal-camera-control button { background: #fff !important; border: 2px solid #EEE !important; border-radius: 5px !important; width: 40px !important; height: 40px !important; box-shadow: none !important; padding: 0 !important; transition: background 0.2s, border-color 0.2s !important; }

    .gm-style .gm-bundled-control button:hover,
    .gm-style button.gm-control-active:hover,
    gmp-internal-camera-control button:hover { background: #87CEEB !important; border-color: #87CEEB !important; }

    .gm-style .gm-bundled-control button:focus,
    .gm-style button.gm-control-active:focus,
    gmp-internal-camera-control button:focus { outline: none !important; box-shadow: 0 0 0 3px rgba(135, 206, 235, 0.6) !important; background: #fff !important; }

    /* Matched on the sprite, so it holds whatever the map language is. */
    .gm-style button:has(img[src*="undo_poly"]) { display: none !important; }

    button[title="Keyboard shortcuts"],
    button[aria-label="Keyboard shortcuts"] { display: none !important; }
    
    
    /* === Header Navigation === */
    
    .elementor-location-header .elementor-nav-menu .elementor-item { color: #FFF !important; text-decoration: none !important; font-family: 'Montserrat', sans-serif !important; font-weight: 900 !important; text-transform: uppercase !important; letter-spacing: 0.02em !important; }
    
    .elementor-location-header .elementor-nav-menu .elementor-item:hover,
    .elementor-location-header .elementor-nav-menu .current-menu-item > .elementor-item { color: #87CEEB !important; }
    
    .elementor-location-header .elementor-nav-menu a.elementor-item:hover { background: transparent !important; }
    
    /* PACKAGES nav item — styled as button
    .elementor-location-header .elementor-nav-menu a.elementor-item[href*="/packages"] {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      padding: var(--pc-btn-pad) !important;
      border: 2px solid var(--pc-btn-border) !important;
      border-radius: var(--pc-btn-radius) !important;
      background: var(--pc-btn-bg) !important;
      color: var(--pc-btn-text) !important;
      text-transform: uppercase !important;
      font-family: var(--pc-btn-font) !important;
      font-weight: var(--pc-btn-weight) !important;
      font-size: var(--pc-btn-size) !important;
      letter-spacing: 0.02em !important;
      text-decoration: none !important;
      box-shadow: none !important;
      transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
    }
    .elementor-location-header .elementor-nav-menu a.elementor-item[href*="/packages"]:hover { background: #000 !important; color: #FFF !important; border-color: #87CEEB !important; } */
    
    /* Kill caret */
    .elementor-location-header .elementor-nav-menu .sub-arrow,
    .elementor-location-header .eicon-caret-down { display: none !important; }
    
    /* SUBSCRIPTION nav item — styled as button */
    .elementor-location-header .elementor-nav-menu a.elementor-item[href*="/subscription"] {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      padding: var(--pc-btn-pad) !important;
      border: 2px solid var(--pc-btn-border) !important;
      border-radius: var(--pc-btn-radius) !important;
      background: var(--pc-btn-bg) !important;
      color: var(--pc-btn-text) !important;
      text-transform: uppercase !important;
      font-family: var(--pc-btn-font) !important;
      font-weight: var(--pc-btn-weight) !important;
      font-size: var(--pc-btn-size) !important;
      letter-spacing: 0.02em !important;
      text-decoration: none !important;
      box-shadow: none !important;
      transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
    }
    .elementor-location-header .elementor-nav-menu a.elementor-item[href*="/subscription"]:hover {
      background: #000 !important;
      color: #FFF !important;
      border-color: #87CEEB !important;
    }
    
    /* === Mega Menu — Our Services submenu (Desktop) === */
    
    @media (min-width: 1025px) {
    
      .elementor-location-header .elementor-nav-menu .menu-item-has-children { position: static !important; }
    
      .elementor-location-header .elementor-nav-menu .menu-item-has-children > .elementor-nav-menu--dropdown {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: calc(100% + 10px) !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 14px 24px !important;
        background: #666 !important;
        border: 0 !important;
        box-shadow: none !important;
        display: none;
        gap: 22px;
        justify-content: flex-start;
        align-items: center;
        z-index: 9999 !important;
      }
    
      .elementor-location-header .elementor-nav-menu .menu-item-has-children:hover > .elementor-nav-menu--dropdown { display: flex !important; }
    
      .elementor-location-header .elementor-nav-menu--dropdown .menu-item > a {
        display: inline-flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 8px 10px !important;
        background: transparent !important;
        border: 0 !important;
        color: #FFF !important;
        font-family: "Montserrat", sans-serif !important;
        font-weight: 900 !important;
        font-size: 14px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.02em;
      }
    
      .elementor-location-header .elementor-nav-menu--dropdown .menu-item > a:hover { color: #87CEEB !important; }
    
      /* Icon mask base */
      .elementor-location-header .elementor-nav-menu--dropdown .menu-item > a::before {
        content: "";
        width: 22px;
        height: 22px;
        background-color: currentColor;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: contain;
        mask-size: contain;
        display: inline-block;
      }
    
      /* Icon mappings */
      .elementor-location-header .elementor-nav-menu--dropdown .menu-item > a[href*="/airconpro"]::before { -webkit-mask-image: url('/wp-content/uploads/brand/icons/shop-icon-airconpro.svg'); mask-image: url('/wp-content/uploads/brand/icons/shop-icon-airconpro.svg'); }
      .elementor-location-header .elementor-nav-menu--dropdown .menu-item > a[href*="/proclean"]::before { -webkit-mask-image: url('/wp-content/uploads/brand/icons/shop-icon-proclean.svg'); mask-image: url('/wp-content/uploads/brand/icons/shop-icon-proclean.svg'); }
      .elementor-location-header .elementor-nav-menu--dropdown .menu-item > a[href*="/profix"]::before { -webkit-mask-image: url('/wp-content/uploads/brand/icons/shop-icon-profix.svg'); mask-image: url('/wp-content/uploads/brand/icons/shop-icon-profix.svg'); }
      .elementor-location-header .elementor-nav-menu--dropdown .menu-item > a[href*="testimonial"]::before { -webkit-mask-image: url('/wp-content/uploads/brand/icons/shop-icon-testimonial.svg'); mask-image: url('/wp-content/uploads/brand/icons/shop-icon-testimonial.svg'); }
    
      /* Hover bridge */
      .elementor-location-header .elementor-nav-menu .menu-item-has-children > .elementor-nav-menu--dropdown::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; pointer-events: auto; background: transparent; }
      .elementor-location-header .elementor-nav-menu .menu-item-has-children > .elementor-nav-menu--dropdown { transform: translateY(6px); }
    
    }
    
    
    /* === Accordion (FAQ) === */
    
    details.e-n-accordion-item {
      background-color: #000 !important;
      border: 1px solid #EEE !important;
      border-radius: 5px !important;
      margin-bottom: 20px !important;
      overflow: hidden !important;
      box-sizing: border-box !important;
      transition: all 0.3s ease !important;
    }
    
    details.e-n-accordion-item:not([open]) { height: auto !important; padding-bottom: 0 !important; }
    
    summary.e-n-accordion-item-title {
      background-color: transparent !important;
      color: #FFF !important;
      padding: 20px 25px !important;
      font-family: "Montserrat", sans-serif !important;
      font-weight: 700 !important;
      text-transform: uppercase !important;
      letter-spacing: 0.02em;
      cursor: pointer !important;
      transition: background-color 0.3s ease, color 0.3s ease !important;
      outline: none !important;
      list-style: none !important;
    }
    
    summary.e-n-accordion-item-title::-webkit-details-marker { display: none; }
    
    details.e-n-accordion-item[open] > summary.e-n-accordion-item-title,
    summary.e-n-accordion-item-title:hover { color: #87CEEB !important; background-color: rgba(135, 206, 235, 0.1) !important; }
    
    .e-n-accordion-item-title-icon,
    .e-n-accordion-item-title-icon svg { color: #87CEEB !important; fill: #87CEEB !important; }
    
    details.e-n-accordion-item > div[role="region"] { background-color: #000 !important; border-top: 1px solid rgba(255, 255, 255, 0.15) !important; color: #e3e3e3 !important; padding: 20px 25px !important; font-size: 15px !important; line-height: 1.6 !important; }
    
    details.e-n-accordion-item > div[role="region"] p { margin-bottom: 0 !important; }
    
    
    /* === FAQ — Back to Top === */
    
    .bps-back-to-top { text-align: right; display: block; width: 100%; margin-top: 10px; margin-bottom: 40px; }
    
    .bps-back-to-top a,
    .bps-back-to-top i { color: #87CEEB !important; font-size: 14px; font-weight: 700; text-transform: uppercase; text-decoration: none; transition: all 0.3s ease; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; }
    
    .bps-back-to-top a:hover { color: #FFF !important; transform: translateY(-3px); }
    
    html { scroll-behavior: smooth; }
    #faq-top { scroll-margin-top: 120px; }
    h2 { scroll-margin-top: 120px; }
    [id^="faq-"]::before { content: none !important; display: none !important; height: 0 !important; margin-top: 0 !important; }
    [id^="faq-"] { scroll-margin-top: 140px; }
    
    
    /* === Blog Posts Grid === */
    
    .elementor-posts .elementor-post__text { display: flex; flex-direction: column; height: 100%; }
    .elementor-posts .elementor-post__title { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; -webkit-line-clamp: 2; margin-bottom: 12px; }
    .elementor-posts .elementor-post__excerpt { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; -webkit-line-clamp: 3; margin-bottom: 16px; }
    .elementor-posts .elementor-post__read-more { margin-top: auto; align-self: flex-start; }
    
    
    /* === Contact Slider === */
    
    .bps-contact-slider { --pc-icon-size: 260px; --pc-icon-gap: 24px; --pc-desc-gap: 0px; --pc-slide-max: 540px; --pc-desc-max: 420px; }
    .bps-contact-slider .elementor-slides-wrapper { padding: 0 !important; }
    .bps-contact-slider .swiper-slide-inner { padding: 0 !important; }
    .bps-contact-slider .swiper-slide-inner,
    .bps-contact-slider .swiper-slide-inner * { box-sizing: border-box !important; }
    .bps-contact-slider .elementor-slide-heading,
    .bps-contact-slider .elementor-slide-description,
    .bps-contact-slider .elementor-slide-button { font-family: "Montserrat", sans-serif !important; }
    .bps-contact-slider .swiper-slide:before,
    .bps-contact-slider .swiper-slide:after,
    .bps-contact-slider .elementor-background-overlay { display: none !important; opacity: 0 !important; }
    .bps-contact-slider .swiper-slide-inner { display: block !important; }
    .bps-contact-slider .swiper-slide-contents { position: relative !important; z-index: 2 !important; width: 100% !important; max-width: 90% !important; margin: 0 auto !important; text-align: center !important; }
    .bps-contact-slider .swiper-slide-bg { position: absolute !important; left: 50% !important; top: 45% !important; transform: translate(-50%, -50%) !important; width: var(--pc-icon-size) !important; height: var(--pc-icon-size) !important; background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important; opacity: 1 !important; pointer-events: none !important; z-index: 1 !important; }
    .bps-contact-slider .elementor-slide-heading { margin: 0 !important; padding-top: 0 !important; padding-bottom: calc(var(--pc-icon-size) + var(--pc-icon-gap)) !important; font-size: 35px !important; font-weight: 900 !important; text-transform: uppercase !important; line-height: 1 !important; letter-spacing: 0.02em !important; }
    .bps-contact-slider .elementor-slide-description { margin: 0 auto !important; max-width: 90% !important; font-size: 16px !important; font-weight: 500 !important; line-height: 1.45 !important; }
    .bps-contact-slider .swiper-slide-inner .elementor-slide-description:not(:last-child),
    .bps-contact-slider .swiper-slide-inner .elementor-slide-heading:not(:last-child) { margin-bottom: 0 !important; }
    .bps-contact-slider .elementor-swiper-button,
    .bps-contact-slider .elementor-swiper-button-prev,
    .bps-contact-slider .elementor-swiper-button-next { background: transparent !important; box-shadow: none !important; border: 0 !important; width: auto !important; height: auto !important; padding: 0 !important; }
    
    @media (max-width: 768px) {
      .bps-contact-slider { --pc-icon-size: 240px; --pc-icon-gap: 18px; }
      .bps-contact-slider .swiper-slide-contents { width: 100% !important; max-width: 100% !important; margin: 0 auto !important; padding: 0 16px !important; }
      .bps-contact-slider .swiper-slide-bg { top: 46% !important; width: var(--pc-icon-size) !important; height: var(--pc-icon-size) !important; }
      .bps-contact-slider .elementor-slide-heading { font-size: 34px !important; padding-bottom: calc(var(--pc-icon-size) + var(--pc-icon-gap)) !important; }
      .bps-contact-slider .elementor-slide-description { max-width: 100% !important; font-size: 16px !important; }
    }
    
    .elementor-slides .swiper-slide-inner .elementor-slide-description:not(:last-child),
    .elementor-slides .swiper-slide-inner .elementor-slide-heading:not(:last-child) { margin-bottom: 100px !important; }
    
    
    /* === Packages / Calculator === */
    /* JS calculator widget styles go here once pricing data is confirmed */
    
    
    /* === Global Cursor & Interaction === */
    
    a, a:hover, a:focus, a:visited,
    button, input[type="submit"], input[type="button"], input[type="reset"] { cursor: pointer !important; }
    
    label, select, input[type="radio"], input[type="checkbox"] { cursor: pointer !important; }
    
    .elementor-item, .menu-item { cursor: pointer !important; }
    
    [role="button"], [role="link"], [onclick] { cursor: pointer !important; }
    
    .elementor-location-header .elementor-nav-menu li,
    .elementor-location-header .elementor-nav-menu a,
    .elementor-location-header .elementor-nav-menu .elementor-item,
    .elementor-location-header .elementor-nav-menu .elementor-sub-item,
    .elementor-location-header .menu-cta a { cursor: pointer !important; }
    
    
    /* === Utilities === */
    
    .grecaptcha-badge { visibility: hidden; }
    
    /* ============================================================
       Rating Block
       ============================================================ */
    .tp-rating { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; margin: 0 auto; width: fit-content; }
    .tp-rating__logo-img { height: 22px; width: 120px; display: block; object-fit: contain; object-position: left center; }
    .tp-rating__label { font-size: 16px; font-weight: 600; color: #ffffff; margin: 0; }
    .tp-rating__stars { display: flex; align-items: center; gap: 3px; }
    .tp-rating__star { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; font-size: 18px; line-height: 1; background: #00b67a; color: #ffffff; }
    .tp-rating__star--partial { position: relative; background: #dcdce6; color: #dcdce6; overflow: hidden; }
    .tp-rating__star--partial .tp-rating__star-fill { position: absolute; left: 0; top: 0; width: 80%; height: 100%; background: #00b67a; color: #ffffff; display: flex; align-items: center; justify-content: center; font-size: 18px; overflow: hidden; }
    .tp-rating__meta { font-size: 11px; color: #ffffff; margin: 0; }
    .tp-rating__meta strong { font-weight: 700; }
    
    
    /* === Service Cards Grid === */
    .pc-services { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; list-style: none; margin: 0; padding: 0; }
    
    .pc-service-card { display: flex; flex-direction: column; background: #000; border: 1px solid #444; border-radius: 12px; overflow: hidden; }
    
    .pc-service-card__image { background: #fff; aspect-ratio: 1 / 1; overflow: hidden; }
    .pc-service-card__image img { width: 100%; height: 100%; object-fit: contain; display: block; }
    
    .pc-service-card__body { display: flex; flex-direction: column; flex: 1; padding: 20px; text-align: center; }
    
    .pc-service-card__title { color: #fff; font-family: "Montserrat", sans-serif; font-weight: 900; font-size: clamp(13px, 1.2vw, 16px); text-transform: uppercase; letter-spacing: .02em; line-height: 1.3; margin: 0 0 10px; }
    
    .pc-service-card__excerpt { color: #aaa; font-size: 13px; line-height: 1.5; margin: 0 0 10px; flex: 1; }
    
    .pc-service-card__price { color: #87CEEB; font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 15px; margin: 0 0 16px; }
    
    .pc-service-card__btn { display: block; width: 100%; padding: 14px; background: #87CEEB; color: #000 !important; font-family: "Montserrat", sans-serif; font-weight: 900; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; text-align: center; text-decoration: none !important; border-radius: 6px; margin-top: auto; box-sizing: border-box; transition: background .2s ease; }
    .pc-service-card__btn:hover { background: #fff; }
    
    @media (max-width: 900px) { .pc-services { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 480px) { .pc-services { grid-template-columns: 1fr; } }
    
    /* ============================================================
       Block CTA Block
       ============================================================ */
    .pc-cta-block { background: #000; border: 1px solid rgba(255,255,255,0.12); padding: 48px 36px; margin: 0px; border-radius: 6px; text-align: center; }
    .pc-cta-eyebrow { font-size: 11px; font-family: 'Montserrat', sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: 3px; color: #87CEEB !important; margin: 0 0 12px 0; }
    .pc-cta-headline { font-size: 22px; font-family: 'Montserrat', sans-serif; font-weight: 900; text-transform: uppercase; letter-spacing: 1px; color: #fff; margin: 0 0 16px 0; line-height: 1.3; }
    .pc-cta-body { font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: 500; color: #e3e3e3; max-width: 480px; margin: 0 auto 32px; line-height: 1.65; }
    .pc-cta-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; align-items: center; }
    
   /* ============================================================
   SUBSCRIPTIONS — Plans Cards
   ============================================================ */

.bps-plans-wrap {
  display: flex;
  gap: 24px;
  justify-content: center;
  align-items: flex-end;
  flex-wrap: wrap;
  font-family: "Montserrat", sans-serif;
  padding-top: 20px;
}

/* === Card === */
.bps-plan-card {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 260px;
  max-width: 320px;
  border-radius: 8px;
  overflow: visible;
  background: #1a1a1a;
  border: 1px solid #333;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  cursor: pointer;
}

.bps-plan-card:hover {
  transform: scale(1.04);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.7);
  z-index: 5;
}

.bps-plan--featured {
  border-color: #87CEEB;
  box-shadow: 0 0 24px rgba(135, 206, 235, 0.18);
}

/* === Badge sticker === */
.bps-plan-badge {
  position: absolute;
  top: -18px;
  right: -14px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-weight: 900;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.25;
  z-index: 20;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);
}

.bps-plan--comfort .bps-plan-badge { background: #e8363c; color: #fff; }
.bps-plan--premium .bps-plan-badge { background: #f5c842; color: #000; }

/* === Product page eyebrow badge — "Subscription Package · Most Popular / Top Plan" === */
.bps-badge { font-weight: 900; }
.bps-badge--popular { color: #e8363c; }
.bps-badge--top { color: #ffb400; animation: bps-badge-blink 1.8s ease-in-out infinite; }

@keyframes bps-badge-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.45; } }

@media (prefers-reduced-motion: reduce) {
  .bps-badge--top { animation: none; }
}

/* === Header ribbon band === */
.bps-plan-header {
  position: relative;
  width: 100%;
  padding: 28px 16px 36px;
  text-align: center;
  border-radius: 8px 8px 0 0;
  overflow: visible;
}

/* Downward center triangle — ribbon tail effect */
.bps-plan-header::after {
  content: '';
  position: absolute;
  bottom: -14px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 18px solid transparent;
  border-right: 18px solid transparent;
  z-index: 2;
}

/* Tier header colors */
.bps-plan--ac .bps-plan-header { background: #5b8fa8; }
.bps-plan--ac .bps-plan-header::after { border-top: 14px solid #5b8fa8; }

.bps-plan--comfort .bps-plan-header { background: #87CEEB; }
.bps-plan--comfort .bps-plan-header::after { border-top: 14px solid #87CEEB; }

.bps-plan--premium .bps-plan-header { background: #1e5f7a; }
.bps-plan--premium .bps-plan-header::after { border-top: 14px solid #1e5f7a; }

/* === Plan name === */
.bps-plan-name {
  font-family: "Montserrat", sans-serif;
  font-weight: 900;
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1.35;
  margin: 0;
}

.bps-plan-ideal { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.07em; margin-top: 8px; opacity: 0.8; }
.bps-plan--ac .bps-plan-ideal { color: #fff; }
.bps-plan--comfort .bps-plan-ideal { color: #000; }
.bps-plan--premium .bps-plan-ideal { color: #fff; }

.bps-plan--ac .bps-plan-name { color: #fff; }
.bps-plan--comfort .bps-plan-name { color: #000; }
.bps-plan--premium .bps-plan-name { color: #fff; }

/* === Card body === */
.bps-plan-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 28px 20px 24px;
  background: #1a1a1a;
  border-radius: 0 0 8px 8px;
}

/* === Feature list === */
.bps-plan-features {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
}

.bps-plan-features li {
  position: relative;
  padding: 9px 0 9px 30px;
  font-size: 13px;
  color: #e9eef1;
  line-height: 1.4;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.bps-plan-features li:last-child { border-bottom: none; }

.bps-plan-features li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 9px;
  width: 19px;
  height: 19px;
  background: #45c47b;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* === Meta box === */
.bps-plan-meta {
  background: rgba(135, 206, 235, 0.06);
  border: 1px solid rgba(135, 206, 235, 0.18);
  border-radius: 6px;
  padding: 14px 16px;
  margin-bottom: 20px;
}

.bps-plan-meta p { font-size: 12px !important; color: #999 !important; margin: 0 0 6px !important; line-height: 1.5 !important; }
.bps-plan-meta p:last-child { margin-bottom: 0 !important; }
.bps-plan-meta strong { color: #87CEEB !important; font-weight: 700 !important; }

/* === CTA button === */
.bps-plan-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: var(--pc-btn-pad);
  background: var(--pc-btn-bg);
  color: var(--pc-btn-text) !important;
  font-family: var(--pc-btn-font);
  font-size: var(--pc-btn-size);
  font-weight: var(--pc-btn-weight);
  letter-spacing: 0.08em;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  border: 2px solid var(--pc-btn-border);
  border-radius: var(--pc-btn-radius);
  min-height: 48px;
  cursor: pointer;
  transition: background 0.18s, color 0.18s, border-color 0.18s;
  margin-top: auto;
  box-sizing: border-box;
}

.bps-plan-btn:hover { background: #000; color: #fff !important; border-color: var(--pc-btn-border); }

/* === Responsive === */
@media (max-width: 900px) {
  .bps-plans-wrap { align-items: stretch; }
  .bps-plan-card { max-width: 100%; }
}

@media (max-width: 600px) {
  .bps-plans-wrap { flex-direction: column; align-items: center; }
  .bps-plan-card { width: 100%; max-width: 400px; }
}
    
    
    .woocommerce-product-details__short-description,
    .posted_in { display: none !important; }
    .woocommerce .woocommerce-breadcrumb { display: none !important; }
    
    .elementor-menu-cart__main { background: #000 !important; border: 1px solid #333 !important; }
    
    .elementor-menu-cart__main .elementor-menu-cart__product-name a,
    .elementor-menu-cart__main .elementor-menu-cart__product-price,
    .elementor-menu-cart__main .elementor-menu-cart__subtotal,
    .elementor-menu-cart__main .elementor-menu-cart__subtotal .amount,
    .elementor-menu-cart__main .woocommerce-Price-amount { color: #fff !important; }
    
    .elementor-menu-cart__main .elementor-menu-cart__product { border-bottom: 1px solid #333 !important; padding: 12px 0 !important; }
    
    /* === Menu Cart (hidden) === */
    /* Subscriptions go straight to checkout (plugin v1.5.0) — there is no cart step, so the header cart icon is hidden site-wide. Toggle-button skin below kept in case the widget ever returns. */
    .elementor-widget-woocommerce-menu-cart { display: none !important; }

    /* === Menu Cart Toggle Button === */
    a.elementor-menu-cart__toggle_button.elementor-button {
      background: transparent !important;
      border: none !important;
      box-shadow: none !important;
      padding: 0 !important;
      min-height: unset !important;
      height: auto !important;
      color: #fff !important;
    }
    
    a.elementor-menu-cart__toggle_button.elementor-button:hover {
      background: transparent !important;
      color: #87CEEB !important;
      border: none !important;
    }
    
    a.elementor-menu-cart__toggle_button .elementor-button-text,
    a.elementor-menu-cart__toggle_button .elementor-button-text * { color: #fff !important; }
    
    a.elementor-menu-cart__toggle_button:hover .elementor-button-text,
    a.elementor-menu-cart__toggle_button:hover .elementor-button-text * { color: #87CEEB !important; }
    
    a.elementor-menu-cart__toggle_button svg { fill: #fff !important; }
    a.elementor-menu-cart__toggle_button:hover svg { fill: #87CEEB !important; }
    
    .elementor-location-header a.elementor-menu-cart__toggle_button .woocommerce-Price-currencySymbol,
    .elementor-location-header a.elementor-menu-cart__toggle_button .woocommerce-Price-amount,
    .elementor-location-header a.elementor-menu-cart__toggle_button bdi,
    .elementor-location-header a.elementor-menu-cart__toggle_button span { color: #fff !important; }
    
    
    /* === Cart Table === */
    body.woocommerce-cart .shop_table { border: 2px solid #EEE; border-radius: 8px; margin-top: 40px; }
    body.woocommerce-cart table.cart th { text-transform: uppercase; font-weight: 900; color: #fff; }
    
    /* Hide quantity field on cart — units are fixed via our selector */
    body.woocommerce-cart .product-quantity .quantity,
    body.woocommerce-cart .product-quantity input.qty { display: none !important; }
    body.woocommerce-cart td.product-quantity::after { content: "1"; color: #fff; font-weight: 700; }
    
    /* Fix remove button — kill global button styles */
    body.woocommerce-cart td.product-remove a.remove {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 28px !important;
      height: 28px !important;
      min-height: unset !important;
      padding: 0 !important;
      background: transparent !important;
      border: 1px solid #555 !important;
      border-radius: 50% !important;
      color: #ff6666 !important;
      font-size: 18px !important;
      line-height: 1 !important;
      text-decoration: none !important;
      transition: background 0.2s, border-color 0.2s !important;
    }
    body.woocommerce-cart td.product-remove a.remove:hover {
      background: #ff6666 !important;
      border-color: #ff6666 !important;
      color: #fff !important;
    }
    
    /* Cart actions row */
    body.woocommerce-cart td.actions { border-top: 1px solid #333 !important; padding-top: 16px !important; }
    body.woocommerce-cart td.actions .coupon { display: flex; gap: 10px; align-items: center; }
    body.woocommerce-cart td.actions .coupon input { max-width: 200px; }
    
    /* === Cart page === */
    body.woocommerce-cart .shop_table { border: 2px solid #EEE !important; border-radius: 8px !important; margin-top: 40px !important; width: 100% !important; }
    
    body.woocommerce-cart table.cart th { text-transform: uppercase !important; font-weight: 900 !important; color: #fff !important; }
    
    /* Hide quantity completely — subscription qty is always 1 */
    body.woocommerce-cart .quantity { display: none !important; }
    
    /* Fix remove button */
    body.woocommerce-cart td.product-remove a.remove { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 28px !important; height: 28px !important; min-height: unset !important; padding: 0 !important; background: transparent !important; border: 1px solid #555 !important; border-radius: 50% !important; color: #ff6666 !important; font-size: 18px !important; line-height: 1 !important; text-decoration: none !important; box-shadow: none !important; }
    
    body.woocommerce-cart td.product-remove a.remove:hover { background: #ff6666 !important; border-color: #ff6666 !important; color: #fff !important; }
    
    /* Cart table cells */
    body.woocommerce-cart table.cart td { color: #fff !important; vertical-align: middle !important; padding: 16px 12px !important; }
    
    /* Product name and meta */
    body.woocommerce-cart .product-name a { color: #fff !important; font-weight: 700 !important; text-decoration: none !important; }
    body.woocommerce-cart .product-name a:hover { color: #87CEEB !important; }
    body.woocommerce-cart .product-name .variation dt,
    body.woocommerce-cart .product-name .variation dd,
    body.woocommerce-cart .product-name .variation p { color: #aaa !important; font-size: 13px !important; margin: 0 !important; }
    
    /* Price + subtotal */
    body.woocommerce-cart .product-price .woocommerce-Price-amount,
    body.woocommerce-cart .product-subtotal .woocommerce-Price-amount { color: #87CEEB !important; font-weight: 700 !important; }
    
    /* Cart totals */
    body.woocommerce-cart .cart_totals h2 { color: #fff !important; font-size: 18px !important; text-transform: uppercase !important; }
    body.woocommerce-cart .cart_totals .woocommerce-Price-amount { color: #87CEEB !important; font-weight: 700 !important; }
    
    /* === WooCommerce Blocks Cart === */
    .wc-block-cart { color: #fff !important; }
    
    /* Hide quantity selector */
    .wc-block-components-quantity-selector { display: none !important; }
    
    /* Product name */
    .wc-block-cart-item__product-name a { color: #fff !important; font-weight: 700 !important; text-decoration: none !important; }
    .wc-block-cart-item__product-name a:hover { color: #87CEEB !important; }
    
    /* Price */
    .wc-block-cart-item__total .wc-block-components-product-price__value,
    .wc-block-cart-item__total .woocommerce-Price-amount { color: #87CEEB !important; font-weight: 700 !important; }
    
    /* Remove button */
    .wc-block-cart-item__remove-link { color: #ff6666 !important; font-size: 13px !important; }
    .wc-block-cart-item__remove-link:hover { color: #fff !important; }
    
    /* Totals */
    .wc-block-cart__totals-title { color: #fff !important; }
    .wc-block-components-totals-item__value .woocommerce-Price-amount { color: #87CEEB !important; font-weight: 700 !important; }
    
    /* Proceed to checkout button — already handled by global button styles */
    
    /* Hide quantity input completely */
    .wc-block-components-quantity-selector { display: none !important; }
    
    /* Fix remove button — override global button styles */
    .wc-block-cart-item__remove-link,
    .wc-block-cart-item__remove-link:visited {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 24px !important;
      height: 24px !important;
      min-height: unset !important;
      padding: 0 !important;
      background: transparent !important;
      border: 1px solid #555 !important;
      border-radius: 50% !important;
      color: #ff6666 !important;
      font-size: 16px !important;
      font-weight: 900 !important;
      line-height: 1 !important;
      text-decoration: none !important;
      box-shadow: none !important;
      text-transform: none !important;
      letter-spacing: 0 !important;
      font-family: inherit !important;
    }
    
    .wc-block-cart-item__remove-link:hover {
      background: #ff6666 !important;
      border-color: #ff6666 !important;
      color: #fff !important;
    }
    
    /* === Classic Cart === */
    body.woocommerce-cart .shop_table { border: 2px solid #EEE !important; border-radius: 8px !important; margin-top: 40px !important; }
    
    body.woocommerce-cart table.cart th { text-transform: uppercase !important; font-weight: 900 !important; color: #fff !important; }
    
    body.woocommerce-cart table.cart td { color: #fff !important; vertical-align: middle !important; padding: 16px 12px !important; }
    
    /* Hide quantity — fixed by our selector */
    body.woocommerce-cart .quantity { display: none !important; }
    
    /* Remove button */
    body.woocommerce-cart td.product-remove a.remove { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 28px !important; height: 28px !important; min-height: unset !important; padding: 0 !important; background: transparent !important; border: 1px solid #555 !important; border-radius: 50% !important; color: #ff6666 !important; font-size: 18px !important; line-height: 1 !important; text-decoration: none !important; box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important; }
    
    body.woocommerce-cart td.product-remove a.remove:hover { background: #ff6666 !important; border-color: #ff6666 !important; color: #fff !important; }
    
    /* Product name */
    body.woocommerce-cart .product-name a { color: #fff !important; font-weight: 700 !important; text-decoration: none !important; }
    body.woocommerce-cart .product-name a:hover { color: #87CEEB !important; }
    body.woocommerce-cart .product-name .variation dt,
    body.woocommerce-cart .product-name .variation dd,
    body.woocommerce-cart .product-name .variation p { color: #aaa !important; font-size: 13px !important; margin: 0 !important; }
    
    /* Price + subtotal */
    body.woocommerce-cart .product-price .woocommerce-Price-amount,
    body.woocommerce-cart .product-subtotal .woocommerce-Price-amount { color: #87CEEB !important; font-weight: 700 !important; }
    
    /* Cart totals */
    body.woocommerce-cart .cart_totals h2 { color: #fff !important; font-size: 18px !important; text-transform: uppercase !important; }
    body.woocommerce-cart .cart_totals .woocommerce-Price-amount { color: #87CEEB !important; font-weight: 700 !important; }
    
    /* Coupon + update cart row */
    body.woocommerce-cart td.actions { border-top: 1px solid #333 !important; padding-top: 16px !important; }
    body.woocommerce-cart td.actions .coupon { display: inline-flex !important; gap: 10px !important; align-items: center !important; }
    body.woocommerce-cart td.actions .coupon input { max-width: 180px !important; }
    
    /* Cart — match PHK style */
    body.woocommerce-cart .product-price .woocommerce-Price-amount,
    body.woocommerce-cart .product-subtotal .woocommerce-Price-amount,
    body.woocommerce-cart .product-price .woocommerce-Price-amount bdi,
    body.woocommerce-cart .product-subtotal .woocommerce-Price-amount bdi { color: #fff !important; font-weight: 400 !important; }
    
    /* Remove all cell borders */
    body.woocommerce-cart table.cart td,
    body.woocommerce-cart table.cart th { border: none !important; border-bottom: 1px solid #333 !important; }
    
    /* Hide quantity column entirely */
    body.woocommerce-cart table.cart th.product-quantity,
    body.woocommerce-cart table.cart td.product-quantity { display: none !important; }
    
    
    /* Cart totals — match PHK */
    body.woocommerce-cart .cart_totals .woocommerce-Price-amount,
    body.woocommerce-cart .cart_totals .woocommerce-Price-amount bdi { color: #fff !important; font-weight: 400 !important; }
    
    body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount,
    body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount bdi { color: #fff !important; font-weight: 700 !important; }
    
    body.woocommerce-cart .page-header { padding-top: 50px !important; }
    
    body.woocommerce-cart .bps-cart-edit-link { font-weight: 400 !important; font-size: 13px !important; color: #87CEEB !important; text-decoration: underline !important; border: none !important; padding: 0 !important; margin-left: 6px !important; background: transparent !important; min-height: unset !important; display: inline !important; letter-spacing: 0 !important; text-transform: none !important; box-shadow: none !important; }
    body.woocommerce-cart .bps-cart-edit-link:hover { color: #fff !important; background: transparent !important; }
    
    
/* === Language Switcher === */

@media (max-width: 1024px) {
  .pc-lang-switcher { display: none !important; }
  .gt_switcher_wrapper {
    bottom: 25px !important;
    left: 15px !important;
    background: #000 !important;
    border: 1px solid #fff !important;
    border-radius: 10px !important;
    padding: 6px 10px !important;
  }
}

/* === Packages Page === */

.pc-pkg-page { color: #e9eef1; }
.pc-pkg-page h1, .pc-pkg-page h2, .pc-pkg-page h3, .pc-pkg-page h4 { color: #fff; font-family: "Montserrat", sans-serif; text-transform: uppercase; letter-spacing: 0.04em; }
.pc-pkg-page p, .pc-pkg-page li { color: #ccc; }
.pc-pkg-page strong { color: #fff; }

/* Hero */
.pc-pkg-hero { display: flex; align-items: center; gap: 40px; padding: 60px 0; border-bottom: 1px solid #222; }
.pc-pkg-hero__content { flex: 1; }
.pc-pkg-hero__image { flex: 1; border-radius: 12px; overflow: hidden; aspect-ratio: 1 / 1; }   /* square box bounds the height so the image fills its half without ballooning */
.pc-pkg-hero__image img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 12px; }
.pc-pkg-eyebrow { display: inline-block; font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: 3px; color: #87CEEB; margin-bottom: 16px; }
.pc-pkg-hero__title { font-size: clamp(2rem, 4vw, 3rem); font-weight: 900; line-height: 1.1; margin: 0 0 20px; color: #fff; }
.pc-pkg-hero__sub { font-size: 16px; color: #aaa; max-width: 480px; margin: 0 0 32px; line-height: 1.65; text-transform: none; letter-spacing: 0; }

/* Sections */
.pc-pkg-section { padding: 60px 0; border-bottom: 1px solid #1a1a1a; }
.pc-pkg-section--dark { background: #0d0d0d; padding: 60px 30px; border-radius: 12px; margin: 40px 0; border: 1px solid #222; }
.pc-pkg-section__title { font-size: clamp(1.4rem, 2.5vw, 2rem); font-weight: 900; margin: 0 0 20px; color: #fff; }
.pc-pkg-section__lead { font-size: 15px; color: #aaa; max-width: 720px; margin: 0 0 40px; line-height: 1.7; text-transform: none; letter-spacing: 0; }

/* Highlights */
.pc-pkg-highlights { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 40px; }
.pc-pkg-highlight { display: flex; align-items: flex-start; gap: 14px; background: rgba(135,206,235,0.06); border: 1px solid rgba(135,206,235,0.15); border-radius: 8px; padding: 18px; }
.pc-pkg-highlight__icon { font-size: 22px; flex-shrink: 0; }
.pc-pkg-highlight__text { font-size: 14px; color: #ccc; line-height: 1.5; }
.pc-pkg-highlight__text strong { color: #fff; display: block; margin-bottom: 4px; }

/* Quote */
.pc-pkg-quote { border-left: 3px solid #87CEEB; padding: 16px 20px; background: rgba(135,206,235,0.06); border-radius: 0 8px 8px 0; font-size: 14px; color: #87CEEB; font-style: normal; margin: 0; line-height: 1.6; }

/* Challenges */
.pc-pkg-challenges { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.pc-pkg-challenge { background: #111; border: 1px solid #2a2a2a; border-radius: 8px; padding: 18px; font-size: 13px; color: #aaa; line-height: 1.5; }
.pc-pkg-challenge span { display: block; color: #87CEEB; font-weight: 700; font-size: 13px; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.04em; }

/* Service cards */
.pc-pkg-services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pc-pkg-service-card { background: #111; border: 1px solid #2a2a2a; border-radius: 10px; overflow: hidden; display: flex; flex-direction: column; transition: transform 0.25s ease, box-shadow 0.25s ease; }
.pc-pkg-service-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.5); }
.pc-pkg-service-card__img img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.pc-pkg-service-card__body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.pc-pkg-service-card__body h3 { font-size: 15px; font-weight: 900; color: #fff; margin: 0 0 6px; }
.pc-pkg-service-card__tag { font-size: 11px; color: #87CEEB; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; margin: 0 0 16px; }
.pc-pkg-service-card__body ul { list-style: none; padding: 0; margin: 0 0 16px; flex: 1; }
.pc-pkg-service-card__body ul li { font-size: 13px; color: #aaa; padding: 7px 0 7px 22px; border-bottom: 1px solid rgba(255,255,255,0.05); position: relative; line-height: 1.4; }
.pc-pkg-service-card__body ul li:last-child { border-bottom: none; }
.pc-pkg-service-card__body ul li::before { content: '✓'; position: absolute; left: 0; top: 7px; color: #45c47b; font-weight: 900; font-size: 12px; }
.pc-pkg-service-card__freq { font-size: 11px; color: #555; text-transform: uppercase; letter-spacing: 0.06em; margin: 0; border-top: 1px solid #1a1a1a; padding-top: 12px; }

/* Emergency */
.pc-pkg-emergency { background: linear-gradient(135deg, #0d2233 0%, #0a1a2a 100%); border: 1px solid rgba(135,206,235,0.25); border-radius: 12px; padding: 60px 40px; margin: 40px 0; text-align: center; }
.pc-pkg-emergency__eyebrow { display: inline-block; font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: 3px; color: #fff; margin-bottom: 16px; }
.pc-pkg-emergency__content h2 { font-size: clamp(1.4rem, 2.5vw, 2rem); font-weight: 900; color: #fff; margin: 0 0 16px; }
.pc-pkg-emergency__content p { color: #aaa; max-width: 600px; margin: 0 auto 40px; font-size: 15px; line-height: 1.7; text-transform: none; letter-spacing: 0; }
.pc-pkg-emergency__stats { display: flex; gap: 60px; justify-content: center; flex-wrap: wrap; }
.pc-pkg-emergency__stat { display: flex; flex-direction: column; align-items: center; }
.pc-pkg-emergency__num { font-family: "Montserrat", sans-serif; font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 900; color: #87CEEB; line-height: 1; }
.pc-pkg-emergency__label { font-size: 12px; color: #aaa; text-transform: uppercase; letter-spacing: 0.06em; margin-top: 8px; max-width: 160px; text-align: center; }
.pc-pkg-emergency--with-media .pc-pkg-emergency__title { font-size: clamp(1.4rem, 2.5vw, 2rem); font-weight: 900; color: #fff; margin: 0 0 40px; }
.pc-pkg-emergency__body { display: flex; align-items: center; gap: 48px; text-align: left; }
.pc-pkg-emergency__media { flex: 0 0 360px; aspect-ratio: 1 / 1; border-radius: 12px; overflow: hidden; }
.pc-pkg-emergency__media img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 12px; }
.pc-pkg-emergency--with-media .pc-pkg-emergency__content { flex: 1; }
.pc-pkg-emergency--with-media .pc-pkg-emergency__content p { max-width: none; margin: 0 0 32px; }
.pc-pkg-emergency--with-media .pc-pkg-emergency__stats { justify-content: flex-start; }
.pc-pkg-emergency__stats--grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }

/* Trust band — title + 4-up (badge + stats) */
.pc-pkg-trust { background: linear-gradient(135deg, #0d2233 0%, #0a1a2a 100%); border: 1px solid rgba(135,206,235,0.25); border-radius: 12px; padding: 48px 40px; margin: 40px 0; text-align: center; }
.pc-pkg-trust__title { font-size: clamp(1.4rem, 2.5vw, 2rem); font-weight: 900; color: #fff; margin: 0 0 12px; }
.pc-pkg-trust__intro { color: #aaa; max-width: 640px; margin: 0 auto 40px; font-size: 15px; line-height: 1.7; text-transform: none; letter-spacing: 0; }
.pc-pkg-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; align-items: center; }
.pc-pkg-trust__item { display: flex; flex-direction: column; align-items: center; }
.pc-pkg-trust__item--badge img { width: 100%; max-width: 190px; height: auto; display: block; }
.pc-pkg-trust__num { font-family: "Montserrat", sans-serif; font-size: clamp(2rem, 3.5vw, 2.8rem); font-weight: 900; color: #87CEEB; line-height: 1; }
.pc-pkg-trust__label { font-size: 12px; color: #aaa; text-transform: uppercase; letter-spacing: 0.06em; margin-top: 10px; max-width: 180px; }

/* Full-row image */
.pc-pkg-rowimage { margin: 32px 0 8px; border-radius: 12px; overflow: hidden; }
.pc-pkg-rowimage img { width: 70%; height: auto; display: block; margin: 0 auto; }

/* Media row — text + square image (2-col, image left/right, stacks on mobile) */
.pc-pkg-media { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; padding: 60px 0; border-bottom: 1px solid #1a1a1a; }
.pc-pkg-media__img { border-radius: 12px; overflow: hidden; }
.pc-pkg-media__img img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; border-radius: 12px; }
.pc-pkg-media__text > :first-child { margin-top: 0; }
.pc-pkg-media__text > :last-child { margin-bottom: 0; }
.pc-pkg-media--flip .pc-pkg-media__img { order: -1; }

/* Table */
.pc-pkg-table-wrap { overflow-x: auto; }
.pc-pkg-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pc-pkg-table thead tr { background: #111; border-bottom: 2px solid #87CEEB; }
.pc-pkg-table th { padding: 16px 20px; color: #87CEEB; font-family: "Montserrat", sans-serif; font-weight: 700; text-transform: uppercase; font-size: 12px; letter-spacing: 0.06em; text-align: left; }
.pc-pkg-table tbody tr { border-bottom: 1px solid #1a1a1a; transition: background 0.2s; }
.pc-pkg-table tbody tr:hover { background: rgba(135,206,235,0.04); }
.pc-pkg-table td { padding: 18px 20px; color: #ccc; line-height: 1.6; vertical-align: top; }
.pc-pkg-table td:first-child { color: #fff; font-weight: 700; white-space: nowrap; background: #0d0d0d; width: 200px; }

/* Enterprise grid */
.pc-pkg-enterprise-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.pc-pkg-enterprise-item { background: #111; border: 1px solid #222; border-radius: 8px; padding: 24px; }
.pc-pkg-enterprise-item h4 { font-size: 13px; font-weight: 900; color: #87CEEB; margin: 0 0 10px; text-transform: uppercase; letter-spacing: 0.05em; }
.pc-pkg-enterprise-item p { font-size: 13px; color: #aaa; margin: 0; line-height: 1.6; text-transform: none; letter-spacing: 0; }

/* Responsive */
@media (max-width: 900px) {
  .pc-pkg-hero { flex-direction: column; }
  .pc-pkg-challenges { grid-template-columns: repeat(2, 1fr); }
  .pc-pkg-services { grid-template-columns: 1fr; }
  .pc-pkg-enterprise-grid { grid-template-columns: 1fr; }
  .pc-pkg-media { grid-template-columns: 1fr; gap: 24px; padding: 40px 0; }
  .pc-pkg-media--flip .pc-pkg-media__img { order: 0; }
  .pc-pkg-emergency__body { flex-direction: column; text-align: center; gap: 32px; }
  .pc-pkg-emergency--with-media .pc-pkg-emergency__content p { margin-left: auto; margin-right: auto; }
  .pc-pkg-emergency--with-media .pc-pkg-emergency__stats { justify-content: center; }
  .pc-pkg-emergency__media { flex: 0 0 auto; width: min(360px, 70%); margin: 0 auto; }
  .pc-pkg-emergency__stats--grid { grid-template-columns: repeat(2, 1fr); }
  .pc-pkg-trust__grid { grid-template-columns: repeat(2, 1fr); gap: 28px; }
}

@media (max-width: 600px) {
  .pc-pkg-highlights { grid-template-columns: 1fr; }
  .pc-pkg-challenges { grid-template-columns: 1fr; }
  .pc-pkg-emergency { padding: 40px 20px; }
  .pc-pkg-emergency__stats { gap: 32px; }
  .pc-pkg-emergency__stats--grid { grid-template-columns: 1fr; }
  .pc-pkg-rowimage img { width: 100%; }
}

@media (max-width: 768px) {
  /* First column was a fixed 200px + white-space:nowrap, which forces the column
     wider than 200px for any label that doesn't fit — 48% of the row on a phone,
     crowding "What We Carry Out" into the rest. Let it wrap and cap it at 34%. */
  .pc-pkg-table th, .pc-pkg-table td { padding: 12px 10px; font-size: 13px; }
  .pc-pkg-table td:first-child { width: 34%; white-space: normal; }
}


/* === Hero image crossfade (2-image legacy) === */
.pc-pkg-hero__image { position: relative; }
.pc-pkg-hero__image-alt { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; animation: pc-hero-fade 6s ease-in-out infinite; }
@keyframes pc-hero-fade { 0%, 33% { opacity: 0; } 50%, 83% { opacity: 1; } 100% { opacity: 0; } }

/* === Hero slideshow (N images, CSS-only crossfade) === */
/* Add modifier --slideshow and drop N <img> in. First img stays in flow to set height; the rest stack. */
/* Timing: --slide = seconds per image; total = --slide × image count. Delays below cover up to 10 images. */
.pc-pkg-hero__image--slideshow { --slide: 4s; --count: 10; }
.pc-pkg-hero__image--slideshow img { width: 100%; height: 100%; object-fit: cover; border-radius: 12px; opacity: 0; animation: pc-hero-cycle calc(var(--slide) * var(--count)) linear infinite; }
.pc-pkg-hero__image--slideshow img:first-child { position: relative; }            /* keeps container height */
.pc-pkg-hero__image--slideshow img:not(:first-child) { position: absolute; inset: 0; }
.pc-pkg-hero__image--slideshow img:nth-child(1) { animation-delay: calc(var(--slide) * 0); }
.pc-pkg-hero__image--slideshow img:nth-child(2) { animation-delay: calc(var(--slide) * 1); }
.pc-pkg-hero__image--slideshow img:nth-child(3) { animation-delay: calc(var(--slide) * 2); }
.pc-pkg-hero__image--slideshow img:nth-child(4) { animation-delay: calc(var(--slide) * 3); }
.pc-pkg-hero__image--slideshow img:nth-child(5) { animation-delay: calc(var(--slide) * 4); }
.pc-pkg-hero__image--slideshow img:nth-child(6) { animation-delay: calc(var(--slide) * 5); }
.pc-pkg-hero__image--slideshow img:nth-child(7) { animation-delay: calc(var(--slide) * 6); }
.pc-pkg-hero__image--slideshow img:nth-child(8) { animation-delay: calc(var(--slide) * 7); }
.pc-pkg-hero__image--slideshow img:nth-child(9) { animation-delay: calc(var(--slide) * 8); }
.pc-pkg-hero__image--slideshow img:nth-child(10) { animation-delay: calc(var(--slide) * 9); }
/* Each image is visible for ~1/10 of the loop (10%) with a short crossfade. Adjust the 8%/10% if --count changes. */
@keyframes pc-hero-cycle { 0% { opacity: 0; } 1.5% { opacity: 1; } 8.5% { opacity: 1; } 10% { opacity: 0; } 100% { opacity: 0; } }

/* === Product page: the Woo product-content widget is full-bleed — box the article like the package page so the hero image can't go giant === */
.elementor-widget-woocommerce-product-content .pc-pkg-page { max-width: 1200px; margin-left: auto; margin-right: auto; }

/* === Product page: hero CTA left-aligned to match the left-aligned hero text === */
.pc-pkg-hero .pc-cta-actions { justify-content: flex-start; }

/* === Product page: back-link + hero price === */
.pc-pkg-backlink { margin: 0 0 20px; text-align: center; }
.pc-pkg-backlink a { color: #87CEEB; text-decoration: none; font-size: 0.9rem; }
.pc-pkg-backlink a:hover { text-decoration: underline; }
.pc-pkg-price { font-size: 1.05rem; color: #87CEEB; margin: 8px 0 20px; }
.pc-pkg-price strong { color: #fff; }

/* === Product page: buy box (Elementor Add To Cart widget inside #choose-plan) === */
#choose-plan { scroll-margin-top: 180px; }                                         /* anchor stops well below the sticky header so the title clears it */
#choose-plan .quantity { display: none !important; }                               /* AC-units field replaces the Woo qty box */
#choose-plan form.cart { display: block; }
/* Desktop: three columns, labels top-aligned, price shown plain (no boxed chrome) so all 3 read as one set */
#choose-plan .bps-subscription-selector { max-width: none; display: flex; flex-wrap: wrap; align-items: flex-start; gap: 32px; margin: 0 0 28px; }
#choose-plan .bps-subscription-selector > * { flex: 1 1 200px; min-width: 0; margin: 0; }
#choose-plan .bps-field input { width: 100%; max-width: none; box-sizing: border-box; }
#choose-plan .bps-min-note { color: #aab4bb; }                                     /* "(minimum 4)" readable on the dark block */
#choose-plan .bps-price-display { margin: 0; padding: 0; background: none; border: none; }
#choose-plan .bps-price-amount { display: block; line-height: 1; }
/* Add-to-cart: centred, capped width — not a full-container slab */
#choose-plan .single_add_to_cart_button { display: block; width: 100%; max-width: 420px; margin: 0 auto; min-height: 0; height: auto; padding: 16px 24px; font-weight: 700; }
/* Mobile: stack, kill flex-grow so columns hug their content (no giant gaps) */
@media (max-width: 768px) {
    #choose-plan { padding-left: 0; padding-right: 0; }               /* strip Elementor's default 30px widget padding — the table beside it has none, so this was making the card look shrunken */
    #choose-plan .bps-subscription-selector { flex-direction: column; align-items: stretch; gap: 24px; }
    #choose-plan .bps-subscription-selector > * { flex: 0 0 auto; }
    #choose-plan .bps-units-note { margin-top: 12px; }
    #choose-plan .bps-price-sub { margin-top: 8px; }
    #choose-plan .single_add_to_cart_button { margin-top: 20px; }
}