/*
Theme Name: GeneratePress Child
Template: generatepress
Version: 1.0
*/

/* =========================================================
   VARIABLES (AQUÍ EDITAS MEDIDAS SIEMPRE)
   ========================================================= */
:root{
  --pimpise-font: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  /* Ancho común header + contenido */
  --inmuebles-max: 1800px;

  /* Padding lateral común */
  --inmuebles-pad: 24px;

  /* Imagen hero archive */
  --inmuebles-hero-bg: url("http://pimpise.es/wp-content/uploads/2026/01/d46b7424-1dff-4e3b-bd88-10264cdf5314_16-9-discover-aspect-ratio_default_0.webp");

  /* Menú */
  --menu-text: #0b1320;
  --menu-muted: rgba(11,19,32,.70);
  --menu-accent: #facc15;
}

/* =========================================================
   BASE
   ========================================================= */
.post-type-archive-inmuebles,
.single-inmuebles,
.single-inmueble{
  font-family: var(--pimpise-font);
}

/* =========================================================
   ARCHIVE INMUEBLES – FULL WIDTH REAL (GeneratePress)
   ========================================================= */
.post-type-archive-inmuebles #secondary,
.post-type-archive-inmuebles #right-sidebar,
.post-type-archive-inmuebles #left-sidebar{
  display:none !important;
}

.post-type-archive-inmuebles .content-area,
.post-type-archive-inmuebles #primary{
  width:100% !important;
  max-width:100% !important;
  float:none !important;
}

.post-type-archive-inmuebles .grid-container{
  max-width:100% !important;
}

.post-type-archive-inmuebles .site-content{
  display:block !important;
}

/* =========================================================
   HERO (archive)
   ========================================================= */
.post-type-archive-inmuebles .inmuebles-hero{
  position:relative;
  min-height:360px;

  background-image: var(--inmuebles-hero-bg);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;

  width:100vw;
  margin-left:calc(50% - 50vw);
}

.post-type-archive-inmuebles .inmuebles-hero__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(9,14,25,.92) 0%,
      rgba(9,14,25,.72) 46%,
      rgba(9,14,25,.36) 72%,
      rgba(250,204,21,.10) 100%
    ),
    radial-gradient(1200px 600px at 85% 55%, rgba(250,204,21,.22), transparent 55%),
    radial-gradient(900px 500px at 10% 40%, rgba(37,99,235,.18), transparent 60%);
}

.post-type-archive-inmuebles .inmuebles-hero::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:3px;
  background:#facc15;
}

.post-type-archive-inmuebles .inmuebles-hero__inner{
  position:relative;
  max-width:var(--inmuebles-max);
  margin:0 auto;
  padding:90px var(--inmuebles-pad) 60px;
  color:#fff;
}

.post-type-archive-inmuebles .inmuebles-hero__pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(250,204,21,.10);
  border:1px solid rgba(250,204,21,.35);
  color:#facc15;
  font-weight:600;
  letter-spacing:.3px;
}

.post-type-archive-inmuebles .inmuebles-hero__pill::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:#facc15;
}

.post-type-archive-inmuebles .inmuebles-hero__title{
  margin:22px 0 12px;
  font-size:64px;
  line-height:1.02;
  letter-spacing:-1px;
  font-weight:800;
}

.post-type-archive-inmuebles .inmuebles-hero__sub{
  margin:0;
  font-size:22px;
  line-height:1.5;
  font-weight:400;
  opacity:.9;
}

/* =========================================================
   FILTER BAR (archive)
   ========================================================= */
.post-type-archive-inmuebles .inmuebles-filter{
  width:100vw;
  margin-left:calc(50% - 50vw);
  background:#fff;
  box-shadow:0 12px 30px rgba(16,24,40,.10);
}

.post-type-archive-inmuebles .inmuebles-filter__inner{
  max-width:var(--inmuebles-max);
  margin:0 auto;
  padding:18px var(--inmuebles-pad);
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:18px;
}

.post-type-archive-inmuebles .inmuebles-filter__label{
  font-weight:800;
  color:#0b1220;
}

.post-type-archive-inmuebles .inmuebles-filter__tabs{
  display:flex;
  gap:14px;
  align-items:center;
}

.post-type-archive-inmuebles .inmuebles-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 24px;
  border-radius:14px;
  background:#f3f5f8;
  color:#0b1220;
  font-weight:600;
  text-decoration:none !important;
  box-shadow: inset 0 0 0 1px rgba(16,24,40,.06);
}

.post-type-archive-inmuebles .inmuebles-tab.is-active{
  background:#0b1320;
  color:#facc15;
  box-shadow:0 10px 22px rgba(16,24,40,.20);
}

/* =========================================================
   LISTADO (archive)
   ========================================================= */
.post-type-archive-inmuebles .inmuebles-archive{
  width:100vw;
  margin-left:calc(50% - 50vw);
  background:#f9fafc;
}

.post-type-archive-inmuebles .inmuebles-archive__inner{
  max-width:var(--inmuebles-max);
  margin:0 auto;
  padding:28px var(--inmuebles-pad) 60px;
}

/* GRID */
.post-type-archive-inmuebles .inmuebles-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
}
@media (max-width:1024px){
  .post-type-archive-inmuebles .inmuebles-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:640px){
  .post-type-archive-inmuebles .inmuebles-grid{ grid-template-columns:1fr; }
}

/* Card */
.post-type-archive-inmuebles .inmueble-card{
  background:#fff;
  border:1px solid #e9edf2;
  border-radius:22px;
  overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease;
}
.post-type-archive-inmuebles .inmueble-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 35px rgba(16,24,40,.12);
}

.post-type-archive-inmuebles .inmueble-card a,
.post-type-archive-inmuebles .inmueble-card a:hover{
  color:inherit;
  text-decoration:none !important;
  display:block;
}

.post-type-archive-inmuebles .inmueble-media{ position:relative; }

.post-type-archive-inmuebles .inmueble-card img{
  width:100%;
  height:240px;
  object-fit:cover;
  display:block;
  border-radius:22px 22px 0 0;
}
@media (max-width:640px){
  .post-type-archive-inmuebles .inmueble-card img{ height:220px; }
}

.post-type-archive-inmuebles .inmueble-card .badge-op{
  position:absolute;
  top:18px;
  right:18px;
  background:#facc15;
  color:#111;
  font-size:14px;
  font-weight:400;
  padding:6px 14px;
  border-radius:999px;
  box-shadow:0 6px 14px rgba(16,24,40,.12);
}

.post-type-archive-inmuebles .inmueble-card .inmueble-body{ padding:18px 18px 16px; }

.post-type-archive-inmuebles .inmueble-card .inmueble-title{
  margin:0 0 8px;
  font-size:22px;
  font-weight:700;
  line-height:1.15;
  letter-spacing:-0.2px;
}

.post-type-archive-inmuebles .inmueble-card .inmueble-ubicacion{
  margin:0 0 14px;
  font-size:15px;
  font-weight:500;
  opacity:.85;
}

/* Chips */
.post-type-archive-inmuebles .inmueble-card .inmueble-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:10px 0 12px;
}
.post-type-archive-inmuebles .inmueble-card .inmueble-chip{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border:2px solid #0b1320;
  border-radius:999px;
  font-weight:600;
  font-size:14px;
  line-height:1;
  background:#fff;
}

/* Meta */
.post-type-archive-inmuebles .inmueble-card .inmueble-meta{
  list-style:none;
  padding:0;
  margin:0 0 12px;
  display:flex;
  gap:14px;
  font-weight:400;
  opacity:.70;
  font-size:14px;
}
.post-type-archive-inmuebles .inmueble-card .inmueble-meta li{ margin:0; padding:0; }

/* Footer */
.post-type-archive-inmuebles .inmueble-card .inmueble-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #eef2f6;
}

.post-type-archive-inmuebles .inmueble-card .inmueble-precio{ margin:0; display:inline-flex; align-items:baseline; }
.post-type-archive-inmuebles .inmueble-card .inmueble-precio-num{ font-size:24px; font-weight:700; line-height:1; }
.post-type-archive-inmuebles .inmueble-card .inmueble-precio-periodo{
  font-size:13px;
  font-weight:400;
  margin-left:2px;
  opacity:.8;
  line-height:1;
  position:relative;
  top:-1px;
}

.post-type-archive-inmuebles .inmueble-card .inmueble-btn{
  background:#0b1320;
  color:#fff;
  padding:10px 16px;
  border-radius:12px;
  font-size:14px;
  font-weight:700;
  white-space:nowrap;
}

/* Responsive archive */
@media (max-width:768px){
  .post-type-archive-inmuebles .inmuebles-hero__inner{ padding:70px var(--inmuebles-pad) 44px; }
  .post-type-archive-inmuebles .inmuebles-hero__title{ font-size:40px; }
  .post-type-archive-inmuebles .inmuebles-hero__sub{ font-size:16px; }
  .post-type-archive-inmuebles .inmuebles-filter__inner{ flex-wrap:wrap; gap:12px; }
  .post-type-archive-inmuebles .inmuebles-tab{ padding:10px 16px; border-radius:12px; }
}

/* =========================================================
   HEADER / MENU (alineado + colores + subrayado + logo)
   ========================================================= */
.site-header .inside-header{
  max-width: var(--inmuebles-max) !important;
  margin: 0 auto !important;
  padding-left: var(--inmuebles-pad) !important;
  padding-right: var(--inmuebles-pad) !important;
}

.site-header{ border-bottom: 1px solid rgba(16,24,40,.06); }

.site-header .site-logo img,
.site-header .custom-logo{
  max-height: 74px;
  width: auto;
}

.main-navigation .main-nav ul li a{
  color: var(--menu-muted) !important;
  font-weight: 600;
  position: relative;
  padding: 18px 10px !important;
  line-height: 1;
}

.main-navigation .main-nav ul li:hover > a{ color: var(--menu-text) !important; }

.main-navigation .main-nav ul li > a::after{
  content:"";
  position:absolute;
  left: 10px;
  right: 10px;
  bottom: 10px;
  height: 2px;
  background: transparent;
  border-radius: 99px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .18s ease, background .18s ease;
}

.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current-menu-ancestor > a{
  color: var(--menu-text) !important;
}

.main-navigation .main-nav ul li.current-menu-item > a::after,
.main-navigation .main-nav ul li.current-menu-ancestor > a::after{
  background: var(--menu-accent);
  transform: scaleX(1);
}

.main-navigation .main-nav ul li:hover > a::after{
  background: rgba(250,204,21,.75);
  transform: scaleX(1);
}

.main-navigation .main-nav ul li[class*="current-"] > a{
  background: transparent !important;
}

/* =========================================================
   SINGLE INMUEBLES – ESTRUCTURA (ESTABLE)
   - NO tocamos inside-article ni entry-content (evita “romper todo”)
   - NO usamos 100vw en la galería (evita blanco derecha)
   - Las CAJAS se alinean al header con max-width + padding
   ========================================================= */

/* SINGLE full width (como archive) */
.single-inmuebles #secondary,
.single-inmuebles #right-sidebar,
.single-inmuebles #left-sidebar{ display:none !important; }

.single-inmuebles #primary,
.single-inmuebles .content-area{
  width:100% !important;
  max-width:100% !important;
  float:none !important;
}

/* Abrimos SOLO el contenedor del contenido en SINGLE (no afecta al header) */
.single-inmuebles .site-content .grid-container{
  max-width:100% !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* TOPBAR */
.single-inmuebles .inmueble-topbar{
  width:100% !important;
  margin:0 !important;
  background:#fff;
  border-bottom:1px solid rgba(16,24,40,.08);
  box-shadow:0 12px 30px rgba(16,24,40,.10);
}

.single-inmuebles .inmueble-topbar__inner{
  max-width:var(--inmuebles-max);
  margin:0 auto;
  padding:14px var(--inmuebles-pad);
  box-sizing:border-box;
}

.single-inmuebles .inmueble-back{
  color:#0b1220;
  text-decoration:none;
  font-weight:600;
}

/* GALERÍA: full width sin 100vw */
.single-inmuebles .inmueble-gallery{
  width:100% !important;
  margin:0 !important;
  background:#0b1320;
}

.single-inmuebles .inmueble-gallery__inner{
  position:relative;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-sizing:border-box;
}

/* Badge */
.single-inmuebles .inmueble-gallery__badge{
  position:absolute;
  top:20px;
  right:20px;
  background:#0b1320;
  color:#facc15;
  border:2px solid #facc15;
  padding:10px 18px;
  border-radius:12px;
  font-weight:800;
  z-index:70;
}

/* Slider */
.single-inmuebles .inmueble-slider{
  position:relative;
  width:100% !important;
  height:min(70vh, 720px);
}

.single-inmuebles .inmueble-slider__stage{
  position:relative;
  width:100% !important;
  height:100%;
  overflow:hidden;
}

.single-inmuebles .inmueble-slider__stage img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

/* Flechas */
.single-inmuebles .inmueble-slider__nav{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:52px;
  height:52px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(0,0,0,.15);
  box-shadow:0 8px 22px rgba(0,0,0,.18);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  font-weight:700;
  color:#000;
  cursor:pointer;
  z-index:60;
}
.single-inmuebles .inmueble-slider__nav::before{ content:""; }
.single-inmuebles .inmueble-slider__nav.is-prev{ left:24px; }
.single-inmuebles .inmueble-slider__nav.is-next{ right:24px; }

/* Contador */
.single-inmuebles .inmueble-slider__count{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:18px;
  background:rgba(11,19,32,.88);
  color:#fff;
  font-weight:700;
  padding:8px 14px;
  border-radius:999px;
  font-size:14px;
  z-index:65;
}

/* Thumbs: franja full width + contenido alineado al header */
.single-inmuebles .inmueble-slider__thumbs{
  position:absolute;
  left:0; right:0;
  bottom:0;
  display:flex;
  gap:10px;
  overflow:auto;
  background:rgba(11,19,32,.92);
  z-index:55;

  padding-top:14px;
  padding-bottom:14px;

  padding-left: max(var(--inmuebles-pad), calc((100% - var(--inmuebles-max))/2 + var(--inmuebles-pad))) !important;
  padding-right: max(var(--inmuebles-pad), calc((100% - var(--inmuebles-max))/2 + var(--inmuebles-pad))) !important;

  box-sizing:border-box !important;
}

.single-inmuebles .inmueble-thumb{
  border:0;
  padding:0;
  border-radius:12px;
  overflow:hidden;
  width:64px;
  height:48px;
  cursor:pointer;
  outline:0;
  opacity:.75;
}
.single-inmuebles .inmueble-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.single-inmuebles .inmueble-thumb.is-active{
  opacity:1;
  box-shadow:0 0 0 3px #facc15;
}

/* ✅ CONTENIDO: cajas alineadas al header */
.single-inmuebles .inmueble-content{
  width:100% !important;
  margin:0 !important;
  background:#f9fafc;
}

.single-inmuebles .inmueble-content__inner{
  max-width:var(--inmuebles-max) !important;
  margin:0 auto !important;
  padding:28px var(--inmuebles-pad) 60px !important;
  box-sizing:border-box !important;
}

/* Layout */
.single-inmuebles .inmueble-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 420px;
  gap:26px;
  align-items:start;
}

.single-inmuebles .inmueble-right{
  width:420px;
  align-self:start;
  position:relative;
}

/* Cajas */
.single-inmuebles .box{
  background:#fff;
  border:1px solid rgba(16,24,40,.08);
  border-radius:18px;
  padding:22px;
  box-shadow:0 8px 22px rgba(16,24,40,.06);
  margin-bottom:18px;
}

.single-inmuebles .box--title{ padding:22px; }

.single-inmuebles .inmueble-h1{
  margin:0 0 8px;
  font-size:44px;
  line-height:1.05;
  letter-spacing:-.7px;
  font-weight:900;
  color:#0b1220;
}

.single-inmuebles .inmueble-loc{
  color:rgba(11,18,32,.75);
  font-weight:600;
}

.single-inmuebles .box__title{
  margin:0 0 14px;
  font-size:22px;
  font-weight:900;
  color:#0b1220;
}

/* KPIs */
.single-inmuebles .inmueble-kpis{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
}
.single-inmuebles .kpi{ text-align:center; }
.single-inmuebles .kpi__num{
  width:56px; height:56px;
  margin:0 auto 10px;
  background:#facc15;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:20px;
  color:#0b1220;
}
.single-inmuebles .kpi__lbl{
  color:rgba(11,18,32,.70);
  font-weight:600;
}

/* Sticky card */
.single-inmuebles .sticky-card{
  position:sticky;
  top:110px;
  z-index:5;
  background:#fff;
  border:1px solid rgba(16,24,40,.08);
  border-radius:18px;
  padding:22px;
  box-shadow:0 10px 26px rgba(16,24,40,.10);
  will-change:transform;
}

.single-inmuebles .sticky-card__label{
  color:rgba(11,18,32,.60);
  font-weight:700;
  margin-bottom:6px;
}
.single-inmuebles .sticky-card__price{
  font-size:42px;
  font-weight:900;
  letter-spacing:-.6px;
  color:#0b1220;
}
.single-inmuebles .sticky-card__period{
  font-size:14px;
  font-weight:700;
  opacity:.7;
}
.single-inmuebles .sticky-card__cta{
  display:grid;
  gap:12px;
  margin-top:18px;
}

.single-inmuebles .btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 16px;
  border-radius:12px;
  text-decoration:none;
  font-weight:900;
}
.single-inmuebles .btn--primary{ background:#0b1320; color:#facc15; }
.single-inmuebles .btn--ghost{ background:#fff; color:#0b1320; border:2px solid #0b1320; }

.single-inmuebles .sticky-card__sep{
  height:1px;
  background:rgba(16,24,40,.10);
  margin:18px 0;
}

.single-inmuebles .sticky-card__title{
  font-weight:900;
  font-size:18px;
  margin-bottom:12px;
}

.single-inmuebles .kv{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:8px 0;
  color:rgba(11,18,32,.75);
}
.single-inmuebles .kv strong{ color:#0b1220; }

/* Features */
.single-inmuebles .box--features{ margin-top:18px; }

.single-inmuebles .features-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:16px;
}
.single-inmuebles .feature-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(16,24,40,.08);
  font-weight:700;
  font-size:15px;
  background:#f9fafc;
}
.single-inmuebles .feature-icon{
  width:36px;height:36px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:16px;
}
.single-inmuebles .feature-item.is-active{
  background:#fff;
  border-color:#fde68a;
}
.single-inmuebles .feature-item.is-active .feature-icon{
  background:#facc15;
  color:#0b1220;
}
.single-inmuebles .feature-item.is-disabled{
  opacity:.45;
  background:#f3f5f8;
}
.single-inmuebles .feature-item.is-disabled .feature-icon{
  background:#e5e7eb;
  color:#9ca3af;
}

/* Responsive single */
@media (max-width:980px){
  .single-inmuebles .inmueble-layout{ grid-template-columns:1fr; }
  .single-inmuebles .inmueble-right{ width:auto; }
  .single-inmuebles .sticky-card{ position:relative !important; top:auto !important; }
  .single-inmuebles .inmueble-h1{ font-size:34px; }
  .single-inmuebles .inmueble-slider{ height:min(60vh, 560px); }

  .single-inmuebles .inmueble-slider__thumbs{
    padding-left:20px !important;
    padding-right:20px !important;
  }
}

/* Sticky safety */
@media (min-width:981px){
  .single-inmuebles .inmueble-content,
  .single-inmuebles .inmueble-content__inner,
  .single-inmuebles .inmueble-layout,
  .single-inmuebles .inmueble-right{
    overflow:visible !important;
    transform:none !important;
    filter:none !important;
  }
}
/* =========================================================
   PATCH FINAL (SINGLE INMUEBLES)
   - Galería full width real (sin encajonarse)
   - Cajas alineadas al rail del header
   - Sin “blanco derecha” por 100vw
   ========================================================= */

/* 0) Evita scroll horizontal causado por 100vw (seguro) */
body.single-inmuebles{ overflow-x: hidden; }

/* 1) FULL WIDTH para TOPBAR + GALERÍA (breakout desde cualquier wrapper) */
body.single-inmuebles .inmueble-topbar,
body.single-inmuebles .inmueble-gallery{
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Asegura que nada de dentro vuelva a limitar el ancho */
body.single-inmuebles .inmueble-gallery__inner,
body.single-inmuebles .inmueble-slider,
body.single-inmuebles .inmueble-slider__stage{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2) RAIL correcto para las CAJAS (alineado al header) */
body.single-inmuebles .inmueble-content{
  width: 100% !important;
  margin: 0 !important;
}

body.single-inmuebles .inmueble-content__inner{
  max-width: var(--inmuebles-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--inmuebles-pad) !important;
  padding-right: var(--inmuebles-pad) !important;
  box-sizing: border-box !important;
}

/* 3) Móvil */
@media (max-width: 980px){
  body.single-inmuebles .inmueble-content__inner{
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
/* =========================================================
   SOBRE NOSOTROS (pim-about) — FULL WIDTH + responsive
   NO afecta al resto de la web.
   ========================================================= */

.pim-about{
  --ab-max: 1800px;
  --ab-pad: 24px;

  --ab-dark: #0b1320;
  --ab-dark-2: #101c2d;

  --ab-text: #0f172a;
  --ab-muted: #5b667a;

  --ab-yellow: #f5c400; /* tu amarillo */
  --ab-border: rgba(15,23,42,.10);

  --ab-shadow: 0 18px 50px rgba(2, 6, 23, .10);
  --ab-radius: 22px;
}

/* Reset SOLO dentro de la página para que GP no la "encajone" */
.pim-about .inside-article,
.pim-about .entry-content{
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
.pim-about #primary{
  margin-top: 0 !important;
}

/* Base */
.pim-about{
  font-family: var(--pimpise-font, "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif);
  color: var(--ab-text);
}
.pim-about p{ margin: 0; }
.pim-about section{ width:100%; }

/* Contenedor “rail”: contenido centrado con margen lateral,
   pero el FONDO del section siempre a ancho completo */
.pim-about .ab-rail{
  max-width: var(--ab-max);
  margin: 0 auto;
  padding-left: var(--ab-pad);
  padding-right: var(--ab-pad);
  box-sizing: border-box;
}

/* =========================
   HERO FULL WIDTH (como tu ejemplo)
   ========================= */
.pim-about .ab-hero{
  position: relative;
  width: 100%;
  min-height: 520px;
  height: clamp(520px, 60vh, 720px);
  overflow: hidden;
  margin: 0 !important;
}

/* FONDO HERO (tu imagen) */
.pim-about .ab-hero__bg{
  position:absolute;
  inset:0;
  background-image: url("http://pimpise.es/wp-content/uploads/2026/02/Sobrenosotros-hero-scaled.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.02);
}

/* Overlay oscuro + toque amarillo a la derecha */
.pim-about .ab-hero__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(6,12,24,.92) 0%, rgba(6,12,24,.65) 44%, rgba(6,12,24,.25) 70%, rgba(245,196,0,.08) 100%),
    radial-gradient(800px 420px at 20% 30%, rgba(245,196,0,.08), transparent 60%);
}

/* Líneas diagonales muy sutiles */
.pim-about .ab-hero__lines{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background:
    repeating-linear-gradient(-30deg,
      rgba(245,196,0,.15) 0,
      rgba(245,196,0,.15) 1px,
      transparent 1px,
      transparent 120px);
  mix-blend-mode: overlay;
}

/* Contenido del hero: NO encajona el fondo, solo limita el texto */
.pim-about .ab-hero__inner{
  position: relative;
  z-index: 2;
  max-width: var(--ab-max);
  margin: 0 auto;
  padding: clamp(26px, 5vw, 54px) var(--ab-pad);
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Pill del hero */
.pim-about .ab-hero__pill{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 12px;
  color: var(--ab-yellow);
  border: 1px solid rgba(245,196,0,.35);
  background: rgba(11,19,32,.35);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.pim-about .ab-hero__pill .dot{
  width: 8px; height: 8px;
  border-radius: 99px;
  background: var(--ab-yellow);
  display:inline-block;
}

/* Título y subtítulo hero */
.pim-about .ab-hero__title{
  margin: 14px 0 10px;
  color: #fff;
  font-size: clamp(44px, 5.2vw, 76px);
  line-height: 1.02;
  font-weight: 900;
  letter-spacing: -0.02em;
}
.pim-about .ab-hero__sub{
  margin-top: 6px;
  color: rgba(255,255,255,.78);
  font-size: clamp(14px, 1.4vw, 18px);
  line-height: 1.65;
  max-width: 720px;
}

/* =========================
   SECCIONES: full width + padding vertical
   (sin forzar 100vh para no romper GP)
   ========================= */
.pim-about .ab-section{
  padding: clamp(54px, 7vw, 90px) 0;
}

/* Bloques de texto centrados */
.pim-about .ab-center{
  text-align: center;
  margin-bottom: 38px;
}
.pim-about .ab-center--dark{ margin-bottom: 44px; }

.pim-about .ab-pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .01em;
  border: 1px solid rgba(245,196,0,.28);
}
.pim-about .ab-pill .dot{
  width: 8px; height: 8px;
  border-radius: 99px;
  background: var(--ab-yellow);
}
.pim-about .ab-pill--yellow{
  background: rgba(245,196,0,.16);
  color: #0b1320;
}
.pim-about .ab-pill--dark{
  background: #0b1320;
  color: #fff;
  border-color: rgba(255,255,255,.10);
}
.pim-about .ab-pill--dark .dot{ background: var(--ab-yellow); }

.pim-about .ab-h2{
  margin: 14px 0 10px;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.06;
  font-weight: 900;
  letter-spacing: -0.02em;
}
.pim-about .ab-h2--inv{ color:#fff; }

.pim-about .ab-lead{
  margin-top: 8px;
  color: var(--ab-muted);
  font-size: clamp(14px, 1.3vw, 18px);
  line-height: 1.7;
}
.pim-about .ab-lead--inv{ color: rgba(255,255,255,.75); }

/* =========================
   HISTORIA (FONDO BLANCO FULL WIDTH)
   ========================= */
.pim-about .ab-history{
  background: #fff;
}

/* Grid historia */
.pim-about .ab-history__grid{
  display: grid;
  grid-template-columns: 520px 1fr;
  gap: clamp(20px, 3vw, 34px);
  align-items: start;
}

/* Card timeline (izquierda) */
.pim-about .ab-timeline{
  border-radius: 28px;
  background: linear-gradient(180deg, #0b1320, #121f33);
  color: #fff;
  box-shadow: 0 18px 50px rgba(2,6,23,.22);
  padding: 26px;
  position: relative;
  overflow: hidden;
}
.pim-about .ab-timeline::after{
  content:"";
  position:absolute; inset:-40px -60px auto auto;
  width: 260px; height: 260px;
  background: radial-gradient(circle, rgba(245,196,0,.18), transparent 60%);
  transform: rotate(18deg);
}

.pim-about .ab-timeline__top{
  display:flex;
  align-items:center;
  gap: 14px;
  margin-bottom: 18px;
  position: relative;
  z-index: 2;
}
.pim-about .ab-ico{
  width: 46px; height: 46px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  color: #0b1320;
}
.pim-about .ab-ico--yellow{
  background: var(--ab-yellow);
  box-shadow: 0 10px 28px rgba(245,196,0,.25);
}
.pim-about .ab-timeline__small{
  font-size: 12px;
  color: rgba(255,255,255,.70);
  font-weight: 700;
}
.pim-about .ab-timeline__year{
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
}

.pim-about .ab-timeline__list{
  list-style:none;
  margin: 10px 0 0;
  padding: 0;
  position: relative;
  z-index: 2;
}
.pim-about .ab-timeline__item{
  position: relative;
  padding-left: 26px;
  padding-bottom: 18px;
}
.pim-about .ab-timeline__item:last-child{ padding-bottom: 0; }
.pim-about .ab-timeline__dot{
  position:absolute;
  left: 2px;
  top: 6px;
  width: 10px; height: 10px;
  border-radius: 99px;
  background: var(--ab-yellow);
}
.pim-about .ab-timeline__item::before{
  content:"";
  position:absolute;
  left: 6px;
  top: 18px;
  bottom: 6px;
  width: 2px;
  background: rgba(245,196,0,.28);
}
.pim-about .ab-timeline__item:last-child::before{ display:none; }

.pim-about .ab-timeline__meta{
  font-weight: 900;
  color: var(--ab-yellow);
  font-size: 13px;
  margin-bottom: 6px;
}
.pim-about .ab-timeline__ttl{
  font-weight: 900;
  font-size: 16px;
  margin-bottom: 2px;
}
.pim-about .ab-timeline__txt{
  color: rgba(255,255,255,.70);
  font-size: 13px;
  line-height: 1.5;
}
.pim-about .ab-timeline__item--current .ab-timeline__ttl{ color:#fff; }

/* Col derecha */
.pim-about .ab-history__content .ab-h2{
  margin-top: 6px;
}

/* Quotes */
.pim-about .ab-quote{
  border-radius: 16px;
  padding: 18px 20px;
  margin-top: 18px;
  border: 1px solid var(--ab-border);
  background: #fff;
  box-shadow: 0 12px 30px rgba(2,6,23,.06);
}
.pim-about .ab-quote p{
  color: #3b4456;
  line-height: 1.75;
  font-size: 17px;
}
.pim-about .ab-quote--yellow{
  border-left: 4px solid var(--ab-yellow);
}
.pim-about .ab-quote--dark{
  border-left: 4px solid #0b1320;
}

/* Mini stats */
.pim-about .ab-mini{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 18px;
}
.pim-about .ab-mini__card{
  border: 1px solid var(--ab-border);
  border-radius: 14px;
  padding: 14px 16px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(2,6,23,.05);
}
.pim-about .ab-mini__big{
  font-weight: 900;
  font-size: 22px;
  color: var(--ab-yellow);
  margin-bottom: 4px;
}
.pim-about .ab-mini__lbl{
  font-weight: 700;
  color: #364152;
  font-size: 13px;
}

/* =========================
   PRINCIPIOS (FONDO OSCURO FULL WIDTH)
   ========================= */
.pim-about .ab-principles{
  background:
    radial-gradient(900px 520px at 50% 0%, rgba(245,196,0,.10), transparent 60%),
    linear-gradient(180deg, var(--ab-dark) 0%, var(--ab-dark-2) 100%);
  color: #fff;
}

/* Glass grande */
.pim-about .ab-glass{
  border-radius: 28px;
  padding: clamp(18px, 2.5vw, 28px);
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 18px 50px rgba(0,0,0,.25);
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-top: 26px;
}

.pim-about .ab-glass h3{
  margin: 12px 0 10px;
  font-weight: 900;
  font-size: 22px;
}
.pim-about .ab-glass p{
  color: rgba(255,255,255,.75);
  line-height: 1.75;
  font-size: 15px;
}

.pim-about .ab-checks{
  display:flex;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.pim-about .ab-check{
  color: rgba(255,255,255,.86);
  font-size: 14px;
}
.pim-about .ab-check strong{ color:#fff; }

/* Grid cards principios */
.pim-about .ab-pr-grid{
  margin-top: 26px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.pim-about .ab-pr-card{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  padding: 20px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 18px 44px rgba(0,0,0,.18);
}
.pim-about .ab-pr-card h4{
  margin: 12px 0 8px;
  font-weight: 900;
  font-size: 18px;
}
.pim-about .ab-pr-card p{
  margin: 0;
  color: rgba(255,255,255,.70);
  line-height: 1.65;
  font-size: 14px;
}
.pim-about .ab-pr-line{
  display:block;
  width: 42px;
  height: 3px;
  background: var(--ab-yellow);
  border-radius: 99px;
  margin-top: 14px;
}
.pim-about .ab-pr-card--wide{
  grid-column: span 2;
  border-color: rgba(245,196,0,.30);
}
.pim-about .ab-pr-line--long{ width: 60%; }

/* =========================
   COMPROMISO (FONDO CLARO CON PATRÓN)
   ========================= */
.pim-about .ab-commit{
  background:
    repeating-linear-gradient(-28deg,
      rgba(15,23,42,.04) 0,
      rgba(15,23,42,.04) 1px,
      transparent 1px,
      transparent 130px),
    #fbfbfb;
}

.pim-about .ab-commit__banner{
  margin-top: 22px;
  border-radius: 28px;
  background: linear-gradient(180deg, #0b1320, #121f33);
  border: 3px solid rgba(245,196,0,.9);
  box-shadow: 0 22px 60px rgba(2,6,23,.18);
}
.pim-about .ab-commit__banner-in{
  padding: 26px;
  color: #fff;
}
.pim-about .ab-commit__banner-in h3{
  margin: 10px 0 8px;
  font-weight: 900;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.15;
}
.pim-about .ab-commit__banner-in p{
  color: rgba(255,255,255,.72);
  line-height: 1.65;
}

/* Tabs */
.pim-about .ab-tabs{
  margin-top: 18px;
  display:flex;
  justify-content:center;
  gap: 12px;
  flex-wrap: wrap;
}
.pim-about .ab-tab{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--ab-border);
  box-shadow: 0 14px 30px rgba(2,6,23,.06);
  font-weight: 800;
  color: #0f172a;
  min-width: 140px;
  justify-content:center;
}
.pim-about .ab-tab span{ font-size: 14px; }
.pim-about .ab-tab--active{
  border-color: rgba(245,196,0,.75);
  box-shadow: 0 18px 40px rgba(245,196,0,.18);
}

/* =========================
   CARTERA (FONDO BLANCO)
   ========================= */
.pim-about .ab-portfolio{
  background: #fff;
}

.pim-about .ab-chart{
  margin-top: 22px;
  border: 4px solid #0b1320;
  border-radius: 32px;
  padding: clamp(18px, 2.8vw, 28px);
  box-shadow: 0 22px 60px rgba(2,6,23,.12);
  background: #fff;
}
.pim-about .ab-chart h3{
  margin: 0 0 6px;
  font-weight: 900;
  text-align:center;
  font-size: 26px;
}
.pim-about .ab-chart__sub{
  text-align:center;
  color: var(--ab-muted);
  margin-bottom: 18px;
}

.pim-about .ab-chart__grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 22px;
  align-items:center;
}

/* Donut mock */
.pim-about .ab-donut{
  width: min(460px, 100%);
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  border-radius: 999px;
  background:
    conic-gradient(
      #f5c400 0 27%,
      #111827 27% 48%,
      #ffe16a 48% 66%,
      #8b8b8b 66% 78%,
      #d7d7d7 78% 90%,
      #bdbdbd 90% 100%
    );
  display:grid;
  place-items:center;
  box-shadow: 0 18px 44px rgba(2,6,23,.12);
}
.pim-about .ab-donut__center{
  width: 56%;
  height: 56%;
  background:#fff;
  border-radius: 999px;
  display:flex;
  flex-direction: column;
  justify-content:center;
  align-items:center;
  text-align:center;
  box-shadow: inset 0 0 0 10px rgba(255,255,255,.8);
}
.pim-about .ab-donut__ico{ font-size: 28px; margin-bottom: 8px; }
.pim-about .ab-donut__ttl{ font-weight: 900; font-size: 18px; }
.pim-about .ab-donut__sub{ color: var(--ab-muted); font-weight: 700; font-size: 13px; }

/* Legend */
.pim-about .ab-legend{
  list-style:none;
  margin: 0;
  padding: 0;
  display:grid;
  gap: 14px;
}
.pim-about .ab-legend li{
  display:flex;
  align-items:center;
  gap: 12px;
  font-size: 16px;
}
.pim-about .ab-legend .c{
  width: 22px;
  height: 22px;
  border-radius: 8px;
  display:inline-block;
}
.pim-about .ab-legend .c1{ background:#f5c400; }
.pim-about .ab-legend .c2{ background:#111827; }
.pim-about .ab-legend .c3{ background:#ffe16a; }
.pim-about .ab-legend .c4{ background:#8b8b8b; }
.pim-about .ab-legend .c5{ background:#d7d7d7; }
.pim-about .ab-legend .c6{ background:#bdbdbd; }
.pim-about .ab-legend .c7{ background:#a7a7a7; }

.pim-about .ab-chart__pill{
  margin: 18px auto 0;
  width: fit-content;
  background: linear-gradient(180deg, #0b1320, #121f33);
  color:#fff;
  padding: 14px 18px;
  border-radius: 16px;
  font-weight: 900;
  box-shadow: 0 18px 44px rgba(2,6,23,.16);
}
.pim-about .ab-portfolio__note{
  margin-top: 22px;
  text-align:center;
  color: var(--ab-muted);
  line-height: 1.75;
  font-size: 16px;
  max-width: 980px;
  margin-left:auto;
  margin-right:auto;
}

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 1100px){
  .pim-about .ab-history__grid{
    grid-template-columns: 1fr;
  }
  .pim-about .ab-timeline{
    max-width: 680px;
    margin: 0 auto;
  }
  .pim-about .ab-chart__grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px){
  .pim-about{
    --ab-pad: 18px;
  }

  .pim-about .ab-hero{
    height: 520px;
    min-height: 520px;
  }
  .pim-about .ab-hero__inner{
    padding: 24px var(--ab-pad);
  }
  .pim-about .ab-hero__title{
    font-size: 44px;
  }
  .pim-about .ab-hero__sub br{ display:none; }

  .pim-about .ab-glass{
    grid-template-columns: 1fr;
  }
  .pim-about .ab-pr-grid{
    grid-template-columns: 1fr;
  }
  .pim-about .ab-pr-card--wide{
    grid-column: auto;
  }
  .pim-about .ab-pr-line--long{ width: 60%; }

  .pim-about .ab-mini{
    grid-template-columns: 1fr;
  }

  .pim-about .ab-chart{
    border-radius: 22px;
  }
  .pim-about .ab-chart h3{
    font-size: 22px;
  }
  .pim-about .ab-legend li{
    font-size: 15px;
  }
}
/* =========================================================
   FULL WIDTH REAL SOLO para <main class="pim-about">
   (GeneratePress safe: no rompe el resto de la web)
   ========================================================= */

/* Evita scroll horizontal por 100vw */
main.pim-about{
  overflow-x: clip; /* si tu navegador no lo soporta, no pasa nada */
}

/* Saca el main del “container” centrado */
main.pim-about{
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  /* GeneratePress suele meter padding al .site-main */
  padding: 0 !important;
}

/* Todas las secciones a ancho completo (pero SIN hacks de left/margins) */
main.pim-about .ab-hero,
main.pim-about .ab-section{
  width: 100%;
  max-width: 100%;
  margin: 0;
}

/* La “rail” es la que centra el contenido con margen lateral */
main.pim-about .ab-rail{
  max-width: 1800px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

@media (max-width: 720px){
  main.pim-about .ab-rail{
    padding-left: 18px;
    padding-right: 18px;
  }
}
/* FORCE: Principios centrado (debug / definitivo) */
.pim-about .ab-principles{
  width: 100% !important;
}

.pim-about .ab-principles > .ab-rail{
  width: 100% !important;
  max-width: 1100px !important;  /* cámbialo si quieres */
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}
/* =========================================================
   ABOUT — Unificar anchos: COMMIT = PRINCIPLES
   (mismas medidas y centrado)
   ========================================================= */

/* Define un ancho común (usa el que ya estés usando en principles) */
.pim-about{
  --ab-narrow: 1100px; /* ajusta si tu principles usa otro */
}

/* El fondo puede seguir full width */
.pim-about .ab-commit{
  width: 100%;
}

/* Contenido centrado y limitado igual que principles */
.pim-about .ab-commit > .ab-rail{
  width: 100% !important;
  max-width: var(--ab-narrow) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* El banner oscuro NO debe estirarse a full: respeta el rail */
.pim-about .ab-commit__banner{
  width: 100% !important;
  max-width: 100% !important;
}

/* Tabs debajo: mismo ancho y centradas */
.pim-about .ab-commit .ab-tabs{
  width: 100% !important;
  max-width: 100% !important;
  justify-content: center !important;
}
/* =========================================================
   ABOUT — Escalar sección Compromiso (sin cambiar ancho)
   ========================================================= */

/* Título y subtítulo */
.pim-about .ab-commit .ab-h2{
  font-size: clamp(36px, 4vw, 48px);
  margin-bottom: 16px;
}

.pim-about .ab-commit .ab-lead{
  font-size: 18px;
  line-height: 1.6;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

/* Banner principal oscuro */
.pim-about .ab-commit__banner-in{
  padding: 56px 64px;
}

.pim-about .ab-commit__banner-in h3{
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.25;
  margin-bottom: 12px;
}

.pim-about .ab-commit__banner-in p{
  font-size: 17px;
  line-height: 1.6;
}

/* Icono del banner */
.pim-about .ab-commit__banner-in .ab-ico{
  width: 56px;
  height: 56px;
  margin-bottom: 16px;
}

/* Tabs grandes tipo cards */
.pim-about .ab-commit .ab-tabs{
  gap: 16px;
  margin-top: 40px;
}

.pim-about .ab-commit .ab-tab{
  padding: 16px 22px;
  font-size: 15px;
  border-radius: 14px;
}

/* Separación vertical de la sección */
.pim-about .ab-commit{
  padding-top: 120px;
  padding-bottom: 120px;
}
/* =========================================
   ABOUT — Tabs: brillo SOLO en hover
   ========================================= */

/* Quita el estado activo fijo (si existe) */
.pim-about .ab-tabs .ab-tab--active{
  background: #fff !important;
  border-color: rgba(15,23,42,.10) !important;
  box-shadow: 0 10px 30px rgba(2,6,23,.08) !important;
  transform: none !important;
}

/* Estado normal uniforme para todas */
.pim-about .ab-tabs .ab-tab{
  background: #fff;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 10px 30px rgba(2,6,23,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

/* Hover: efecto “disciplina” */
.pim-about .ab-tabs .ab-tab:hover{
  border-color: rgba(245,158,11,.45);
  box-shadow: 0 18px 46px rgba(245,158,11,.18), 0 10px 30px rgba(2,6,23,.10);
  transform: translateY(-2px);
}
/* =========================================
   ABOUT — Compromiso fondo liso
   ========================================= */

.pim-about .ab-commit{
  background: #ffffff !important;
  background-image: none !important;
}

/* Por si el patrón viene de un pseudo-elemento */
.pim-about .ab-commit::before,
.pim-about .ab-commit::after{
  display: none !important;
}
/* =========================================
   ABOUT — COMPROMISO (ESCALA GRANDE)
   ========================================= */

/* Espacio vertical de la sección */
.pim-about .ab-commit{
  padding: 140px 0 160px !important;
}

/* Contenedor centrado (mismo concepto que Principios) */
.pim-about .ab-commit .ab-rail{
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
}

/* Título principal */
.pim-about .ab-commit .ab-h2{
  font-size: clamp(42px, 4vw, 56px) !important;
  margin-bottom: 24px !important;
}

/* Subtítulo */
.pim-about .ab-commit .ab-lead{
  font-size: 20px !important;
  line-height: 1.6 !important;
  max-width: 760px !important;
  margin: 0 auto 80px !important;
}

/* Caja oscura GRANDE */
.pim-about .ab-commit__banner{
  max-width: 1100px !important;
  margin: 0 auto 70px !important;
  padding: 56px 64px !important;
  border-radius: 28px !important;
}

/* Texto grande dentro de la caja */
.pim-about .ab-commit__banner h3{
  font-size: 28px !important;
  line-height: 1.35 !important;
  margin-bottom: 14px !important;
}

/* Texto secundario */
.pim-about .ab-commit__banner p{
  font-size: 18px !important;
  opacity: .9;
}

/* Icono de la caja */
.pim-about .ab-commit__banner .ab-ico{
  width: 56px !important;
  height: 56px !important;
  margin-bottom: 20px !important;
}

/* Pills / botones inferiores */
.pim-about .ab-tabs{
  display: grid !important;
  grid-template-columns: repeat(5, minmax(140px, 1fr)) !important;
  gap: 20px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

/* Cada pill */
.pim-about .ab-tab{
  padding: 18px 22px !important;
  font-size: 16px !important;
  border-radius: 16px !important;
  transition: all .25s ease !important;
}

/* Hover (el efecto que querías) */
.pim-about .ab-tab:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
  border-color: var(--pimpise-yellow);
}

/* Estado activo SOLO si luego quieres JS */
.pim-about .ab-tab--active{
  background: #fff !important;
  border-color: var(--pimpise-yellow) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.14);
}
/* =========================================================
   ABOUT (pim-about) — FIX FULL WIDTH + SECCIONES CENTRADAS
   Pega esto al FINAL del CSS del child
   ========================================================= */

/* Variables */
:root{
  --ab-rail-max: 1280px;          /* ancho “bueno” centrado (Principios + Compromiso) */
  --ab-rail-pad: clamp(16px, 2.2vw, 34px);

  --ab-yellow: #f7b500;
  --ab-ink: #0b1220;
  --ab-dark: #0b1526;
  --ab-card: rgba(255,255,255,.06);
  --ab-border: rgba(255,255,255,.10);
}

/* 1) TODAS las secciones del about: full viewport width (rompe el encajonado de GP) */
.pim-about{
  width: 100%;
  max-width: none !important;
}

.pim-about .ab-section,
.pim-about .ab-hero{
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Rail = contenido centrado (este es el que te debe funcionar sí o sí) */
.pim-about .ab-rail{
  width: 100% !important;
  max-width: var(--ab-rail-max) !important;
  margin: 0 auto !important;
  padding-left: var(--ab-rail-pad) !important;
  padding-right: var(--ab-rail-pad) !important;
}

/* 2) PRINCIPIOS — NO tan ancho: mismo rail centrado (ya con var) */
.pim-about .ab-principles{
  /* fondo sigue full */
  width: 100vw !important;
}

/* Evita que “glass” se vaya a 100% raro */
.pim-about .ab-principles .ab-glass,
.pim-about .ab-principles .ab-pr-grid{
  max-width: var(--ab-rail-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 3) COMPROMISO — MISMAS MEDIDAS que Principios + MÁS GRANDE + FONDO LISO */
.pim-about .ab-commit{
  background: #f6f7fb !important;      /* liso */
  background-image: none !important;    /* adiós líneas */
}
.pim-about .ab-commit::before,
.pim-about .ab-commit::after{
  content:none !important;
}

/* Título + subtítulo un poco más grandes como tu ejemplo */
.pim-about .ab-commit .ab-h2{
  font-size: clamp(34px, 4.1vw, 56px) !important;
  letter-spacing: -0.02em;
}
.pim-about .ab-commit .ab-lead{
  font-size: clamp(16px, 1.35vw, 20px) !important;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

/* Caja grande (banner) más grande como tu ejemplo */
.pim-about .ab-commit__banner{
  margin-top: clamp(22px, 2.6vw, 40px) !important;
}
.pim-about .ab-commit__banner-in{
  border-radius: 26px !important;
  padding: clamp(26px, 3.2vw, 46px) !important;
  background: radial-gradient(1200px 500px at 25% 20%, rgba(17,37,70,.75), rgba(9,18,34,.98)) !important;
  border: 3px solid var(--ab-yellow) !important;
  box-shadow: 0 28px 60px rgba(0,0,0,.18) !important;
}
.pim-about .ab-commit__banner-in h3{
  font-size: clamp(22px, 2.5vw, 34px) !important;
  line-height: 1.15 !important;
}
.pim-about .ab-commit__banner-in p{
  font-size: clamp(14px, 1.25vw, 18px) !important;
  opacity: .92;
}

/* “Cajitas” (tabs) — GRANDES como el ejemplo + glow SOLO HOVER */
.pim-about .ab-tabs{
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: clamp(12px, 1.4vw, 18px) !important;
  align-items: stretch !important;
  margin-top: clamp(18px, 2.2vw, 28px) !important;
}

.pim-about .ab-tab{
  background: #ffffff !important;
  border: 2px solid #e6e8ee !important;
  border-radius: 16px !important;
  padding: clamp(16px, 2.0vw, 22px) !important;
  min-height: clamp(74px, 7vw, 110px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 8px !important;
  box-shadow: 0 14px 30px rgba(16,24,40,.08) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.pim-about .ab-tab span{
  font-size: clamp(14px, 1.2vw, 18px) !important;
  font-weight: 800 !important;
  color: #0b1220 !important;
}

.pim-about .ab-tab:hover{
  border-color: var(--ab-yellow) !important;
  box-shadow:
    0 18px 40px rgba(16,24,40,.12),
    0 0 0 6px rgba(247,181,0,.20) !important; /* glow */
  transform: translateY(-2px) !important;
}

/* IMPORTANTE: si en el HTML hay .ab-tab--active, que NO se quede fijo */
.pim-about .ab-tab--active{
  border-color: #e6e8ee !important;
  box-shadow: 0 14px 30px rgba(16,24,40,.08) !important;
  transform: none !important;
}

/* Responsive */
@media (max-width: 980px){
  .pim-about .ab-tabs{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 520px){
  .pim-about .ab-tabs{
    grid-template-columns: 1fr !important;
  }
}
/* =========================================
   COMPROMISO - quitar “doble caja”
   ========================================= */

/* La caja buena (la exterior) */
.pim-about .ab-commit__banner{
  border: 2px solid #f5b800 !important;
  border-radius: 28px !important;
  background: #0b1626 !important;
  box-shadow: 0 22px 60px rgba(10, 16, 28, .22) !important;
  overflow: hidden !important; /* importante para que nada “asome” */
}

/* MATA la caja interior (la que crea el doble borde) */
.pim-about .ab-commit__banner-in{
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 48px 56px !important; /* aquí va el padding REAL del contenido */
}

/* Por si el doble borde lo estás dibujando con pseudo-elementos */
.pim-about .ab-commit__banner::before,
.pim-about .ab-commit__banner::after,
.pim-about .ab-commit__banner-in::before,
.pim-about .ab-commit__banner-in::after{
  content: none !important;
  display: none !important;
}
/* =========================================================
   FIX PRINCIPIOS (hover/active como en tu ejemplo)
   + Rail centrado
   + Fondo liso (sin diagonales)
   + Tabs: efecto SOLO hover (no fijo)
   ========================================================= */

/* 1) Sección: fondo liso (quita diagonales/pattern) */
.pim-about .ab-principles{
  background: #0b1624;              /* mantén tu azul oscuro si toca */
  background-image: none !important; /* mata cualquier patrón */
}

/* 2) Rail centrado y con ancho “humano” */
.pim-about .ab-principles .ab-rail{
  max-width: 1280px !important;  /* AJUSTA si quieres: 1200/1320/1400 */
  margin: 0 auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* 3) Cards (grid) — base */
.pim-about .ab-principles .ab-pr-card{
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  transition: transform .20s ease, box-shadow .20s ease, border-color .20s ease, background .20s ease;
}

/* Línea amarilla inferior: cortita por defecto */
.pim-about .ab-principles .ab-pr-card .ab-pr-line{
  display:block;
  height: 4px;
  width: 56px;                   /* cortita */
  border-radius: 99px;
  background: #f6c200;
  margin-top: 18px;
  transition: width .25s ease;
}

/* Hover: borde + glow + línea se alarga */
.pim-about .ab-principles .ab-pr-card:hover{
  transform: translateY(-2px);
  border-color: rgba(246,194,0,.55);
  background: rgba(255,255,255,.08);
  box-shadow:
    0 0 0 1px rgba(246,194,0,.22),
    0 22px 60px rgba(0,0,0,.45);
}
.pim-about .ab-principles .ab-pr-card:hover .ab-pr-line{
  width: 78%;                    /* se alarga como en tu ejemplo */
}

/* 4) Estado “seleccionado” (si quieres que solo UNO quede marcado)
      -> añade class .is-active al card que toque
      -> ejemplo: <article class="ab-pr-card is-active"> */
.pim-about .ab-principles .ab-pr-card.is-active{
  border-color: rgba(246,194,0,.65);
  background: rgba(255,255,255,.09);
  box-shadow:
    0 0 0 1px rgba(246,194,0,.22),
    0 22px 60px rgba(0,0,0,.45);
}
.pim-about .ab-principles .ab-pr-card.is-active .ab-pr-line{
  width: 78%;
}

/* 5) Icono con “brillo” suave al hover/active */
.pim-about .ab-principles .ab-pr-card:hover .ab-ico,
.pim-about .ab-principles .ab-pr-card.is-active .ab-ico{
  filter: drop-shadow(0 10px 22px rgba(246,194,0,.25));
}

/* 6) Tabs: que NO se queden fijos (solo hover)
      Si ahora se te queda "Discipina" fijo es por .ab-tab--active */
.pim-about .ab-tabs .ab-tab--active{
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  box-shadow: 0 10px 25px rgba(0,0,0,.08) !important;
}
.pim-about .ab-tabs .ab-tab--active::after,
.pim-about .ab-tabs .ab-tab--active::before{
  content: none !important;
}

/* Hover (aquí sí el efecto) */
.pim-about .ab-tabs .ab-tab{
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pim-about .ab-tabs .ab-tab:hover{
  transform: translateY(-2px);
  border-color: rgba(246,194,0,.45);
  box-shadow: 0 12px 26px rgba(246,194,0,.14), 0 10px 25px rgba(0,0,0,.10);
}
/* FIX brillo raro esquina (ab-glass) */
.pim-about .ab-principles .ab-glass{
  position: relative;
  overflow: hidden; /* recorta highlights internos */
}

/* Si hay overlays decorativos, fuera */
.pim-about .ab-principles .ab-glass::before,
.pim-about .ab-principles .ab-glass::after{
  content: none !important;
}

/* Por si el highlight viene de las columnas */
.pim-about .ab-principles .ab-glass__col{
  position: relative;
  overflow: hidden;
}

.pim-about .ab-principles .ab-glass__col::before,
.pim-about .ab-principles .ab-glass__col::after{
  content: none !important;
}
/* =========================================================
   FIX: quitar franja blanca entre header y HERO (GeneratePress)
   ========================================================= */

/* GeneratePress suele meter padding arriba en el contenido */
.site-main.pim-about{
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Por si el theme mete padding/margin en wrappers internos */
.pim-about #content,
.pim-about .site-content,
.pim-about .content-area{
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Si esta página se renderiza como "page" (inside-article / entry-content) */
.pim-about .inside-article,
.pim-about .entry-content{
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Asegura que el hero no tenga separación */
.site-main.pim-about > .ab-hero{
  margin-top: 0 !important;
}
/* =========================================================
   HERO (Sobre Nosotros / Consultoría) — versión definitiva
   ========================================================= */

.ab-hero{
  position: relative;
  width: 100vw;
  max-width: none;
  left: 50%;
  margin-left: -50vw;
  margin-right: 0;

  min-height: clamp(420px, 58vh, 640px);
  display: block;

  background-image: var(--ab-hero-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  border-bottom: 3px solid rgba(225,171,0,.85);
  overflow: hidden;
}

/* overlay premium */
.ab-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background: linear-gradient(90deg,
    rgba(8,18,32,.92) 0%,
    rgba(8,18,32,.70) 45%,
    rgba(8,18,32,.38) 70%,
    rgba(225,171,0,.18) 100%
  );
}

.ab-hero__inner{
  position: relative;
  z-index: 2;
  max-width: var(--inmuebles-max, 1800px);
  margin: 0 auto;
  padding: clamp(26px, 4vw, 52px) var(--inmuebles-pad, 24px);
  min-height: inherit;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

.ab-hero__content{ max-width: 820px; }

.ab-hero__pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  border-radius:999px;
  border: 1px solid rgba(225,171,0,.35);
  background: rgba(0,0,0,.18);
  color: rgba(225,171,0,.95);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
}

.ab-hero__dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(225,171,0,.95);
  box-shadow: 0 0 0 4px rgba(225,171,0,.18);
}

.ab-hero__title{
  margin: 14px 0 10px;
  color: #fff;
  font-weight: 900;
  line-height: 1.02;
  font-size: clamp(46px, 5.4vw, 82px);
}

.ab-hero__subtitle{
  margin: 0;
  color: rgba(255,255,255,.88);
  font-size: clamp(16px, 1.4vw, 22px);
  line-height: 1.5;
}

/* rail para el contenido normal */
.ab-section{ padding: 56px 0; }
.ab-rail{
  max-width: var(--inmuebles-max, 1800px);
  margin: 0 auto;
  padding: 0 var(--inmuebles-pad, 24px);
  box-sizing: border-box;
}
/* =========================================================
   PIM-ABOUT — FIX HERO (anula el .ab-hero global que lo desplaza)
   PÉGALO AL FINAL del CSS
   ========================================================= */

.pim-about .ab-hero{
  /* anula el “centrado” global que lo manda a la derecha */
  left: auto !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  width: 100vw !important;
  max-width: 100vw !important;

  /* tu hero usa DIV .ab-hero__bg, así que NO queremos background en la section */
  background-image: none !important;

  position: relative !important;
  min-height: clamp(420px, 58vh, 640px) !important;
  overflow: hidden !important;

  border-bottom: 3px solid rgba(245,196,0,.85) !important;
}

/* Capas del hero (asegura orden z-index correcto) */
.pim-about .ab-hero__bg{
  position:absolute;
  inset:0;
  z-index:0;
  background-image: url("http://pimpise.es/wp-content/uploads/2026/02/15768.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.02);
}

.pim-about .ab-hero__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background: linear-gradient(90deg,
    rgba(8,18,32,.92) 0%,
    rgba(8,18,32,.70) 45%,
    rgba(8,18,32,.38) 70%,
    rgba(245,196,0,.18) 100%
  );
}

.pim-about .ab-hero__lines{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.18;
  background:
    repeating-linear-gradient(-30deg,
      rgba(245,196,0,.15) 0,
      rgba(245,196,0,.15) 1px,
      transparent 1px,
      transparent 120px);
  mix-blend-mode: overlay;
}

.pim-about .ab-hero__inner{
  position: relative;
  z-index: 3;
  max-width: var(--inmuebles-max, 1800px);
  margin: 0 auto;
  padding: clamp(26px, 4vw, 52px) var(--inmuebles-pad, 24px);
  min-height: inherit;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}

/* Tipos del hero (tu PHP usa __sub y .dot, no __subtitle ni __dot) */
.pim-about .ab-hero__pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width: fit-content;
  padding:10px 16px;
  border-radius:999px;
  border: 1px solid rgba(245,196,0,.35);
  background: rgba(0,0,0,.18);
  color: rgba(245,196,0,.95);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
}

.pim-about .ab-hero__pill .dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(245,196,0,.95);
  box-shadow: 0 0 0 4px rgba(245,196,0,.18);
}

.pim-about .ab-hero__title{
  margin: 14px 0 10px;
  color: #fff;
  font-weight: 900;
  line-height: 1.02;
  font-size: clamp(46px, 5.4vw, 82px);
}

.pim-about .ab-hero__sub{
  margin: 0;
  color: rgba(255,255,255,.88);
  font-size: clamp(16px, 1.4vw, 22px);
  line-height: 1.5;
  max-width: 820px;
}
/* =========================================================
   CONSULTORÍA (main.consultoria) — PREMIUM / FIGMA MATCH
   Aislado: NO afecta al resto de la web
   ========================================================= */

main.consultoria{
  --pc-max: 1100px;
  --pc-pad: clamp(16px, 2.2vw, 34px);

  --pc-yellow: #FDC700;
  --pc-ink: #0b1220;

  --pc-gray-900: #0b1320;
  --pc-gray-850: #0f1b2f;
  --pc-gray-800: #111827;

  --pc-gray-50: #f8fafc;
  --pc-gray-200: #e5e7eb;
  --pc-gray-600: #475569;
  --pc-gray-700: #334155;

  --pc-radius-xl: 22px;
  --pc-radius-lg: 18px;

  --pc-shadow-sm: 0 10px 24px rgba(2,6,23,.06);
  --pc-shadow-md: 0 18px 44px rgba(2,6,23,.10);
  --pc-shadow-xl: 0 26px 70px rgba(2,6,23,.16);

  font-family: var(--pimpise-font, "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif);
  color: var(--pc-ink);
  overflow-x: clip;
}

/* Reset SOLO dentro de la página (GeneratePress safe) */
main.consultoria .inside-article,
main.consultoria .entry-content{
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
main.consultoria#primary,
main.consultoria .site-main{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

main.consultoria p{ margin: 0; }
main.consultoria section{ width: 100%; }

/* Wrap centrado */
main.consultoria .pc-wrap{
  max-width: var(--pc-max);
  margin: 0 auto;
  padding-left: var(--pc-pad);
  padding-right: var(--pc-pad);
  box-sizing: border-box;
}

/* Helpers: full width viewport para secciones que lo necesitan */
main.consultoria .pc-hero,
main.consultoria .pc-eq,
main.consultoria .pc-cta{
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* =========================================================
   HERO
   ========================================================= */
main.consultoria .pc-hero{
  position: relative;
  min-height: clamp(420px, 58vh, 640px);
  display: flex;
  align-items: center;
  overflow: hidden;

  background-image: var(--pc-hero-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* overlay premium (como Figma) */
main.consultoria .pc-hero__overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
    rgba(11,19,32,.95) 0%,
    rgba(11,19,32,.86) 45%,
    rgba(11,19,32,.58) 72%,
    rgba(253,199,0,.22) 100%);
  z-index: 1;
}

/* blobs amarillos suaves */
main.consultoria .pc-hero::before,
main.consultoria .pc-hero::after{
  content:"";
  position: absolute;
  border-radius: 999px;
  background: var(--pc-yellow);
  opacity: .10;
  filter: blur(60px);
  z-index: 1;
  pointer-events:none;
}
main.consultoria .pc-hero::before{
  width: 520px; height: 520px;
  right: -220px;
  top: 20%;
}
main.consultoria .pc-hero::after{
  width: 340px; height: 340px;
  left: 20%;
  bottom: -180px;
  opacity: .08;
}

/* línea inferior del hero (acento) */
main.consultoria .pc-hero > .pc-hero__inner::after{
  content:"";
  position:absolute;
  left: 0; right: 0; bottom: 0;
  height: 4px;
  background: linear-gradient(90deg,
    rgba(11,19,32,1) 0%,
    rgba(253,199,0,1) 50%,
    rgba(11,19,32,1) 100%);
  opacity: .9;
}

/* contenido */
main.consultoria .pc-hero__inner{
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--pc-max);
  margin: 0 auto;
  padding: clamp(26px, 4.2vw, 56px) var(--pc-pad);
  box-sizing: border-box;
}
main.consultoria .pc-hero__pill{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(253,199,0,.30);
  background: rgba(253,199,0,.16);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: rgba(253,199,0,.95);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 18px;
}
main.consultoria .pc-hero__pill::before{
  content:"";
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: var(--pc-yellow);
  box-shadow: 0 0 0 4px rgba(253,199,0,.18);
}
main.consultoria .pc-hero__title{
  margin: 0 0 10px;
  color: #fff;
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -0.02em;
  font-size: clamp(44px, 5.2vw, 80px);
}
main.consultoria .pc-hero__sub{
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: clamp(16px, 1.5vw, 22px);
  line-height: 1.55;
  max-width: 820px;
}

/* =========================================================
   INTRO (cards)
   ========================================================= */
main.consultoria .pc-intro{
  padding: clamp(70px, 7vw, 110px) 0;
  background: #fff;
}
main.consultoria .pc-intro .pc-wrap{
  max-width: 980px;
}

/* card base */
main.consultoria .pc-card{
  border-radius: var(--pc-radius-xl);
  border: 1px solid var(--pc-gray-200);
  box-shadow: var(--pc-shadow-sm);
  padding: clamp(22px, 3vw, 44px);
  display: flex;
  gap: 18px;
  align-items: flex-start;
}
main.consultoria .pc-card + .pc-card{
  margin-top: 26px;
}

main.consultoria .pc-ico{
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
main.consultoria .pc-ico svg{
  width: 26px;
  height: 26px;
}
main.consultoria .pc-ico--yellow{
  background: var(--pc-yellow);
  color: #0b1220;
  box-shadow: 0 18px 40px rgba(253,199,0,.22);
}

main.consultoria .pc-card__body p{
  font-size: 17px;
  line-height: 1.85;
  color: var(--pc-gray-700);
}
main.consultoria .pc-card__body p + p{
  margin-top: 16px;
}

/* light */
main.consultoria .pc-card--light{
  background: linear-gradient(135deg, #f9fafb 0%, #ffffff 60%);
}

/* dark */
main.consultoria .pc-card--dark{
  border: 0;
  background: linear-gradient(135deg, #0b1320 0%, #111827 100%);
  color: #fff;
  box-shadow: var(--pc-shadow-xl);
}
main.consultoria .pc-card--dark .pc-card__body h3{
  margin: 2px 0 10px;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.45;
  font-weight: 900;
  letter-spacing: -0.01em;
  color: #fff;
}
main.consultoria .pc-card--dark .pc-card__body h3 span{
  color: var(--pc-yellow);
}
main.consultoria .pc-card--dark .pc-card__body p{
  color: rgba(255,255,255,.78);
  font-size: 16.5px;
  line-height: 1.75;
}

/* =========================================================
   ECUACIÓN (dark + glass)
   ========================================================= */
main.consultoria .pc-eq{
  padding: clamp(80px, 7.5vw, 120px) 0;
  background: radial-gradient(900px 520px at 50% 0%,
      rgba(253,199,0,.10), transparent 60%),
    linear-gradient(180deg, #0b1320 0%, #0f1b2f 100%);
  color: #fff;
}
main.consultoria .pc-eq__wrap{
  text-align: center;
  max-width: 980px;
}
main.consultoria .pc-eq__head{
  margin-bottom: 34px;
}

/* pill eq */
main.consultoria .pc-pill{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(253,199,0,.30);
  background: rgba(253,199,0,.16);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: rgba(253,199,0,.95);
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 12px;
}
main.consultoria .pc-pill::before{
  content:"";
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: var(--pc-yellow);
}
main.consultoria .pc-pill--center{ margin-bottom: 16px; }

main.consultoria .pc-eq__title{
  margin: 12px 0 10px;
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 900;
  letter-spacing: -0.02em;
}
main.consultoria .pc-eq__sub{
  margin: 0;
  color: rgba(255,255,255,.74);
  font-size: 17px;
  line-height: 1.7;
}

/* glass box */
main.consultoria .pc-glass{
  margin-top: 26px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 26px;
  padding: clamp(26px, 4.2vw, 54px);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 28px 70px rgba(0,0,0,.28);
}

main.consultoria .pc-eq__formula{
  font-weight: 900;
  color: var(--pc-yellow);
  letter-spacing: .04em;
  font-size: clamp(52px, 6.5vw, 90px);
  margin-bottom: 26px;
}

/* mini grid */
main.consultoria .pc-eq__mini{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

main.consultoria .pc-mini{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  padding: 18px 18px 16px;
  text-align: center;
}
main.consultoria .pc-mini__big{
  font-weight: 900;
  font-size: 38px;
  color: var(--pc-yellow);
  margin-bottom: 6px;
}
main.consultoria .pc-mini__title{
  font-weight: 800;
  color: #fff;
  font-size: 16px;
}
main.consultoria .pc-mini__desc{
  margin-top: 6px;
  color: rgba(255,255,255,.55);
  font-size: 13px;
  line-height: 1.35;
}

/* =========================================================
   PROCESO (white grid)
   ========================================================= */
main.consultoria .pc-proc{
  padding: clamp(80px, 7.5vw, 120px) 0;
  background: #fff;
}
main.consultoria .pc-proc .pc-wrap{
  max-width: 1200px;
}
main.consultoria .pc-proc__title{
  text-align: center;
  margin: 0 0 10px;
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #0b1220;
}
main.consultoria .pc-proc__sub{
  text-align: center;
  margin: 0 auto 44px;
  color: #475569;
  font-size: 18px;
  line-height: 1.7;
  max-width: 720px;
}

main.consultoria .pc-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

/* step cards */
main.consultoria .pc-step{
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 70%);
  border: 1px solid var(--pc-gray-200);
  border-radius: 22px;
  padding: 30px;
  box-shadow: var(--pc-shadow-sm);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
main.consultoria .pc-step__ico{
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: var(--pc-yellow);
  display: grid;
  place-items: center;
  margin-bottom: 14px;
  color: #0b1220;
  transition: transform .18s ease;
  box-shadow: 0 18px 40px rgba(253,199,0,.22);
}
main.consultoria .pc-step__ico svg{
  width: 30px;
  height: 30px;
}
main.consultoria .pc-step h3{
  margin: 0 0 8px;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -0.01em;
  color: #0b1220;
}
main.consultoria .pc-step p{
  margin: 0;
  color: #334155;
  font-size: 16px;
  line-height: 1.75;
}

/* hover premium */
main.consultoria .pc-step:hover{
  border-color: rgba(253,199,0,.85);
  box-shadow: 0 22px 55px rgba(2,6,23,.12), 0 0 0 6px rgba(253,199,0,.14);
  transform: translateY(-2px);
}
main.consultoria .pc-step:hover .pc-step__ico{
  transform: scale(1.06);
}

/* si quieres que uno salga “seleccionado” como en el diseño */
main.consultoria .pc-step--active{
  border-color: rgba(253,199,0,.85);
  box-shadow: 0 22px 55px rgba(2,6,23,.12), 0 0 0 6px rgba(253,199,0,.14);
}

/* =========================================================
   CTA (dark)
   ========================================================= */
main.consultoria .pc-cta{
  position: relative;
  padding: clamp(80px, 7vw, 120px) 0;
  background: linear-gradient(135deg, #0b1320 0%, #111827 100%);
  overflow: hidden;
}
main.consultoria .pc-cta__overlay{
  position: absolute;
  inset: 0;
  background:
    radial-gradient(520px 520px at 18% 40%, rgba(253,199,0,.10), transparent 60%),
    radial-gradient(620px 620px at 80% 30%, rgba(253,199,0,.08), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.20));
  pointer-events: none;
}
main.consultoria .pc-cta__inner{
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 980px;
}
main.consultoria .pc-cta h2{
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(32px, 3.8vw, 54px);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.08;
}
main.consultoria .pc-cta p{
  margin: 0 0 26px;
  color: rgba(255,255,255,.76);
  font-size: 18px;
  line-height: 1.7;
}

/* botón */
main.consultoria .pc-btn{
  display: inline-block;
  background: var(--pc-yellow);
  color: #0b1220;
  padding: 16px 34px;
  border-radius: 14px;
  font-weight: 900;
  font-size: 16px;
  text-decoration: none !important;
  box-shadow: 0 20px 44px rgba(253,199,0,.22);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
main.consultoria .pc-btn:hover{
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 26px 58px rgba(253,199,0,.28);
  filter: brightness(1.02);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 980px){
  main.consultoria .pc-eq__mini{
    grid-template-columns: 1fr;
  }
  main.consultoria .pc-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px){
  main.consultoria .pc-card{
    flex-direction: column;
  }
  main.consultoria .pc-hero__title{
    font-size: 44px;
  }
  main.consultoria .pc-proc__sub br,
  main.consultoria .pc-cta h2 br{
    display: none;
  }
}
/* =========================================================
   FIX: Consultoría a pantalla completa (sin afectar a otras páginas)
   ========================================================= */

/* 1) Sacamos el MAIN de la caja del theme SOLO en consultoría */
main#primary.consultoria,
#primary.consultoria{
  position: relative;
  width: 100vw;
  max-width: none;
  left: 50%;
  margin-left: -50vw;
  margin-right: 0;
  overflow-x: clip;
}

/* 2) Como el main ya es full width, estas secciones ya NO deben “romper” a 100vw */
main.consultoria .pc-hero,
main.consultoria .pc-eq,
main.consultoria .pc-cta{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* =========================================================
   CONTACTO (Premium) — SOLO afecta a <main class="contacto ct-page">
   Limpio + CF7 normalizado + botón correcto
   ========================================================= */

main.contacto.ct-page{
  --ct-max: 1280px;
  --ct-pad: clamp(16px, 2.2vw, 34px);

  --ct-ink: #0b1220;
  --ct-muted: #5b667a;

  --ct-yellow: #FDC700;
  --ct-dark: #0b1320;
  --ct-dark-2: #111f33;

  --ct-border: rgba(15,23,42,.10);
  --ct-shadow: 0 18px 55px rgba(2,6,23,.10);
  --ct-radius: 22px;

  color: var(--ct-ink);
  font-family: var(--pimpise-font, "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif);
  overflow-x: clip; /* evita scroll horizontal */
}

/* Reset SOLO dentro de esta página (GeneratePress safe) */
main.contacto.ct-page .inside-article,
main.contacto.ct-page .entry-content{
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
main.contacto.ct-page .entry-content > *{
  max-width: none !important;
}
main.contacto.ct-page#primary,
main.contacto.ct-page .site-main{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Saca el main del container centrado SOLO en contacto */
main.contacto.ct-page{
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
}

main.contacto.ct-page p{ margin: 0; }
main.contacto.ct-page a{ color: inherit; }
main.contacto.ct-page .ct-wrap{
  max-width: var(--ct-max);
  margin: 0 auto;
  padding-left: var(--ct-pad);
  padding-right: var(--ct-pad);
  box-sizing: border-box;
}

/* =========================================================
   HERO
   ========================================================= */
main.contacto.ct-page .ct-hero{
  position: relative;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  min-height: clamp(420px, 58vh, 640px);
  overflow: hidden;

  background-image: var(--ct-hero-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  border-bottom: 3px solid rgba(253,199,0,.85);
}

main.contacto.ct-page .ct-hero__overlay{
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(120deg,
      rgba(8,18,32,.94) 0%,
      rgba(8,18,32,.82) 35%,
      rgba(8,18,32,.52) 62%,
      rgba(253,199,0,.18) 100%),
    radial-gradient(800px 420px at 18% 30%, rgba(253,199,0,.12), transparent 60%);
}

main.contacto.ct-page .ct-hero__accent{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 6px;
  z-index: 2;
  background: linear-gradient(to right,
    rgba(8,18,32,1) 0%,
    rgba(253,199,0,1) 50%,
    rgba(8,18,32,1) 100%);
  opacity: .85;
}

main.contacto.ct-page .ct-hero__inner{
  position: relative;
  z-index: 3;
  max-width: var(--ct-max);
  margin: 0 auto;
  padding: clamp(26px, 4vw, 54px) var(--ct-pad);
  min-height: inherit;

  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
  box-sizing: border-box;
}

main.contacto.ct-page .ct-hero__pill{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;

  padding: 10px 16px;
  border-radius: 999px;

  border: 1px solid rgba(253,199,0,.35);
  background: rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  color: rgba(253,199,0,.95);
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: 12px;
}

main.contacto.ct-page .ct-hero__dot{
  width: 8px; height: 8px;
  border-radius: 999px;
  background: rgba(253,199,0,.95);
  box-shadow: 0 0 0 4px rgba(253,199,0,.18);
}

main.contacto.ct-page .ct-hero__title{
  margin: 0;
  color: #fff;
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -0.02em;
  font-size: clamp(46px, 5.4vw, 82px);
}

main.contacto.ct-page .ct-hero__sub{
  margin: 0;
  color: rgba(255,255,255,.86);
  font-size: clamp(16px, 1.4vw, 22px);
  line-height: 1.55;
  max-width: 860px;
}

/* =========================================================
   CONTACT SECTION
   ========================================================= */
main.contacto.ct-page .ct-contact{
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #ffffff;
  padding: clamp(54px, 7vw, 90px) 0;
}

main.contacto.ct-page .ct-grid{
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(18px, 3vw, 34px);
  align-items: start;
}

main.contacto.ct-page .ct-head{ margin-bottom: 18px; }

main.contacto.ct-page .ct-h2{
  margin: 0 0 10px;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.02em;
}

main.contacto.ct-page .ct-lead{
  margin: 0;
  color: var(--ct-muted);
  font-size: clamp(14px, 1.25vw, 18px);
  line-height: 1.7;
  max-width: 62ch;
}

/* Info cards */
main.contacto.ct-page .ct-info{
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

main.contacto.ct-page .ct-info__card{
  display: flex;
  gap: 14px;
  align-items: flex-start;

  padding: 18px;
  border-radius: 18px;
  background: linear-gradient(180deg, #fbfbfc, #ffffff);
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 14px 30px rgba(2,6,23,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

main.contacto.ct-page .ct-info__card:hover{
  transform: translateY(-2px);
  border-color: rgba(253,199,0,.45);
  box-shadow: 0 18px 44px rgba(2,6,23,.10);
}

main.contacto.ct-page .ct-info__ico{
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: var(--ct-yellow);
  color: #0b1220;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  box-shadow: 0 14px 32px rgba(253,199,0,.22);
}

main.contacto.ct-page .ct-info__ico svg{ width: 22px; height: 22px; }

main.contacto.ct-page .ct-info__title{
  margin: 0 0 4px;
  font-weight: 900;
  font-size: 16px;
  color: var(--ct-ink);
}

main.contacto.ct-page .ct-info__text{
  margin: 0;
  color: #3b4456;
  font-size: 14px;
  line-height: 1.6;
}

main.contacto.ct-page .ct-link{
  color: #0b1220;
  text-decoration: none;
  border-bottom: 1px solid rgba(253,199,0,.35);
}

main.contacto.ct-page .ct-link:hover{
  border-bottom-color: rgba(253,199,0,.75);
}

/* Hours card */
main.contacto.ct-page .ct-hours{
  margin-top: 16px;

  border-radius: 22px;
  background: linear-gradient(180deg, #0b1320, #111f33);
  color: #fff;
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 20px 55px rgba(2,6,23,.22);
  overflow: hidden;
  position: relative;
}

main.contacto.ct-page .ct-hours::after{
  content:"";
  position:absolute;
  inset:-80px -120px auto auto;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(253,199,0,.18), transparent 60%);
  transform: rotate(18deg);
  pointer-events:none;
}

main.contacto.ct-page .ct-hours__top{
  display:flex;
  align-items:center;
  gap: 14px;
  padding: 20px 20px 12px;
  position: relative;
  z-index: 1;
}

main.contacto.ct-page .ct-hours__ico{
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: var(--ct-yellow);
  color: #0b1220;
  display:grid;
  place-items:center;
  flex: 0 0 auto;
  box-shadow: 0 14px 32px rgba(253,199,0,.22);
}

main.contacto.ct-page .ct-hours__ico svg{ width: 22px; height: 22px; }

main.contacto.ct-page .ct-hours__title{
  margin: 0;
  font-weight: 900;
  font-size: 18px;
}

main.contacto.ct-page .ct-hours__list{
  margin: 0;
  padding: 0 20px 20px;
  position: relative;
  z-index: 1;
}

main.contacto.ct-page .ct-hours__row{
  display:flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-top: 1px solid rgba(255,255,255,.10);
}

main.contacto.ct-page .ct-hours__row dt{
  color: rgba(255,255,255,.78);
  font-weight: 700;
}

main.contacto.ct-page .ct-hours__row dd{
  margin: 0;
  color: rgba(255,255,255,.92);
  font-weight: 800;
}

/* =========================================================
   RIGHT — FORM CARD (BLANCA como diseño)
   + CF7 normalizado (sin márgenes raros ni <br>)
   ========================================================= */

main.contacto.ct-page .ct-formcard{
  border-radius: 26px;
  padding: clamp(18px, 2.6vw, 28px);
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 24px 70px rgba(2,6,23,.12);
  position: relative;
  overflow: hidden;
  font-family: var(--pimpise-font, "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif);
}

main.contacto.ct-page .ct-formcard__title{
  margin: 0 0 14px;
  color: #0b1220;
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: clamp(22px, 2.2vw, 28px);
}

main.contacto.ct-page .ct-form{
  position: relative;
}

/* --- CF7: limpia estructura típica --- */
main.contacto.ct-page .ct-form :is(form, p){
  margin: 0 !important;
}
main.contacto.ct-page .ct-form .wpcf7 form br{
  display: none !important;
}
main.contacto.ct-page .ct-form .wpcf7 form p{
  margin: 0 0 16px !important; /* controla el spacing entre campos */
}
main.contacto.ct-page .ct-form .wpcf7-form-control-wrap{
  display: block !important;
  margin: 0 !important;
}

/* Labels */
main.contacto.ct-page .ct-form :is(label, .wpforms-field-label){
  display: block;
  margin: 0 0 8px !important;
  font-weight: 900;
  color: #0b1220;
  font-size: 13px;
  letter-spacing: .01em;
  line-height: 1.25;
}

/* Inputs / selects / textarea */
main.contacto.ct-page .ct-form :is(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  textarea,
  select
){
  width: 100%;
  box-sizing: border-box;
  display: block;

  background: #ffffff;
  color: #0b1220;

  border: 2px solid rgba(15,23,42,.10);
  border-radius: 14px;

  padding: 14px 16px;
  outline: none;

  box-shadow: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.25;
}

main.contacto.ct-page .ct-form textarea{
  min-height: 180px;
  resize: vertical;
  line-height: 1.5;
}

/* Placeholder */
main.contacto.ct-page .ct-form :is(input, textarea)::placeholder{
  color: rgba(15,23,42,.40);
}

/* Focus (amarillo) */
main.contacto.ct-page .ct-form :is(input, textarea, select):focus{
  border-color: rgba(253,199,0,1);
  box-shadow: 0 0 0 4px rgba(253,199,0,.22);
}

/* Select */
main.contacto.ct-page .ct-form select{
  cursor: pointer;
  padding-right: 42px;
}

/* --- BOTÓN CF7: centrado, grande, SIN iconos raros --- */
main.contacto.ct-page .ct-form :is(button, input[type="submit"], .wpcf7-submit){
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;

  margin-top: 6px !important;

  border: 0 !important;
  border-radius: 14px !important;
  padding: 18px 18px !important;

  background: linear-gradient(180deg, #0b1320, #111f33) !important;
  color: #FDC700 !important;

  font-family: inherit !important;
  font-weight: 900 !important;
  font-size: 18px !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;

  cursor: pointer !important;
  box-shadow: 0 18px 40px rgba(2,6,23,.22) !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

/* Si algún plugin/tema mete iconos gigantes dentro del submit */
main.contacto.ct-page .ct-form :is(button, input[type="submit"], .wpcf7-submit) svg{
  display: none !important;
}
main.contacto.ct-page .ct-form :is(button, input[type="submit"], .wpcf7-submit)::before,
main.contacto.ct-page .ct-form :is(button, input[type="submit"], .wpcf7-submit)::after{
  content: none !important;
  display: none !important;
}
main.contacto.ct-page .ct-form :is(button, input[type="submit"], .wpcf7-submit):hover{
  transform: translateY(-2px);
  box-shadow: 0 24px 60px rgba(2,6,23,.26) !important;
  filter: brightness(1.02);
}

/* Quita spinner feo CF7 */
main.contacto.ct-page .ct-form .wpcf7-spinner{ display: none !important; }

/* Mensajes CF7 */
main.contacto.ct-page .ct-form .wpcf7-response-output{
  margin: 16px 0 0 !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  background: #fff !important;
  border: 1px solid rgba(15,23,42,.12) !important;
  color: #0b1220 !important;
}
main.contacto.ct-page .ct-form .wpcf7-not-valid-tip{
  color: #b45309 !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  margin-top: 8px !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 980px){
  main.contacto.ct-page .ct-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px){
  main.contacto.ct-page{ --ct-pad: 18px; }

  main.contacto.ct-page .ct-hero{ min-height: 520px; }
  main.contacto.ct-page .ct-hero__inner{ padding: 24px var(--ct-pad); }
  main.contacto.ct-page .ct-hero__title{ font-size: 44px; }

  main.contacto.ct-page .ct-contact{ padding: 54px 0; }

  main.contacto.ct-page .ct-info__ico,
  main.contacto.ct-page .ct-hours__ico{
    width: 48px;
    height: 48px;
    border-radius: 14px;
  }

  main.contacto.ct-page .ct-formcard{ border-radius: 22px; }
}

@media (max-width: 480px){
  main.contacto.ct-page .ct-info__card{ padding: 16px; }
  main.contacto.ct-page .ct-hours__top,
  main.contacto.ct-page .ct-hours__list{
    padding-left: 16px;
    padding-right: 16px;
  }
}
/* =========================================================
   FOOTER PIMPISE — full width (100vw) + contenido centrado
   SOLO afecta a .pp-footer
   ========================================================= */

.pp-footer{
  --pp-max: 1280px;
  --pp-pad: clamp(18px, 2.2vw, 34px);

  --pp-ink: #0b1220;
  --pp-muted: #667085;
  --pp-yellow: #FDC700;
  --pp-border: rgba(15,23,42,.10);

  font-family: var(--pimpise-font, "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif);
  color: var(--pp-ink);

  /* FULL WIDTH sin romper layout */
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;

  background: #fff;
  border-top: 1px solid rgba(15,23,42,.06);
}

/* Evita que el tema meta padding raro alrededor */
.site-footer,
.footer-widgets,
.footer-bar { padding: 0 !important; margin: 0 !important; }

.pp-footer__inner{
  max-width: var(--pp-max);
  margin: 0 auto;
  padding: clamp(56px, 6vw, 84px) var(--pp-pad) 26px;
  box-sizing: border-box;
}

.pp-footer__grid{
  display: grid;
  grid-template-columns: 1.25fr .85fr .95fr;
  gap: clamp(18px, 3vw, 40px);
  align-items: start;
}

/* Brand */
.pp-footer__logo{
  width: 220px;
  height: auto;
  display: block;
  margin: 0 0 16px;
}

.pp-footer__desc{
  margin: 0 0 18px;
  color: var(--pp-muted);
  font-size: 16px;
  line-height: 1.7;
  max-width: 48ch;
}

.pp-footer__badge{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(253,199,0,.18);
  border: 1px solid rgba(253,199,0,.35);
  font-weight: 800;
  font-size: 13px;
  color: #0b1220;
}

.pp-footer__dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #0b1220;
}

/* Headings */
.pp-footer__h{
  margin: 0 0 14px;
  font-weight: 900;
  font-size: 18px;
  letter-spacing: -0.01em;
}

/* Links */
.pp-footer__list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.pp-footer__list a{
  color: #667085;
  text-decoration: none;
  font-weight: 500;
  transition: color .18s ease;
}

.pp-footer__list a:hover{
  color: #0b1220;
}

/* Contact */
.pp-footer__contactList{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.pp-footer__contactItem{
  display: flex;
  align-items: center;
  gap: 12px;
  color: #667085;
}

.pp-footer__contactItem a{
  color: #667085;
  text-decoration: none;
}
.pp-footer__contactItem a:hover{
  color: #0b1220;
}

.pp-footer__icon{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(253,199,0,.22);
  border: 1px solid rgba(253,199,0,.35);
  display: grid;
  place-items: center;
  color: #0b1220;
  flex: 0 0 auto;
}
.pp-footer__icon svg{ width: 18px; height: 18px; }

/* Divider + bottom */
.pp-footer__hr{
  border: 0;
  height: 1px;
  background: rgba(15,23,42,.10);
  margin: 28px 0 18px;
}

.pp-footer__bottom{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.pp-footer__copy{
  color: #98A2B3;
  font-size: 14px;
}

.pp-footer__legal{
  display: inline-flex;
  gap: 18px;
  flex-wrap: wrap;
}

.pp-footer__legal a{
  color: #98A2B3;
  text-decoration: none;
  font-size: 14px;
}
.pp-footer__legal a:hover{
  color: #0b1220;
}

/* Responsive */
@media (max-width: 980px){
  .pp-footer__grid{
    grid-template-columns: 1fr;
  }
  .pp-footer__logo{ width: 200px; }
}
/* =========================================================
   HOME (front-page.php) — PIMPISE (LIMPIO Y ESTABLE)
   Pegar AL FINAL del style.css (y borrar los parches anteriores de HOME)
   ========================================================= */

/* --- Reset SOLO HOME (GeneratePress containers) --- */
body.home .inside-article,
body.home .entry-content,
body.home .site-main,
body.home .content-area{
  margin: 0 !important;
  padding: 0 !important;
}

body.home .site-content{
  padding: 0 !important;
}

/* Clave: evitar el “borde fantasma” por overflow horizontal (Safari/móvil) */
body.home,
body.home #page{
  overflow-x: hidden !important;
}

/* Scope */
.pim-home{
  font-family: var(--pimpise-font);
}

/* Rail común (alineado con header) */
.pim-home .home-rail{
  max-width: var(--inmuebles-max);
  margin: 0 auto;
  padding-left: var(--inmuebles-pad);
  padding-right: var(--inmuebles-pad);
  box-sizing: border-box;
}

/* Helpers */
.pim-home .home-center{ text-align:center; }
.pim-home .home-center--tight{ margin-bottom: 18px; }

.pim-home .home-h2{
  margin: 10px 0 10px;
  font-size: 52px;
  line-height: 1.05;
  letter-spacing: -0.8px;
  font-weight: 900;
  color: #0b1220;
}
.pim-home .home-lead{
  margin: 0 auto 10px;
  max-width: 78ch;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(11,18,32,.72);
  font-weight: 500;
}
.pim-home .home-text{
  margin: 0 auto;
  max-width: 88ch;
  font-size: 16px;
  line-height: 1.7;
  color: rgba(11,18,32,.62);
  font-weight: 500;
}

/* Pills */
.pim-home .home-pill,
.pim-home .home-hero__pill{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .3px;
  user-select:none;
}
.pim-home .home-pill .dot,
.pim-home .home-hero__pill .dot{
  width: 8px; height: 8px;
  border-radius: 999px;
  background: #facc15;
  flex: 0 0 auto;
}
.pim-home .home-hero__pill{
  background: rgba(250,204,21,.10);
  border: 1px solid rgba(250,204,21,.35);
  color: #facc15;
}
.pim-home .home-pill--yellow{
  background: rgba(250,204,21,.16);
  border: 1px solid rgba(250,204,21,.35);
  color: #0b1320;
}

/* Buttons */
.pim-home .home-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 18px;
  border-radius: 14px;
  font-weight: 900;
  text-decoration: none !important;
  line-height: 1;
  white-space: nowrap;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}
.pim-home .home-btn:hover{ transform: translateY(-1px); }

.pim-home .home-btn--primary{
  background:#facc15;
  color:#0b1320;
  box-shadow: 0 14px 28px rgba(16,24,40,.18);
}
.pim-home .home-btn--ghost{
  background: rgba(255,255,255,.08);
  color:#fff;
  border: 2px solid rgba(255,255,255,.22);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.pim-home .home-btn--yellow{
  background:#facc15;
  color:#0b1320;
  padding: 16px 22px;
  border-radius: 16px;
  box-shadow: 0 14px 28px rgba(16,24,40,.14);
}
.pim-home .home-btn--dark{
  background:#0b1320;
  color:#fff;
  box-shadow: 0 14px 28px rgba(16,24,40,.22);
}

/* =========================================================
   FULL BLEED (la clave) — SIN bordes en Safari/móvil
   ========================================================= */
.pim-home .home-hero,
.pim-home .home-cta{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
}

/* =========================================================
   HERO
   ========================================================= */
.pim-home .home-hero{
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  overflow: hidden;
  background: #0b1320;
}

.pim-home .home-hero__bg{
  position:absolute;
  inset:0;
  background-image: url("http://pimpise.es/wp-content/uploads/2026/02/Edificio-hero-scaled.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: saturate(1.05) contrast(1.05);
  transform: scale(1.02);
}

.pim-home .home-hero__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(9,14,25,.92) 0%,
      rgba(9,14,25,.78) 42%,
      rgba(9,14,25,.50) 70%,
      rgba(250,204,21,.10) 100%
    ),
    radial-gradient(1200px 650px at 78% 55%, rgba(250,204,21,.18), transparent 55%),
    radial-gradient(900px 520px at 10% 40%, rgba(37,99,235,.14), transparent 62%);
}

.pim-home .home-hero__lines{
  position:absolute;
  inset:-40px;
  background:
    repeating-linear-gradient(135deg,
      rgba(250,204,21,.08) 0px,
      rgba(250,204,21,.08) 1px,
      transparent 1px,
      transparent 90px
    );
  opacity: .22;
  pointer-events:none;
  mix-blend-mode: overlay;
}

.pim-home .home-hero__inner{
  position: relative;
  max-width: var(--inmuebles-max);
  margin: 0 auto;
  padding: 120px var(--inmuebles-pad) 70px;
  box-sizing: border-box;
  color:#fff;
}

.pim-home .home-hero__grid{
  display:grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 26px;
  align-items: center;
}

.pim-home .home-hero__title{
  margin: 18px 0 12px;
  font-size: 76px;
  line-height: 1.02;
  letter-spacing: -1.2px;
  font-weight: 900;
}
.pim-home .home-hero__title span{ color: #facc15; }

.pim-home .home-hero__sub{
  margin: 0;
  font-size: 18px;
  line-height: 1.7;
  color: rgba(255,255,255,.82);
  font-weight: 500;
  max-width: 70ch;
}

.pim-home .home-hero__cta{
  margin-top: 22px;
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* Stats (glass) */
.pim-home .home-hero__stats{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
}

.pim-home .stat-card{
  position: relative;
  border-radius: 18px;
  padding: 18px 18px 16px;
  color: #fff;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.20);
  box-shadow:
    0 22px 60px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter: blur(22px) saturate(1.2);
  -webkit-backdrop-filter: blur(22px) saturate(1.2);
}

.pim-home .stat-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  background:
    linear-gradient(135deg,
      rgba(255,255,255,.18) 0%,
      rgba(255,255,255,.06) 35%,
      rgba(255,255,255,0) 70%
    );
  pointer-events:none;
}

.pim-home .stat-card__big{
  font-size: 34px;
  font-weight: 900;
  letter-spacing: -0.6px;
  color: #facc15;
}
.pim-home .stat-card__label{
  font-size: 15px;
  font-weight: 900;
  margin-top: 6px;
  color: rgba(255,255,255,.92);
}
.pim-home .stat-card__sub{
  margin-top: 4px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.70);
}

/* =========================================================
   ABOUT + FEATURES
   ========================================================= */
.pim-home .home-about{
  padding: 74px 0 64px;
  background:#fff;
}

.pim-home .home-features{
  margin-top: 42px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 22px;
}

.pim-home .feature-card{
  text-align:left;
  background:#fff;
  border: 1px solid rgba(16,24,40,.10);
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 10px 26px rgba(16,24,40,.06);
}
.pim-home .feature-ico{
  width: 46px; height: 46px;
  border-radius: 14px;
  background: #facc15;
  color:#0b1320;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom: 14px;
  box-shadow: 0 14px 24px rgba(250,204,21,.24);
}
.pim-home .feature-card h3{
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -0.2px;
  color:#0b1220;
}
.pim-home .feature-card p{
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(11,18,32,.70);
  font-weight: 500;
}

/* =========================================================
   FEATURED INMUEBLES
   ========================================================= */
.pim-home .home-featured{
  padding: 70px 0 30px;
  background: #fff;
}

.pim-home .home-inmuebles-grid{
  margin-top: 34px;
  margin-bottom: 34px;
}

.pim-home .inmuebles-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
}

.pim-home .inmueble-card{
  background:#fff;
  border:1px solid #e9edf2;
  border-radius:22px;
  overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease;
}
.pim-home .inmueble-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 35px rgba(16,24,40,.12);
}
.pim-home .inmueble-card a,
.pim-home .inmueble-card a:hover{
  color:inherit;
  text-decoration:none !important;
  display:block;
}
.pim-home .inmueble-media{ position:relative; }
.pim-home .inmueble-card img{
  width:100%;
  height:240px;
  object-fit:cover;
  display:block;
  border-radius:22px 22px 0 0;
}
.pim-home .inmueble-card .badge-op{
  position:absolute;
  top:18px;
  right:18px;
  background:#facc15;
  color:#111;
  font-size:14px;
  font-weight:400;
  padding:6px 14px;
  border-radius:999px;
  box-shadow:0 6px 14px rgba(16,24,40,.12);
}
.pim-home .inmueble-card .inmueble-body{ padding:18px 18px 16px; }
.pim-home .inmueble-card .inmueble-title{
  margin:0 0 8px;
  font-size:22px;
  font-weight:700;
  line-height:1.15;
  letter-spacing:-0.2px;
}
.pim-home .inmueble-card .inmueble-ubicacion{
  margin:0 0 14px;
  font-size:15px;
  font-weight:500;
  opacity:.85;
}
.pim-home .inmueble-card .inmueble-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:10px 0 12px;
}
.pim-home .inmueble-card .inmueble-chip{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border:2px solid #0b1320;
  border-radius:999px;
  font-weight:600;
  font-size:14px;
  line-height:1;
  background:#fff;
}
.pim-home .inmueble-card .inmueble-meta{
  list-style:none;
  padding:0;
  margin:0 0 12px;
  display:flex;
  gap:14px;
  font-weight:400;
  opacity:.70;
  font-size:14px;
}
.pim-home .inmueble-card .inmueble-meta li{ margin:0; padding:0; }
.pim-home .inmueble-card .inmueble-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #eef2f6;
}
.pim-home .inmueble-card .inmueble-precio{ margin:0; display:inline-flex; align-items:baseline; }
.pim-home .inmueble-card .inmueble-precio-num{ font-size:24px; font-weight:700; line-height:1; }
.pim-home .inmueble-card .inmueble-precio-periodo{
  font-size:13px;
  font-weight:400;
  margin-left:2px;
  opacity:.8;
  line-height:1;
  position:relative;
  top:-1px;
}
.pim-home .inmueble-card .inmueble-btn{
  background:#0b1320;
  color:#fff;
  padding:10px 16px;
  border-radius:12px;
  font-size:14px;
  font-weight:700;
  white-space:nowrap;
}

.pim-home .home-empty{
  text-align:center;
  color: rgba(11,18,32,.70);
  font-weight: 700;
  padding: 22px 0;
}

/* =========================================================
   CTA BAND (full width)
   ========================================================= */
.pim-home .home-cta{
  background: #facc15;
  padding: 90px 0;
}

.pim-home .home-cta__inner{
  max-width: 980px;
  margin: 0 auto;
  padding: 0 var(--inmuebles-pad);
  text-align: center;
  box-sizing: border-box;
}
.pim-home .home-cta__inner h2{
  margin: 0 0 14px;
  font-size: 56px;
  line-height: 1.05;
  letter-spacing: -0.8px;
  font-weight: 900;
  color: #0b1320;
}
.pim-home .home-cta__inner p{
  margin: 0 auto 24px;
  max-width: 78ch;
  font-size: 18px;
  line-height: 1.7;
  color: rgba(11,18,32,.75);
  font-weight: 600;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1200px){
  .pim-home .home-hero__title{ font-size: 64px; }
}

@media (max-width: 980px){
  .pim-home .home-hero__inner{ padding: 92px var(--inmuebles-pad) 56px; }
  .pim-home .home-hero__grid{
    grid-template-columns: 1fr;
    gap: 18px;
    align-items: start;
  }
  .pim-home .home-hero__stats{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pim-home .home-h2{ font-size: 40px; }
  .pim-home .home-features{ grid-template-columns: 1fr; }
  .pim-home .inmuebles-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pim-home .home-cta__inner h2{ font-size: 42px; }
}

@media (max-width: 640px){
  .pim-home .home-hero__inner{ padding: 82px 20px 44px; }
  .pim-home .home-hero__title{ font-size: 44px; letter-spacing: -0.8px; }
  .pim-home .home-hero__sub{ font-size: 15px; }
  .pim-home .home-btn{ width: 100%; }
  .pim-home .home-hero__stats{ grid-template-columns: 1fr; }
  .pim-home .home-h2{ font-size: 34px; }
  .pim-home .home-about{ padding: 58px 0 54px; }
  .pim-home .home-featured{ padding: 56px 0 22px; }
  .pim-home .inmuebles-grid{ grid-template-columns: 1fr; }
  .pim-home .inmueble-card img{ height: 220px; }
  .pim-home .home-cta{ padding: 70px 0; }
  .pim-home .home-cta__inner h2{ font-size: 34px; }
  .pim-home .home-cta__inner p{ font-size: 16px; }
}
/* =========================================================
   HOME — DESBLOQUEAR RECORTE DE GENERATEPRESS (la clave)
   Si la Home queda "encapsulada", es porque un wrapper padre recorta (overflow)
   ========================================================= */
body.home #page,
body.home #content,
body.home .site-content,
body.home .content-area,
body.home .site-main,
body.home .inside-article,
body.home .entry-content,
body.home .grid-container,
body.home .inside-site-info{
  overflow: visible !important;     /* <- ESTA es la diferencia */
}

/* Quita límites de ancho del contenedor solo en HOME */
body.home .site-content,
body.home .content-area,
body.home .site-main,
body.home .inside-article,
body.home .entry-content{
  max-width: none !important;
  width: 100% !important;
}

/* Y ahora sí: tus secciones full-bleed (hero + cta) */
body.home .pim-home .home-hero,
body.home .pim-home .home-cta{
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

@supports (width: 100dvw){
  body.home .pim-home .home-hero,
  body.home .pim-home .home-cta{
    width: 100dvw !important;
    max-width: 100dvw !important;
    margin-left: calc(50% - 50dvw) !important;
    margin-right: calc(50% - 50dvw) !important;
  }
}
/* Quitar caja de las quotes y dejar solo texto */
.pim-about .ab-quote{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  margin-top: 18px; /* si quieres mantener separación */
}

/* Quitar la “barrita” lateral amarilla/oscura */
.pim-about .ab-quote--yellow,
.pim-about .ab-quote--dark{
  border-left: 0 !important;
}
