/* Half & Half additions to the shared Normal customization presentation. */
.gp-half-customizer .gp-half-panel { border-left:3px solid var(--gp-red); padding-left:16px; margin-bottom:28px; }
.gp-half-customizer .gp-half-panel[data-half="second"] { border-left-color:var(--gp-ink); }
.gp-half-customizer .gp-half-heading { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.gp-half-customizer h3 { font-family:'maven_probold',sans-serif; font-size:18px; line-height:1.4; margin:0 0 4px; }
.gp-half-customizer .gp-half-heading p { margin:0; font-size:14px; color:var(--gp-muted); line-height:1.5; overflow-wrap:anywhere; }
.gp-half-customizer .gp-half-number { display:grid; place-items:center; flex:0 0 42px; height:42px; border-radius:50%; background:#fbe5df; color:var(--gp-red); font-family:'maven_probold',sans-serif; }
.gp-half-customizer [data-half="second"] .gp-half-number { background:#e8e4df; color:var(--gp-ink); }
.gp-half-customizer .gp-whole-pizza { margin:0 0 24px; }
.gp-half-customizer .gp-whole-pizza > h3 { margin:0 0 12px; }
.gp-half-customizer .gp-half-summary-scroll { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:16px 20px 0; }
.gp-half-customizer .first-half-order, .gp-half-customizer .second-half-order { padding:0; max-height:none; overflow:visible; border:0; margin:0 0 18px; }
.gp-half-customizer .gp-half-summary-scroll h3 { border-left:3px solid var(--gp-red); padding-left:10px; margin-bottom:12px; }
.gp-half-customizer .gp-half-summary-scroll .second-half-order h3 { border-color:var(--gp-ink); }
.gp-half-customizer .gp-summary-removed { text-decoration:line-through; }
.gp-half-customizer .pizza-baking-detail .gp-summary-modifier strong { display:flex; align-items:center; justify-content:space-between; gap:4px; }
.gp-half-customizer .gp-product-card .pizza-select-btn { position:static; }
.gp-half-customizer .gp-primary:active { background:#7d1711; }
@media (max-width:850px) { .gp-half-customizer .gp-half-summary-scroll { max-height:420px; } }
@media (max-width:480px) {
    .gp-half-customizer .gp-half-panel { padding-left:10px; }
    .gp-half-customizer .gp-option-card { grid-template-columns:minmax(0,1fr); }
    .gp-half-customizer .gp-option-card h5 { white-space:normal; }
    .gp-half-customizer .gp-category .row { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.gp-half-customizer .sub-total strong::before, .gp-half-customizer [data-mobile-total]::before { content:"฿"; }
.gp-half-customizer .sub-total strong { overflow-wrap:anywhere; }

/* Keep the existing basket below the sticky summary, beside the LINE control. */
@media (min-width:851px) {
    .gp-half-customizer .pizza-price-detail-sec { max-height:var(--gp-half-summary-height); }
    body:has(.gp-half-customizer) .right-fixed-cart { top:auto; bottom:8px; right:90px; }
}

@media (min-width:851px) and (max-height:700px) {
    .gp-half-customizer .pizza-price-detail-sec { position:static; max-height:none; }
    body:has(.gp-half-customizer) .right-fixed-cart, body:has(.gp-half-customizer) #line-widget { display:none !important; }
}

/* Only the product step has collapsible horizontal pizza choices.
 * Name and 44px selection control share a row; full ingredients wrap below. */
.gp-half-customizer .gp-pizza-half { border:1px solid #ded8d1; border-top:3px solid var(--gp-red); border-radius:10px; padding:0; background:#fff; scroll-margin-top:var(--gp-summary-top, 160px); scroll-margin-bottom:var(--gp-actions-height, 120px); }
.gp-half-customizer .gp-pizza-half .gp-half-heading { display:block; text-align:center; padding:14px 16px; margin:0; background:#fff4ef; border-bottom:1px solid #eadbd4; border-radius:7px 7px 0 0; }
.gp-half-customizer .gp-pizza-half h3 { display:flex; align-items:center; justify-content:center; gap:8px; font-size:22px; margin:0; scroll-margin-top:var(--gp-summary-top, 160px); }
.gp-half-customizer .gp-pizza-half .gp-half-number { background:#fff; color:var(--gp-ink); border:1px solid #dccbc3; font-size:17px; }
.gp-half-customizer .gp-pizza-half .gp-half-heading p { margin-top:6px; }
.gp-half-customizer .gp-pizza-half:has([data-half-choice]:not([hidden])) .gp-half-heading p { display:none; }
.gp-half-customizer [data-half-list] { padding:12px; }
.gp-half-customizer [data-half-list][hidden], .gp-half-customizer [data-half-choice][hidden] { display:none; }
.gp-half-customizer .gp-pizza-half .gp-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.gp-half-customizer .gp-pizza-half .gp-product-card { display:grid; grid-template-columns:80px minmax(0,1fr) 96px; grid-template-rows:auto 1fr; align-content:start; gap:4px 12px; padding:12px; margin:0; }
.gp-half-customizer .gp-pizza-half .gp-product-card.is-selected { padding:11px; }
.gp-half-customizer .gp-pizza-half .build-pizza-img-col { grid-column:1; grid-row:1/3; align-self:start; padding:0; margin:0; }
.gp-half-customizer .gp-pizza-half .build-pizza-img-col img { display:block; width:80px; height:80px; object-fit:contain; }
.gp-half-customizer .gp-pizza-half .gp-product-card h4 { grid-column:2; grid-row:1; align-self:center; font-size:16px; margin:0; }
.gp-half-customizer .gp-pizza-half .gp-product-card p { grid-column:2/4; grid-row:2; margin:0; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.gp-half-customizer .gp-pizza-half .pizza-select-btn { grid-column:3; grid-row:1; align-self:center; width:96px; min-height:44px; padding:8px 6px; margin:0; font-size:14px; }
.gp-half-customizer .gp-half-choice { display:flex; align-items:center; gap:12px; padding:12px 16px; flex-wrap:wrap; }
.gp-half-customizer .gp-half-choice img { width:52px; height:52px; object-fit:contain; flex:0 0 52px; }
.gp-half-customizer .gp-half-choice > div { flex:1; min-width:100px; overflow-wrap:anywhere; }
.gp-half-customizer .gp-half-choice-label { display:block; font-size:13px; color:var(--gp-muted); }
.gp-half-customizer .gp-half-choice strong { display:block; font-size:16px; line-height:1.4; }
.gp-half-customizer .gp-half-choice button { font-size:14px; min-height:44px; padding:9px 12px; }
.gp-half-customizer [data-half-toggle]:focus-visible, .gp-half-customizer .gp-pizza-half h3:focus-visible { outline:3px solid var(--gp-ink); outline-offset:3px; }
.gp-half-customizer .gp-pizza-half .gp-product-card:focus-within { outline:3px solid var(--gp-ink); outline-offset:2px; }
@media (min-width:851px) and (max-width:1100px), (max-width:700px) {
    .gp-half-customizer .gp-pizza-half .gp-product-grid { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:480px) {
    .gp-half-customizer .gp-pizza-half h3 { font-size:20px; gap:6px; }
    .gp-half-customizer .gp-pizza-half .gp-product-card { grid-template-columns:64px minmax(0,1fr) 90px; gap:4px 8px; padding:10px; }
    .gp-half-customizer .gp-pizza-half .gp-product-card.is-selected { padding:9px; }
    .gp-half-customizer .gp-pizza-half .build-pizza-img-col img { width:64px; height:64px; }
    .gp-half-customizer .gp-pizza-half .pizza-select-btn { width:90px; }
    .gp-half-customizer .gp-half-choice { gap:10px; padding:12px; }
    .gp-half-customizer .gp-half-choice button { flex:1 0 100%; }
}

.gp-half-customizer [data-half-list] .gp-product-card { scroll-margin-top:var(--gp-summary-top, 160px); scroll-margin-bottom:var(--gp-actions-height, 120px); }

/* A single compact label identifies the active list beneath site navigation. */
.gp-half-customizer .gp-pizza-half.is-context-pinned .gp-half-heading { opacity:0; }
.gp-half-customizer .gp-half-scroll-label { position:fixed; top:var(--gp-half-label-top); left:var(--gp-half-label-left); width:var(--gp-half-label-width); z-index:99; display:flex; align-items:center; justify-content:center; gap:8px; min-height:36px; padding:6px 12px; border-top:3px solid var(--gp-red); border-bottom:1px solid #ddcbc3; background:#fff4ef; box-shadow:0 3px 8px #23232314; font-family:'maven_probold',sans-serif; font-size:16px; line-height:1.35; text-align:center; pointer-events:none; }
.gp-half-customizer .gp-half-scroll-label .gp-half-number { flex:0 0 auto; height:auto; width:auto; padding:0 7px; background:#fff; color:var(--gp-ink); border:1px solid #dccbc3; border-radius:12px; font-size:14px; }
html:has([data-half-customizer]) { scroll-padding-top:var(--gp-half-scroll-clearance, 160px); scroll-padding-bottom:120px; }
@media (max-width:480px) { .gp-half-customizer .gp-half-scroll-label { font-size:15px; } }
