html {
    box-sizing: border-box;
}

*, *:before, *:after {
    box-sizing: border-box;
}

*:focus{
    outline:none;
}

button{
    font-family:inherit;
}

:where(.wp-site-blocks) > * {
    margin-block-start: 0!important;
    margin-block-end: 0!important;
}

.sb-limit-text {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

.w-full{
    width:100%
}

/* copy of wp default css to a 1000px media query */
@media (min-width: 1024px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: none !important;
    }

    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: block !important;
        width: 100%;
        position: relative;
        z-index: auto;
        background-color: inherit;
    }




    .wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container, .wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container, .wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container {
        height: auto;
        min-width: auto;
        padding: 12px 12px;
        border:1px solid #4A4C4C80;
        /*left:-10px;*/

    }
    .wp-block-navigation .wp-block-navigation-item {
        background:none!important;
    }
    .wp-block-navigation__responsive-container, .wp-block-navigation__responsive-container > div, .wp-block-navigation__responsive-container > div > div, .wp-block-navigation__responsive-container > div > div > div, .wp-block-navigation__responsive-container > div > div > div > div, .wp-block-navigation__responsive-container > div > div > div > ul, .wp-block-navigation__responsive-container > div > div > div > ul li{
        height:100%;
    } 

    /*
    .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
        padding:4px 0px 4px 0px!important;
    }
    */

    /*
    .wp-block-navigation .wp-block-navigation-item *{
        color:#FFF;
    }*/




}

/* neutralize the wp default for 600px */
@media (min-width: 600px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: flex;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none;
    }
}

.wp-block-navigation-item__content, .wp-block-navigation-item__label{
    transition:.25s color ease-in-out;
}






/* arreglar menu movil */


@media (max-width:1024px){
    #modal-1.has-modal-open.is-menu-open button[aria-expanded="true"] ~ ul li:first-child{
      padding-top: 16px;
    }
    #modal-1.has-modal-open.is-menu-open button[aria-expanded="true"] ~ ul li{
      padding: 4px 16px;
    }
    #modal-1.has-modal-open.is-menu-open button[aria-expanded="false"] ~ ul{
      display: none !important;
    }
    /*#modal-1.has-modal-open.is-menu-open button[aria-expanded="true"] ~ .wp-block-navigation__submenu-icon svg{
      transform: rotate(180deg);	
    }*/
    #modal-1.has-modal-open.is-menu-open #modal-1-content > ul > li > button,
    #modal-1.has-modal-open.is-menu-open #modal-1-content > ul > li > a{
      padding-right: 36px !important;
    }
}







.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
    background-color:#fff!important;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
    color:#000!important;
    row-gap:24px!important;
}
@media (max-width:1024px){
    .wp-block-navigation__submenu-container.wp-block-navigation-submenu{
        padding-top: 0px !important;
        gap:0px!important;
    }
}


.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
    padding-left: .7rem!important;
    padding-right: .7rem!important;
}

.wp-block-navigation__responsive-container.is-menu-open {
    padding: 1rem 2rem!important;
}



/* Overlay con transición de opacidad */
.cdb-modal-overlay {
    display: none; /* Se cambia a 'flex' por JS */
    position: fixed;
    z-index: 99999;
    left: 0; top: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(8px);
    opacity: 0;
    transition: opacity 0.3s ease;
    justify-content: center;
    align-items: center;
}

/* Estado activo del overlay */
.cdb-modal-overlay.is-active {
    opacity: 1;
}

/* Contenido con efecto de "emergencia" (scale) */
.cdb-modal-content {
    background: #ffffff;
    padding: 40px;
    border-radius: 20px;
    width: 85%;
    max-width: 450px;
    position: relative;
    box-shadow: 0 20px 40px rgba(0,0,0,0.4);
    transform: scale(0.9); /* Empieza un poco más pequeño */
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); /* Efecto rebote suave */
}

/* Estado activo del contenido */
.cdb-modal-overlay.is-active .cdb-modal-content {
    transform: scale(1);
}
.cdb-modal-title {
    margin-top: 0;
    font-weight: 700;
    letter-spacing: -0.5px;
    color: #1a1a1a;
}

/* Icono de cerrar */
.cdb-close-icon {
    position: absolute;
    top: 15px; right: 20px;
    font-size: 24px;
    cursor: pointer;
    color: #999;
    transition: color 0.2s;
}
.cdb-close-icon:hover { color: #000; }

/* Input elegante */
.cdb-search-input {
    width: 100%;
    padding: 15px;
    margin: 25px 0 15px;
    border: 2px solid #f0f0f0;
    border-radius: 12px;
    font-size: 16px;
    outline: none;
    transition: border-color 0.3s;
}
.cdb-search-input:focus { border-color: #0073aa; }

/* Botón de envío */
.cdb-search-submit {
    width: 100%;
    background: #5E8A57F0;
    color: #fff;
    padding: 14px;
    border: none;
    border-radius: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.2s, background 0.3s;
}
.cdb-search-submit:hover {
    background: #333;
    transform: translateY(-2px);
}

/* Ajuste para móviles */
@media (max-width: 480px) {
    .cdb-modal-content { margin: 25% auto; padding: 25px; }
}

.hero__overlay{
    position: absolute;
    inset: 0;
    background:
    /* left-to-right gradient for text legibility */
    linear-gradient(90deg,
        rgba(7, 14, 25, 0.78) 0%,
        rgba(7, 14, 25, 0.62) 35%,
        rgba(7, 14, 25, 0.20) 70%,
        rgba(7, 14, 25, 0.05) 100%),
    /* subtle overall tint */
    radial-gradient(1200px 600px at 15% 40%,
        rgba(20, 94, 164, 0.18) 0%,
        rgba(20, 94, 164, 0.00) 60%);
    pointer-events: none;
}


.footer-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  background-color: rgba(94, 138, 87, 0.75);
  pointer-events: none; 
}

.concello-heading {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 20px; /* Reducimos el gap para que en móviles no robe tanto espacio */
  text-align: center;
}

/* Las líneas laterales */
.concello-heading::before,
.concello-heading::after {
  content: "";
  flex: 1;
  height: 3px;
  background-color: #999;
  min-width: 20px; 
}

/* Control del texto */
.concello-heading {
  overflow-wrap: break-word;
  word-break: break-word;
}

@media (max-width:768px){
    .concello-heading {
    gap: 24px; 
    }
}

@media (max-width:560px){
    .concello-heading {
    gap: 16px; 
    }
}

.cdb-breadcrumb *{
    display:inline!important;
}

.border-box{
    box-sizing:border-box;
}

.cdb-link-no-deco a{
    text-decoration:none;
}

.cdb-limit-text-3{
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Número máximo de líneas */
    -webkit-box-orient: vertical;
    overflow: hidden;
}


.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}