.dinner-plan {max-width:900px;}
.meal-experience {max-width:1120px;padding-top:36px;padding-bottom:56px;}
.meal-experience * {min-width:0;}
.meal-experience h1 {font-size:48px;line-height:1.08;margin:12px 0 18px;letter-spacing:0;}
.meal-experience h2 {font-size:30px;line-height:1.18;margin:10px 0 16px;letter-spacing:0;}
.meal-experience h3 {font-size:26px;line-height:1.2;margin:10px 0 14px;}
.meal-experience h4 {font-size:21px;margin:22px 0 12px;}
.meal-experience p,.meal-experience li {line-height:1.65;overflow-wrap:anywhere;}
.meal-experience .tool-kicker {font-size:12px;letter-spacing:0;margin:0;color:#526344;}
.meal-intro {max-width:800px;margin-bottom:30px;}
.meal-intro .meal-deck {font-size:23px;line-height:1.4;color:#243c39;margin:0 0 14px;}
.meal-options,.meal-recipe-grid {display:grid;grid-template-columns:minmax(0,1fr);gap:20px;}
.meal-option {border:1px solid #c9cebf;border-top:3px solid #596b49;border-radius:6px;padding:24px;background:#fffdf7;display:flex;flex-direction:column;}
.meal-option-personal {border-top-color:#b49a5e;background:#f2f4ed;}
.meal-option h2 {font-size:27px;}
.meal-option ul {padding-left:20px;margin:8px 0 24px;}
.meal-option li {margin-bottom:8px;}
.meal-price {font-size:34px;font-weight:600;color:#20363a;margin:0;}
.meal-price span {font-size:16px;font-weight:400;}
.meal-option .button {margin-top:auto;}
.meal-experience .button {min-height:48px;white-space:normal;text-align:center;max-width:100%;}
.meal-experience .meal-small {font-size:14px;line-height:1.6;}
.meal-samples {padding:44px 0 30px;}
.meal-section-heading {margin-bottom:22px;}
.meal-recipe-grid {align-items:start;}
.meal-recipe-card {border:1px solid #d5d7cb;border-radius:6px;background:#fffdf7;overflow:hidden;}
.meal-recipe-card > img {display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;}
.meal-recipe-copy {padding:22px;}
.meal-recipe-details summary {cursor:pointer;font-weight:600;color:#425b36;min-height:48px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d5d7cb;padding:12px 0;list-style:none;}
.meal-recipe-details summary::-webkit-details-marker {display:none;}
.meal-recipe-details[open] summary span {transform:rotate(45deg);}
.meal-recipe-instructions li {margin-bottom:12px;}
.meal-recipe-instructions :is(ul,ol) {padding-left:22px;}
.meal-review-note {font-size:13px;color:#526052;margin:18px 0;}
.meal-subscription-section,.meal-personalized-section {display:grid;gap:24px;border-top:1px solid #b9bdad;padding:32px 0;scroll-margin-top:100px;}
.meal-preferences {display:grid;gap:14px;align-content:start;}
.meal-live-signup {min-width:0;}
.meal-live-signup .emailoctopus-form .main-form {display:grid;gap:12px;}
.meal-live-signup .emailoctopus-form input[type=email] {width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #a9b39f;border-radius:5px;font-family:inherit;font-size:16px;background:#fffdf7;color:#20332f;}
.meal-live-signup .emailoctopus-form input[type=submit] {width:100%;min-height:48px;padding:12px 20px;border:1px solid #425b36;border-radius:28px;font-family:inherit;font-size:16px;font-weight:600;background:#425b36;color:#fff;cursor:pointer;white-space:normal;}
.meal-live-signup .emailoctopus-form input[type=submit]:hover {background:#34492b;border-color:#34492b;}
.meal-live-signup .emailoctopus-form-row {min-width:0;}
/* Provider styles load after this stylesheet; keep overrides inside this form. */
.meal-live-signup .emailoctopus-form input[type=email],.meal-live-signup .emailoctopus-form input[type=submit] {width:100%!important;max-width:100%!important;box-sizing:border-box;}
.meal-live-signup .emailoctopus-form input[type=submit] {background:#425b36!important;border-color:#425b36!important;color:#fff!important;}
.meal-preferences label {display:grid;gap:6px;font-size:16px;font-weight:600;}
.meal-preferences :is(input,select) {width:100%;min-height:48px;border:1px solid #a9b39f;border-radius:5px;padding:10px;font:inherit;font-size:16px;background:#fffdf7;}
.meal-demo-result {border-left:3px solid #8a9a72;padding:12px 16px;font-size:15px;background:#eef2e7;}
.meal-experience :is(a,button,input,select,summary):focus-visible {outline:3px solid #92702e;outline-offset:4px;}
@media(min-width:760px){.meal-experience{padding-top:44px;}.meal-experience h1{font-size:60px;}.meal-options,.meal-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.meal-subscription-section,.meal-personalized-section{grid-template-columns:1fr 1fr;gap:48px;}.meal-option{padding:28px;}}
@media(max-width:400px){.meal-experience h1{font-size:39px;}.meal-option,.meal-recipe-copy{padding:20px;}.meal-experience .button{width:100%;}.meal-intro .meal-deck{font-size:21px;}}
.dinner-plan h1 {overflow-wrap:anywhere;}
.meal-small {font-size:16px;line-height:1.6;}
.meal-servings {display:grid;gap:8px;max-width:280px;margin:24px 0;font-weight:600;}
.meal-servings select {min-height:48px;font:inherit;padding:10px;border:1px solid var(--color-border);background:var(--color-soft-white);border-radius:6px;}
.meal-subscribe-link {min-height:48px;white-space:normal;max-width:100%;margin:12px 0;}
.meal-signup {background:var(--color-soft-white);padding:24px;border:1px solid var(--color-border);border-radius:8px;margin:28px 0;scroll-margin-top:120px;}
.meal-signup-fields {display:grid;gap:12px;}
.meal-signup-fields input {width:100%;min-width:0;min-height:48px;padding:12px;font:inherit;font-size:16px;border:1px solid var(--color-border);border-radius:6px;}
.meal-signup-fields button,.meal-planner-note .button {min-height:48px;max-width:100%;white-space:normal;}
.meal-planner-note {padding:28px 0;border-top:1px solid var(--color-border);}
@media(max-width:600px){.meal-signup{padding:20px 16px;}.meal-signup-fields button{width:100%;}.dinner-plan h1{font-size:36px;line-height:1.12;}}
.dinner-controls {display:grid;gap:12px;margin:24px 0;}
.dinner-controls label {display:grid;gap:8px;font-weight:600;}
.dinner-controls select {min-height:48px;padding:10px;font:inherit;font-size:16px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-soft-white);}
.dinner-controls .button {min-height:48px;white-space:normal;}
.dinner-days {display:flex;flex-wrap:wrap;gap:8px;margin:24px 0;}
.dinner-days a {padding:12px;min-height:48px;}
.dinner-recipe {border-top:1px solid var(--color-border);padding:28px 0;scroll-margin-top:130px;}
.dinner-plan li {margin-bottom:12px;line-height:1.65;overflow-wrap:anywhere;}
.dinner-plan :is(a,button,select):focus-visible {outline:3px solid var(--color-gold);outline-offset:3px;}
@media(min-width:800px){.dinner-controls{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;}}
@media print {.dinner-controls,.dinner-days,.dinner-plan > .tool-back-link {display:none!important;}.dinner-recipe{break-before:page;}.dinner-plan{max-width:none;}#dinner-groceries{break-before:page;}}
