/* Pick My Meal Today public bundle v17.3. Generated from the canonical source files listed below. */

/* source: app.css */
:root{--bg:#fffaf3;--surface:#fff;--ink:#20201f;--muted:#6d6a64;--accent:#e85d32;--accent2:#f7c45c;--line:#eadfce;--shadow:0 18px 45px rgba(72,49,24,.10)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,#ffe7bb 0,transparent 30%),var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit}.site-header{width:min(1180px,calc(100% - 32px));margin:18px auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-size:1.2rem}.brand span{font-size:1.8rem}.site-header nav{display:flex;align-items:center;gap:18px}.site-header nav a{text-decoration:none;font-weight:700}.language-switch{border:1px solid var(--line);border-radius:12px;padding:9px 12px;background:#fff}main{min-height:75vh}.hero{width:min(1180px,calc(100% - 32px));margin:30px auto 22px;padding:58px;border-radius:32px;background:linear-gradient(135deg,#28231f,#4a3528);color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"🥘";position:absolute;right:4%;bottom:-35px;font-size:11rem;opacity:.18;transform:rotate(-10deg)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:800;color:#ffd782}.hero h1{font-size:clamp(2.6rem,7vw,6rem);line-height:.95;max-width:780px;margin:.25em 0}.hero p{max-width:680px;color:#eee0d5;font-size:1.08rem}.search-bar{display:flex;gap:10px;max-width:820px;background:#fff;padding:9px;border-radius:18px;margin-top:28px;position:relative;z-index:1}.search-bar input{flex:1;border:0;padding:15px 16px;font-size:1rem;outline:none;min-width:0}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:13px;padding:14px 18px;background:var(--accent);color:#fff;text-decoration:none;font-weight:800;cursor:pointer}.button.secondary{background:#fff3dd;color:#7f401f}.section{width:min(1180px,calc(100% - 32px));margin:38px auto}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.section h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 30px rgba(83,58,26,.06);transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card-image{aspect-ratio:16/10;background:#f2e7d7;display:block;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover}.placeholder{height:100%;display:grid;place-items:center;font-size:4rem}.card-body{padding:19px}.card h3{margin:0 0 8px;font-size:1.25rem}.card h3 a{text-decoration:none}.meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.source-pill{display:inline-flex;margin-top:14px;font-size:.82rem;background:#f6f0e7;padding:6px 9px;border-radius:999px;color:#654d3c}.empty{padding:40px;border:2px dashed var(--line);border-radius:20px;text-align:center;color:var(--muted)}.recipe-layout{width:min(1050px,calc(100% - 32px));margin:30px auto;display:grid;grid-template-columns:1.1fr .9fr;gap:34px}.recipe-media img{width:100%;border-radius:28px;box-shadow:var(--shadow)}.recipe-content{background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px}.recipe-content h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1;margin:.15em 0}.ingredients{white-space:pre-line;background:#fffaf1;border-radius:16px;padding:20px;border:1px solid var(--line)}.source-box{margin-top:24px;padding:18px;border-radius:16px;background:#28231f;color:#fff}.source-box a{margin-top:10px}.note{font-size:.86rem;color:var(--muted)}.flash{width:min(900px,calc(100% - 32px));margin:10px auto;padding:14px 18px;border-radius:12px;background:#e9f8ee}.flash.error{background:#ffe7e4}.site-footer{width:min(1180px,calc(100% - 32px));margin:50px auto 20px;padding:22px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted)}.admin-shell{width:min(1100px,calc(100% - 32px));margin:24px auto}.admin-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit;background:#fff}.field textarea{min-height:120px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.login-card{width:min(460px,calc(100% - 32px));margin:80px auto}.danger{background:#b7382c}.split-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:820px){.hero{padding:34px 24px}.hero:after{font-size:7rem}.grid{grid-template-columns:1fr 1fr}.recipe-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:560px){.site-header{align-items:flex-start}.site-header nav{gap:10px}.site-header nav a{display:none}.search-bar{flex-direction:column}.grid{grid-template-columns:1fr}.site-footer{flex-direction:column}.hero h1{font-size:3rem}}
.crawler-panel{margin-top:20px}.crawler-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.crawler-stats>div{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fffaf3;display:flex;flex-direction:column}.crawler-stats strong{font-size:1.8rem}.crawler-stats span{color:var(--muted)}.check-row{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px}.check-row input{width:auto}.copy-line{display:flex;gap:10px}.copy-line input{flex:1;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit}.text-error{color:#b7382c}@media(max-width:680px){.crawler-stats{grid-template-columns:1fr 1fr}.copy-line{flex-direction:column}}

/* ================================================================
   Pick My Meal Today — layout stability pass
   ================================================================ */
:root {
  --site-width: 1420px;
  --content-width: 1320px;
  --reading-width: 1120px;
}

.skip-link{position:fixed;z-index:20000;top:10px;left:10px;padding:10px 14px;border-radius:10px;background:#fff;color:#241c22;font-weight:800;text-decoration:none;box-shadow:0 8px 28px rgba(0,0,0,.2);transform:translateY(-160%);transition:transform .16s ease}.skip-link:focus{transform:translateY(0)}
.site-header nav a[aria-current="page"]{background:rgba(122,70,111,.1);color:var(--accent);font-weight:800}
#main-content:focus{outline:none}

html {
  min-width: 320px;
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 2% 4%, rgba(255, 211, 126, .38), transparent 27rem),
    radial-gradient(circle at 96% 12%, rgba(242, 106, 62, .08), transparent 25rem),
    var(--bg);
}

img {
  max-width: 100%;
}

.site-header {
  width: min(var(--content-width), calc(100% - 40px));
  min-height: 68px;
  margin: 0 auto;
  padding: 12px 4px;
  position: relative;
  z-index: 50;
}

.brand {
  flex: 0 0 auto;
  gap: 9px;
  font-size: 1.13rem;
  letter-spacing: -.02em;
  white-space: nowrap;
}

.brand span {
  font-size: 1.55rem;
}

.site-header nav {
  min-width: 0;
  justify-content: flex-end;
  gap: 6px;
}

.site-header nav a {
  min-height: 40px;
  padding: 8px 10px;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: .9rem;
  white-space: nowrap;
  transition: background .16s ease, transform .16s ease;
}

.site-header nav a:hover {
  background: rgba(255,255,255,.72);
  transform: translateY(-1px);
}

.language-switch {
  min-height: 40px;
  padding: 8px 11px;
  cursor: pointer;
}

.section,
.site-footer {
  width: min(var(--content-width), calc(100% - 40px));
}

.hero {
  width: min(var(--content-width), calc(100% - 40px));
}

.grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.card {
  min-width: 0;
}

.card-image {
  position: relative;
}

.card-image img {
  display: block;
}

.card-body {
  min-width: 0;
}

.card h3 {
  line-height: 1.18;
}

.source-pill {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
  white-space: nowrap;
}

.recipe-layout {
  width: min(var(--reading-width), calc(100% - 40px));
}

.site-footer {
  align-items: center;
}

@media (max-width: 1240px) {
  :root {
    --content-width: 1160px;
  }

  .grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

  .site-header nav a {
    padding-inline: 8px;
  }
}

@media (max-width: 900px) {
  .site-header {
    width: calc(100% - 28px);
  }

  .brand-suffix {
    display: none;
  }

  .site-header nav a.nav-secondary {
    display: none;
  }

  .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .section,
  .site-footer,
  .hero,
  .recipe-layout {
    width: calc(100% - 28px);
  }
}

@media (max-width: 620px) {
  .site-header {
    min-height: 58px;
    align-items: center;
    padding-block: 8px;
  }

  .brand {
    font-size: 1rem;
  }

  .brand span {
    font-size: 1.3rem;
  }

  .site-header nav {
    margin-left: auto;
    overflow: visible;
  }

  .site-header nav a.nav-core {
    min-width: 38px;
    padding: 7px;
    justify-content: center;
  }

  .site-header nav .nav-label {
    display: none;
  }

  .language-switch {
    min-height: 38px;
    max-width: 58px;
    padding: 7px 8px;
  }

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

  .section {
    margin-block: 28px;
  }
}

/* ================================================================
   Equal-height recipe card polish
   ================================================================ */
.grid > .card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.grid > .card > .card-image {
  flex: 0 0 auto;
}

.grid > .card > .card-body {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.grid > .card .card-body > h3 {
  min-height: 2.38em;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.grid > .card .card-body > .meta {
  min-height: 1.45rem;
}

.recipe-card-stats,
.browse-card-pills,
.cookbook-card-footer {
  width: 100%;
  margin-top: auto;
  padding-top: 14px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

.recipe-card-stats .source-pill,
.browse-card-pills .source-pill,
.cookbook-card-footer .source-pill {
  margin-top: 0;
}

.recipe-card-stats .card-like-stat,
.browse-card-pills .card-like-stat,
.cookbook-card-footer .card-like-stat {
  margin-left: 0;
}

@media (max-width: 620px) {
  .grid > .card .card-body > h3 {
    min-height: auto;
    -webkit-line-clamp: 3;
  }
}


/* Progressive translation availability notice */
.translation-availability-alert {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(245, 158, 11, .34);
  border-radius: 18px;
  background: rgba(245, 158, 11, .10);
}

.translation-availability-alert strong {
  display: block;
  margin-bottom: 4px;
}

.translation-availability-alert p {
  margin: 0;
  font-size: .94rem;
  opacity: .88;
}

.translation-availability-alert .button {
  flex: 0 0 auto;
  white-space: nowrap;
}

.footer-translation-note {
  max-width: 860px;
  margin: 8px auto 14px;
  font-size: .86rem;
  line-height: 1.5;
  opacity: .78;
  text-align: center;
}

@media (max-width: 720px) {
  .translation-availability-alert {
    align-items: flex-start;
    flex-direction: column;
  }

  .translation-availability-alert .button {
    width: 100%;
    text-align: center;
  }
}

/* ================================================================
   Privacy consent dialog
   ================================================================ */
.privacy-dialog-open { overflow: hidden; }
.privacy-consent[hidden] { display: none !important; }
.privacy-consent { position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: end center; padding: 20px; }
.privacy-consent__backdrop { position: absolute; inset: 0; background: rgba(30, 18, 12, .48); backdrop-filter: blur(5px); }
.privacy-consent__panel { position: relative; width: min(760px, 100%); max-height: min(760px, calc(100vh - 40px)); overflow: auto; padding: 28px; border: 1px solid rgba(115, 71, 43, .18); border-radius: 26px; background: #fffaf4; box-shadow: 0 24px 80px rgba(39, 22, 12, .28); }
.privacy-consent__panel h2 { margin: 7px 42px 10px 0; font-size: clamp(1.45rem, 4vw, 2rem); line-height: 1.15; }
.privacy-consent__panel p { margin: 0; color: #654d40; line-height: 1.62; }
.privacy-consent__eyebrow { color: #d44a21; font-size: .78rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.privacy-consent__x { position: absolute; top: 15px; right: 16px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #f5e9da; color: #452b1f; font-size: 1.45rem; cursor: pointer; }
.privacy-consent__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 22px; }
.privacy-consent__text-button { padding: 8px 4px; border: 0; background: transparent; color: #c3411d; font: inherit; font-weight: 800; text-decoration: underline; cursor: pointer; }
.privacy-consent__policy { display: inline-block; margin-top: 18px; color: #6d5346; font-size: .86rem; }
.privacy-consent__settings { display: none; }
.privacy-consent__panel.is-settings .privacy-consent__main { display: none; }
.privacy-consent__panel.is-settings .privacy-consent__settings { display: block; }
.privacy-choice-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 12px; padding: 15px 16px; border: 1px solid #ead9c8; border-radius: 16px; background: #fff; }
.privacy-choice-row div { min-width: 0; }
.privacy-choice-row strong, .privacy-choice-row small { display: block; }
.privacy-choice-row small { margin-top: 4px; color: #725a4d; line-height: 1.42; }
.privacy-choice-row input { width: 23px; height: 23px; accent-color: #ee5530; flex: 0 0 auto; }
.privacy-choice-row--muted { align-items: flex-start; background: #fbf5ed; }
.privacy-always-on { padding: 5px 9px; border-radius: 999px; background: #e8f6ea; color: #23713a; font-size: .78rem; font-weight: 900; }
@media (max-width: 620px) {
  .privacy-consent { padding: 0; place-items: end stretch; }
  .privacy-consent__panel { max-height: 88vh; padding: 22px 18px calc(22px + env(safe-area-inset-bottom)); border-radius: 24px 24px 0 0; }
  .privacy-consent__actions .button { width: 100%; text-align: center; }
  .privacy-consent__actions .privacy-consent__text-button { width: 100%; }
  .privacy-choice-row { align-items: flex-start; }
}

/* source: browse.css */
/* Browse recipes */
.browse-hero,
.browse-shell,
.recipe-browser {
  width: min(1180px, calc(100% - 32px));
  margin-left: auto;
  margin-right: auto;
}

.browse-hero {
  margin-top: 30px;
  margin-bottom: 22px;
  padding: 34px 38px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255, 255, 255, .92);
  box-shadow: var(--shadow);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.browse-hero h1 {
  margin: .15em 0;
  font-size: clamp(2.2rem, 5vw, 4.5rem);
  line-height: 1;
}

.browse-hero p {
  margin: 0;
  max-width: 720px;
  color: var(--muted);
}

.browse-shell {
  margin-top: 26px;
  margin-bottom: 50px;
}

.browse-filters {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(83, 58, 26, .06);
}

.browse-filter-heading,
.browse-results-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.browse-filter-heading {
  margin-bottom: 16px;
}

.browse-filter-heading a {
  color: var(--accent);
  font-weight: 800;
}

.browse-filter-grid {
  display: grid;
  grid-template-columns: 1.45fr repeat(4, minmax(130px, 1fr)) auto;
  align-items: end;
  gap: 12px;
}

.browse-filter-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.browse-filter-grid label span {
  color: var(--muted);
  font-size: .84rem;
  font-weight: 800;
}

.browse-filter-grid input,
.browse-filter-grid select {
  width: 100%;
  min-height: 48px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fffaf3;
  color: var(--ink);
  font: inherit;
}

.browse-submit {
  min-height: 48px;
  white-space: nowrap;
}

.browse-results-head {
  margin: 25px 0 17px;
}

.browse-results-head > div {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.browse-results-head span {
  color: var(--muted);
}

.browse-shuffle {
  padding: 10px 14px;
}

.browse-pill {
  text-decoration: none;
}

.pagination {
  margin-top: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}

.pagination a,
.pagination span {
  min-width: 42px;
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 800;
}

.pagination a[aria-current="page"] {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.recipe-browser {
  margin-top: 8px;
  margin-bottom: 42px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: stretch;
  gap: 14px;
}

.recipe-browser-side a,
.recipe-browser-all {
  min-height: 92px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(83, 58, 26, .06);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-decoration: none;
}

.recipe-browser-side span {
  color: var(--muted);
  font-size: .82rem;
  font-weight: 800;
}

.recipe-browser-side strong {
  margin-top: 4px;
  line-height: 1.25;
}

.recipe-browser-next {
  text-align: right;
}

.recipe-browser-all {
  align-items: center;
  text-align: center;
  background: #fff3dd;
  color: #7f401f;
  font-weight: 900;
}

@media (max-width: 1050px) {
  .browse-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .browse-submit {
    width: 100%;
  }
}

@media (max-width: 720px) {
  .browse-hero {
    align-items: flex-start;
    flex-direction: column;
    padding: 28px 24px;
  }

  .browse-filter-grid {
    grid-template-columns: 1fr 1fr;
  }

  .recipe-browser {
    grid-template-columns: 1fr;
  }

  .recipe-browser-all {
    order: -1;
    min-height: 58px;
  }

  .recipe-browser-next {
    text-align: left;
  }
}

@media (max-width: 560px) {
  .site-header nav a.browse-nav-link {
    display: inline-flex;
  }

  .browse-filter-grid {
    grid-template-columns: 1fr;
  }

  .browse-results-head {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* source: home.css */
/* Appetite-focused homepage */
.home-hero {
  width: min(1280px, calc(100% - 32px));
  min-height: 650px;
  margin: 30px auto 22px;
  padding: clamp(28px, 5vw, 68px);
  border-radius: 38px;
  background:
    radial-gradient(circle at 7% 10%, rgba(255, 206, 107, .34), transparent 24%),
    radial-gradient(circle at 85% 15%, rgba(236, 94, 49, .22), transparent 26%),
    linear-gradient(135deg, #211813 0%, #3c2418 53%, #6c2d17 100%);
  color: #fff;
  box-shadow: 0 28px 80px rgba(89, 45, 18, .22);
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(430px, 1.06fr);
  align-items: center;
  gap: clamp(34px, 6vw, 84px);
  position: relative;
  overflow: hidden;
}

.home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(to right, #000, transparent 82%);
  pointer-events: none;
}

.home-hero-copy,
.home-food-stage {
  position: relative;
  z-index: 1;
}

.home-kicker {
  width: fit-content;
  padding: 8px 12px;
  border: 1px solid rgba(255, 218, 155, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  color: #ffd990;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.home-hero h1 {
  max-width: 680px;
  margin: 20px 0 18px;
  font-size: clamp(3.2rem, 6.2vw, 6.9rem);
  line-height: .88;
  letter-spacing: -.065em;
}

.home-hero-intro {
  max-width: 650px;
  margin: 0;
  color: #f2dfd2;
  font-size: clamp(1.02rem, 1.6vw, 1.2rem);
}

.recipe-counter {
  width: fit-content;
  margin: 29px 0 23px;
  padding: 13px 17px 13px 14px;
  border: 1px solid rgba(255, 223, 174, .22);
  border-radius: 20px;
  background: rgba(255, 250, 242, .1);
  backdrop-filter: blur(14px);
  display: flex;
  align-items: center;
  gap: 14px;
}

.recipe-counter-number {
  min-width: 112px;
  color: #ffca63;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 950;
  line-height: 1;
  letter-spacing: -.055em;
}

.recipe-counter-copy {
  display: flex;
  flex-direction: column;
}

.recipe-counter-copy strong {
  font-size: .98rem;
}

.recipe-counter-copy small {
  color: #d9c3b4;
}

.home-search {
  max-width: 760px;
  padding: 8px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 15px 40px rgba(17, 8, 4, .22);
  display: flex;
  gap: 8px;
}

.home-search-field {
  min-width: 0;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 7px;
  padding-left: 12px;
}

.home-search-field input {
  min-width: 0;
  width: 100%;
  padding: 14px 8px;
  border: 0;
  outline: 0;
  color: #241b17;
  background: transparent;
  font: inherit;
}

.home-actions {
  margin-top: 13px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.home-browse-button {
  background: #ff6a36;
  box-shadow: 0 10px 24px rgba(232, 93, 50, .25);
}

.craving-row {
  margin-top: 24px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.craving-row > span {
  margin-right: 3px;
  color: #d9c3b4;
  font-size: .84rem;
  font-weight: 800;
}

.craving-row a {
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  color: #fff4e9;
  text-decoration: none;
  font-size: .79rem;
  font-weight: 750;
  transition: .18s ease;
}

.craving-row a:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.14);
}

.craving-row small {
  margin-left: 4px;
  color: #ffcd72;
}

.home-food-stage {
  min-height: 540px;
  transform: rotate(1deg);
}

.food-feature,
.food-tile {
  position: absolute;
  display: block;
  overflow: hidden;
  border: 5px solid rgba(255,255,255,.91);
  background: #e9d6c4;
  box-shadow: 0 26px 60px rgba(15, 7, 3, .34);
  text-decoration: none;
}

.food-feature img,
.food-tile img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .65s cubic-bezier(.2,.7,.2,1);
}

.food-feature:hover img,
.food-tile:hover img {
  transform: scale(1.055);
}

.food-feature {
  inset: 34px 76px 22px 12px;
  border-radius: 34px;
}

.food-feature-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(22,10,5,.86), transparent 58%);
}

.food-feature-label {
  position: absolute;
  right: 28px;
  bottom: 27px;
  left: 28px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.food-feature-label small {
  color: #ffd179;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.food-feature-label strong {
  max-width: 520px;
  margin-top: 4px;
  color: #fff;
  font-size: clamp(1.5rem, 3vw, 2.7rem);
  line-height: 1.02;
}

.food-feature-label > span {
  margin-top: 11px;
  padding: 8px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.91);
  color: #4d2817;
  font-size: .82rem;
  font-weight: 900;
}

.food-tile {
  width: 142px;
  height: 142px;
  border-radius: 25px;
}

.food-tile-1 {
  top: 0;
  right: 0;
  transform: rotate(7deg);
}

.food-tile-2 {
  right: 0;
  bottom: 66px;
  transform: rotate(-7deg);
}

.food-tile-3 {
  bottom: -6px;
  left: -16px;
  width: 122px;
  height: 122px;
  transform: rotate(-8deg);
}

.food-tile-4 {
  top: 82px;
  left: -38px;
  width: 108px;
  height: 108px;
  transform: rotate(8deg);
}

.food-feature-empty {
  align-items: center;
  justify-content: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 1.4rem;
}

.food-feature-empty span {
  font-size: 7rem;
}

.food-steam {
  position: absolute;
  top: -30px;
  width: 25px;
  height: 105px;
  border-left: 4px solid rgba(255,255,255,.18);
  border-radius: 50%;
  filter: blur(2px);
  animation: food-steam 4.4s ease-in-out infinite;
}

.food-steam-1 { left: 39%; }
.food-steam-2 { left: 49%; animation-delay: 1.1s; }
.food-steam-3 { left: 58%; animation-delay: 2.1s; }

@keyframes food-steam {
  0%, 100% { opacity: 0; transform: translateY(18px) rotate(-7deg) scale(.8); }
  35% { opacity: .85; }
  70% { opacity: .15; transform: translateY(-35px) rotate(11deg) scale(1.15); }
}

.home-trust-strip {
  width: min(1120px, calc(100% - 48px));
  margin: -52px auto 50px;
  padding: 18px 22px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 20px 50px rgba(83,58,26,.12);
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.home-trust-strip > div {
  min-width: 0;
  padding: 5px 22px;
  border-right: 1px solid var(--line);
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 10px;
  align-items: center;
}

.home-trust-strip > div:last-child {
  border-right: 0;
}

.home-trust-strip span {
  grid-row: 1 / 3;
  font-size: 1.6rem;
}

.home-trust-strip strong {
  font-size: 1.35rem;
  line-height: 1;
}

.home-trust-strip small {
  color: var(--muted);
}

.home-section-head .eyebrow {
  margin-bottom: 5px;
  color: var(--accent);
}

.home-section-head .split-actions {
  display: flex;
  align-items: center;
  gap: 9px;
}

.home-outline-button {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
}

.home-hero + .home-trust-strip + .section .card-image img {
  transform: scale(1.002);
}

@media (max-width: 1060px) {
  .home-hero {
    grid-template-columns: 1fr;
  }

  .home-food-stage {
    min-height: 490px;
    width: min(650px, 100%);
    margin: 0 auto;
  }

  .home-trust-strip {
    grid-template-columns: repeat(2, 1fr);
  }

  .home-trust-strip > div:nth-child(2) {
    border-right: 0;
  }

  .home-trust-strip > div:nth-child(-n+2) {
    padding-bottom: 16px;
    border-bottom: 1px solid var(--line);
  }

  .home-trust-strip > div:nth-child(n+3) {
    padding-top: 16px;
  }
}

@media (max-width: 680px) {
  .home-hero {
    min-height: 0;
    padding: 28px 22px 32px;
    border-radius: 27px;
  }

  .home-hero h1 {
    font-size: clamp(3rem, 16vw, 5rem);
  }

  .recipe-counter {
    width: 100%;
  }

  .recipe-counter-number {
    min-width: 96px;
  }

  .home-search {
    flex-direction: column;
    background: transparent;
    box-shadow: none;
    padding: 0;
  }

  .home-search-field {
    min-height: 57px;
    border-radius: 15px;
    background: #fff;
  }

  .home-search .button {
    min-height: 54px;
  }

  .home-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .home-actions .button {
    width: 100%;
  }

  .craving-row {
    align-items: flex-start;
  }

  .craving-row > span {
    width: 100%;
  }

  .home-food-stage {
    min-height: 385px;
    margin-top: 15px;
  }

  .food-feature {
    inset: 28px 28px 15px 0;
  }

  .food-feature-label {
    right: 19px;
    bottom: 18px;
    left: 19px;
  }

  .food-feature-label strong {
    font-size: 1.55rem;
  }

  .food-tile {
    width: 88px;
    height: 88px;
    border-width: 4px;
    border-radius: 19px;
  }

  .food-tile-1 {
    right: -8px;
  }

  .food-tile-2 {
    right: -8px;
    bottom: 42px;
  }

  .food-tile-3 {
    left: -8px;
    width: 78px;
    height: 78px;
  }

  .food-tile-4 {
    display: none;
  }

  .home-trust-strip {
    width: min(100% - 32px, 560px);
    margin-top: -28px;
    grid-template-columns: 1fr 1fr;
    padding: 14px;
  }

  .home-trust-strip > div {
    padding: 12px;
    grid-template-columns: 1fr;
    text-align: center;
  }

  .home-trust-strip span {
    grid-row: auto;
  }

  .home-section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .home-section-head .split-actions {
    width: 100%;
  }

  .home-section-head .split-actions .button {
    flex: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .food-steam {
    display: none;
  }

  .food-feature img,
  .food-tile img {
    transition: none;
  }
}

/* ================================================================
   Compact, balanced desktop hero
   ================================================================ */
.home-hero {
  width: min(var(--site-width), calc(100% - 40px));
  min-height: 570px;
  margin: 12px auto 24px;
  padding: clamp(34px, 3.4vw, 52px);
  border-radius: 34px;
  grid-template-columns: minmax(420px, .92fr) minmax(500px, 1.08fr);
  gap: clamp(34px, 4.2vw, 64px);
}

.home-hero h1 {
  max-width: 610px;
  margin: 17px 0 15px;
  font-size: clamp(3.4rem, 5.25vw, 5.65rem);
  line-height: .91;
  letter-spacing: -.058em;
}

.home-hero-intro {
  max-width: 610px;
  font-size: clamp(.98rem, 1.25vw, 1.1rem);
}

.recipe-counter {
  margin: 22px 0 18px;
  padding: 11px 15px 11px 13px;
  border-radius: 17px;
}

.recipe-counter-number {
  min-width: 96px;
  font-size: clamp(2rem, 3vw, 3rem);
}

.recipe-counter-copy strong {
  font-size: .91rem;
}

.recipe-counter-copy small {
  font-size: .78rem;
}

.home-search {
  max-width: 690px;
  border-radius: 16px;
}

.home-search-field input {
  padding-block: 12px;
}

.home-search .button {
  min-width: 126px;
  min-height: 48px;
  padding-block: 11px;
}

.home-actions {
  margin-top: 11px;
}

.home-actions .button {
  min-height: 46px;
  padding: 11px 16px;
}

.craving-row {
  margin-top: 17px;
}

.home-food-stage {
  min-height: 460px;
  transform: none;
}

.food-feature {
  inset: 24px 62px 18px 8px;
  border-width: 4px;
  border-radius: 30px;
}

.food-feature-label {
  right: 24px;
  bottom: 23px;
  left: 24px;
}

.food-feature-label strong {
  max-width: 480px;
  font-size: clamp(1.45rem, 2.3vw, 2.35rem);
}

.food-tile {
  width: 116px;
  height: 116px;
  border-width: 4px;
  border-radius: 21px;
}

.food-tile-1 {
  top: 3px;
  right: 0;
}

.food-tile-2 {
  right: 1px;
  bottom: 52px;
}

.food-tile-3 {
  bottom: -3px;
  left: -7px;
  width: 104px;
  height: 104px;
}

.food-tile-4 {
  top: 69px;
  left: -25px;
  width: 90px;
  height: 90px;
}

.food-steam {
  top: -38px;
  height: 88px;
}

.home-trust-strip {
  width: min(1260px, calc(100% - 64px));
  margin: -42px auto 42px;
}

.home-trust-strip > div {
  padding-inline: 18px;
}

.home-trust-strip span {
  font-size: 1.45rem;
}

.home-trust-strip strong {
  font-size: 1.22rem;
}

.home-trust-strip small {
  font-size: .78rem;
}

@media (min-width: 1500px) and (min-height: 820px) {
  .home-hero {
    min-height: 590px;
  }
}

@media (max-width: 1160px) {
  .home-hero {
    grid-template-columns: minmax(360px, .92fr) minmax(420px, 1.08fr);
    gap: 30px;
  }

  .home-hero h1 {
    font-size: clamp(3.25rem, 5.3vw, 5rem);
  }

  .food-tile-4 {
    display: none;
  }
}

@media (max-width: 980px) {
  .home-hero {
    min-height: 0;
    grid-template-columns: 1fr;
    padding: 38px;
  }

  .home-hero-copy {
    max-width: 720px;
  }

  .home-food-stage {
    width: min(700px, 100%);
    min-height: 440px;
    margin: 8px auto 0;
  }

  .home-trust-strip {
    margin-top: -28px;
  }
}

@media (max-width: 680px) {
  .home-hero {
    width: calc(100% - 20px);
    margin-top: 2px;
    padding: 25px 20px 30px;
    border-radius: 25px;
  }

  .home-hero h1 {
    margin-top: 15px;
    font-size: clamp(3rem, 15vw, 4.5rem);
    line-height: .92;
  }

  .home-hero-intro {
    font-size: .98rem;
  }

  .recipe-counter {
    margin-block: 19px 16px;
  }

  .home-food-stage {
    min-height: 350px;
  }

  .food-feature {
    inset: 23px 21px 12px 0;
  }

  .home-trust-strip {
    width: calc(100% - 28px);
  }
}

@media (max-width: 430px) {
  .home-kicker {
    font-size: .68rem;
  }

  .home-hero h1 {
    font-size: 3.25rem;
  }

  .recipe-counter {
    align-items: flex-start;
  }

  .recipe-counter-number {
    min-width: 82px;
    font-size: 2.25rem;
  }

  .home-food-stage {
    min-height: 315px;
  }

  .food-feature-label strong {
    font-size: 1.32rem;
  }

  .food-tile-2 {
    display: none;
  }
}

/* source: likes.css */
/* Recipe likes */
.recipe-like-wrap {
  margin: 18px 0 8px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.recipe-like-form {
  margin: 0;
}

.recipe-like-button {
  min-height: 50px;
  padding: 11px 18px;
  border: 1px solid #e7c2b1;
  border-radius: 999px;
  background: #fff7f2;
  color: #8b3f2b;
  box-shadow: 0 8px 22px rgba(113, 52, 29, .09);
  display: inline-flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
  transition: transform .16s ease, background .16s ease, color .16s ease;
}

.recipe-like-button:hover {
  transform: translateY(-2px);
}

.recipe-like-button.is-liked {
  border-color: #ed5f62;
  background: #ed5f62;
  color: #fff;
}

.recipe-like-button.is-loading {
  opacity: .7;
  cursor: wait;
}

.recipe-like-heart {
  font-size: 1.25rem;
  line-height: 1;
  transform-origin: center;
}

.recipe-like-button.is-liked .recipe-like-heart {
  animation: like-pop .32s ease;
}

.recipe-like-count {
  min-width: 24px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.7);
  color: inherit;
  text-align: center;
  font-size: .84rem;
}

.recipe-like-button.is-liked .recipe-like-count {
  background: rgba(255,255,255,.2);
}

.recipe-like-note {
  color: var(--muted);
  font-size: .82rem;
}

.card-like-stat {
  margin-left: auto;
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff1ef;
  color: #a63f42;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: .78rem;
  font-weight: 900;
  white-space: nowrap;
}

.browse-card-pills .card-like-stat {
  margin-left: 0;
}

@keyframes like-pop {
  0% { transform: scale(.72); }
  55% { transform: scale(1.35); }
  100% { transform: scale(1); }
}

@media (max-width: 560px) {
  .recipe-like-button {
    width: 100%;
    justify-content: center;
  }

  .recipe-like-note {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .recipe-like-button,
  .recipe-like-heart {
    transition: none;
    animation: none !important;
  }
}

/* source: worldwide.css */
/* Worldwide experience */
.home-world-button {
  background: #1c7b65;
  box-shadow: 0 10px 24px rgba(28, 123, 101, .22);
}

.nav-cookbook-count {
  min-width: 19px;
  min-height: 19px;
  padding: 1px 5px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .69rem;
  font-weight: 900;
}

.world-preview-section {
  margin-top: 5px;
}

.world-preview-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
}

.world-preview-card {
  min-height: 112px;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background:
    radial-gradient(circle at 90% 10%, rgba(247, 196, 92, .28), transparent 38%),
    #fff;
  box-shadow: 0 9px 26px rgba(83, 58, 26, .06);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-decoration: none;
  transition: .18s ease;
}

.world-preview-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
}

.world-preview-card > span {
  font-size: 1.8rem;
}

.world-preview-card strong {
  margin-top: 4px;
  font-size: 1.03rem;
}

.world-preview-card small {
  color: var(--muted);
}

.world-explore-hero,
.world-explore-shell,
.cookbook-hero,
.cookbook-shell {
  width: min(1180px, calc(100% - 32px));
  margin-left: auto;
  margin-right: auto;
}

.world-explore-hero,
.cookbook-hero {
  margin-top: 30px;
  margin-bottom: 24px;
  padding: clamp(28px, 5vw, 58px);
  border-radius: 32px;
  background:
    radial-gradient(circle at 8% 15%, rgba(255, 211, 123, .3), transparent 26%),
    linear-gradient(135deg, #252019, #4a2f21 55%, #1c705f);
  color: #fff;
  box-shadow: var(--shadow);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.world-explore-hero h1,
.cookbook-hero h1 {
  margin: .15em 0;
  font-size: clamp(2.5rem, 6vw, 5.7rem);
  line-height: .95;
}

.world-explore-hero p,
.cookbook-hero p {
  max-width: 720px;
  margin: 0;
  color: #ebded4;
}

.world-explore-shell,
.cookbook-shell {
  margin-bottom: 55px;
}

.world-explore-head,
.cookbook-section-head {
  margin: 0 0 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.world-explore-head a {
  color: var(--accent);
  font-weight: 900;
}

.world-cuisine-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.world-cuisine-card {
  border: 1px solid var(--line);
  border-radius: 23px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(83,58,26,.07);
  overflow: hidden;
  text-decoration: none;
  transition: .2s ease;
}

.world-cuisine-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

.world-cuisine-image {
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, #ffe3ad, #f9b77e);
  display: grid;
  place-items: center;
  overflow: hidden;
}

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

.world-cuisine-image > span {
  font-size: 4rem;
}

.world-cuisine-copy {
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 11px;
}

.world-cuisine-copy > span {
  font-size: 1.8rem;
}

.world-cuisine-copy div {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.world-cuisine-copy strong {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.world-cuisine-copy small {
  color: var(--muted);
}

.cookbook-save-button {
  min-height: 50px;
  padding: 11px 17px;
  border: 1px solid #bfded5;
  border-radius: 999px;
  background: #effaf7;
  color: #176b5a;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}

.cookbook-save-button.is-saved {
  border-color: #1c7b65;
  background: #1c7b65;
  color: #fff;
}

.ingredient-heading-row {
  margin-top: 23px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}

.ingredient-heading-row h2 {
  margin-bottom: 2px;
}

.ingredient-heading-row p {
  margin: 0;
  color: var(--muted);
  font-size: .85rem;
}

.recipe-adjusters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.adjuster-group {
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fffaf3;
  display: flex;
  gap: 3px;
}

.adjuster-group button {
  min-width: 42px;
  padding: 7px 9px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-size: .82rem;
  font-weight: 900;
}

.adjuster-group button.is-active {
  background: #28231f;
  color: #fff;
}

.ingredient-list {
  margin: 13px 0 0;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fffaf1;
  overflow: hidden;
  list-style: none;
}

.ingredient-list li {
  border-bottom: 1px solid var(--line);
}

.ingredient-list li:last-child {
  border-bottom: 0;
}

.ingredient-list label {
  padding: 12px 16px;
  display: flex;
  align-items: flex-start;
  gap: 11px;
  cursor: pointer;
}

.ingredient-list input {
  margin-top: .28em;
  accent-color: var(--accent);
}

.ingredient-list input:checked + span {
  color: var(--muted);
  text-decoration: line-through;
}

.unit-conversion-note {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: .78rem;
}

.cookbook-hero-stat {
  min-width: 160px;
  padding: 17px 22px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 20px;
  background: rgba(255,255,255,.1);
  text-align: center;
}

.cookbook-hero-stat strong {
  display: block;
  color: #ffd073;
  font-size: 2.8rem;
  line-height: 1;
}

.cookbook-hero-stat span {
  color: #f4e8df;
  font-size: .85rem;
}

.cookbook-section-head {
  margin-top: 30px;
}

.cookbook-section-head h2 {
  margin: 0;
}

.cookbook-section-head p {
  margin: 3px 0 0;
  color: var(--muted);
}

.cookbook-recent-head {
  margin-top: 48px;
}

.cookbook-grid {
  min-height: 120px;
}

.cookbook-empty,
.cookbook-loading {
  grid-column: 1 / -1;
}

.cookbook-loading {
  min-height: 150px;
  display: grid;
  place-items: center;
  font-size: 3rem;
  animation: cookbook-pan 1.2s ease-in-out infinite;
}

.cookbook-card-footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

.cookbook-remove {
  margin-top: 12px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #a23b36;
  cursor: pointer;
  font: inherit;
  font-size: .8rem;
  font-weight: 850;
}

@keyframes cookbook-pan {
  50% { transform: rotate(-8deg) scale(1.08); }
}

@media (max-width: 1000px) {
  .world-preview-grid,
  .world-cuisine-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .site-header {
    gap: 10px;
  }

  .site-header nav {
    gap: 7px;
    overflow-x: auto;
    padding-bottom: 3px;
  }

  .site-header nav a.nav-core {
    display: inline-flex;
    align-items: center;
    gap: 3px;
  }

  .site-header nav a.nav-secondary {
    display: none;
  }

  .site-header nav .nav-label {
    display: none;
  }

  .language-switch {
    padding: 7px 8px;
  }

  .world-preview-grid,
  .world-cuisine-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .world-explore-hero,
  .cookbook-hero {
    align-items: flex-start;
    flex-direction: column;
  }

  .cookbook-hero-stat {
    width: 100%;
  }

  .ingredient-heading-row {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 520px) {
  .world-preview-grid,
  .world-cuisine-grid {
    grid-template-columns: 1fr;
  }

  .world-explore-head,
  .cookbook-section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .recipe-like-wrap {
    align-items: stretch;
    flex-direction: column;
  }

  .cookbook-save-button {
    width: 100%;
    justify-content: center;
  }

  .recipe-adjusters {
    width: 100%;
  }

  .adjuster-group {
    flex: 1;
  }

  .adjuster-group button {
    flex: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .world-cuisine-card,
  .world-preview-card,
  .cookbook-loading {
    transition: none;
    animation: none;
  }
}

/* Layout alignment with the repaired global shell. */
.world-explore-hero,
.world-explore-shell,
.cookbook-hero,
.cookbook-shell {
  width: min(var(--content-width), calc(100% - 40px));
}

.world-explore-hero,
.cookbook-hero {
  margin-top: 12px;
  padding: clamp(30px, 4vw, 50px);
  border-radius: 30px;
}

.world-explore-hero h1,
.cookbook-hero h1 {
  font-size: clamp(2.7rem, 5.2vw, 5rem);
}

.world-cuisine-grid,
.world-preview-grid {
  gap: 16px;
}

.world-cuisine-card,
.world-preview-card {
  min-width: 0;
}

@media (max-width: 900px) {
  .world-explore-hero,
  .world-explore-shell,
  .cookbook-hero,
  .cookbook-shell {
    width: calc(100% - 28px);
  }
}

@media (max-width: 620px) {
  .world-explore-hero,
  .cookbook-hero {
    margin-top: 2px;
    padding: 27px 22px;
    border-radius: 24px;
  }
}

/* ================================================================
   Cuisine markers — real SVG flags with text fallback
   ================================================================ */
.cuisine-marker {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(104, 72, 38, .13);
  border-radius: 50%;
  background: linear-gradient(145deg, #fff9e9, #f5e6c9);
  box-shadow: 0 6px 16px rgba(83, 58, 26, .1);
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  overflow: hidden;
  color: #392d22;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .03em;
}

.cuisine-marker-code {
  position: relative;
  z-index: 0;
}

.cuisine-marker-flag {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background-size: cover !important;
  background-position: center !important;
}

.cuisine-marker-symbol {
  font-size: 1.2rem;
}

.world-preview-card {
  min-height: 94px;
  padding: 14px 16px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  align-items: center;
  column-gap: 12px;
  row-gap: 1px;
}

.world-preview-card .world-preview-marker {
  grid-row: 1 / 3;
}

.world-preview-card strong {
  margin: 0;
  align-self: end;
  line-height: 1.15;
}

.world-preview-card small {
  align-self: start;
}

.world-cuisine-image-marker {
  width: 70px;
  height: 70px;
  font-size: 1rem;
}

.world-cuisine-copy-marker {
  width: 38px;
  height: 38px;
}

.world-cuisine-copy > .cuisine-marker {
  font-size: .68rem;
}

@media (max-width: 520px) {
  .world-preview-card {
    min-height: 88px;
  }
}

/* source: discovery-score.css */
/* Generated discovery numbers — intentionally separate from real likes. */
.discovery-score {
  padding: 5px 9px;
  border: 1px solid #ead7a5;
  border-radius: 999px;
  background: #fff8df;
  color: #75500d;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: .76rem;
  font-weight: 900;
  white-space: nowrap;
}

.discovery-score strong {
  font-size: .83rem;
}

.discovery-badge {
  position: absolute;
  top: 11px;
  left: 11px;
  z-index: 3;
  padding: 6px 10px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 999px;
  background: rgba(35,29,23,.84);
  color: #fff;
  box-shadow: 0 7px 20px rgba(0,0,0,.16);
  backdrop-filter: blur(7px);
  font-size: .71rem;
  font-weight: 950;
}

.recipe-discovery-panel {
  margin: 16px 0 4px;
  padding: 13px 15px;
  border: 1px solid #ead7a5;
  border-radius: 17px;
  background:
    radial-gradient(circle at 95% 5%, rgba(255,211,116,.26), transparent 38%),
    #fffaf0;
}

.recipe-discovery-main {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.recipe-discovery-value {
  padding: 4px 8px;
  border-radius: 999px;
  background: #30271f;
  color: #fff;
  font-size: .79rem;
  font-weight: 950;
}

.recipe-discovery-panel small {
  margin-top: 5px;
  color: var(--muted);
  display: block;
  font-size: .77rem;
  line-height: 1.42;
}

.recipe-card-stats {
  margin-top: 9px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

.card-image {
  position: relative;
}

@media (max-width: 560px) {
  .recipe-card-stats {
    align-items: flex-start;
  }
}

/* Cleaner score sizing inside compact card footers. */
.recipe-card-stats .discovery-score,
.browse-card-pills .discovery-score {
  min-height: 30px;
}

.discovery-badge {
  max-width: calc(100% - 22px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* source: legal.css */
.legal-hero {
  padding: clamp(2.2rem, 6vw, 4.8rem) clamp(1rem, 5vw, 4rem) 2.2rem;
  background:
    radial-gradient(circle at 80% 15%, rgba(255, 190, 110, .3), transparent 30%),
    linear-gradient(135deg, #fff8ed 0%, #fffdf8 55%, #f6efe4 100%);
  border-bottom: 1px solid rgba(60, 36, 24, .09);
}

.legal-hero-copy {
  max-width: 900px;
  margin: 0 auto;
}

.legal-hero h1 {
  margin: .35rem 0 .8rem;
  max-width: 18ch;
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  line-height: 1.02;
}

.legal-hero p {
  max-width: 780px;
  margin: 0;
  font-size: clamp(1rem, 1.8vw, 1.16rem);
  line-height: 1.75;
  color: #5c4a40;
}

.legal-updated {
  display: inline-flex;
  gap: .35rem;
  margin-top: 1.1rem;
  padding: .45rem .7rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .76);
  border: 1px solid rgba(60, 36, 24, .1);
  font-size: .88rem;
  color: #6d584c;
}

.legal-layout {
  display: grid;
  grid-template-columns: minmax(210px, 260px) minmax(0, 820px);
  gap: clamp(1.5rem, 4vw, 4rem);
  max-width: 1160px;
  margin: 0 auto;
  padding: clamp(1.5rem, 4vw, 3.5rem) clamp(1rem, 4vw, 2.5rem) 4rem;
  align-items: start;
}

.legal-nav {
  position: sticky;
  top: 1rem;
  padding: 1rem;
  border: 1px solid rgba(60, 36, 24, .1);
  border-radius: 18px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 16px 40px rgba(60, 36, 24, .06);
}

.legal-nav > strong {
  display: block;
  margin: 0 0 .7rem;
  color: #3c2418;
}

.legal-nav nav {
  display: grid;
  gap: .3rem;
}

.legal-nav a {
  display: block;
  padding: .62rem .72rem;
  border-radius: 11px;
  color: #654c3f;
  text-decoration: none;
  line-height: 1.3;
}

.legal-nav a:hover,
.legal-nav a.is-active {
  background: #f7eee2;
  color: #3c2418;
}

.legal-nav a.is-active {
  font-weight: 800;
}

.legal-document {
  min-width: 0;
}

.legal-document > section {
  padding: 0 0 1.8rem;
  margin: 0 0 1.8rem;
  border-bottom: 1px solid rgba(60, 36, 24, .1);
}

.legal-document h2 {
  margin: 0 0 .8rem;
  font-size: clamp(1.35rem, 2.5vw, 1.8rem);
  line-height: 1.2;
}

.legal-document p,
.legal-document li {
  color: #55463d;
  font-size: 1rem;
  line-height: 1.75;
}

.legal-document p {
  margin: .65rem 0;
}

.legal-document ul {
  margin: .7rem 0 0;
  padding-inline-start: 1.25rem;
}

.legal-document li + li {
  margin-top: .55rem;
}

.legal-document a {
  overflow-wrap: anywhere;
}

.legal-action-box {
  margin-top: 1.7rem;
  padding: 1.25rem;
  border-radius: 18px;
  background: #fff8ed;
  border: 1px solid rgba(152, 91, 43, .16);
}

.legal-action-box h2 {
  margin-top: 0;
}

.site-footer {
  padding: 1.5rem clamp(1rem, 4vw, 2.5rem) 2rem;
}

.footer-inner {
  display: grid;
  gap: 1rem;
  max-width: 1160px;
  margin: 0 auto;
}

.footer-links,
.footer-utility-links {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1rem;
  align-items: center;
}

.footer-links a,
.footer-utility-links a,
.footer-utility-links button {
  color: inherit;
  font: inherit;
  background: none;
  border: 0;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: .2em;
  cursor: pointer;
}

.footer-legal-note {
  margin: 0;
  opacity: .78;
  line-height: 1.55;
}

@media (max-width: 820px) {
  .legal-layout {
    grid-template-columns: 1fr;
  }

  .legal-nav {
    position: static;
  }

  .legal-nav nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .legal-nav nav {
    grid-template-columns: 1fr;
  }

  .legal-hero h1 {
    max-width: none;
  }
}

.cookbook-privacy-control {
  margin: 1.2rem 0 .4rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(60, 36, 24, .1);
  border-radius: 16px;
  background: #fffaf2;
}

.cookbook-privacy-control label {
  display: flex;
  gap: .8rem;
  align-items: flex-start;
  cursor: pointer;
}

.cookbook-privacy-control input {
  width: 1.15rem;
  height: 1.15rem;
  margin-top: .15rem;
}

.cookbook-privacy-control span,
.cookbook-privacy-control small {
  display: block;
}

.cookbook-privacy-control small {
  margin-top: .25rem;
  color: #6d584c;
  line-height: 1.45;
}

/* source: smart.css */
.smart-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(2rem,5vw,5rem);border-radius:32px;background:linear-gradient(135deg,#fff4de,#f6e7d1);margin:1.5rem 0 2rem;overflow:hidden}.smart-hero h1{font-size:clamp(2.2rem,5vw,4.7rem);margin:.3rem 0}.smart-hero p{max-width:720px;font-size:1.1rem}.smart-hero-icon{font-size:clamp(5rem,15vw,11rem);filter:drop-shadow(0 18px 20px #0002)}
.fridge-form{max-width:900px;margin:0 auto 3rem;padding:1.5rem;border:1px solid #0001;border-radius:24px;background:#fff;box-shadow:0 18px 50px #3c241812}.fridge-form label{display:block;font-weight:800;margin-bottom:.5rem}.fridge-form textarea{width:100%;resize:vertical;border:1px solid #cdbca8;border-radius:16px;padding:1rem;font:inherit}.fridge-example-row{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.fridge-example-row button{border:0;border-radius:999px;padding:.55rem .85rem;background:#f3eadf;cursor:pointer}.smart-match-score{position:absolute;right:.75rem;top:.75rem;background:#fff;color:#7a421c;border-radius:999px;padding:.45rem .7rem;font-weight:900;box-shadow:0 4px 14px #0002}.match-have,.match-missing{font-size:.88rem;margin:.5rem 0}.match-have{color:#22643d}.match-missing{color:#7b5b41}
.smart-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.smart-feature-card{display:flex;align-items:center;gap:1rem;padding:1.35rem;border-radius:22px;background:#fff;border:1px solid #0001;text-decoration:none;color:inherit;box-shadow:0 12px 35px #3c24180c;transition:.2s}.smart-feature-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px #3c24181c}.smart-feature-card>span{font-size:2.5rem}.smart-feature-card strong{display:block;font-size:1.15rem}.smart-feature-card p{margin:.25rem 0 0;color:#715d50}.smart-fridge-feature{background:linear-gradient(135deg,#fff5df,#fff)}
.trend-rank{position:absolute;left:.75rem;top:.75rem;background:#3c2418;color:#fff;border-radius:999px;padding:.45rem .7rem;font-weight:900}.trend-metric{font-weight:800;color:#c35f2d}.trend-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.recommendation-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.recommendation-card .card-image,.trend-card .card-image{position:relative}.ingredient-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.ingredient-list li label{flex:1}.ingredient-substitute-button{border:1px solid #d9c7b4;background:#fff;border-radius:999px;padding:.4rem .7rem;cursor:pointer;white-space:nowrap}.custom-scale-group label{display:flex;align-items:center;gap:.35rem}.custom-scale-group input{width:70px;padding:.3rem;border:1px solid #cdbca8;border-radius:8px}.substitute-dialog[hidden]{display:none}.substitute-dialog{position:fixed;inset:0;background:#0009;z-index:10000;display:grid;place-items:center;padding:1rem}.substitute-dialog-card{position:relative;background:#fff;max-width:560px;width:100%;border-radius:24px;padding:2rem;box-shadow:0 25px 80px #0005}.substitute-close{position:absolute;right:1rem;top:1rem;border:0;background:#eee;width:36px;height:36px;border-radius:50%;font-size:1.5rem;cursor:pointer}.substitute-dialog li{margin:.65rem 0;padding:.7rem 1rem;background:#f7efe5;border-radius:12px}
@media(max-width:900px){.smart-feature-grid,.trend-grid,.recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.smart-hero{align-items:flex-start}.smart-hero-icon{font-size:5rem}}@media(max-width:600px){.smart-feature-grid,.trend-grid,.recommendation-grid{grid-template-columns:1fr}.smart-hero{padding:1.5rem}.smart-hero-icon{display:none}.ingredient-list li{align-items:flex-start;flex-wrap:wrap}.ingredient-substitute-button{margin-left:2rem}.smart-nav-link .nav-label{display:none}}

/* Fridge search progress */
.fridge-submit{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-width:220px;position:relative}
.fridge-submit-idle{font-size:1.15em;line-height:1;font-weight:900}
.fridge-submit-spinner{display:none;width:1.05rem;height:1.05rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:fridge-spin .7s linear infinite}
.fridge-loading-status[hidden]{display:none}
.fridge-loading-status{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:.9rem 1rem;border-radius:14px;background:color-mix(in srgb,var(--accent,#f3a56f) 13%,#fff);border:1px solid color-mix(in srgb,var(--accent,#f3a56f) 28%,transparent);font-weight:750;color:var(--ink,#30242f)}
.fridge-loading-search{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#fff;box-shadow:0 5px 15px #00000012;font-size:1.15rem;animation:fridge-search-pulse 1.15s ease-in-out infinite}
.fridge-form.is-searching textarea,.fridge-form.is-searching .fridge-example-row{opacity:.62;pointer-events:none}
.fridge-form.is-searching .fridge-submit{cursor:wait;opacity:.92}
.fridge-form.is-searching .fridge-submit-idle{display:none}
.fridge-form.is-searching .fridge-submit-spinner{display:inline-block}
@keyframes fridge-spin{to{transform:rotate(360deg)}}
@keyframes fridge-search-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
@media (prefers-reduced-motion:reduce){.fridge-submit-spinner,.fridge-loading-search{animation-duration:1.8s}}
@media (max-width:560px){.fridge-submit{width:100%;min-width:0}.fridge-loading-status{font-size:.92rem;align-items:flex-start}}


/* Full-screen fridge search overlay */
.fridge-search-overlay[hidden]{display:none}
.fridge-search-overlay{position:fixed;inset:0;z-index:30000;display:grid;place-items:center;padding:clamp(1rem,4vw,2rem);background:rgba(31,18,35,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.fridge-search-overlay-card{width:min(92vw,520px);text-align:center;padding:clamp(2rem,6vw,3.25rem);border:1px solid rgba(255,255,255,.42);border-radius:30px;background:linear-gradient(145deg,rgba(255,252,248,.98),rgba(250,239,243,.97));box-shadow:0 30px 100px rgba(18,7,23,.42);animation:fridge-overlay-enter .28s ease-out both}
.fridge-search-overlay-card h2{margin:.55rem auto .75rem;font-size:clamp(1.55rem,4vw,2.2rem);line-height:1.14;color:var(--ink,#30242f)}
.fridge-search-overlay-card p{max-width:430px;margin:0 auto;color:var(--muted,#6f626d);line-height:1.6}
.fridge-search-orbit{position:relative;display:grid;place-items:center;width:96px;height:96px;margin:0 auto 1.4rem}
.fridge-search-orbit-ring{position:absolute;inset:0;border:4px solid rgba(123,58,105,.16);border-top-color:var(--primary,#7b3a69);border-right-color:var(--accent,#f3a56f);border-radius:50%;animation:fridge-overlay-spin 1s linear infinite}
.fridge-search-orbit-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff;color:var(--primary,#7b3a69);font-size:2rem;font-weight:900;box-shadow:0 12px 34px rgba(73,31,64,.16);animation:fridge-overlay-pulse 1.4s ease-in-out infinite}
.fridge-search-progress{height:7px;margin:1.65rem auto .9rem;overflow:hidden;border-radius:999px;background:rgba(123,58,105,.12)}
.fridge-search-progress span{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary,#7b3a69),var(--accent,#f3a56f));animation:fridge-overlay-progress 1.35s ease-in-out infinite}
.fridge-search-dots{display:flex;justify-content:center;gap:.38rem;height:12px}
.fridge-search-dots span{width:7px;height:7px;border-radius:50%;background:var(--primary,#7b3a69);animation:fridge-overlay-dot 1.15s ease-in-out infinite}
.fridge-search-dots span:nth-child(2){animation-delay:.14s}.fridge-search-dots span:nth-child(3){animation-delay:.28s}
html.fridge-overlay-open,body.fridge-overlay-open{overflow:hidden;overscroll-behavior:none}
@keyframes fridge-overlay-enter{from{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:none}}
@keyframes fridge-overlay-spin{to{transform:rotate(360deg)}}
@keyframes fridge-overlay-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes fridge-overlay-progress{0%{transform:translateX(-120%)}55%,100%{transform:translateX(245%)}}
@keyframes fridge-overlay-dot{0%,70%,100%{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(-4px)}}
@media(max-width:560px){.fridge-search-overlay{padding:1rem}.fridge-search-overlay-card{width:100%;border-radius:24px;padding:2rem 1.35rem}.fridge-search-orbit{width:84px;height:84px}.fridge-search-orbit-icon{width:56px;height:56px}}
@media(prefers-reduced-motion:reduce){.fridge-search-overlay-card,.fridge-search-orbit-ring,.fridge-search-orbit-icon,.fridge-search-progress span,.fridge-search-dots span{animation-duration:2.4s}}

/* source: v3.css */
/* PickMyMealToday v3 — mobile-first interface */
:root{--pmmt-radius:22px;--pmmt-soft:#fff5e8;--pmmt-orange:#ef6036;--pmmt-dark:#241d19}
body{padding-bottom:0}.site-header{position:sticky;top:0;background:rgba(255,250,243,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(234,223,206,.75);width:100%;max-width:none;padding-inline:max(16px,calc((100% - var(--content-width))/2));margin:0;z-index:100}.site-header nav{overflow-x:auto;scrollbar-width:none}.site-header nav::-webkit-scrollbar{display:none}.button{min-height:44px}.card,.panel,.recipe-content{border-radius:var(--pmmt-radius)}
.mobile-bottom-nav{display:none}.mobile-menu-toggle{display:none}
@media(max-width:760px){body{padding-bottom:74px}.site-header{min-height:58px;padding:8px 12px}.site-header nav a{display:none!important}.site-header .language-switch{display:block}.brand{max-width:190px;overflow:hidden}.mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:8px;right:8px;bottom:8px;z-index:200;background:rgba(255,255,255,.96);border:1px solid var(--line);box-shadow:0 14px 36px rgba(54,35,20,.22);border-radius:20px;padding:7px 4px calc(7px + env(safe-area-inset-bottom));backdrop-filter:blur(16px)}.mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-decoration:none;font-size:1.15rem;min-width:0}.mobile-bottom-nav span{font-size:.66rem;font-weight:800;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero{padding:32px 20px;border-radius:24px}.hero h1{font-size:clamp(2.4rem,12vw,3.6rem)}.section-head{align-items:flex-start}.section-head .button{flex:none}.recipe-layout{gap:16px}.recipe-content{padding:22px 18px}.card:hover{transform:none}.smart-hero{padding:28px 18px!important}.smart-results-grid{grid-template-columns:1fr!important}.table-wrap{overflow:visible}}
@media(min-width:761px) and (max-width:1050px){.site-header nav a.nav-secondary{display:none}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* source: v5.css */
/* Pick My Meal Today V5 — modern responsive design system */
:root{
 --v5-bg:#fbf7f4;--v5-surface:#ffffff;--v5-surface-2:#f4ecef;--v5-ink:#261f29;--v5-muted:#756b77;
 --v5-primary:#6f3f68;--v5-primary-2:#3a243f;--v5-accent:#ef7d5f;--v5-accent-soft:#ffffff0eb;
 --v5-line:#eadfe5;--v5-gold:#d6a33d;--v5-radius:22px;--v5-shadow:0 16px 45px rgba(58,36,63,.10);
 --v5-width:1440px;--v5-reading:1160px;
 --bg:var(--v5-bg);--surface:var(--v5-surface);--ink:var(--v5-ink);--muted:var(--v5-muted);--accent:var(--v5-accent);--line:var(--v5-line);--shadow:var(--v5-shadow)
}
*{scrollbar-width:thin;scrollbar-color:#b8a7b4 transparent}
html{background:var(--v5-bg);scroll-padding-top:96px}
body{background:linear-gradient(180deg,#fffaf7 0,var(--v5-bg) 420px);color:var(--v5-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.005em}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 8% 0,rgba(239,107,71,.10),transparent 30rem),radial-gradient(circle at 94% 18%,rgba(111,63,104,.08),transparent 34rem)}
a{transition:color .18s ease,background .18s ease,transform .18s ease,border-color .18s ease}
button,input,select,textarea{font:inherit}

/* Header */
.site-header{width:100%;max-width:none;margin:0;padding:0 24px;min-height:76px;position:sticky;top:0;z-index:1000;background:rgba(250,251,247,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(221,227,217,.85);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center}
.brand{font-size:1.1rem;font-weight:850;color:var(--v5-primary-2);gap:10px}.brand span:first-child{display:grid;place-items:center;width:38px;height:38px;background:var(--v5-primary);border-radius:13px;font-size:1.2rem;box-shadow:0 8px 20px rgba(111,63,104,.18)}
.site-header nav{justify-content:center;gap:3px;min-width:0}.site-header nav a{font-size:.87rem;color:#5f5362;min-height:42px;padding:9px 11px;border-radius:12px}.site-header nav a:hover{background:#f3eaf0;color:var(--v5-primary);transform:none}.site-header nav a.smart-nav-link{color:var(--v5-primary);font-weight:800}
.language-switch{border:1px solid var(--v5-line);background:#ffffff;border-radius:12px;min-height:42px;color:var(--v5-ink);font-weight:750}
.v5-header-actions{display:flex;align-items:center;gap:8px}.v5-search-link{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--v5-line);border-radius:13px;text-decoration:none;background:#ffffff}.v5-menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--v5-line);border-radius:13px;background:#ffffff;color:var(--v5-ink);cursor:pointer;font-size:1.2rem}

/* Layout & typography */
main{min-height:70vh}.section,.home-hero,.hero,.site-footer{width:min(var(--v5-width),calc(100% - 48px))}.section{margin:54px auto}.section-head{align-items:center;margin-bottom:22px}.section h2,.section-head h2{font-size:clamp(1.65rem,3vw,2.55rem);letter-spacing:-.045em;line-height:1.05}.eyebrow,.home-kicker{letter-spacing:.13em;font-size:.73rem;font-weight:850;text-transform:uppercase}
.button{border-radius:14px;padding:12px 17px;background:var(--v5-primary);box-shadow:none}.button:hover{background:var(--v5-primary-2);transform:translateY(-1px)}.button.secondary{background:var(--v5-surface-2);color:var(--v5-primary)}.button.danger,.danger{background:#b6433a;color:#ffffff}

/* Home hero */
.home-hero{margin:26px auto 0;border-radius:32px;background:linear-gradient(120deg,#33203a 0,#6f3f68 60%,#8e557b 100%);color:#ffffff;padding:clamp(32px,5vw,72px);min-height:520px;box-shadow:0 22px 60px rgba(58,36,63,.2);overflow:hidden;isolation:isolate}
.home-hero::before{content:"";position:absolute;inset:auto -8% -55% 36%;height:130%;background:radial-gradient(circle,rgba(239,107,71,.32),transparent 62%);z-index:-1}.home-hero-copy{max-width:720px}.home-hero h1{font-size:clamp(3rem,7vw,6.5rem);line-height:.9;letter-spacing:-.07em;margin:.16em 0 .25em}.home-hero-intro{font-size:clamp(1rem,1.6vw,1.24rem);max-width:650px;color:#f4eaf2}.home-kicker{color:#ffd7c9}.recipe-counter{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(10px);border-radius:18px;padding:13px 16px;width:max-content;max-width:100%}.recipe-counter-number{font-size:1.45rem;font-weight:900}.recipe-counter-copy small{color:#dfd1dc}
.home-search{margin-top:24px;max-width:760px}.home-search-field{background:#ffffff;border-radius:17px;padding:7px 8px 7px 16px;box-shadow:0 16px 34px rgba(0,0,0,.18)}.home-search-field input{font-size:1rem}.home-search .button{background:var(--v5-accent)}.home-search .button:hover{background:#dc6849}

/* cards */
.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.card{border:1px solid var(--v5-line);border-radius:var(--v5-radius);box-shadow:0 7px 24px rgba(58,36,63,.06);background:#ffffff}.card:hover{transform:translateY(-5px);box-shadow:var(--v5-shadow);border-color:#dacbd5}.card-image{aspect-ratio:4/3;background:#f1e8ee}.card-image img{transition:transform .45s ease}.card:hover .card-image img{transform:scale(1.035)}.card-body{padding:18px}.card h3{font-size:1.08rem;line-height:1.28;letter-spacing:-.025em}.meta{color:var(--v5-muted);font-size:.84rem;gap:9px}.source-pill{background:#f4edf2;color:#685b69;border-radius:999px}.popular-badge,.recipe-badge{border-radius:999px}

/* Browse & discovery surfaces */
.browse-shell,.explore-shell,.fridge-shell,.smart-page,.cookbook-shell{width:min(var(--v5-width),calc(100% - 48px));margin:32px auto}.browse-hero,.explore-hero,.fridge-hero,.smart-hero{border-radius:28px!important;background:linear-gradient(130deg,#3a243f,#7d4b70)!important;color:#ffffff!important;border:0!important;box-shadow:var(--v5-shadow)!important}.browse-controls,.filter-panel,.fridge-form,.smart-panel,.panel{border:1px solid var(--v5-line);box-shadow:0 8px 28px rgba(58,36,63,.07);border-radius:22px;background:#ffffff}.browse-controls input,.browse-controls select,.filter-panel input,.filter-panel select,.fridge-form input,.fridge-form textarea{border-color:var(--v5-line);border-radius:13px;background:#fffafc}

/* Recipe */
.recipe-layout{width:min(var(--v5-reading),calc(100% - 48px));grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:28px;margin:34px auto}.recipe-media{position:sticky;top:104px;align-self:start}.recipe-media img{border-radius:26px;box-shadow:var(--v5-shadow);aspect-ratio:4/5;object-fit:cover}.recipe-content{border:1px solid var(--v5-line);border-radius:26px;padding:clamp(24px,4vw,42px);box-shadow:0 10px 36px rgba(58,36,63,.07)}.recipe-content h1{font-size:clamp(2.25rem,5vw,4.7rem);letter-spacing:-.065em;line-height:.94}.recipe-content>p{font-size:1.04rem;color:#655a68}.ingredients{background:#f8f1f5;border-color:var(--v5-line);border-radius:18px}.source-box{background:var(--v5-primary-2);border-radius:18px}.recipe-discovery-panel{border-radius:18px!important;background:var(--v5-accent-soft)!important;border-color:#f2c9bb!important}.recipe-nav{width:min(var(--v5-reading),calc(100% - 48px))!important}

/* Footer */
.site-footer{margin:72px auto 24px;padding:34px;border:1px solid var(--v5-line);border-radius:28px;background:#ffffff;display:block;color:var(--v5-muted)}.footer-inner{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(300px,1.5fr);gap:28px;align-items:start}.footer-legal-note{font-weight:700;color:var(--v5-ink);margin-top:0}.footer-links{display:flex;flex-wrap:wrap;gap:8px 16px}.footer-links a,.footer-utility-links a{color:var(--v5-muted);text-decoration:none}.footer-links a:hover,.footer-utility-links a:hover{color:var(--v5-primary)}.footer-translation-note,.footer-utility-links{grid-column:1/-1;margin:0}.footer-utility-links{display:flex;gap:16px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--v5-line)}

/* Mobile dock */
.v5-mobile-dock{display:none}

/* Admin V5 */
.admin-body{background:#f7f1f5}.admin-body .site-header,.admin-body>.site-footer{display:none}.admin-layout{background:#f7f1f5}.admin-sidebar{background:#2f1d35;border-right:0;box-shadow:12px 0 35px rgba(47,29,53,.08)}.admin-sidebar .brand{color:#ffffff}.admin-nav a{color:#dfd1dd;border-radius:13px}.admin-nav a:hover,.admin-nav a.active{background:#5a3457;color:#ffffff}.admin-main{min-width:0}.admin-topbar{background:rgba(255,255,255,.88);backdrop-filter:blur(15px);border-bottom:1px solid var(--v5-line);padding:20px 28px;position:sticky;top:0;z-index:30}.admin-topbar h1{letter-spacing:-.045em}.admin-shell{width:auto;max-width:1500px;margin:0 auto;padding:28px}.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.admin-stat{border:1px solid var(--v5-line);border-radius:20px;box-shadow:0 7px 24px rgba(58,36,63,.05)}.admin-stat strong{color:var(--v5-primary);font-size:2rem}.admin-toolbar{background:#fbf7fa;border-radius:17px;padding:12px}.admin-toolbar input,.admin-toolbar select,.bulk-bar select{border-radius:12px;border-color:var(--v5-line)}.admin-table th{background:#f7f0f5;color:#6d6170;font-size:.75rem;text-transform:uppercase;letter-spacing:.07em}.admin-table tbody tr:hover{background:#fffafd}.recipe-thumb{border-radius:11px}.status-badge{border-radius:999px}.admin-actions .button{padding:8px 11px;border-radius:10px;font-size:.8rem}.pagination a,.pagination span{border-radius:10px}.pagination .current{background:var(--v5-primary)}

@media(max-width:1180px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-header nav a.nav-secondary{display:none}.recipe-layout{grid-template-columns:1fr 1fr}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){
 body{padding-bottom:72px}.site-header{min-height:66px;padding:0 14px;grid-template-columns:1fr auto}.site-header nav{position:fixed;top:66px;left:12px;right:12px;display:none;flex-direction:column;align-items:stretch;padding:12px;background:#ffffff;border:1px solid var(--v5-line);border-radius:18px;box-shadow:var(--v5-shadow);max-height:calc(100vh - 90px);overflow:auto}.site-header nav.is-open{display:flex}.site-header nav a{justify-content:flex-start;padding:11px 13px}.site-header nav .nav-label{display:inline}.language-switch{width:100%;max-width:none}.v5-header-actions{display:flex}.v5-menu-toggle{display:inline-grid;place-items:center}.brand-suffix{display:inline}
 .home-hero,.section,.hero,.site-footer,.browse-shell,.explore-shell,.fridge-shell,.smart-page,.cookbook-shell,.recipe-layout,.recipe-nav{width:calc(100% - 28px)!important}.home-hero{min-height:auto;padding:44px 28px;border-radius:25px}.home-hero h1{font-size:clamp(3rem,12vw,5rem)}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.recipe-layout{grid-template-columns:1fr}.recipe-media{position:relative;top:auto}.recipe-media img{aspect-ratio:16/11}.footer-inner{grid-template-columns:1fr}
 .v5-mobile-dock{position:fixed;z-index:900;display:grid;grid-template-columns:repeat(5,1fr);bottom:0;left:0;right:0;height:66px;padding:7px 8px max(7px,env(safe-area-inset-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-top:1px solid var(--v5-line)}.v5-mobile-dock a{text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.67rem;font-weight:750;color:#6b5d6d;border-radius:11px}.v5-mobile-dock a span:first-child{font-size:1.15rem}.v5-mobile-dock a:hover{background:#f4edf2;color:var(--v5-primary)}
 .admin-shell{padding:18px}.admin-topbar{padding:14px 18px}.admin-stats{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
 .site-header{padding-inline:12px}.brand{font-size:.98rem}.brand span:first-child{width:36px;height:36px}.v5-search-link{display:none}.home-hero{padding:36px 22px;margin-top:14px}.home-hero h1{font-size:3.25rem}.home-search-field{flex-wrap:wrap}.home-search-field input{width:calc(100% - 35px)}.home-search-field .button{width:100%;margin-top:5px}.recipe-counter{width:100%}.grid{grid-template-columns:1fr}.card{border-radius:19px}.card-image{aspect-ratio:16/10}.section{margin-block:38px}.section-head{align-items:flex-start;flex-direction:column}.recipe-content{padding:24px 19px;border-radius:22px}.recipe-content h1{font-size:2.65rem}.recipe-media img{border-radius:20px}.site-footer{padding:24px 20px;border-radius:22px}.admin-stats{grid-template-columns:1fr}.admin-topbar .admin-user-actions{display:none}.admin-shell{padding:12px}.panel{padding:16px;border-radius:18px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.mobile-bottom-nav{display:none!important}
[dir="rtl"] .site-header nav,[dir="rtl"] .footer-links{direction:rtl}
[dir="rtl"] .recipe-content,[dir="rtl"] .card-body,[dir="rtl"] .panel{text-align:right}
[dir="rtl"] .v5-mobile-dock{direction:rtl}


/* V5.1 brand and palette refinement */
.brand{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--v5-primary-2);text-decoration:none}
.brand-mark{width:42px;height:42px;flex:0 0 42px;display:block;filter:drop-shadow(0 8px 16px rgba(58,36,63,.16))}
.brand-wordmark{display:flex;align-items:baseline;gap:.24em;white-space:nowrap;line-height:1}
.brand-wordmark-main{font-weight:900;letter-spacing:-.055em;color:#2f2432}
.brand-wordmark-accent{font-weight:800;letter-spacing:-.04em;color:var(--v5-accent)}
.brand span:first-child{width:auto;height:auto;background:none;border-radius:0;font-size:inherit;box-shadow:none}
.site-header{background:rgba(255,250,247,.9);border-color:rgba(234,223,229,.9)}
.home-hero{background:linear-gradient(125deg,#2f1d35 0,#5b3158 52%,#8b506f 100%)}
.home-hero::before{background:radial-gradient(circle,rgba(239,125,95,.42),transparent 62%)}
.browse-hero,.explore-hero,.fridge-hero,.smart-hero{background:linear-gradient(130deg,#34203d,#744267)!important}
.card-image,.recipe-card-image,.cuisine-card-image{background:linear-gradient(135deg,#f1e7ed,#fde3d9)}
.placeholder{background:linear-gradient(135deg,#f2e8ee,#ffe4d7);color:#a67891}
.source-box{background:linear-gradient(135deg,#34203f,#593055)}
.admin-sidebar{background:linear-gradient(180deg,#2e1c34,#432442)}
.admin-nav a:hover,.admin-nav a.active{background:#60345c}
.button{background:linear-gradient(135deg,var(--v5-primary),#865075)}
.button:hover{background:linear-gradient(135deg,#5e3559,#744266)}
.button.secondary{background:#f6edf2;color:#60395d}
.home-search .button{background:linear-gradient(135deg,#ef7d5f,#e96850)}
.home-search .button:hover{background:linear-gradient(135deg,#e56f51,#d95c43)}
.v5-search-link,.v5-menu-toggle,.language-switch{box-shadow:0 4px 14px rgba(58,36,63,.05)}

@media(max-width:560px){
 .brand-mark{width:36px;height:36px;flex-basis:36px}
 .brand-wordmark{gap:.18em;font-size:.92rem}
 .brand-wordmark-main{max-width:none}
 .brand-suffix{display:inline!important}
}
@media(max-width:370px){
 .brand-wordmark{font-size:.82rem}
 .site-header{gap:8px}
}

/* V5.2 section actions and homepage hierarchy */
.section-head{
  align-items:center;
  margin-bottom:20px;
}
.section-head>div:first-child{min-width:0}
.section-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:42px;
  padding:9px 10px 9px 14px;
  border:1px solid rgba(111,63,104,.16);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--v5-primary);
  box-shadow:0 5px 16px rgba(58,36,63,.055);
  font-size:.86rem;
  font-weight:850;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
}
.section-action-icon{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f3e7ef;
  color:var(--v5-primary);
  font-size:1rem;
  transition:transform .18s ease,background .18s ease,color .18s ease;
}
.section-action:hover,
.section-action:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(111,63,104,.32);
  background:#fff;
  box-shadow:0 10px 24px rgba(58,36,63,.10);
  outline:none;
}
.section-action:hover .section-action-icon,
.section-action:focus-visible .section-action-icon{
  transform:translateX(2px);
  background:var(--v5-primary);
  color:#fff;
}
.smart-home-section .section-action{background:#fff7f2;border-color:#f3cfc3;color:#9a4d3b}
.smart-home-section .section-action-icon{background:#ffe3d8;color:#a34f3b}
.world-preview-section .section-action{background:#faf4f8}
.home-section-head .split-actions{align-items:center}
.home-section-head .split-actions .button.secondary{
  min-height:42px;
  padding:10px 15px;
  border-radius:999px;
  box-shadow:none;
}
.home-section-head .split-actions .button.secondary:hover{transform:translateY(-1px)}

@media(max-width:560px){
  .section-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:12px;
  }
  .section-head>div:first-child{min-width:0}
  .section-head h2{font-size:clamp(1.35rem,7vw,1.85rem);line-height:1.08}
  .section-action{
    min-height:36px;
    max-width:145px;
    padding:6px 7px 6px 11px;
    gap:7px;
    font-size:.74rem;
    white-space:normal;
    text-align:right;
  }
  .section-action-icon{width:23px;height:23px;flex:0 0 23px}
  .home-section-head .split-actions{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
    gap:9px;
  }
  .home-section-head .split-actions .button.secondary,
  .home-section-head .split-actions .section-action{
    width:100%;
    max-width:none;
    min-height:40px;
  }
  .home-section-head .split-actions .section-action{justify-content:space-between;text-align:left}
}

@media(max-width:370px){
  .section-head{grid-template-columns:1fr}
  .section-head>.section-action{justify-self:start;max-width:none}
}

/* source: v6.css */
/* Pick My Meal Today V6 — unified premium design refinement */
:root{
  --ds-space-1:4px;--ds-space-2:8px;--ds-space-3:12px;--ds-space-4:16px;--ds-space-5:24px;--ds-space-6:32px;--ds-space-7:48px;--ds-space-8:72px;
  --ds-radius-sm:10px;--ds-radius-md:16px;--ds-radius-lg:24px;--ds-radius-xl:32px;
  --ds-shadow-sm:0 4px 14px rgba(54,32,58,.055);--ds-shadow-md:0 12px 34px rgba(54,32,58,.085);--ds-shadow-lg:0 24px 64px rgba(54,32,58,.14);
  --ds-plum-950:#2b192f;--ds-plum-800:#4b294a;--ds-plum-650:#704064;--ds-coral:#ed765b;--ds-cream:#fffaf6;--ds-blush:#f8eff3;--ds-line:#eadfe5;
}
html{scroll-behavior:smooth}
body{line-height:1.55;background:linear-gradient(180deg,#fffaf7 0,#faf6f3 36rem,#f8f5f1 100%)}
main{overflow:clip}
:focus-visible{outline:3px solid rgba(237,118,91,.4);outline-offset:3px}

/* Consistent interactive language */
.button,.section-action,.cookbook-save-button,.recipe-like-button,.ingredient-substitute-button,.recipe-browser-all{
  min-height:44px;border-radius:999px;font-weight:820;letter-spacing:-.012em;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
}
.button{padding:11px 18px;box-shadow:var(--ds-shadow-sm)}
.button:hover,.section-action:hover,.cookbook-save-button:hover,.recipe-like-button:hover,.ingredient-substitute-button:hover{transform:translateY(-2px)}
.button.secondary{border:1px solid rgba(112,64,100,.13);background:rgba(255,255,255,.78);box-shadow:var(--ds-shadow-sm)}
.button.secondary:hover{background:#fff;border-color:rgba(112,64,100,.26)}

/* Header: calmer, sharper hierarchy */
.site-header{min-height:72px;padding-inline:clamp(14px,2.3vw,34px);background:rgba(255,250,247,.86);box-shadow:0 1px 0 rgba(81,49,78,.04)}
.site-header nav a{font-weight:720}.site-header nav a:hover{background:#f5ecf1}.brand-mark{filter:drop-shadow(0 7px 14px rgba(58,36,63,.13))}
.v5-search-link,.v5-menu-toggle,.language-switch{border-color:rgba(112,64,100,.13);background:rgba(255,255,255,.82)}

/* Layout rhythm */
.section{margin-block:clamp(48px,7vw,84px)}
.section-head{margin-bottom:clamp(18px,2.4vw,28px)}
.section-head h2,.section h2{max-width:18ch;text-wrap:balance}
.section-head p{max-width:66ch;color:var(--v5-muted)}
.eyebrow,.home-kicker{color:#a05272;font-weight:900}

/* Hero and search */
.home-hero{min-height:clamp(480px,62vh,650px);padding:clamp(36px,6vw,88px);box-shadow:var(--ds-shadow-lg)}
.home-hero-copy{max-width:790px}.home-hero h1{text-wrap:balance}.home-hero-intro{max-width:60ch;line-height:1.65}
.home-search-field{padding:8px 9px 8px 18px;border:1px solid rgba(255,255,255,.6);box-shadow:0 22px 55px rgba(24,10,28,.25)}
.recipe-counter{box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}

/* Cards */
.grid{gap:clamp(15px,2vw,24px)}
.card{border-color:rgba(112,64,100,.105);box-shadow:var(--ds-shadow-sm);overflow:hidden}
.card:hover{box-shadow:var(--ds-shadow-md);transform:translateY(-4px)}
.card-body{padding:clamp(15px,2vw,20px)}
.card h3{font-weight:850}.meta{line-height:1.45}
.card-image,.recipe-card-image,.cuisine-card-image{background:linear-gradient(145deg,#f6edf2,#fff0e9)}
.popular-badge,.recipe-badge,.match-badge,.trend-rank{box-shadow:0 6px 18px rgba(54,32,58,.12)}

/* Section actions become quiet navigation, never competing with content */
.section-action{min-height:40px;padding:7px 8px 7px 14px;background:transparent;border-color:rgba(112,64,100,.14);box-shadow:none}
.section-action:hover{background:#fff;box-shadow:var(--ds-shadow-sm)}
.section-action-icon{width:25px;height:25px;background:#f3e7ef}

/* Recipe detail */
.recipe-layout{gap:clamp(22px,3vw,40px);margin-top:clamp(24px,4vw,48px)}
.recipe-media img{border-radius:var(--ds-radius-xl);box-shadow:var(--ds-shadow-lg)}
.recipe-content{padding:clamp(26px,4.2vw,48px);border-radius:var(--ds-radius-xl);box-shadow:var(--ds-shadow-md);background:rgba(255,255,255,.94)}
.recipe-content h1{text-wrap:balance;margin-bottom:12px}
.recipe-discovery-panel{padding:16px 18px!important;background:linear-gradient(135deg,#fff8f4,#fbf1f5)!important}
.recipe-like-wrap{gap:10px;margin-block:18px 24px}
.cookbook-save-button,.recipe-like-button{padding:10px 16px!important;box-shadow:none!important}
.ingredients{padding:10px 12px;background:#fffaf6;border-radius:20px}
.ingredient-row{min-height:48px;border-color:rgba(112,64,100,.09)!important}
.ingredient-substitute-button{min-height:34px!important;padding:6px 11px!important;background:#fff!important;border:1px solid rgba(112,64,100,.14)!important;box-shadow:none!important}
.source-box{padding:20px;border-radius:20px;box-shadow:0 12px 30px rgba(54,32,58,.13)}
.recipe-browser{gap:14px}.recipe-browser-side,.recipe-browser-all{border-radius:18px!important;box-shadow:var(--ds-shadow-sm)}

/* Discovery and forms */
.browse-controls,.filter-panel,.fridge-form,.smart-panel,.panel{box-shadow:var(--ds-shadow-sm);border-color:rgba(112,64,100,.11)}
.browse-hero,.explore-hero,.fridge-hero,.smart-hero{box-shadow:var(--ds-shadow-lg)!important}
input,select,textarea{min-height:44px}

/* Premium footer */
.site-footer-v6{width:min(1440px,calc(100% - 48px));margin:clamp(64px,9vw,110px) auto 24px;padding:0;border:0;border-radius:32px;overflow:hidden;background:linear-gradient(145deg,#301c35 0,#4c2949 58%,#6f3f68 100%);color:#f5eaf2;box-shadow:var(--ds-shadow-lg)}
.footer-inner-v6{display:grid;grid-template-columns:minmax(280px,1.35fr) repeat(3,minmax(150px,.62fr));gap:clamp(26px,4vw,58px);padding:clamp(30px,5vw,64px)}
.footer-brand-panel{max-width:480px}.footer-brand{display:inline-flex;align-items:center;gap:13px;color:#fff;text-decoration:none}.footer-brand-mark{width:52px;height:52px;flex:0 0 52px}.footer-brand span{display:flex;align-items:baseline;gap:.25em;font-size:1.15rem;line-height:1}.footer-brand strong{font-weight:900;letter-spacing:-.05em}.footer-brand em{font-style:normal;font-weight:850;color:#f7a083}.footer-brand-panel>p{margin:22px 0;color:#ddcede;max-width:46ch;line-height:1.75}.footer-trust-row{display:flex;flex-wrap:wrap;gap:8px}.footer-trust-row span{padding:7px 10px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:rgba(255,255,255,.065);font-size:.75rem;color:#f5eaf2}
.footer-column{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.footer-column h2{margin:4px 0 9px;color:#f7a083;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900}.footer-column a{color:#eadde8;text-decoration:none;font-size:.9rem;line-height:1.4}.footer-column a:hover{color:#fff;transform:translateX(2px)}
.footer-bottom{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:14px 28px;align-items:center;padding-top:28px;border-top:1px solid rgba(255,255,255,.11);color:#cdbdcd;font-size:.78rem}.footer-bottom p{margin:0}.footer-bottom .footer-translation-note{grid-column:1/2;color:#bfaebe}.footer-bottom .footer-utility-links{grid-column:2;grid-row:1/3;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px 16px;padding:0;border:0}.footer-bottom a{color:#d9cad7;text-decoration:none}.footer-bottom a:hover{color:#fff}

/* Mobile dock */
.v5-mobile-dock{box-shadow:0 -10px 30px rgba(54,32,58,.08)}

/* Admin consistency */
.admin-stat,.panel,.admin-toolbar{box-shadow:var(--ds-shadow-sm)}
.admin-table tbody tr{transition:background .16s ease}.admin-actions .button{min-height:36px;border-radius:999px}

@media(max-width:980px){
  .footer-inner-v6{grid-template-columns:1.4fr repeat(2,1fr)}
  .footer-legal-links{grid-column:2/4}
}
@media(max-width:860px){
  .site-footer-v6{width:calc(100% - 28px)}
  .footer-inner-v6{grid-template-columns:1fr 1fr;padding:34px 26px 32px}
  .footer-brand-panel{grid-column:1/-1}.footer-legal-links{grid-column:auto}
  .footer-bottom{grid-template-columns:1fr}.footer-bottom .footer-translation-note,.footer-bottom .footer-utility-links{grid-column:1;grid-row:auto;justify-content:flex-start}
}
@media(max-width:560px){
  body{font-size:15px}.section{margin-block:46px}
  .home-hero{padding:38px 23px;min-height:auto}.home-hero h1{font-size:clamp(2.7rem,15vw,4rem)}
  .recipe-content{padding:25px 18px}.recipe-content h1{font-size:clamp(2.25rem,12vw,3.15rem)}
  .recipe-like-wrap{display:grid;grid-template-columns:1fr 1fr}.cookbook-save-button,.recipe-like-form,.recipe-like-button{width:100%}
  .recipe-browser{grid-template-columns:1fr!important}.recipe-browser-all{order:-1}
  .site-footer-v6{margin-top:64px;border-radius:26px}.footer-inner-v6{grid-template-columns:1fr 1fr;gap:30px 22px;padding:31px 22px 28px}.footer-brand-panel{grid-column:1/-1}.footer-brand-mark{width:46px;height:46px;flex-basis:46px}.footer-brand span{font-size:1.03rem}.footer-column h2{font-size:.69rem}.footer-column a{font-size:.84rem}.footer-bottom{grid-column:1/-1;padding-top:24px}.footer-bottom .footer-utility-links{gap:10px 14px}
}
@media(max-width:370px){.footer-inner-v6{grid-template-columns:1fr}.footer-brand-panel,.footer-bottom{grid-column:1}.footer-brand span{font-size:.92rem}}
[dir="rtl"] .footer-column{align-items:flex-end}[dir="rtl"] .footer-column a:hover{transform:translateX(-2px)}

/* V7 structured substitution assistant */
.substitute-dialog{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.substitute-dialog-card{max-width:680px;max-height:min(88vh,820px);overflow:auto;padding:clamp(1.25rem,4vw,2rem)}
.substitute-original{font-size:1.02rem;font-weight:700;color:var(--text);padding:.85rem 1rem;background:rgba(112,64,100,.07);border-radius:14px;margin:.75rem 0 1rem}
.substitute-results{display:grid;gap:.85rem}
.substitution-card{border:1px solid rgba(112,64,100,.13);border-radius:18px;padding:1rem;background:linear-gradient(145deg,#fff,#fffaf7);box-shadow:0 8px 25px rgba(63,27,55,.06)}
.substitution-card-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.substitution-card-head>div{display:flex;align-items:center;gap:.65rem;font-size:1.08rem}
.substitution-rank{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--brand,#642b5b);color:#fff;font-weight:900;font-size:.8rem}
.substitution-score{font-weight:900;background:#fff0df;color:#7c3d22;border-radius:999px;padding:.35rem .6rem;white-space:nowrap}
.substitution-quality,.substitution-context{display:inline-flex;margin:.65rem .4rem .25rem 0;border-radius:999px;padding:.3rem .6rem;font-size:.76rem;font-weight:800}
.substitution-quality{background:rgba(112,64,100,.1);color:var(--brand,#642b5b)}
.substitution-context{background:#e9f8ef;color:#17633b}
.substitution-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.8rem 0 0}
.substitution-details div{background:#f7f1eb;border-radius:12px;padding:.65rem}
.substitution-details dt{font-size:.69rem;text-transform:uppercase;letter-spacing:.05em;font-weight:900;color:#8c6a7f;margin-bottom:.25rem}
.substitution-details dd{margin:0;font-size:.86rem;line-height:1.35}
.substitution-reason{margin:.75rem 0 0;color:#65525f;font-size:.88rem}
.substitution-empty{display:flex;gap:.9rem;align-items:flex-start;padding:1rem;border-radius:16px;background:#fff4df;border:1px solid #f1d5a1}
.substitution-empty-icon{font-size:1.35rem}.substitution-empty p{margin:.25rem 0 0;line-height:1.5}
.substitution-loading{display:flex;align-items:center;gap:.7rem;padding:1rem;background:#f7f1eb;border-radius:14px}
.substitution-loading span{width:18px;height:18px;border:2px solid rgba(112,64,100,.18);border-top-color:var(--brand,#642b5b);border-radius:50%;animation:pmm-spin .8s linear infinite}
@keyframes pmm-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.substitute-dialog{padding:.5rem;align-items:end}.substitute-dialog-card{width:100%;max-height:92vh;border-radius:24px 24px 10px 10px}.substitution-details{grid-template-columns:1fr}.substitution-card-head{align-items:flex-start}}
.substitution-source-link{display:inline-flex;margin-top:.65rem;text-decoration:none}.substitution-empty>div{min-width:0}

/* source: v8.css */
/* Pick My Meal Today V8 — experience layer */
:root{--v8-plum:#4b294a;--v8-plum-2:#744667;--v8-apricot:#f39a78;--v8-gold:#f6c65b;--v8-cream:#fffaf6;--v8-ink:#2f2430}
html{scroll-behavior:smooth}body.public-body{overflow-x:hidden;background:
radial-gradient(circle at 8% 12%,rgba(243,154,120,.12),transparent 27rem),
radial-gradient(circle at 92% 28%,rgba(116,70,103,.10),transparent 31rem),
linear-gradient(180deg,#fffaf7 0,#fff 45%,#fff9f5 100%)}
body.public-body:before,body.public-body:after{content:"";position:fixed;z-index:-1;border-radius:999px;filter:blur(2px);pointer-events:none;opacity:.55;animation:v8-float 16s ease-in-out infinite}
body.public-body:before{width:210px;height:210px;left:-80px;top:32vh;background:radial-gradient(circle,rgba(246,198,91,.16),transparent 68%)}
body.public-body:after{width:280px;height:280px;right:-130px;top:68vh;background:radial-gradient(circle,rgba(243,154,120,.15),transparent 68%);animation-delay:-7s}
@keyframes v8-float{50%{transform:translate3d(0,-24px,0) scale(1.06)}}

/* Page entrance and scroll reveal */
body.public-body main{animation:v8-page-in .52s cubic-bezier(.2,.75,.25,1) both}
@keyframes v8-page-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.v8-reveal{opacity:0;transform:translateY(22px) scale(.985);transition:opacity .58s ease,transform .64s cubic-bezier(.2,.75,.25,1)}
.v8-reveal.is-visible{opacity:1;transform:none}.v8-reveal[data-v8-delay="1"]{transition-delay:.06s}.v8-reveal[data-v8-delay="2"]{transition-delay:.12s}.v8-reveal[data-v8-delay="3"]{transition-delay:.18s}.v8-reveal[data-v8-delay="4"]{transition-delay:.24s}

/* More tactile cards and controls */
.public-body .card,.public-body .cuisine-card,.public-body .smart-feature-card{will-change:transform;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.public-body .card:hover,.public-body .cuisine-card:hover,.public-body .smart-feature-card:hover{transform:translateY(-6px);border-color:rgba(116,70,103,.2)}
.public-body .button,.public-body button,.public-body .section-action{position:relative;overflow:hidden;isolation:isolate}
.v8-ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.42);transform:translate(-50%,-50%) scale(0);animation:v8-ripple .55s ease-out;pointer-events:none;z-index:-1}@keyframes v8-ripple{to{transform:translate(-50%,-50%) scale(5);opacity:0}}
.site-header{transition:box-shadow .25s ease,background .25s ease,transform .25s ease}.site-header.is-scrolled{background:rgba(255,250,247,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 12px 35px rgba(61,35,57,.09)}
.brand-mark{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.brand:hover .brand-mark{transform:rotate(-5deg) scale(1.06)}

/* Ingredient checklist */
.ingredient-row label{cursor:pointer}.ingredient-row input[type="checkbox"]{accent-color:var(--v8-plum-2)}
.ingredient-row.is-checked{background:linear-gradient(90deg,rgba(105,176,123,.12),transparent);border-radius:12px}.ingredient-row.is-checked [data-ingredient-text]{text-decoration:line-through;color:#7c7078;transition:color .2s ease}.ingredient-row.is-checked:after{content:"✓";margin-inline-start:auto;color:#3c8a54;font-weight:900;animation:v8-check .35s cubic-bezier(.2,.9,.3,1.3)}
@keyframes v8-check{from{transform:scale(.2) rotate(-18deg);opacity:0}to{transform:none;opacity:1}}

/* Feedback toasts */
.v8-toast-region{position:fixed;right:20px;top:88px;z-index:99999;display:grid;gap:10px;max-width:min(360px,calc(100vw - 30px));pointer-events:none}
.v8-toast{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(55,31,54,.94);color:#fff;box-shadow:0 18px 50px rgba(47,27,44,.25);backdrop-filter:blur(14px);animation:v8-toast-in .38s cubic-bezier(.2,.85,.25,1) both}.v8-toast.is-leaving{animation:v8-toast-out .28s ease forwards}.v8-toast-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.12);font-size:1.1rem}.v8-toast strong{font-size:.9rem}.v8-toast small{display:block;color:#e7dce5;margin-top:2px}
@keyframes v8-toast-in{from{opacity:0;transform:translateX(25px) scale(.96)}to{opacity:1;transform:none}}@keyframes v8-toast-out{to{opacity:0;transform:translateX(20px)}}

/* Full fridge-search experience */
.fridge-search-overlay{background:radial-gradient(circle at 50% 36%,rgba(120,71,108,.34),rgba(32,17,34,.88) 55%,rgba(22,12,23,.96));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.fridge-search-overlay-card{width:min(680px,calc(100% - 30px));padding:clamp(28px,6vw,58px);border:1px solid rgba(255,255,255,.18);border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(255,246,241,.95));box-shadow:0 40px 110px rgba(20,10,21,.42);text-align:center;overflow:hidden;position:relative}
.fridge-search-overlay-card:before{content:"";position:absolute;inset:-50%;background:conic-gradient(from 90deg,transparent,rgba(243,154,120,.12),transparent 30%);animation:v8-overlay-glow 5s linear infinite;pointer-events:none}@keyframes v8-overlay-glow{to{transform:rotate(360deg)}}
.fridge-search-overlay-card>*{position:relative}.fridge-search-orbit{width:112px;height:112px;margin:0 auto 20px}.fridge-search-orbit-ring{inset:0;border:2px solid rgba(116,70,103,.12);border-top-color:var(--v8-apricot);border-right-color:var(--v8-plum-2);animation:pmm-spin 1.25s linear infinite}.fridge-search-orbit-ring:after{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:var(--v8-gold);top:7px;left:17px;box-shadow:0 0 0 7px rgba(246,198,91,.13)}.fridge-search-orbit-icon{font-size:2.4rem;animation:v8-chef-pulse 1.4s ease-in-out infinite}@keyframes v8-chef-pulse{50%{transform:scale(1.1) rotate(-4deg)}}
.fridge-search-overlay h2{font-size:clamp(1.7rem,5vw,2.5rem);margin:.45rem 0}.fridge-search-overlay p{max-width:50ch;margin:.4rem auto 1rem;color:#695765;line-height:1.65}.fridge-search-stage{min-height:1.5em;font-weight:850;color:var(--v8-plum);transition:opacity .22s ease,transform .22s ease}.fridge-search-stage.is-changing{opacity:0;transform:translateY(5px)}
.fridge-search-ingredients{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;min-height:34px;margin:18px auto 8px}.fridge-search-chip{padding:7px 11px;border-radius:999px;background:#f4e8f0;color:#5d3755;font-size:.8rem;font-weight:800;animation:v8-chip-in .38s cubic-bezier(.2,.8,.2,1) both}@keyframes v8-chip-in{from{opacity:0;transform:translateY(8px) scale(.9)}}
.fridge-search-progress{height:8px;background:rgba(116,70,103,.10);border-radius:999px;overflow:hidden;margin-top:22px}.fridge-search-progress span{display:block;width:36%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--v8-plum-2),var(--v8-apricot),var(--v8-gold));animation:v8-progress 1.5s ease-in-out infinite}@keyframes v8-progress{0%{transform:translateX(-110%)}100%{transform:translateX(310%)}}
.fridge-search-facts{margin-top:16px;color:#8a7684;font-size:.76rem}.fridge-search-dots{margin-top:11px}

/* Substitution assistant as a mobile bottom-sheet experience */
.substitute-dialog{background:rgba(29,15,30,.66);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}.substitute-dialog-card{animation:v8-sheet-in .42s cubic-bezier(.2,.78,.22,1) both}@keyframes v8-sheet-in{from{opacity:0;transform:translateY(26px) scale(.98)}to{opacity:1;transform:none}}
.substitution-card{transition:transform .22s ease,box-shadow .22s ease}.substitution-card:hover{transform:translateY(-2px);box-shadow:0 15px 35px rgba(63,27,55,.10)}

/* Surprise page / navigation transition */
.v8-page-exit:after{content:"";position:fixed;inset:0;z-index:99998;background:linear-gradient(135deg,#3d223e,#754667);animation:v8-exit .38s ease forwards;pointer-events:none}@keyframes v8-exit{from{opacity:0}to{opacity:1}}

@media(max-width:700px){.v8-toast-region{top:auto;bottom:88px;left:15px;right:15px;max-width:none}.v8-toast{border-radius:16px}.fridge-search-overlay-card{border-radius:28px;padding:30px 20px}.fridge-search-orbit{width:92px;height:92px}.fridge-search-overlay h2{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.v8-reveal{opacity:1;transform:none}}
