/* ═══════════════════════════════════════
   Oftalmosur — Blog CSS compartido
   Usado por todos los posts y el listado
   ═══════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --brand:#49b1b1;--brand2:#006278;--brand3:#38d4d4;
  --ink:#050e1a;--deep:#071525;--mid:#0c2035;
  --cream:#faf8f5;--fog:#f0ede8;--white:#fff;--mute:#7a90a8;--gold:#c8a84b;
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Outfit',sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--white);color:var(--ink);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:1.5rem 5%;display:flex;align-items:center;justify-content:space-between;transition:all .4s}
.nav.stuck{background:rgba(5,14,26,.96);backdrop-filter:blur(20px);padding:1rem 5%;border-bottom:1px solid rgba(73,177,177,.12)}
.logo{display:flex;align-items:center;gap:.8rem}
.logo-name{font-family:var(--serif);font-size:1.35rem;color:white;font-weight:400;letter-spacing:.03em}
.logo-name b{color:var(--brand);font-weight:400}
.nav-menu{display:flex;align-items:center;gap:2.2rem;list-style:none}
.nav-menu a{color:rgba(255,255,255,.65);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;transition:color .2s}
.nav-menu a:hover{color:var(--brand)}
.nav-cta{border:1px solid rgba(73,177,177,.45);color:var(--brand)!important;padding:.45rem 1.3rem;border-radius:2px;transition:background .2s!important}
.nav-cta:hover{background:var(--brand)!important;color:var(--ink)!important}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;z-index:300}
.burger span{display:block;width:22px;height:1.5px;background:white;border-radius:2px;transition:.3s}
.mob{position:fixed;inset:0;background:var(--ink);z-index:250;display:flex;flex-direction:column;justify-content:center;padding:0 8%;transform:translateX(100%);transition:transform .45s cubic-bezier(.77,0,.18,1)}
.mob.open{transform:none}
.mob a{font-family:var(--serif);font-size:clamp(2rem,6vw,3.5rem);color:rgba(255,255,255,.75);padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.07);transition:color .2s;display:block}
.mob a:hover{color:var(--brand)}
.mob-close{position:absolute;top:2rem;right:5%;background:none;border:none;color:rgba(255,255,255,.5);font-size:1.8rem;cursor:pointer}

/* POST HEADER */
.post-hero{background:var(--ink);padding:8rem 5% 4rem;position:relative;overflow:hidden}
.post-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 80% at 70% 50%,rgba(0,98,120,.2),transparent 70%)}
.post-hero-inner{position:relative;z-index:1;max-width:780px}
.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--brand);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;margin-bottom:2rem;transition:gap .2s}
.back-link:hover{gap:.8rem}
.post-tag{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);font-weight:600;margin-bottom:.8rem}
.post-title{font-family:var(--serif);font-size:clamp(2rem,4vw,3.5rem);color:white;font-weight:400;line-height:1.1;margin-bottom:1rem}
.post-meta{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.post-meta span{font-size:.78rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:.35rem}
.post-cover{height:420px;overflow:hidden;background:var(--fog)}
.post-cover img{width:100%;height:100%;object-fit:cover}

/* POST CONTENT */
.post-body{max-width:780px;margin:4rem auto;padding:0 5%}
.post-content{font-size:.97rem;line-height:1.85;color:#2d3748;font-weight:300}
.post-content h2{font-family:var(--serif);font-size:1.8rem;color:var(--ink);margin:2.5rem 0 1rem;font-weight:400}
.post-content h3{font-family:var(--serif);font-size:1.35rem;color:var(--ink);margin:2rem 0 .8rem;font-weight:400}
.post-content p{margin-bottom:1.3rem}
.post-content ul,.post-content ol{margin:1rem 0 1.3rem 1.5rem}
.post-content li{margin-bottom:.5rem}
.post-content strong{color:var(--ink);font-weight:500}
.post-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.88rem}
.post-content th{background:var(--ink);color:white;padding:.75rem 1rem;text-align:left;font-weight:500;font-family:var(--sans)}
.post-content td{padding:.75rem 1rem;border-bottom:1px solid rgba(0,0,0,.07)}
.post-content tr:nth-child(even) td{background:var(--cream)}
.post-content blockquote{border-left:3px solid var(--brand);padding:1.2rem 1.5rem;background:var(--cream);margin:1.5rem 0;font-style:italic;color:#555;border-radius:0 4px 4px 0}
.post-content hr{border:none;border-top:1px solid rgba(0,0,0,.1);margin:2.5rem 0}
.post-content a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}

/* CTA BLOCK */
.post-cta{background:linear-gradient(135deg,var(--deep),var(--mid));padding:2.5rem;border-left:3px solid var(--brand);margin:3rem 0;border-radius:0 8px 8px 0}
.post-cta h3{font-family:var(--serif);font-size:1.4rem;color:white;margin-bottom:.5rem}
.post-cta p{color:rgba(255,255,255,.6);font-size:.88rem;line-height:1.65;margin-bottom:1.5rem;font-weight:300}
.btn-wa{display:inline-flex;align-items:center;gap:.6rem;background:#25d366;color:white;padding:.85rem 1.8rem;border-radius:2px;font-size:.82rem;font-weight:500;transition:background .2s,transform .15s}
.btn-wa:hover{background:#1ebe5d;transform:translateY(-2px)}
.btn-wa svg{width:18px;height:18px;fill:white;flex-shrink:0}

/* RELATED POSTS */
.related{background:var(--cream);padding:4rem 5%}
.related-title{font-family:var(--serif);font-size:1.8rem;color:var(--ink);margin-bottom:2rem;font-weight:400}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.related-card{background:white;overflow:hidden;transition:box-shadow .3s;display:block}
.related-card:hover{box-shadow:0 8px 32px rgba(0,0,0,.1)}
.related-card-img{height:160px;overflow:hidden;background:var(--fog)}
.related-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.related-card:hover .related-card-img img{transform:scale(1.05)}
.related-card-body{padding:1.2rem}
.related-tag{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);font-weight:600}
.related-card-body h4{font-family:var(--serif);font-size:1rem;color:var(--ink);margin:.4rem 0;line-height:1.3;font-weight:500}
.related-card-body span{font-size:.75rem;color:var(--brand)}

/* FOOTER */
footer{background:var(--ink);padding:3rem 5% 0}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.07)}
.footer-brand p{font-size:.83rem;color:rgba(255,255,255,.38);line-height:1.7;margin-top:1rem;max-width:280px;font-weight:300}
.footer-col h4{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:1.2rem;font-weight:500}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.footer-col a{color:rgba(255,255,255,.45);font-size:.83rem;font-weight:300;transition:color .2s}
.footer-col a:hover{color:var(--brand)}
.footer-bot{padding:1.5rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.footer-bot p,.footer-bot a{font-size:.75rem;color:rgba(255,255,255,.25);font-weight:300}
.footer-bot a:hover{color:var(--brand)}

/* WA FLOAT */
.wa-float{position:fixed;bottom:2rem;right:2rem;z-index:150;width:56px;height:56px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(37,211,102,.45);transition:transform .2s,box-shadow .2s}
.wa-float:hover{transform:scale(1.1);box-shadow:0 8px 32px rgba(37,211,102,.6)}
.wa-float svg{width:28px;height:28px;fill:white}

/* RESPONSIVE */
@media(max-width:900px){.nav-menu{display:none}.burger{display:flex}.related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.post-cover{height:260px}.related-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr}.footer-bot{flex-direction:column;text-align:center}}
