.clv_logo img {
    max-width: 50px;
}

.index_v3 .clv_right_header .clv_menu .clv_menu_nav>ul>li>a:hover {
    color: #005992;
}

.index_v3 .clv_right_header .clv_menu .clv_menu_nav>ul>li>ul>li>a:hover {
    color: #005992;
}

.index_v3 .clv_right_header .clv_menu .cart_nav {
    padding: 0;
    margin: 0px 0px;
    margin-right: 20px;
}

.index_v3 .appointment_btn {
    background-color: #005992;
}

.index_v3 .appointment_btn:hover {
    border-color: #005992;
    background-color: transparent;
    color: #005992;
}

/* Fondos del deslizador. Se declara primero el JPG y después image-set con el
   WebP, de modo que un navegador que no entienda image-set se queda con el JPG.
   Los originales pesaban 3,0 y 1,4 MB; estos, 47 y 83 KB. */
.index_v3 .clv_banner_slider .clv_slide {
    background-image: url('../images/inicio-azucar-hero.jpg');
    background-image: image-set(url('../images/inicio-azucar-hero.webp') type('image/webp'),
            url('../images/inicio-azucar-hero.jpg') type('image/jpeg'));
    background-position: center;
    background-repeat: no-repeat;
}

.index_v3 .clv_banner_slider .clv_slide.slide2 {
    background-image: url('../images/slider-buque.jpg');
    background-image: image-set(url('../images/slider-buque.webp') type('image/webp'),
            url('../images/slider-buque.jpg') type('image/jpeg'));
}

/* Fondos de las diapositivas de cada línea de negocio, recortados en 16:9 de las
   fotografías de /portafolio. */
.index_v3 .clv_banner_slider .clv_slide.slide_molienda {
    background-image: url('../images/slider-molienda.jpg');
    background-image: image-set(url('../images/slider-molienda.webp') type('image/webp'),
            url('../images/slider-molienda.jpg') type('image/jpeg'));
}

.index_v3 .clv_banner_slider .clv_slide.slide_aceites {
    background-image: url('../images/slider-aceites.jpg');
    background-image: image-set(url('../images/slider-aceites.webp') type('image/webp'),
            url('../images/slider-aceites.jpg') type('image/jpeg'));
}

.index_v3 .clv_banner_slider .clv_slide.slide_pastas {
    background-image: url('../images/slider-pastas.jpg');
    background-image: image-set(url('../images/slider-pastas.webp') type('image/webp'),
            url('../images/slider-pastas.jpg') type('image/jpeg'));
}

.index_v3 .clv_banner_slider .clv_slide.slide_lacteos {
    background-image: url('../images/slider-lacteos.jpg');
    background-image: image-set(url('../images/slider-lacteos.webp') type('image/webp'),
            url('../images/slider-lacteos.jpg') type('image/jpeg'));
}

/* Todas las diapositivas miden lo mismo. La altura dependía del contenido de cada
   una (padding fijo más texto), y el efecto coverflow dejaba ver un hueco blanco
   bajo la más baja. Swiper estira los .swiper-slide al alto de la más alta; el
   fondo debe llenarlos. */
.index_v3 .clv_banner_slider .swiper-slide {
    height: auto;
}

.index_v3 .clv_banner_slider .clv_slide {
    height: 100%;
    min-height: 760px;
    padding-top: 200px;
    padding-bottom: 130px;
    display: flex;
    align-items: center;
    background-size: cover;
}

.index_v3 .clv_banner_slider .clv_slide>.container {
    width: 100%;
}

.index_v3 .clv_banner_slider .slider_arrow:hover {
    background-color: #005992;
}

.index_v3 .clv_banner_slider .clv_slide .clv_slide_inner h1 {
    max-width: 750px;
}

.index_v3 .dairy_about_inner .about_content .about_heading>h3>span {
    color: #005992;
}

.clv_btn2,
.clv_btn2:focus {
    background-color: #005992;
    border: 1px solid #005992;
}

.clv_btn2:hover {
    color: #005992;
}

.index_v3 .dairy_counter_wrapper {
    background-color: #005992;
    margin-top: 70px;
}

.dairy_product_inner .dairy_product_block .product_content h4 {
    font-size: 18px;
    white-space: nowrap;
}

.dairy_product_inner .dairy_product_block .product_content p {
    font-size: 16px;
}

.index_v3 .dairy_products_wrapper .clv_heading h3>span {
    color: #005992;
}

.index_v3 .dairy_service_wrapper .service_heading h3>span {
    color: #005992;
}

.dairy_product_inner .dairy_product_block .product_content a {
    color: #005992;
}

.dairy_product_inner .dairy_product_block .product_image img {
    border-radius: 5px;
    object-fit: cover;
    max-width: 200px;
}

.dairy_product_inner .dairy_product_block:before {
    background-color: #005992;
}

.service_content .service_heading .service_arrow_block .dairy_service_arrow:hover {
    background-color: #005992;
    border-color: #005992;
}

.index_v3 .clv_partner_wrapper .clv_heading h3>span {
    color: #005992;
}

.index_v3 .partner_slider .partner_slide .partner_image:hover {
    background-color: #005992;
    border-color: #005992;
}

.index_v3 .partner_slider .slider_arrow:hover {
    border-color: #005992;
}

.index_v3 .gallery_slider .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #005992;
}

.index_v3 .gallery_slider .swiper-pagination-bullet {
    border: 2px solid #005992;
}

.index_v3 .clv_footer_wrapper {
    padding: 90px 0;
    /* La plantilla pide dairy_footer_bg.jpg, que no forma parte del proyecto. */
    background-image: none;
}

.index_v3 .gallery_slide .gallery_grid .gallery_grid_item .gallery_image .gallery_overlay {
    background-color: #005992b3
}

.clv_right_header .clv_menu .clv_menu_nav>ul>li>ul {
    min-width: 210px;
}

.index_v3 .clv_right_header .clv_menu .clv_menu_nav>ul>li>ul {
    border-bottom-color: #005992;
}

.clv_right_header .clv_menu .clv_menu_nav>ul>li:focus-within>ul {
    opacity: 1;
    transform: translateY(0px);
    visibility: visible;
}

.clv_menu_nav .menu_has_dropdown>a>.fa {
    font-size: 14px;
    margin-left: 3px;
}

.breadcrumb_wrapper {
    position: relative;
    background: url('../images/cargo-ship-sailing-ocean.jpg') no-repeat center;
    background-size: cover;
    padding: 180px 0px 70px;
    z-index: 1;
}

.breadcrumb_block {
    background-color: #005992;
}

.clv_about_wrapper .about_content .about_heading h2>span {
    color: #005992;
}

.clv_about_wrapper .about_content .video_block>.video_btn>.play_video>span {
    background-color: #005992;
    box-shadow: 0 0 0 rgb(7 176 254 / 40%);
    animation: pulse_blue 2s infinite;
}

@keyframes pulse_blue {
    0% {
        -moz-box-shadow: 0 0 0 0 rgb(7 176 254 / 40%);
        box-shadow: 0 0 0 0 rgb(7 176 254 / 40%);
    }

    70% {
        -moz-box-shadow: 0 0 0 10px rgb(7 176 254 / 0);
        box-shadow: 0 0 0 10px rgb(7 176 254 / 0);
    }

    100% {
        -moz-box-shadow: 0 0 0 0 rgb(7 176 254 / 0);
        box-shadow: 0 0 0 0 rgb(7 176 254 / 0);
    }
}

.clv_about_wrapper.clv_section {
    background-image: url(../images/about-bg.png);
    background-size: contain;
}

.clv_heading.white_heading h3 {
    color: #ffffff;
}

.clv_counter_wrapper.clv_section {
    background: url('../images/transport-logistics-concept.jpg') no-repeat center;
}

.clv_counter_wrapper .counter_block>.counter_img>span.blue_alt_bg {
    background-color: #005992;
}

.clv_about_product .about_product_contect .about_product_contact,
.clv_about_product .about_product_contect .about_product_contact>span {
    background-color: #005992;
}

.clv_about_product .about_product_image:after {
    background-color: #005992;
}

.clv_about_product .about_product_contect>h6 {
    color: #005992;
}

.error_wrapper {
    background-color: #f8f9fa;
}

.error_image h2 {
    color: #005992;
}

.error_content h3>span {
    color: #005992;
}

.clv_counter_wrapper .counter_block>.counter_text>h4 {
    font-size: 28px;
}

.portfolio_hero {
    background-color: #ffffff;
}

.portfolio_hero .about_product_contect {
    padding-right: 35px;
}

.portfolio_hero .about_product_contect>h1 {
    color: #222222;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 12px;
}

.portfolio_hero .about_product_contect>h2 {
    color: #005992;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 20px;
}

.portfolio_eyebrow {
    color: #005992;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.portfolio_hero .clv_btn2,
.portfolio_logistics .clv_btn2 {
    margin-top: 14px;
}

.portfolio_button,
.portfolio_button:focus {
    align-items: center;
    display: inline-flex;
    height: auto;
    justify-content: center;
    line-height: 1.3;
    max-width: 100%;
    min-height: 50px;
    padding: 13px 24px;
    text-transform: none;
    white-space: normal;
}

.portfolio_button::before {
    display: none;
}

.portfolio_hero .portfolio_button:hover,
.portfolio_logistics .portfolio_button:hover {
    background-color: #ffffff;
    color: #005992;
}

.portfolio_hero_image img,
.portfolio_logistics_image img {
    border-radius: 10px;
    display: block;
    width: 100%;
}

.portfolio_divisions .clv_heading h2,
.portfolio_feature_section .clv_heading h2 {
    color: #222222;
    font-size: 40px;
    font-weight: 700;
    text-transform: capitalize;
}

.portfolio_divisions .clv_heading h2>span,
.portfolio_feature_section .clv_heading h2>span,
.portfolio_logistics .service_heading h2>span {
    color: #005992;
}

.portfolio_division_column {
    display: flex;
    margin-bottom: 24px;
}

.dairy_product_inner .portfolio_division_card {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 310px;
    padding: 36px 12px;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
    width: 100%;
}

.dairy_product_inner .portfolio_division_card:hover,
.dairy_product_inner .portfolio_division_card:focus-within {
    box-shadow: 0 12px 28px rgba(0, 89, 146, 0.24);
    transform: translateY(-5px);
}

.dairy_product_inner .portfolio_division_card .product_content {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.dairy_product_inner .portfolio_division_card .product_content h3 {
    color: #222222;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 10px;
    transition: color 0.3s ease-in-out;
}

.dairy_product_inner .portfolio_division_card .product_content p {
    flex: 1;
}

.dairy_product_inner .portfolio_division_card .product_content a {
    align-items: center;
    align-self: center;
    border: 1px solid #005992;
    border-radius: 5px;
    display: inline-flex;
    gap: 7px;
    justify-content: center;
    margin-top: 10px;
    min-height: 40px;
    padding: 8px 14px;
    text-decoration: none;
    text-transform: none;
}

.dairy_product_inner .portfolio_division_card:hover .product_content h3,
.dairy_product_inner .portfolio_division_card:focus-within .product_content h3,
.dairy_product_inner .portfolio_division_card:focus-within .product_content p,
.dairy_product_inner .portfolio_division_card:focus-within .product_content a {
    color: #ffffff;
}

.dairy_product_inner .portfolio_division_card:focus-within:before {
    opacity: 1;
    visibility: visible;
}

.portfolio_division_icon {
    align-items: center;
    background-color: #eaf3f8;
    border-radius: 50%;
    color: #005992;
    display: flex;
    font-size: 42px;
    height: 100px;
    justify-content: center;
    margin: 0 auto 24px;
    transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
    width: 100px;
}

.portfolio_division_card:hover .portfolio_division_icon,
.portfolio_division_card:focus-within .portfolio_division_icon {
    background-color: rgba(255, 255, 255, 0.18);
    color: #ffffff;
}

.dairy_product_inner .portfolio_division_card:hover .product_content a,
.dairy_product_inner .portfolio_division_card:focus-within .product_content a {
    border-color: #ffffff;
}

.dairy_product_inner .portfolio_division_card .product_content a:hover,
.dairy_product_inner .portfolio_division_card .product_content a:focus-visible {
    background-color: #ffffff;
    border-color: #ffffff;
    color: #005992;
}

.portfolio_logistics .service_heading h2 {
    color: #222222;
    font-size: 42px;
    font-weight: 700;
}

.portfolio_feature_list {
    margin: 26px 0;
}

.portfolio_feature_list li {
    margin-bottom: 14px;
}

.portfolio_logistics_image {
    padding-left: 30px;
}

.portfolio_cta {
    background-color: #f5f5f5;
    padding: 80px 0;
}

.portfolio_cta_inner {
    align-items: center;
    background-color: #005992;
    border-radius: 14px;
    box-shadow: 0 16px 38px rgba(0, 45, 73, 0.18);
    display: flex;
    gap: 40px;
    justify-content: space-between;
    padding: 42px 48px;
}

.portfolio_cta h2,
.portfolio_cta p {
    color: #ffffff;
}

.portfolio_cta h2 {
    font-size: 34px;
    font-weight: 700;
    margin-bottom: 8px;
}

.portfolio_cta p {
    margin-bottom: 0;
    max-width: 650px;
}

.portfolio_cta_actions {
    display: flex;
    flex: 0 0 340px;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
    max-width: 100%;
}

.portfolio_cta .clv_btn2,
.portfolio_cta .clv_btn2:focus {
    background-color: #ffffff;
    border-color: #ffffff;
    color: #005992;
    margin: 0;
    text-align: center;
    width: 100%;
}

.portfolio_cta .clv_btn2:hover {
    background-color: transparent;
    color: #ffffff;
}

.portfolio_division_card a:focus-visible,
.portfolio_hero a:focus-visible,
.portfolio_logistics a:focus-visible,
.portfolio_cta a:focus-visible {
    outline: 3px solid #fec007;
    outline-offset: 4px;
}

.dairy_product_inner .dairy_product_block .product_content h4 {
    white-space: normal;
}

.portfolio_lead {
    color: #005992;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 20px;
}

.portfolio_division_intro {
    padding-bottom: 90px;
}

.portfolio_division_intro .about_product_contect {
    padding-top: 0;
}

.portfolio_division_image {
    display: block;
    margin-right: 40px;
}

.portfolio_division_image img {
    height: auto;
}

.page_detail a:focus-visible {
    outline: 3px solid #fec007;
    outline-offset: 4px;
}

.portfolio_subcategories .clv_heading h2,
.portfolio_feature_section .clv_heading h2 {
    text-transform: none;
}

/* Las bandas de una página interior alternan solas, para que dos
   secciones contiguas nunca compartan el mismo fondo. Cada página las
   hereda con añadir page_detail a su <main>. */
.page_detail>section:nth-child(odd) {
    background-color: #ffffff;
}

.page_detail>section:nth-child(even) {
    background-color: #f5f5f5;
}

.portfolio_subcategory h2 {
    color: #222222;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 18px;
}

.portfolio_subcategory h3 {
    color: #005992;
    font-size: 20px;
    font-weight: 600;
    margin: 30px 0 16px;
}

.portfolio_typology_list {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.portfolio_typology_list_pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.portfolio_typology_list li {
    background-color: #eaf3f8;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px;
}

.portfolio_typology_list strong {
    color: #222222;
}

.portfolio_typology_value {
    color: #005992;
    font-size: 20px;
    font-weight: 700;
    white-space: nowrap;
}

.portfolio_application_list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.portfolio_application_list li {
    border: 1px solid #005992;
    border-radius: 30px;
    color: #005992;
    line-height: 1.4;
    padding: 7px 16px;
}

.portfolio_spec_panel {
    background-color: #005992;
    border-radius: 14px;
    box-shadow: 0 16px 38px rgba(0, 45, 73, 0.18);
    margin-top: 6px;
    padding: 32px;
}

.portfolio_spec_panel h3 {
    color: #ffffff;
    margin-top: 0;
}

.portfolio_spec_list.additional_info {
    width: 100%;
}

.portfolio_spec_list.additional_info>li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
    float: none;
    margin-bottom: 0;
    padding: 14px 0;
    text-transform: none;
    width: 100%;
}

.portfolio_spec_list.additional_info>li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.portfolio_spec_list.additional_info>li>span {
    color: #ffffff;
    display: block;
    font-size: 14px;
    letter-spacing: 0.04em;
    margin: 0 0 2px;
    opacity: 0.85;
    text-transform: uppercase;
}

.portfolio_spec_panel_inline {
    margin: 32px 0 6px;
}

.portfolio_spec_panel_inline .portfolio_spec_list.additional_info {
    display: grid;
    gap: 0 24px;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}

.portfolio_spec_panel_inline .portfolio_spec_list.additional_info>li {
    border-bottom: 0;
    padding: 0;
}

.portfolio_subcategory_image {
    margin: 0 30px 40px 40px;
    position: relative;
    z-index: 1;
}

.portfolio_subcategory_image:after {
    background-color: #005992;
    border-radius: 10px;
    bottom: -40px;
    content: "";
    left: -40px;
    position: absolute;
    right: 40px;
    top: 40px;
    z-index: -1;
}

.portfolio_subcategory_image_right {
    margin: 0 40px 40px 30px;
}

.portfolio_subcategory_image_right:after {
    left: 40px;
    right: -40px;
}

.portfolio_subcategory_image img {
    border-radius: 10px;
    display: block;
    height: auto;
    width: 100%;
}

.portfolio_note {
    margin: 30px 0 0;
    text-align: center;
}

.portfolio_feature_grid {
    margin-top: 26px;
}

.portfolio_feature_grid>li {
    display: flex;
    margin-bottom: 24px;
}

.portfolio_feature_section .feature_block {
    background-color: #f4f9ff;
    border-radius: 10px;
    flex: 1;
    padding: 30px 24px;
    text-align: center;
}

.portfolio_feature_section .feature_block .portfolio_division_icon {
    font-size: 34px;
    height: 80px;
    margin-bottom: 18px;
    width: 80px;
}

.portfolio_feature_section .feature_block h3 {
    color: #222222;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: 8px;
}

.portfolio_feature_section .feature_block p {
    margin-bottom: 0;
}

.page_detail>section:nth-child(even) .feature_block {
    background-color: #ffffff;
}

@media (max-width: 991px) {
    .clv_right_header .clv_menu .clv_menu_nav {
        background-color: #5e8cb1;
    }

    .clv_right_header .clv_menu .clv_menu_nav>ul>li>ul {
        background-color: transparent;
        display: block;
        padding: 0 0 10px 10px;
    }

    .clv_menu_nav .menu_has_dropdown>a>.fa {
        display: none;
    }


    .clv_logo img {
        max-width: 70px;
    }

    .index_v3 .dairy_counter_wrapper {
        margin-left: -350px;
    }

    .portfolio_hero .about_product_contect {
        padding-right: 0;
    }

    .portfolio_hero_image,
    .portfolio_logistics_image {
        margin-top: 40px;
        padding-left: 0;
    }

    .portfolio_cta_inner {
        align-items: flex-start;
        flex-direction: column;
        padding: 36px;
    }

    .portfolio_cta_actions {
        flex-basis: auto;
        justify-content: flex-start;
        width: 100%;
    }

    .portfolio_spec_panel {
        margin-top: 36px;
    }

    .portfolio_subcategory_image {
        margin: 36px 0 0;
    }

    .portfolio_subcategory_image:after {
        display: none;
    }

    .portfolio_division_image {
        margin-left: auto;
        margin-right: auto;
        max-width: 520px;
    }
}

@media (max-width: 767px) {
    .index_v3 .clv_right_header .clv_menu {
        justify-content: right;
    }

    .index_v3 .clv_right_header .clv_menu .cart_nav>ul>li {
        padding: 20px 5px 20px;
    }

    .clv_left_header {
        text-align: left;
    }

    .index_v3 .header2_wrapper .clv_header2 .clv_logo {
        padding-top: 20px;
    }

    .clv_logo img {
        max-width: 45px;
    }

    .index_v3 .dairy_counter_wrapper {
        margin-left: 0;
    }

    .clv_footer_wrapper .footer_block .footer_logo a img {
        max-width: 50%;
    }

    .index_v3 .clv_footer_wrapper {
        padding: 60px 0;
    }

    .portfolio_hero .about_product_contect>h1,
    .portfolio_divisions .clv_heading h2,
    .portfolio_feature_section .clv_heading h2,
    .portfolio_logistics .service_heading h2 {
        font-size: 32px;
    }

    .portfolio_cta h2 {
        font-size: 28px;
    }

    .portfolio_hero .portfolio_button,
    .portfolio_logistics .portfolio_button {
        width: 100%;
    }

    .portfolio_cta_actions,
    .portfolio_cta .clv_btn2 {
        width: 100%;
    }

    .portfolio_cta_inner {
        padding: 30px 22px;
    }

    .portfolio_subcategory h2 {
        font-size: 28px;
    }

    .portfolio_typology_list {
        grid-template-columns: 1fr;
    }

    .portfolio_spec_panel_inline .portfolio_spec_list.additional_info {
        gap: 16px;
        grid-template-columns: 1fr;
    }


    .portfolio_spec_panel {
        padding: 26px 22px;
    }
}

/* ---------------------------------------------------------------
   Componentes de las páginas de pilares: secciones con lista de
   point_card e imagen lateral. Se heredan con pillar_detail.
   --------------------------------------------------------------- */

.pillar_detail .portfolio_subcategory h2 {
    margin-bottom: 10px;
}

.section_lead {
    color: #005992;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 18px;
}

/* Línea de tiempo de las fases.
   La plantilla no incluye ningún bloque de proceso, pasos ni timeline,
   así que se construye aquí. El número es texto real dentro del marcado,
   no contenido generado, para que lo anuncie un lector de pantalla. */
.process_timeline {
    margin: 40px 0 0;
}

.process_timeline>li {
    display: grid;
    gap: 0 26px;
    grid-template-columns: 68px 1fr;
    padding-bottom: 34px;
    position: relative;
}

.process_timeline>li:last-child {
    padding-bottom: 0;
}

.process_timeline>li:before {
    background-color: #d4e3ec;
    bottom: 0;
    content: "";
    left: 33px;
    position: absolute;
    top: 76px;
    width: 2px;
}

.process_timeline>li:last-child:before {
    display: none;
}

.process_step_number {
    align-items: center;
    background-color: #005992;
    border-radius: 50%;
    color: #ffffff;
    display: flex;
    font-size: 24px;
    font-weight: 700;
    height: 68px;
    justify-content: center;
    line-height: 1;
    width: 68px;
}

.process_step_body h3 {
    color: #222222;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.3;
    margin: 18px 0 8px;
}

.process_step_body p {
    margin-bottom: 0;
}

/* Protocolos de preservación: tarjeta horizontal, para distinguirlos
   de las tarjetas centradas de los pilares del hub. */
.point_card_list {
    margin-top: 10px;
}

.point_card {
    align-items: center;
    background-color: #f4f9ff;
    border-radius: 10px;
    display: grid;
    gap: 0 22px;
    grid-template-columns: 64px 1fr;
    margin-bottom: 18px;
    padding: 24px 26px;
}

.pillar_detail>section:nth-child(even) .point_card {
    background-color: #ffffff;
}

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

.point_card_icon {
    align-items: center;
    background-color: #eaf3f8;
    border-radius: 50%;
    color: #005992;
    display: flex;
    font-size: 26px;
    height: 64px;
    justify-content: center;
    width: 64px;
}

.point_card h3,
.point_card h4 {
    color: #222222;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 6px;
}

.point_card p {
    margin-bottom: 0;
}

/* Incoterms: la sigla ocupa el lugar del icono en la tarjeta compartida. */
.logistics_incoterm_code {
    align-items: center;
    background-color: #005992;
    border-radius: 10px;
    color: #ffffff;
    display: inline-flex;
    font-size: 26px;
    font-weight: 700;
    justify-content: center;
    letter-spacing: 0.04em;
    margin-bottom: 18px;
    min-width: 108px;
    padding: 12px 20px;
}

.logistics_incoterm_name {
    color: #005992;
    display: block;
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 10px;
}

/* Expediente documental: lista con chevrones, como el resumen del hub. */
.chevron_list>li {
    display: grid;
    gap: 0 12px;
    grid-template-columns: 22px 1fr;
    margin-bottom: 18px;
}

.chevron_list>li:last-child {
    margin-bottom: 0;
}

.chevron_list .fa {
    color: #005992;
    margin-top: 5px;
}

.chevron_list strong {
    color: #222222;
    display: block;
}

/* Subtítulo de grupo dentro de una sección de requisitos: separa la lista de
   esquemas de las tarjetas de sostenibilidad sin romper la jerarquía. */
.requirement_group_title {
    color: #222222;
    font-size: 21px;
    font-weight: 600;
    margin: 34px 0 18px;
}

.requirement_group_title:first-of-type {
    margin-top: 26px;
}

.scope_note {
    background-color: #eaf3f8;
    border-left: 4px solid #005992;
    border-radius: 0 8px 8px 0;
    margin: 30px 0 0;
    padding: 18px 22px;
}

/* Las tarjetas de los pilares siguen a una fila de texto e imagen,
   no a un encabezado centrado, así que necesitan separación propia. */
#hub-panama .portfolio_feature_grid {
    margin-top: 44px;
}

.pillar_detail .portfolio_division_image,
.pillar_detail .portfolio_subcategory_image {
    margin-bottom: 40px;
}

@media (max-width: 991px) {
    .process_timeline>li {
        grid-template-columns: 54px 1fr;
        gap: 0 18px;
    }

    .process_timeline>li:before {
        left: 26px;
        top: 62px;
    }

    .process_step_number {
        font-size: 20px;
        height: 54px;
        width: 54px;
    }

    .process_step_body h3 {
        margin-top: 12px;
    }
}

@media (max-width: 767px) {
    .point_card {
        align-items: start;
        gap: 16px;
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .logistics_incoterm_code {
        font-size: 22px;
        min-width: 92px;
    }
}

/* ---------------------------------------------------------------
   Formulario de cotización de /contacto
   --------------------------------------------------------------- */

/* La plantilla declara outline:none en .form_field sin sustituto visible: tal
   cual, el formulario no se puede recorrer con teclado. */
.quote_form .form_field:focus-visible,
.quote_form input[type="checkbox"]:focus-visible,
.quote_form input[type="radio"]:focus-visible {
    outline: 3px solid #fec007;
    outline-offset: 3px;
}

.quote_form .form_field:focus {
    border-color: #005992;
}

.form_group {
    border: none;
    margin: 0 0 14px;
    padding: 0;
}

.form_group>legend {
    color: #222222;
    float: none;
    font-size: 21px;
    font-weight: 600;
    margin-bottom: 16px;
    padding: 0;
    width: auto;
}

.form_group>legend span,
.quote_form label span {
    color: #6c7a86;
    font-size: 14px;
    font-weight: 400;
}

.quote_form label,
.quote_form .label_like {
    color: #222222;
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
}

.quote_form .form_block {
    margin-bottom: 22px;
}

.quote_form textarea.form_field {
    min-height: 150px;
    padding: 14px 18px;
}

.quote_form select.form_field {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8'%3E%3Cpath fill='%23005992' d='M1 1l6 6 6-6'/%3E%3C/svg%3E");
    background-position: right 18px center;
    background-repeat: no-repeat;
    padding-right: 46px;
}

.form_hint {
    color: #6c7a86;
    font-size: 15px;
    margin-bottom: 10px;
}

.field_error {
    color: #b3261e;
    font-size: 15px;
    font-weight: 600;
    margin: 8px 0 0;
}

.quote_form .form_field[aria-invalid="true"] {
    border-color: #b3261e;
    border-width: 2px;
}

/* Casillas y opciones: el copy pedía un desplegable de selección múltiple, que
   niceSelect no maneja bien y que en móvil esconde las opciones. */
.option_grid {
    display: grid;
    gap: 10px 22px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.option_item {
    align-items: baseline;
    display: grid;
    gap: 0 10px;
    grid-template-columns: 18px 1fr;
}

.option_item input {
    height: 18px;
    margin: 0;
    width: 18px;
}

.option_item label {
    font-weight: 400;
    margin-bottom: 0;
}

.consent_block {
    background-color: #f4f9ff;
    border-radius: 10px;
    padding: 20px 22px;
}

/* Resultado del envío */
.form_result {
    border-left: 4px solid #005992;
    border-radius: 0 8px 8px 0;
    margin-bottom: 30px;
    padding: 20px 24px;
}

.form_result h3 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 6px;
}

.form_result p:last-child,
.form_result ul:last-child {
    margin-bottom: 0;
}

.form_result_ok {
    background-color: #eaf6ec;
    border-left-color: #2e7d32;
}

.form_result_warn {
    background-color: #fdf5e3;
    border-left-color: #b78103;
}

.form_result_error {
    background-color: #fdeceb;
    border-left-color: #b3261e;
}

.form_result_error ul {
    margin: 0;
    padding-left: 20px;
}

/* Campo trampa: fuera de la vista y del recorrido de teclado, pero sin
   display:none, que algunos robots detectan. */
.vg_hp {
    height: 1px;
    left: -9999px;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.quote_aside {
    background-color: #f5f5f5;
    border-radius: 10px;
    margin-top: 54px;
    padding: 30px 28px;
}

.quote_aside h3 {
    font-size: 21px;
    font-weight: 600;
    margin-bottom: 20px;
}

.quote_aside .scope_note {
    margin-top: 24px;
}

/* Mapa de la oficina. Vive fuera del contenedor para ocupar el ancho completo
   de la banda, de borde a borde. */
.office_map {
    background-color: #eaf3f8;
    margin-top: 60px;
    text-align: center;
}

/* La banda cierra con el mapa, sin relleno inferior: con el mapa a sangre, un
   hueco vacío debajo parecería un error de maquetación. */
#canales {
    padding-bottom: 0;
}

.office_map_note {
    color: #6c7a86;
    font-size: 14px;
    margin: 0;
    padding: 20px 24px 26px;
}

.office_map iframe {
    border: 0;
    display: block;
    height: 480px;
    width: 100%;
}

@media (max-width: 767px) {
    .option_grid {
        grid-template-columns: 1fr;
    }

    .quote_aside {
        margin-top: 34px;
    }

    .office_map iframe {
        height: 320px;
    }
}

.footer_address {
    font-style: normal;
    line-height: 1.7;
    margin: 18px 0 0;
}

.clv_footer_wrapper .footer_block>h3>a {
    color: inherit;
}

/* Los enlaces dentro de un párrafo de contenido heredaban el color del texto y
   no se distinguían de él. */
.scope_note a,
.point_card p a,
.feature_block p a,
.quote_aside a {
    color: #005992;
    text-decoration: underline;
}

.scope_note a:hover,
.point_card p a:hover,
.feature_block p a:hover,
.quote_aside a:hover {
    color: #004272;
}

/* ---------------------------------------------------------------
   Tarjetas de división con fotografía
   --------------------------------------------------------------- */

/* La tarjeta pierde su relleno: la imagen llega a los bordes y el texto
   recupera el suyo más abajo. */
.dairy_product_inner .portfolio_division_card {
    overflow: hidden;
    padding: 0;
}

/* Las tarjetas con icono (líneas de producto de cada división) no llevan
   fotografía: sin el relleno superior el círculo quedaba pegado al borde. El
   texto ya trae su propio relleno lateral e inferior desde .product_content. */
.dairy_product_inner .portfolio_division_card:has(> .portfolio_division_icon) {
    padding-top: 36px;
}

.portfolio_division_link {
    display: flex;
    flex: 1;
    flex-direction: column;
    text-decoration: none;
}

.portfolio_division_photo img {
    display: block;
    height: 190px;
    object-fit: cover;
    width: 100%;
}

.dairy_product_inner .portfolio_division_card .product_content {
    padding: 22px 18px 26px;
}

/* Toda la tarjeta es el enlace, de modo que el «Ver división» ya no es un
   enlace anidado sino la señal visual de que lo es. */
.portfolio_division_more {
    align-items: center;
    align-self: center;
    border: 1px solid #005992;
    border-radius: 5px;
    color: #005992;
    display: inline-flex;
    gap: 7px;
    justify-content: center;
    margin-top: 14px;
    min-height: 40px;
    padding: 8px 14px;
    transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out,
        color 0.3s ease-in-out;
}

.portfolio_division_card:hover .portfolio_division_more,
.portfolio_division_card:focus-within .portfolio_division_more {
    border-color: #ffffff;
    color: #ffffff;
}

.portfolio_division_link:focus-visible {
    outline: 3px solid #fec007;
    outline-offset: -3px;
}

@media (max-width: 575px) {
    .portfolio_division_photo img {
        height: 220px;
    }
}

/* ---------------------------------------------------------------
   Portada
   --------------------------------------------------------------- */

.visually_hidden {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.home_badge {
    color: #fec007;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 14px;
    text-transform: uppercase;
}

/* La segunda diapositiva repite el estilo del h1 sin serlo: un documento tiene
   un solo encabezado principal, y el segundo además solo se ve si el visitante
   espera a que pase la rotación. */
.clv_banner_slider .clv_slide_inner .home_slide_title {
    color: #ffffff;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 10px;
}

.home_hero_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.home_hero_secondary {
    background-color: transparent;
    border: 2px solid #ffffff;
    color: #ffffff;
}

.home_hero_secondary:hover,
.home_hero_secondary:focus-visible {
    background-color: #ffffff;
    color: #005992;
}

.slider_arrow:focus-visible {
    outline: 3px solid #fec007;
    outline-offset: 3px;
}

/* La portada usa h2 para el titular de sección y h3 para «Sobre nosotros», para
   no saltarse la jerarquía de encabezados. La plantilla estiliza el h3 de
   .clv_heading y el h2 de .about_heading, así que se replican sus tamaños. */
.home_detail .clv_heading h2 {
    font-size: 40px;
    font-weight: 700;
    color: #222222;
}

.index_v3 .home_detail .dairy_about_inner .about_content .about_heading>h3 {
    font-size: 42px;
    font-weight: 700;
    color: #222222;
}

.home_line .portfolio_eyebrow {
    margin-bottom: 10px;
}

.home_line .point_card_list {
    margin-bottom: 34px;
}

/* Motivos: toda la tarjeta es el enlace. */
.home_reason_grid {
    list-style: none;
    margin: 40px 0 0;
    padding: 0;
}

.home_reason_card {
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 0 30px 1px rgba(0, 0, 0, 0.06);
    display: block;
    height: 100%;
    padding: 34px 26px 30px;
    text-align: center;
    text-decoration: none;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.home_reason_grid > li {
    display: flex;
    margin-bottom: 24px;
}

.home_reason_card:hover,
.home_reason_card:focus-visible {
    box-shadow: 0 12px 28px rgba(0, 89, 146, 0.24);
    transform: translateY(-5px);
}

.home_reason_card:focus-visible {
    outline: 3px solid #fec007;
    outline-offset: 3px;
}

.home_reason_icon {
    align-items: center;
    background-color: #eaf3f8;
    border-radius: 50%;
    color: #005992;
    display: flex;
    font-size: 30px;
    height: 72px;
    justify-content: center;
    margin: 0 auto 20px;
    width: 72px;
}

.home_reason_card h3 {
    color: #222222;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 10px;
}

.home_reason_card p {
    margin-bottom: 0;
}

/* Doble llamada: un bloque por público. */
.home_funnel {
    background-color: #005992;
    border-radius: 10px;
    color: #ffffff;
    height: 100%;
    padding: 44px 40px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.home_funnel_alt {
    background-color: #0b3d5c;
}

.home_funnel h3 {
    color: #ffffff;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 14px;
}

.home_funnel p {
    color: rgba(255, 255, 255, 0.86);
    flex-grow: 1;
    margin-bottom: 26px;
}

.home_funnel .portfolio_button {
    background-color: #ffffff;
    border-color: #ffffff;
    color: #005992;
}

.home_funnel .portfolio_button:hover,
.home_funnel .portfolio_button:focus-visible {
    background-color: #fec007;
    border-color: #fec007;
    color: #222222;
}

.home_funnels .row > div {
    margin-bottom: 24px;
}

@media (max-width: 991px) {
    .home_detail .clv_heading h2 {
        font-size: 30px;
    }

    .index_v3 .home_detail .dairy_about_inner .about_content .about_heading>h3 {
        font-size: 32px;
    }

    .clv_banner_slider .clv_slide_inner .home_slide_title {
        font-size: 34px;
    }

    .home_funnel {
        padding: 34px 26px;
    }
}

/* La plantilla aplica text-transform: capitalize a varios titulares. En inglés
   pasa desapercibido; en español convierte «Suministro global de alimentos» en
   «Suministro Global De Alimentos», que no es como se escribe. */
.index_v3 .clv_banner_slider .clv_slide .clv_slide_inner h1,
.index_v3 .clv_banner_slider .clv_slide .clv_slide_inner .home_slide_title,
.index_v3 .dairy_counter_wrapper .dairy_counter_block .counter_text h5,
.dairy_products_wrapper .clv_heading h2,
.clv_footer_wrapper .footer_block .useful_links>li>a,
.clv_copyright_wrapper p {
    text-transform: none;
}

/* El logotipo del pie mide 170 x 150 px y se estaba estirando a 270: se veía
   blando y escalonado. Se limita a su tamaño real. */
.clv_footer_wrapper .footer_logo img {
    max-width: 170px;
    width: 100%;
}
