/*
Theme Name:   Astra Sexual Wellness
Description:  Tema hijo de Astra para una tienda de bienestar sexual (WooCommerce + blog). Paleta ciruela / salvia / rubor, portada, catálogo, blog con puente a producto y verificación de edad.
Author:       Tu Marca
Template:     astra
Version:      1.1.0
Text Domain:  astra-swellness
Requires PHP: 7.4
*/

/* ---------- Tokens ---------- */
:root{
  --sw-ink:#2A1A2E;      /* ciruela noche: texto y titulares */
  --sw-mist:#F4F0F7;     /* niebla lila: fondo general */
  --sw-rubor:#B8476B;    /* rubor: botones y enlaces */
  --sw-rubor-dk:#8F3452;
  --sw-sage:#6F9483;     /* salvia: bienestar, detalles */
  --sw-sage-dk:#3F6353;
  --sw-sand:#EADFD6;     /* arena: bloques suaves */
  --sw-white:#FFFFFF;
  --sw-radius:18px;
  --sw-font-head:"Fraunces",Georgia,"Times New Roman",serif;
  --sw-font-body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;

  /* Colores globales de Astra -> botones, enlaces y fondos siguen la paleta */
  --ast-global-color-0:var(--sw-rubor);
  --ast-global-color-1:var(--sw-rubor-dk);
  --ast-global-color-2:var(--sw-ink);
  --ast-global-color-3:#4A3A4E;
  --ast-global-color-4:var(--sw-mist);
  --ast-global-color-5:var(--sw-white);
  --ast-global-color-6:var(--sw-sand);
  --ast-global-color-7:var(--sw-sage);
  --ast-global-color-8:var(--sw-ink);
}
body{font-family:var(--sw-font-body);background:var(--sw-mist);color:#4A3A4E;line-height:1.65}
h1,h2,h3,h4,.entry-title,.woocommerce-loop-product__title{font-family:var(--sw-font-head);color:var(--sw-ink);font-weight:600;letter-spacing:-.01em;line-height:1.15}
a{color:var(--sw-rubor)}a:hover{color:var(--sw-rubor-dk)}
:focus-visible{outline:3px solid var(--sw-sage);outline-offset:3px}
.site-header,.main-header-bar{background:var(--sw-mist)}
.ast-site-identity .site-title a{font-family:var(--sw-font-head);color:var(--sw-ink)}

/* ---------- Botones ---------- */
.sw-btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,
.wp-block-button__link,.ast-button{
  background:var(--sw-rubor);color:#fff;border:0;border-radius:999px;padding:.85em 1.7em;
  font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:inline-block}
.sw-btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{background:var(--sw-rubor-dk);color:#fff}
.sw-btn--ghost{background:transparent;color:var(--sw-ink);box-shadow:inset 0 0 0 2px var(--sw-ink)}
.sw-btn--ghost:hover{background:var(--sw-ink);color:#fff}

/* ---------- Plantillas a ancho completo ---------- */
.sw-landing .site-content{background:var(--sw-mist)}
.sw-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.sw-section{padding:88px 0}
.sw-section--sand{background:var(--sw-sand)}
.sw-section h2{font-size:clamp(1.9rem,3.4vw,2.8rem);margin:0 0 .5em}
.sw-lead{font-size:1.15rem;max-width:56ch}

/* ---------- Hero ---------- */
.sw-hero{position:relative;overflow:hidden;padding:110px 0 96px}
.sw-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.sw-hero h1{font-size:clamp(2.6rem,6vw,4.9rem);margin:0 0 .35em;font-weight:500}
.sw-hero h1 em{font-style:italic;color:var(--sw-rubor)}
.sw-hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.sw-hero__art{position:relative;aspect-ratio:1/1;min-height:300px}
.sw-blob{position:absolute;border-radius:58% 42% 55% 45%/48% 58% 42% 52%;mix-blend-mode:multiply}
.sw-blob--a{inset:4% 14% 20% 0;background:var(--sw-rubor);opacity:.85}
.sw-blob--b{inset:26% 0 0 26%;background:var(--sw-sage);opacity:.85;border-radius:44% 56% 40% 60%/56% 42% 58% 44%}
.sw-blob--c{inset:0 40% 60% 34%;background:var(--sw-sand);border-radius:50%}
@media(prefers-reduced-motion:no-preference){.sw-blob--a{animation:sw-drift 14s ease-in-out infinite alternate}}
@keyframes sw-drift{to{transform:translate(10px,-14px) rotate(4deg)}}

/* ---------- Franja de confianza ---------- */
.sw-trust{border-block:1px solid rgba(42,26,46,.12);padding:22px 0}
.sw-trust ul{list-style:none;margin:0;padding:0;display:flex;gap:12px 40px;flex-wrap:wrap;justify-content:space-between}
.sw-trust li{font-weight:600;color:var(--sw-ink);font-size:.98rem}
.sw-trust li span{color:var(--sw-sage-dk);font-weight:500;display:block;font-size:.88rem}

/* ---------- Necesidades (lista editorial) ---------- */
.sw-needs{list-style:none;margin:36px 0 0;padding:0;border-top:1px solid rgba(42,26,46,.18)}
.sw-needs a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:24px;align-items:baseline;
  padding:26px 4px;border-bottom:1px solid rgba(42,26,46,.18);text-decoration:none;color:var(--sw-ink);transition:padding .25s,background .25s}
.sw-needs a:hover{background:rgba(255,255,255,.55);padding-left:18px}
.sw-needs strong{font-family:var(--sw-font-head);font-size:clamp(1.4rem,2.6vw,2rem);font-weight:600}
.sw-needs span{color:#5b4a5f}
.sw-needs i{font-style:normal;color:var(--sw-rubor);font-weight:600}
@media(max-width:720px){.sw-needs a{grid-template-columns:1fr;gap:4px}}

/* ---------- Productos WooCommerce ---------- */
.woocommerce ul.products li.product{background:var(--sw-white);border-radius:var(--sw-radius);padding:14px 14px 20px;
  box-shadow:0 1px 0 rgba(42,26,46,.06);text-align:left}
.woocommerce ul.products li.product img{border-radius:12px;background:var(--sw-mist)}
.woocommerce ul.products li.product .price,.woocommerce div.product p.price{color:var(--sw-sage-dk);font-weight:700}
.woocommerce span.onsale{background:var(--sw-sage-dk);color:#fff;border-radius:999px;min-height:auto;line-height:1;padding:.6em .9em}
.woocommerce-message,.woocommerce-info{border-top-color:var(--sw-sage)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--sw-sage-dk)}

/* ---------- Catálogo (chips) ---------- */
.sw-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px;padding:0;list-style:none}
.sw-chips a{display:inline-block;padding:.5em 1.1em;border-radius:999px;background:var(--sw-white);color:var(--sw-ink);
  text-decoration:none;box-shadow:inset 0 0 0 1.5px rgba(42,26,46,.2);font-weight:500}
.sw-chips a:hover,.sw-chips a.is-active{background:var(--sw-ink);color:#fff}

/* ---------- Blog ---------- */
.blog .ast-article-post,.archive .ast-article-post{background:var(--sw-white);border-radius:var(--sw-radius);overflow:hidden}
.blog .entry-title a,.archive .entry-title a{color:var(--sw-ink)}
.ast-blog-featured-section img{border-radius:12px}
.single-post .entry-content{font-size:1.1rem;line-height:1.8}
.single-post .entry-content>*{max-width:68ch;margin-left:auto;margin-right:auto}
.single-post .entry-content>.alignwide,.single-post .entry-content>.sw-bridge{max-width:100%}
.single-post .entry-content h2{margin-top:1.8em}
.single-post .entry-content blockquote{border-left:4px solid var(--sw-sage);background:var(--sw-sand);padding:1em 1.4em;border-radius:0 12px 12px 0}
.sw-disclaimer{font-size:.9rem;color:#5b4a5f;border-top:1px solid rgba(42,26,46,.15);padding-top:1em;margin-top:2.5em}
.sw-bridge{background:var(--sw-sand);border-radius:var(--sw-radius);padding:32px;margin:3em 0 1em}
.sw-bridge h3{margin-top:0}

/* ---------- Blog en portada ---------- */
.sw-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:32px}
.sw-post a{text-decoration:none;color:var(--sw-ink);display:block}
.sw-post img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--sw-radius);background:var(--sw-sage)}
.sw-post h3{font-size:1.35rem;margin:14px 0 6px}
.sw-post small{color:var(--sw-sage-dk);font-weight:600}
@media(max-width:860px){.sw-posts{grid-template-columns:1fr}.sw-hero__grid{grid-template-columns:1fr}.sw-hero__art{max-width:320px}.sw-section{padding:60px 0}}

/* ---------- Suscripción ---------- */
.sw-news{background:var(--sw-ink);color:#e9dfee;border-radius:28px;padding:56px;display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center}
.sw-news h2{color:#fff;margin:0}
.sw-news input[type=email]{border-radius:999px;border:0;padding:.9em 1.3em;width:100%}
@media(max-width:860px){.sw-news{grid-template-columns:1fr;padding:32px}}

/* ---------- Avisos de tienda ---------- */
.sw-ship-note{background:var(--sw-white);border-left:4px solid var(--sw-sage);padding:12px 16px;border-radius:0 12px 12px 0;margin-bottom:18px}
.sw-discreet{font-size:.92rem;color:var(--sw-sage-dk);margin:10px 0}

/* ---------- Verificación de edad ---------- */
.sw-age{position:fixed;inset:0;z-index:99999;background:rgba(42,26,46,.94);display:none;align-items:center;justify-content:center;padding:20px}
.sw-age.is-open{display:flex}
.sw-age__box{background:var(--sw-mist);max-width:460px;border-radius:24px;padding:40px;text-align:center}
.sw-age__box h2{margin:0 0 .4em;font-size:1.9rem}
.sw-age__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}

/* ================= v1.1: contenido dentro del contenedor de Astra (editable con bloques) ================= */
.sw-landing .site-content{background:var(--sw-mist)}
.sw-landing.ast-separate-container .ast-article-single:not(.ast-related-post),
.sw-landing.ast-separate-container .ast-article-post{background:transparent;padding:0;border:0;box-shadow:none}
.sw-landing.ast-separate-container #primary{margin-top:0;margin-bottom:0;padding:0}
.sw-canvas .entry-content>*{margin-block-start:0}
.sw-section{padding:48px 0}
.sw-section--sand{background:var(--sw-sand);border-radius:28px;padding:48px 40px}
.sw-hero{padding:48px 0 24px;gap:48px;align-items:center}
.sw-hero__art{aspect-ratio:1/1;min-height:260px;max-width:420px;margin-inline:auto}
.sw-hero h1{font-size:clamp(2.4rem,5.4vw,4.4rem);margin-top:0}
.sw-trust{border-block:1px solid rgba(42,26,46,.12);padding:20px 0;margin-bottom:0;gap:12px 32px}
.sw-trust p{margin:0;font-size:.88rem;color:var(--sw-sage-dk)}
.sw-trust strong{display:block;color:var(--sw-ink);font-size:.98rem}
.sw-news{background:var(--sw-ink);color:#e9dfee;border-radius:28px;padding:48px;display:block}
.sw-news h2{color:#fff;margin-top:0}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--sw-ink);box-shadow:inset 0 0 0 2px var(--sw-ink)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--sw-ink);color:#fff}
.wp-block-latest-posts.is-grid li{background:var(--sw-white);border-radius:var(--sw-radius);padding:14px}
.wp-block-latest-posts__featured-image img{border-radius:12px;aspect-ratio:4/3;object-fit:cover;width:100%}
.wp-block-latest-posts a{color:var(--sw-ink);font-family:var(--sw-font-head);font-weight:600;font-size:1.2rem;text-decoration:none}
@media(max-width:781px){.sw-section--sand,.sw-news{padding:28px 20px}}
