/* ============================================================
   CHECKOUT - duas colunas no modelo do AstroJerseys
   Esquerda: entrega, contacto, morada, pagamento
   Direita:  saco fixo ao scroll
   ============================================================ */

body.woocommerce-checkout .site-page{max-width:1240px;padding-top:112px;padding-bottom:72px}
body.woocommerce-cart .site-page{max-width:980px;padding-top:112px}

/* ---------- cabecalho limpo ---------- */
body.woocommerce-checkout .site-nav,
body.woocommerce-checkout .site-header__icons .js-search-toggle,
body.woocommerce-checkout .site-header__icons .icon-btn--wishlist,
body.woocommerce-checkout .site-header__icons .icon-btn--cart,
body.woocommerce-checkout .site-header__icons .icon-btn--burger,
body.woocommerce-checkout .site-header__icons .trp-language-switcher,
body.woocommerce-checkout .site-header__icons .trp-floating-ls-shortcode-language,
body.woocommerce-checkout .site-header__icons > div:first-child{display:none !important}
body.woocommerce-checkout .site-header__inner{justify-content:space-between !important}
body.woocommerce-checkout .site-logo{
  font-family:var(--font-display) !important;font-weight:700 !important;
  text-transform:uppercase !important;letter-spacing:.14em !important;
  font-size:22px !important;color:var(--ink) !important;text-decoration:none !important;
}
body.woocommerce-checkout .lv-seguro{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-body);font-size:12px;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink);opacity:.7;
}
body.woocommerce-checkout .lv-seguro svg{width:14px;height:14px;flex:0 0 auto}

/* ---------- titulo da pagina ---------- */
.lv-co-head{text-align:center;margin:0 0 44px}
.lv-co-head h1{
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  font-size:clamp(30px,4.4vw,44px);line-height:1;letter-spacing:.02em;margin:0;color:var(--ink);
}
.lv-co-head__resumo{font-family:var(--font-body);font-size:14px;color:#6b6a61;margin:12px 0 0;letter-spacing:.01em}
.lv-co-head__resumo b{color:var(--ink);font-weight:700}

/* ---------- grelha de duas colunas ---------- */
@media (min-width:992px){
  .woocommerce-checkout form.checkout.woocommerce-checkout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 384px;
    gap:64px;
    align-items:start;
  }
  /* tudo o que esta no formulario cai na coluna da esquerda, pela ordem do
     documento; so o saco e colocado a direita, a ocupar todas as linhas */
  .woocommerce-checkout form.checkout.woocommerce-checkout > *{grid-column:1}
  /* especificidade acima da regra dos filhos (0,3,1), senao o saco caia na esquerda */
  .woocommerce-checkout form.checkout.woocommerce-checkout > .lv-co-aside{
    grid-column:2;grid-row:1 / span 99;
    position:sticky;top:104px;
  }
}
.woocommerce-checkout .col2-set,
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{width:100% !important;float:none !important;margin:0 !important}

/* ---------- titulos das seccoes ---------- */
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading{
  font-family:var(--font-display) !important;font-weight:700 !important;
  text-transform:uppercase !important;letter-spacing:.06em !important;
  font-size:15px !important;line-height:1.2 !important;
  margin:0 0 20px !important;padding:0 0 14px !important;
  border-bottom:1px solid rgba(17,17,16,.14) !important;color:var(--ink) !important;
}
.woocommerce-checkout #customer_details .col-2 h3{margin-top:40px !important}
.woocommerce-checkout #payment{margin-top:40px !important}

/* ---------- campos ---------- */
.woocommerce-checkout .form-row{position:relative;padding:0;margin:0 0 16px;display:block}
.woocommerce-checkout .form-row:has(input.input-text) label:not(.checkbox):not(.lv-co-idade){
  position:absolute;left:18px;top:20px;z-index:2;pointer-events:none;
  font-family:var(--font-body);font-size:16px;font-weight:400;color:#8e8d84;
  transition:transform .16s ease,color .16s ease;transform-origin:left top;
  background:transparent;margin:0;padding:0;
}
.woocommerce-checkout .form-row:has(input.input-text:not(:placeholder-shown)) label:not(.checkbox),
.woocommerce-checkout .form-row:has(input.input-text:focus) label:not(.checkbox){
  transform:translateY(-12px) scale(.72);color:#6b6a61;
}
.woocommerce-checkout .form-row:has(select) label:not(.checkbox):not(.lv-co-idade){
  position:absolute;left:18px;top:11px;z-index:2;pointer-events:none;
  font-family:var(--font-body);font-size:11.5px;color:#6b6a61;margin:0;padding:0;letter-spacing:.02em;
}
.woocommerce-checkout .form-row abbr.required{border:0;text-decoration:none;color:inherit}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row .select2-container .select2-selection--single{
  width:100% !important;box-sizing:border-box !important;
  min-height:62px !important;height:62px !important;
  padding:24px 18px 8px !important;
  border:1px solid #d7d5cd !important;border-radius:8px !important;
  background:#fff !important;color:var(--ink) !important;
  font-family:var(--font-body) !important;font-size:16px !important;line-height:1.2 !important;
  box-shadow:none !important;outline:none !important;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.woocommerce-checkout .form-row textarea{height:auto !important;min-height:120px !important;padding-top:28px !important}
.woocommerce-checkout .form-row input.input-text:hover,
.woocommerce-checkout .form-row select:hover{border-color:#b4b2a9 !important}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus{border-color:var(--ink) !important;box-shadow:0 0 0 1px var(--ink) !important}
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text{border-color:var(--accent,#D91C1C) !important}
.woocommerce-checkout .form-row ::placeholder{color:transparent}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:1.2 !important;padding:0 !important;color:var(--ink) !important;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{top:50% !important;transform:translateY(-50%);right:12px}
.woocommerce-checkout .woocommerce-input-wrapper{display:block;width:100%}

@media (min-width:600px){
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last{width:calc(50% - 8px) !important;display:inline-block !important;vertical-align:top}
  .woocommerce-checkout .form-row-first{margin-right:16px !important}
}

/* ---------- pagamento ---------- */
.woocommerce-checkout #payment{background:transparent !important;border-radius:0 !important}
.woocommerce-checkout #payment ul.payment_methods{
  padding:0 !important;margin:0 0 20px !important;border:0 !important;list-style:none !important;
  display:grid;gap:10px;
}
.woocommerce-checkout #payment ul.payment_methods li{
  border:1px solid #d7d5cd;border-radius:8px;padding:18px;margin:0;background:#fff;
  transition:border-color .16s ease;
}
.woocommerce-checkout #payment ul.payment_methods li:hover{border-color:#b4b2a9}
.woocommerce-checkout #payment ul.payment_methods li label{
  font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--ink);
  display:inline-flex;align-items:center;gap:10px;cursor:pointer;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]{accent-color:var(--ink);width:18px;height:18px;margin-right:4px}
.woocommerce-checkout #payment ul.payment_methods li img{max-height:22px;width:auto;display:inline-block}
.woocommerce-checkout #payment div.payment_box{
  background:#f3f1ec !important;border-radius:8px !important;
  font-family:var(--font-body);font-size:14px;line-height:1.6;color:#55544e;margin:14px 0 0 !important;
}
.woocommerce-checkout #payment div.payment_box::before{display:none !important}

/* ---------- saco (coluna da direita) ---------- */
.lv-co-aside{display:block}
.lv-co-aside #order_review_heading{
  margin:0 0 0 !important;padding:22px 24px 16px !important;
  border:1px solid #e2e0d8 !important;border-bottom:0 !important;
  border-radius:10px 10px 0 0 !important;background:#fff !important;
}
.woocommerce-checkout #order_review{
  background:#fff;border:1px solid #e2e0d8;border-top:0;border-radius:0 0 10px 10px;
  padding:4px 24px 24px;
}
.woocommerce-checkout #order_review table.shop_table{
  border:0 !important;border-collapse:collapse !important;width:100% !important;
  margin:0 !important;border-radius:0 !important;font-family:var(--font-body) !important;
}
.woocommerce-checkout #order_review table.shop_table thead{display:none}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{
  border:0 !important;padding:16px 0 !important;background:transparent !important;
  font-size:14px !important;vertical-align:top;
}
.woocommerce-checkout #order_review table.shop_table tbody tr{border-bottom:1px solid rgba(17,17,16,.1)}
.woocommerce-checkout #order_review td.product-name{overflow:hidden;padding-right:12px !important}
.lv-bag__thumb{float:left;width:72px;height:72px;object-fit:cover;border-radius:6px;margin:0 14px 6px 0;background:#efeee9}
.lv-bag__nome{display:block;font-weight:700;font-size:14px;line-height:1.4;color:var(--ink)}
.woocommerce-checkout #order_review td.product-name .product-quantity{
  display:block;font-weight:400;color:#6b6a61;font-size:13px;margin-top:2px;
}
.woocommerce-checkout #order_review td.product-name dl.variation{margin:2px 0 0;font-size:13px;color:#6b6a61}
.woocommerce-checkout #order_review td.product-name dl.variation dt,
.woocommerce-checkout #order_review td.product-name dl.variation dd{
  display:inline;margin:0;font-weight:400;
}
.woocommerce-checkout #order_review td.product-name dl.variation dd p{display:inline;margin:0}
.woocommerce-checkout #order_review td.product-total{
  text-align:right;font-weight:700;font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums;
}
.woocommerce-checkout #order_review tfoot th{
  font-family:var(--font-body) !important;font-weight:400 !important;color:#6b6a61 !important;
  text-align:left;padding:10px 0 !important;font-size:14px !important;
}
.woocommerce-checkout #order_review tfoot td{
  text-align:right !important;font-weight:600 !important;padding:10px 0 !important;
  font-size:14px !important;font-variant-numeric:tabular-nums;
}
.woocommerce-checkout #order_review tfoot tr:first-child th,
.woocommerce-checkout #order_review tfoot tr:first-child td{padding-top:18px !important}
.woocommerce-checkout #order_review tfoot .order-total th,
.woocommerce-checkout #order_review tfoot .order-total td{
  font-family:var(--font-display) !important;text-transform:uppercase !important;
  letter-spacing:.04em !important;font-size:17px !important;font-weight:700 !important;
  color:var(--ink) !important;border-top:1px solid rgba(17,17,16,.14) !important;padding-top:16px !important;
}
.woocommerce-checkout #order_review .includes_tax,
.woocommerce-checkout #order_review small{font-size:11.5px;color:#8e8d84;font-weight:400}
.woocommerce-checkout #order_review ul#shipping_method{margin:0;padding:0;list-style:none;text-align:right}
.woocommerce-checkout #order_review ul#shipping_method li{margin:0 0 4px}
.woocommerce-checkout #order_review ul#shipping_method label{font-size:14px;color:var(--ink)}

/* cupao */
.woocommerce-checkout .woocommerce-form-coupon-toggle{margin:0 0 24px}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  background:transparent !important;border:0 !important;border-top:1px solid rgba(17,17,16,.14) !important;
  padding:16px 0 0 !important;color:#6b6a61 !important;font-family:var(--font-body);font-size:14px;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before{display:none !important}
.woocommerce-checkout form.checkout_coupon{
  border:1px solid #d7d5cd !important;border-radius:10px !important;padding:20px !important;margin:0 0 24px !important;
}

/* ---------- 18+ e confianca ---------- */
.woocommerce-checkout .form-row label.lv-co-idade{
  position:static !important;transform:none !important;pointer-events:auto !important;
  left:auto !important;top:auto !important;background:none !important;
  display:flex;gap:12px;align-items:flex-start;margin:20px 0 6px;
  font-family:var(--font-body) !important;font-size:14px !important;line-height:1.5;color:var(--ink) !important;
}
.lv-co-idade input{width:20px;height:20px;flex:0 0 auto;margin:1px 0 0;accent-color:var(--ink)}
.lv-co-confianca{
  display:flex;flex-wrap:wrap;gap:8px 22px;margin:20px 0 0;padding:18px 0 0;
  border-top:1px solid rgba(17,17,16,.12);
  font-family:var(--font-body);font-size:12.5px;color:#5a5952;
}
.lv-co-confianca span{display:inline-flex;align-items:center;gap:7px}
.lv-co-confianca svg{width:15px;height:15px;flex:0 0 auto}
.woocommerce-checkout .woocommerce-privacy-policy-text{margin:18px 0 0;font-family:var(--font-body);font-size:12.5px;line-height:1.6;color:#6b6a61}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin:10px 0 0}
.woocommerce-checkout .form-row.place-order .woocommerce-form__label-for-checkbox{
  display:flex;gap:12px;align-items:flex-start;
  font-family:var(--font-body);font-size:14px;line-height:1.5;
}
.woocommerce-checkout .form-row.place-order .woocommerce-form__label-for-checkbox input{width:20px;height:20px;flex:0 0 auto;margin:1px 0 0;accent-color:var(--ink)}

/* ---------- botao final ---------- */
.woocommerce-checkout #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  width:100% !important;min-height:60px !important;margin-top:22px !important;
  background:var(--ink) !important;color:#fff !important;border:0 !important;border-radius:999px !important;
  font-family:var(--font-display) !important;font-weight:700 !important;
  text-transform:uppercase !important;letter-spacing:.08em !important;font-size:16px !important;
  cursor:pointer;transition:background .2s ease;
}
.woocommerce-checkout #place_order:hover{background:var(--accent,#D91C1C) !important}

/* ---------- telemovel ---------- */
@media (max-width:991px){
  body.woocommerce-checkout .site-page{padding-top:88px;padding-bottom:24px}
  .lv-co-head{margin-bottom:28px}
  .woocommerce-checkout form.checkout.woocommerce-checkout{display:flex;flex-direction:column}
  .woocommerce-checkout .lv-co-aside{order:-1;margin:0 0 32px}
  .woocommerce-checkout #customer_details{order:1}
  .woocommerce-checkout #payment{order:2}
  .woocommerce-checkout .form-row.place-order{
    position:sticky;bottom:0;z-index:20;background:var(--bg,#F2F1EC);
    margin-left:-16px;margin-right:-16px;
    padding:12px 16px calc(14px + env(safe-area-inset-bottom));
    box-shadow:0 -10px 26px rgba(17,17,16,.14);
  }
  .woocommerce-checkout #place_order{margin-top:0 !important}
}

/* ============================================================
   Pagina do carrinho, na mesma linguagem
   ============================================================ */
.woocommerce-cart table.shop_table{border:0 !important;border-collapse:collapse !important;width:100% !important;font-family:var(--font-body) !important;border-radius:0 !important;margin:0 0 24px !important}
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td{border:0 !important;border-bottom:1px solid rgba(17,17,16,.12) !important;padding:16px 0 !important;font-size:15px !important;background:transparent !important}
.woocommerce-cart table.shop_table thead th{font-family:var(--font-display) !important;text-transform:uppercase !important;letter-spacing:.06em !important;font-size:12px !important;color:#6b6a61 !important}
.woocommerce-cart .cart_item .product-thumbnail img{width:88px;height:88px;object-fit:cover;border-radius:6px}
.woocommerce-cart .cart_totals > h2,
.woocommerce-cart .cross-sells > h2{font-family:var(--font-display) !important;font-weight:700 !important;text-transform:uppercase !important;letter-spacing:.06em !important;font-size:18px !important;margin:0 0 16px !important}
.woocommerce-cart .coupon input#coupon_code{min-height:56px !important;padding:0 16px !important;border:1px solid #d7d5cd !important;border-radius:8px !important;font-family:var(--font-body) !important;font-size:15px !important;background:#fff !important}
.woocommerce-cart .coupon button,
.woocommerce-cart button[name="update_cart"]{min-height:56px !important;padding:0 24px !important;border-radius:999px !important;border:1px solid #d7d5cd !important;background:transparent !important;color:var(--ink) !important;font-family:var(--font-display) !important;font-weight:700 !important;text-transform:uppercase !important;letter-spacing:.06em !important;font-size:13px !important;cursor:pointer}
.woocommerce-cart button[name="update_cart"]:disabled{opacity:.4}
.woocommerce-cart .wc-proceed-to-checkout{padding:0 !important}

/* o tema limita os artigos a 820px para leitura; no checkout e no carrinho
   a pagina precisa da largura toda para as duas colunas */
body.woocommerce-checkout .site-page > article,
body.woocommerce-cart .site-page > article,
body.woocommerce-checkout .site-page .woocommerce,
body.woocommerce-cart .site-page .woocommerce{max-width:none !important;width:100% !important}

/* o 'inclui IVA' nao deve herdar as maiusculas do total */
.woocommerce-checkout #order_review tfoot .order-total .includes_tax,
.woocommerce-checkout #order_review tfoot .order-total small{text-transform:none !important;letter-spacing:0 !important;display:block;margin-top:4px}

/* ============================================================
   AFINACOES FINAIS
   ============================================================ */

/* 1. fundo branco em toda a pagina de checkout */
body.woocommerce-checkout,
body.woocommerce-checkout .site-page,
body.woocommerce-checkout #page,
body.woocommerce-checkout .site-content{background:#ffffff !important}
body.woocommerce-checkout .site-header,
body.woocommerce-checkout .site-header--solid{background:#ffffff !important;border-bottom:1px solid #ededea !important}
body.woocommerce-checkout .site-footer{background:#ffffff !important;border-top:1px solid #ededea !important}
@media (max-width:991px){
  .woocommerce-checkout .form-row.place-order{background:#ffffff !important;box-shadow:0 -10px 26px rgba(17,17,16,.10) !important}
}

/* 2. titulo alinhado a esquerda, na mesma margem da coluna do formulario */
.lv-co-head{text-align:left !important;margin:0 0 40px !important;padding:0 0 24px !important;border-bottom:1px solid #ededea}
.lv-co-head h1{font-size:clamp(28px,3.6vw,40px) !important}
.lv-co-head__resumo{margin-top:10px !important;font-size:13.5px !important}

/* 3. opcoes de entrega no topo da coluna da esquerda */
.lv-co-entrega{margin:0 0 40px}
.lv-co-entrega[hidden]{display:none}
.lv-co-entrega h3{
  font-family:var(--font-display) !important;font-weight:700 !important;
  text-transform:uppercase !important;letter-spacing:.06em !important;
  font-size:15px !important;margin:0 0 20px !important;padding:0 0 14px !important;
  border-bottom:1px solid #ededea !important;color:var(--ink) !important;
}
.lv-co-entrega ul#shipping_method,
.lv-co-entrega ul.woocommerce-shipping-methods{
  list-style:none !important;margin:0 !important;padding:0 !important;display:grid;gap:10px;text-align:left !important;
}
.lv-co-entrega ul#shipping_method li{
  margin:0 !important;padding:18px !important;
  border:1px solid #e2e0d8;border-radius:8px;background:#fff;
  display:flex;align-items:center;gap:12px;
  transition:border-color .16s ease;
}
.lv-co-entrega ul#shipping_method li:hover{border-color:#b4b2a9}
.lv-co-entrega ul#shipping_method li:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.lv-co-entrega ul#shipping_method li input[type="radio"]{width:18px;height:18px;margin:0;accent-color:var(--ink);flex:0 0 auto}
.lv-co-entrega ul#shipping_method li label{
  margin:0 !important;font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--ink);
  display:flex;justify-content:space-between;gap:16px;width:100%;cursor:pointer;
}
.lv-co-entrega .woocommerce-shipping-destination{
  margin:12px 0 0;font-family:var(--font-body);font-size:12.5px;color:#8e8d84;
}
.lv-co-entrega__aviso{font-family:var(--font-body);font-size:14px;color:#6b6a61}
.woocommerce-checkout #order_review .woocommerce-shipping-totals[hidden]{display:none !important}

/* 4. espacos uniformes na coluna da esquerda */
.woocommerce-checkout #customer_details .col-1 > h3:first-child{margin-top:0 !important}
.woocommerce-checkout #customer_details .col-2 h3{margin-top:44px !important}
.woocommerce-checkout #payment{margin-top:44px !important}
.woocommerce-checkout .form-row{margin:0 0 14px !important}
.woocommerce-checkout .woocommerce-account-fields,
.woocommerce-checkout .woocommerce-additional-fields{margin-top:8px}
.woocommerce-checkout .woocommerce-form-coupon-toggle{margin:0 0 32px !important}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{border-top:0 !important;padding:0 !important}

/* 5. coluna da direita com mais ar */
.lv-co-aside #order_review_heading{
  padding:28px 28px 18px !important;border-color:#e6e4dc !important;
  border-radius:12px 12px 0 0 !important;font-size:14px !important;letter-spacing:.1em !important;
  border-bottom:1px solid #f0efe9 !important;
}
.woocommerce-checkout #order_review{
  border-color:#e6e4dc;border-radius:0 0 12px 12px;padding:8px 28px 28px;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{padding:20px 0 !important}
.woocommerce-checkout #order_review table.shop_table tbody tr{border-bottom:1px solid #f0efe9}
.woocommerce-checkout #order_review tfoot th,
.woocommerce-checkout #order_review tfoot td{padding:12px 0 !important}
.lv-bag__thumb{width:76px;height:76px;margin:0 16px 8px 0;border-radius:8px}
.lv-bag__nome{font-size:14.5px;line-height:1.45}
.woocommerce-checkout #order_review td.product-name .product-quantity{margin-top:6px}
.woocommerce-checkout #order_review td.product-name dl.variation{margin-top:6px}
/* ============================================================
   SACO SEM MOLDURA, NA ORDEM DO ASTROJERSEYS
   titulo + editar -> subtotal -> envio -> TOTAL EUR
   -> data de entrega -> produto
   ============================================================ */

/* 1. fora a caixa */
.lv-co-aside #order_review_heading{
  background:transparent !important;border:0 !important;border-radius:0 !important;
  border-bottom:1px solid #ededea !important;
  padding:0 0 16px !important;margin:0 0 4px !important;
  display:flex !important;align-items:baseline;justify-content:space-between;gap:16px;
  font-size:15px !important;letter-spacing:.08em !important;
}
.lv-bag__titulo{display:inline-block}
.lv-bag__edit{
  font-family:var(--font-body) !important;font-weight:500 !important;
  text-transform:none !important;letter-spacing:0 !important;font-size:14px !important;
  color:var(--ink) !important;text-decoration:none !important;
  border-bottom:1px solid currentColor;padding-bottom:1px;
}
.lv-bag__edit:hover{color:var(--accent,#D91C1C) !important}
.woocommerce-checkout #order_review{
  background:transparent !important;border:0 !important;border-radius:0 !important;padding:0 !important;
}

/* 2. ordem: totais primeiro, produto por baixo */
.woocommerce-checkout #order_review table.shop_table{display:flex;flex-direction:column}
.woocommerce-checkout #order_review table.shop_table thead{display:none}
.woocommerce-checkout #order_review table.shop_table tfoot{display:table;width:100%;order:1}
.woocommerce-checkout #order_review table.shop_table tbody{display:table;width:100%;order:2}
.woocommerce-checkout #order_review table.shop_table tbody tr{border-bottom:0 !important}

/* 3. linhas de totais */
.woocommerce-checkout #order_review tfoot tr{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.woocommerce-checkout #order_review tfoot th,
.woocommerce-checkout #order_review tfoot td{display:block;padding:9px 0 !important;border:0 !important}
.woocommerce-checkout #order_review tfoot .order-total{
  border-top:1px solid #ededea;margin-top:8px;padding-top:6px;align-items:flex-start;
}
.woocommerce-checkout #order_review tfoot .order-total th,
.woocommerce-checkout #order_review tfoot .order-total td{border-top:0 !important;padding-top:14px !important}
.woocommerce-checkout #order_review tfoot .order-total td{text-align:right}
.lv-bag__moeda{
  font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:.04em;
  color:var(--ink);margin-left:8px;
}

/* 4. data de entrega, entre o total e o produto */
.woocommerce-checkout #order_review tfoot tr.lv-bag__entrega{
  display:block;border-top:1px solid #ededea;margin-top:14px;padding-top:18px;
}
.woocommerce-checkout #order_review tfoot tr.lv-bag__entrega td{
  padding:0 !important;text-align:left !important;
  font-family:var(--font-body) !important;font-size:13.5px !important;font-weight:400 !important;
  color:#6b6a61 !important;letter-spacing:.01em;
}

/* 5. cartao do produto */
.woocommerce-checkout #order_review td.product-name{padding:18px 0 0 !important;overflow:visible}
.woocommerce-checkout #order_review td.product-total,
.woocommerce-checkout #order_review td.product-name .product-quantity,
.woocommerce-checkout #order_review td.product-name dl.variation{display:none !important}
.lv-item{display:flex;gap:16px;align-items:flex-start}
.lv-item__img{
  width:88px;height:88px;flex:0 0 88px;object-fit:cover;border-radius:8px;background:#f4f3ef;
}
.lv-item__col{flex:1 1 auto;min-width:0;display:block}
.lv-item__preco{
  font-family:var(--font-body);font-size:16px;font-weight:700;color:var(--ink);
  margin:0 0 6px;font-variant-numeric:tabular-nums;
}
.lv-item__nome{font-family:var(--font-body);font-size:14.5px;font-weight:600;line-height:1.4;color:var(--ink);margin:0}
.lv-item__meta{font-family:var(--font-body);font-size:13px;line-height:1.5;color:#6b6a61;margin:6px 0 0}
/* o total, a moeda e o aviso de IVA na mesma caixa: valor + EUR na
   primeira linha, '(inclui ... IVA)' por baixo */
.woocommerce-checkout #order_review tfoot .order-total td{
  display:flex !important;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:0 8px;
}
.woocommerce-checkout #order_review tfoot .order-total td .woocommerce-Price-amount,
.woocommerce-checkout #order_review tfoot .order-total td > strong{order:1}
.woocommerce-checkout #order_review tfoot .order-total td .lv-bag__moeda{order:2}
.woocommerce-checkout #order_review tfoot .order-total td .includes_tax,
.woocommerce-checkout #order_review tfoot .order-total td small{order:3;flex:0 0 100%;text-align:right;margin-top:6px}

/* Subtotal e Envio mais juntos: 9px de padding em cima e em baixo davam
   18px entre as duas linhas; passam a 3px (6px entre linhas) */
.woocommerce-checkout #order_review tfoot tr:not(.order-total):not(.lv-bag__entrega) th,
.woocommerce-checkout #order_review tfoot tr:not(.order-total):not(.lv-bag__entrega) td{padding:3px 0 !important}

/* ------------------------------------------------------------
   Saco: um unico filete, por baixo do total
   ------------------------------------------------------------ */
.lv-co-aside #order_review_heading{border-bottom:0 !important;padding-bottom:10px !important;font-size:18px !important;letter-spacing:.06em !important}
.lv-bag__edit{font-size:14px !important}
.woocommerce-checkout #order_review tfoot .order-total{border-top:0 !important;margin-top:0 !important;padding-top:0 !important}
.woocommerce-checkout #order_review tfoot .order-total th,
.woocommerce-checkout #order_review tfoot .order-total td{border-top:0 !important;padding-top:10px !important}
.woocommerce-checkout #order_review table.shop_table tbody tr,
.woocommerce-checkout #order_review table.shop_table tfoot tr{border:0 !important}
/* o unico filete que fica: transicao do total para o produto */
.woocommerce-checkout #order_review tfoot tr.lv-bag__entrega{border-top:1px solid #ededea !important;margin-top:18px;padding-top:18px}
.woocommerce-checkout #order_review td.product-name{border-top:0 !important}
.woocommerce-checkout #order_review .includes_tax{display:none !important}

/* topo: so o titulo, ao centro, sem subtitulo nem filete */
.lv-co-head{text-align:center !important;border-bottom:0 !important;padding:0 !important;margin:0 0 44px !important}
.lv-co-head__resumo{display:none !important}
@media (max-width:991px){.lv-co-head{margin-bottom:32px !important}}

/* a seccao de entrega na coluna esquerda deixou de existir; os metodos
   voltam a viver na linha 'Envio' do saco, em formato compacto */
.lv-co-entrega{display:none !important}
.woocommerce-checkout #order_review ul#shipping_method{
  list-style:none;margin:0;padding:0;display:grid;gap:6px;text-align:right;
}
.woocommerce-checkout #order_review ul#shipping_method li{margin:0;display:flex;justify-content:flex-end;align-items:center;gap:8px}
.woocommerce-checkout #order_review ul#shipping_method input[type="radio"]{width:16px;height:16px;margin:0;accent-color:var(--ink)}
.woocommerce-checkout #order_review ul#shipping_method label{margin:0;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}
.woocommerce-checkout #order_review .woocommerce-shipping-destination{font-size:12px;color:#8e8d84;margin:6px 0 0;text-align:right}

/* ============================================================
   COMPACTACAO + DOIS PASSOS
   ============================================================ */

/* campos mais baixos e mais juntos */
.woocommerce-checkout .form-row{margin:0 0 10px !important}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row .select2-container .select2-selection--single{
  min-height:54px !important;height:54px !important;padding:20px 16px 6px !important;font-size:15px !important;
}
.woocommerce-checkout .form-row:has(input.input-text) label:not(.checkbox):not(.lv-co-idade){
  left:16px;top:17px;font-size:15px;
}
.woocommerce-checkout .form-row:has(input.input-text:not(:placeholder-shown)) label:not(.checkbox),
.woocommerce-checkout .form-row:has(input.input-text:focus) label:not(.checkbox){transform:translateY(-10px) scale(.72)}
.woocommerce-checkout .form-row:has(select) label:not(.checkbox):not(.lv-co-idade){left:16px;top:9px;font-size:11px}
@media (min-width:600px){
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last{width:calc(50% - 5px) !important}
  .woocommerce-checkout .form-row-first{margin-right:10px !important}
}

/* titulos e blocos mais cerrados */
.lv-co-head{margin:0 0 26px !important}
.lv-co-head h1{font-size:clamp(26px,3vw,34px) !important}
.woocommerce-checkout h3{margin:0 0 14px !important;padding:0 0 10px !important}
.woocommerce-checkout #payment{margin-top:26px !important}
.woocommerce-checkout #customer_details .col-2 h3{margin-top:26px !important}
.woocommerce-checkout #customer_details .col-2:empty{display:none}
@media (min-width:992px){
  body.woocommerce-checkout .site-page{padding-top:96px;padding-bottom:48px}
  .woocommerce-checkout form.checkout.woocommerce-checkout{gap:56px}
}

/* passo 1 / passo 2 */
.lv-co-passo{margin:22px 0 0;display:flex;justify-content:flex-end}
.lv-co-continuar{
  min-width:240px;min-height:56px;padding:0 32px;border:0;border-radius:999px;cursor:pointer;
  background:var(--ink);color:#fff;
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:15px;
  transition:background .2s ease;
}
.lv-co-continuar:hover{background:var(--accent,#D91C1C)}
.woocommerce-checkout form.checkout.lv-passo-1 #payment{display:none !important}
.woocommerce-checkout form.checkout.lv-passo-2 .lv-co-passo{display:none !important}
@media (max-width:991px){
  .lv-co-passo{justify-content:stretch}
  .lv-co-continuar{width:100%;min-width:0}
}
/* ultimos milimetros para o botao caber no primeiro ecra */
.woocommerce-checkout .form-row{margin:0 0 8px !important}
.lv-co-passo{margin-top:18px}
@media (min-width:992px){body.woocommerce-checkout .site-page{padding-top:84px}}

/* folga extra para ecras de portatil (768-800px de altura) */
@media (min-width:992px){
  body.woocommerce-checkout .site-page{padding-top:76px}
  .lv-co-head{margin:0 0 20px !important}
  .woocommerce-checkout h3{margin:0 0 10px !important;padding:0 0 8px !important}
  .woocommerce-checkout .form-row{margin:0 0 7px !important}
  .lv-co-passo{margin-top:14px}
}

/* em telemovel o formulario e uma coluna flex: o botao tem de ficar
   entre os dados e o pagamento, e nao antes deles */
@media (max-width:991px){
  .woocommerce-checkout form.checkout .lv-co-passo{order:2}
  .woocommerce-checkout #payment{order:3}
}

/* ------------------------------------------------------------
   Contentor mais estreito e centrado no ecra
   ------------------------------------------------------------ */
body.woocommerce-checkout .site-page{
  max-width:1120px !important;margin-left:auto !important;margin-right:auto !important;
}
@media (min-width:992px){
  .woocommerce-checkout form.checkout.woocommerce-checkout{grid-template-columns:minmax(0,1fr) 360px;gap:56px}
}

/* ============================================================
   Janela de confirmacao da morada
   ============================================================ */
.lv-modal{
  position:fixed;inset:0;z-index:2147482000;display:none;
  align-items:center;justify-content:center;padding:24px;
  background:rgba(17,17,16,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
}
.lv-modal.is-open{display:flex}
.lv-modal[hidden]{display:none}
body.lv-modal-aberto{overflow:hidden}

.lv-modal__caixa{
  background:#fff;width:100%;max-width:460px;border-radius:16px;
  padding:28px 28px 26px;box-shadow:0 28px 70px rgba(17,17,16,.28);
}
.lv-modal__topo{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 22px}
.lv-modal__titulo{
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;font-size:22px;line-height:1.1;margin:0;color:var(--ink);
}
.lv-modal__fechar{
  flex:0 0 auto;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;
  background:none;border:0;border-radius:50%;cursor:pointer;color:var(--ink);
  transition:background .16s ease;
}
.lv-modal__fechar:hover{background:#f2f1ec}
.lv-modal__fechar svg{width:18px;height:18px}

.lv-modal__resumo{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  border:1px solid #e2e0d8;border-radius:12px;padding:20px;
}
.lv-modal__linhas{flex:1 1 auto;min-width:0;display:grid;gap:4px}
.lv-modal__linha{
  font-family:var(--font-body);font-size:15px;line-height:1.5;color:var(--ink);margin:0;
  overflow-wrap:anywhere;
}
.lv-modal__linha[data-lv="nome"]{font-weight:700}
.lv-modal__linha[data-lv="pais"]{color:#6b6a61}
.lv-modal__linha[hidden]{display:none}
.lv-modal__editar{
  flex:0 0 auto;background:none;border:0;padding:0;cursor:pointer;
  font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--ink);
  border-bottom:1px solid currentColor;line-height:1.3;
}
.lv-modal__editar:hover{color:var(--accent,#D91C1C)}

.lv-modal__nota{
  font-family:var(--font-body);font-size:13px;line-height:1.5;color:#8a8980;
  margin:16px 0 22px;text-align:left;
}

.lv-modal__confirmar{
  width:100%;min-height:56px;border:0;border-radius:999px;cursor:pointer;
  background:var(--ink);color:#fff;
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;font-size:15px;
  transition:background .2s ease;
}
.lv-modal__confirmar:hover{background:var(--accent,#D91C1C)}
.lv-modal__confirmar:focus-visible,
.lv-modal__fechar:focus-visible,
.lv-modal__editar:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

@media (max-width:480px){
  .lv-modal{padding:16px}
  .lv-modal__caixa{padding:22px 20px 20px;border-radius:14px}
  .lv-modal__titulo{font-size:20px}
}
@media (prefers-reduced-motion: reduce){
  .lv-modal__confirmar,.lv-modal__fechar{transition:none}
}

/* rede de seguranca, caso algum plugin volte a imprimir o bloco de envio */
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout .shipping_address{display:none !important}

/* ------------------------------------------------------------
   1. mais ar entre o cabecalho e o titulo
   2. o saco so consegue ficar fixo se nao for esticado pela grelha:
      align-self:start da-lhe a altura do conteudo e espaco para deslizar
   ------------------------------------------------------------ */
@media (min-width:992px){
  body.woocommerce-checkout .site-page{padding-top:116px}
  .woocommerce-checkout form.checkout.woocommerce-checkout > .lv-co-aside{
    align-self:start;
    position:sticky;
    top:96px;
  }
}
@media (max-width:991px){
  body.woocommerce-checkout .site-page{padding-top:104px}
}

/* ============================================================
   ETAPAS DO CHECKOUT
   1 Entrega  ->  2 Pagamento  ->  3 Rever a encomenda
   ============================================================ */

.lv-etapa-titulo{
  display:flex !important;align-items:center;gap:12px;
  font-family:var(--font-display) !important;font-weight:700 !important;
  text-transform:uppercase !important;letter-spacing:.06em !important;
  font-size:15px !important;line-height:1.2 !important;color:var(--ink) !important;
  margin:0 0 16px !important;padding:0 0 12px !important;
  border-bottom:1px solid #ededea !important;
}
.lv-etapa-n{
  flex:0 0 auto;width:24px;height:24px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--ink);color:#fff;
  font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:0;
}
.lv-etapa-titulo--pagamento{margin-top:34px !important}
.lv-etapa-titulo--revisao{margin-top:34px !important}

/* o titulo "Detalhes de facturacao" do WooCommerce e redundante */
.woocommerce-checkout .woocommerce-billing-fields > h3{display:none !important}

/* ---------- visibilidade por etapa ---------- */
.woocommerce-checkout form.checkout.lv-etapa-1 #payment,
.woocommerce-checkout form.checkout.lv-etapa-1 .lv-etapa-titulo--pagamento{display:none !important}

.woocommerce-checkout form.checkout.lv-etapa-2 .lv-co-passo--dados{display:none !important}
.woocommerce-checkout form.checkout.lv-etapa-2 .lv-etapa-titulo--revisao,
.woocommerce-checkout form.checkout.lv-etapa-2 .lv-revisao,
.woocommerce-checkout form.checkout.lv-etapa-2 .lv-co-idade,
.woocommerce-checkout form.checkout.lv-etapa-2 .lv-co-confianca,
.woocommerce-checkout form.checkout.lv-etapa-2 .woocommerce-privacy-policy-text,
.woocommerce-checkout form.checkout.lv-etapa-2 .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout form.checkout.lv-etapa-2 #place_order{display:none !important}

.woocommerce-checkout form.checkout.lv-etapa-3 .lv-co-passo--dados,
.woocommerce-checkout form.checkout.lv-etapa-3 .lv-co-passo--pagamento{display:none !important}

/* o botao da etapa 2 vive dentro de .form-row.place-order */
.lv-co-passo--pagamento{margin:18px 0 0;display:flex;justify-content:flex-end}
@media (max-width:991px){.lv-co-passo--pagamento{justify-content:stretch}}

/* aviso quando nenhum metodo esta escolhido */
.woocommerce-checkout #payment ul.payment_methods.lv-erro li{border-color:var(--accent,#D91C1C)}

/* ---------- bloco de revisao ---------- */
.lv-revisao{display:grid;gap:0;margin:0 0 4px;border:1px solid #e2e0d8;border-radius:12px;overflow:hidden}
.lv-revisao__bloco{
  display:grid;grid-template-columns:1fr auto;align-items:start;gap:4px 16px;
  padding:16px 18px;border-bottom:1px solid #f0efe9;
}
.lv-revisao__bloco:last-child{border-bottom:0}
.lv-revisao__rotulo{
  grid-column:1;font-family:var(--font-body);font-size:11.5px;letter-spacing:.12em;
  text-transform:uppercase;color:#8a8980;
}
.lv-revisao__editar{
  grid-column:2;grid-row:1 / span 2;align-self:center;
  background:none;border:0;padding:0;cursor:pointer;
  font-family:var(--font-body);font-size:13.5px;font-weight:500;color:var(--ink);
  border-bottom:1px solid currentColor;line-height:1.3;
}
.lv-revisao__editar:hover{color:var(--accent,#D91C1C)}
.lv-revisao__valor{
  grid-column:1;margin:0;font-family:var(--font-body);font-size:14.5px;line-height:1.5;
  color:var(--ink);overflow-wrap:anywhere;
}
.lv-revisao__bloco--total{background:#faf9f6}
.lv-revisao__valor--total{
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;font-size:20px;
}

/* a regra antiga escondia todos os .lv-co-passo no passo 2; o botao da etapa
   do pagamento precisa de especificidade acima dela (0,4,1 > 0,3,1) */
.woocommerce-checkout form.checkout.lv-etapa-2 .lv-co-passo.lv-co-passo--pagamento{display:flex !important}
.woocommerce-checkout form.checkout.lv-etapa-3 .lv-co-passo.lv-co-passo--pagamento{display:none !important}

/* ------------------------------------------------------------
   O saco ocupa 'span 99' linhas para poder acompanhar a coluna da
   esquerda. Isso cria 99 linhas na grelha e, com row-gap de 56px,
   somava ~5400px de vazio antes do rodape. O intervalo vertical
   passa a zero (os blocos ja tem as suas proprias margens) e fica
   so o intervalo entre colunas.
   ------------------------------------------------------------ */
@media (min-width:992px){
  .woocommerce-checkout form.checkout.woocommerce-checkout{
    row-gap:0 !important;
    column-gap:56px !important;
  }
  body.woocommerce-checkout .site-page{padding-bottom:56px}
}

/* o rodape do tema traz 120px de margem superior: demasiado para o checkout */
body.woocommerce-checkout .site-footer{margin-top:40px !important}
body.woocommerce-checkout .site-page{padding-bottom:40px !important}
@media (max-width:991px){body.woocommerce-checkout .site-footer{margin-top:28px !important}}

/* ============================================================
   ETAPA 2 - PAGAMENTO
   ============================================================ */
.lv-pag-pais{
  display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
  font-family:var(--font-body);font-size:13.5px;color:#6b6a61;margin:0 0 16px;
}
.lv-pag-pais b{color:var(--ink);font-weight:700}
.lv-pag-pais__editar{font-size:13px !important}

.lv-pag-cupao{margin:0 0 22px}
.lv-pag-cupao .woocommerce-form-coupon-toggle{margin:0 !important}
.lv-pag-cupao .woocommerce-info{
  background:transparent !important;border:1px solid #e2e0d8 !important;border-radius:10px !important;
  padding:16px 18px !important;margin:0 !important;color:#6b6a61 !important;
  font-family:var(--font-body) !important;font-size:13.5px !important;line-height:1.5 !important;
}
.lv-pag-cupao .woocommerce-info::before{display:none !important}
.lv-pag-cupao .woocommerce-info .showcoupon{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid currentColor}
.lv-pag-cupao form.checkout_coupon{
  border:1px solid #d7d5cd !important;border-radius:10px !important;
  padding:18px !important;margin:12px 0 0 !important;
}
.lv-pag-cupao form.checkout_coupon .form-row{margin:0 0 10px !important}
.lv-pag-cupao form.checkout_coupon input.input-text{
  min-height:52px !important;height:52px !important;padding:0 16px !important;
  border-radius:8px !important;border:1px solid #d7d5cd !important;font-size:15px !important;
}
.lv-pag-cupao form.checkout_coupon button{
  min-height:52px !important;padding:0 24px !important;border-radius:999px !important;
  background:var(--ink) !important;color:#fff !important;border:0 !important;
  font-family:var(--font-display) !important;font-weight:700 !important;
  text-transform:uppercase !important;letter-spacing:.06em !important;font-size:13px !important;cursor:pointer;
}

.lv-pag-rotulo{
  font-family:var(--font-body);font-size:13px;font-weight:700;
  letter-spacing:.02em;color:var(--ink);margin:0 0 12px;
}

/* lista de metodos */
.woocommerce-checkout #payment ul.payment_methods li{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;
  padding:16px 18px !important;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]{grid-column:1}
.woocommerce-checkout #payment ul.payment_methods li label{
  grid-column:2;display:flex !important;align-items:center;gap:10px;margin:0 !important;
}
.woocommerce-checkout #payment ul.payment_methods li label img{
  grid-column:3;max-height:26px !important;width:auto;margin:0 0 0 auto !important;
  border-radius:4px;background:#fff;
}
.woocommerce-checkout #payment ul.payment_methods li .payment_box{grid-column:1 / -1}
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){
  border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);
}

/* botao da etapa */
.lv-co-continuar-pagamento:disabled{
  background:#d9d7cf !important;color:#8a8980 !important;cursor:not-allowed;
}
.lv-co-continuar-pagamento:disabled:hover{background:#d9d7cf !important}
.lv-co-passo--pagamento .lv-co-continuar{min-width:300px}
@media (max-width:991px){.lv-co-passo--pagamento .lv-co-continuar{min-width:0;width:100%}}

/* cupao feito a mao (sem form aninhado) */
.lv-pag-cupao{display:none !important}
.lv-cupao{margin:0 0 22px}
.lv-cupao__abrir{background:none;border:0;padding:0;cursor:pointer;text-align:left;font-family:var(--font-body);font-size:13.5px;color:#6b6a61;border-bottom:1px solid #d7d5cd;padding-bottom:2px}
.lv-cupao__abrir:hover{color:var(--ink);border-bottom-color:var(--ink)}
.lv-cupao__caixa{display:flex;gap:10px;margin:14px 0 0}
.lv-cupao__caixa[hidden]{display:none}
.lv-cupao__codigo{flex:1 1 auto;min-height:52px !important;height:52px !important;padding:0 16px !important;border:1px solid #d7d5cd !important;border-radius:8px !important;font-family:var(--font-body) !important;font-size:15px !important;background:#fff !important}
.lv-cupao__aplicar{flex:0 0 auto;min-height:52px;padding:0 24px;border:0;border-radius:999px;cursor:pointer;background:var(--ink);color:#fff;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:13px}
.lv-cupao__aplicar:disabled{opacity:.5;cursor:default}
.lv-cupao__msg{margin:10px 0 0;font-family:var(--font-body);font-size:13px;color:#6b6a61}
.lv-cupao__msg--erro{color:var(--accent,#D91C1C)}
.lv-cupao__msg--ok{color:#2f7a46}

/* ============================================================
   ETAPA 1 CONCLUIDA - recolhida, com visto e resumo
   ============================================================ */

.lv-etapa-nome{flex:0 0 auto}

/* visto verde: so quando a etapa ja foi validada */
.lv-etapa-visto{
  display:none;flex:0 0 auto;width:20px;height:20px;border-radius:50%;
  align-items:center;justify-content:center;background:#2f7a46;color:#fff;
}
.lv-etapa-visto svg{width:12px;height:12px}
.woocommerce-checkout form.checkout:not(.lv-etapa-1) .lv-etapa-titulo--dados .lv-etapa-visto{display:inline-flex}

/* botao Editar do cabecalho */
.lv-etapa-editar{
  margin-left:auto;background:none;border:0;padding:0;cursor:pointer;
  font-family:var(--font-body);font-size:13.5px;font-weight:500;letter-spacing:0;
  text-transform:none;color:var(--ink);border-bottom:1px solid currentColor;line-height:1.3;
  display:none;
}
.lv-etapa-editar:hover{color:var(--accent,#D91C1C)}
.woocommerce-checkout form.checkout:not(.lv-etapa-1) .lv-etapa-titulo--dados .lv-etapa-editar{display:inline-block}

/* os campos recolhem quando a etapa esta concluida */
.woocommerce-checkout form.checkout:not(.lv-etapa-1) #customer_details{display:none !important}

/* resumo compacto por baixo do cabecalho fechado */
.lv-etapa-resumo{display:none;margin:0 0 8px}
.woocommerce-checkout form.checkout:not(.lv-etapa-1) .lv-etapa-resumo--dados{display:block}
.lv-etapa-resumo__linha{
  font-family:var(--font-body);font-size:14px;line-height:1.55;color:#6b6a61;margin:0;
  overflow-wrap:anywhere;
}
.lv-etapa-resumo__nome{font-weight:700;color:var(--ink)}
.lv-etapa-resumo__contacto{color:#8a8980;font-size:13.5px}
.lv-etapa-resumo__contacto:first-of-type{margin-top:6px}

/* o titulo da etapa 1 deixa de ter filete quando esta fechado, para o
   resumo ficar colado ao cabecalho */
.woocommerce-checkout form.checkout:not(.lv-etapa-1) .lv-etapa-titulo--dados{
  margin-bottom:10px !important;padding-bottom:8px !important;
}

/* ============================================================
   ETAPA 2 - lista simples, sem cartoes (modelo AstroJerseys)
   ============================================================ */

/* pais em duas linhas */
.lv-pag-pais__rotulo{
  font-family:var(--font-body);font-size:14px;color:var(--ink);margin:0 0 2px;
}
.lv-pag-pais{
  display:flex;align-items:baseline;gap:12px;margin:0 0 18px !important;
  font-family:var(--font-body);font-size:14px;color:var(--ink);
}
.lv-pag-pais__valor{font-weight:400}
.lv-pag-pais__editar{
  background:none;border:0;padding:0;cursor:pointer;
  font-family:var(--font-body);font-size:14px;color:var(--ink);
  border-bottom:1px solid currentColor;line-height:1.3;
}
.lv-pag-pais__editar:hover{color:var(--accent,#D91C1C)}

/* cupao com caixa de selecao */
.lv-cupao{margin:0 0 24px}
.lv-cupao__toggle{
  display:flex;align-items:center;gap:12px;cursor:pointer;
  font-family:var(--font-body);font-size:14px;color:var(--ink);line-height:1.4;
}
.lv-cupao__check{
  width:20px;height:20px;flex:0 0 auto;margin:0;accent-color:var(--ink);cursor:pointer;
}

/* rotulo da lista */
.lv-pag-rotulo{font-size:14px !important;font-weight:400 !important;margin:0 0 14px !important}

/* ---------- a lista deixa de ser feita de cartoes ---------- */
.woocommerce-checkout #payment ul.payment_methods{
  display:block !important;margin:0 0 18px !important;padding:0 !important;border:0 !important;
}
.woocommerce-checkout #payment ul.payment_methods li{
  display:flex !important;align-items:center;gap:14px;
  flex-wrap:wrap;
  border:0 !important;border-radius:0 !important;background:transparent !important;
  padding:9px 0 !important;margin:0 !important;box-shadow:none !important;
}
.woocommerce-checkout #payment ul.payment_methods li:hover{border:0 !important}
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){
  border:0 !important;box-shadow:none !important;background:transparent !important;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]{
  width:20px;height:20px;margin:0;flex:0 0 auto;accent-color:var(--ink);cursor:pointer;
}
.woocommerce-checkout #payment ul.payment_methods li label{
  display:flex !important;align-items:center;gap:14px;margin:0 !important;
  font-family:var(--font-body) !important;font-size:16px !important;font-weight:400 !important;
  color:var(--ink) !important;cursor:pointer;
}
/* o icone fica a esquerda, junto ao nome, e pequeno */
.woocommerce-checkout #payment ul.payment_methods li label img{
  order:-1;max-height:20px !important;width:auto !important;margin:0 !important;
  border-radius:2px;background:transparent;box-shadow:none;
}

/* descricao do metodo escolhido: caixa discreta por baixo da linha */
.woocommerce-checkout #payment ul.payment_methods li .payment_box{
  flex:0 0 100%;order:9;
  background:#f6f5f1 !important;border:0 !important;border-radius:10px !important;
  margin:10px 0 4px 34px !important;padding:16px 18px !important;
  font-family:var(--font-body) !important;font-size:13.5px !important;line-height:1.6 !important;
  color:#55544e !important;
}
.woocommerce-checkout #payment ul.payment_methods li .payment_box p:last-child{margin-bottom:0}

/* aviso quando nenhum metodo esta escolhido */
.woocommerce-checkout #payment ul.payment_methods.lv-erro li label{color:var(--accent,#D91C1C) !important}

/* ============================================================
   ACORDEAO: cada etapa so mostra o seu conteudo quando esta aberta.
   O cabecalho da etapa seguinte fica visivel mas apagado.
   ============================================================ */

/* estes blocos sao impressos fora de #payment (hook do WooCommerce),
   por isso tinham de ser escondidos a parte na etapa 1 */
.woocommerce-checkout form.checkout.lv-etapa-1 .lv-pag-pais__rotulo,
.woocommerce-checkout form.checkout.lv-etapa-1 .lv-pag-pais,
.woocommerce-checkout form.checkout.lv-etapa-1 .lv-cupao,
.woocommerce-checkout form.checkout.lv-etapa-1 .lv-pag-rotulo{display:none !important}

/* cabecalhos das etapas que ainda nao chegaram: visiveis, mas apagados */
.woocommerce-checkout form.checkout.lv-etapa-1 .lv-etapa-titulo--pagamento{display:flex !important}
.woocommerce-checkout form.checkout.lv-etapa-1 .lv-etapa-titulo--revisao,
.woocommerce-checkout form.checkout.lv-etapa-2 .lv-etapa-titulo--revisao{display:flex !important}

.woocommerce-checkout form.checkout.lv-etapa-1 .lv-etapa-titulo--pagamento,
.woocommerce-checkout form.checkout.lv-etapa-1 .lv-etapa-titulo--revisao,
.woocommerce-checkout form.checkout.lv-etapa-2 .lv-etapa-titulo--revisao{
  color:#a8a69d !important;border-bottom-color:#f0efe9 !important;
}
.woocommerce-checkout form.checkout.lv-etapa-1 .lv-etapa-titulo--pagamento .lv-etapa-n,
.woocommerce-checkout form.checkout.lv-etapa-1 .lv-etapa-titulo--revisao .lv-etapa-n,
.woocommerce-checkout form.checkout.lv-etapa-2 .lv-etapa-titulo--revisao .lv-etapa-n{
  background:#e2e0d8;color:#8a8980;
}

/* o cabecalho da etapa por abrir nao precisa de margem grande por cima */
.woocommerce-checkout form.checkout.lv-etapa-1 .lv-etapa-titulo--revisao{margin-top:18px !important}

/* ============================================================
   ETAPA 1 - alinhamento com a referencia AstroJerseys
   (sem numeros de etapa, sem risco por baixo do titulo,
    indicador de tipo de entrega, campos mais arredondados)
   ============================================================ */

.lv-etapa-titulo .lv-etapa-n{display:none !important}

.lv-etapa-titulo{
  border-bottom:0 !important;
  padding:0 !important;
  margin:0 0 14px !important;
  font-size:16px !important;
  letter-spacing:.08em !important;
}
.lv-etapa-titulo--pagamento{margin-top:30px !important}
.lv-etapa-titulo--revisao{margin-top:30px !important}

/* indicador "Entrega ao domicilio" - caixa seleccionada, como na referencia */
.lv-entrega-tipo{
  display:flex;align-items:center;gap:12px;
  box-sizing:border-box;width:100%;
  margin:0 0 16px;padding:15px 18px;
  border:1.5px solid var(--ink);border-radius:12px;
  background:#fff;color:var(--ink);
  font-family:var(--font-display);font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;font-size:13px;line-height:1.2;
}
.lv-entrega-tipo svg{flex:0 0 auto;width:22px;height:22px;display:block}
.lv-entrega-tipo span{display:block}
.woocommerce-checkout form.checkout.lv-etapa-2 .lv-entrega-tipo,
.woocommerce-checkout form.checkout.lv-etapa-3 .lv-entrega-tipo{display:none !important}

/* campos: cantos mais suaves, a condizer com a caixa acima */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row .select2-container .select2-selection--single{
  border-radius:12px !important;
}

/* o Chrome pinta os campos preenchidos automaticamente de azul */
.woocommerce-checkout .form-row input:-webkit-autofill,
.woocommerce-checkout .form-row input:-webkit-autofill:hover,
.woocommerce-checkout .form-row input:-webkit-autofill:focus,
.woocommerce-checkout .form-row select:-webkit-autofill,
.woocommerce-checkout .form-row textarea:-webkit-autofill{
  -webkit-text-fill-color:var(--ink) !important;
  -webkit-box-shadow:0 0 0 1000px #fff inset !important;
  box-shadow:0 0 0 1000px #fff inset !important;
  caret-color:var(--ink);
  transition:background-color 100000s ease-in-out 0s !important;
}

/* o botao do passo 1 e sempre preto (o vermelho fica so para :hover) */
.woocommerce-checkout form.checkout .lv-co-continuar.lv-co-continuar-dados{
  background:var(--ink) !important;color:#fff !important;
}
.woocommerce-checkout form.checkout .lv-co-continuar.lv-co-continuar-dados:hover{
  background:var(--accent,#D91C1C) !important;
}

/* especificidade: .woocommerce-checkout h3 (0,1,1) ganhava a .lv-etapa-titulo (0,1,0) */
.woocommerce-checkout h3.lv-etapa-titulo{
  border-bottom:0 !important;padding:0 !important;margin:0 0 14px !important;
}
.woocommerce-checkout h3.lv-etapa-titulo--pagamento{margin-top:30px !important}
.woocommerce-checkout h3.lv-etapa-titulo--revisao{margin-top:30px !important}

/* ============================================================
   PAGAMENTO - caixas minimalistas (modelo AstroJerseys)
   ============================================================ */

/* a caixa do metodo escolhido nao precisa de fundo proprio:
   o <li> ja tem contorno */
.woocommerce-checkout #payment ul.payment_methods li{border-radius:12px}
.woocommerce-checkout #payment div.payment_box{
  background:transparent !important;border-radius:0 !important;
  padding:0 !important;margin:12px 0 0 !important;
  font-size:13px !important;line-height:1.55 !important;color:#6b6a61 !important;
}
.woocommerce-checkout #payment div.payment_box p{margin:0 !important;padding:0 !important}
.woocommerce-checkout #payment div.payment_box p + p{margin-top:6px !important}

/* nota de apoio curta por baixo do campo */
.lv-pg-nota{
  margin:8px 0 0 !important;padding:0 !important;
  font-family:var(--font-body);font-size:12.5px;line-height:1.5;color:#8a8980;
}

/* ---------- MB WAY ---------- */
/* a etiqueta do plugin vem em ingles e traz style="display:block !important"
   em linha, que nenhuma folha de estilos consegue vencer; colapsamos a
   altura em vez de a esconder, para continuar a existir para leitores de ecra */
#mbway_ifthen_for_woocommerce_phone_field > label{
  font-size:0 !important;line-height:0 !important;
  height:0 !important;margin:0 !important;padding:0 !important;
  overflow:hidden !important;
}
#mbway_ifthen_for_woocommerce_phone_field{margin-top:12px !important}
#mbway_ifthen_for_woocommerce_phone_field_container_country_code{display:none !important}

#mbway_ifthen_for_woocommerce_phone{
  width:100% !important;box-sizing:border-box !important;
  min-height:56px !important;height:56px !important;
  padding:0 18px !important;
  border:1px solid #d7d5cd !important;border-radius:12px !important;
  background:#fff !important;color:var(--ink) !important;
  font-family:var(--font-body) !important;font-size:16px !important;line-height:1.2 !important;
  box-shadow:none !important;outline:none !important;
  transition:border-color .16s ease;
}
#mbway_ifthen_for_woocommerce_phone:hover{border-color:#b4b2a9 !important}
#mbway_ifthen_for_woocommerce_phone:focus{border-color:var(--ink) !important}
#mbway_ifthen_for_woocommerce_phone::placeholder{color:#8a8980 !important;opacity:1}
#mbway_ifthen_for_woocommerce_phone:-webkit-autofill{
  -webkit-text-fill-color:var(--ink) !important;
  -webkit-box-shadow:0 0 0 1000px #fff inset !important;
  box-shadow:0 0 0 1000px #fff inset !important;
  transition:background-color 100000s ease-in-out 0s !important;
}

/* ---------- pagamento: correccoes de especificidade ----------
   As regras acima perdiam para blocos anteriores mais especificos
   (`ul.payment_methods li .payment_box` e `ul.payment_methods li label`),
   por isso repetimo-las aqui com o mesmo peso ou mais. */
.woocommerce-checkout #payment ul.payment_methods li{border-radius:12px !important}
.woocommerce-checkout #payment ul.payment_methods li .payment_box{
  background:transparent !important;border:0 !important;border-radius:0 !important;
  padding:0 !important;margin:12px 0 0 !important;
  font-family:var(--font-body) !important;font-size:13px !important;
  line-height:1.55 !important;color:#6b6a61 !important;
}
.woocommerce-checkout #payment ul.payment_methods li .payment_box p{margin:0 !important;padding:0 !important}
.woocommerce-checkout #payment ul.payment_methods li .payment_box p.lv-pg-nota{
  margin:8px 0 0 !important;font-size:12.5px !important;line-height:1.5 !important;color:#8a8980 !important;
}
.woocommerce-checkout #payment ul.payment_methods li #mbway_ifthen_for_woocommerce_phone_field > label{
  font-size:0 !important;line-height:0 !important;height:0 !important;
  margin:0 !important;padding:0 !important;gap:0 !important;overflow:hidden !important;
}
.woocommerce-checkout #payment ul.payment_methods li #mbway_ifthen_for_woocommerce_phone{
  min-height:56px !important;height:56px !important;border-radius:12px !important;
}
