/* Efimarket v3 - compra: carrito lateral (todas las paginas), carrito, checkout y pedido recibido */
:root{--efi-borde:#7A857F;--efi-error:#B3261E}
body.woocommerce-cart,body.woocommerce-checkout:not(.woocommerce-order-received),body.woocommerce-order-received{background:var(--efi-fondo)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
wc-order-attribution-inputs{display:none}

/* ---- piezas comunes ---- */
.efi-envio{display:grid;grid-template-columns:auto 1fr;gap:8px 10px;align-items:center;margin:0 0 16px;padding:14px 16px;background:var(--efi-menta);border-radius:12px;color:var(--efi-verde-texto)}
.efi-envio__t{margin:0;font-weight:600;color:var(--efi-tinta)}
.efi-envio__b{grid-column:1/-1;height:8px;border-radius:4px;background:#fff;overflow:hidden}
.efi-envio__b span{display:block;height:100%;border-radius:4px;background:var(--efi-verde)}
.efi-qty,.woocommerce-cart-form .quantity{display:inline-flex;align-items:center;border:1.5px solid var(--efi-borde);border-radius:10px;background:#fff;overflow:hidden}
.efi-qty__b{width:44px;height:44px;border:0;background:#fff;color:var(--efi-tinta);font-size:22px;line-height:1}
.efi-qty__b:hover:not(:disabled){background:var(--efi-fondo)}
.efi-qty__b:disabled{color:var(--efi-borde);cursor:not-allowed}
.efi-qty__n{min-width:36px;text-align:center;font-weight:700;color:var(--efi-tinta)}
.efi-gar{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;font-size:15px}
.efi-gar li{display:flex;align-items:center;gap:8px}
.efi-gar .efi-i,.efi-envio .efi-i,.efi-dudas .efi-i{color:var(--efi-verde-texto)}
.efi-dudas{display:flex;align-items:center;gap:12px;margin-top:16px;padding:14px 16px;background:var(--efi-fondo);border-radius:12px;color:var(--efi-tinta);text-decoration:none;font-size:14px;line-height:1.4}
.efi-dudas strong{font-size:15px}
.efi-pasos{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none;font-size:15px;color:var(--efi-gris)}
.efi-pasos__p{display:flex;align-items:center;gap:8px}
.efi-pasos__n{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid var(--efi-borde);border-radius:50%;font-size:13px;font-weight:700;background:#fff}
.efi-pasos__p.is-act{color:var(--efi-tinta);font-weight:600}.efi-pasos__p.is-act .efi-pasos__n{background:var(--efi-tinta);border-color:var(--efi-tinta);color:#fff}

/* avisos de WooCommerce */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice{margin:0 0 16px;padding:14px 18px;list-style:none;border:1px solid var(--efi-linea);border-radius:12px;background:var(--efi-menta);color:var(--efi-tinta)}
.woocommerce-error{background:#FDECEA;border-color:#E8B4AE}.woocommerce-error li{margin:0 0 4px}
.woocommerce-message .button,.woocommerce-info .button{float:right;display:inline-flex;align-items:center;min-height:44px;margin:-4px 0 0 16px;padding:0 18px;border-radius:10px;background:var(--efi-btn);color:#fff;font-weight:700;text-decoration:none}
.woocommerce-message::after,.woocommerce-info::after{content:"";display:table;clear:both}

/* ---- carrito lateral ---- */
dialog.efi-lat{position:fixed;inset:0 0 0 auto;margin:0;padding:0;border:0;width:min(440px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;background:#fff;color:var(--efi-tinta-2);overflow:hidden;box-shadow:-8px 0 32px rgba(0,0,0,.2)}
dialog.efi-lat[open]{display:flex;flex-direction:column;animation:efi-lat-in .22s ease-out}
dialog.efi-lat::backdrop{background:rgba(28,35,33,.55)}
@keyframes efi-lat-in{from{transform:translateX(24px);opacity:0}}
@media (prefers-reduced-motion:reduce){dialog.efi-lat[open]{animation:none}}
.efi-lat__in{display:flex;flex-direction:column;flex:1;min-height:0}
.efi-lat__cab{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--efi-linea)}
.efi-lat__tit{display:flex;align-items:center;gap:12px;margin:0;font-size:20px;font-weight:700;color:var(--efi-tinta)}
.efi-lat__ok{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--efi-btn);color:#fff}
.efi-lat__x{display:grid;place-items:center;width:44px;height:44px;border:0;background:none;color:var(--efi-tinta);border-radius:50%}
.efi-lat__x:hover{background:var(--efi-fondo)}
.efi-lat__cuerpo{flex:1;min-height:0;overflow:auto;padding:20px}
.efi-lat__vacio{margin:0}
.efi-lat__lista{display:grid;gap:16px;margin-bottom:16px}
.efi-lat__item{display:grid;grid-template-columns:84px 1fr auto;gap:0 14px;align-items:start}
.efi-lat__foto,.efi-lat__sfoto{display:block;border:1px solid var(--efi-linea);border-radius:12px;padding:6px;background:#fff}
.efi-lat__foto img,.efi-lat__sfoto img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.efi-lat__nombre{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-weight:600;color:var(--efi-tinta);text-decoration:none;line-height:1.3}
.efi-lat__var{margin:2px 0 6px;font-size:14px;color:var(--efi-gris)}
.efi-lat__datos .efi-qty{margin-top:8px}
.efi-lat__precio{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-weight:700;color:var(--efi-tinta);white-space:nowrap}
.efi-lat__quitar{min-height:44px;padding:0 4px;border:0;background:none;color:var(--efi-gris);font-size:14px;font-weight:400;text-decoration:underline}
.efi-lat__sug h3{font-size:16px;margin:20px 0 10px}
.efi-lat__sug ul{display:grid;gap:10px}
.efi-lat__s{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--efi-linea);border-radius:12px}
.efi-lat__sdatos a{display:block;font-size:14px;line-height:1.3;color:var(--efi-tinta);text-decoration:none}
.efi-lat__sdatos .efi-precio__actual{font-size:16px}.efi-lat__sdatos .efi-precio__regular{font-size:13px}
.efi-lat__sadd{min-height:44px;padding:0 14px;font-size:15px;color:var(--efi-verde-texto);border-color:var(--efi-tinta)}
.efi-lat__pie{display:grid;gap:10px;padding:16px 20px 20px;border-top:1px solid var(--efi-linea);background:#fff}
.efi-lat__sub{display:flex;align-items:baseline;justify-content:space-between;margin:0}.efi-lat__sub strong{font-size:26px;color:var(--efi-tinta)}
.efi-lat__pagos{margin:0;text-align:center;font-size:13px;color:var(--efi-gris)}
.efi-btn.is-cargando{opacity:.6;pointer-events:none}

/* ---- carrito ---- */
.woocommerce-cart .efi-prosa{max-width:none}
.woocommerce-cart-form td::before,.woocommerce-cart-form .quantity::before,.woocommerce-cart-form .quantity::after{content:none!important}
.efi-cart__cab{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-bottom:20px}
.efi-cart__sub{margin:0;color:var(--efi-gris)}
.woocommerce-cart .efi-h1{margin-bottom:4px}
.efi-cart__grid{display:grid;gap:24px}
.efi-cart__izq,.efi-cart__der{min-width:0}
@media (min-width:1024px){.efi-cart__grid{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:32px}}
.efi-envio--cart{margin-bottom:16px}
.woocommerce-cart-form table.cart,.woocommerce-cart-form table.cart tbody{display:block;width:100%;border:0}
.woocommerce-cart-form table.cart thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.woocommerce-cart-form tr.cart_item{display:grid;grid-template-columns:88px minmax(0,1fr) auto;grid-template-areas:"foto nombre total" "foto cant total";gap:6px 16px;margin-bottom:12px;padding:16px;background:#fff;border:1px solid var(--efi-linea);border-radius:16px}
.woocommerce-cart-form tr.cart_item td{display:block;padding:0;border:0}
.woocommerce-cart-form td.product-thumbnail{grid-area:foto}.woocommerce-cart-form td.product-thumbnail img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border:1px solid var(--efi-linea);border-radius:12px;padding:4px}
.woocommerce-cart-form td.product-name{grid-area:nombre;font-weight:600}.woocommerce-cart-form td.product-name a{color:var(--efi-tinta);text-decoration:none}
.woocommerce-cart-form td.product-name .efi-entrega{margin:6px 0 0;font-size:14px;font-weight:600;color:var(--efi-verde-texto)}
.woocommerce-cart-form td.product-name dl.variation{margin:2px 0 0;font-size:14px;font-weight:400;color:var(--efi-gris)}.woocommerce-cart-form td.product-name dl.variation>*{display:inline;margin:0}
.woocommerce-cart-form td.product-price{display:none!important}
.woocommerce-cart-form td.product-quantity{grid-area:cant;display:flex!important;align-items:center;gap:12px;flex-wrap:wrap}
.woocommerce-cart-form td.product-subtotal{grid-area:total;text-align:right;font-size:22px;font-weight:700;color:var(--efi-tinta);white-space:nowrap}
.efi-cart__antes{display:block;font-size:15px;font-weight:400;color:var(--efi-gris)}
.woocommerce-cart-form .quantity{width:auto}
.woocommerce-cart-form .quantity input.qty{width:56px;min-height:44px;padding:0;border:0;text-align:center;font:inherit;font-weight:700;color:var(--efi-tinta);-moz-appearance:textfield;appearance:textfield}
.woocommerce-cart-form .quantity input.qty::-webkit-outer-spin-button,.woocommerce-cart-form .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
/* "Quitar" junto a la cantidad: el enlace de WooCommerce se mueve con la rejilla de la fila */
.woocommerce-cart-form tr.cart_item{position:relative}
.woocommerce-cart-form td.product-remove{grid-area:cant;justify-self:end;align-self:center}
.woocommerce-cart-form td.product-remove a.remove{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;font-size:0;color:var(--efi-gris);text-decoration:none}
.woocommerce-cart-form td.product-remove a.remove::after{content:"Quitar";font-size:14px;text-decoration:underline}
.woocommerce-cart-form td.actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px;background:#fff;border:1px solid var(--efi-linea);border-radius:16px}
.woocommerce-cart-form tbody>tr{display:block}
.woocommerce-cart-form .coupon{display:flex;flex:1 1 280px;gap:8px}
.woocommerce-cart-form .coupon input.input-text{flex:1;min-width:0;min-height:48px;padding:0 14px;border:1.5px solid var(--efi-borde);border-radius:10px;font:inherit;font-size:16px}
.efi-cart button.button,.efi-cart .coupon .button{min-height:48px;padding:0 20px;border-radius:10px;border:1.5px solid var(--efi-tinta);background:#fff;color:var(--efi-tinta);font:inherit;font-weight:600;font-size:16px}
.efi-cart button.button:disabled{opacity:.5;cursor:not-allowed}
.cart_totals{padding:24px;background:#fff;border:1px solid var(--efi-linea);border-radius:16px}
.efi-resumen__t{font-size:22px;margin-bottom:12px}
.cart_totals table,.cart_totals tbody{display:block;width:100%;border:0}
.cart_totals tr{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0}
.cart_totals th,.cart_totals td{display:block;padding:0;border:0;text-align:left;font-weight:400}
.cart_totals td{text-align:right}
.cart_totals tr.shipping{display:block}.cart_totals tr.shipping td{text-align:left;margin-top:6px}
.cart_totals ul#shipping_method{display:grid;gap:8px}
.cart_totals tr.order-total{margin-top:8px;padding-top:16px;border-top:1px solid var(--efi-linea)}
.cart_totals tr.order-total th{font-weight:700;color:var(--efi-tinta)}.cart_totals tr.order-total td{font-size:30px;font-weight:700;color:var(--efi-tinta)}
.cart_totals .includes_tax{display:block;font-size:13px;font-weight:400;color:var(--efi-gris)}
.cart_totals tr.efi-ahorro td,.cart_totals tr.cart-discount td{color:var(--efi-verde-texto);font-weight:600}
.wc-proceed-to-checkout{display:grid;gap:12px;margin-top:16px}
.wc-proceed-to-checkout .checkout-button{width:100%;min-height:56px}
.efi-gar--cart{margin-top:16px;padding-inline:4px}
.efi-cart-vacio{padding:32px 0;text-align:center}.efi-cart-vacio__t{font-size:18px}
.efi-cart-vacio__cats{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:20px 0 28px}
.efi-cmp-sug{margin-top:40px}
.efi-cmp-sug__cab{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 24px;margin-bottom:16px}.efi-cmp-sug__cab h2{margin:0;font-size:26px}.efi-cmp-sug__cab p{margin:0;color:var(--efi-gris);font-size:15px}
.efi-cmp-rej{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
@media (min-width:900px){.efi-cmp-rej{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
@media (max-width:639px){
.woocommerce-cart-form tr.cart_item{grid-template-columns:72px minmax(0,1fr);grid-template-areas:"foto nombre" "cant cant" "total total"}
.woocommerce-cart-form td.product-subtotal{text-align:left}
}

/* ---- checkout ---- */
.efi-cab--chk{border-bottom:3px solid var(--efi-verde)}
.efi-cab--chk .efi-cab__top{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;padding-block:12px}
.efi-chk-seg{white-space:nowrap}
.efi-chk-seg,.efi-chk-ayuda{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0 0 0 auto;font-weight:600;color:var(--efi-tinta);text-decoration:none}
.efi-chk-ayuda{margin:0}.efi-chk-seg .efi-i,.efi-chk-ayuda .efi-i{color:var(--efi-verde-texto)}
@media (max-width:639px){.efi-chk-ayuda span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
.efi-pie--chk .efi-pie__base{border-top:0;padding-top:8px}
.woocommerce-checkout:not(.woocommerce-order-received) .efi-h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.woocommerce-checkout:not(.woocommerce-order-received) .efi-main{padding-block:24px 40px}
.woocommerce-checkout:not(.woocommerce-order-received) .efi-prosa{max-width:none}
.woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-form-login-toggle .woocommerce-info{margin-bottom:12px}
.woocommerce-info a.showcoupon,.woocommerce-info a.showlogin{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
form.checkout_coupon{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 16px;padding:16px;background:#fff;border:1px solid var(--efi-linea);border-radius:16px}
form.checkout_coupon .form-row{margin:0;padding:0;float:none;width:auto}
form.checkout_coupon input.input-text{min-height:48px;min-width:220px;padding:0 14px;border:1.5px solid var(--efi-borde);border-radius:10px;font:inherit;font-size:16px}
form.checkout_coupon .button{min-height:48px;padding:0 20px;border:0;border-radius:10px;background:var(--efi-tinta);color:#fff;font:inherit;font-weight:700}
.efi-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.efi-checkout #customer_details{display:grid;gap:0;min-width:0}
.efi-checkout #customer_details .col-1,.efi-checkout #customer_details .col-2{float:none;width:auto;display:grid;gap:0;padding:0}
.woocommerce-account-fields,.woocommerce-shipping-fields,.woocommerce-additional-fields{margin-top:12px;padding-top:12px;border-top:1px solid var(--efi-linea)}
.woocommerce-additional-fields h3{margin:0 0 8px;font-size:17px}
.efi-checkout #customer_details .col-2:not(:has(*)){display:none}
@media (min-width:1024px){
.efi-checkout form.checkout{grid-template-columns:minmax(0,1fr) 400px;column-gap:32px}
.efi-checkout form.checkout>*{grid-column:1}
.efi-checkout #order_review{display:contents}
.efi-checkout #payment{grid-column:1}
.efi-checkout .woocommerce-checkout-review-order-table{grid-column:2;grid-row:1/span 8;position:sticky;top:16px}
}
.efi-chk__expres,.efi-checkout #customer_details,.efi-checkout #payment,.efi-checkout .woocommerce-checkout-review-order-table{padding:24px;background:#fff;border:1px solid var(--efi-linea);border-radius:16px}
.woocommerce-account-fields:not(:has(*)),.woocommerce-shipping-fields:not(:has(*)){display:none}
.woocommerce-billing-fields>h3{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.efi-chk__h{display:flex;align-items:center;gap:12px;grid-column:1/-1;margin:0 0 4px;font-size:21px}
.efi-chk__h--2{margin-top:8px;padding-top:24px;border-top:1px solid var(--efi-linea)}
.efi-chk__n{display:inline-grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:var(--efi-tinta);color:#fff;font-size:15px;font-weight:700}
.efi-chk-paso--1{order:0}.efi-checkout .woocommerce-billing-fields__field-wrapper>.form-row{order:1}.efi-chk-paso--2{order:2}
#billing_country_field,#billing_address_1_field,#billing_address_2_field,#billing_postcode_field,#billing_city_field,#billing_state_field{order:3!important}
.efi-chk-paso{display:flex;align-items:center;gap:12px;grid-column:1/-1;margin:0 0 4px;font-size:21px;font-weight:700;color:var(--efi-tinta)}
.efi-chk-paso--2{margin-top:8px;padding-top:24px;border-top:1px solid var(--efi-linea)}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.efi-checkout #billing_postcode_field,.efi-checkout #billing_city_field,.efi-checkout #shipping_postcode_field,.efi-checkout #shipping_city_field{grid-column:span 1}
.efi-checkout #billing_nif_field,.efi-checkout #billing_email_field{grid-column:1/-1}
.efi-checkout .form-row{grid-column:1/-1;float:none;width:auto;margin:0;padding:0}
@media (min-width:640px){
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper{grid-template-columns:repeat(6,minmax(0,1fr))}
.efi-checkout .form-row-first,.efi-checkout .form-row-last{grid-column:span 3}
.efi-checkout #billing_postcode_field,.efi-checkout #billing_city_field,.efi-checkout #billing_state_field,.efi-checkout #shipping_postcode_field,.efi-checkout #shipping_city_field,.efi-checkout #shipping_state_field{grid-column:span 2}
.efi-checkout #billing_phone_field,.efi-checkout #billing_company_field{grid-column:span 3}
.efi-checkout #billing_email_field,.efi-checkout #billing_nif_field{grid-column:1/-1}
}
.efi-checkout .form-row label{display:block;margin:0 0 6px;font-size:14px;font-weight:600;color:var(--efi-tinta)}
.efi-checkout .form-row label .optional{font-weight:400;color:var(--efi-gris)}
.efi-checkout abbr.required,.efi-checkout .required{color:var(--efi-error);text-decoration:none;border:0}
.efi-checkout .form-row .description{display:block;margin-top:6px;font-size:13px;color:var(--efi-gris)}
.efi-checkout input.input-text,.efi-checkout select,.efi-checkout textarea{display:block;width:100%;min-height:48px;padding:10px 14px;border:1.5px solid var(--efi-borde);border-radius:10px;background:#fff;color:var(--efi-tinta);font:inherit;font-size:16px}
.efi-checkout textarea{min-height:88px;resize:vertical}
.efi-checkout .select2-container .select2-selection--single{height:48px;border:1.5px solid var(--efi-borde);border-radius:10px}
.efi-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:45px;padding-left:14px;color:var(--efi-tinta);font-size:16px}
.efi-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:46px;right:8px}
.efi-checkout .woocommerce-input-wrapper{display:block}
.efi-checkout .woocommerce-invalid input.input-text,.efi-checkout .woocommerce-invalid select,.efi-checkout .woocommerce-invalid .select2-selection{border-color:var(--efi-error)}
.efi-checkout .woocommerce-invalid-required-field .woocommerce-input-wrapper::after{content:"Este campo es obligatorio";display:block;margin-top:6px;font-size:13px;font-weight:600;color:var(--efi-error)}
.efi-checkout .woocommerce-invalid-email .woocommerce-input-wrapper::after{content:"Revisa el email";display:block;margin-top:6px;font-size:13px;font-weight:600;color:var(--efi-error)}
.efi-checkout .woocommerce-invalid-phone .woocommerce-input-wrapper::after{content:"Revisa el teléfono";display:block;margin-top:6px;font-size:13px;font-weight:600;color:var(--efi-error)}
.efi-checkout .woocommerce-invalid-postcode .woocommerce-input-wrapper::after{content:"Revisa el código postal";display:block;margin-top:6px;font-size:13px;font-weight:600;color:var(--efi-error)}
.efi-checkout input[type=checkbox],.efi-checkout input[type=radio]{flex:none;width:22px;height:22px;margin:0;accent-color:var(--efi-btn)}
.efi-checkout #ship-to-different-address{margin:0;font-size:17px}
.efi-checkout #ship-to-different-address label,.woocommerce-account-fields label{display:flex;align-items:center;gap:12px;min-height:44px;font-weight:600;cursor:pointer}
.woocommerce-account-fields .form-row{margin:0}
.woocommerce-shipping-fields .shipping_address{margin-top:16px}
/* resumen del pedido */
.efi-checkout .woocommerce-checkout-review-order-table{display:block;width:100%}
.woocommerce-checkout-review-order-table thead,.woocommerce-checkout-review-order-table tbody,.woocommerce-checkout-review-order-table tfoot{display:block}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{display:block;padding:0;border:0;text-align:left}
.woocommerce-checkout-review-order-table thead th{margin-bottom:12px;font-size:21px;font-weight:700;color:var(--efi-tinta)}
.woocommerce-checkout-review-order-table tr{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:6px 0}
.woocommerce-checkout-review-order-table tr.cart_item{align-items:center;padding:8px 0}
.woocommerce-checkout-review-order-table td.product-name{display:flex;align-items:center;gap:12px;flex:1;min-width:0;font-weight:600;color:var(--efi-tinta)}
.efi-rev__foto{flex:none;width:64px;padding:4px;border:1px solid var(--efi-linea);border-radius:12px;background:#fff}.efi-rev__foto img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.efi-rev__txt{min-width:0}.efi-rev__txt dl.variation{margin:2px 0 0;font-size:13px;font-weight:400;color:var(--efi-gris)}.efi-rev__txt dl.variation>*{display:inline;margin:0}
.woocommerce-checkout-review-order-table strong.product-quantity{font-weight:400;color:var(--efi-gris)}
.woocommerce-checkout-review-order-table td.product-total,.woocommerce-checkout-review-order-table tfoot td{text-align:right;font-weight:600;color:var(--efi-tinta)}
.woocommerce-checkout-review-order-table tfoot{margin-top:8px;padding-top:12px;border-top:1px solid var(--efi-linea)}
.woocommerce-checkout-review-order-table tfoot th{font-weight:400;color:var(--efi-tinta-2)}
.woocommerce-checkout-review-order-table tr.cart-discount td,.woocommerce-checkout-review-order-table tr.efi-ahorro td{color:var(--efi-verde-texto)}
.woocommerce-checkout-review-order-table tr.efi-ahorro th{font-weight:400}
.woocommerce-checkout-review-order-table tr.efi-ahorro td{font-weight:600}
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals{display:block}
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th{margin-bottom:8px;font-weight:600;color:var(--efi-tinta)}
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td{text-align:left}
#shipping_method{display:grid;gap:10px;margin:0;padding:0;list-style:none}
#shipping_method li{display:flex;align-items:center;gap:12px;margin:0;padding:6px 14px;border:1.5px solid var(--efi-linea);border-radius:12px;background:#fff}
#shipping_method li:has(input:checked){border-color:var(--efi-tinta);background:var(--efi-menta)}
#shipping_method li:has(input:focus-visible){outline:2px solid var(--efi-tinta);outline-offset:2px}
#shipping_method label{flex:1;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;cursor:pointer}
#shipping_method input[type=hidden]{display:none}
.woocommerce-checkout-review-order-table tr.order-total{margin-top:6px;padding-top:14px;border-top:1px solid var(--efi-linea)}
.woocommerce-checkout-review-order-table tr.order-total th{font-weight:700;color:var(--efi-tinta)}
.woocommerce-checkout-review-order-table tr.order-total td{font-size:28px;font-weight:700}
.woocommerce-checkout-review-order-table .includes_tax{display:block;font-size:13px;font-weight:400;color:var(--efi-gris)}
.woocommerce-checkout-review-order-table tr.efi-rev__gar{display:block;padding-top:12px}
.woocommerce-checkout-review-order-table tr.efi-rev__gar td{display:block;text-align:left;font-weight:400}
.woocommerce-checkout-review-order-table .efi-gar{flex-direction:column;gap:8px}
/* pago */
.efi-checkout #payment{padding:24px}
.efi-checkout ul.wc_payment_methods{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none;border:0}
.efi-checkout li.wc_payment_method{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px;margin:0;padding:6px 16px;border:1.5px solid var(--efi-linea);border-radius:12px;background:#fff}
.efi-checkout li.wc_payment_method:has(input:checked){border-color:var(--efi-tinta);background:var(--efi-menta)}
.efi-checkout li.wc_payment_method:has(input:focus-visible){outline:2px solid var(--efi-tinta);outline-offset:2px}
.efi-checkout li.wc_payment_method>label{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin:0;font-weight:600;color:var(--efi-tinta);cursor:pointer}
.efi-checkout li.wc_payment_method>label img{flex:none;width:auto;max-width:96px;height:24px;margin:0;object-fit:contain}
.efi-checkout li.wc_payment_method>.payment_box{grid-column:1/-1;margin:0 0 10px;padding:10px 0 0;border-top:1px solid var(--efi-linea);background:none;color:var(--efi-tinta-2);font-size:14px}
.efi-checkout .payment_box::before{display:none}
.efi-checkout .payment_box p{margin:0 0 8px}
.efi-checkout #payment .place-order{display:grid;gap:12px;margin:20px 0 0;padding:0}
.efi-checkout .woocommerce-terms-and-conditions-wrapper,.efi-checkout .privacy-checkbox-label,.efi-checkout .cr-customer-consent label{display:flex!important;align-items:flex-start;gap:10px!important}
.efi-checkout .privacy-checkbox-wrap{margin:0;font-size:14px}
.efi-checkout .privacy-checkbox-label,.efi-checkout .woocommerce-form__label-for-checkbox,.efi-checkout .cr-customer-consent label{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:6px 0;line-height:1.4;cursor:pointer}
.efi-checkout .privacy-checkbox-wrap{background:none!important;border:0!important;padding:0!important;margin:0!important}
.efi-checkout .privacy-checkbox-label input,.efi-checkout .cr-customer-consent input,.efi-checkout #payment input[type=checkbox]{width:20px!important;height:20px!important;min-width:20px;margin:0!important;flex:none}
.efi-checkout .cr-customer-consent{margin:0}
.efi-checkout #place_order,.efi-btn--pagar{width:100%;min-height:56px;float:none;font-size:19px}
.efi-checkout #place_order::after{content:"→";margin-left:8px}
#ppc-button-ppcp-gateway,.ppc-button-wrapper{margin-top:8px}
@media (max-width:1023px){.efi-checkout #place_order{position:sticky;bottom:12px;z-index:var(--z-barra);box-shadow:0 6px 18px rgba(0,0,0,.25)}}

/* ---- pedido recibido ---- */
.efi-recibido{max-width:1040px;margin-inline:auto}
.efi-recibido__hero{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:20px;padding:24px 28px;background:var(--efi-menta);border-radius:16px}
.efi-recibido__hero--mal{display:block;background:#FDECEA;border:1px solid #E8B4AE}
.efi-recibido__ok{display:grid;place-items:center;flex:none;width:64px;height:64px;border-radius:50%;background:var(--efi-btn);color:#fff}
.efi-recibido__txt{flex:1 1 320px;min-width:0}
.efi-recibido__txt .efi-h1,.efi-recibido__hero--mal .efi-h1{margin:0 0 6px;font-size:clamp(24px,3.4vw,32px)}
.efi-recibido__txt p{margin:0 0 4px}
.efi-recibido__txt .woocommerce-notice{margin:6px 0 0;padding:0;border:0;background:none;color:var(--efi-tinta-2)}
.efi-recibido__llega{display:grid;margin:0;padding:12px 18px;background:#fff;border-radius:12px}.efi-recibido__llega span{font-size:13px;color:var(--efi-gris)}.efi-recibido__llega strong{font-size:20px;color:var(--efi-tinta)}
.efi-recibido ul.order_details{display:flex;flex-wrap:wrap;gap:8px 28px;margin:0 0 20px;padding:14px 20px;list-style:none;background:#fff;border:1px solid var(--efi-linea);border-radius:16px;font-size:14px}
.efi-recibido ul.order_details li{display:grid;margin:0;border:0;padding:0;text-transform:none}.efi-recibido ul.order_details strong{font-size:16px;color:var(--efi-tinta)}
.efi-recibido__pasos,.woocommerce-order-details,.woocommerce-customer-details,.woocommerce-bacs-bank-details{margin:0 0 20px;padding:24px;background:#fff;border:1px solid var(--efi-linea);border-radius:16px}
.efi-recibido h2,.woocommerce-order-details__title,.woocommerce-column__title,.wc-bacs-bank-details-heading{margin:0 0 14px;font-size:21px}
.efi-recibido__ol{display:grid;gap:16px;margin:0;padding:0;list-style:none}
.efi-recibido__ol li{position:relative;display:grid;gap:2px;padding-left:28px;font-size:14px;color:var(--efi-gris)}
.efi-recibido__ol li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border:2px solid var(--efi-borde);border-radius:50%;background:#fff}
.efi-recibido__ol li.is-hecho::before{border-color:var(--efi-tinta);background:var(--efi-btn);box-shadow:inset 0 0 0 3px #fff}
.efi-recibido__ol strong{font-size:15px;color:var(--efi-tinta)}
@media (min-width:768px){.efi-recibido__ol{grid-template-columns:repeat(4,1fr)}.efi-recibido__ol li{padding:26px 0 0}.efi-recibido__ol li::before{top:0}}
table.woocommerce-table--order-details{width:100%;border-collapse:collapse}
table.woocommerce-table--order-details th,table.woocommerce-table--order-details td{padding:10px 0;border-bottom:1px solid var(--efi-linea);text-align:left}
table.woocommerce-table--order-details td:last-child,table.woocommerce-table--order-details tfoot th+td{text-align:right}
table.woocommerce-table--order-details a{color:var(--efi-tinta);font-weight:600;text-decoration:none}
.woocommerce-columns--addresses{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.woocommerce-columns--addresses .col-1,.woocommerce-columns--addresses .col-2{float:none;width:auto;max-width:none}
.woocommerce-customer-details address{font-style:normal;line-height:1.6}
.efi-recibido__acc{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin:0 0 8px}
.efi-recibido__wa{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600}
.efi-recibido .woocommerce-order-again .button,.efi-recibido a.button.pay{min-height:48px}
/* WooCommerce despliega/pliega las descripciones al enfocar campos; en v3 se ven siempre. Sin esto la pagina "vibra" en movil. */
.woocommerce-checkout .woocommerce-input-wrapper .description{display:block!important;height:auto!important;margin-top:4px!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;overflow:visible!important}
