/* Ginger Bodas — cabecera única y consistente para todas las páginas principales */

/* Páginas con cabeceras internas antiguas: ocultarlas con más especificidad que su CSS embebido. */
html body.page-id-9 .gbi-header,
html body.page-id-11 .gbi-header,
html body.page-id-13 .gbi-header,
html body.page-id-19 .gbi-header,
html body.page-id-45 .gbi-header{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Algunas páginas antiguas ocultan la cabecera global desde CSS embebido. Esta regla, con mayor especificidad, la restaura. */
html body.home .gb-header,
html body.blog .gb-header,
html body.page-id-9 .gb-header,
html body.page-id-11 .gb-header,
html body.page-id-13 .gb-header,
html body.page-id-19 .gb-header,
html body.page-id-45 .gb-header{
  display:block!important;
  position:absolute!important;
  top:30px!important;
  left:0!important;
  right:0!important;
  z-index:100!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

html body.home .gb-header__inner,
html body.blog .gb-header__inner,
html body.page-id-9 .gb-header__inner,
html body.page-id-11 .gb-header__inner,
html body.page-id-13 .gb-header__inner,
html body.page-id-19 .gb-header__inner,
html body.page-id-45 .gb-header__inner{
  width:min(1220px,calc(100% - 64px))!important;
  max-width:none!important;
  min-height:52px!important;
  margin:0 auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  gap:28px!important;
  align-items:center!important;
}

html body.home .gb-brand,
html body.blog .gb-brand,
html body.page-id-9 .gb-brand,
html body.page-id-11 .gb-brand,
html body.page-id-13 .gb-brand,
html body.page-id-19 .gb-brand,
html body.page-id-45 .gb-brand{
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  justify-self:start!important;
}

html body.home .gb-brand__fallback,
html body.blog .gb-brand__fallback,
html body.page-id-9 .gb-brand__fallback,
html body.page-id-11 .gb-brand__fallback,
html body.page-id-13 .gb-brand__fallback,
html body.page-id-19 .gb-brand__fallback,
html body.page-id-45 .gb-brand__fallback{
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  background:none!important;
}

:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-brand__fallback:before{
  display:none!important;
}

:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-brand__fallback strong{
  display:block!important;
  font-size:0!important;
  line-height:1!important;
  color:#fff!important;
}

:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-brand__fallback strong:after{
  content:'Ginger Bodas';
  display:block;
  font-family:'Playfair Display',Georgia,serif;
  font-size:31px;
  font-weight:500;
  line-height:1;
  letter-spacing:-.045em;
  text-transform:none;
  color:#fff;
}

:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-brand__fallback small{
  display:none!important;
}

:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-nav--desktop{
  justify-self:center!important;
}

:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-menu{
  display:flex!important;
  align-items:center!important;
  gap:30px!important;
  margin:0!important;
  padding:0!important;
}

/* El diseño aprobado no muestra Nosotros en la barra de escritorio. */
:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-nav--desktop .menu-item-47{
  display:none!important;
}

:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-menu,
:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-menu>li{
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
}

:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-nav--desktop .gb-menu>li>a{
  position:relative!important;
  display:block!important;
  padding:10px 0!important;
  color:rgba(255,255,255,.96)!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  text-shadow:0 1px 12px rgba(0,0,0,.55)!important;
  transform:translateY(0)!important;
  transition:color .18s ease,transform .18s ease,text-shadow .18s ease!important;
}

/* Hover editorial: línea fina solo al pasar, nunca fija. */
:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-nav--desktop .gb-menu>li>a:before{
  display:none!important;
  content:none!important;
}

:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-nav--desktop .gb-menu>li>a:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:50%!important;
  bottom:3px!important;
  width:100%!important;
  height:1px!important;
  background:#F1D8D2!important;
  border:0!important;
  opacity:.95!important;
  transform:translateX(-50%) scaleX(0)!important;
  transform-origin:center!important;
  transition:transform .18s ease!important;
}

:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-nav--desktop .gb-menu>li>a:hover{
  color:#F1D8D2!important;
  opacity:1!important;
  transform:translateY(-1px)!important;
  text-shadow:0 2px 14px rgba(0,0,0,.65)!important;
}

:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-nav--desktop .gb-menu>li>a:hover:after{
  transform:translateX(-50%) scaleX(1)!important;
}

:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-nav--desktop .gb-menu .current-menu-item>a,
:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-nav--desktop .gb-menu .current_page_item>a,
:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-nav--desktop .gb-menu .current-menu-ancestor>a{
  color:#F1D8D2!important;
  opacity:1!important;
}

:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-header-cta{
  justify-self:end!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-width:132px!important;
  min-height:38px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:999px!important;
  background:#A84F4B!important;
  color:#fff!important;
  font-size:0!important;
  text-decoration:none!important;
  box-shadow:none!important;
}

:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-header-cta:before{
  content:'Consultar';
  display:inline-block!important;
  font-family:Montserrat,Arial,sans-serif;
  font-size:9px;
  line-height:1;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}

:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-header-cta span{
  font-size:11px!important;
  margin:0!important;
}

:where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-header-cta:hover{
  background:#7A2E36!important;
  color:#fff!important;
}

/* Menú móvil: misma cabecera, con panel legible sobre fondo claro. */
@media(max-width:1050px){
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-header__inner{
    width:calc(100% - 42px)!important;
    grid-template-columns:1fr auto!important;
  }
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-nav--desktop,
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-header-cta{
    display:none!important;
  }
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-mobile-toggle{
    display:block!important;
    justify-self:end!important;
  }
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-mobile-toggle span{
    background:#fff!important;
  }
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-mobile-panel{
    background:#FFFCF9!important;
    border-top:1px solid rgba(122,46,54,.12)!important;
    box-shadow:0 18px 42px rgba(35,25,20,.12)!important;
  }
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-nav--mobile .gb-menu{
    display:block!important;
  }
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-nav--mobile .gb-menu a{
    color:#2A2522!important;
    text-shadow:none!important;
    padding:13px 0!important;
    border-bottom:1px solid rgba(122,46,54,.10)!important;
    font-size:11px!important;
  }
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-nav--mobile .gb-menu .current-menu-item>a,
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-nav--mobile .gb-menu .current_page_item>a{
    color:#7A2E36!important;
  }
}

@media(max-width:760px){
  html body.home .gb-header,
  html body.blog .gb-header,
  html body.page-id-9 .gb-header,
  html body.page-id-11 .gb-header,
  html body.page-id-13 .gb-header,
  html body.page-id-19 .gb-header,
  html body.page-id-45 .gb-header{
    top:22px!important;
  }
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-header__inner{
    width:calc(100% - 20px)!important;
    min-height:44px!important;
    display:block!important;
    position:relative!important;
    padding-right:56px!important;
  }
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-brand,
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-brand__link,
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-brand__fallback,
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-brand__fallback strong,
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-brand__fallback strong:after{
    white-space:nowrap!important;
  }
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-brand{
    display:block!important;
    width:auto!important;
    max-width:calc(100% - 60px)!important;
  }
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-brand__fallback strong:after{
    font-size:31px!important;
  }
  :where(body.home,body.blog,body.page-id-9,body.page-id-11,body.page-id-13,body.page-id-19,body.page-id-45) .gb-mobile-toggle{
    position:absolute!important;
    right:0!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    margin:0!important;
    justify-self:auto!important;
    z-index:20!important;
  }

  body.home .gb-edit-pack-grid{
    position:relative!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:calc(100vw - 12px)!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  body.home .gb-edit-pack-grid>.wp-block-group__inner-container{
    display:block!important;
    width:100%!important;
    max-width:none!important;
  }
  body.home .gb-edit-pack{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0 0 14px!important;
  }
  body.home .gb-edit-pack>.wp-block-group__inner-container{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
  }
  body.home .gb-edit-pack>.wp-block-group__inner-container>.wp-block-image{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    aspect-ratio:16/10!important;
    overflow:hidden!important;
  }
  body.home .gb-edit-pack>.wp-block-group__inner-container>.wp-block-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
  }
  body.home .gb-edit-pack-copy{
    display:block!important;
    width:100%!important;
    padding:18px 18px 20px!important;
    min-width:0!important;
    overflow:visible!important;
  }
  body.home .gb-edit-pack-copy h3{
    margin:0 0 4px!important;
    font-size:28px!important;
    line-height:1.08!important;
  }
  body.home .gb-edit-pack-copy .gb-edit-price{
    display:block!important;
    font-size:24px!important;
    line-height:1.2!important;
  }
  body.home .gb-edit-pack-copy h3,
  body.home .gb-edit-pack-copy .gb-edit-price,
  body.home .gb-edit-pack-copy *{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}
