/*
Theme Name: Salud Menstrual Perú
Theme URI: https://cytotecperu-lima.com/
Author: Equipo editorial
Description: Tema informativo y preventivo de salud menstrual y reproductiva para Perú. Cálido, accesible y optimizado para SEO. No comercial. Compatible con Rank Math/Yoast y Gutenberg.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: salud-menstrual-peru
*/

:root{
  --bg:#fdfbf8; --ink:#2a2420; --muted:#5f554d; --soft:#6b6058;
  --coral:#df7257; --coral-d:#c9603f; --coral-soft:#fbeae2; --coral-bd:#f1cdbd;
  --blue:#2c5775; --green:#5f9b7d; --lav:#8f7bbd;
  --line:#ece3da; --line2:#f0e8df; --cream2:#f6f0ea;
  --serif:'Newsreader',Georgia,serif; --sans:'Hanken Grotesk',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased;}
::selection{background:#f3cdbf;color:var(--ink);}
img{max-width:100%;height:auto;}
a{color:var(--coral-d);}

/* ---- ribbon ---- */
.smp-ribbon{background:var(--blue);color:#eaf1f6;font-size:13.5px;}
.smp-ribbon .smp-wrap{max-width:1180px;margin:0 auto;padding:8px 24px;display:flex;gap:14px;align-items:center;justify-content:center;text-align:center;}
.smp-ribbon .dot{width:7px;height:7px;border-radius:50%;background:#7fb89a;flex:none;}

/* ---- header ---- */
.smp-header{position:sticky;top:0;z-index:40;background:rgba(253,251,248,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.smp-header .smp-wrap{max-width:1180px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:28px;}
.smp-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit;flex:none;}
.smp-logo{width:34px;height:34px;border-radius:50%;background:var(--coral);display:inline-flex;align-items:center;justify-content:center;flex:none;}
.smp-logo i{width:13px;height:13px;border-radius:50%;border:2.5px solid var(--bg);display:block;}
.smp-brand b{font-weight:700;font-size:16px;letter-spacing:-.01em;white-space:nowrap;display:block;line-height:1.1;}
.smp-brand small{font-size:11px;color:#8a7e74;letter-spacing:.04em;text-transform:uppercase;}
.smp-nav{display:flex;gap:22px;margin-left:auto;align-items:center;flex-wrap:wrap;}
.smp-nav a{text-decoration:none;color:#4a423b;font-size:14.5px;font-weight:500;}
.smp-nav a:hover{color:var(--coral-d);}
.smp-113{display:inline-flex;align-items:center;gap:9px;background:var(--coral-soft);color:var(--coral-d);text-decoration:none;font-weight:700;font-size:14px;padding:9px 16px;border-radius:999px;border:1px solid var(--coral-bd);flex:none;}
.smp-113:hover{background:#f8ddd0;}
.smp-113 i{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--coral);color:#fff;font-size:11px;font-weight:700;font-style:normal;}

/* ---- breadcrumb ---- */
.smp-crumb{border-bottom:1px solid var(--line2);}
.smp-crumb .smp-wrap{max-width:1180px;margin:0 auto;padding:12px 24px;font-size:13px;color:#8a7e74;}
.smp-crumb a{color:#8a7e74;text-decoration:none;}
.smp-crumb a:hover{color:var(--coral-d);}
.smp-crumb span{color:#cbbfb2;margin:0 7px;}

/* ---- content ---- */
.smp-main{max-width:760px;margin:0 auto;padding:44px 24px 8px;}
.smp-hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--coral-d);background:var(--coral-soft);padding:6px 13px;border-radius:999px;}
.entry-title{font-family:var(--serif);font-weight:500;font-size:44px;line-height:1.1;letter-spacing:-.02em;margin:18px 0 10px;color:var(--ink);text-wrap:balance;}
.smp-meta{font-size:13px;color:#8a7e74;margin-bottom:8px;}
.smp-content{font-size:16.5px;color:#4a423b;}
.smp-content h2{font-family:var(--serif);font-weight:500;font-size:30px;letter-spacing:-.01em;margin:38px 0 12px;color:var(--ink);}
.smp-content h3{font-weight:700;font-size:18px;color:var(--ink);margin:24px 0 6px;}
.smp-content p{margin:0 0 16px;line-height:1.7;}
.smp-content ul{margin:4px 0 20px;padding:0;list-style:none;}
.smp-content ul li{position:relative;padding-left:22px;margin:8px 0;line-height:1.55;}
.smp-content ul li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--green);}
.smp-content a{color:var(--coral-d);font-weight:600;text-decoration:none;}
.smp-content a:hover{text-decoration:underline;}
.smp-content strong{color:var(--ink);}
.smp-content blockquote{background:var(--cream2);border:1px solid var(--line);border-left:4px solid var(--coral);border-radius:12px;padding:16px 20px;margin:20px 0;color:var(--muted);}

/* ---- 113 callout ---- */
.smp-callout{background:var(--blue);border-radius:16px;padding:22px 26px;color:#eaf1f6;display:flex;align-items:center;gap:18px;margin:28px 0;}
.smp-callout .num{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);font-family:var(--serif);font-size:22px;color:#fff;flex:none;}
.smp-callout p{margin:0;font-size:14.5px;color:#cfe0ec;line-height:1.5;}
.smp-callout strong{color:#fff;}

/* ---- footer ---- */
.smp-footer{background:var(--ink);color:#d9cfc4;margin-top:60px;}
.smp-footer .smp-wrap{max-width:1180px;margin:0 auto;padding:44px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.smp-footer .fbrand{display:flex;align-items:center;gap:11px;}
.smp-footer .fbrand b{font-weight:700;font-size:16px;color:#fff;}
.smp-footer .fnote{font-size:12.5px;color:#8a7e72;max-width:520px;}
.smp-footer nav a{color:#a89e93;text-decoration:none;font-size:13px;margin-left:18px;}
.smp-footer nav a:hover{color:#fff;}

/* ============ HOME (front-page) ============ */
.home-hero{background:linear-gradient(180deg,#fdf6f1 0%,#fdfbf8 100%);}
.home-hero .wrap{max-width:1180px;margin:0 auto;padding:56px 24px 44px;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.home-hero h1{font-family:var(--serif);font-weight:500;font-size:48px;line-height:1.08;letter-spacing:-.02em;margin:18px 0 0;color:var(--ink);text-wrap:balance;}
.home-hero p.sub{font-size:18.5px;color:var(--muted);margin:20px 0 0;max-width:560px;line-height:1.6;}
.home-cta{display:flex;flex-wrap:wrap;gap:13px;margin-top:28px;}
.btn-coral{display:inline-flex;align-items:center;gap:10px;background:var(--coral);color:#fff;text-decoration:none;font-weight:600;font-size:15.5px;padding:14px 24px;border-radius:12px;box-shadow:0 8px 22px -8px rgba(223,114,87,.55);}
.btn-coral:hover{background:var(--coral-d);}
.btn-ghost{display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--blue);text-decoration:none;font-weight:600;font-size:15.5px;padding:14px 24px;border-radius:12px;border:1px solid #d7e0e7;}
.btn-ghost:hover{border-color:var(--blue);}
.hero-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 24px 60px -30px rgba(80,60,50,.4);}
.hero-card h3{margin:0 0 4px;font-family:var(--serif);font-weight:500;font-size:20px;color:var(--ink);}
.hero-card .small{font-size:13px;color:#8a7e74;margin-bottom:14px;}
.hero-card select{width:100%;font-family:var(--sans);font-size:15px;padding:13px 14px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fdfbf8;margin-bottom:10px;}

.sec{max-width:1180px;margin:0 auto;padding:46px 24px 0;}
.sec h2{font-family:var(--serif);font-weight:500;font-size:32px;letter-spacing:-.01em;margin:0 0 6px;color:var(--ink);}
.sec p.lead{font-size:16px;color:var(--soft);margin:0 0 22px;max-width:640px;}
.grid{display:grid;gap:13px;}
.g3{grid-template-columns:repeat(3,1fr);}
.g2{grid-template-columns:repeat(2,1fr);}
.g5{grid-template-columns:repeat(5,1fr);}
.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;text-decoration:none;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,background .15s;}
.card:hover{border-color:var(--coral);background:#fffaf7;}
.card .cat{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--coral-d);}
.card h4{margin:0;font-weight:700;font-size:16.5px;color:var(--ink);line-height:1.3;}
.card .d{font-size:13.5px;color:var(--soft);line-height:1.5;}
.card .go{font-size:13px;font-weight:600;color:var(--blue);margin-top:4px;}
.citycard{background:#fff;border:1px solid #e7ddd2;border-radius:14px;padding:16px 18px;text-decoration:none;display:flex;flex-direction:column;gap:3px;position:relative;}
.citycard:hover{border-color:var(--green);background:#f8fbf9;}
.citycard .nm{font-weight:700;font-size:15.5px;color:var(--ink);}
.citycard .rg{font-size:12px;color:#8a7e74;}
.citycard .dot{position:absolute;top:14px;right:14px;width:8px;height:8px;border-radius:50%;background:var(--green);}

.alarm{background:var(--coral-soft);border:1px solid var(--coral-bd);border-radius:20px;padding:28px 30px;margin-top:14px;}
.alarm .tag{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;color:var(--coral-d);letter-spacing:.04em;text-transform:uppercase;}
.alarm .tri{width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:12px solid var(--coral);}
.alarm h2{font-family:var(--serif);font-weight:500;font-size:26px;margin:12px 0 14px;color:var(--ink);}
.alarm .items{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.alarm .it{background:#fff;border:1px solid #f3d6c8;border-radius:11px;padding:12px 14px;font-size:13.5px;font-weight:600;color:#3d342e;display:flex;align-items:center;gap:9px;}
.alarm .it .tri{flex:none;}

@media(max-width:880px){
  .home-hero .wrap{grid-template-columns:1fr;}
  .g3,.g5{grid-template-columns:repeat(2,1fr);}
  .alarm .items{grid-template-columns:1fr;}
}
@media(max-width:780px){
  .entry-title{font-size:34px;}
  .home-hero h1{font-size:36px;}
  .smp-nav{display:none;}
  .smp-content h2{font-size:25px;}
  .g2{grid-template-columns:1fr;}
}
