
    /* ============================================================
       AK Mobile Polish — tablet + mobile (≤ 768px)
       Additive only. Does not change desktop layout.
       ============================================================ */

    @media (max-width: 768px) {

        /* ---------- Kill horizontal overflow ---------- */
        html, body { overflow-x: hidden; max-width: 100vw; }

        /* Elementor containers with desktop-sized margins/padding overflow
           at 375px. Normalize gutter on mobile. */
        body .elementor-section,
        body .elementor-container,
        body .e-con,
        body .e-con-full,
        body .e-con-boxed {
            max-width: 100% !important;
        }

        body .e-con.e-parent,
        body .e-con-full.e-parent,
        body .e-con-boxed.e-parent {
            margin-left: 0 !important;
            margin-right: 0 !important;
            padding-left: 16px !important;
            padding-right: 16px !important;
        }

        /* Specific offenders on homepage (captured in audit). */
        .elementor-element-01d256a,
        .elementor-element-4f7cf74 {
            margin-left: 0 !important;
            margin-right: 0 !important;
            padding-left: 16px !important;
            padding-right: 16px !important;
            width: 100% !important;
            box-sizing: border-box !important;
        }

        /* Any image/video that might break out. */
        body img, body video, body iframe, body svg {
            max-width: 100%;
            height: auto;
        }

        /* Force tables to wrap / scroll horizontally inside their own box
           rather than pushing the page wider. */
        body table {
            display: block;
            max-width: 100%;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }

        /* ---------- Typography ---------- */
        body h1, body .elementor-heading-title[class*="h1"] {
            font-size: clamp(28px, 7.2vw, 36px) !important;
            line-height: 1.15 !important;
            letter-spacing: -0.01em;
        }
        body h2 {
            font-size: clamp(22px, 5.6vw, 28px) !important;
            line-height: 1.2 !important;
        }
        body h3 { font-size: clamp(18px, 4.8vw, 22px) !important; line-height: 1.3 !important; }
        body h4 { font-size: clamp(16px, 4.2vw, 20px) !important; }
        body p, body li { font-size: 16px; line-height: 1.55; }

        /* Hero title should take the full column on mobile. */
        body h1 {
            max-width: 100% !important;
            width: 100% !important;
            text-wrap: balance;
        }

        /* ---------- Tap targets (WCAG AA = 44x44) ---------- */
        body a.elementor-button,
        body .ts-btn,
        body .e-btn,
        body .ak-btn {
            min-height: 44px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 10px 18px;
        }

        /* Icon-only save buttons: keep fixed square, no padding hijack. */
        body .ak-place-save,
        body .ak-event-save,
        body .ak-deal-save,
        body [class*="-save"][class*="ak-"] {
            width: 40px !important;
            height: 40px !important;
            min-width: 40px !important;
            min-height: 40px !important;
            padding: 0 !important;
        }
        body .ak-place-save svg,
        body .ak-event-save svg,
        body .ak-deal-save svg {
            width: 18px !important;
            height: 18px !important;
            flex: 0 0 18px !important;
        }

        /* Sign Up button was 29px tall on mobile — lift. */
        body .elementor-button-link.elementor-size-sm {
            padding: 10px 16px !important;
            font-size: 14px !important;
            min-height: 40px;
        }

        /* ---------- Forms ---------- */
        body input[type="text"],
        body input[type="email"],
        body input[type="password"],
        body input[type="tel"],
        body input[type="url"],
        body input[type="search"],
        body input[type="number"],
        body textarea,
        body select {
            font-size: 16px !important; /* Prevent iOS zoom on focus */
            min-height: 44px;
            box-sizing: border-box;
            max-width: 100%;
        }
        body textarea { min-height: 96px; }

        /* ---------- Homepage hero ---------- */
        .elementor-element.ak-home-hero,
        .ak-home-hero {
            padding: 40px 16px !important;
            min-height: auto !important;
        }
        .ak-home-hero > .e-con-inner,
        .ak-home-hero .elementor-container {
            gap: 24px !important;
        }

        /* Force multi-column flex containers to stack on mobile
           — EXCEPT the header, which must stay a single horizontal row. */
        body .e-con.e-flex:not(.elementor-location-header *):not(.elementor-location-header) > .e-con-inner,
        body .e-con.e-flex:not(.elementor-location-header *):not(.elementor-location-header) {
            flex-wrap: wrap !important;
        }
        body .elementor-location-header .e-con.e-flex,
        body .elementor-location-header .e-con.e-flex > .e-con-inner {
            flex-wrap: nowrap !important;
        }
        body .e-con-inner > .e-con:not(.elementor-location-header *) {
            flex: 1 1 100% !important;
            max-width: 100% !important;
        }
        body .elementor-location-header .e-con-inner > .e-con {
            flex: 0 1 auto !important;
            width: auto !important;
        }

        /* ---------- Category grid ---------- */
        .ak-cat-grid,
        .ak-categories,
        .ak-categories-grid,
        [class*="category-grid"] {
            grid-template-columns: repeat(2, 1fr) !important;
            gap: 12px !important;
        }

        /* ---------- Deals row ---------- */
        .elementor-element-751a50d .ts-post-feed,
        .elementor-element-751a50d .elementor-widget-container > * {
            display: grid !important;
            grid-template-columns: 1fr !important;
            gap: 16px !important;
        }
        .elementor-element-751a50d .ts-preview:nth-of-type(n+4) {
            display: block !important; /* Re-show hidden 4th on mobile — stacks cleanly */
        }

        /* ---------- Feed grids ---------- */
        .ts-post-feed .ts-preview-list,
        .ts-post-feed-list,
        .elementor-widget-ts-post-feed .ts-preview-list {
            grid-template-columns: 1fr !important;
            gap: 16px !important;
        }

        /* ---------- Auth page ---------- */
        /* Removed: the old-design auth overrides (#ak-auth-panel hidden-panel
           hack, .elementor-2247 column resets, #ak-auth-mini-footer). The auth
           pages were rebuilt Jul-2026 (ak-auth-pages.php split-card) and own all
           their responsive styling now — these stale selectors no longer exist
           in the DOM and only risked fighting the new layout. */

        /* ---------- Business CTA (ak-biz-v2) ---------- */
        .ak-biz-v2 { padding: 36px 16px !important; }
        .ak-biz-v2-steps { grid-template-columns: 1fr !important; gap: 14px !important; }
        .ak-biz-v2-cta-row { flex-direction: column !important; align-items: stretch !important; gap: 10px !important; }
        .ak-biz-v2-cta-row a { width: 100% !important; justify-content: center !important; }
        .ak-biz-v2 h2 { font-size: clamp(24px, 6.4vw, 30px) !important; }

        /* ---------- Footer ---------- */
        .elementor-location-footer .e-con,
        .elementor-location-footer .elementor-container {
            flex-direction: column !important;
            gap: 24px !important;
            text-align: center;
        }
        .elementor-location-footer ul {
            justify-content: center;
            flex-wrap: wrap;
        }

        /* ---------- Header: full-width, compact, single row ---------- */
        body .elementor-location-header,
        body .elementor-location-header > .elementor,
        body .elementor-location-header .elementor > section,
        body .elementor-location-header .elementor > .e-con,
        body .elementor-location-header .e-con {
            width: 100% !important;
            max-width: 100% !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
        }
        body .elementor-location-header .e-con,
        body .elementor-location-header .elementor-container {
            padding: 6px 14px !important;
            flex-direction: row !important;
            align-items: center !important;
            justify-content: space-between !important;
            gap: 8px !important;
            min-height: 60px !important;
        }
        body .elementor-location-header .e-con-inner {
            max-width: 100% !important;
            width: 100% !important;
            padding: 0 !important;
            flex-direction: row !important;
            align-items: center !important;
            justify-content: space-between !important;
            gap: 8px !important;
        }
        /* Logo sizing: compact */
        body .elementor-location-header img {
            max-height: 38px !important;
            width: auto !important;
        }
        /* Hamburger button: decent tap target, no extra underline */
        body .elementor-location-header .elementor-menu-toggle {
            width: 44px !important;
            height: 44px !important;
            padding: 8px !important;
            border: none !important;
            background: transparent !important;
        }
        body .elementor-location-header .elementor-menu-toggle::after,
        body .elementor-location-header .elementor-menu-toggle::before {
            display: none !important;
        }
        /* Voxel nav widget hamburger (ts-mobile-menu) — stop it making header 98px tall */
        body .elementor-location-header .ts-nav-menu,
        body .elementor-location-header .ts-nav,
        body .elementor-location-header .ts-mobile-menu,
        body .elementor-location-header .ts-item-link {
            height: 48px !important;
            min-height: 48px !important;
        }
        body .elementor-location-header .ts-item-icon {
            height: 24px !important;
            min-height: 24px !important;
        }
        body .elementor-location-header .ts-item-icon svg {
            width: 22px !important;
            height: 22px !important;
        }
        body .elementor-location-header .ts-item-link {
            padding: 8px !important;
        }
        /* Remove underline/strike through on nav items on mobile */
        body .elementor-location-header .ts-nav li,
        body .elementor-location-header .ts-nav li::after,
        body .elementor-location-header .ts-nav li::before {
            border-bottom: none !important;
        }
        /* Force outer header containers full-width (reach into inline widths) */
        body .elementor-location-header > .elementor,
        body .elementor-location-header > .elementor > .elementor-element {
            width: 100% !important;
            max-width: 100% !important;
        }
        /* Cap header height */
        body .elementor-location-header,
        body .elementor-location-header > .elementor,
        body .elementor-location-header .elementor-element[data-id] {
            max-height: 64px !important;
        }
        body .elementor-location-header .e-con-inner,
        body .elementor-location-header .e-con {
            min-height: 0 !important;
        }
        /* Remove the decorative underline/accent bar beneath header on mobile */
        body .elementor-location-header .elementor-widget-nav-menu::after,
        body .elementor-location-header .ak-header-accent,
        body .elementor-location-header [class*="accent-bar"] {
            display: none !important;
        }
        /* Hide Sign Up button on narrowest screens (hamburger has Sign In) */
        body .elementor-location-header .elementor-button-link.elementor-size-sm {
            display: none !important;
        }

        /* ---------- Hero stats row (14K Followers, 500+ Places, 100+ Events) ---------- */
        /* Parent column that holds 3 stat rows — force horizontal 3-col layout. */
        body .elementor-element-055a042 {
            flex-direction: row !important;
            flex-wrap: nowrap !important;
            justify-content: space-between !important;
            gap: 8px !important;
            padding: 10px 0 !important;
        }
        body .elementor-element-055a042 > .e-con {
            flex: 1 1 0 !important;
            width: auto !important;
            max-width: none !important;
            flex-direction: column !important;
            align-items: center !important;
            text-align: center !important;
            gap: 4px !important;
            padding: 6px 4px !important;
        }
        body .elementor-element-055a042 > .e-con h6,
        body .elementor-element-055a042 > .e-con .elementor-heading-title {
            font-size: 13px !important;
            font-weight: 600 !important;
            text-align: center !important;
            line-height: 1.25 !important;
        }
        body .elementor-element-055a042 > .e-con .elementor-icon {
            font-size: 16px !important;
        }

        /* ---------- Instagram badge on hero image ---------- */
        /* The badge is absolutely positioned with a desktop left:-20px offset.
           Pull it inward on mobile so it sits nicely over the image. */
        body .elementor-element-ec9e294 {
            left: 14px !important;
            right: auto !important;
            bottom: 14px !important;
            top: auto !important;
            max-width: calc(100% - 28px) !important;
            border-radius: 14px !important;
            box-shadow: 0 8px 22px rgba(0,0,0,0.15) !important;
            padding: 10px 14px !important;
        }

        /* ---------- Event card date badge ---------- */
        body .elementor-element-de5bfd7 .ts-preview .elementor-element-4494d12,
        body .elementor-element-de5bfd7 .ts-preview [class*="event-date"],
        body .elementor-widget-ts-post-feed .ts-preview .elementor-element-4494d12 {
            min-width: 56px !important;
            width: 56px !important;
            padding: 6px 8px !important;
            gap: 2px !important;
            align-items: center !important;
            justify-content: center !important;
        }
        body .elementor-element-de5bfd7 .ts-preview .elementor-element-cf99ca4 .elementor-heading-title,
        body .elementor-element-de5bfd7 .ts-preview .elementor-element-cf99ca4 {
            font-size: 11px !important;
            font-weight: 700 !important;
            text-transform: uppercase !important;
            letter-spacing: 0.04em !important;
            line-height: 1.1 !important;
        }
        body .elementor-element-de5bfd7 .ts-preview .elementor-element-dfe2066 .elementor-heading-title,
        body .elementor-element-de5bfd7 .ts-preview .elementor-element-dfe2066 {
            font-size: 22px !important;
            font-weight: 800 !important;
            line-height: 1.05 !important;
        }

        /* ---------- Section-to-section spacing: compress ---------- */
        body .elementor-2226 > .elementor-element,
        body .elementor-2226 .e-con.e-parent {
            padding-top: 24px !important;
            padding-bottom: 24px !important;
            margin-top: 0 !important;
            margin-bottom: 0 !important;
        }
        /* Hero a little more breathing room */
        body .ak-home-hero,
        body .elementor-element.ak-home-hero {
            padding-top: 24px !important;
            padding-bottom: 16px !important;
        }
        /* Section headings tighter against their feeds */
        body .elementor-2226 h2 { margin-top: 0 !important; margin-bottom: 10px !important; }

        /* ---------- Category grid: 2 columns on mobile ---------- */
        body .elementor-element-b4df3cf {
            padding-top: 20px !important;
            padding-bottom: 24px !important;
        }
        /* The inner cards-row container (3c0d17d) holds all category cards. */
        body .elementor-element-3c0d17d,
        body .elementor-element-3c0d17d > .e-con-inner {
            display: grid !important;
            grid-template-columns: repeat(2, 1fr) !important;
            gap: 10px !important;
            flex-direction: unset !important;
        }
        body .elementor-element-3c0d17d > .e-con-inner > .e-con,
        body .elementor-element-3c0d17d > .e-con {
            flex: 1 1 auto !important;
            width: 100% !important;
            max-width: 100% !important;
            padding: 16px 8px !important;
            min-height: 110px !important;
        }
        body .elementor-element-3c0d17d .elementor-icon,
        body .elementor-element-3c0d17d img {
            max-height: 48px !important;
            width: auto !important;
        }

        /* Biz band margin collapse (was +40px top+bottom) */
        body .elementor-element-01d256a {
            margin-top: 0 !important;
            margin-bottom: 0 !important;
        }
        /* Deals band margin collapse (was +20px) */
        body .elementor-element-add160b {
            margin-top: 0 !important;
            margin-bottom: 0 !important;
        }
        /* Hamburger toggle tap area */
        .elementor-menu-toggle {
            min-width: 44px !important;
            min-height: 44px !important;
            padding: 10px !important;
        }

        /* Search forms stretch full width on mobile */
        .ts-search-form,
        .ts-search-form .ts-form,
        .elementor-widget-ts-search-form {
            width: 100% !important;
            max-width: 100% !important;
        }

        /* ---------- Pricing plans ---------- */
        .elementor-widget-ts-pricing-plan .ts-pricing-plans,
        .ts-pricing-plans {
            grid-template-columns: 1fr !important;
            gap: 16px !important;
        }

        /* ---------- Create-post hero + form ---------- */
        .ak-guest-section, .ak-auth-section {
            padding: 20px 16px !important;
        }

        /* ---------- Improve image rendering on small viewports ---------- */
        body img[loading="lazy"] { content-visibility: auto; }

        /* ---------- Remove accidental fixed widths ---------- */
        body [style*="width: 1200px"],
        body [style*="width:1200px"],
        body [style*="min-width: 1200px"] {
            width: 100% !important;
            min-width: 0 !important;
        }

        /* ---------- Smooth scroll + momentum ---------- */
        html { scroll-behavior: smooth; }
        body { -webkit-overflow-scrolling: touch; }

        /* ---------- Avoid text-size auto-inflation in iOS ---------- */
        html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
    }

    /* ---------- Very small phones (<= 380px) ---------- */
    @media (max-width: 380px) {
        body h1 { font-size: clamp(26px, 7vw, 32px) !important; }
        body .elementor-button { padding: 10px 14px !important; font-size: 14px !important; }
    }

    /* ---------- Touch-only device refinements ---------- */
    @media (hover: none) and (pointer: coarse) {
        /* Disable hover-only effects that look stuck on touch devices. */
        body .ts-preview:hover,
        body .ak-place-card:hover,
        body .ak-event-card:hover {
            transform: none !important;
        }
    }
    
.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li > a[href*="things-to-do-with-kids"]:hover,.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li.current-menu-item > a[href*="things-to-do-with-kids"]{background:#E4F3F4;color:#0F4F53;}.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li > a[href*="playgrounds"]:hover,.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li.current-menu-item > a[href*="playgrounds"]{background:#FDF0E6;color:#9A4F1D;}.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li > a[href*="kid-friendly-restaurants"]:hover,.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li.current-menu-item > a[href*="kid-friendly-restaurants"]{background:#FBEBE9;color:#7D2E27;}.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li > a[href*="amsterdam-with-a-baby"]:hover,.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li.current-menu-item > a[href*="amsterdam-with-a-baby"]{background:#EFECFB;color:#453A84;}

	.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li > a[href*="birthday-parties"]:hover,
	.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li.current-menu-item > a[href*="birthday-parties"] {
		background: #FDEBF1; color: #A32350;
	}
	.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li > a[href*="sports-schools"]:hover,
	.ts-popup-root.elementor-element-a2444e2-wrap .ts-term-dropdown-list > li.current-menu-item > a[href*="sports-schools"] {
		background: #E7F4ED; color: #1F5B41;
	}
	
