/* ==========================================================================
   LIFESTYLE REI · BRAND OVERRIDES
   Source: Lifestyle REI Brand & Voice Guidelines v1.0 (October 2026)
   Colors: black #000000, yellow #FEED00, white #FFFFFF, grays #888888 / #CCCCCC
   Fonts: Barlow Condensed 800 (display), Barlow 500/700 (body, labels)
   Theme settings (settings_data.json) carry the base values. This file adds
   the parts the theme settings cannot express: weights, caps, the grid
   texture, the ticker, check badges, and the callout bar.
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@500;700&family=Barlow+Condensed:wght@800&display=swap");

:root {
  --lrei-black: #000000;
  --lrei-yellow: #FEED00;
  --lrei-white: #FFFFFF;
  --lrei-gray: #888888;
  --lrei-light-gray: #CCCCCC;
  --lrei-display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --lrei-body: "Barlow", system-ui, sans-serif;
}

/* ---------- Base type ---------- */
#encore-theme {
  font-family: var(--lrei-body);
  font-weight: 500;
}

/* Headlines shout: Barlow Condensed 800, always caps, line height 0.9 */
#encore-theme h1,
#encore-theme h2,
#encore-theme h3,
#encore-theme h4,
#encore-theme .h1,
#encore-theme .h2,
#encore-theme .h3,
#encore-theme .h4 {
  font-family: var(--lrei-display);
  font-weight: 800;
  text-transform: uppercase;
  line-height: 0.9;
  letter-spacing: 0;
}
#encore-theme h5,
#encore-theme .h5 {
  font-family: var(--lrei-display);
  font-weight: 800;
  line-height: 1;
}

/* Eyebrow (H6): Barlow 700, caps, tracked, 12px */
#encore-theme h6,
#encore-theme .h6 {
  font-family: var(--lrei-body);
  font-weight: 700;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
/* Eyebrow color: yellow on black, black on yellow and white */
#encore-theme .section.background-dark h6 { color: var(--lrei-yellow); }
#encore-theme .section.background-light h6 { color: var(--lrei-black); }

/* Body copy talks: sentence case, Barlow 500 */
#encore-theme p,
#encore-theme li {
  font-family: var(--lrei-body);
  font-weight: 500;
  text-transform: none;
}

/* ---------- Buttons: square, no shadow, Barlow 18px ---------- */
#encore-theme .btn,
#encore-theme .form-btn {
  font-family: var(--lrei-body);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  border-radius: 0;
  box-shadow: none;
  background-color: var(--lrei-black);
  border: 2px solid var(--lrei-black);
  color: var(--lrei-yellow);
}
#encore-theme .btn:hover,
#encore-theme .form-btn:hover {
  filter: none;
  background-color: var(--lrei-yellow);
  color: var(--lrei-black);
}
/* On dark sections the button flips: yellow with black text */
#encore-theme .section.background-dark .btn,
#encore-theme .section.background-dark .form-btn {
  background-color: var(--lrei-yellow);
  border-color: var(--lrei-yellow);
  color: var(--lrei-black);
}
#encore-theme .section.background-dark .btn:hover,
#encore-theme .section.background-dark .form-btn:hover {
  background-color: var(--lrei-white);
  border-color: var(--lrei-white);
  color: var(--lrei-black);
}

/* ---------- Grid texture on yellow sections: black lines at 8%, 28px ---------- */
#section-1794185072001 .section__overlay,
#section-1772152277601 .section__overlay {
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 0, 0, 0.08) 1px, transparent 1px);
  background-size: 28px 28px;
}

/* ---------- Chunky numerals: Barlow Condensed 800, yellow, soft gray shadow ---------- */
#encore-theme .mlynn-number-chunky {
  font-family: var(--lrei-display);
  font-weight: 800;
  font-size: 64px;
  line-height: 0.9;
  text-transform: uppercase;
  color: var(--lrei-yellow);
  text-shadow: 3px 3px 0 rgba(136, 136, 136, 0.55);
  margin: 0 0 8px;
}
@media (min-width: 768px) {
  #encore-theme .mlynn-number-chunky { font-size: 88px; }
}

/* ---------- Callout bar: 8px yellow bar, bold statement ---------- */
#encore-theme blockquote {
  font-family: var(--lrei-display);
  font-weight: 800;
  font-size: 30px;
  line-height: 0.95;
  text-transform: uppercase;
  margin: 28px 0 0;
  padding: 4px 0 4px 20px;
  border-left: 8px solid var(--lrei-yellow);
}
#encore-theme blockquote p {
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  text-transform: inherit;
  margin: 0;
}

/* ---------- Check badges for lists ---------- */
#encore-theme .block-type--text ul,
#encore-theme .feature__text ul {
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
}
#encore-theme .block-type--text ul li,
#encore-theme .feature__text ul li {
  position: relative;
  padding-left: 42px;
  margin-bottom: 14px;
  min-height: 28px;
}
#encore-theme .block-type--text ul li::before,
#encore-theme .feature__text ul li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 1px;
  width: 28px;
  height: 28px;
  line-height: 24px;
  text-align: center;
  font-family: var(--lrei-body);
  font-size: 15px;
  font-weight: 700;
  color: var(--lrei-black);
  background: var(--lrei-yellow);
  border: 2px solid var(--lrei-black);
}
#encore-theme .section.background-dark .block-type--text ul li::before {
  border-color: var(--lrei-yellow);
}

/* ---------- Hero: kicker badge, headline, proof strip ---------- */
#encore-theme #section-1772149975410 h6 {
  display: inline-block;
  background: var(--lrei-yellow);
  color: var(--lrei-black);
  padding: 8px 14px;
  margin-bottom: 26px;
}
#encore-theme #section-1772149975410 h1 {
  margin-bottom: 24px;
}
#encore-theme #section-1772149975410 p {
  max-width: 36em;
  font-size: 20px;
  color: var(--lrei-white);
}
#encore-theme #section-1772149975410 .mlynn-number-chunky {
  max-width: none;
  font-size: 64px;
  color: var(--lrei-yellow);
}
@media (min-width: 768px) {
  #encore-theme #section-1772149975410 .mlynn-number-chunky { font-size: 88px; }
}
#encore-theme #section-1772149975410 .col-4 h6 {
  display: block;
  background: transparent;
  color: var(--lrei-white);
  padding: 0;
  margin: 0;
  letter-spacing: 0.14em;
}

/* ---------- Ticker strip (REAL DEALS • REAL ANSWERS • NO HYPE • CONFIDENCE) ---------- */
#section-1794185072001 .block { padding: 0; border: 0; }
#section-1794185072001,
#section-1794185072001 .sizer { overflow: hidden; }
#section-1794185072001 [class*="col-"] { min-width: 0; max-width: 100%; }
#encore-theme .mlynn-ticker {
  overflow: hidden;
  white-space: nowrap;
  padding: 16px 0 14px;
}
#encore-theme .mlynn-ticker__track {
  display: inline-flex;
  animation: mlynn-ticker 40s linear infinite;
  will-change: transform;
}
#encore-theme .mlynn-ticker__item {
  font-family: var(--lrei-display);
  font-weight: 800;
  font-size: 26px;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--lrei-black);
  padding: 0 26px;
}
#encore-theme .mlynn-ticker__item::after {
  content: "\2022";
  padding-left: 52px;
}
@keyframes mlynn-ticker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  #encore-theme .mlynn-ticker__track { animation: none; }
}

/* ---------- Checkout section ---------- */
#encore-theme #section-1744906803654 h2 {
  font-size: 44px;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  #encore-theme #section-1744906803654 h2 { font-size: 64px; }
}
#encore-theme #section-1744906803654 .block-type--text p {
  font-size: 18px;
  line-height: 1.6;
}

/* The checkout form card: square, bordered, no shadow, Barlow throughout */
#encore-theme .kjb-embedded-checkout,
#encore-theme .kjb-embedded-checkout input,
#encore-theme .kjb-embedded-checkout select,
#encore-theme .kjb-embedded-checkout button,
#encore-theme .kjb-embedded-checkout textarea {
  font-family: var(--lrei-body);
}
#encore-theme .kjb-embedded-checkout input,
#encore-theme .kjb-embedded-checkout select,
#encore-theme .kjb-embedded-checkout textarea {
  border-radius: 0;
}
#encore-theme .kjb-embedded-checkout button,
#encore-theme .kjb-embedded-checkout [type="submit"] {
  border-radius: 0;
  box-shadow: none;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  color: var(--lrei-yellow) !important;
}

/* Eyebrow inside any black card sits in yellow, even on a white section */
#encore-theme .section .block.background-dark h6 { color: var(--lrei-yellow); }

/* Quote card inside the checkout column: black card, white type, 8px yellow bar */
#encore-theme .block-type--feature .block.background-dark {
  border-left: 8px solid var(--lrei-yellow);
}
#encore-theme .block-type--feature .feature__text h4 {
  font-size: 26px;
  margin-bottom: 18px;
}
#encore-theme .block-type--feature .feature__text h6 {
  margin: 0;
}

/* ---------- FAQ accordion: hairline, clean ---------- */
#encore-theme .accordion {
  border-radius: 0;
  box-shadow: none;
  padding: 18px 22px;
}
#encore-theme .accordion .accordion-title h5 {
  font-family: var(--lrei-body);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  text-transform: none;
  color: var(--lrei-black);
}
#encore-theme .accordion .accordion-title::after {
  color: var(--lrei-black);
}
#encore-theme .accordion .accordion-body p {
  margin: 0 0 12px;
}

/* ---------- Testimonial section (yellow, grid texture, white cards) ---------- */
#encore-theme #section-1772152277601 .block-type--feature .block {
  border-left: 8px solid var(--lrei-black);
}
#encore-theme #section-1772152277601 .feature__text h4 {
  font-size: 26px;
  margin-bottom: 18px;
}
#encore-theme #section-1772152277601 .feature__text h6 {
  margin: 0;
}
#encore-theme #section-1772152277601 h3 {
  font-size: 40px;
}
@media (min-width: 768px) {
  #encore-theme #section-1772152277601 h3 { font-size: 56px; }
}
