/* =====================================================================
   Caffè Alverto — strona kasy
   Cel: jeden ekran, oczywiste wybory, żadnego szukania.
   Style trzymają się klas WooCommerce (stabilnych między motywami).
   ===================================================================== */

.woocommerce-checkout{
  --alv-c-gold:#B8873F;
  --alv-c-ink:#2A1B12;
  --alv-c-muted:#6B5A4E;
  --alv-c-line:#E2D8CC;
  --alv-c-bg:#FBF8F4;
  --alv-c-ok:#2E7D5B;
}

/* ---------- pozycje zamówienia: miniatura, ilość, usuwanie ---------- */
.alv-ci{display:grid; grid-template-columns:56px 1fr; gap:.9rem; align-items:start}
.alv-ci__thumb{width:56px; height:56px; overflow:hidden; background:rgba(0,0,0,.04);
  border:1px solid var(--alv-c-line); border-radius:3px}
.alv-ci__thumb img{width:100%; height:100%; object-fit:cover; display:block; margin:0}
.alv-ci__body{min-width:0}
.alv-ci__name{display:block; line-height:1.35; font-weight:500}

.alv-qty{display:inline-flex; align-items:center; margin-top:.55rem; background:#fff;
  border:1px solid var(--alv-c-line); border-radius:3px; overflow:hidden; vertical-align:middle}
.alv-qty button{width:32px; height:32px; display:grid; place-items:center; padding:0;
  background:transparent; border:0; cursor:pointer; font-size:1.05rem; line-height:1;
  color:var(--alv-c-ink); transition:background .2s}
.alv-qty button:hover:not(:disabled){background:rgba(184,135,63,.12)}
.alv-qty__val{min-width:36px; text-align:center; font-size:.92rem; font-weight:500;
  border-inline:1px solid var(--alv-c-line); line-height:32px}

.alv-remove{display:inline-block; margin:.55rem 0 0 .8rem; vertical-align:middle;
  background:none; border:0; padding:0; cursor:pointer; font-size:.8rem;
  text-decoration:underline; text-underline-offset:3px; color:var(--alv-c-muted); transition:color .2s}
.alv-remove:hover{color:#B3261E}
.alv-ci.is-busy{opacity:.45; pointer-events:none}
.woocommerce-checkout-review-order-table .product-quantity:empty{display:none}

/* ---------- pola formularza ---------- */
.woocommerce-checkout .form-row{margin-bottom:1.15rem}
.woocommerce-checkout label{display:block; margin-bottom:.4rem; font-size:.82rem;
  font-weight:500; letter-spacing:.02em; color:var(--alv-c-ink)}
.woocommerce-checkout .required{color:#B3261E; text-decoration:none}
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout textarea,
.woocommerce-checkout select{
  width:100%; padding:.95rem 1rem; font-size:1rem; line-height:1.4;
  border:1px solid var(--alv-c-line); border-radius:3px; background:#fff;
  color:var(--alv-c-ink); transition:border-color .2s, box-shadow .2s;
}
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus{
  outline:none; border-color:var(--alv-c-gold); box-shadow:0 0 0 3px rgba(184,135,63,.18);
}
.woocommerce-checkout input::placeholder,.woocommerce-checkout textarea::placeholder{color:#A99A8E}
.woocommerce-checkout .woocommerce-invalid input{border-color:#B3261E}

@media(min-width:640px){
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last{width:calc(50% - .5rem); float:none;
    display:inline-block; vertical-align:top}
  .woocommerce-checkout .form-row-first{margin-right:.9rem}
}

/* ---------- dostawa i płatność jako klikalne wiersze ---------- */
.woocommerce-checkout #shipping_method,
.woocommerce-checkout .wc_payment_methods{list-style:none; margin:0; padding:0; display:grid; gap:.6rem}
.woocommerce-checkout #shipping_method li,
.woocommerce-checkout .wc_payment_methods > li{
  display:block; margin:0; padding:1rem 1.1rem;
  border:1.5px solid var(--alv-c-line) !important; border-radius:4px;
  background:#fff; transition:border-color .2s, background .2s; position:relative;
  list-style:none;
}
/* motyw potrafi zerować dolną krawędź elementów listy */
.woocommerce-checkout #shipping_method li::after,
.woocommerce-checkout .wc_payment_methods > li::after{content:none}
.woocommerce-checkout #shipping_method li:hover,
.woocommerce-checkout .wc_payment_methods > li:hover{border-color:var(--alv-c-gold)}
.woocommerce-checkout #shipping_method li:has(input:checked),
.woocommerce-checkout .wc_payment_methods > li:has(input:checked){
  border-color:var(--alv-c-gold); background:rgba(184,135,63,.06);
}
.woocommerce-checkout #shipping_method li label,
.woocommerce-checkout .wc_payment_methods > li label{
  display:flex; align-items:center; gap:.7rem; margin:0; cursor:pointer;
  font-size:1rem; font-weight:500;
}
.woocommerce-checkout #shipping_method input[type="radio"],
.woocommerce-checkout .wc_payment_methods input[type="radio"]{
  width:20px; height:20px; accent-color:var(--alv-c-gold); flex:0 0 auto; margin:0;
}
.woocommerce-checkout .wc_payment_methods label img{max-height:26px; width:auto; margin-left:auto}
.woocommerce-checkout .payment_box{margin:.9rem 0 0; padding:.9rem 1rem;
  background:rgba(0,0,0,.03); border-radius:3px; font-size:.88rem; color:var(--alv-c-muted)}
.woocommerce-checkout .payment_box::before{display:none}

/* przycisk wyboru paczkomatu — ma być widoczny, nie schowany */
.woocommerce-checkout #shipping_method li a,
.woocommerce-checkout .wc-inpost-geowidget-button,
.woocommerce-checkout .inpost-select-point,
.woocommerce-checkout .select-paczkomat,
.woocommerce-checkout .paczkomat-select-button{
  display:inline-flex !important; align-items:center; justify-content:center; gap:.5rem;
  margin-top:.85rem; padding:.8rem 1.3rem;
  background:var(--alv-c-gold) !important; color:#fff !important;
  border:0 !important; border-radius:3px; cursor:pointer;
  font-size:.9rem; font-weight:500; letter-spacing:.02em; text-decoration:none !important;
  transition:filter .2s;
}
.woocommerce-checkout #shipping_method li a:hover,
.woocommerce-checkout .wc-inpost-geowidget-button:hover,
.woocommerce-checkout .inpost-select-point:hover{filter:brightness(1.08)}

/* potwierdzenie wskazanego punktu */
.woocommerce-checkout .selected-point,
.woocommerce-checkout .inpost-selected-point,
.alv-point-ok{
  display:block; margin-top:.7rem; padding:.7rem .9rem;
  background:rgba(46,125,91,.08); border-left:3px solid var(--alv-c-ok);
  font-size:.88rem; color:var(--alv-c-ink);
}

/* ---------- podsumowanie zamówienia ---------- */
.woocommerce-checkout .woocommerce-checkout-review-order{
  background:var(--alv-c-bg); border:1px solid var(--alv-c-line);
  border-radius:4px; padding:clamp(1.25rem,3vw,1.9rem);
}
@media(min-width:1000px){
  .woocommerce-checkout .woocommerce-checkout-review-order{position:sticky; top:2rem}
}
.woocommerce-checkout-review-order-table{width:100%; border-collapse:collapse}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{padding:.85rem 0;
  border-bottom:1px solid var(--alv-c-line); vertical-align:top}
.woocommerce-checkout-review-order-table tfoot th{font-weight:500; color:var(--alv-c-muted)}
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td{border-bottom:0;
  padding-top:1.2rem; font-size:1.25rem}
.woocommerce-checkout-review-order-table tfoot .order-total td{color:var(--alv-c-gold); font-weight:500}
.woocommerce-checkout-review-order-table td{text-align:right}
.woocommerce-checkout-review-order-table td.product-name{text-align:left}
.woocommerce-checkout-review-order-table .cart-discount td,
.woocommerce-checkout-review-order-table .cart-discount th{color:var(--alv-c-ok); font-weight:500}

/* ---------- kupon ---------- */
.woocommerce-checkout .woocommerce-form-coupon-toggle{margin-bottom:1.5rem}
.woocommerce-checkout .woocommerce-form-coupon{margin:0 0 1.8rem; padding:1.1rem 1.2rem;
  background:var(--alv-c-bg); border:1px dashed var(--alv-c-line); border-radius:4px}
.woocommerce-checkout .woocommerce-form-coupon p:first-child{margin-top:0; font-size:.88rem;
  color:var(--alv-c-muted)}

/* ---------- przycisk zamówienia ---------- */
.woocommerce-checkout #place_order{
  width:100%; padding:1.15rem 1.5rem; margin-top:1.2rem;
  background:var(--alv-c-gold); color:#fff; border:0; border-radius:3px;
  font-size:1rem; font-weight:500; letter-spacing:.06em; text-transform:uppercase;
  cursor:pointer; transition:filter .2s, transform .1s;
}
.woocommerce-checkout #place_order:hover{filter:brightness(1.08)}
.woocommerce-checkout #place_order:active{transform:translateY(1px)}
.woocommerce-checkout #place_order[disabled]{opacity:.45; cursor:not-allowed; filter:none}

.alv-trust{display:flex; flex-wrap:wrap; gap:.5rem 1.4rem; justify-content:center;
  margin-top:1.1rem; font-size:.78rem; color:var(--alv-c-muted)}
.alv-trust span{display:flex; align-items:center; gap:.4rem}
.alv-trust span::before{content:""; width:5px; height:5px;
  background:var(--alv-c-gold); transform:rotate(45deg)}

.alv-hint{margin-top:.8rem; padding:.75rem .95rem; border-radius:3px;
  background:rgba(179,38,30,.08); border-left:3px solid #B3261E;
  font-size:.86rem; color:#8A1F19}

/* ---------- porządki ---------- */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading{margin:0 0 1.3rem;
  font-size:clamp(1.4rem,1.2rem + .8vw,1.9rem)}
.woocommerce-checkout .woocommerce-additional-fields:empty{display:none}

@media(max-width:480px){
  .alv-ci{grid-template-columns:44px 1fr; gap:.7rem}
  .alv-ci__thumb{width:44px; height:44px}
  .woocommerce-checkout input,
  .woocommerce-checkout select{font-size:16px} /* iOS nie przybliża przy 16px */
}


/* ---------- kupon w podsumowaniu ---------- */
.alv-coupon{margin:0 0 1.4rem; padding:1.1rem 1.2rem;
  background:#fff; border:1px dashed var(--alv-c-line); border-radius:4px}
.alv-coupon__label{display:block; margin-bottom:.6rem; font-size:.85rem;
  font-weight:500; color:var(--alv-c-ink)}
.alv-coupon__row{display:flex; gap:.5rem; align-items:stretch}
/* pole musi się pokazać niezależnie od motywu — stąd jawne wartości */
.alv-coupon__row input,
.alv-coupon input[type="text"]{
  display:block !important; visibility:visible !important; opacity:1 !important;
  flex:1 1 auto; width:100%; min-width:0; height:auto;
  padding:.85rem .9rem !important; margin:0 !important;
  font-size:16px !important;            /* iOS nie przybliża przy 16px */
  line-height:1.3 !important;
  background:#fff !important; color:var(--alv-c-ink) !important;
  border:1px solid var(--alv-c-line) !important; border-radius:3px !important;
  text-transform:uppercase; letter-spacing:.05em;
}
.alv-coupon__row input:focus{
  border-color:var(--alv-c-gold) !important;
  box-shadow:0 0 0 3px rgba(184,135,63,.18) !important; outline:none;
}
.alv-coupon__row input::placeholder{color:#A99A8E !important; text-transform:none; letter-spacing:0}
@media(max-width:420px){
  .alv-coupon__row{flex-wrap:wrap}
  .alv-coupon__row input{flex:1 0 100%}
  .alv-coupon__apply{width:100%}
}
.alv-coupon__apply{flex:0 0 auto; padding:.8rem 1.2rem; border:0; border-radius:3px;
  background:var(--alv-c-ink); color:#fff; font-size:.85rem; font-weight:500;
  cursor:pointer; transition:filter .2s}
.alv-coupon__apply:hover:not(:disabled){filter:brightness(1.25)}
.alv-coupon__apply:disabled{opacity:.6; cursor:wait}
.alv-coupon__msg{margin:.7rem 0 0; font-size:.84rem; color:#B3261E}
.alv-coupon__msg.is-ok{color:var(--alv-c-ok)}
.alv-coupon__ok{margin:0; font-size:.92rem; color:var(--alv-c-ok); font-weight:500;
  display:flex; align-items:center; gap:.6rem; flex-wrap:wrap}
.alv-coupon__ok b{letter-spacing:.08em}
.alv-coupon__remove{background:none; border:0; padding:0; cursor:pointer;
  font-size:.8rem; text-decoration:underline; text-underline-offset:3px;
  color:var(--alv-c-muted); font-weight:400}
.alv-coupon__remove:hover{color:#B3261E}

/* stary link „Masz kupon?" jest już niepotrzebny */
/* natywny kupon zastąpiony własnym polem w podsumowaniu */
.woocommerce-checkout .woocommerce-form-coupon-toggle{display:none}
/* awaryjnie: jeśli motyw mimo wszystko wyrenderuje natywny formularz, ma działać */
.woocommerce-checkout .woocommerce-form-coupon input[name="coupon_code"]{
  display:block !important; visibility:visible !important; opacity:1 !important;
  width:100% !important; padding:.85rem .9rem !important; font-size:16px !important;
  background:#fff !important; border:1px solid var(--alv-c-line) !important;
}
.woocommerce-checkout .woocommerce-form-coupon .form-row{width:100% !important;
  display:block !important; float:none !important; margin-bottom:.7rem}

/* koszyk: ukryty przycisk aktualizacji (ilość przelicza się sama) */
.woocommerce-cart [name="update_cart"]{display:none !important}


/* ---------- pasek aktywnego rabatu (kasa i koszyk) ---------- */
.alv-couponbar{
  background:#B8873F; color:#fff;
  font-size:.88rem; letter-spacing:.02em; text-align:center;
  padding:.75rem 1rem; position:relative; z-index:60;
}
.alv-couponbar b{font-weight:600; letter-spacing:.08em}
