/*
Theme Name: Polypink
Theme URI: https://leudolab.com
Author: Leudolab
Description: Tema para tienda de ropa interior infantil con WooCommerce. Portada con secciones editables, encabezado con menú de tres niveles, footer de tres columnas y estilos completos de tienda, carrito y checkout.
Version: 1.14.2
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: polypink
Tags: e-commerce, custom-logo, custom-menu, featured-images, translation-ready
*/

:root {
	--pp-ink: #FF38B3;
	--pp-brand: #FF38B3;
	--pp-brand-dark: #E01C97;
	--pp-soft: #FFE3F4;
	--pp-line: #FFCDEA;
	--pp-bg: #FFF7FC;
	--pp-field: #FFB3E0;
	--pp-display: 'Fredoka', system-ui, sans-serif;
	--pp-body: 'Nunito', system-ui, sans-serif;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--pp-bg);
	color: var(--pp-ink);
	font-family: var(--pp-body);
	font-size: 17px;
	line-height: 1.55;
}
img, svg, video { max-width: 100%; }
img { height: auto; }
a { color: var(--pp-brand); text-decoration: none; }
a:hover, a:focus { color: var(--pp-brand-dark); }
h1, h2, h3, h4, h5, h6 {
	font-family: var(--pp-display);
	font-weight: 600;
	line-height: 1.15;
	color: var(--pp-ink);
	margin: 0 0 .5em;
}
h1 { font-size: 44px; }
h2 { font-size: 34px; }
h3 { font-size: 24px; }
h4 { font-size: 20px; }
p { margin: 0 0 1em; }
ul, ol { padding-left: 1.3em; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute; width: 1px; word-wrap: normal !important;
}
.skip-link:focus {
	background: #fff; clip: auto; clip-path: none; color: var(--pp-ink);
	height: auto; left: 8px; top: 8px; padding: 12px 18px; width: auto; z-index: 100000;
	border-radius: 8px;
}
:focus-visible { outline: 3px solid #FFD54F; outline-offset: 2px; }

.pp-wrap { max-width: 1200px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }

/* ---------- Formularios ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
input[type="password"], input[type="number"], input[type="search"], textarea, select {
	font-family: inherit; font-size: 16px; color: var(--pp-ink);
	background: #fff; border: 1px solid var(--pp-field); border-radius: 12px;
	padding: 10px 14px; max-width: 100%;
}
textarea { width: 100%; }
input:focus, textarea:focus, select:focus { border-color: var(--pp-brand); outline: 2px solid var(--pp-soft); }
label { font-weight: 700; }

/* ---------- Botones ---------- */
.pp-btn, .button, button.button, input.button, input[type="submit"], button[type="submit"],
.wp-block-button__link, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce input.button.alt, .added_to_cart {
	display: inline-block; background: var(--pp-brand); color: #fff;
	border: 0; border-radius: 999px; padding: 14px 28px;
	font-family: var(--pp-body); font-weight: 700; font-size: 16px; line-height: 1.2;
	text-decoration: none; cursor: pointer;
}
.pp-btn:hover, .button:hover, button.button:hover, input.button:hover, input[type="submit"]:hover,
button[type="submit"]:hover, .wp-block-button__link:hover, .woocommerce a.button:hover,
.woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover, .added_to_cart:hover {
	background: var(--pp-brand-dark); color: #fff;
}
.pp-btn-outline, .woocommerce a.pp-btn-outline {
	background: transparent; color: var(--pp-brand); border: 2px solid var(--pp-brand); padding: 12px 26px;
}
.pp-btn-outline:hover, .woocommerce a.pp-btn-outline:hover { background: var(--pp-soft); color: var(--pp-brand-dark); }
.pp-btn-light, .woocommerce a.pp-btn-light { background: #fff; color: var(--pp-brand); }
.pp-btn-light:hover, .woocommerce a.pp-btn-light:hover { background: var(--pp-soft); color: var(--pp-brand-dark); }

/* ---------- Barra superior y header ---------- */
.pp-topbar {
	background: var(--pp-ink); color: #FFFFFF; text-align: center;
	padding: 10px 24px; font-size: 14px; font-weight: 600;
}
.site-header { background: #fff; border-bottom: 1px solid var(--pp-line); position: relative; z-index: 50; }
.site-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 14px; padding-bottom: 14px; }
.site-branding { display: flex; align-items: center; gap: 12px; }
.custom-logo-link { display: block; line-height: 0; }
.custom-logo-link img, .custom-logo { height: 58px; width: auto; max-width: 220px; }
.pp-brand-link { display: flex; align-items: center; gap: 12px; color: var(--pp-brand); }
.pp-logo-badge {
	width: 44px; height: 44px; border-radius: 14px; background: var(--pp-brand); color: #fff;
	display: flex; align-items: center; justify-content: center;
	font-family: var(--pp-display); font-weight: 600; font-size: 26px; line-height: 1;
}
.site-title { font-family: var(--pp-display); font-weight: 600; font-size: 28px; color: var(--pp-brand); line-height: 1; }

.main-nav { flex: 1 1 auto; display: flex; justify-content: flex-end; }
.main-nav ul { list-style: none; margin: 0; padding: 0; }
.main-nav > ul { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.main-nav li { position: relative; }
.main-nav a { display: block; color: var(--pp-ink); font-weight: 700; font-size: 16px; padding: 8px 0; }
.main-nav a:hover, .main-nav .current-menu-item > a, .main-nav .current-menu-ancestor > a { color: var(--pp-brand); }
.main-nav .menu-item-has-children > a::after {
	content: ""; display: inline-block; width: 6px; height: 6px;
	border: solid currentColor; border-width: 0 2px 2px 0;
	transform: rotate(45deg); margin-left: 8px; position: relative; top: -3px;
}
.main-nav .sub-menu {
	display: none; position: absolute; top: 100%; left: -16px; min-width: 240px;
	background: #fff; border: 1px solid var(--pp-line); border-radius: 14px;
	padding: 8px; box-shadow: 0 10px 28px rgba(58, 16, 48, .10); z-index: 60;
}
.main-nav li:hover > .sub-menu, .main-nav li:focus-within > .sub-menu { display: block; }
.main-nav .sub-menu .sub-menu { top: -9px; left: 100%; }
.main-nav .sub-menu a { padding: 9px 12px; border-radius: 8px; font-weight: 600; }
.main-nav .sub-menu a:hover { background: var(--pp-soft); }

.header-actions { display: flex; align-items: center; gap: 4px; }
.header-cart, .menu-toggle {
	position: relative; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center;
	background: transparent; border: 0; border-radius: 50%; color: var(--pp-ink); cursor: pointer; padding: 0;
}
.header-cart:hover, .menu-toggle:hover { background: var(--pp-soft); color: var(--pp-brand); }
.pp-cart-count {
	position: absolute; top: 2px; right: 0; min-width: 20px; height: 20px; padding: 0 5px;
	border-radius: 999px; background: var(--pp-brand); color: #fff;
	font-size: 12px; font-weight: 700; line-height: 20px; text-align: center;
}
.pp-cart-count.is-empty { display: none; }
.menu-toggle { display: none; }

/* ---------- Contenido general ---------- */
.site-main { min-height: 40vh; }
.pp-page { padding-top: 48px; padding-bottom: 24px; }
.entry-title { font-size: 44px; margin-bottom: 24px; }
.entry-content > *:last-child { margin-bottom: 0; }
.entry-content h2 { margin-top: 1.4em; }
.entry-content ul, .entry-content ol { margin: 0 0 1em; }
.pp-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.pp-post-card { background: #fff; border-radius: 22px; padding: 24px; box-shadow: 0 2px 0 var(--pp-line); }
.pp-post-card h2 { font-size: 24px; }
.pp-post-card h2 a { color: var(--pp-ink); }
.pp-post-card .meta { font-size: 14px; opacity: .75; margin-bottom: 8px; }
.pp-notfound { text-align: center; padding: 96px 0; }

/* ---------- Portada ---------- */
.pp-section { padding-top: 56px; padding-bottom: 24px; }
.pp-section > h2 { text-align: center; font-size: 38px; margin: 0 0 32px; }

.pp-hero { background: linear-gradient(180deg, #FFE3F4 0%, #FFF7FC 100%); }
.pp-hero-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 48px; padding-top: 72px; padding-bottom: 80px; }
.pp-hero-text { flex: 1 1 460px; min-width: 0; }
.pp-hero-text h1 { font-size: 56px; line-height: 1.08; margin: 20px 0 16px; }
.pp-hero-text p { font-size: 19px; line-height: 1.55; max-width: 520px; margin: 0 0 32px; }
.pp-badge { display: inline-block; background: #FFD54F; color: var(--pp-ink); font-weight: 700; font-size: 14px; padding: 6px 14px; border-radius: 999px; }
.pp-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.pp-tiles { flex: 1 1 420px; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pp-tile { height: 220px; border-radius: 26px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; }
.pp-tile span { font-weight: 700; font-size: 14px; color: var(--pp-ink); background: rgba(255, 255, 255, .85); padding: 4px 10px; border-radius: 999px; }

.pp-cats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.pp-cat {
	border-radius: 26px; padding: 40px; min-height: 210px;
	display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; color: var(--pp-ink);
}
.pp-cat:hover { color: var(--pp-ink); }
.pp-cat strong { font-family: var(--pp-display); font-weight: 600; font-size: 34px; }
.pp-cat span { font-size: 16px; line-height: 1.5; }
.pp-cat em { font-style: normal; font-weight: 700; color: var(--pp-brand); margin-top: 8px; }

.pp-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; }
.pp-benefit { background: #fff; border-radius: 22px; padding: 28px; text-align: center; display: flex; flex-direction: column; gap: 10px; }
.pp-benefit strong { font-family: var(--pp-display); font-weight: 600; font-size: 22px; }

.pp-textimg { display: flex; flex-wrap: wrap; align-items: center; gap: 40px; border-radius: 26px; padding: 40px; }
.pp-textimg.pp-reverse { flex-direction: row-reverse; }
.pp-textimg-text { flex: 1 1 360px; min-width: 0; }
.pp-textimg-text h2 { font-size: 34px; margin: 0 0 14px; }
.pp-textimg-img { flex: 1 1 320px; min-width: 0; }
.pp-textimg-img img { width: 100%; border-radius: 20px; display: block; }

.pp-banner { border-radius: 26px; padding: 48px 40px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.pp-banner h2 { font-size: 36px; margin: 0; }
.pp-banner p { font-size: 18px; max-width: 640px; margin: 0; }

/* ---------- WooCommerce ---------- */
.pp-woo { padding-top: 32px; padding-bottom: 24px; }
.woocommerce-breadcrumb { font-size: 14px; margin: 0 0 16px; }
.woocommerce-products-header__title, .woocommerce-products-header .page-title { font-size: 44px; margin: 0 0 8px; }
.woocommerce-result-count { float: left; margin: 0 0 28px; font-size: 15px; }
.woocommerce-ordering { float: right; margin: 0 0 28px; }

ul.products {
	clear: both; list-style: none; margin: 0 0 40px; padding: 0;
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px;
}
ul.products::before, ul.products::after { display: none !important; content: none !important; }
ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
ul.products.columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
ul.products li.product {
	float: none !important; width: auto !important; margin: 0 !important;
	background: #fff; border-radius: 22px; padding: 14px 14px 20px;
	box-shadow: 0 2px 0 var(--pp-line); display: flex; flex-direction: column; gap: 6px; position: relative;
}
ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; gap: 8px; color: var(--pp-ink); }
ul.products li.product img { border-radius: 16px; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; margin: 0; }
ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--pp-body); font-weight: 700; font-size: 17px; padding: 0 6px; margin: 0;
}
ul.products li.product .price { color: var(--pp-brand); font-weight: 700; font-size: 18px; padding: 0 6px; display: block; }
ul.products li.product .price del { opacity: .6; font-weight: 400; }
ul.products li.product .price ins { text-decoration: none; }
ul.products li.product .button {
	margin: auto 6px 0; text-align: center; background: var(--pp-soft); color: var(--pp-brand-dark);
}
ul.products li.product .button:hover { background: #FFCFE2; color: var(--pp-brand-dark); }
.woocommerce span.onsale, span.onsale {
	position: absolute; top: 22px; left: 22px; right: auto; min-width: 0; min-height: 0;
	background: #FFD54F; color: var(--pp-ink); border-radius: 999px; padding: 4px 12px;
	font-weight: 700; font-size: 13px; line-height: 1.4; z-index: 2;
}
.woocommerce-pagination { margin: 0 0 40px; }
.woocommerce-pagination ul.page-numbers { display: flex; gap: 8px; justify-content: center; list-style: none; margin: 0; padding: 0; border: 0; }
.woocommerce-pagination ul.page-numbers li { border: 0; margin: 0; }
.woocommerce-pagination .page-numbers a, .woocommerce-pagination .page-numbers span {
	display: block; min-width: 44px; padding: 10px 14px; text-align: center; background: #fff;
	border: 1px solid var(--pp-field); border-radius: 999px; font-weight: 700; color: var(--pp-ink);
}
.woocommerce-pagination .page-numbers .current { background: var(--pp-brand); border-color: var(--pp-brand); color: #fff; }

/* Ficha de producto */
.single-product div.product { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; }
.single-product div.product div.images, .single-product div.product div.summary {
	flex: 1 1 380px; min-width: 0; float: none !important; width: auto !important; margin: 0 !important;
}
.single-product div.product div.images img { border-radius: 22px; }
.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .upsells { flex: 0 0 100%; width: 100%; clear: both; }
.single-product .product_title { font-size: 38px; margin-bottom: 8px; }
.single-product div.product p.price, .single-product div.product span.price { color: var(--pp-brand); font-size: 26px; font-weight: 700; }
.woocommerce-product-details__short-description { margin: 12px 0 20px; }
table.variations { width: 100%; border: 0; margin: 0 0 16px; }
table.variations th, table.variations td { display: block; padding: 4px 0; text-align: left; border: 0; }
table.variations th label { font-size: 16px; }
.reset_variations { margin-left: 12px; font-size: 14px; }
.woocommerce-variation-add-to-cart, form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.quantity .qty { width: 76px; text-align: center; }
.product_meta { margin-top: 24px; font-size: 14px; display: flex; flex-direction: column; gap: 4px; }
.woocommerce-tabs ul.tabs { list-style: none; margin: 0 0 24px; padding: 0; display: flex; gap: 8px; flex-wrap: wrap; border: 0; }
.woocommerce-tabs ul.tabs::before, .woocommerce-tabs ul.tabs::after,
.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce-tabs ul.tabs li { background: #fff; border: 1px solid var(--pp-field); border-radius: 999px; margin: 0; padding: 0; }
.woocommerce-tabs ul.tabs li a { display: block; padding: 8px 18px; font-weight: 700; color: var(--pp-ink); }
.woocommerce-tabs ul.tabs li.active { background: var(--pp-brand); border-color: var(--pp-brand); }
.woocommerce-tabs ul.tabs li.active a { color: #fff; }
.woocommerce-Tabs-panel h2 { font-size: 26px; }
section.related > h2, section.upsells > h2 { font-size: 30px; margin: 32px 0 20px; }

/* Avisos */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	background: #fff; border: 2px solid var(--pp-line); border-radius: 14px; padding: 14px 18px;
	list-style: none; margin: 0 0 24px; color: var(--pp-ink);
}
.woocommerce-error { border-color: var(--pp-brand); }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-message .button, .woocommerce-info .button { float: right; padding: 8px 18px; }

/* Carrito y checkout */
.woocommerce table.shop_table {
	border: 1px solid var(--pp-line); border-radius: 16px; border-collapse: separate; border-spacing: 0;
	overflow: hidden; background: #fff; width: 100%;
}
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 14px 16px; border-top: 1px solid var(--pp-line); }
.woocommerce table.shop_table thead th { border-top: 0; background: var(--pp-soft); }
.woocommerce-cart-form img { width: 72px; border-radius: 12px; }
.woocommerce a.remove { color: var(--pp-brand) !important; }
.woocommerce a.remove:hover { background: var(--pp-brand) !important; color: #fff !important; }
.woocommerce .cart-collaterals .cart_totals { float: none; width: 100%; max-width: 480px; margin-left: auto; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { display: block; text-align: center; font-size: 18px; padding: 16px; }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { float: none !important; width: 100% !important; }
.woocommerce form .form-row { padding: 0; margin: 0 0 16px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea { width: 100%; }
.woocommerce-checkout #payment { background: #fff; border-radius: 16px; border: 1px solid var(--pp-line); }
.woocommerce-checkout #payment div.payment_box { background: var(--pp-soft); color: var(--pp-ink); border-radius: 12px; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--pp-line); }

/* Mi cuenta */
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
.woocommerce-MyAccount-navigation ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0 0 28px; }
.woocommerce-MyAccount-navigation li a {
	display: block; padding: 8px 18px; background: #fff; border: 1px solid var(--pp-field);
	border-radius: 999px; font-weight: 700; color: var(--pp-ink);
}
.woocommerce-MyAccount-navigation li.is-active a { background: var(--pp-brand); border-color: var(--pp-brand); color: #fff; }

/* ---------- Footer ---------- */
.pp-footer { background: var(--pp-ink); color: #FFFFFF; margin-top: 64px; }
.pp-footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 40px; padding-top: 56px; padding-bottom: 32px; }
.pp-footer h3 { color: #fff; font-size: 17px; margin: 0 0 12px; font-family: var(--pp-body); font-weight: 700; }
.pp-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.pp-footer a { color: #FFFFFF; }
.pp-footer a:hover { color: #fff; text-decoration: underline; }
.pp-footer .is-plain { opacity: .85; }
.pp-footer-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; font-family: var(--pp-display); font-weight: 600; font-size: 24px; color: #fff; }
.pp-footer-brand .pp-logo-badge { width: 40px; height: 40px; font-size: 22px; }
.pp-footer-contact { display: flex; flex-direction: column; gap: 10px; }
.pp-footer-contact a { color: #fff; font-weight: 700; }
.pp-social { display: flex; gap: 8px; margin-top: 8px; }
.pp-social a {
	width: 42px; height: 42px; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff;
	display: flex; align-items: center; justify-content: center;
}
.pp-social a:hover { background: var(--pp-brand); text-decoration: none; }
.pp-footer-bar { border-top: 1px solid #5E3253; text-align: center; padding: 18px 24px; font-size: 14px; }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	.menu-toggle { display: flex; }
	.site-header-inner { flex-wrap: wrap; }
	.header-actions { order: 2; }
	.main-nav { order: 3; flex: 0 0 100%; display: none; justify-content: flex-start; border-top: 1px solid var(--pp-line); padding-top: 8px; }
	.main-nav.is-open { display: block; }
	.main-nav > ul { flex-direction: column; align-items: stretch; gap: 0; }
	.main-nav a { padding: 12px 4px; }
	.main-nav .menu-item-has-children > a::after { display: none; }
	.main-nav .sub-menu, .main-nav .sub-menu .sub-menu {
		display: block; position: static; border: 0; box-shadow: none; padding: 0 0 0 16px; min-width: 0; background: transparent;
	}
	ul.products, ul.products[class*="columns-"] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	ul.products li.product { padding: 10px 10px 14px; border-radius: 18px; }
	ul.products li.product .woocommerce-loop-product__title { font-size: 14px; padding: 0 4px; }
	ul.products li.product .price { font-size: 16px; padding: 0 4px; }
	ul.products li.product .button { padding: 11px 6px; font-size: 14px; }
}
@media (max-width: 768px) {
	h1, .entry-title, .woocommerce-products-header__title { font-size: 34px; }
	.pp-hero-text h1 { font-size: 36px; }
	.pp-hero-inner { padding-top: 32px; padding-bottom: 36px; gap: 28px; }
	.pp-tile { height: 130px; }
	.pp-tile svg { width: 56px; height: 56px; }
	.pp-tile[style*="margin-top"] { margin-top: 0 !important; }
	.pp-cats { grid-template-columns: 1fr; }
	.pp-cat { padding: 26px; min-height: 0; }
	.pp-cat strong { font-size: 26px; }
	.pp-section { padding-top: 36px; }
	.pp-section > h2 { font-size: 28px; }
	.pp-textimg { padding: 24px; gap: 24px; }
	.pp-banner { padding: 32px 24px; }
	.pp-actions .pp-btn { width: 100%; text-align: center; }
	.woocommerce-result-count, .woocommerce-ordering { float: none; margin-bottom: 16px; }
	.woocommerce-message .button, .woocommerce-info .button { float: none; margin-top: 8px; }
	.single-product .product_title { font-size: 30px; }
}

/* ===== Fotos con nombre y precio ===== */
.pp-photocards{border-bottom:2px solid var(--pp-pc,#FF38B3);padding-bottom:48px;margin-bottom:0}
.pp-photocards h2{text-align:center}
.pp-pcs{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:28px}
.pp-pc{display:block;text-align:center;text-decoration:none;background:none;box-shadow:none;border:0;padding:0}
.pp-pc-img{display:block;aspect-ratio:3/4;border-radius:30px;overflow:hidden;background:var(--pp-soft)}
.pp-pc-img img,.pp-pc-empty{width:100%;height:100%;display:block}
.pp-pc-img img{object-fit:cover}
.pp-pc-empty{display:flex;align-items:center;justify-content:center}
.pp-pc-empty svg{width:55%;height:auto}
.pp-pc strong{display:block;margin-top:16px;font-family:'Fredoka',sans-serif;font-weight:500;font-size:clamp(18px,2.2vw,26px);color:var(--pp-pc,#FF38B3)}
.pp-pc em{display:block;margin-top:4px;font-style:normal;font-weight:400;font-size:clamp(16px,1.8vw,22px);color:var(--pp-pc,#FF38B3);opacity:.7}
@media(max-width:700px){.pp-pcs{grid-template-columns:repeat(2,1fr);gap:16px}.pp-pc-img{border-radius:22px}}

/* ===== Texto con botones (descripción) ===== */
.pp-seo{background:#F3F3F3;border-top:1px solid #E3E3E3;border-bottom:1px solid #E3E3E3;padding:36px 0 40px;margin-top:48px}
.pp-seo-inner{max-width:560px;margin:0 auto;padding:0 20px;text-align:center;color:#111111}
.pp-seo h2{font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:700;color:#111111;margin:0 0 18px}
.pp-seo p{font-family:Arial,Helvetica,sans-serif;font-size:19px;line-height:1.55;color:#111111;margin:0 0 16px}
.pp-seo-more[hidden]{display:none}
.pp-more-toggle{display:inline-block;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:700;color:#111111;text-decoration:underline;margin:4px 0 22px}
.pp-chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px}
.pp-chip{font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#111111;background:#fff;border:1px solid #6B6B6B;border-radius:8px;padding:9px 16px;text-decoration:none}
.pp-chip:hover{border-color:#111;color:#111}

/* ===== Botón flotante de WhatsApp ===== */
.pp-wa-float{position:fixed;bottom:22px;z-index:9999;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.25);transition:transform .15s}
.pp-wa-float:hover{transform:scale(1.08)}
.pp-wa-float.is-right{right:22px}.pp-wa-float.is-left{left:22px}
.pp-wa-float svg{width:32px;height:32px;fill:#fff}

/* ===== Color rosa en todo el sitio ===== */
p, li, td, th, dt, dd, label, legend, address, blockquote, figcaption, small, .entry-content, .entry-content *:not(a):not(button):not(.pp-btn),
input, select, textarea, ::placeholder { color: var(--pp-ink); }
::placeholder { opacity: .65; }
.entry-content a, .woocommerce a:not(.button):not(.pp-btn) { color: var(--pp-brand); }
.pp-footer, .pp-footer p, .pp-footer li, .pp-footer span, .pp-footer h3, .pp-topbar, .pp-topbar p { color: #fff; }
.pp-banner p { color: inherit; }
.pp-btn, .button, button.button, .woocommerce a.button, .woocommerce button.button { color: #fff; }
.pp-btn-outline, .pp-btn-light { color: var(--pp-ink); }

/* Sección de texto con botones: todo en negro */
.pp-seo h2,.pp-seo p,.pp-seo .pp-seo-more,.pp-seo .pp-seo-more p,.pp-seo .pp-more-toggle,.pp-seo .pp-chip{color:#111111}
.pp-seo .pp-chip:hover{color:#111111}

/* ===== Banner con imágenes ===== */
.pp-slider{position:relative;background:var(--pp-soft)}
.pp-slider{overflow:hidden}
.pp-slides{display:flex;transition:transform .6s ease;will-change:transform}
.pp-slide{flex:0 0 100%;min-width:0;align-self:flex-start}
.pp-slide a{display:block}
.pp-slide img{width:100%;height:auto;display:block}
.pp-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:var(--pp-brand);font-size:30px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.pp-prev{left:16px}.pp-next{right:16px}
.pp-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;gap:8px;justify-content:center}
.pp-dot{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.65);cursor:pointer}
.pp-dot.is-on{background:var(--pp-brand);transform:scale(1.25)}
.pp-slider-empty{padding:48px 24px;text-align:center}
@media(max-width:700px){.pp-arrow{width:36px;height:36px;font-size:24px}}

/* ===== Frase destacada ===== */
.pp-statement{padding:44px 20px;text-align:center}
.pp-statement p{max-width:900px;margin:0 auto;font-family:'Nunito',system-ui,sans-serif;font-weight:400;font-size:clamp(30px,5vw,56px);line-height:1.15}
.pp-statement strong{font-weight:800}

/* ===== Banner de una imagen ===== */
.pp-imgbanner{margin:0}
.pp-imgbanner img{display:block;width:100%;height:auto}
.pp-imgbanner a{display:block}
.pp-imgbanner:not(.is-full){margin:32px auto;padding:0 20px}
.pp-imgbanner:not(.is-full) img{border-radius:28px}
.pp-imgbanner.is-box{max-width:1000px}
.pp-imgbanner.is-wide{max-width:1240px}
.pp-imgbanner.is-small{max-width:760px}
@media(max-width:600px){.pp-imgbanner:not(.is-full){margin:20px auto;padding:0 12px}.pp-imgbanner:not(.is-full) img{border-radius:18px}}

/* ===== Tarjetas Niñas / Niños ===== */
.pp-gcs{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pp-gc{position:relative;display:block;aspect-ratio:4/5;border-radius:32px;overflow:hidden;background:#FFE3F4;text-decoration:none}
.pp-gc-2{background:#CDEBFF}
.pp-gc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pp-gc-text{position:absolute;left:0;right:0;bottom:0;padding:70px 16px 28px;display:flex;flex-direction:column;align-items:center;gap:12px;background:linear-gradient(to top,rgba(0,0,0,.22),rgba(0,0,0,0))}
.pp-gc strong{font-family:'Fredoka',sans-serif;font-weight:600;font-size:clamp(36px,6vw,64px);line-height:1;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3)}
.pp-gc-btn{display:inline-block;color:#fff;font-weight:700;font-size:clamp(16px,2vw,24px);padding:8px 30px;border-radius:999px}
.pp-gc:hover .pp-gc-btn{filter:brightness(1.07)}
@media(max-width:600px){.pp-gcs{gap:12px}.pp-gc{border-radius:20px}.pp-gc-text{padding-bottom:16px;gap:8px}.pp-gc-btn{padding:6px 18px}}

.pp-footer-logo{display:inline-block;margin-bottom:14px;line-height:0}
.pp-footer-logo img{display:block}

/* ===== Pie de página en gris con letras negras ===== */
.pp-footer { background: #F3F3F3; color: #111; border-top: 1px solid #E3E3E3; }
.pp-footer, .pp-footer p, .pp-footer li, .pp-footer span, .pp-footer h3, .pp-footer a,
.pp-footer-brand, .pp-footer-contact a, .pp-footer-bar { color: #111111; }
.pp-footer a:hover { color: #111111; text-decoration: underline; }
.pp-footer-bar { border-top: 1px solid #DADADA; }
.pp-social a { background: #FFFFFF; color: #111111; border: 1px solid #DADADA; }
.pp-social a:hover { background: #111111; color: #FFFFFF; }
.pp-social a svg { stroke: currentColor; }
