/* =========================================================================
   Ranch 201 — base.css  (Editorial Western pivot)
   Committed direction: warm leather-black background, bone-white editorial
   serif typography, burnt-amber + saddle-gold duotone. Applied globally.
   ========================================================================= */

:root {
    /* ---- Palette: leather, bone, amber, gold ---- */
    --r-bg:        #0b0705;   /* warm near-black (cold leather) */
    --r-bg-1:      #110c08;   /* section alt */
    --r-bg-2:      #1a120c;   /* cards / surfaces */
    --r-surface:   #221810;
    --r-hairline:  #3a2a1c;   /* deep brown hairline */
    --r-hairline-2:#5a3f27;

    --r-text:      #f5ebdd;   /* bone white, aged paper */
    --r-text-mid:  #b8a38a;   /* warm gray-tan */
    --r-text-dim:  #8a735d;   /* parchment shadow */

    --r-accent:    #d67642;   /* burnt amber */
    --r-accent-hi: #f09057;
    --r-gold:      #c6a063;   /* saddle gold */
    --r-rust:      #a14a1f;   /* deep rust */

    /* ---- Typography: Rye (display) + Newsreader (body) ---- */
    --r-display:   'Rye', 'Frontage', 'Georgia', serif;
    --r-body:      'Newsreader', 'Source Serif 4', 'Iowan Old Style', 'Georgia', serif;
    --r-mono:      'IBM Plex Mono', ui-monospace, 'SF Mono', Consolas, monospace;

    /* ---- Motion ---- */
    --r-ease:   cubic-bezier(0.22, 0.61, 0.36, 1);
    --r-ease-2: cubic-bezier(0.76, 0, 0.24, 1);

    /* ---- Measurements ---- */
    --r-container: min(1280px, 92vw);
    --r-grain-opacity: 0.08;
}

/* =========================================================================
   Grain overlay — fine-noise SVG, fixed, multiplied over the whole site
   Gives everything the subtle texture of aged paper / film stock
   ========================================================================= */
html::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 99999;
    pointer-events: none;
    mix-blend-mode: overlay;
    opacity: var(--r-grain-opacity);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    background-size: 220px 220px;
}

/* =========================================================================
   Global typography + resets
   ========================================================================= */
html, body {
    margin: 0;
    padding: 0;
    background: var(--r-bg);
    color: var(--r-text);
    font-family: var(--r-body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body {
    font-family: var(--r-body);
    font-size: 18px;
    line-height: 1.55;
    letter-spacing: 0.002em;
    font-weight: 400;
    font-variation-settings: "opsz" 18;
}

::selection {
    background: var(--r-accent);
    color: var(--r-bg);
}

a {
    color: inherit;
    text-decoration: none;
    transition: color 0.25s var(--r-ease);
}

a:hover {
    color: var(--r-accent);
}

*:focus-visible {
    outline: 2px solid var(--r-accent);
    outline-offset: 3px;
}

.r-skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 999999;
    padding: 0.5rem 1rem;
    background: var(--r-accent);
    color: var(--r-bg);
    font-family: var(--r-body);
    font-size: 0.875rem;
    font-weight: 700;
}
.r-skip-link:focus {
    left: 0;
}

/* Tell browsers where the warm bg really is so they don't flash white */
html { color-scheme: dark; }

/* =========================================================================
   Kill WPR header + footer GLOBALLY — we render our own via hooks
   ========================================================================= */
[data-elementor-type="wp-post"][data-elementor-id="49"],
[data-elementor-type="wp-post"][data-elementor-id="466"] {
    display: none !important;
}

/* =========================================================================
   Complianz GDPR cookie banner — dark editorial theme
   ========================================================================= */
.cmplz-cookiebanner,
#cmplz-cookiebanner-container .cmplz-cookiebanner {
    background: rgba(11, 7, 5, 0.97) !important;
    color: var(--r-text) !important;
    border: 1px solid var(--r-hairline-2) !important;
    border-radius: 0 !important;
    font-family: var(--r-body) !important;
    max-width: 420px !important;
    padding: 1.5rem 2rem !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.7) !important;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
}

.cmplz-cookiebanner .cmplz-title,
.cmplz-cookiebanner h1,
.cmplz-cookiebanner h2,
.cmplz-cookiebanner h3 {
    font-family: var(--r-display) !important;
    color: var(--r-text) !important;
    font-size: 14px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

.cmplz-cookiebanner .cmplz-body-text,
.cmplz-cookiebanner p {
    font-family: var(--r-body) !important;
    color: var(--r-text-mid) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept {
    background: var(--r-accent) !important;
    color: var(--r-bg) !important;
    border: none !important;
    border-radius: 0 !important;
    font-family: var(--r-display) !important;
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    padding: 10px 18px !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-deny,
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
    background: transparent !important;
    color: var(--r-text-mid) !important;
    border: 1px solid var(--r-hairline-2) !important;
    border-radius: 0 !important;
    font-family: var(--r-display) !important;
    font-size: 10px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    padding: 9px 14px !important;
}

.cmplz-cookiebanner .cmplz-btn:hover {
    opacity: 0.85 !important;
}

.cmplz-cookiebanner a {
    color: var(--r-accent) !important;
}
