/**
 * UKSR Design Tokens — CSS Custom Properties
 *
 * Single source of truth for brand colours, spacing, typography,
 * and layout constants. All uksr-* components consume these tokens.
 *
 * @version 1.0.0
 */

:root {
    /* ── Brand Colours ─────────────────────────────────────── */
    --uksr-green: #B1CB0C;
    --uksr-green-light: #c8de3d;
    --uksr-green-dark: #8fa309;
    --uksr-dark-blue: #29235C;
    --uksr-dark-blue-light: #3d3580;
    --uksr-dark-blue-dark: #1a1740;
    --uksr-magenta: #E6007E;
    --uksr-magenta-light: #ff3da0;
    --uksr-magenta-dark: #b80064;
    --uksr-navy: #000032;
    --uksr-cyan: #6ACAF3;
    --uksr-orange: #EE7218;
    --uksr-nav-text: rgba(0, 0, 50, 0.6);

    /* ── Neutral Greys ─────────────────────────────────────── */
    --uksr-white: #ffffff;
    --uksr-off-white: #f8f9fa;
    --uksr-grey-50: #f8f9fa;
    --uksr-grey-100: #f1f3f5;
    --uksr-grey-200: #e9ecef;
    --uksr-grey-300: #dee2e6;
    --uksr-grey-400: #ced4da;
    --uksr-grey-500: #adb5bd;
    --uksr-grey-600: #6c757d;
    --uksr-grey-700: #495057;
    --uksr-grey-800: #343a40;
    --uksr-grey-900: #212529;

    /* ── Spacing Scale ─────────────────────────────────────── */
    --uksr-space-xs: 0.25rem;   /* 4px */
    --uksr-space-sm: 0.5rem;    /* 8px */
    --uksr-space-md: 1rem;      /* 16px */
    --uksr-space-lg: 1.5rem;    /* 24px */
    --uksr-space-xl: 2rem;      /* 32px */
    --uksr-space-2xl: 3rem;     /* 48px */
    --uksr-space-3xl: 4rem;     /* 64px */

    /* ── Typography ────────────────────────────────────────── */
    --uksr-font-primary: "proxima-nova", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --uksr-font-size-xs: 0.75rem;    /* 12px */
    --uksr-font-size-sm: 0.875rem;   /* 14px */
    --uksr-font-size-base: 1rem;     /* 16px */
    --uksr-font-size-md: 1.125rem;   /* 18px */
    --uksr-font-size-lg: 1.25rem;    /* 20px */
    --uksr-font-size-xl: 1.5rem;     /* 24px */
    --uksr-font-size-2xl: 2rem;      /* 32px */
    --uksr-font-size-3xl: 2.5rem;    /* 40px */
    --uksr-font-weight-normal: 400;
    --uksr-font-weight-medium: 500;
    --uksr-font-weight-semibold: 600;
    --uksr-font-weight-bold: 700;
    --uksr-line-height-tight: 1.2;
    --uksr-line-height-normal: 1.5;
    --uksr-line-height-relaxed: 1.6;

    /* ── Border Radius ─────────────────────────────────────── */
    --uksr-radius-sm: 4px;
    --uksr-radius-md: 8px;
    --uksr-radius-lg: 12px;
    --uksr-radius-full: 9999px;

    /* ── Shadows ───────────────────────────────────────────── */
    --uksr-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --uksr-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
    --uksr-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
    --uksr-shadow-header: 0 2px 8px rgba(0, 0, 0, 0.12);

    /* ── Transitions ───────────────────────────────────────── */
    --uksr-transition-fast: 150ms ease;
    --uksr-transition-base: 250ms ease;
    --uksr-transition-slow: 350ms ease;

    /* ── Z-Index Scale ─────────────────────────────────────── */
    --uksr-z-dropdown: 100;
    --uksr-z-sticky: 200;
    --uksr-z-fixed: 300;
    --uksr-z-overlay: 400;
    --uksr-z-modal: 500;
    --uksr-z-drawer-overlay: 1350;
    --uksr-z-drawer: 1400;

    /* ── Layout Constants ──────────────────────────────────── */
    --uksr-header-height: 120px;
    --uksr-header-height-scrolled: 76px;
    --uksr-header-top-height: 40px;
    --uksr-container-max: 1200px;
    --uksr-container-padding: 1rem;

    /* ── Brand Gradient ────────────────────────────────────── */
    --uksr-gradient-brand: linear-gradient(90deg, #B1CB0C 0%, #E6007E 100%);

    /* ── Accent Gradient (magenta → dark-blue) ── */
    --uksr-accent-gradient: linear-gradient(90deg, #E6007E 0%, #29235C 100%);

    /* ── Card Tokens ─────────────────────────────────────── */
    --uksr-border-subtle: 1px solid rgba(0, 0, 50, 0.06);
    --uksr-border-card: 1px solid rgba(0, 0, 50, 0.08);
    --uksr-shadow-card: 0 20px 46px -32px rgba(0, 0, 50, 0.35);
    --uksr-shadow-gallery: 0 8px 32px -12px rgba(0, 0, 50, 0.18);
    --uksr-radius-xl: 18px;
    --uksr-radius-card: 16px;
    --uksr-radius-thumb: 12px;
    --uksr-radius-info: 14px;
}

/**
 * ── Global Font Override ─────────────────────────────────────
 * Kill Ligurino Condensed everywhere.
 *
 * The parent theme declares `ligurino_condensedregular` on h1-h6,
 * nav items, buttons, price rows, and many other selectors across
 * style.css (26×), new-style.css (13×), and additional.css (4×).
 *
 * The parent also uses `proxima_nova` (underscores) for body text,
 * but Typekit serves the font as `proxima-nova` (hyphens).
 *
 * This single block overrides ALL of those to use the design-token
 * font stack. Uses !important only where needed to beat parent
 * !important declarations (new-style.css:1154).
 * ──────────────────────────────────────────────────────────────
 */

/* Base reset — covers body, headings, and all form elements.
 * Excludes icon font elements (.fa, .flaticon, [class*="icon-"])
 * so FontAwesome / Flaticon glyphs keep their own font-family. */
body,
h1, h2, h3, h4, h5, h6,
p,
a:not(.fa):not([class*="flaticon-"]):not([class*="icon-"]),
span:not(.fa):not([class*="flaticon-"]):not([class*="icon-"]),
li,
td, th, label, legend,
input, textarea, select, button,
.btn, [class*="btn-"] {
    font-family: var(--uksr-font-primary) !important;
}

/* Ensure icon fonts are never overridden */
.fa, .fab, .fas, .far, .fal,
[class*="flaticon-"],
[class*="icon-"] {
    font-family: inherit;
}
.fa::before, .fab::before, .fas::before, .far::before, .fal::before {
    font-family: FontAwesome !important;
}
[class*="flaticon-"]::before, [class*="flaticon-"]::after {
    font-family: Flaticon !important;
}

/* Parent heading override (style.css:932) */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--uksr-font-primary) !important;
}

/* Navigation selectors (style.css:1151, 1197; new-style.css) */
.header_nav ul li,
.header_nav ul li li,
.header_nav ul li a,
.site_navigation ul li,
.site_navigation ul li a,
.megamenu .menu_widget h3,
nav ul li,
nav ul li a,
.nav ul li,
.nav ul li a,
.menu li,
.menu li a {
    font-family: var(--uksr-font-primary) !important;
}

/* Price rows (style.css:31, 40, 49) */
.brand_module .price-row,
.option_module .price-row,
.residence_module .price-row,
.price-row {
    font-family: var(--uksr-font-primary) !important;
}

/* Option/accommodation menus (style.css:1384, 2044) */
.option_menu ul li,
.option_menu ul li a,
.accommodation_menu ul li,
.accommodation_menu ul li a {
    font-family: var(--uksr-font-primary) !important;
}

/* Blog section (style.css:1762, 1773) */
.blog_slide span,
.blog_slide a.blog-button,
.blog_slide h2 {
    font-family: var(--uksr-font-primary) !important;
}

/* Home page elements (style.css:1328) */
.home_title h1,
.home_title h2 {
    font-family: var(--uksr-font-primary) !important;
}

/* Page navigation (style.css:2377) */
.bones_page_navi li,
.bones_page_navi li a {
    font-family: var(--uksr-font-primary) !important;
}

/* Comments (style.css:2390) */
#comment-form-title {
    font-family: var(--uksr-font-primary) !important;
}

/* Footer (additional.css:83, 139) */
.footer-top h3,
.footer-column h4,
footer h3, footer h4 {
    font-family: var(--uksr-font-primary) !important;
}

/* WooCommerce booking button — beats new-style.css:1154 !important */
.wc-bookings-booking-form-button,
.wc-bookings-booking-form .wc-bookings-booking-form-button {
    font-family: var(--uksr-font-primary) !important;
}

/* Infobox section (new-style.css:2154-2159) */
.section-infobox .title-block h2,
.section-infobox .infobox-block .text-block h3,
.section-infobox .infobox-block .text-block p {
    font-family: var(--uksr-font-primary) !important;
}

/* Hero/banner elements */
.banner_holder .hero-block h1,
.banner_holder .hero-block h1 span,
.city-hero-block h1 {
    font-family: var(--uksr-font-primary) !important;
}

/* Filter/form elements (new-style.css) */
.home #filter-sidebar form label,
.home #filter-sidebar form .form-group .form-control,
.filters-heading h3,
.form-content .notification {
    font-family: var(--uksr-font-primary) !important;
}
