/*
Theme Name: ABCDalia
Theme URI: https://abcdaliamx.com
Description: Tema hijo de Astra para ABCDalia — material didáctico para enseñar a leer y escribir. Paleta floral (dalia) y tipografías Fraunces + Nunito Sans.
Author: ABCDalia
Template: astra
Version: 1.0.0
Text Domain: abcdalia
*/

/* =========================================================
   Paleta y variables de marca
   ========================================================= */
:root{
  --dalia:#D96BA0; --dalia-dark:#B84E83; --lila:#C9B6E4; --lila-soft:#EFE7F7;
  --verde:#6FA56B; --verde-dark:#557F52; --carbon:#34303A; --crema:#FBF6F0;
  --blanco:#ffffff; --gris:#7A737F; --linea:#EFE6EE;
  --sombra:0 10px 30px rgba(52,48,58,.10); --sombra-sm:0 4px 14px rgba(52,48,58,.08);
  --radio:18px;
}

/* =========================================================
   Base / tipografía
   ========================================================= */
body{ background:var(--crema); color:var(--carbon); font-family:'Nunito Sans',-apple-system,BlinkMacSystemFont,sans-serif; line-height:1.6; }
h1,h2,h3,h4,h5,h6,.site-title,.entry-title,.widget-title{ font-family:'Fraunces',Georgia,serif; color:var(--carbon); font-weight:600; line-height:1.15; }
a{ color:var(--dalia-dark); }
a:hover{ color:var(--dalia); }
.abcd-wrap{ max-width:1180px; margin:0 auto; padding:0 22px; }

/* contenedor general acorde a la marca */
.ast-container,.site-content .ast-container{ max-width:1180px; }

/* =========================================================
   Barra superior promocional
   ========================================================= */
.abcd-topbar{ background:var(--carbon); color:#fff; text-align:center; font-size:13.5px; font-weight:700; padding:8px 10px; }
.abcd-topbar span{ color:var(--lila); }

/* =========================================================
   Cabecera
   ========================================================= */
.ast-primary-header-bar,.site-header{ background:rgba(251,246,240,.96)!important; border-bottom:1px solid var(--linea); }
.main-header-menu a,.ast-header-navigation-wrap .menu-item a{ font-weight:700; }
.custom-logo-link img,.ast-site-identity img{ max-height:48px; width:auto; }
/* El logo ya contiene el nombre: ocultar el título de sitio duplicado */
.site-title,.ast-site-title-wrap{ display:none !important; }

/* menú: ítem activo tipo pill */
.main-header-menu .current-menu-item > a{ color:var(--dalia-dark); }

/* =========================================================
   Botones (marca + WooCommerce)
   ========================================================= */
.abcd-btn,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button.alt,.woocommerce button.button.alt,
.wp-block-button__link,.ast-button,.button{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:'Nunito Sans',sans-serif; font-weight:800; font-size:15px;
  padding:13px 24px; border-radius:999px; border:none; cursor:pointer;
  transition:.18s; text-decoration:none; line-height:1.1;
}
.abcd-btn-primary,
.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce #respond input#submit.alt,.woocommerce a.button,.woocommerce button.button,
.wp-block-button__link{ background:var(--dalia); color:#fff; }
.abcd-btn-primary:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,
.wp-block-button__link:hover{ background:var(--dalia-dark); color:#fff; }

.abcd-btn-ghost{ background:transparent; color:var(--dalia-dark); border:2px solid var(--dalia); }
.abcd-btn-ghost:hover{ background:var(--lila-soft); color:var(--dalia-dark); }
.abcd-btn-green{ background:var(--verde); color:#fff; }
.abcd-btn-green:hover{ background:var(--verde-dark); color:#fff; }

.abcd-tag{ display:inline-block; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; padding:5px 11px; border-radius:999px; background:var(--lila-soft); color:var(--dalia-dark); }

/* =========================================================
   Encabezados de sección
   ========================================================= */
.abcd-section{ padding:46px 0; }
.abcd-sec-head{ text-align:center; max-width:660px; margin:0 auto 32px; }
.abcd-sec-head h2{ font-size:clamp(26px,3.5vw,38px); }
.abcd-sec-head p{ color:var(--gris); margin-top:8px; font-size:17px; }
.abcd-sec-head .abcd-tag{ margin-bottom:12px; }

/* =========================================================
   Hero
   ========================================================= */
.abcd-hero{ padding:56px 0 40px; }
.abcd-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
.abcd-hero h1{ font-size:clamp(34px,5vw,54px); letter-spacing:-.01em; }
.abcd-hero h1 em{ font-style:italic; color:var(--dalia-dark); }
.abcd-hero .abcd-lead{ font-size:19px; color:var(--gris); margin:18px 0 26px; max-width:520px; }
.abcd-hero-cta{ display:flex; gap:13px; flex-wrap:wrap; }
.abcd-hero-mini{ display:flex; gap:26px; margin-top:30px; }
.abcd-hero-mini div{ font-size:14px; color:var(--gris); }
.abcd-hero-mini b{ display:block; font-family:'Fraunces',serif; font-size:26px; color:var(--carbon); }
.abcd-hero-art{ background:linear-gradient(150deg,var(--lila-soft),#fff); border-radius:28px; padding:30px; box-shadow:var(--sombra); position:relative; overflow:hidden; }
.abcd-hero-art .abcd-blob{ position:absolute; width:200px; height:200px; background:radial-gradient(circle,var(--dalia),transparent 70%); opacity:.18; border-radius:50%; top:-50px; right:-50px; }
.abcd-abc-cards{ display:flex; gap:12px; justify-content:center; margin-bottom:18px; }
.abcd-abc-cards .l{ width:74px; height:84px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-weight:700; font-size:42px; color:#fff; box-shadow:var(--sombra-sm); transform:rotate(-4deg); }
.abcd-abc-cards .l:nth-child(2){ transform:rotate(3deg); }
.abcd-abc-cards .l:nth-child(3){ transform:rotate(-2deg); }
.abcd-hero-art .abcd-cap{ text-align:center; background:#fff; border-radius:14px; padding:14px; font-weight:700; color:var(--carbon); box-shadow:var(--sombra-sm); }
.abcd-hero-art .abcd-cap small{ display:block; color:var(--gris); font-weight:600; font-size:13px; }

/* =========================================================
   Banner de membresía
   ========================================================= */
.abcd-memb{ background:linear-gradient(120deg,var(--dalia),var(--lila)); border-radius:26px; padding:40px; color:#fff; display:grid; grid-template-columns:1.3fr 1fr; gap:30px; align-items:center; box-shadow:var(--sombra); }
.abcd-memb h2{ color:#fff; font-size:32px; }
.abcd-memb p{ opacity:.95; margin:10px 0 0; font-size:16.5px; }
.abcd-memb .abcd-price-card{ background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.4); border-radius:18px; padding:24px; text-align:center; backdrop-filter:blur(4px); }
.abcd-memb .abcd-price-card .num{ font-family:'Fraunces',serif; font-size:46px; font-weight:700; }
.abcd-memb .abcd-price-card small{ opacity:.9; display:block; margin-bottom:12px; }
.abcd-memb .abcd-price-card .abcd-btn{ width:100%; background:#fff; color:var(--dalia-dark); }

/* =========================================================
   Categorías
   ========================================================= */
.abcd-cats{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.abcd-cat{ background:#fff; border:1px solid var(--linea); border-radius:var(--radio); padding:20px 14px; text-align:center; cursor:pointer; transition:.18s; display:block; color:var(--carbon); }
.abcd-cat:hover{ transform:translateY(-4px); box-shadow:var(--sombra); border-color:var(--lila); color:var(--carbon); }
.abcd-cat .emo{ font-size:30px; }
.abcd-cat span{ display:block; font-weight:800; font-size:14px; margin-top:8px; }

/* =========================================================
   Rejilla de productos (home destacados)
   ========================================================= */
.abcd-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.abcd-card{ background:#fff; border:1px solid var(--linea); border-radius:var(--radio); overflow:hidden; transition:.18s; display:flex; flex-direction:column; }
.abcd-card:hover{ transform:translateY(-5px); box-shadow:var(--sombra); border-color:var(--lila); }
.abcd-cover{ aspect-ratio:4/5; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:18px; text-align:center; position:relative; color:#fff; }
.abcd-cover .emo{ font-size:40px; }
.abcd-cover h4{ color:#fff; font-size:18px; margin-top:10px; text-shadow:0 2px 8px rgba(0,0,0,.25); line-height:1.2; }
.abcd-card-body{ padding:14px 15px 16px; }
.abcd-card-body .sub{ font-size:12.5px; color:var(--gris); font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.abcd-card-body .pname{ font-weight:800; font-size:15.5px; margin:3px 0 9px; line-height:1.25; color:var(--carbon); }
.abcd-card-foot{ display:flex; align-items:center; justify-content:space-between; }
.abcd-price{ font-family:'Fraunces',serif; font-weight:700; font-size:21px; color:var(--dalia-dark); }

/* =========================================================
   WooCommerce — catálogo / tienda
   ========================================================= */
.woocommerce ul.products{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:0; }
.woocommerce ul.products li.product{ background:#fff; border:1px solid var(--linea); border-radius:var(--radio); overflow:hidden; transition:.18s; margin:0; padding:0; text-align:left; width:auto; float:none; }
.woocommerce ul.products li.product:hover{ transform:translateY(-5px); box-shadow:var(--sombra); border-color:var(--lila); }
.woocommerce ul.products li.product a img{ margin:0; border-radius:0; aspect-ratio:4/5; object-fit:cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-family:'Nunito Sans',sans-serif; font-weight:800; font-size:15.5px; color:var(--carbon); padding:12px 15px 4px; }
.woocommerce ul.products li.product .price{ color:var(--dalia-dark); font-family:'Fraunces',serif; font-weight:700; font-size:20px; padding:0 15px; display:block; }
.woocommerce ul.products li.product .price del{ color:var(--gris); font-size:14px; }
.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .added_to_cart{ margin:12px 15px 16px; }
.woocommerce span.onsale{ background:var(--verde); color:#fff; border-radius:999px; }
.woocommerce .star-rating span{ color:#E9A23B; }
.abcd-vip-badge{ position:absolute; top:11px; right:11px; background:var(--carbon); color:#fff; font-size:11px; font-weight:800; padding:4px 9px; border-radius:999px; z-index:2; }

/* filtros / chips de categoría */
.abcd-chips{ display:flex; gap:8px; flex-wrap:wrap; margin:0 0 22px; }
.abcd-chip{ background:#fff; border:1px solid var(--linea); border-radius:999px; padding:7px 15px; font-weight:700; font-size:13.5px; transition:.15s; color:var(--carbon); }
.abcd-chip:hover,.abcd-chip.active{ background:var(--dalia); color:#fff; border-color:var(--dalia); }

/* ficha de producto */
.woocommerce div.product .product_title{ font-size:34px; }
.woocommerce div.product p.price,.woocommerce div.product span.price{ color:var(--dalia-dark); font-family:'Fraunces',serif; font-weight:700; font-size:32px; }

/* =========================================================
   Planes de membresía
   ========================================================= */
.abcd-plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:stretch; }
.abcd-plan{ background:#fff; border:1px solid var(--linea); border-radius:22px; padding:30px 26px; display:flex; flex-direction:column; position:relative; }
.abcd-plan.feature{ border:2px solid var(--dalia); box-shadow:var(--sombra); }
.abcd-plan .badge{ position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--dalia); color:#fff; font-size:12px; font-weight:800; padding:5px 16px; border-radius:999px; text-transform:uppercase; letter-spacing:.04em; }
.abcd-plan h3{ font-size:23px; }
.abcd-plan .pnum{ font-family:'Fraunces',serif; font-size:46px; font-weight:700; color:var(--dalia-dark); margin:8px 0 2px; }
.abcd-plan .pnum small{ font-size:15px; color:var(--gris); font-family:'Nunito Sans',sans-serif; font-weight:700; }
.abcd-plan ul{ list-style:none; margin:18px 0 24px; flex:1; padding:0; }
.abcd-plan li{ padding:7px 0 7px 26px; position:relative; font-size:15px; border-bottom:1px dashed var(--linea); }
.abcd-plan li:before{ content:"✓"; position:absolute; left:0; color:var(--verde); font-weight:900; }
.abcd-plan .abcd-btn{ width:100%; }

/* =========================================================
   Testimonios
   ========================================================= */
.abcd-tests{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.abcd-test{ background:#fff; border:1px solid var(--linea); border-radius:var(--radio); padding:24px; }
.abcd-test .q{ font-size:34px; color:var(--lila); font-family:'Fraunces',serif; line-height:0; display:block; height:18px; }
.abcd-test p{ font-size:15.5px; margin:6px 0 14px; }
.abcd-test .who{ display:flex; align-items:center; gap:11px; }
.abcd-test .av{ width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg,var(--dalia),var(--lila)); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-family:'Fraunces',serif; }
.abcd-test .who b{ display:block; font-size:14.5px; }
.abcd-test .who small{ color:var(--gris); font-size:13px; }

/* =========================================================
   Franja de material gratis
   ========================================================= */
.abcd-free{ background:linear-gradient(120deg,var(--verde),#86bd80); border-radius:24px; padding:38px; color:#fff; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.abcd-free h2{ color:#fff; font-size:30px; }
.abcd-free p{ opacity:.95; max-width:520px; margin-top:8px; }
.abcd-free .ff{ display:flex; gap:10px; flex-wrap:wrap; }
.abcd-free input{ border:none; border-radius:999px; padding:13px 20px; font-family:inherit; font-size:15px; min-width:230px; }
.abcd-free .abcd-btn{ background:#fff; color:var(--verde-dark); }

/* =========================================================
   Footer propio
   ========================================================= */
.site-footer,#colophon,.ast-small-footer,.footer-sml-layout-2{ display:none!important; }
.abcd-footer{ background:var(--carbon); color:#fff; margin-top:50px; padding:50px 0 26px; }
.abcd-foot-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:30px; }
.abcd-foot-brand img{ filter:brightness(0) invert(1); opacity:.95; }
.abcd-foot-ab{ color:#c9c2cf; margin-top:14px; font-size:14.5px; max-width:300px; }
.abcd-footer h5{ font-family:'Fraunces',serif; font-size:17px; margin-bottom:12px; color:#fff; }
.abcd-fl{ display:block; color:#c9c2cf; padding:5px 0; font-size:14.5px; }
.abcd-fl:hover{ color:#fff; }
.abcd-socials{ display:flex; gap:10px; margin-top:16px; }
.abcd-socials a{ width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; font-size:17px; }
.abcd-socials a:hover{ background:var(--dalia); }
.abcd-copy{ border-top:1px solid rgba(255,255,255,.12); margin-top:34px; padding-top:18px; text-align:center; color:#9a93a1; font-size:13.5px; }
.abcd-pay{ display:flex; gap:8px; justify-content:center; margin-top:10px; flex-wrap:wrap; }
.abcd-pay span{ background:rgba(255,255,255,.1); border-radius:7px; padding:4px 10px; font-size:12px; font-weight:700; }

/* =========================================================
   Acceso de miembros / Mi biblioteca
   ========================================================= */
.abcd-incluido{ font-family:'Fraunces',serif; font-weight:700; color:var(--verde-dark); font-size:18px; }
.abcd-incluido strong{ color:var(--dalia-dark); }
.abcd-biblio-msg{ background:#fff; border:1px solid var(--linea); border-radius:var(--radio); padding:34px; text-align:center; max-width:580px; margin:20px auto; box-shadow:var(--sombra-sm); }
.abcd-biblio-msg p{ margin-bottom:16px; font-size:16.5px; color:var(--gris); }
.abcd-biblio-title{ font-family:'Fraunces',serif; font-size:24px; color:var(--carbon); margin:30px 0 16px; }
.abcd-biblio-title:first-child{ margin-top:0; }
.abcd-biblio.abcd-grid{ grid-template-columns:repeat(4,1fr); }
.abcd-biblio .abcd-card-body{ display:flex; flex-direction:column; gap:10px; padding:14px 15px 16px; }
.abcd-biblio .abcd-card-body .pname{ font-weight:800; font-size:15px; color:var(--carbon); line-height:1.25; }
.abcd-biblio .abcd-card .abcd-btn{ width:100%; }
@media(max-width:960px){ .abcd-biblio.abcd-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .abcd-biblio.abcd-grid{ grid-template-columns:1fr 1fr; } }

/* =========================================================
   Carrito y "Mi cuenta" en el menú principal
   ========================================================= */
.abcd-nav-cart > a,.abcd-nav-account > a{ display:inline-flex!important; align-items:center; gap:6px; }
.abcd-cart-count{ background:var(--dalia); color:#fff; border-radius:999px; font-size:12px; font-weight:800; min-width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center; padding:0 6px; line-height:1; }
.abcd-nav-cart > a:hover .abcd-cart-count{ background:var(--dalia-dark); }

/* =========================================================
   Responsivo
   ========================================================= */
@media(max-width:960px){
  .abcd-hero-grid,.abcd-memb,.abcd-shop-layout{ grid-template-columns:1fr; }
  .abcd-cats{ grid-template-columns:repeat(3,1fr); }
  .abcd-grid,.abcd-tests,.abcd-plans{ grid-template-columns:repeat(2,1fr); }
  .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); }
  .abcd-foot-grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:560px){
  .abcd-grid,.abcd-tests,.abcd-plans,.abcd-cats{ grid-template-columns:1fr 1fr; }
  .woocommerce ul.products{ grid-template-columns:1fr 1fr; }
  .abcd-foot-grid{ grid-template-columns:1fr; }
  .abcd-hero-mini{ gap:16px; }
}

/* ===== Banner de cookies ===== */
.abcd-cookies{ position:fixed; left:16px; right:16px; bottom:16px; max-width:760px; margin:0 auto; background:#fff; border:1px solid #EFE6EE; border-radius:16px; box-shadow:0 10px 30px rgba(52,48,58,.18); padding:16px 20px; display:flex; gap:16px; align-items:center; justify-content:space-between; flex-wrap:wrap; z-index:9999; }
.abcd-cookies p{ margin:0; flex:1; min-width:220px; font-size:14px; color:#34303A; }
.abcd-cookies a{ color:#B84E83; font-weight:700; }
.abcd-cookies-acts{ display:flex; gap:10px; }
.abcd-cookies[hidden]{ display:none; }

/* ===== Mi cuenta (WooCommerce) con marca ABCDalia ===== */
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register,
.woocommerce-account .woocommerce-MyAccount-content{ border:1px solid #EFE6EE; border-radius:16px; padding:24px; background:#fff; box-shadow:0 4px 14px rgba(52,48,58,.08); }
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li{ margin:4px 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a{ color:#34303A; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ color:#B84E83; font-weight:800; }
