/*
 * SGN Custom Styles - Clean Version
 * Custom styles for SEGIB website modifications
 * All classes use sgn_ prefix to avoid cross-contamination
 */

/* Font Imports */

@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;0,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,700;1,400;1,500&display=swap");


/* Typography System
.sgn-headline-1 {
    font-family: 'Lato', sans-serif;
    font-weight: 900;
    font-size: 65px;
    line-height: 1.2;
    font-style: normal;
}

.sgn-headline-2 {
    font-family: 'Lato', sans-serif;
    font-weight: 900;
    font-size: 35px;
    line-height: 1.2;
    font-style: normal;
}

.sgn-subheadline {
    font-family: 'Lato', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.4;
    font-style: normal;
}

.sgn-text-regular {
    font-family: 'Lato', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    font-style: normal;
}

.sgn-text-small {
    font-family: 'Lato', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.4;
    font-style: normal;
}

.sgn-date-text {
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.2;
}

.sgn-playfair-heading {
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 26px;
    line-height: 1.2;
    font-style: normal;
} */

.sgn-playfair-quote {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.3;
    font-style: normal;
}

/* @media (max-width: 991px) {
    .sgn-headline-1 {
        font-size: 45px;
    }
    
    .sgn-headline-2 {
        font-size: 28px;
    }
    
    .sgn-subheadline {
        font-size: 18px;
    }
    
    .sgn-playfair-heading {
        font-size: 22px;
    }
} */


/* Utility Classes */

.sgn-u-text-center {
    text-align: center;
}

.sgn-u-text-right {
    text-align: right;
}

.sgn-u-text-left {
    text-align: left;
}

.sgn-u-mb-16 {
    margin-bottom: 16px;
}

.sgn-u-mb-24 {
    margin-bottom: 24px;
}

.sgn-u-mb-32 {
    margin-bottom: 32px;
}


/* News Block Component */

ul.wp-block-post-template:has(.sgn_newsblock_image),
ul.wp-block-post-template:has([class*="newsblock_image"]) {
    display: block !important;
}

li.wp-block-post:has(.sgn_newsblock_image) {
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    margin-top: 0 !important;
    margin-bottom: 32px !important;
}

li.wp-block-post:has(.sgn_newsblock_image):last-child {
    margin-bottom: 0 !important;
}

li.wp-block-post:has(.sgn_newsblock_image) .wp-block-group.has-blanco-vjv-background-color {
    display: flex !important;
    flex-direction: row !important;
    position: relative !important;
    min-height: 275px !important;
    padding: 0 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    width: 100% !important;
    min-width: 100% !important;
}

.sgn_newsblock_image {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 351px !important;
    height: 100% !important;
    min-height: 275px !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 16px 0 0 16px !important;
    overflow: hidden !important;
}

.sgn_newsblock_image img {
    width: 351px !important;
    height: 100% !important;
    min-height: 275px !important;
    max-height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    display: block !important;
}

.sgn_newsblock_textWrapper {
    width: calc(100% - 351px) !important;
    background-color: #FAFAFA !important;
    padding: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    box-sizing: border-box !important;
    border-radius: 0 16px 16px 0 !important;
    min-height: 275px !important;
    margin-left: 351px !important;
}

.sgn_newsblock_textWrapper time,
.sgn_newsblock_textWrapper .sgn_newsblock_date,
.sgn_newsblock_textWrapper .sgn_newsblock_date,
.sgn_newsblock_textWrapper .sgn_newsblock_title,
.sgn_newsblock_textWrapper .sgn_newsblock_title,
.sgn_newsblock_textWrapper .sgn_newsblock_excerpt,
.sgn_newsblock_textWrapper .sgn_newsblock_bottomWrapper,
.sgn_newsblock_textWrapper .wp-block-post-date,
.sgn_newsblock_textWrapper .wp-block-post-title,
.sgn_newsblock_textWrapper .wp-block-post-excerpt,
.sgn_newsblock_textWrapper .wp-block-post-excerpt__excerpt,
.sgn_newsblock_textWrapper .wp-block-post-terms,
.sgn_newsblock_textWrapper .taxonomy-post_tag {
    margin: 0 !important;
}

.sgn_newsblock_date,
.sgn_newsblock_date,
.sgn_newsblock_textWrapper .wp-block-post-date,
.sgn_newsblock_textWrapper time {
    font-family: 'Lato', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    text-align: left !important;
}

.sgn_newsblock_title,
.sgn_newsblock_title,
.sgn_newsblock_textWrapper .wp-block-post-title,
.sgn_newsblock_textWrapper .wp-block-post-title a,
.sgn_newsblock_textWrapper h2.wp-block-post-title {
    font-family: 'Playfair Display', serif !important;
    font-weight: 500 !important;
    font-size: 26px !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    padding-left:0px !important;
}

.sgn_newsblock_excerpt,
.sgn_newsblock_textWrapper .wp-block-post-excerpt,
.sgn_newsblock_textWrapper .wp-block-post-excerpt__excerpt {
    font-family: 'Lato', sans-serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.sgn_newsblock_bottomWrapper {
    margin-top: auto !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    gap: 16px !important;
}

.sgn_newsblock_hashtags,
.sgn_newsblock_hashtags,
.sgn_newsblock_bottomWrapper .wp-block-post-terms,
.sgn_newsblock_bottomWrapper .taxonomy-post_tag {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    align-items: center !important;
}

.sgn_newsblock_hashtags,
.sgn_newsblock_hashtags,
.sgn_newsblock_textWrapper .wp-block-post-excerpt__excerpt,
.sgn_newsblock_textWrapper .taxonomy-post_tag,
.sgn_newsblock_textWrapper .wp-block-post-terms {
    padding-left: 0 !important;
}

.sgn_newsblock_hashtags a,
.sgn_newsblock_hashtags a,
.sgn_newsblock_bottomWrapper .wp-block-post-terms a,
.sgn_newsblock_bottomWrapper .taxonomy-post_tag a {
    font-family: 'Lato', sans-serif !important;
    font-weight: 700 !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    color: #000000 !important;
    padding: 6px 12px !important;
    border-radius: 24px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all 0.3s ease !important;
    display: inline-block !important;
}

.sgn_newsblock_hashtags a:hover,
.sgn_newsblock_hashtags a:hover,
.sgn_newsblock_bottomWrapper .wp-block-post-terms a:hover,
.sgn_newsblock_bottomWrapper .taxonomy-post_tag a:hover {
    opacity: 0.85 !important;
    transform: translateY(-2px) !important;
}

.sgn_newsblock_hashtags .wp-block-post-terms__separator,
.sgn_newsblock_hashtags .wp-block-post-terms__separator,
.sgn_newsblock_bottomWrapper .sgn_newsblock_hashtags .wp-block-post-terms__separator,
.sgn_newsblock_bottomWrapper .sgn_newsblock_hashtags .wp-block-post-terms__separator {
    display: none !important;
}

.sgn_newsblock_bottomWrapper .wp-block-post-terms__separator {
    padding-left: 4px !important;
    padding-right: 4px !important;
}

.sgn_newsblock_readmore,
.sgn_newsblock_bottomWrapper .wp-block-read-more {
    font-family: 'Lato', sans-serif !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    text-align: right !important;
    text-decoration: none !important;
    color: #000000 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}


.sgn_newsblock_textWrapper .wp-block-group:has(.sgn_newsblock_readmore),
.sgn_newsblock_textWrapper .wp-block-group:has(.wp-block-read-more),
.sgn_newsblock_textWrapper div:has(.wp-block-read-more) {
    width: 100% !important;
    align-self: stretch !important;
    flex-grow: 1 !important;
}

@media (max-width: 768px) {
    li.wp-block-post:has(.sgn_newsblock_image) .wp-block-group.has-blanco-vjv-background-color {
        flex-direction: column !important;
        min-height: auto !important;
    }
    
    .sgn_newsblock_image {
        position: relative !important;
        width: 100% !important;
        height: 200px !important;
        min-height: 200px !important;
        border-radius: 16px 16px 0 0 !important;
    }
    
    .sgn_newsblock_image img {
        width: 100% !important;
        height: 200px !important;
        min-height: 200px !important;
    }
    
    .sgn_newsblock_textWrapper {
        width: 100% !important;
        margin-left: 0 !important;
        border-radius: 0 0 16px 16px !important;
        min-height: auto !important;
    }
    
    .sgn_newsblock_title,
    .sgn_newsblock_textWrapper .wp-block-post-title {
        font-size: 22px !important;
    }
    
    .sgn_newsblock_bottomWrapper {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }
    
    .sgn_newsblock_readmore,
    .sgn_newsblock_bottomWrapper .wp-block-read-more {
        text-align: left !important;
        align-self: flex-start !important;
    }
}


/* Universal Query Loop Fade-in Animation */

.sgn_loopfadein .sgn-will-animate,
[class*="sgn_loopfadein"] .sgn-will-animate {
    opacity: 0 !important;
    transform: translateY(30px) !important;
}

.sgn_loopfadein .sgn-fade-in,
[class*="sgn_loopfadein"] .sgn-fade-in {
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: opacity 0.6s ease-out, transform 0.6s ease-out !important;
}

.sgn_loopfadein .sgn-fade-complete,
[class*="sgn_loopfadein"] .sgn-fade-complete {
    transition: opacity 0.6s ease-out, transform 0.3s ease !important;
}

.sgn_loopfadein > *:not(.sgn-will-animate),
[class*="sgn_loopfadein"] > *:not(.sgn-will-animate) {
    opacity: 1;
    transform: none;
}

.sgn_loopfadein .sgn-will-animate .sgn_program_item,
.sgn_loopfadein .sgn-fade-in .sgn_program_item,
[class*="sgn_loopfadein"] .sgn-will-animate .sgn_program_item,
[class*="sgn_loopfadein"] .sgn-fade-in .sgn_program_item {
    pointer-events: none;
}

.sgn_loopfadein .sgn-fade-complete .sgn_program_item,
[class*="sgn_loopfadein"] .sgn-fade-complete .sgn_program_item {
    pointer-events: auto;
}


/* Program Cards Component */

li.wp-block-post:has(.sgn_program_item) {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 32px;
}

li.wp-block-post:has(.sgn_program_item):last-child {
    margin-bottom: 0;
}

.sgn_program_item {
    background-color: #F5F5F5;
    border-top-left-radius: 20px !important;
    border-top-right-radius: 20px !important;
    border-bottom-left-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    cursor: pointer;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0);
}

.sgn_program_item:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
}

.sgn_program_item.sgn-clickable::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.sgn_program_item.sgn-clickable * {
    position: relative;
    z-index: 2;
}

.sgn_program_image {
    width: 100%;
    height: 175px;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.sgn_program_image img {
    width: 100%;
    height: 175px;
    object-fit: cover;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    display: block;
    margin: 0;
    transition: transform 0.3s ease !important;
    transform: scale(1) !important;
}

.sgn_program_item:hover .sgn_program_image img {
    transform: scale(1.05) !important;
}

.sgn_program_titlebox {

    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-grow: 1;
}

.sgn_program_title,
.sgn_program_titlebox h3.sgn_program_title {
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.3;
    text-align: center;
    margin: 0;
    padding: 0;
}

.sgn_program_title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}


@media (max-width: 768px) {
    .sgn_program_titlebox {
        min-height: 5rem;
        padding: 16px;
    }
    
    .sgn_program_title,
    .sgn_program_titlebox h3.sgn_program_title {
        font-size: 16px;
    }
}


/* Accordion Document List Component */
.sgn_accordion1 {
}

.sgn_accordion1_itembox {
    background-color: #F5F5F5;
    border-radius: 12px;
    padding: 16px 20px 16px 40px;
    margin-bottom: 12px;
    position: relative;
    transition: background-color 0.3s ease;
    cursor: pointer;
}

.sgn_accordion1_itembox:last-child {
    margin-bottom: 0;
}

.sgn_accordion1_itembox:hover {
    background-color: #e6f1f2 !important;
}

.sgn_accordion1_itembox::before {
    content: "•";
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    color: #000000 !important;
}

.sgn_accordion1_title {
    font-family: 'Lato', sans-serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    padding: 0 !important;
    color: #000000 !important;
    margin-left:24px !important;
}

.sgn_accordion1_title a {
    color: #000000 !important;
    text-decoration: none !important;
    font-family: 'Lato', sans-serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
}

.sgn_accordion1_title a:hover {
    color: var(--wp--preset--color--primario-vjv) !important;
    text-decoration: underline !important;
}

.sgn_accordion1_itembox.sgn-clickable::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.sgn_accordion1_itembox.sgn-clickable * {
    position: relative;
    z-index: 2;
}



/* Events Module Component */

.sgn_events1_loop {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.sgn_events1_item {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    background-color: #EAEBEB !important;
    border-radius: 34px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    position: relative !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    transform: translateY(0) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

.sgn_events1_item:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15) !important;
}

.sgn_events1_loop .sgn_events1_item:nth-child(even),
.sgn_events1_loop li:nth-child(even) .sgn_events1_item,
.sgn_events1_item:nth-child(even),
body.home .sgn_events1_loop .sgn_events1_item:nth-child(even),
body.home .sgn_events1_loop li:nth-child(even) .sgn_events1_item,
body.front-page .sgn_events1_loop .sgn_events1_item:nth-child(even),
body.front-page .sgn_events1_loop li:nth-child(even) .sgn_events1_item {
    background-color: #D9D9D9 !important;
    background: #D9D9D9 !important;
    background-image: none !important;
}

.sgn_events1_date,
.sgn_events1_date .value,
.sgn_events1_date .value p {
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
}

.sgn_events1_excert {
    margin: 0 !important;
    color: inherit !important;
    flex-grow: 1 !important;
}

.sgn_events1_hashtag_group {
    margin-top: auto !important;
    margin-bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}




.sgn_events1_tag1 {
    margin: 0 !important;
    display: inline-block !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.sgn_events1_tag2 {
    margin: 0 !important;
    display: inline-block !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.sgn_events1_tag1:hover,
.sgn_events1_tag2:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
    text-decoration: none !important;
}

.sgn_events1_loop li.wp-block-post.evento.sgn-clickable {
    position: relative;
    cursor: pointer;
}

.sgn_events1_loop li.wp-block-post.evento.sgn-clickable::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.sgn_events1_loop li.wp-block-post.evento.sgn-clickable * {
    position: relative;
    z-index: 2;
}

@media (max-width: 768px) {
    .sgn_events1_loop {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

}

/* Document Button Component */

.sgn_documentbutton1 {
    background: linear-gradient(90deg, var(--wp--preset--color--primario-vjv) 90px, #F7F8F8 90px) !important;
    background-color: transparent !important;
    min-height: 90px !important;
    border-radius: 20px !important;
    align-items: center !important;
    margin-bottom: 24px !important;
    cursor: pointer !important;
    flex-wrap: nowrap !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    transform: translateY(0) !important;
    box-shadow: 0 12px 12px -10px rgba(0, 0, 0, 0) !important;
}

.sgn_documentbutton1.sgn-clickable {
    position: relative;
}

.sgn_documentbutton1.sgn-clickable::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.sgn_documentbutton1.sgn-clickable * {
    position: relative;
    z-index: 2;
}

.sgn_documentbutton1:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 12px 12px -10px rgba(0, 0, 0, 0.25) !important;
}

.sgn_documentbutton1_image {
    background-color: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    width: 90px !important;
    min-width: 90px !important;
    flex-shrink: 0 !important;
    min-height: 90px !important;
}

.sgn_documentbutton1_image {
    width: 60px !important;
    height: 60px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
}

.sgn_documentbutton1_title {
    background-color: transparent !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    flex: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 8px 16px 8px 16px !important;
    box-sizing: border-box !important;
}

@media (max-width: 768px) {
    .sgn_documentbutton1_title {
        font-size: 12px !important;
        padding: 8px 12px 8px 12px !important;
    }
}

@media (max-width: 480px) {
    .sgn_documentbutton1 {
        min-height: 70px !important;
        background: linear-gradient(90deg, var(--wp--preset--color--primario-vjv) 70px, #F7F8F8 70px) !important;
    }
    
    .sgn_documentbutton1_image {
        width: 70px !important;
        min-width: 70px !important;
        min-height: 70px !important;
    }
    
    .sgn_documentbutton1_image{
        width: 34px !important;
        height: 34px !important;
    }
    
    .sgn_documentbutton1_title {
        font-size: 11px !important;
        padding: 8px 8px 8px 8px !important;
    }
}

/* Accordion 2 Component */
/* .sgn_accordion2 {
    //font-size: 1.1rem;
    padding-right: 0;
}

.sgn_accordion2 .accordion-button {
    //font-family: 'Lato', sans-serif !important;
    //font-weight: 300 !important;
    //font-size: 32px !important;
    //line-height: 1.2 !important;
    margin: 0 !important;
    background-color: #D9D9D9 !important;
    border: none !important;
    color: inherit !important;
    text-align: left !important;
    box-shadow: none !important;
} */

.sgn_accordion2 .accordion-button:focus,
.sgn_accordion2 .accordion-button:focus-visible,
.sgn_accordion2 .accordion-button:active,
.sgn_accordion2 .accordion-button:hover {
    background-color: #D9D9D9 !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}
/* 
@media (max-width: 991px) {
    .sgn_accordion2 .accordion-button {
        //font-size: 22px !important;
    }
}

@media (max-width: 480px) {
    .sgn_accordion2 .accordion-button {
        //font-size: 18px !important;
    }
}
 */
.sgn_accordion2 .accordion-item {
    margin-bottom: 24px !important;
}

.sgn_accordion2 .accordion-item:last-child {
    margin-bottom: 0 !important;
}

.sgn_accordion2 .accordion-item {
    border: none !important;
    margin-bottom:24px !important;
    overflow: hidden !important;
}

.sgn_accordion2 .accordion-button {
    border-radius: 8px !important;
}

.sgn_accordion2 .accordion-button:not(.collapsed) {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.sgn_accordion2 .accordion-item:last-child {
    margin-bottom: 0 !important;
}

.sgn_accordion2 .accordion-collapse,
.sgn_accordion2 .accordion-body {
    border: none !important;
    background-color: #F7F8F8 !important;
}

.sgn_accordion2 .accordion-collapse,
.sgn_accordion2 .accordion-body,
.sgn_accordion2 .fecha-agenda,
.sgn_accordion2 .descripcion-agenda,
.sgn_accordion2 .actividades-agenda {
    border-bottom-left-radius: 8px !important;
    border-bottom-right-radius: 8px !important;
    overflow: hidden !important;
}

.sgn_accordion2 .fecha-agenda,
.sgn_accordion2 .descripcion-agenda,
.sgn_accordion2 .actividades-agenda {
    font-family: 'Lato', sans-serif !important;
    font-size: 1.2rem !important;
    line-height: 1.6 !important;
    color: #495057 !important;
}

.sgn_accordion2 .actividades-agenda a {
    color: var(--wp--preset--color--primario-vjv);
    text-decoration: none;
    font-weight: 500;
}

.sgn_accordion2 .actividades-agenda a:hover {
    text-decoration: underline;
}

.sgn_accordion2 .actividades-agenda strong {
    font-weight: 700;
    color: #343a40;
}


/* Page-Specific Styles */

/* Organigrama Cards Component */
.sgn_embajador_card_grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

.sgn_embajador_card_1 {
    display: flex !important;
    background-color: #37BAD9 !important;
    border-radius: var(--wp--custom--border-radius, 20px) !important;
    overflow: hidden !important;
    margin-bottom: 32px !important;
    padding: 0 !important;
    min-height: 200px !important;
    box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.08) !important;
    cursor: pointer !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.sgn_embajador_card_1:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.25) !important;
}

.sgn_embajador_columnSet {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
}

.sgn_embajador_leftColumn {
    flex: 1 !important;
    padding: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
    border-top-left-radius: var(--wp--custom--border-radius, 20px) !important;
    border-bottom-left-radius: var(--wp--custom--border-radius, 20px) !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.sgn_embajador_rightColumn {
    flex: 0 0 200px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border-top-right-radius: var(--wp--custom--border-radius, 20px) !important;
    border-bottom-right-radius: var(--wp--custom--border-radius, 20px) !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.sgn_embajador_nombreWrapper {
    margin-bottom: auto !important;
}

.sgn_embajador_nombre {
    margin: 0 !important;
    padding: 0 !important;
}

.sgn_embajador_titleWrapper {
    margin-top: auto !important;
}

.sgn_embajador_title {
    margin: 0 !important;
    padding: 0 !important;
}

.sgn_embajador_image {
    width: 100% !important;
    height: 100% !important;
    border-top-right-radius: var(--wp--custom--border-radius, 20px) !important;
    border-bottom-right-radius: var(--wp--custom--border-radius, 20px) !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    overflow: hidden !important;
    position: relative !important;
}

.sgn_embajador_image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
}

/* Clickable overlay for entire card */
.sgn_embajador_card_1.sgn-clickable {
    position: relative !important;
}

.sgn_embajador_card_1.sgn-clickable::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 1 !important;
}

/* Ensure content is above clickable overlay */
.sgn_embajador_card_1.sgn-clickable * {
    position: relative !important;
    z-index: 2 !important;
}

/* H-100 items clickable overlay */
.h-100.sgn-clickable {
    position: relative !important;
}

.h-100.sgn-clickable::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 1 !important;
}

.h-100.sgn-clickable * {
    position: relative !important;
    z-index: 2 !important;
}

/* Contact button under info-tarjeta-contacto - more rounding */
.info-tarjeta-contacto .btn,
.info-tarjeta-contacto button,
.tajeta-contacto .btn,
.tajeta-contacto button {
    border-radius: 12px !important;
}

/* Additional rounding for btn btn-primary mt-3 inside info-tarjeta-contacto */
.info-tarjeta-contacto .btn.btn-primary.mt-3 {
    border-radius: 20px !important; /* 12px + 8px = 20px */
}

/* ========================================
   SECTION 12: CUMBRES MODULE COMPONENT
   ======================================== */

/* Cumbres Query Loop Layout */
.sgn_cumbres2_loop .wp-block-post-template {
    display: flex !important;
    flex-direction: column !important;
    gap: 2rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Force left alignment on all card content */
.sgn_cumbres2_loop .wp-block-post-template li {
    text-align: left !important;
}

/* Force left alignment on all child elements */
.sgn_cumbres2_loop .wp-block-post-template li * {
    text-align: left !important;
}

/* Left align titles and their links */
.sgn_cumbres2_loop .wp-block-post-template .wp-block-post-title,
.sgn_cumbres2_loop .wp-block-post-template .wp-block-post-title a {
    text-align: left !important;
    justify-self: flex-start !important;
    align-self: flex-start !important;
}

/* Left align excerpts */
.sgn_cumbres2_loop .wp-block-post-template .wp-block-post-excerpt,
.sgn_cumbres2_loop .wp-block-post-template .wp-block-post-excerpt p {
    text-align: left !important;
}

/* Left align dates */
.sgn_cumbres2_loop .wp-block-post-template .wp-block-post-date {
    text-align: left !important;
    display: block !important;
}

/* Left align tags container and individual tags */
.sgn_cumbres2_loop .wp-block-post-template .wp-block-post-terms {
    text-align: left !important;
    justify-content: flex-start !important;
    display: flex !important;
}

.sgn_cumbres2_loop .wp-block-post-template .wp-block-post-terms a {
    text-align: left !important;
}

/* Force left alignment on any group containers */
.sgn_cumbres2_loop .wp-block-post-template .wp-block-group {
    text-align: left !important;
    align-items: flex-start !important;
}

/* Override WordPress center alignment classes */
.sgn_cumbres2_loop .wp-block-post-template .is-content-justification-center {
    justify-content: flex-start !important;
    text-align: left !important;
}

.sgn_cumbres2_loop .wp-block-post-template .has-text-align-center {
    text-align: left !important;
}

/* Override ACF meta field blocks center alignment */
.sgn_cumbres2_loop .wp-block-post-template .wp-block-mfb-meta-field-block {
    text-align: left !important;
}

.sgn_cumbres2_loop .wp-block-post-template .wp-block-mfb-meta-field-block .value {
    text-align: left !important;
}

/* Override WordPress center alignment classes specifically for cumbres elements */
.sgn_cumbres2_loop .wp-block-post-template .has-text-align-center {
    text-align: left !important;
}

/* Specific override for claim elements with center alignment class */
.sgn_cumbres2_claim.has-text-align-center {
    text-align: left !important;
}

/* Override any other center alignment classes within cumbres loop */
.sgn_cumbres2_loop .has-text-align-center {
    text-align: left !important;
}

/* Override flex layout center alignment */
.sgn_cumbres2_loop .wp-block-post-template .wp-block-group-is-layout-flex {
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left !important;
}

/* Normalize padding for location/year element specifically */
.sgn_cumbres2_loop .wp-block-post-template .wp-block-group.is-nowrap.is-layout-flex {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Cumbres Card Base Styles */
.sgn_cumbres2_loop .carta-cumbre,
[class*="sgn_cumbres2_loop"] .carta-cumbre,
.wp-block-query[class*="sgn_cumbres2_loop"] .carta-cumbre {
    height: auto !important;
    min-height: auto !important;
    padding: calc(var(--wp--preset--spacing--60) + 12px) !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

/* Cumbres Card Hover Animation */
.sgn_cumbres2_loop .carta-cumbre:hover,
[class*="sgn_cumbres2_loop"] .carta-cumbre:hover,
.wp-block-query[class*="sgn_cumbres2_loop"] .carta-cumbre:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 16px 24px -8px rgba(0, 0, 0, 0.35) !important;
    transition: all 0.3s ease !important;
}

/* Cumbres Image Wrapper Hover Animation */
.sgn_cumbres2_loop .carta-cumbre:hover .sgn_cumbres2_imageWrapper,
.sgn_cumbres2_loop .carta-cumbre:hover [class*="sgn_cumbres2_imageWrapper"],
[class*="sgn_cumbres2_loop"] .carta-cumbre:hover [class*="sgn_cumbres2_imageWrapper"],
.wp-block-query[class*="sgn_cumbres2_loop"] .carta-cumbre:hover [class*="sgn_cumbres2_imageWrapper"] {
    transform: translateY(-6px) !important;
    transition: all 0.3s ease !important;
}

/* Ultra-specific override for cumbres card transitions */
.wp-block-group.carta-cumbre {
    transition: all 0.3s ease !important;
}

/* Ultra-specific hover override */
.wp-block-group.carta-cumbre:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 16px 24px -8px rgba(0, 0, 0, 0.35) !important;
    transition: all 0.3s ease !important;
}

/* Cumbres Wrapper Layout */
.sgn_cumbres2_loop .carta-cumbre .sgn-wrapper {
    display: flex !important;
    gap: 2rem !important;
    align-items: stretch !important;
}

/* Left Column - All text elements aligned to left */
.sgn_cumbres2_loop .carta-cumbre .sgn_cumbres2_columnLeft {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    text-align: left !important;
    align-items: flex-start !important;
}

/* Right Column - Image/logo area */
.sgn_cumbres2_loop .carta-cumbre .sgn_cumbres2_columnRight {
    width: 345px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 120px !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: hidden !important;
}

/* Legacy support for sgn-left and sgn-right */
.sgn_cumbres2_loop .carta-cumbre .sgn-left {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

.sgn_cumbres2_loop .carta-cumbre .sgn-right {
    width: 345px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 120px !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: hidden !important;
}

/* Cumbres Image Wrapper - White background */
.sgn_cumbres2_loop .sgn_cumbres2_imageWrapper,
.sgn_cumbres2_imageWrapper,
.wp-block-group.sgn_cumbres2_imageWrapper,
.sgn_cumbres2_loop .wp-block-group.sgn_cumbres2_imageWrapper,
.wp-block-group.has-global-padding.sgn_cumbres2_imageWrapper,
.sgn_cumbres2_loop .wp-block-group.has-global-padding.sgn_cumbres2_imageWrapper,
.wp-block-group.has-global-padding.is-layout-constrained.sgn_cumbres2_imageWrapper,
.sgn_cumbres2_loop .wp-block-group.has-global-padding.is-layout-constrained.sgn_cumbres2_imageWrapper,
/* Handle comma-separated classes */
.wp-block-group[class*="sgn_cumbres2_imageWrapper"],
.sgn_cumbres2_loop .wp-block-group[class*="sgn_cumbres2_imageWrapper"],
/* Handle the specific comma-separated class */
.wp-block-group.cumbres-logo.sgn_cumbres2_imageWrapper,
.sgn_cumbres2_loop .wp-block-group.cumbres-logo.sgn_cumbres2_imageWrapper {
    background-color: #ffffff !important;
    background: #ffffff !important;
}

/* Ultra-specific override for image wrapper */
.wp-block-group.sgn_cumbres2_imageWrapper.wp-block-group-is-layout-constrained,
body .wp-block-group.sgn_cumbres2_imageWrapper.wp-block-group-is-layout-constrained,
html body .wp-block-group.sgn_cumbres2_imageWrapper.wp-block-group-is-layout-constrained {
    background-color: #ffffff !important;
    background: #ffffff !important;
}

/* Maximum specificity override */
.wp-block-group.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained.sgn_cumbres2_imageWrapper {
    background-color: #ffffff !important;
    background: #ffffff !important;
}

/* Override WordPress color classes */
.wp-block-group[class*="sgn_cumbres2_imageWrapper"].has-alerta-vjv-background-color,
.sgn_cumbres2_loop .wp-block-group[class*="sgn_cumbres2_imageWrapper"].has-alerta-vjv-background-color,
.wp-block-group.has-alerta-vjv-background-color[class*="sgn_cumbres2_imageWrapper"],
.sgn_cumbres2_loop .wp-block-group.has-alerta-vjv-background-color[class*="sgn_cumbres2_imageWrapper"],
/* Specific selector for comma-separated classes with color override */
.wp-block-group.cumbres-logo.sgn_cumbres2_imageWrapper.has-alerta-vjv-background-color,
.sgn_cumbres2_loop .wp-block-group.cumbres-logo.sgn_cumbres2_imageWrapper.has-alerta-vjv-background-color {
    background-color: #ffffff !important;
    background: #ffffff !important;
}

/* Cumbres Logo/Image Centering - New column classes */
.sgn_cumbres2_loop .carta-cumbre .sgn_cumbres2_columnRight .cumbres-logo,
.sgn_cumbres2_loop .carta-cumbre .sgn_cumbres2_columnRight .wp-block-group:has(.logo-listado-cumbre) {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-grow: 1 !important;
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
}

.sgn_cumbres2_loop .carta-cumbre .sgn_cumbres2_columnRight img {
    max-width: 90% !important;
    max-height: 90% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    margin: auto !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

/* Legacy support for sgn-right */
.sgn_cumbres2_loop .carta-cumbre .sgn-right .cumbres-logo,
.sgn_cumbres2_loop .carta-cumbre .sgn-right .wp-block-group:has(.logo-listado-cumbre) {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-grow: 1 !important;
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
}

.sgn_cumbres2_loop .carta-cumbre .sgn-right img {
    max-width: 90% !important;
    max-height: 90% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    margin: auto !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

/* Cumbres Typography - Name (Title) - Text styles removed */
.sgn_cumbres2_name {
    /* All text styles removed - let WordPress handle typography */
    text-align: left !important;
}

/* Cumbres Typography - Excerpt - Text styles removed */
.sgn_cumbres2_excerpt {
    /* All text styles removed - let WordPress handle typography */
}

/* Cumbres Hashtag Wrapper - Left aligned */
.sgn_cumbres2_hashtagWrapper {
    text-align: left !important;
    align-self: flex-start !important;
    margin-bottom: 0 !important;
}

.sgn_cumbres2_loop .carta-cumbre .wp-block-group:has(.cumbre-tag) {
    margin-bottom: 0 !important;
    text-align: left !important;
    align-self: flex-start !important;
}

/* Cumbres Hashtag Styling - Text styles removed */
.sgn_cumbres2_loop .carta-cumbre .cumbre-tag {
    background-color: #9FCA5E !important;
    padding: 8px 16px !important;
    display: inline-block !important;
    margin-right: 8px !important;
    margin-bottom: 8px !important;
    /* All text styles removed - let WordPress handle typography */
}

/* Cumbre page hashtag styling - match news item hashtags */
a[href*="/tag/"] {
    padding: 6px 12px !important;
    margin-right: 12px !important;
    margin-bottom: 12px !important;
    font-weight: bold !important;
    border-radius: 24px !important;
    /* Allow wrapper to adapt to text size when wrapping */
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 26px !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    box-sizing: border-box !important;
}

/* Cumbre description box styling */
.sgn_cumbresDescbox {
    background-color: #00BBDB;
    /* Allow backend overrides - inline styles will take precedence */
}

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
    .sgn_cumbres2_loop .carta-cumbre {
        padding: var(--wp--preset--spacing--40) !important;
    }
    
    .sgn_cumbres2_loop .carta-cumbre .sgn-wrapper {
        flex-direction: column !important;
        gap: 1rem !important;
    }
    
    /* New column classes mobile adjustments */
    .sgn_cumbres2_loop .carta-cumbre .sgn_cumbres2_columnRight {
        width: 100% !important;
        min-height: 200px !important;
        order: -1 !important;
    }
    
    /* Legacy support */
    .sgn_cumbres2_loop .carta-cumbre .sgn-right {
        width: 100% !important;
        min-height: 200px !important;
        order: -1 !important;
    }
    
    /* Text styles removed - let WordPress handle typography */
}


/* Contact cards rollover effect - only for tajeta-contacto */
.tajeta-contacto {
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    cursor: pointer !important;
}

.tajeta-contacto:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.25) !important;
}

/* H-100 button more rounding */
.h-100 .btn,
.h-100 button {
    border-radius: 15px !important;
}

/* Grid responsive adjustments */
@media screen and (max-width: 991px) {
    /* Tablet: 2 columns */
    .sgn_embajador_card_grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
        display: grid !important;
    }
}

@media screen and (max-width: 768px) {
    /* Mobile: 1 column */
    .sgn_embajador_card_grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        display: grid !important;
    }
}

@media screen and (max-width: 480px) {
    /* Small mobile: ensure single column */
    .sgn_embajador_card_grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        display: grid !important;
    }
}

/* Card responsive adjustments */
@media (max-width: 768px) {
    /* Mobile: Stack columns vertically */
    .sgn_embajador_card_1 {
        flex-direction: column !important;
        min-height: auto !important;
    }
    
    .sgn_embajador_columnSet {
        flex-direction: column !important;
    }
    
    .sgn_embajador_leftColumn {
        padding: 16px !important;
        min-height: 100px !important;
        order: 2 !important;
        border-top-left-radius: 0 !important;
        border-bottom-left-radius: var(--wp--custom--border-radius, 20px) !important;
        border-bottom-right-radius: var(--wp--custom--border-radius, 20px) !important;
        border-top-right-radius: 0 !important;
    }
    
    .sgn_embajador_rightColumn {
        flex: 0 0 200px !important;
        order: 1 !important;
        padding: 0 !important;
        border-top-left-radius: var(--wp--custom--border-radius, 20px) !important;
        border-top-right-radius: var(--wp--custom--border-radius, 20px) !important;
        border-bottom-left-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
    }
    
    /* Mobile: Image gets top rounding */
    .sgn_embajador_image {
        border-top-left-radius: var(--wp--custom--border-radius, 20px) !important;
        border-top-right-radius: var(--wp--custom--border-radius, 20px) !important;
        border-bottom-left-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
    }
    
    /* Font sizes handled by WordPress */
}

@media (min-width: 769px) and (max-width: 1199px) {
    /* Tablet: Adjust proportions */
    .sgn_embajador_rightColumn {
        flex: 0 0 180px !important;
    }
    
    /* Font sizes handled by WordPress */
}

@media (max-width: 480px) {
    /* Small mobile: Further adjustments */
    .sgn_embajador_rightColumn {
        flex: 0 0 160px !important;
    }
    
    .sgn_embajador_leftColumn {
        padding: 12px !important;
        min-height: 80px !important;
    }
    
    /* Font sizes handled by WordPress */
}


/* ========================================
   SECTION 13: PIPAS MODULE COMPONENT
   ======================================== */

/* PIPA Objectives Block */
.sgn_pipas_objectives {
    background-color: #fafafa !important;
    border-radius: 12px !important;
    padding: 40px !important;
    margin: 20px 0 !important;
    counter-reset: sgn-pipa-objectives-counter !important;
}

/* PIPA Objectives List */
.sgn_pipas_objectives ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

.sgn_pipas_objectives li {
    margin-bottom: 24px !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
    font-family: 'Lato', sans-serif !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    color: #000000 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

.sgn_pipas_objectives li:last-child {
    margin-bottom: 0 !important;
}

/* Auto-generated numbers with ::before */
.sgn_pipas_objectives li::before {
    content: counter(sgn-pipa-objectives-counter, decimal-leading-zero) !important;
    counter-increment: sgn-pipa-objectives-counter !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 400 !important;
    font-size: 36px !important;
    line-height: 1 !important;
    color: #000000 !important;
    width: 60px !important;
    flex-shrink: 0 !important;
    margin-top: -6px !important;
}

/* PIPA Objectives Numbers - comprehensive targeting */
.sgn_pipas_objectives li strong,
.sgn_pipas_objectives li b,
.sgn_pipas_objectives li span:first-child,
.sgn_pipas_objectives li p:first-child,
.sgn_pipas_objectives li > *:first-child {
    font-family: 'Playfair Display', serif !important;
    font-weight: 400 !important;
    font-size: 36px !important;
    line-height: 1 !important;
    color: #000000 !important;
    width: 60px !important;
    flex-shrink: 0 !important;
    margin-top: -6px !important;
}

/* Text container */
.sgn_pipas_objectives li > * {
    flex: 1 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Lato', sans-serif !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    color: #000000 !important;
}

/* PIPAS Page - tipo separator styling */
.tipo-separator-container {
    background-color: transparent !important;
    border: none !important;
}

/* PIPAS Page - tipo-de-pipa headline style */
.tipo-de-pipa {
    font-family: 'Lato', sans-serif !important;
    font-weight: 900 !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    color: var(--wp--preset--color--primario-vjv) !important;
}

/* PIPAS Page - ambito-pipa-section background */
.ambito-pipa-section {
    background-color: #EAEBEB !important;
    border-radius: 20px !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
    width: 100% !important;
}

/* PIPAS Page - ambito-de-pipa hashtag style */
.ambito-de-pipa {
    display: inline-block !important;
    padding: 5px 12px !important;
    border-radius: 12px !important;
    color: rgb(0, 0, 0) !important; /* Black text */
    font-family: 'Lato', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    margin: 0 0 15px 0 !important;
    text-decoration: none !important;
    border: none !important;
    outline: none !important;
}

/* PIPAS Page - Colorful ambito-de-pipa backgrounds - EXACT ORIGINAL COLORS */
.ambito-pipa-section:nth-child(1) .ambito-de-pipa {
    background-color: #FFCB04 !important; /* Yellow */
    height: 37px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 40px !important;
    padding: 0 15px !important;
    width: auto !important;
    max-width: fit-content !important;
    font-size: 16px !important;
}

.ambito-pipa-section:nth-child(2) .ambito-de-pipa {
    background-color: #37BAD9 !important; /* Blue */
    height: 37px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 40px !important;
    padding: 0 15px !important;
    width: auto !important;
    max-width: fit-content !important;
    font-size: 16px !important;
}

.ambito-pipa-section:nth-child(3) .ambito-de-pipa {
    background-color: #F26518 !important; /* Orange */
    height: 37px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 40px !important;
    padding: 0 15px !important;
    width: auto !important;
    max-width: fit-content !important;
    font-size: 16px !important;
}

.ambito-pipa-section:nth-child(4) .ambito-de-pipa {
    background-color: #9FCA5E !important; /* Green */
    height: 37px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 40px !important;
    padding: 0 15px !important;
    width: auto !important;
    max-width: fit-content !important;
    font-size: 16px !important;
}

.ambito-pipa-section:nth-child(5) .ambito-de-pipa {
    background-color: #FFCB04 !important; /* Yellow */
    height: 37px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 40px !important;
    padding: 0 15px !important;
    width: auto !important;
    max-width: fit-content !important;
    font-size: 16px !important;
}

.ambito-pipa-section:nth-child(6) .ambito-de-pipa {
    background-color: #FFCB04 !important; /* Yellow */
    height: 37px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 40px !important;
    padding: 0 15px !important;
    width: auto !important;
    max-width: fit-content !important;
    font-size: 16px !important;
}

.ambito-pipa-section:nth-child(7) .ambito-de-pipa {
    background-color: #37BAD9 !important; /* Blue */
    height: 37px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 40px !important;
    padding: 0 15px !important;
    width: auto !important;
    max-width: fit-content !important;
    font-size: 16px !important;
}

.ambito-pipa-section:nth-child(8) .ambito-de-pipa {
    background-color: #F26518 !important; /* Orange */
    height: 37px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 40px !important;
    padding: 0 15px !important;
    width: auto !important;
    max-width: fit-content !important;
    font-size: 16px !important;
}

.ambito-pipa-section:nth-child(9) .ambito-de-pipa {
    background-color: #9FCA5E !important; /* Green */
    height: 37px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 40px !important;
    padding: 0 15px !important;
    width: auto !important;
    max-width: fit-content !important;
    font-size: 16px !important;
}

.ambito-pipa-section:nth-child(10) .ambito-de-pipa {
    background-color: #FFCB04 !important; /* Yellow */
    height: 37px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 40px !important;
    padding: 0 15px !important;
    width: auto !important;
    max-width: fit-content !important;
    font-size: 16px !important;
}

/* PIPAS Page - Row container with proper padding */
.ambito-pipa-section .row {
    display: flex !important;
    flex-wrap: wrap !important;
    margin: 24px 0 !important;  /* 24px top and bottom margin */
    padding: 0 !important;
}

/* PIPAS Page - Row items with bottom borders (except last row) - REMOVED */
/* .ambito-pipa-section:not(:last-child) borders removed as requested */

/* PIPAS Page - Filter form styling */
#filtro-area-tipo-pipa .form-select {
    background-color: #D9D9D9 !important;
    border: none !important;
    border-radius: 40px !important;
    padding: 0 15px !important;
    height: 37px !important;
    margin-bottom: 15px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    color: #333333 !important;
}

#filtro-area-tipo-pipa .form-select:focus {
    background-color: #D9D9D9 !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

#filtro-area-tipo-pipa .btn {
    background-color: var(--wp--preset--color--primario-vjv) !important;
    border: none !important;
    border-radius: 40px !important;
    padding: 0 15px !important;
    height: 37px !important;
    width: 100% !important;
    margin-bottom: 15px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    color: #ffffff !important;
    transition: all 0.3s ease !important;
}

#filtro-area-tipo-pipa .btn:hover {
    background-color: var(--wp--preset--color--primario-vjv) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
}

/* PIPAS Page - Document links with underlines */
.pipa-documentos-div li a,
.cumbre-link {
    text-decoration: underline !important;
}

/* PIPAS Page - Document hover effects */
.pipa-documentos-div li a:hover {
    color: var(--c-primario-vjv) !important;
    text-decoration: underline !important;
}

.cumbre-link:hover {
    text-decoration: underline !important;
}

/* Mobile responsive design for PIPAS */
@media (max-width: 991px) {
    .sgn_pipas_objectives {
        padding: 30px 20px !important;
    }
    
    .sgn_pipas_objectives li {
        margin-bottom: 20px !important;
        font-size: 14px !important;
        gap: 12px !important;
    }
    
    .sgn_pipas_objectives li > * {
        font-size: 14px !important;
    }
    
    .sgn_pipas_objectives li::before,
    .sgn_pipas_objectives li strong,
    .sgn_pipas_objectives li b,
    .sgn_pipas_objectives li span:first-child,
    .sgn_pipas_objectives li p:first-child,
    .sgn_pipas_objectives li > *:first-child {
        font-size: 28px !important;
        width: 50px !important;
        margin-top: -4px !important;
    }
}

/* ================================================================================
   14. HOMEPAGE STYLES
   ================================================================================ */

/* Homepage Agenda Section - Main container styling */
#sgn_homepage_agenda {
    margin-top: var(--wp--preset--spacing--80);
    margin-bottom: 0;
    padding-right: 0;
    padding-left: 0;
}

/* Homepage Headlines - Apply headline 1 styling */
#sgn_homepage_agenda .sgn_homepage_headline {
    font-family: 'Lato', sans-serif;
    font-weight: 900;
    font-size: 65px;
    line-height: 1.2;
    color: var(--wp--preset--color--primario-vjv);
    margin-top: var(--wp--preset--spacing--50);
    margin-bottom: var(--wp--preset--spacing--50);
    text-align: left;
    font-style: normal;
}

/* Mobile responsive for homepage headlines */
@media (max-width: 991px) {
    #sgn_homepage_agenda .sgn_homepage_headline {
        font-size: 42px;
    }
}

/* Homepage 5-Column Grid System */
.sgn_homepage_events_grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    margin: 0;
    padding: 0;
}

/* Homepage 5-Column Grid Items */
.sgn_homepage_events_grid > * {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* Homepage 5-Column Responsive: 3 columns on tablet */
@media (max-width: 991px) {
    .sgn_homepage_events_grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }
}

/* Homepage 5-Column Responsive: 2 columns on mobile */
@media (max-width: 768px) {
    .sgn_homepage_events_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
}

/* Homepage 5-Column Responsive: 1 column on small mobile */
@media (max-width: 480px) {
    .sgn_homepage_events_grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

/* Homepage Event Items - Base styling */
.sgn_homepage_event_item {
    cursor: pointer;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
    transform: translateY(0);
    box-shadow: 0 12px 12px -10px rgba(0, 0, 0, 0);
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Homepage Event Items - Fade-in animation setup */
.sgn_homepage_event_item.sgn_will_animate {
    opacity: 0;
    transform: translateY(20px);
}

/* Homepage Event Items - Fade-in animation active */
.sgn_homepage_event_item.sgn_will_animate.sgn_fade_in {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out, box-shadow 0.3s ease;
}

/* Homepage Event Items - After fade-in completes */
.sgn_homepage_event_item.sgn_fade_complete {
    transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
    box-shadow: 0 12px 12px -10px rgba(0, 0, 0, 0);
}

/* Homepage Event Items - Hover animation */
.sgn_homepage_event_item:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15);
}

/* Homepage Event Date Styling */
.sgn_homepage_event_date {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.2;
    color: #333333;
    margin-bottom: 8px;
}

/* Homepage Event Title Styling */
.sgn_homepage_event_title {
    font-family: 'Lato', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.3;
    color: #333333;
    margin-bottom: 12px;
    flex-grow: 1;
}

/* Homepage Event Excerpt Styling */
.sgn_homepage_event_excerpt {
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.4;
    color: #666666;
    margin-bottom: 16px;
}

/* Homepage Cumbre Cards - Container styling */
.sgn_homepage_cumbre_container {
    padding-top: 8px;
    padding-bottom: 8px;
}

/* Homepage Cumbre Cards - Base state */
.sgn_homepage_cumbre_card,
.carta-cumbre {
    box-shadow: none !important;
    transition: all 0.3s ease !important;
    transform: translateY(0) !important;
    position: relative !important;
    border-radius: 45px !important;
    overflow: hidden !important;
}

/* Homepage Cumbre Cards - Hover state with original shadow */
.cb-wrapper .carta-cumbre:hover,
.swiper-wrapper .carta-cumbre:hover,
.cb-slide .carta-cumbre:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 12px 12px -10px rgba(0, 0, 0, 0.25) !important;
}

/* Homepage Cumbre Cards - Equal height containers */
.cb-wrapper,
.swiper-wrapper {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

.cb-wrapper .carta-cumbre,
.swiper-wrapper .carta-cumbre,
.cb-slide .carta-cumbre {
    min-height: 400px !important;
    position: relative !important;
}

/* Homepage Cumbre Cards - Image container (canvas) styling */
.carta-cumbre .wp-block-group.has-blanco-vjv-background-color {
    height: 180px !important;
    min-height: 180px !important;
    position: absolute !important;
    bottom: var(--wp--preset--spacing--40) !important;
    left: var(--wp--preset--spacing--40) !important;
    right: var(--wp--preset--spacing--40) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #ffffff !important;
    border-radius: 40px !important;
    margin: 0 !important;
    padding: var(--wp--preset--spacing--30) !important;
    box-sizing: border-box !important;
}

/* Homepage Cumbre Cards - Add separation only to the hashtag before image container */
.cb-wrapper .carta-cumbre .inicio-cumbre-tag:has(+ .wp-block-group.has-blanco-vjv-background-color),
.swiper-wrapper .carta-cumbre .inicio-cumbre-tag:has(+ .wp-block-group.has-blanco-vjv-background-color),
.cb-slide .carta-cumbre .inicio-cumbre-tag:has(+ .wp-block-group.has-blanco-vjv-background-color) {
    margin-bottom: 64px !important;
}

/* Homepage Cumbre Cards - Image styling with original rounding */
.carta-cumbre .wp-block-group.has-blanco-vjv-background-color img {
    max-height: 125px !important;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    flex-shrink: 0 !important;
    border-radius: 30px !important;
}

/* Homepage Cumbre Cards - Figure wrapper styling */
.carta-cumbre .wp-block-group.has-blanco-vjv-background-color figure {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

/* Homepage Cumbre Cards - Add bottom padding to accommodate absolute positioned canvas */
.carta-cumbre {
    padding-bottom: calc(180px + var(--wp--preset--spacing--40) + var(--wp--preset--spacing--20)) !important;
}

/* Homepage Cumbre Cards - Title styling */
.sgn_homepage_cumbre_title {
    font-family: 'Lato', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.3;
    color: #333333;
    margin-bottom: 8px;
}

/* Homepage Cumbre Cards - Date styling */
.sgn_homepage_cumbre_date {
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    color: #666666;
}

/* Homepage Slider Navigation - Extract from original sgn_styles.css */
.cb-button-next,
.cb-button-prev,
.swiper-button-next,
.swiper-button-prev {
    width: 55px !important; /* 1.25x of typical 44px */
    height: 55px !important; /* 1.25x of typical 44px */
    transition: transform 0.3s ease !important;
}

/* Position adjustments - push arrows outside slider to prevent overlap */
.cb-button-next,
.swiper-button-next {
    right: -65px !important; /* Move right arrow outside (55px width + 10px clearance) */
}

.cb-button-prev,
.swiper-button-prev {
    left: -65px !important; /* Move left arrow outside (55px width + 10px clearance) */
}

/* Increase size of the chevron icon itself (::after pseudo-element) */
.cb-button-next::after,
.cb-button-prev::after,
.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 55px !important; /* 1.25x larger chevron */
    font-weight: 900 !important; /* Make it bolder (1.5x effect) */
}

/* Right arrow buttons - move 12px to the right on hover */
.cb-button-next:hover,
.swiper-button-next:hover {
    transform: translateX(12px) !important;
}

/* Left arrow buttons - move 12px to the left on hover */
.cb-button-prev:hover,
.swiper-button-prev:hover {
    transform: translateX(-12px) !important;
}

/* Universal Carousel Component - sgn_carousel1 */
.sgn_carousel1 .swiper-button-next,
.sgn_carousel1 .swiper-button-prev {
    width: 55px !important; /* 1.25x of typical 44px */
    height: 55px !important; /* 1.25x of typical 44px */
    transition: transform 0.3s ease !important;
}

/* Position adjustments - push arrows outside slider to prevent overlap */
.sgn_carousel1 .swiper-button-next {
    right: -65px !important; /* Move right arrow outside (55px width + 10px clearance) */
}

.sgn_carousel1 .swiper-button-prev {
    left: -65px !important; /* Move left arrow outside (55px width + 10px clearance) */
}

/* Increase size of the chevron icon itself (::after pseudo-element) */
.sgn_carousel1 .swiper-button-next::after,
.sgn_carousel1 .swiper-button-prev::after {
    font-size: 55px !important; /* 1.25x larger chevron */
    font-weight: 900 !important; /* Make it bolder (1.5x effect) */
}

/* Right arrow buttons - move 12px to the right on hover */
.sgn_carousel1 .swiper-button-next:hover {
    transform: translateX(12px) !important;
}

/* Left arrow buttons - move 12px to the left on hover */
.sgn_carousel1 .swiper-button-prev:hover {
    transform: translateX(-12px) !important;
}

/* Mini Accordion Component */
.sgn_miniAccordion1 {
    cursor: pointer;
}

.sgn_miniAccordion1_chevron {
    transform: rotate(180deg);
    transition: transform 0.75s ease;
}

.sgn_miniAccordion1.sgn-expanded .sgn_miniAccordion1_chevron {
    transform: rotate(360deg);
}

.sgn_miniAccordion1_drawerContent {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.75s ease;
}

.sgn_miniAccordion1.sgn-expanded .sgn_miniAccordion1_drawerContent {
    max-height: 1000px;
}

/* ================================================================================
   END OF FILE
   ================================================================================ */

