@font-face {
  font-family: "Playfair Display";
  src: url("../fonts/PlayfairDisplay.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --navy: #1A2B3C;
  --cream: #F9F7F2;
  --terracotta: #C86B53;
  --terracotta-dark: #A85640;
  --sage: #7A9E7E;
  --brass: #C5A059;
  --text: #2D3748;
  --light-gray: #E2E8F0;
  --white: #FFFFFF;
  --font-heading: 'Playfair Display', serif;
  --font-body: 'Inter', sans-serif;
  --shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
  --radius: 12px;
  --transition: all 0.3s ease;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: clip;
}

body {
  font-family: var(--font-body);
  color: var(--text);
  background-color: var(--cream);
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow-x: clip;
}

main {
  flex: 1 0 auto;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

h1, h2, h3, h4 {
  font-family: var(--font-heading);
  color: var(--navy);
  line-height: 1.2;
}

h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 20px;
}

h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  margin-bottom: 16px;
}

h3 {
  font-size: 1.4rem;
  margin-bottom: 12px;
}

p {
  margin-bottom: 16px;
}

a {
  text-decoration: none;
  color: inherit;
  transition: var(--transition);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

.btn {
  display: inline-block;
  padding: 14px 28px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  border: 2px solid transparent;
  transition: var(--transition);
  text-align: center;
}

.btn-header {
  background: var(--terracotta);
  color: var(--white);
  padding: 10px 20px;
  font-size: 0.9rem;
}

.btn-header:hover {
  background: var(--terracotta-dark);
  transform: translateY(-2px);
}

.btn-primary {
  background: linear-gradient(135deg, var(--sage), #5C8061);
  color: var(--white);
  box-shadow: var(--shadow-md);
}

.btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
}

header {
  background: rgba(249, 247, 242, 0.95);
  backdrop-filter: blur(10px);
  position: relative;
  z-index: 1000;
  border-bottom: 1px solid rgba(26, 43, 60, 0.05);
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  flex-wrap: wrap;
  gap: 12px;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  min-width: 0;
}

.header-notice {
  margin: 0;
  padding: 6px 14px;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--navy);
  background: rgba(197, 160, 89, 0.18);
  border: 1px solid var(--brass);
  border-radius: 6px;
  text-align: center;
  white-space: nowrap;
  flex-shrink: 0;
}

.logo a {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-heading);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--navy);
}

.logo img {
  border-radius: 50%;
  object-fit: cover;
}

.hero-article {
  padding: 60px 0 40px;
  background: linear-gradient(135deg, var(--cream) 0%, #EFECE5 100%);
}

.hero-content {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 40px;
}

.hero-tag {
  display: inline-block;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--sage);
  margin-bottom: 16px;
}

.hero-subtitle {
  font-size: 1.15rem;
  color: #4A5568;
  margin-bottom: 16px;
}

.hero-date {
  font-size: 0.9rem;
  color: #718096;
  font-style: italic;
}

.hero-image {
  max-width: 900px;
  margin: 0 auto;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  aspect-ratio: 16/9;
}

.hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

section {
  padding: 60px 0;
}

.intro-text {
  background: var(--white);
}

.intro-text p {
  font-size: 1.05rem;
  max-width: 800px;
  margin: 0 auto 16px;
  text-align: center;
}

.section-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 40px;
}

.tile-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  max-width: 1000px;
  margin: 0 auto;
  min-width: 0;
}

.tile-grid-years {
  grid-template-columns: repeat(8, 1fr);
  gap: 10px;
}

.tile {
  background: var(--terracotta);
  color: var(--white);
  padding: 16px 12px;
  border-radius: 8px;
  text-align: center;
  font-weight: 600;
  font-size: 0.95rem;
  transition: var(--transition);
  box-shadow: var(--shadow-sm);
}

.tile:hover {
  background: var(--terracotta-dark);
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.article-content {
  background: var(--white);
}

.article-grid {
  max-width: 800px;
  margin: 0 auto;
}

.article-text img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: var(--radius);
  margin: 24px 0;
  box-shadow: var(--shadow-md);
}

.steps-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  max-width: 800px;
  margin: 0 auto 40px;
  min-width: 0;
}

.step-card {
  background: var(--white);
  padding: 32px;
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  text-align: center;
}

.step-number {
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, var(--terracotta), var(--terracotta-dark));
  color: var(--white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 auto 20px;
}

.cta-center {
  text-align: center;
}

footer {
  background: var(--navy);
  color: rgba(255, 255, 255, 0.8);
  margin-top: auto;
  padding: 50px 0 24px;
  font-size: 0.95rem;
}

.footer-inner {
  display: grid;
  grid-template-columns: 2fr 1fr 1.5fr;
  gap: 40px;
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-col .logo a {
  color: var(--white);
  margin-bottom: 16px;
}

.footer-desc {
  margin-top: 16px;
  line-height: 1.7;
}

.footer-col h3 {
  color: var(--white);
  font-family: var(--font-body);
  font-size: 1.1rem;
  margin-bottom: 16px;
}

.footer-col ul {
  list-style: none;
}

.footer-col ul li {
  margin-bottom: 10px;
}

.footer-col ul li a:hover {
  color: var(--brass);
}

.contact-list li {
  line-height: 1.6;
}

.footer-bottom {
  padding-top: 24px;
}

.footer-bottom-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 24px;
  padding: 24px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
}

.footer-bottom-col h4 {
  color: var(--white);
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.footer-bottom-col .disclaimer {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.6;
  margin-bottom: 0;
}

.references-list {
  list-style: none;
  padding: 0;
}

.references-list li {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 8px;
  line-height: 1.5;
}

.references-list a {
  color: rgba(255,255,255,.86);
  text-decoration: underline;
  text-decoration-color: rgba(255,255,255,.3);
  text-underline-offset: 3px;
}
.references-list a:hover {
  color: var(--brass);
}
.references-list span {
  color: rgba(255,255,255,.56);
}

.copyright {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.quiz-main {
  padding: 50px 0;
}

.quiz-container {
  max-width: 800px;
  background: var(--white);
  padding: 40px;
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
}

.quiz-header {
  text-align: center;
  margin-bottom: 32px;
}

.progress-bar {
  width: 100%;
  height: 8px;
  background: var(--light-gray);
  border-radius: 4px;
  margin-top: 20px;
  overflow: hidden;
}

.progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--sage), var(--brass));
  width: 0%;
  transition: width 0.4s ease;
}

.quiz-step {
  display: none;
}

.quiz-step.active {
  display: block;
  animation: fadeIn 0.4s ease;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.options-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin: 24px 0;
}

.option-card {
  position: relative;
  cursor: pointer;
}

.option-card input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.option-card span {
  display: block;
  padding: 18px;
  background: var(--cream);
  border: 2px solid transparent;
  border-radius: 8px;
  text-align: center;
  font-weight: 500;
  transition: var(--transition);
}

.option-card input:checked + span {
  border-color: var(--sage);
  background: rgba(122, 158, 126, 0.1);
  color: var(--navy);
}

.quiz-nav {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 24px;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 24px 0;
}

.form-group-full {
  grid-column: 1 / -1;
}

.form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: var(--navy);
}

.form-group input,
.form-group select {
  width: 100%;
  max-width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--light-gray);
  border-radius: 8px;
  font-size: 1rem;
  transition: var(--transition);
}

.form-group input:focus {
  outline: none;
  border-color: var(--sage);
  box-shadow: 0 0 0 3px rgba(122, 158, 126, 0.2);
}

.checkbox-label {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}

.checkbox-label input {
  width: auto;
  margin: 0;
}

.thanks-main {
  padding: 60px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.thanks-container {
  text-align: center;
  max-width: 600px;
  background: var(--white);
  padding: 50px 32px;
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
}

.thanks-logo {
  margin: 0 auto 20px;
  border-radius: 50%;
}

.legal-content {
  max-width: 800px;
  margin: 0 auto;
  padding: 50px 24px;
  word-break: break-word;
}

.legal-content h1 {
  margin-bottom: 12px;
}

.legal-content h2 {
  margin-top: 28px;
  font-size: 1.5rem;
}

.legal-content p, .legal-content li {
  margin-bottom: 12px;
  line-height: 1.7;
}

.legal-content ul {
  padding-left: 24px;
  margin-bottom: 16px;
}

[data-aos="fade-right"]:not(.aos-animate) {
  transform: translate3d(-32px, 0, 0) !important;
}

[data-aos="fade-left"]:not(.aos-animate) {
  transform: translate3d(32px, 0, 0) !important;
}

@media (max-width: 900px) {
  [data-aos] {
    transform: none !important;
    opacity: 1 !important;
    transition: none !important;
  }

  .hero-content,
  .hero-image,
  .article-text,
  .steps-grid > *,
  .store-hero-grid > *,
  .shopping-guide-grid > *,
  .cart-layout > *,
  .checkout-layout > *,
  .footer-inner > * {
    min-width: 0;
    max-width: 100%;
  }
}

@media (max-width: 992px) {
  .tile-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .tile-grid-years {
    grid-template-columns: repeat(6, 1fr);
  }
  .steps-grid {
    grid-template-columns: 1fr;
  }
  .footer-inner {
    grid-template-columns: 1fr 1fr;
  }
  .footer-bottom-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

@media (max-width: 768px) {
  section {
    padding: 40px 0;
  }
  .hero-article {
    padding: 40px 0 30px;
  }
  .tile-grid, .tile-grid-years {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .options-grid, .form-grid {
    grid-template-columns: 1fr;
  }
  .footer-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .footer-bottom-grid {
    padding: 16px;
  }
  .quiz-container {
    padding: 24px 20px;
  }
  .quiz-nav {
    flex-direction: column-reverse;
  }
  .quiz-nav .btn {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .header-inner {
    justify-content: center;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .logo {
    display: flex;
    justify-content: center;
    width: 100%;
  }

  .logo a {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .logo a span {
    word-break: break-all;
    min-width: 0;
    flex: 1;
  }

  .header-actions {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
  }

  .header-link {
    flex: 1;
    width: auto;
    min-width: 0;
    text-align: center;
  }

  .btn-header {
    flex: 1;
    width: auto;
    max-width: 100%;
    text-align: center;
    justify-content: center;
  }

  .cart-link {
    display: flex;
    justify-content: space-between;
  }

  .header-notice {
    width: 100%;
    max-width: 100%;
    word-break: break-all;
    white-space: normal;
  }

  .footer-col {
    word-break: break-all;
  }
}

@media (max-width: 480px) {
  .container {
    padding: 0 16px;
  }

  .quiz-container {
    padding: 20px 16px;
  }

  .thanks-container {
    padding: 32px 20px;
  }

  .legal-content {
    padding: 32px 16px;
  }

  .commerce-main {
    padding: 32px 0 48px;
  }

  .cart-panel, .checkout-panel, .order-summary {
    padding: 18px 14px;
  }

  .product-card-body {
    padding: 18px 16px;
  }

  h1,
  .store-hero-copy h1 {
    font-size: clamp(1.6rem, 6vw, 2rem);
  }

  h2 {
    font-size: clamp(1.3rem, 5vw, 1.6rem);
  }

  .btn {
    padding: 12px 20px;
    font-size: 0.9rem;
    max-width: 100%;
  }

  .tile {
    font-size: 0.85rem;
    padding: 12px 8px;
  }
}

/* Store and commerce extensions */
.header-link { font-weight: 600; color: var(--navy); padding: 10px 4px; }
.header-link:hover { color: var(--terracotta); }
.cart-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; }
.cart-count { min-width: 24px; height: 24px; padding: 0 6px; border-radius: 50px; background: var(--white); color: var(--navy); display: inline-flex; align-items: center; justify-content: center; font-size: .78rem; }
.btn-outline { background: transparent; border-color: var(--navy); color: var(--navy); }
.btn-outline:hover { background: var(--navy); color: var(--white); transform: translateY(-2px); }
.btn-block { width: 100%; display: block; }
#checkoutButton { margin-top: 18px; }
.text-link { color: var(--terracotta-dark); font-weight: 600; display: inline-block; margin-top: 18px; }
.eyebrow { display: inline-block; color: var(--terracotta-dark); font-weight: 700; text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; margin-bottom: 12px; }
.store-hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 56px; align-items: center; }
.store-hero-grid > *, .shopping-guide-grid > *, .cart-layout > *, .checkout-layout > *, .footer-inner > * { min-width: 0; max-width: 100%; }
.store-hero-copy { text-align: left; max-width: none; margin: 0; }
.store-hero-copy h1 { font-size: clamp(2.5rem, 5vw, 4.4rem); }
.store-hero-image { margin: 0; max-width: none; aspect-ratio: 4/4.3; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 26px; }
.trust-strip { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 28px; }
.trust-strip span { padding: 8px 12px; border: 1px solid rgba(26,43,60,.12); border-radius: 999px; background: rgba(255,255,255,.55); font-size: .83rem; font-weight: 600; color: var(--navy); }
.shop-section { background: var(--white); }
.product-grid { display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:28px; align-items:stretch; }
.product-card { grid-column:span 2; border:1px solid rgba(26,43,60,.09); background:var(--cream); overflow:hidden; border-radius:var(--radius); box-shadow:var(--shadow-sm); transition:var(--transition); display:flex; flex-direction:column; min-width:0; height:100%; }
.product-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.product-image { aspect-ratio: 4/3; overflow: hidden; background: #ebe6dd; }
.product-image img { width:100%; height:100%; object-fit:cover; }
.product-card-body { padding: 28px; display: flex; flex-direction: column; flex:1; }
.product-kicker { color: var(--sage); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 8px; }
.product-card-body h3 { min-height: 2.4em; }
.product-card-body > p { min-height: 4.8em; }
.product-specs { margin: 6px 0 24px 18px; color: #4A5568; min-height: 5.2em; }
.product-specs li { margin-bottom: 6px; }
.product-buy { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: auto; padding-top: 18px; border-top: 1px solid rgba(26,43,60,.1); }
.product-price { display:flex; flex-direction:column; gap:2px; flex-shrink:0; }
.product-price-amount { font-family: var(--font-heading); color: var(--navy); font-size: 1.7rem; line-height:1.1; }
.product-price-tax { color:#687482; font-size:.78rem; font-weight:600; letter-spacing:.02em; }
.product-card:nth-child(4) { grid-column:2 / span 2; }
.product-card:nth-child(5) { grid-column:4 / span 2; }
.shopping-guide { background: var(--navy); color: rgba(255,255,255,.83); }
.shopping-guide h2 { color: var(--white); }
.shopping-guide .eyebrow { color: var(--brass); }
.shopping-guide .btn-outline { border-color: rgba(255,255,255,.7); color: var(--white); }
.shopping-guide .btn-outline:hover { background: var(--white); color: var(--navy); }
.shopping-guide-grid { display:grid; grid-template-columns: .9fr 1.1fr; gap:56px; align-items:center; }
.guide-image { aspect-ratio: 4/3; overflow:hidden; border-radius:var(--radius); }
.guide-image img { width:100%; height:100%; object-fit:cover; }
.steps-grid-three { grid-template-columns: repeat(3, 1fr); max-width: none; }
.commerce-main { padding: 64px 0 90px; }
.commerce-shell { max-width: 1180px; }
.commerce-heading { max-width: 760px; margin-bottom: 34px; }
.cart-layout, .checkout-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(300px,.65fr); gap: 30px; align-items: start; }
.cart-panel, .checkout-panel, .order-summary { background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow-sm); border: 1px solid rgba(26,43,60,.08); }
.cart-panel, .checkout-panel { padding: 28px; }
.order-summary { padding: 26px; position: sticky; top: 104px; }
.cart-row { display:grid; grid-template-columns: 120px 1fr auto; gap:22px; align-items:center; padding:20px 0; border-bottom:1px solid var(--light-gray); }
.cart-row:first-child { padding-top:0; }
.cart-row:last-child { border-bottom:0; }
.cart-row-image { width:120px; height:100px; overflow:hidden; border-radius:8px; background:#ebe6dd; }
.cart-row-image img { width:100%; height:100%; object-fit:cover; }
.cart-row h3 { margin-bottom:5px; }
.cart-row-price { color:var(--navy); font-weight:700; }
.qty-controls { display:flex; align-items:center; gap:8px; margin-top:12px; }
.qty-btn { width:34px; height:34px; border-radius:50%; border:1px solid var(--light-gray); background:var(--cream); cursor:pointer; font-weight:700; }
.remove-btn { border:0; background:transparent; color:var(--terracotta-dark); cursor:pointer; font-weight:600; margin-top:10px; }
.line-total { font-family:var(--font-heading); color:var(--navy); font-size:1.25rem; }
.summary-row, .summary-total { display:flex; justify-content:space-between; gap:20px; padding:13px 0; border-bottom:1px solid var(--light-gray); }
.summary-row strong { text-align:right; }
.summary-total { font-size:1.15rem; border-bottom:0; padding:20px 0; }
.summary-total strong { font-size:1.4rem; color:var(--navy); }
.empty-state { text-align:center; padding:42px 20px; }
.checkout-subheading { margin-top:34px; }
.checkout-form-grid { margin-top:18px; }
.checkout-panel input[type="text"], .checkout-panel input[type="email"], .checkout-panel input[type="tel"], .checkout-panel select { background:var(--cream); }
.checkout-panel select { width:100%; max-width:100%; padding:12px 14px; border:1px solid var(--medium-gray); border-radius:var(--radius-sm); font:inherit; color:var(--text); min-height:48px; }
.checkout-panel select:focus { outline:2px solid var(--gold); outline-offset:2px; border-color:var(--navy); }
.payment-intro { color:#5f6b78; }
.payment-options { display:grid; grid-template-columns:1fr; gap:12px; margin:18px 0 22px; }
.payment-card { display:flex; align-items:flex-start; gap:14px; padding:16px; border:1px solid var(--light-gray); border-radius:10px; cursor:pointer; background:var(--cream); transition:var(--transition); }
.payment-card:hover { border-color:var(--sage); }
.payment-card input { margin-top:4px; accent-color:var(--sage); }
.payment-card span { display:flex; flex-direction:column; }
.payment-card small { color:#67727f; margin-top:3px; }
.checkout-consent { margin:24px 0; align-items:flex-start; }
.checkout-summary-item { padding:12px 0; border-bottom:1px solid var(--light-gray); }
.checkout-summary-item strong { display:block; color:var(--navy); }
.checkout-summary-item span { font-size:.9rem; color:#687482; }
.summary-note { font-size:.85rem; color:#687482; margin-bottom:0; }
.expanded-thanks { align-items:flex-start; }
.expanded-thanks .thanks-container { max-width:1080px; text-align:left; }
.expanded-thanks .thanks-container > h1, .expanded-thanks .thanks-container > p, .expanded-thanks .thanks-container > .eyebrow { max-width:760px; }
.thanks-next { margin-top:38px; }
.thanks-contact-box { margin-top:34px; padding:26px; background:var(--cream); border-left:4px solid var(--sage); }
.cookie-banner { position:fixed; left:20px; right:20px; bottom:20px; z-index:2000; max-width:920px; margin:auto; background:var(--navy); color:rgba(255,255,255,.88); padding:18px 20px; border-radius:12px; box-shadow:var(--shadow-lg); display:flex; align-items:center; justify-content:space-between; gap:20px; }
.cookie-banner p { margin:0; font-size:.9rem; }
.cookie-banner a { color:var(--brass); text-decoration:underline; }
.cookie-actions { display:flex; gap:10px; flex-shrink:0; }
.cookie-actions button { border:0; border-radius:999px; padding:10px 16px; font-weight:700; cursor:pointer; }
.cookie-accept { background:var(--terracotta); color:var(--white); }
.cookie-decline { background:rgba(255,255,255,.12); color:var(--white); }
.toast { position:fixed; right:24px; bottom:24px; z-index:2100; background:var(--navy); color:var(--white); padding:14px 18px; border-radius:10px; box-shadow:var(--shadow-lg); opacity:0; transform:translateY(12px); pointer-events:none; transition:.25s ease; }
.toast.show { opacity:1; transform:translateY(0); }
@media (max-width: 900px) {
  .store-hero-grid, .shopping-guide-grid, .cart-layout, .checkout-layout { grid-template-columns:1fr; }
  .store-hero-copy { text-align:center; }
  .hero-actions, .trust-strip { justify-content:center; }
  .product-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .product-card, .product-card:nth-child(4) { grid-column:auto; }
  .product-card:nth-child(5) { grid-column:1 / -1; width:calc(50% - 14px); justify-self:center; }
  .order-summary { position:static; }
  .steps-grid-three { grid-template-columns:1fr; }
}
@media (max-width: 700px) {
  .product-grid { grid-template-columns:1fr; }
  .product-card, .product-card:nth-child(4), .product-card:nth-child(5) { grid-column:auto; width:100%; }
  .product-buy { align-items:flex-start; flex-direction:column; }
  .product-buy .btn { width:100%; }
  .cart-row { display:flex; flex-direction:column; align-items:flex-start; }
  .cart-row-image { width:100%; height:auto; aspect-ratio:4/3; }
  .line-total { width:100%; }
  .cookie-banner { flex-direction:column; align-items:flex-start; left:12px; right:12px; bottom:12px; }
  .cookie-actions { width:100%; }
  .cookie-actions button { flex:1; }
}

.thanks-detail-panel { margin-top: 38px; padding: 32px; background: var(--white); border: 1px solid rgba(26,43,60,.08); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.thanks-detail-panel > h2 { max-width: 760px; margin-bottom: 24px; }
.thanks-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.thanks-detail-item { padding: 22px; background: var(--cream); border-top: 3px solid var(--sage); }
.thanks-detail-item h3 { margin-bottom: 8px; font-size: 1.15rem; }
.thanks-detail-item p { margin-bottom: 0; color: #5f6b78; }
.thanks-detail-note { margin: 22px 0 0; padding-top: 20px; border-top: 1px solid var(--light-gray); color: #5f6b78; }
@media (max-width: 700px) { .thanks-detail-grid { grid-template-columns: 1fr; } .thanks-detail-panel { padding: 24px 18px; } }
