﻿:root {
  --font-heading: "Mitr", "Noto Sans Thai", "Tahoma", sans-serif;
  --font-body: "Anuphan", "Noto Sans Thai", "Tahoma", sans-serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --kv2-font-heading: var(--font-heading);
  --kv2-font-sans: var(--font-body);
  --kv2-color-primary: var(--kv2-airbnb-primary);
  --kv2-color-primary-dark: var(--kv2-airbnb-primary-active);
  --kv2-color-accent-yellow: var(--kv2-airbnb-primary);
  --kv2-color-secondary-teal: var(--kv2-airbnb-primary);
  --kv2-color-quote-cta: var(--kv2-airbnb-primary);
  --kv2-color-catalogue-cta: var(--kv2-airbnb-primary);
  --kv2-color-catalogue-cta-hover: var(--kv2-airbnb-primary-active);
  --kv2-color-background: var(--kv2-airbnb-canvas);
  --kv2-color-surface: var(--kv2-airbnb-canvas);
  --kv2-color-text: var(--kv2-airbnb-ink);
  --kv2-color-muted-text: var(--kv2-airbnb-muted);
  --kv2-color-border: var(--kv2-airbnb-hairline);
  --kv2-color-success: var(--kv2-airbnb-primary);
  --kv2-color-error: var(--kv2-airbnb-error);
  --kv2-color-soft-yellow: var(--kv2-airbnb-surface-soft);
  --kv2-color-soft-blue: var(--kv2-airbnb-surface-soft);
  --kv2-color-soft-teal: var(--kv2-airbnb-surface-soft);
  --kv2-color-soft-red: var(--kv2-airbnb-surface-soft);
  --kv2-color-soft-purple: var(--kv2-airbnb-surface-soft);
  --kv2-color-footer-black: var(--kv2-airbnb-ink);
  --kv2-color-brand: var(--kv2-color-primary);
  --kv2-color-brand-dark: var(--kv2-color-primary-dark);
  --kv2-color-accent: var(--kv2-color-accent-yellow);
  --kv2-color-muted: var(--kv2-color-muted-text);
  --kv2-color-surface-alt: var(--kv2-color-background);
  --kv2-color-focus: var(--kv2-color-primary);
  --kv2-color-on-dark: var(--kv2-color-surface);
  --kv2-color-overlay-dark: color-mix(in srgb, var(--kv2-color-primary-dark) 78%, transparent);
  --kv2-color-overlay-light: color-mix(in srgb, var(--kv2-color-surface) 82%, transparent);
  --kv2-space-1: 4px;
  --kv2-space-2: 8px;
  --kv2-space-3: 12px;
  --kv2-space-4: 16px;
  --kv2-space-5: 24px;
  --kv2-space-6: 32px;
  --kv2-space-7: 48px;
  --kv2-space-8: 64px;
  --kv2-space-9: 96px;
  --kv2-radius-sm: 6px;
  --kv2-radius-md: 10px;
  --kv2-radius-lg: 18px;
  --kv2-shadow-sm: 0 2px 8px color-mix(in srgb, var(--kv2-color-primary-dark) 7%, transparent);
  --kv2-shadow-md: 0 8px 22px color-mix(in srgb, var(--kv2-color-primary-dark) 10%, transparent);
  --kv2-container: 1200px;
  --kv2-container-wide: 1440px;
  --kv2-reading: 760px;
  --kv2-gutter: clamp(16px, 4vw, 32px);
  --kv2-header-height: 76px;
  --kv2-breakpoint-tablet: 48rem;
  --kv2-breakpoint-desktop: 75rem;
  --kiddee-content-padding: clamp(24px, 4vw, 48px);
  --kiddee-cover-content-gap: clamp(24px, 3.2vw, 48px);
  --kiddee-first-content-gap: clamp(24px, 4vw, 48px);
  --kv2-section-heading-gap: 20px;
  --kv2-section-eyebrow-gap: var(--kv2-section-heading-gap);
  --kv2-section-eyebrow-padding: 6px 18px;
  --kv2-section-eyebrow-radius: 999px;
  --kv2-section-eyebrow-background: var(--kv2-airbnb-ink);
  --kv2-section-eyebrow-color: var(--kv2-airbnb-canvas);
  --kv2-section-eyebrow-font-family: var(--font-body);
  --kv2-section-eyebrow-font-size: var(--kv2-type-micro-size);
  --kv2-section-eyebrow-font-weight: var(--kv2-type-micro-weight);
  --kv2-section-eyebrow-line-height: var(--kv2-type-micro-line);
  --kv2-section-eyebrow-letter-spacing: 0.01em;
  --kv2-section-actions-gap: var(--kv2-space-5);
  --kv2-carousel-content-gap: var(--kv2-space-5);
  --kv2-carousel-nav-size: 44px;
  --kv2-carousel-nav-background: var(--kv2-airbnb-primary);
  --kv2-carousel-nav-background-hover: var(--kv2-airbnb-primary-active);
  --kv2-page-end-space: var(--kiddee-content-padding);
  --kv2-transition: 180ms ease;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--kv2-color-text); background: var(--kv2-color-surface); font-size: var(--kv2-type-body-md-size); font-weight: var(--kv2-type-body-md-weight); line-height: var(--kv2-type-body-md-line); }
img { display: block; max-width: 100%; height: auto; }
iframe, embed, object, video { max-width: 100%; }
a { color: var(--kv2-color-brand); text-underline-offset: 0.15em; }
:where(html:not([data-kiddee-input="touch"])) a:hover{ color: var(--kv2-color-brand-dark); }
:where(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid var(--kv2-color-focus); outline-offset: 3px; }
h1, h2, h3, h4, h5, h6 { margin-block: 0 0.6em; color: var(--kv2-airbnb-ink); font-family: var(--font-heading); font-weight: var(--kv2-type-title-md-weight); overflow-wrap: anywhere; text-wrap: balance; }
h1 { font-size: var(--kv2-type-display-xl-size); font-weight: var(--kv2-type-display-xl-weight); line-height: var(--kv2-type-display-xl-line); margin-block-end: 0.4em; }
h2 { font-size: var(--kv2-type-display-md-size); font-weight: var(--kv2-type-display-md-weight); line-height: var(--kv2-type-display-md-line); margin-block-end: 0.4em; }
h3 { font-size: var(--kv2-type-display-sm-size); font-weight: var(--kv2-type-display-sm-weight); line-height: var(--kv2-type-display-sm-line); }
h4 { font-size: var(--kv2-type-title-md-size); font-weight: var(--kv2-type-title-md-weight); line-height: var(--kv2-type-title-md-line); }
h5 { font-size: var(--kv2-type-title-md-size); font-weight: var(--kv2-type-title-md-weight); line-height: var(--kv2-type-title-md-line); }
h6 { font-size: var(--kv2-type-title-md-size); font-weight: var(--kv2-type-title-md-weight); line-height: var(--kv2-type-title-md-line); }
p, ul, ol, blockquote { margin-block: 0 1em; }
button, input, textarea, select { font-family: var(--font-body); font-size: var(--kv2-type-button-size); }
button, input[type="button"], input[type="submit"], .wp-element-button { min-height: 44px; border: 1px solid var(--kv2-color-primary); border-radius: var(--kv2-radius-md); padding: var(--kv2-space-3) var(--kv2-space-5); color: var(--kv2-color-on-dark); background: var(--kv2-color-primary); box-shadow: 0 6px 16px color-mix(in srgb, var(--kv2-color-primary-dark) 10%, transparent); font-family: var(--font-body); font-size: var(--kv2-type-button-size); font-weight: var(--kv2-type-button-weight); line-height: var(--kv2-type-button-line); cursor: pointer; transition: color 220ms ease, background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease; }
@media (hover: hover) {
  :where(html:not([data-kiddee-input="touch"])) button:hover,
:where(html:not([data-kiddee-input="touch"])) input[type="button"]:hover,
:where(html:not([data-kiddee-input="touch"])) input[type="submit"]:hover,
:where(html:not([data-kiddee-input="touch"])) .wp-element-button:hover,
:where(html:not([data-kiddee-input="touch"])) .button:hover,
:where(html:not([data-kiddee-input="touch"])) a.button:hover{ border-color: var(--kv2-color-primary-dark); color: var(--kv2-color-on-dark); background: var(--kv2-color-primary-dark); box-shadow: 0 10px 24px color-mix(in srgb, var(--kv2-color-primary-dark) 20%, transparent); transform: translateY(-2px); }
}
button:active, input[type="button"]:active, input[type="submit"]:active, .wp-element-button:active, .button:active, a.button:active { border-color: var(--kv2-color-primary-dark); background: color-mix(in srgb, var(--kv2-color-primary-dark) 90%, var(--kv2-color-text)); box-shadow: 0 4px 10px color-mix(in srgb, var(--kv2-color-primary-dark) 14%, transparent); transform: translateY(0); }
button:disabled, input[type="button"]:disabled, input[type="submit"]:disabled, .wp-element-button[aria-disabled="true"], .wp-element-button.is-disabled { border-color: var(--kv2-color-border); color: var(--kv2-color-muted-text); background: var(--kv2-color-background); box-shadow: none; cursor: not-allowed; opacity: 0.72; transform: none; }
:where(button, input[type="button"], input[type="submit"], .button, .elementor-button, .wp-element-button, a.button):focus:not(:focus-visible) { outline: none; }
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="search"], input[type="number"], input[type="password"], textarea, select { width: 100%; min-height: 44px; border: 1px solid var(--kv2-color-border); border-radius: var(--kv2-radius-sm); padding: var(--kv2-space-3) var(--kv2-space-4); color: var(--kv2-color-text); background: var(--kv2-color-surface); }
textarea { min-height: 140px; resize: vertical; }
label { display: inline-block; margin-block-end: var(--kv2-space-2); font-weight: var(--kv2-type-caption-weight); }

.body-large { font-size: var(--kv2-type-body-md-size); line-height: var(--kv2-type-body-md-line); }
.small-text, small { font-size: var(--kv2-type-body-sm-size); line-height: var(--kv2-type-body-sm-line); }
.breadcrumbs, .entry-meta, .navigation.pagination, .comments-pagination, table, .notice,
.srfm-form-container, .srfm-form, .srfm-block-wrap, .srfm-form-wrapper {
  font-family: var(--font-body);
}
.srfm-form-container :where(input, select, textarea, button, label),
.srfm-form :where(input, select, textarea, button, label) { font-family: var(--font-body); }
.srfm-form-container :where(button, [type="submit"]), .srfm-form :where(button, [type="submit"]) { font-weight: var(--kv2-type-button-weight); }
.site-container { width: min(100% - (2 * var(--kv2-gutter)), var(--kv2-container)); margin-inline: auto; }
.site-container--reading { max-width: var(--kv2-reading); }
.site-main { min-height: 50vh; padding-block: clamp(var(--kv2-space-7), 7vw, var(--kv2-space-9)); }
.site-main--builder { padding-block: 0; }
.content-stack > * + * { margin-block-start: var(--kv2-space-6); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100000; top: var(--kv2-space-2); left: var(--kv2-space-2); width: auto; height: auto; margin: 0; clip: auto; padding: var(--kv2-space-3) var(--kv2-space-4); color: var(--kv2-color-surface); background: var(--kv2-color-brand-dark); }
.site-header { position: sticky; z-index: 1000; top: var(--wp-admin--admin-bar--height, 0px); isolation: isolate; border-bottom: 1px solid var(--kv2-color-border); background: var(--kv2-color-surface); }
.site-header__inner { width: min(100% - (2 * var(--kv2-gutter)), var(--kv2-container-wide)); display: flex; min-height: var(--kv2-header-height); align-items: center; justify-content: space-between; gap: var(--kv2-space-4); }
.custom-logo { width: auto; max-height: 56px; }
.site-title { color: var(--kv2-airbnb-ink); font-family: var(--font-heading); font-size: var(--kv2-type-title-md-size); font-weight: var(--kv2-type-title-md-weight); text-decoration: none; }
.menu-toggle { display: inline-flex; align-items: center; gap: var(--kv2-space-2); padding: var(--kv2-space-2) var(--kv2-space-3); }
.menu-toggle__label { display: none !important; }
.menu-toggle__icon, .menu-toggle__icon::before, .menu-toggle__icon::after { display: block; width: 20px; height: 2px; background: currentColor; content: ""; transition: transform 200ms ease, background-color 200ms ease, top 200ms ease; }
.menu-toggle__icon { position: relative; }
.menu-toggle__icon::before { position: absolute; top: -6px; }
.menu-toggle__icon::after { position: absolute; top: 6px; }
.primary-navigation { position: absolute; display: none; z-index: 1001; top: 100%; right: var(--kv2-gutter); left: var(--kv2-gutter); border: 1px solid var(--kv2-color-border); border-radius: var(--kv2-radius-md); padding: var(--kv2-space-3); background: var(--kv2-color-surface); box-shadow: var(--kv2-shadow-md); }
.primary-navigation.is-open { display: block; }
.primary-navigation[hidden] { display: none; }
.primary-menu, .primary-menu ul, .footer-menu { margin: 0; padding: 0; list-style: none; }
.primary-menu a { display: block; border-radius: var(--kv2-radius-sm); padding: var(--kv2-space-2) var(--kv2-space-3); color: var(--kv2-color-text); font-family: var(--font-body); font-size: var(--kv2-type-nav-size); font-weight: var(--kv2-type-nav-weight); line-height: var(--kv2-type-nav-line); text-decoration: none; white-space: nowrap; }
.primary-menu__icon { display: none; }
:where(html:not([data-kiddee-input="touch"])) .primary-menu a:hover{ background: var(--kv2-color-surface-alt); color: var(--kv2-color-brand); }
.primary-menu > li:is(.current-menu-item, .current_page_item, .current-menu-ancestor, .current-menu-parent, .current_page_parent, .current_page_ancestor) > a { color: var(--kv2-color-brand); background: var(--kv2-color-soft-blue); }
.primary-menu .sub-menu { padding-inline-start: var(--kv2-space-4); }
.header-social { display: none; flex: 0 0 auto; }
.header-social__list { display: flex; align-items: center; gap: var(--kv2-space-2); margin: 0; padding: 0; list-style: none; }
.header-social__link { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border: 1px solid var(--kv2-color-border); border-radius: 50%; color: var(--kv2-color-brand-dark); background: var(--kv2-color-surface-alt); box-shadow: var(--kv2-shadow-sm); transition: color var(--kv2-transition), background-color var(--kv2-transition), border-color var(--kv2-transition), box-shadow var(--kv2-transition), transform var(--kv2-transition); }
.header-social__link svg { width: 19px; height: 19px; fill: currentColor; }
:where(html:not([data-kiddee-input="touch"])) .header-social__link:hover{ border-color: var(--kv2-color-brand); color: var(--kv2-color-surface); background: var(--kv2-color-brand); box-shadow: var(--kv2-shadow-md); transform: translateY(-2px); }
.header-quote__link { position: relative; border-color: var(--kv2-color-quote-cta); color: var(--kv2-color-on-dark); background: var(--kv2-color-quote-cta); }
.header-quote__link svg { width: 20px; height: 20px; fill: none; }
.header-quote__link svg circle { fill: currentColor; stroke: none; }
:where(html:not([data-kiddee-input="touch"])) .header-quote__link:hover{ border-color: var(--kv2-color-error); color: var(--kv2-color-on-dark); background: var(--kv2-color-error); }
.header-quote__link:active { transform: translateY(0); }
.header-quote__count { position: absolute; top: -6px; right: -6px; display: inline-flex; min-width: 19px; height: 19px; align-items: center; justify-content: center; border: 2px solid var(--kv2-color-surface); border-radius: 999px; padding-inline: 4px; color: var(--kv2-color-text); background: var(--kv2-color-accent-yellow); font-size: var(--kv2-type-badge-size); font-weight: var(--kv2-type-badge-weight); line-height: var(--kv2-type-badge-line); box-shadow: 0 4px 10px color-mix(in srgb, var(--kv2-color-primary-dark) 20%, transparent); }
.header-quote__count.is-empty { display: none; }
.site-footer { border-top: 1px solid var(--kv2-airbnb-hairline); }
.footer-main { padding-block: clamp(var(--kv2-space-6), 3.5vw, var(--kv2-space-7)); }
.footer-main__grid { width: min(100% - (2 * var(--kv2-gutter)), var(--kv2-container-wide)); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(var(--kv2-space-5), 3vw, var(--kv2-space-7)); align-items: start; }
.footer-info { min-width: 0; }
.footer-info__widget, .footer-info__widget p { margin: 0; }
.footer-info__widget p { line-height: 1.55; text-align: left; }
.footer-info__widget a { color: inherit; font-weight: inherit; text-decoration: none; }
:where(html:not([data-kiddee-input="touch"])) .footer-info__widget a:hover{ text-decoration: underline; }
.footer-info--wide { grid-column: span 2; }
.footer-company, .footer-contact, .footer-navigation, .footer-brand { min-width: 0; }
.footer-company__logo { margin-block-end: var(--kv2-space-4); }
.footer-company__logo .custom-logo-link { display: inline-flex; }
.footer-company__logo .custom-logo { width: auto; max-width: 180px; max-height: 64px; }
.footer-column-content { color: var(--kv2-airbnb-ink); line-height: 1.65; overflow-wrap: anywhere; }
.footer-column-content a { color: inherit; text-decoration: none; }
:where(html:not([data-kiddee-input="touch"])) .footer-column-content a:hover{ color: var(--kv2-color-primary-dark); text-decoration: underline; }
.footer-heading { margin: 0 0 var(--kv2-space-4); color: var(--kv2-airbnb-ink); font-family: var(--font-heading); font-size: var(--kv2-type-body-md-size); font-weight: var(--kv2-type-body-md-weight); }
.footer-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--kv2-space-1) var(--kv2-space-4); }
.footer-menu a { display: inline-flex; min-height: 36px; align-items: center; border-radius: var(--kv2-radius-sm); padding: var(--kv2-space-1) var(--kv2-space-2); color: var(--kv2-airbnb-primary); font-weight: var(--kv2-type-nav-weight); text-decoration: none; }
:where(html:not([data-kiddee-input="touch"])) .footer-menu a:hover{ color: var(--kv2-color-primary-dark); background: var(--kv2-airbnb-canvas); }
.footer-brand { min-width: 0; }
.footer-social { margin-block-end: var(--kv2-space-4); }
.footer-social__list { display: flex; flex-wrap: wrap; align-items: center; gap: var(--kv2-space-2); margin: 0; padding: 0; list-style: none; }
.footer-social__link { border-color: var(--kv2-airbnb-hairline); color: var(--kv2-color-primary-dark); background: var(--kv2-airbnb-canvas); }
.site-footer__copyright { margin: 0; font-size: var(--kv2-type-body-sm-size); line-height: var(--kv2-type-body-sm-line); }
.site-main > :where(section, .wp-block-group, .elementor-section, .e-con) { background-color: var(--kv2-color-surface); }
.site-main > :where(section, .wp-block-group, .elementor-section, .e-con):nth-child(even) { background-color: var(--kv2-color-surface); }
:where(.entry-content, .content-stack) > :where(section, .wp-block-group) { background-color: var(--kv2-color-surface); }
:where(.entry-content, .content-stack) > :where(section, .wp-block-group):nth-child(even) { background-color: var(--kv2-color-surface); }
.breadcrumbs { color: var(--kv2-color-muted); font-size: var(--kv2-type-body-sm-size); }
.entry, .card { overflow-wrap: anywhere; }
.entry-title a { color: inherit; text-decoration: none; }
.entry-meta { color: var(--kv2-color-muted); font-size: var(--kv2-type-body-sm-size); }
.card-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--kv2-space-5); }
.card { border: 1px solid var(--kv2-color-border); border-radius: var(--kv2-radius-lg); padding: var(--kv2-space-5); background: var(--kv2-color-surface); box-shadow: var(--kv2-shadow-sm); }
.entry-thumbnail { display: block; margin: calc(-1 * var(--kv2-space-5)) calc(-1 * var(--kv2-space-5)) var(--kv2-space-5); overflow: hidden; border-radius: var(--kv2-radius-lg) var(--kv2-radius-lg) 0 0; }
.entry-thumbnail img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.search-form { display: flex; align-items: end; gap: var(--kv2-space-3); }
.search-form label { flex: 1; margin: 0; }
.navigation.pagination .nav-links, .comments-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--kv2-space-2); }
.post-navigation .nav-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--kv2-space-3); }
.navigation.pagination .page-numbers, .comments-pagination .page-numbers { display: inline-flex; min-width: 40px; min-height: 40px; align-items: center; justify-content: center; border: 1px solid var(--kv2-color-border); border-radius: var(--kv2-radius-sm); padding: var(--kv2-space-2); color: var(--kv2-color-text); background: var(--kv2-color-surface); text-decoration: none; }
:where(html:not([data-kiddee-input="touch"])) .navigation.pagination a.page-numbers:hover,
:where(html:not([data-kiddee-input="touch"])) .comments-pagination a.page-numbers:hover{ border-color: var(--kv2-color-brand); color: var(--kv2-color-brand); background: var(--kv2-color-surface-alt); }
.navigation.pagination .page-numbers.current, .comments-pagination .page-numbers.current { border-color: var(--kv2-color-brand); color: var(--kv2-color-surface); background: var(--kv2-color-brand); font-weight: var(--kv2-type-nav-weight); }
.comment-list { padding-inline-start: var(--kv2-space-5); }
.comment-body { border-block-end: 1px solid var(--kv2-color-border); padding-block: var(--kv2-space-5); }

@media (min-width: 48rem) {
  .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 48rem) and (max-width: 63.99rem) {
  .footer-main__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 47.99rem) {
  .footer-main__grid { grid-template-columns: minmax(0, 1fr); gap: var(--kv2-space-6); }
  .footer-info__widget p { line-height: 1.65; text-align: left; }
  .footer-menu { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 75rem) {
  .menu-toggle { display: none; }
    .primary-navigation, .primary-navigation[hidden] { position: static; display: block; border: 0; padding: 0; background: transparent; box-shadow: none; }
  .primary-menu { display: flex; align-items: center; gap: var(--kv2-space-2); }
  .primary-menu > li { position: relative; }
  .primary-menu > li.menu-item-quote-request { display: none !important; }
  .primary-menu > li:is(.current-menu-item, .current_page_item, .current-menu-ancestor, .current-menu-parent, .current_page_parent, .current_page_ancestor) > a { position: relative; color: var(--kv2-color-brand); background: transparent; }
  .primary-menu > li:is(.current-menu-item, .current_page_item, .current-menu-ancestor, .current-menu-parent, .current_page_parent, .current_page_ancestor) > a::after { position: absolute; right: var(--kv2-space-3); bottom: 1px; left: var(--kv2-space-3); height: 3px; border-radius: 999px; background: var(--kv2-color-brand); content: ""; }
  .primary-menu .sub-menu { position: absolute; z-index: 1002; top: 100%; left: 0; display: none; min-width: 220px; border: 1px solid var(--kv2-color-border); border-radius: var(--kv2-radius-md); padding: var(--kv2-space-2); background: var(--kv2-color-surface); box-shadow: var(--kv2-shadow-md); }
  :where(html:not([data-kiddee-input="touch"])) .primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu{ display: block; }
  .header-social { display: flex; }
  .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  /* Disable full-screen image viewer (lightbox) ONLY on single product pages on desktop screens */
  body.single-product.woocommerce .woocommerce-product-gallery__image a,
  body.single-product.woocommerce .woocommerce-product-gallery__image img {
    pointer-events: none !important;
    cursor: default !important;
  }
  body.single-product .woocommerce-product-gallery__trigger,
  body.single-product .pswp,
  body.single-product .elementor-lightbox,
  body.single-product .kiddee-media-lightbox,
  body.single-product.kiddee-media-lightbox-open .kiddee-media-lightbox {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto; transition-duration: 0.01ms; animation-duration: 0.01ms; animation-iteration-count: 1; }
}

/* Center the desktop navigation on the viewport while keeping the logo left. */
@media (min-width: 90rem) {
  .site-header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }
  .site-branding { grid-column: 1; justify-self: start; }
  .primary-navigation { grid-column: 2; justify-self: center; }
}

.kiddee-header-call-cta {
  display: none;
}

@media (min-width: 90rem) {
  .kiddee-header-call-cta {
    display: inline-flex;
    grid-column: 3;
    justify-self: end;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 8px 16px;
    border: 2px solid #222;
    border-radius: 6px;
    background: #fff;
    color: #222;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    text-decoration: none;
    white-space: nowrap;
  }
  .kiddee-header-call-cta:hover,
  .kiddee-header-call-cta:focus-visible {
    border-color: #222;
    background: #fff;
    color: #222;
  }
}

/* Outline and icon match the angled call-button reference. */
@media (min-width: 90rem) {
  .kiddee-header-call-cta {
    position: relative;
    gap: 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #171717;
  }
  .kiddee-header-call-cta::before {
    position: absolute;
    inset: 0 2px;
    border: 2px solid #171717;
    border-radius: 5px;
    content: "";
    pointer-events: none;
    transform: skewX(-8deg);
  }
  .kiddee-header-call-cta__icon {
    width: 17px;
    height: 17px;
    flex: none;
  }
  .kiddee-header-call-cta:hover,
  .kiddee-header-call-cta:focus-visible {
    background: transparent;
    color: #171717;
  }
}

/* Keep desktop menu styling steady during a click. */
@media (min-width: 75rem) {
  .site-header .primary-menu > li > a { transition: none; }
  .site-header .primary-menu > li > a:active,
  .site-header .primary-menu > li > a:focus:not(:focus-visible) {
    background: transparent;
    color: #222;
    outline: 0;
  }
}

/* Preserve the header between same-site page navigations in supporting browsers. */
@view-transition { navigation: auto; }
.site-header { view-transition-name: kiddee-site-header; }
::view-transition-old(kiddee-site-header),
::view-transition-new(kiddee-site-header) { animation-duration: 1ms; }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
}
