
:root{
  /* Colores */
  --ob-azul:#007FA3; --ob-azul-oscuro:#005E7C; --ob-azul-claro:#E6F4F8;
  --ob-negro:#000; --ob-carbon:#1A1A1A;
  --ob-pistacho:#C4D600; --ob-pistacho-oscuro:#ADBF00; --ob-pistacho-texto:#323800;
  --ob-vino:#8C3B4A; --ob-vino-oscuro:#74303D;
  --ob-blanco:#fff; --ob-gris:#5b5b5b; --ob-borde:rgba(0,0,0,.10);

  /* Tipografías */
  --ob-font-tit:'Bitter',Georgia,serif;
  --ob-font-txt:'Inter',Helvetica,Arial,sans-serif;
  --ob-font-head:'Bitter',Georgia,serif;

  /* Geometría no fluida (no necesita escalar) */
  --ob-radio:10px; --ob-radio-lg:16px;


  /* Container: 1180px en portátil estándar (1366-1920px), crece a partir
     de ~1600px viewport, tope 2400px para 4K. */
  --ob-ancho:clamp(1180px, 78vw, 2400px);
  --ob-pad-h:clamp(16px, 1.6vw, 36px);   /* padding lateral del container */

  /* Spacing fluido (gaps entre elementos) */
  --ob-gap-xs:clamp(6px,  0.5vw, 12px);
  --ob-gap-sm:clamp(10px, 0.9vw, 18px);
  --ob-gap:   clamp(18px, 1.6vw, 36px);   /* el "gap" base — ANTES era 24px */
  --ob-gap-lg:clamp(28px, 2.4vw, 56px);

  /* Padding vertical de secciones (los "respiros" entre bloques) */
  --ob-pad-sec:clamp(48px, 5.2vw, 130px); /* ANTES era 72px */

  /* Padding interno de cards / cajas */
  --ob-pad-card:clamp(18px, 1.6vw, 36px);
  --ob-pad-card-lg:clamp(24px, 2vw, 44px);

  /* Tipografía fluida secundaria. h1/h2 ya son fluidos (en sus reglas). */
  --ob-fz-base:clamp(15px,  0.30vw + 14px,  19px);  /* body */
  --ob-fz-sm:  clamp(13px,  0.20vw + 12px,  16px);  /* leyendas / metas */
  --ob-fz-h3:  clamp(1.15rem, 0.55vw + 1rem,  1.7rem);
  --ob-fz-h4:  clamp(1rem,    0.30vw + 0.9rem, 1.35rem);
}

*{box-sizing:border-box;}
body{margin:0;font-family:var(--ob-font-txt);color:var(--ob-carbon);line-height:1.7;background:var(--ob-blanco);font-size:var(--ob-fz-base);}
img{max-width:100%;height:auto;display:block;}
h1,h2,h3,h4{font-family:var(--ob-font-head);font-weight:800;line-height:1.15;color:var(--ob-carbon);margin:0 0 .5em;}
h1{font-size:clamp(2rem,5vw,3.5rem);}
h2{font-size:clamp(1.6rem,3.2vw + .4rem,2.8rem);}
h3{font-size:var(--ob-fz-h3);}
h4{font-size:var(--ob-fz-h4);}
p{margin:0 0 1rem;}
a{color:var(--ob-azul);text-decoration:none;} a:hover{color:var(--ob-azul-oscuro);}
.container{max-width:var(--ob-ancho);margin-inline:auto;padding-inline:var(--ob-pad-h);}
.skip-link{position:absolute;left:-9999px;} .skip-link:focus{left:8px;top:8px;background:#fff;padding:8px 14px;z-index:200;border-radius:8px;}

/* Botones */
.ob-btn{font-family:var(--ob-font-tit);font-weight:700;display:inline-block;padding:clamp(10px, 0.7vw, 16px) clamp(18px, 1.3vw, 30px);border-radius:3px;border:2px solid transparent;cursor:pointer;transition:.15s ease;font-size:clamp(.95rem, 0.2vw + 0.9rem, 1.15rem);line-height:1.2;}
.ob-btn--primario{background:var(--ob-pistacho);color:var(--ob-pistacho-texto);}
.ob-btn--primario:hover{background:var(--ob-pistacho-oscuro);color:var(--ob-pistacho-texto);}
.ob-btn--secundario{background:transparent;color:var(--ob-azul-oscuro);border-color:var(--ob-azul-oscuro);}
.ob-btn--secundario:hover{background:var(--ob-azul);color:#fff;}
.ob-btn--lab{background:var(--ob-vino);color:#fff;} .ob-btn--lab:hover{background:var(--ob-vino-oscuro);color:#fff;}
.ob-btn--blanco{background:#fff;color:var(--ob-azul);} .ob-btn--blanco:hover{background:var(--ob-azul-claro);color:var(--ob-azul);}
.ob-btn--azul{background:var(--ob-azul);color:#fff;} .ob-btn--azul:hover{background:var(--ob-azul-oscuro);color:#fff;}

/* Tags */
.ob-tag{font-family:var(--ob-font-txt);font-weight:500;font-size:.78rem;display:inline-block;padding:4px 12px;border-radius:999px;background:var(--ob-azul-claro);color:#08465C;}
.ob-tag--pistacho{background:#F2F7CC;color:var(--ob-pistacho-texto);}

/* Cards y grids */
.ob-card{background:#fff;border:1px solid var(--ob-borde);border-radius:var(--ob-radio-lg);padding:var(--ob-pad-card);}
.ob-grid{display:grid;gap:var(--ob-gap);}
.ob-grid--3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.ob-grid--4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
/* Salas: 3 por fila (2 en tablet, 1 en móvil), misma altura, botón abajo */
.ob-grid--salas{align-items:stretch;grid-template-columns:repeat(3,1fr);}
@media(max-width:900px){.ob-grid--salas{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.ob-grid--salas{grid-template-columns:1fr;}}
.ob-grid--salas>.ob-card{height:100%;display:flex;flex-direction:column;}
.ob-grid--salas>.ob-card .ob-prices{margin-top:auto;}
.ob-grid--salas>.ob-card .obs-reserva,
.ob-grid--salas>.ob-card .obs-nolibre{margin-top:12px;}

/* Secciones */
.ob-seccion{padding:var(--ob-pad-sec) 0;}
.ob-seccion--claro{background:var(--ob-azul-claro);}
.ob-seccion--azul{background:var(--ob-azul);color:#fff;}
.ob-seccion--lab{background:var(--ob-vino);color:#fff;}
.ob-seccion--azul :is(h1,h2,h3),.ob-seccion--lab :is(h1,h2,h3){color:#fff;}
.ob-seccion__head{max-width:680px;margin:0 auto 36px;text-align:center;}
.ob-seccion__head h2::after{content:"";display:block;width:56px;height:4px;background:var(--ob-pistacho);border-radius:2px;margin:14px auto 16px;}
.ob-seccion__head p{color:var(--ob-gris);}
.ob-seccion--azul .ob-seccion__head p,.ob-seccion--lab .ob-seccion__head p{color:#fff;}
.ob-head--azul h2{color:var(--ob-azul);}
.ob-head--line h2::after{content:"";display:block;width:56px;height:4px;background:var(--ob-pistacho);border-radius:2px;margin:14px auto 0;}

/* Cifras */
.ob-cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--ob-gap);text-align:center;}
.ob-cifra__num{font-family:var(--ob-font-tit);font-weight:800;font-size:clamp(2rem, 2vw + 1rem, 4.2rem);color:var(--ob-azul);line-height:1;}
.ob-cifra__txt{font-size:.95rem;color:var(--ob-gris);}

/* Foto placeholder (sustituir por imágenes reales) */
.ob-photo{background:var(--ob-azul-claro);border-radius:var(--ob-radio-lg);min-height:clamp(140px, 14vw, 280px);display:flex;align-items:center;justify-content:center;color:#08465C;font-size:.85rem;text-align:center;padding:12px;}
.ob-photo--lab{background:#F6E7EB;color:var(--ob-vino-oscuro);}
.ob-gallery{grid-template-columns:repeat(4,1fr);gap:16px;}
.ob-gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--ob-radio-lg);display:block;}
.ob-lab-fotos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--ob-radio-lg);display:block;}
@media(max-width:980px){.ob-gallery{grid-template-columns:repeat(2,1fr);}}
/* Galería de aulas ("Espacios luminosos"): carrusel de fotos 1 a la vista en móvil */
@media(max-width:600px){
  .ob-gallery{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:88%;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:var(--ob-pad-h);
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    padding:0 0 14px;
    margin-inline:calc(-1 * var(--ob-pad-h));
    padding-inline:var(--ob-pad-h);
    scrollbar-width:none;
  }
  .ob-gallery::-webkit-scrollbar{display:none;}
  .ob-gallery img{scroll-snap-align:start;aspect-ratio:4/3;}
}

/* Hero */
.ob-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--ob-gap-lg);align-items:center;}
.ob-hero__photo{min-height:clamp(260px, 24vw, 520px);}

/* Cuota Flex destacada */
.ob-flex{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:var(--ob-gap-lg);align-items:center;border:8px solid var(--ob-azul);border-left:0;border-radius:0;padding:var(--ob-pad-card-lg) var(--ob-pad-card-lg) var(--ob-pad-card-lg) calc(var(--ob-pad-card-lg) + 8px);background:linear-gradient(to right,transparent 8px,#fff 8px);}
.ob-flex::before,.ob-flex::after{content:"";position:absolute;left:0;width:8px;background:var(--ob-azul);}
.ob-flex::before{top:0;height:33%;border-radius:0 0 8px 8px;}
.ob-flex::after{bottom:0;height:33%;border-radius:8px 8px 0 0;}

/* Áreas / equipo / testimonios / centros / tienda */
.ob-area h3{margin-bottom:6px;} .ob-area p{color:var(--ob-gris);font-size:.95rem;margin-bottom:10px;}
.ob-area__link{font-weight:700;font-family:var(--ob-font-tit);}
.ob-areas .ob-seccion__head{text-align:center;max-width:640px;margin-left:auto;margin-right:auto;}
.ob-areas .ob-seccion__head h2{color:#fff;}
.ob-areas .ob-seccion__head h2::after{content:"";display:block;width:56px;height:4px;background:var(--ob-pistacho);border-radius:2px;margin:14px auto 0;}
.ob-areas .ob-seccion__head p{color:#fff;}
.ob-areas .ob-area h3{color:var(--ob-carbon);}
.ob-areas .ob-area p{color:var(--ob-gris);}
.ob-areas .ob-area__link{color:var(--ob-azul);}
.ob-areas .ob-card{position:relative;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
.ob-areas .ob-card:hover{transform:translateY(-3px);border-color:var(--ob-pistacho);box-shadow:0 14px 30px rgba(0,0,0,.12);}
.ob-area>*{position:relative;z-index:1;}
.ob-area::after{content:"";position:absolute;right:-34px;bottom:-34px;width:140px;height:140px;z-index:0;background:var(--ob-azul-claro);-webkit-mask:url(../img/favicon-outbox.png) center/contain no-repeat;mask:url(../img/favicon-outbox.png) center/contain no-repeat;transform:rotate(-8deg);pointer-events:none;}
.ob-area__num{display:inline-flex;margin-bottom:8px;}
.ob-area__num span{position:relative;font-family:var(--ob-font-tit);font-weight:800;font-size:1.5rem;color:var(--ob-pistacho);}
.ob-grid--areas{grid-template-columns:repeat(3,1fr);gap:var(--ob-gap);}
.ob-areas{padding:clamp(40px, 4vw, 100px) 0;}
.ob-areas .ob-seccion__head{margin-bottom:34px;}
.ob-areas .ob-card{padding:clamp(14px, 1.2vw, 28px) clamp(16px, 1.4vw, 32px);}

.ob-areas2__head{text-align:center;max-width:680px;margin:0 auto;}
.ob-areas2__eyebrow{display:none;color:var(--ob-pistacho);font-family:var(--ob-font-tit);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;margin-bottom:6px;}
.ob-areas2__head h2{color:#fff;}
.ob-areas2__head h2::after{content:"";display:block;width:56px;height:4px;background:var(--ob-pistacho);border-radius:2px;margin:14px auto 0;}
.ob-areas2__head p{color:rgba(255,255,255,.9);margin:14px auto 0;}

.ob-areas2__stage{position:relative;max-width:1060px;margin:10px auto 0;min-height:720px;}
.ob-areas2__center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(200px,20vw,250px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);}
.ob-areas2__center img{width:62%;height:auto;opacity:.92;}

.ob-area2--n1{--t:21%;--l:30%;} .ob-area2--n2{--t:16%;--l:69%;}
.ob-area2--n3{--t:55%;--l:81%;margin-top:-25px;} .ob-area2--n4{--t:52%;--l:19%;}
.ob-area2--n5{--t:82%;--l:43%;} .ob-area2--n6{--t:79%;--l:63%;}
/* Nodo anclado por la FOTO (colocada en la elipse); el texto va al lado. */
.ob-area2{position:absolute;top:var(--t);left:var(--l);width:0;height:0;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;}
.ob-area2:hover .ob-area2__photo{transform:scale(1.04);}
.ob-area2:hover .ob-area2__tit{color:var(--ob-pistacho);}

.ob-area2__media{position:absolute;top:0;left:0;transform:translate(-50%,-50%);width:162px;height:162px;}
.ob-area2__photo{display:block;width:100%;height:100%;border-radius:50%;background:#0e6e96 center/cover no-repeat;border:4px solid rgba(255,255,255,.9);box-shadow:0 14px 34px rgba(0,0,0,.3);transition:transform .2s ease;}
.ob-area2__icon{position:absolute;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;border:4px solid #fff;box-shadow:0 6px 16px rgba(0,0,0,.3);}
.ob-area2__icon svg{width:27px;height:27px;}
/* Cada badge en una posición distinta alrededor de su foto (asimétrico). */
.ob-area2--n1 .ob-area2__icon{right:2px;bottom:8px;}
.ob-area2--n2 .ob-area2__icon{left:-8px;top:52%;transform:translateY(-50%);}
.ob-area2--n3 .ob-area2__icon{left:6px;bottom:0;}
.ob-area2--n4 .ob-area2__icon{right:4px;top:6px;}
.ob-area2--n5 .ob-area2__icon{left:50%;bottom:-8px;transform:translateX(-50%);}
.ob-area2--n6 .ob-area2__icon{right:-8px;top:50%;transform:translateY(-50%);}
.ob-area2__icon--azul{background:rgba(0,127,163,.85);}
.ob-area2__icon--verde{background:rgba(95,158,47,.85);}

.ob-area2__text{position:absolute;top:0;transform:translateY(-50%);width:186px;display:flex;flex-direction:column;}
.ob-area2--right .ob-area2__text{left:102px;align-items:flex-start;text-align:left;}
.ob-area2--left  .ob-area2__text{right:102px;align-items:flex-end;text-align:right;}
.ob-area2__num{font-family:var(--ob-font-tit);font-weight:800;font-size:2.1rem;line-height:1;color:var(--ob-pistacho);}
.ob-area2__tit{display:block;font-family:var(--ob-font-tit);font-weight:800;color:#fff;font-size:1.3rem;line-height:1.15;margin:6px 0 0;transition:color .15s ease;}
.ob-area2__tit::after{content:"";display:block;width:42px;height:3px;border-radius:2px;background:var(--ob-pistacho);margin:9px 0 0;}
.ob-area2--left .ob-area2__tit::after{margin-left:auto;}
.ob-area2__desc{color:rgba(255,255,255,.85);font-size:1rem;line-height:1.45;margin-top:10px;}

.ob-areas2__foot{text-align:center;margin-top:36px;}
.ob-areas2__heart{display:inline-flex;color:var(--ob-pistacho);}
.ob-areas2__heart svg{width:34px;height:34px;}
.ob-areas2__foot h3{color:#fff;margin:0 0 4px;}
.ob-areas2__foot p{color:rgba(255,255,255,.8);margin:0;}

@media(max-width:1000px){
  .ob-areas2__stage{position:static;min-height:0;display:grid;grid-template-columns:repeat(3,1fr);gap:34px 20px;margin-top:10px;}
  .ob-areas2__center{display:none;}
  .ob-area2{position:static;width:auto;height:auto;display:flex;flex-direction:column;align-items:center;}
  .ob-area2--n3{margin-top:0;}
  .ob-area2__media{position:relative;transform:none;margin:0 auto;}
  .ob-area2__text,.ob-area2--right .ob-area2__text,.ob-area2--left .ob-area2__text{position:static;transform:none;left:auto;right:auto;width:auto;align-items:center;text-align:center;margin-top:12px;}
  .ob-area2--left .ob-area2__tit::after{margin-left:auto;margin-right:auto;}
  .ob-area2 .ob-area2__icon{left:auto;right:10px;top:auto;bottom:12px;transform:none;}
}
@media(max-width:720px){ .ob-areas2__stage{grid-template-columns:repeat(2,1fr);} }
@media(max-width:460px){ .ob-areas2__stage{grid-template-columns:1fr;} }
.ob-areas .ob-area h3{font-size:1.1rem;margin-bottom:4px;}
.ob-areas .ob-area p{font-size:.9rem;margin-bottom:8px;}
.ob-areas .ob-area__link{font-size:.9rem;}
.ob-areas .ob-area__num{margin-bottom:4px;}
.ob-areas .ob-area__num span{font-size:1.4rem;}
.ob-areas .ob-area::after{width:115px;height:115px;right:-28px;bottom:-28px;}
@media(max-width:900px){.ob-grid--areas{grid-template-columns:repeat(2,1fr);}}
/* "Nuestras áreas": carrusel de 2 filas (una arriba, una abajo) en móvil */
@media(max-width:600px){
  .ob-grid--areas{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-template-rows:repeat(2,1fr);
    grid-auto-columns:86%;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:var(--ob-pad-h);
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    padding:4px 2px 14px;
    margin-inline:calc(-1 * var(--ob-pad-h));
    padding-inline:var(--ob-pad-h);
    scrollbar-width:none;
  }
  .ob-grid--areas::-webkit-scrollbar{display:none;}
  .ob-grid--areas>.ob-card{scroll-snap-align:start;}
}

/* Secciones de 3 piezas (Paquetes, Dos centros, fotos de Lab): carrusel en
   todo el rango táctil (≤980) para no dejar la 3ª pieza huérfana a media fila.
   El nº de piezas visibles se adapta al ancho (1 en móvil, ~2 en tablet). */
@media(max-width:980px){
  .ob-packs-grid,
  .ob-home-centros,
  .ob-lab-fotos{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:clamp(260px, 78vw, 340px);
    gap:16px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:var(--ob-pad-h);
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    padding-block:4px 14px;
    margin-inline:calc(-1 * var(--ob-pad-h));
    padding-inline:var(--ob-pad-h);
    scrollbar-width:none;
  }
  .ob-packs-grid::-webkit-scrollbar,
  .ob-home-centros::-webkit-scrollbar,
  .ob-lab-fotos::-webkit-scrollbar{display:none;}
  .ob-packs-grid>*,
  .ob-home-centros>*,
  .ob-lab-fotos>*{scroll-snap-align:start;}
}
.ob-equipo__card{text-align:center;}
.ob-avatar{width:84px;height:84px;border-radius:50%;background:var(--ob-azul-claro);margin:0 auto 12px;display:flex;align-items:center;justify-content:center;color:#08465C;font-family:var(--ob-font-tit);font-weight:800;font-size:1.4rem;}
.ob-equipo__esp{color:var(--ob-azul);font-weight:700;font-size:.85rem;font-family:var(--ob-font-tit);}
.ob-equipo-grid{grid-template-columns:repeat(3,1fr);gap:16px;}
.ob-equipo-grid .ob-equipo__card{display:flex;flex-direction:column;justify-content:center;min-height:180px;}
@media(max-width:600px){.ob-equipo-grid{grid-template-columns:repeat(2,1fr);}}
.ob-centro h3{margin-bottom:4px;} .ob-centro ul{padding-left:18px;color:var(--ob-gris);font-size:.95rem;}
.ob-precio{font-family:var(--ob-font-tit);font-weight:800;color:var(--ob-azul);font-size:1.5rem;}
.ob-pack{position:relative;border:8px solid var(--ob-azul);border-left:0;border-radius:0;padding:var(--ob-pad-card-lg) var(--ob-pad-card-lg) var(--ob-pad-card-lg) calc(var(--ob-pad-card-lg) + 8px);background:linear-gradient(to right,transparent 8px,#fff 8px);}
.ob-pack::before,.ob-pack::after{content:"";position:absolute;left:0;width:8px;background:var(--ob-azul);}
.ob-pack::before{top:0;height:33%;border-radius:0 0 8px 8px;}
.ob-pack::after{bottom:0;height:33%;border-radius:8px 8px 0 0;}

.ob-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--ob-borde);}
.ob-header__row{display:flex;align-items:center;gap:clamp(16px, 1.6vw, 36px);min-height:clamp(82px, 6vw, 130px);}
.ob-header__logo img,.ob-header__logo .custom-logo{height:clamp(60px, 4.6vw, 108px);width:auto;display:block;}
.ob-nav{display:flex;margin-left:auto;}
.ob-menu{list-style:none;display:flex;align-items:center;gap:clamp(14px, 1.4vw, 32px);margin:0;padding:0;}
.ob-menu a{font-family:var(--ob-font-txt);font-weight:500;font-size:clamp(.92rem, 0.2vw + 0.85rem, 1.1rem);color:var(--ob-carbon);display:inline-flex;align-items:center;gap:4px;}
.ob-menu a:hover{color:var(--ob-azul);}
.ob-menu>.menu-item:not(.menu-item-has-children)>a{position:relative;}
.ob-menu>.menu-item:not(.menu-item-has-children)>a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--ob-pistacho);transform:scaleX(0);transform-origin:left;transition:transform .2s ease;}
.ob-menu>.menu-item:not(.menu-item-has-children)>a:hover::after{transform:scaleX(1);}
.ob-menu .menu-item{position:relative;}
.ob-menu .menu-item-has-children>a::after{content:"\25BE";font-size:.85em;color:var(--ob-pistacho);margin-left:3px;}
.ob-menu .sub-menu{list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:0;min-width:250px;background:#fff;border:1px solid var(--ob-borde);border-radius:var(--ob-radio);box-shadow:0 14px 34px rgba(0,0,0,.10);display:none;flex-direction:column;gap:2px;}
@media(hover:hover) and (pointer:fine){.ob-menu .menu-item:hover>.sub-menu{display:flex;}}
.ob-menu .sub-menu a{padding:9px 12px;border-radius:8px;font-weight:500;display:block;}
.ob-menu .sub-menu a:hover{background:var(--ob-azul-claro);color:var(--ob-azul);}
.ob-menu .menu-item--lab>a{color:var(--ob-vino);}
.ob-menu .menu-item--lab .sub-menu a:hover{background:#F6E7EB;color:var(--ob-vino);}
.ob-header__cta{display:flex;align-items:center;gap:14px;}
.ob-header__cart{position:relative;display:inline-flex;align-items:center;justify-content:center;color:var(--ob-carbon);transition:color .15s ease;margin-right:5px;}
.ob-header__cart svg{width:24px;height:24px;display:block;}
.ob-header__cart:hover{color:var(--ob-azul);}
.ob-header__cart-count{position:absolute;top:-7px;right:-9px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--ob-pistacho);color:var(--ob-negro);font-family:var(--ob-font-tit);font-size:.72rem;font-weight:800;line-height:18px;text-align:center;box-sizing:border-box;}
.ob-header__cart-count.is-empty{display:none;}
.ob-burger{display:none;background:none;border:none;cursor:pointer;font-size:1.7rem;color:var(--ob-carbon);line-height:1;padding:0 4px;}

.ob-header--overlay{position:fixed;top:0;left:0;right:0;background:transparent;border-bottom:0;transition:background .25s ease,box-shadow .25s ease;}
.ob-header--overlay .ob-menu a,.ob-header--overlay .ob-burger{color:#fff;}
.ob-header--overlay .ob-menu a:hover{color:var(--ob-azul-claro);}
.ob-header--overlay .ob-menu .sub-menu a{color:var(--ob-carbon);}
.ob-header--overlay .ob-menu .sub-menu a:hover{color:var(--ob-azul);}
.ob-header--overlay .ob-menu .menu-item--lab .sub-menu a:hover{color:var(--ob-vino);}
.ob-header--overlay .ob-header__logo img{filter:brightness(0) invert(1);}
.ob-header--overlay.is-stuck{background:#fff;border-bottom:1px solid var(--ob-borde);box-shadow:0 2px 16px rgba(0,0,0,.06);}
.ob-header--overlay.is-stuck .ob-menu a,.ob-header--overlay.is-stuck .ob-burger{color:var(--ob-carbon);}
.ob-header--overlay.is-stuck .ob-menu a:hover{color:var(--ob-azul);}
.ob-header--overlay.is-stuck .ob-menu .menu-item--lab>a{color:var(--ob-vino);}
.ob-header--overlay.is-stuck .ob-header__logo img{filter:none;}
.ob-logo{display:block;}
.ob-header--overlay .ob-logo--color{display:none;}
.ob-header--overlay.is-stuck .ob-logo--light{display:none;}
.ob-header--overlay.is-stuck .ob-logo--color{display:block;}
body.admin-bar .ob-header--overlay{top:32px;}

.ob-hero-bg{position:relative;display:flex;align-items:center;min-height:90vh;color:#fff;background:#06536a top/cover no-repeat;overflow:hidden;}
.ob-hero-bg--placeholder{background:linear-gradient(120deg,#007FA3 0%,#005E7C 100%);}
.ob-hero-bg__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:0;}
.ob-hero-bg::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,rgba(2,34,46,.60) 0%,rgba(2,34,46,.34) 42%,rgba(2,34,46,.12) 72%,transparent 100%);}
.ob-hero-bg__inner{position:relative;z-index:2;width:100%;padding:clamp(80px, 8vw, 200px) var(--ob-pad-h) clamp(48px, 5vw, 120px);}
.ob-hero-bg h1{color:#fff;font-size:clamp(2.2rem,6vw,4.4rem);margin:.4rem 0 1rem;max-width:clamp(420px, 50vw, 920px);}
.ob-hero-bg p{color:rgba(255,255,255,.92);font-size:clamp(1rem, 0.4vw + 0.95rem, 1.4rem);max-width:clamp(380px, 40vw, 720px);}
.ob-hero-bg__cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px;}
.ob-hero-bg__list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:11px;max-width:760px;}
.ob-hero-bg__list li{position:relative;padding-left:28px;font-size:.95rem;color:rgba(255,255,255,.94);}
.ob-hero-bg__list li::before{content:"";position:absolute;left:0;top:.5em;width:14px;height:14px;background:var(--ob-pistacho);border-radius:3px;}
.ob-hero-bg__ask{display:inline-block;margin-top:18px;font-family:var(--ob-font-tit);font-weight:800;font-size:clamp(1.2rem, 0.6vw + 1rem, 1.9rem);color:#fff;}
@media(max-width:820px){.ob-hero-bg::before{background:linear-gradient(180deg,rgba(2,34,46,.48),rgba(2,34,46,.66));}}

/* Cuadrados de marca decorativos en el hero (mientras no haya foto) */
.ob-hero-box{position:absolute;z-index:1;aspect-ratio:1;pointer-events:none;-webkit-mask:url(../img/favicon-outbox.png) center/contain no-repeat;mask:url(../img/favicon-outbox.png) center/contain no-repeat;}
.ob-hero-box--1{width:min(48vh,380px);top:-50px;right:-80px;background:var(--ob-pistacho);opacity:.5;transform:rotate(14deg);animation:ob-boxfloat-a 17s ease-in-out infinite;}
.ob-hero-box--2{width:min(26vh,200px);bottom:-44px;left:-50px;background:#fff;opacity:.38;transform:rotate(-12deg);animation:ob-boxfloat-b 21s ease-in-out infinite;}
@keyframes ob-boxfloat-a{0%,100%{transform:translate(0,0) rotate(14deg);}50%{transform:translate(-12px,16px) rotate(18deg);}}
@keyframes ob-boxfloat-b{0%,100%{transform:translate(0,0) rotate(-12deg);}50%{transform:translate(14px,-14px) rotate(-16deg);}}
@media (prefers-reduced-motion:reduce){.ob-hero-box{animation:none;}}

@media screen and (max-width:782px){
  body.admin-bar .ob-header--overlay{top:46px;}
}

.ob-wa-float{position:fixed;bottom:22px;z-index:60;
  right:max(22px, calc((100vw - var(--ob-ancho)) / 2 + 22px));}
.ob-wa-float__btn{width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,.22);cursor:pointer;}
.ob-wa-float__panel{position:absolute;right:0;bottom:76px;width:300px;
  background:#fff;border:1px solid var(--ob-borde);border-radius:14px;
  box-shadow:0 16px 36px rgba(0,0,0,.18);padding:10px;display:none;}
.ob-wa-float.is-open .ob-wa-float__panel{display:block;}
.ob-wa-float__panel h5{margin:8px 12px 6px;font-family:var(--ob-font-tit);font-weight:700;
  font-size:.85rem;color:var(--ob-gris);line-height:1.3;}
.ob-wa-float__item{display:flex;align-items:center;gap:12px;padding:10px 12px;
  border-radius:10px;color:var(--ob-carbon);}
.ob-wa-float__item:hover{background:var(--ob-azul-claro);color:var(--ob-carbon);}
.ob-wa-float__item .ob-wa-ic{color:#25D366;flex:0 0 auto;}
.ob-wa-float__txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.ob-wa-float__nombre{font-family:var(--ob-font-tit);font-weight:700;font-size:.98rem;
  color:var(--ob-carbon);line-height:1.25;}
.ob-wa-float__sub{font-size:.78rem;color:var(--ob-gris);font-weight:400;line-height:1.2;}

.ob-footer{background:var(--ob-azul);color:#fff;}
/* 4 columnas: marca + Cursos + Outbox Lab + Centros */
.ob-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:var(--ob-gap-lg);padding-block:clamp(40px, 4vw, 90px) clamp(28px, 2.8vw, 56px);}
.ob-footer__logo img{height:clamp(80px, 6vw, 150px);width:auto;margin-bottom:clamp(10px, 1vw, 22px);}
.ob-footer__brand{margin-top:0;}
.ob-footer__brand p{margin-top:clamp(14px, 1.3vw, 28px);line-height:1.8;max-width:clamp(280px, 26vw, 480px);}
.ob-footer p{font-size:clamp(.88rem, 0.18vw + 0.82rem, 1.08rem);opacity:1;}
.ob-footer h3{color:#fff;font-family:var(--ob-font-tit);font-weight:700;font-size:clamp(1rem, 0.25vw + 0.95rem, 1.25rem);margin:0 0 clamp(10px, 0.8vw, 20px);}
.ob-footer ul{list-style:none;padding:0;margin:0;line-height:2.1;font-size:clamp(.92rem, 0.18vw + 0.86rem, 1.1rem);}
.ob-footer a{color:#fff;opacity:1;} .ob-footer a:hover{opacity:1;text-decoration:underline;}
.ob-footer__bottom{border-top:1px solid rgba(255,255,255,.22);padding-block:clamp(14px, 1.2vw, 26px);font-size:clamp(.8rem, 0.15vw + 0.76rem, 0.98rem);opacity:1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 24px;}
.ob-footer__bottom span:last-child{text-align:right;}
@media(max-width:760px){.ob-footer__bottom{grid-template-columns:1fr;text-align:center;}.ob-footer__bottom span:last-child{text-align:center;}}
.ob-footer__social{display:flex;align-items:center;gap:16px;justify-content:flex-start;margin-top:18px;}
.ob-footer__social a{display:inline-flex;opacity:.9;}
.ob-footer__social a:hover{opacity:1;color:var(--ob-pistacho);text-decoration:none;}
.ob-footer__social svg{display:block;width:22px;height:22px;}
@media(max-width:980px){.ob-footer__social{justify-content:center;}}

/* Fajín de colaboradores (home) */
.ob-colab{background:#fff;padding:clamp(26px,3vw,46px) 0;overflow:hidden;}
.ob-colab__titulo{text-align:center;margin:0 0 clamp(16px,1.8vw,28px);font-family:var(--ob-font-tit);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;color:var(--ob-azul-oscuro);opacity:1;}
.ob-colab__marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.ob-colab__track{display:flex;width:max-content;animation:obColabScroll 25s linear infinite;}
.ob-colab__slot{flex:0 0 calc(100vw / 5);display:flex;align-items:center;justify-content:center;padding:0 clamp(6px,1vw,16px);}
.ob-colab__link{display:inline-flex;align-items:center;justify-content:center;line-height:0;text-decoration:none;}
.ob-colab__logo{height:clamp(56px,5.5vw,82px);width:auto;max-width:100%;object-fit:contain;filter:grayscale(1);opacity:.55;transition:opacity .2s ease,filter .2s ease;display:inline-flex;align-items:center;}
.ob-colab__logo svg{height:100%;width:auto;display:block;}
.ob-colab__logo:hover{filter:grayscale(0);opacity:1;}
.ob-colab__marquee:hover .ob-colab__track{animation-play-state:paused;}
@keyframes obColabScroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:760px){.ob-colab__slot{flex-basis:calc(100vw / 3);}}
@media(max-width:480px){.ob-colab__slot{flex-basis:calc(100vw / 2);}}
@media(prefers-reduced-motion:reduce){.ob-colab__track{animation:none;}}

/* Arte y Pintura (dentro de Outbox Lab) */
.ob-arte__intro{position:relative;overflow:hidden;}
.ob-arte__intro .container{position:relative;z-index:1;}
.ob-arte__garabatos{position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);width:min(1080px,94%);max-width:none;height:auto;opacity:.16;pointer-events:none;user-select:none;z-index:0;}
.ob-arte__expo{background:var(--ob-azul-claro);}
.ob-arte__expo-head{text-align:center;max-width:760px;margin:0 auto clamp(26px,3vw,46px);}
.ob-arte__expo-head .ob-lead{font-family:var(--ob-font-tit);font-weight:700;font-style:italic;color:var(--ob-azul);margin:.4em 0;}
.ob-arte__galeria{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:clamp(22px,3vw,46px);}
.ob-arte__obra{margin:0;max-width:100%;}
.ob-arte__obra img{display:block;max-width:100%;max-height:430px;width:auto;height:auto;border-radius:6px;box-shadow:0 18px 44px rgba(0,0,0,.18);}
.ob-arte__obra figcaption{margin-top:12px;text-align:center;}
.ob-arte__obra figcaption strong{display:block;font-family:var(--ob-font-tit);color:var(--ob-carbon);}
.ob-arte__obra figcaption span{font-size:.86rem;color:var(--ob-gris);}
.ob-arte__expo-pie{text-align:center;color:var(--ob-gris);font-style:italic;margin:clamp(22px,2.4vw,38px) 0 0;}
@media(max-width:560px){.ob-arte__obra img{max-height:340px;}}

/* Trayectoria (frase que sustituye al bloque de cifras en la home) */
.ob-trayectoria{max-width:820px;margin:0 auto;text-align:center;font-family:var(--ob-font-tit);font-weight:700;font-size:clamp(1.15rem,0.7vw + 1rem,1.7rem);line-height:1.55;color:var(--ob-carbon);}
.ob-trayectoria strong{color:var(--ob-azul);font-weight:800;}
.ob-trayectoria__guino{display:block;margin-top:8px;font-size:.72em;font-weight:600;font-style:italic;color:var(--ob-azul-oscuro);opacity:1;}

/* Outbox Cloud (bloque destacado de la home) */
.ob-cloud{background:linear-gradient(135deg,#063045 0%,var(--ob-azul-oscuro) 58%,#0a4a63 100%);color:#fff;position:relative;overflow:hidden;}
.ob-cloud .container{position:relative;z-index:1;}
.ob-cloud .ob-tag{background:var(--ob-pistacho);color:var(--ob-pistacho-texto);}
.ob-cloud__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,4vw,64px);align-items:center;padding:clamp(48px,5vw,92px) 0;}
.ob-cloud h2{color:#fff;font-size:clamp(1.6rem,1.4vw + 1.2rem,2.4rem);line-height:1.15;margin:.45em 0 .5em;}
.ob-cloud p{color:rgba(255,255,255,.9);font-size:clamp(1rem,0.3vw + .95rem,1.15rem);max-width:560px;margin:0;}
.ob-cloud__feats{list-style:none;margin:20px 0 28px;padding:0;display:grid;gap:11px;}
.ob-cloud__feats li{position:relative;padding-left:30px;color:rgba(255,255,255,.95);}
.ob-cloud__feats li::before{content:"";position:absolute;left:0;top:3px;width:17px;height:17px;background:var(--ob-pistacho);-webkit-mask:url(../img/favicon-outbox.png) center/contain no-repeat;mask:url(../img/favicon-outbox.png) center/contain no-repeat;}
.ob-cloud__cta{display:flex;flex-wrap:wrap;gap:12px;}
.ob-cloud__visual{display:flex;justify-content:center;}
.ob-cloud__player{width:min(620px,100%);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:16px;box-shadow:0 30px 64px rgba(0,0,0,.4);}
.ob-cloud__screen{position:relative;aspect-ratio:16/9;border-radius:12px;background:linear-gradient(135deg,#0a4a63,#0e6e96);display:flex;align-items:center;justify-content:center;overflow:hidden;}
/* Vídeo embebido (YouTube/Vimeo/MP4) */
.ob-cloud__embed{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;}
.ob-cloud__embed iframe,.ob-cloud__embed video,.ob-cloud__embed .ob-cloud__video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
.ob-cloud__screen::after{content:"";position:absolute;right:-26px;bottom:-26px;width:130px;height:130px;background:rgba(196,214,0,.16);-webkit-mask:url(../img/favicon-outbox.png) center/contain no-repeat;mask:url(../img/favicon-outbox.png) center/contain no-repeat;transform:rotate(-8deg);}
.ob-cloud__play{position:relative;z-index:1;width:66px;height:66px;border-radius:50%;background:var(--ob-pistacho);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(0,0,0,.35);}
.ob-cloud__play svg{margin-left:4px;}
.ob-cloud__play{transition:transform .18s ease,box-shadow .18s ease;}
.ob-cloud__screen--link{cursor:pointer;text-decoration:none;}
.ob-cloud__screen--link:hover .ob-cloud__play{transform:scale(1.08);box-shadow:0 14px 34px rgba(0,0,0,.45);}
.ob-cloud__screen--link:focus-visible{outline:3px solid var(--ob-pistacho);outline-offset:3px;}
.ob-cloud__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.ob-cloud__chips span{font-size:.8rem;background:rgba(255,255,255,.13);color:#fff;padding:6px 13px;border-radius:999px;}

/* Botón "Saber más" que abre modal (áreas) + modal genérico */
.ob-area__link--btn{background:none;border:0;padding:0;margin:0;font:inherit;cursor:pointer;}
.ob-modal2[hidden]{display:none;}
.ob-modal2{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;}
.ob-modal2__overlay{position:absolute;inset:0;background:rgba(8,30,40,.6);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.ob-modal2__dialog{position:relative;z-index:1;background:#fff;border-radius:16px;max-width:460px;width:100%;padding:clamp(26px,3vw,40px);box-shadow:0 40px 80px rgba(0,0,0,.4);text-align:center;animation:obModalIn .25s ease both;}
@keyframes obModalIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.ob-modal2__dialog h3{margin:.5em 0 .4em;}
.ob-modal2__dialog p{color:var(--ob-gris);margin:0 0 18px;}
.ob-modal2__close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:var(--ob-azul-claro);color:var(--ob-azul);font-size:1.4rem;line-height:1;cursor:pointer;transition:.15s ease;}
.ob-modal2__close:hover{background:var(--ob-azul);color:#fff;transform:rotate(90deg);}
@media(max-width:860px){.ob-cloud__inner{grid-template-columns:1fr;}.ob-cloud__visual{order:-1;}.ob-cloud p{max-width:none;}.ob-cloud__text{text-align:center;}.ob-cloud__feats{display:inline-grid;text-align:left;margin-inline:auto;}.ob-cloud__cta{justify-content:center;}}

/* Evento destacado (página de Eventos) */
.ob-evento-destacado__inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3.5vw,56px);align-items:center;}
.ob-evento-destacado__img{margin:0;border-radius:var(--ob-radio-lg);overflow:hidden;box-shadow:0 18px 44px rgba(0,0,0,.18);}
.ob-evento-destacado__img img{display:block;width:100%;height:auto;}
.ob-evento-destacado h2{margin:.35em 0 .45em;}
.ob-evento-destacado__text .ob-note{margin:6px 0 16px;}
@media(max-width:760px){.ob-evento-destacado__inner{grid-template-columns:1fr;}}

@media(max-width:980px){
  /* Header base (páginas interiores) — barra blanca normal arriba del todo */
  .ob-header:not(.ob-header--overlay):not(.is-floating){
    position:sticky;top:0;background:#fff;border-bottom:1px solid var(--ob-borde);
    margin:0;border-radius:0;box-shadow:none;}
  .ob-header__row{min-height:70px;padding-inline:14px;gap:10px;}
  .ob-header__logo img,.ob-header__logo .custom-logo{height:52px;}

  /* HOME — header overlay transparente arriba (logo blanco, burger blanco) */
  .ob-header--overlay:not(.is-floating){
    position:absolute;top:0;left:0;right:0;
    background:transparent !important;border-bottom:0;box-shadow:none;}
  body.admin-bar .ob-header--overlay:not(.is-floating){top:46px;}
  .ob-header--overlay:not(.is-floating) .ob-header__logo img{filter:brightness(0) invert(1);}
  .ob-header--overlay:not(.is-floating) .ob-logo--color{display:none;}
  .ob-header--overlay:not(.is-floating) .ob-logo--light{display:block;}
  .ob-header--overlay:not(.is-floating) .ob-burger{color:#fff;}

  /* Nav (menú) no ocupa espacio en la barra; el burger queda a la derecha */
  .ob-nav{position:static;margin-left:0;flex:0 0 auto;}
  .ob-header__cta{display:none;}
  .ob-burger{display:block;font-size:1.7rem;margin-left:auto;padding:6px 10px;background:none;border:none;}

  /* Al hacer scroll: SOLO el burger flota como burbuja a la derecha */
  .ob-header.is-floating{
    position:fixed !important;top:14px !important;right:14px !important;
    left:auto !important;bottom:auto !important;
    margin:0 !important;width:54px !important;height:54px !important;
    background:#fff !important;border:1px solid var(--ob-borde) !important;
    border-radius:50% !important;box-shadow:0 12px 30px rgba(0,0,0,.18) !important;
  }
  body.admin-bar .ob-header.is-floating{top:calc(32px + 14px) !important;}
  .ob-header.is-floating .container.ob-header__row{
    min-height:0;height:54px;padding:0;justify-content:center;gap:0;max-width:none;}
  .ob-header.is-floating .ob-header__logo{display:none;}
  .ob-header.is-floating .ob-burger{margin:0;color:var(--ob-carbon);font-size:1.6rem;padding:0;}

  /* Menú panel — anclado a la derecha, debajo del header o de la burbuja */
  .ob-menu{
    display:flex;flex-direction:column;align-items:stretch;
    position:absolute;top:calc(100% + 8px);right:14px;left:auto;
    width:calc(100% - 28px);max-width:340px;
    background:#fff;border:1px solid var(--ob-borde);border-radius:14px;
    padding:8px;gap:0;
    box-shadow:0 16px 36px rgba(0,0,0,.16);
    max-height:calc(100vh - 120px);overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;
    z-index:70;
  }
  .ob-header.is-open .ob-menu{
    opacity:1;visibility:visible;transform:translateY(0);
    transition:opacity .18s ease,transform .18s ease,visibility 0s linear 0s;
  }
  .ob-header.is-floating.is-open .ob-menu{
    position:fixed;top:78px;right:14px;left:auto;
    width:calc(100vw - 28px);max-width:340px;
  }
  body.admin-bar .ob-header.is-floating.is-open .ob-menu{top:calc(32px + 78px);}

  /* Enlaces del menú dentro del panel: siempre carbón sobre blanco (también en home) */
  .ob-header--overlay .ob-menu a{color:var(--ob-carbon);}
  .ob-header--overlay .ob-menu a:hover{color:var(--ob-azul);}

  /* Estilo de cada ítem en el panel */
  .ob-menu>.menu-item{border-bottom:1px solid var(--ob-borde);}
  .ob-menu>.menu-item:last-child{border-bottom:0;}
  .ob-menu>.menu-item>a{padding:14px 12px;font-size:1rem;font-weight:600;color:var(--ob-carbon);}
  .ob-menu>.menu-item>a::after{display:none;} /* sin subrayado pistacho en móvil */

  /* Indicador de submenú: aparece a la derecha del item padre */
  .ob-menu .menu-item-has-children>a{position:relative;}
  .ob-menu .menu-item-has-children>a::after{
    content:"";position:absolute;right:16px;top:50%;
    width:9px;height:9px;border-right:2px solid var(--ob-azul);border-bottom:2px solid var(--ob-azul);
    transform:translateY(-70%) rotate(45deg);
    transition:transform .2s ease;color:transparent;font-size:0;margin:0;
  }
  .ob-menu .menu-item-has-children.is-open>a::after{transform:translateY(-30%) rotate(-135deg);}

  /* Submenús desplegables (con click, gestionados por JS) */
  .ob-menu .sub-menu{
    position:static;display:flex;flex-direction:column;
    background:transparent;border:0;border-radius:0;box-shadow:none;
    padding:0 0 8px 8px;gap:0;min-width:0;
    max-height:0;overflow:hidden;
    transition:max-height .25s ease;
  }
  .ob-menu .menu-item-has-children.is-open>.sub-menu{
    max-height:500px;
  }
  .ob-menu .sub-menu a{padding:11px 12px;font-size:.95rem;color:var(--ob-carbon);}
  .ob-menu .sub-menu a:hover{background:var(--ob-azul-claro);color:var(--ob-azul);}

  /* Evitar scroll del body con menú abierto */
  body.ob-no-scroll{overflow:hidden;}

  /* Bloques 50/50 que colapsan: centramos el contenido textual y el CTA
     para que título, párrafo y botón queden alineados al centro. */
  .ob-hero{grid-template-columns:1fr;text-align:center;}
  .ob-hero .ob-btn{margin-inline:auto;}
  /* Tarjeta de Cambridge: limitamos su ancho para que no quede desmesurada */
  .ob-cambridge{max-width:clamp(280px, 56vw, 460px);margin-inline:auto;}
  .ob-flex{grid-template-columns:1fr;}

  /* Footer en tablet (iPad): marca arriba a lo ancho y centrada,
     los 3 menús debajo en 3 columnas centradas */
  .ob-footer__grid{grid-template-columns:repeat(3,1fr);gap:34px clamp(20px,3vw,44px);text-align:center;}
  .ob-footer__brand{grid-column:1 / -1;}
  .ob-footer__brand .ob-footer__logo{display:flex;justify-content:center;}
  .ob-footer__brand p{margin-left:auto;margin-right:auto;}
}
@media(max-width:560px){
  /* Footer compacto: marca arriba centrada + 2 menús centrados como grupo.
     Más margen lateral y se oculta la columna de Centros. */
  .ob-footer__grid{
    grid-template-columns:auto auto;
    justify-content:center;
    gap:26px 52px;
    padding:40px 26px 30px;
    text-align:center;
  }
  .ob-footer__brand{grid-column:1 / -1;text-align:center;margin-bottom:2px;}
  .ob-footer__brand .ob-footer__logo{display:flex;justify-content:center;}
  .ob-footer__logo img{height:62px;margin-bottom:12px;}
  .ob-footer__brand p{margin:0 auto;max-width:330px;}
  .ob-footer h3{font-size:1.02rem;margin-bottom:8px;}
  .ob-footer ul{line-height:1.95;font-size:.95rem;}
  /* En móvil ocultamos la lista de centros, pero mantenemos los iconos de redes visibles */
  .ob-footer__centros{grid-column:1 / -1;}
  .ob-footer__centros > h3,.ob-footer__centros > ul{display:none;}
  .ob-footer__bottom{padding-inline:26px;}

  .ob-header__row{min-height:64px;padding-inline:12px;}
  .ob-header__logo img,.ob-header__logo .custom-logo{height:46px;}
}

.ob-pagebanner{padding:clamp(40px, 4.5vw, 110px) 0;}
.ob-pagebanner h1{margin:0;}

/* CTA final ("Queremos conocerte") — bloque centrado, separado del footer */
.ob-cta-final .ob-cta-final__box{text-align:center;max-width:clamp(560px, 60vw, 900px);margin:0 auto;}
.ob-cta-final h2{margin:0 0 .4em;}
.ob-cta-final .ob-lead{margin:0 auto clamp(20px, 1.6vw, 32px);color:var(--ob-gris);}
.ob-cta-final__btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}
.ob-lead{font-size:clamp(1rem, 0.4vw + 0.95rem, 1.45rem);max-width:clamp(480px, 50vw, 920px);margin:.6rem 0 0;}
.ob-prose{max-width:clamp(480px, 50vw, 920px);}
.ob-prose p{color:var(--ob-gris);}
.ob-feature{list-style:none;padding:0;margin:0;display:grid;gap:10px;}
.ob-feature li{position:relative;padding-left:28px;}
.ob-feature li::before{content:"\2714";position:absolute;left:0;top:0;color:var(--ob-azul);font-weight:700;}
.ob-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;}
.ob-info__item{background:#fff;border:1px solid var(--ob-borde);border-radius:var(--ob-radio-lg);padding:18px 20px;}
.ob-info__item h3{font-size:1.05rem;margin:0 0 4px;}
.ob-info__item p{margin:0;color:var(--ob-gris);font-size:.95rem;}

/* Bloque "Qué incluye el apoyo" — burbujas limpias sobre fondo claro */
.ob-apoyo{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 24px;max-width:1000px;margin:6px auto 0;}
.ob-apoyo__item{text-align:center;}
.ob-apoyo__bubble{width:78px;height:78px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#fff;box-shadow:0 12px 26px rgba(0,127,163,.18);transition:transform .2s ease;}
.ob-apoyo__bubble svg{width:34px;height:34px;}
.ob-apoyo__item:nth-child(odd) .ob-apoyo__bubble{background:var(--ob-azul);}
.ob-apoyo__item:nth-child(even) .ob-apoyo__bubble{background:#5f9e2f;}
.ob-apoyo__item:hover .ob-apoyo__bubble{transform:translateY(-4px);}
.ob-apoyo__item h3{font-family:var(--ob-font-tit);font-weight:800;font-size:1.12rem;line-height:1.2;margin:0 0 8px;color:var(--ob-carbon);}
.ob-apoyo__item p{margin:0;color:var(--ob-gris);font-size:.98rem;line-height:1.5;}
@media(max-width:900px){ .ob-apoyo{grid-template-columns:repeat(2,1fr);gap:36px 24px;} }
@media(max-width:520px){ .ob-apoyo{grid-template-columns:1fr;} }
.ob-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;}
.ob-pillar{background:var(--ob-azul-claro);border-radius:var(--ob-radio-lg);padding:16px 18px;}
.ob-pillar h3{font-size:1rem;margin:0 0 4px;color:var(--ob-azul);}
.ob-pillar p{margin:0;font-size:.9rem;color:var(--ob-gris);}
.ob-badge{display:inline-block;font-family:var(--ob-font-tit);font-weight:700;font-size:.72rem;background:var(--ob-pistacho);color:var(--ob-pistacho-texto);padding:3px 10px;border-radius:999px;}
.ob-contact{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:1rem;}
.ob-contact a{font-weight:500;}
.ob-horario{list-style:none;padding:0;margin:0;max-width:360px;}
.ob-horario li{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid var(--ob-borde);}
.ob-horario li span{color:var(--ob-gris);}
.ob-horario li b{font-family:var(--ob-font-tit);color:var(--ob-carbon);font-weight:700;}
.ob-note{font-size:.85rem;color:var(--ob-gris);font-style:italic;}
.ob-two{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--ob-gap-lg);align-items:center;}
@media(max-width:820px){
  /* Cuando .ob-two colapsa, centramos el contenido textual y el CTA */
  .ob-two{grid-template-columns:1fr;text-align:center;}
  .ob-two .ob-btn{margin-inline:auto;}
}
.ob-metodo-foto{width:100%;height:auto;border-radius:var(--ob-radio-lg);display:block;}
.ob-flex__img{width:100%;height:auto;border-radius:var(--ob-radio-lg);display:block;object-fit:cover;}
.ob-cambridge{background:#fff;border-radius:var(--ob-radio-lg);min-height:clamp(200px, 18vw, 420px);display:flex;align-items:center;justify-content:center;padding:var(--ob-pad-card-lg);}
.ob-cambridge img{max-width:100%;height:auto;display:block;}
.ob-spacehead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
.ob-spacehead .m2{font-family:var(--ob-font-tit);font-weight:800;color:var(--ob-azul);white-space:nowrap;}
.ob-chip{display:inline-block;font-size:.74rem;background:var(--ob-azul-claro);color:#08465C;padding:3px 9px;border-radius:999px;margin:0 6px 6px 0;}
.ob-prices{display:flex;gap:8px;margin-top:12px;border-top:1px solid var(--ob-borde);padding-top:12px;}
.ob-prices div{flex:1;min-width:0;text-align:center;background:var(--ob-azul-claro);border-radius:8px;padding:8px 4px;}
.ob-prices b{display:block;font-family:var(--ob-font-tit);font-weight:800;color:var(--ob-azul);font-size:1.05rem;}
.ob-prices span{font-size:.68rem;color:var(--ob-gris);}

.ob-shop{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:var(--ob-gap-lg);align-items:stretch;}
/* Mismo remarco "envolvente" que .ob-pack de la home: borde 8px azul con esquinas
   izquierdas abiertas mediante pseudo-elementos. */
.ob-shop__card{position:relative;border:8px solid var(--ob-azul);border-left:0;border-radius:0;
  padding:30px 28px 28px 36px;background:linear-gradient(to right,transparent 8px,#fff 8px);
  display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease;}
.ob-shop__card::before,.ob-shop__card::after{content:"";position:absolute;left:0;width:8px;background:var(--ob-azul);}
.ob-shop__card::before{top:0;height:33%;border-radius:0 0 8px 8px;}
.ob-shop__card::after{bottom:0;height:33%;border-radius:8px 8px 0 0;}
.ob-shop__card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,0,0,.10);}
/* Destacado: mismo remarco pero en pistacho */
.ob-shop__card.is-destacado{border-color:var(--ob-pistacho);background:linear-gradient(to right,transparent 8px,#fff 8px);}
.ob-shop__card.is-destacado::before,.ob-shop__card.is-destacado::after{background:var(--ob-pistacho);}
.ob-shop__card.is-destacado{transform:translateY(-6px);box-shadow:0 18px 40px rgba(196,214,0,.18);}
.ob-shop__card.is-destacado:hover{transform:translateY(-9px);}
.ob-shop__badge{position:absolute;top:-16px;left:50%;transform:translateX(-50%);z-index:2;
  background:var(--ob-pistacho);color:var(--ob-pistacho-texto);font-family:var(--ob-font-tit);font-weight:800;
  font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;padding:6px 16px;border-radius:999px;
  box-shadow:0 4px 12px rgba(196,214,0,.4);}
.ob-shop__title{margin:0 0 6px;font-size:1.3rem;color:var(--ob-azul);}
.ob-shop__lema{margin:0 0 14px;color:var(--ob-gris);font-size:.92rem;}
.ob-shop__precio{font-family:var(--ob-font-tit);font-weight:800;color:var(--ob-carbon);font-size:2rem;margin:6px 0 18px;line-height:1;}
.ob-shop__precio .woocommerce-Price-amount{color:var(--ob-azul);}
.ob-shop__precio .woocommerce-Price-currencySymbol{font-weight:700;}
.ob-shop__feats{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-direction:column;gap:9px;color:var(--ob-carbon);font-size:.95rem;flex:1;}
.ob-shop__feats li{padding-left:26px;position:relative;}
.ob-shop__feats li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;
  border-left:3px solid var(--ob-azul);border-bottom:3px solid var(--ob-azul);transform:rotate(-45deg);}
.ob-shop__card.is-destacado .ob-shop__feats li::before{border-color:var(--ob-pistacho-oscuro);}
.ob-shop__btns{display:flex;flex-direction:column;gap:10px;align-items:stretch;}
.ob-shop__cta{text-align:center;font-size:1.02rem;padding:14px 22px;}
.ob-shop__more{text-align:center;font-size:.88rem;color:var(--ob-gris);}
.ob-shop__more:hover{color:var(--ob-azul);}

/* Avisos de WooCommerce (carrito añadido, etc.) */
.woocommerce-notices-wrapper{max-width:var(--ob-ancho);margin:0 auto;padding:0 var(--ob-pad-h);}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  background:var(--ob-azul-claro);border-left:4px solid var(--ob-azul);color:var(--ob-carbon);
  padding:14px 18px;border-radius:var(--ob-radio);margin:18px 0;list-style:none;}
.woocommerce-message{background:#F2F7CC;border-left-color:var(--ob-pistacho-oscuro);}
.woocommerce-error{background:#fde8ea;border-left-color:#c0392b;}

.ob-prod{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(28px, 3vw, 64px);align-items:start;}
@media(max-width:880px){.ob-prod{grid-template-columns:1fr;gap:var(--ob-gap-lg);}}

.ob-prod__info p{color:var(--ob-gris);font-size:1.02rem;}
.ob-prod__desc{margin-bottom:8px;}
.ob-prod__h2{font-size:1.25rem;margin:24px 0 14px;color:var(--ob-azul);}

.ob-prod__feats{list-style:none;padding:0;margin:0 0 8px;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;}
@media(max-width:540px){.ob-prod__feats{grid-template-columns:1fr;}}
.ob-prod__feats li{padding-left:28px;position:relative;color:var(--ob-carbon);font-size:.96rem;}
.ob-prod__feats li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;
  border-left:3px solid var(--ob-azul);border-bottom:3px solid var(--ob-azul);transform:rotate(-45deg);}

.ob-prod__bloque{background:var(--ob-azul-claro);border-radius:var(--ob-radio-lg);padding:22px 24px;margin-top:26px;}
.ob-prod__bloque .ob-prod__h2{margin-top:0;}
.ob-prod__pasos{list-style:none;counter-reset:obpas;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;}
.ob-prod__pasos li{counter-increment:obpas;padding-left:44px;position:relative;color:var(--ob-carbon);font-size:.96rem;line-height:1.55;}
.ob-prod__pasos li::before{content:counter(obpas);position:absolute;left:0;top:-2px;
  width:30px;height:30px;border-radius:50%;background:var(--ob-azul);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:var(--ob-font-tit);font-weight:800;font-size:.95rem;}

/* Tarjeta de compra (mismo remarco que .ob-pack/.ob-shop) */
.ob-prod__buy{position:-webkit-sticky;position:sticky;top:96px;
  border:8px solid var(--ob-azul);border-left:0;border-radius:0;
  padding:30px 28px 28px 36px;background:linear-gradient(to right,transparent 8px,#fff 8px);}
.ob-prod__buy::before,.ob-prod__buy::after{content:"";position:absolute;left:0;width:8px;background:var(--ob-azul);}
.ob-prod__buy::before{top:0;height:33%;border-radius:0 0 8px 8px;}
.ob-prod__buy::after{bottom:0;height:33%;border-radius:8px 8px 0 0;}
.ob-prod__buy.is-destacado{border-color:var(--ob-pistacho);}
.ob-prod__buy.is-destacado::before,.ob-prod__buy.is-destacado::after{background:var(--ob-pistacho);}
@media(max-width:880px){.ob-prod__buy{position:relative;top:auto;}}

.ob-prod__precio{font-family:var(--ob-font-tit);font-weight:800;color:var(--ob-azul);font-size:2.6rem;line-height:1;margin:0 0 4px;}
.ob-prod__precio .woocommerce-Price-amount{color:var(--ob-azul);}
.ob-prod__lema{margin:0 0 18px;color:var(--ob-gris);font-size:.95rem;}

.ob-prod__form{display:flex;gap:10px;align-items:stretch;margin:0 0 18px;}
.ob-prod__form .quantity{flex:0 0 80px;}
.ob-prod__form .quantity input.qty{width:100%;height:50px;border:1px solid var(--ob-borde);border-radius:var(--ob-radio);
  text-align:center;font-family:var(--ob-font-tit);font-weight:700;font-size:1.1rem;color:var(--ob-carbon);background:#fff;}
.ob-prod__add{flex:1;font-size:1.05rem;padding:14px 22px;border-radius:var(--ob-radio);}

.ob-prod__meta{list-style:none;padding:14px 0 4px;margin:0;border-top:1px solid var(--ob-borde);display:flex;flex-direction:column;gap:7px;}
.ob-prod__meta li{padding-left:24px;position:relative;color:var(--ob-carbon);font-size:.9rem;}
.ob-prod__meta li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:7px;
  border-left:2px solid var(--ob-pistacho-oscuro);border-bottom:2px solid var(--ob-pistacho-oscuro);transform:rotate(-45deg);}

.ob-prod__sku{margin-top:14px;font-size:.78rem;color:var(--ob-gris);}
.ob-prod__sku span{font-family:var(--ob-font-tit);font-weight:700;color:var(--ob-carbon);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;margin-right:6px;}

.ob-prod__back{display:inline-block;margin-top:14px;color:var(--ob-azul);font-weight:600;font-size:.9rem;}
.ob-prod__back:hover{color:var(--ob-azul-oscuro);}

/* Asegura que botones Woo (carrito, checkout) usen estilo Outbox y no el morado por defecto */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button.alt,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button{
  font-family:var(--ob-font-tit);font-weight:700;background:var(--ob-pistacho);color:var(--ob-pistacho-texto);
  border:none;border-radius:var(--ob-radio);padding:12px 22px;text-transform:none;text-shadow:none;}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button.alt:hover{background:var(--ob-pistacho-oscuro);color:var(--ob-pistacho-texto);}
.woocommerce a.button.alt.wc-forward,
.woocommerce-message a.button{background:var(--ob-azul);color:#fff;}
.woocommerce a.button.alt.wc-forward:hover,
.woocommerce-message a.button:hover{background:var(--ob-azul-oscuro);color:#fff;}

/* Oculta la imagen-placeholder del producto cuando no hay imagen subida */
.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image a[href*="placeholder"]{display:none;}

/* ============================================================
   Carrito y Finalizar compra (WooCommerce Blocks) — estética Outbox
   Solo tokens de marca: colores, tipos, botones, placeholders.
   NO tocamos el layout interno del bloque (Woo lo maneja él).
   ============================================================ */
.ob-woo{padding-top:clamp(32px, 3.5vw, 70px);padding-bottom:clamp(40px, 4vw, 90px);}

/* Cabeceras "PRODUCTO" / "TOTAL" / "TOTALES DEL CARRITO" */
.ob-woo .wc-block-cart-items__header,
.ob-woo .wc-block-cart-items__header-image,
.ob-woo .wc-block-cart-items__header-product,
.ob-woo .wc-block-cart-items__header-total,
.ob-woo .wc-block-cart__totals-title{
  font-size:.92rem !important;font-weight:800;letter-spacing:.04em;color:var(--ob-carbon);}

/* Nombre del producto en la fila */
.ob-woo .wc-block-cart-item__product .wc-block-components-product-name,
.ob-woo .wc-block-cart-item__product a,
.ob-woo .wc-block-cart-item__wrap a{font-size:1.08rem !important;}

/* Descripción / variación / metadata del producto */
.ob-woo .wc-block-components-product-metadata,
.ob-woo .wc-block-components-product-metadata__description,
.ob-woo .wc-block-components-product-metadata__description p,
.ob-woo .wc-block-cart-item__wrap .wc-block-components-product-details{font-size:.95rem !important;color:var(--ob-gris);}

/* Precio del producto en la fila y total de la fila */
.ob-woo .wc-block-cart-item__total,
.ob-woo .wc-block-cart-item__total-price-and-sale-badge-wrapper,
.ob-woo .wc-block-components-product-price{font-size:1.08rem !important;}

/* Selector de cantidad: más grande */
.ob-woo .wc-block-components-quantity-selector{font-size:1rem;}
.ob-woo .wc-block-components-quantity-selector__input{font-size:1.05rem !important;min-width:2.6em;padding:6px 4px !important;}
.ob-woo .wc-block-components-quantity-selector__button{font-size:1.05rem !important;padding:6px 12px !important;}

/* Botón "Eliminar" debajo del producto */
.ob-woo .wc-block-cart-item__remove-link{font-size:.9rem !important;}

/* SIDEBAR — Totales */
.ob-woo .wc-block-components-totals-item,
.ob-woo .wc-block-components-totals-item__label,
.ob-woo .wc-block-components-totals-item__value{font-size:1rem !important;}

/* "Total estimado" final más prominente */
.ob-woo .wc-block-components-totals-footer-item,
.ob-woo .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-size:1.15rem !important;font-weight:700;}
.ob-woo .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:1.8rem !important;}

/* "Añadir cupones" link */
.ob-woo .wc-block-components-totals-coupon__button,
.ob-woo .wc-block-components-panel__button,
.ob-woo .wc-block-components-panel__button-icon{font-size:1rem !important;}

/* Botón Finalizar compra: un poco más grande */
.ob-woo .wc-block-cart__submit-button,
.ob-woo .wc-block-components-checkout-place-order-button{
  font-size:1.1rem !important;padding:16px 22px !important;}

/* Inputs y labels del checkout también más grandes */
.ob-woo .wc-block-components-text-input input,
.ob-woo .wc-block-components-select select{font-size:1rem !important;}
.ob-woo .wc-block-components-text-input label,
.ob-woo .wc-block-components-select label{font-size:.95rem !important;}

/* Marco Outbox alrededor del bloque del carrito/checkout: mismo remarco 8px azul
   con esquinas izquierdas abiertas que usamos en el resto de la web. */
.ob-woo__frame{position:relative;border:8px solid var(--ob-azul);border-left:0;border-radius:0;
  padding:var(--ob-pad-card-lg) var(--ob-pad-card-lg) var(--ob-pad-card-lg) calc(var(--ob-pad-card-lg) + 8px);background:linear-gradient(to right,transparent 8px,#fff 8px);}
.ob-woo__frame::before,.ob-woo__frame::after{content:"";position:absolute;left:0;width:8px;background:var(--ob-azul);}
.ob-woo__frame::before{top:0;height:33%;border-radius:0 0 8px 8px;}
.ob-woo__frame::after{bottom:0;height:33%;border-radius:8px 8px 0 0;}

/* Tipografía de marca en los textos clave */
.ob-woo h1,.ob-woo h2,.ob-woo h3{font-family:var(--ob-font-tit);}
.ob-woo a{color:var(--ob-azul);}
.ob-woo a:hover{color:var(--ob-azul-oscuro);}

/* Precios en azul de marca */
.ob-woo .wc-block-components-product-price,
.ob-woo .wc-block-components-product-price__value,
.ob-woo .wc-block-formatted-money-amount,
.ob-woo .wc-block-components-totals-item__value,
.ob-woo .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color:var(--ob-azul);font-family:var(--ob-font-tit);font-weight:700;}

/* Nombre del producto en azul */
.ob-woo .wc-block-cart-item__product a{color:var(--ob-azul);}
.ob-woo .wc-block-cart-item__product a:hover{color:var(--ob-azul-oscuro);}

/* Botones rellenos de Woo (Finalizar compra, Realizar pedido, Añadir al carrito,
   cross-sells…) en pistacho */
.ob-woo .wc-block-components-button.contained,
.ob-woo .wc-block-cart__submit-button,
.ob-woo .wc-block-components-checkout-place-order-button,
.ob-woo .wc-block-cart-cross-sells-product .wp-block-button__link,
.ob-woo a.wp-block-button__link,
.ob-woo button.wp-block-button__link,
.ob-woo .button:not(.is-link),
.ob-woo .wp-element-button{
  background:var(--ob-pistacho) !important;color:var(--ob-pistacho-texto) !important;
  font-family:var(--ob-font-tit);font-weight:700;border:none;border-radius:var(--ob-radio);
  text-transform:none;letter-spacing:0;}
.ob-woo .wc-block-components-button.contained:hover,
.ob-woo .wc-block-cart__submit-button:hover,
.ob-woo .wc-block-components-checkout-place-order-button:hover,
.ob-woo a.wp-block-button__link:hover,
.ob-woo button.wp-block-button__link:hover,
.ob-woo .button:not(.is-link):hover,
.ob-woo .wp-element-button:hover{
  background:var(--ob-pistacho-oscuro) !important;color:var(--ob-pistacho-texto) !important;}

/* Botón "Ver carrito" / botón outline de Woo */
.ob-woo .wc-block-components-button.outlined{
  border-color:var(--ob-azul);color:var(--ob-azul);}

/* Selector de cantidad */
.ob-woo .wc-block-components-quantity-selector__button{color:var(--ob-azul);}
.ob-woo .wc-block-components-quantity-selector__button:hover{background:var(--ob-azul-claro);}

/* "Añadir cupón" y otros acordeones en azul */
.ob-woo .wc-block-components-totals-coupon__button,
.ob-woo .wc-block-components-panel__button{color:var(--ob-azul);font-weight:600;}

/* Inputs y selects: borde azul al hacer foco */
.ob-woo .wc-block-components-text-input input:focus,
.ob-woo .wc-block-components-select select:focus{
  border-color:var(--ob-azul);box-shadow:0 0 0 3px rgba(0,127,163,.15);outline:none;}

/* Placeholders de imagen: ocultos. Los productos son servicios y no llevan foto. */
.ob-woo img[src*="placeholder"]{display:none !important;}

/* Carrito: oculta la columna de imagen del producto y su cabecera vacía. */
.ob-woo .wc-block-cart-item__image,
.ob-woo .wc-block-cart-items__header-image{display:none;}

/* En móvil, el bloque cart de Woo hace `display:grid` con columnas FIJAS de
   80px 132px y coloca image / product / total / quantity en celdas concretas
   (cart.css de WC). Como ocultamos la imagen, hay que recolocar las otras
   celdas para que la fila fluya en una sola columna. */
.ob-woo .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row,
.ob-woo .is-mobile table.wc-block-cart-items .wc-block-cart-items__row,
.ob-woo .is-small  table.wc-block-cart-items .wc-block-cart-items__row,
.ob-woo .is-medium table.wc-block-cart-items .wc-block-cart-items__row{
  grid-template-columns:1fr 1fr;
  column-gap:12px;}
.ob-woo .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product,
.ob-woo .is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product,
.ob-woo .is-small  table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product,
.ob-woo .is-medium table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product{
  grid-column:1 / 2;grid-row:1;}
.ob-woo .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
.ob-woo .is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
.ob-woo .is-small  table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
.ob-woo .is-medium table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total{
  grid-column:2 / 3;grid-row:1;}
.ob-woo .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity,
.ob-woo .is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity,
.ob-woo .is-small  table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity,
.ob-woo .is-medium table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity{
  grid-column:1 / -1;grid-row:2;padding:0;}


/* Resumen del pedido (checkout): oculta también la mini imagen del producto. */
.ob-woo .wc-block-components-order-summary-item__image{display:none !important;}
/* Y suelta el wrapper del item para que el nombre/precio ocupen todo el ancho. */
.ob-woo .wc-block-components-order-summary-item{padding-left:0 !important;}
.ob-woo .wc-block-components-order-summary-item__description{margin-left:0 !important;padding-left:0 !important;}

/* Estado "carrito vacío": oculto. Si aparece es porque se acaba de vaciar por
   AJAX, y el JS está redirigiendo a la tienda en ese mismo instante. Evita el
   flasheo de la pantalla fea. */
.ob-woo .wp-block-woocommerce-empty-cart-block,
.ob-woo .wc-block-cart__empty-cart__title,
.ob-woo .is-large.cart-empty,
.ob-woo .cart-empty.woocommerce-info,
.ob-woo .with-empty-cart-icon{visibility:hidden !important;}
