/*
Theme Name: Grupo Bueno Psicología
Theme URI: https://example.com/grupo-bueno-psicologia
Author: OpenAI
Description: Tema profesional y responsive para Grupo Bueno Psicología, consulta de psicología en Toledo.
Version: 1.11.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: grupobueno
*/

:root{
  --bg:#f5f2eb;--paper:#fffdf9;--ink:#242620;--muted:#6d7067;--olive:#4f5a3e;--olive-dark:#384331;--gold:#a69563;--line:#ddd8cd;--soft:#ebe7df;--radius:4px;--max:1200px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.serif,h1,h2,h3,.brand-main{font-family:Georgia,'Times New Roman',serif;font-weight:400}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;color:#7b784f;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem 1.35rem;border:1px solid var(--olive);text-transform:uppercase;letter-spacing:.09em;font-size:.76rem;transition:.2s}.btn-primary{background:var(--olive-dark);color:white}.btn:hover{transform:translateY(-1px);opacity:.92}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,253,249,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.05)}.header-inner{min-height:86px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:flex-end;gap:11px;white-space:nowrap}.brand-main{font-size:1.8rem;letter-spacing:.08em;line-height:.9}.brand-main small{display:block;font-family:Arial,sans-serif;font-size:.62rem;letter-spacing:.23em;margin-bottom:4px}.brand-sub{border-left:1px solid #555;padding-left:11px;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}.nav{margin-left:auto}.nav ul{list-style:none;display:flex;gap:25px;margin:0;padding:0;align-items:center}.nav a{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}.menu-toggle{display:none;background:none;border:0;font-size:1.6rem}.hero{background:linear-gradient(100deg,#f8f5ef 0 46%,transparent 67%),radial-gradient(circle at 75% 35%,#d8d1c2 0,#b9b09c 32%,#7f826a 100%);min-height:620px;display:flex;align-items:center;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:0;bottom:0;width:55%;height:100%;background:linear-gradient(145deg,transparent 0 55%,rgba(40,47,34,.24));pointer-events:none}.hero-content{position:relative;z-index:2;width:min(52%,660px);padding:84px 0}.hero h1{font-size:clamp(3rem,5.4vw,5.2rem);line-height:.98;margin:18px 0 26px;letter-spacing:-.035em}.hero p{font-family:Georgia,serif;font-size:1.18rem;max-width:590px}.hero-name{margin:30px 0 22px;font-family:Georgia,serif;font-size:1.1rem}.hero-actions{display:flex;gap:15px;flex-wrap:wrap}.trust{border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:36px 26px;border-right:1px solid var(--line)}.trust-item:last-child{border:0}.trust-icon{font-size:1.65rem;color:var(--olive);margin-bottom:12px}.trust-item h3{font-family:Arial,sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.trust-item p{font-size:.88rem;color:var(--muted);margin:8px 0 0}.section{padding:88px 0}.areas{background:#f3f0ea}.areas-grid{display:grid;grid-template-columns:1fr 2.25fr;gap:58px}.areas h2,.about-copy h2,.clinic h2{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.08;margin:10px 0 18px}.area-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.area-card{background:rgba(255,255,255,.7);padding:33px 20px;text-align:center;min-height:160px;display:grid;place-items:center;border:1px solid rgba(0,0,0,.03)}.area-card .icon{font-size:1.6rem;color:var(--olive)}.area-card h3{font-size:1.12rem;margin:8px 0 0}.about-wrap{display:grid;grid-template-columns:.9fr 1.1fr 1.75fr}.portrait{min-height:520px;background:linear-gradient(150deg,#c7b9a4,#f3eee4 58%,#94846d);position:relative}.portrait:before{content:'Fotografía de Arancha';position:absolute;inset:auto 20px 20px;background:rgba(255,255,255,.82);padding:10px 14px;font-size:.78rem}.about-copy{padding:60px 50px;background:#faf8f3}.clinic{padding:60px 50px;background:var(--olive-dark);color:white}.clinic .eyebrow{color:#c9bc8a}.clinic-photo{height:200px;background:linear-gradient(135deg,#d7d0c2,#827e6c);margin:28px 0}.mini-features{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid rgba(255,255,255,.2);padding-top:20px}.mini-features div{text-align:center;font-size:.78rem}.cards-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:22px 0 44px}.content-card{display:grid;grid-template-columns:130px 1fr;background:#f8f5ef;min-height:170px}.content-card .thumb{background:linear-gradient(145deg,#d8d0c1,#9a9686)}.content-card:nth-child(2) .thumb{background:linear-gradient(145deg,#b8b29e,#5d6653)}.content-card:nth-child(3) .thumb{background:linear-gradient(145deg,#e5dccd,#bba888)}.content-card .copy{padding:20px}.content-card h3{margin:0 0 7px;font-size:1.25rem}.content-card p{font-size:.86rem;color:var(--muted)}.site-footer{border-top:1px solid var(--line);padding:26px 0;background:#fbfaf7}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;font-size:.86rem}.legal{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:.72rem;color:var(--muted);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.page-shell{padding:70px 0;max-width:860px}.page-shell h1{font-size:3.2rem}.entry-content{font-size:1.05rem}.entry-content>*+*{margin-top:1.2em}
@media(max-width:980px){.nav{display:none;position:absolute;left:0;right:0;top:86px;background:var(--paper);padding:20px}.nav.open{display:block}.nav ul{flex-direction:column;align-items:flex-start}.menu-toggle{display:block;margin-left:auto}.header-cta{display:none}.hero{background:linear-gradient(180deg,#f7f3ec 0 62%,#9c9a84 100%);min-height:auto}.hero-content{width:100%;padding:70px 0 260px}.trust-grid{grid-template-columns:repeat(2,1fr)}.areas-grid,.about-wrap{grid-template-columns:1fr}.area-cards{grid-template-columns:repeat(2,1fr)}.cards-row{grid-template-columns:1fr}.portrait{min-height:430px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.container{width:min(calc(100% - 28px),var(--max))}.brand-main{font-size:1.45rem}.brand-sub{display:none}.hero h1{font-size:3.25rem}.hero-content{padding:55px 0 210px}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--line)}.area-cards{grid-template-columns:1fr}.about-copy,.clinic{padding:42px 24px}.mini-features{grid-template-columns:1fr}.content-card{grid-template-columns:105px 1fr}.footer-grid{grid-template-columns:1fr}.section{padding:60px 0}}

/* Mapa y consentimiento */
.map-section{padding:70px 0;background:#f3f0ea;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.map-grid{display:grid;grid-template-columns:.8fr 1.4fr;gap:44px;align-items:stretch}.map-copy h2{font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.08;margin:10px 0 18px}.map-consent{min-height:360px;background:#e8e3d9;position:relative;overflow:hidden}.map-consent iframe{border:0;width:100%;height:100%;min-height:360px;display:block}.map-placeholder{min-height:360px;padding:34px;display:grid;place-content:center;text-align:center}.map-placeholder strong{font-family:Georgia,serif;font-weight:400;font-size:1.6rem}.map-placeholder p{max-width:520px;color:var(--muted)}
.legal-links a{text-decoration:underline;text-underline-offset:3px}.cookie-settings-link{border:0;background:none;padding:0;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit}.cookie-panel[hidden]{display:none}.cookie-panel{position:fixed;left:18px;right:18px;bottom:18px;z-index:9999;background:#fffdf9;border:1px solid var(--line);box-shadow:0 12px 45px rgba(0,0,0,.18);padding:22px}.cookie-panel-inner{width:min(100%,1120px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.cookie-panel strong{font-family:Georgia,serif;font-size:1.35rem;font-weight:400}.cookie-panel p{margin:5px 0;font-size:.88rem;max-width:720px}.cookie-panel a{text-decoration:underline;font-size:.82rem}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie-btn{min-width:120px;padding:.9rem 1.2rem;border:1px solid var(--olive-dark);background:var(--olive-dark);color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;cursor:pointer}.cookie-btn:first-child{background:var(--olive-dark);color:#fff}
@media(max-width:800px){.map-grid{grid-template-columns:1fr}.cookie-panel-inner{align-items:stretch;flex-direction:column}.cookie-actions{width:100%}.cookie-btn{flex:1}.map-consent,.map-consent iframe,.map-placeholder{min-height:300px}}

/* v1.4 navegación desplegable y páginas interiores */
.nav .menu-item-has-children{position:relative}.nav .sub-menu{display:none;position:absolute;top:100%;left:-18px;min-width:250px;background:var(--paper);border:1px solid var(--line);padding:12px 0;z-index:50}.nav .sub-menu li{display:block}.nav .sub-menu a{display:block;padding:10px 18px;white-space:nowrap;text-transform:none;letter-spacing:.01em;font-size:.84rem}.nav .menu-item-has-children:hover>.sub-menu,.nav .menu-item-has-children:focus-within>.sub-menu{display:block}.area-card{color:inherit;transition:transform .2s,background .2s}.area-card:hover{transform:translateY(-3px);background:#fff}.card-link{display:block;margin-top:12px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--olive)}.page-shell article>h1{margin-bottom:36px}.entry-content h2{font-size:2rem;margin-top:1.8em}.entry-content a{color:var(--olive);text-decoration:underline;text-underline-offset:3px}
@media(max-width:980px){.nav .sub-menu{display:block;position:static;border:0;padding:4px 0 4px 18px;background:transparent}.nav .sub-menu a{padding:7px 0}.nav .menu-item-has-children>a{font-weight:700}}


/* v1.6 logo botánico en cabecera. No modifica la estructura de navegación. */
.brand-logo-wrap{flex:0 0 auto;display:flex;align-items:center;min-width:180px}
.brand-logo-wrap .custom-logo-link,.brand-logo-default{display:flex;align-items:center;line-height:0}
.brand-logo-wrap .custom-logo,.brand-logo-default img{width:auto;height:104px;max-width:230px;object-fit:contain}
@media(max-width:980px){.brand-logo-wrap{min-width:0}.brand-logo-wrap .custom-logo,.brand-logo-default img{height:78px;max-width:175px}.header-inner{min-height:92px}.nav{top:92px}}
@media(max-width:600px){.brand-logo-wrap .custom-logo,.brand-logo-default img{height:66px;max-width:145px}.header-inner{min-height:80px}.nav{top:80px}}

/* v1.7: portada sin el bloque de fotografía y retrato en la página Sobre mí. */
.about-wrap-home{grid-template-columns:1fr 1.35fr}
.about-wrap-home .about-copy{padding-left:max(50px,calc((100vw - var(--max))/2 + 20px))}
.about-page-shell{max-width:1100px}
.about-profile{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:54px;align-items:start}
.about-profile-image img{width:100%;height:auto;max-height:680px;object-fit:cover}
.about-profile-content>h1{margin-top:0}
@media(max-width:980px){.about-wrap-home,.about-profile{grid-template-columns:1fr}.about-wrap-home .about-copy{padding-left:50px}.about-profile-image{max-width:560px}}
@media(max-width:600px){.about-wrap-home .about-copy{padding-left:24px}.about-profile{gap:30px}}

/* v1.8: tarjeta de La consulta sin hueco fotográfico en la portada. */
.clinic-link{display:flex;flex-direction:column;justify-content:center;min-height:100%;position:relative;overflow:hidden;transition:background .2s ease,color .2s ease}
.clinic-link:after{content:'↗';position:absolute;right:34px;top:28px;font-size:1.35rem;color:#c9bc8a;transition:transform .2s ease}
.clinic-link:hover{background:#414d39;color:#fff}
.clinic-link:hover:after{transform:translate(3px,-3px)}
.clinic-link:focus-visible{outline:3px solid var(--gold);outline-offset:-5px}
.clinic-link p{max-width:610px}
.clinic-address{margin:20px 0 26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.22);font-size:.88rem;letter-spacing:.03em}
.clinic-link .mini-features{margin-top:4px}
.clinic-cta{align-self:flex-start;margin-top:30px;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.65);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em}
@media(max-width:600px){.clinic-link:after{right:22px;top:22px}.clinic-link .mini-features{grid-template-columns:repeat(3,1fr);gap:6px}.clinic-link .mini-features div{font-size:.7rem}}
