/* ==========================================================
   WooCommerce checkout, "Minha conta" and the order recap, in the cart's
   design language (tokens and form controls come from carrinho.css /
   obrigado.css, loaded first).
   ========================================================== */

/* ---------- notices ---------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-error,.woocommerce-info,.woocommerce-message{
  list-style:none;margin:0 0 1.5rem;padding:1rem 1.25rem;border-radius:var(--r-plaque);
  background:var(--band);color:var(--blue);border:0;border-left:4px solid var(--yellow);font-size:.95rem
}
.woocommerce-error{border-left-color:#c0392b}
.woocommerce-error li+li{margin-top:.35rem}
.woocommerce-error::before,.woocommerce-info::before,.woocommerce-message::before{display:none}
.woocommerce-info a,.woocommerce-message a,.woocommerce-error a{color:var(--blue);font-weight:500}

/* ---------- form fields ---------- */
.woocommerce form .form-row{margin:0 0 1rem;padding:0}
.woocommerce form .form-row label{display:block;margin-bottom:.4rem;font-weight:500;color:var(--blue);line-height:1.3}
.woocommerce form .form-row .required{color:var(--ink-soft);text-decoration:none;border:0}
.woocommerce form .form-row .optional{color:var(--ink-soft);font-weight:400}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row select{
  width:100%;font:400 1rem/1.3 var(--f-body);color:var(--ink);
  padding:.8rem 1rem;border:1.5px solid var(--line);border-radius:var(--r-plaque);background-color:var(--paper);box-shadow:none
}
.woocommerce form .form-row select{
  appearance:none;padding-right:2.6rem;cursor:pointer;
  background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23020959' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6 -6'/%3E%3C/svg%3E") right .9rem center/18px no-repeat
}
.woocommerce form .form-row textarea{min-height:6rem;resize:vertical}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{outline:3px solid var(--blue);outline-offset:2px}
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select{border-color:#c0392b}
.woocommerce form .form-row.woocommerce-validated input.input-text{border-color:var(--line)}
.select2-container--default .select2-selection--single{height:auto;padding:.55rem .6rem;border:1.5px solid var(--line);border-radius:var(--r-plaque);background:var(--paper)}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:50%;transform:translateY(-50%)}

/* delivery day as pill choices (same look as the cart) */
.woocommerce form .beco-dia .woocommerce-input-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.woocommerce form .beco-dia input.input-radio{position:absolute;opacity:0;pointer-events:none}
.woocommerce form .beco-dia label.radio{
  display:flex;align-items:center;justify-content:center;min-height:3.25rem;margin:0;padding:.65rem .75rem;
  border:1.5px solid var(--line);border-radius:999px;background:var(--paper);font-weight:500;color:var(--blue);cursor:pointer;
  transition:background-color .2s,border-color .2s,color .2s
}
.woocommerce form .beco-dia input.input-radio:checked+label.radio{background:var(--blue);border-color:var(--blue);color:var(--paper)}
.woocommerce form .beco-dia input.input-radio:focus-visible+label.radio{outline:3px solid var(--blue);outline-offset:2px}

/* ---------- checkout layout: details left, summary right ---------- */
.page--checkout .page-content{margin-top:clamp(1.75rem,3.5vw,2.5rem)}
.page--checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:clamp(1.75rem,4vw,3.5rem);align-items:start}
.page--checkout form.checkout>*{grid-column:1/-1}
.page--checkout #customer_details{grid-column:1;grid-row:2 / span 2}
.page--checkout #order_review_heading{grid-column:2;grid-row:2}
.page--checkout #order_review{grid-column:2;grid-row:3;align-self:start}
#billing_country_field{display:none!important}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-1,.woocommerce-page .col2-set .col-2{float:none;width:auto;max-width:none}
.woocommerce .col2-set::before,.woocommerce .col2-set::after{display:none}
#customer_details h3,.woocommerce-additional-fields h3{font-family:var(--f-display);font-weight:700;font-size:1.5rem;line-height:1.2;color:var(--blue);margin:0 0 1.25rem}
.woocommerce-additional-fields{margin-top:1.5rem}

#order_review_heading{
  margin:0;background:var(--band);border-radius:var(--r-plaque) var(--r-plaque) 0 0;padding:clamp(1.5rem,3vw,2rem) clamp(1.5rem,3vw,2rem) .5rem;
  font-family:var(--f-display);font-weight:700;font-size:1.5rem;line-height:1.2;color:var(--blue)
}
#order_review{background:var(--band);border-radius:0 0 var(--r-plaque) var(--r-plaque);padding:.5rem clamp(1.5rem,3vw,2rem) clamp(1.5rem,3vw,2rem)}
.woocommerce table.shop_table{width:100%;border:0;border-collapse:collapse;margin:0;border-radius:0;font-variant-numeric:tabular-nums}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border:0;padding:.45rem 0;background:none;vertical-align:baseline}
.woocommerce table.shop_table thead{display:none}
.woocommerce table.shop_table tbody td{border-bottom:1px solid var(--line);padding-block:.7rem}
.woocommerce table.shop_table td.product-total,.woocommerce table.shop_table tfoot td{text-align:right;font-weight:500}
.woocommerce table.shop_table tfoot th{font-weight:400;color:var(--ink-soft);text-align:left}
.woocommerce table.shop_table tfoot tr:first-child th,.woocommerce table.shop_table tfoot tr:first-child td{padding-top:1rem}
.woocommerce table.shop_table .beco-delivery td{color:var(--blue)}
.woocommerce table.shop_table tr.order-total th{color:var(--blue);font-weight:500;font-size:1.125rem;border-top:1px solid var(--line);padding-top:.8rem}
.woocommerce table.shop_table tr.order-total td{font-family:var(--f-display);font-weight:700;font-size:1.6rem;color:var(--blue);border-top:1px solid var(--line);padding-top:.8rem}
.woocommerce table.shop_table .product-quantity{font-weight:400;color:var(--ink-soft)}

/* payment methods */
.woocommerce-checkout #payment,.woocommerce #payment{background:none;border-radius:0;margin-top:1.25rem}
.woocommerce #payment ul.payment_methods{padding:0;border:0;display:grid;gap:.6rem}
.woocommerce #payment ul.payment_methods li{position:relative;line-height:1.4}
.woocommerce #payment ul.payment_methods li input.input-radio{position:absolute;opacity:0;inset:0;width:100%;height:3.5rem;margin:0;cursor:pointer;z-index:1}
.woocommerce #payment ul.payment_methods li>label{
  display:flex;align-items:center;gap:.5rem;min-height:3.5rem;margin:0;padding:.65rem 1rem;
  border:1.5px solid var(--line);border-radius:var(--r-plaque);background:var(--paper);font-weight:500;color:var(--blue);
  transition:background-color .2s,border-color .2s,color .2s
}
.woocommerce #payment ul.payment_methods li input.input-radio:checked+label{background:var(--blue);border-color:var(--blue);color:var(--paper)}
.woocommerce #payment ul.payment_methods li input.input-radio:focus-visible+label{outline:3px solid var(--blue);outline-offset:2px}
.woocommerce #payment ul.payment_methods li img{display:none}
.woocommerce #payment div.payment_box{margin:.5rem 0 0;padding:.75rem 1rem;border-radius:var(--r-plaque);background:var(--paper);color:var(--ink-soft);font-size:.875rem}
.woocommerce #payment div.payment_box::before{display:none}
.woocommerce #payment div.form-row{padding:0;margin-top:1.25rem}
.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper{font-size:.8rem;color:var(--ink-soft)}
.woocommerce #payment #place_order,.woocommerce button.button.alt,.woocommerce a.button.alt,
.woocommerce button.button,.woocommerce a.button,.woocommerce input.button{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;float:none;
  font:500 1.0625rem/1 var(--f-body);padding:1.05rem 2rem;border-radius:999px;border:1.5px solid transparent;
  background:var(--yellow);color:var(--blue);text-decoration:none;cursor:pointer;
  transition:transform .35s var(--ease),background-color .35s var(--ease)
}
.woocommerce #payment #place_order{width:100%}
.woocommerce #payment #place_order:hover,.woocommerce button.button:hover,.woocommerce a.button:hover{background:var(--yellow-hover);color:var(--blue);transform:translateY(-2px)}
.woocommerce .blockUI.blockOverlay{background:var(--band)!important;opacity:.5!important}

@media (max-width:900px){
  .page--checkout form.checkout{grid-template-columns:minmax(0,1fr)}
  .page--checkout #customer_details,.page--checkout #order_review_heading,.page--checkout #order_review{grid-column:1;grid-row:auto}
  .page--checkout #order_review_heading{margin-top:1.5rem}
}

/* ---------- order recap (thank-you page) ---------- */
.order-recap{padding-block:clamp(2.5rem,5vw,4rem) clamp(3rem,6vw,5rem)}
.recap-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(1.75rem,4vw,3.5rem);align-items:start}
.order-recap h2{font-family:var(--f-display);font-weight:700;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;color:var(--blue)}
.recap-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:1.5rem 0}
.recap-meta dt{font-size:.875rem;color:var(--ink-soft)}
.recap-meta dd{margin:0;font-weight:500;color:var(--blue)}
.recap-note{color:var(--ink-soft)}
.recap-note a{color:var(--blue);font-weight:500}
.recap-box{background:var(--band);border-radius:var(--r-plaque);padding:clamp(1.5rem,3vw,2rem);display:grid;gap:1.25rem}
.recap-items li{display:flex;justify-content:space-between;gap:1rem;padding-block:.6rem;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.recap-items b{font-weight:500;white-space:nowrap}
.recap-box .lines{display:grid;gap:.55rem;margin:0}
.recap-box .lines div{display:flex;justify-content:space-between;gap:1rem;font-variant-numeric:tabular-nums}
.recap-box .lines dt{color:var(--ink-soft)}
.recap-box .lines dd{margin:0;font-weight:500}
.recap-box .lines .free dd{color:var(--blue)}
.recap-box .lines .total{padding-top:.8rem;border-top:1px solid var(--line);align-items:baseline}
.recap-box .lines .total dt{color:var(--blue);font-weight:500;font-size:1.125rem}
.recap-box .lines .total dd{font-family:var(--f-display);font-weight:700;font-size:1.6rem;color:var(--blue)}
.recap-actions{margin-top:1.5rem}
.order-recap .cart-title{font-family:var(--f-display);font-weight:700;color:var(--blue);font-size:clamp(2rem,4vw,3rem);line-height:1.1}
@media (max-width:820px){.recap-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Minha conta ---------- */
.woocommerce-account.logged-in .woocommerce{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem)}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}
.woocommerce-MyAccount-navigation ul{display:grid;gap:.25rem}
.woocommerce-MyAccount-navigation a{display:block;padding:.6rem .9rem;border-radius:999px;color:var(--blue);text-decoration:none}
.woocommerce-MyAccount-navigation .is-active a,.woocommerce-MyAccount-navigation a:hover{background:var(--band)}
@media (max-width:820px){.woocommerce-account.logged-in .woocommerce{grid-template-columns:minmax(0,1fr)}}
