
    /* ═══════════════════════════════════════
     * Guest vs Auth section toggle
     * body.logged-in → hide guest, show form
     * body:not(.logged-in) → show guest, hide form
     * ═══════════════════════════════════════ */
    body.logged-in .ak-guest-section {
        display: none !important;
    }
    body:not(.logged-in) .ak-auth-section {
        display: none !important;
    }

    /* ── Form step navigation ── */
    .ts-form-steps .ts-step-head {
        font-family: 'Plus Jakarta Sans', sans-serif !important;
        border-radius: 12px !important;
        transition: all 0.2s ease !important;
    }
    .ts-form-steps .ts-step-head.active,
    .ts-form-steps .ts-step-head.ts-current-step {
        background: rgba(181, 213, 217, 0.12) !important;
        color: #3d6b72 !important;
    }
    .ts-form-steps .ts-step-head .ts-step-number {
        background: #b5d5d9 !important;
        color: #1a1a2e !important;
        font-weight: 700 !important;
    }

    /* ── Form field inputs ── */
    .ts-form .ts-form-group input,
    .ts-form .ts-form-group textarea,
    .ts-form .ts-form-group select {
        border-radius: 12px !important;
        border: 1.5px solid #e8eef0 !important;
        font-family: 'Plus Jakarta Sans', sans-serif !important;
        transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    }
    .ts-form .ts-form-group input:focus,
    .ts-form .ts-form-group textarea:focus,
    .ts-form .ts-form-group select:focus {
        border-color: #8bbcc2 !important;
        box-shadow: 0 0 0 3px rgba(139, 188, 194, 0.15) !important;
        outline: none !important;
    }

    /* ── Form field labels ── */
    .ts-form .ts-form-group label {
        font-family: 'Plus Jakarta Sans', sans-serif !important;
        font-weight: 600 !important;
        color: #1e293b !important;
    }

    /* ── Submit / Save / Draft buttons ── */
    .ts-form .ts-btn-2,
    .ts-create-post .ts-btn-2 {
        background: #b5d5d9 !important;
        color: #1a1a2e !important;
        border: none !important;
        border-radius: 12px !important;
        font-family: 'Plus Jakarta Sans', sans-serif !important;
        font-weight: 700 !important;
        padding: 14px 28px !important;
        transition: all 0.25s ease !important;
    }
    .ts-form .ts-btn-2:hover,
    .ts-create-post .ts-btn-2:hover {
        background: #8bbcc2 !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 4px 16px rgba(139, 188, 194, 0.3) !important;
    }

    /* ── Next / Previous step buttons ── */
    .ts-form-steps .ts-btn-1 {
        border-radius: 10px !important;
        font-family: 'Plus Jakarta Sans', sans-serif !important;
        font-weight: 600 !important;
    }

    /* ── File upload area ── */
    .ts-form .ts-file-upload {
        border: 2px dashed #d1e0e3 !important;
        border-radius: 14px !important;
        background: rgba(181, 213, 217, 0.04) !important;
        transition: all 0.2s ease !important;
    }
    .ts-form .ts-file-upload:hover {
        border-color: #b5d5d9 !important;
        background: rgba(181, 213, 217, 0.08) !important;
    }

    /* ── Create-post page — full bleed ── */
    body.single-elementor_library .ts-page-wrapper {
        padding-top: 0 !important;
    }
    body.single-elementor_library .ts-page-content {
        max-width: 100% !important;
        padding: 0 !important;
    }

    /* ── Responsive ── */
    @media (max-width: 767px) {
        .ts-form .ts-btn-2,
        .ts-create-post .ts-btn-2 {
            padding: 12px 20px !important;
            font-size: 14px !important;
        }
    }
    

        .ts-input-icon { position: relative !important; }
        .ts-input-icon > svg,
        .ts-input-icon > i,
        .ts-input-icon > span {
            position: absolute !important;
            left: 15px !important;
            top: 50% !important;
            transform: translateY(-50%) !important;
            pointer-events: none;
        }
        .ts-input-icon > svg,
        .ts-input-icon > span > svg {
            width: 20px !important;
            height: 20px !important;
            object-fit: contain;
        }
        /* High-specificity variants: a site-wide custom rule
           (.ts-form:not(.quick-search) .ts-form-group .ts-filter {padding:16px!important})
           outguns plain .ts-input-icon > input, so these must outrank it. */
        .ts-input-icon > input,
        .ts-input-icon > select,
        .ts-input-icon > textarea,
        .ts-input-icon > .ts-filter,
        .ts-form .ts-form-group .ts-input-icon > input,
        .ts-form .ts-form-group .ts-input-icon > .ts-filter,
        .ts-form:not(.quick-search) .ts-form-group .ts-input-icon > input.ts-filter,
        .ts-form:not(.quick-search) .ts-form-group .ts-input-icon > .ts-filter {
            padding-left: 45px !important;
        }
    

    body h1 {
        font-size: clamp(24px, 2.6vw, 32px) !important;
        line-height: 1.2 !important;
        letter-spacing: -0.5px !important;
    }
    h2[style*="font-size: 36px"],
    h2[style*="font-size: 32px"],
    h2[style*="font-size: 30px"],
    h2[style*="font-size: 28px"],
    .akd-similar h2,
    .akev-sim-h {
        font-size: clamp(21px, 2.2vw, 25px) !important;
        letter-spacing: -0.3px !important;
    }
    .akb-sec-title { font-size: 21px !important; }
    @media (max-width: 767px) {
        .elementor-widget-heading h1, body h1 { font-size: 23px !important; }
        h2[style*="font-size: 36px"],
        h2[style*="font-size: 32px"],
        h2[style*="font-size: 30px"],
        h2[style*="font-size: 28px"],
        .akd-similar h2,
        .akev-sim-h { font-size: 20px !important; }
    }
    
.ts-preview:has(.ak-ev-noocc){display:none !important;}

    /* Voxel centres .marker-wrapper on the coordinate, so lift the pin by half
       its height to stand the stem tip on the exact spot. transform-origin at
       the tip keeps it planted while the hover/active states scale it. */
    .ak-tulip-marker {
        width: 32px; height: 44px;
        overflow: visible;
        background: none; box-shadow: none; border-radius: 0;
        transform: translateY(-50%);
        transform-origin: 50% 100%;
        filter: drop-shadow(0 3px 6px rgba(11,19,36,.26));
    }
    .ak-tulip-marker svg { display: block; width: 100%; height: 100%; }
    /* replaces Voxel's own hover/active treatment (.marker-focused .map-marker
       { transform: scale(1.25) } and the .marker-active icon recolour), which
       would drop our translateY and let the pin slide off its coordinate */
    .marker-wrapper:hover > .ak-tulip-marker,
    .marker-focused .map-marker.ak-tulip-marker,
    .marker-active .map-marker.ak-tulip-marker {
        transform: translateY(-50%) scale(1.16);
    }
    .marker-active .map-marker.ak-tulip-marker {
        filter: drop-shadow(0 5px 11px rgba(11,19,36,.36));
    }
    /* inside an expanded cluster bundle the wrapper is laid out in normal flow,
       so there is no coordinate to stand on and no lift to apply */
    .ts-marker-bundle .map-marker.ak-tulip-marker { transform: none; }
    .ts-marker-bundle .marker-wrapper:hover > .ak-tulip-marker,
    .ts-marker-bundle .marker-active .map-marker.ak-tulip-marker { transform: scale(1.12); }
    
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny{background-color:#fff !important;border:1px solid #1E73BE !important;color:#1E73BE !important;font-weight:600 !important;}.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny:hover{background-color:#1E73BE !important;color:#fff !important;}.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept{font-weight:600 !important;}

    /* ------------------------------------------------------------------ */
    /* Section polish — make the "From the Blog" band feel like its own   */
    /* chapter, not a buried afterthought.                                 */
    /* ------------------------------------------------------------------ */
    body.home .elementor-element-aa0d66e {
        background:
            radial-gradient(1200px 400px at 50% -10%, rgba(181, 213, 217, 0.18), transparent 60%),
            linear-gradient(180deg, #ffffff 0%, #f7fbfb 100%) !important;
        padding-top: 72px !important;
        padding-bottom: 72px !important;
    }

    /* Section eyebrow "FAMILY STORIES" */
    body.home .elementor-element-aa0d66e .elementor-widget-heading:first-of-type .elementor-heading-title {
        color: #0b1324 !important;
    }

    /* ------------------------------------------------------------------ */
    /* Card template scope — .ts-preview rendered by feed 51336b6          */
    /* Card template internal root = .elementor-2281                       */
    /* ------------------------------------------------------------------ */
    .elementor-element-51336b6 .ts-preview,
    body.blog .elementor-widget-ts-post-feed .ts-preview:has(.elementor-2281) {
        background: #ffffff;
        border-radius: 20px;
        overflow: hidden;
        box-shadow:
            0 1px 2px rgba(11, 19, 36, 0.04),
            0 8px 24px rgba(11, 19, 36, 0.06);
        border: 1px solid rgba(181, 213, 217, 0.22);
        transition:
            transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1),
            border-color 0.35s ease;
        position: relative;
        isolation: isolate;
    }

    .elementor-element-51336b6 .ts-preview:hover,
    body.blog .elementor-widget-ts-post-feed .ts-preview:has(.elementor-2281):hover {
        transform: translateY(-6px);
        box-shadow:
            0 2px 4px rgba(11, 19, 36, 0.05),
            0 20px 42px rgba(11, 19, 36, 0.12),
            0 4px 10px rgba(139, 188, 194, 0.18);
        border-color: rgba(139, 188, 194, 0.45);
    }

    /* Neutralise the card template's own inner padding so our scope owns it */
    .elementor-element-51336b6 .ts-preview .elementor-2281 .elementor-element-7dc5ab9 > .e-con-inner,
    .elementor-element-51336b6 .ts-preview .elementor-2281 > .e-con {
        padding: 0 !important;
        margin: 0 !important;
    }

    /* ------------------------------------------------------------------ */
    /* Image frame — 16:9, rounded top, scale on hover                     */
    /* Card image anchor = .elementor-element-873e12a                      */
    /* Image widget      = .elementor-element-7e58d96                      */
    /* ------------------------------------------------------------------ */
    .elementor-element-51336b6 .ts-preview .elementor-element-873e12a {
        position: relative;
        display: block;
        aspect-ratio: 16 / 10;
        overflow: hidden;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 0 !important;
        background: linear-gradient(135deg, #eaf4f5, #f2f8f9);
    }

    .elementor-element-51336b6 .ts-preview .elementor-element-873e12a > .e-con-inner,
    .elementor-element-51336b6 .ts-preview .elementor-element-7e58d96 {
        padding: 0 !important;
        margin: 0 !important;
        width: 100%;
        height: 100%;
    }

    .elementor-element-51336b6 .ts-preview .elementor-element-7e58d96 img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block;
        transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
        will-change: transform;
    }

    .elementor-element-51336b6 .ts-preview:hover .elementor-element-7e58d96 img {
        transform: scale(1.06);
    }

    /* Subtle gradient wash over image bottom to add depth */
    .elementor-element-51336b6 .ts-preview .elementor-element-873e12a::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, transparent 60%, rgba(11, 19, 36, 0.18) 100%);
        pointer-events: none;
        opacity: 0;
        transition: opacity 0.35s ease;
    }

    .elementor-element-51336b6 .ts-preview:hover .elementor-element-873e12a::after {
        opacity: 1;
    }

    /* ------------------------------------------------------------------ */
    /* Content column — padding + typography                               */
    /* Content container = .elementor-element-1e34a57                      */
    /* ------------------------------------------------------------------ */
    .elementor-element-51336b6 .ts-preview .elementor-element-1e34a57 {
        padding: 22px 24px 20px !important;
    }

    .elementor-element-51336b6 .ts-preview .elementor-element-1e34a57 > .e-con-inner {
        padding: 0 !important;
        gap: 10px !important;
        display: flex !important;
        flex-direction: column !important;
    }

    /* --- Meta strip: category chip + date ----------------------------- */
    /* Meta widget = .elementor-element-ac2257f                            */
    /* NOTE: this widget has NO .elementor-widget-container wrapper —      */
    /* the flex row <div> is a direct child of the widget root.            */
    .elementor-element-51336b6 .ts-preview .elementor-element-ac2257f {
        margin: 0 !important;
    }

    /* The inline <div> holds category + date spans */
    .elementor-element-51336b6 .ts-preview .elementor-element-ac2257f > div {
        gap: 8px !important;
        flex-wrap: wrap;
    }

    /* Category pill (left span) */
    .elementor-element-51336b6 .ts-preview .elementor-element-ac2257f > div > span:first-child {
        background: linear-gradient(135deg, rgba(181, 213, 217, 0.22), rgba(139, 188, 194, 0.22)) !important;
        color: #0b1324 !important;
        font-weight: 700 !important;
        font-size: 10.5px !important;
        letter-spacing: 0.8px !important;
        padding: 5px 11px 5px 9px !important;
        border-radius: 999px !important;
        border: 1px solid rgba(139, 188, 194, 0.35) !important;
        line-height: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
    }

    .elementor-element-51336b6 .ts-preview .elementor-element-ac2257f > div > span:first-child > span {
        background: #0e6b5e !important;
        width: 5px !important;
        height: 5px !important;
    }

    /* Date (right span) — cleaned by JS to "Dec 26, 2025" */
    .elementor-element-51336b6 .ts-preview .elementor-element-ac2257f > div > span:last-child {
        color: #64748b !important;
        font-size: 11.5px !important;
        font-weight: 500 !important;
        letter-spacing: 0.1px !important;
        white-space: nowrap;
    }

    /* --- Title ------------------------------------------------------- */
    /* Heading widget = .elementor-element-d0cd543                        */
    .elementor-element-51336b6 .ts-preview .elementor-element-d0cd543 {
        margin: 4px 0 2px 0 !important;
    }

    .elementor-element-51336b6 .ts-preview .elementor-element-d0cd543 .elementor-heading-title {
        font-family: 'Plus Jakarta Sans', 'Manrope', system-ui, sans-serif !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        line-height: 1.32 !important;
        color: #0b1324 !important;
        letter-spacing: -0.2px !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        min-height: calc(1.32em * 2);
        transition: color 0.25s ease;
    }

    .elementor-element-51336b6 .ts-preview:hover .elementor-element-d0cd543 .elementor-heading-title {
        color: #0e6b5e !important;
    }

    /* --- Spacer between title + footer ------------------------------- */
    .elementor-element-51336b6 .ts-preview .elementor-element-c949f39 {
        flex: 1 !important;
        min-height: 4px !important;
    }

    /* --- Footer row (author/date + Read more) ------------------------ */
    /* Footer widget = .elementor-element-8db144e                         */
    /* NOTE: no .elementor-widget-container wrapper here either.          */
    .elementor-element-51336b6 .ts-preview .elementor-element-8db144e {
        margin: 0 !important;
    }

    .elementor-element-51336b6 .ts-preview .elementor-element-8db144e > div {
        padding-top: 14px !important;
        border-top: 1px solid rgba(11, 19, 36, 0.06) !important;
        margin-top: 6px;
    }

    /* Author/meta left side */
    .elementor-element-51336b6 .ts-preview .elementor-element-8db144e > div > div:first-child {
        color: #64748b !important;
    }

    .elementor-element-51336b6 .ts-preview .elementor-element-8db144e > div > div:first-child svg {
        color: #8bbcc2 !important;
        width: 14px !important;
        height: 14px !important;
    }

    .elementor-element-51336b6 .ts-preview .elementor-element-8db144e > div > div:first-child span {
        font-size: 12px !important;
        font-weight: 500 !important;
        color: #64748b !important;
    }

    /* Read-more link */
    .elementor-element-51336b6 .ts-preview .elementor-element-8db144e > div > a {
        background: #0b1324 !important;
        color: #ffffff !important;
        padding: 8px 14px !important;
        border-radius: 999px !important;
        font-size: 11.5px !important;
        font-weight: 700 !important;
        letter-spacing: 0.2px !important;
        gap: 6px !important;
        transition:
            background-color 0.25s ease,
            transform 0.25s ease,
            box-shadow 0.25s ease !important;
        box-shadow: 0 2px 6px rgba(11, 19, 36, 0.1) !important;
    }

    .elementor-element-51336b6 .ts-preview .elementor-element-8db144e > div > a:hover {
        background: linear-gradient(135deg, #0e6b5e, #8bbcc2) !important;
        transform: translateX(2px);
        box-shadow: 0 4px 12px rgba(14, 107, 94, 0.35) !important;
    }

    .elementor-element-51336b6 .ts-preview .elementor-element-8db144e > div > a svg {
        transition: transform 0.25s ease !important;
        stroke: currentColor !important;
    }

    .elementor-element-51336b6 .ts-preview .elementor-element-8db144e > div > a:hover svg {
        transform: translateX(3px);
    }

    /* ------------------------------------------------------------------ */
    /* Feed grid — tighten gaps, add gentle stagger on enter               */
    /* ------------------------------------------------------------------ */
    .elementor-element-51336b6 .ts-post-feed.default-grid {
        gap: 24px !important;
    }

    @keyframes ak-blog-card-enter {
        from { opacity: 0; transform: translateY(14px); }
        to   { opacity: 1; transform: translateY(0); }
    }

    .elementor-element-51336b6 .ts-preview {
        animation: ak-blog-card-enter 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    .elementor-element-51336b6 .ts-preview:nth-child(1) { animation-delay: 0.00s; }
    .elementor-element-51336b6 .ts-preview:nth-child(2) { animation-delay: 0.05s; }
    .elementor-element-51336b6 .ts-preview:nth-child(3) { animation-delay: 0.10s; }
    .elementor-element-51336b6 .ts-preview:nth-child(4) { animation-delay: 0.15s; }
    .elementor-element-51336b6 .ts-preview:nth-child(5) { animation-delay: 0.20s; }
    .elementor-element-51336b6 .ts-preview:nth-child(6) { animation-delay: 0.25s; }

    /* Reduced motion */
    @media (prefers-reduced-motion: reduce) {
        .elementor-element-51336b6 .ts-preview,
        .elementor-element-51336b6 .ts-preview *,
        .elementor-element-51336b6 .ts-preview .elementor-element-7e58d96 img {
            transition: none !important;
            animation: none !important;
        }
    }

    /* ------------------------------------------------------------------ */
    /* "View all" button at the end of the section — pill it up            */
    /* ------------------------------------------------------------------ */
    body.home .elementor-element-aa0d66e .elementor-widget-button .elementor-button {
        background: #ffffff !important;
        color: #0b1324 !important;
        border: 1.5px solid rgba(139, 188, 194, 0.55) !important;
        padding: 12px 24px !important;
        border-radius: 999px !important;
        font-weight: 700 !important;
        letter-spacing: 0.1px !important;
        transition: all 0.25s ease;
        box-shadow: 0 2px 8px rgba(139, 188, 194, 0.12);
    }

    body.home .elementor-element-aa0d66e .elementor-widget-button .elementor-button:hover {
        background: linear-gradient(135deg, #8bbcc2, #b5d5d9) !important;
        border-color: transparent !important;
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(139, 188, 194, 0.3);
    }

    body.home .elementor-element-aa0d66e .elementor-widget-button .elementor-button svg path {
        fill: #0b1324;
    }

    /* ------------------------------------------------------------------ */
    /* Responsive tuning                                                    */
    /* ------------------------------------------------------------------ */
    @media (max-width: 1024px) {
        .elementor-element-51336b6 .ts-preview .elementor-element-1e34a57 {
            padding: 20px 20px 18px !important;
        }
        .elementor-element-51336b6 .ts-preview .elementor-element-d0cd543 .elementor-heading-title {
            font-size: 16px !important;
        }
    }

    @media (max-width: 640px) {
        body.home .elementor-element-aa0d66e {
            padding-top: 48px !important;
            padding-bottom: 48px !important;
        }
        .elementor-element-51336b6 .ts-post-feed.default-grid {
            gap: 18px !important;
        }
        .elementor-element-51336b6 .ts-preview {
            border-radius: 18px;
        }
    }
    

	.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li > a[href*="family-services"]:hover,
	.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li.current-menu-item > a[href*="family-services"] {
		background: #E4F1F2;
		color: #1D5B62;
	}
	

	/*
	 * — ONE ICON LANGUAGE ACROSS THE WHOLE NAV —
	 *
	 * Every menu item carries a Voxel item icon (`_voxel_item_icon = svg:<id>`,
	 * files in uploads/ak-nav-icons/): Explore compass, Places pin, Holiday
	 * Camps tent, Events calendar, Guides book, Deals tag, Blog newspaper. Get
	 * Listed has none on purpose — it is a CTA pill, not a nav row.
	 *
	 * Using Voxel's own icon field rather than CSS pseudo-elements is what buys
	 * the consistency: the walker prints the SAME attachment as `.ts-item-icon`
	 * on a top-level item and `.ts-term-icon` on a dropdown row, so the bar, the
	 * dropdown and Voxel's burger menu all render one glyph set from one source.
	 * A pseudo-element would have had to be re-declared per surface and per
	 * href, and would have drifted the first time anyone edited the menu.
	 *
	 * The SVGs ship with no `fill` attribute, so `fill: currentColor` here makes
	 * them follow the link's default, hover and current-item colours for free.
	 *
	 * Icon left, chevron right: Voxel draws `.ts-down-icon` after the label, so
	 * the two affordances never stack on the same side.
	 */
	header.elementor-location-header .ts-nav > li .ts-item-icon {
		display: inline-flex !important; align-items: center; justify-content: center;
		width: 17px !important; height: 17px !important; min-height: 17px !important;
		margin-right: 6px; flex: none;
	}
	/*
	 * ICON COLOUR — brand teal, not the label's colour.
	 *
	 * These started on `currentColor`, which inherited the near-black navy of
	 * the nav links and read as a second bold glyph competing with the word.
	 * They are an accent beside the label, so they take the brand teal at rest
	 * and deepen to #1D5B62 on hover, matching the nav links' own hover teal.
	 *
	 * `fill` is set on the CONTAINER as well as the svg and its paths: fill is
	 * an inherited SVG property, and Voxel colours these through the container
	 * (which is where the stray rgb(121,122,136) grey was coming from — nothing
	 * in the page's own stylesheets touches the svg directly). Colouring all
	 * three levels is what actually sticks, whichever level the theme picks.
	 */
	header.elementor-location-header .ts-nav > li .ts-item-icon,
	header.elementor-location-header .ts-nav > li .ts-item-icon svg,
	header.elementor-location-header .ts-nav > li .ts-item-icon svg path {
		fill: #368D96 !important; color: #368D96 !important;
	}
	header.elementor-location-header .ts-nav > li:hover .ts-item-icon,
	header.elementor-location-header .ts-nav > li:hover .ts-item-icon svg,
	header.elementor-location-header .ts-nav > li:hover .ts-item-icon svg path,
	header.elementor-location-header .ts-nav > li.current-menu-item .ts-item-icon svg,
	header.elementor-location-header .ts-nav > li.current-menu-item .ts-item-icon svg path,
	header.elementor-location-header .ts-nav > li.current-menu-ancestor .ts-item-icon svg,
	header.elementor-location-header .ts-nav > li.current-menu-ancestor .ts-item-icon svg path {
		fill: #368D96 !important; color: #368D96 !important;
	}
	header.elementor-location-header .ts-nav > li .ts-item-icon svg {
		width: 17px !important; height: 17px !important; display: block;
	}
	/* the caret is a border triangle — same accent, same weight */
	header.elementor-location-header .ts-nav-menu .menu-item-has-children > a .ts-down-icon {
		border-color: #368D96 !important;
	}
	header.elementor-location-header .ts-nav-menu .menu-item-has-children:hover > a .ts-down-icon {
		border-color: #368D96 !important;
	}
	/*
	 * The bar grew by seven icons. Rather than shrink the glyphs (which is where
	 * an icon stops being legible), the inter-item gap gives back the width —
	 * measured to still fit one row at 1024.
	 */
	@media (max-width: 1300px) {
		header.elementor-location-header ul.ts-nav > li.menu-item { margin: 0 1px !important; }
		header.elementor-location-header .ts-nav-menu .menu-item > a { padding-left: 10px !important; padding-right: 10px !important; }
	}

	/* — the trigger, still in the header DOM — */
	header.elementor-location-header .ts-nav-menu .menu-item-has-children > a .ts-down-icon {
		border-color: currentColor; opacity: .45; transition: opacity .18s ease;
	}
	header.elementor-location-header .ts-nav-menu .menu-item-has-children:hover > a .ts-down-icon { opacity: .9; }

	/* — the panel, teleported to <body> — */
	.ts-popup-root.elementor-element-a2444e2-wrap .ts-field-popup {
		min-width: 232px;
		border-radius: 18px !important;
		border: 1px solid rgba(139,188,194,.45);
		box-shadow: 0 18px 44px -18px rgba(11,19,36,.30), 0 2px 8px rgba(11,19,36,.06);
		background: #fff;
	}
	.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list { padding: 8px; }
	.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li { border: 0; }
	/* the same glyphs again, this time inside the teleported dropdown */
	.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li > a { display: flex; align-items: center; }
	.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li > a .ts-term-icon {
		display: inline-flex; align-items: center; justify-content: center;
		width: 17px; height: 17px; margin-right: 6px; flex: none;
	}
	/*
	 * Same teal in the dropdown. Scoped on `.ts-multilevel-dropdown` rather than
	 * the widget id here, because that class is only ever emitted by
	 * Nav_Menu_Walker — Voxel's OTHER `.ts-term-dropdown` popups (the search
	 * form's term pickers) do not carry it, so their icons keep their own
	 * colours and nothing outside the nav is restyled.
	 */
	.ts-term-dropdown.ts-multilevel-dropdown .ts-term-icon,
	.ts-term-dropdown.ts-multilevel-dropdown .ts-term-icon svg,
	.ts-term-dropdown.ts-multilevel-dropdown .ts-term-icon svg path {
		fill: #368D96 !important; color: #368D96 !important;
	}
	.ts-term-dropdown.ts-multilevel-dropdown li > a:hover .ts-term-icon,
	.ts-term-dropdown.ts-multilevel-dropdown li > a:hover .ts-term-icon svg,
	.ts-term-dropdown.ts-multilevel-dropdown li > a:hover .ts-term-icon svg path {
		fill: #368D96 !important; color: #368D96 !important;
	}
	/*
	 * The camps row keeps its amber TINT and amber label, but its icon stays
	 * #368D96 like every other one — the icon colour is a single system value
	 * here, not a per-item accent.
	 */

	/*
	 * ── LABEL CONTRAST ON HOVER ───────────────────────────────────────────
	 * The navbar widget's Elementor hover setting paints the inner <span> of a
	 * menu item #b5d5d9 — the same powder blue as the Get Listed pill's
	 * background. On the pill that is a background; on a hovered nav item it is
	 * pale text on the pale #EAF4F5 hover tint, and the label all but vanishes.
	 * Measured before the fix: Deals at rest span = rgb(26,26,46); on hover
	 * span = rgb(181,213,217).
	 *
	 * The <a> itself is already given a readable colour by
	 * header-premium-style.php — it is only the span that is overridden — so
	 * this asserts navy on the span for hover AND keyboard focus, on the bar and
	 * inside the dropdown. Navy rather than the hover teal because it matches
	 * how the current-page pill already renders its label.
	 */
	header.elementor-location-header .ts-nav-menu .menu-item > a:hover span,
	header.elementor-location-header .ts-nav-menu .menu-item > a:focus-visible span,
	header.elementor-location-header .ts-nav-menu .menu-item > div > a:hover span,
	.ts-term-dropdown.ts-multilevel-dropdown li > a:hover span,
	.ts-term-dropdown.ts-multilevel-dropdown li > a:focus-visible span {
		color: #0B1324 !important;
	}
	/* …except the Get Listed pill, whose own colours are correct as they are. */
	header.elementor-location-header .ts-nav-menu .menu-item > a[href*="get-listed"]:hover span {
		color: inherit !important;
	}
	.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li > a .ts-term-icon svg {
		width: 17px; height: 17px; display: block;
	}
	.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li > a {
		height: auto !important; padding: 11px 14px !important;
		border-radius: 12px; border-bottom: 0 !important;
		font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px; font-weight: 700;
		color: #0B1324; transition: background .16s ease, color .16s ease;
	}
	.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li > a:hover {
		background: #EAF4F5; color: #1D5B62;
	}
	.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li.current-menu-item > a {
		background: #DCEDEF; color: #14464B;
	}
	/* Holiday Camps wears its own colour wherever it appears in a menu */
	.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li > a[href*="holiday-camps"]:hover,
	.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li.current-menu-item > a[href*="holiday-camps"] {
		background: #FFF3DA; color: #8A5A0B;
	}
	@media (prefers-reduced-motion: reduce) {
		.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li > a,
		header.elementor-location-header .ts-nav-menu .menu-item-has-children > a .ts-down-icon { transition: none !important; }
	}
	
