/* Shopping refinement: no home-poster or character-stage selectors. */
html[data-skin] body[data-typography=madge] #story .calendar-showcase{grid-template-columns:220px minmax(0,1fr) 84px;gap:6px 16px;padding:12px}
html[data-skin] body[data-typography=madge] #story .calendar-promo-copy{grid-column:1;grid-row:1/3;display:block;min-width:0}
html[data-skin] body[data-typography=madge] #story .calendar-promo-preview,html[data-skin] body[data-typography=madge] #story .calendar-scene-display{display:contents}
html[data-skin] body[data-typography=madge] #story .calendar-promo-copy h2{font-size:28px!important;line-height:1.05!important;margin:5px 0!important}
html[data-skin] body[data-typography=madge] #story .calendar-promo-eyebrow{font-size:12px;margin:0;letter-spacing:.035em}
html[data-skin] body[data-typography=madge] #story .calendar-promo-value{display:flex;gap:8px;margin:7px 0;padding:0;border:0;text-align:left}
html[data-skin] body[data-typography=madge] #story .calendar-promo-value strong{font-size:28px}
html[data-skin] body[data-typography=madge] #story .calendar-promo-value span{font-size:14px;max-width:none}
html[data-skin] body[data-typography=madge] #story .calendar-promo-actions{display:flex;flex-wrap:nowrap;gap:6px;margin:0}
html[data-skin] body[data-typography=madge] #story .calendar-promo-actions :is(a,button){min-height:44px;padding:7px 9px;font-size:14px}
html[data-skin] body[data-typography=madge] #story .calendar-scene{grid-column:2;grid-row:1;height:118px;aspect-ratio:auto;transform:none;border-width:2px;box-shadow:2px 3px 0 #0003}
html[data-skin] body[data-typography=madge] #story .calendar-scene img{height:100%;width:100%;object-fit:contain;transform:none;margin:0}
html[data-skin] body[data-typography=madge] #story .calendar-month-caption{grid-column:2;grid-row:2;margin:0;padding:3px 0 0;border:0;gap:8px}
html[data-skin] body[data-typography=madge] #story .calendar-month-caption strong{font-size:22px}
html[data-skin] body[data-typography=madge] #story .calendar-paper-stack{grid-column:3;grid-row:1/3;width:86px;max-width:86px;margin:0;align-self:center}
html[data-skin] body[data-typography=madge] #story .calendar-month-choices{grid-column:1/-1;grid-row:3;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;margin-top:4px}
html[data-skin] body[data-typography=madge] #story .calendar-month-choices button{min-height:44px;font-size:14px;padding:5px 0}
/* A second approved scene can use this paired slot without changing banner height. */
html[data-skin] body[data-typography=madge] #story .calendar-scene.has-poster-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
html[data-skin] body[data-typography=madge] .detail-pack-summary{font:650 16px/1.35 var(--sans);margin:4px 0 8px;color:var(--collection-ink,var(--skin-ink))}
html[data-skin] body[data-typography=madge] .detail-buy>.compact-disclosure{width:100%;margin:6px 0}
html[data-skin] body[data-typography=madge] .cart-drawer{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;width:min(100%,500px);overflow:hidden}
html[data-skin] body[data-typography=madge] .cart-drawer:not([open]){display:none}
html[data-skin] body[data-typography=madge] .cart-drawer>header{flex:0 0 auto;padding:12px 16px}
html[data-skin] body[data-typography=madge] .cart-drawer h2{font-size:28px;margin:0}
html[data-skin] body[data-typography=madge] .cart-drawer>header p{display:none}
html[data-skin] body[data-typography=madge] .cart-drawer .cart-lines{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 14px}
html[data-skin] body[data-typography=madge] .cart-line{grid-template-columns:54px minmax(0,1fr) 44px!important;gap:9px!important;padding:10px 0}
html[data-skin] body[data-typography=madge] .cart-line>a>img{width:54px;height:78px;object-fit:contain}
html[data-skin] body[data-typography=madge] .cart-line h3{font-size:20px!important;line-height:1.1;margin:0 0 5px}
html[data-skin] body[data-typography=madge] .cart-line p{font-size:15px!important;line-height:1.35!important;margin:4px 0}
html[data-skin] body[data-typography=madge] .cart-line .stock-notice{font-size:14px!important;margin:3px 0}
html[data-skin] body[data-typography=madge] .cart-unit-price{align-items:center;margin:5px 0}
html[data-skin] body[data-typography=madge] .cart-unit-price>strong{display:grid;text-align:right;font-size:20px;line-height:1.1;color:var(--skin-ink)}
html[data-skin] body[data-typography=madge] .cart-unit-price small{font:500 13px/1.3 var(--sans)}
html[data-skin] body[data-typography=madge] .cart-line-tools{display:flex;flex-wrap:wrap;gap:5px 10px;align-items:center;justify-content:space-between}
html[data-skin] body[data-typography=madge] .cart-line .quantity{gap:4px}
html[data-skin] body[data-typography=madge] .cart-line .quantity button{width:44px;height:44px;font-size:21px}
html[data-skin] body[data-typography=madge] .cart-line .quantity>span{font-size:16px;min-width:20px}
html[data-skin] body[data-typography=madge] .cart-line .quantity>.cart-unit-label{font-size:14px;margin-right:4px}
html[data-skin] body[data-typography=madge] .cart-line [data-notify-product]{min-height:44px;padding:6px 0;font-size:14px}
html[data-skin] body[data-typography=madge] .cart-line .remove-line{width:44px;height:44px;font-size:25px}
html[data-skin] body[data-typography=madge] .cart-summary{flex:0 0 auto;padding:12px 16px;border-top:1px solid var(--skin-line)}
html[data-skin] body[data-typography=madge] .cart-summary p{font-size:14px!important;line-height:1.3!important;margin:6px 0}
html[data-skin] body[data-typography=madge] .cart-summary>div{font-size:26px}
html[data-skin] body[data-typography=madge] .cart-summary .checkout-button{min-height:44px;padding:10px;font-size:15px;letter-spacing:0;text-transform:none}
html[data-skin] body[data-typography=madge] .cart-continue{display:inline-flex;min-height:44px;align-items:center}
@media(max-width:600px){
html[data-skin] body[data-typography=madge] #story .calendar-showcase{grid-template-columns:minmax(0,1fr) 68px;gap:7px 10px;padding:12px}
html[data-skin] body[data-typography=madge] #story .calendar-promo-copy{grid-column:1;grid-row:1;align-self:center}
html[data-skin] body[data-typography=madge] #story .calendar-promo-copy h2{font-size:25px!important}
html[data-skin] body[data-typography=madge] #story .calendar-promo-value{margin:5px 0}
html[data-skin] body[data-typography=madge] #story .calendar-promo-value strong{font-size:25px}
html[data-skin] body[data-typography=madge] #story .calendar-promo-actions :is(a,button){font-size:14px;padding:7px 8px}
html[data-skin] body[data-typography=madge] #story .calendar-paper-stack{grid-column:2;grid-row:1;width:64px;max-width:64px}
html[data-skin] body[data-typography=madge] #story .calendar-scene{grid-column:1/-1;grid-row:2;height:85px}
html[data-skin] body[data-typography=madge] #story .calendar-month-caption{display:none}
html[data-skin] body[data-typography=madge] #story .calendar-month-choices{grid-row:3;grid-template-columns:repeat(6,minmax(0,1fr));margin:0}
html[data-skin] body[data-typography=madge] .detail-hero:not(.calendar-hero){display:flex!important;flex-direction:column;gap:7px!important}
html[data-skin] body[data-typography=madge] .detail-hero:not(.calendar-hero)>.detail-buy{display:contents}
html[data-skin] body[data-typography=madge] .detail-hero:not(.calendar-hero)>*,html[data-skin] body[data-typography=madge] .detail-hero:not(.calendar-hero)>.detail-buy>*{width:100%;min-width:0}
html[data-skin] body[data-typography=madge] .detail-hero:not(.calendar-hero) .detail-buy>h1{order:-20;margin:0!important;font-size:28px!important}
html[data-skin] body[data-typography=madge] .detail-hero:not(.calendar-hero) .seasonal-launch-detail{order:-19}
html[data-skin] body[data-typography=madge] .detail-hero:not(.calendar-hero) .detail-total{order:-18;margin:0!important}
html[data-skin] body[data-typography=madge] .detail-pack-summary{order:-17;margin:0!important}
html[data-skin] body[data-typography=madge] .detail-hero:not(.calendar-hero)>.detail-preview{order:-16;padding:8px}
html[data-skin] body[data-typography=madge] .detail-hero:not(.calendar-hero) .detail-main-sheet>img{height:190px!important}
html[data-skin] body[data-typography=madge] .detail-hero:not(.calendar-hero) .bundle-savings{order:-15}
html[data-skin] body[data-typography=madge] .detail-hero:not(.calendar-hero) .detail-purchase{order:-14;margin:0!important}
html[data-skin] body[data-typography=madge] .detail-hero:not(.calendar-hero) .detail-order-note{order:-13;margin:0!important}
html[data-skin] body[data-typography=madge] .detail-hero:not(.calendar-hero) .product-notify{order:-12;margin:0!important}
html[data-skin] body[data-typography=madge] .detail-hero:not(.calendar-hero) .detail-format-counts{order:-11;grid-template-columns:repeat(4,minmax(0,1fr));margin:0!important}
html[data-skin] body[data-typography=madge] .detail-format-counts button{min-height:68px!important}
html[data-skin] body[data-typography=madge] .detail-format-counts button>img{display:none}
html[data-skin] body[data-typography=madge] .detail-format-counts button>span{display:grid;gap:2px}
html[data-skin] body[data-typography=madge] .detail-format-counts button small{font-size:13px}
html[data-skin] body[data-typography=madge] .detail-hero:not(.calendar-hero) .detail-buy>.compact-disclosure{order:-10;margin:0!important}
html[data-skin] body[data-typography=madge] .cart-line{grid-template-columns:48px minmax(0,1fr) 44px!important;gap:7px!important}
html[data-skin] body[data-typography=madge] .cart-line>a>img{width:48px;height:68px}
html[data-skin] body[data-typography=madge] .cart-line h3{font-size:19px!important}
}

html[data-skin] body[data-typography=madge] #story .calendar-promo-eyebrow{font-size:12px!important;white-space:nowrap;line-height:1.3!important}
html[data-skin] body[data-typography=madge] #story .calendar-promo-actions :is(a,button){font-size:14px!important;white-space:nowrap;line-height:1.2!important}
@media(max-width:600px){html[data-skin] body[data-typography=madge] #story .calendar-showcase{column-gap:10px;row-gap:5px}html[data-skin] body[data-typography=madge] #story .calendar-scene{height:70px}}

@media(min-width:601px){html[data-skin] body[data-typography=madge] #story .calendar-showcase{grid-template-columns:250px minmax(0,1fr) 84px}html[data-skin] body[data-typography=madge] #story .calendar-promo-copy h2{font-size:26px!important}}
@media(max-width:600px){html[data-skin] body[data-typography=madge] #story .calendar-scene.has-poster-pair{height:140px;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}}

/* Keep this compact advertisement square to its surrounding grid. */
html[data-skin] body[data-typography=madge] #story .calendar-paper-stack{transform:none;align-self:start;margin:9px 0 0}
html[data-skin] body[data-typography=madge] #story .calendar-paper-back{transform:translate(-4px,4px)}
html[data-skin] body[data-typography=madge] #story .calendar-paper-mid{transform:translate(-2px,2px)}
html[data-skin] body[data-typography=madge] #story .calendar-paper-stack.is-turning{animation:none}
html[data-skin] body[data-typography=madge] #story .calendar-scene{box-shadow:none}
html[data-skin] body[data-typography=madge] #story .calendar-promo-copy{align-self:start}
@media(max-width:600px){html[data-skin] body[data-typography=madge] #story .calendar-paper-stack{align-self:center;margin:0}}
