/* =========================================================
   Dr. Marco Céspedes — estilos para Tratamientos y Blog
   (mismos tokens de diseño usados en el prototipo aprobado)
   ========================================================= */

:root{
  --ink:#2b2622; --ink-soft:#6b6259; --porcelain:#f6f1ea; --paper:#fffdfa;
  --wine:#7c3b46; --wine-dark:#5c2b34; --gold:#ab8752; --line:#e2d9cc; --radius:14px;
}

/* Reset ligero — no tocamos el reset del tema padre a propósito */
.container{max-width:1180px;margin:0 auto;padding:0 28px;}
.narrow{max-width:760px;margin:0 auto;padding:0 28px;}

body{ color:var(--ink); }
h1,h2,h3{ font-family:'Fraunces',serif; font-weight:500; color:var(--ink); line-height:1.2; }

.eyebrow{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--wine);font-weight:600;display:block;margin-bottom:12px;}
.breadcrumb{font-size:13px;color:var(--ink-soft);margin:30px 0 6px;}
.breadcrumb a:hover{color:var(--wine);}
.divider{border:none;border-top:1px solid var(--line);}
section{padding:50px 0;}
.section-head{max-width:600px;margin-bottom:34px;}
.section-head h2{font-size:clamp(24px,3vw,30px);}

.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:999px;font-size:13.5px;font-weight:600;cursor:pointer;border:none;font-family:inherit;text-decoration:none;}
.btn-primary{background:var(--wine);color:#fff;}
.btn-primary:hover{background:var(--wine-dark);}
.btn-outline{background:transparent;border:1px solid var(--ink);color:var(--ink);}
.btn-outline:hover{background:var(--ink);color:#fff;}

/* ---------- Página / encabezado de listado ---------- */
.page-head{padding:20px 0 36px;max-width:640px;}
.page-head h1{font-size:clamp(28px,4vw,42px);margin-bottom:14px;}
.page-head p{color:var(--ink-soft);font-size:15.5px;}

.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;}
.filter-chip{padding:9px 18px;border-radius:999px;border:1px solid var(--line);background:var(--paper);font-size:13px;font-weight:500;cursor:pointer;color:var(--ink-soft);}
.filter-chip.active{background:var(--ink);color:#fff;border-color:var(--ink);}

/* ---------- Tratamientos: grid y card ---------- */
.treat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.treat-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.treat-card.hidden-item{display:none;}
.treat-body{padding:20px;}
.treat-body h3{font-size:18px;margin-bottom:8px;}
.treat-body p{font-size:13.5px;color:var(--ink-soft);margin-bottom:14px;}
.treat-link{font-size:13px;font-weight:600;color:var(--wine);}

.load-more-wrap{text-align:center;padding:20px 0 50px;}

/* ---------- Slider antes/después ---------- */
.ba-slider,.ba-slider-big{position:relative;overflow:hidden;cursor:ew-resize;user-select:none;border-radius:var(--radius);}
.ba-slider{aspect-ratio:4/3;}
.ba-slider-big{aspect-ratio:16/8;}
.ba-after,.ba-before{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;overflow:hidden;}
.ba-after img,.ba-before img{width:100%;height:100%;object-fit:cover;}
.ba-before{background:linear-gradient(135deg,#efe2d0,#d9c3ac);color:#6b5638;}
.ba-after{background:linear-gradient(135deg,#d7c2ce,#b9899a);color:#4e2530;}
.ba-handle{position:absolute;top:0;bottom:0;width:2px;background:#fff;left:50%;box-shadow:0 0 0 1px rgba(0,0,0,.08);}
.ba-handle::after{content:"⇔";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--ink);box-shadow:0 2px 6px rgba(0,0,0,.15);}
.ba-slider-big .ba-handle::after{width:42px;height:42px;font-size:17px;}
.ba-tag{position:absolute;top:10px;font-size:10px;font-weight:700;letter-spacing:1px;background:rgba(255,255,255,.85);padding:3px 8px;border-radius:5px;z-index:2;}
.ba-tag.left{left:10px;} .ba-tag.right{right:10px;}
.cat-tag{position:absolute;bottom:10px;left:10px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;background:rgba(255,255,255,.85);padding:3px 9px;border-radius:5px;z-index:2;color:var(--wine-dark);}
.ba-caption{text-align:center;font-size:12.5px;color:var(--ink-soft);margin-top:14px;}
.ba-section{padding:20px 0 60px;}

/* ---------- Recomendaciones postoperatorias ---------- */
.postop-section{padding:20px 0 70px;}
.postop-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:34px;display:flex;align-items:center;gap:28px;justify-content:space-between;flex-wrap:wrap;}
.postop-icon{width:56px;height:56px;border-radius:50%;background:var(--wine);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.postop-text{flex:1;min-width:260px;}
.postop-text h2{font-size:21px;margin-bottom:6px;}
.postop-text p{font-size:13.5px;color:var(--ink-soft);}
.postop-actions{display:flex;gap:12px;flex-wrap:wrap;}

/* ---------- Hero de tratamiento individual ---------- */
.treat-hero{padding:26px 0 60px;}
.treat-hero-grid{display:grid;grid-template-columns:1fr 0.85fr;gap:50px;align-items:center;}
.treat-hero h1{font-size:clamp(30px,4.2vw,46px);margin-bottom:16px;}
.treat-hero p{color:var(--ink-soft);font-size:15.5px;max-width:440px;margin-bottom:26px;}
.quick-facts{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:30px;}
.fact b{font-family:'Fraunces',serif;font-size:16px;display:block;color:var(--ink);}
.fact span{font-size:11.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.frame{position:relative;border-radius:var(--radius);overflow:hidden;background:linear-gradient(150deg,#e7d9c9,#d9c3ac);aspect-ratio:4/5;}
.frame img{width:100%;height:100%;object-fit:cover;}
.frame::before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.5);border-radius:8px;pointer-events:none;}
.frame-label{position:absolute;bottom:18px;left:18px;right:18px;font-size:11px;color:#5c4a35;background:rgba(255,253,250,.85);padding:6px 10px;border-radius:6px;}

/* ---------- Beneficios / proceso / FAQ ---------- */
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.benefit-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:22px;}
.benefit-card b{display:block;font-size:15px;margin-bottom:8px;}
.benefit-card p{font-size:13.5px;color:var(--ink-soft);}

.steps{counter-reset:step;}
.step{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);}
.step:last-child{border-bottom:none;}
.step-num{counter-increment:step;flex-shrink:0;width:38px;height:38px;border-radius:50%;background:var(--wine);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:15px;}
.step-num::before{content:counter(step);}
.step b{display:block;font-size:15px;margin-bottom:4px;}
.step p{font-size:13.5px;color:var(--ink-soft);}

.faq-item{border-bottom:1px solid var(--line);}
.faq-q{padding:18px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:15px;font-weight:500;}
.faq-q .icon{transition:transform .2s ease;font-size:16px;color:var(--wine);}
.faq-item.open .faq-q .icon{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-item.open .faq-a{max-height:200px;}
.faq-a p{font-size:13.5px;color:var(--ink-soft);padding-bottom:18px;}

.cta-strip{background:var(--wine);color:#fff;text-align:center;padding:60px 0;}
.cta-strip h2{color:#fff;font-size:26px;margin-bottom:12px;}
.cta-strip p{color:#eddfe2;font-size:14.5px;margin-bottom:24px;}
.cta-strip .btn{background:#fff;color:var(--wine-dark);}

.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.rel-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper);display:block;}
.rel-img{aspect-ratio:4/3;background:linear-gradient(140deg,#e7d9c9,#c9ac8e);}
.rel-img img{width:100%;height:100%;object-fit:cover;}
.rel-body{padding:16px 18px;}
.rel-body h3{font-size:15px;margin-bottom:4px;}
.rel-body span{font-size:12px;color:var(--ink-soft);}
.rel-meta{font-size:10.5px;color:var(--wine);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;}

/* ---------- Blog: listado ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.blog-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.blog-img{aspect-ratio:16/10;background:linear-gradient(140deg,#e7d9c9,#c9ac8e);}
.blog-img img{width:100%;height:100%;object-fit:cover;}
.blog-body{padding:18px 20px;}
.blog-meta{font-size:11px;color:var(--ink-soft);margin-bottom:8px;}
.blog-body h3{font-size:16.5px;margin-bottom:8px;}
.blog-body p{font-size:13px;color:var(--ink-soft);}
.blog-link{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;color:var(--wine);}

.pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:50px 0 70px;font-size:13.5px;}
.pagination a,.pagination span{padding:9px 14px;border-radius:8px;border:1px solid var(--line);color:var(--ink-soft);text-decoration:none;}
.pagination .current{background:var(--wine);color:#fff;border-color:var(--wine);}
.pagination a:hover{background:var(--ink);color:#fff;border-color:var(--ink);}

/* ---------- Blog: artículo individual ---------- */
.article-head{padding:20px 0 0;max-width:760px;margin:0 auto;}
.article-head h1{font-size:clamp(28px,4vw,42px);margin-bottom:18px;}
.meta-row{display:flex;gap:16px;font-size:13.5px;color:var(--ink-soft);margin-bottom:34px;flex-wrap:wrap;}
.cover{max-width:760px;margin:0 auto 40px;aspect-ratio:16/8;border-radius:var(--radius);background:linear-gradient(140deg,#e7d9c9,#c9ac8e);display:flex;align-items:center;justify-content:center;color:#5c4a35;font-size:13px;overflow:hidden;}
.cover img{width:100%;height:100%;object-fit:cover;}

article{max-width:760px;margin:0 auto;}
article p{margin-bottom:20px;font-size:16.5px;color:#3d3833;line-height:1.7;}
article h2{font-size:23px;margin:36px 0 16px;}
article img{border-radius:10px;margin:24px 0;}
article blockquote{border-left:3px solid var(--wine);padding:6px 24px;margin:28px 0;font-family:'Fraunces',serif;font-size:19px;color:var(--ink);}

.source-box{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin:32px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.source-box div b{display:block;font-size:14.5px;margin-bottom:4px;}
.source-box div span{font-size:13px;color:var(--ink-soft);}
.source-box a{font-size:13.5px;font-weight:600;color:var(--wine);white-space:nowrap;}

.cta-box{background:var(--wine);color:#fff;border-radius:var(--radius);padding:32px;text-align:center;margin:44px 0;}
.cta-box h3{color:#fff;font-size:21px;margin-bottom:10px;}
.cta-box p{color:#eddfe2;font-size:14.5px;margin-bottom:20px;}
.cta-box .btn{background:#fff;color:var(--wine-dark);}

.author-box{max-width:760px;margin:40px auto;display:flex;gap:16px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--paper);}
.author-photo{width:60px;height:60px;border-radius:50%;background:linear-gradient(140deg,#e7d9c9,#c9ac8e);flex-shrink:0;}
.author-box b{font-size:14.5px;display:block;margin-bottom:3px;}
.author-box span{font-size:13px;color:var(--ink-soft);}

.related-wrap{background:var(--paper);border-top:1px solid var(--line);padding:60px 0;margin-top:20px;}
.related-wrap h2{font-size:22px;margin-bottom:26px;max-width:1180px;margin-left:auto;margin-right:auto;padding:0 28px;}
.related-wrap .related-grid{max-width:1180px;margin:0 auto;padding:0 28px;}

/* ---------- Responsivo ---------- */
@media(max-width:880px){
  .treat-grid,.blog-grid,.benefits-grid,.related-grid{grid-template-columns:1fr;}
  .treat-hero-grid{grid-template-columns:1fr;}
}
