/* Owned menu promotions. Layout, source and audience belong to each root item. */
.nbc-menu-promo{--promo-line:var(--nbc-border,#d3e4ef);--promo-ink:var(--nbc-ink,#173b53);--promo-wash:var(--nbc-surface-alt,#f2f8fc);--promo-primary:var(--nbc-primary,#0948b3);color:var(--promo-ink);font-family:inherit;min-width:0;max-width:100%}
.nbc-menu-promo>header{padding:0 0 16px;font-size:13px;letter-spacing:.04em}
.nbc-menu-promo-items{display:grid;grid-template-columns:repeat(var(--nbc-promo-visible,1),minmax(0,1fr));gap:14px;min-width:0}
.nbc-menu-promo .nbc-menu-offer{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:22px;border:1px solid var(--promo-line);border-radius:18px;background:var(--promo-wash);color:var(--promo-ink);text-decoration:none!important;box-sizing:border-box;min-width:0;transition:box-shadow .18s,border-color .18s,background .18s}
.nbc-menu-promo .nbc-menu-offer:hover{border-color:var(--promo-primary);box-shadow:0 8px 20px #153b5512;background:var(--nbc-surface,#fff)}
.nbc-menu-promo .nbc-menu-offer img{width:100%;height:100px;object-fit:contain}
.nbc-menu-offer-symbol{font-size:28px;color:var(--promo-primary)}
.nbc-menu-offer-copy{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1}
.nbc-menu-offer-copy>strong{font-size:20px;line-height:1.25;letter-spacing:-.02em;color:var(--promo-ink)}
.nbc-menu-offer-copy>span{font-size:12px;line-height:1.6;color:var(--nbc-muted,#688399)}
.nbc-menu-offer-price{display:flex;flex-direction:column;gap:4px;white-space:nowrap}
.nbc-menu-offer-price strong{font-size:18px;font-variant-numeric:tabular-nums;color:var(--promo-primary)}
.nbc-menu-offer-price small{font-size:11px;color:var(--nbc-muted,#688399)}
.nbc-menu-offer-arrow{align-self:flex-end;color:var(--promo-primary)}
.nbc-menu-promo--spotlight .nbc-menu-offer{padding:30px;justify-content:space-between;min-height:230px;background:linear-gradient(135deg,var(--promo-wash),var(--nbc-surface,#fff))}
.nbc-menu-promo--spotlight .nbc-menu-offer-copy>strong{font-size:34px}.nbc-menu-promo--spotlight .nbc-menu-offer-symbol{align-self:flex-end}
.nbc-menu-promo--strip .nbc-menu-offer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:14px 16px;border-radius:12px}.nbc-menu-promo--strip .nbc-menu-offer-arrow{display:none}.nbc-menu-promo--strip .nbc-menu-offer-symbol{font-size:20px}.nbc-menu-promo--strip .nbc-menu-offer-copy>strong{font-size:16px}.nbc-menu-promo--strip .nbc-menu-offer img{width:38px;height:38px}.nbc-menu-promo--strip .nbc-menu-offer-price strong{font-size:14px}
.nbc-menu-promo--list .nbc-menu-promo-items{grid-template-columns:1fr}.nbc-menu-promo--list .nbc-menu-offer{flex-direction:row;align-items:center;border:0;border-radius:0;border-bottom:1px solid var(--promo-line);padding:14px 0;background:transparent}.nbc-menu-promo--list .nbc-menu-offer img{width:52px;height:52px}.nbc-menu-promo--list .nbc-menu-offer-copy>strong{font-size:17px}.nbc-menu-promo--list .nbc-menu-offer-arrow{align-self:center}
.nbc-menu-promo--editorial .nbc-menu-offer{display:grid;grid-template-columns:minmax(0,1fr) auto;background:transparent;border:0;border-top:3px solid var(--promo-primary);border-radius:0;padding:20px 0}.nbc-menu-promo--editorial .nbc-menu-offer-symbol,.nbc-menu-promo--editorial .nbc-menu-offer img{grid-column:1/-1;background:var(--promo-wash);padding:20px;height:110px;box-sizing:border-box}.nbc-menu-promo--editorial .nbc-menu-offer-copy{grid-column:1}.nbc-menu-promo--editorial .nbc-menu-offer-price{grid-column:1;grid-row:3}.nbc-menu-promo--editorial .nbc-menu-offer-arrow{grid-column:2;grid-row:2/4;align-self:center}
.nbc-menu-promo[data-promo-ready]>.nbc-menu-promo-items{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:2px 0 6px}
.nbc-menu-promo[data-promo-ready] .nbc-menu-offer{flex:0 0 calc((100% - (var(--nbc-promo-visible,1) - 1)*14px)/var(--nbc-promo-visible,1));scroll-snap-align:start}
.nbc-menu-promo>nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px}.nbc-menu-promo>nav[hidden]{display:none!important}.nbc-menu-promo>nav button{border:1px solid var(--promo-line);border-radius:50%;width:36px;height:36px;background:var(--nbc-surface,#fff);color:var(--promo-primary);cursor:pointer;font-size:20px;line-height:1;font-family:inherit}.nbc-menu-promo>nav button:disabled{opacity:.3;cursor:default}.nbc-menu-promo>nav span{font-size:11px;color:var(--nbc-muted,#688399)}
@supports not (-moz-appearance:none){.nbc-menu-promo-items{scrollbar-width:auto;scrollbar-color:auto}.nbc-menu-promo-items::-webkit-scrollbar{display:none;width:0;height:0}}
@supports (-moz-appearance:none){.nbc-menu-promo-items{scrollbar-width:none;scrollbar-color:transparent transparent}}
@media(min-width:992px){.workspace-menu__item:has(>.workspace-menu__promotion .nbc-menu-promo--mobile){display:none!important}}
@media(max-width:991.98px){.workspace-menu__item:has(>.workspace-menu__promotion .nbc-menu-promo--desktop){display:none!important}.nbc-menu-promo-items{--nbc-promo-visible:1}}
@media(prefers-reduced-motion:reduce){.nbc-menu-promo .nbc-menu-offer{transition:none}}

@media(min-width:992px){.nbc-menu-html:has(>.nbc-menu-promo--mobile){display:none!important}}
@media(max-width:991.98px){.nbc-menu-html:has(>.nbc-menu-promo--desktop){display:none!important}}

.nbc-menu-promo-items:focus-visible{outline:2px solid var(--promo-primary);outline-offset:3px;border-radius:12px}
.nbc-menu-promo>nav button:focus-visible{outline:2px solid var(--promo-primary);outline-offset:3px}
.nbc-menu-promo .nbc-menu-offer:focus-visible{outline:2px solid var(--promo-primary);outline-offset:-3px}

/* Imported offer slides keep the author's card, with one reachable slide. */
.workspace-menu__promotion .domain-slide[hidden]{display:none!important}
.workspace-menu__promotion .domain-slider:focus-visible{outline:2px solid var(--nbc-primary,#0948b3);outline-offset:3px}

/* Feature cards and feature offers (MenuPromotion "card" source and "feature" layout): one frame, so every such column
   of a menu has the same width (NavbarFeed gives them one span) and the same height (the column stretches with its
   row on wide screens; promotions.js matches heights when the menu stacks). Structure comes from the card's design
   (.nbc-menu-card--d-*); every colour is free (inline --nbc-card-* from the card's colours; the defaults below are
   production's card). Glows mix the glow colour, so a transparent glow removes them. */
.nbc-menu-promo--feature{display:flex;flex-direction:column;flex:1 1 auto;height:100%;min-width:0;max-width:100%}
.nbc-menu-card{--nbc-card-background:linear-gradient(145deg,#101e3c,#24294f);--nbc-card-surface:transparent;--nbc-card-border:#454d78;--nbc-card-glow:#5d64b9;--nbc-card-heading:#f5f9ff;--nbc-card-price:#ffe16b;--nbc-card-accent:#a9caff;--nbc-card-second:#a9a0ff;--nbc-card-text:#b6c4e1;--nbc-art-a:var(--nbc-card-accent);--nbc-art-b:var(--nbc-card-second);box-sizing:border-box;position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:stretch;flex:1 1 auto;width:100%;min-width:0;max-width:100%;height:100%;min-height:344px;margin:0;padding:24px 22px;overflow:hidden;border:1px solid var(--nbc-card-border);border-radius:20px;background:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--nbc-card-glow) 18%,transparent),transparent 65%),var(--nbc-card-background);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);color:var(--nbc-card-heading);text-align:left;text-transform:none;white-space:normal;font-family:inherit;container-type:inline-size}
.nbc-menu-card *,.nbc-menu-card *::before,.nbc-menu-card *::after{box-sizing:border-box}
.nbc-menu-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 85% 15%,color-mix(in srgb,var(--nbc-card-glow) 25%,transparent),transparent 72%);opacity:0;transition:opacity .35s ease}
.nbc-menu-card__eyebrow{display:block;margin:0 0 19px;padding:0;color:var(--nbc-card-accent);-webkit-text-fill-color:currentColor;font-size:9px;font-weight:750;line-height:1.6;letter-spacing:1.8px;text-transform:none;background:none}
.nbc-menu-card__art{display:flex;align-items:center;justify-content:center;flex:0 0 78px;width:78px;height:78px;margin:0 0 24px 1px;padding:18px;border:1px solid rgba(152,213,234,.23);border-radius:18px;background:radial-gradient(ellipse at 70% 10%,color-mix(in srgb,var(--nbc-card-glow) 20%,transparent),transparent 80%),var(--nbc-card-surface);color:var(--nbc-card-accent);transform:rotate(-5deg);transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .3s ease;pointer-events:none}
.nbc-menu-card__art--illustration{padding:0}
.nbc-menu-card__art .nbp-icon,.nbc-menu-card__art svg,.nbc-menu-card__art img{display:block;width:100%;height:100%;margin:0;overflow:visible}
.nbc-menu-card__heading{display:block;margin:0 0 14px;padding:0;color:var(--nbc-card-heading);-webkit-text-fill-color:currentColor;font-size:26px;font-size:clamp(22px,10.5cqi,26px);font-weight:750;line-height:1.16;letter-spacing:-.85px;background:none;border:0}
.nbc-menu-card__heading--display{margin:0 0 10px;font-size:64px;font-size:clamp(44px,20cqi,64px);font-weight:800;line-height:.94;letter-spacing:-2.2px}
.nbc-menu-card__text{display:block;width:100%;margin:0 0 15px;padding:0;color:var(--nbc-card-text);-webkit-text-fill-color:currentColor;font-size:12px;font-weight:400;line-height:1.85;letter-spacing:0;overflow-wrap:break-word}
.nbc-menu-card__text--clamp{display:-webkit-box;margin:0 0 14px;line-height:1.65;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}
a.nbc-menu-card__action{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:44px;margin:auto 0 0;padding:8px 0;border:0;border-radius:6px;background:none;box-shadow:none;color:var(--nbc-card-accent);-webkit-text-fill-color:currentColor;font-size:12px;font-weight:600;line-height:1.5;letter-spacing:0;text-decoration:none;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease}
a.nbc-menu-card__action>span{color:inherit;font:inherit;letter-spacing:inherit}
.nbc-menu-card__arrow{display:block;flex:0 0 15px;width:15px;height:15px;transition:transform .25s ease}
a.nbc-menu-card__action:focus:not(:focus-visible){outline:none}
a.nbc-menu-card__action:focus-visible{outline:2px solid var(--nbc-card-accent);outline-offset:4px}
.nbc-menu-card:focus-within::before{opacity:1}
.nbc-menu-card__row{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:17px;width:100%;margin:0 0 18px}
.nbc-menu-card__row .nbc-menu-card__art{margin:0}
.nbc-menu-card__price{display:flex;flex-direction:column;align-items:flex-start;min-width:0;margin:0;padding:0}
.nbc-menu-card__price small{display:block;margin:0 0 5px;color:var(--nbc-card-text);font-size:8px;font-weight:750;line-height:1.3;letter-spacing:1.25px;text-transform:uppercase}
.nbc-menu-card__price strong{display:block;min-height:24px;color:var(--nbc-card-price);-webkit-text-fill-color:currentColor;font-size:27px;font-size:clamp(20px,9.8cqi,27px);font-weight:800;line-height:1.05;letter-spacing:-.45px;font-variant-numeric:tabular-nums;white-space:nowrap}
.nbc-menu-card__price span{margin-top:4px;color:var(--nbc-card-text);font-size:11px;line-height:1.3}
[data-card-paint-heading] .nbc-menu-card__heading{background:var(--nbc-card-heading);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
[data-card-paint-price] .nbc-menu-card__price strong{background:var(--nbc-card-price);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.nbc-menu-card--offers{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.nbc-menu-card__slide{grid-area:1/1;display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:0;height:100%;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .35s ease,visibility .35s ease}
.nbc-menu-card__slide.is-active{visibility:visible;opacity:1;pointer-events:auto;z-index:1}
.nbc-menu-card__slide a.nbc-menu-card__action{min-height:38px;font-size:11.5px}
.nbc-menu-card[data-menu-card-slider]:focus-visible{outline:2px solid var(--nbc-card-accent);outline-offset:3px}
@media (hover:hover) and (pointer:fine){.nbc-menu-card:hover::before{opacity:1}.nbc-menu-card:hover .nbc-menu-card__art{transform:rotate(0deg) translateY(-3px);border-color:var(--nbc-card-accent)}a.nbc-menu-card__action:hover{color:var(--nbc-card-heading)}a.nbc-menu-card__action:hover .nbc-menu-card__arrow{transform:translate(2px,-2px)}}
/* Outline: a bordered card, no glow, a small square tile beside the eyebrow and a pill button. */
.nbc-menu-card--d-outline{border-width:1.5px;border-radius:14px;background:var(--nbc-card-background);box-shadow:none;padding:22px}
.nbc-menu-card--d-outline::before{display:none}
.nbc-menu-card--d-outline .nbc-menu-card__art{flex-basis:48px;width:48px;height:48px;margin:0 0 18px;padding:10px;border-radius:12px;transform:none;background:var(--nbc-card-surface)}
.nbc-menu-card--d-outline .nbc-menu-card__art--illustration{padding:2px}
.nbc-menu-card--d-outline .nbc-menu-card__row{grid-template-columns:48px minmax(0,1fr)}
.nbc-menu-card--d-outline .nbc-menu-card__heading{font-size:clamp(19px,8.5cqi,22px);letter-spacing:-.5px}
.nbc-menu-card--d-outline .nbc-menu-card__heading--display{font-size:clamp(34px,15cqi,46px)}
.nbc-menu-card--d-outline a.nbc-menu-card__action{width:auto;align-self:flex-start;min-height:40px;padding:9px 16px;border:1px solid var(--nbc-card-accent);border-radius:999px}
/* Split: a coloured band (the surface) holds the eyebrow, art and price; the copy sits below it. */
.nbc-menu-card--d-split{padding:0;--nbc-card-surface:rgba(255,255,255,.07)}
.nbc-menu-card--d-split::after{content:"";position:absolute;inset:0 0 auto;height:150px;z-index:-1;background:var(--nbc-card-surface);border-bottom:1px solid var(--nbc-card-border)}
.nbc-menu-card--d-split>.nbc-menu-card__eyebrow,.nbc-menu-card--d-split .nbc-menu-card__slide>.nbc-menu-card__eyebrow{margin:20px 22px 14px}
.nbc-menu-card--d-split>.nbc-menu-card__art{margin:0 22px 34px;transform:none}
.nbc-menu-card--d-split .nbc-menu-card__row{margin:0 0 30px;padding:0 22px}
.nbc-menu-card--d-split .nbc-menu-card__row .nbc-menu-card__art{transform:none}
.nbc-menu-card--d-split .nbc-menu-card__heading,.nbc-menu-card--d-split .nbc-menu-card__text{padding:0 22px}
.nbc-menu-card--d-split a.nbc-menu-card__action{width:auto;margin:auto 22px 18px}
/* Banner: compact, the art beside the copy. */
.nbc-menu-card--d-banner.nbc-menu-card--card,.nbc-menu-card--d-banner .nbc-menu-card__slide{display:grid;grid-template-columns:56px minmax(0,1fr);grid-auto-rows:min-content;column-gap:16px;align-content:start}
.nbc-menu-card--d-banner.nbc-menu-card--card>*,.nbc-menu-card--d-banner .nbc-menu-card__slide>*{grid-column:2}
.nbc-menu-card--d-banner.nbc-menu-card--card>.nbc-menu-card__art{grid-column:1;grid-row:1/span 3;flex-basis:56px;width:56px;height:56px;margin:0;padding:12px;border-radius:14px;transform:none}
.nbc-menu-card--d-banner .nbc-menu-card__art--illustration{padding:2px}
.nbc-menu-card--d-banner .nbc-menu-card__slide>.nbc-menu-card__row{grid-column:1/-1;grid-template-columns:56px minmax(0,1fr);gap:16px;margin:0 0 12px}
.nbc-menu-card--d-banner .nbc-menu-card__row .nbc-menu-card__art{width:56px;height:56px;padding:12px;border-radius:14px;transform:none}
.nbc-menu-card--d-banner .nbc-menu-card__eyebrow{margin:0 0 8px}
.nbc-menu-card--d-banner .nbc-menu-card__heading{font-size:clamp(17px,7.5cqi,20px);margin:0 0 8px}
.nbc-menu-card--d-banner .nbc-menu-card__heading--display{font-size:clamp(30px,13cqi,40px)}
.nbc-menu-card--d-banner .nbc-menu-card__text{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-height:1.65;margin:0 0 10px}
.nbc-menu-card--d-banner a.nbc-menu-card__action{grid-column:1/-1;align-self:end}
/* Showcase: centred, a large art and a full-width button on the surface colour. */
.nbc-menu-card--d-showcase{--nbc-card-surface:rgba(255,255,255,.06)}
.nbc-menu-card--d-showcase,.nbc-menu-card--d-showcase .nbc-menu-card__slide{align-items:center;text-align:center}
.nbc-menu-card--d-showcase .nbc-menu-card__art{flex-basis:104px;width:104px;height:104px;margin:4px auto 20px;transform:none;border-radius:50%;padding:24px}
.nbc-menu-card--d-showcase .nbc-menu-card__art--illustration{padding:6px}
.nbc-menu-card--d-showcase .nbc-menu-card__row{grid-template-columns:1fr;justify-items:center;gap:10px}
.nbc-menu-card--d-showcase .nbc-menu-card__price{align-items:center}
.nbc-menu-card--d-showcase .nbc-menu-card__text{text-align:center}
.nbc-menu-card--d-showcase a.nbc-menu-card__action{justify-content:center;gap:10px;padding:10px 16px;border-radius:12px;background:var(--nbc-card-surface);border:1px solid var(--nbc-card-border)}
@media (max-width:991.98px){.nbc-menu-card{min-height:var(--nbc-card-h,344px);padding:21px 20px;border-radius:18px}.nbc-menu-card--d-framed .nbc-menu-card__art{flex-basis:68px;width:68px;height:68px;margin-bottom:20px}.nbc-menu-card--d-framed .nbc-menu-card__row{grid-template-columns:68px minmax(0,1fr)}.nbc-menu-card--d-split{padding:0}}
@media (prefers-reduced-motion:reduce){.nbc-menu-card::before,.nbc-menu-card__art,a.nbc-menu-card__action,.nbc-menu-card__arrow,.nbc-menu-card__slide{transition:none}.nbc-menu-card:hover .nbc-menu-card__art,a.nbc-menu-card__action:hover .nbc-menu-card__arrow{transform:none}}
/* The card is the column's frame: in the Workspace mega menu and the Panel's own menu, the column holding a card
   stretches to its row and draws nothing of its own. */
.workspace-submenu--mega>.workspace-menu__item:has(>.workspace-menu__promotion>.nbc-menu-promo--feature){display:flex!important;flex-direction:column!important;align-self:stretch!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;overflow:visible!important}
.workspace-menu__promotion:has(>.nbc-menu-promo--feature){display:flex;flex-direction:column;flex:1 1 auto;margin:0!important;overflow:visible;border-radius:0}
.nbc-mega-panel>ul>.nbc-menu-promo-col{display:flex;flex-direction:column;align-self:stretch}
/* "Left and right cards the same size" off for a menu: its cards keep their own height. */
.nbc-promo-free .workspace-submenu--mega>.workspace-menu__item:has(>.workspace-menu__promotion>.nbc-menu-promo--feature),.nbc-promo-free .nbc-menu-promo-col{align-self:start!important}
.nbc-promo-free .nbc-menu-promo--feature,.nbc-promo-free .nbc-menu-card{height:auto}
