/* Pizzeria Core — presentació de la fitxa de producte
   Estils base neutres; el tema pot sobreescriure amb aquestes mateixes classes. */

/* ---- Botons genèrics (mode sencera/meitats i mides) ---- */
.pz-btns{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}
.pz-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;
  border:1.5px solid currentColor;border-radius:999px;cursor:pointer;
  font-size:14px;line-height:1;user-select:none;background:transparent;
  transition:background .12s, color .12s;position:relative}
.pz-btn input{position:absolute;opacity:0;pointer-events:none}
.pz-btn svg{flex:0 0 auto}
.pz-btn:has(input:checked),
.pz-btn.is-active{background:currentColor}
.pz-btn:has(input:checked) span,
.pz-btn:has(input:checked) svg,
.pz-btn.is-active span,
.pz-btn.is-active svg{color:#fff;filter:invert(1) brightness(2)}
/* Fallback simple per si el tema defineix colors: inversió neta */
.pz-btn:has(input:checked) *, .pz-btn.is-active *{mix-blend-mode:difference}

/* ---- Selector de mida (construït per JS sobre el select de Woo) ---- */
.pz-sizes .pz-btn .pz-size-n{font-weight:700}
.variations select[name="attribute_pa_mida"].pz-hidden,
tr.pz-hidden-row{position:absolute !important;left:-9999px;opacity:0;height:0}

/* (xips: estils compartits a filters.css) */
.pizzeria-supplements h4{margin:14px 0 4px}
.pizzeria-supplements__total{font-size:14px}

/* Suplements per meitat (meitat i meitat): un bloc de xips per banda,
   amb una etiqueta petita al davant. half.js alterna aquest bloc amb
   .pz-chips-whole-wrap segons el mode triat. */
.pz-half-label{font-size:16px;font-weight:700;line-height:1.25;margin:0 0 8px}
.pz-half-label strong{font-weight:800}
/* Cada meitat en el seu bloc, amb un fons suau: es veu a quina pizza van els ingredients */
.pz-half-block{background:rgba(128,128,128,.09);border-radius:12px;padding:13px 14px 6px;margin:0 0 12px}
.pz-half-block .pz-chips{margin:0 0 8px}

/* ---- Mode deshabilitat (individual) ---- */
.pz-btn.pz-disabled{opacity:.35;cursor:not-allowed}
.pz-btn.pz-disabled input{pointer-events:none}

/* ---- Plegat de suplements ---- */
.pz-supp-toggle{display:block;width:100%;max-width:420px;text-align:left;
  padding:11px 14px;margin:12px 0 6px;border:1.5px solid rgba(128,128,128,.5);
  border-radius:10px;background:transparent;font-size:14px;cursor:pointer}
.pz-supp-toggle .pz-supp-arrow{float:right;opacity:.6}

/* ---- Amagar el preu natiu (rang "des de - fins a" i preu de variació) ---- */
.single-product .summary > .price,
.single-product .woocommerce-variation-price{display:none !important}

/* ---- Barra inferior fixa ---- */
body.pz-has-bar{padding-bottom:74px}
#pz-bar{position:fixed;left:0;right:0;bottom:0;z-index:900;
  display:flex;align-items:center;gap:14px;padding:12px 16px;
  padding-bottom:calc(12px + env(safe-area-inset-bottom));
  background:#161616;color:#fff;box-shadow:0 -3px 14px rgba(0,0,0,.35)}
#pz-bar .pz-bar-label{font-size:12px;opacity:.7}
#pz-bar .pz-bar-price{font-size:20px;min-width:90px}
#pz-bar #pz-bar-add{margin-left:auto;padding:12px 22px;border:0;border-radius:999px;
  font-size:15px;font-weight:600;background:#fff;color:#111;cursor:pointer}
#pz-bar #pz-bar-add:disabled{opacity:.45;cursor:default}

/* ---- Plegat de suplements (per classe, robust) ---- */
.pz-supp-body{display:none}
.pz-supp-body.open{display:block}

/* (combobox: estils compartits a filters.css) */

/* =========================================================
   CHECKOUT EN DUES COLUMNES (compacte)
   ========================================================= */
@media (min-width:900px){
  body.pz-checkout-2col form.checkout.woocommerce-checkout{
    display:grid;grid-template-columns:1.05fr .95fr;
    grid-template-rows:auto 1fr;               /* fila 1: títols · fila 2: contingut */
    gap:0 clamp(24px,4vw,56px);
    align-items:start;align-content:start;
  }
  /* Les dades ocupen les dues files de la columna 1; així el resum de la dreta
     no espera que acabi la fila del formulari per començar. */
  body.pz-checkout-2col form.checkout #customer_details{
    grid-column:1;grid-row:1 / span 2;min-width:0}
  body.pz-checkout-2col form.checkout #order_review_heading{
    grid-column:2;grid-row:1;margin:0 0 12px;min-width:0}
  body.pz-checkout-2col form.checkout #order_review{
    grid-column:2;grid-row:2;min-width:0}
  /* La columna de dades no ha de partir-se en dues internes */
  body.pz-checkout-2col #customer_details .col-1,
  body.pz-checkout-2col #customer_details .col-2{width:100%;float:none}
}
/* Camps a dues columnes dins del bloc de dades */
body.pz-checkout-2col .woocommerce form .form-row-first,
body.pz-checkout-2col .woocommerce form .form-row-last{width:48.5%;overflow:visible}
body.pz-checkout-2col .woocommerce form .form-row-wide{width:100%}
@media (max-width:600px){
  body.pz-checkout-2col .woocommerce form .form-row-first,
  body.pz-checkout-2col .woocommerce form .form-row-last{width:100%}
}
/* Selector de franja destacat */
#pizzeria-franja-field{margin:18px 0;padding:16px;border:1.5px solid rgba(128,128,128,.4);
  border-radius:12px}
#pizzeria-franja-field h3{margin-top:0;font-size:16px}
.pizzeria-note{font-size:15.5px;line-height:1.45;opacity:.85;margin:14px 0 0;max-width:none}
/* Recollida: el títol de facturació sobra (només es demana contacte) */
body.pz-checkout-2col .woocommerce-billing-fields > h3{display:none}

/* Notes de cuina a la fitxa */
.pizzeria-notes{margin:14px 0 8px;max-width:460px}
.pizzeria-notes label{display:block;font-size:14.5px;font-weight:600;margin-bottom:6px}
.pizzeria-notes label span{font-weight:400;opacity:.6}
.pizzeria-notes textarea{display:block;width:100%;resize:vertical;min-height:62px;padding:11px 14px;
  border:1.5px solid rgba(128,128,128,.45);border-radius:12px;background:transparent;
  color:inherit;font:inherit;font-size:14.5px;line-height:1.4}
.pizzeria-notes textarea:focus{outline:none;border-color:currentColor}

/* Resum del checkout: una pizza per fila */
/* Selectors reforçats: WooCommerce posa vertical-align:middle a tots els td (especificitat 0,2,2) */
.woocommerce table.shop_table.pz-review .pz-review-line td{vertical-align:top}
.pz-review td.product-total,.pz-review th.product-total{text-align:right;white-space:nowrap}
/* Peu (total, cupons, càrrecs): etiqueta a l'esquerra i import a la dreta, a la mateixa columna que els preus */
.woocommerce table.shop_table.pz-review tfoot th{text-align:left}
.woocommerce table.shop_table.pz-review tfoot td{text-align:right;white-space:nowrap}
.pz-review .order-total th small{font-weight:400;font-size:.8em;opacity:.65;margin-left:4px;text-transform:none;letter-spacing:0}

/* Avís d'hora de recollida a la fitxa */
.pz-pickup-hint{display:inline-flex;align-items:center;gap:7px;font-size:13px;
  padding:7px 14px;border-radius:999px;border:1.5px solid rgba(128,128,128,.45);
  margin:0 0 12px}
.pz-pickup-hint::before{content:"";width:8px;height:8px;border-radius:50%;
  background:#3B8A2E;flex:0 0 auto}
.pz-pickup-hint.is-closed::before{background:#C0564B}

/* =========================================================
   FITXA: quantitat i botó natiu amagats (la compra va a la barra fixa)
   Es mantenen al DOM perquè el formulari segueixi sent vàlid.
   ========================================================= */
body.single-product form.cart .quantity,
body.single-product form.cart .single_add_to_cart_button{
  position:absolute !important;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}

/* =========================================================
   TOGGLE DE SUPLEMENTS — aspecte de desplegable real
   ========================================================= */
.pz-supp-toggle{
  display:flex;align-items:center;gap:10px;width:100%;max-width:460px;
  padding:13px 16px;margin:14px 0 8px;cursor:pointer;text-align:left;
  border:1.5px solid rgba(128,128,128,.45);border-radius:12px;
  background:transparent;color:inherit;font-size:14.5px;font-weight:600;
  transition:border-color .15s, background .15s;
}
.pz-supp-toggle:hover{border-color:currentColor;background:rgba(128,128,128,.07)}
.pz-supp-plus{display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;border:1.5px solid currentColor;
  font-size:15px;line-height:1;flex:0 0 auto}
.pz-supp-txt{flex:1}
.pz-supp-arrow{display:inline-flex;transition:transform .2s;opacity:.7}
.pz-supp-toggle[aria-expanded="true"] .pz-supp-arrow{transform:rotate(180deg)}
.pz-supp-toggle[aria-expanded="true"]{border-color:currentColor}
.pz-supp-body.open{padding:4px 2px 8px}

/* Xarxa de seguretat: SKU / categories / etiquetes fora de la fitxa */
body.single-product .product_meta{display:none !important}

/* Avís del número de comanda al checkout */
.pz-order-hint{display:flex;align-items:center;gap:9px;font-size:13px;
  padding:11px 14px;margin:0 0 14px;border-radius:10px;
  border:1.5px dashed rgba(128,128,128,.5)}

/* Xarxa de seguretat: sense preus a les targetes de producte */
ul.products li.product .price{display:none !important}

/* ---- Mida amb la base (massa) esgotada ---- */
.pz-btn.pz-size-soldout{opacity:.45;cursor:not-allowed}
.pz-btn.pz-size-soldout span{text-decoration:line-through}
.pz-size-out{display:inline-block;font-style:normal;font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;margin-left:2px}
