.root,
:root {
  color-scheme: light only;
}

html,
body,
.site-header,
.hero,
.intro,
.starter-kit,
.resources,
.about,
.faq,
.community {
  forced-color-adjust: none;
}

.footer-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 18px;
  font-size: 13px;
}

.footer-legal a {
  color: #f3ddd2;
  text-decoration: underline;
  text-decoration-color: rgba(243, 221, 210, .35);
  text-underline-offset: 4px;
}

.footer-legal a:hover {
  color: #fff;
}

.legal-page {
  background: #fffdf8;
}

.legal-header {
  position: static;
}

.legal-main {
  max-width: 980px;
  margin: 0 auto;
  padding: 72px clamp(20px, 6vw, 76px) 96px;
}

.legal-hero {
  margin-bottom: 44px;
  padding-bottom: 34px;
  border-bottom: 1px solid #eadbc7;
}

.legal-hero h1 {
  max-width: 820px;
  margin: 0;
  color: var(--chocolate);
  font-family: "Playfair Display", serif;
  font-size: clamp(42px, 6vw, 70px);
  line-height: 1.05;
  letter-spacing: -.025em;
}

.legal-hero p {
  max-width: 760px;
  margin: 20px 0 0;
  color: var(--muted);
  font-size: 17px;
}

.legal-updated {
  display: inline-block;
  margin-top: 20px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #faecd3;
  color: #70402a;
  font-size: 12px;
  font-weight: 700;
}

.legal-content {
  color: #4d362d;
}

.legal-content section {
  margin: 0 0 34px;
}

.legal-content h2 {
  margin: 0 0 12px;
  color: var(--chocolate);
  font-family: "Playfair Display", serif;
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.15;
}

.legal-content p,
.legal-content li {
  font-size: 16px;
}

.legal-content ul {
  padding-left: 22px;
}

.legal-content a {
  color: #9b551d;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.legal-note {
  padding: 20px 22px;
  border-left: 4px solid var(--caramel);
  border-radius: 0 14px 14px 0;
  background: #fff3dd;
}

.legal-footer {
  grid-template-columns: 1fr auto;
}

.legal-footer .footer-legal {
  justify-content: flex-end;
}

@media (max-width: 720px) {
  .legal-header {
    height: auto;
    padding: 14px 20px;
  }

  .legal-main {
    padding-top: 52px;
  }

  .legal-footer {
    grid-template-columns: 1fr;
    text-align: left;
  }

  .legal-footer .footer-legal {
    justify-content: flex-start;
  }
}

.hero-image {
  background-image: url("assets/hero-mde.webp");
}

.soon,
.status-pill {
  display: inline-flex !important;
  width: fit-content;
  padding: 7px 12px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  opacity: .78;
}

.light-pill {
  color: #f9e7d5;
}

.recipe-card.berry {
  background: linear-gradient(145deg, #9b3f4f, #6f2638);
  color: #fff8ef;
}

.recipe-card.honey {
  background: linear-gradient(145deg, #f2c56e, #dda041);
  color: #32170c;
}

.recipe-card.mocha {
  background: linear-gradient(145deg, #b98263, #80503b);
  color: #fffaf4;
}

.recipe-card.savory {
  background: linear-gradient(145deg, #73744c, #4e5031);
  color: #fffaf0;
}

.resources-copy .ebook-link {
  margin: 0;
  border: 0;
  opacity: 1;
  transition: transform .2s, box-shadow .2s;
}

.product-link-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.resources-copy .ebook-link {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 84px;
  padding: 9px 14px 9px 9px;
  border-radius: 16px;
  font-size: 13px;
  line-height: 1.3;
}

.ebook-link > img,
.cover-placeholder {
  width: 58px;
  height: 66px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .24);
  object-fit: contain;
}

.cover-placeholder {
  display: grid;
  place-items: center;
  font-family: "Playfair Display", serif;
  font-weight: 700;
}

.resources-copy .ebook-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(58, 23, 13, .16);
}

.ebook-cacao { background: #542313; color: #fff8ef; }
.ebook-caramel { background: #c77925; color: #fff; }
.ebook-berry { background: #8d3548; color: #fff; }
.ebook-honey { background: #efbf68; color: #32170c; }
.ebook-plum { background: #684052; color: #fff; }
.ebook-mocha { background: #986348; color: #fff; }

.category-hub {
  padding-top: 70px;
  padding-bottom: 70px;
  background: #fff7e9;
}

.category-intro {
  max-width: 760px;
}

.category-intro p {
  color: var(--muted);
  font-size: 18px;
}

.category-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 30px 0 36px;
}

.category-filter {
  border: 1px solid #d9b98d;
  border-radius: 999px;
  padding: 11px 17px;
  background: #fffdf8;
  color: #542313;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .2s, background .2s, color .2s;
}

.category-filter:hover {
  transform: translateY(-2px);
}

.category-filter.active {
  background: #542313;
  border-color: #542313;
  color: #fff8ef;
}

.affiliate-preview {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 30px;
  align-items: center;
  padding: 25px 28px;
  border-radius: 22px;
  background: linear-gradient(135deg, #3a170d, #70402a);
  color: #fff8ef;
}

.affiliate-preview h3 {
  margin: 0 0 7px;
  font-family: "Playfair Display", serif;
  font-size: 27px;
  line-height: 1.15;
}

.affiliate-preview p {
  margin: 0;
  color: #eadbd4;
}

.affiliate-label {
  padding: 8px 13px;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.affiliate-show-all {
  appearance: none;
  background: rgba(255, 255, 255, .08);
  color: #fff8ef;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}

.affiliate-show-all:hover,
.affiliate-show-all:focus-visible {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, .18);
  border-color: rgba(255, 255, 255, .7);
}

.affiliate-show-all:focus-visible {
  outline: 3px solid #f4c266;
  outline-offset: 3px;
}

.affiliate-tools {
  background: linear-gradient(180deg, #fffdf8 0%, #fff7e9 100%);
}

.affiliate-heading {
  align-items: center;
}

.affiliate-heading p {
  max-width: 680px;
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 17px;
}

.affiliate-market {
  padding: 9px 14px;
  border: 1px solid #d9b98d;
  border-radius: 999px;
  color: #70402a;
  background: #fff;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.affiliate-disclosure {
  margin: -14px 0 28px;
  padding: 14px 18px;
  border-left: 4px solid var(--caramel);
  border-radius: 0 12px 12px 0;
  background: #faecd3;
  color: #5d463c;
  font-size: 13px;
}

.affiliate-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.affiliate-card {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 15px;
  align-items: center;
  min-height: 142px;
  padding: 21px;
  border: 1px solid #eadbc7;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(77, 36, 18, .07);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.affiliate-card:hover {
  transform: translateY(-3px);
  border-color: #d4aa72;
  box-shadow: 0 14px 30px rgba(77, 36, 18, .12);
}

.affiliate-card .tool-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: #faecd3;
  color: var(--caramel);
  font-family: "Playfair Display", serif;
  font-size: 25px;
  font-weight: 700;
}

.affiliate-card small,
.affiliate-card strong,
.affiliate-card em {
  display: block;
}

.affiliate-card small {
  margin-bottom: 3px;
  color: var(--caramel);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.affiliate-card strong {
  color: var(--chocolate);
  font-family: "Playfair Display", serif;
  font-size: 21px;
  line-height: 1.15;
}

.affiliate-card em {
  margin-top: 11px;
  color: #70402a;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
}

@media (max-width: 920px) {
  .affiliate-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .affiliate-heading {
    align-items: flex-start;
  }

  .affiliate-market {
    white-space: normal;
  }

  .affiliate-grid {
    grid-template-columns: 1fr;
  }

  .affiliate-card {
    min-height: 126px;
  }
}

.feedback {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(420px, 1.2fr);
  gap: clamp(45px, 8vw, 110px);
  align-items: start;
  background: #fff8ec;
}

.feedback-intro p {
  max-width: 560px;
  color: var(--muted);
  font-size: 17px;
}

.feedback-form {
  display: grid;
  gap: 22px;
  padding: clamp(25px, 4vw, 42px);
  border: 1px solid #ead5b7;
  border-radius: 28px;
  background: #fffdf8;
  box-shadow: 0 18px 42px rgba(67, 31, 14, .09);
}

.feedback-form fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

.feedback-form legend,
.feedback-field > span {
  display: block;
  margin-bottom: 10px;
  color: #4c2415;
  font-size: 14px;
  font-weight: 700;
}

.rating-options {
  display: flex;
  gap: 10px;
}

.rating-options label {
  display: grid;
  place-items: center;
  width: 54px;
  height: 58px;
  border: 1px solid #dfc8a8;
  border-radius: 15px;
  background: #fff8ec;
  color: #bc9663;
  cursor: pointer;
  transition: transform .2s ease, color .2s ease, background .2s ease, border-color .2s ease;
}

.rating-options label span { font-size: 24px; line-height: 1; }
.rating-options label small { margin-top: 2px; font-size: 10px; }
.rating-options label:hover { transform: translateY(-2px); color: #d78b38; }
.rating-options input:checked + label {
  border-color: #c77925;
  background: #fae2ba;
  color: #9a501b;
  box-shadow: 0 7px 16px rgba(126, 70, 25, .14);
}
.rating-options input:focus-visible + label { outline: 3px solid #e5ad61; outline-offset: 3px; }

.feedback-field textarea {
  width: 100%;
  resize: vertical;
  min-height: 92px;
  padding: 14px 16px;
  border: 1px solid #ddc9ae;
  border-radius: 15px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.feedback-field textarea:focus {
  outline: 3px solid rgba(229, 173, 97, .32);
  border-color: #c77925;
}

.feedback-form .button { width: fit-content; border: 0; cursor: pointer; }
.feedback-note { margin: -10px 0 0; color: var(--muted); font-size: 12px; }

@media (max-width: 850px) {
  .feedback { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .feedback-form { padding: 22px 18px; border-radius: 22px; }
  .rating-options { justify-content: space-between; gap: 6px; }
  .rating-options label { width: 48px; height: 54px; }
  .feedback-form .button { width: 100%; min-height: 48px; }
}

/* Portada editorial y comercial: temporada, confianza y categorías visuales */
.seasonal-feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .92fr);
  gap: clamp(42px, 7vw, 96px);
  align-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 85% 20%, rgba(229, 173, 97, .28), transparent 30%),
    linear-gradient(135deg, #fffdf8 0%, #fff1d8 55%, #f7dba8 100%);
}

.seasonal-copy h2 {
  max-width: 720px;
  color: #401b10;
}

.seasonal-copy > p {
  max-width: 650px;
  margin: 24px 0 30px;
  color: #655047;
  font-size: 18px;
}

.seasonal-covers {
  min-height: 520px;
  position: relative;
}

.seasonal-covers a {
  position: absolute;
  width: min(52%, 300px);
  transition: transform .25s ease, filter .25s ease;
}

.seasonal-covers a:first-child {
  left: 3%;
  top: 15px;
  z-index: 2;
  transform: rotate(-4deg);
}

.seasonal-covers a:last-child {
  right: 2%;
  bottom: 5px;
  transform: rotate(5deg);
}

.seasonal-covers a:hover,
.seasonal-covers a:focus-visible {
  z-index: 3;
  transform: translateY(-8px) rotate(0);
  filter: saturate(1.08);
}

.seasonal-covers img {
  width: 100%;
  aspect-ratio: 4 / 5.5;
  object-fit: cover;
  border: 7px solid rgba(255, 255, 255, .88);
  border-radius: 24px;
  box-shadow: 0 24px 50px rgba(83, 42, 15, .22);
}

.trust-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  padding: 0 clamp(20px, 7vw, 110px);
  background: #e3c69c;
  border-top: 1px solid #e3c69c;
  border-bottom: 1px solid #e3c69c;
}

.trust-strip > div {
  display: grid;
  grid-template-columns: 42px 1fr;
  column-gap: 12px;
  padding: 25px 22px;
  background: #fffaf1;
}

.trust-strip span {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #f3d9ae;
  color: #74371d;
  font-size: 19px;
  font-weight: 800;
}

.trust-strip strong,
.trust-strip small {
  display: block;
}

.trust-strip strong { color: #421c10; font-size: 15px; }
.trust-strip small { color: #79645a; font-size: 12px; }

.category-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.category-filter.category-card {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 15px;
  min-height: 128px;
  padding: 22px;
  border: 0;
  border-radius: 22px;
  color: #36170e;
  text-align: left;
  box-shadow: 0 12px 26px rgba(76, 37, 17, .08);
}

.category-card > span {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  align-self: center;
  width: 52px;
  height: 52px;
  border-radius: 17px;
  background: rgba(255, 255, 255, .62);
  font-family: "Playfair Display", serif;
  font-size: 26px;
}

.category-card strong { align-self: end; font-size: 18px; line-height: 1.15; }
.category-card small { color: rgba(54, 23, 14, .72); font-size: 12px; line-height: 1.35; }
.category-card.category-alfajores { background: #ead5c2; }
.category-card.category-budines { background: #f5cf8d; }
.category-card.category-tortas { background: #f2c7c1; }
.category-card.category-vasitos { background: #cfe2dc; }
.category-card.category-caseros { background: #efdcb0; }
.category-card.category-saludables { background: #dce8c9; }
.category-card.category-creativos { background: #d9d2eb; }
.category-card.category-ventas { background: #cbdce8; }
.category-card.category-salados { background: #e0dfbf; }

.category-filter.category-card:hover { transform: translateY(-4px); }
.category-filter.category-card.active {
  color: #fff;
  background: #542313;
  box-shadow: 0 14px 30px rgba(60, 24, 13, .22);
}
.category-filter.category-card.active small { color: rgba(255, 255, 255, .78); }

@media (max-width: 950px) {
  .seasonal-feature { grid-template-columns: 1fr; }
  .seasonal-covers { min-height: 500px; width: min(620px, 100%); margin: 0 auto; }
  .trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .category-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .seasonal-feature { padding-top: 64px; padding-bottom: 64px; }
  .seasonal-copy > p { font-size: 16px; }
  .seasonal-covers { min-height: 360px; }
  .seasonal-covers a { width: 55%; }
  .seasonal-covers img { border-width: 4px; border-radius: 18px; }
  .trust-strip { grid-template-columns: 1fr; padding: 0; gap: 0; }
  .trust-strip > div { border-bottom: 1px solid #e6d3b5; }
  .category-filters { grid-template-columns: 1fr; overflow: visible; }
  .category-filter.category-card { width: 100%; }
}

.catalog-hidden {
  display: none !important;
}

.section-filtered-empty {
  display: none !important;
}

.site-header nav {
  gap: 18px;
}

.digital-hub {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  background: #fffdf8;
}

.digital-panel {
  min-height: 470px;
  padding: clamp(30px, 5vw, 58px);
  border-radius: 30px;
}

.digital-panel h2 {
  font-size: clamp(36px, 4vw, 54px);
}

.digital-panel > p {
  max-width: 580px;
  font-size: 17px;
}

.apps-panel {
  background: linear-gradient(145deg, #542313, #2f120b);
  color: #fff8ef;
}

.apps-panel > p {
  color: #eadbd4;
}

.courses-panel {
  background: linear-gradient(145deg, #f1c778, #d6903a);
  color: #32170c;
}

.courses-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 30px;
}

.turrones-video-feature {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 26px;
  align-items: center;
  margin-top: 28px;
  padding: 20px;
  border: 1px solid rgba(84, 35, 19, .18);
  border-radius: 22px;
  background: rgba(255, 253, 248, .58);
}

.turrones-video {
  display: block;
  width: 100%;
  aspect-ratio: 9 / 16;
  border-radius: 16px;
  background: #32170c;
  object-fit: cover;
}

.turrones-video-copy strong {
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.turrones-video-copy h3 {
  margin: 8px 0 10px;
  font-family: "Playfair Display", serif;
  font-size: clamp(28px, 4vw, 42px);
}

.turrones-video-copy p {
  max-width: 48ch;
  margin: 0 0 18px;
  color: #58301f;
  line-height: 1.6;
}

.turrones-video-copy a {
  display: inline-flex;
  padding: 12px 17px;
  border-radius: 999px;
  background: #542313;
  color: #fff8ef;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.digital-items {
  display: grid;
  gap: 11px;
  margin-top: 30px;
}

.digital-items > a,
.digital-items > div,
.course-note {
  display: grid;
  gap: 2px;
  padding: 17px 19px;
  border-radius: 18px;
}

.digital-items > a,
.digital-items > div {
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .17);
}

.digital-cover {
  width: 100%;
  height: 190px;
  margin-bottom: 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .08);
  object-fit: contain;
}

.digital-items > a:not(:first-child) {
  grid-template-columns: 96px minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  column-gap: 16px;
  align-items: center;
}

.digital-items > a:not(:first-child) .digital-cover {
  grid-column: 1;
  grid-row: 1 / 4;
  width: 96px;
  height: 132px;
  margin: 0;
}

.digital-items > a:not(:first-child) > span,
.digital-items > a:not(:first-child) > strong,
.digital-items > a:not(:first-child) > small {
  grid-column: 2;
}

.digital-items > a {
  transition: transform .2s, background .2s;
}

.digital-items > a:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, .16);
}

.digital-items span,
.course-note strong {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.digital-items strong {
  font-family: "Playfair Display", serif;
  font-size: 24px;
}

.digital-items small {
  color: #eadbd4;
  font-size: 14px;
}

.course-note {
  margin-top: 0;
  background: rgba(255, 253, 248, .45);
  border: 1px solid rgba(84, 35, 19, .18);
}

.course-link {
  color: #32170c;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.course-link:hover,
.course-link:focus-visible {
  transform: translateY(-2px);
  background: rgba(255, 253, 248, .68);
  box-shadow: 0 14px 30px rgba(84, 35, 19, .13);
}

.course-link > span {
  font-family: "Playfair Display", serif;
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 700;
}

.course-link > small {
  max-width: 48ch;
  color: #58301f;
  font-size: 14px;
  line-height: 1.55;
}

.course-link > em {
  margin-top: 8px;
  color: #6f2f18;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
}

.course-cover {
  width: 100%;
  height: 220px;
  margin-bottom: 12px;
  border-radius: 16px;
  background: rgba(255, 253, 248, .34);
  object-fit: contain;
}

.trial-badge {
  display: inline-flex;
  margin: 20px 0 4px;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(255, 247, 233, .12);
  border: 1px solid rgba(255, 247, 233, .3);
  color: #ffd9a6;
  font-size: 13px;
  font-weight: 700;
}

.costea {
  grid-template-columns: minmax(0, 1.08fr) minmax(190px, 230px) minmax(260px, .78fr);
  gap: clamp(28px, 4vw, 64px);
}

.costea-video-wrap {
  display: grid;
  gap: 12px;
  justify-items: center;
}

.costea-video-frame {
  position: relative;
  width: 100%;
  max-width: 230px;
}

.costea-video {
  display: block;
  width: 100%;
  max-width: 230px;
  aspect-ratio: 9 / 16;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 22px;
  background: #24100a;
  box-shadow: 0 20px 46px rgba(0, 0, 0, .3);
  object-fit: cover;
}

.costea-sound-toggle {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 50%;
  background: rgba(36, 16, 10, .82);
  color: #fff;
  font-size: 20px;
  line-height: 1;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .28);
  cursor: pointer;
  backdrop-filter: blur(6px);
}

.costea-sound-toggle:focus-visible {
  outline: 3px solid #f4c266;
  outline-offset: 3px;
}

.costea-trial-button {
  width: 100%;
  max-width: 230px;
  padding-inline: 14px;
  text-align: center;
}

.costea-video-wrap small {
  color: #eadbd4;
  font-size: 12px;
}

.costea-payment {
  margin: 14px 0 0 !important;
  color: #ffd9a6 !important;
  font-size: 13px !important;
  font-weight: 700;
}

.starter-kit {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(45px, 8vw, 110px);
  align-items: center;
}

.kit-card {
  width: min(390px, 88vw);
  aspect-ratio: 4 / 5;
  margin: auto;
  padding: 36px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 16px 48px 16px 16px;
  background: linear-gradient(145deg, #d38a38, #8e461c);
  color: white;
  box-shadow: 18px 24px 55px rgba(89, 40, 15, .24);
  transform: rotate(-2deg);
}

.kit-label {
  width: fit-content;
  padding: 7px 12px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 999px;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
}

.kit-number {
  font-family: "Playfair Display", serif;
  font-size: clamp(130px, 18vw, 210px);
  line-height: .7;
  text-align: center;
}

.kit-card p {
  margin: 0;
  font-family: "Playfair Display", serif;
  font-size: 26px;
  line-height: 1.15;
}

.kit-copy > p {
  color: var(--muted);
  font-size: 18px;
}

.kit-items {
  margin: 30px 0;
  border-top: 1px solid #eadbc7;
}

.kit-items > div {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 0 14px;
  padding: 16px 0;
  border-bottom: 1px solid #eadbc7;
}

.kit-items span {
  grid-row: 1 / 3;
  color: var(--caramel);
  font-family: "Playfair Display", serif;
  font-size: 22px;
}

.kit-items strong,
.kit-items small {
  display: block;
}

.kit-items small {
  color: var(--muted);
}

.kit-form {
  min-height: 170px;
  margin-top: 28px;
  scroll-margin-top: 110px;
}

.kit-form [class^="klaviyo-form-"]:empty::before {
  content: "Cargando formulario…";
  color: var(--muted);
}

/* Portada real y recorridos accionables */
.intro .feature-grid {
  gap: 24px;
}

.intro .feature-grid article {
  position: relative;
  min-height: 285px;
  padding: 34px;
  overflow: hidden;
  background: linear-gradient(145deg, #fffaf1, #f7e6cb);
  border: 1px solid #ead2ad;
  box-shadow: 0 18px 38px rgba(84, 35, 19, .09);
  transition: transform .2s ease, box-shadow .2s ease;
}

.intro .feature-grid article:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 46px rgba(84, 35, 19, .14);
}

.intro .feature-grid .feature-number {
  position: absolute;
  top: -18px;
  right: 18px;
  color: rgba(142, 70, 28, .1);
  font-size: 104px;
  line-height: 1;
}

.feature-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #5b2816;
  color: #fff8ec;
  font-family: "DM Sans", sans-serif !important;
  font-size: 27px !important;
  box-shadow: 0 10px 20px rgba(84, 35, 19, .18);
}

.intro .feature-grid h3 {
  margin-top: 26px;
}

.intro .feature-grid a {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  margin-top: 22px;
  color: #8e461c;
  font-size: 14px;
  font-weight: 700;
}

.feature-closing {
  margin: 34px auto 0;
  color: #6a4939;
  font-family: "Playfair Display", serif;
  font-size: clamp(20px, 2.2vw, 27px);
  font-weight: 600;
}

.kit-cover {
  position: relative;
  width: min(400px, 88vw);
  margin: auto;
  filter: drop-shadow(18px 24px 32px rgba(89, 40, 15, .22));
  transform: rotate(-1.5deg);
  transition: transform .2s ease, filter .2s ease;
}

.kit-cover:hover {
  transform: rotate(0) translateY(-4px);
  filter: drop-shadow(18px 28px 38px rgba(89, 40, 15, .28));
}

.kit-cover img {
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  border-radius: 18px;
}

.kit-cover .kit-label {
  position: absolute;
  z-index: 2;
  top: 20px;
  left: 20px;
  background: rgba(58, 23, 13, .88);
  color: white;
  border-color: rgba(255, 255, 255, .45);
  box-shadow: 0 8px 20px rgba(58, 23, 13, .2);
}

.kit-copy > p {
  max-width: 650px;
}

.kit-items > div {
  grid-template-columns: 34px 1fr;
  align-items: center;
}

.kit-items span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f4dfbd;
  font-family: "DM Sans", sans-serif;
  font-size: 15px;
  font-weight: 700;
}

@media (max-width: 850px) {
  /* El menú legal pertenece al pie y no debe heredar el panel móvil del encabezado. */
  .footer-legal {
    position: static;
    inset: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 18px;
    padding: 0;
    background: transparent;
    border: 0;
  }

  .footer-legal a {
    padding: 0;
  }

  .intro .feature-grid article {
    min-height: 250px;
  }

  .kit-cover {
    width: min(330px, 82vw);
  }

  .hero-image {
    background-color: #2b160e;
    background-size: auto 62%;
    background-position: 72% top;
    background-repeat: no-repeat;
  }
}

.catalog-section.catalog-closed {
  display: none;
}

.social-grid > div {
  border: 1px solid #eadbc7;
  padding: 24px;
  border-radius: 18px;
  text-align: left;
}

.social-grid > div strong,
.social-grid > div span {
  display: block;
}

.social-grid > div span {
  color: var(--muted);
  font-size: 13px;
}

.about {
  display: grid;
  grid-template-columns: .65fr 1.35fr;
  gap: clamp(40px, 8vw, 110px);
  align-items: center;
  background: #fff7e9;
}

.about-mark {
  width: min(330px, 80vw);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  margin: auto;
  border: 1px solid #dca25e;
  border-radius: 50%;
  color: var(--caramel);
  font-family: "Playfair Display", serif;
  font-size: clamp(62px, 9vw, 112px);
  box-shadow: inset 0 0 0 12px #fff7e9, inset 0 0 0 13px #e6bf8d;
}

.about-copy p {
  max-width: 720px;
  color: var(--muted);
  font-size: 17px;
}

.faq {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(40px, 7vw, 100px);
  align-items: start;
}

.faq-heading {
  position: sticky;
  top: 120px;
}

.faq-heading p {
  color: var(--muted);
}

.faq-list details {
  padding: 22px 0;
  border-bottom: 1px solid #eadbc7;
}

.faq-list summary {
  cursor: pointer;
  list-style: none;
  font-family: "Playfair Display", serif;
  font-size: 22px;
  font-weight: 700;
}

.faq-list summary::after {
  content: "+";
  float: right;
  color: var(--caramel);
}

.faq-list details[open] summary::after {
  content: "−";
}

.faq-list p {
  color: var(--muted);
  margin-bottom: 0;
}

.faq-list p a {
  color: #9b551d;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 850px) {
  .starter-kit,
  .about,
  .faq,
  .digital-hub {
    grid-template-columns: 1fr;
  }

  .about-mark {
    width: 220px;
  }

  .faq-heading {
    position: static;
  }

  .podcast {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .podcast-icon {
    width: 72px;
    height: 72px;
  }

  .podcast .button,
  .podcast .status-pill {
    grid-column: auto;
  }

  .affiliate-preview {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .affiliate-label {
    width: fit-content;
    white-space: normal;
  }
}

/* Dirección editorial: fotografía, aire y jerarquía de contenido */
.featured-editorial {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  gap: clamp(38px, 6vw, 82px);
  align-items: center;
  background: #fffdf8;
}

.featured-photo {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  border-radius: 34px 10px 34px 10px;
  box-shadow: 0 26px 65px rgba(58, 23, 13, .18);
}

.featured-photo img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
}

.editorial-kicker {
  position: absolute;
  left: 22px;
  bottom: 22px;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(255, 253, 248, .92);
  color: var(--chocolate);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  backdrop-filter: blur(8px);
}

.featured-copy > p {
  max-width: 620px;
  color: var(--muted);
  font-size: 18px;
}

.featured-links {
  margin-top: 30px;
  border-top: 1px solid #eadbc7;
}

.featured-links a {
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 1px 18px;
  padding: 17px 0;
  border-bottom: 1px solid #eadbc7;
  transition: color .2s, padding-left .2s;
}

.featured-links a:hover {
  padding-left: 8px;
  color: var(--caramel);
}

.featured-links span {
  grid-row: 1 / 3;
  align-self: center;
  width: fit-content;
  padding: 6px 9px;
  border-radius: 999px;
  background: #f7e6cb;
  color: #713618;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.featured-links strong,
.featured-links small {
  display: block;
}

.featured-links strong {
  font-family: "Playfair Display", serif;
  font-size: 20px;
  line-height: 1.2;
}

.featured-links small {
  color: var(--muted);
  font-size: 13px;
}

.recipe-grid {
  gap: 24px;
}

.recipe-card,
.recipe-card.berry,
.recipe-card.honey,
.recipe-card.mocha,
.recipe-card.savory {
  min-height: 430px;
  padding: 0;
  background: #fff;
  color: var(--ink);
  border: 1px solid #eadbc7;
  border-radius: 24px;
  box-shadow: 0 13px 34px rgba(58, 23, 13, .08);
  transition: transform .25s, box-shadow .25s;
}

.recipe-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 44px rgba(58, 23, 13, .14);
}

.recipe-card .card-art {
  min-height: 190px;
  display: grid;
  place-items: center;
  margin: 0;
  font-size: 92px;
  color: rgba(58, 23, 13, .64);
  background: linear-gradient(145deg, #f7dfb8, #d99445);
  opacity: 1;
}

.recipe-card.chocolate .card-art { background: linear-gradient(145deg, #7d3d25, #3b160d); color: #fff6e9; }
.recipe-card.cream-card .card-art { background: linear-gradient(145deg, #fff2d8, #e8c58d); }
.recipe-card.berry .card-art { background: linear-gradient(145deg, #bb6874, #7c3042); color: #fff; }
.recipe-card.honey .card-art { background: linear-gradient(145deg, #ffe3a5, #e5a73f); }
.recipe-card.mocha .card-art { background: linear-gradient(145deg, #d1a081, #8a563f); color: #fff; }
.recipe-card.savory .card-art { background: linear-gradient(145deg, #9b9a68, #565735); color: #fff; }

.recipe-card > div:last-child {
  padding: 24px 25px 26px;
}

.content-badge,
.card-topic {
  display: inline-flex;
  align-items: center;
  width: fit-content;
}

.content-badge {
  margin: 0 8px 10px 0;
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 10px !important;
  letter-spacing: .08em !important;
}

.badge-free { background: #e7f2dc; color: #385b29; }
.badge-soon { background: #f4e5d3; color: #764220; }

.card-topic {
  color: var(--caramel);
  font-size: 10px !important;
}

.recipe-card h3 {
  font-size: 28px;
}

.recipe-card p {
  color: var(--muted);
  opacity: 1;
}

.recipe-card .soon {
  color: var(--chocolate);
  opacity: 1;
}

.category-filters {
  padding-bottom: 2px;
}

.category-filter {
  background: transparent;
  border-color: #cfa574;
}

.resources {
  background: linear-gradient(135deg, #fff7e9 0%, #f7e3c2 100%);
}

.free-download-heading p { max-width: 650px; margin-top: 12px; color: var(--muted); }
.free-download-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.free-download-card { position: relative; display: flex; flex-direction: column; overflow: hidden; min-width: 0; color: var(--chocolate); background: #fffaf2; border: 1px solid rgba(100, 58, 32, .16); border-radius: 24px; box-shadow: 0 14px 34px rgba(60, 34, 18, .09); text-decoration: none; transition: transform .22s ease, box-shadow .22s ease; }
.free-download-card:hover, .free-download-card:focus-visible { transform: translateY(-5px); box-shadow: 0 20px 42px rgba(60, 34, 18, .15); }
.free-download-card > img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center; background: #efe2cf; }
.free-download-card > div { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.free-download-card h3 { margin: 0 0 9px; font-size: clamp(24px, 2.2vw, 31px); }
.free-download-card p { margin: 0 0 18px; color: var(--muted); }
.free-download-card strong { margin-top: auto; color: var(--caramel); font-size: 14px; letter-spacing: .02em; }
.free-download-badge { position: absolute; top: 16px; left: 16px; padding: 8px 13px; color: #fff; background: rgba(73, 31, 17, .9); border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

@media (max-width: 900px) {
  .free-download-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .costea {
    grid-template-columns: minmax(0, 1fr) minmax(190px, 230px);
  }

  .costea-card {
    grid-column: 1 / -1;
    width: min(100%, 560px);
    justify-self: center;
  }

  .featured-editorial {
    grid-template-columns: 1fr;
  }

  .featured-photo,
  .featured-photo img {
    min-height: 440px;
  }
}

@media (max-width: 600px) {
  .costea {
    grid-template-columns: 1fr;
  }

  .costea-video-wrap,
  .costea-card {
    grid-column: 1;
  }

  .costea-video {
    width: min(100%, 270px);
    max-width: 270px;
  }

  .costea-video-frame {
    max-width: 270px;
  }

  .costea-trial-button {
    max-width: 270px;
  }

  .turrones-video-feature {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 18px;
  }

  .turrones-video {
    width: min(100%, 270px);
    margin-inline: auto;
  }

  .turrones-video-copy {
    text-align: center;
  }

  .turrones-video-copy p {
    margin-inline: auto;
  }

  .courses-list { grid-template-columns: 1fr; }
  .free-download-grid { grid-template-columns: 1fr; }
  .free-download-card { display: grid; grid-template-columns: 118px minmax(0, 1fr); border-radius: 20px; }
  .free-download-card > img { width: 118px; height: 100%; min-height: 178px; aspect-ratio: auto; }
  .free-download-card > div { padding: 18px 16px; }
  .free-download-card h3 { font-size: 23px; }
  .free-download-card p { font-size: 14px; line-height: 1.45; }
  .free-download-badge { top: 10px; left: 9px; padding: 6px 8px; font-size: 9px; }

  .product-link-grid {
    grid-template-columns: 1fr;
  }

  .digital-cover,
  .course-cover {
    height: 180px;
  }

  .digital-items > a:not(:first-child) {
    grid-template-columns: 78px minmax(0, 1fr);
    column-gap: 13px;
  }

  .digital-items > a:not(:first-child) .digital-cover {
    width: 78px;
    height: 108px;
  }

  .featured-photo,
  .featured-photo img {
    min-height: 330px;
  }

  .featured-photo img {
    object-position: center;
  }

  .featured-links a {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .featured-links span {
    grid-row: auto;
    margin-bottom: 3px;
  }

  .category-filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 10px;
    scrollbar-width: thin;
  }

  .category-filter {
    flex: 0 0 auto;
  }

  .category-filters {
    grid-template-columns: 1fr;
    overflow: visible;
  }

  .category-filter.category-card {
    width: 100%;
  }
}


/* Ajustes 18/10: sin libros de ejemplo, precios y urgencia */
.resources { grid-template-columns: 1fr; }
.resources-copy p { max-width: 760px; }
.seasonal-urgency { font-size: 16px !important; color: #7a3d12 !important; background: rgba(199, 121, 37, .12); border-left: 3px solid var(--caramel); padding: 10px 14px; border-radius: 8px; }
.course-price { display: block; margin: 10px 0 4px; font-size: 18px; color: var(--chocolate); }
.course-price small { font-size: 12px; font-weight: 600; color: var(--muted); }
.kit-fallback { margin-top: 12px; color: var(--muted); }
.kit-fallback a { color: var(--caramel); font-weight: 700; text-decoration: underline; }
