/* ═══════════════════════════════════════════════════════════════
   PL Home — rediseño de inicio (Gutenberg + WooCommerce)
   Scope: la clase .pl-home se agrega al <body> (mu-plugin), así NO
   hace falta ningún wrapper <div> (cero wp:group, cero inner-container).
   Regla de oro: espaciado SOLO con padding. Nunca margin grande + padding.
   ═══════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600;700&family=Raleway:wght@500;600;700;800;900&display=swap');

.pl-home {
  --ink:#222222; --ink2:#575760; --ink3:#8a8f9c;
  --line:#e6e8ee;
  --brand:#000865; --brand-soft:#e7e9fb;            /* azul marino de marca */
  --accent:#ffce12; --accent2:#f3bd00; --accent-ink:#222222;  /* amarillo marca */
  --accent-hover:#ffdb4c;
  --naranja:#ffa41c; --rosa:#d52d5d; --celeste:#19a7d8;   /* acentos: naranja, rosa PL, celeste DermaSkin */
  --green:#008a00; --red:#d4192b; --price:#008a00;   /* verde precios de marca */
  --nav:#000000; --navy:#000865;
}

/* ── RESET del espaciado que generaba huecos blancos ─────────────── */
/* 1) la regla del tema que mete 40px a los costados de cada grupo */
.pl-home .wp-block-group__inner-container { padding:0 !important; }
/* 2) padding/margen del contenedor de contenido del tema */
.pl-home .inside-article,
.pl-home .entry-content { padding:0 !important; margin:0 !important; }
/* 3) matar el "block gap" (margen automático entre bloques de nivel superior) */
.pl-home .entry-content > * { margin-top:0 !important; margin-bottom:0 !important; }
/* 4) evitar scroll horizontal en móvil */
.pl-home .entry-content { overflow-x:hidden; }

.pl-home .entry-content { font-family:"Quicksand",system-ui,sans-serif; color:var(--ink); }
.pl-home .entry-content *,
.pl-home .entry-content *::before,
.pl-home .entry-content *::after { box-sizing:border-box; }
.pl-home .entry-content img { max-width:100%; height:auto; }

/* contenedor centrado reusable */
.pl-home .pl-wrap { max-width:1200px; margin-inline:auto; }

/* ── Banner hero (imagen grande/chica, link a producto) ── */
.pl-home .pl-hero-banner { display:block; line-height:0; }
.pl-home .pl-hero-banner img { width:100%; height:auto; display:block; }
.pl-home .pl-hero-banner .pl-hero-m { display:none; }
@media (max-width:680px){
  .pl-home .pl-hero-banner .pl-hero-d { display:none; }
  .pl-home .pl-hero-banner .pl-hero-m { display:block; }
}

/* tipografía display */
.pl-home .pl-hero h1,.pl-home .pl-sec-title,.pl-home .pl-btn,.pl-home .pl-sec-tag,
.pl-home .pl-step b,.pl-home .pl-store-title,.pl-home .pl-pay h3,.pl-home .pl-kicker {
  font-family:"Raleway",sans-serif;
}

/* ── botones ── */
.pl-home .pl-btn,
.pl-home .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:11px 22px;
  border:0; border-radius:12px; background:linear-gradient(180deg,var(--accent),var(--accent2)); color:var(--accent-ink) !important;
  font-family:"Raleway"; font-weight:800; font-size:15px; line-height:1.1; box-shadow:0 6px 16px -6px rgba(245,184,0,.6); cursor:pointer; }
.pl-home .pl-btn.ghost,
.pl-home .wp-block-button.is-style-outline .wp-block-button__link { background:rgba(255,255,255,.16); border:1.5px solid rgba(255,255,255,.5); color:#fff !important; box-shadow:none; }
.pl-home .pl-store-actions .pl-btn.ghost { background:#fff; border-color:var(--line); color:var(--ink) !important; }

/* ── HERO (bloque Cover, ancho completo) ── */
.pl-home .pl-hero { padding:54px 18px !important; }
.pl-home .pl-hero .wp-block-cover__inner-container { max-width:720px; margin-inline:auto; }
.pl-home .pl-hero .pl-kicker { display:inline-block; background:rgba(255,255,255,.18); color:#fff !important; font-weight:800; font-size:11px;
  letter-spacing:.08em; padding:6px 14px; border-radius:999px; margin:0 0 12px; }
.pl-home .pl-hero h1 { color:#fff; font-size:42px; font-weight:900; line-height:1.08; letter-spacing:-.02em; margin:0 0 12px; }
.pl-home .pl-hero .pl-hero-sub { color:rgba(255,255,255,.9); font-size:16px; line-height:1.5; margin:0 0 22px; }
.pl-home .pl-hero .wp-block-buttons { gap:12px; }

/* ── títulos de sección (crean el espacio vertical entre secciones) ── */
.pl-home .pl-sec-title { font-size:27px; font-weight:900; letter-spacing:-.01em; color:var(--ink); padding:36px 16px 8px; }
.pl-home .pl-sec-sub { color:var(--ink3); font-size:14px; padding:0 16px 14px; }
/* acento bajo el título (rompe la planura) */
.pl-home .pl-sec-title::after { content:""; display:block; width:56px; height:4px; border-radius:2px; margin-top:12px;
  background:linear-gradient(90deg,var(--rosa),var(--accent)); }
.pl-home .pl-sec-title.has-text-align-center::after { margin-left:auto; margin-right:auto; }
/* MODIFICADOR: título blanco sobre banda azul marino (agregá la clase "navy" al título) */
.pl-home .pl-sec-title.navy { background:var(--navy); color:#fff !important; padding:16px 26px; border-radius:14px;
  width:max-content; max-width:calc(100% - 32px); margin:24px auto 14px; }
.pl-home .pl-sec-title.navy::after { display:none; }
/* MODIFICADOR: acento DermaSkin (celeste + naranja) — agregá la clase "dermaskin" al título */
.pl-home .pl-sec-title.dermaskin { color:var(--celeste) !important; }
.pl-home .pl-sec-title.dermaskin::after { background:linear-gradient(90deg,var(--celeste),var(--naranja)); width:80px; }

/* ── GRILLA de productos (WooCommerce restyle) — ancho completo ── */
.pl-home .woocommerce { padding:2px 16px 8px; }
.pl-home ul.products { display:grid !important; grid-template-columns:repeat(6,1fr); gap:14px; margin:0 !important; padding:0 !important; list-style:none !important; }
.pl-home ul.products::before,.pl-home ul.products::after { content:none !important; display:none !important; }
.pl-home ul.products li.product { position:relative; width:auto !important; float:none !important; margin:0 !important; padding:10px !important;
  background:#fff; border:1px solid var(--line); border-radius:15px; text-align:left !important; clear:none !important; }
/* badge "envío gratis" restilado (píldora acorde al diseño, solo en esta home) */
.pl-home span.enviogratism { position:absolute; top:8px; right:8px; left:auto; z-index:3;
  background:var(--green); color:#fff; font-family:"Raleway"; font-weight:800; font-size:9.5px; letter-spacing:.03em;
  text-transform:uppercase; padding:4px 9px; border-radius:999px; line-height:1.25; box-shadow:0 2px 6px rgba(0,0,0,.18); }
.pl-home ul.products li.product img { border-radius:10px; margin:0 0 10px !important; width:100%; }
.pl-home ul.products li.product .woocommerce-loop-product__title,
.pl-home ul.products li.product h2,.pl-home ul.products li.product h3 { font-family:"Quicksand" !important; font-size:13px !important;
  font-weight:700 !important; line-height:1.3 !important; color:var(--ink) !important; padding:0 !important; margin:0 0 6px !important; }
.pl-home ul.products li.product .price { color:var(--price) !important; font-family:"Raleway"; font-weight:900; font-size:16px; display:block; margin:0 0 8px; }
.pl-home ul.products li.product .price del { color:var(--ink3); font-weight:600; font-size:12px; margin-right:6px; opacity:1; }
.pl-home ul.products li.product .price ins { text-decoration:none; }
.pl-home ul.products li.product .star-rating { font-size:.7em; margin:0 0 6px; }
.pl-home ul.products li.product .button,
.pl-home ul.products li.product .added_to_cart { display:flex !important; align-items:center; justify-content:center; width:100%;
  min-height:38px; border-radius:9px; background:linear-gradient(180deg,var(--accent),var(--accent2)) !important; color:var(--accent-ink) !important;
  font-family:"Raleway"; font-weight:800 !important; font-size:12.5px !important; margin:2px 0 0 !important; padding:6px 8px !important; border:0 !important; }

/* ── categorías (reusa el markup categorias_inicio del sitio) ── */
.pl-home .categorias_inicio { display:grid; grid-template-columns:repeat(9,1fr); gap:10px; list-style:none; margin:0 !important;
  padding:6px 16px 8px !important; max-width:none; }
.pl-home .categorias_inicio li { margin:0 !important; list-style:none; }
.pl-home .categorias_inicio a { display:block; }
.pl-home .categ_iniciodiv { display:flex; flex-direction:column; align-items:center; gap:8px; padding:14px 6px; height:100%;
  background:#fff; border:1px solid var(--line); border-radius:14px; text-align:center; transition:border-color .12s,transform .12s; }
.pl-home .categ_iniciodiv:hover { border-color:var(--brand); transform:translateY(-2px); }
.pl-home .categ_iniciodiv img { width:34px; height:34px; }
.pl-home .categ_iniciodiv p { margin:0 !important; font-size:11px; font-weight:800; line-height:1.2; color:var(--ink); font-family:"Raleway"; }

/* ── editorial (tarjeta centrada) ── */
.pl-home .pl-editorial { max-width:1200px; margin:20px auto 0; padding:30px 24px; border-radius:20px;
  background:linear-gradient(135deg,#f5f8ff,#fff6ea); border:1px solid var(--line); text-align:center; }
.pl-home .pl-editorial .pl-sec-tag.solid { display:inline-block; background:var(--brand); color:#fff; font-size:10px; font-weight:800;
  letter-spacing:.06em; padding:5px 12px; border-radius:999px; }
.pl-home .pl-editorial h2 { font-size:28px; font-weight:900; margin:12px 0 6px; letter-spacing:-.01em; }
.pl-home .pl-editorial p { font-size:14.5px; color:var(--ink2); margin:0 auto 18px; max-width:560px; }
.pl-home .pl-steps { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin:0 0 20px; }
.pl-home .pl-step { width:120px; max-width:42%; background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px 6px; }
.pl-home .pl-step b { display:block; font-weight:900; font-size:18px; color:var(--brand); }
.pl-home .pl-step span { font-size:11px; color:var(--ink2); }

/* ── banda de confianza ── */
.pl-home .pl-trust { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding:30px 16px 8px; }
.pl-home .pl-trust-cell { display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px 16px; }
.pl-home .pl-trust-ic { width:44px; height:44px; border-radius:11px; background:var(--brand-soft); display:grid; place-items:center; flex:none; font-size:22px; }
.pl-home .pl-trust-h { font-family:"Raleway"; font-size:13.5px; font-weight:800; color:var(--ink); }
.pl-home .pl-trust-d { font-size:11.5px; color:var(--ink3); margin-top:2px; }

/* ── tienda física + mapa ── */
.pl-home .pl-store { max-width:1200px; margin-inline:auto; padding:18px 16px 8px; }
.pl-home .pl-store-inner { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:#fff; }
.pl-home .pl-store-info { padding:30px 32px; }
.pl-home .pl-store-kicker { color:#1fae5a; font-family:"Raleway"; font-weight:800; font-size:11px; letter-spacing:.05em; }
.pl-home .pl-store-title { font-size:28px; font-weight:900; margin:10px 0 6px; letter-spacing:-.01em; color:var(--ink); }
.pl-home .pl-store-title span { color:var(--brand); }
.pl-home .pl-store-sub { font-size:14px; color:var(--ink2); line-height:1.5; margin:0 0 18px; }
.pl-home .pl-store-list { list-style:none; padding:0; margin:0 0 20px; display:grid; gap:14px; }
.pl-home .pl-store-list li { display:flex; gap:12px; align-items:flex-start; }
.pl-home .pl-store-list .ic { width:38px; height:38px; border-radius:10px; background:var(--brand-soft); display:grid; place-items:center; flex:none; font-size:17px; }
.pl-home .pl-store-list b { font-size:14px; color:var(--ink); display:block; }
.pl-home .pl-store-list span { font-size:12.5px; color:var(--ink3); }
.pl-home .pl-store-actions { display:flex; gap:10px; flex-wrap:wrap; }
.pl-home .pl-store-map { position:relative; min-height:320px; display:block; background:#eef0f4; overflow:hidden; }
.pl-home .pl-store-map img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.pl-home .pl-store-pin { position:absolute; top:50%; left:50%; transform:translate(-50%,-100%) rotate(45deg);
  width:42px; height:42px; border-radius:50% 50% 50% 2px; background:var(--red); box-shadow:0 8px 18px rgba(0,0,0,.25); }
.pl-home .pl-store-pin::after { content:""; position:absolute; top:11px; left:11px; width:13px; height:13px; border-radius:50%; background:#fff; }
.pl-home .pl-store-map-cta { position:absolute; left:14px; bottom:14px; background:#fff; color:#0e1729 !important; font-family:"Raleway";
  font-weight:800; font-size:12.5px; padding:9px 14px; border-radius:999px; box-shadow:0 4px 12px rgba(0,0,0,.16); }

/* ── pago seguro (tarjeta centrada) ── */
.pl-home .pl-pay { max-width:1200px; margin:30px auto 0; border-radius:18px; background:var(--navy); color:#fff; padding:28px 18px; }
.pl-home .pl-pay h3 { font-size:20px; font-weight:900; margin:0 0 16px; color:#fff; text-align:center; }
.pl-home .pl-pay-row { display:flex; justify-content:center; gap:28px; flex-wrap:wrap; }
.pl-home .pl-pay-cell { display:flex; align-items:center; gap:12px; font-size:14px; font-weight:600; }
.pl-home .pl-pay-cell img { width:40px; height:40px; }

/* ── reseñas ── */
.pl-home .pl-reviews-score { color:var(--ink2); font-size:14px; padding:0 16px 14px; }
.pl-home .pl-reviews-score strong { color:var(--ink); font-size:18px; }
.pl-home .pl-reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:1200px; margin-inline:auto; padding:6px 16px 40px; }
.pl-home .pl-review { background:#fff; border:1px solid var(--line); border-radius:15px; padding:18px; }
.pl-home .pl-review .stars { color:#f5b301; font-size:14px; letter-spacing:2px; margin:0; }
.pl-home .pl-review .ver { color:#1fae5a; font-family:"Raleway"; font-weight:700; font-size:11px; letter-spacing:0; }
.pl-home .pl-review .txt { font-size:14px; line-height:1.5; color:var(--ink); margin:10px 0; }
.pl-home .pl-review .meta { font-size:12px; color:var(--ink3); margin:0; }
.pl-home .pl-review .meta b { color:var(--ink); }

/* ── Encontrá DermaSkin en farmacias ── */
.pl-home .pl-pharma { max-width:1200px; margin-inline:auto; padding:24px 16px 6px; }
.pl-home .pl-pharma-inner { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:#fff; }
.pl-home .pl-pharma-info { padding:30px 32px; }
.pl-home .pl-pharma-info h2 { font-family:"Raleway"; font-size:26px; font-weight:900; margin:0 0 8px; color:var(--ink); letter-spacing:-.01em; }
.pl-home .pl-pharma-info p { font-size:14px; color:var(--ink2); line-height:1.5; margin:0 0 18px; }
.pl-home .pl-pharma-chips { display:flex; flex-wrap:wrap; gap:10px; }
.pl-home .pl-pharma-chips span { background:var(--brand-soft); color:var(--brand); font-family:"Raleway"; font-weight:800; font-size:13px; padding:9px 16px; border-radius:999px; }
.pl-home .pl-pharma-chips .more { background:#fff; border:1.5px dashed var(--brand); }
.pl-home .pl-pharma-photo { min-height:300px; background:#f3f4f7; border-left:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; text-align:center; color:#8b94a8; font-weight:600; padding:0; overflow:hidden; }
.pl-home .pl-pharma-photo img { width:100%; height:100%; min-height:300px; object-fit:cover; display:block; }

/* ── Tipo de piel (botones) ── */
.pl-home .pl-skintype { max-width:1100px; margin-inline:auto; padding:4px 16px 8px; display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.pl-home .pl-skintype a { display:inline-flex; align-items:center; gap:7px; background:#fff; border:1.5px solid var(--line); border-radius:999px;
  padding:10px 18px; font-family:"Raleway"; font-weight:800; font-size:13.5px; color:var(--ink); transition:all .12s; }
.pl-home .pl-skintype a:hover { border-color:var(--brand); color:var(--brand); transform:translateY(-2px); }

/* ── Marcas con las que trabajamos ── */
.pl-home .pl-brands { max-width:1100px; margin-inline:auto; padding:4px 16px 8px; display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.pl-home .pl-brands a { display:inline-flex; align-items:center; background:#f6f8fc; border:1px solid var(--line); border-radius:12px;
  padding:12px 20px; font-family:"Raleway"; font-weight:800; font-size:15px; color:var(--ink2); transition:all .12s; }
.pl-home .pl-brands a:hover { background:#fff; border-color:var(--brand); color:var(--brand); }

/* ── Preguntas frecuentes (acordeón nativo, sin plugin) ── */
.pl-home .pl-faq { max-width:820px; margin-inline:auto; padding:6px 16px 10px; }
.pl-home .pl-faq details { background:#fff; border:1px solid var(--line); border-radius:14px; margin-bottom:10px; overflow:hidden; }
.pl-home .pl-faq summary { list-style:none; cursor:pointer; padding:16px 20px; font-family:"Raleway"; font-weight:800; font-size:15px;
  color:var(--ink); display:flex; justify-content:space-between; align-items:center; gap:12px; }
.pl-home .pl-faq summary::-webkit-details-marker { display:none; }
.pl-home .pl-faq summary::after { content:"+"; font-size:22px; color:var(--brand); font-weight:700; flex:none; }
.pl-home .pl-faq details[open] summary::after { content:"–"; }
.pl-home .pl-faq details[open] summary { color:var(--brand); }
.pl-home .pl-faq .a { padding:0 20px 18px; font-size:14px; line-height:1.55; color:var(--ink2); }

/* ── Del blog (bloque Últimas entradas) ── */
/* override de la regla core .wp-block-latest-posts.columns-4 li { width:calc(25%...) } que dejaba huecos */
.pl-home .wp-block-latest-posts.pl-blog { display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:16px; list-style:none;
  width:100% !important; max-width:none !important; margin:0 !important; padding:6px 16px 12px; }
.pl-home .wp-block-latest-posts.pl-blog > li { width:auto !important; max-width:none !important; background:#fff; border:1px solid var(--line); border-radius:15px; overflow:hidden; margin:0 !important; }
.pl-home .wp-block-latest-posts.pl-blog .wp-block-latest-posts__featured-image img { width:100%; height:160px; object-fit:cover; display:block; }
.pl-home .wp-block-latest-posts.pl-blog .wp-block-latest-posts__post-title { display:block; font-family:"Raleway" !important; font-weight:800 !important; font-size:15px !important; color:var(--ink); padding:12px 14px 0; line-height:1.3 !important; }
.pl-home .wp-block-latest-posts.pl-blog time { display:block; font-size:11.5px; color:var(--ink3); padding:4px 14px 0; }
.pl-home .wp-block-latest-posts.pl-blog .wp-block-latest-posts__post-excerpt { font-size:13px; color:var(--ink2); padding:8px 14px 16px; margin:0; line-height:1.5; }

/* ═══════════ RESPONSIVE ═══════════ */
@media (max-width:1000px){
  .pl-home ul.products { grid-template-columns:repeat(4,1fr); }
  .pl-home .categorias_inicio { grid-template-columns:repeat(5,1fr); }
  .pl-home .wp-block-latest-posts.pl-blog { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:680px){
  .pl-home .pl-hero { padding:38px 16px !important; }
  .pl-home .pl-hero h1 { font-size:30px; }
  .pl-home .pl-sec-title { font-size:23px; padding-top:28px; }
  .pl-home ul.products { grid-template-columns:repeat(2,1fr); gap:10px; }
  .pl-home .wp-block-latest-posts.pl-blog { grid-template-columns:1fr; }
  .pl-home .pl-store-inner { grid-template-columns:1fr; }
  .pl-home .pl-store-map { min-height:180px; order:-1; }
  .pl-home .pl-store-info { padding:22px; }
  .pl-home .pl-trust { grid-template-columns:1fr 1fr; }
  .pl-home .pl-reviews-grid { grid-template-columns:1fr; }
  .pl-home .pl-pharma-inner { grid-template-columns:1fr; }
  .pl-home .pl-pharma-photo { min-height:180px; order:-1; border-left:0; border-bottom:1px solid var(--line); }
  .pl-home .pl-pharma-info { padding:22px; }
  /* categorías: carrusel horizontal para que entren en la pantalla */
  .pl-home .categorias_inicio { display:flex; gap:10px; overflow-x:auto; -webkit-overflow-scrolling:touch;
    scrollbar-width:none; padding:6px 16px 10px !important; }
  .pl-home .categorias_inicio::-webkit-scrollbar { display:none; }
  .pl-home .categorias_inicio li { flex:0 0 78px; }
}
