/*
Theme Name: BSE Legal
Theme URI: https://bselegal.cat
Description: Child theme de bloques para BSE Estudi Legal — comptabilitat, fiscalitat i dret mercantil. Diseño editorial teal, bilingüe CA/ES. Construido sobre el theme de bloques por defecto de WordPress.
Author: SOLIDPERFIL3D — Mikhael
Author URI: https://solidperfil3d.com
Template: twentytwentyfive
Version: 0.9.12
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bse-legal
*/

/* ============================================================
   THEME PADRE — Twenty Twenty-Five
   WordPress 7.0 trae Twenty Twenty-Five como block theme por defecto
   (no existe "Twenty Twenty-Six"; el siguiente será Twenty Twenty-Seven).
   Por eso "Template: twentytwentyfive" es el valor correcto.
   El padre solo debe estar INSTALADO (no hace falta activarlo).
   ============================================================ */

/* ============================================================
   RESET — acotado a contenido BSE (.bse) para no afectar al chrome
   de WordPress ni a otros plugins. Cada patrón/parte BSE lleva .bse
   en su contenedor raíz.
   ============================================================ */
.bse, .bse *{box-sizing:border-box}
.bse :where(h1,h2,h3,h4,h5,h6,p,blockquote,figure,ul,ol,li){margin:0;padding:0}
.bse ul{list-style:none}

/* ============================================================
   COMPONENTES — portados de dev/index.html (FASE 2).
   Los tokens viven en :root (abajo) para que las clases funcionen
   igual que en el diseño original; theme.json los expone al editor.
   ============================================================ */

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root{
  --teal-deep:#2B7B76;
  --teal-mid:#5B9EA0;
  --teal-pale:#A4C2C4;
  --teal-dust:#B8D0D2;
  --teal-logo:#719294;
  --black:#231F20;
  --charcoal:#223035;
  --grey-text:#54595F;
  --offwhite:#F5F5F0;
  --white:#FFFFFF;

  --serif:'Jost',system-ui,sans-serif;   /* was Fraunces — client wants a cleaner, minimalist look */
  --sans:'DM Sans',system-ui,sans-serif;
  --geo:'Jost',system-ui,sans-serif;

  --radius:0px;        /* squared, editorial — matches the brand logotype */

  --ease:cubic-bezier(0.4,0,0.2,1);
}

/* ============================================================
   RESET / BASE
   ============================================================ */
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  font-size:18px;line-height:1.6;
  color:var(--grey-text);
  background:var(--offwhite);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ============================================================
   GLOBAL BACKGROUND DEPTH (subtle teal orbs behind everything)
   ============================================================ */
.bg-depth{
  position:fixed;inset:0;z-index:-2;pointer-events:none;overflow:hidden;
  background:var(--offwhite);
}
.bg-depth::before,.bg-depth::after{
  content:'';position:absolute;border-radius:50%;
}
.bg-depth::before{
  width:760px;height:760px;top:-160px;right:-160px;
  background:radial-gradient(circle, rgba(43,123,118,0.13) 0%, transparent 70%);
  filter:blur(60px);
}
.bg-depth::after{
  width:560px;height:560px;bottom:-120px;left:-140px;
  background:radial-gradient(circle, rgba(91,158,160,0.11) 0%, transparent 70%);
  filter:blur(80px);
}

/* ============================================================
   TYPOGRAPHY HELPERS
   ============================================================ */
.kicker{
  font-family:var(--geo);font-weight:600;font-size:12px;
  letter-spacing:0.28em;text-transform:uppercase;
  color:var(--teal-deep);display:inline-block;
}
.section-title{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(38px,5vw,60px);line-height:1.04;
  color:var(--black);letter-spacing:-0.018em;
}
.lead{font-size:clamp(17px,1.4vw,19px);color:var(--grey-text);max-width:56ch}

/* ============================================================
   LAYOUT
   ============================================================ */
.container{width:100%;max-width:1240px;margin:0 auto;padding:0 40px}

/* sections that should carry visible teal depth orbs */
.has-orbs{position:relative;overflow:hidden}
.has-orbs::before,.has-orbs::after{content:'';position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.has-orbs::before{
  width:600px;height:600px;top:-100px;right:-100px;
  background:radial-gradient(circle, rgba(43,123,118,0.10) 0%, transparent 70%);
  filter:blur(60px);
}
.has-orbs::after{
  width:440px;height:440px;bottom:-40px;left:-90px;
  background:radial-gradient(circle, rgba(91,158,160,0.09) 0%, transparent 70%);
  filter:blur(80px);
}
.has-orbs > *{position:relative;z-index:1}

/* ============================================================
   GLASS UTILITIES
   ============================================================ */
.glass-light{
  background:rgba(43,123,118,0.05);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(43,123,118,0.12);
  border-radius:var(--radius);
  box-shadow:0 4px 24px rgba(43,123,118,0.06), inset 0 1px 0 rgba(255,255,255,0.8);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.glass-light:hover{
  transform:translateY(-6px);
  border-color:rgba(43,123,118,0.28);
  box-shadow:0 16px 40px rgba(43,123,118,0.12), inset 0 1px 0 rgba(255,255,255,0.9);
}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{
  font-family:var(--geo);font-weight:600;font-size:13px;letter-spacing:0.14em;text-transform:uppercase;
  border-radius:var(--radius);padding:17px 36px;cursor:pointer;
  display:inline-flex;align-items:center;gap:10px;
  border:1.5px solid transparent;transition:all .25s var(--ease);white-space:nowrap;
}
.btn-primary{background:var(--teal-deep);color:var(--white)}
.btn-primary:hover{background:var(--teal-mid);transform:translateY(-2px);box-shadow:0 10px 24px rgba(43,123,118,0.25)}
.btn-outline{background:transparent;border-color:var(--teal-deep);color:var(--teal-deep)}
.btn-outline:hover{background:var(--teal-deep);color:var(--white);transform:translateY(-2px)}
.btn-white{background:var(--white);color:var(--teal-deep)}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,0.22)}
.btn-ghost{background:rgba(255,255,255,0.10);color:var(--white);border:1.5px solid rgba(255,255,255,0.55);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(255,255,255,0.20);transform:translateY(-2px)}
.btn-lg{padding:18px 44px;font-size:16px}

.arrow-link{
  font-family:var(--geo);font-weight:600;font-size:13px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--teal-deep);
  display:inline-flex;align-items:center;gap:8px;transition:gap .25s var(--ease);
}
.arrow-link:hover{gap:14px}

/* ============================================================
   NAVBAR
   ============================================================ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(245,245,240,0.94);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  border-bottom:1px solid rgba(43,123,118,0.12);
  transition:box-shadow .3s var(--ease),background .3s var(--ease);
}
.nav.scrolled{box-shadow:0 6px 24px rgba(34,48,53,0.08);background:rgba(245,245,240,0.98)}
.nav-inner{max-width:1240px;margin:0 auto;padding:0 40px;height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav-logo img{width:172px;height:auto}
.nav-links{display:flex;gap:34px;align-items:center}
.nav-links a{font-family:var(--geo);font-weight:500;font-size:15px;color:var(--black);letter-spacing:0.02em;position:relative;padding:4px 0;transition:color .2s var(--ease)}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--teal-deep);transition:width .25s var(--ease)}
.nav-links a:hover{color:var(--teal-deep)}
.nav-links a.active{color:var(--teal-deep)}
.nav-links a.active::after{width:100%}
.nav-right{display:flex;align-items:center;gap:18px}
.lang-toggle{display:flex;align-items:center;font-family:var(--geo);font-weight:600;font-size:13px;letter-spacing:0.08em;border:1px solid rgba(43,123,118,0.18);border-radius:var(--radius);overflow:hidden}
.lang-toggle button{background:transparent;border:none;cursor:pointer;padding:7px 13px;color:var(--grey-text);font:inherit;transition:all .2s var(--ease)}
.lang-toggle button.active{background:var(--teal-deep);color:var(--white)}
.hamburger{display:none;background:none;border:none;cursor:pointer;width:34px;height:34px;flex-direction:column;justify-content:center;gap:6px}
.hamburger span{display:block;height:2px;width:26px;background:var(--black);border-radius:0;transition:all .3s var(--ease)}
.hamburger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:99;background:rgba(245,245,240,0.97);backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}
.mobile-menu.open{opacity:1;pointer-events:auto}
.mobile-menu a{font-family:var(--serif);font-size:32px;color:var(--black);font-weight:400}
.mobile-menu a.active{color:var(--teal-deep)}

/* ============================================================
   HERO — full-bleed image + overlay + glass card
   ============================================================ */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.hero-bg{
  position:absolute;inset:-8% 0;z-index:0;
  background:url('assets/img/hero-recepcio.jpg') center/cover no-repeat;
  will-change:transform;
}
.hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(135deg, rgba(34,48,53,0.86) 0%, rgba(43,123,118,0.48) 100%),
    linear-gradient(0deg, rgba(34,48,53,0.35) 0%, transparent 45%);
}
.hero .container{position:relative;z-index:2;width:100%}
.hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:60px;align-items:center;padding:120px 0 70px}
.hero-content{max-width:640px}
.hero-kicker{color:rgba(164,194,196,0.92);letter-spacing:0.3em;font-size:12px}
.hero-headline{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(48px,6.6vw,86px);line-height:1.0;letter-spacing:-0.02em;
  color:var(--white);margin:24px 0 0;
  opacity:0;animation:bseFadeUp .8s var(--ease) .12s both;
}
@keyframes bseFadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.hero-sub{font-family:var(--sans);font-weight:300;font-size:clamp(17px,1.5vw,20px);color:rgba(255,255,255,0.74);max-width:520px;margin:28px 0 36px}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap}
.hero-stats{display:flex;align-items:center;gap:26px;margin-top:44px;flex-wrap:wrap}
.hero-stats .divider{width:100%;height:1px;background:rgba(255,255,255,0.18);margin-bottom:4px}
.hero-stats .stat{font-family:var(--geo);font-weight:300;font-size:14px;letter-spacing:0.04em;color:rgba(255,255,255,0.66)}
.hero-stats .stat b{font-weight:600;color:var(--white);font-size:17px;letter-spacing:0.02em}

/* glass card over photo */
.hero-glass{
  background:rgba(255,255,255,0.08);
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  border:1px solid rgba(255,255,255,0.18);
  border-radius:var(--radius);
  box-shadow:0 8px 32px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.22);
  padding:42px 40px;
}
.hero-glass .kicker{color:rgba(164,194,196,0.95);margin-bottom:26px}
.hg-item{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid rgba(255,255,255,0.14)}
.hg-item:last-child{border-bottom:none;padding-bottom:4px}
.hg-item .hg-name{font-family:var(--geo);font-weight:700;font-size:clamp(19px,2vw,23px);letter-spacing:0.05em;text-transform:uppercase;color:var(--white)}
.hg-item .hg-desc{font-family:var(--sans);font-weight:300;font-size:13px;color:rgba(255,255,255,0.6);margin-top:5px}
.hg-dot{width:8px;height:8px;border-radius:0;background:var(--teal-mid);box-shadow:0 0 0 4px rgba(91,158,160,0.18);flex-shrink:0;margin-left:18px}

/* ============================================================
   SECTION SCAFFOLD
   ============================================================ */
.section{padding:120px 0}
.section-head{max-width:680px;margin-bottom:58px}
.section-head .kicker{margin-bottom:18px}
.section-head .lead{margin-top:20px}

/* services preview cards */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.s-card{padding:42px 36px;display:flex;flex-direction:column;gap:16px}
.s-card .s-ico{width:50px;height:50px;border-radius:0;display:flex;align-items:center;justify-content:center;background:rgba(43,123,118,0.10);border:1px solid rgba(43,123,118,0.16);margin-bottom:6px}
.s-card h3{font-family:var(--serif);font-weight:500;font-size:26px;color:var(--black);line-height:1.12}
.s-card p{font-size:16px;flex:1}
.s-card .kicker{flex:0}
.s-card .arrow-link{margin-top:6px}

/* ============================================================
   BRAND VOICE (dark teal)
   ============================================================ */
.voice{background:var(--teal-deep);color:var(--white);text-align:center;padding:128px 0;position:relative;overflow:hidden}
.voice::before{content:'';position:absolute;inset:0;background:radial-gradient(60vw 60vw at 80% -10%, rgba(255,255,255,0.10), transparent 60%);pointer-events:none}
.voice blockquote{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(32px,4.6vw,54px);line-height:1.16;max-width:18ch;margin:0 auto;position:relative}
.voice .voice-sub{font-family:var(--geo);font-weight:300;font-size:clamp(16px,1.6vw,19px);letter-spacing:0.04em;margin-top:34px;color:rgba(255,255,255,0.82);position:relative}

/* ============================================================
   ABOUT / TEAM TEASER (split: dark text | full-bleed photo)
   ============================================================ */
.about-split{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.about-text{background:var(--charcoal);color:var(--white);display:flex;flex-direction:column;justify-content:center;padding:90px clamp(40px,6vw,96px)}
.about-text .accent{width:54px;height:3px;background:var(--teal-mid);margin-bottom:30px}
.about-text .kicker{color:var(--teal-pale);margin-bottom:22px}
.about-text blockquote{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.2vw,40px);line-height:1.22;color:var(--white)}
.about-text p{font-family:var(--sans);font-weight:300;font-size:17px;color:rgba(255,255,255,0.7);margin-top:26px;max-width:46ch}
.about-text .btn{margin-top:38px;align-self:flex-start}
.about-photo{background:url('assets/img/about-despatx.jpg') center/cover no-repeat;position:relative}
.about-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg, rgba(34,48,53,0.30), transparent 60%)}

/* ============================================================
   WHY BSE — watermark numbers
   ============================================================ */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.principle{
  position:relative;overflow:hidden;
  padding:46px 40px 40px;
  background:rgba(43,123,118,0.05);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(43,123,118,0.12);
  border-left:4px solid var(--teal-deep);
  border-radius:var(--radius);
  box-shadow:0 4px 24px rgba(43,123,118,0.06), inset 0 1px 0 rgba(255,255,255,0.8);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.principle:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(43,123,118,0.12)}
.principle .watermark{position:absolute;top:-30px;right:18px;font-family:var(--geo);font-weight:900;font-size:120px;line-height:1;color:rgba(43,123,118,0.10);pointer-events:none}
.principle h3{font-family:var(--geo);font-weight:700;font-size:25px;color:var(--black);margin-bottom:14px;letter-spacing:0.01em;position:relative}
.principle p{font-size:16px;position:relative;max-width:42ch}

/* ============================================================
   CLOSING CTA
   ============================================================ */
.cta-strip{text-align:center;padding:118px 0}
.cta-strip h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4.4vw,54px);color:var(--black);line-height:1.08;max-width:20ch;margin:0 auto 34px;letter-spacing:-0.015em}

/* ============================================================
   PAGE HERO (inner pages)
   ============================================================ */
.page-hero{padding:172px 0 40px}
.page-hero .kicker{margin-bottom:20px}
.page-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(44px,5.8vw,72px);line-height:1.02;letter-spacing:-0.02em;color:var(--black)}
.page-hero p{margin-top:22px;max-width:52ch}

/* ============================================================
   SERVEIS — alternating blocks
   ============================================================ */
.svc-block{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:82px 0;border-top:1px solid rgba(43,123,118,0.15)}
.svc-block.flip .svc-text{order:2}
.svc-block.flip .svc-visual{order:1}
.svc-text .kicker{margin-bottom:18px}
.svc-text h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4vw,48px);color:var(--black);line-height:1.06;margin-bottom:22px;letter-spacing:-0.015em}
.svc-text p{margin-bottom:20px;font-size:17px}
.svc-list{margin:24px 0 28px;display:grid;gap:12px}
.svc-list li{position:relative;padding-left:26px;font-size:16px;color:var(--charcoal)}
.svc-list li::before{content:'';position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:0;background:var(--teal-mid)}
.svc-visual{min-height:380px;border-radius:var(--radius);display:flex;align-items:flex-end;padding:44px;position:relative;overflow:hidden;color:#fff;background-size:cover;background-position:center;background-repeat:no-repeat}
.svc-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg, rgba(34,48,53,0.78) 0%, rgba(43,123,118,0.42) 100%)}
.svc-visual .vinner{position:relative;z-index:1}
.svc-visual .big-num{font-family:var(--serif);font-weight:400;font-size:clamp(64px,8vw,104px);line-height:1;color:rgba(255,255,255,0.92);letter-spacing:-0.04em}
.svc-visual .vlabel{display:block;font-family:var(--geo);font-weight:600;font-size:13px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.85);margin-top:10px}
.svc-v1{background:url('https://images.unsplash.com/photo-1450101499163-c8848c66ca85?auto=format&fit=crop&w=960&q=80') center/cover}
.svc-v2{background:url('https://images.unsplash.com/photo-1554224155-6726b3ff858f?auto=format&fit=crop&w=960&q=80') center/cover}
.svc-v3{background:url('https://images.unsplash.com/photo-1507679799987-c73779587ccf?auto=format&fit=crop&w=960&q=80') center/cover}

.cta-card{text-align:center;padding:76px 50px;margin-top:40px}
.cta-card h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.8vw,48px);color:var(--black);margin-bottom:26px;letter-spacing:-0.015em}

/* ============================================================
   EQUIP — team grid with photos
   ============================================================ */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.member{padding:18px 18px 34px;text-align:center}
.member .photo{width:100%;aspect-ratio:1/1;border-radius:0;overflow:hidden;margin-bottom:24px}
.member .photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.member:hover .photo img{transform:scale(1.05)}
/* Siluetes provisionals (fins que hi hagi fotos reals): el SVG és transparent, el to el posa la targeta */
.member .photo-silueta{background:var(--teal-deep)}
.member:nth-child(2) .photo-silueta{background:var(--teal-mid)}
.member:nth-child(3) .photo-silueta{background:var(--teal-logo)}
.member h3{font-family:var(--geo);font-weight:700;font-size:21px;color:var(--black)}
.member .role{font-size:14.5px;color:var(--teal-deep);font-weight:500;margin:6px 0 14px}
.member p{font-size:15.5px;padding:0 14px}
.values-block{text-align:center;max-width:800px;margin:96px auto 0}
.values-block p{font-family:var(--serif);font-weight:400;font-size:clamp(25px,3vw,33px);line-height:1.3;color:var(--charcoal)}

/* ============================================================
   BLOG with images
   ============================================================ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post{overflow:hidden;display:flex;flex-direction:column}
.post .thumb{width:100%;height:200px;overflow:hidden}
.post .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.post:hover .thumb img{transform:scale(1.06)}
.post .body{padding:28px 30px 32px;display:flex;flex-direction:column;gap:13px;flex:1}
.post .date{font-family:var(--geo);font-weight:500;font-size:12.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--teal-deep)}
.post h3{font-family:var(--serif);font-weight:500;font-size:22px;color:var(--black);line-height:1.16}
.post p{font-size:15.5px;flex:1}

/* ============================================================
   CONTACTE
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:54px;margin-top:20px}
.contact-info{display:flex;flex-direction:column;gap:24px}
.cinfo{display:flex;align-items:flex-start;gap:16px}
.cinfo svg{flex-shrink:0;margin-top:3px}
.cinfo .clabel{font-family:var(--geo);font-weight:600;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--teal-deep);display:block;margin-bottom:3px}
.cinfo .cval{font-size:17px;color:var(--charcoal)}
.contact-tag{font-family:var(--geo);font-weight:300;font-size:18px;color:var(--grey-text);margin-top:14px;line-height:1.5}
.contact-action{padding:50px 44px;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.contact-action h3{font-family:var(--serif);font-weight:400;font-size:28px;color:var(--black)}
.contact-action .meta{font-size:15px;color:var(--grey-text)}
.contact-action .meta b{color:var(--charcoal);font-weight:500}
.map-placeholder{margin-top:64px;border-radius:var(--radius);height:320px;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;background:url('https://images.unsplash.com/photo-1583422409516-2895a77efded?auto=format&fit=crop&w=1600&q=80') center/cover}
.map-placeholder::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg, rgba(34,48,53,0.62), rgba(43,123,118,0.5))}
.map-placeholder > div{position:relative;z-index:1}
.map-placeholder .maddr{font-family:var(--geo);font-weight:500;font-size:15px;letter-spacing:0.14em;text-transform:uppercase;color:#fff}
.map-placeholder .mnote{font-family:var(--sans);font-size:14px;color:rgba(255,255,255,0.78);margin-top:8px;letter-spacing:0}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--charcoal);color:rgba(255,255,255,0.72);padding:72px 0 38px;border-top:1px solid rgba(255,255,255,0.08)}
.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px}
.site-footer .f-logo img{width:160px;opacity:0.95}
.site-footer .f-tag{font-family:var(--geo);font-weight:300;font-size:15px;margin-top:18px;max-width:32ch;line-height:1.55}
.f-social{display:flex;gap:12px;margin-top:24px}
.f-social a{width:42px;height:42px;border-radius:0;border:1px solid rgba(255,255,255,0.18);display:flex;align-items:center;justify-content:center;transition:all .25s var(--ease)}
.f-social a:hover{background:var(--teal-deep);border-color:var(--teal-deep);transform:translateY(-2px)}
.fcol h4{font-family:var(--geo);font-weight:600;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--teal-pale);margin-bottom:18px}
.fcol a,.fcol p{display:block;font-family:var(--geo);font-weight:400;font-size:14.5px;color:rgba(255,255,255,0.72);margin-bottom:10px;transition:color .2s var(--ease)}
.fcol a:hover{color:var(--white)}
.fcol a.f-address{line-height:1.55}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);margin-top:52px;padding-top:26px;font-size:13px;color:rgba(255,255,255,0.4);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-bottom .f-legal a{color:inherit;transition:color .2s var(--ease)}
.footer-bottom .f-legal a:hover{color:rgba(255,255,255,0.85)}

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
/* Animaciones de entrada por CSS (se reproducen al cargar / al mostrarse, sin
   depender de JavaScript). El contenido queda visible SIEMPRE. */
.reveal{animation:bseFadeUp .75s var(--ease) both}
.reveal.in-view{opacity:1;transform:none}   /* compat. si el JS añade .in-view */
@media (prefers-reduced-motion:reduce){
  .reveal{animation:none}
  html{scroll-behavior:auto}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .hero-glass{max-width:520px}
  .cards-3,.team-grid,.blog-grid{grid-template-columns:repeat(2,1fr)}
  .about-split{grid-template-columns:1fr}
  .about-photo{min-height:340px;order:-1}
}
@media(max-width:768px){
  .container{padding:0 24px}
  .nav-inner{padding:0 24px;height:68px}
  .nav-logo img{width:148px}
  .nav-links{display:none}
  .nav-right .btn{display:none}
  .hamburger{display:flex}
  .section{padding:78px 0}
  .cards-3,.team-grid,.blog-grid,.why-grid,.footer-inner{grid-template-columns:1fr}
  .svc-block,.svc-block.flip{grid-template-columns:1fr;gap:34px}
  .svc-block.flip .svc-text{order:1}
  .svc-block.flip .svc-visual{order:2}
  .svc-visual{min-height:240px;padding:34px}
  .contact-grid{grid-template-columns:1fr;gap:34px}
  .hero-grid{padding:110px 0 60px}
}
@media(max-width:420px){
  .container{padding:0 18px}
  .hero-glass{padding:32px 28px}
  .btn{padding:13px 26px}
}

/* ============================================================
   PÁGINAS LEGALES — prosa (el reset .bse anula márgenes/viñetas)
   ============================================================ */
.bse .legal-text{max-width:760px;padding-bottom:40px}
.bse .legal-text .legal-updated{font-family:var(--geo);font-size:13px;letter-spacing:0.06em;text-transform:uppercase;color:var(--grey-text);margin-bottom:34px}
.bse .legal-text h2{font-family:var(--serif);font-weight:500;font-size:26px;line-height:1.15;color:var(--black);margin:44px 0 14px}
.bse .legal-text h3{font-family:var(--geo);font-weight:600;font-size:17px;color:var(--teal-deep);margin:28px 0 10px}
.bse .legal-text p{font-size:16px;line-height:1.75;color:var(--charcoal);margin-bottom:14px}
.bse .legal-text ul{list-style:disc;padding-left:22px;margin-bottom:16px}
.bse .legal-text li{font-size:16px;line-height:1.75;color:var(--charcoal);margin-bottom:8px}
.bse .legal-text a{color:var(--teal-deep);text-decoration:underline;text-underline-offset:3px}
.bse .legal-text a:hover{color:var(--teal-mid)}
.bse .legal-text strong{font-weight:600;color:var(--black)}

/* ------------------------------------------------------------
   RENDIMIENTO MÓVIL — evitar crash del renderizador por GPU
   ------------------------------------------------------------
   El `backdrop-filter:blur()` es muy costoso en GPU. En la nav FIJA obliga a
   re-desenfocar todo lo que pasa por detrás en CADA frame de scroll; con varias
   capas de cristal más, en móviles con poca memoria el renderizador se queda
   sin memoria (pantalla "No se puede abrir esta página"). En pantallas pequeñas
   el desenfoque es casi imperceptible, así que se sustituye por fondos sólidos
   equivalentes. (El parallax del hero se desactiva en theme.js por lo mismo.) */
@media(max-width:768px){
  .nav{background:#F5F5F0;backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav.scrolled{background:#F5F5F0}
  .mobile-menu{background:#F5F5F0;backdrop-filter:none;-webkit-backdrop-filter:none}
  .glass-light,.principle,.aud-inner{background:rgba(240,246,245,0.94);backdrop-filter:none;-webkit-backdrop-filter:none}
  .hero-glass{background:rgba(34,48,53,0.55);backdrop-filter:none;-webkit-backdrop-filter:none}
  .hero-badge,.btn-ghost{backdrop-filter:none;-webkit-backdrop-filter:none}

  /* Orbes decorativos: `filter:blur(60-80px)` sobre círculos de 440-760px
     obliga a la GPU a mantener texturas gigantes (círculo + 3× el radio del
     blur por lado, × densidad 3x de pantalla) durante TODA la sesión —
     .bg-depth es fijo y está en todas las páginas. Era la causa restante del
     crash del renderizador. El radial-gradient ya se difumina solo (13% →
     transparente), así que sin blur el aspecto es prácticamente idéntico. */
  .bg-depth::before,.bg-depth::after,
  .has-orbs::before,.has-orbs::after{filter:none}

  /* Animaciones infinitas: el pulso del badge anima box-shadow (repintado
     por frame, para siempre) y la tarjeta flotante mantiene el compositor
     activo. En móvil se desactivan; el resto de animaciones (entrada) solo
     corren una vez y no se tocan. */
  .hero-badge .dot{animation:none}
  .hero-glass{animation:none}

  /* Sin parallax en móvil (theme.js), el will-change solo reserva una capa
     de GPU a pantalla completa para nada. Liberarla. */
  .hero-bg{will-change:auto}
}

/* ============================================================
   REVEAL VARIANTS (richer motion)
   ============================================================ */
@keyframes bseFadeLeft{from{opacity:0;transform:translateX(-34px)}to{opacity:1;transform:none}}
@keyframes bseFadeRight{from{opacity:0;transform:translateX(34px)}to{opacity:1;transform:none}}
@keyframes bseFadeScale{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
.reveal-left{animation:bseFadeLeft .75s var(--ease) both}
.reveal-right{animation:bseFadeRight .75s var(--ease) both}
.reveal-scale{animation:bseFadeScale .7s var(--ease) both}
.reveal-left.in-view,.reveal-right.in-view,.reveal-scale.in-view{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal-left,.reveal-right,.reveal-scale{animation:none}
}

/* ============================================================
   HERO — trust badge + animated glass card
   ============================================================ */
.hero-badge{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;padding:8px 16px;
  background:rgba(255,255,255,0.10);border:1px solid rgba(255,255,255,0.22);backdrop-filter:blur(8px);
  font-family:var(--geo);font-weight:400;font-size:13px;letter-spacing:0.04em;color:rgba(255,255,255,0.9)}
.hero-badge .dot{width:8px;height:8px;border-radius:50%;background:#6fd08a;box-shadow:0 0 0 0 rgba(111,208,138,0.6);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(111,208,138,0.55)}70%{box-shadow:0 0 0 10px rgba(111,208,138,0)}100%{box-shadow:0 0 0 0 rgba(111,208,138,0)}}
.hero-glass{animation:floatcard 6s ease-in-out infinite}
@keyframes floatcard{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media (prefers-reduced-motion:reduce){.hero-glass{animation:none}.hero-badge .dot{animation:none}}

/* ============================================================
   AUDIENCE SELECTOR (Particulars · Autònoms · Empreses)
   ============================================================ */
.aud-tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:34px 0 40px}
.aud-tab{font-family:var(--geo);font-weight:500;font-size:15px;letter-spacing:0.02em;padding:14px 30px;cursor:pointer;
  background:rgba(43,123,118,0.05);border:1px solid rgba(43,123,118,0.16);color:var(--charcoal);
  transition:all .28s var(--ease)}
.aud-tab:hover{background:rgba(43,123,118,0.10)}
.aud-tab.active{background:var(--teal-deep);border-color:var(--teal-deep);color:#fff;box-shadow:0 10px 26px rgba(43,123,118,0.22)}
.aud-panel{display:none}
.aud-panel.active{display:block;animation:fadeUp .5s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.aud-inner{display:grid;grid-template-columns:0.9fr 1.1fr;gap:48px;align-items:center;
  background:rgba(43,123,118,0.05);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(43,123,118,0.12);padding:54px clamp(34px,4vw,60px);
  box-shadow:0 4px 24px rgba(43,123,118,0.06), inset 0 1px 0 rgba(255,255,255,0.8)}
.aud-inner h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.4vw,40px);color:var(--black);line-height:1.08;margin-bottom:18px;letter-spacing:-0.015em}
.aud-inner p{font-size:16.5px;margin-bottom:24px;max-width:42ch}
.aud-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 24px}
.aud-list li{position:relative;padding-left:28px;font-size:15.5px;color:var(--charcoal)}
.aud-list li::before{content:'';position:absolute;left:0;top:7px;width:14px;height:14px;
  background:var(--teal-deep);clip-path:polygon(43% 78%, 11% 47%, 22% 36%, 43% 56%, 79% 22%, 89% 33%)}
.aud-inner .btn{margin-top:28px}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:8px}
.tst-card{padding:38px 34px;display:flex;flex-direction:column;gap:20px}
.tst-stars{display:flex;gap:3px;color:#e9b84a}
.tst-quote{font-family:var(--serif);font-style:italic;font-weight:400;font-size:19px;line-height:1.45;color:var(--charcoal);flex:1}
.tst-author{display:flex;align-items:center;gap:14px;margin-top:6px}
.tst-avatar{width:46px;height:46px;border-radius:50%;background:var(--teal-deep);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--geo);font-weight:600;font-size:16px;flex-shrink:0}
.tst-name{font-family:var(--geo);font-weight:600;font-size:15px;color:var(--black)}
.tst-comp{font-size:13.5px;color:var(--teal-deep)}

/* ============================================================
   CONTACT FORM
   ============================================================ */
.contact-form{padding:46px 40px;display:flex;flex-direction:column;gap:18px}
.contact-form h3{font-family:var(--serif);font-weight:400;font-size:28px;color:var(--black);margin-bottom:4px}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-family:var(--geo);font-weight:500;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-deep)}
.field input,.field select,.field textarea{font-family:var(--sans);font-size:16px;color:var(--charcoal);
  padding:13px 15px;background:rgba(255,255,255,0.7);border:1px solid rgba(43,123,118,0.22);border-radius:0;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal-deep);box-shadow:0 0 0 3px rgba(43,123,118,0.12)}
.field textarea{resize:vertical;min-height:110px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-note{font-size:13px;color:var(--grey-text);margin-top:2px}
.form-ok{background:rgba(43,123,118,0.08);border:1px solid rgba(43,123,118,0.2);padding:16px 18px;font-size:15px;color:var(--teal-deep);display:none}
.form-ok.show{display:block;animation:fadeUp .4s var(--ease)}

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.faq-wrap{max-width:820px;margin:8px auto 0}
.faq-item{border-bottom:1px solid rgba(43,123,118,0.18)}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;
  font-family:var(--geo);font-weight:600;font-size:18px;color:var(--black);
  padding:26px 44px 26px 0;position:relative;display:flex}
.faq-q::after{content:'';position:absolute;right:6px;top:50%;width:13px;height:13px;
  border-right:2px solid var(--teal-deep);border-bottom:2px solid var(--teal-deep);
  transform:translateY(-65%) rotate(45deg);transition:transform .3s var(--ease)}
.faq-item.open .faq-q::after{transform:translateY(-35%) rotate(-135deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq-a p{font-size:16px;color:var(--grey-text);padding:0 30px 26px 0;line-height:1.6}

/* hero slogan */
.hero-slogan{font-family:var(--geo);font-weight:500;font-size:clamp(17px,1.7vw,21px);
  color:#fff;letter-spacing:0.01em;margin:22px 0 0;max-width:560px;line-height:1.4}

/* services selector cards */
.svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:8px}
.svc-card{position:relative;aspect-ratio:1/1;border:none;cursor:pointer;color:#fff;text-align:left;
  padding:34px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;border-radius:0;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),filter .3s var(--ease)}
.svc-card .svc-card-num{position:absolute;top:26px;right:28px;font-family:var(--geo);font-weight:800;font-size:46px;opacity:.22;line-height:1}
.svc-card .svc-card-k{font-family:var(--geo);font-weight:600;font-size:12px;letter-spacing:0.2em;text-transform:uppercase;opacity:.85}
.svc-card h3{font-family:var(--geo);font-weight:700;font-size:clamp(22px,2.3vw,30px);line-height:1.05}
.svc-card p{font-size:14.5px;opacity:.92;line-height:1.42}
.svc-card[data-svc="emp"]{background:var(--teal-deep)}
.svc-card[data-svc="auto"]{background:var(--teal-mid)}
.svc-card[data-svc="part"]{background:var(--teal-logo)}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(34,48,53,0.18)}
.svc-card.active{outline:3px solid var(--charcoal);outline-offset:5px;transform:translateY(-4px)}
.svc-card:not(.active){filter:saturate(.9) brightness(.97)}

/* services tab panels (alternating text + image blocks) */
.svc-panel{display:none}
.svc-panel.active{display:block;animation:fadeUp .5s var(--ease)}

/* google maps embed */
.contact-map{width:100%;height:300px;border:0;display:block;margin-top:6px;filter:grayscale(.15) contrast(1.02)}
.map-embed{width:100%;height:360px;border:0;display:block;margin-top:64px;filter:grayscale(.15) contrast(1.02)}

/* compact values (equip) */
.values-compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:16px;margin-top:6px}
.val-chip{background:rgba(43,123,118,0.05);border:1px solid rgba(43,123,118,0.12);border-top:3px solid var(--teal-deep);padding:22px 20px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.val-chip:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(43,123,118,0.10)}
.val-chip .vn{font-family:var(--geo);font-weight:700;font-size:12px;color:var(--teal-deep);letter-spacing:.12em}
.val-chip h3{font-family:var(--geo);font-weight:700;font-size:17px;color:var(--black);margin:8px 0 6px}
.val-chip p{font-size:13.5px;line-height:1.42}

/* Google rating block */
.g-rating{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px;
  background:rgba(255,255,255,0.6);border:1px solid rgba(43,123,118,0.16);padding:12px 20px}
.g-logo{flex-shrink:0}
.g-score{font-family:var(--geo);font-weight:700;font-size:22px;color:var(--black)}
.g-stars{color:#e9b84a;font-size:18px;letter-spacing:2px}
.g-count{font-family:var(--geo);font-size:14px;color:var(--grey-text)}
.g-cta{text-align:center;margin-top:44px}

@media(max-width:1024px){
  .aud-inner{grid-template-columns:1fr;gap:30px}
  .tst-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .tst-grid{grid-template-columns:1fr}
  .aud-list{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
  .svc-cards{grid-template-columns:1fr}
  .svc-card{aspect-ratio:auto;min-height:170px}
}

/* ============================================================
   PUENTE BLOQUES WP (FASE 2)
   El bloque Navigation de core adopta el estilo .nav-links del diseño.
   ============================================================ */
.nav-links ul.wp-block-navigation__container{gap:34px;align-items:center}
.nav-links .wp-block-navigation-item__content{
  font-family:var(--geo);font-weight:500;font-size:15px;
  color:var(--black);letter-spacing:0.02em;padding:4px 0;
}
.nav-links .wp-block-navigation-item__content:hover{color:var(--teal-deep)}
.nav-links .current-menu-item > .wp-block-navigation-item__content,
.nav-links .current_page_item > .wp-block-navigation-item__content{color:var(--teal-deep)}
.nav .nav-cta{margin-left:4px}

/* La nav es fixed: las plantillas de página (Fase 4) añaden el padding-top
   superior. En páginas heredadas de Twenty Twenty-Five el header se solapa
   con el contenido — es esperado hasta la Fase 4. */

/* ============================================================
   ADMIN BAR — la barra de WordPress (usuarios logueados) no debe
   tapar la nav fija. Solo afecta a admins; el visitante público
   no tiene admin bar, así que ve la nav pegada arriba (top:0).
   ============================================================ */
.admin-bar .nav{top:32px}
@media screen and (max-width:782px){.admin-bar .nav{top:46px}}

/* ============================================================
   FASE 3 — ajustes de integración con bloques
   ============================================================ */
/* En el editor de bloques no corre theme.js: los elementos .reveal
   deben verse siempre (en el front siguen animando con scroll). */
.editor-styles-wrapper .reveal,
.editor-styles-wrapper .reveal-left,
.editor-styles-wrapper .reveal-right,
.editor-styles-wrapper .reveal-scale{opacity:1 !important;transform:none !important}

/* El bloque Cita de core envuelve el texto en <p>: debe heredar el
   estilo grande del blockquote del diseño, no el de .about-text p. */
.about-text blockquote p{font:inherit;color:inherit;margin:0;max-width:none}

/* ============================================================
   ESPACIADO VERTICAL ENTRE BLOQUES (FASE 3 — fix)
   El layout "flow" de Gutenberg impone un block-gap uniforme que pisa
   los márgenes de elemento del diseño. Los re-afirmamos con el prefijo
   .bse (mayor especificidad) para que ganen al motor de bloques.
   ============================================================ */
.bse .hero-headline{margin-top:24px}
.bse .hero-slogan{margin-top:22px}
.bse .hero-sub{margin:28px 0 36px}
.bse .hero-stats{margin-top:44px}
.bse .section-head{margin-bottom:58px}
.bse .g-rating{margin-top:22px}
.bse .tst-grid{margin-top:8px}
.bse .g-cta{margin-top:44px}
.bse .cta-card{margin-top:40px}
.bse .values-compact{margin-top:6px}
.bse .values-block{margin-top:96px}
.bse .map-embed{margin-top:64px}
.bse .faq-wrap{margin-top:8px}
.bse .svc-list{margin:24px 0 28px}
/* el layout flex de bloques pone gap:0 y pisa el del diseño en la barra */
.bse .nav-inner{gap:24px}
.bse .nav-right{gap:18px}

/* ============================================================
   ACCESIBILIDAD (FASE 5)
   ============================================================ */
.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;
  background:var(--teal-deep);color:#fff;padding:10px 18px;
  font-family:var(--geo);font-weight:600;font-size:14px;border-radius:0}
.skip-link:focus{left:8px;top:8px}
/* foco visible para navegación por teclado */
:where(a,button,input,select,textarea,.svc-card,.faq-q,.aud-tab):focus-visible{
  outline:2px solid var(--teal-deep);outline-offset:3px}
/* el contingut principal necessita scroll-margin perquè el skip-link/àncores
   no quedin sota la nav fixa */
#bse-main{scroll-margin-top:90px}

/* ============================================================
   CONTACT FORM 7 (FASE 4) — adoptar el estilo del formulario del diseño
   ============================================================ */
.contact-form{padding:46px 40px;display:flex;flex-direction:column;gap:18px}
.contact-form > h3{margin-bottom:4px}
.contact-form .wpcf7-form{display:flex;flex-direction:column;gap:18px}
.contact-form .wpcf7-form > p{margin:0}            /* CF7 a veces envuelve en <p> */
.contact-form .wpcf7-form br{display:none}
.wpcf7-form-control-wrap{display:block}
/* el botón de envío adopta .btn .btn-primary .btn-lg vía class: en el shortcode */
.contact-form .wpcf7-submit{width:100%;justify-content:center}
.contact-form .wpcf7-spinner{margin:6px auto 0;display:block}
/* mensajes de validación / respuesta */
.wpcf7-not-valid-tip{color:#c0392b;font-size:12.5px;margin-top:5px;font-family:var(--sans)}
.wpcf7 form .wpcf7-response-output{margin:4px 0 0;padding:14px 16px;border-radius:0;font-family:var(--sans);font-size:14px;line-height:1.5}
.wpcf7 form.sent .wpcf7-response-output{background:rgba(43,123,118,0.08);border:1px solid rgba(43,123,118,0.25);color:var(--teal-deep)}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output{background:rgba(192,57,43,0.06);border:1px solid rgba(192,57,43,0.3);color:#c0392b}

/* ============================================================
   POLYLANG — selector d'idioma amb l'estil del toggle CA/ES del disseny
   ============================================================ */
.lang-toggle{display:inline-flex;align-self:center;align-items:stretch;border:1px solid rgba(43,123,118,0.25);border-radius:var(--radius);overflow:hidden;line-height:1}
.lang-toggle ul{display:flex;align-items:stretch;list-style:none;margin:0;padding:0}
.lang-toggle li{margin:0;display:flex}
.lang-toggle a{display:flex;align-items:center;padding:6px 11px;font-family:var(--geo);font-weight:600;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:var(--grey-text);background:transparent;transition:all .2s var(--ease);white-space:nowrap}
.lang-toggle a:hover{color:var(--teal-deep);background:rgba(43,123,118,0.06)}
.lang-toggle .current-lang > a,
.lang-toggle li.current-lang a{background:var(--teal-deep);color:#fff}
.lang-toggle img,.lang-toggle .flag{display:none}      /* sin bandera, solo texto */
.lang-toggle .pll-switcher-title{display:none}
