/*
Theme Name: Bufete Demo
Theme URI: https://example.com/
Author: OpenAI
Description: Tema WordPress profesional de demostración para un bufete de abogados con servicios presenciales y online.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: bufete-demo
License: GPL-2.0-or-later
*/

:root{
  --bd-navy:#0d2034;
  --bd-navy-2:#15314d;
  --bd-gold:#b58a4a;
  --bd-cream:#f7f4ee;
  --bd-white:#ffffff;
  --bd-text:#24303c;
  --bd-muted:#667381;
  --bd-line:#e3e6e9;
  --bd-success:#1b6b45;
  --bd-danger:#9f2d2d;
  --bd-shadow:0 18px 45px rgba(13,32,52,.10);
  --bd-radius:18px;
  --bd-max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--bd-text);background:var(--bd-white);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}
img{max-width:100%;height:auto}
a{color:var(--bd-navy);text-decoration:none}
a:hover{color:var(--bd-gold)}
.container{width:min(calc(100% - 36px),var(--bd-max));margin-inline:auto}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{clip:auto;width:auto;height:auto;margin:10px;padding:10px 14px;background:#fff;z-index:9999}

.topbar{background:var(--bd-navy);color:#dce5ee;font-size:.9rem}
.topbar .container{display:flex;justify-content:space-between;gap:20px;padding:8px 0}
.topbar a{color:#fff}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(13,32,52,.08);backdrop-filter:blur(10px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:24px}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--bd-navy);color:var(--bd-gold);font-family:Georgia,serif;font-weight:700;font-size:1.25rem}
.brand-text strong{display:block;color:var(--bd-navy);font-family:Georgia,"Times New Roman",serif;font-size:1.2rem;line-height:1.15}
.brand-text span{font-size:.78rem;color:var(--bd-muted);letter-spacing:.08em;text-transform:uppercase}
.main-nav ul{display:flex;align-items:center;gap:4px;list-style:none;padding:0;margin:0}
.main-nav a{display:block;padding:10px 12px;border-radius:10px;font-weight:650;font-size:.94rem}
.main-nav a:hover,.main-nav .current-menu-item>a{background:var(--bd-cream);color:var(--bd-navy)}
.menu-toggle{display:none;border:1px solid var(--bd-line);background:#fff;border-radius:10px;padding:10px 12px;font-weight:700}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 18px;border:1px solid transparent;border-radius:12px;font-weight:750;cursor:pointer;transition:.2s ease}
.btn-primary{background:var(--bd-gold);color:#101923}
.btn-primary:hover{background:#c49a5b;color:#101923;transform:translateY(-1px)}
.btn-secondary{background:var(--bd-navy);color:#fff}
.btn-secondary:hover{background:var(--bd-navy-2);color:#fff}
.btn-outline{border-color:rgba(255,255,255,.35);color:#fff;background:transparent}
.btn-outline:hover{background:#fff;color:var(--bd-navy)}
.btn-small{min-height:40px;padding:8px 14px;font-size:.9rem}

.hero{background:linear-gradient(115deg,#0b1c2e 0%,#173650 64%,#234862 100%);color:#fff;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:56px;align-items:center;min-height:630px;padding:72px 0}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:#dec294;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.eyebrow:before{content:"";width:30px;height:1px;background:var(--bd-gold)}
.hero h1,.page-hero h1{font-family:Georgia,"Times New Roman",serif;line-height:1.08;margin:.35em 0 .28em}
.hero h1{font-size:clamp(2.8rem,5vw,5.1rem);max-width:850px}
.hero p{font-size:1.12rem;color:#d9e1e8;max-width:700px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero-points{display:flex;gap:28px;flex-wrap:wrap;margin-top:34px;color:#d8e0e8;font-size:.92rem}
.hero-points span:before{content:"✓";color:#e5c99b;margin-right:7px;font-weight:900}
.hero-card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.16);border-radius:26px;padding:30px;box-shadow:0 20px 80px rgba(0,0,0,.2)}
.hero-card:before{content:"§";position:absolute;right:24px;top:3px;font:700 7rem Georgia,serif;color:rgba(181,138,74,.16)}
.hero-card h3{font-family:Georgia,serif;font-size:1.5rem;margin:0 0 18px}
.hero-card .slot{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.13)}
.hero-card .slot:last-child{border:0}
.hero-card small{display:block;color:#9fb1c1}
.hero-card strong{font-size:.95rem}

.section{padding:84px 0}
.section-alt{background:var(--bd-cream)}
.section-head{max-width:720px;margin-bottom:36px}
.section-head h2{font-family:Georgia,serif;color:var(--bd-navy);font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.15;margin:8px 0 12px}
.section-head p{color:var(--bd-muted);font-size:1.04rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--bd-line);border-radius:var(--bd-radius);padding:26px;box-shadow:0 8px 25px rgba(13,32,52,.05)}
.card:hover{box-shadow:var(--bd-shadow)}
.card-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#f1e8da;color:var(--bd-navy);font-family:Georgia,serif;font-size:1.3rem;font-weight:700}
.card h3{font-family:Georgia,serif;color:var(--bd-navy);font-size:1.35rem;margin:16px 0 8px}
.card p{color:var(--bd-muted);margin:0 0 14px}
.card-link{font-weight:800;color:var(--bd-gold)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.panel-dark{background:var(--bd-navy);color:#fff;border-radius:24px;padding:38px;box-shadow:var(--bd-shadow)}
.panel-dark h3{font-family:Georgia,serif;font-size:1.7rem;margin-top:0}
.panel-dark p,.panel-dark li{color:#d6e0e8}
.check-list{padding:0;list-style:none}
.check-list li{position:relative;padding:9px 0 9px 30px}
.check-list li:before{content:"✓";position:absolute;left:0;color:var(--bd-gold);font-weight:900}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bd-line);border:1px solid var(--bd-line);border-radius:18px;overflow:hidden}
.stat{background:#fff;padding:30px;text-align:center}
.stat strong{display:block;font:700 2rem Georgia,serif;color:var(--bd-navy)}
.stat span{font-size:.9rem;color:var(--bd-muted)}

.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.person{border:1px solid var(--bd-line);border-radius:18px;overflow:hidden;background:#fff}
.person-photo{aspect-ratio:4/3;background:linear-gradient(135deg,#d9e1e7,#a9b9c7);display:grid;place-items:center;color:rgba(13,32,52,.42);font:700 4rem Georgia,serif}
.person-body{padding:22px}
.person h3{font:700 1.35rem Georgia,serif;color:var(--bd-navy);margin:0 0 3px}
.person .role{color:var(--bd-gold);font-weight:750;font-size:.9rem}
.person p{color:var(--bd-muted);font-size:.94rem}

.cta{background:linear-gradient(120deg,var(--bd-navy),#183c58);color:#fff;border-radius:26px;padding:46px;display:flex;justify-content:space-between;align-items:center;gap:36px}
.cta h2{font:700 clamp(1.8rem,3vw,2.7rem) Georgia,serif;margin:0 0 8px}
.cta p{color:#d4dee7;margin:0;max-width:650px}
.cta-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}

.page-hero{background:var(--bd-navy);color:#fff;padding:72px 0}
.page-hero h1{font-size:clamp(2.4rem,4vw,4rem)}
.page-hero p{max-width:760px;color:#d9e3ea;font-size:1.08rem}
.breadcrumbs{font-size:.85rem;color:#aebdca}
.breadcrumbs a{color:#fff}

.content-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;padding:64px 0}
.prose h2,.prose h3{font-family:Georgia,serif;color:var(--bd-navy)}
.prose h2{font-size:2rem}
.prose h3{font-size:1.4rem}
.prose p,.prose li{color:#4f5d69}
.sidebar-card{border:1px solid var(--bd-line);border-radius:16px;padding:22px;margin-bottom:18px}
.sidebar-card h3{margin-top:0;font-family:Georgia,serif;color:var(--bd-navy)}

.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.service-detail{border:1px solid var(--bd-line);border-radius:18px;padding:26px;background:#fff}
.service-detail h3{font:700 1.4rem Georgia,serif;color:var(--bd-navy);margin:0 0 8px}
.service-detail ul{padding-left:18px;color:var(--bd-muted)}

.form-card{background:#fff;border:1px solid var(--bd-line);border-radius:20px;padding:30px;box-shadow:var(--bd-shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-weight:750;color:var(--bd-navy);font-size:.92rem}
.field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1px solid #cfd6dc;border-radius:10px;background:#fff;color:var(--bd-text);font:inherit}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(181,138,74,.18);border-color:var(--bd-gold)}
.field textarea{min-height:145px;resize:vertical}
.consent{display:flex;gap:10px;align-items:flex-start;color:var(--bd-muted);font-size:.9rem}
.notice{padding:14px 16px;border-radius:10px;margin-bottom:20px}
.notice-success{background:#e8f5ee;color:var(--bd-success);border:1px solid #c7e4d4}
.notice-error{background:#fbecec;color:var(--bd-danger);border:1px solid #efcaca}
.hp-field{position:absolute;left:-9999px;opacity:0;pointer-events:none}

.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.price-card{border:1px solid var(--bd-line);border-radius:18px;padding:26px;background:#fff}
.price-card.featured{border-color:var(--bd-gold);box-shadow:var(--bd-shadow)}
.price-card .tag{display:inline-block;background:#f3eadb;color:#775522;padding:5px 9px;border-radius:999px;font-size:.75rem;font-weight:800}
.price-card h3{font:700 1.4rem Georgia,serif;color:var(--bd-navy)}
.price{font:700 2rem Georgia,serif;color:var(--bd-navy)}
.price small{font:400 .85rem Inter,sans-serif;color:var(--bd-muted)}

.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px}
.contact-box{background:var(--bd-navy);color:#fff;border-radius:20px;padding:30px}
.contact-box h2{font-family:Georgia,serif;margin-top:0}
.contact-item{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.contact-item:last-child{border:0}
.contact-item small{display:block;color:#9fb0bf}
.contact-item a{color:#fff}

.site-footer{background:#071523;color:#c6d0d8;margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:36px;padding:58px 0}
.site-footer h3{color:#fff;font:700 1.1rem Georgia,serif}
.site-footer a{color:#d7e0e7}
.site-footer a:hover{color:#fff}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin:8px 0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;font-size:.82rem;color:#98a8b4}
.footer-bottom .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.demo-note{font-size:.82rem;color:#96a6b3}

.wp-block-image img{border-radius:16px}
.alignwide{width:min(1100px,100%)}
article.post-card{border-bottom:1px solid var(--bd-line);padding:28px 0}
article.post-card h2{font-family:Georgia,serif;margin:0 0 8px}

@media(max-width:900px){
  .topbar .container{justify-content:center}.topbar .right{display:none}
  .menu-toggle{display:block}
  .main-nav{display:none;position:absolute;left:18px;right:18px;top:74px;background:#fff;border:1px solid var(--bd-line);border-radius:14px;padding:10px;box-shadow:var(--bd-shadow)}
  .main-nav.is-open{display:block}
  .main-nav ul{display:block}
  .hero-grid,.split,.contact-grid,.content-wrap{grid-template-columns:1fr}
  .hero-grid{min-height:auto;padding:58px 0}
  .hero-card{max-width:620px}
  .cards,.team-grid,.price-grid{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .cta{display:block}
  .cta-actions{margin-top:24px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .section{padding:62px 0}
  .cards,.team-grid,.price-grid,.service-list,.form-grid,.footer-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .hero h1{font-size:2.65rem}
  .hero-points{display:block}
  .hero-points span{display:block;margin:8px 0}
  .stats{grid-template-columns:1fr 1fr}
  .brand-text span{display:none}
  .cta{padding:30px}
}


.hero-media{position:relative}
.hero-media img{display:block;width:100%;height:560px;object-fit:cover;border-radius:26px;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.hero-media-badge{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.95);color:var(--bd-navy);padding:14px 16px;border-radius:14px;box-shadow:var(--bd-shadow);max-width:300px}
.hero-media-badge strong{display:block;font-family:Georgia,serif;font-size:1.05rem}
.hero-media-badge span{font-size:.9rem;color:var(--bd-muted)}
.card-media{margin:-26px -26px 18px;border-radius:18px 18px 0 0;overflow:hidden;height:190px;background:#dde4ea}
.card-media img{width:100%;height:100%;display:block;object-fit:cover}
.image-panel{border-radius:24px;overflow:hidden;box-shadow:var(--bd-shadow);background:#fff}
.image-panel img{width:100%;height:100%;display:block;object-fit:cover}
.image-panel.tall img{min-height:430px}
.person-photo{aspect-ratio:4/5;background:#e4e9ee}
.person-photo img{width:100%;height:100%;display:block;object-fit:cover}
.person-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.badge-soft{display:inline-block;background:#f3eadb;color:#775522;padding:5px 10px;border-radius:999px;font-size:.74rem;font-weight:800}
.feature-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:30px;align-items:center}
.feature-copy h3{font:700 1.9rem Georgia,serif;color:var(--bd-navy);margin:0 0 10px}
.feature-copy p{color:var(--bd-muted)}
.gallery-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.gallery-strip .image-panel img{height:210px}
.service-detail .service-thumb{margin:-26px -26px 18px;border-radius:18px 18px 0 0;overflow:hidden;height:220px;background:#dde4ea}
.service-detail .service-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.contact-box .contact-photo{margin-top:20px;border-radius:18px;overflow:hidden}
.contact-box .contact-photo img{display:block;width:100%;height:240px;object-fit:cover}
.team-intro{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;margin-bottom:34px}
.team-intro .image-panel img{height:360px}
.price-card{overflow:hidden}
.price-card .price-thumb{margin:-26px -26px 18px;border-radius:18px 18px 0 0;overflow:hidden;height:180px;background:#dde4ea}
.price-card .price-thumb img{width:100%;height:100%;display:block;object-fit:cover}
.section .muted{color:var(--bd-muted)}
@media(max-width:900px){
  .hero-media img{height:420px}
  .feature-grid,.team-intro{grid-template-columns:1fr}
  .gallery-strip{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .hero-media img{height:320px}
  .gallery-strip{grid-template-columns:1fr}
}
