/* Menu V3 only: structured editorial photography and readable, straight-aligned recipes. */
.menu-v3 .page-heading {padding-bottom:32px}
.menu-v3 .menu-flavor-wrap {padding-top:0;padding-bottom:0}
.menu-v3 .menu-flavor-ribbon {background:var(--vanilla);color:var(--navy);border-block:2px solid var(--sky);gap:32px;padding:22px 12px;font-size:20px;letter-spacing:4px}
.menu-v3 .menu-flavor-ribbon>span[aria-hidden] {color:var(--sky);font-size:12px}
.menu-characters {padding-top:64px;padding-bottom:64px}
.menu-editorial-heading {display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:36px}
.menu-v3 h2 {font:400 52px/1.08 'Times New Roman',Times,serif;letter-spacing:-1.1px;margin:0}
.menu-editorial-heading>p {max-width:420px;font-size:19px;line-height:1.5;margin:0}
.menu-v3 .menu-development-note {font-size:16px;line-height:1.5;color:var(--navy);border-left:2px solid var(--sky);padding-left:16px;max-width:390px;margin:0}
.menu-specialty-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 36px}
.menu-specialty {min-width:0;border-bottom:1px solid var(--cream);padding-bottom:28px}
.menu-v3 .menu-editorial-photo {width:100%;aspect-ratio:3/2;min-height:0;border-radius:8px;background:var(--cream);margin:0;overflow:hidden;position:relative}
.menu-editorial-photo img {width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.menu-v3 .menu-editorial-photo .photo-placeholder {height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:14px;padding:28px;color:var(--navy)}
.menu-v3 .photo-subject {font:400 30px/1.15 'Times New Roman',Times,serif;color:var(--cherry);max-width:18ch}
.menu-v3 .photo-pending {color:var(--navy);font-size:12px;letter-spacing:1px}
.menu-specialty-copy {padding-top:22px}
.menu-specialty h3 {font:400 34px/1.12 'Times New Roman',Times,serif;color:var(--cherry);margin:0 0 12px;letter-spacing:-.5px}
.menu-specialty p {font-size:19px;line-height:1.5;max-width:50ch;margin:0}
.menu-v3 .signature-format-note {color:var(--navy);font-size:16px;line-height:1.5;margin:28px 0 0;padding-top:0;border:0;max-width:72ch}
.menu-flight {background:var(--cream)}
.menu-flight-inner {display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;padding-top:56px;padding-bottom:56px}
.menu-flight .menu-editorial-photo {background:var(--vanilla);aspect-ratio:4/3}
.menu-flight-copy {min-width:0}
.flight-title-row {display:flex;justify-content:space-between;align-items:baseline;gap:18px}
.menu-v3 .flight-title-row h2 {font-size:46px;color:var(--cherry)}
.flight-price {font-size:28px;line-height:1.2;white-space:nowrap;margin:0}
.flight-explanation {font-size:22px;line-height:1.45;margin:24px 0}
.flight-steps {font-size:17px;line-height:1.5;padding-left:22px;margin:0 0 24px}
.menu-v3 .flight-status {border-left:2px solid var(--cherry);padding-left:14px;font-size:16px;line-height:1.5;color:var(--cherry);margin:0}
.menu-classics {padding-top:64px;padding-bottom:64px}
.menu-v3 .product-gallery {margin:0 0 36px}
.menu-v3 .product-gallery .product-photo {aspect-ratio:2/1;min-height:0;border-radius:8px}
.menu-v3 .full-menu-grid {gap:0 48px}
.menu-v3 .full-menu-card {padding:26px 0 24px;border-top:1px solid var(--cream)}
.menu-v3 .full-menu-card h3 {font:400 28px/1.15 'Times New Roman',Times,serif;letter-spacing:-.4px;margin:0 0 10px}
.menu-v3 .full-menu-card>p {font-size:17px;line-height:1.45}
.menu-v3 .menu-prices {margin-top:18px}
.menu-v3 .menu-prices>div {gap:16px}
.menu-v3 .menu-card-note {color:var(--sky);font-size:15px}
.menu-toppings {background:var(--cream);padding:56px 0 64px}
.menu-v3 .topping-price-rule {font-size:19px;line-height:1.5;margin:0 0 10px;max-width:75ch}
.topping-price-rule span {display:block}
.topping-dip-rule {font-size:16px;line-height:1.5;margin:0 0 24px}
.menu-v3 .menu-toppings .menu-development-note {max-width:none;color:var(--navy);border-left-color:var(--navy)}
.topping-groups {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 40px;margin-top:32px}
.topping-groups:empty {display:none}
.topping-groups section {border-top:1px solid var(--navy);padding-top:20px}
.topping-groups h3 {font:400 23px/1.2 'Times New Roman',Times,serif;margin:0 0 14px}
.topping-groups ul {list-style:none;padding:0;margin:0;font-size:18px;line-height:1.7}
@media(max-width:1100px){.menu-flight-inner {gap:36px}.flight-title-row {display:block}.flight-price {margin-top:14px}.menu-v3 .menu-card-note {color:var(--sky)}}
@media(max-width:767px){
 .menu-v3 .page-heading {padding-bottom:24px}
 .menu-v3 .menu-flavor-ribbon {gap:12px;font-size:15px;letter-spacing:1.8px;padding:18px 0}
 .menu-characters,.menu-classics {padding-top:40px;padding-bottom:40px}
 .menu-editorial-heading {display:block;margin-bottom:26px}
 .menu-editorial-heading>p {margin-top:20px}
 .menu-v3 h2 {font-size:38px;letter-spacing:-.6px}
 .menu-specialty-grid {grid-template-columns:1fr;gap:28px}
 .menu-specialty {padding-bottom:24px}
 .menu-specialty-copy {padding-top:18px}
 .menu-specialty h3 {font-size:30px}
 .menu-specialty p {font-size:18px}
 .menu-v3 .menu-editorial-photo .photo-placeholder {padding:24px}
 .menu-v3 .photo-subject {font-size:28px}
 .menu-flight-inner {grid-template-columns:1fr;gap:28px;padding-top:40px;padding-bottom:40px}
 .menu-v3 .flight-title-row h2 {font-size:38px}
 .flight-title-row {display:flex;align-items:baseline}
 .flight-price {font-size:25px;margin:0}
 .flight-explanation {font-size:20px;margin:20px 0}
 .menu-v3 .product-gallery {gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:26px}
 .menu-v3 .product-gallery .product-photo {aspect-ratio:1;min-height:0}
 .menu-v3 .full-menu-grid {grid-template-columns:1fr}
 .menu-v3 .full-menu-card h3 {font-size:27px}
 .menu-toppings {padding:40px 0 44px}
 .topping-groups {grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}
 .topping-groups h3 {font-size:21px}
 .topping-groups ul {font-size:17px}
}
@media(max-width:400px){.topping-groups {grid-template-columns:1fr}.flight-title-row {display:block}.flight-price {margin-top:12px}}

/* Menu refinements: reuse the shared carousel while keeping this composition page-specific. */
.menu-v3 .menu-introduction {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding-bottom:40px}
.menu-intro-copy {min-width:0}
.menu-v3 .menu-intro-lead {font-size:21px;line-height:1.5;max-width:40ch;margin:28px 0 0}
.menu-v3 .menu-introduction h1 {font-size:clamp(48px,5.1vw,72px)}
.menu-v3 .menu-hero-carousel {width:100%;height:auto;min-height:0;aspect-ratio:4/3;margin:0;border-radius:10px;align-self:center}
.menu-hero-carousel .carousel-slide img {object-position:50% 48%}
.menu-v3 .signature-format-note {grid-column:1/-1;width:100%;max-width:none;margin:28px 0 0;line-height:1.55}
.menu-options {margin:18px 0 22px;display:grid;gap:14px}
.menu-options>div {display:block}
.menu-options dt {font-size:19px;line-height:1.3;margin:0 0 4px;color:var(--navy)}
.menu-options dd {font-size:17px;line-height:1.45;margin:0;max-width:44ch}
@media(max-width:1100px){.menu-v3 .menu-introduction {gap:32px}.menu-v3 .menu-introduction h1 {font-size:52px}}
@media(max-width:767px){
 .menu-v3 .menu-introduction {grid-template-columns:1fr;gap:28px;padding-bottom:28px}
 .menu-v3 .menu-introduction h1 {font-size:45px}
 .menu-v3 .menu-intro-lead {font-size:19px;margin-top:22px}
 .menu-v3 .menu-hero-carousel {aspect-ratio:4/3;border-radius:8px}
 .menu-options dd {font-size:17px}
}

.menu-v3 .menu-flavor-ribbon {border-top:3px double var(--cherry);border-bottom:3px double var(--navy)}
.menu-v3 .menu-flavor-ribbon>.cone-brand-accent {width:44px;height:60px;flex-shrink:0}
.menu-flight .menu-editorial-photo {border:2px solid var(--cherry);outline:1px solid var(--navy);outline-offset:-9px}
@media(max-width:767px){.menu-v3 .menu-flavor-ribbon {gap:10px;font-size:14px;letter-spacing:1px}.menu-v3 .menu-flavor-ribbon>.cone-brand-accent {width:30px;height:42px}}

/* Match the homepage carousel's logo-inspired double-line frame. */


/* Compact, unified customization rows and a restrained flight instruction callout. */
.menu-v3 .flight-steps {list-style:none;border-left:2px solid var(--cherry);padding-left:14px;font-size:16px;line-height:1.5;color:var(--cherry);margin:0}
.menu-options>div {display:block}
.menu-options dt,.menu-options dd {display:inline;font-size:17px;line-height:1.45;margin:0;max-width:none}
.menu-options dt::after {content:': '}
.menu-toppings {padding-top:28px}
@media(max-width:767px){.menu-toppings {padding-top:24px}}

/* Signature note follows the image columns; each recipe is one framed feature. */
#signature-creations>.menu-editorial-heading {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;align-items:end}
.menu-v3 #signature-status {max-width:none;width:auto;margin-inline:14px;padding-left:0;border:0}
:is(#signature-creations,#monthly-specials) .menu-specialty {border:2px solid var(--cherry);outline:1px solid var(--navy);outline-offset:-7px;border-radius:12px;padding:12px;background:var(--vanilla)}
:is(#signature-creations,#monthly-specials) .menu-specialty-copy {padding:22px 12px 16px}
body[data-page="menu.html"] .menu-classics .menu-prices dt,
body[data-page="menu.html"] .menu-classics .menu-prices dd {font-size:17px;line-height:1.45}
@media(max-width:767px){
 #signature-creations>.menu-editorial-heading {grid-template-columns:1fr;gap:20px}
 .menu-v3 #signature-status {margin-inline:14px}
 :is(#signature-creations,#monthly-specials) .menu-specialty-copy {padding:18px 8px 12px}
 body[data-page="menu.html"] .menu-classics .menu-prices dt,
 body[data-page="menu.html"] .menu-classics .menu-prices dd {font-size:16px}
}

/* Classics and customization form one compact Sky menu area. */
.menu-v3 .menu-customer-section {background:var(--sky);color:var(--vanilla)}
.menu-v3 .menu-customer-section .eyebrow,.menu-v3 .menu-customer-section h2 {color:var(--vanilla)}
.menu-v3 .menu-customer-section .eyebrow::before {background:var(--vanilla)}
.menu-v3 .menu-customer-section .menu-classics {padding-top:36px;padding-bottom:24px}
.menu-v3 .menu-customer-section .menu-editorial-heading {margin-bottom:22px}
.menu-v3 .menu-customer-section .full-menu-grid {border:0;gap:20px 28px}
.menu-v3 .menu-customer-section .full-menu-card,
.menu-v3 .menu-customer-section .full-menu-card:nth-child(even) {background:var(--vanilla);color:var(--navy);border:2px solid var(--cherry);outline:1px solid var(--navy);outline-offset:-7px;border-radius:12px;padding:20px 24px;box-shadow:8px 8px 0 var(--navy)}
.menu-v3 .menu-customer-section .full-menu-card h3 {font-size:26px;margin-bottom:8px}
.menu-v3 .menu-customer-section .full-menu-card>p {margin-bottom:10px}
.menu-v3 .menu-customer-section .full-menu-card .menu-card-note {margin:12px 0 0;color:var(--navy);font-size:15px}
.menu-v3 .menu-customer-section .full-menu-card .menu-prices {margin-top:10px}
body[data-page="menu.html"] .menu-v3 .menu-customer-section .menu-prices>div {padding-block:7px}
.menu-v3 .menu-customer-section .menu-options {margin:10px 0 12px;gap:8px}
.menu-v3 .menu-customer-section .menu-toppings {background:transparent;padding:16px 0 36px}
.menu-v3 .menu-customer-section .menu-toppings .section-wrap {padding-top:0;padding-bottom:0}
.menu-v3 .menu-customer-section #toppings-status {color:var(--vanilla);border-color:var(--vanilla);margin-bottom:18px}
.menu-v3 .menu-customer-section .topping-groups {display:block;column-count:3;column-gap:28px;margin-top:0;padding:24px;background:var(--vanilla);color:var(--navy);border:2px solid var(--cherry);outline:1px solid var(--navy);outline-offset:-7px;border-radius:12px;box-shadow:8px 8px 0 var(--navy)}
.menu-v3 .menu-customer-section .topping-groups:empty {display:none}
.menu-v3 .menu-customer-section .topping-groups section {break-inside:avoid;padding-top:12px;margin-bottom:18px}
.menu-v3 .menu-customer-section .topping-groups h3 {font-size:22px;margin-bottom:8px}
.menu-v3 .menu-customer-section .topping-groups ul {font-size:17px;line-height:1.5}
@media(max-width:767px){
 .menu-v3 .menu-customer-section .menu-classics {padding-top:28px;padding-bottom:20px}
 .menu-v3 .menu-customer-section .full-menu-grid {gap:18px}
 .menu-v3 .menu-customer-section .full-menu-card,.menu-v3 .menu-customer-section .full-menu-card:nth-child(even) {padding:18px 20px}
 .menu-v3 .menu-customer-section .menu-toppings {padding:12px 0 28px}
 .menu-v3 .menu-customer-section .topping-groups {column-count:2;padding:20px;column-gap:20px}
 .menu-v3 .menu-customer-section .topping-groups h3 {font-size:20px}
}
@media(max-width:480px){.menu-v3 .menu-customer-section .topping-groups {column-count:1}}

/* A text-height rule anchors the signature format note. */
.menu-v3 #signature-status {border-left:2px solid var(--sky);padding-left:16px}

/* Simplify Classics framing and remove internal topping category rules. */
.menu-v3 .menu-customer-section .full-menu-card,
.menu-v3 .menu-customer-section .full-menu-card:nth-child(even) {box-shadow:none}
.menu-v3 .menu-customer-section .topping-groups section {border-top:0}

/* Menu hero typography matches Community, preserving its approved wording. */
.menu-v3 #menu-title {font:400 clamp(48px,5vw,72px)/1.06 'Times New Roman',Times,serif;letter-spacing:-1.8px;margin:22px 0 28px}
@media(max-width:900px){.menu-v3 #menu-title {font-size:58px}}
@media(max-width:760px){.menu-v3 #menu-title {font-size:46px;letter-spacing:-1.3px}}

.menu-v3 .menu-customer-section .topping-groups {box-shadow:none}

/* Flight price follows the same scale as the classic menu prices. */
.menu-v3 .flight-title-row .flight-price {font-size:17px;line-height:1.45}
@media(max-width:767px){.menu-v3 .flight-title-row .flight-price {font-size:16px}}

/* Flight description follows the standard classic-menu description scale. */
.menu-v3 .flight-explanation {font-size:17px;line-height:1.5}

/* Keep the flight name and price together across responsive widths. */
.menu-v3 .flight-title-row {display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.menu-v3 .flight-title-row .flight-price {margin:0;flex-shrink:0}

/* Use the shared section-heading size, with room for the full title. */
#signature-creations > .menu-editorial-heading {grid-template-columns:max-content minmax(0,1fr)}
.menu-v3 #signature-title {white-space:nowrap}
@media (max-width:767px) {
 #signature-creations > .menu-editorial-heading {grid-template-columns:1fr;gap:20px}
}
@media (max-width:480px) {
 .menu-v3 #signature-title {white-space:normal}
}

/* Approved Cherry category titles within the topping panel. */
.menu-v3 .menu-customer-section #topping-groups h3 {color:var(--cherry)}
