@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap');

/* ============================================================
   KinkSports — Página de producto + carrito flotante (Pink Noir)
   Proporciones y espaciado controlados. (la sección "More with" usa .ksrm)
   ============================================================ */
:root {
	--p: #ff2d7e; --pb: #ff5ca8; --pd: #c20e55;
	--bg: #0b0a0f; --surf: #16131c; --surf2: #221c2b; --line: rgba(255,255,255,.10);
	--t: #fff; --t2: #c7c2d0; --t3: #8a8693;
	--grad: linear-gradient(135deg, #ff2d7e, #c20e55);
}

/* ---------- TÍTULO (tamaño razonable, sin sombra pesada) ---------- */
body.single-product .product_title,
body.single-product .elementor-widget-woocommerce-product-title h1,
body.single-product .elementor-widget-woocommerce-product-title h2 {
	font-family: 'Oswald', sans-serif !important;
	font-weight: 700 !important;
	font-size: clamp(1.6rem, 2.4vw, 2.15rem) !important;
	line-height: 1.1 !important;
	letter-spacing: .01em !important;
	text-transform: uppercase !important;
	margin: 0 0 10px !important;
	color: #fff !important; background: none !important;
	-webkit-text-fill-color: #fff !important; -webkit-background-clip: border-box !important;
	text-shadow: none !important;
}

/* ---------- SHORT DESCRIPTION (subtítulo, sólido y discreto) ---------- */
body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-product-details__short-description *,
body.single-product .elementor-widget-woocommerce-product-short-description,
body.single-product .elementor-widget-woocommerce-product-short-description * {
	font-family: 'Inter', sans-serif !important;
	font-size: 1.02rem !important; line-height: 1.5 !important;
	color: var(--t2) !important; background: none !important; -webkit-text-fill-color: var(--t2) !important;
	margin: 0 !important;
}
body.single-product .elementor-widget-woocommerce-product-short-description { margin: 0 0 18px !important; }

/* ---------- PRECIO (gradiente rosa, tamaño hero pero proporcionado) ---------- */
body.single-product .summary .price,
body.single-product .elementor-widget-woocommerce-product-price .price {
	font-family: 'Oswald', sans-serif !important; font-weight: 700 !important;
	font-size: 1.9rem !important; line-height: 1 !important; margin: 0 0 18px !important;
	color: var(--pb) !important;
}
body.single-product .summary .price .woocommerce-Price-amount,
body.single-product .summary .price .woocommerce-Price-amount bdi,
body.single-product .elementor-widget-woocommerce-product-price .woocommerce-Price-amount,
body.single-product .elementor-widget-woocommerce-product-price .woocommerce-Price-amount bdi {
	background: linear-gradient(120deg, #ff8cc4, #ff2d7e) !important;
	-webkit-background-clip: text !important; background-clip: text !important;
	-webkit-text-fill-color: transparent !important; color: transparent !important;
}
body.single-product .summary del, body.single-product .summary del .amount { color: rgba(255,255,255,.4) !important; -webkit-text-fill-color: rgba(255,255,255,.4) !important; background: none !important; font-size: 1.1rem; }

/* ---------- BOTÓN ADD TO CART ---------- */
body.single-product .single_add_to_cart_button,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button,
body.single-product .summary .button.alt {
	display: inline-flex !important; align-items: center; justify-content: center; gap: 10px;
	position: relative; overflow: hidden;
	background: var(--grad) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important;
	text-transform: uppercase !important; letter-spacing: .09em !important;
	font-family: 'Oswald', sans-serif !important; font-weight: 600 !important; font-size: .92rem !important;
	padding: 14px 34px !important; box-shadow: 0 8px 22px rgba(255,45,126,.38) !important;
	transition: filter .25s ease, transform .25s ease, box-shadow .25s ease !important;
}
body.single-product .single_add_to_cart_button::before {
	content: ""; width: 18px; height: 18px; flex: 0 0 18px; background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M7%2018c-1.1%200-1.99.9-1.99%202S5.9%2022%207%2022s2-.9%202-2-.9-2-2-2zM1%202v2h2l3.6%207.59-1.35%202.44C4.52%2016.37%205.48%2018%207%2018h12v-2H7l1.1-2h7.45c.75%200%201.41-.41%201.75-1.03l3.58-6.49L19.83%205H5.21l-.94-2H1zm16%2016c-1.1%200-1.99.9-1.99%202s.89%202%201.99%202%202-.9%202-2-.9-2-2-2z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M7%2018c-1.1%200-1.99.9-1.99%202S5.9%2022%207%2022s2-.9%202-2-.9-2-2-2zM1%202v2h2l3.6%207.59-1.35%202.44C4.52%2016.37%205.48%2018%207%2018h12v-2H7l1.1-2h7.45c.75%200%201.41-.41%201.75-1.03l3.58-6.49L19.83%205H5.21l-.94-2H1zm16%2016c-1.1%200-1.99.9-1.99%202s.89%202%201.99%202%202-.9%202-2-.9-2-2-2z'/%3E%3C/svg%3E") center/contain no-repeat;
}
body.single-product .single_add_to_cart_button::after {
	content: ""; position: absolute; top: 0; left: -130%; width: 55%; height: 100%;
	background: linear-gradient(120deg, transparent, rgba(255,255,255,.5), transparent);
	transform: skewX(-20deg); transition: left .55s ease; pointer-events: none;
}
body.single-product .single_add_to_cart_button:hover { filter: brightness(1.07) !important; transform: translateY(-2px) !important; box-shadow: 0 14px 34px rgba(255,45,126,.55) !important; }
body.single-product .single_add_to_cart_button:hover::after { left: 150%; }

/* ---------- CANTIDAD ---------- */
body.single-product .quantity input.qty { background: var(--surf) !important; border: 1px solid var(--line) !important; color: #fff !important; border-radius: 8px !important; padding: 8px !important; }
body.single-product form.cart { margin-bottom: 22px !important; }

/* ---------- META: categorías y tags (pills compactos, sin comas amontonadas) ---------- */
body.single-product .product_meta {
	font-family: 'Inter', sans-serif !important; font-size: 0; /* oculta comas y labels originales */
	display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 18px 0 0; border: 0 !important; position: relative;
}
body.single-product .product_meta::after { content: ""; position: absolute; top: 0; left: 0; width: 120px; height: 1px; background: linear-gradient(90deg, rgba(255,45,126,.7), transparent); }
body.single-product .product_meta > span { display: block; line-height: 2.1; }
body.single-product .product_meta > span::before {
	display: inline-block; vertical-align: middle; margin-right: 10px;
	font-size: .64rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--t3);
}
body.single-product .product_meta .posted_in::before { content: "Categories"; }
body.single-product .product_meta .tagged_as::before { content: "Tags"; }
body.single-product .product_meta a {
	display: inline-block; vertical-align: middle; margin: 0 6px 4px 0; padding: 5px 13px;
	background: rgba(255,45,126,.10); border: 1px solid rgba(255,45,126,.28); border-radius: 999px;
	color: var(--pb) !important; font-size: .76rem !important; line-height: 1.4; text-decoration: none; transition: all .2s ease;
}
body.single-product .product_meta a:hover { background: var(--grad); border-color: transparent; color: #fff !important; transform: translateY(-1px); }

/* ---------- REESTRUCTURA: precio + Add to Cart en una sola fila ---------- */
body.single-product .elementor-element:has(> .elementor-widget-woocommerce-product-price) {
	display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; align-items: center !important; column-gap: 30px; row-gap: 6px;
}
body.single-product .elementor-element:has(> .elementor-widget-woocommerce-product-price) > .elementor-widget-woocommerce-product-title,
body.single-product .elementor-element:has(> .elementor-widget-woocommerce-product-price) > .elementor-widget-woocommerce-product-short-description,
body.single-product .elementor-element:has(> .elementor-widget-woocommerce-product-price) > .elementor-widget-woocommerce-product-meta {
	flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important;
}
body.single-product .elementor-element:has(> .elementor-widget-woocommerce-product-price) > .elementor-widget-woocommerce-product-price,
body.single-product .elementor-element:has(> .elementor-widget-woocommerce-product-price) > .elementor-widget-woocommerce-product-add-to-cart {
	flex: 0 0 auto !important; width: auto !important;
}
body.single-product .elementor-element:has(> .elementor-widget-woocommerce-product-price) > .elementor-widget-woocommerce-product-price { margin: 6px 0 0 !important; }
body.single-product .elementor-element:has(> .elementor-widget-woocommerce-product-price) > .elementor-widget-woocommerce-product-price .price { margin: 0 !important; }
body.single-product .elementor-element:has(> .elementor-widget-woocommerce-product-add-to-cart) > .elementor-widget-woocommerce-product-add-to-cart { margin: 6px 0 0 !important; }
body.single-product .elementor-element:has(> .elementor-widget-woocommerce-product-price) form.cart { margin: 0 !important; }

/* ---------- GALERÍA ---------- */
body.single-product .woocommerce-product-gallery__image { border-radius: 12px; overflow: hidden; }
body.single-product .woocommerce-product-gallery__image a img, body.single-product .woocommerce-product-gallery__image img { border-radius: 12px; }
body.single-product .woocommerce-product-gallery .flex-control-thumbs li img { border-radius: 8px; border: 2px solid transparent; opacity: .6; transition: border-color .2s ease, opacity .2s ease; cursor: pointer; }
body.single-product .woocommerce-product-gallery .flex-control-thumbs li img:hover, body.single-product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active { border-color: var(--p); opacity: 1; }
body.single-product .woocommerce-product-gallery__trigger { background: var(--grad) !important; }

/* ---------- DESCRIPCIÓN (sin tabs: solo Description, rediseñada) ---------- */
/* ocultar tabs extra, sus paneles y la barra de tabs entera */
body.single-product .woocommerce-tabs ul.tabs,
body.single-product .wdt-product-tabs ul.tabs { display: none !important; }
body.single-product #tab-additional_information,
body.single-product #tab-reviews,
body.single-product .woocommerce-Tabs-panel--additional_information,
body.single-product .woocommerce-Tabs-panel--reviews { display: none !important; }

/* zona Description: encabezado + tipografía legible */
body.single-product .woocommerce-tabs, body.single-product .wdt-product-tabs { margin-top: 16px !important; }
body.single-product .woocommerce-Tabs-panel--description {
	display: block !important; color: var(--t2) !important; font-family: 'Inter', sans-serif !important;
	font-size: 1rem !important; line-height: 1.75 !important; max-width: 760px;
}
body.single-product .woocommerce-Tabs-panel--description > h2:first-child { display: none !important; }
body.single-product .woocommerce-Tabs-panel--description::before {
	content: "Description"; display: block; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 1.35rem;
	text-transform: uppercase; letter-spacing: .12em; color: #fff; margin: 0 0 24px; padding-left: 14px; border-left: 4px solid var(--p);
}
/* TODOS los párrafos a tamaño controlado (el bug era que solo el 1ro estaba) */
body.single-product .woocommerce-Tabs-panel--description p,
body.single-product .woocommerce-Tabs-panel--description li,
body.single-product .woocommerce-Tabs-panel--description span {
	font-size: 1rem !important; line-height: 1.75 !important; color: var(--t2) !important;
	font-family: 'Inter', sans-serif !important; margin: 0 0 14px !important;
}
body.single-product .woocommerce-Tabs-panel--description p:first-of-type {
	font-size: 1.12rem !important; color: #fff !important; font-weight: 500 !important; line-height: 1.6 !important; margin-bottom: 18px !important;
}
body.single-product .woocommerce-Tabs-panel--description strong, body.single-product .woocommerce-Tabs-panel--description b { color: #fff !important; font-weight: 600 !important; }
body.single-product .woocommerce-Tabs-panel--description a { color: var(--pb) !important; }
body.single-product .woocommerce-Tabs-panel--description h2, body.single-product .woocommerce-Tabs-panel--description h3 { color: #fff !important; font-family: 'Oswald', sans-serif !important; text-transform: uppercase; letter-spacing: .04em; font-size: 1.15rem; }

/* ============================================================
   CARRITO FLOTANTE (woo-fly-cart) — global
   ============================================================ */
.woofc-count.woofc-count-bottom-right { background: var(--grad) !important; border: 0 !important; border-radius: 18px !important; box-shadow: 0 14px 34px rgba(255,45,126,.5) !important; transition: transform .25s ease, box-shadow .25s ease !important; }
.woofc-count.woofc-count-bottom-right:hover { transform: translateY(-3px) scale(1.05) !important; box-shadow: 0 18px 42px rgba(255,45,126,.65) !important; }
.woofc-count.woofc-count-bottom-right svg, .woofc-count.woofc-count-bottom-right svg path, .woofc-count.woofc-count-bottom-right i, .woofc-count.woofc-count-bottom-right .woofc-icon { color: #fff !important; fill: #fff !important; stroke: #fff !important; }
.woofc-count.woofc-count-bottom-right .woofc-count-number { background: #fff !important; color: #ff2d7e !important; font-weight: 700 !important; box-shadow: 0 2px 8px rgba(0,0,0,.35) !important; border: 0 !important; }
.woofc-area .woofc-inner { background: var(--bg) !important; color: var(--t) !important; }
.woofc-area .woofc-area-top, .woofc-area .woofc-area-heading { background: var(--surf) !important; color: #fff !important; border-color: var(--line) !important; }
.woofc-area .woofc-checkout, .woofc-area .woofc-buttons a.button { background: var(--grad) !important; color: #fff !important; border: 0 !important; border-radius: 10px !important; text-transform: uppercase; letter-spacing: .06em; }

/* ============================================================
   "More with [Model]"
   ============================================================ */
.elementor-widget-heading .elementor-heading-title:empty { display: none; }
.ksrm { margin: 56px 0 8px; }
.ksrm-title { font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 1.4rem; text-transform: uppercase; letter-spacing: .12em; color: #fff; margin: 0 0 24px; position: relative; padding-left: 18px; }
.ksrm-title span { color: var(--pb); }
.ksrm-title::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 5px; height: 1.1em; border-radius: 4px; background: var(--grad); box-shadow: 0 0 16px rgba(255,45,126,.6); }
.ksrm ul.products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; margin: 0 !important; padding: 0 !important; list-style: none; }
.ksrm ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; background: var(--surf); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; }
.ksrm ul.products li.product:hover { transform: translateY(-6px); box-shadow: 0 18px 44px rgba(255,45,126,.28); }
.ksrm li.product img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; margin: 0 !important; border-radius: 0 !important; }
.ksrm li.product .woocommerce-loop-product__title { font-family: 'Oswald', sans-serif; font-weight: 500; font-size: 1rem !important; text-transform: uppercase; letter-spacing: .02em; color: #fff !important; padding: 14px 16px 4px !important; }
.ksrm li.product .price { display: block; padding: 0 16px 12px; color: var(--pb) !important; font-weight: 600; }
.ksrm li.product .price del { color: rgba(255,255,255,.45) !important; }
.ksrm li.product .button, .ksrm li.product .added_to_cart { display: block; margin: 0 16px 16px !important; background: var(--grad) !important; color: #fff !important; border: 0 !important; border-radius: 6px !important; text-align: center; text-transform: uppercase; letter-spacing: .08em; font-size: .76rem !important; font-weight: 600; padding: 11px !important; }
.ksrm li.product .button:hover { filter: brightness(1.12); }
.ksrm-viewall { display: inline-block; margin-top: 24px; color: var(--pb); font-family: 'Oswald', sans-serif; font-weight: 500; text-transform: uppercase; letter-spacing: .1em; font-size: .92rem; text-decoration: none; }
.ksrm-viewall:hover { color: #fff; }
@media (max-width: 560px) { .ksrm ul.products { grid-template-columns: repeat(2, 1fr); gap: 12px; } }
