/* ==========================================================================
   extra.css — Blog y secciones nuevas de la portada (fuenlabradatarot.com)
   Mismo lenguaje visual que la web original: Playfair Display 800 para
   titulares, Poppins 300/600 para texto y botones, fondos #F6F6F6 → #FFF,
   botones con borde fino #303231 y acento verde #1BBDA5.
   ========================================================================== */
:root{
  --yv-ink:#2E2E2E;
  --yv-text:#5C5C5C;      /* texto largo del blog: más contraste que #808080 */
  --yv-muted:#808080;     /* mismo gris que la web original */
  --yv-line:#E6E6E6;
  --yv-soft:#F6F6F6;
  --yv-accent:#1BBDA5;
  --yv-accent-dark:#11806F;
  --yv-btn:#303231;
  --yv-serif:"Playfair Display",Georgia,serif;
  --yv-sans:Poppins,Arial,sans-serif;
}

/* ---------- utilidades comunes ---------- */
.yv-wrap{max-width:1140px;margin:0 auto;padding:0 20px;box-sizing:border-box}
.yv-narrow{max-width:760px}
.yv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--yv-sans);font-weight:600;font-size:16px;line-height:1.2;color:var(--yv-ink);background:transparent;border:1px solid var(--yv-btn);padding:12px 32px;text-decoration:none;transition:background-color .2s,color .2s}
.yv-btn svg{width:1em;height:1em;fill:currentColor;flex:none}
a.yv-btn{color:var(--yv-ink)}
.yv-btn:hover,.yv-btn:focus-visible,a.yv-btn:hover,a.yv-btn:focus-visible{background:var(--yv-ink);color:#fff}
a.yv-btn--solid,.yv-btn--solid{background:var(--yv-ink);color:#fff}
.yv-btn--solid:hover,.yv-btn--solid:focus-visible{background:#000;color:#fff}
.yv-btn--sm{padding:8px 18px;font-size:14px}
.yv-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.yv-link{color:var(--yv-accent-dark);font-weight:600;text-decoration:none;border-bottom:1px solid currentColor}
.yv-link:hover{color:var(--yv-ink)}
.yv-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- H1 de la portada ---------- */
.elementor-30 .yv-home-h1{font-family:var(--yv-sans);font-weight:600;font-size:15px;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;color:var(--yv-ink);text-align:center;margin:0 0 14px;width:100%}

/* ---------- secciones nuevas de la portada ---------- */
.yv-sec{padding:90px 0;font-family:var(--yv-sans);color:var(--yv-muted);text-align:center}
.yv-sec--grad{background:linear-gradient(180deg,#F6F6F6 0%,#FFFFFF 100%)}
.yv-sec h2{font-family:var(--yv-serif);font-weight:800;font-size:50px;line-height:1.25;color:var(--yv-ink);margin:0 0 20px}
.yv-sec h3{font-family:var(--yv-serif);font-weight:800;font-size:24px;line-height:1.3;color:var(--yv-ink);margin:0 0 10px}
.yv-sec p{font-size:16px;font-weight:300;line-height:1.65;margin:0 0 14px}
.yv-sec strong{font-weight:600;color:#6b6b6b}
.yv-lead{max-width:860px;margin:0 auto 40px!important}
.yv-grid{display:grid;gap:28px;grid-template-columns:repeat(3,1fr);text-align:center}
.yv-grid--2{grid-template-columns:repeat(2,1fr);max-width:900px;margin:0 auto}
.yv-grid--4{grid-template-columns:repeat(4,1fr)}
.yv-card{background:#fff;border:1px solid var(--yv-line);padding:32px 26px}
.yv-card--plain{border:0;background:transparent;padding:10px}
.yv-card .yv-num{display:inline-block;font-family:var(--yv-serif);font-weight:800;font-size:40px;line-height:1;color:var(--yv-accent);margin-bottom:12px}
.yv-price{display:flex;flex-direction:column;align-items:center;gap:6px}
.yv-price a.yv-phone{font-family:var(--yv-serif);font-weight:800;font-size:34px;color:var(--yv-ink);text-decoration:none;line-height:1.2}
.yv-price .yv-tag{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--yv-accent-dark)}
.yv-price .yv-btn{margin-top:14px}
.yv-small{font-size:13px!important;line-height:1.5!important}
.yv-after{margin-top:34px!important}
.yv-checklist{list-style:none;padding:0;margin:0 auto 30px;max-width:820px;text-align:left;counter-reset:yv}
.yv-checklist li{counter-increment:yv;position:relative;padding:16px 0 16px 64px;border-bottom:1px solid var(--yv-line);font-weight:300;line-height:1.6}
.yv-checklist li::before{content:counter(yv,decimal-leading-zero);position:absolute;left:0;top:12px;font-family:var(--yv-serif);font-weight:800;font-size:28px;color:var(--yv-accent)}
.yv-checklist strong{color:var(--yv-ink)}

/* FAQ (acordeón nativo, sin JavaScript) */
.yv-faq{max-width:860px;margin:0 auto;text-align:left}
.yv-faq details{border-bottom:1px solid var(--yv-line);background:#fff}
.yv-faq details:first-child{border-top:1px solid var(--yv-line)}
.yv-faq summary{cursor:pointer;list-style:none;position:relative;padding:20px 48px 20px 4px;font-family:var(--yv-serif);font-weight:800;font-size:19px;line-height:1.35;color:var(--yv-ink)}
.yv-faq summary::-webkit-details-marker{display:none}
.yv-faq summary::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:var(--yv-sans);font-weight:300;font-size:30px;color:var(--yv-accent-dark)}
.yv-faq details[open] summary::after{content:"–"}
.yv-faq summary:focus-visible{outline:2px solid var(--yv-accent);outline-offset:2px}
.yv-faq .yv-faq-a{padding:0 4px 20px}
.yv-faq .yv-faq-a p{margin:0 0 10px;color:var(--yv-text)}

/* tarjetas de artículos (portada y blog) */
.yv-posts{display:grid;gap:30px;grid-template-columns:repeat(3,1fr);text-align:left}
.yv-post{display:flex;flex-direction:column;background:#fff;border:1px solid var(--yv-line);text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s}
.yv-post:hover{box-shadow:0 10px 30px rgba(0,0,0,.08);transform:translateY(-2px)}
.yv-post img{display:block;width:100%;aspect-ratio:16/10;height:auto;object-fit:cover}
.yv-post-body{padding:22px 22px 26px;display:flex;flex-direction:column;flex:1}
.yv-post-cat{font-family:var(--yv-sans);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--yv-accent-dark);margin-bottom:8px}
.yv-post-title{font-family:var(--yv-serif);font-weight:800;font-size:21px;line-height:1.3;color:var(--yv-ink);margin:0 0 10px}
.yv-post-ex{font-family:var(--yv-sans);font-weight:300;font-size:15px;line-height:1.6;color:var(--yv-muted);margin:0 0 16px;flex:1}
.yv-post-more{font-family:var(--yv-sans);font-weight:600;font-size:14px;color:var(--yv-ink)}
.yv-post:hover .yv-post-more{color:var(--yv-accent-dark)}

/* ---------- cabecera y pie del blog ---------- */
.yv-page{background:#fff;font-family:var(--yv-sans);color:var(--yv-text)}
.yv-header{background:linear-gradient(180deg,#F6F6F6 0%,#FFFFFF 100%);border-bottom:1px solid var(--yv-line)}
.yv-header .yv-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px}
.yv-brand{display:block;line-height:0}
.yv-brand img{height:52px;width:auto}
.yv-nav{display:flex;align-items:center;gap:26px}
.yv-nav a{font-family:var(--yv-sans);font-weight:600;font-size:15px;color:var(--yv-ink);text-decoration:none}
.yv-nav a:not(.yv-btn):hover,.yv-nav a[aria-current="page"]{color:var(--yv-accent-dark)}
.yv-nav .yv-btn{font-size:14px;padding:9px 18px}
.yv-footer{border-top:1px solid var(--yv-line);padding:34px 0 40px;text-align:center;font-family:var(--yv-sans)}
.yv-footer p{font-size:14px;font-weight:300;line-height:1.7;color:var(--yv-muted);margin:0 0 8px}
.yv-footer a{color:var(--yv-accent-dark);font-weight:600;text-decoration:none}
.yv-footer a:hover{color:var(--yv-ink)}

/* barra fija de llamada en móvil (igual que la portada) */
.yv-callbar{display:none}

/* ---------- blog: portada ---------- */
.yv-blog-hero{background:linear-gradient(180deg,#F6F6F6 0%,#FFFFFF 100%);padding:70px 0 50px;text-align:center}
.yv-blog-hero h1{font-family:var(--yv-serif);font-weight:800;font-size:48px;line-height:1.2;color:var(--yv-ink);margin:0 auto 18px;max-width:900px}
.yv-blog-hero p{font-weight:300;font-size:17px;line-height:1.7;color:var(--yv-muted);max-width:760px;margin:0 auto}
.yv-blog-list{padding:30px 0 90px}

/* ---------- blog: artículo ---------- */
.yv-crumbs{font-size:13px;font-weight:300;color:var(--yv-muted);padding:22px 0 0}
.yv-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.yv-crumbs li+li::before{content:"›";margin-right:6px;color:#b8b8b8}
.yv-crumbs a{color:var(--yv-muted);text-decoration:none}
.yv-crumbs a:hover{color:var(--yv-accent-dark)}
.yv-article{padding:26px 0 40px}
.yv-article-head{text-align:center;margin-bottom:30px}
.yv-article-head .yv-post-cat{display:inline-block}
.yv-article h1{font-family:var(--yv-serif);font-weight:800;font-size:44px;line-height:1.2;color:var(--yv-ink);margin:6px 0 16px}
.yv-meta{font-size:14px;font-weight:300;color:var(--yv-muted)}
.yv-meta strong{font-weight:600;color:var(--yv-ink)}
.yv-hero-img{margin:0 0 36px}
.yv-hero-img img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:220px 220px 0 0}
.yv-content{font-size:17px;font-weight:300;line-height:1.8;color:var(--yv-text)}
.yv-content p{margin:0 0 20px}
.yv-content h2{font-family:var(--yv-serif);font-weight:800;font-size:32px;line-height:1.25;color:var(--yv-ink);margin:48px 0 16px;scroll-margin-top:20px}
.yv-content h3{font-family:var(--yv-serif);font-weight:800;font-size:22px;line-height:1.3;color:var(--yv-ink);margin:32px 0 10px;scroll-margin-top:20px}
.yv-content strong{font-weight:600;color:#3d3d3d}
.yv-content a{color:var(--yv-accent-dark);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.yv-content a:hover{color:var(--yv-ink)}
.yv-content ul,.yv-content ol{margin:0 0 22px;padding-left:24px}
.yv-content li{margin-bottom:8px}
.yv-content li::marker{color:var(--yv-accent)}
.yv-content em{color:var(--yv-muted)}
.yv-table{overflow-x:auto;margin:0 0 26px;-webkit-overflow-scrolling:touch}
.yv-content table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5;min-width:480px}
.yv-content th,.yv-content td{border:1px solid var(--yv-line);padding:11px 14px;text-align:left;vertical-align:top}
.yv-content thead th{background:var(--yv-soft);font-weight:600;color:var(--yv-ink)}
.yv-content tbody tr:nth-child(even){background:#FAFAFA}
.yv-toc{background:var(--yv-soft);padding:24px 28px;margin:0 0 34px;border-left:3px solid var(--yv-accent)}
.yv-toc p{font-family:var(--yv-serif);font-weight:800;font-size:19px;color:var(--yv-ink);margin:0 0 10px}
.yv-toc ol{margin:0;padding-left:20px;font-size:15px;line-height:1.6}
.yv-toc li{margin:4px 0}
.yv-toc a{color:var(--yv-text);font-weight:400;text-decoration:none}
.yv-toc a:hover{color:var(--yv-accent-dark);text-decoration:underline}
.yv-cta{background:linear-gradient(180deg,#F6F6F6 0%,#FFFFFF 100%);border:1px solid var(--yv-line);padding:32px 26px;margin:38px 0;text-align:center}
.yv-cta .yv-cta-title{font-family:var(--yv-serif);font-weight:800;font-size:26px;line-height:1.25;color:var(--yv-ink);margin:0 0 8px}
.yv-cta p{margin:0 0 18px;font-size:16px}
.yv-cta .yv-small{margin:16px 0 0;color:var(--yv-muted)}
.yv-content .yv-cta a.yv-btn{color:var(--yv-ink);text-decoration:none}
.yv-content .yv-cta a.yv-btn:hover{color:#fff}
.yv-author{display:flex;gap:22px;align-items:center;border-top:1px solid var(--yv-line);border-bottom:1px solid var(--yv-line);padding:26px 0;margin:46px 0 0}
.yv-author-logo{flex:none;width:86px;height:86px;border-radius:50%;background:var(--yv-soft);display:flex;align-items:center;justify-content:center;overflow:hidden}
.yv-author-logo img{width:150px;max-width:none;height:auto;margin-top:10px}
.yv-author p{margin:0;font-size:15px;line-height:1.65;font-weight:300}
.yv-author .yv-author-name{font-family:var(--yv-serif);font-weight:800;font-size:19px;color:var(--yv-ink);margin-bottom:4px}
.yv-related{background:linear-gradient(180deg,#F6F6F6 0%,#FFFFFF 100%);padding:70px 0 90px}
.yv-related h2{font-family:var(--yv-serif);font-weight:800;font-size:34px;color:var(--yv-ink);text-align:center;margin:0 0 34px}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .yv-sec h2{font-size:40px}
  .yv-grid--4{grid-template-columns:repeat(2,1fr)}
  .yv-posts{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:767px){
  .yv-sec{padding:56px 0}
  .yv-sec h2{font-size:32px;line-height:1.3}
  .yv-sec h3{font-size:22px}
  .yv-grid,.yv-grid--2,.yv-grid--4,.yv-posts{grid-template-columns:1fr}
  .yv-lead{margin-bottom:28px!important}
  .yv-checklist li{padding-left:52px}
  .yv-checklist li::before{font-size:24px}
  .yv-faq summary{font-size:17px}
  .yv-price a.yv-phone{font-size:30px}
  .yv-btns .yv-btn{width:100%}
  .yv-header .yv-wrap{min-height:68px}
  .yv-brand img{height:40px}
  .yv-nav{gap:18px}
  .yv-nav .yv-btn{display:none}
  .yv-blog-hero{padding:46px 0 30px}
  .yv-blog-hero h1{font-size:32px}
  .yv-blog-hero p{font-size:16px}
  .yv-article h1{font-size:30px}
  .yv-hero-img img{border-radius:140px 140px 0 0}
  .yv-content{font-size:16px;line-height:1.75}
  .yv-content h2{font-size:25px;margin-top:38px}
  .yv-content h3{font-size:20px}
  .yv-toc{padding:20px}
  .yv-cta{padding:26px 18px}
  .yv-cta .yv-cta-title{font-size:22px}
  .yv-author{flex-direction:column;text-align:center}
  .yv-related h2{font-size:28px}
  /* barra fija inferior, como en la portada original */
  .yv-page{padding-bottom:60px}
  .yv-callbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:99;background:#fff;padding:10px;gap:0;box-shadow:0 -4px 14px rgba(0,0,0,.06)}
  .yv-callbar .yv-btn{padding:6px 10px;font-size:14px;text-transform:uppercase}
}
