/*
Theme Name: Plantéalo
Template: twentytwentyfive
Description: Tema hijo minimalista y oscuro para la tienda Plantéalo.
Version: 1.1.2
Text Domain: plantealo
*/

/* Etiquetas en mayúsculas espaciadas */
.is-style-label, .pl-label { font-size: 12px; letter-spacing: .32em; text-transform: uppercase; color: var(--wp--preset--color--muted); }

/* Barra superior */
.pl-topbar { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
.pl-topbar p { margin: 0; font-size: 13px; letter-spacing: .08em; font-weight: 500; }
.pl-topbar a { color: inherit; }

.pl-header { border-bottom: 1px solid var(--wp--preset--color--line); }
.pl-header .wp-block-site-logo img { height: 34px; width: auto; }
.pl-header .wc-block-mini-cart__button, .pl-header .wc-block-customer-account a { color: var(--wp--preset--color--contrast); }

/* Botón secundario */
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--wp--preset--color--contrast); border-color: #5A564E; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { border-color: var(--wp--preset--color--contrast); background: transparent; color: #fff; }

/* Franja crema */
.pl-cream { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
.pl-cream :where(h1,h2,h3,p,a) { color: var(--wp--preset--color--base); }
.pl-cream .pl-label { color: var(--wp--preset--color--ink-soft); }

.pl-hero-imgs .wp-block-column:last-child { padding-top: 64px; }
.pl-hero-imgs img, .pl-cover img { aspect-ratio: 3 / 4.6; object-fit: cover; width: 100%; }
.pl-detail img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.pl-trust { border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--soft); }
.pl-trust p { margin: 0; }

/* ---------- WooCommerce ---------- */
.woocommerce ul.products, .wc-block-grid__products { gap: 40px 20px; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { margin: 0 0 8px; }
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; float: none !important; }
.woocommerce ul.products li.product a img { aspect-ratio: 4 / 5; object-fit: cover; background: var(--wp--preset--color--surface); margin-bottom: 14px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-components-product-name, .wp-block-post-title a, .product_title {
	font-family: var(--wp--preset--font-family--display); font-style: italic; font-weight: 400;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 20px; padding: 0; line-height: 1.2; }
.woocommerce ul.products li.product .price { color: var(--wp--preset--color--contrast); font-size: 15px; }
.woocommerce ul.products li.product .button { display: none; }
.woocommerce span.onsale { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); border-radius: 0; }

.woocommerce .price, .wc-block-components-product-price { color: var(--wp--preset--color--contrast) !important; }
.product_title { font-size: clamp(36px, 4vw, 48px); line-height: 1.05; }

/* Selector de talla como botones (variaciones) */
.pl-sizes { display: grid; grid-template-columns: repeat(auto-fill, minmax(56px, 1fr)); gap: 8px; margin: 4px 0 8px; }
.pl-sizes button { height: 48px; background: transparent; color: var(--wp--preset--color--contrast); border: 1px solid #5A564E; font: inherit; font-size: 14px; cursor: pointer; }
.pl-sizes button[aria-pressed="true"] { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); border-color: var(--wp--preset--color--contrast); }
.pl-sizes button:disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
.variations_form.pl-has-sizes table.variations select { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0; }
.woocommerce div.product form.cart .variations label { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; font-weight: 400; }
.reset_variations { display: none !important; }

.woocommerce :where(button.button, a.button, input.button, #respond input#submit),
.woocommerce button.button.alt, .woocommerce a.button.alt, .wc-block-components-button:not(.is-link) {
	background: var(--wp--preset--color--contrast) !important; color: var(--wp--preset--color--base) !important;
	border-radius: 0 !important; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; padding: 16px 28px;
}
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 auto; height: 56px; margin: 0 !important; }
.woocommerce-variation-add-to-cart, form.cart:not(.variations_form) { display: flex; gap: 8px; align-items: stretch; width: 100%; max-width: 480px; }
.woocommerce .quantity .qty, .woocommerce select, .woocommerce input.input-text, .woocommerce textarea,
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input {
	background: transparent !important; color: var(--wp--preset--color--contrast) !important; border: 1px solid #5A564E !important; border-radius: 0 !important;
}
.wc-block-components-text-input label, .wc-block-components-combobox label { color: var(--wp--preset--color--muted) !important; }
.woocommerce-tabs ul.tabs li, .woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent !important; border-color: var(--wp--preset--color--line) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--wp--preset--color--contrast); font-weight: 400; letter-spacing: .14em; text-transform: uppercase; font-size: 13px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { background: var(--wp--preset--color--surface) !important; color: var(--wp--preset--color--contrast) !important; border-color: var(--wp--preset--color--line) !important; }
.wc-block-components-sidebar-layout .wc-block-components-panel, .wc-block-cart, .wc-block-checkout { color: var(--wp--preset--color--contrast); }
.wc-block-mini-cart__drawer .components-modal__content, .wc-block-mini-cart__drawer { background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); }
.pl-perks { list-style: none; padding: 0; margin: 20px 0 0; font-size: 14px; color: var(--wp--preset--color--soft); display: grid; gap: 6px; }
.pl-perks li::before { content: "— "; color: var(--wp--preset--color--muted); }

/* Rejilla de productos (bloque) */
.pl-products .wc-block-product-template { gap: 40px 20px !important; }
.pl-products .wc-block-components-product-image { margin-bottom: 14px !important; background: var(--wp--preset--color--surface); }
.pl-products .wp-block-post-title { font-size: 20px !important; margin: 0 0 4px !important; text-align: left !important; }
.pl-products .wc-block-components-product-price { font-size: 15px !important; text-align: left !important; }

/* Ficha de producto */
.woocommerce div.product form.cart table.variations, .woocommerce div.product form.cart table.variations tbody,
.woocommerce div.product form.cart table.variations tr, .woocommerce div.product form.cart table.variations td { display: block; width: 100%; }
.variations_form.pl-has-sizes table.variations select { position: absolute !important; width: 1px !important; min-width: 0 !important; height: 1px !important; overflow: hidden; clip: rect(0 0 0 0); }
.single-product .wp-block-post-title { font-family: var(--wp--preset--font-family--display); font-style: italic; font-weight: 400; }
.wc-block-components-product-button, .related .add_to_cart_button, ul.products .button { display: none !important; }
.woocommerce-Tabs-panel > h2:first-child { display: none; }
.woocommerce div.product .woocommerce-tabs .panel { font-size: 15px; color: var(--wp--preset--color--soft); }
.woocommerce-breadcrumb, .wc-block-breadcrumbs { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.product_meta { font-size: 13px; color: var(--wp--preset--color--muted); }

/* Controles nativos (flechas de cantidad, selects, checkboxes) en modo oscuro */
:root { color-scheme: dark; }
.pl-cream { color-scheme: light; }
.wc-block-components-quantity-selector { border-color: #5A564E !important; border-radius: 0 !important; background: transparent !important; }
.wc-block-components-quantity-selector::after { border-color: #5A564E !important; border-radius: 0 !important; }
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { color: var(--wp--preset--color--contrast) !important; background: transparent !important; opacity: 1 !important; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled { opacity: .4 !important; }

/* Selector de cantidad con − / + */
.pl-qty { display: inline-flex; align-items: stretch; border: 1px solid #5A564E; height: 56px; margin: 0 !important; float: none !important; }
.pl-qty button { width: 44px; background: transparent; border: 0; color: var(--wp--preset--color--contrast); font-size: 20px; line-height: 1; cursor: pointer; }
.pl-qty button:hover { background: var(--wp--preset--color--surface); }
.pl-qty input.qty { width: 44px !important; border: 0 !important; text-align: center; font: inherit; font-size: 16px; -moz-appearance: textfield; appearance: textfield; padding: 0 !important; height: auto !important; }
.pl-qty input.qty::-webkit-outer-spin-button, .pl-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Compromiso solidario */
.pl-compromiso-note { font-size: 14px; color: var(--wp--preset--color--soft); }
.pl-compromiso-note a { text-decoration: underline; text-underline-offset: 3px; }
.pl-compromiso-note span { color: var(--wp--preset--color--contrast); margin-right: 4px; }
.pl-compromiso-cart { max-width: 1320px; margin: 24px auto 0; padding: 18px 24px; border: 1px solid var(--wp--preset--color--line); }
.pl-impact { border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); }
.pl-impact .pl-big { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: clamp(72px, 10vw, 140px); line-height: .9; margin: 0; }

/* Próximamente */
.pl-soon { min-height: 100vh; display: flex; flex-direction: column; }
.pl-soon-main { flex: 1; }
.pl-wl { display: grid; gap: 12px; max-width: 520px; }
.pl-wl-row { display: flex; flex-wrap: wrap; gap: 8px; }
.pl-wl input[type=email] { flex: 1 1 240px; min-width: 0; height: 56px; padding: 0 16px; background: transparent; border: 1px solid #5A564E; color: var(--wp--preset--color--contrast); font: inherit; border-radius: 0; }
.pl-wl input[type=email]:focus { outline: 2px solid var(--wp--preset--color--contrast); outline-offset: 2px; }
.pl-wl button { height: 56px; padding: 0 28px; background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); border: 0; font: inherit; font-size: 13px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; cursor: pointer; }
.pl-wl button[disabled] { opacity: .6; cursor: wait; }
.pl-wl label.pl-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--wp--preset--color--soft); line-height: 1.45; }
.pl-wl label.pl-consent input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--wp--preset--color--contrast); flex: none; }
.pl-wl .pl-hp { position: absolute; left: -9999px; }
.pl-wl-msg { font-size: 15px; min-height: 1.5em; margin: 0; }
.pl-wl-msg.is-ok { color: var(--wp--preset--color--contrast); }
.pl-wl-msg.is-error { color: #F2B8A0; }
.pl-perk-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; font-size: 15px; color: var(--wp--preset--color--soft); }
.pl-perk-list li::before { content: "✿ "; color: var(--wp--preset--color--contrast); }
.pl-soon-imgs img { aspect-ratio: 3 / 4.4; object-fit: cover; width: 100%; display: block; }

/* Nuestra misión */
.pl-pillars { border-top: 1px solid var(--wp--preset--color--line); }
.pl-pillars .wp-block-column { border-top: 1px solid var(--wp--preset--color--contrast); padding-top: 20px; }
.pl-pillars h3 { font-size: 24px; margin: 8px 0 12px; }
.pl-pillars p { color: var(--wp--preset--color--soft); font-size: 15px; }
.pl-num { font-family: var(--wp--preset--font-family--display); font-style: italic; color: var(--wp--preset--color--muted); margin: 0; }
