/*
 * Surfat — Unificación visual de WooCommerce (tienda, producto, carrito, pago).
 *
 * El tema Bridge aplica a WooCommerce su propio estilo (texto gris 129,129,129,
 * base de 13px, botones Raleway 13px en mayúsculas, títulos h2 a 69px o en
 * mayúsculas grises), distinto del resto de surfat.es. Esta hoja lo alinea con
 * el sistema del sitio:
 *   - Poppins, texto negro, cuerpo 18–20px / 1.5.
 *   - Títulos negros, peso 500, sin mayúsculas.
 *   - Botón principal: naranja #FF6E00, texto blanco, Poppins 700, radio 10px
 *     (como .cta-hero-good). Hover #753815.
 *   - Botón secundario: contorno naranja (como .elementor-button).
 *   - Tarjetas gris #edecf2, radio 20px.
 * Se encola solo en páginas de WooCommerce (ver surfat_enqueue_woo_styles()).
 */

:root {
	--surfat-orange: #FF6E00;
	--surfat-orange-dark: #753815;
	--surfat-text: #000;
	--surfat-text-soft: #555;
	--surfat-line: #dcdce3;
	--surfat-card: #edecf2;
	--surfat-radius-btn: 10px;
	--surfat-radius-card: 20px;
}

/* ------------------------------------------------------------------ */
/* Base de texto                                                       */
/* ------------------------------------------------------------------ */

.woocommerce-page .content,
.woocommerce-page .content p,
.woocommerce-page .content td,
.woocommerce-page .content th,
.woocommerce-page .content label {
	color: var(--surfat-text);
}

/* ------------------------------------------------------------------ */
/* Botones                                                             */
/* ------------------------------------------------------------------ */

/* Principal: añadir al carrito, finalizar compra, realizar pedido. */
.woocommerce-page .content .single_add_to_cart_button,
.woocommerce-page .content .wc-block-cart__submit-button,
.woocommerce-page .content .wc-block-components-checkout-place-order-button,
.woocommerce-page .content .woocommerce-message .button,
.woocommerce-page .content a.button.alt,
.woocommerce-page .content button.button.alt {
	font-family: 'Poppins', sans-serif !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #fff !important;
	background-color: var(--surfat-orange) !important;
	border: 2px solid var(--surfat-orange) !important;
	border-radius: var(--surfat-radius-btn) !important;
	padding: 15px 28px !important;
	height: auto !important;
	min-height: 0 !important;
	box-shadow: none !important;
	transition: background-color .2s, border-color .2s, color .2s;
}
.woocommerce-page .content .single_add_to_cart_button:hover,
.woocommerce-page .content .wc-block-cart__submit-button:hover,
.woocommerce-page .content .wc-block-components-checkout-place-order-button:hover,
.woocommerce-page .content .woocommerce-message .button:hover,
.woocommerce-page .content a.button.alt:hover,
.woocommerce-page .content button.button.alt:hover {
	background-color: var(--surfat-orange-dark) !important;
	border-color: var(--surfat-orange-dark) !important;
	color: #fff !important;
}
.woocommerce-page .content .wc-block-components-button__text {
	font-size: inherit !important;
	font-weight: inherit !important;
}

/* Secundario: "Seleccionar opciones" en listados. */
.woocommerce-page .content ul.products .qbutton,
.woocommerce-page .content ul.products .add-to-cart-button,
.woocommerce-page .content ul.products a.button {
	font-family: 'Poppins', sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	height: auto !important;
	color: var(--surfat-orange) !important;
	background-color: #fff !important;
	border: 2px solid var(--surfat-orange) !important;
	border-radius: var(--surfat-radius-btn) !important;
	padding: 12px 20px !important;
}
.woocommerce-page .content ul.products .qbutton:hover,
.woocommerce-page .content ul.products .add-to-cart-button:hover,
.woocommerce-page .content ul.products a.button:hover {
	color: #fff !important;
	background-color: var(--surfat-orange) !important;
}

/* ------------------------------------------------------------------ */
/* Ficha de producto                                                   */
/* ------------------------------------------------------------------ */

.single-product .content .product_title {
	font-family: 'Poppins', sans-serif !important;
	font-size: 56px !important;
	line-height: 1.15 !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--surfat-text) !important;
	margin-bottom: 12px !important;
}
.single-product .content .summary .price,
.single-product .content .summary .price .amount,
.single-product .content .woocommerce-variation-price .price {
	font-family: 'Poppins', sans-serif !important;
	font-size: 26px !important;
	line-height: 1.4 !important;
	font-weight: 500 !important;
	color: var(--surfat-text) !important;
}
.single-product .content .summary .price .screen-reader-text {
	font-size: 1px !important;
}
.single-product .content .woocommerce-product-details__short-description p,
.single-product .content .accordion_content_inner p,
.single-product .content .accordion_content_inner li {
	font-family: 'Poppins', sans-serif !important;
	font-size: 20px !important;
	line-height: 30px !important;
	color: var(--surfat-text) !important;
}

/* Variaciones (Cesta / Tapa / Panel digital). */
.single-product .content table.variations {
	border: 0;
	margin: 24px 0 8px;
}
.single-product .content table.variations th,
.single-product .content table.variations td {
	padding: 6px 16px 6px 0 !important;
	border: 0 !important;
	vertical-align: middle !important;
	background: transparent !important;
}
.single-product .content table.variations label {
	font-family: 'Poppins', sans-serif !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	color: var(--surfat-text) !important;
}
.single-product .content table.variations select {
	font-family: 'Poppins', sans-serif !important;
	font-size: 18px !important;
	color: var(--surfat-text) !important;
	min-width: 240px;
	height: auto !important;
	padding: 10px 40px 10px 14px !important;
	border: 1px solid var(--surfat-line) !important;
	border-radius: var(--surfat-radius-btn) !important;
	background-color: #fff !important;
}
.single-product .content .reset_variations {
	font-size: 15px !important;
	color: var(--surfat-orange) !important;
	margin-left: 12px;
}

/* Cantidad + añadir al carrito. */
.single-product .content .woocommerce-variation-add-to-cart,
.single-product .content form.cart:not(.variations_form) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin-top: 16px;
}
.single-product .content .quantity {
	display: inline-flex !important;
	align-items: center;
	border: 1px solid var(--surfat-line);
	border-radius: var(--surfat-radius-btn);
	overflow: hidden;
	margin: 0 !important;
	float: none !important;
}
.single-product .content .quantity .minus,
.single-product .content .quantity .plus {
	width: 44px !important;
	height: 52px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: var(--surfat-text) !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 20px !important;
	line-height: 1 !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: pointer;
}
.single-product .content .quantity .qty {
	width: 52px !important;
	height: 52px !important;
	border: 0 !important;
	background: #fff !important;
	color: var(--surfat-text) !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 18px !important;
	text-align: center;
	padding: 0 !important;
	margin: 0 !important;
}
.single-product .content .single_add_to_cart_button {
	float: none !important;
	margin: 0 !important;
}

/* Metadatos y pestañas. */
.single-product .content .product_meta,
.single-product .content .product_meta a {
	font-family: 'Poppins', sans-serif !important;
	font-size: 15px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--surfat-text-soft) !important;
}
.single-product .content .product_meta > span {
	font-weight: 500;
	text-transform: none !important;
}
.single-product .content .woocommerce-accordion .title-holder,
.single-product .content .woocommerce-accordion .title-holder .tab-title {
	font-family: 'Poppins', sans-serif !important;
	font-size: 22px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--surfat-text) !important;
}

/* Productos relacionados. */
.single-product .content .qode-related-upsells-title {
	font-family: 'Poppins', sans-serif !important;
	font-size: 37px !important;
	line-height: 1.3 !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--surfat-text) !important;
	margin-bottom: 24px !important;
}

/* ------------------------------------------------------------------ */
/* Listados de producto (tienda, relacionados)                         */
/* ------------------------------------------------------------------ */

.woocommerce-page .content ul.products li.product h6,
.woocommerce-page .content ul.products li.product .product-title,
.woocommerce-page .content .qode-pli-title,
.woocommerce-page .content .qode-pli-title a {
	font-family: 'Poppins', sans-serif !important;
	font-size: 22px !important;
	line-height: 1.3 !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--surfat-text) !important;
}
.woocommerce-page .content ul.products li.product .price,
.woocommerce-page .content ul.products li.product .price .amount,
.woocommerce-page .content .qode-pli-price,
.woocommerce-page .content .qode-pli-price .amount {
	font-family: 'Poppins', sans-serif !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	color: var(--surfat-text-soft) !important;
}

/* ------------------------------------------------------------------ */
/* Carrito y pago (bloques de WooCommerce)                             */
/* ------------------------------------------------------------------ */

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	font-family: 'Poppins', sans-serif !important;
	font-size: 17px !important;
	line-height: 1.5 !important;
	color: var(--surfat-text) !important;
}
.wp-block-woocommerce-cart *,
.wp-block-woocommerce-checkout * {
	letter-spacing: 0;
}

/* Títulos de sección: "Totales del carrito", "Información de contacto",
 * "Dirección de envío", "Pago exprés", "Resumen del pedido"… */
.wp-block-woocommerce-cart h2,
.wp-block-woocommerce-checkout h2,
.wp-block-woocommerce-cart .wc-block-cart__totals-title,
.wp-block-woocommerce-cart-order-summary-heading-block,
.wp-block-woocommerce-checkout .wc-block-components-title,
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout .wc-block-components-express-payment__title,
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
	font-family: 'Poppins', sans-serif !important;
	font-size: 26px !important;
	line-height: 1.3 !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--surfat-text) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-express-payment__title {
	font-size: 18px !important;
	padding: 0 12px !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
	font-size: 20px !important;
}

/* Cabecera de la tabla del carrito. */
.wp-block-woocommerce-cart .wc-block-cart-items__header th {
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: .04em !important;
	color: var(--surfat-text-soft) !important;
}

/* Nombre, precio y opciones del producto. */
.wp-block-woocommerce-cart .wc-block-components-product-name,
.wp-block-woocommerce-checkout .wc-block-components-product-name {
	font-family: 'Poppins', sans-serif !important;
	font-size: 19px !important;
	line-height: 1.3 !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--surfat-text) !important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__prices,
.wp-block-woocommerce-cart .wc-block-cart-item__total,
.wp-block-woocommerce-cart .price,
.wp-block-woocommerce-checkout .price,
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__total-price {
	font-size: 17px !important;
	color: var(--surfat-text) !important;
}
.wp-block-woocommerce-cart .wc-block-components-product-details,
.wp-block-woocommerce-cart .wc-block-components-product-metadata,
.wp-block-woocommerce-checkout .wc-block-components-product-details,
.wp-block-woocommerce-checkout .wc-block-components-product-metadata {
	font-size: 14px !important;
	color: var(--surfat-text-soft) !important;
}

/* Selector de cantidad. */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
	border-radius: var(--surfat-radius-btn) !important;
	border-color: var(--surfat-line) !important;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector::after {
	border-radius: var(--surfat-radius-btn) !important;
	border-color: var(--surfat-line) !important;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__input,
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button {
	font-size: 16px !important;
	color: var(--surfat-text) !important;
}

/* Totales. */
.wp-block-woocommerce-cart .wc-block-components-totals-item,
.wp-block-woocommerce-checkout .wc-block-components-totals-item,
.wp-block-woocommerce-cart .wc-block-components-totals-coupon,
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon,
.wp-block-woocommerce-cart .wc-block-components-panel__button,
.wp-block-woocommerce-checkout .wc-block-components-panel__button {
	font-size: 16px !important;
	color: var(--surfat-text) !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 22px !important;
	font-weight: 600 !important;
	color: var(--surfat-text) !important;
}

/* Bloque de resumen del pedido en el pago, como tarjeta del sitio. */
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
	border: 0 !important;
	border-radius: var(--surfat-radius-card) !important;
	background: var(--surfat-card) !important;
	padding: 8px 4px !important;
}

/* Formularios del pago. */
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-blocks-components-select__select,
.wp-block-woocommerce-checkout .wc-block-components-textarea,
.wp-block-woocommerce-checkout .wc-block-components-combobox .components-combobox-control input {
	font-family: 'Poppins', sans-serif !important;
	font-size: 17px !important;
	color: var(--surfat-text) !important;
	border-color: var(--surfat-line) !important;
	border-radius: var(--surfat-radius-btn) !important;
}
.wp-block-woocommerce-checkout .wc-blocks-components-select__container {
	border-radius: var(--surfat-radius-btn) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input label,
.wp-block-woocommerce-checkout .wc-blocks-components-select__label {
	font-size: 15px !important;
	color: var(--surfat-text-soft) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkbox__label,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__label,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__secondary-label,
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__description,
.wp-block-woocommerce-checkout .wc-block-checkout__terms,
.wp-block-woocommerce-checkout .wc-block-checkout__guest-checkout-notice,
.wp-block-woocommerce-checkout .wc-block-components-address-form__address_2-toggle {
	font-size: 16px !important;
	line-height: 1.5 !important;
	color: var(--surfat-text) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked,
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option {
	border-radius: var(--surfat-radius-btn) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input:checked,
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input:checked {
	border-color: var(--surfat-orange) !important;
	background-color: var(--surfat-orange) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout .wc-blocks-components-select__select:focus {
	border-color: var(--surfat-orange) !important;
	box-shadow: 0 0 0 1px var(--surfat-orange) !important;
}
.wp-block-woocommerce-checkout a,
.wp-block-woocommerce-cart a:not(.wc-block-components-product-name):not(.wc-block-components-button) {
	color: var(--surfat-orange);
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
	width: 100%;
}

/* ------------------------------------------------------------------ */
/* Consulta por falta de stock (bloque + formulario CF7)               */
/* ------------------------------------------------------------------ */

.surfat-stock-form[hidden] {
	display: none !important;
}
.surfat-stock-form {
	margin: 25px 0 0;
	padding: 24px;
	background: var(--surfat-card);
	border-radius: var(--surfat-radius-card);
}
.single-product .content .surfat-stock-form__title {
	margin: 0 0 8px;
	font-family: 'Poppins', sans-serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--surfat-text);
	text-transform: none;
}
.single-product .content .surfat-stock-form__intro {
	margin: 0 0 18px;
	font-size: 17px;
	line-height: 1.5;
	color: var(--surfat-text-soft);
}
.surfat-stock-form .wpcf7-form p {
	margin: 0 0 12px;
}
.surfat-stock-form .wpcf7-form input[type="text"],
.surfat-stock-form .wpcf7-form input[type="email"],
.surfat-stock-form .wpcf7-form input[type="tel"],
.surfat-stock-form .wpcf7-form textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--surfat-line);
	border-radius: var(--surfat-radius-btn);
	background: #fff;
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	color: var(--surfat-text);
}
.surfat-stock-form .wpcf7-form textarea {
	min-height: 120px;
}
.surfat-stock-form .wpcf7-form input:focus,
.surfat-stock-form .wpcf7-form textarea:focus {
	outline: none;
	border-color: var(--surfat-orange);
}
.surfat-stock-form .wpcf7-form input[type="submit"] {
	width: auto;
	padding: 14px 28px;
	border: none;
	border-radius: var(--surfat-radius-btn);
	background: var(--surfat-orange);
	color: #fff;
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	font-weight: 700;
	text-transform: none;
	cursor: pointer;
}
.surfat-stock-form .wpcf7-form input[type="submit"]:hover {
	background: var(--surfat-orange-dark);
}
.surfat-stock-form .wpcf7-not-valid-tip {
	font-size: 14px;
	color: #b32d2e;
}
.surfat-stock-form .wpcf7-response-output {
	margin: 12px 0 0;
	border-radius: var(--surfat-radius-btn);
	font-size: 15px;
}

/* Grid de productos: enlace de consulta cuando no hay stock. */
.surfat-woo-grid__enquiry-btn {
	display: inline-block;
	padding: 10px 20px;
	border: 2px solid var(--surfat-orange);
	border-radius: var(--surfat-radius-btn);
	background: transparent;
	color: var(--surfat-orange) !important;
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}
.surfat-woo-grid__enquiry-btn:hover {
	background: var(--surfat-orange);
	color: #fff !important;
}

/* ------------------------------------------------------------------ */
/* Responsive                                                          */
/* ------------------------------------------------------------------ */

@media (max-width: 768px) {
	.single-product .content .product_title {
		font-size: 38px !important;
	}
	.single-product .content table.variations select {
		min-width: 0;
		width: 100%;
	}
	.single-product .content .qode-related-upsells-title {
		font-size: 28px !important;
	}
	.wp-block-woocommerce-cart h2,
	.wp-block-woocommerce-checkout h2,
	.wp-block-woocommerce-cart-order-summary-heading-block,
	.wp-block-woocommerce-checkout .wc-block-components-title,
	.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title {
		font-size: 22px !important;
	}
	.surfat-stock-form {
		padding: 18px;
	}
	.single-product .content .surfat-stock-form__title {
		font-size: 20px !important;
	}
	.surfat-stock-form .wpcf7-form input[type="submit"] {
		width: 100%;
	}
}
