/* Single-pizza presentation only. Shared menu, cart and half-pizza styles stay intact. */
.gp-customizer { --gp-red:#bd281d; --gp-ink:#232323; --gp-muted:#6c6562; color:var(--gp-ink); background:#f6f4f1; font-family:'maven_proregular',sans-serif; }
.gp-customizer *, .gp-customizer *::before, .gp-customizer *::after { box-sizing:border-box; }
.gp-customizer [hidden] { display:none !important; }
.gp-customizer .container { width:100%; max-width:1260px; padding:0 32px; }
.gp-customizer-hero { background:var(--gp-ink); color:#fff; padding:24px 0 30px; border-bottom:4px solid var(--gp-red); }
.gp-customizer-hero h1 { font-family:'lobsterregular',sans-serif; font-size:40px; margin:12px 0 8px; color:#fff; }
.gp-customizer-hero p { margin:0; color:#e2deda; font-size:16px; }
.gp-customizer .gp-menu-link { color:#e2deda; font-size:14px; display:inline-block; }
.gp-customizer .product-select-wrap { padding:28px 0 56px; }
.gp-customizer-layout { display:grid; grid-template-columns:minmax(0,1fr) 350px; align-items:start; gap:32px; }
.gp-customizer .build-you-pizz-tab { min-width:0; }
.gp-customizer .build-you-pizz-nav { display:flex; gap:8px; padding:0; margin:0 0 24px; }
.gp-customizer .build-you-pizz-nav li { display:block; width:auto; flex:1; margin:0; padding:0; min-width:0; }
.gp-customizer .build-you-pizz-nav li a { display:flex; align-items:center; gap:10px; padding:12px; height:auto; min-height:72px; background:#eeebe7; color:#756d69; border:1px solid #ddd7d1; border-radius:10px; font-family:'maven_promedium',sans-serif; font-size:15px; line-height:1.3; letter-spacing:0; }
.gp-customizer .build-you-pizz-nav li i { margin:0; flex:0 0 28px; height:28px; width:28px; border:1px solid #b9b1ab; border-radius:50%; display:grid; place-items:center; font-size:14px; font-family:inherit; }
.gp-customizer .build-you-pizz-nav li span { min-width:0; overflow-wrap:anywhere; }
.gp-customizer .build-you-pizz-nav small { display:block; font-size:11px; margin-top:4px; }
.gp-customizer .build-you-pizz-nav li.active a { background:var(--gp-red); border-color:var(--gp-red); color:#fff; box-shadow:0 4px 12px #bd281d20; }
.gp-customizer .build-you-pizz-nav li.active i { background:#fff; color:var(--gp-red); border-color:#fff; }
.gp-customizer .build-you-pizz-nav li.is-complete a { color:var(--gp-ink); background:#fff; border-color:#c6beb6; }
.gp-customizer .build-you-pizz-nav li.is-complete i { background:var(--gp-ink); border-color:var(--gp-ink); color:#fff; }
.gp-step-heading { margin-bottom:20px; }
.gp-step-heading h2 { font-family:'maven_probold',sans-serif; font-size:26px; margin:0 0 6px; }
.gp-step-heading p { margin:0; color:var(--gp-muted); font-size:15px; line-height:1.5; }
.gp-customizer .card.gp-category { border:1px solid #ded8d1; border-radius:12px; background:#fff; margin-bottom:12px; overflow:hidden; }
.gp-customizer .gp-category .card-header { background:none; border:0; border-radius:0; padding:0; }
.gp-customizer .gp-category .card-header a { display:flex; align-items:center; gap:12px; position:relative; padding:18px 44px 18px 18px; background:none; font-size:18px; color:var(--gp-ink); line-height:1.4; }
.gp-customizer .gp-category .card-header a::after { content:'−'; position:absolute; right:18px; font-size:23px; font-family:Arial,sans-serif; color:var(--gp-red); }
.gp-customizer .gp-category .card-header a.collapsed::after { content:'+'; }
.gp-customizer .gp-category .card-header .gp-category-title { color:inherit; font-family:'maven_probold',sans-serif; font-size:18px; margin:0; flex:1; }
.gp-customizer .gp-category .card-header .gp-category-selection { color:var(--gp-muted); font-size:12px; margin:0; max-width:50%; text-align:right; overflow-wrap:anywhere; }
.gp-customizer .gp-category .card-body { padding:0 18px 8px; }
.gp-category-hint { color:var(--gp-muted); font-size:13px; line-height:1.5; margin:0 0 12px; }
.gp-customizer .gp-category .row, .gp-customizer .gp-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }
.gp-customizer .gp-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gp-customizer .gp-category .row::before, .gp-customizer .gp-category .row::after, .gp-customizer .gp-product-grid::before, .gp-customizer .gp-product-grid::after { display:none; }
.gp-customizer .row > [class*='col-'] { width:auto; max-width:none; padding:0; float:none; min-width:0; display:flex; }
.gp-customizer .build-pizza-col { position:relative; display:flex; flex-direction:column; width:100%; border:1px solid #ddd7d0; border-radius:9px; text-align:left; padding:14px; margin:0 0 10px; background:#faf9f7; transition:border-color .15s,background .15s,box-shadow .15s; }
.gp-customizer .build-pizza-col:hover { border-color:#b7aba0; }
.gp-customizer .build-pizza-col.is-selected { border:2px solid var(--gp-red); padding:13px; background:#fff4f1; box-shadow:0 0 0 1px #bd281d10; }
.gp-customizer .build-pizza-col h4 { font-family:'maven_promedium',sans-serif; font-size:15px; line-height:1.45; margin:0 0 6px; overflow-wrap:anywhere; color:var(--gp-ink); }
.gp-customizer .build-pizza-col h5 { font-family:'maven_probold',sans-serif; font-size:14px; line-height:1.3; margin:0 0 12px; color:var(--gp-ink); text-transform:none; }
.gp-customizer .build-pizza-col h5.is-free { color:var(--gp-muted); }
.gp-customizer .pizza-select-btn { display:flex; justify-content:center; align-items:center; gap:6px; width:100%; height:auto; min-height:44px; padding:9px 8px; line-height:1.3; margin-top:auto; background:#fff; border:1px solid #d7cfc7; border-radius:6px; font-size:13px; font-family:'maven_probold',sans-serif; text-transform:none; letter-spacing:0; white-space:normal; color:var(--gp-ink); }
.gp-customizer .pizza-select-btn.selected-pizza { background:var(--gp-red); color:#fff; border-color:var(--gp-red); }
.gp-customizer .pizza-select-btn.selected-pizza::before { content:'✓'; font-family:Arial,sans-serif; font-weight:bold; }
.gp-customizer .gp-option-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-content:start; gap:4px 8px; padding:12px; margin-bottom:4px; }
.gp-customizer .gp-option-card.is-selected { padding:11px; }
.gp-customizer .gp-option-card h4 { margin:0; font-size:14px; }
.gp-customizer .gp-option-card h5 { margin:2px 0 0; font-size:12px; white-space:nowrap; }
.gp-customizer .gp-option-card .pizza-select-btn { grid-column:1/-1; justify-content:flex-start; margin:0; padding:6px 0 0; border:0; background:none; color:var(--gp-muted); font-size:12px; min-height:44px; }
.gp-customizer .gp-option-card .pizza-select-btn::before { content:'○'; font-family:Arial,sans-serif; font-size:18px; }
.gp-customizer .gp-option-card .pizza-select-btn::after { content:''; position:absolute; inset:0; border-radius:9px; }
.gp-customizer .gp-option-card .pizza-select-btn.selected-pizza { color:var(--gp-red); }
.gp-customizer .gp-option-card .pizza-select-btn.selected-pizza::before { content:'✓'; }
.gp-customizer .gp-option-card:focus-within { outline:3px solid var(--gp-ink); outline-offset:3px; }
.gp-customizer .gp-option-card .pizza-select-btn:focus-visible { outline:none; }
.gp-customizer .gp-remove-category { border-style:dashed; border-color:#bdb2a7; }
.gp-customizer .gp-remove-category .card-header a { background:#f4efe9; }
.gp-customizer .gp-remove-category .is-selected h4 { text-decoration:line-through; }
.gp-customizer .gp-product-card p { font-size:14px; color:var(--gp-muted); line-height:1.5; }
.gp-customizer .build-pizza-img-col { text-align:center; }
.gp-customizer .build-pizza-img-col img { width:100px; height:100px; object-fit:cover; }
.gp-customizer .step-btn-col { display:flex; gap:12px; margin-top:22px; padding:0; width:100%; }
.gp-customizer .step-btn-col::after { display:none; }
.gp-customizer .step-btns, .gp-customizer .gp-primary, .gp-customizer .gp-secondary { display:flex; justify-content:center; align-items:center; min-height:48px; height:auto; width:auto; padding:13px 18px; font-family:'maven_probold',sans-serif; font-size:15px; line-height:1.4; letter-spacing:0; text-transform:none; text-align:center; white-space:normal; border:0; border-radius:8px; float:none; background:var(--gp-red); color:#fff; }
.gp-customizer .step-right-btn, .gp-customizer .step-btn-col .gp-primary { flex:1; }
.gp-customizer .step-left-btn { background:#fff; color:var(--gp-ink); border:1px solid #d1c8bf; }
.gp-desktop-actions { position:sticky; bottom:16px; z-index:100; display:flex; gap:12px; padding:12px; margin-top:20px; background:#fff; border:1px solid #ded8d1; border-radius:12px; box-shadow:0 4px 24px #23232318; }
.gp-desktop-actions .gp-primary { flex:1; min-width:0; }
.gp-desktop-actions .step-left-btn { flex:0 0 auto; }
.gp-customizer .gp-primary:hover, .gp-customizer .step-right-btn:hover { background:#971d15; }
.gp-customizer a:focus-visible, .gp-customizer button:focus-visible, .gp-customizer input:focus-visible { outline:3px solid #232323; outline-offset:3px; }
.gp-customizer [aria-disabled='true'], .gp-customizer button:disabled { opacity:.55; cursor:wait; }
.gp-customizer .pizza-price-detail-sec { display:flex; flex-direction:column; max-height:calc(100vh - var(--gp-summary-top, 24px) - 88px); max-height:calc(100dvh - var(--gp-summary-top, 24px) - 88px); position:sticky; top:var(--gp-summary-top, 24px); border:1px solid #ded8d1; border-radius:14px; background:#fff; box-shadow:0 8px 28px #23232308; overflow:hidden; min-width:0; }
.gp-summary-heading { flex:0 0 auto; display:flex; align-items:center; gap:12px; padding:20px; background:var(--gp-ink); color:#fff; }
.gp-summary-heading h2 { font-family:'lobsterregular',sans-serif; font-size:24px; margin:0 0 5px; color:#fff; }
.gp-summary-heading p { font-size:12px; color:#d7d2ce; line-height:1.4; margin:0; }
.gp-summary-icon { flex:0 0 38px; font-size:30px; color:#e65745; }
.gp-customizer .first-half-order { padding:16px 20px 0; flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
.gp-customizer .pizza-baking-detail { padding:0; margin:0; }
.gp-customizer .pizza-baking-detail li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; border-bottom:1px solid #ece7e2; padding:0 0 8px; margin:0 0 8px; font-family:'maven_proregular',sans-serif; font-size:14px; }
.gp-customizer .pizza-baking-detail li::after { display:none; }
.gp-customizer .pizza-baking-detail li > div:first-child { grid-column:1/-1; font-size:11px; color:var(--gp-muted); }
.gp-customizer .pizza-baking-detail li .baking-type, .gp-customizer .pizza-baking-detail li .baking-price { float:none; width:auto; min-width:0; }
.gp-customizer .pizza-baking-detail li .extraa-item { color:var(--gp-ink); display:block; }
.gp-customizer .pizza-baking-detail strong { font-family:'maven_promedium',sans-serif; font-weight:normal; overflow-wrap:anywhere; line-height:1.5; }
.gp-customizer .gp-summary-product { display:flex; align-items:center; gap:10px; }
.gp-summary-photo { flex:0 0 54px; width:54px; height:54px; border-radius:8px; object-fit:cover; }
.gp-customizer .gp-summary-edit { display:inline; border:0; background:none; padding:4px 0; color:inherit; font:inherit; text-align:left; line-height:1.5; cursor:pointer; overflow-wrap:anywhere; text-decoration:underline; text-decoration-color:#c7bcb1; text-underline-offset:3px; }
.gp-customizer .gp-summary-edit:hover { color:var(--gp-red); text-decoration-color:var(--gp-red); }
.gp-customizer .pizza-baking-detail .extraa-item > div, .gp-customizer .pizza-baking-detail .amout-col { min-height:28px; line-height:1.5; padding-bottom:4px; }
.gp-customizer .gp-summary-modifiers { grid-column:1/-1; }
.gp-customizer .pizza-baking-detail .gp-summary-modifier { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:10px; }
.gp-customizer .gp-summary-modifier .amout-col { text-align:right; white-space:nowrap; }
.gp-customizer .pizza-baking-detail .deleteToping { display:inline-flex; width:32px; height:32px; align-items:center; justify-content:center; background:#f0ece8; border-radius:50%; margin-left:4px; cursor:pointer; vertical-align:middle; float:none; }
.gp-customizer .pizza-baking-detail .deleteToping img { width:11px; height:11px; }
.gp-customizer .gp-cost-hint { flex:0 0 auto; padding:0 20px; font-size:11px; color:var(--gp-muted); margin:4px 0 16px; line-height:1.5; }
.gp-customizer .pizza-pricing-col { flex:0 0 auto; border-top:1px solid #ded8d1; padding:18px 20px 20px; background:#faf8f5; }
.gp-customizer .pizza-total-price { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:12px; }
.gp-customizer .pizza-total-price::after { display:none; }
.gp-customizer .qnt-pizza, .gp-customizer .sub-total { float:none; padding:0; }
.gp-customizer .qnt-pizza label { display:block; font-size:12px; margin:0 0 7px; font-weight:normal; }
.gp-customizer .qnt-pizza input { width:60px; height:44px; border-color:#c7bcb1; border-radius:6px; background:#fff; }
.gp-quantity-controls { display:flex; align-items:center; border:1px solid #c7bcb1; border-radius:7px; background:#fff; overflow:hidden; }
.gp-customizer .gp-quantity-controls input { width:42px; min-width:0; height:44px; border:0; border-radius:0; text-align:center; padding:0; appearance:textfield; -moz-appearance:textfield; }
.gp-quantity-controls input::-webkit-inner-spin-button, .gp-quantity-controls input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.gp-quantity-controls button { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:0; background:none; color:var(--gp-ink); font-size:22px; }
.gp-quantity-controls button:hover:not(:disabled) { background:#f3ede7; color:var(--gp-red); }
.gp-customizer .gp-quantity-controls button:disabled { cursor:default; }
.gp-customizer .gp-quantity-controls input:focus-visible, .gp-customizer .gp-quantity-controls button:focus-visible { outline-offset:-3px; }
.gp-customizer .referesh-btn { position:static; margin:0; padding:0; width:36px; height:44px; border:0; background:none; float:none; display:inline-flex; justify-content:center; align-items:center; vertical-align:middle; }
.gp-customizer .referesh-btn img { width:20px; }
.gp-customizer .sub-total { text-align:right; flex:1 1 110px; min-width:0; }
.gp-customizer .sub-total span { display:block; font-size:12px; margin-bottom:7px; }
.gp-customizer .sub-total strong { font-family:'maven_probold',sans-serif; font-size:24px; line-height:1.3; color:var(--gp-red); }
.gp-customizer .pizza-cart-btn { margin:18px 0 0; width:100%; }
.gp-feedback { font-size:13px; line-height:1.4; color:var(--gp-muted); }
.gp-feedback:not(:empty) { margin:0 0 12px; }
.gp-feedback.is-error { color:var(--gp-red); }
.gp-retry { border:1px solid var(--gp-red); color:var(--gp-red); background:#fff; border-radius:6px; padding:10px 16px; margin-bottom:16px; }
.gp-mobile-actions { display:none; }
@media (min-width:851px) {
    .gp-customizer .tab-pane .step-btn-col { display:none; }
}
@media (max-width:1050px) {
    .gp-customizer-layout { grid-template-columns:minmax(0,1fr) 310px; gap:20px; }
    .gp-customizer .container { padding:0 20px; }
    .gp-customizer .build-you-pizz-nav li a { gap:7px; padding:10px 8px; font-size:14px; }
    .gp-customizer .gp-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .gp-customizer .gp-category .row { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:850px) {
    .gp-customizer-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
    .gp-customizer .pizza-price-detail-sec { display:block; position:static; max-height:none; }
    .gp-customizer .first-half-order { max-height:260px; }
    .gp-customizer .pizza-cart-btn { display:none; }
    .gp-desktop-actions { display:none; }
    .gp-customizer .gp-summary-edit { display:inline-flex; align-items:center; min-height:44px; }
    .gp-customizer .pizza-baking-detail .deleteToping { width:44px; height:44px; }
    .gp-customizer .product-select-wrap { padding:20px 0 150px; }
    .gp-mobile-actions { position:fixed; bottom:0; left:0; right:0; z-index:1029; display:flex; align-items:center; gap:14px; background:#fff; border-top:1px solid #d4cbc3; padding:12px 20px calc(12px + env(safe-area-inset-bottom)); box-shadow:0 -5px 20px #23232310; }
    .gp-mobile-actions > div { flex:0 0 auto; max-width:36%; }
    .gp-mobile-actions span { display:block; font-size:11px; color:var(--gp-muted); }
    .gp-mobile-actions strong { display:block; font-size:19px; color:var(--gp-red); font-family:'maven_probold',sans-serif; overflow-wrap:anywhere; }
    .gp-mobile-actions .gp-primary { flex:1; min-width:0; padding:12px; font-size:14px; }
    body:has(.gp-customizer) .right-fixed-cart, body:has(.gp-customizer) #line-widget { display:none !important; }
}
@media (max-width:480px) {
    .gp-customizer .gp-option-card { grid-template-columns:minmax(0,1fr); }
    .gp-customizer .gp-option-card h5 { white-space:normal; }
    .gp-customizer .container { padding:0 14px; }
    .gp-customizer-hero { padding:18px 0 22px; }
    .gp-customizer-hero h1 { font-size:32px; }
    .gp-customizer .build-you-pizz-nav { gap:5px; }
    .gp-customizer .build-you-pizz-nav li a { display:flex; flex-direction:column; align-items:flex-start; padding:10px; min-height:105px; font-size:13px; }
    .gp-customizer .build-you-pizz-nav small { font-size:10px; }
    .gp-customizer .gp-category .card-header a { padding:15px 36px 15px 14px; }
    .gp-customizer .gp-category .card-body { padding:0 12px 4px; }
    .gp-customizer .gp-category .row { gap:8px; }
    .gp-customizer .build-pizza-col { padding:11px; }
    .gp-customizer .build-pizza-col.is-selected { padding:10px; }
    .gp-customizer .build-pizza-col h4 { font-size:14px; }
    .gp-customizer .pizza-select-btn { font-size:12px; }
    .gp-customizer .gp-category .card-header .gp-category-selection { max-width:42%; font-size:11px; }
    .gp-customizer .step-btns, .gp-customizer .step-btn-col .gp-primary { font-size:13px; padding:12px; }
    .gp-mobile-actions { padding-left:14px; padding-right:14px; gap:10px; }
}
@media (prefers-reduced-motion:reduce) {
    .gp-customizer *, .gp-customizer *::before, .gp-customizer *::after { transition:none !important; animation:none !important; }
}
@media (min-width:851px) and (max-height:700px) {
    .gp-customizer .pizza-price-detail-sec { position:static; max-height:none; }
    body:has(.gp-customizer) .right-fixed-cart, body:has(.gp-customizer) #line-widget { display:none !important; }
}
