/*
Theme Name: Bethel Platform
Theme URI: https://hogaresbethel.org
Author: Fundación Hogares Bethel
Description: Tema visual premium y modular para la Red Internacional Hogares Bethel. Diseñado para familias, comunidades terapéuticas, profesionales y futuros módulos Bethel Core, Public, Care y PWA.
Version: 0.3.0
Requires at least: 6.8
Requires PHP: 8.1
Text Domain: bethel-platform
License: GPL-2.0-or-later
*/

:root{
  --bethel-navy:#092B4C;
  --bethel-navy-2:#0D365D;
  --bethel-blue:#0B63CE;
  --bethel-blue-dark:#0956B2;
  --bethel-sky:#EAF5FF;
  --bethel-sky-soft:#F6FBFF;
  --bethel-gold:#FFC43D;
  --bethel-gold-dark:#E8A900;
  --bethel-ink:#102842;
  --bethel-text:#415B73;
  --bethel-muted:#6D8092;
  --bethel-line:#DCE8F2;
  --bethel-white:#FFFFFF;
  --bethel-success:#238060;
  --bethel-radius-sm:12px;
  --bethel-radius:20px;
  --bethel-radius-lg:30px;
  --bethel-shadow:0 20px 55px rgba(9,43,76,.11);
  --bethel-shadow-soft:0 10px 30px rgba(9,43,76,.07);
  --bethel-shell:1320px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--bethel-ink);background:#fff;font-family:"Manrope","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.admin-bar .bethel-site-header{top:32px}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
button,input,select{font:inherit}
button{cursor:pointer}
.bethel-shell{width:min(var(--bethel-shell),calc(100% - 56px));margin-inline:auto}

/* HEADER */
.bethel-site-header{position:sticky;top:0;z-index:120;border-bottom:1px solid rgba(220,232,242,.9);background:rgba(255,255,255,.96);backdrop-filter:blur(15px);box-shadow:0 3px 18px rgba(9,43,76,.035)}
.bethel-header-inner{min-height:84px;display:flex;align-items:center;gap:28px}
.bethel-brand{display:flex;align-items:center;gap:12px;flex:0 0 auto;text-decoration:none;white-space:nowrap}
.bethel-brand-mark{width:46px;height:46px;display:grid;place-items:center}
.bethel-brand-name{color:var(--bethel-navy);font-weight:800;font-size:1.17rem;letter-spacing:-.025em}
.bethel-desktop-nav{margin-left:auto;display:flex;align-items:center;justify-content:center;gap:24px}
.bethel-desktop-nav a{position:relative;color:#263F58;font-size:.89rem;font-weight:700;text-decoration:none;white-space:nowrap}
.bethel-desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--bethel-blue);transition:right .2s ease}
.bethel-desktop-nav a:hover{color:var(--bethel-blue)}
.bethel-desktop-nav a:hover:after{right:0}
.bethel-header-actions{flex:0 0 auto;display:flex;align-items:center;gap:10px;white-space:nowrap}
.bethel-btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;border:1px solid transparent;border-radius:10px;font-weight:800;font-size:.88rem;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}
.bethel-btn:hover{transform:translateY(-1px)}
.bethel-btn-outline{color:var(--bethel-blue);background:#fff;border-color:#8EB8E6}
.bethel-btn-outline:hover{background:#F7FBFF;border-color:var(--bethel-blue)}
.bethel-btn-blue{color:#fff;background:var(--bethel-blue);box-shadow:0 9px 20px rgba(11,99,206,.16)}
.bethel-btn-blue:hover{background:var(--bethel-blue-dark);box-shadow:0 12px 25px rgba(11,99,206,.22)}
.bethel-btn-gold{color:var(--bethel-navy);background:var(--bethel-gold);box-shadow:0 10px 25px rgba(255,196,61,.22)}
.bethel-btn-gold:hover{background:#FFB91D}
.bethel-menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--bethel-line);border-radius:10px;background:#fff;padding:0}
.bethel-menu-toggle span,.bethel-menu-toggle:before,.bethel-menu-toggle:after{content:"";display:block;width:21px;height:2px;background:var(--bethel-navy);margin:5px auto;transition:.2s ease}
.bethel-mobile-panel{display:none}

/* HERO */
.bethel-hero{position:relative;overflow:hidden;min-height:640px;background:linear-gradient(90deg,#EDF7FF 0%,#EDF7FF 48%,#FFFFFF 48%,#FFFFFF 100%)}
.bethel-hero:before{content:"";position:absolute;width:520px;height:520px;left:-260px;top:-180px;border-radius:50%;background:rgba(255,255,255,.45)}
.bethel-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,48%) minmax(0,52%);min-height:640px}
.bethel-hero-copy{position:relative;z-index:4;display:flex;flex-direction:column;justify-content:center;padding:72px 38px 104px 0}
.bethel-eyebrow{margin:0 0 14px;color:var(--bethel-blue);font-size:.86rem;font-weight:800;letter-spacing:.01em}
.bethel-hero h1{max-width:660px;margin:0;color:var(--bethel-navy);font-size:clamp(3.15rem,4.65vw,4.75rem);line-height:1.035;letter-spacing:-.058em;font-weight:800}
.bethel-hero h1 span{display:block}
.bethel-hero-lead{max-width:600px;margin:23px 0 0;color:#395570;font-size:1.08rem;line-height:1.72}
.bethel-hero-photo{position:relative;min-height:640px;overflow:hidden}
.bethel-hero-photo img{width:100%;height:100%;min-height:640px;object-fit:cover;object-position:53% center}
.bethel-hero-photo:before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,#EDF7FF 0%,rgba(237,247,255,.78) 9%,rgba(237,247,255,.15) 27%,transparent 45%);pointer-events:none}
.bethel-search-card{position:absolute;z-index:8;left:0;bottom:52px;width:min(790px,calc(100vw - 72px));padding:18px;background:#fff;border:1px solid rgba(220,232,242,.98);border-radius:16px;box-shadow:var(--bethel-shadow)}
.bethel-search-form{display:grid;grid-template-columns:1fr 1fr 1fr 170px;gap:11px;align-items:end}
.bethel-field label{display:block;margin:0 0 7px;color:#223B54;font-size:.73rem;font-weight:800}
.bethel-field select{width:100%;min-height:48px;padding:0 13px;border:1px solid var(--bethel-line);border-radius:9px;background:#fff;color:#60778C;font-size:.82rem;outline:none}
.bethel-field select:focus{border-color:#8DB9E5;box-shadow:0 0 0 3px rgba(11,99,206,.08)}
.bethel-search-card .bethel-btn{width:100%;min-height:48px}
.bethel-search-note{margin:14px 0 0;display:flex;align-items:center;gap:9px;color:#315779;font-size:.78rem;font-weight:700}
.bethel-search-note svg{flex:0 0 auto}
.bethel-search-status{display:none;margin-top:12px;color:var(--bethel-text);font-size:.8rem}
.bethel-search-status.is-visible{display:block}

/* TRUST */
.bethel-trustbar{border-bottom:1px solid var(--bethel-line);background:#fff}
.bethel-trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.bethel-trust-item{min-height:82px;display:flex;align-items:center;justify-content:center;gap:12px;position:relative;color:#29435C;font-size:.87rem;font-weight:750}
.bethel-trust-item:not(:last-child):after{content:"";position:absolute;right:0;top:25%;width:1px;height:50%;background:var(--bethel-line)}
.bethel-trust-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:var(--bethel-blue);background:#EDF7FF}

/* GENERAL SECTIONS */
.bethel-section{padding:84px 0}
.bethel-section-soft{background:linear-gradient(180deg,#F5FAFF 0%,#FFFFFF 100%)}
.bethel-section-blue{background:#EAF5FF}
.bethel-section-kicker{margin:0 0 10px;color:var(--bethel-blue);font-size:.84rem;font-weight:800}
.bethel-section-title{margin:0;color:var(--bethel-navy);font-size:clamp(2.15rem,3.2vw,3.3rem);line-height:1.09;letter-spacing:-.045em;font-weight:800}
.bethel-section-title.center{text-align:center}
.bethel-section-intro{max-width:740px;margin:16px 0 0;color:var(--bethel-text);line-height:1.72;font-size:1rem}
.bethel-section-intro.center{margin-inline:auto;text-align:center}
.bethel-section-head{display:flex;align-items:end;justify-content:space-between;gap:30px}
.bethel-text-link{color:var(--bethel-blue);font-weight:800;font-size:.87rem;text-decoration:none;white-space:nowrap}
.bethel-text-link:hover{text-decoration:underline}

/* SERVICES */
.bethel-services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}
.bethel-service-card{min-height:255px;padding:30px 24px 27px;border:1px solid var(--bethel-line);border-radius:17px;background:#fff;box-shadow:var(--bethel-shadow-soft);text-align:center;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.bethel-service-card:hover{transform:translateY(-5px);border-color:#B9D3EA;box-shadow:var(--bethel-shadow)}
.bethel-service-icon{width:68px;height:68px;margin:0 auto 20px;display:grid;place-items:center;color:var(--bethel-blue);border:1px solid #CFE4F7;border-radius:50%;background:#F5FAFF}
.bethel-service-card h3{margin:0 0 10px;color:var(--bethel-navy);font-size:1.04rem;letter-spacing:-.02em}
.bethel-service-card p{margin:0;color:var(--bethel-text);font-size:.84rem;line-height:1.65}

/* COMMUNITIES */
.bethel-communities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.bethel-community-card{overflow:hidden;border:1px solid var(--bethel-line);border-radius:18px;background:#fff;box-shadow:var(--bethel-shadow-soft);transition:transform .2s ease,box-shadow .2s ease}
.bethel-community-card:hover{transform:translateY(-4px);box-shadow:var(--bethel-shadow)}
.bethel-community-image{position:relative;aspect-ratio:16/9;overflow:hidden;background:#DDEAF3}
.bethel-community-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.bethel-community-card:hover .bethel-community-image img{transform:scale(1.035)}
.bethel-community-badge{position:absolute;top:14px;left:14px;padding:7px 10px;border-radius:999px;color:#fff;background:rgba(9,43,76,.85);backdrop-filter:blur(7px);font-size:.69rem;font-weight:800}
.bethel-community-body{padding:19px 20px 22px}
.bethel-community-location{display:flex;align-items:center;gap:7px;color:#6B8195;font-size:.76rem;font-weight:700}
.bethel-community-card h3{margin:8px 0 7px;color:var(--bethel-navy);font-size:1.28rem;letter-spacing:-.025em}
.bethel-community-meta{min-height:42px;color:#4C657C;font-size:.8rem;line-height:1.55}
.bethel-community-footer{margin-top:15px;display:flex;align-items:center;justify-content:space-between}
.bethel-community-footer a{color:var(--bethel-blue);font-size:.82rem;font-weight:800;text-decoration:none}

/* STEPS */
.bethel-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:48px}
.bethel-steps:before{content:"";position:absolute;top:59px;left:18%;right:18%;height:1px;background:#9FC7E8}
.bethel-step{position:relative;z-index:2;text-align:center}
.bethel-step-visual{width:120px;height:120px;margin:0 auto 22px;position:relative;display:grid;place-items:center;border-radius:50%;color:var(--bethel-blue);background:#fff;border:10px solid rgba(255,255,255,.58);box-shadow:0 12px 34px rgba(9,43,76,.08),inset 0 0 0 1px #CFE4F6}
.bethel-step-number{position:absolute;top:-3px;left:-2px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--bethel-blue);font-size:.75rem;font-weight:900}
.bethel-step h3{margin:0 0 8px;color:var(--bethel-navy);font-size:1.02rem}
.bethel-step p{max-width:320px;margin:0 auto;color:var(--bethel-text);font-size:.82rem;line-height:1.62}

/* FAMILY */
.bethel-family-card{display:grid;grid-template-columns:47% 53%;overflow:hidden;border:1px solid var(--bethel-line);border-radius:28px;background:#fff;box-shadow:var(--bethel-shadow-soft)}
.bethel-family-copy{display:flex;flex-direction:column;justify-content:center;padding:54px 52px}
.bethel-family-photo{min-height:520px;position:relative;overflow:hidden}
.bethel-family-photo img{width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center}
.bethel-family-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.12),transparent 32%)}
.bethel-checklist{list-style:none;padding:0;margin:23px 0 28px}
.bethel-checklist li{position:relative;padding-left:30px;margin:11px 0;color:#3B566F;font-size:.87rem}
.bethel-checklist li:before{content:"";position:absolute;left:0;top:4px;width:17px;height:17px;border-radius:50%;background:var(--bethel-gold);box-shadow:inset 0 0 0 5px #FFF6D4}

/* INSTITUTIONS */
.bethel-institution-panel{position:relative;overflow:hidden;padding:58px;border-radius:30px;background:radial-gradient(circle at 92% 10%,rgba(255,196,61,.20),transparent 26%),linear-gradient(135deg,var(--bethel-navy),#0E4476);color:#fff}
.bethel-institution-panel .bethel-section-kicker{color:#9FD1FF}
.bethel-institution-panel .bethel-section-title{color:#fff;max-width:760px}
.bethel-institution-panel .bethel-section-intro{color:#D6E7F5;max-width:760px}
.bethel-institution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:34px 0}
.bethel-institution-mini{padding:22px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px)}
.bethel-institution-mini strong{display:block;margin-bottom:7px;color:#fff;font-size:.94rem}
.bethel-institution-mini span{color:#C7DEEF;font-size:.79rem;line-height:1.55}
.bethel-institution-actions{display:flex;gap:12px;flex-wrap:wrap}
.bethel-institution-actions .bethel-btn-outline{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.06)}

/* PROFESSIONAL */
.bethel-professional-band{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;padding:36px 42px;border:1px solid var(--bethel-line);border-radius:22px;background:#fff;box-shadow:var(--bethel-shadow-soft)}
.bethel-professional-band h3{margin:0 0 8px;color:var(--bethel-navy);font-size:1.6rem;letter-spacing:-.035em}
.bethel-professional-band p{margin:0;color:var(--bethel-text);line-height:1.65}
.bethel-professional-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}

/* FOOTER */
.bethel-footer{background:#071F36;color:#D5E5F0}
.bethel-footer-main{display:grid;grid-template-columns:1.4fr .8fr .8fr .9fr;gap:46px;padding:62px 0 42px}
.bethel-footer .bethel-brand-name{color:#fff}
.bethel-footer-desc{max-width:330px;margin:18px 0 0;color:#AFC5D6;line-height:1.65;font-size:.88rem}
.bethel-footer h4{margin:5px 0 18px;color:#fff;font-size:.86rem}
.bethel-footer-links{list-style:none;padding:0;margin:0}
.bethel-footer-links li{margin:10px 0}
.bethel-footer-links a{color:#C7D9E6;font-size:.82rem;text-decoration:none}
.bethel-footer-links a:hover{color:#fff}
.bethel-footer-bottom{padding:20px 0 26px;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;gap:20px;color:#8FA9BC;font-size:.74rem}

/* INTERNAL */
.bethel-page-hero{padding:64px 0;background:linear-gradient(180deg,#F1F8FF,#FFFFFF);border-bottom:1px solid var(--bethel-line)}
.bethel-content{width:min(850px,calc(100% - 40px));margin-inline:auto;padding:60px 0}
.bethel-loop-card{padding:25px;margin-bottom:18px;border:1px solid var(--bethel-line);border-radius:16px;background:#fff}

/* ACCESSIBILITY */
.bethel-btn:focus-visible,.bethel-desktop-nav a:focus-visible,.bethel-menu-toggle:focus-visible,.bethel-field select:focus-visible{outline:3px solid rgba(11,99,206,.24);outline-offset:3px}

/* RESPONSIVE */
@media (max-width:1180px){
  .bethel-shell{width:min(var(--bethel-shell),calc(100% - 40px))}
  .bethel-desktop-nav{gap:16px}
  .bethel-desktop-nav a{font-size:.82rem}
  .bethel-header-actions .bethel-btn{padding-inline:15px}
  .bethel-search-form{grid-template-columns:1fr 1fr 1fr 150px}
}
@media (max-width:1040px){
  .bethel-desktop-nav{display:none}
  .bethel-menu-toggle{display:block;margin-left:auto}
  .bethel-header-actions{display:none}
  .bethel-mobile-panel{display:block;max-height:0;overflow:hidden;border-top:1px solid transparent;background:#fff;transition:max-height .25s ease,border-color .25s ease}
  .bethel-mobile-panel.is-open{max-height:520px;border-top-color:var(--bethel-line)}
  .bethel-mobile-inner{padding:16px 0 24px}
  .bethel-mobile-nav{display:grid;gap:3px}
  .bethel-mobile-nav a{padding:12px 10px;border-radius:8px;color:#29435D;font-weight:750;font-size:.92rem;text-decoration:none}
  .bethel-mobile-nav a:hover{background:#F2F8FE}
  .bethel-mobile-actions{display:flex;gap:10px;margin-top:12px}
  .bethel-mobile-actions .bethel-btn{flex:1}
  .bethel-hero-grid{grid-template-columns:52% 48%}
  .bethel-search-card{width:min(760px,calc(100vw - 52px))}
  .bethel-services-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  body.admin-bar .bethel-site-header{top:46px}
  .bethel-hero{background:#EDF7FF}
  .bethel-hero-grid{grid-template-columns:1fr;min-height:auto}
  .bethel-hero-copy{padding:58px 0 30px}
  .bethel-hero h1{font-size:clamp(2.75rem,9vw,4.1rem)}
  .bethel-hero-photo{min-height:390px;margin-inline:-20px}
  .bethel-hero-photo img{min-height:390px}
  .bethel-hero-photo:before{background:linear-gradient(180deg,#EDF7FF 0%,rgba(237,247,255,.28) 22%,transparent 48%)}
  .bethel-search-card{position:relative;left:auto;bottom:auto;width:100%;margin:-68px 0 28px}
  .bethel-search-form{grid-template-columns:1fr 1fr}
  .bethel-search-form > :last-child{grid-column:span 2}
  .bethel-trust-grid{grid-template-columns:1fr}
  .bethel-trust-item{min-height:64px;justify-content:flex-start}
  .bethel-trust-item:not(:last-child):after{top:auto;right:0;bottom:0;left:0;width:100%;height:1px}
  .bethel-communities-grid{grid-template-columns:1fr}
  .bethel-steps{grid-template-columns:1fr;gap:30px}
  .bethel-steps:before{display:none}
  .bethel-family-card{grid-template-columns:1fr}
  .bethel-family-photo{min-height:390px;order:-1}
  .bethel-family-photo img{min-height:390px}
  .bethel-family-copy{padding:38px 30px 42px}
  .bethel-institution-grid{grid-template-columns:1fr}
  .bethel-professional-band{grid-template-columns:1fr}
  .bethel-professional-actions{justify-content:flex-start}
  .bethel-footer-main{grid-template-columns:1fr 1fr}
}
@media (max-width:580px){
  .bethel-shell{width:min(var(--bethel-shell),calc(100% - 26px))}
  .bethel-header-inner{min-height:72px}
  .bethel-brand-mark{width:40px;height:40px}
  .bethel-brand-name{font-size:1rem}
  .bethel-section{padding:64px 0}
  .bethel-hero-copy{padding-top:45px}
  .bethel-hero h1{font-size:clamp(2.45rem,12vw,3.5rem)}
  .bethel-hero-lead{font-size:.98rem}
  .bethel-hero-photo{min-height:320px;margin-inline:-13px}
  .bethel-hero-photo img{min-height:320px}
  .bethel-search-card{margin-top:-42px;padding:14px}
  .bethel-search-form{grid-template-columns:1fr}
  .bethel-search-form > :last-child{grid-column:auto}
  .bethel-services-grid{grid-template-columns:1fr}
  .bethel-service-card{min-height:auto}
  .bethel-section-head{align-items:flex-start;flex-direction:column}
  .bethel-institution-panel{padding:34px 24px;border-radius:22px}
  .bethel-mobile-actions{flex-direction:column}
  .bethel-family-copy{padding:32px 22px 36px}
  .bethel-footer-main{grid-template-columns:1fr;gap:28px}
  .bethel-footer-bottom{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


/* LOCAL PREMIUM IMAGERY */
.bethel-photo-local{width:100%;height:100%;min-height:inherit;background-size:cover;background-position:center;background-repeat:no-repeat}
.bethel-photo-hero{background-image:url("assets/images/hero-family.webp");background-position:51% center}
.bethel-photo-family{background-image:url("assets/images/family-support.webp");background-position:center}
.bethel-community-local{width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;transition:transform .45s ease}
.bethel-community-local-1{background-image:url("assets/images/community-1.webp")}
.bethel-community-local-2{background-image:url("assets/images/community-2.webp")}
.bethel-community-local-3{background-image:url("assets/images/community-3.webp")}
.bethel-community-card:hover .bethel-community-local{transform:scale(1.035)}
