/* Capa de WooCommerce sobre shop.css.
   shop.css es el del prototipo, sin tocar. Aquí solo se traduce el marcado que genera
   WooCommerce (.form-row, avisos, métodos de pago) a los estilos del prototipo
   (.field, .row, .notice, .pay-opt). Los estilos propios de WooCommerce no se cargan. */

.screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.clear{clear:both;}

/* ── CAMPOS: .form-row = .field; first/last = .row de dos columnas ── */
.pc-fields{display:grid;grid-template-columns:1fr 1fr;column-gap:14px;}
.pc-fields .form-row{grid-column:1 / -1;margin-bottom:15px;}
.pc-fields .form-row-first{grid-column:1;}
.pc-fields .form-row-last{grid-column:2;}
.form-row label{display:block;font-size:14px;font-weight:500;margin-bottom:5px;}
.form-row .required{color:#B3261E;text-decoration:none;border:0;cursor:default;}
.form-row .optional{display:none;}
.form-row .woocommerce-input-wrapper{display:block;}
.form-row input.input-text,.form-row select,.form-row textarea{
  width:100%;padding:12px 13px;border-radius:8px;border:1.5px solid rgba(63,98,162,.28);
  font-size:16px;font-family:'DM Sans',sans-serif;color:var(--text);background:#fff;outline:none;
  transition:border .2s,box-shadow .2s;
}
.form-row textarea{resize:vertical;min-height:76px;line-height:1.5;}
.form-row input.input-text:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(63,98,162,.14);}
.form-row.woocommerce-invalid input.input-text,.form-row.woocommerce-invalid select{border-color:#B3261E;}
/* un solo país permitido: WooCommerce lo pinta como texto, no como select */
.form-row#billing_country_field .woocommerce-input-wrapper strong{
  display:block;padding:12px 13px;border-radius:8px;border:1.5px solid rgba(63,98,162,.14);
  background:var(--cream);font-weight:400;
}
.woocommerce-account-fields .hint{margin:4px 0 0;}

/* ── AVISOS: los de WooCommerce con el aspecto de .notice ── */
.woocommerce-notices-wrapper:empty{display:none;}
.woocommerce-error,.woocommerce-message,.woocommerce-info,.woocommerce-NoticeGroup .woocommerce-error{
  list-style:none;display:block;padding:14px 16px;border-radius:12px;font-size:14.5px;line-height:1.55;margin:0 0 22px;
}
.woocommerce-info,.woocommerce-message{background:var(--brand-light);color:var(--brand-dark);}
.woocommerce-error{background:var(--err-bg);color:var(--err-fg);}
.woocommerce-error li + li{margin-top:4px;}
.woocommerce-info a,.woocommerce-message a,.woocommerce-error a{color:inherit;font-weight:500;}
.woocommerce-info .button,.woocommerce-message .button{float:right;margin-left:12px;}
.woocommerce-form-login{background:#fff;border:1px solid rgba(63,98,162,.14);border-radius:16px;padding:22px;margin-bottom:22px;}
.woocommerce-form-login .form-row{margin-bottom:12px;}
.woocommerce-form-login .button{display:inline-block;padding:12px 24px;border-radius:50px;border:0;background:var(--brand);color:#fff;font:500 15px 'DM Sans',sans-serif;cursor:pointer;}

/* ── RESUMEN ── */
.order .product-name{text-align:left;}
.order .li-remove{display:inline-block;}
.order .woocommerce-Price-amount{white-space:nowrap;}
#order_review{position:relative;}

/* ── PAGO: ul/li de WooCommerce con el aspecto de .pay-opt ── */
.payment_methods{list-style:none;margin:0;padding:0;}
.pay-opt .payment_box{display:block;}
.pay-opt .payment_box p{margin:0;}
.pay-opt .payment_box p + p{margin-top:8px;}
.pay-opt .logos img{display:inline-block;height:22px;width:auto;vertical-align:middle;margin-left:4px;}
#payment .place-order{padding:0;}

@media(max-width:560px){
  .pc-fields{grid-template-columns:1fr;}
  .pc-fields .form-row-first,.pc-fields .form-row-last{grid-column:1;}
}

.order .hours-summary td{border-top:0;padding:0;font-size:inherit;font-weight:400;text-align:left;}
.order .hours-summary .hint{margin:0 0 4px;}

/* ── MI CUENTA ── */
.woocommerce-MyAccount-content > .panel + .panel,.woocommerce-MyAccount-content .panel{margin-bottom:20px;}
.woocommerce-MyAccount-content .panel + .panel{margin-top:0;}
.pc-password{border:0;border-top:1px solid rgba(63,98,162,.12);margin:10px 0 18px;padding:18px 0 0;min-width:0;}
.pc-password legend{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:600;padding:0;margin-bottom:6px;}
.pc-login{max-width:460px;}
.pc-pagination{display:flex;gap:10px;justify-content:space-between;}
.tbl .pill{white-space:nowrap;}
/* cinco columnas no caben a 390 px: la tabla se desplaza dentro de su panel, no la página */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tbl-wrap .tbl{min-width:520px;}

/* Radio hermano del label (estructura de WooCommerce, necesaria para Stripe): se coloca
   donde lo tenía el prototipo, a la izquierda del título. */
.pay-opt{position:relative;}
.pay-opt > input.input-radio{position:absolute;left:16px;top:17px;width:19px;height:19px;margin:0;accent-color:var(--brand);}
.pay-opt > label{padding-left:46px;}
/* con un único método, WooCommerce oculta el radio: el título no necesita la sangría */
.pay-opt > input.input-radio[style*="none"] + label{padding-left:16px;}

/* Medidor de fuerza de la contraseña de WooCommerce */
.woocommerce-password-strength{font-size:13.5px;margin:-6px 0 12px;padding:6px 10px;border-radius:8px;background:var(--brand-light);color:var(--brand-dark);}
.woocommerce-password-strength.bad,.woocommerce-password-strength.short{background:var(--err-bg);color:var(--err-fg);}
.woocommerce-password-strength.good{background:var(--demo-bg);color:var(--demo);}
.woocommerce-password-strength.strong{background:var(--ok-bg);color:var(--ok-fg);}
.woocommerce-password-hint{display:block;font-size:13px;color:var(--muted);margin:-4px 0 14px;}
.pc-login .form-row{margin-bottom:15px;}
.pc-login .btn-block{margin-top:6px;}
