
/* AltaVista 1999 pastiche ------------------------------------------------- */
* { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0;
  background: #ffffff;
  color: #000000;
  font-family: Verdana, Geneva, Arial, sans-serif;
  font-size: 12px;
  line-height: 1.35;
}
a { color: #002855; text-decoration: underline; }
a:visited { color: #53565A; }
a:hover { color: #7F6310; }

.av-wrap {
  max-width: 1040px;
  margin: 0 auto;
  padding: 6px 8px 40px;
}

/* --- masthead --- */
.av-masthead { margin: 6px 0 8px; }
.av-logo-cell { padding: 4px 0; }
.av-logo { text-decoration: none; letter-spacing: -0.5px; display: inline-block; }
.av-logo:hover { text-decoration: none; }
.av-logo-mark  { color: #002855; font-size: 28px; font-weight: bold; font-family: Arial, sans-serif; letter-spacing: -1px; }
.av-logo-pipe  { color: #C48E00; font-size: 28px; font-weight: bold; font-family: Arial, sans-serif; margin: 0 8px; letter-spacing: 0; }
.av-logo-vista { color: #C48E00; font-size: 28px; font-weight: bold; font-family: Arial, sans-serif; letter-spacing: -1px; }
.av-logo-sub   { color: #75787B; font-size: 22px; font-weight: normal; font-family: Arial, sans-serif; margin-left: 6px; letter-spacing: 0; }
.av-slogan {
  color: #002855; font-style: italic; font-size: 11px;
  margin-left: 2px; margin-top: 2px;
}
.av-promo-cell { text-align: right; vertical-align: top; padding-top: 6px; width: 180px; }
.av-promo {
  border: 1px solid #C7C9C7; padding: 4px 6px;
  background: #FCF5CC; display: inline-block;
  font-size: 11px; text-align: left;
}
.av-promo-top { color: #7F6310; font-weight: bold; }
.av-promo-body { color: #002855; }

/* --- decorative chef rats (sneaked into side spots) --- */
.rat { display: inline-block; vertical-align: middle; pointer-events: none; }
.rat-peek   { width: 56px; height: auto; }
.rat-chef   { width: 40px; height: auto; }
.rat-cheese { width: 72px; height: auto; }
.rat-wedge  { width: 16px; height: auto; }

/* Masthead peek rat: tucked between slogan and promo cell */
.av-masthead-peek {
  position: relative; display: inline-block;
  margin-left: 10px; margin-bottom: -6px;
  opacity: 0.85;
  transform: rotate(-4deg);
}
.av-masthead-peek .rat-peek { width: 52px; }

/* Homepage right-rail panel rat (floats top-right of Hypnotoad panel) */
.av-panel { position: relative; }
.av-panel-rat {
  position: absolute;
  top: -22px; right: 6px;
  transform: rotate(8deg);
  z-index: 2;
}
.av-panel-rat .rat-chef { width: 44px; filter: drop-shadow(1px 1px 0 rgba(0,0,0,0.15)); }

/* Cheese sneak on the Universal Translator panel */
.av-panel-cheese {
  position: absolute;
  bottom: -10px; left: -14px;
  transform: rotate(-10deg);
  opacity: 0.9;
  z-index: 2;
}
.av-panel-cheese .rat-cheese { width: 64px; }

/* Recipe page: rat peeking from the crumbs bar */
.av-crumbs-rat {
  display: inline-block;
  vertical-align: middle;
  margin: 0 6px 0 0;
  transform: translateY(2px);
  opacity: 0.9;
}
.av-crumbs-rat .rat-peek { width: 42px; }

/* 404 page rat */
.av-404-rat {
  display: block; margin: 10px auto 14px;
  text-align: center;
}
.av-404-rat .rat-chef { width: 110px; }

/* Footer wedge flourish */
.av-footer-wedge { margin: 0 4px; vertical-align: -2px; }

/* Paw-print watermark: applied to a deterministic subset of recipes */
.av-recipe-paws { position: relative; isolation: isolate; overflow: hidden; }
.av-recipe-paws::before {
  content: "";
  position: absolute;
  inset: -180px;
  pointer-events: none;
  z-index: 0;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMjAiIGhlaWdodD0iMjIwIiB2aWV3Qm94PSIwIDAgMjIwIDIyMCI+CiAgPGRlZnM+CiAgICA8ZyBpZD0icGF3Ij4KICAgICAgPGVsbGlwc2UgY3g9IjAiIGN5PSI5IiByeD0iNi41IiByeT0iOC41IiBmaWxsPSIjMEYxQTJCIi8+CiAgICAgIDxjaXJjbGUgY3g9Ii03IiBjeT0iLTIiIHI9IjIiIGZpbGw9IiMwRjFBMkIiLz4KICAgICAgPGNpcmNsZSBjeD0iLTIuNSIgY3k9Ii02IiByPSIyLjMiIGZpbGw9IiMwRjFBMkIiLz4KICAgICAgPGNpcmNsZSBjeD0iMyIgY3k9Ii02IiByPSIyLjMiIGZpbGw9IiMwRjFBMkIiLz4KICAgICAgPGNpcmNsZSBjeD0iNy41IiBjeT0iLTIiIHI9IjIiIGZpbGw9IiMwRjFBMkIiLz4KICAgIDwvZz4KICA8L2RlZnM+CiAgPGcgb3BhY2l0eT0iMSI+CiAgICA8dXNlIGhyZWY9IiNwYXciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM0IDMyKSAgcm90YXRlKC0xMikiLz4KICAgIDx1c2UgaHJlZj0iI3BhdyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzIgNzgpICByb3RhdGUoMTgpIHNjYWxlKC0xIDEpIi8+CiAgICA8dXNlIGhyZWY9IiNwYXciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEzMCA1Mikgcm90YXRlKC04KSIvPgogICAgPHVzZSBocmVmPSIjcGF3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNzAgMTEwKSByb3RhdGUoMjIpIHNjYWxlKC0xIDEpIi8+CiAgICA8dXNlIGhyZWY9IiNwYXciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU4IDE1MCkgcm90YXRlKC0yMCkiLz4KICAgIDx1c2UgaHJlZj0iI3BhdyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTA4IDE4Mikgcm90YXRlKDYpIHNjYWxlKC0xIDEpIi8+CiAgICA8dXNlIGhyZWY9IiNwYXciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE5NiAxNzYpIHJvdGF0ZSgtNCkiLz4KICAgIDx1c2UgaHJlZj0iI3BhdyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYgMTA4KSByb3RhdGUoMjgpIHNjYWxlKC0xIDEpIi8+CiAgPC9nPgo8L3N2Zz4=");
  background-repeat: repeat;
  background-size: 220px 220px;
  background-position: calc(var(--paw-ox, 0) * 1px) calc(var(--paw-oy, 0) * 1px);
  transform: rotate(calc(var(--paw-rot, 0) * 1deg));
  transform-origin: center;
  opacity: var(--paw-op, 0.09);
}
.av-recipe-paws > * { position: relative; z-index: 1; }

/* Don't print the decorative rats */
@media print {
  .rat, .av-masthead-peek, .av-panel-rat, .av-panel-cheese,
  .av-crumbs-rat, .av-404-rat, .av-footer-wedge { display: none !important; }
  .av-recipe-paws::before { display: none !important; }
}

/* --- navy nav --- */
.av-nav {
  background: #002855; color: #ffffff;
  padding: 5px 8px; font-size: 12px; font-weight: bold;
}
.av-nav-tab {
  color: #ffffff !important; text-decoration: none;
  margin-right: 16px; padding: 2px 2px;
}
.av-nav-tab:hover { text-decoration: underline; color: #F7D14A !important; }
.av-nav-active { color: #EAAA00 !important; text-decoration: underline; }

.av-subtabs {
  background: #ffffff; border-bottom: 1px solid #C7C9C7;
  padding: 4px 8px; font-size: 11px;
}
.av-subtab {
  display: inline-block; padding: 2px 10px; margin-right: 4px;
  background: #EAAA00; color: #000000; text-decoration: none;
  border: 1px solid #7F6310; border-bottom: none;
  font-weight: bold;
}
.av-subtab:hover { background: #F7D14A; text-decoration: none; }
.av-subtab-active { background: #EAAA00; color: #000000; }
.av-subtab:not(.av-subtab-active) { background: #FBE8A5; font-weight: normal; }

/* --- gold search strip --- */
.av-search {
  background: #EAAA00; border-top: 1px solid #7F6310;
  border-bottom: 1px solid #7F6310; padding: 8px;
}
.av-search td { padding: 0 6px; vertical-align: middle; }
.av-search-label { font-weight: bold; color: #000000; white-space: nowrap; font-size: 12px; }
.av-search-input { width: 40%; }
.av-search-input input {
  width: 100%; padding: 3px 4px;
  border: 1px solid #97999B; background: #ffffff;
  font-family: Verdana, sans-serif; font-size: 12px;
}
.av-search-btn button {
  background: #002855; color: #ffffff;
  border: 1px solid #001E3E; padding: 3px 14px;
  font-family: Verdana, sans-serif; font-size: 12px; font-weight: bold;
  cursor: pointer;
}
.av-search-btn button:hover { background: #003A7A; }
.av-search-select select {
  padding: 3px; border: 1px solid #97999B; background: #ffffff;
  font-family: Verdana, sans-serif; font-size: 12px;
}
.av-search-tools {
  font-size: 11px; text-align: left; width: 160px;
  border-left: 1px dotted #7F6310; padding-left: 10px !important;
}
.av-search-tools-head { font-weight: bold; color: #000000; }
.av-search-tools a { color: #7F6310; text-decoration: none; font-size: 11px; }
.av-search-tools a:hover { text-decoration: underline; color: #7F6310; }

/* --- scope radio bar --- */
.av-scope {
  background: #ffffff; border-bottom: 1px solid #C7C9C7;
  padding: 5px 8px; font-size: 11px;
}
.av-scope label { margin-right: 12px; }
.av-scope input { vertical-align: middle; margin-right: 3px; }
.av-scope-right { float: right; }
.av-linkish {
  background: none; border: none; padding: 0;
  color: #002855; text-decoration: underline; cursor: pointer;
  font-family: inherit; font-size: 11px;
}
.av-linkish:hover { color: #7F6310; }

/* --- body columns --- */
.av-body { padding-top: 8px; }
.av-columns { border-collapse: separate; border-spacing: 8px 0; }
.av-col { padding: 0 0 8px; }

/* --- panels --- */
.av-panel, .av-panel-plain { margin-bottom: 8px; font-size: 11px; }
.av-panel { border: 1px solid #C7C9C7; background: #ffffff; }
.av-panel-head { color: #ffffff; padding: 3px 6px; font-weight: bold; }
.av-panel-head-red { background: #7F6310; }
.av-panel-head-line {
  font-weight: bold; color: #002855;
  border-bottom: 1px solid #9DDAE6; padding: 3px 6px;
  background: #E8F1F5;
}
.av-panel-body { padding: 6px 8px; }
.av-panel-live .av-panel-body { background: #ffffff; color: #53565A; }
.av-panel-live strong { color: #000000; }
.av-panel-live .av-linkrow { margin: 3px 0; }
.av-panel-live a { color: #002855; }

.av-panel-teal { background: #C3DEE7; border: 1px solid #5A7A9E; }
.av-panel-teal .av-panel-head-line {
  background: #C3DEE7; border-bottom: 1px solid #5A7A9E;
  color: #002855;
}
.av-panel-teal ul { background: #C3DEE7; margin: 0; }

.av-panel-tan { background: #E6D793; border: 1px solid #7F6310; }
.av-panel-tan .av-panel-head-line {
  background: #E6D793; color: #53565A;
  border-bottom: 1px solid #7F6310;
}

.av-panel-plain { border: 1px solid #C7C9C7; background: #ffffff; }
.av-panel-plain .av-panel-head-line { background: #D9D9D6; color: #002855; border-bottom: 1px solid #C7C9C7; }

.av-bullets { list-style: disc; padding: 4px 10px 6px 24px; margin: 0; }
.av-bullets li { margin-bottom: 3px; }
.av-bullets a { text-decoration: underline; }

.av-arrowlist { list-style: none; padding: 4px 8px 8px; margin: 0; }
.av-arrowlist li { padding-left: 14px; position: relative; margin-bottom: 2px; }
.av-arrowlist li::before {
  content: "▸"; position: absolute; left: 2px; color: #7F6310;
}

.av-plainlist { list-style: none; padding: 4px 8px 8px; margin: 4px 0 0; }
.av-plainlist li { margin-bottom: 2px; }
.av-plainlist li::before { content: "• "; color: #002855; }

.av-tag-wrap { padding: 6px 8px 4px; line-height: 1.8; }
.av-tagstrip {
  border: 1px solid #9DDAE6; background: #E8F1F5;
  padding: 6px 10px 8px; margin: 8px 0 4px;
}
.av-tagstrip-head {
  font-weight: bold; color: #002855; font-size: 12px;
  margin-bottom: 4px;
}
.av-tagstrip-hint { color: #75787B; font-weight: normal; font-size: 11px; }
.av-tagstrip-wrap { line-height: 2; }
.av-tag {
  display: inline-block; padding: 0 4px; margin: 0 2px 2px 0;
  background: #E8F1F5; color: #002855 !important;
  text-decoration: none !important; font-size: 11px;
  border: 1px solid #9DDAE6;
}
.av-tag:hover { background: #002855; color: #EAAA00 !important; }
.av-tag.active { background: #002855; color: #EAAA00 !important; }
.av-tag-inline { color: #002855; text-decoration: underline; margin-right: 4px; }

/* --- center directory --- */
.av-dir-intro {
  padding: 6px 4px 10px; font-size: 12px; color: #53565A;
}
.av-dir-section { margin-bottom: 14px; }
.av-dir-heading {
  font-weight: bold; color: #EAAA00 !important;
  text-decoration: none; display: inline-block;
  text-transform: uppercase; letter-spacing: 0.5px;
}
.av-dir-heading:hover { color: #ffffff !important; text-decoration: underline; }
.av-dir-list { font-size: 11px; color: #75787B; line-height: 1.5; }
.av-dir-item {
  color: #002855; text-decoration: none;
}
.av-dir-item:hover { color: #7F6310; text-decoration: underline; }

/* --- HERO: Tonight's Delivery --- */
.av-hero {
  margin: 2px 0 10px;
  border: 1px solid #7F6310;
  background: linear-gradient(to bottom, #FBE8A5 0%, #F7D14A 100%);
  padding: 6px 10px;
  font-size: 12px;
}
.av-hero-strip {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px;
  font-size: 12px;
}
.av-hero-ticker {
  font-family: "Courier New", Courier, monospace;
  font-weight: bold; color: #7F6310; font-size: 11px;
  background: #002855; color: #EAAA00;
  padding: 1px 6px; letter-spacing: 0.5px;
}
.av-hero-spacer { color: #7F6310; }
.av-hero-label { font-weight: bold; color: #53565A; }
.av-hero-title {
  font-weight: bold; font-size: 14px; color: #002855 !important;
}
.av-hero-title:hover { color: #7F6310 !important; }
.av-hero-meta { color: #75787B; font-size: 11px; }
.av-hero-blurb {
  font-style: italic; color: #53565A; padding: 3px 0 1px;
  font-size: 11px;
}
.av-hero-tags { padding-top: 3px; }

/* --- Category tile grid --- */
.av-tiles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 10px;
}
.av-tile-wide { grid-column: 1 / -1; }
.av-tile {
  border: 1px solid #5A7A9E;
  background: #ffffff;
  display: flex; flex-direction: column;
  overflow: hidden;
}
.av-tile-head {
  background: linear-gradient(to bottom, #002855 0%, #001E3E 100%);
  color: #ffffff;
  padding: 4px 8px;
  display: flex; align-items: center; gap: 6px;
  border-bottom: 1px solid #001224;
}
.av-tile-icon {
  font-size: 15px; line-height: 1;
  filter: drop-shadow(0 0 1px rgba(255,204,0,0.4));
}
.av-tile-title {
  flex: 1; font-weight: bold; font-size: 13px;
}
.av-tile-count {
  color: #EAAA00; font-size: 10px; font-weight: bold;
  background: #001224; border: 1px solid #EAAA00;
  padding: 1px 6px; letter-spacing: 0.3px;
  text-transform: uppercase;
}
.av-tile-sub {
  padding: 3px 10px;
  font-style: italic; color: #002855; font-size: 11px;
  background: #E8F1F5; border-bottom: 1px solid #C3DEE7;
}
.av-tile-body {
  padding: 4px 0; background: #ffffff;
  flex: 1;
}
.av-tile-body .av-dir-item {
  display: block; padding: 3px 10px;
  border-bottom: 1px dotted #DBE6EC;
  color: #002855;
  text-decoration: none;
  font-size: 12px;
}
.av-tile-body .av-dir-item:last-child { border-bottom: none; }
.av-tile-body .av-dir-item:hover {
  background: #FCEBB1; color: #7F6310;
  text-decoration: none;
}
.av-tile-wide .av-tile-body {
  column-count: 2; column-gap: 0;
}
.av-tile-wide .av-tile-body .av-dir-item {
  break-inside: avoid;
}
.av-tile-empty {
  display: block; padding: 6px 10px;
  color: #97999B; font-style: italic; font-size: 11px;
}

.av-dir-featured {
  border: 1px solid #97999B; background: #FCF5CC;
  padding: 6px 8px; margin-top: 12px;
}
.av-dir-featured-head { font-weight: bold; }
.av-dir-featured-head a { color: #002855 !important; }
.av-dir-featured-body { margin-top: 4px; }

.av-empty {
  margin: 14px 4px; padding: 8px 10px;
  border: 1px solid #7F6310; background: #FBE8A5;
  color: #53565A; font-weight: bold;
}

/* --- panel foot (used in Universal Translator) --- */
.av-panel-foot {
  font-size: 10px; color: #75787B; font-style: italic;
  text-align: right; margin-top: 4px;
}

/* --- shopping strip (still used if re-enabled) --- */
.av-shopping {
  background: #FCF5CC; border: 1px solid #C9B86E;
  margin: 4px 0; padding: 6px 10px; font-size: 11px;
}
.av-shopping-head { font-weight: bold; font-size: 12px; }
.av-shopping-head a { color: #002855 !important; }
.av-shopping-list { list-style: disc; padding: 4px 18px; margin: 2px 0 0; }

/* --- footer --- */
.av-footer {
  margin-top: 18px; padding: 10px 4px 4px;
  text-align: center; font-size: 11px; color: #53565A;
  border-top: 1px solid #C7C9C7;
}
.av-footer a { color: #002855; }
.av-copyright {
  text-align: center; font-size: 10px; color: #75787B;
  padding: 4px 4px 18px;
}

/* --- recipe detail page --- */
.av-crumbs { font-size: 11px; padding: 6px 4px; color: #53565A; }
.av-crumbs-top {
  display: flex; align-items: center; justify-content: space-between;
  gap: 8px; flex-wrap: wrap;
}
.av-crumbs-trail { flex: 1 1 auto; min-width: 0; }
.av-print-btn {
  flex: 0 0 auto;
  background: #002855; color: #EAAA00;
  border: 1px outset #001E3E;
  font-family: Arial, sans-serif; font-size: 11px; font-weight: bold;
  letter-spacing: 0.3px;
  padding: 4px 10px; cursor: pointer;
  text-transform: uppercase;
}
.av-print-btn:hover { background: #001E3E; color: #F7D14A; }
.av-print-btn:active { border-style: inset; }
.av-recipe {
  background: #ffffff; border: 1px solid #C7C9C7;
  padding: 12px 16px; margin-top: 4px; margin-bottom: 12px;
}
.av-recipe-cat {
  color: #7F6310; font-weight: bold; text-transform: uppercase;
  font-size: 10px; letter-spacing: 1px;
}
.av-recipe-title {
  color: #002855; font-size: 26px; margin: 6px 0 8px;
  font-family: Arial, sans-serif; letter-spacing: -0.5px;
  background: #F7D14A;
  border-top: 2px solid #7F6310;
  border-bottom: 2px solid #7F6310;
  padding: 8px 12px;
}
.av-recipe-tags { margin-bottom: 6px; }
.av-recipe-body { font-size: 13px; line-height: 1.5; color: #53565A; }
.av-recipe-body h2 {
  font-size: 14px; color: #002855;
  border-bottom: 1px solid #7F6310; padding-bottom: 2px;
  margin-top: 18px; margin-bottom: 6px;
  background: #F7D14A; padding: 4px 6px;
  font-family: Arial, sans-serif;
}
.av-recipe-body h3 {
  font-size: 13px; color: #7F6310; margin: 12px 0 4px;
  font-family: Arial, sans-serif;
}
.av-recipe-body ul, .av-recipe-body ol { padding-left: 22px; }
.av-recipe-body li { margin-bottom: 3px; }
.av-recipe-body blockquote {
  border-left: 3px solid #9DDAE6; background: #E8F1F5;
  padding: 6px 10px; margin: 6px 0; color: #002855; font-style: italic;
}
.av-recipe-body a { color: #002855; }
.av-recipe-body hr { border: 0; border-top: 1px dashed #C7C9C7; }
.av-recipe-body table.av-table {
  border-collapse: collapse; font-size: 11px; margin: 8px 0;
}
.av-recipe-body table.av-table th {
  background: #002855; color: #EAAA00;
  padding: 3px 6px; border: 1px solid #002855;
}
.av-recipe-body table.av-table td {
  padding: 3px 6px; border: 1px solid #C7C9C7;
}
.av-source { margin: 10px 0; font-size: 12px; }

/* ======================================================================
   Compact search strip — used on recipe pages (collapsed by default)
   ====================================================================== */
.av-search-compact {
  background: #EAAA00;
  border-top: 1px solid #B07F00;
  border-bottom: 2px solid #002855;
  margin: 0;
  padding: 0;
  font-size: 11px;
}
.av-search-compact-summary {
  list-style: none;
  cursor: pointer;
  padding: 5px 10px;
  font-family: Verdana, Geneva, sans-serif;
  color: #002855;
  font-weight: bold;
  user-select: none;
  display: flex;
  align-items: center;
  gap: 8px;
}
.av-search-compact-summary::-webkit-details-marker { display: none; }
.av-search-compact-summary::before {
  content: "\25B8";  /* collapsed caret */
  color: #002855;
  font-size: 10px;
  display: inline-block;
  width: 10px;
}
.av-search-compact[open] > .av-search-compact-summary::before {
  content: "\25BE";  /* expanded caret */
}
.av-search-compact-icon { font-size: 12px; }
.av-search-compact-label { font-size: 12px; }
.av-search-compact-hint {
  color: #6a4e00;
  font-weight: normal;
  font-style: italic;
  margin-left: auto;
  font-size: 10px;
}
.av-search-compact-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 6px 10px 8px 28px;
  background: #F5D872;
  border-top: 1px dashed #B07F00;
}
.av-search-compact-formlabel {
  font-family: Verdana, Geneva, sans-serif;
  font-weight: bold;
  color: #002855;
  font-size: 11px;
}
.av-search-compact-input {
  flex: 1 1 200px;
  min-width: 160px;
  padding: 3px 5px;
  border: 1px solid #002855;
  background: #ffffff;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 11px;
}
.av-search-compact-btn {
  padding: 3px 10px;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 11px;
  font-weight: bold;
  background: #002855;
  color: #EAAA00;
  border: 1px solid #001a3a;
  cursor: pointer;
}
.av-search-compact-btn:hover { background: #001a3a; }
.av-search-compact-home {
  font-size: 11px;
  color: #002855;
  font-weight: bold;
  white-space: nowrap;
  margin-left: auto;
}

/* ======================================================================
   YouTube / Videos page
   ====================================================================== */
.yt-intro {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  color: #002855;
  background: #FFF8DC;
  border: 1px solid #EAAA00;
  padding: 8px 10px;
  margin: 6px 0 10px 0;
  font-size: 12px;
}
.yt-section { margin: 18px 0 14px 0; }
.yt-section-head {
  font-family: Verdana, Geneva, sans-serif;
  font-size: 16px;
  color: #002855;
  background: #E8EEF7;
  border-left: 4px solid #EAAA00;
  padding: 4px 8px;
  margin: 0 0 8px 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.yt-list {
  display: block;
}
.yt-entry {
  display: table;
  width: 100%;
  border-collapse: separate;
  background: #FCFBF7;
  border: 1px solid #C7C9C7;
  border-top: 2px solid #002855;
  margin: 0 0 8px 0;
  padding: 8px;
}
.yt-entry > * { display: table-cell; vertical-align: top; }
.yt-thumb {
  width: 160px;
  max-width: 160px;
  height: auto;
  border: 1px solid #002855;
  background: #000;
  margin-right: 10px;
}
.yt-thumb-placeholder {
  width: 160px;
  height: 90px;
  background: #002855;
  color: #EAAA00;
  text-align: center;
  font-size: 28px;
  line-height: 90px;
  font-family: Arial, sans-serif;
  letter-spacing: 4px;
  border: 1px solid #002855;
  margin-right: 10px;
  display: table-cell;
}
.yt-meta { padding-left: 4px; }
.yt-badge-row { margin-bottom: 4px; }
.yt-badge {
  display: inline-block;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 9px;
  font-weight: bold;
  letter-spacing: 1px;
  padding: 1px 6px;
  border: 1px solid #002855;
  background: #EAAA00;
  color: #002855;
  text-transform: uppercase;
}
.yt-badge-video    { background: #EAAA00; color: #002855; }
.yt-badge-short    { background: #FF6600; color: #ffffff; border-color: #8B3A00; }
.yt-badge-playlist { background: #E8EEF7; color: #002855; }
.yt-badge-channel  { background: #002855; color: #EAAA00; }
.yt-title {
  display: block;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #002855;
  text-decoration: underline;
  margin: 2px 0;
}
.yt-title:visited { color: #4B0082; }
.yt-handle {
  font-family: 'Courier New', Courier, monospace;
  font-size: 11px;
  color: #75787B;
  margin-bottom: 2px;
}
.yt-desc {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 12px;
  color: #333;
  margin: 3px 0;
}
.yt-url {
  font-size: 10px;
  color: #75787B;
  word-break: break-all;
  margin-top: 4px;
}
.yt-url a { color: #006400; text-decoration: none; }
.yt-addmore {
  font-size: 11px;
  color: #75787B;
  background: #F5F5F0;
  border: 1px dashed #C7C9C7;
  padding: 6px 8px;
  margin-top: 12px;
}
.yt-addmore code {
  background: #fff;
  border: 1px solid #C7C9C7;
  padding: 0 3px;
  font-family: 'Courier New', Courier, monospace;
  font-size: 11px;
}

/* ======================================================================
   ABOUT / PRIVACY / TERMS
====================================================================== */
.about-lede {
  font-size: 14px;
  line-height: 1.55;
  margin: 10px 0 6px;
  color: #002855;
}
.about-h2 {
  font-family: Arial, sans-serif;
  font-size: 16px;
  color: #002855;
  border-bottom: 1px solid #C7C9C7;
  padding-bottom: 3px;
  margin: 18px 0 8px;
  letter-spacing: -0.2px;
}
.about-list {
  margin: 8px 0 12px;
  padding-left: 22px;
  font-size: 13px;
  line-height: 1.55;
}
.about-list li { margin-bottom: 4px; }
.about-foot {
  font-size: 11px;
  color: #75787B;
  margin-top: 14px;
}

/* ======================================================================
   FAVORITES PAGE
====================================================================== */
.fav-hero {
  display: flex;
  gap: 20px;
  align-items: stretch;
  background: #FCF5CC;
  border: 2px solid #7F6310;
  padding: 18px 20px;
  margin: 10px 0 22px;
  position: relative;
  overflow: hidden;
}
.fav-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMjAiIGhlaWdodD0iMjIwIiB2aWV3Qm94PSIwIDAgMjIwIDIyMCI+CiAgPGRlZnM+CiAgICA8ZyBpZD0icGF3Ij4KICAgICAgPGVsbGlwc2UgY3g9IjAiIGN5PSI5IiByeD0iNi41IiByeT0iOC41IiBmaWxsPSIjMEYxQTJCIi8+CiAgICAgIDxjaXJjbGUgY3g9Ii03IiBjeT0iLTIiIHI9IjIiIGZpbGw9IiMwRjFBMkIiLz4KICAgICAgPGNpcmNsZSBjeD0iLTIuNSIgY3k9Ii02IiByPSIyLjMiIGZpbGw9IiMwRjFBMkIiLz4KICAgICAgPGNpcmNsZSBjeD0iMyIgY3k9Ii02IiByPSIyLjMiIGZpbGw9IiMwRjFBMkIiLz4KICAgICAgPGNpcmNsZSBjeD0iNy41IiBjeT0iLTIiIHI9IjIiIGZpbGw9IiMwRjFBMkIiLz4KICAgIDwvZz4KICA8L2RlZnM+CiAgPGcgb3BhY2l0eT0iMSI+CiAgICA8dXNlIGhyZWY9IiNwYXciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM0IDMyKSAgcm90YXRlKC0xMikiLz4KICAgIDx1c2UgaHJlZj0iI3BhdyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzIgNzgpICByb3RhdGUoMTgpIHNjYWxlKC0xIDEpIi8+CiAgICA8dXNlIGhyZWY9IiNwYXciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEzMCA1Mikgcm90YXRlKC04KSIvPgogICAgPHVzZSBocmVmPSIjcGF3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNzAgMTEwKSByb3RhdGUoMjIpIHNjYWxlKC0xIDEpIi8+CiAgICA8dXNlIGhyZWY9IiNwYXciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU4IDE1MCkgcm90YXRlKC0yMCkiLz4KICAgIDx1c2UgaHJlZj0iI3BhdyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTA4IDE4Mikgcm90YXRlKDYpIHNjYWxlKC0xIDEpIi8+CiAgICA8dXNlIGhyZWY9IiNwYXciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE5NiAxNzYpIHJvdGF0ZSgtNCkiLz4KICAgIDx1c2UgaHJlZj0iI3BhdyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYgMTA4KSByb3RhdGUoMjgpIHNjYWxlKC0xIDEpIi8+CiAgPC9nPgo8L3N2Zz4=");
  background-repeat: repeat;
  background-size: 220px 220px;
  opacity: 0.07;
  transform: rotate(-4deg);
  pointer-events: none;
  z-index: 0;
}
.fav-hero > * { position: relative; z-index: 1; }
.fav-hero-media {
  flex: 0 0 260px;
  display: flex; align-items: center; justify-content: center;
  background: #ffffff;
  border: 1px solid #7F6310;
  padding: 8px;
  align-self: flex-start;
}
.fav-hero-img {
  display: block;
  max-width: 100%;
  max-height: 420px;
  height: auto;
  width: auto;
}
.fav-hero-img-placeholder {
  width: 180px; height: auto;
  display: flex; align-items: center; justify-content: center;
}
.fav-hero-img-placeholder .rat-chef { width: 180px; height: auto; }
.fav-hero-text { flex: 1 1 auto; min-width: 0; }
.fav-hero-cat {
  font-size: 11px; color: #7F6310; letter-spacing: 2px;
  text-transform: uppercase; font-weight: bold;
}
.fav-hero-title {
  font-family: Arial, sans-serif;
  font-size: 44px; line-height: 1; color: #002855;
  margin: 4px 0 10px; letter-spacing: -1px;
}
.fav-hero-blurb {
  font-size: 13px; color: #002855; margin: 0 0 10px; max-width: 580px;
  line-height: 1.5;
}
.fav-hero-quote {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic; font-size: 14px; color: #0b4a7a;
  border-left: 3px solid #EAAA00;
  padding: 4px 10px; margin: 10px 0;
  background: rgba(255,255,255,0.55);
}
.fav-hero-quote cite {
  display: block; font-size: 11px; color: #7F6310; font-style: normal;
  margin-top: 2px;
}
.fav-hero-stats {
  font-size: 11px; color: #53565A; margin-top: 8px;
}
.fav-hero-stats strong { color: #002855; }

.fav-section { margin: 20px 0; }
.fav-section-head {
  font-family: Arial, sans-serif;
  font-size: 16px; color: #002855; margin: 0 0 8px;
  padding: 4px 8px;
  background: #F7D14A;
  border-top: 2px solid #7F6310;
  border-bottom: 2px solid #7F6310;
  letter-spacing: -0.3px;
}
.fav-section-count {
  float: right; font-size: 11px; font-weight: normal; color: #7F6310;
  background: #ffffff; border: 1px solid #7F6310; padding: 0 6px;
  border-radius: 2px; line-height: 18px;
}

.fav-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.fav-card {
  display: block;
  background: #ffffff;
  border: 1px solid #C7C9C7;
  border-left: 4px solid #EAAA00;
  padding: 10px 12px 12px;
  text-decoration: none !important;
  color: #002855 !important;
  position: relative;
  transition: border-left-color 0.1s, background 0.1s;
}
.fav-card:hover {
  background: #FCF5CC;
  border-left-color: #7F6310;
}
.fav-card-cat {
  font-size: 10px; color: #7F6310; letter-spacing: 1.5px;
  text-transform: uppercase; font-weight: bold;
}
.fav-card-star { color: #EAAA00; font-size: 12px; margin-right: 3px; }
.fav-card-title {
  font-family: Arial, sans-serif;
  font-size: 17px; margin: 2px 0 6px;
  color: #002855; letter-spacing: -0.3px;
}
.fav-card-blurb {
  font-size: 12px; color: #53565A; line-height: 1.4;
  margin: 0 0 6px;
}
.fav-card-tags {
  margin: 4px 0 6px;
  line-height: 1.6;
}
.fav-tag {
  display: inline-block;
  font-size: 10px; color: #002855;
  background: #E8F1F5; border: 1px solid #9DDAE6;
  padding: 1px 5px; margin-right: 2px;
}
.fav-card-source {
  font-size: 10px; color: #75787B; font-style: italic;
  margin-top: 2px;
}
.fav-card-cta {
  font-size: 11px; font-weight: bold; color: #7F6310;
  margin-top: 6px;
}
.fav-card:hover .fav-card-cta { color: #002855; text-decoration: underline; }

@media (max-width: 780px) {
  .fav-hero { flex-direction: column; }
  .fav-hero-media { flex: 0 0 auto; }
  .fav-hero-title { font-size: 32px; }
  .fav-grid { grid-template-columns: minmax(0, 1fr); }
}

@media print {
  .fav-hero, .fav-section, .fav-grid { break-inside: avoid; }
  .fav-hero::before { display: none !important; }
}

/* responsive-ish */
@media (max-width: 780px) {
  .av-columns, .av-columns tbody, .av-columns tr, .av-columns td { display: block; width: 100% !important; }
  .av-masthead td { display: block; text-align: left; width: 100%; }
  .av-promo-cell { text-align: left; padding-top: 4px; }
  .av-slogan { margin-left: 0; margin-top: 2px; }
  .av-search td { display: block; width: 100% !important; padding: 4px 0; }
  .av-search-tools { border-left: none; padding-left: 0 !important; }
  .av-scope-right { float: none; display: block; margin-top: 4px; }
}

/* ======================================================================
   PRINT STYLES — hide the site chrome, keep the navy/gold recipe card
   styling so the printed page (or PDF) still looks like the site.
   ====================================================================== */
@media print {
  @page { margin: 0.6in 0.7in; }

  /* Force browsers to print background colors / gradients. */
  html, body, * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }

  html, body {
    background: #ffffff !important;
    font-family: Verdana, Geneva, Arial, sans-serif !important;
    font-size: 9.5pt !important;
    line-height: 1.35 !important;
    orphans: 3;
    widows: 3;
  }

  /* Let links keep their screen color so the theme holds together. */
  /* (we scope color overrides to specific regions below) */

  .av-wrap {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* ---- hide every bit of site chrome ---- */
  .av-masthead,
  .av-nav,
  .av-subtabs,
  .av-search,
  .av-search-compact,
  .av-scope,
  .av-footer,
  .av-copyright,
  .av-crumbs,
  .av-print-btn,
  .av-tagstrip,
  .av-hero,
  .av-columns,
  .av-tiles,
  .av-dir-featured,
  .av-dir-intro,
  .av-shopping,
  .av-empty,
  #no-results {
    display: none !important;
  }

  /* ---- recipe card keeps the site styling ---- */
  .av-recipe {
    background: #ffffff !important;
    border: 1pt solid #002855 !important;
    padding: 14pt 18pt !important;
    margin: 0 !important;
  }

  .av-recipe-cat {
    color: #7F6310 !important;
    font-weight: bold !important;
    font-size: 8pt !important;
    letter-spacing: 1.5pt;
    text-transform: uppercase;
    font-family: Arial, sans-serif !important;
    margin-bottom: 3pt;
  }

  .av-recipe-title {
    color: #002855 !important;
    background: #F7D14A !important;
    border-top: 1.5pt solid #7F6310 !important;
    border-bottom: 1.5pt solid #7F6310 !important;
    font-family: Arial, sans-serif !important;
    font-size: 20pt !important;
    font-weight: bold !important;
    letter-spacing: -0.5pt !important;
    line-height: 1.1 !important;
    margin: 0 0 8pt !important;
    padding: 5pt 9pt !important;
  }

  /* keep the tag chips, but smaller + print-safe */
  .av-recipe-tags {
    display: block !important;
    margin: 0 0 8pt !important;
    font-size: 8pt !important;
  }
  .av-recipe-tags .av-tag {
    background: #002855 !important;
    color: #EAAA00 !important;
    border: 1pt solid #001E3E !important;
    padding: 1pt 5pt !important;
    margin-right: 3pt !important;
    text-decoration: none !important;
    font-size: 7.5pt !important;
    font-weight: bold;
  }

  /* The two <hr>s that bracket the recipe body look fine on screen
     but add clutter in print — keep them subtle. */
  .av-recipe > hr {
    border: 0 !important;
    border-top: 0.5pt solid #9DDAE6 !important;
    margin: 8pt 0 !important;
  }

  .av-recipe-body {
    color: #53565A !important;
    font-size: 9.5pt !important;
    line-height: 1.4 !important;
  }

  /* navy-text-on-gold section headings (site theme) */
  .av-recipe-body h2 {
    background: #F7D14A !important;
    border-bottom: 1pt solid #7F6310 !important;
    color: #002855 !important;
    font-family: Arial, sans-serif !important;
    font-size: 11.5pt !important;
    font-weight: bold;
    padding: 3pt 6pt !important;
    margin: 12pt 0 5pt !important;
    page-break-after: avoid;
    break-after: avoid;
  }

  .av-recipe-body h3 {
    color: #7F6310 !important;
    font-family: Arial, sans-serif !important;
    font-size: 10.5pt !important;
    font-weight: bold;
    margin: 9pt 0 3pt !important;
    page-break-after: avoid;
    break-after: avoid;
  }

  .av-recipe-body blockquote {
    background: #E8F1F5 !important;
    border-left: 3pt solid #9DDAE6 !important;
    color: #002855 !important;
    font-style: italic;
    margin: 6pt 0 !important;
    padding: 4pt 10pt !important;
  }

  .av-recipe-body ul,
  .av-recipe-body ol {
    padding-left: 22pt !important;
    margin: 4pt 0 !important;
    /* try to keep full lists together when they fit on one page */
    page-break-inside: avoid;
    break-inside: avoid;
  }
  .av-recipe-body li {
    margin-bottom: 2pt !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Keep each H2-delimited section together when it fits.
     Browsers will still break oversized sections (e.g. a 40-step
     instructions list) — this is a "prefer not to split" hint. */
  .av-recipe-body .av-section {
    page-break-inside: avoid;
    break-inside: avoid-page;
    /* Give an H2 a fresh page if the previous section barely fit */
    page-break-before: auto;
  }

  /* Never strand a heading at the bottom of a page */
  .av-recipe-body h2,
  .av-recipe-body h3 {
    page-break-after: avoid;
    break-after: avoid-page;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Keep paragraphs and blockquotes from breaking mid-element when small */
  .av-recipe-body p,
  .av-recipe-body blockquote {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .av-recipe-body hr {
    border: 0 !important;
    border-top: 0.5pt dashed #9DDAE6 !important;
    margin: 8pt 0 !important;
  }

  .av-recipe-body a {
    color: #002855 !important;
    text-decoration: underline !important;
  }
  .av-recipe-body strong { color: #000000 !important; }

  /* keep the navy-and-gold table */
  .av-recipe-body table.av-table {
    border-collapse: collapse;
    font-size: 8.5pt !important;
    margin: 6pt 0 !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }
  .av-recipe-body table.av-table th {
    background: #002855 !important;
    color: #EAAA00 !important;
    border: 0.5pt solid #002855 !important;
    padding: 3pt 6pt !important;
    font-weight: bold;
  }
  .av-recipe-body table.av-table td {
    border: 0.5pt solid #C7C9C7 !important;
    color: #53565A !important;
    padding: 3pt 6pt !important;
  }

  /* source link sits quietly at the bottom with the URL expanded */
  .av-source {
    margin-top: 12pt !important;
    padding-top: 5pt !important;
    border-top: 0.5pt solid #9DDAE6 !important;
    font-size: 8pt !important;
    color: #75787B !important;
    font-style: italic;
  }
  .av-source strong { color: #002855 !important; }
  .av-source a { color: #002855 !important; text-decoration: none !important; }
  .av-source a::after {
    content: " (" attr(href) ")";
    font-size: 7pt;
    color: #75787B;
    font-style: normal;
    word-break: break-all;
  }

  /* prevent accidental page-breaks right after a heading */
  h1, h2, h3 { page-break-after: avoid; break-after: avoid; }
}
