/* ======================================================================
   2027 · part E: fixed top bar everywhere + checkout redesign
   ====================================================================== */

/* ---------- top bar is always pinned (phones, tablets and desktop) ---------- */
body.p8ld-site{padding-top:calc(78px + env(safe-area-inset-top))!important}
body.p8ld-site .ld-topbar{position:fixed!important;top:calc(8px + env(safe-area-inset-top))!important;left:50%!important;right:auto!important;transform:translateX(-50%);
  width:min(calc(100% - 2 * var(--ld-pad)),var(--ld-wrap))!important;max-width:none!important;margin:0!important;z-index:99985!important;box-sizing:border-box}
body.p8ld-site .p8ld-app-shell,body.p8ld-site .p8ld-member-page{padding-top:0!important}
@media(max-width:1099px){
  body.p8ld-site .ld-topbar{width:calc(100% - 20px)!important}
  body.p8ld-site .ld-topbar .p8ld-app-brand span{font-size:14px}
}
/* the dock stays pinned too, also on the checkout */
body.woocommerce-checkout .p8ld-mobile-nav,body.woocommerce-order-received .p8ld-mobile-nav{display:grid!important}
@media(min-width:1100px){body.woocommerce-checkout .p8ld-mobile-nav{display:none!important}}
body.woocommerce-checkout .ld-cta{display:none!important}

/* ---------- checkout ---------- */
body.woocommerce-checkout.p8ld-site .woocommerce.wp-block-group.alignwide,
body.woocommerce-checkout.p8ld-site .entry-content > .woocommerce{width:100%!important;max-width:var(--ld-wrap)!important;margin-left:auto!important;margin-right:auto!important;padding:0 var(--ld-pad) 120px!important;box-sizing:border-box}
body.woocommerce-checkout.p8ld-site .entry-content,body.woocommerce-checkout.p8ld-site .wp-site-blocks > main{padding-left:0!important;padding-right:0!important}

/* hero → slim title strip */
body.woocommerce-checkout .p8ld-checkout-hero{display:grid!important;grid-template-columns:1fr auto;align-items:center;gap:6px 16px;padding:14px 20px!important;border-radius:22px!important;margin:0 0 12px!important;min-height:0!important}
body.woocommerce-checkout .p8ld-checkout-hero > *{margin:0!important}
body.woocommerce-checkout .p8ld-checkout-hero h1,body.woocommerce-checkout .p8ld-checkout-hero h2{font-size:clamp(24px,3vw,32px)!important;line-height:1.1!important;grid-column:1}
body.woocommerce-checkout .p8ld-checkout-hero p{font-size:13.5px!important;grid-column:1}
body.woocommerce-checkout .p8ld-checkout-hero p:not(:first-of-type):not(:nth-of-type(2)){display:none}
body.woocommerce-checkout .p8ld-checkout-hero a{font-size:12.5px!important}
body.woocommerce-checkout .p8ld-checkout-hero [class*="step"]{grid-column:2;grid-row:1 / span 3;align-self:center}

/* coupon notice → slim pill */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-checkout .woocommerce-info{margin:0 0 12px!important;padding:10px 16px!important;border:1.5px dashed var(--ld-line)!important;border-radius:16px!important;background:rgba(255,255,255,.7)!important;color:var(--ld-ink-2)!important;font-size:14px!important;box-shadow:none!important}
body.woocommerce-checkout .woocommerce-info::before{display:none!important}
body.woocommerce-checkout .woocommerce-info a{color:var(--ld-chili)!important;font-weight:800;text-decoration:none}
body.woocommerce-checkout .checkout_coupon{border-radius:18px!important;border:1.5px solid var(--ld-line)!important;background:#fff!important;padding:14px!important;margin:0 0 12px!important}

/* layout: express payments ALWAYS first, then details + order summary */
body.woocommerce-checkout form.checkout{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;gap:12px 22px!important;align-items:start!important}
body.woocommerce-checkout form.checkout > .wpc_pro_order_time_settings,
body.woocommerce-checkout form.checkout > .food-with-reserv-wrap,
body.woocommerce-checkout form.checkout > wc-order-attribution-inputs,
body.woocommerce-checkout form.checkout > #wc-stripe-express-checkout__order-attribution-inputs{display:none!important}
body.woocommerce-checkout form.checkout > #wc-stripe-express-checkout-element{grid-column:1/-1!important;grid-row:1!important;order:1;width:100%!important;max-width:none!important;margin:0!important}
body.woocommerce-checkout form.checkout > #wc-stripe-express-checkout-button-separator{grid-column:1/-1!important;grid-row:2!important;order:2;margin:0!important;display:flex!important;align-items:center;gap:12px;color:var(--ld-muted)!important;font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
body.woocommerce-checkout form.checkout > #wc-stripe-express-checkout-button-separator::before,
body.woocommerce-checkout form.checkout > #wc-stripe-express-checkout-button-separator::after{content:'';flex:1;height:1px;background:var(--ld-line)}
body.woocommerce-checkout form.checkout > #customer_details{grid-column:1!important;grid-row:3 / span 3!important;order:3;width:100%!important;float:none!important}
body.woocommerce-checkout form.checkout > #order_review_heading{grid-column:2!important;grid-row:3!important;order:4;margin:0!important;float:none!important}
body.woocommerce-checkout form.checkout > #order_review{grid-column:2!important;grid-row:4!important;order:5;position:sticky;top:96px;width:100%!important;float:none!important}
body.woocommerce-checkout #customer_details .col-1,body.woocommerce-checkout #customer_details .col-2{float:none!important;width:100%!important;max-width:none!important}
@media(max-width:1099px){
  body.woocommerce-checkout form.checkout{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  body.woocommerce-checkout form.checkout > *{grid-column:1!important;grid-row:auto!important}
  body.woocommerce-checkout form.checkout > #order_review{position:static}
}

/* section headings */
body.woocommerce-checkout form.checkout h3{font:700 22px Georgia,serif!important;color:var(--ld-ink)!important;margin:0 0 4px!important}
body.woocommerce-checkout #order_review_heading{padding-left:4px}

/* cards */
body.woocommerce-checkout #customer_details .woocommerce-billing-fields,
body.woocommerce-checkout #customer_details .woocommerce-additional-fields,
body.woocommerce-checkout #order_review{background:#fff!important;border:1px solid var(--ld-line)!important;border-radius:24px!important;padding:18px 20px!important;box-shadow:0 14px 36px rgba(74,31,21,.08)!important;box-sizing:border-box}
body.woocommerce-checkout #customer_details .woocommerce-additional-fields{margin-top:12px}
body.woocommerce-checkout .woocommerce-billing-fields > h3,body.woocommerce-checkout .woocommerce-additional-fields > h3{margin-bottom:10px!important}
body.woocommerce-checkout .form-row{margin:0 0 10px!important;padding:0!important}
body.woocommerce-checkout .form-row label{font-size:12.5px!important;font-weight:800!important;color:var(--ld-ink-2)!important;margin-bottom:4px!important}
body.woocommerce-checkout .form-row input.input-text,body.woocommerce-checkout .form-row textarea,body.woocommerce-checkout .form-row select{min-height:50px;padding:10px 14px!important;border:1.5px solid var(--ld-line)!important;border-radius:14px!important;background:#fff!important;font-size:16px!important;transition:border-color .2s,box-shadow .2s}
body.woocommerce-checkout .form-row textarea{min-height:76px}
body.woocommerce-checkout .form-row input.input-text:focus,body.woocommerce-checkout .form-row textarea:focus{outline:0;border-color:var(--ld-chili)!important;box-shadow:0 0 0 4px rgba(198,54,31,.14)!important}
@media(min-width:640px){body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide{grid-column:1/-1}}

/* order table: full width, compact rows */
body.woocommerce-checkout table.shop_table{width:100%!important;border:0!important;border-collapse:collapse;margin:0!important}
body.woocommerce-checkout table.shop_table th,body.woocommerce-checkout table.shop_table td{padding:9px 0!important;border:0!important;border-bottom:1px solid #f1e5d6!important;font-size:14px!important;background:transparent!important;vertical-align:top}
body.woocommerce-checkout table.shop_table thead th{font-size:11px!important;letter-spacing:.1em;text-transform:uppercase;color:#a0481f!important}
body.woocommerce-checkout table.shop_table .product-name{font-weight:800;color:var(--ld-ink)}
body.woocommerce-checkout table.shop_table .product-name dl,body.woocommerce-checkout table.shop_table .product-name .variation{margin:3px 0 0!important;font-size:12.5px!important;font-weight:600;color:var(--ld-muted)}
body.woocommerce-checkout table.shop_table .product-name dt,body.woocommerce-checkout table.shop_table .product-name dd{display:inline!important;margin:0!important;float:none!important}
body.woocommerce-checkout table.shop_table .product-name dd p{display:inline;margin:0}
body.woocommerce-checkout table.shop_table .product-total,body.woocommerce-checkout table.shop_table td:last-child{text-align:right!important;white-space:nowrap}
body.woocommerce-checkout table.shop_table tfoot th{text-align:left!important;font-weight:700;color:var(--ld-ink-2)}
body.woocommerce-checkout table.shop_table .order-total th,body.woocommerce-checkout table.shop_table .order-total td{font:700 22px Georgia,serif!important;color:var(--ld-ink)!important;border-bottom:0!important;padding-top:12px!important}

/* gift card + tip blocks */
body.woocommerce-checkout .p8ld-checkout-gift-card{margin:12px 0!important;padding:12px 14px!important;border-radius:18px!important;background:var(--ld-sand)!important;border:0!important}
body.woocommerce-checkout .p8ld-checkout-gift-card h3,body.woocommerce-checkout .p8ld-checkout-gift-card h4{font-size:16px!important}
body.woocommerce-checkout [class*="tip"] button,body.woocommerce-checkout button[class*="tip"]{background:linear-gradient(135deg,var(--ld-chili),var(--ld-chili-2))!important;border:0!important;border-radius:14px!important;color:#fff!important;font-weight:850!important}

/* payment + place order */
body.woocommerce-checkout #payment{background:transparent!important;border:0!important;border-radius:0!important;margin-top:8px}
body.woocommerce-checkout #payment ul.payment_methods{padding:0!important;border:0!important;margin:0 0 10px!important;display:grid;gap:8px}
body.woocommerce-checkout #payment ul.payment_methods > li{border:1.5px solid var(--ld-line)!important;border-radius:16px!important;padding:12px 14px!important;background:#fff!important;transition:border-color .2s,box-shadow .2s}
body.woocommerce-checkout #payment ul.payment_methods > li:has(input:checked){border-color:var(--ld-chili)!important;box-shadow:0 8px 20px rgba(198,54,31,.14)}
body.woocommerce-checkout #payment div.payment_box{background:var(--ld-sand)!important;border-radius:12px!important;color:var(--ld-ink-2)!important;margin-top:8px!important}
body.woocommerce-checkout #payment div.payment_box::before{display:none!important}
body.woocommerce-checkout #place_order{width:100%!important;min-height:58px!important;border:0!important;border-radius:18px!important;background:linear-gradient(135deg,var(--ld-chili),var(--ld-chili-2))!important;color:#fff!important;font:850 18px system-ui!important;
  box-shadow:0 16px 34px rgba(198,54,31,.38)!important;transition:transform .2s var(--ld-spring),filter .2s!important;float:none!important}
body.woocommerce-checkout #place_order:hover{filter:saturate(1.1);transform:translateY(-1px)}
body.woocommerce-checkout #place_order:active{transform:scale(.98)}
body.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:12px;color:var(--ld-muted)}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{font-size:13px}

/* tablets: keep two columns above 900px */
@media(min-width:900px) and (max-width:1099px){
  body.woocommerce-checkout form.checkout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important}
  body.woocommerce-checkout form.checkout > #wc-stripe-express-checkout-element,body.woocommerce-checkout form.checkout > #wc-stripe-express-checkout-button-separator{grid-column:1/-1!important;grid-row:auto!important}
  body.woocommerce-checkout form.checkout > #customer_details{grid-column:1!important;grid-row:3 / span 3!important}
  body.woocommerce-checkout form.checkout > #order_review_heading{grid-column:2!important;grid-row:3!important}
  body.woocommerce-checkout form.checkout > #order_review{grid-column:2!important;grid-row:4!important}
}

/* a transformed ancestor would break position:fixed */
body.p8ld-site .p8ld-app-shell,body.p8ld-site .p8ld-member-page,body.p8ld-site .ld-co-top,body.p8ld-site .ld-menu-shell{transform:none!important;filter:none!important;contain:none!important;left:auto!important}
body.woocommerce-checkout .ld-co-top{height:0;padding:0!important;margin:0!important;overflow:visible}
body.woocommerce-checkout .woocommerce.wp-block-group.alignwide,body.woocommerce-checkout .entry-content > .woocommerce{padding-top:6px!important}

/* ---------- checkout: full-width container, slim hero, quiet coupon ---------- */
body.woocommerce-checkout.p8ld-site .entry-content,body.woocommerce-checkout.p8ld-site .wp-block-post-content{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
body.woocommerce-checkout .p8ld-checkout-hero{display:flex!important;flex-wrap:wrap;align-items:center!important;gap:4px 18px!important;padding:12px 20px!important;border-radius:20px!important}
body.woocommerce-checkout .p8ld-checkout-hero > a{flex:0 0 100%;font-size:12.5px!important}
body.woocommerce-checkout .p8ld-checkout-hero > div{flex:1 1 280px;min-width:0}
body.woocommerce-checkout .p8ld-checkout-hero > div > p{margin:0!important;font-size:11px!important}
body.woocommerce-checkout .p8ld-checkout-hero > div > h1,body.woocommerce-checkout .p8ld-checkout-hero > div > h2{font-size:clamp(24px,3vw,30px)!important;margin:2px 0 0!important}
body.woocommerce-checkout .p8ld-checkout-hero > div > p:last-child:not(:first-child){display:none!important}
body.woocommerce-checkout .p8ld-checkout-hero > ol{flex:0 0 auto;margin:0!important}
body.woocommerce-checkout .wc-block-components-notice-banner.is-info{background:rgba(255,255,255,.75)!important;border:1.5px dashed var(--ld-line)!important;border-radius:16px!important;padding:10px 16px!important;color:var(--ld-ink-2)!important;box-shadow:none!important}
body.woocommerce-checkout .wc-block-components-notice-banner.is-info > svg{display:none!important}
body.woocommerce-checkout .wc-block-components-notice-banner a{color:var(--ld-chili)!important;font-weight:800;text-decoration:none!important}

/* remove the extra top gap and the double card on the checkout */
body.woocommerce-checkout .wp-site-blocks > *,body.woocommerce-checkout .wp-site-blocks main,body.woocommerce-checkout .entry-content{margin-block-start:0!important;margin-top:0!important}
body.woocommerce-checkout .wp-site-blocks main,body.woocommerce-checkout .wp-block-group.has-global-padding:not(.alignwide){padding-top:0!important}
body.woocommerce-checkout .wp-block-post-title,body.woocommerce-checkout .entry-header{display:none!important}
body.woocommerce-checkout #customer_details .col-1,body.woocommerce-checkout #customer_details .col-2{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important}

body.woocommerce-checkout .woocommerce.wp-block-group.alignwide,body.woocommerce-checkout .entry-content > .woocommerce{margin-top:0!important}
body.woocommerce-checkout .entry-content.alignwide{margin-top:0!important;padding-top:0!important}
@media(max-width:1099px){
  html body.woocommerce-checkout.p8ld-site .woocommerce form.checkout.woocommerce-checkout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important}
  html body.woocommerce-checkout.p8ld-site .woocommerce form.checkout.woocommerce-checkout > *{grid-column:1 / -1!important;grid-row:auto!important;width:auto!important;min-width:0!important}
  html body.woocommerce-checkout.p8ld-site .woocommerce form.checkout.woocommerce-checkout > #wc-stripe-express-checkout-element{width:100%!important;order:1}
}
@media(min-width:900px) and (max-width:1099px){
  html body.woocommerce-checkout.p8ld-site .woocommerce form.checkout.woocommerce-checkout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important}
  html body.woocommerce-checkout.p8ld-site .woocommerce form.checkout.woocommerce-checkout > #customer_details{grid-column:1!important;grid-row:3 / span 3!important}
  html body.woocommerce-checkout.p8ld-site .woocommerce form.checkout.woocommerce-checkout > #order_review_heading{grid-column:2!important;grid-row:3!important}
  html body.woocommerce-checkout.p8ld-site .woocommerce form.checkout.woocommerce-checkout > #order_review{grid-column:2!important;grid-row:4!important}
}

/* ID-based desktop placement must not leak into phones */
@media(max-width:899px){
  html body.woocommerce-checkout.p8ld-site form.checkout > #wc-stripe-express-checkout-element,
  html body.woocommerce-checkout.p8ld-site form.checkout > #wc-stripe-express-checkout-button-separator,
  html body.woocommerce-checkout.p8ld-site form.checkout > #customer_details,
  html body.woocommerce-checkout.p8ld-site form.checkout > #order_review_heading,
  html body.woocommerce-checkout.p8ld-site form.checkout > #order_review{grid-column:1 / -1!important;grid-row:auto!important;position:static!important}
  html body.woocommerce-checkout.p8ld-site form.checkout > #wc-stripe-express-checkout-element{order:1}
  html body.woocommerce-checkout.p8ld-site form.checkout > #wc-stripe-express-checkout-button-separator{order:2}
  html body.woocommerce-checkout.p8ld-site form.checkout > #customer_details{order:3}
  html body.woocommerce-checkout.p8ld-site form.checkout > #order_review_heading{order:4}
  html body.woocommerce-checkout.p8ld-site form.checkout > #order_review{order:5}
}
body.woocommerce-checkout #customer_details .woocommerce-shipping-fields,body.woocommerce-checkout #customer_details .col-2{margin:0!important;padding:0!important}
body.woocommerce-checkout #customer_details .woocommerce-additional-fields{margin-top:12px!important}
