/* Initial Django and interactive Vue use the same route frame. */
.ec-server-page__head--simple {padding-top:8px;}
.ec-server-page__head--simple .ec-server-page__heading h1,
.ecommerce-inner-page--simple-header .ecommerce-inner-page__heading h1 {font-family:EcommerceManrope,system-ui,sans-serif;font-weight:700;letter-spacing:-.025em;}
.ecommerce-inner-page.ecommerce-inner-page--account {padding:0;}
.ec-server-page__head--account {padding:0;}
.ec-server-page__head--account .ec-server-page__heading {box-sizing:border-box;min-height:56px;padding:8px 20px 4px;}
.ec-server-page__head--account h1,.ecommerce-inner-page--account .ecommerce-inner-page__heading h1 {font-family:EcommerceManrope,system-ui,sans-serif;letter-spacing:-.025em;}
.ec-server-page__product {width:100%;max-width:1440px;margin:0 auto;padding:24px 20px 0;}
.ec-server-page__product-layout {width:100%;max-width:none;grid-template-columns:minmax(0,48%) minmax(0,1fr);gap:40px;}
.ec-server-page__product-media {aspect-ratio:5/4;border-radius:24px;}
.ec-server-page__product-body {gap:0;}
.ec-server-page__product-body h1 {font:800 22px/1.25 EcommerceManrope,system-ui,sans-serif;letter-spacing:-.025em;}
.ec-server-page__product-price {display:block;margin-top:8px;font-size:24px;line-height:1.2;font-weight:800;}
.ec-server-page__product-body p {margin:12px 0 0;font-size:15px;line-height:1.625;}
@media(max-width:1279.98px){
 .ec-server-page__product-header{display:none;}
 .ec-server-page__product{max-width:672px;padding:0 0 164px;}
 .ec-server-page__product-layout{display:block;}
 .ec-server-page__product-media{border-radius:0;}
 .ec-server-page__product-body{margin-top:-20px;padding:20px 20px 24px;border-radius:24px 24px 0 0;min-height:0;}
}
@media(max-width:767.98px){
 .ec-server-page__head--account .ec-server-page__heading{height:56px;padding:4px 16px;}
 .ec-server-page__head--account .ec-server-page__heading h1,
 .ecommerce-inner-page--account .ecommerce-inner-page__heading h1{font-size:16px;line-height:20px;}
}

.ec-server-page__product-purchase{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-top:auto;padding-top:24px;}
.ec-server-page__product-quantity{display:flex;align-items:center;justify-content:space-around;gap:12px;min-width:96px;height:44px;border-radius:999px;background:var(--check_dev_btn_back,#f5f5f6);font-size:16px;}
.ec-server-page__product-purchase .ec-server-page__disabled-action{width:100%;margin:0;opacity:1;font:700 16px/1.4 EcommerceManrope,system-ui,sans-serif;}
@media(max-width:1279.98px){.ec-server-page__product-purchase{position:fixed;left:50%;bottom:0;z-index:30;transform:translateX(-50%);box-sizing:border-box;width:min(672px,100%);padding:12px 20px calc(24px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--ecommerce-card-border,#e9e9ec);background:var(--body-color,#fff);}}
.ec-server-page {font-weight:400;}
.ec-server-page .ec-server-page__heading h1 {font-weight:700;letter-spacing:-.025em;}
.ec-server-page .ec-server-page__head--simple .ec-server-page__heading h1 {letter-spacing:-.025em;}
@media(max-width:767.98px){
 .ec-server-page .ec-server-page__head--account .ec-server-page__heading h1 {font-size:16px;line-height:20px;letter-spacing:-.025em;}
 .ec-server-page__head:not(.ec-server-page__head--account):not(.ec-server-page__head--simple) .ec-server-page__back {width:32px;height:32px;flex-basis:32px;padding:4px;}
 .ec-server-page__head:not(.ec-server-page__head--account):not(.ec-server-page__head--simple) .ec-server-page__heading h1 {font-size:20px;line-height:25px;}
}

/* Keep these above the legacy page rules in specificity, before and after Vue loads. */
.ec-server-page .ec-server-page__product-media{aspect-ratio:5/4;border-radius:24px;}
.ec-server-page .ec-server-page__product-body{gap:0;}
.ec-server-page .ec-server-page__product-body h1{margin:0;font:800 22px/1.25 EcommerceManrope,system-ui,sans-serif;letter-spacing:-.025em;}
.ec-server-page .ec-server-page__product-body p{margin:12px 0 0;font-size:15px;line-height:1.625;color:var(--grey);}
.ec-server-page .ec-server-page__product-back,.ec-server-page__product-share{position:absolute;top:16px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;padding:0;background:var(--body-color,#fff);color:var(--primary);}
.ec-server-page .ec-server-page__product-back{left:16px;}
.ec-server-page__product-share{right:16px;}
.ec-server-page__product-share svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.ec-server-page__product-like{position:absolute;right:16px;bottom:16px;height:40px;display:flex;align-items:center;gap:6px;padding:0 12px;border:0;border-radius:9999px;background:var(--body-color,#fff);color:var(--primary);font:700 14px/1.4 EcommerceManrope,system-ui,sans-serif;}
.ec-server-page__product-like svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;}
.ec-server-page__product-badges{position:absolute;left:16px;right:64px;bottom:16px;display:flex;flex-wrap:wrap;gap:4px;}
@media(max-width:1279.98px){
 .ec-server-page .ec-server-page__product-media{border-radius:0;}
 .ec-server-page .ec-server-page__product-body{position:relative;z-index:2;margin-top:-20px;padding:20px 20px 24px;border-radius:24px 24px 0 0;min-height:0;background:var(--body-color,#fff);}
 .ec-server-page__product-like,.ec-server-page__product-badges{bottom:36px;}
}

.ec-server-page__product-price{align-self:flex-start;}
.ec-server-page__product-like{line-height:1.5;}
.ec-server-product-recommendations{position:relative;box-sizing:border-box;width:100%;max-width:1440px;margin:16px auto 0;border-top:1px solid #e8e6e2;padding-top:12px;}
.ec-server-product-recommendations h2{margin:0;padding-inline:20px;color:var(--primary);font:800 17px/24px EcommerceManrope,system-ui,sans-serif;}
.ec-server-product-recommendations__rail{display:flex;gap:12px;margin-top:8px;padding:4px 20px 20px;overflow:hidden;}
.ec-server-product-recommendations__rail>.ec-server-product{width:160px;flex:0 0 160px;}
.ec-server-product-recommendations__rail>.ec-server-mobile-product{display:none;}
@media(max-width:767.98px){.ec-server-product-recommendations__rail>.ec-server-product{display:none;}.ec-server-product-recommendations__rail>.ec-server-mobile-product{display:block;width:160px;flex:0 0 160px;}}

.ec-server-product-recommendations__rail>.ecommerce-dish{--dish-ink:var(--primary);--dish-muted:var(--grey);--dish-surface:var(--ecommerce-surface);--dish-shadow:0 1px 2px rgb(22 21 26 / .05),0 6px 16px rgb(22 21 26 / .06);box-sizing:border-box;min-width:0;display:flex;flex-direction:column;width:160px;flex:0 0 160px;padding:8px;background:var(--body-color);color:var(--primary);border-radius:16px;box-shadow:var(--dish-shadow);font-family:EcommerceManrope,system-ui,sans-serif;letter-spacing:0;}
.ec-server-product-recommendations .ecommerce-dish__photo{position:relative;display:block;overflow:hidden;border-radius:12px;background:var(--ecommerce-surface);aspect-ratio:4/3;}
.ec-server-product-recommendations .ecommerce-dish__photo-link{position:absolute;inset:0;display:block;}
.ec-server-product-recommendations img{display:block;width:100%;height:100%;object-fit:cover;}
.ec-server-product-recommendations .ecommerce-dish__rail-copy{display:block;color:inherit;text-decoration:none;padding-top:8px;}
.ec-server-product-recommendations .ecommerce-dish__price{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;}
.ec-server-product-recommendations .ecommerce-dish__price strong{font-size:16px;line-height:24px;font-weight:800;}
.ec-server-product-recommendations .ecommerce-dish__name{margin-top:2px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;font-size:14px;font-weight:500;line-height:1.375;}
.ec-server-product-recommendations .ecommerce-dish__like{position:absolute;top:8px;right:8px;}
.ec-server-product-recommendations .ecommerce-dish__quick-add{position:absolute;bottom:8px;right:8px;}
.ec-server-product-recommendations .ecommerce-dish-like{display:flex;align-items:center;justify-content:center;height:32px;width:auto;gap:6px;padding:0 10px;border:0;border-radius:9999px;background:var(--body-color);color:var(--primary);box-shadow:var(--dish-shadow);font:700 13px/1 EcommerceManrope,sans-serif;}
.ec-server-product-recommendations .ecommerce-dish-like svg{width:18px;height:18px;}
.ec-server-product-recommendations .ecommerce-dish-add{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:50%;background:var(--body-color);color:var(--primary);box-shadow:var(--dish-shadow),0 0 0 1px rgb(0 0 0/.05);padding:0;}
.ec-server-product-recommendations button svg{fill:none;stroke:currentColor;stroke-width:1.8;}

.ec-product-modifier{margin:24px -20px 0;padding:20px 20px 0;border-top:8px solid var(--ecommerce-surface);}
.ec-product-modifier__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.ec-product-modifier__heading>div{display:flex;flex-direction:column;min-width:0;gap:4px;}
.ec-product-modifier__heading strong{font-size:18px;font-weight:800;line-height:1.25;overflow-wrap:anywhere;}
.ec-product-modifier__heading>div>span{color:var(--grey);font-size:13px;line-height:1.5;}
.ec-product-modifier__required{flex-shrink:0;border-radius:9999px;background:var(--ecommerce-surface);color:var(--grey);padding:2px 8px;font-size:12px;font-weight:700;}
.ec-product-modifier__options{display:grid;gap:8px;margin-top:8px;}
.ec-product-modifier__row{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 0;}
.ec-product-modifier__row>span:first-child{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:2px;font:400 15px/1.4 EcommerceManrope,sans-serif;overflow-wrap:anywhere;}
.ec-product-modifier__row small{color:var(--grey);font-size:13px;font-weight:600;}
.ec-product-modifier__control{display:flex;width:32px;height:32px;flex:0 0 32px;align-items:center;justify-content:center;border-radius:50%;background:var(--ecommerce-surface);}
.ec-product-modifier__control--radio{border:2px solid var(--ecommerce-card-border);background:transparent;}
@media(min-width:1280px){.ec-product-modifier{margin:12px 0 0;padding:10px 0 0;border-top-width:4px;}.ec-product-modifier__heading>div{gap:0;}.ec-product-modifier__heading strong{font-size:17px;}.ec-product-modifier__heading>div>span{font-size:12px;}.ec-product-modifier__options{margin-top:2px;gap:0;}.ec-product-modifier__row{min-height:40px;flex-direction:row-reverse;justify-content:flex-end;padding:4px 0;}.ec-product-modifier__row small{font-size:12px;}}

.ec-server-page .ec-server-page__product-back svg,.ec-server-page .ec-server-page__product-share svg{width:20px;height:20px;stroke-width:1.8;}

@media(min-width:1280px){
 .ec-server-page__product-price{font-size:20px;line-height:24px;}
 .ec-server-page .ec-server-page__product-body p{width:calc(100% - 8px);}
 .ec-server-product-recommendations{width:calc(100% + 40px);margin-left:-20px;margin-right:-20px;}
 .ec-server-page__product-purchase{padding-top:0;margin-top:24px;}
 .ec-server-page__product-body{position:relative;}
 .ec-server-page__product-purchase{position:absolute;bottom:0;width:100%;}
}

.ec-server-product-recommendations .ecommerce-dish__badges{pointer-events:none;position:absolute;top:6px;left:6px;right:56px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
.ec-server-page__product-badges>span,.ec-server-product-recommendations .ecommerce-dish-label{border-radius:6px;padding:2px 6px;font-size:12px;font-weight:800;line-height:16px;color:#fff;box-shadow:0 1px 2px rgb(22 21 26/.05),0 6px 16px rgb(22 21 26/.06);}
.ec-server-page__product-badges .ec-dish-label--sale,.ec-server-product-recommendations .ecommerce-dish-label--sale{background:#c92a2a;}
.ec-server-page__product-badges .ec-dish-label--hit,.ec-server-product-recommendations .ecommerce-dish-label--hit{background:#d9480f;}
.ec-server-page__product-badges .ec-dish-label--new,.ec-server-product-recommendations .ecommerce-dish-label--new{background:#1f7a4d;}
.ec-server-page__product-badges .ec-dish-label--bestseller,.ec-server-product-recommendations .ecommerce-dish-label--bestseller{background:#6d3fc4;}

.ec-server-page__product{font:400 15px/1.5 EcommerceManrope,system-ui,sans-serif;}
.ec-server-page__product-quantity{width:120px;min-width:120px;}
.ec-server-page__product-quantity>span{font-weight:600;}
.ec-server-page__product-quantity{color:var(--grey);}
.ec-server-page__product-quantity>span{color:var(--primary);}
.ec-server-page__product-media img.ec-product-placeholder{object-fit:contain;background:var(--check_dev_btn_back);}

.ec-server-page--product{--ecommerce-surface:#f5f4f2;}
[data-theme="dark"] .ec-server-page--product{--ecommerce-surface:var(--check_dev_btn_back);}
.ec-server-page .ec-server-page__product{background:var(--body-color,#fff);}
.ec-server-page__product-quantity{background:var(--ecommerce-surface,#f5f4f2);font-size:15px;}
.ec-server-page__product-quantity>span{font-weight:700;}

@media(min-width:1280px){
 .ec-server-page__product-layout{position:relative;}
 .ec-server-page .ec-server-page__product-body{position:absolute;left:calc(48% + 40px);right:0;top:0;bottom:0;min-height:0;padding:0;}
 .ec-server-page__product-options-scroll{min-height:0;flex:1;overflow:auto;padding-right:8px;margin-bottom:76px;}
 .ec-server-page .ec-server-page__product-options-scroll p{width:100%;}
}

.ecommerce-startup-error{position:fixed;z-index:100000;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 32px);box-sizing:border-box;padding:12px 16px;border:1px solid var(--modal-border,#e8e6e2);border-radius:16px;background:var(--body-color,#fff);color:var(--primary,#19191c);box-shadow:0 6px 24px #16151a15;font:400 14px/1.4 EcommerceManrope,system-ui,sans-serif;}
.ecommerce-startup-error button{flex-shrink:0;padding:10px 14px;border:0;border-radius:12px;background:var(--primary-color);color:var(--secondary-color,#fff);font:700 14px/1.4 EcommerceManrope,system-ui,sans-serif;cursor:pointer;}
