/**
 * Pantallas de la tienda con el diseño del plugin: carrito, pago y «Mi cuenta».
 *
 * Se apoya en los tokens que ya emite el plugin (--wcab-primary, --wcab-accent, --wcab-border,
 * --wcab-surface, --wcab-r-*, tipografías) para que la tienda y el panel de reserva se vean
 * como una sola cosa. Aquí NO se fijan colores de marca: si el sitio cambia sus tokens, esto
 * cambia con él.
 */

.wcab-cart,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce{font-family:var(--wcab-font-body,inherit);color:var(--wcab-secondary,inherit)}

/* ---------- Aire alrededor de la página ----------
   Estas tres pantallas las pinta el plugin de arriba abajo, pero el tema las mete en su
   contenedor y el respiro que quede alrededor depende de él: había pantallas pegadas al pie y
   otras a la cabecera. El aire lo pone el plugin, por variable para que quien maqueta pueda
   cambiarlo sin pelearse con la especificidad. El `.woocommerce` anidado se descuenta: si no,
   una pantalla con dos envoltorios sumaría el doble. */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce{padding-block:var(--wcab-page-space,56px)}
/* «Mi cuenta» ya trae su propio aire por arriba —el saludo y la rejilla de paneles—, así que
   ahí solo hace falta abajo: con los dos quedaba demasiado despegada de la cabecera. */
.woocommerce-account .woocommerce{padding-block:0 var(--wcab-page-space,56px)}
.woocommerce .woocommerce{padding-block:0}

/* ---------- Carrito: la rejilla ---------- */
/* Solo el formulario y la columna de totales hacen columnas: cualquier otra cosa que se
   cuele ahí —el aviso del bloqueo de plazas, o lo que imprima otro plugin en un gancho—
   ocupa la fila entera en vez de robar una celda y descolocarlo todo. */
.wcab-cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}
.wcab-cart-layout > *{grid-column:1 / -1}
.wcab-cart-layout > .woocommerce-cart-form{grid-column:1 / 2;grid-row:2}
.wcab-cart-layout > .wcab-cart-side{grid-column:2 / 3;grid-row:2}
.wcab-cart-items{display:flex;flex-direction:column;gap:16px}

/* ---------- Carrito: cada reserva, una tarjeta ---------- */
.wcab-ci{display:grid;column-gap:18px;align-items:start;padding:16px;
	grid-template-columns:132px minmax(0,1fr) auto;
	grid-template-areas:"media head price" "media meta price";
	background:var(--wcab-surface,#fff);border:1px solid var(--wcab-border,rgba(0,0,0,.10));
	border-radius:var(--wcab-r-card,16px);box-shadow:0 1px 2px rgba(15,37,55,.06);transition:box-shadow .15s}
.wcab-ci:hover{box-shadow:0 8px 24px rgba(15,37,55,.10)}
.wcab-ci-media{grid-area:media;align-self:start}
.wcab-ci-media img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;
	border-radius:var(--wcab-r-md,12px);background:var(--wcab-surface-2,#eef3f7)}
.wcab-ci-head{grid-area:head;min-width:0}
.wcab-ci-kind{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;
	color:var(--wcab-accent-d,var(--wcab-accent,#0e7c86))}
.wcab-ci-name{margin:2px 0 0;font-size:19px;font-weight:800;line-height:1.2;
	font-family:var(--wcab-font-head,inherit);color:var(--wcab-primary,inherit)}
.wcab-ci-name a{color:inherit;text-decoration:none}
.wcab-ci-name a:hover{color:var(--wcab-accent,#0e7c86)}

/* La meta de la reserva: un icono por concepto, el concepto arriba y el valor debajo. */
.wcab-ci-meta{grid-area:meta;list-style:none;margin:9px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}
.wcab-ci-meta li{display:flex;align-items:flex-start;gap:9px;margin:0;font-size:14px}
.wcab-ci-meta svg{flex:none;width:15px;height:15px;margin-top:3px;color:var(--wcab-primary,inherit)}
.wcab-ci-mv{display:flex;flex-direction:column;gap:1px;min-width:0}
.wcab-ci-mv .k{font-size:13px;color:var(--wcab-secondary,inherit)}
.wcab-ci-mv b{font-weight:700;color:var(--wcab-primary,inherit)}
.wcab-ci-mv b.is-disc{color:var(--wcab-c-open,#2e7d32)}
.wcab-ci-mv p{margin:0}

/* Precio, cantidad y papelera, en su columna. */
.wcab-ci-price{grid-area:price;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;
	gap:12px;text-align:right;padding-top:4px;align-self:stretch}
.wcab-ci-amt{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.wcab-ci-price .product-subtotal{font-family:var(--wcab-font-head,inherit);font-weight:800;font-size:21px;
	white-space:nowrap;letter-spacing:-.01em;color:var(--wcab-primary,inherit)}
.wcab-ci-price small{font-size:12px;color:var(--wcab-secondary,inherit)}
.wcab-ci-price .quantity{margin:0}
/* El enlace de quitar: WooCommerce lo estila como una «×» roja grande con `.woocommerce
   a.remove`, que empata con la clase sola; por eso el selector lleva el contenedor delante. */
.wcab-cart a.remove.wcab-ci-remove,
.woocommerce .wcab-cart a.remove.wcab-ci-remove{width:36px;height:36px;display:grid;place-items:center;flex:none;
	border:1px solid var(--wcab-border,rgba(0,0,0,.12));border-radius:var(--wcab-r-sm,10px);
	background:var(--wcab-surface,#fff);color:var(--wcab-secondary,inherit);text-decoration:none;
	font-size:0;transition:.14s}
.wcab-cart a.remove.wcab-ci-remove svg{width:17px;height:17px}
.wcab-cart a.remove.wcab-ci-remove:hover,
.woocommerce .wcab-cart a.remove.wcab-ci-remove:hover{color:var(--wcab-c-full,#b3453e);
	border-color:var(--wcab-c-full,#b3453e);background:color-mix(in srgb,var(--wcab-c-full,#b3453e) 6%,transparent)}

/* ---------- Carrito: acciones y vuelta atrás ---------- */
.wcab-cart-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}
.wcab-cart-coupon{display:flex;gap:8px;flex:1 1 260px;min-width:0}
.wcab-cart-coupon input{flex:1;min-width:0;padding:10px 12px;font-size:14px;
	border:1.5px solid var(--wcab-border,rgba(0,0,0,.16));border-radius:var(--wcab-r-sm,10px);
	background:var(--wcab-surface,#fff);color:inherit;font-family:inherit}
.wcab-cart .button.wcab-btn-ghost{padding:10px 16px;font-size:14px;font-weight:700;line-height:1.2;
	border-radius:var(--wcab-r-sm,10px);border:1.5px solid var(--wcab-primary,#17354d);
	background:transparent;color:var(--wcab-primary,#17354d);cursor:pointer}
.wcab-cart .button.wcab-btn-ghost:hover{border-color:var(--wcab-accent,#e48e45);color:var(--wcab-accent,#e48e45);background:transparent}
.wcab-cart-back{display:inline-flex;align-items:center;gap:6px;margin-top:20px;font-size:14px;font-weight:700;
	text-decoration:none;color:var(--wcab-primary,inherit)}
.wcab-cart-back:hover{color:var(--wcab-accent,#0e7c86)}
.wcab-cart-back svg{width:16px;height:16px}

/* ---------- Carrito: la columna de totales ---------- */
.wcab-cart-side{position:sticky;top:94px}
.wcab-cart-side .cart_totals{padding:20px;background:var(--wcab-surface,#fff);
	border:1px solid var(--wcab-border,rgba(0,0,0,.10));border-radius:var(--wcab-r-card,16px);
	box-shadow:0 8px 24px rgba(15,37,55,.10)}
.wcab-cart-side .cart_totals h2{margin:0 0 16px;font-size:19px;font-weight:800;
	font-family:var(--wcab-font-head,inherit);color:var(--wcab-primary,inherit)}
/* WooCommerce pinta los totales como tabla y el tema le pone bordes; aquí se leen como
   filas concepto/importe. Los selectores llevan `table`/`.woocommerce` delante porque las
   reglas del tema para las tablas vienen con esa misma especificidad. */
.wcab-cart-side table.shop_table,
.woocommerce .wcab-cart-side table.shop_table,
.wcab-cart-side table.shop_table tbody,
.woocommerce .wcab-cart-side table.shop_table tbody{display:block;width:100%;border:0;border-collapse:collapse;
	font-size:15px;border-radius:0;background:none}
.wcab-cart-side table.shop_table tr,
.woocommerce .wcab-cart-side table.shop_table tr{display:flex;align-items:baseline;justify-content:space-between;
	gap:12px;width:100%;padding:11px 0;border:0;background:none}
.wcab-cart-side table.shop_table tr.order-total,
.woocommerce .wcab-cart-side table.shop_table tr.order-total{border-top:1px solid var(--wcab-border,rgba(0,0,0,.10))}
.wcab-cart-side table.shop_table tr.order-total th,
.woocommerce .wcab-cart-side table.shop_table tr.order-total th{font-weight:800;
	font-family:var(--wcab-font-head,inherit);color:var(--wcab-primary,inherit)}
.wcab-cart-side table.shop_table tr.order-total td,
.woocommerce .wcab-cart-side table.shop_table tr.order-total td{font-family:var(--wcab-font-head,inherit);
	font-weight:800;font-size:23px;letter-spacing:-.02em}
.wcab-cart-side table.shop_table th,
.wcab-cart-side table.shop_table td,
.woocommerce .wcab-cart-side table.shop_table th,
.woocommerce .wcab-cart-side table.shop_table td{display:block;border:0;padding:0;background:none}
.wcab-cart-side table.shop_table th,
.woocommerce .wcab-cart-side table.shop_table th{text-align:left;font-weight:400;
	font-family:var(--wcab-font-body,inherit);color:var(--wcab-secondary,inherit)}
.wcab-cart-side table.shop_table td{text-align:right;color:var(--wcab-primary,inherit)}

/* «(incluye 1,21 € IVA)» en su propia línea y en pequeño: no compite con el importe. */
.wcab-cart-side .includes_tax,
.wcab-cart-side .tax_label{display:block;font-size:12px;font-weight:400;
	font-family:var(--wcab-font-body,inherit);letter-spacing:0;color:var(--wcab-secondary,inherit)}
.wcab-cart-side .includes_tax .amount{font-weight:600}
.wcab-cart-side .order-total th{font-weight:800;color:var(--wcab-primary,inherit);font-family:var(--wcab-font-head,inherit)}
.wcab-cart-side .order-total td{font-family:var(--wcab-font-head,inherit);font-weight:800;font-size:23px;letter-spacing:-.02em}
.wcab-cart-side .cart-discount td{color:var(--wcab-c-open,#2e7d32)}
.wcab-cart-side .wc-proceed-to-checkout{padding:0;margin-top:4px}
/* El botón de pagar: el tema y WooCommerce pintan `.button.alt` con su propio color, y esas
   reglas llevan `.woocommerce` delante; aquí se iguala la especificidad para no usar
   !important. */
.wcab-cart-side .wc-proceed-to-checkout a.checkout-button,
.woocommerce .wcab-cart-side .wc-proceed-to-checkout a.checkout-button,
.woocommerce .wcab-cart-side a.button.alt{display:block;width:100%;box-sizing:border-box;text-align:center;
	padding:14px 18px;font-size:16px;font-weight:800;line-height:1.25;text-decoration:none;
	border-radius:var(--wcab-r-sm,10px);border:0;background:var(--wcab-accent,#e48e45);color:#fff}
.wcab-cart-side .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce .wcab-cart-side a.button.alt:hover{background:var(--wcab-accent-d,#cf7526);color:#fff}
.wcab-cart-side .shipping-calculator-button{color:var(--wcab-primary,inherit)}

/* ---------- Carrito vacío ---------- */
.wcab-cart-empty{max-width:460px;margin:0 auto;text-align:center;color:var(--wcab-secondary,inherit)}
.wcab-cart-empty svg{width:56px;height:56px;color:var(--wcab-border,#c9d6e0)}
.wcab-cart-empty h2{margin:14px 0 6px;font-size:23px;font-weight:800;
	font-family:var(--wcab-font-head,inherit);color:var(--wcab-primary,inherit)}
.wcab-cart-empty p{margin:0 0 18px;font-size:15px}
.wcab-cart-empty .button.wcab-btn{display:inline-block;padding:13px 22px;font-size:15px;font-weight:800;
	text-decoration:none;border-radius:var(--wcab-r-sm,10px);border:0;background:var(--wcab-accent,#e48e45);color:#fff}

@media (max-width:980px){
	/* Una sola columna: hay que soltar también las celdas fijas de arriba. */
	.wcab-cart-layout{grid-template-columns:minmax(0,1fr)}
	.wcab-cart-layout > .woocommerce-cart-form,
	.wcab-cart-layout > .wcab-cart-side{grid-column:1 / -1;grid-row:auto}
	.wcab-cart-side{position:static}
}
@media (max-width:640px){
	/* En el móvil la tarjeta se apila: foto y título arriba, meta debajo, precio al pie. */
	.wcab-ci{grid-template-columns:84px minmax(0,1fr);
		grid-template-areas:"media head" "meta meta" "price price";row-gap:12px}
	.wcab-ci-meta{margin-top:0}
	.wcab-ci-price{flex-direction:row;align-items:center;justify-content:space-between;width:100%;
		padding-top:12px;border-top:1px solid var(--wcab-border,rgba(0,0,0,.10))}
	.wcab-ci-amt{align-items:flex-start;text-align:left}
	.wcab-cart-coupon{flex:1 1 100%}
}

/* ============================ PAGO ============================ */
.wcab-co{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:32px;align-items:start}
.wcab-co-main{display:flex;flex-direction:column;gap:18px;min-width:0}
.wcab-co-sec{padding:22px 22px 24px;background:var(--wcab-surface,#fff);
	border:1px solid var(--wcab-border,rgba(0,0,0,.10));border-radius:var(--wcab-r-card,16px);
	box-shadow:0 1px 2px rgba(15,37,55,.06)}
.wcab-co-sec > h2{display:flex;align-items:center;gap:11px;margin:0 0 18px;font-size:19px;font-weight:800;
	font-family:var(--wcab-font-head,inherit);color:var(--wcab-primary,inherit)}
.wcab-co-num{flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;
	background:var(--wcab-primary,#17354d);color:#fff;font-family:var(--wcab-font-body,inherit);
	font-size:14px;font-weight:800;line-height:1}
/* WooCommerce mete su propio «Detalles de facturación»: sobra, el rótulo ya lo pone el paso.
   Se esconde a la vista pero se deja para quien navega con lector de pantalla. */
.wcab-co .woocommerce-billing-fields > h3,
.wcab-co .woocommerce-shipping-fields > h3,
.wcab-co #ship-to-different-address{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.wcab-co .col2-set{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
/* WooCommerce flota esas dos columnas al 48 %: aquí el ancho lo decide la rejilla. */
.wcab-co .col2-set .col-1,
.wcab-co .col2-set .col-2{float:none;width:100%;max-width:none;padding:0}

/* Campos.
   Los selectores llevan `.woocommerce form.wcab-co` delante a propósito: WooCommerce estila
   los suyos con `.woocommerce form .form-row .input-text`, que EMPATA en especificidad con la
   clase sola y se imprime después (va en la hoja de estilos globales, posterior a esta). Con
   el empate ganaba Woo y los campos se quedaban con su caja de 36 px. */
.wcab-co .form-row{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;padding:0}
.wcab-co .form-row > label{font-size:13px;font-weight:700;color:var(--wcab-primary,inherit)}
.wcab-co .form-row > label .required{color:var(--wcab-accent-d,var(--wcab-accent,#cf7526));text-decoration:none;border:0}
.woocommerce form.wcab-co .form-row .input-text,
.woocommerce form.wcab-co .form-row select,
.woocommerce form.wcab-co .form-row textarea,
.woocommerce form.wcab-co .select2-container .select2-selection--single,
.wcab-co .form-row .input-text,
.wcab-co .form-row select,
.wcab-co .form-row textarea,
.wcab-co .select2-container .select2-selection--single{width:100%;box-sizing:border-box;
	padding:12px 14px;font-family:inherit;font-size:15px;line-height:1.3;color:inherit;
	border:1.5px solid var(--wcab-border,rgba(0,0,0,.16));border-radius:var(--wcab-r-sm,10px);
	background:var(--wcab-surface,#fff);transition:border-color .14s,box-shadow .14s;
	min-height:0;height:auto}
.woocommerce form.wcab-co .form-row .input-text:focus,
.woocommerce form.wcab-co .form-row select:focus,
.woocommerce form.wcab-co .form-row textarea:focus{outline:none;border-color:var(--wcab-accent,#e48e45);
	box-shadow:0 0 0 3px color-mix(in srgb,var(--wcab-accent,#e48e45) 18%,transparent)}
.woocommerce form.wcab-co textarea.input-text{min-height:96px;resize:vertical}
/* Validación de WooCommerce: en vez de su verde y su rojo chillones, los del plugin y solo
   en el borde. */
.woocommerce form.wcab-co .form-row.woocommerce-validated .input-text,
.woocommerce form.wcab-co .form-row.woocommerce-validated select{border-color:var(--wcab-c-open,#2e7d32)}
.woocommerce form.wcab-co .form-row.woocommerce-invalid .input-text,
.woocommerce form.wcab-co .form-row.woocommerce-invalid select{border-color:var(--wcab-c-full,#b3453e)}
.wcab-co .form-row.woocommerce-invalid > label{color:var(--wcab-c-full,#b3453e)}

/* El desplegable, con la flecha del diseño en vez de la del navegador. */
.woocommerce form.wcab-co .form-row select{appearance:none;-webkit-appearance:none;padding-right:34px;
	background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317354D' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 12px center;background-size:14px}
/* Las casillas de los campos propios: cuadrito con visto, no la del navegador.
   `display:inline-block` es imprescindible: en `inline` (que es como vienen) el ancho y el
   alto se ignoran y la casilla se queda en 2 px. */
.wcab-co .form-row .input-checkbox,
.woocommerce form.wcab-co .form-row .input-checkbox{appearance:none;-webkit-appearance:none;
	display:inline-block;width:20px;height:20px;flex:none;margin:0 10px 0 0;vertical-align:-4px;
	cursor:pointer;position:relative;
	border:1.6px solid var(--wcab-border,rgba(0,0,0,.16));border-radius:6px;background:var(--wcab-surface,#fff)}
.wcab-co .form-row .input-checkbox:checked,
.woocommerce form.wcab-co .form-row .input-checkbox:checked{background:var(--wcab-accent,#e48e45);
	border-color:var(--wcab-accent,#e48e45)}
.wcab-co .form-row .input-checkbox:checked::after,
.woocommerce form.wcab-co .form-row .input-checkbox:checked::after{content:"";position:absolute;
	left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.wcab-co .form-row label.checkbox{flex-direction:row;align-items:center;font-weight:600;color:inherit;font-size:14px}
/* Dos por fila cuando WooCommerce las marca como mitades. */
@media (min-width:600px){
	/* Dos por fila; las que WooCommerce marca como anchas ocupan la fila entera. */
	.wcab-co .woocommerce-billing-fields__field-wrapper,
	.wcab-co .woocommerce-shipping-fields__field-wrapper,
	.wcab-co .woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
	.wcab-co .form-row-wide,
	.wcab-co .form-row-full,
	.wcab-co .notes,
	.wcab-co .woocommerce-additional-fields{grid-column:1 / -1}
	/* El ancho lo decide la columna, no WooCommerce: sus `.form-row-first/last` vienen con
	   width:47 % y `float`, pensados para un maquetado sin rejilla, y dejaban los campos a
	   media columna. */
	.woocommerce form.wcab-co .form-row,
	.woocommerce form.wcab-co .form-row-first,
	.woocommerce form.wcab-co .form-row-last,
	.woocommerce form.wcab-co .form-row-wide{width:auto;max-width:none;float:none}
}
.wcab-co .woocommerce-additional-fields h3{font-size:16px;font-weight:800;margin:6px 0 12px;
	font-family:var(--wcab-font-head,inherit);color:var(--wcab-primary,inherit)}

/* Métodos de pago: la lista de WooCommerce, con la cara de las tarjetas del diseño. */
.wcab-co ul.wc_payment_methods{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.wcab-co ul.wc_payment_methods li{margin:0;padding:0;background:none}
.wcab-co li.wc_payment_method > label{display:flex;align-items:center;gap:12px;margin:0;padding:14px 16px;
	border:1.5px solid var(--wcab-border,rgba(0,0,0,.16));border-radius:var(--wcab-r-md,12px);cursor:pointer;
	font-weight:700;color:var(--wcab-primary,inherit);transition:border-color .14s,background .14s}
.wcab-co li.wc_payment_method > label:hover{border-color:var(--wcab-accent,#e48e45)}
/* El punto va CENTRADO con el nombre del método. El truco: el `li` es una rejilla y el radio
   se manda a la MISMA celda que la etiqueta (`grid-area:1/1`), así se centra con ella y no con
   todo el bloque —que crece cuando el método despliega su explicación debajo—. */
.wcab-co li.wc_payment_method{display:grid;grid-template-columns:minmax(0,1fr)}
.wcab-co ul.wc_payment_methods li.wc_payment_method > input[type=radio],
.woocommerce form.wcab-co ul.wc_payment_methods li.wc_payment_method > input[type=radio]{
	appearance:none;-webkit-appearance:none;
	/* La separación del borde se hace con `transform`, no con margen: WooCommerce le pone
	   su propio `margin` al radio y ganaba. */
	grid-area:1 / 1;align-self:center;justify-self:start;transform:translateX(18px);position:relative;
	width:20px;height:20px;border:1.6px solid var(--wcab-border,rgba(0,0,0,.16));
	border-radius:50%;background:var(--wcab-surface,#fff);cursor:pointer;z-index:1}
.wcab-co li.wc_payment_method > label{grid-area:1 / 1}
.wcab-co li.wc_payment_method > input[type=radio]:checked{border-color:var(--wcab-accent,#e48e45)}
.wcab-co li.wc_payment_method > input[type=radio]:checked::after{content:"";position:absolute;inset:4px;
	border-radius:50%;background:var(--wcab-accent,#e48e45)}
.wcab-co li.wc_payment_method > label{padding-left:48px}
/* El método elegido se resalta: WooCommerce solo deja ver el suyo por el radio marcado. */
.wcab-co li.wc_payment_method:has(> input:checked) > label{border-color:var(--wcab-accent,#e48e45);
	background:color-mix(in srgb,var(--wcab-accent,#e48e45) 6%,transparent);
	box-shadow:0 0 0 1px var(--wcab-accent,#e48e45) inset}
/* WooCommerce pinta su bloque de pago con fondo gris, esquinas y un triángulo sobre la caja
   del método; sus selectores llevan `.woocommerce-checkout #payment` delante, así que aquí
   se repite esa cadena para quitarlo sin `!important`. */
.wcab-co #payment,
.woocommerce-checkout .wcab-co #payment{background:none;border-radius:0;padding:0}
.wcab-co #payment div.payment_box,
.woocommerce-checkout .wcab-co #payment div.payment_box{margin:10px 0 0;padding:14px 16px;font-size:14px;
	line-height:1.5;border:0;border-top:1px dashed var(--wcab-border,rgba(0,0,0,.14));border-radius:0;
	background:none;color:inherit}
.wcab-co #payment div.payment_box::before,
.woocommerce-checkout .wcab-co #payment div.payment_box::before{display:none}
.wcab-co #payment ul.payment_methods{padding:0;border:0}
.wcab-co .payment_box p:last-child{margin-bottom:0}
.wcab-co .payment_methods li img{max-height:22px;width:auto;margin-left:auto}

/* Condiciones y botón de pagar */
.wcab-co .woocommerce-terms-and-conditions-wrapper{margin-top:14px;font-size:14px}
.wcab-co .form-row.place-order{margin:16px 0 0}
.wcab-co #place_order{display:block;width:100%;box-sizing:border-box;text-align:center;
	padding:15px 18px;font-size:16px;font-weight:800;border:0;border-radius:var(--wcab-r-sm,10px);
	background:var(--wcab-accent,#e48e45);color:#fff;cursor:pointer}
.wcab-co #place_order:hover{background:var(--wcab-accent-d,#cf7526)}

/* Resumen del pedido */
.wcab-co-side{position:sticky;top:94px;padding:20px;background:var(--wcab-surface,#fff);
	border:1px solid var(--wcab-border,rgba(0,0,0,.10));border-radius:var(--wcab-r-card,16px);
	box-shadow:0 8px 24px rgba(15,37,55,.10)}
.wcab-co-side > h2{margin:0 0 14px;font-size:19px;font-weight:800;
	font-family:var(--wcab-font-head,inherit);color:var(--wcab-primary,inherit)}
/* Las líneas viven dentro de la tabla del repaso (para que el refresco por AJAX no
   duplique la lista), así que la celda se comporta como la tarjeta. */
.wcab-co-side table.wcab-co-tot .wcab-co-items td.wcab-oi,
.woocommerce .wcab-co-side table.wcab-co-tot .wcab-co-items td.wcab-oi{display:flex;align-items:center;
	gap:12px;padding:11px 0;border:0;border-top:1px solid var(--wcab-border,rgba(0,0,0,.10));
	text-align:left;background:none}
.wcab-co-side table.wcab-co-tot .wcab-co-items tr:first-child td.wcab-oi,
.woocommerce .wcab-co-side table.wcab-co-tot .wcab-co-items tr:first-child td.wcab-oi{border-top:0;padding-top:2px}

.wcab-oi{display:flex;align-items:center;gap:12px}
.wcab-oi-media{flex:none;width:52px;height:52px}
.wcab-oi-media img{width:52px;height:52px;object-fit:cover;border-radius:var(--wcab-r-sm,10px);display:block}
.wcab-oi-body{flex:1;min-width:0}
.wcab-oi-title{font-size:14px;font-weight:700;line-height:1.2;color:var(--wcab-primary,inherit)}
.wcab-oi-meta{margin-top:2px;font-size:12px;color:var(--wcab-secondary,inherit)}
.wcab-oi-price{font-family:var(--wcab-font-head,inherit);font-weight:800;font-size:15px;white-space:nowrap;
	color:var(--wcab-primary,inherit)}
/* La tabla del repaso se pinta como bloques: dentro del reparto de columnas de una tabla la
   tarjeta de la reserva se comprimía y los importes bailaban. Así cada fila es una línea con
   el concepto a la izquierda y el importe a la derecha, y las rayas quedan a la misma
   distancia por arriba y por abajo. */
.wcab-co-side table.wcab-co-tot,
.woocommerce .wcab-co-side table.wcab-co-tot,
.wcab-co-side table.wcab-co-tot tbody,
.wcab-co-side table.wcab-co-tot tfoot,
.woocommerce .wcab-co-side table.wcab-co-tot tbody,
.woocommerce .wcab-co-side table.wcab-co-tot tfoot{display:block;width:100%;margin:0;border:0;
	border-collapse:collapse;background:none;font-size:15px}
.wcab-co-side table.wcab-co-tot{margin-top:14px}
.wcab-co-side table.wcab-co-tot tr,
.woocommerce .wcab-co-side table.wcab-co-tot tr{display:flex;align-items:baseline;justify-content:space-between;
	gap:12px;width:100%;border:0;background:none}
.wcab-co-side table.wcab-co-tot th,
.wcab-co-side table.wcab-co-tot td,
.woocommerce .wcab-co-side table.wcab-co-tot th,
.woocommerce .wcab-co-side table.wcab-co-tot td{display:block;border:0;padding:0;background:none;
	text-align:left;font-weight:400;font-family:var(--wcab-font-body,inherit);color:var(--wcab-secondary,inherit)}
.wcab-co-side table.wcab-co-tot td,
.woocommerce .wcab-co-side table.wcab-co-tot td{text-align:right;white-space:nowrap;color:var(--wcab-primary,inherit)}
/* Cada fila de totales, con el mismo hueco arriba y abajo: la raya queda centrada. */
.wcab-co-side table.wcab-co-tot tfoot tr{padding:11px 0}
.wcab-co-side table.wcab-co-tot tfoot tr:first-child,
.wcab-co-side table.wcab-co-tot tfoot tr.order-total{border-top:1px solid var(--wcab-border,rgba(0,0,0,.10))}
.wcab-co-side table.wcab-co-tot tfoot tr.order-total th{font-weight:800;font-family:var(--wcab-font-head,inherit);
	color:var(--wcab-primary,inherit)}
.wcab-co-side table.wcab-co-tot tfoot tr.order-total td{font-family:var(--wcab-font-head,inherit);font-weight:800;
	font-size:23px;letter-spacing:-.02em}
.wcab-co-side table.wcab-co-tot .cart-discount td{color:var(--wcab-c-open,#2e7d32)}
/* Las reservas: cada fila es la tarjeta con foto, texto e importe. */
.wcab-co-side table.wcab-co-tot .wcab-co-items tr{display:block;padding:0}
.wcab-co-side table.wcab-co-tot .wcab-co-items td.wcab-oi,
.woocommerce .wcab-co-side table.wcab-co-tot .wcab-co-items td.wcab-oi{display:flex;align-items:center;gap:12px;
	width:100%;box-sizing:border-box;padding:11px 0;text-align:left;
	border-top:1px solid var(--wcab-border,rgba(0,0,0,.10))}
.wcab-co-side table.wcab-co-tot .wcab-co-items tr:first-child td.wcab-oi{border-top:0;padding-top:2px}

@media (max-width:980px){
	.wcab-co{grid-template-columns:minmax(0,1fr)}
	.wcab-co-side{position:static}
}

/* ============================ MI CUENTA ============================ */
/* Menú a la izquierda y contenido a la derecha; lo demás que WooCommerce imprima ahí
   (avisos, el recuadro de verificar el correo) ocupa la fila entera en vez de robar una
   celda y descolocar las columnas. */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:262px minmax(0,1fr);gap:32px;align-items:start}
.woocommerce-account .woocommerce > *{grid-column:1 / -1}
/* WooCommerce flota el menú al 30 % y el contenido al 68 %: dentro de la rejilla el ancho lo
   decide la columna. */
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation{grid-column:1 / 2;grid-row:2;width:auto;float:none}
.woocommerce-account .woocommerce > .woocommerce-MyAccount-content{grid-column:2 / 3;grid-row:2;width:auto;float:none}

/* La columna de apartados */
.wcab-acc-side{position:sticky;top:94px;overflow:hidden;background:var(--wcab-surface,#fff);
	border:1px solid var(--wcab-border,rgba(0,0,0,.10));border-radius:var(--wcab-r-card,16px);
	box-shadow:0 1px 2px rgba(15,37,55,.06)}
.wcab-acc-user{display:flex;align-items:center;gap:12px;padding:18px 20px;
	border-bottom:1px solid var(--wcab-border,rgba(0,0,0,.10))}
.wcab-acc-avatar{flex:none;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;
	background:var(--wcab-primary,#17354d);color:#fff;font-family:var(--wcab-font-head,inherit);
	font-weight:800;font-size:17px;line-height:1}
.wcab-acc-who{display:flex;flex-direction:column;min-width:0}
.wcab-acc-who .nm{font-weight:800;line-height:1.2;color:var(--wcab-primary,inherit);
	font-family:var(--wcab-font-head,inherit);overflow:hidden;text-overflow:ellipsis}
.wcab-acc-who .em{font-size:12px;color:var(--wcab-secondary,inherit);overflow:hidden;text-overflow:ellipsis}
.wcab-acc-nav{list-style:none;display:flex;flex-direction:column;gap:2px;margin:0;padding:8px}
.wcab-acc-nav li{margin:0;padding:0;border:0;list-style:none}
.wcab-acc-nav li a{display:flex;align-items:center;gap:11px;padding:11px 12px;font-size:14.5px;font-weight:600;
	text-decoration:none;border-radius:var(--wcab-r-sm,10px);color:var(--wcab-primary,inherit);transition:.12s}
.wcab-acc-nav li a svg{flex:none;width:18px;height:18px;color:var(--wcab-secondary,inherit)}
.wcab-acc-nav li a:hover{background:var(--wcab-surface-2,rgba(0,0,0,.04))}
.wcab-acc-nav li.is-active > a{background:var(--wcab-primary,#17354d);color:#fff}
.wcab-acc-nav li.is-active > a svg{color:#fff}
.wcab-acc-nav li.woocommerce-MyAccount-navigation-link--customer-logout a,
.wcab-acc-nav li.woocommerce-MyAccount-navigation-link--customer-logout a svg{color:var(--wcab-c-full,#b3453e)}

/* El contenido */
.wcab-acc-main{min-width:0}
.wcab-acc-main h2,
.wcab-acc-main h3{font-family:var(--wcab-font-head,inherit);color:var(--wcab-primary,inherit)}

/* Próximas / Pasadas */
.wcab-seg{display:inline-flex;gap:2px;padding:4px;margin:0 0 20px;
	background:var(--wcab-surface-2,rgba(0,0,0,.04));border:1px solid var(--wcab-border,rgba(0,0,0,.10));
	border-radius:999px}
.wcab-seg a{padding:8px 18px;border-radius:999px;font-size:14px;font-weight:700;text-decoration:none;
	color:var(--wcab-secondary,inherit);transition:.14s}
.wcab-seg a span{opacity:.6}
.wcab-seg a.is-active{background:var(--wcab-surface,#fff);color:var(--wcab-primary,inherit);
	box-shadow:0 1px 2px rgba(15,37,55,.10)}

/* Tarjetas de reserva */
.wcab-bookings{display:flex;flex-direction:column;gap:16px}
.wcab-bk{display:grid;grid-template-columns:158px minmax(0,1fr);overflow:hidden;
	background:var(--wcab-surface,#fff);border:1px solid var(--wcab-border,rgba(0,0,0,.10));
	border-radius:var(--wcab-r-card,16px);box-shadow:0 1px 2px rgba(15,37,55,.06);transition:box-shadow .15s}
.wcab-bk:hover{box-shadow:0 8px 24px rgba(15,37,55,.10)}
.wcab-bk-media{background:var(--wcab-surface-2,#eef3f7);display:block}
.wcab-bk-media .wcab-card-noimg{display:block;width:100%;height:100%;min-height:150px}
.wcab-bk-media img{width:100%;height:100%;object-fit:cover;display:block}
.wcab-bk.is-past .wcab-bk-media img{filter:grayscale(.3)}
.wcab-bk-body{display:flex;flex-direction:column;gap:13px;min-width:0;padding:18px 20px 20px}
.wcab-bk-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.wcab-bk-kind{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
	color:var(--wcab-accent-d,var(--wcab-accent,#cf7526))}
.wcab-bk-title{margin:2px 0 0;font-size:18px;font-weight:800;line-height:1.2;
	font-family:var(--wcab-font-head,inherit);color:var(--wcab-primary,inherit)}
.wcab-bk-title a{color:inherit;text-decoration:none}
.wcab-bk-title a:hover{color:var(--wcab-accent,#e48e45)}
.wcab-bk-status{flex:none;padding:5px 11px;border-radius:999px;font-size:11px;font-weight:800;
	text-transform:uppercase;letter-spacing:.04em}
.wcab-bk-status.is-confirmed{background:color-mix(in srgb,var(--wcab-c-open,#2e7d32) 14%,transparent);color:var(--wcab-c-open,#2e7d32)}
.wcab-bk-status.is-pending{background:color-mix(in srgb,var(--wcab-c-low,#b26a00) 14%,transparent);color:var(--wcab-c-low,#b26a00)}
.wcab-bk-status.is-done{background:var(--wcab-surface-2,rgba(0,0,0,.05));color:var(--wcab-secondary,inherit)}
.wcab-bk-status.is-cancelled{background:color-mix(in srgb,var(--wcab-c-full,#b3453e) 12%,transparent);color:var(--wcab-c-full,#b3453e)}
.wcab-bk-meta{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px 22px;margin:0;padding:0}
.wcab-bk-meta li{display:flex;flex-direction:column;gap:1px;margin:0}
.wcab-bk-meta .k{font-size:12px;color:var(--wcab-secondary,inherit)}
.wcab-bk-meta b{font-size:14.5px;font-weight:700;color:var(--wcab-primary,inherit)}
.wcab-bk-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:3px}
.woocommerce-account .wcab-bk-actions .button{padding:9px 15px;font-size:14px;font-weight:700;line-height:1.2;
	border-radius:var(--wcab-r-sm,10px);text-decoration:none;border:1.5px solid transparent}
/* `wcab-bk-btn` es como se llaman los botones de la pantalla «Mis reservas» del plugin;
   `wcab-btn`/`wcab-btn-ghost`, los de estas plantillas. Los dos, con la misma cara. */
.woocommerce-account .wcab-bk-actions .button.wcab-btn,
.woocommerce-account .wcab-bk-actions .button.wcab-bk-btn{background:var(--wcab-accent,#e48e45);color:#fff;
	border-color:var(--wcab-accent,#e48e45)}
.woocommerce-account .wcab-bk-actions .button.wcab-btn:hover,
.woocommerce-account .wcab-bk-actions .button.wcab-bk-btn:hover{background:var(--wcab-accent-d,#cf7526);
	border-color:var(--wcab-accent-d,#cf7526);color:#fff}
.woocommerce-account .wcab-bk-actions .button.wcab-btn-ghost,
.woocommerce-account .wcab-bk-actions .button.wcab-bk-btn.is-ghost{background:transparent;
	border-color:var(--wcab-primary,#17354d);color:var(--wcab-primary,#17354d)}
.woocommerce-account .wcab-bk-actions .button.wcab-btn-ghost:hover,
.woocommerce-account .wcab-bk-actions .button.wcab-bk-btn.is-ghost:hover{border-color:var(--wcab-accent,#e48e45);
	color:var(--wcab-accent,#e48e45);background:transparent}

/* Sin reservas, y los pedidos que no son reservas */
.wcab-acc-empty{padding:40px 20px;text-align:center;color:var(--wcab-secondary,inherit);
	background:var(--wcab-surface,#fff);border:1px dashed var(--wcab-border,rgba(0,0,0,.18));
	border-radius:var(--wcab-r-card,16px)}
.wcab-acc-empty p{margin:0 0 14px}
.woocommerce-account .wcab-acc-empty .button.wcab-btn{display:inline-block;padding:12px 20px;font-weight:800;
	text-decoration:none;border-radius:var(--wcab-r-sm,10px);background:var(--wcab-accent,#e48e45);color:#fff;border:0}
.wcab-acc-otros{margin:32px 0 12px;font-size:17px;font-weight:800}
.wcab-acc-orders{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.wcab-acc-orders li{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;margin:0;padding:11px 14px;
	font-size:14px;background:var(--wcab-surface,#fff);border:1px solid var(--wcab-border,rgba(0,0,0,.10));
	border-radius:var(--wcab-r-sm,10px)}
.wcab-acc-orders li a{font-weight:700;color:var(--wcab-primary,inherit);text-decoration:none}
.wcab-acc-pag{display:flex;gap:10px;margin-top:20px}

@media (max-width:980px){
	.woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr)}
	.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce > .woocommerce-MyAccount-content{grid-column:1 / -1;grid-row:auto}
	.wcab-acc-side{position:static}
	/* En pantalla estrecha el menú es una tira horizontal que se desplaza: envuelto en varias
	   líneas, los apartados quedaban descolocados unos respecto a otros. */
	.wcab-acc-nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:8px;
		scrollbar-width:none;-webkit-overflow-scrolling:touch}
	.wcab-acc-nav::-webkit-scrollbar{display:none}
	.wcab-acc-nav li{flex:none}
	.wcab-acc-nav li a{white-space:nowrap;border-radius:999px;
		border:1px solid var(--wcab-border,rgba(0,0,0,.10))}
	.wcab-acc-nav li.is-active > a{border-color:var(--wcab-primary,#17354d)}
	.wcab-acc-nav li a span{display:inline}
}
@media (max-width:640px){
	.wcab-bk{grid-template-columns:minmax(0,1fr)}
	.wcab-bk-media{height:150px}
}

/* ============================ GRACIAS ============================ */
.wcab-ty{max-width:760px;margin:0 auto}
.wcab-ty-head{text-align:center;margin-bottom:26px}
.wcab-ty-check{display:inline-grid;place-items:center;width:56px;height:56px;margin-bottom:12px;border-radius:50%;
	background:color-mix(in srgb,var(--wcab-c-open,#2e7d32) 14%,transparent);color:var(--wcab-c-open,#2e7d32)}
.wcab-ty-check svg{width:28px;height:28px}
.wcab-ty-head h2{margin:0 0 6px;font-size:26px;font-weight:800;
	font-family:var(--wcab-font-head,inherit);color:var(--wcab-primary,inherit)}
.wcab-ty-head p{margin:0;color:var(--wcab-secondary,inherit)}
/* Los datos del pedido, en una sola fila: cada uno ocupa lo que mide y el sobrante se reparte
   en los huecos. Con columnas de ancho fijo, cinco datos entraban en cuatro columnas y dejaban
   una fila coja; con `max-content` y `space-between` caben los cinco y el reparto es parejo.
   `minmax(0,…)` permite que se encojan si el correo es muy largo, en vez de desbordar. */
.wcab-ty-facts{list-style:none;display:grid;grid-auto-flow:column;
	grid-auto-columns:minmax(0,max-content);justify-content:space-between;gap:16px 20px;
	margin:0 0 26px;padding:18px 22px;background:var(--wcab-surface,#fff);
	border:1px solid var(--wcab-border,rgba(0,0,0,.10));border-radius:var(--wcab-r-card,16px)}
@media (max-width:760px){
	.wcab-ty-facts{grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
		justify-content:stretch}
}
/* WooCommerce cierra esa lista con pseudoelementos de «clearfix»: en un contenedor flexible
   son DOS elementos más, y empujaban el primer dato fuera de su sitio. */
.woocommerce .wcab-ty-facts::before,
.woocommerce .wcab-ty-facts::after,
.woocommerce ul.order_details.wcab-ty-facts::before,
.woocommerce ul.order_details.wcab-ty-facts::after{content:none;display:none}
/* WooCommerce separa esos datos con líneas de puntos y les mete relleno: aquí no. */
.woocommerce .wcab-ty-facts li,
.woocommerce ul.order_details.wcab-ty-facts li{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;
	border:0;float:none;width:auto;text-transform:none;line-height:1.35;font-size:inherit}
.wcab-ty-facts b{overflow-wrap:anywhere}
.wcab-ty-facts .k{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--wcab-secondary,inherit)}
.wcab-ty-facts b{font-size:15px;font-weight:800;color:var(--wcab-primary,inherit);
	font-family:var(--wcab-font-head,inherit)}
.wcab-ty-h{margin:0 0 12px;font-size:18px;font-weight:800}
.wcab-ty .wcab-bookings{margin-bottom:26px}
.wcab-ty .wcab-bk-actions .button.wcab-btn{padding:9px 15px;font-size:14px;font-weight:700;text-decoration:none;
	border-radius:var(--wcab-r-sm,10px);background:var(--wcab-accent,#e48e45);color:#fff;border:0;display:inline-block}
.wcab-ty-detail{font-size:14.5px}
.wcab-ty-detail h2,
.wcab-ty-detail h3{font-size:18px;font-weight:800;margin:26px 0 12px;
	font-family:var(--wcab-font-head,inherit);color:var(--wcab-primary,inherit)}
.wcab-ty-failed{max-width:560px;margin:0 auto;text-align:center}
.wcab-ty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}
.wcab-ty-actions .button{padding:12px 18px;font-weight:800;text-decoration:none;border-radius:var(--wcab-r-sm,10px)}
.wcab-ty-actions .button.wcab-btn{background:var(--wcab-accent,#e48e45);color:#fff;border:0}
.wcab-ty-actions .button.wcab-btn-ghost{background:transparent;color:var(--wcab-primary,#17354d);
	border:1.5px solid var(--wcab-primary,#17354d)}

/* ---------- Escritorio de Mi cuenta ---------- */
.wcab-dash-hi{margin:0;font-size:26px;font-weight:800;font-family:var(--wcab-font-head,inherit);
	color:var(--wcab-primary,inherit)}
.wcab-dash-sub{margin:4px 0 20px;color:var(--wcab-secondary,inherit)}
.wcab-dash-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:26px}
.wcab-tile{display:flex;flex-direction:column;gap:2px;padding:18px 20px;background:var(--wcab-surface,#fff);
	border:1px solid var(--wcab-border,rgba(0,0,0,.10));border-radius:var(--wcab-r-card,16px)}
.wcab-tile .n{font-family:var(--wcab-font-head,inherit);font-size:30px;font-weight:800;line-height:1.1;
	letter-spacing:-.02em;color:var(--wcab-primary,inherit)}
.wcab-tile .l{font-size:13px;color:var(--wcab-secondary,inherit)}
.wcab-dash-h{margin:0 0 12px;font-size:18px;font-weight:800}

/* ---------- Desglose del pedido (gracias, «ver pedido» y correos en pantalla) ---------- */
.woocommerce table.woocommerce-table--order-details{width:100%;margin:0;border-collapse:separate;
	border-spacing:0;font-size:15px;
	border:1px solid var(--wcab-border,rgba(0,0,0,.10));border-radius:var(--wcab-r-card,16px);overflow:hidden}
.woocommerce table.woocommerce-table--order-details th,
.woocommerce table.woocommerce-table--order-details td{padding:16px 18px;border:0;background:none;
	border-bottom:1px solid var(--wcab-border,rgba(0,0,0,.08));vertical-align:top;text-align:left}
.woocommerce table.woocommerce-table--order-details thead th{padding:13px 18px;
	font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
	color:var(--wcab-secondary,inherit);background:var(--wcab-surface-2,rgba(0,0,0,.03))}
.woocommerce table.woocommerce-table--order-details tbody tr:nth-child(2n) td{background:none}
/* El nombre de la actividad manda en la fila: es lo que se busca de un vistazo. */
.woocommerce table.woocommerce-table--order-details td.product-name{
	font-family:var(--wcab-font-head,inherit);font-size:17px;font-weight:800;line-height:1.3;
	color:var(--wcab-primary,inherit)}
.woocommerce table.woocommerce-table--order-details td.product-name > a{color:inherit;text-decoration:none}
.woocommerce table.woocommerce-table--order-details td.product-name > a:hover{color:var(--wcab-accent,#e48e45)}
.woocommerce table.woocommerce-table--order-details td.product-name .product-quantity{font-weight:700;
	color:var(--wcab-secondary,inherit)}
.woocommerce table.woocommerce-table--order-details td.product-total{white-space:nowrap;text-align:right;
	font-family:var(--wcab-font-head,inherit);font-size:16px;font-weight:800;color:var(--wcab-primary,inherit)}
/* Los datos de la reserva, en dos columnas y con el peso de un dato, no de un título. */
.woocommerce table.woocommerce-table--order-details .wc-item-meta{display:grid;
	grid-template-columns:auto 1fr;gap:4px 12px;margin:10px 0 0;padding:0;list-style:none;
	font-family:var(--wcab-font-body,inherit);font-size:13.5px;font-weight:400;line-height:1.45;
	color:var(--wcab-secondary,inherit)}
.woocommerce table.woocommerce-table--order-details .wc-item-meta li{display:contents;margin:0}
.woocommerce table.woocommerce-table--order-details .wc-item-meta strong{font-weight:600;
	color:var(--wcab-secondary,inherit)}
.woocommerce table.woocommerce-table--order-details .wc-item-meta p{margin:0;font-size:inherit;line-height:inherit;
	font-weight:500;color:var(--wcab-primary,inherit)}
.woocommerce table.woocommerce-table--order-details td.product-name .button{display:inline-block;margin:14px 0 0;
	padding:10px 16px;font-family:var(--wcab-font-head,inherit);font-size:14px;font-weight:800;line-height:1.2;
	text-decoration:none;border:0;border-radius:var(--wcab-r-sm,10px);
	background:var(--wcab-accent,#e48e45);color:#fff}
.woocommerce table.woocommerce-table--order-details td.product-name .button:hover{
	background:var(--wcab-accent-d,#cf7526);color:#fff}
/* El pie: las mismas reglas de factura que el carrito y el pago. */
.woocommerce table.woocommerce-table--order-details tfoot th,
.woocommerce table.woocommerce-table--order-details tfoot td{padding:12px 18px;font-size:15px}
.woocommerce table.woocommerce-table--order-details tfoot th{font-weight:400;color:var(--wcab-secondary,inherit)}
.woocommerce table.woocommerce-table--order-details tfoot td{text-align:right;font-weight:700;
	color:var(--wcab-primary,inherit)}
.woocommerce table.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce table.woocommerce-table--order-details tfoot tr:last-child td{padding-top:15px;padding-bottom:17px;
	border-bottom:0;font-family:var(--wcab-font-head,inherit);font-weight:800;
	color:var(--wcab-primary,inherit);background:var(--wcab-surface-2,rgba(0,0,0,.03))}
.woocommerce table.woocommerce-table--order-details tfoot tr:last-child td{font-size:19px}

/* ---------- Mi cuenta: direcciones, datos y formularios ---------- */
.woocommerce-account .woocommerce-Addresses{display:grid;
	grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin:0}
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after{display:none}
.woocommerce-account .woocommerce-Addresses.col2-set > .woocommerce-Address{width:auto;float:none;padding:20px;background:var(--wcab-surface,#fff);
	border:1px solid var(--wcab-border,rgba(0,0,0,.10));border-radius:var(--wcab-r-card,16px)}
.woocommerce-account .woocommerce-Address-title{display:flex;align-items:baseline;justify-content:space-between;
	gap:12px;margin:0 0 12px}
/* El tema pinta los títulos a lo grande; aquí manda el tamaño de la tarjeta. */
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title h3{margin:0;padding:0;
	font-family:var(--wcab-font-head,inherit);font-size:17px;line-height:1.25;font-weight:800;
	color:var(--wcab-primary,inherit)}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title a.edit{display:inline-flex;align-items:center;
	gap:5px;flex:none;font-size:13.5px;font-weight:700;text-decoration:none;color:var(--wcab-accent,#e48e45)}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title a.edit svg{width:14px;height:14px;
	fill:none;stroke:currentColor}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title a.edit:hover{text-decoration:underline}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address address{font-style:normal;font-size:14.5px;
	line-height:1.55;color:var(--wcab-secondary,inherit)}
.wcab-addr-vacia{color:var(--wcab-secondary,inherit);opacity:.75}
.woocommerce-account .wcab-acc-intro{margin:0 0 16px;color:var(--wcab-secondary,inherit)}
/* Los formularios de la cuenta, con la misma caja que los del pago. */
.woocommerce-account .woocommerce-address-fields .form-row,
.woocommerce-account .woocommerce-EditAccountForm .form-row,
.woocommerce-account .woocommerce-form-login .form-row{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;padding:0}
.woocommerce-account .woocommerce-address-fields .form-row > label,
.woocommerce-account .woocommerce-EditAccountForm .form-row > label,
.woocommerce-account .woocommerce-form-login .form-row > label{font-size:13px;font-weight:700;
	color:var(--wcab-primary,inherit)}
.woocommerce-account .woocommerce .form-row .input-text,
.woocommerce-account .woocommerce .form-row select,
.woocommerce-account .woocommerce .select2-container .select2-selection--single{width:100%;box-sizing:border-box;
	padding:12px 14px;font-family:inherit;font-size:15px;line-height:1.3;color:inherit;min-height:0;height:auto;
	border:1.5px solid var(--wcab-border,rgba(0,0,0,.16));border-radius:var(--wcab-r-sm,10px);
	background:var(--wcab-surface,#fff)}
.woocommerce-account .woocommerce .form-row .input-text:focus,
.woocommerce-account .woocommerce .form-row select:focus{outline:none;border-color:var(--wcab-accent,#e48e45);
	box-shadow:0 0 0 3px color-mix(in srgb,var(--wcab-accent,#e48e45) 18%,transparent)}
.woocommerce-account .woocommerce-address-fields button.button,
.woocommerce-account .woocommerce-EditAccountForm button.button,
.woocommerce-account .woocommerce-form-login button.button{padding:13px 20px;font-size:15px;font-weight:800;
	border:0;border-radius:var(--wcab-r-sm,10px);background:var(--wcab-accent,#e48e45);color:#fff;cursor:pointer}
.woocommerce-account .woocommerce-address-fields button.button:hover,
.woocommerce-account .woocommerce-EditAccountForm button.button:hover{background:var(--wcab-accent-d,#cf7526)}
.woocommerce-account fieldset{margin:22px 0 0;padding:20px;border:1px solid var(--wcab-border,rgba(0,0,0,.10));
	border-radius:var(--wcab-r-card,16px)}
.woocommerce-account fieldset legend{padding:0 8px;font-size:15px;font-weight:800;
	font-family:var(--wcab-font-head,inherit);color:var(--wcab-primary,inherit)}
.woocommerce-account .woocommerce-MyAccount-content > p:first-child{color:var(--wcab-secondary,inherit)}

/* ---------- Mi cuenta → Pedidos: la tabla, en tarjetas ---------- */
.woocommerce-account table.woocommerce-orders-table{display:block;width:100%;margin:0;border:0;
	border-collapse:separate;font-size:15px}
.woocommerce-account table.woocommerce-orders-table thead{display:none}
.woocommerce-account table.woocommerce-orders-table tbody{display:grid;gap:12px}
.woocommerce-account table.woocommerce-orders-table tbody tr{display:grid;
	grid-template-columns:1fr auto auto;
	grid-template-areas:"num estado ver" "fecha total ver";
	align-items:center;gap:4px 18px;margin:0;padding:16px 18px;
	background:var(--wcab-surface,#fff);border:1px solid var(--wcab-border,rgba(0,0,0,.10));
	border-radius:var(--wcab-r-card,16px)}
.woocommerce-account table.woocommerce-orders-table tbody td,
.woocommerce-account table.woocommerce-orders-table tbody th{display:block;width:auto;margin:0;padding:0;
	border:0;background:none;font-weight:inherit;text-align:left}
.woocommerce-account table.woocommerce-orders-table td::before,
.woocommerce-account table.woocommerce-orders-table th::before{display:none}
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number{grid-area:num;
	font-family:var(--wcab-font-head,inherit);font-size:16px;font-weight:800}
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a{
	color:var(--wcab-primary,inherit);text-decoration:none}
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a:hover{
	color:var(--wcab-accent,#e48e45)}
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-date{grid-area:fecha;
	font-size:14px;color:var(--wcab-secondary,inherit)}
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-total{grid-area:total;
	text-align:right;font-size:13.5px;color:var(--wcab-secondary,inherit)}
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-total .woocommerce-Price-amount{
	display:block;font-family:var(--wcab-font-head,inherit);font-size:17px;font-weight:800;
	color:var(--wcab-primary,inherit)}
/* El estado, como insignia; el color sale de la clase que WooCommerce pone en la fila. */
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-status{grid-area:estado;
	justify-self:end}
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-status{
	font-size:12.5px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.02em;
	padding:6px 11px;border-radius:999px;background:rgba(0,0,0,.05);color:var(--wcab-secondary,inherit)}
.woocommerce-account table.woocommerce-orders-table tr[class*="status-completed"] .woocommerce-orders-table__cell-order-status{
	background:color-mix(in srgb,var(--wcab-c-open,#2e9e6b) 14%,transparent);color:var(--wcab-c-open,#2e9e6b)}
.woocommerce-account table.woocommerce-orders-table tr[class*="status-processing"] .woocommerce-orders-table__cell-order-status,
.woocommerce-account table.woocommerce-orders-table tr[class*="status-on-hold"] .woocommerce-orders-table__cell-order-status,
.woocommerce-account table.woocommerce-orders-table tr[class*="status-pending"] .woocommerce-orders-table__cell-order-status{
	background:color-mix(in srgb,var(--wcab-c-low,#e0a33a) 16%,transparent);color:#8a5e12}
.woocommerce-account table.woocommerce-orders-table tr[class*="status-cancelled"] .woocommerce-orders-table__cell-order-status,
.woocommerce-account table.woocommerce-orders-table tr[class*="status-failed"] .woocommerce-orders-table__cell-order-status,
.woocommerce-account table.woocommerce-orders-table tr[class*="status-refunded"] .woocommerce-orders-table__cell-order-status{
	background:color-mix(in srgb,var(--wcab-c-full,#c0392b) 12%,transparent);color:var(--wcab-c-full,#c0392b)}
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions{grid-area:ver;
	display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button{
	margin:0;padding:9px 16px;font-size:14px;font-weight:800;line-height:1.2;text-decoration:none;
	border:1.5px solid var(--wcab-primary,#17354d);border-radius:var(--wcab-r-sm,10px);
	background:transparent;color:var(--wcab-primary,#17354d)}
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button:hover{
	border-color:var(--wcab-accent,#e48e45);background:var(--wcab-accent,#e48e45);color:#fff}
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button.pay{
	border-color:var(--wcab-accent,#e48e45);background:var(--wcab-accent,#e48e45);color:#fff}
@media (max-width:560px){
	.woocommerce-account table.woocommerce-orders-table tbody tr{grid-template-columns:1fr auto;
		grid-template-areas:"num estado" "fecha total" "ver ver";gap:8px 14px}
	.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions{
		justify-content:flex-start;margin-top:4px}
	/* WooCommerce alinea a la derecha TODAS las celdas de sus tablas «responsive» con
	   `!important`; aquí cada dato ya está en su sitio de la rejilla. */
	.woocommerce-account table.woocommerce-orders-table tbody td,
	.woocommerce-account table.woocommerce-orders-table tbody th{text-align:left !important}
	.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-total{
		text-align:right !important}
}
/* Paginación de los pedidos */
.woocommerce-account .woocommerce-pagination{display:flex;gap:10px;margin:18px 0 0}
.woocommerce-account .woocommerce-pagination .button{padding:10px 18px;font-size:14px;font-weight:800;
	text-decoration:none;border:1.5px solid var(--wcab-border,rgba(0,0,0,.14));
	border-radius:var(--wcab-r-sm,10px);background:var(--wcab-surface,#fff);color:var(--wcab-primary,inherit)}
.woocommerce-account .woocommerce-pagination .button:hover{border-color:var(--wcab-accent,#e48e45);
	color:var(--wcab-accent,#e48e45)}

/* ---------- Acceso, registro y contraseñas ---------- */
.wcab-auth{display:grid;gap:20px;justify-content:center}
.wcab-auth.has-registro{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),400px))}
.wcab-auth-card{width:100%;max-width:460px;margin:0 auto;padding:28px 26px 26px;
	background:var(--wcab-surface,#fff);border:1px solid var(--wcab-border,rgba(0,0,0,.10));
	border-radius:var(--wcab-r-card,16px)}
.wcab-auth.has-registro .wcab-auth-card{max-width:none}
.woocommerce .wcab-auth-card h2.wcab-auth-h{margin:0 0 6px;font-family:var(--wcab-font-head,inherit);
	font-size:21px;font-weight:800;color:var(--wcab-primary,inherit)}
.wcab-auth-sub{margin:0 0 20px;font-size:14.5px;line-height:1.5;color:var(--wcab-secondary,inherit)}
.wcab-auth-note{margin:0 0 16px;font-size:13.5px;color:var(--wcab-secondary,inherit)}
/* WooCommerce enmarca `form.login` y `form.register` con su propio recuadro: dentro de la
   tarjeta quedaba una caja dentro de otra. */
.woocommerce form.wcab-auth-form,
.woocommerce-page form.wcab-auth-form{margin:0;padding:0;border:0;border-radius:0;background:none}
.woocommerce .wcab-auth-form .form-row{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;padding:0}
.woocommerce .wcab-auth-form .form-row > label{font-size:13px;font-weight:700;color:var(--wcab-primary,inherit)}
.woocommerce .wcab-auth-form .form-row > label .required{color:var(--wcab-accent-d,var(--wcab-accent,#cf7526));
	text-decoration:none;border:0}
.woocommerce .wcab-auth-form .form-row .input-text{width:100%;box-sizing:border-box;padding:12px 14px;
	font-family:inherit;font-size:15px;line-height:1.3;color:inherit;min-height:0;height:auto;
	border:1.5px solid var(--wcab-border,rgba(0,0,0,.16));border-radius:var(--wcab-r-sm,10px);
	background:var(--wcab-surface,#fff)}
.woocommerce .wcab-auth-form .form-row .input-text:focus{outline:none;border-color:var(--wcab-accent,#e48e45);
	box-shadow:0 0 0 3px color-mix(in srgb,var(--wcab-accent,#e48e45) 18%,transparent)}
/* La fila de «no cerrar la sesión» + «he olvidado la contraseña»: en línea y a los extremos. */
.woocommerce .wcab-auth-form .form-row.wcab-auth-row{flex-direction:row;flex-wrap:wrap;align-items:center;
	justify-content:space-between;gap:10px 16px;margin-bottom:20px}
.woocommerce .wcab-auth-form label.checkbox,
.woocommerce .wcab-auth-form .woocommerce-form-login__rememberme{display:inline-flex;align-items:center;gap:9px;
	width:auto;margin:0 auto 0 0;float:none;font-size:14px;font-weight:600;color:inherit;cursor:pointer}
.wcab-auth-lost{white-space:nowrap}
.woocommerce form.wcab-auth-form .form-row .input-checkbox,
.woocommerce .wcab-auth-form .input-checkbox{appearance:none;-webkit-appearance:none;position:relative;
	flex:none;display:inline-block;width:18px;height:18px;margin:0;padding:0;vertical-align:middle;
	border:1.5px solid var(--wcab-border,rgba(0,0,0,.28));border-radius:5px;
	background:var(--wcab-surface,#fff);cursor:pointer}
.woocommerce form.wcab-auth-form .form-row .input-checkbox:checked,
.woocommerce .wcab-auth-form .input-checkbox:checked{background:var(--wcab-accent,#e48e45);
	border-color:var(--wcab-accent,#e48e45)}
.woocommerce form.wcab-auth-form .form-row .input-checkbox:checked::after,
.woocommerce .wcab-auth-form .input-checkbox:checked::after{content:"";position:absolute;left:5px;top:1.5px;
	width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.wcab-auth-form a.wcab-auth-lost,
.woocommerce .wcab-auth-form a.wcab-auth-lost{font-size:13.5px;font-weight:700;text-decoration:none;
	color:var(--wcab-accent,#e48e45)}
.wcab-auth-form a.wcab-auth-lost:hover,
.woocommerce .wcab-auth-form a.wcab-auth-lost:hover{text-decoration:underline}
.woocommerce .wcab-auth-form button.wcab-auth-btn{width:100%;padding:14px 20px;
	font-family:var(--wcab-font-head,inherit);font-size:15.5px;font-weight:800;line-height:1.2;
	border:1.5px solid var(--wcab-accent,#e48e45);border-radius:var(--wcab-r-sm,10px);
	background:var(--wcab-accent,#e48e45);color:#fff;cursor:pointer}
.woocommerce .wcab-auth-form button.wcab-auth-btn:hover{background:var(--wcab-accent-d,#cf7526);
	border-color:var(--wcab-accent-d,#cf7526);color:#fff}
.woocommerce .wcab-auth-form button.wcab-auth-btn.is-ghost{background:transparent;
	border-color:var(--wcab-primary,#17354d);color:var(--wcab-primary,#17354d)}
.woocommerce .wcab-auth-form button.wcab-auth-btn.is-ghost:hover{border-color:var(--wcab-accent,#e48e45);
	color:var(--wcab-accent,#e48e45);background:transparent}
.wcab-auth-back{margin:16px 0 0;font-size:14px}
.wcab-auth-back a{color:var(--wcab-secondary,inherit);text-decoration:none}
.wcab-auth-back a:hover{color:var(--wcab-accent,#e48e45)}

/* ---------- «Pagar el pedido» (reintento de pago) ---------- */
.wcab-pay .wcab-co-side h2{margin:0 0 14px;font-family:var(--wcab-font-head,inherit);font-size:19px;
	font-weight:800;color:var(--wcab-primary,inherit)}
.wcab-pay .wcab-pay-submit{margin:0;padding:18px 0 0}
.woocommerce .wcab-pay .wcab-pay-submit button#place_order{width:100%;margin:0;padding:15px 22px;
	font-family:var(--wcab-font-head,inherit);font-size:16px;font-weight:800;line-height:1.2;
	border:0;border-radius:var(--wcab-r-sm,10px);background:var(--wcab-accent,#e48e45);color:#fff;cursor:pointer}
.woocommerce .wcab-pay .wcab-pay-submit button#place_order:hover{background:var(--wcab-accent-d,#cf7526)}
/* El acceso incrustado del pago: en tarjeta, pero con los dos campos en línea. */
.wcab-auth-toggle{margin:0 0 16px}
.woocommerce form.wcab-auth-inline{margin:0 0 22px;padding:22px;background:var(--wcab-surface,#fff);
	border:1px solid var(--wcab-border,rgba(0,0,0,.10));border-radius:var(--wcab-r-card,16px)}
.wcab-auth-inline > p:first-of-type{margin:0 0 16px;font-size:14.5px;line-height:1.5;
	color:var(--wcab-secondary,inherit)}
.wcab-auth-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:0 16px}
.woocommerce form.wcab-auth-inline .form-row-first,
.woocommerce form.wcab-auth-inline .form-row-last{width:auto;float:none;margin-left:0;margin-right:0}
.woocommerce form.wcab-auth-inline button.wcab-auth-btn,
.woocommerce form.wcab-auth-inline .form-row button.wcab-auth-btn{display:inline-block;width:auto;
	/* La fila es una columna flexible: sin esto el botón se estira aunque su ancho sea auto. */
	align-self:flex-start;min-width:190px}

/* El aviso «tu carrito está vacío» de WooCommerce sobra: la propia plantilla ya lo dice con
   su icono, su explicación y el botón para seguir. */
.woocommerce .cart-empty.woocommerce-info{display:none}
