/* Recipe reading and cooking experience; the existing brand logo is retained. */
/* Sunrise cooking help: decorative local photograph, accessible live text. */
.rp .rp-cook--sunrise { position:relative; isolation:isolate; display:block; min-height:350px; padding:30px; overflow:hidden; border:1px solid #d7b56a; border-radius:22px; background:#fff3d8; box-shadow:0 16px 36px -28px #7a391d66; }
.rp-cook-landscape { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:70% 50%; }
.rp-cook--sunrise::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#fff5de 0%,#fff5def5 36%,#fff5debb 55%,#fff5de00 80%); pointer-events:none; }
.rp-cook-content { width:63%; max-width:480px; min-width:0; }
.rp .rp-cook-eyebrow { margin:0 0 13px; color:#825610; font:800 10px/1.5 system-ui,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.rp .rp-cook--sunrise h2 { margin:0 0 15px; color:#855b13; font:700 clamp(28px,2.9vw,38px)/1.12 Georgia,serif; letter-spacing:-.025em; }
.rp-cook--sunrise h2 span { color:#7c1735; }
.rp .rp-cook-description { margin:0; color:#633725; font:500 14px/1.65 system-ui,sans-serif; max-width:330px; }
.rp-cook-awake { display:inline-flex; align-items:center; gap:9px; min-height:44px; margin:12px 0; color:#681d32; font:700 12px/1.5 system-ui,sans-serif; cursor:pointer; }
.rp-cook-awake input { width:18px; height:18px; margin:0; accent-color:#7c1735; cursor:pointer; }
.rp-cook-buttons { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.rp .rp-cook-buttons .rb { min-height:48px; padding:12px 17px; border-radius:11px; gap:8px; font:800 13px/1.5 system-ui,sans-serif; text-decoration:none; white-space:normal; justify-content:center; cursor:pointer; }
.rp .rp-cook-start { color:#62132c; background:#f4c35c; border:1px solid #bf8422; box-shadow:0 4px 12px #98621122; }
.rp-cook-start small { margin-left:4px; font-size:10px; font-weight:600; }
.rp .rp-cook-cart { position:relative; color:#ffe3a3; background:#7c1735; border:1px solid #7c1735; }
.rp-cook-buttons .rb:hover { filter:brightness(.95); }
.rp-cook-buttons .rb:focus-visible,.rp-cook-awake input:focus-visible { outline:3px solid #7c1735; outline-offset:4px; }
.rp-cook--sunrise #rp-cart-count-badge { min-width:18px; padding:1px 6px; border-radius:20px; color:#62132c; background:#ffe3a3; font:800 10px/18px system-ui,sans-serif; text-align:center; }
@media(max-width:600px) {
  .rp .rp-cook--sunrise { min-height:0; padding:185px 22px 24px; border-radius:18px; }
  .rp-cook-landscape { object-position:78% 0; height:270px; }
  .rp-cook--sunrise::before { background:linear-gradient(180deg,#fff5de00 0,#fff5de10 105px,#fff5decf 180px,#fff5de 255px); }
  .rp-cook-content { width:100%; max-width:none; }
  .rp .rp-cook--sunrise h2 { font-size:32px; }
  .rp .rp-cook-start { width:100%; }
}
.rp { --bg:var(--theme-bg,#fffaf5); --surface:var(--theme-surface,#fff); --ink:var(--theme-heading,#332218); --muted:var(--theme-text-muted,#766253); --bdr:var(--theme-border,#e8ded3); --saff:var(--theme-primary-bg,#9b310c); }
.rp .rp-media-card { position:relative; width:calc(100% - 56px); max-width:1184px; margin:28px auto 0; border:1px solid var(--bdr); border-radius:24px; overflow:hidden; background:var(--surface); }
.rp .rp-media-card .rp-hero-wrap { width:100%; max-width:none; margin:0; border:0; border-radius:0; box-shadow:none; }
.rp .rp-hero-img { height:clamp(300px,36vw,480px) !important; }
.rp .rp-hero-wrap:hover .rp-hero-img { transform:none; }
.rp .rp-hero-wrap .mabapu-player { border-radius:0 !important; }
.rp .rp-tband { width:100% !important; margin-inline:0; background:transparent; border:0; border-radius:0; padding:34px 0 28px; }
.rp .rp-tband-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; }
.rp .rp-title { color:var(--ink); font-size:clamp(1.7rem,3.1vw,2.7rem); line-height:1.2; max-width:850px; }
.rp .rp-crumb { color:var(--muted); font:12px/1.6 system-ui,sans-serif; }
.rp .rp-crumb-sep { color:var(--muted); }
.rp .rp-tag { color:var(--muted); background:var(--surface); border-color:var(--bdr); border-radius:6px; font-size:11px; letter-spacing:.02em; }
.rp .rp-tband-actions { display:flex; flex-direction:column; align-items:stretch; min-width:170px; gap:10px; }
.rp .rp-tband-actions .rb { color:var(--ink) !important; border:1px solid var(--bdr) !important; background:var(--surface); min-height:44px; justify-content:center; box-shadow:none; }
.rp .rp-timing { position:static; background:var(--surface); border-block:1px solid var(--bdr); }
.rp .rp-tc { border-color:var(--bdr); }
.rp .rp-tc-v { color:var(--ink); }
.rp .rp-tc-l { color:var(--muted); }
.rp .rp-grid { gap:32px; grid-template-columns:minmax(0,1fr) 320px !important; }
.rp .rp-desc { font:16px/1.85 system-ui,sans-serif; color:var(--muted); border-bottom:0; }
.rp-reading-bar { display:flex; align-items:center; justify-content:space-between; gap:24px; width:100%; margin:0; padding:24px 28px; background:var(--surface); border:0; border-radius:0; }
.rp-reading-copy { min-width:0; }
.rp-reading-eyebrow { display:block; color:var(--theme-primary-bg,#9b310c); font:700 10px/1.6 system-ui,sans-serif; letter-spacing:.14em; }
.rp-reading-copy h2 { margin:4px 0 6px; font:500 clamp(20px,2.2vw,26px)/1.3 Georgia,serif; color:var(--ink); }
.rp .rp-reading-copy p { color:var(--muted); font-size:13px; line-height:1.6; }
.rp-reading-actions { display:flex; gap:10px; flex-shrink:0; }
.rp .rp-media-card--empty .rp-hero-none { height:120px; }
.rp .rp-reading-actions .rb,.rp-share-dialog .rb { min-height:46px; padding:12px 18px; display:inline-flex; gap:9px; align-items:center; justify-content:center; font:600 13px/1.4 system-ui,sans-serif; border-radius:12px; cursor:pointer; text-decoration:none; }
.rp .rp-story-link,.rp-share-dialog .rp-story-link { color:var(--theme-primary-text,#fff); background:var(--theme-primary-bg,#9b310c); border:1px solid transparent; }
.rp .rp-jump-link,.rp-share-dialog .rp-jump-link { color:var(--theme-heading,#332218); background:var(--theme-surface,#fff); border:1px solid var(--theme-border,#e8ded3); }
.rp-story-link svg { width:19px; height:19px; }
.rp-reading-actions .rb:hover,.rp-share-dialog .rb:hover { filter:brightness(.94); }
.rp .rp-reading-actions .rb:focus-visible { outline:3px solid var(--saff); outline-offset:3px; }
.rp-community-share { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; margin-bottom:32px; padding:24px; background:var(--surface); border:1px solid var(--bdr); border-radius:18px; }
.rp-community-share h3 { margin:0 0 6px; font:500 23px/1.3 Georgia,serif; }
.rp .rp-community-share p { font-size:14px; line-height:1.6; color:var(--muted); }
.rp-recipe-dock { display:none; }
.rp-share-dialog { box-sizing:border-box; width:calc(100% - 32px); max-width:510px; max-height:calc(100dvh - 32px); margin:auto; padding:28px; border:1px solid var(--theme-border,#e8ded3); border-radius:24px; color:var(--theme-heading,#332218); background:var(--theme-surface,#fff); box-shadow:0 24px 80px #21140f33; overflow-y:auto; }
.rp-share-dialog::backdrop { background:#21140f80; backdrop-filter:blur(5px); }
.rp-share-head { display:flex; align-items:center; gap:12px; justify-content:space-between; }
.rp-share-close { flex-shrink:0; width:44px; height:44px; border:0; border-radius:50%; background:var(--theme-surface-muted,#f5efe7); color:inherit; font:26px/1 system-ui; cursor:pointer; }
.rp-share-dialog h2 { font:500 30px/1.2 Georgia,serif; margin:14px 0 10px; }
.rp-share-intro { font:14px/1.6 system-ui; color:var(--theme-text-muted,#766253); margin:0 0 22px; }
.rp-share-dialog label { display:block; font:600 12px/1.5 system-ui; margin:18px 0 8px; }
.rp-share-dialog textarea,.rp-share-dialog input { box-sizing:border-box; width:100%; padding:12px 14px; border:1px solid var(--theme-border,#e8ded3); border-radius:10px; background:var(--theme-input-bg,var(--theme-surface,#fff)); color:inherit; font:16px/1.6 system-ui; }
.rp-share-dialog textarea { resize:vertical; }
.rp-share-options { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.rp-share-options [hidden] { display:none; }
.rp-share-feedback { min-height:22px; margin:16px 0 0; font:13px/1.6 system-ui; color:var(--theme-text-muted,#766253); }
.rp-share-feedback.is-error { color:var(--theme-danger,#b42318); }
body.rp-share-open { overflow:hidden; }
.rp [id="ing-h"],.rp [data-recipe-nutrition] { scroll-margin-top:95px; }
.rp [data-recipe-nutrition]:focus { outline:2px solid var(--saff); outline-offset:5px; }
@media(max-width:1199px) {
  /* Position, width and page clearance are owned by the global dock contract. */
  .rp-recipe-dock[data-mobile-dock-companion] { padding:6px; background:var(--theme-surface,#fff); border-color:var(--theme-border,#e8ded3) !important; }
  .rp-recipe-dock__inner { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; width:100%; }
  body.has-mobile-dock-companion:has(.rp-recipe-dock) .mobile-dock { border-top-color:var(--theme-border,#e8ded3); }
  .rp-dock-action { box-sizing:border-box; min-width:0; min-height:50px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; padding:6px 3px; background:transparent; border:0; border-radius:14px; text-decoration:none; color:var(--theme-heading,#332218); font:600 11px/1.3 system-ui,sans-serif; cursor:pointer; }
  .rp-dock-action svg { width:20px; height:20px; flex-shrink:0; }
  .rp-dock-action--cook { background:var(--theme-primary-bg,#9b310c); color:var(--theme-primary-text,#fff); }
  .rp-dock-action:hover:not(.rp-dock-action--cook) { background:var(--theme-surface-muted,#f5efe7); }
  #cmTrigger { display:none !important; }
}
@media(max-width:1023px) {
  .rp .rp-grid { grid-template-columns:minmax(0,1fr) !important; }
  .rp .rp-tband-inner { grid-template-columns:minmax(0,1fr); }
  .rp .rp-tband-actions { flex-direction:row; flex-wrap:wrap; min-width:0; }
  .rp .rp-tband-actions>.rb,.rp .rp-tband-actions>.recipe-save-form { width:auto; }
  .rp-reading-bar { padding:22px; align-items:flex-start; }
  .rp-reading-actions { flex-direction:column; }
}
@media(max-width:600px) {
  .rp .rp-media-card { width:calc(100% - 24px); margin-top:12px; border-radius:18px; }
  .rp .rp-hero-img { height:clamp(210px,65vw,340px) !important; }
  .rp-reading-bar { padding:20px 18px; flex-direction:column; gap:16px; }
  .rp-reading-actions { width:100%; flex-direction:row; flex-wrap:wrap; gap:8px; }
  .rp .rp-reading-actions .rb { flex:1 1 auto; min-width:0; padding:12px; gap:6px; }
  .rp .rp-tband { padding:26px 0 22px; }
  .rp .rp-tband-actions { gap:8px; }
  .rp .rp-tband-actions .rb { padding:10px 12px; font-size:12px; }
  .rp-share-dialog { padding:22px; border-radius:20px; }
  .rp-share-options .rb { flex:1 1 auto; }
}
@media(prefers-reduced-motion:reduce) { .rp-recipe-dock *,.rp-reading-bar *,.rp-share-dialog * { transition:none !important; animation:none !important; scroll-behavior:auto !important; } }
.rp .recipe-save-form{min-width:0;max-width:100%}.rp .rp-tband-actions .recipe-save-button{display:inline-flex;gap:10px;align-items:center;padding:12px 16px;white-space:normal;text-align:left;min-width:0;max-width:100%}.rp .recipe-save-button svg{flex:0 0 20px;width:20px;height:20px}.recipe-cookbook-copy{display:grid;gap:4px;min-width:0;max-width:240px}.recipe-cookbook-copy>span{font:600 13px/1.45 system-ui,sans-serif}.recipe-cookbook-copy small{font:400 11px/1.45 system-ui,sans-serif;color:var(--muted)}.rp .rp-tband-actions .recipe-save-button.is-saved{background:var(--green,#1b6440);border-color:var(--green,#1b6440)!important;color:#fff!important}.rp .recipe-save-button.is-saved small{color:#fff}@media(max-width:600px){.rp .recipe-save-form{width:100%}.rp .recipe-save-form .recipe-save-button{width:100%;justify-content:flex-start}.recipe-cookbook-copy{max-width:none}}

/* Compact, edge-to-edge magazine ribbon. Edition links scroll within the strip. */
.rp .rp-magazine-stamp{box-sizing:border-box;position:relative;display:flex;align-items:center;gap:12px;width:100%;max-width:none;min-width:0;margin:20px 0 0;padding:5px clamp(16px,4vw,64px);border:0;border-block:1px solid #b79b59;border-radius:0;background:linear-gradient(100deg,#123c2d,#26543b);color:#fff3d2;box-shadow:none;overflow:hidden}
.rp .rp-magazine-stamp-seal{flex:0 0 32px;width:32px;height:36px}
.rp .rp-magazine-stamp-copy{display:flex;align-items:center;gap:22px;flex:1;min-width:0}
.rp .rp-magazine-stamp-brand{flex:0 0 auto}
.rp .rp-magazine-stamp-kicker{margin:0;color:#ead198;font:700 9px/1.5 system-ui,"Nirmala UI",sans-serif;letter-spacing:.1em;text-transform:uppercase}
.rp .rp-magazine-stamp-title{margin:0;color:#fff3d2;font:700 16px/1.35 Georgia,"Nirmala UI",serif}
.rp .rp-magazine-stamp-editions{display:flex;flex:1;align-items:center;gap:22px;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#b79b59 transparent;list-style:none;padding:0;margin:0}
.rp .rp-magazine-stamp-editions li{flex:0 0 auto;margin:0;padding:0;min-width:0}
.rp .rp-magazine-stamp-link{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 3px;border:0;border-radius:0;color:#f8e7b9;background:transparent;font:600 12px/1.5 system-ui,"Nirmala UI",sans-serif;text-decoration:none;white-space:nowrap}
.rp .rp-magazine-stamp-link svg{width:16px;height:16px;flex:0 0 16px}
.rp .rp-magazine-stamp-link:hover{color:#fff;background:transparent;text-decoration:underline;text-underline-offset:4px}
.rp .rp-magazine-stamp-link:focus-visible{outline:2px solid #ffe7a8;outline-offset:-2px}
/* Paid content uses a photograph and normal page flow; no nested scrolling box. */
.rp .rp-lock-shell.is-locked{min-height:0;margin-block:28px;scroll-margin-block:calc(var(--mobile-dock-clearance,140px) + 24px)}
.rp .rp-lock-shell.is-locked .rp-lock-overlay{position:relative;inset:auto;display:block;padding:0;pointer-events:auto;z-index:0}
.rp .rp-lock-shell.is-locked .rp-lock-card{box-sizing:border-box;isolation:isolate;position:relative;top:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:28px;width:100%;max-width:none;max-height:none;overflow:hidden;margin:0;padding:clamp(22px,3vw,38px);border:1px solid #c6a76b;border-radius:20px;background:#153d2e;color:#fff2d8;text-align:left;box-shadow:0 12px 36px #12352115}
.rp-lock-backdrop{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:75% center}
.rp .rp-lock-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,#0c2e24eb 0%,#0c2e24ba 45%,#0c2e2466 100%);pointer-events:none}
.rp-lock-intro,.rp-lock-passes{min-width:0;position:relative}
.rp .rp-lock-kicker{display:flex;align-items:center;gap:9px;margin:0 0 16px;font:750 10px/1.6 system-ui,"Nirmala UI",sans-serif;text-transform:uppercase;letter-spacing:.13em;color:#f4d99c}
.rp-lock-kicker svg{width:21px;height:21px;flex:0 0 21px}
.rp .rp-lock-card .rp-lock-title{margin:0 0 16px;font:700 clamp(28px,3vw,40px)/1.12 Georgia,"Nirmala UI",serif;letter-spacing:-.02em;color:#fff3d2;overflow-wrap:anywhere}
.rp .rp-lock-card .rp-lock-desc{margin:0 0 14px;color:#fff3dc;font:500 14px/1.7 system-ui,"Nirmala UI",sans-serif;overflow-wrap:anywhere}
.rp .rp-lock-note{margin:16px 0;padding:12px 14px;border-left:3px solid #ddbf7d;background:#123629e8;color:#fff3dc;font:500 12px/1.7 system-ui,"Nirmala UI",sans-serif;overflow-wrap:anywhere}
.rp .rp-lock-magazines{list-style:none;padding:0;margin:0 0 18px}
.rp .rp-lock-magazines a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#ffe4a4;text-decoration:underline;text-underline-offset:5px;font:700 18px/1.4 Georgia,"Nirmala UI",serif;overflow-wrap:anywhere}
.rp .rp-lock-card .rp-lock-plans{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:12px 18px;border:1px solid #edcf87;border-radius:9px;background:#f3d58c;color:#153d2e;font:750 13px/1.5 system-ui,"Nirmala UI",sans-serif;white-space:normal;box-shadow:none}
.rp .rp-lock-card a:focus-visible,.rp .rp-lock-card button:focus-visible{outline:3px solid #fff3bb;outline-offset:3px}
.rp .rp-lock-footnote{margin:12px 0 0;color:#f4e8d0;font:400 11px/1.65 system-ui,"Nirmala UI",sans-serif;max-width:420px}
.rp .rp-lock-passes>h3{margin:0;color:#ffe4a4;font:700 22px/1.3 Georgia,"Nirmala UI",serif}
.rp .rp-lock-passes>p{margin:6px 0 14px;color:#fff3dc;font:400 12px/1.6 system-ui,"Nirmala UI",sans-serif}
.rp .rp-lock-card .rp-per-row{display:flex;align-items:center;gap:14px;margin:0 0 10px;padding:16px;border:1px solid #ead8b5;border-radius:11px;background:#fff8eb;color:#173c2d;cursor:default}
.rp-per-copy{min-width:0;flex:1}
.rp .rp-lock-card .rp-per-name{margin:0 0 6px;color:#173c2d;font:750 13px/1.5 system-ui,"Nirmala UI",sans-serif;overflow-wrap:anywhere}
.rp .rp-lock-card .rp-per-desc{margin:0;color:#4c5543;font:400 11px/1.6 system-ui,"Nirmala UI",sans-serif;overflow-wrap:anywhere}
.rp .rp-lock-card .rp-per-btns{display:flex;flex-direction:column;align-items:stretch;flex:0 0 auto;gap:6px;max-width:140px}
.rp .rp-lock-card .rp-per-btns .rb{display:flex;align-items:center;justify-content:center;min-width:72px;min-height:48px;margin:0;padding:10px 14px;border:1px solid #ae8847;border-radius:8px;background:#f2d99c;color:#183e2d;font:750 14px/1.5 system-ui,sans-serif;white-space:normal;text-decoration:none}
.rp .rp-lock-card .rp-per-btns .rb-paypal{background:#173c5c;color:#fff;border-color:#173c5c}
.rp .rp-lock-card .rp-per-btns>div{color:#4c5543!important}
.rp-lock-anchor{position:absolute;top:0;left:0;scroll-margin-top:130px;scroll-margin-bottom:var(--mobile-dock-clearance,160px)}
@media(min-width:1280px){.rp .rp-lock-shell.is-locked .rp-lock-card{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:30px}.rp .rp-lock-card:not(:has(.rp-lock-passes)){grid-template-columns:1fr}.rp .rp-lock-card:not(:has(.rp-lock-passes)) .rp-lock-intro{max-width:520px}}
@media(max-width:767px){.rp .rp-magazine-stamp{gap:8px;padding:4px 12px}.rp .rp-magazine-stamp-seal{flex-basis:27px;width:27px;height:31px}.rp .rp-magazine-stamp-copy{gap:14px}.rp .rp-magazine-stamp-title{font-size:13px}.rp .rp-magazine-stamp-kicker{font-size:8px;letter-spacing:.03em}.rp .rp-magazine-stamp-link{font-size:11px}.rp .rp-lock-card::before{background:linear-gradient(180deg,#08271fd4 0%,#08271fc9 32%,#08271f77 58%,#08271f8a 100%)}.rp .rp-lock-card .rp-lock-title{font-size:29px}.rp .rp-lock-card .rp-lock-plans{width:100%;box-sizing:border-box}.rp .rp-lock-card .rp-per-row{padding:14px;gap:12px}}
@media(max-width:380px){.rp .rp-lock-card .rp-per-row{flex-wrap:wrap}.rp .rp-lock-card .rp-per-copy{flex-basis:100%}.rp .rp-lock-card .rp-per-btns{flex-direction:row;flex-wrap:wrap;max-width:100%;width:100%}.rp .rp-lock-card .rp-per-btns form{flex:1}.rp .rp-lock-card .rp-per-btns .rb{width:100%;box-sizing:border-box}}
@media print{.rp .rp-magazine-stamp{background:#fff;color:#173c2d;border-color:#9f8249;break-inside:avoid}.rp .rp-magazine-stamp-kicker,.rp .rp-magazine-stamp-title,.rp .rp-magazine-stamp-link{color:#173c2d}.rp .rp-magazine-stamp-editions{overflow:visible;flex-wrap:wrap}}
/* Cookbook state is confirmed by the server response, never an optimistic save. */
.rp .recipe-save-form{flex-wrap:wrap;align-items:center;gap:8px}
.rp .rp-tband-actions .recipe-save-button.is-saved{background:#087f44!important;border-color:#087f44!important;color:#fff!important;box-shadow:0 4px 14px #087f4426}
.rp .rp-tband-actions .recipe-save-button.is-saved:hover{background:#066636!important;border-color:#066636!important}
.rp .recipe-save-button.is-saved small{color:#fff!important}
.rp .recipe-save-button svg[hidden],.rp .recipe-cookbook-see[hidden]{display:none!important}
.rp .recipe-cookbook-see{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--bdr);border-radius:10px;color:var(--ink);background:var(--surface);font:700 13px/1.4 system-ui,sans-serif;white-space:nowrap;text-decoration:none}
.rp .recipe-cookbook-see:hover{border-color:#087f44;color:#087f44}
.rp .recipe-save-button:focus-visible,.rp .recipe-cookbook-see:focus-visible{outline:2px solid #bb852f;outline-offset:3px}
@media(max-width:600px){.rp .recipe-save-form .recipe-save-button{flex:1 1 220px}.rp .recipe-cookbook-see{flex:0 0 auto}}
