/**
 * Rhythm Golf — child theme of lnwks (Hummingbird base)
 * Brand identity from the rhythmgolf.com landing page.
 *
 * lnwks' theme.css is written in cascade layers (@layer ...), so every rule
 * in this unlayered file wins over it whatever the selector specificity.
 */

/* ---------- Fonts (self-hosted, latin subset) ---------- */
@font-face{font-family:"Lora";font-style:normal;font-weight:400 700;font-display:swap;src:url("../fonts/lora-latin.woff2") format("woff2")}
@font-face{font-family:"Lora";font-style:italic;font-weight:400 500;font-display:swap;src:url("../fonts/lora-latin-italic.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/poppins-latin-500.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/poppins-latin-600.woff2") format("woff2")}

/* ---------- Brand tokens ---------- */
:root{
  --rg-brand:#006a4e;
  --rg-brand-hover:#00805e;
  --rg-font:"Lora",Georgia,"Times New Roman",serif;
  --rg-caps:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --rg-radius:8px;
  --rg-pill:26px;
}

/*
 * Two color schemes, chosen by data-bs-theme (layouts/layout-both-columns.tpl):
 * - dark  : home page, CMS and lnwkspages pages (the landing page look), header and footer everywhere;
 * - light : e-commerce pages (catalog, product, cart, checkout, account…), on #f4f3ef.
 * Every rule below uses these tokens, so a nested data-bs-theme (header, footer) gets its own scheme.
 */
:root,[data-bs-theme=dark]{
  color-scheme:dark;
  --rg-bg:#0b0b0b;           --rg-bg-rgb:11,11,11;
  --rg-surface:#151515;      --rg-surface-rgb:21,21,21;
  --rg-surface-2:#1f1f1f;    --rg-surface-2-rgb:31,31,31;
  --rg-surface-3:#2a2a2a;
  --rg-text:#f5f5f2;         --rg-text-rgb:245,245,242;
  --rg-text-2:#a8a8a3;       --rg-text-2-rgb:168,168,163;
  --rg-text-3:#76766f;       --rg-text-3-rgb:118,118,111;
  --rg-text-soft:#d6d6d0;
  --rg-emphasis:#fff;
  --rg-border:rgba(255,255,255,.12);
  --rg-border-strong:rgba(255,255,255,.3);
  --rg-overlay:rgba(255,255,255,.06);
  --rg-stripe:rgba(255,255,255,.03);
  --rg-brand-2:#3a9b77;      --rg-brand-2-rgb:58,155,119;
  --rg-danger:#e08a6d;       --rg-danger-rgb:224,138,109;
}
[data-bs-theme=light]{
  color-scheme:light;
  --rg-bg:#f4f3ef;           --rg-bg-rgb:244,243,239;
  --rg-surface:#ffffff;      --rg-surface-rgb:255,255,255;
  --rg-surface-2:#ebe9e3;    --rg-surface-2-rgb:235,233,227;
  --rg-surface-3:#e0ddd5;
  --rg-text:#141412;         --rg-text-rgb:20,20,18;
  --rg-text-2:#55554f;       --rg-text-2-rgb:85,85,79;
  --rg-text-3:#6b6b64;       --rg-text-3-rgb:107,107,100;
  --rg-text-soft:#33332f;
  --rg-emphasis:#000;
  --rg-border:rgba(20,20,18,.12);
  --rg-border-strong:rgba(20,20,18,.3);
  --rg-overlay:rgba(20,20,18,.05);
  --rg-stripe:rgba(20,20,18,.03);
  /* Darker green on light backgrounds: AA contrast for text and links */
  --rg-brand-2:#007553;      --rg-brand-2-rgb:0,117,83;
  --rg-danger:#b3401e;       --rg-danger-rgb:179,64,30;
}

/* ---------- Bootstrap tokens, from the scheme tokens ---------- */
:root,[data-bs-theme=dark],[data-bs-theme=light]{
  --bs-primary:var(--rg-brand);
  --bs-primary-rgb:0,106,78;
  --bs-success:var(--rg-brand-2);
  --bs-success-rgb:var(--rg-brand-2-rgb);
  --bs-danger:var(--rg-danger);
  --bs-danger-rgb:var(--rg-danger-rgb);
  --bs-dark:#0b0b0b;
  --bs-dark-rgb:11,11,11;
  --bs-primary-text-emphasis:var(--rg-brand-2);
  --bs-primary-bg-subtle:rgba(0,106,78,.18);
  --bs-primary-border-subtle:rgba(58,155,119,.5);
  --bs-success-text-emphasis:var(--rg-brand-2);
  --bs-success-bg-subtle:rgba(58,155,119,.16);
  --bs-success-border-subtle:rgba(58,155,119,.45);
  --bs-danger-text-emphasis:var(--rg-danger);
  --bs-danger-bg-subtle:rgba(224,138,109,.14);
  --bs-danger-border-subtle:rgba(224,138,109,.45);

  --bs-body-font-family:var(--rg-font);
  --bs-body-font-size:1.0625rem;
  --bs-body-line-height:1.65;
  --bs-body-color:var(--rg-text);
  --bs-body-color-rgb:var(--rg-text-rgb);
  --bs-body-bg:var(--rg-bg);
  --bs-body-bg-rgb:var(--rg-bg-rgb);
  --bs-emphasis-color:var(--rg-emphasis);
  --bs-secondary-color:var(--rg-text-2);
  --bs-secondary-color-rgb:var(--rg-text-2-rgb);
  --bs-secondary-bg:var(--rg-surface-2);
  --bs-secondary-bg-rgb:var(--rg-surface-2-rgb);
  --bs-tertiary-color:var(--rg-text-3);
  --bs-tertiary-color-rgb:var(--rg-text-3-rgb);
  --bs-tertiary-bg:var(--rg-surface);
  --bs-tertiary-bg-rgb:var(--rg-surface-rgb);
  --bs-heading-color:var(--rg-text);
  --bs-link-color:var(--rg-brand-2);
  --bs-link-color-rgb:var(--rg-brand-2-rgb);
  --bs-link-hover-color:var(--rg-text);
  --bs-link-hover-color-rgb:var(--rg-text-rgb);
  --bs-border-color:var(--rg-border);
  --bs-border-color-translucent:var(--rg-border);
  --bs-border-radius:var(--rg-radius);
  --bs-border-radius-sm:6px;
  --bs-border-radius-lg:12px;
  --bs-focus-ring-color:rgba(var(--rg-brand-2-rgb),.4);
  --bs-form-valid-color:var(--rg-brand-2);
  --bs-form-valid-border-color:var(--rg-brand-2);
  --bs-form-invalid-color:var(--rg-danger);
  --bs-form-invalid-border-color:var(--rg-danger);
}

::selection{background:var(--rg-brand);color:#fff}

body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* ---------- Typography ---------- */
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{
  font-family:var(--rg-font);font-weight:600;letter-spacing:-.01em;line-height:1.12
}
h1 em,h2 em,h3 em,.h1 em,.h2 em{font-style:italic;font-weight:500;color:var(--rg-brand-2)}
.page-title,.page-content h1{font-size:clamp(2rem,4vw,3rem)}

/* Small caps labels, like the landing page eyebrows */
.rg-eyebrow,
.footer-block__title,
.breadcrumb,
.badge,
.product-flags .badge,
.nav-tabs .nav-link,
.form-label,
.main-menu .menu__link,
.header-top a,
.header-block__title{
  font-family:var(--rg-caps);
  text-transform:uppercase;
  letter-spacing:.2em;
  font-weight:500
}
.rg-eyebrow{font-size:.75rem;letter-spacing:.32em;color:var(--rg-text-2);line-height:1.4;margin:0}
.breadcrumb,.form-label{font-size:.6875rem}
.badge{letter-spacing:.14em;font-weight:600}

a{text-underline-offset:.2em}

/* ---------- Buttons: pills, Poppins caps ---------- */
.btn{
  --bs-btn-font-family:var(--rg-caps);
  --bs-btn-font-weight:600;
  --bs-btn-font-size:.75rem;
  --bs-btn-padding-x:1.625rem;
  --bs-btn-padding-y:.875rem;
  --bs-btn-border-radius:var(--rg-pill);
  --bs-btn-focus-box-shadow:0 0 0 .2rem rgba(58,155,119,.45);
  letter-spacing:.2em;
  text-transform:uppercase;
  line-height:1.4
}
.btn-sm{--bs-btn-padding-x:1.125rem;--bs-btn-padding-y:.5rem;--bs-btn-font-size:.6875rem}
.btn-lg{--bs-btn-padding-x:2rem;--bs-btn-padding-y:1rem;--bs-btn-font-size:.8125rem}
.btn-primary{
  --bs-btn-color:#fff;--bs-btn-bg:var(--rg-brand);--bs-btn-border-color:var(--rg-brand);
  --bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--rg-brand-hover);--bs-btn-hover-border-color:var(--rg-brand-hover);
  --bs-btn-active-color:#fff;--bs-btn-active-bg:var(--rg-brand-hover);--bs-btn-active-border-color:var(--rg-brand-hover);
  --bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:var(--rg-brand);--bs-btn-disabled-border-color:var(--rg-brand)
}
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-dark,
.btn-outline-light{
  --bs-btn-color:var(--rg-text);--bs-btn-border-color:var(--rg-border-strong);
  --bs-btn-hover-color:var(--rg-text);--bs-btn-hover-bg:transparent;--bs-btn-hover-border-color:var(--rg-text);
  --bs-btn-active-color:var(--rg-text);--bs-btn-active-bg:var(--rg-overlay);--bs-btn-active-border-color:var(--rg-text);
  --bs-btn-disabled-color:var(--rg-text-3);--bs-btn-disabled-border-color:var(--rg-border)
}
.btn-secondary,.btn-dark{
  --bs-btn-color:var(--rg-text);--bs-btn-bg:var(--rg-surface-2);--bs-btn-border-color:var(--rg-surface-2);
  --bs-btn-hover-color:var(--rg-text);--bs-btn-hover-bg:var(--rg-surface-3);--bs-btn-hover-border-color:var(--rg-surface-3);
  --bs-btn-active-color:var(--rg-text);--bs-btn-active-bg:var(--rg-surface-3);--bs-btn-active-border-color:var(--rg-surface-3)
}
.btn-link{--bs-btn-color:var(--rg-brand-2);--bs-btn-hover-color:var(--rg-text);text-transform:none;letter-spacing:0;font-family:var(--rg-font);font-size:1rem}
[data-bs-theme=dark] .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}

/* ---------- Forms ---------- */
.form-control,.form-select{
  background-color:transparent;border-color:var(--rg-border-strong);color:var(--rg-text);border-radius:var(--rg-radius)
}
.form-control::placeholder{color:var(--rg-text-3)}
.form-control:focus,.form-select:focus,.form-check-input:focus{
  background-color:transparent;border-color:var(--rg-brand-2);box-shadow:0 0 0 .2rem rgba(58,155,119,.25);color:var(--rg-text)
}
.form-select option{background:var(--rg-surface);color:var(--rg-text)}
.form-check-input{background-color:transparent;border-color:var(--rg-border-strong)}
.form-check-input:checked,
.form-check-input[type=checkbox]:indeterminate{background-color:var(--rg-brand);border-color:var(--rg-brand)}
.form-range::-webkit-slider-thumb{background-color:var(--rg-brand-2)}
.form-range::-moz-range-thumb{background-color:var(--rg-brand-2)}
.input-group-text{background:var(--rg-surface);border-color:var(--rg-border-strong);color:var(--rg-text-2)}
.nav-link:focus-visible,.btn:focus-visible,a:focus-visible{outline:2px solid var(--rg-brand-2);outline-offset:3px;box-shadow:none}

/* ---------- Bootstrap components (blue values compiled into theme.css) ---------- */
.nav-pills{--bs-nav-pills-link-active-bg:var(--rg-brand)}
.nav-tabs{--bs-nav-tabs-link-active-color:var(--rg-text);--bs-nav-tabs-link-active-bg:transparent;--bs-nav-tabs-link-active-border-color:var(--rg-border) var(--rg-border) var(--rg-bg)}
.nav-tabs .nav-link{font-size:.75rem;color:var(--rg-text-2)}
.dropdown-menu{
  --bs-dropdown-bg:var(--rg-surface);--bs-dropdown-border-color:var(--rg-border);
  --bs-dropdown-link-color:var(--rg-text);--bs-dropdown-link-hover-color:var(--rg-text);--bs-dropdown-link-hover-bg:var(--rg-surface-2);
  --bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:var(--rg-brand)
}
.list-group{--bs-list-group-bg:transparent;--bs-list-group-active-bg:var(--rg-brand);--bs-list-group-active-border-color:var(--rg-brand)}
.pagination{
  --bs-pagination-color:var(--rg-text-2);--bs-pagination-hover-color:var(--rg-text);--bs-pagination-hover-bg:var(--rg-surface-2);
  --bs-pagination-focus-color:var(--rg-text);--bs-pagination-focus-box-shadow:0 0 0 .2rem rgba(58,155,119,.35);
  --bs-pagination-active-bg:var(--rg-brand);--bs-pagination-active-border-color:var(--rg-brand);
  font-family:var(--rg-caps);font-size:.8125rem
}
.accordion{
  --bs-accordion-bg:transparent;--bs-accordion-border-color:var(--rg-border);
  --bs-accordion-active-color:var(--rg-text);--bs-accordion-active-bg:var(--rg-surface);
  --bs-accordion-btn-focus-box-shadow:0 0 0 .2rem rgba(58,155,119,.3)
}
.progress,.progress-stacked{--bs-progress-bg:var(--rg-surface-2);--bs-progress-bar-bg:var(--rg-brand-2)}
.card{--bs-card-bg:var(--rg-surface);--bs-card-border-color:var(--rg-border);--bs-card-cap-bg:transparent}
.modal{--bs-modal-bg:var(--rg-surface);--bs-modal-border-color:var(--rg-border);--bs-modal-header-border-color:var(--rg-border);--bs-modal-footer-border-color:var(--rg-border)}
.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-bg:var(--rg-bg);--bs-offcanvas-border-color:var(--rg-border)}
.toast{--bs-toast-bg:var(--rg-surface);--bs-toast-border-color:var(--rg-border)}
.alert{--bs-alert-border-radius:var(--rg-radius)}
.table{--bs-table-bg:transparent;--bs-table-border-color:var(--rg-border);--bs-table-striped-bg:var(--rg-stripe)}
.carousel-indicators [data-bs-target]{background-color:var(--rg-text)}
.carousel-control-next-icon,.carousel-control-prev-icon{background-color:rgba(11,11,11,.7);color:var(--rg-text)}
.noui-tooltip{background:var(--rg-surface);border-color:var(--rg-border);color:var(--rg-text)}
.noUi-connect{background:var(--rg-brand-2)}
.material-icons{color:inherit}

/* ---------- Header ---------- */
.header{background:rgba(11,11,11,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
/* On light pages the translucent header would turn grey over #f4f3ef: keep it black */
.rg-scheme-light .header{background:#0b0b0b;-webkit-backdrop-filter:none;backdrop-filter:none}
.header-top{border-bottom:1px solid var(--rg-border);font-size:.6875rem;padding:0;max-height:36px}
.header-top>.container-md,.header-top .row,.header-top__left,.header-top__right{height:35px}
.header-top .row>*{display:flex;align-items:center}
.header-top .header-block__action-btn,.header-top .dropdown-toggle,.header-top .form-select{padding-block:0;line-height:1}
.header-top .header-block__icon{font-size:1rem}
.header-top .header-block__badge{height:1.125rem;min-width:1.125rem;font-size:.625rem}
.header-top a,.header-top .dropdown-toggle{color:var(--rg-text-soft);font-size:.6875rem;letter-spacing:.24em}
.header-top a:hover{color:var(--rg-text)}
.header-bottom{border-bottom:1px solid var(--rg-border)}
.header-bottom .logo{max-height:2.75rem;max-width:9.25rem}
.header-block__action-btn{color:var(--rg-text-soft)}
.header-block__action-btn:hover{color:var(--rg-text)}
.header-block__icon{color:inherit}
.header-block__badge{background:var(--rg-brand);color:#fff;font-family:var(--rg-caps)}
.main-menu .menu__link{font-size:.6875rem;letter-spacing:.24em;color:var(--rg-text-soft)}
.main-menu .menu__link:hover{color:var(--rg-text)}

/* ---------- Breadcrumb ---------- */
.breadcrumb__wrapper{background:transparent;border-bottom:1px solid var(--rg-border)}
.breadcrumb{--bs-breadcrumb-divider-color:var(--rg-text-3);--bs-breadcrumb-item-active-color:var(--rg-text-2)}
.breadcrumb a{color:var(--rg-text-2);text-decoration:none}
.breadcrumb a:hover{color:var(--rg-text)}

/* ---------- Product miniatures ---------- */
.product-miniature__inner{background:transparent}
.product-miniature__top{background:var(--rg-surface);border:1px solid var(--rg-border);border-radius:var(--rg-radius);transition:border-color .25s,transform .25s}
.product-miniature:hover .product-miniature__top{border-color:var(--rg-border-strong)}
.product-miniature__title,.product-miniature__title a{font-family:var(--rg-font);font-weight:600;color:var(--rg-text);text-decoration:none}
.product-miniature__price{font-family:var(--rg-caps);font-weight:600;letter-spacing:.06em;color:var(--rg-brand-2)}
.product-miniature__quickview-button{background:rgba(11,11,11,.86);color:var(--rg-text);font-family:var(--rg-caps);font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase}
.product-flags .badge{background:var(--rg-brand);color:#fff;border:0}
.product-flags .badge.discount{background:var(--rg-bg);border:1px solid var(--rg-brand-2);color:var(--rg-brand-2)}

/* Product page */
.product__name,.product__title{font-size:clamp(2rem,4vw,3.25rem)}
.product__current-price,.product__price,.current-price{font-family:var(--rg-caps);font-weight:600;color:var(--rg-brand-2);letter-spacing:.04em}

/* ---------- Section titles from modules (featured products, etc.) ---------- */
.section-title,.products-section-title{
  font-family:var(--rg-font);font-weight:600;font-size:clamp(1.75rem,3.4vw,2.5rem);letter-spacing:-.01em;text-transform:none
}

/* ---------- Footer ---------- */
.footer__before{background:var(--rg-bg);border-top:1px solid var(--rg-border)}
.footer__main{background:var(--rg-bg);color:var(--rg-text-2);border-top:1px solid var(--rg-border)}
.footer-block__title,.footer-block__title a{color:var(--rg-text);font-size:.6875rem;letter-spacing:.24em}
.footer-block a{color:var(--rg-text-2);text-decoration:none}
.footer-block a:hover{color:var(--rg-text)}
.copyright{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;border-top:1px solid var(--rg-border);margin-top:1.5rem;padding-top:2rem;text-align:left}
.copyright img{height:30px;width:auto}
.copyright p{margin:0;font-family:var(--rg-caps);font-size:.625rem;letter-spacing:.24em;text-transform:uppercase;color:var(--rg-text-3)}

/* Home hero: lnwkspages block, see assets/css/lnwkspages/hero.css */
