/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

html {
    scroll-behavior: smooth;
}
[id] {
    scroll-margin-top: var(--header-height, 100px); /* Usa la altura real, y si falla, usa 100px */
}
/* --- HEADER --- */
.site-header{
    position: sticky;
    top:0;
    z-index: 2;
    padding:12px var(--padding-h);
}
.site-header.--is-sticky{
    box-shadow:0px 0px 8px rgba(0,0,0,0.15);
}
.inside-header{
    padding:0;
}
.menu-toggle{
    font-size: 20px;
    line-height: 48px;
    width: 48px;
    padding: 0 6px;
}

/* --- TOP BAR --- */
.top-bar{
    font-size: 0.95rem;
    background: var(--dark);
     padding:4px  var(--padding-h);
}

.top-bar__container{
    display:flex;
    justify-content: space-between;
    width: 100%;
}
.top-bar__contact{
    display:flex;
    gap:1rem;
}
.top-bar a{
    color:#ccc;
    text-decoration: none;
    display: inline-block;
    &:hover{
        color:#fff;
    }
}
.top-bar__contact a i{
    margin-right:4px;
}
.top-bar__social{
    display:flex;
    gap:0.5rem;

}
.top-bar__social a{
    height:24px;
    width: 24px;
}
@media (max-width: 768px) {
    .top-bar__contact a:nth-child(2){
        display: none;
    }  
}

/* --- Menú --- */
.mobile-menu-control-wrapper .menu-toggle, .mobile-menu-control-wrapper .menu-toggle:hover, .mobile-menu-control-wrapper .menu-toggle:focus, .has-inline-mobile-toggle #site-navigation.toggled{
    background: var(--light);
}
.main-navigation .main-nav ul li[class*="current-menu-"] > a{
        font-weight: var(--bold1);
}
.main-navigation .main-nav ul li[class*="current-menu-item"] a[href*="#"] {
    color: var(--contrast);
    font-weight: inherit;
    background-color: transparent;
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li[class*="current-menu-item"] a[href*="#"]:hover {
    color: var(--primary);
}

.menu-item-has-children a{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
@media (max-width: 1199px) {
    .main-navigation .main-nav ul li.menu-item-has-children>a{
       margin-right: 20px;
    }
    .toggled .menu-item-has-children .dropdown-menu-toggle{
        padding:0;
    }
    .gp-icon svg{top:2px;}
    .menu-item-has-children .dropdown-menu-toggle{
        background: var(--primary);
        color:#fff;
        font-size: 25px;
        padding: 0;
        width: 32px;
        height: 32px;
        display: grid;
        place-content: center;
        border-radius: 4px;
    }
    .main-navigation.toggled .main-nav ul ul{
        background: rgba(0,0,0,0.05);
        border-top:1px solid rgba(0,0,0,.05);
    }
}

/* --- FOOTER --- */
.c-footer {
    background-color: #000;
    color: #fff;
}

.c-footer__info{
    padding: 60px var(--padding-h);
}
.c-footer__container {
    max-width: 1280px;
    margin: 0 auto;

    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
}

/* Modificador para la parte legal (split entre izquierda y derecha) */
.c-footer__container--split {
    align-items: center;
}

/* Elementos internos */
.c-footer__box:first-child{
    width:100%;
} 
.c-footer__box {
    width:calc(33.33% - 60px);
}

.c-footer__title {
    font-weight: bold;
    font-size: 1.1rem;
    margin-bottom: 8px;
    color: #fff;
    text-transform: uppercase;
}

.c-footer__text {
    color: #ccc;
    font-size: 0.9rem;
    line-height: 1.4;
    margin-bottom: 4px;
}

.c-footer__link {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s;
}

.c-footer__link:hover {
    color: #D4AF37; /* Color dorado para abogados */
}

/* Mapas */
.c-footer__map {
    margin-top: 15px;
    height: 150px;
}

.c-footer__map iframe {
    width: 100%;
    height: 100%;
    
}

/* Separadores verticales (vline) */
.c-footer__divider {
    width: 1px;
    background-color: #333;
    display: block;
}

/* Banda Legal */
.c-footer__legal {
    background-color: #111;
    border-top: 1px solid #222;
    color: #888;
    font-size: 0.9rem;
    padding: 20px var(--padding-h);
}

.c-footer__legal-links a {
    color: #888;
    text-decoration: none;
}
.c-footer__credits a{
        color: #888;
    text-decoration: none;
}

@media (max-width: 768px) {
    .c-footer__divider { margin:0.5rem 0;        width: 100%;
        height: 1px;}
        .c-footer__box:first-child{
            border-bottom:1px solid #333;
            padding-bottom: 1.5rem;
            margin-bottom: 1rem;
        }
    .c-footer__container { flex-direction: column; }
    .c-footer__box{width:100%;}
}

.site-footer{
        display: none;
}

/* --- HERO-SLIDER --- */
.hero-slider__img{
    height:80vh;
    align-items: flex-end;
    padding: min(var(--padding-v), 3.5rem) var(--padding-h)!important;
    color:#fff;
    text-align: center;
}
.hero-slider__item{
    text-align: center;
}
.hero-slider__title{
    font-family: var(--font2);
    font-weight: var(--bold2);
    --min-size:24;
    --max-size:48;
}
@media (max-width: 768px) {
    .hero-slider{
        --wp--custom--carousel-block--navigation-alignfull-color:#fff;
        --wp--preset--font-size--medium:1rem;
    }
    .hero-slider .hero-slider__img{
        flex-direction:column;
        padding: 0!important;
        height:auto;
    }
    .hero-slider__img img{
    position: relative!important;
  }  
  .hero-slider .wp-block-cover__background{
        display:none;
  }
  .hero-slider .wp-block-cover__inner-container{
    padding:2rem 1.5rem; 
    background:var(--dark);    
    }
}


/*-- Formulario --*/ 
.fluentform .ff-el-group.ff-el-form-top .ff-el-input--label{
    display: none;
}
.fluentform .ff-el-group{
    margin-bottom:12px;
}


/*-- Blog --*/
.blog .wp-block-search__label,
.category .wp-block-search__label{
    display:none;
}
.blog .title--3,
.category .title--3{
    font-family: var(--font1);
    font-weight: var(--bold1);
}
.blog .entry-title, .single .entry-title,
.category .page-title{
     font-family: var(--font2);
    font-weight: var(--bold2);   
    font-size:28px;
}
.single .comments-title,
.category .entry-title{
     font-family: var(--font1);
    font-weight: var(--bold1);   
        font-size:22px;
        margin:0 0 0.5rem;
}
.single .comment-reply-title{
         font-family: var(--font1);
    font-weight: var(--bold1);   
        font-size:18px;
        margin:0 0 0.5rem;
}

.widget-area .widget,
 .separate-containers .page-header,
.separate-containers .inside-article{
    padding:20px;
}

/*-- 404 --*/
/* Hacer que el contenedor de la página 404 sea a todo lo ancho */
.error404 .site-content .content-area {
    width: 100%;
    max-width: 100%;
}

/* Si quieres que el texto interior esté centrado y respire */
.error404 .site-main {
    max-width: 1200px; /* O el ancho que uses en tu blog */
    margin: 0 auto;
    padding: 80px 20px;
    text-align: center;
}

/* Estilo para el título 404 */
.error404 .page-title {
    font-size: 50px;
    font-weight: 800;
    color: #1a1a1a;
}

/* Estilo para que el cuadro del error parezca una de tus "cajitas" */
.error404 .page-content {
    background: #ffffff;
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    margin-top: 20px;
}