/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: 'Figtree', system-ui, sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-white: #fff;
    --spacing: 0.25rem;
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --aspect-video: 16 / 9;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-rosa-50: #fbf1f2;
    --color-rosa-100: #f4d7d9;
    --color-rosa-200: #e7adb2;
    --color-rosa-400: #d0787f;
    --color-rosa-500: #c77379;
    --color-rosa-600: #ae505c;
    --color-rosa-700: #8f3f4a;
    --color-rosa-800: #6d2f38;
    --color-mint-50: #eef5f3;
    --color-mint-100: #cfe4df;
    --color-mint-200: #a7cec6;
    --color-mint-300: #7cb4a3;
    --color-mint-500: #497f79;
    --color-mint-600: #3c6a64;
    --color-mint-700: #2f544f;
    --color-mint-800: #223d3a;
    --color-navy-50: #eef0f4;
    --color-navy-100: #d0d5e0;
    --color-navy-300: #8792a8;
    --color-navy-500: #4a5673;
    --color-navy-700: #2b3453;
    --color-navy-900: #1a2138;
    --color-cream-50: #fff5ed;
    --color-cream-100: #ffe8d5;
    --color-cream-200: #ffdcc0;
    --color-gold: #efac00;
    --color-page: #fdfbf9;
    --color-card: #ffffff;
    --radius-card: 14px;
    --radius-control: 10px;
    --radius-pill: 999px;
    --shadow-card: 0 2px 10px rgba(43,52,83,.08);
    --shadow-card-hover: 0 8px 22px rgba(43,52,83,.14);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .grid {
    display: grid;
  }
  .inline {
    display: inline;
  }
  .scale-6 {
    --tw-scale-x: 6%;
    --tw-scale-y: 6%;
    --tw-scale-z: 6%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .scale-10 {
    --tw-scale-x: 10%;
    --tw-scale-y: 10%;
    --tw-scale-z: 10%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
}
@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;600;700;800&display=swap');
:root {
  --grad-rosa: linear-gradient(11deg, #d79597 0, #c77379 50%, #ae505c 100%);
  --grad-mint: linear-gradient(11deg, #7cb4a3 0%, #497f79 100%);
  --grad-cream: linear-gradient(34deg, rgba(255,245,237,.6) 0%, rgba(255,232,213,1) 80%);
  --skeleton-gradient: linear-gradient(
    90deg,
    var(--color-navy-50) 25%,
    var(--color-navy-100) 50%,
    var(--color-navy-50) 75%
  );
}
body {
  background: var(--color-page);
}
@layer components {
  .btn-primary {
    display: inline-flex;
    cursor: pointer;
    align-items: center;
    gap: calc(var(--spacing) * 2);
    border-radius: var(--radius-control);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-leading: 1;
    line-height: 1;
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-white);
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    padding: 0.625rem 1.375rem;
    border: none;
    background: var(--grad-mint);
    text-decoration: none;
    &:hover {
      transform: translateY(-1px);
      box-shadow: 0 4px 14px rgba(73,127,121,.35);
    }
    &:focus-visible {
      outline: 2px solid var(--color-mint-500);
      outline-offset: 2px;
    }
    &:disabled, &[aria-disabled="true"] {
      opacity: .45;
      cursor: not-allowed;
      pointer-events: none;
    }
  }
  .btn-secondary {
    display: inline-flex;
    cursor: pointer;
    align-items: center;
    gap: calc(var(--spacing) * 2);
    border-radius: var(--radius-control);
    background-color: transparent;
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-leading: 1;
    line-height: 1;
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-mint-600);
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    padding: 0.5625rem 1.25rem;
    border: 2px solid var(--color-mint-500);
    text-decoration: none;
    &:hover {
      background-color: var(--color-mint-50);
    }
    &:focus-visible {
      outline: 2px solid var(--color-mint-500);
      outline-offset: 2px;
    }
    &:disabled, &[aria-disabled="true"] {
      opacity: .45;
      cursor: not-allowed;
      pointer-events: none;
    }
  }
  .btn-link {
    display: inline-flex;
    cursor: pointer;
    align-items: center;
    gap: var(--spacing);
    background-color: transparent;
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-rosa-600);
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    padding: 0;
    border: none;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: transparent;
    &:hover {
      color: var(--color-rosa-700);
      text-decoration-color: currentColor;
    }
    &:focus-visible {
      outline: 2px solid var(--color-rosa-500);
      outline-offset: 2px;
    }
  }
  .badge {
    display: inline-flex;
    align-items: center;
    gap: calc(var(--spacing) * 1.5);
    border-radius: var(--radius-pill);
    --tw-leading: 1;
    line-height: 1;
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    padding: 0.28rem 0.4rem;
    font-size: 0.7rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }
  .badge-votos {
    background: var(--color-mint-50);
    color: var(--color-mint-700);
  }
  .badge-video {
    background: var(--color-navy-700);
    color: white;
  }
  .badge-counter {
    background: var(--color-rosa-100);
    color: var(--color-rosa-700);
  }
  .badge-banner {
    background: var(--grad-rosa);
    color: white;
  }
  .badge-neutral {
    color: var(--color-navy-500);
  }
  .badge-diet {
    background: var(--color-mint-50);
    color: var(--color-mint-700);
  }
  .chip {
    display: inline-flex;
    align-items: center;
    border-radius: var(--radius-pill);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    padding: 0.35rem 0.875rem;
    background: var(--color-mint-50);
    color: var(--color-mint-700);
    border: 1px solid var(--color-mint-100);
    text-decoration: none;
    &:hover {
      background: var(--color-mint-100);
    }
    &:focus-visible {
      outline: 2px solid var(--color-mint-500);
      outline-offset: 2px;
    }
  }
  .chip-active {
    background: var(--color-mint-500);
    color: white;
    border-color: var(--color-mint-500);
    &:hover {
      background: var(--color-mint-600);
      border-color: var(--color-mint-600);
    }
  }
  .stars {
    display: inline-flex;
    gap: 1px;
    color: var(--color-gold);
    svg {
      height: calc(var(--spacing) * 4);
      width: calc(var(--spacing) * 4);
    }
  }
  .star-empty {
    color: var(--color-navy-100);
  }
  .meta-item {
    display: inline-flex;
    align-items: center;
    gap: calc(var(--spacing) * 1.5);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    color: var(--color-navy-500);
    svg {
      width: 15px;
      height: 15px;
      flex-shrink: 0;
    }
  }
  .meta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: calc(var(--spacing) * 4);
    row-gap: var(--spacing);
  }
  .recipe-card {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-card);
    background-color: var(--color-card);
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 200ms;
    transition-duration: 200ms;
    box-shadow: var(--shadow-card);
    text-decoration: none;
    display: flex;
    flex-direction: column;
    &:hover {
      box-shadow: var(--shadow-card-hover);
      transform: translateY(-3px);
    }
  }
  .recipe-card__img {
    display: block;
    aspect-ratio: var(--aspect-video);
    width: 100%;
    object-fit: cover;
    object-position: center bottom;
  }
  .recipe-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 0%;
    padding: calc(var(--spacing) * 4);
  }
  .recipe-card__title {
    margin-bottom: calc(var(--spacing) * 2);
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-navy-700);
    text-wrap: balance;
    a {
      color: inherit;
      text-decoration: none;
      &::after {
        content: '';
        position: absolute;
        inset: 0;
      }
    }
  }
  .recipe-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 2);
    padding-top: calc(var(--spacing) * 2);
    border-top: 1px solid var(--color-navy-50);
    margin-top: auto;
  }
  .recipe-card__time {
    font-size: .75rem;
    color: var(--color-navy-300);
  }
  .recipe-card__rating-star {
    color: var(--color-gold);
  }
  .recipe-card__video-badge {
    position: absolute;
    top: .625rem;
    left: .625rem;
  }
  .recipe-card--hero {
    display: flex;
    flex-direction: column;
  }
  @media (width >= 48rem) {
    .recipe-card--hero {
      flex-direction: row;
    }
  }
  .recipe-card--hero .recipe-card__img {
    width: 100%;
    aspect-ratio: 16 / 9;
  }
  @media (width >= 48rem) {
    .recipe-card--hero .recipe-card__img {
      width: 40%;
    }
  }
  @media (min-width: 768px) {
    .recipe-card--hero .recipe-card__img {
      aspect-ratio: auto;
    }
  }
  .recipe-card--hero .recipe-card__body {
    padding: calc(var(--spacing) * 6);
    flex: 1 1 0%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .recipe-card--hero .recipe-card__title {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }
  .recipe-card--hero .recipe-card__excerpt {
    font-size: var(--text-sm);
    color: var(--color-navy-500);
    margin: .5rem 0 1rem;
    line-height: 1.55;
  }
  .recipe-card--hero .recipe-card__badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
  }
  .recipe-card--hero .recipe-card__footer {
    margin-top: 0;
  }
  @media (min-width: 768px) {
    .recipe-card--hero {
      min-height: 320px;
    }
  }
  .recipe-card--spotlight {
    display: flex;
    flex-direction: column;
  }
  @media (min-width: 768px) {
    .recipe-card--spotlight {
      flex-direction: row;
    }
  }
  .recipe-card--spotlight .recipe-card__img {
    width: 100%;
    aspect-ratio: 16 / 9;
  }
  @media (min-width: 768px) {
    .recipe-card--spotlight .recipe-card__img {
      width: 40%;
    }
  }
  @media (min-width: 768px) {
    .recipe-card--spotlight .recipe-card__img {
      height: 100%;
    }
  }
  .recipe-card--spotlight .recipe-card__body {
    padding: calc(var(--spacing) * 5);
    flex: 1 1 0%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .recipe-card--spotlight .recipe-card__title {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .recipe-card--spotlight .recipe-card__excerpt {
    font-size: var(--text-sm);
    color: var(--color-navy-500);
    margin: .4rem 0 .85rem;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
  }
  .recipe-card--spotlight .recipe-card__badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem;
  }
  .recipe-card--spotlight .recipe-card__footer {
    margin-top: 0;
  }
  .recipe-card--compact {
    display: flex;
    flex-direction: row;
    .recipe-card__img {
      height: calc(var(--spacing) * 24);
      width: calc(var(--spacing) * 24);
      flex-shrink: 0;
      aspect-ratio: 1;
    }
    .recipe-card__body {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: calc(var(--spacing) * 3);
    }
    .recipe-card__title {
      margin-bottom: var(--spacing);
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  .recipe-card--pais {
    .recipe-card__img {
      aspect-ratio: 1;
    }
    .recipe-card__body {
      padding: calc(var(--spacing) * 3);
      padding-bottom: calc(var(--spacing) * 4);
      align-items: flex-start;
    }
  }
  .recipe-card--relacionada .recipe-card__body {
    padding: calc(var(--spacing) * 3);
  }
  .recipe-card--relacionada .recipe-card__title {
    margin-bottom: 0px;
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .recipe-card--relacionada .recipe-card__footer {
    display: none;
  }
  .recipe-card--subcategory {
    flex-direction: row;
  }
  .recipe-card--subcategory .recipe-card__img {
    width: calc(var(--spacing) * 28);
    flex-shrink: 0;
    height: 100%;
    object-fit: cover;
    object-position: center;
    aspect-ratio: auto;
  }
  .recipe-card--subcategory .recipe-card__body {
    padding: calc(var(--spacing) * 5);
    flex: 1 1 0%;
  }
  .recipe-card--subcategory .badge {
    margin-top: .5rem;
  }
  @media (min-width: 768px) {
    .recipe-card--subcategory .badge {
      padding-left: 0;
      font-weight: 500;
    }
  }
  .recipe-card--image {
    text-align: center;
  }
  .recipe-card--image .recipe-card__body {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-left: calc(var(--spacing) * 3);
    padding-right: calc(var(--spacing) * 3);
    padding-top: calc(var(--spacing) * 4);
    padding-bottom: calc(var(--spacing) * 4);
  }
  .recipe-card--image .recipe-card__title {
    margin-bottom: calc(var(--spacing) * 2);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .recipe-card--image .badge-counter {
    font-size: .58rem;
    padding: .18rem .55rem;
  }
  .recipe-info-box {
    margin-bottom: calc(var(--spacing) * 6);
    display: flex;
    flex-wrap: wrap;
    border-radius: var(--radius-control);
    gap: 0;
    background: var(--color-mint-50);
    border: 1px solid var(--color-mint-100);
    overflow: hidden;
  }
  .recipe-info-box__item {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing);
    min-width: 80px;
    padding: .875rem .75rem;
    position: relative;
    &:not(:last-child)::after {
      content: '';
      position: absolute;
      right: 0;
      top: 20%;
      height: 60%;
      width: 1px;
      background: var(--color-mint-200);
    }
  }
  .recipe-info-box__label {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-mint-600);
    text-transform: uppercase;
    font-size: .6rem;
    letter-spacing: .08em;
    text-align: center;
  }
  .recipe-info-box__value {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
    color: var(--color-navy-700);
    font-size: 1.15rem;
    line-height: 1.1;
    text-align: center;
  }
  .recipe-info-box__sub {
    color: var(--color-navy-300);
    font-size: .72rem;
  }
  .recipe-ficha__servings-ctrl {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 2);
  }
  .recipe-ficha__servings-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-mint-600);
    width: 26px;
    height: 26px;
    border: 1.5px solid var(--color-mint-300);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
    line-height: 1;
    transition: background .12s;
    &:hover {
      background: var(--color-mint-100);
    }
    &:focus-visible {
      outline: 2px solid var(--color-mint-500);
      outline-offset: 2px;
    }
  }
  .recipe-ficha__servings-count {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
    color: var(--color-navy-700);
    font-size: 1.15rem;
    min-width: 1.5ch;
    text-align: center;
    font-variant-numeric: tabular-nums;
  }
  .recipe-ficha {
    padding: 1.5rem 0 3rem;
  }
  .recipe-ficha__title {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
    color: var(--color-navy-900);
    font-size: clamp(1.6rem, 3.5vw, 2.5rem);
    text-wrap: balance;
    margin-bottom: .6rem;
  }
  .recipe-ficha__meta {
    margin-bottom: calc(var(--spacing) * 5);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: calc(var(--spacing) * 3);
    row-gap: calc(var(--spacing) * 2);
  }
  .recipe-ficha__date {
    font-size: .8rem;
    color: var(--color-navy-300);
  }
  .recipe-rating {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 1.5);
  }
  .recipe-rating__stars {
    display: flex;
    align-items: center;
    gap: 1px;
    color: var(--color-gold);
    svg {
      width: 14px;
      height: 14px;
    }
  }
  .recipe-rating__score {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-navy-700);
    font-size: .9rem;
  }
  .recipe-rating__count {
    color: var(--color-navy-300);
    font-size: .8rem;
  }
  .recipe-ficha__hero-img {
    margin-bottom: calc(var(--spacing) * 6);
    display: block;
    width: 100%;
    border-radius: var(--radius-card);
    object-fit: cover;
    object-position: center bottom;
    aspect-ratio: 16/9;
    box-shadow: var(--shadow-card);
  }
  .recipe-ficha__body {
    display: grid;
    gap: calc(var(--spacing) * 8);
    grid-template-columns: 5fr 8fr;
    align-items: start;
    @media (max-width: 680px) {
      grid-template-columns: 1fr;
    }
  }
  .recipe-ficha__ingredients h2, .recipe-ficha__instructions h2 {
    margin-bottom: calc(var(--spacing) * 4);
    padding-bottom: calc(var(--spacing) * 2);
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
    color: var(--color-navy-700);
    font-size: 1.05rem;
    border-bottom: 2px solid var(--color-mint-100);
    text-transform: uppercase;
    letter-spacing: .04em;
  }
  .recipe-ficha__ingredient-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .recipe-ficha__group-title {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    font-size: .62rem;
    letter-spacing: .08em;
    color: var(--color-mint-700);
    margin: 1rem 0 .35rem;
    padding-bottom: .25rem;
    border-bottom: 1px solid var(--color-mint-100);
  }
  .recipe-ficha__ingredient {
    display: flex;
    align-items: baseline;
    gap: calc(var(--spacing) * 2);
    padding: .4rem 0;
    border-bottom: 1px solid var(--color-navy-50);
    transition: opacity .2s;
    &:last-child {
      border-bottom: none;
    }
    &.is-checked {
      opacity: .45;
      .recipe-ficha__ingredient-text {
        text-decoration: line-through;
      }
    }
  }
  .recipe-ficha__ingredient-cb {
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    accent-color: var(--color-mint-500);
    cursor: pointer;
    margin-top: .2em;
  }
  .recipe-ficha__ingredient-text {
    color: var(--color-navy-700);
    font-size: .9375rem;
    line-height: 1.45;
    transition: text-decoration .2s;
  }
  .recipe-ficha__ingredients ul {
    list-style-type: disc;
    padding-left: calc(var(--spacing) * 5);
    color: var(--color-navy-700);
    font-size: .9375rem;
    line-height: 1.5;
    li {
      padding: .25rem 0;
    }
  }
  .recipe-ficha__steps {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
  .recipe-ficha__step {
    display: flex;
    align-items: flex-start;
    gap: calc(var(--spacing) * 4);
  }
  .recipe-ficha__step-number {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
    color: var(--color-white);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--grad-rosa);
    font-size: .8125rem;
    margin-top: .15em;
  }
  .recipe-ficha__step-body {
    flex: 1;
    color: var(--color-navy-700);
    font-size: .9375rem;
    line-height: 1.7;
    padding-top: .25rem;
    p {
      margin-bottom: .5rem;
    }
    p:last-child {
      margin-bottom: 0;
    }
    strong {
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
    }
  }
  .recipe-ficha__step-img {
    margin-top: calc(var(--spacing) * 3);
    display: block;
    width: 100%;
    border-radius: var(--radius-card);
    aspect-ratio: 16/9;
    object-fit: cover;
    box-shadow: var(--shadow-card);
  }
  .recipe-ficha__instructions ol {
    list-style-type: decimal;
    padding-left: calc(var(--spacing) * 5);
    color: var(--color-navy-700);
    font-size: .9375rem;
    line-height: 1.7;
    li {
      padding: .35rem 0;
    }
  }
  .recipe-ficha__body-fallback {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
    color: var(--color-navy-700);
    font-size: .9375rem;
    p {
      margin-bottom: calc(var(--spacing) * 4);
    }
    h2 {
      margin-top: calc(var(--spacing) * 8);
      margin-bottom: calc(var(--spacing) * 3);
      font-size: var(--text-xl);
      line-height: var(--tw-leading, var(--text-xl--line-height));
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      color: var(--color-navy-700);
    }
    h3 {
      margin-top: calc(var(--spacing) * 6);
      margin-bottom: calc(var(--spacing) * 2);
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      color: var(--color-navy-700);
    }
    ul {
      margin-bottom: calc(var(--spacing) * 4);
      list-style-type: disc;
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse));
        margin-block-end: calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)));
      }
      padding-left: calc(var(--spacing) * 5);
    }
    ol {
      margin-bottom: calc(var(--spacing) * 4);
      list-style-type: decimal;
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse));
        margin-block-end: calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)));
      }
      padding-left: calc(var(--spacing) * 5);
    }
    strong {
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
    }
    img {
      display: block;
      max-width: 100%;
      height: auto;
      margin: 1.75rem auto;
      border-radius: var(--radius-card);
      box-shadow: var(--shadow-card);
    }
    .wp-caption, figure {
      display: block;
      max-width: 100% !important;
      margin: 1.75rem auto !important;
      text-align: center;
      img {
        margin: 0 auto .5rem;
        width: 100%;
      }
    }
    .wp-caption-text, figcaption {
      font-size: .8125rem;
      color: var(--color-navy-300);
      font-style: italic;
      text-align: center;
      margin: 0;
      line-height: 1.5;
    }
  }
  .youtube-player {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 1.75rem auto;
    overflow: hidden;
    border-radius: var(--radius-card);
    background: var(--color-navy-900);
    box-shadow: var(--shadow-card);
  }
  .youtube-player__btn,
  .youtube-player__iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
  }
  .youtube-player__btn {
    display: block;
    padding: 0;
    background: none;
    cursor: pointer;
  }
  .youtube-player .youtube-player__thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .youtube-player__icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: transform .15s ease;
  }
  .youtube-player__icon svg {
    display: block;
    width: 68px;
    height: 48px;
  }
  .youtube-player__icon-bg {
    fill: #212121;
    fill-opacity: .8;
    transition: fill .15s ease, fill-opacity .15s ease;
  }
  .youtube-player__btn:hover .youtube-player__icon,
  .youtube-player__btn:focus-visible .youtube-player__icon {
    transform: translate(-50%, -50%) scale(1.06);
  }
  .youtube-player__btn:hover .youtube-player__icon-bg,
  .youtube-player__btn:focus-visible .youtube-player__icon-bg {
    fill: var(--color-rosa-500);
    fill-opacity: 1;
  }
  .youtube-player__btn:focus-visible {
    outline: 3px solid var(--color-rosa-400);
    outline-offset: 2px;
  }
  .recipe-ficha__terms {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 2.5rem;
  }
  .recipe-ficha__actions {
    margin-top: 1.5rem;
  }
  .recipe-ficha__term-group {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .5rem .75rem;
  }
  .recipe-ficha__term-label {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    color: var(--color-navy-300);
    flex-shrink: 0;
    font-size: .62rem;
    letter-spacing: .09em;
  }
  .recipe-ficha__chips {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .recipe-ficha__author {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
    margin-top: 2.5rem;
    padding: 1.5rem;
    border-radius: var(--radius-card);
    background: var(--color-mint-50);
    border: 1px solid var(--color-mint-100);
  }
  .recipe-ficha__author-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    flex-shrink: 0;
  }
  .recipe-ficha__author-body {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
  }
  .recipe-ficha__author-eyebrow {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    color: var(--color-mint-600);
    font-size: .6rem;
    letter-spacing: .08em;
  }
  .recipe-ficha__author-name {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
    color: var(--color-navy-900);
    width: max-content;
    max-width: 100%;
    font-size: 1.1rem;
    text-decoration: none;
    &:hover { color: var(--color-rosa-600); }
  }
  .recipe-ficha__author-bio {
    margin: .15rem 0 0;
    font-size: .875rem;
    line-height: 1.5;
    color: var(--color-navy-500);
  }
  .recipe-ficha__related {
    margin-top: 1.25rem;
  }
  .recipe-ficha__related .recipe-grid-title {
    margin-bottom: 1.25rem;
  }
  .recipe-grid.recipe-grid--related {
    grid-template-columns: repeat(var(--related-cols, 3), minmax(0, 1fr));
  }
  @media (max-width: 620px) {
    .recipe-grid.recipe-grid--related {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 380px) {
    .recipe-grid.recipe-grid--related {
      grid-template-columns: 1fr;
    }
  }
  @media (max-width: 480px) {
    .recipe-ficha__author {
      gap: 1rem;
      padding: 1.25rem;
    }
    .recipe-ficha__author-avatar {
      width: 56px;
      height: 56px;
    }
  }
  .site-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
  }
  .home-block {
    margin-bottom: 3rem;
  }
  .single-layout {
    display: grid;
    grid-template-columns: minmax(0, 800px) 280px;
    column-gap: 2.5rem;
    align-items: start;
  }
  .single-layout__intro {
    grid-column: 1 / -1;
    max-width: 800px;
  }
  .single-layout__main {
    grid-column: 1;
    min-width: 0;
    max-width: 800px;
  }
  .single-layout__sidebar {
    grid-column: 2;
    width: 100%;
    padding-top: 1.5rem;
  }
  @media (max-width: 960px) {
    .single-layout {
      grid-template-columns: 1fr;
    }
    .single-layout__intro,
    .single-layout__main,
    .single-layout__sidebar {
      grid-column: 1;
      max-width: 100%;
    }
    .single-layout__sidebar {
      padding-top: 0;
      margin-top: 2.5rem;
    }
  }
  .sidebar-compact-list {
    display: flex;
    flex-direction: column;
    gap: .75rem;
  }
  .sidebar-widget {
    margin-bottom: 2rem;
  }
  .sidebar-widget__title {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-navy-700);
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .09em;
    margin-bottom: .75rem;
    padding-bottom: .4rem;
    border-bottom: 2px solid var(--color-navy-50);
  }
  .site-header {
    position: sticky;
    top: 0px;
    z-index: 50;
    background: var(--color-cream-50);
    border-bottom: 1px solid var(--color-cream-100);
    box-shadow: 0 1px 5px rgba(43,52,83,.07);
  }
  .site-header__inner {
    margin-inline: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 6);
    max-width: 1200px;
    padding: 0 1.5rem;
    height: 64px;
  }
  .site-header__logo {
    flex-shrink: 0;
  }
  .site-header__logo a {
    display: flex;
    align-items: center;
    text-decoration-line: none;
  }
  .site-header__logo img {
    display: block;
    height: 40px;
    width: auto;
    max-width: 160px;
  }
  .site-nav {
    display: flex;
    flex: 1;
    align-items: center;
    gap: calc(var(--spacing) * 0.5);
    justify-content: center;
  }
  .site-nav__link {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-navy-700);
    padding: .45rem .7rem;
    border-radius: 8px;
    text-decoration: none;
    white-space: nowrap;
    transition: background .12s, color .12s;
    &:hover {
      background: #ffdcc0;
      color: var(--color-navy-900);
    }
    &.is-active {
      color: var(--color-rosa-600);
    }
  }
  .site-nav__arrow {
    color: var(--color-navy-300);
    font-size: 1.2em;
    display: inline-block;
    transition: transform .15s;
  }
  .site-nav__link:hover .site-nav__arrow {
    transform: rotate(180deg);
  }
  .site-nav__toggle {
    display: none;
  }
  .site-header__actions {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: calc(var(--spacing) * 2);
  }
  .site-header__search {
    display: inline-flex;
    align-items: center;
    gap: calc(var(--spacing) * 1.5);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--color-navy-500);
    padding: .42rem .72rem;
    background: var(--color-card);
    border: 1px solid var(--color-cream-200);
    border-radius: 8px;
    text-decoration: none;
    white-space: nowrap;
    transition: border-color .12s, color .12s;
    &:hover {
      border-color: var(--color-mint-200);
      color: var(--color-navy-700);
    }
    svg {
      width: 14px;
      height: 14px;
      flex-shrink: 0;
    }
  }
  .site-header__search-btn {
    display: inline-flex;
    padding: 0;
    background: transparent;
    border: none;
    color: inherit;
    cursor: pointer;
  }
  .site-header__search-input {
    width: 9rem;
    min-width: 0;
    padding: 0;
    font: inherit;
    color: var(--color-navy-700);
    background: transparent;
    border: none;
    outline: none;
    &::placeholder {
      color: var(--color-navy-300);
    }
    @media (max-width: 768px) {
      width: 6.5rem;
    }
  }
  .site-header__search:focus-within {
    border-color: var(--color-mint-500);
    outline: 2px solid var(--color-mint-500);
    outline-offset: 2px;
  }
  .site-header__search-toggle {
    color: var(--color-navy-700);
    display: none;
    padding: .4rem;
    background: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background .12s;
    &:hover {
      background: var(--color-navy-50);
    }
    svg {
      width: 20px;
      height: 20px;
    }
  }
  .site-header__search-close {
    display: none;
    padding: .3rem;
    background: transparent;
    border: none;
    color: var(--color-navy-500);
    cursor: pointer;
    flex-shrink: 0;
    svg {
      width: 16px;
      height: 16px;
    }
  }
  .site-header__burger {
    color: var(--color-navy-700);
    padding: .4rem;
    background: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background .12s;
    display: none;
    &:hover {
      background: var(--color-navy-50);
    }
    svg {
      width: 22px;
      height: 22px;
    }
  }
  .site-nav__dropdown {
    position: relative;
    &::after {
      content: '';
      position: absolute;
      bottom: -8px;
      left: 0;
      right: 0;
      height: 8px;
    }
  }
  .site-nav__dropdown:hover .site-nav__menu, .site-nav__dropdown:focus-within .site-nav__menu {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }
  .site-nav__menu {
    position: absolute;
    top: 100%;
    left: 0;
    width: max-content;
    background: var(--color-card);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card-hover);
    border: 1px solid var(--color-navy-50);
    padding: 8px .5rem .5rem;
    min-width: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-6px);
    transition: opacity .15s, transform .15s;
    z-index: 200;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: .25rem 1rem;
    align-items: flex-start;
  }
  .site-nav__col {
    display: flex;
    flex-direction: column;
    min-width: 130px;
  }
  .site-nav__col-head {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
  }
  .site-nav__col-head .site-nav__col-title {
    flex: 1;
  }
  .site-nav__col-title {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-navy-500);
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .07em;
    padding: .4rem .75rem .5rem;
    text-decoration: none;
    display: block;
    white-space: nowrap;
    border-bottom: 1px solid var(--color-navy-50);
    margin-bottom: .2rem;
    transition: color .12s;
    &:hover {
      color: var(--color-rosa-600);
    }
    &.is-active {
      color: var(--color-rosa-600);
    }
  }
  .site-nav__submenu {
    display: flex;
    flex-direction: column;
    padding-bottom: .25rem;
  }
  .site-nav__sub-item {
    display: block;
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    color: var(--color-navy-700);
    padding: .35rem .75rem;
    border-radius: 6px;
    text-decoration: none;
    white-space: nowrap;
    transition: background .12s;
    &:hover {
      background: var(--color-navy-50);
    }
    &.is-active {
      color: var(--color-rosa-600);
    }
  }
  .site-nav__menu-item {
    display: block;
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    color: var(--color-navy-700);
    padding: .45rem .75rem;
    border-radius: 8px;
    text-decoration: none;
    transition: background .12s;
    &:hover {
      background: var(--color-navy-50);
    }
  }
  @media (max-width: 768px) {
    .site-nav {
      display: none;
    }
    .site-header__burger {
      display: flex;
    }
    .site-header__search {
      display: none;
    }
    .site-header__search-toggle {
      display: inline-flex;
    }
    .site-header.is-search-open .site-header__logo,
    .site-header.is-search-open .site-nav,
    .site-header.is-search-open .site-header__burger,
    .site-header.is-search-open .site-header__search-toggle {
      display: none;
    }
    .site-header.is-search-open .site-header__actions {
      flex: 1 1 auto;
      width: 100%;
    }
    .site-header.is-search-open .site-header__search {
      display: flex;
      width: 100%;
    }
    .site-header.is-search-open .site-header__search-input {
      width: auto;
      flex: 1;
    }
    .site-header.is-search-open .site-header__search-close {
      display: inline-flex;
    }
  }
  .site-header.is-open .site-nav {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    position: absolute;
    left: 0;
    right: 0;
    top: 64px;
    background: var(--color-card);
    padding: .75rem 1.5rem 1.25rem;
    border-bottom: 1px solid var(--color-cream-100);
    box-shadow: var(--shadow-card-hover);
    z-index: 100;
  }
  .site-header.is-open .site-nav > .site-nav__link {
    display: block;
    width: 100%;
  }
  .site-header.is-open .site-nav__dropdown {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    &::after {
      display: none;
    }
  }
  .site-header.is-open .site-nav__dropdown .site-nav__link {
    flex: 1;
    white-space: normal;
  }
  .site-header.is-open .site-nav__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    background: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    color: var(--color-navy-500);
    flex-shrink: 0;
    transition: background .12s;
    &:hover {
      background: var(--color-navy-50);
    }
    svg {
      display: block;
      transition: transform .2s;
    }
  }
  .site-header.is-open .site-nav__dropdown.is-open > .site-nav__toggle svg {
    transform: rotate(180deg);
  }
  .site-header.is-open .site-nav__col.is-open .site-nav__toggle svg {
    transform: rotate(180deg);
  }
  .site-header.is-open .site-nav__dropdown .site-nav__menu {
    display: none;
    position: static;
    opacity: 1;
    transform: none;
    pointer-events: auto;
    box-shadow: none;
    border: none;
    border-radius: 0;
    border-left: 2px solid var(--color-navy-50);
    background: transparent;
    padding: .25rem 0 .25rem 1rem;
    min-width: 0;
    margin-top: .25rem;
    flex-basis: 100%;
    width: 100%;
  }
  .site-header.is-open .site-nav__dropdown.is-open .site-nav__menu {
    display: flex;
    flex-direction: column;
    gap: .5rem;
  }
  .site-header.is-open .site-nav__col {
    width: 100%;
  }
  .site-header.is-open .site-nav__col-title {
    padding: .5rem .75rem .35rem;
    border-bottom-color: var(--color-navy-50);
  }
  .site-header.is-open .site-nav__col .site-nav__submenu {
    display: none;
  }
  .site-header.is-open .site-nav__col.is-open .site-nav__submenu {
    display: flex;
  }
  .site-header.is-open .site-nav__link,
  .site-header.is-open .site-nav__col-title,
  .site-header.is-open .site-nav__sub-item,
  .site-header.is-open .site-nav__menu-item {
    color: var(--color-navy-700);
    font-size: var(--text-sm);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    text-transform: none;
    letter-spacing: normal;
  }
  .site-header.is-open .site-nav__sub-item {
    padding-left: 1.25rem;
  }
  .site-header.is-open .site-nav__arrow {
    display: none;
  }
  .site-header--wide .site-header__inner {
    flex-direction: column;
    height: auto;
    padding-top: 1rem;
    padding-bottom: 0;
    gap: .5rem;
  }
  .site-header--wide .site-header__logo a {
    font-size: 1.4rem;
    justify-content: center;
  }
  .site-header--wide .site-nav {
    justify-content: center;
    flex: none;
    border-top: 1px solid var(--color-navy-50);
    padding: .15rem 0;
    margin-top: .5rem;
  }
  .site-header--wide .site-header__actions, .site-header--wide  .site-header__burger {
    display: none;
  }
  .recipe-grid {
    display: grid;
    gap: calc(var(--spacing) * 5);
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }
  .recipe-grid--2 {
    display: grid;
    gap: calc(var(--spacing) * 5);
    grid-template-columns: repeat(2, 1fr);
    @media (max-width: 520px) {
      grid-template-columns: 1fr;
    }
  }
  .recipe-grid--3 {
    display: grid;
    gap: calc(var(--spacing) * 5);
    grid-template-columns: repeat(3, 1fr);
    @media (max-width: 700px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (max-width: 440px) {
      grid-template-columns: 1fr;
    }
  }
  .recipe-grid--4 {
    display: grid;
    gap: calc(var(--spacing) * 5);
    grid-template-columns: repeat(4, 1fr);
    @media (max-width: 900px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (max-width: 520px) {
      grid-template-columns: 1fr;
    }
  }
  .recipe-grid--5 {
    display: grid;
    gap: calc(var(--spacing) * 5);
    grid-template-columns: repeat(5, 1fr);
    @media (max-width: 900px) {
      grid-template-columns: repeat(3, 1fr);
    }
    @media (max-width: 520px) {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (max-width: 520px) {
    .recipe-grid.recipe-grid--mobile-1 {
      grid-template-columns: 1fr;
    }
    .recipe-grid.recipe-grid--mobile-2 {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .recipe-grid-section {
    padding-block: calc(var(--spacing) * 8);
  }
  .recipe-grid-header {
    margin-bottom: calc(var(--spacing) * 5);
    display: flex;
    align-items: baseline;
    justify-content: space-between;
  }
  .recipe-grid-title {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
    color: var(--color-navy-700);
  }
  .ranked-list-group__columns {
    display: grid;
    gap: calc(var(--spacing) * 8);
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
  .ranked-list__title {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
    color: var(--color-navy-700);
    margin-bottom: calc(var(--spacing) * 4);
  }
  .ranked-list__items {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 1);
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .ranked-list__pill {
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 2);
    padding: .3rem .75rem .3rem .3rem;
    border-radius: var(--radius-pill);
    text-decoration: none;
    transition: background .12s;
    &:hover {
      background: var(--color-navy-50);
      .ranked-list__link {
        text-decoration: underline;
      }
    }
  }
  .ranked-list__thumb-wrap {
    position: relative;
    flex-shrink: 0;
  }
  .ranked-list__thumb {
    display: block;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: var(--radius-control);
    object-fit: cover;
  }
  .ranked-list__rank {
    display: flex;
    align-items: center;
    justify-content: center;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: white;
    position: absolute;
    bottom: -.25rem;
    right: -.25rem;
    width: 1.125rem;
    height: 1.125rem;
    border-radius: 50%;
    background: var(--color-navy-700);
    font-size: .6rem;
    line-height: 1;
    border: 2px solid var(--color-card);
    font-variant-numeric: tabular-nums;
  }
  .ranked-list__rank--plain {
    color: var(--color-navy-300);
    position: static;
    width: 1.5rem;
    height: auto;
    background: none;
    border: 0;
    font-size: .75rem;
    flex-shrink: 0;
  }
  .ranked-list__link {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    color: var(--color-navy-700);
    line-height: 1.3;
  }
  .editorial-text__title {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
    color: var(--color-navy-700);
    margin-bottom: 1rem;
  }
  .editorial-text__body {
    max-width: 65ch;
    > :last-child {
      margin-bottom: 0;
    }
  }
  .youtube-block__layout {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
  @media (min-width: 768px) {
    .youtube-block__layout {
      flex-direction: row;
      align-items: flex-start;
    }
  }
  .youtube-block__main {
    flex: 1 1 0%;
    min-width: 0;
  }
  .youtube-block__main .youtube-player {
    margin: 0;
  }
  .youtube-block__aside {
    display: flex;
    flex-direction: column;
    gap: .75rem;
  }
  @media (min-width: 768px) {
    .youtube-block__aside {
      width: 300px;
      flex-shrink: 0;
    }
  }
  .youtube-block__cta {
    justify-content: center;
    width: 100%;
  }
  .youtube-block__list {
    display: flex;
    flex-direction: row;
    gap: .75rem;
    margin: 0;
    padding: 3px;
    list-style: none;
    overflow-x: auto;
  }
  .youtube-block__list li {
    flex-shrink: 0;
  }
  @media (min-width: 768px) {
    .youtube-block__list {
      flex-direction: column;
    }
  }
  @media (min-width: 768px) {
    .youtube-block__list {
      padding: 0;
      overflow-x: visible;
    }
  }
  .youtube-block__thumb {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    width: 200px;
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
    border-radius: var(--radius-control);
    text-align: left;
    cursor: pointer;
    transition: background .12s, box-shadow .12s;
    &:hover {
      background: var(--color-navy-50);
    }
    &:focus-visible {
      outline: 2px solid var(--color-mint-500);
      outline-offset: 2px;
    }
    &.is-active {
      background: var(--color-mint-50);
      box-shadow: 0 0 0 2px var(--color-mint-500);
    }
  }
  @media (min-width: 768px) {
    .youtube-block__thumb {
      flex-direction: row;
      align-items: center;
    }
  }
  @media (min-width: 768px) {
    .youtube-block__thumb {
      width: 100%;
    }
  }
  .youtube-block__thumb-img {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    flex-shrink: 0;
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-control);
  }
  .youtube-block__thumb-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  @media (min-width: 768px) {
    .youtube-block__thumb-img {
      width: 8.5rem;
    }
  }
  .youtube-block__thumb-icon {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .youtube-block__thumb-title {
    font-size: var(--text-sm);
    color: var(--color-navy-700);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
  }
  /* ── Stat cards (stat_list block): big value + label ───── */

  .stat-card {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding: 1.25rem 1.5rem;
    background: var(--color-card);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
  }

  .stat-card__icon {
    line-height: 0;
    color: var(--color-navy-300);
    margin-bottom: .25rem;

    svg { fill: currentColor; }
  }

  .stat-card__value {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 800;
    line-height: 1.1;
    color: var(--color-navy-900);
  }

  .stat-card__label {
    font-size: .875rem;
    line-height: 1.4;
    color: var(--color-navy-500);
  }

  .stat-list__note {
    margin-top: .75rem;
    font-size: .8125rem;
    color: var(--color-navy-300);
  }
  /* ── Logo grid (logo_grid block) ─────────────────────── */

  .logo-grid__item {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 3 / 2;
    padding: 1rem;
    background: var(--color-card);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
  }

  .logo-grid__img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  /* ── Embedded form (embed_form block) ────────────────── */

  .embed-form {
    /* the sticky header is 64px tall: keep in-page #anchors clear of it */
    scroll-margin-top: 5rem;
  }

  .embed-form__text {
    margin-bottom: 1.25rem;
  }

  .embed-form__frame {
    display: block;
    width: 100%;
    max-width: 540px;
    border: 0;
  }
  /* ── Call to action (cta_button block) ───────────────── */

  .cta-block {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 1.5rem;
  }

  .cta-block__text {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-navy-700);
  }
  .site-footer {
    background: var(--color-navy-900);
    color: var(--color-navy-100);
    padding: 3rem 0 1.5rem;
  }
  .site-footer__inner {
    margin-inline: auto;
    max-width: 1200px;
    padding: 0 1.5rem;
  }
  .site-footer__grid {
    display: grid;
    gap: calc(var(--spacing) * 8);
    padding-bottom: calc(var(--spacing) * 8);
    grid-template-columns: 2fr 1fr 1fr 1fr;
    border-bottom: 1px solid rgba(255,255,255,.08);
    @media (max-width: 900px) {
      grid-template-columns: 1fr 1fr;
    }
    @media (max-width: 480px) {
      grid-template-columns: 1fr;
    }
  }
  .site-footer__logo {
    display: inline-block;
    margin-bottom: 1rem;
  }
  .site-footer__logo img {
    display: block;
    width: auto;
    height: auto;
    max-width: 200px;
  }
  .site-footer__tagline {
    font-size: .875rem;
    color: var(--color-navy-300);
    line-height: 1.5;
    max-width: 40ch;
    margin-bottom: 1.25rem;
  }
  .site-footer__col-title {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    font-size: .62rem;
    letter-spacing: .09em;
    color: var(--color-navy-300);
    margin-bottom: .65rem;
  }
  .site-footer__link {
    display: block;
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    color: var(--color-navy-100);
    padding: .22rem 0;
    text-decoration: none;
    transition: color .12s;
    &:hover {
      color: white;
    }
  }
  .site-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .25rem 1.5rem;
    padding-top: calc(var(--spacing) * 4);
    font-size: .72rem;
    color: var(--color-navy-300);
  }
  .site-footer__sep {
    margin: 0 .4rem;
    opacity: .5;
  }
  .site-footer__copy a {
    color: var(--color-navy-100);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .12s;
    &:hover { color: white; }
  }
  .site-footer__legal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem 1rem;
  }
  .site-footer__legal-link {
    color: var(--color-navy-300);
    text-decoration: none;
    font-size: .72rem;
    transition: color .12s;
    &:hover {
      color: white;
    }
  }
  @media (max-width: 768px) {
    .site-footer__bottom {
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: .75rem;
    }
    .site-footer__copy {
      display: contents;
    }
    .site-footer__sep {
      display: none;
    }
    .site-footer__legal {
      order: 1;
      justify-content: center;
    }
    .site-footer__credits {
      order: 2;
    }
    .site-footer__copyright {
      order: 3;
    }
  }
  .site-footer__social {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1rem;
    list-style: none;
    margin: 0;
    padding: 0;
    a {
      color: var(--color-navy-300);
      display: inline-flex;
      transition: color .12s;
      &:hover {
        color: white;
      }
    }
    svg {
      display: block;
      width: 20px;
      height: 20px;
      fill: currentColor;
    }
  }
  .archive-header {
    margin-bottom: 1.5rem;
  }
  .archive-header__title {
    font-size: clamp(1.4rem, 3vw, 2rem);
    font-weight: 800;
    color: var(--color-navy-900);
  }
  .archive-header__description {
    margin-top: .5rem;
    font-size: .9375rem;
    color: var(--color-navy-500);
    max-width: 65ch;
  }
  .archive-subcategory-grid {
    margin-bottom: 2.5rem;
  }
  .page-layout {
    max-width: 800px;
  }
  .page-header {
    margin-bottom: 1.75rem;
  }
  .page-header__title {
    margin-top: .75rem;
    font-size: clamp(1.6rem, 3.5vw, 2.5rem);
    font-weight: 800;
    line-height: 1.25;
    color: var(--color-navy-900);
    text-wrap: balance;
  }
  .page-content, .editorial-text__body {
    font-size: .9375rem;
    line-height: 1.625;
    color: var(--color-navy-700);
    p {
      margin-bottom: 1rem;
    }
    h2 {
      margin: 2rem 0 .75rem;
      font-size: 1.25rem;
      font-weight: 700;
      line-height: 1.4;
      color: var(--color-navy-700);
    }
    h3 {
      margin: 1.5rem 0 .5rem;
      font-size: 1.125rem;
      font-weight: 700;
      line-height: 1.4;
      color: var(--color-navy-700);
    }
    h4 {
      margin: 1.25rem 0 .5rem;
      font-size: 1rem;
      font-weight: 700;
      color: var(--color-navy-700);
    }
    ul, ol {
      margin-bottom: 1rem;
      padding-left: 1.25rem;
    }
    ul {
      list-style: disc;
    }
    ol {
      list-style: decimal;
    }
    li + li {
      margin-top: .25rem;
    }
    strong {
      font-weight: 700;
    }
    a {
      color: var(--color-rosa-600);
      text-decoration: underline;
      text-underline-offset: 2px;
      transition: color .12s;
      &:hover {
        color: var(--color-rosa-700);
      }
    }
    img {
      display: block;
      max-width: 100%;
      height: auto;
      margin: 1.75rem auto;
      border-radius: var(--radius-card);
    }
    iframe {
      max-width: 100%;
    }
  }
  .page-content {
    padding-bottom: 3rem;
  }
  .breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem;
    font-size: .825rem;
    color: var(--color-navy-300);
    line-height: 1.4;
  }
  .breadcrumb__link {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--color-navy-500);
    text-decoration: none;
    transition: color .12s;
    &:hover {
      color: var(--color-rosa-600);
    }
  }
  .breadcrumb__sep {
    color: var(--color-navy-300);
    user-select: none;
    font-size: .75em;
  }
  .breadcrumb__current {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-navy-700);
    max-width: 30ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    margin-block: 2rem;
  }
  .pagination__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-navy-700);
    min-width: 36px;
    height: 36px;
    padding: 0 .55rem;
    border-radius: var(--radius-control);
    font-size: .875rem;
    text-decoration: none;
    transition: background .12s, color .12s, border-color .12s;
    &:hover {
      background: var(--color-navy-50);
    }
    &:focus-visible {
      outline: 2px solid var(--color-mint-500);
      outline-offset: 2px;
    }
  }
  .pagination__link--active {
    background: var(--grad-rosa);
    color: white;
    pointer-events: none;
    &:hover {
      background: var(--grad-rosa);
    }
  }
  .pagination__link--prev, .pagination__link--next {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-navy-500);
    gap: .35rem;
    padding: 0 .875rem;
    border: 1px solid var(--color-navy-100);
    &:hover {
      color: var(--color-navy-700);
      background: var(--color-navy-50);
      border-color: var(--color-navy-200);
    }
    &[aria-disabled] {
      opacity: .4;
      pointer-events: none;
    }
  }
  .pagination__ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-navy-300);
    min-width: 36px;
    height: 36px;
    font-size: .875rem;
    user-select: none;
  }
  .accordion {
    border: 1px solid var(--color-navy-100);
    border-radius: var(--radius-card);
    overflow: hidden;
  }
  .accordion__item {
    border-bottom: 1px solid var(--color-navy-100);
    &:last-child {
      border-bottom: none;
    }
  }
  .accordion__trigger {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-navy-700);
    padding: .9rem 1.25rem;
    background: var(--color-card);
    border: none;
    cursor: pointer;
    font-size: .9375rem;
    font-family: inherit;
    transition: background .12s;
    &:hover {
      background: var(--color-navy-50);
    }
    &:focus-visible {
      outline: 2px solid var(--color-mint-500);
      outline-offset: -2px;
    }
  }
  .accordion__icon {
    flex-shrink: 0;
    color: var(--color-navy-300);
    font-size: .7em;
    transition: transform .2s;
  }
  .accordion__trigger[aria-expanded="true"] {
    background: var(--color-mint-50);
    .accordion__icon {
      transform: rotate(180deg);
    }
  }
  .accordion__content {
    color: var(--color-navy-700);
    padding: 0 1.25rem 1rem;
    background: var(--color-card);
    font-size: .9375rem;
    line-height: 1.6;
    display: none;
    &.is-open {
      display: block;
    }
  }
  .toc {
    background: var(--color-navy-50);
    border: 1px solid var(--color-navy-100);
    border-radius: var(--radius-card);
    padding: 1rem 1.25rem;
    font-size: .875rem;
  }
  .toc__title {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-navy-700);
    text-transform: uppercase;
    font-size: .62rem;
    letter-spacing: .09em;
    margin-bottom: .75rem;
  }
  .toc__list {
    list-style: none;
    counter-reset: toc-item;
  }
  .toc__item {
    margin-bottom: .3rem;
  }
  .toc__link {
    display: flex;
    align-items: baseline;
    gap: calc(var(--spacing) * 2);
    color: var(--color-navy-700);
    text-decoration: none;
    line-height: 1.4;
    transition: color .12s;
    &::before {
      counter-increment: toc-item;
      content: counter(toc-item) ".";
      flex-shrink: 0;
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
      color: var(--color-navy-300);
      font-size: .75em;
      font-variant-numeric: tabular-nums;
    }
    &:hover {
      color: var(--color-rosa-600);
    }
  }
  .notice {
    display: flex;
    gap: calc(var(--spacing) * 3);
    padding: .875rem 1rem;
    border-radius: var(--radius-card);
    font-size: .9rem;
    line-height: 1.5;
    strong {
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
    }
  }
  .notice__icon {
    flex-shrink: 0;
    font-size: 1.1em;
    margin-top: .075em;
  }
  .notice__body {
    flex: 1;
  }
  .notice--info {
    background: var(--color-navy-50);
    color: var(--color-navy-700);
    border-left: 3px solid var(--color-navy-500);
    border-radius: 0 var(--radius-card) var(--radius-card) 0;
    .notice__icon {
      color: var(--color-navy-500);
    }
  }
  .notice--tip {
    background: var(--color-mint-50);
    color: var(--color-mint-800);
    border-left: 3px solid var(--color-mint-500);
    border-radius: 0 var(--radius-card) var(--radius-card) 0;
    .notice__icon {
      color: var(--color-mint-600);
    }
  }
  .notice--warning {
    background: #fef9ec;
    color: #78520d;
    border-left: 3px solid var(--color-gold);
    border-radius: 0 var(--radius-card) var(--radius-card) 0;
    .notice__icon {
      color: var(--color-gold);
    }
  }
  .notice--error {
    background: var(--color-rosa-50);
    color: var(--color-rosa-800);
    border-left: 3px solid var(--color-rosa-500);
    border-radius: 0 var(--radius-card) var(--radius-card) 0;
    .notice__icon {
      color: var(--color-rosa-600);
    }
  }
  @keyframes skeleton-shimmer {
    from {
      background-position: 200% 0;
    }
    to {
      background-position: -200% 0;
    }
  }
  .skeleton {
    background: var(--skeleton-gradient);
    background-size: 200% 100%;
    animation: skeleton-shimmer 1.5s ease-in-out infinite;
    border-radius: 6px;
  }
  .skeleton--text {
    height: 1em;
    width: 100%;
  }
  .skeleton--title {
    height: 1.5em;
    width: 60%;
  }
  .skeleton--thumb {
    width: 100%;
    aspect-ratio: 16/9;
    border-radius: var(--radius-card);
  }
  .skeleton-card {
    border-radius: var(--radius-card);
    overflow: hidden;
    box-shadow: var(--shadow-card);
  }
  .skeleton-card__img {
    background: var(--skeleton-gradient);
    background-size: 200% 100%;
    animation: skeleton-shimmer 1.5s ease-in-out infinite;
    aspect-ratio: 16/9;
    width: 100%;
  }
  .skeleton-card__body {
    padding: calc(var(--spacing) * 4);
  }
  .skeleton-card__line {
    background: var(--skeleton-gradient);
    background-size: 200% 100%;
    animation: skeleton-shimmer 1.5s ease-in-out infinite;
    border-radius: 6px;
    height: 1em;
    width: 100%;
    margin-bottom: .55rem;
  }
  .skeleton-card__line--short {
    width: 55%;
  }
  .skeleton-card__line--xs {
    width: 35%;
  }
  .empty-state {
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 3rem 1.5rem;
    max-width: 380px;
  }
  .empty-state__icon {
    font-size: 2.75rem;
    line-height: 1;
    margin-bottom: 1rem;
    opacity: .65;
  }
  .empty-state__title {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-navy-700);
    font-size: 1.05rem;
    margin-bottom: .4rem;
  }
  .empty-state__body {
    color: var(--color-navy-500);
    font-size: .875rem;
    line-height: 1.55;
    margin-bottom: 1.25rem;
  }
  .form-alert {
    display: flex;
    align-items: flex-start;
    gap: calc(var(--spacing) * 3);
    padding: .75rem 1rem;
    border-radius: var(--radius-control);
    font-size: .875rem;
    line-height: 1.4;
    border: 1px solid transparent;
  }
  .form-alert__icon {
    flex-shrink: 0;
    width: 17px;
    height: 17px;
    margin-top: .1em;
  }
  .form-alert__body {
    flex: 1;
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .form-alert--success {
    background: var(--color-mint-50);
    color: var(--color-mint-800);
    border-color: var(--color-mint-200);
    .form-alert__icon {
      color: var(--color-mint-600);
    }
  }
  .form-alert--error {
    background: var(--color-rosa-50);
    color: var(--color-rosa-800);
    border-color: var(--color-rosa-200);
    .form-alert__icon {
      color: var(--color-rosa-600);
    }
  }
  .form-alert--info {
    background: var(--color-navy-50);
    color: var(--color-navy-700);
    border-color: var(--color-navy-100);
    .form-alert__icon {
      color: var(--color-navy-500);
    }
  }

  /* ══ Comments ══════════════════════════════════════════ */
  .comments {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--color-navy-100);
  }
  .comments__title,
  .comment-reply-title {
    font-size: 1.15rem;
    font-weight: var(--font-weight-extrabold);
    color: var(--color-navy-900);
    margin-bottom: 1.5rem;
  }
  .comments__title-recipe {
    font-weight: var(--font-weight-semibold);
    color: var(--color-navy-500);
  }
  .comments__list {
    list-style: none;
    margin: 0 0 2.5rem;
    padding: 0;
  }
  .comments__list li.comment { margin-bottom: 1.25rem; }
  .comments__list .children {
    list-style: none;
    margin: 1.25rem 0 0;
    padding-left: 1.25rem;
    border-left: 2px solid var(--color-mint-100);
  }
  .comments__list .children li.comment:last-child { margin-bottom: 0; }
  .comment-body {
    padding: 1.25rem;
    border-radius: var(--radius-card);
    background: var(--color-card);
    border: 1px solid var(--color-navy-100);
  }
  .comment.bypostauthor > .comment-body {
    border-color: var(--color-mint-300);
    background: var(--color-mint-50);
  }
  .comment-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem .625rem;
    margin-bottom: .6rem;
  }
  .comment-author {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
  }
  .comment-author .avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin: 0;
  }
  .comment-author .fn {
    font-style: normal;
    font-weight: var(--font-weight-bold);
    color: var(--color-navy-900);
  }
  .comment-author .fn a { color: inherit; text-decoration: none; }
  .comment-author .fn a:hover { color: var(--color-rosa-600); }
  .comment-author .says { display: none; }
  .comment-metadata { font-size: .78rem; }
  .comment-metadata a { color: var(--color-navy-300); text-decoration: none; }
  .comment-metadata a:hover { color: var(--color-navy-500); }
  .comment-content {
    font-size: .9375rem;
    line-height: 1.6;
    color: var(--color-navy-700);
  }
  .comment-content :where(p) { margin: 0 0 .75rem; }
  .comment-content :where(p:last-child) { margin-bottom: 0; }
  .comment-content a { color: var(--color-rosa-600); }
  .comment-awaiting-moderation {
    display: block;
    margin-top: .5rem;
    font-size: .8rem;
    font-style: italic;
    color: var(--color-navy-300);
  }
  .comment .reply { margin-top: .75rem; }
  .comment-reply-link {
    display: inline-flex;
    align-items: center;
    font-size: .8rem;
    font-weight: var(--font-weight-semibold);
    color: var(--color-mint-600);
    text-decoration: none;
  }
  .comment-reply-link:hover { color: var(--color-mint-700); }
  .comment-navigation .nav-links {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
  }
  .comment-navigation {
    margin-bottom: 2rem;
    font-size: .85rem;
  }
  .comment-navigation a { color: var(--color-rosa-600); text-decoration: none; }
  .comments__closed {
    margin-bottom: 2rem;
    font-size: .85rem;
    font-style: italic;
    color: var(--color-navy-300);
  }
  .comment-respond {
    padding: 1.5rem;
    border-radius: var(--radius-card);
    background: var(--color-mint-50);
    border: 1px solid var(--color-mint-100);
  }
  .comment-respond .comment-reply-title small {
    margin-left: .75rem;
    font-size: .8rem;
    font-weight: var(--font-weight-medium);
  }
  .comment-respond .comment-reply-title small a { color: var(--color-rosa-600); }
  .comment-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .comment-form p { margin: 0; }
  .comment-notes,
  .comment-form-cookies-consent {
    font-size: .78rem;
    color: var(--color-navy-300);
  }
  .comment-form label {
    display: block;
    margin-bottom: .3rem;
    font-size: .72rem;
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--color-navy-500);
  }
  .comment-form input[type="text"],
  .comment-form input[type="email"],
  .comment-form input[type="url"],
  .comment-form textarea {
    width: 100%;
    padding: .625rem .75rem;
    font: inherit;
    font-size: .9rem;
    color: var(--color-navy-900);
    background: var(--color-card);
    border: 1px solid var(--color-navy-100);
    border-radius: var(--radius-control);
    transition: border-color .12s, box-shadow .12s;
  }
  .comment-form input[type="text"]:focus,
  .comment-form input[type="email"]:focus,
  .comment-form input[type="url"]:focus,
  .comment-form textarea:focus {
    outline: none;
    border-color: var(--color-mint-400);
    box-shadow: 0 0 0 3px var(--color-mint-100);
  }
  .comment-form textarea {
    min-height: 8rem;
    resize: vertical;
  }
  .comment-form-cookies-consent {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
  }
  .comment-form-cookies-consent input { margin-top: .15rem; }
  .comment-form-cookies-consent label {
    margin: 0;
    text-transform: none;
    letter-spacing: 0;
    font-weight: var(--font-weight-medium);
    color: var(--color-navy-300);
  }
  .comment-form .form-submit { margin: 0; }
  @media (max-width: 480px) {
    .comment-body,
    .comment-respond { padding: 1.125rem; }
    .comments__list .children { padding-left: .875rem; }
  }
}
@media print {
  *, *::before, *::after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: none !important;
    animation: none !important;
  }
  body {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 11pt;
    line-height: 1.5;
    color: #000;
    background: #fff;
  }
  .site-header, .site-footer, .breadcrumb, .recipe-ficha__meta,  .recipe-ficha__servings-btn, .recipe-rating, .pagination, .youtube-player, .recipe-ficha__related, .recipe-ficha__actions, .single-layout__sidebar, .print-hide, .comments, nav[aria-label], #nav-burger, .btn-primary, .btn-secondary, .btn-link {
    display: none !important;
  }
  .site-wrap {
    max-width: 100%;
    padding: 0;
    margin: 0;
  }
  .single-layout {
    display: block;
  }
  .single-layout__intro, .single-layout__main {
    max-width: 100%;
  }
  .recipe-ficha__title {
    font-size: 20pt;
    font-weight: bold;
    margin-bottom: 6pt;
    text-wrap: balance;
  }
  .recipe-info-box {
    display: flex;
    flex-direction: row;
    border: 1pt solid #ccc;
    border-radius: 0;
    margin-bottom: 14pt;
    page-break-inside: avoid;
  }
  .recipe-info-box__item {
    flex: 1;
    padding: 6pt 8pt;
    border-right: 1pt solid #ccc;
  }
  .recipe-info-box__item:last-child {
    border-right: none;
  }
  .recipe-info-box__label {
    font-size: 7pt;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #555 !important;
    display: block;
    margin-bottom: 2pt;
  }
  .recipe-info-box__value {
    font-size: 13pt;
    font-weight: bold;
  }
  .recipe-ficha__servings-ctrl {
    display: inline;
  }
  .recipe-ficha__hero-img {
    width: 100%;
    max-height: 180pt;
    object-fit: cover;
    border-radius: 0;
    margin-bottom: 16pt;
    page-break-after: avoid;
  }
  .recipe-ficha__body {
    display: block;
    column-count: 2;
    column-gap: 24pt;
    column-rule: 1pt solid #e0e0e0;
  }
  .recipe-ficha__ingredients, .recipe-ficha__instructions {
    break-inside: avoid-column;
  }
  .recipe-ficha__ingredients h2, .recipe-ficha__instructions h2 {
    font-size: 10pt;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-weight: bold;
    border-bottom: 1.5pt solid #000;
    padding-bottom: 3pt;
    margin-bottom: 8pt;
  }
  .recipe-ficha__ingredient-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .recipe-ficha__ingredient {
    border-bottom: none;
    padding: 2pt 0;
    display: flex;
    gap: 6pt;
    align-items: baseline;
  }
  .recipe-ficha__ingredient-cb {
    flex-shrink: 0;
    appearance: none;
    width: 9pt;
    height: 9pt;
    border: 1pt solid #000;
    display: inline-block;
    vertical-align: middle;
    margin-top: 1pt;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .recipe-ficha__ingredient-text {
    font-size: 10pt;
  }
  .recipe-ficha__group-title {
    font-size: 8pt;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: bold;
    margin-top: 8pt;
    margin-bottom: 3pt;
    color: #444 !important;
  }
  .recipe-ficha__steps {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10pt;
  }
  .recipe-ficha__step {
    display: flex;
    gap: 8pt;
    page-break-inside: avoid;
  }
  .recipe-ficha__step-number {
    flex-shrink: 0;
    width: 18pt;
    height: 18pt;
    border: 1.5pt solid #000;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 8pt;
    font-weight: bold;
    color: #000 !important;
    background: transparent !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .recipe-ficha__step-body {
    font-size: 10pt;
    line-height: 1.5;
    flex: 1;
  }
  .recipe-ficha__step-img {
    display: none;
  }
  .recipe-ficha__body-fallback {
    font-size: 10pt;
    line-height: 1.55;
  }
  .recipe-ficha::after {
    content: 'recetasdeescandalo.com';
    display: block;
    margin-top: 20pt;
    font-size: 8pt;
    color: #888 !important;
    text-align: center;
    border-top: 1pt solid #e0e0e0;
    padding-top: 6pt;
  }
  @page {
    margin: 15mm 20mm;
    size: A4;
  }
  h1, h2, h3 {
    page-break-after: avoid;
  }
  a[href]::after {
    content: none;
  }
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-ease: initial;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-duration: initial;
      --tw-space-y-reverse: 0;
    }
  }
}
