/*
Theme Name: Pasion Camis
Theme URI: https://pasioncamis.online
Description: Tema hijo de Twenty Twenty-Five para la tienda de camisetas Pasion Camis. Modo oscuro con verde neón.
Author: Pasion Camis
Template: twentytwentyfive
Version: 1.6.6
Requires at least: 6.7
Requires PHP: 7.4
Text Domain: pasioncamis
*/

/* ====== Grid de productos: filas exactas, sin saltos ====== */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.3rem;
}
.woocommerce ul.products.columns-4,
.woocommerce-page ul.products.columns-4 {
	grid-template-columns: repeat(4, 1fr);
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after {
	content: none;
}
@media (max-width: 900px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products.columns-4,
	.woocommerce-page ul.products.columns-4 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 480px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products.columns-4,
	.woocommerce-page ul.products.columns-4 {
		grid-template-columns: 1fr;
	}
}

/* ====== Tarjetas de producto (loops/shortcodes Woo) ====== */
.woocommerce ul.products li.product {
	background: #131C17;
	border: 1px solid #1E2B23;
	border-radius: 10px;
	padding: 0.9rem 0.9rem 1.2rem;
	transition: border-color 0.2s ease, transform 0.2s ease;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.woocommerce ul.products li.product:hover {
	border-color: #2BE26B;
	transform: translateY(-3px);
}
.woocommerce ul.products li.product img {
	border-radius: 6px;
	background: #fff;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: #EDF5F0;
	font-size: 0.95rem;
	font-weight: 600;
	min-height: 2.6em;
}
.woocommerce ul.products li.product .price {
	color: #2BE26B;
	font-weight: 700;
	font-size: 1.05rem;
}
.woocommerce ul.products li.product .button {
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	margin: auto 0 0;
}
.woocommerce ul.products li.product .price {
	margin-bottom: 0.7em;
}

/* ====== Botones Woo ====== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce button.button.alt,
.woocommerce a.button.alt {
	background: #2BE26B;
	color: #06140B;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	border-radius: 6px;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover {
	background: #FFD100;
	color: #06140B;
}
.woocommerce span.onsale {
	background: #2BE26B;
	color: #06140B;
	font-weight: 700;
}

/* ====== Ficha de producto ====== */
.woocommerce div.product .product_title { color: #EDF5F0; }
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: #2BE26B;
	font-weight: 800;
	font-size: 1.5rem;
}
.woocommerce div.product .woocommerce-product-details__short-description { color: #93A89C; }
.woocommerce div.product table.variations th.label { color: #EDF5F0; }
.woocommerce div.product table.variations td.value select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	background: #131C17;
	color: #EDF5F0;
	border: 1px solid #2E4036;
	border-radius: 6px;
	padding: 0.45em 2em 0.45em 0.8em;
}
.woocommerce div.product form.cart .reset_variations { color: #93A89C; }
.woocommerce div.product .woocommerce-variation-price .price { font-size: 1.4rem; }
.woocommerce div.product form.cart .quantity .qty {
	background: #131C17;
	color: #EDF5F0;
	border: 1px solid #2E4036;
	border-radius: 6px;
}

/* Pestañas de descripción / información adicional */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: #131C17;
	border-color: #1E2B23;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: #93A89C; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: #0A0F0D;
	border-bottom-color: #0A0F0D;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #2BE26B; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: #1E2B23; }
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td { color: #EDF5F0; border-color: #1E2B23; }

/* Migas, avisos y varios */
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb a { color: #93A89C; }
.woocommerce-message, .woocommerce-info {
	background: #131C17;
	color: #EDF5F0;
	border-top-color: #2BE26B;
}
.woocommerce-message a, .woocommerce-info a { color: #2BE26B; }
.woocommerce .woocommerce-result-count { color: #93A89C; }
.woocommerce nav.woocommerce-pagination ul { border-color: #1E2B23; }
.woocommerce nav.woocommerce-pagination ul li { border-color: #1E2B23; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	color: #EDF5F0;
	background: #131C17;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: #2BE26B;
	color: #06140B;
}

/* Carrito / checkout sobre fondo oscuro */
.woocommerce table.shop_table { border-color: #1E2B23; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: #1E2B23; }
.woocommerce-cart .cart-collaterals .cart_totals { color: #EDF5F0; }

/* Ordenar por (select de archivo) */
.woocommerce .woocommerce-ordering select {
	background: #131C17;
	color: #EDF5F0;
	border: 1px solid #2E4036;
	border-radius: 6px;
}

/* ====== Cabeceras de sección de la landing ====== */
.pc-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	border-bottom: 1px solid #1E2B23;
	padding-bottom: 0.6rem;
	margin-bottom: 1.6rem;
}
.pc-section-head h2,
.pc-section-head h3 {
	margin: 0;
}
.pc-section-head h2::before,
.pc-section-head h3::before {
	content: "";
	display: inline-block;
	width: 0.55em;
	height: 0.55em;
	margin-right: 0.5em;
	background: #2BE26B;
	transform: skewX(-12deg);
}
.pc-vermas {
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

/* ====== Personalizador de píldoras (ficha de producto) ====== */
.pc-opciones {
	margin: 0 0 1.4rem;
}
.pc-opcion-grupo {
	border-top: 1px solid #1E2B23;
	padding: 1rem 0 1.1rem;
	margin: 0;
}
.pc-opcion-titulo {
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #93A89C;
	margin: 0 0 0.7rem;
}
.pc-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}
.pc-pill {
	background: #131C17;
	color: #EDF5F0;
	border: 1px solid #2E4036;
	border-radius: 999px;
	padding: 0.45em 1.1em;
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}
.pc-pill:hover {
	border-color: #2BE26B;
}
.pc-pill-activa {
	border-color: #2BE26B;
	color: #2BE26B;
	background: #0E2417;
	box-shadow: 0 0 0 1px #2BE26B inset;
}

/* CTA de la ficha: botón grande degradado */
.woocommerce div.product form.cart .single_add_to_cart_button {
	width: 100%;
	padding: 0.95em 1.5em;
	font-size: 1.05rem;
	border-radius: 10px;
	background: linear-gradient(90deg, #2BE26B 0%, #0A7A3D 100%);
	color: #06140B;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
	background: linear-gradient(90deg, #FFD100 0%, #C9A400 100%);
}
.woocommerce div.product form.cart .quantity {
	margin-bottom: 0.8rem;
}

/* ====== Campos de personalización de dorsal ====== */
.pc-dorsal-campos {
	background: #131C17;
	border: 1px solid #2BE26B55;
	border-radius: 8px;
	padding: 1rem 1.2rem;
	margin: 0 0 1.2rem;
}
.pc-dorsal-campos .pc-dorsal-titulo {
	font-weight: 700;
	color: #2BE26B;
	margin: 0 0 0.6rem;
}
.pc-dorsal-campos label {
	display: block;
	font-size: 0.85rem;
	color: #93A89C;
	margin-bottom: 0.25rem;
}
.pc-dorsal-campos input[type="text"] {
	background: #0A0F0D;
	color: #EDF5F0;
	border: 1px solid #2E4036;
	border-radius: 6px;
	padding: 0.5em 0.8em;
	width: 100%;
	max-width: 260px;
	box-sizing: border-box;
}

/* ====== Buscador del header ====== */
.pc-buscador {
	position: relative;
}
.pc-buscador__toggle {
	background: none;
	border: none;
	padding: 0.3rem;
	cursor: pointer;
	color: #2BE26B;
	display: flex;
	align-items: center;
}
.pc-buscador__toggle:hover {
	color: #FFD100;
}
.pc-buscador__toggle svg {
	width: 22px;
	height: 22px;
}
.pc-buscador__panel {
	position: absolute;
	top: calc(100% + 0.9rem);
	right: -3rem;
	width: min(420px, calc(100vw - 2rem));
	background: #131C17;
	border: 1px solid #2E4036;
	border-radius: 10px;
	padding: 0.8rem;
	z-index: 99;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.55);
}
.pc-buscador__input {
	width: 100%;
	background: #0A0F0D;
	color: #EDF5F0;
	border: 1px solid #2E4036;
	border-radius: 6px;
	padding: 0.55em 0.9em;
	box-sizing: border-box;
	font-size: 0.95rem;
}
.pc-buscador__input:focus {
	outline: none;
	border-color: #2BE26B;
}
.pc-buscador__resultados {
	max-height: min(52vh, 430px);
	overflow-y: auto;
	margin-top: 0.4rem;
}
.pc-buscador__item {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.45rem 0.4rem;
	border-radius: 8px;
	text-decoration: none;
	color: #EDF5F0;
	font-size: 0.9rem;
}
.pc-buscador__item:hover {
	background: #1A2620;
}
.pc-buscador__item img,
.pc-buscador__sin-img {
	width: 42px;
	height: 42px;
	object-fit: cover;
	border-radius: 6px;
	background: #0A0F0D;
	flex-shrink: 0;
}
.pc-buscador__nombre {
	flex: 1;
	line-height: 1.25;
}
.pc-buscador__precio {
	color: #2BE26B;
	font-weight: 700;
	white-space: nowrap;
}
.pc-buscador__vacio {
	color: #93A89C;
	font-size: 0.88rem;
	margin: 0.5rem 0.3rem;
}
.pc-buscador__ver-todo {
	display: block;
	text-align: center;
	padding: 0.55rem;
	margin-top: 0.3rem;
	border-top: 1px solid #2E4036;
	color: #FFD100;
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
}
.pc-buscador__ver-todo:hover {
	color: #2BE26B;
}

/* ---------- Guía de tallas (modal en ficha de producto) ---------- */
.pc-guia-abrir-wrap {
	margin: 0;
}
.pc-guia-abrir {
	background: none;
	border: none;
	color: #FFD100;
	font-size: 0.82rem;
	font-weight: 600;
	padding: 0;
	margin-left: 0.6rem;
	text-decoration: underline dotted;
	text-underline-offset: 3px;
	cursor: pointer;
}
.pc-guia-abrir:hover {
	color: #2BE26B;
}
body.pc-guia-bloqueo {
	overflow: hidden;
}
.pc-guia-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}
.pc-guia-modal[hidden] {
	display: none;
}
.pc-guia-fondo {
	position: absolute;
	inset: 0;
	background: rgba(4, 8, 6, 0.8);
}
.pc-guia-caja {
	position: relative;
	background: #131C17;
	border: 1px solid #2E4036;
	border-radius: 12px;
	color: #EDF5F0;
	max-width: 640px;
	width: 100%;
	max-height: 85vh;
	overflow-y: auto;
	padding: 1.5rem 1.6rem;
}
.pc-guia-caja h3 {
	margin: 0 0 0.6rem;
	font-size: 1.25rem;
	color: #2BE26B;
}
.pc-guia-intro {
	font-size: 0.92rem;
	color: #93A89C;
	margin: 0 0 1rem;
}
.pc-guia-cerrar {
	position: absolute;
	top: 0.7rem;
	right: 0.8rem;
	background: none;
	border: none;
	color: #93A89C;
	font-size: 1.1rem;
	cursor: pointer;
}
.pc-guia-cerrar:hover {
	color: #2BE26B;
}
.pc-guia-version {
	background: #0A0F0D;
	border: 1px solid #2E4036;
	border-radius: 10px;
	padding: 0.9rem 1.1rem;
	margin-bottom: 0.8rem;
}
.pc-guia-version h4 {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	color: #FFD100;
}
.pc-guia-version h4 span {
	color: #93A89C;
	font-weight: 400;
}
.pc-guia-version p {
	margin: 0 0 0.45rem;
	font-size: 0.9rem;
	line-height: 1.45;
}
.pc-guia-version p:last-child {
	margin-bottom: 0;
}
.pc-guia-tabla-wrap {
	margin-top: 1rem;
}
.pc-guia-tabla-wrap h4 {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	color: #FFD100;
}
.pc-guia-tabla {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.88rem;
}
.pc-guia-tabla th,
.pc-guia-tabla td {
	border: 1px solid #2E4036;
	padding: 0.4rem 0.6rem;
	text-align: center;
}
.pc-guia-tabla th {
	background: #0A0F0D;
	color: #2BE26B;
	font-weight: 700;
}
.pc-guia-nota {
	font-size: 0.82rem;
	color: #93A89C;
	margin: 0.5rem 0 0;
}

/* ---------- Hero: camisetas flotantes (abanico estilo portada) ---------- */
.pc-hero-camis {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1.5rem 0;
}
.pc-hero-camis a {
	display: block;
	width: clamp(110px, 12vw, 175px);
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid #2E4036;
	box-shadow: 0 0 38px rgba(43, 226, 107, 0.35), 0 12px 28px rgba(0, 0, 0, 0.6);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	background: #131C17;
}
.pc-hero-camis a img {
	display: block;
	width: 100%;
	height: auto;
}
.pc-hero-camis a:nth-child(1) {
	transform: rotate(-9deg) translate(16px, 8px);
	z-index: 1;
}
.pc-hero-camis a:nth-child(2) {
	transform: translateY(-14px);
	z-index: 2;
}
.pc-hero-camis a:nth-child(3) {
	transform: rotate(9deg) translate(-16px, 8px);
	z-index: 1;
}
.pc-hero-camis a:hover {
	transform: scale(1.08);
	z-index: 3;
	box-shadow: 0 0 55px rgba(43, 226, 107, 0.55), 0 12px 28px rgba(0, 0, 0, 0.6);
}
@media (max-width: 781px) {
	.pc-hero-camis {
		padding: 0.5rem 0 1rem;
	}
	.pc-hero-camis a {
		width: 26vw;
	}
}

/* ====== Carrito y checkout por bloques (modo oscuro) ======
   Los componentes wc-block traen fondo blanco fijo y heredan el
   texto claro del tema: quedaba blanco sobre blanco. */
.wp-block-woocommerce-checkout input[type="text"],
.wp-block-woocommerce-checkout input[type="email"],
.wp-block-woocommerce-checkout input[type="tel"],
.wp-block-woocommerce-checkout input[type="number"],
.wp-block-woocommerce-checkout input[type="password"],
.wp-block-woocommerce-checkout input[type="url"],
.wp-block-woocommerce-checkout textarea,
.wp-block-woocommerce-checkout select,
.wp-block-woocommerce-cart input[type="text"],
.wp-block-woocommerce-cart input[type="email"],
.wp-block-woocommerce-cart input[type="number"],
.wp-block-woocommerce-cart select {
	background: #131C17 !important;
	color: #EDF5F0 !important;
	border: 1px solid #2E4036 !important;
	border-radius: 6px;
}
/* Etiquetas flotantes dentro de los campos */
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-combobox label,
.wc-block-components-checkbox__label {
	color: #93A89C !important;
}
/* Autocompletado del navegador (pintaba el campo de blanco) */
.wp-block-woocommerce-checkout input:-webkit-autofill,
.wp-block-woocommerce-cart input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px #131C17 inset !important;
	-webkit-text-fill-color: #EDF5F0 !important;
}
/* Desplegable de sugerencias (país / provincia) */
.wc-block-components-combobox .components-form-token-field__suggestions-list,
.components-combobox-control__suggestions-container,
.wc-block-components-country-input ul,
.wc-block-components-state-input ul {
	background: #131C17 !important;
	color: #EDF5F0 !important;
	border-color: #2E4036 !important;
}
.wc-block-components-combobox .components-form-token-field__suggestion {
	color: #EDF5F0;
}
.wc-block-components-combobox .components-form-token-field__suggestion.is-selected,
.wc-block-components-combobox .components-form-token-field__suggestion:hover {
	background: #1A2620;
	color: #2BE26B;
}
/* Cupones: enlace del panel y campo */
.wc-block-components-totals-coupon-link,
.wc-block-components-panel__button {
	color: #FFD100 !important;
}
.wc-block-components-totals-coupon__input input {
	background: #131C17 !important;
	color: #EDF5F0 !important;
	border: 1px solid #2E4036 !important;
}
/* Tarjeta de dirección guardada, radios de envío y caja de pago */
.wc-block-components-address-card,
.wc-block-components-radio-control__option,
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
	border-color: #2E4036 !important;
	color: #EDF5F0;
}
.wc-block-components-radio-control__option-checked {
	border-color: #2BE26B !important;
}
/* Separadores y títulos de sección */
.wc-block-components-checkout-step__heading .wc-block-components-title,
.wc-block-components-checkout-step__description {
	color: #EDF5F0;
}
.wc-block-components-checkout-step__description {
	color: #93A89C;
}
/* Botones: Realizar pedido, Aplicar cupón, etc. */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wc-block-components-totals-coupon__button {
	background: #2BE26B !important;
	color: #06140B !important;
	font-weight: 800;
	border: none;
	border-radius: 6px;
	text-transform: uppercase;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-totals-coupon__button:hover {
	background: #FFD100 !important;
	color: #06140B !important;
}
/* Errores de validación: nuestro borde gris con !important pisaba el
   rojo de Woo y no se veía qué campo fallaba. Rojo SIEMPRE gana. */
.wp-block-woocommerce-checkout .wc-block-components-text-input.has-error input,
.wp-block-woocommerce-checkout .wc-block-components-select.has-error select,
.wp-block-woocommerce-checkout .wc-block-components-combobox.has-error input,
.wp-block-woocommerce-checkout .has-error input[type="text"],
.wp-block-woocommerce-checkout .has-error input[type="email"],
.wp-block-woocommerce-checkout .has-error input[type="tel"] {
	border: 2px solid #E2452B !important;
	background: #1E120F !important;
}
.wc-block-components-validation-error,
.wc-block-components-validation-error p {
	color: #FF6B52 !important;
	font-weight: 700;
}
/* Aviso general de error al realizar el pedido (banner superior) */
.wc-block-components-notice-banner.is-error {
	background: #1E120F !important;
	border-color: #E2452B !important;
	color: #FFD9D2 !important;
}
.wc-block-components-notice-banner.is-error svg {
	fill: #FF6B52 !important;
}
/* Tarjeta de dirección guardada (usuario logueado): que se vea
   la dirección y el botón Editar sobre fondo oscuro. */
.wc-block-components-address-card {
	background: #131C17 !important;
	color: #EDF5F0 !important;
}
.wc-block-components-address-card address,
.wc-block-components-address-card .wc-block-components-address-card__address-section {
	color: #EDF5F0 !important;
}
.wc-block-components-address-card__edit {
	color: #FFD100 !important;
	text-decoration: underline;
}

/* ---------- Formulario de contacto / tickets ---------- */
.pc-contacto-trampa {
	position: absolute !important;
	left: -9999px;
}
.pc-contacto label {
	display: block;
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #93A89C;
	margin-bottom: 0.35rem;
}
.pc-contacto input[type="text"],
.pc-contacto input[type="email"],
.pc-contacto textarea {
	width: 100%;
	box-sizing: border-box;
	background: #131C17;
	color: #EDF5F0;
	border: 1px solid #2E4036;
	border-radius: 6px;
	padding: 0.6em 0.8em;
	font-size: 1rem;
}
.pc-contacto input:focus,
.pc-contacto textarea:focus {
	outline: none;
	border-color: #2BE26B;
}
.pc-contacto-boton {
	background: #2BE26B;
	color: #06140B;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border: none;
	border-radius: 6px;
	padding: 0.75em 2em;
	cursor: pointer;
}
.pc-contacto-boton:hover {
	background: #FFD100;
}
.pc-contacto-ok,
.pc-contacto-error {
	border-radius: 8px;
	padding: 0.9rem 1.1rem;
	margin-bottom: 1.2rem;
	background: #131C17;
}
.pc-contacto-ok {
	border: 1px solid #2BE26B;
}
.pc-contacto-error {
	border: 1px solid #E2452B;
}

/* Captcha propio del formulario */
.pc-contacto .pc-captcha-input {
	width: 6em;
}
