 :root{--green:#679b36;--green-dark:#4b7d2d;--ink:#282b27;--muted:#6c706a;--pale:#f6f8f3;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Roboto,Arial,sans-serif;font-size:16px;line-height:1.65}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.container{width:min(1160px,calc(100% - 48px));margin:0 auto}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Roboto Slab",Georgia,serif;font-weight:500;line-height:1.25}h1{font-size:clamp(32px,4vw,48px)}h2{font-size:clamp(27px,3.2vw,38px)}h2 span{color:var(--green)}.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:12px;top:12px;background:#fff;padding:12px;z-index:9999}
.site-header{background:#fff;min-height:94px;position:relative;z-index:20;box-shadow:0 1px 7px rgba(0,0,0,.04)}.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{width:94px;height:61px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:clamp(15px,2.3vw,32px)}.main-nav a{font-size:12px;font-weight:700;letter-spacing:.65px;color:#30352f;padding:12px 0;position:relative}.main-nav a:after{content:"";position:absolute;left:0;bottom:3px;width:0;height:2px;background:var(--green);transition:width .2s}.main-nav a:hover:after,.main-nav a.active:after{width:100%}.main-nav a.active{color:var(--green-dark)}.menu-toggle{display:none;border:0;background:none;padding:8px}.menu-toggle span{display:block;width:26px;height:2px;background:var(--green-dark);margin:5px}
.about-home{padding:68px 0 72px}.about-home-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:70px}.about-photo{height:365px;overflow:hidden}.about-photo img{width:100%;height:100%;object-fit:cover}.about-copy{max-width:480px}.about-copy h2{margin-bottom:15px}.short-rule{height:3px;width:52px;background:var(--green);margin:0 0 23px}.about-copy p,.quality-copy p{color:var(--muted);font-size:15px}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:12px;font-weight:700;letter-spacing:.8px;color:var(--green-dark);margin-top:8px}.text-link span{font-size:18px}
.products-home{padding:20px 0 75px}.product-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.product-feature{height:350px;position:relative;overflow:hidden;background:#e8eee2}.product-feature>img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.product-feature:hover>img{transform:scale(1.035)}.product-feature-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,38,20,.72),rgba(18,38,20,.03) 70%)}.product-feature-copy{position:absolute;bottom:30px;left:34px;color:#fff}.product-feature-copy h2{font-size:28px;margin-bottom:15px;color:#fff}.button{display:inline-flex;align-items:center;gap:22px;padding:11px 20px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;font-weight:700;border:0}.button-white{background:#fff;color:#333}.button-green{background:var(--green);color:#fff}
.quality-home{padding:64px 0 70px;background:#f7f8f4}.quality-home-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center}.quality-leaf{display:flex;justify-content:center;align-items:center;min-height:235px}.quality-leaf img{width:230px;max-height:260px;object-fit:contain}.quality-copy h1{margin-bottom:18px}.quality-copy p{max-width:550px}.quality-copy .button{margin-top:10px}
.certifications-home{padding:72px 0 82px}.cert-heading{text-align:center;margin:0 auto 35px}.small-leaf{width:48px;height:auto;object-fit:contain;margin:0 auto 12px}.cert-heading h2{margin-bottom:13px}.cert-heading .short-rule{margin:0 auto 12px}.cert-heading .text-link{margin-top:0}.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.cert-card{text-align:center;padding:18px 22px 26px;border:1px solid #eceee9;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.035)}.cert-image{height:115px;display:flex;align-items:center;justify-content:center;margin-bottom:15px}.cert-image img{max-width:170px;max-height:95px;object-fit:contain}.cert-card h3{font-family:"Roboto Slab",serif;font-size:20px;font-weight:500;margin-bottom:10px}.cert-card p{font-size:13px;color:var(--muted);margin:0}
.group-home{padding:60px 0 70px;background:#f8f9f6}.group-heading{text-align:center;margin-bottom:30px}.group-heading h2{font-size:clamp(25px,3vw,34px);margin-bottom:15px}.group-heading .short-rule{margin:0 auto}.group-logos{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;gap:40px}.group-logos a{display:flex;align-items:center;justify-content:center;min-height:130px;padding:15px}.group-logos img{max-width:190px;max-height:120px;object-fit:contain}
.site-footer{background:#fff;border-top:1px solid #e9ece6;padding:24px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-logo img{width:65px;height:auto}.footer-inner nav{display:flex;gap:18px;flex-wrap:wrap}.footer-inner nav a{font-size:11px;color:#666}.footer-inner p{font-size:11px;color:#777;margin:0}
.page-hero{position:relative;min-height:310px;display:flex;align-items:center;background:#4b6f38;color:#fff;overflow:hidden}.page-hero-image,.page-hero-overlay{position:absolute;inset:0}.page-hero-image{background-size:cover;background-position:center;opacity:.75}.page-hero-overlay{background:linear-gradient(90deg,rgba(24,48,25,.78),rgba(24,48,25,.25))}.page-hero-content{position:relative;padding:55px 0}.page-hero h1{font-size:clamp(35px,4.5vw,54px);margin:0 0 12px}.page-hero-content>p:last-child{max-width:650px}.section{padding:75px 0}.page-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;margin-bottom:40px}.page-image{height:300px;overflow:hidden}.page-image img{width:100%;height:100%;object-fit:cover}.detail-cards{display:grid;grid-template-columns:1fr 1fr;gap:25px}.detail-cards article{padding:28px;border:1px solid #e7ebe3}.detail-mark{color:var(--green);font-size:22px}.detail-cards h2{font-size:25px}.detail-cards p{color:var(--muted)}.contact-form{max-width:750px;margin:25px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:grid;gap:7px;font-size:13px;font-weight:700}.contact-form label:nth-child(n+3),.contact-form button,.form-message{grid-column:1/-1}.contact-form input,.contact-form textarea{font:inherit;font-size:14px;padding:12px;border:1px solid #dce2d8}.contact-form button{justify-self:start;cursor:pointer}.form-message{font-size:13px;color:var(--green-dark)}
@media(max-width:850px){.header-inner{min-height:80px}.site-header{min-height:80px}.brand img{width:75px;height:auto}.menu-toggle{display:block;cursor:pointer}.main-nav{display:none;position:absolute;left:0;right:0;top:80px;background:#fff;padding:10px 24px 20px;box-shadow:0 12px 20px rgba(0,0,0,.1);flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:11px 0}.about-home-grid,.quality-home-grid{gap:35px}.about-photo{height:310px}.product-feature{height:300px}.footer-inner{flex-direction:column;text-align:center}.footer-inner nav{justify-content:center}}
@media(max-width:620px){.container{width:calc(100% - 32px)}.about-home{padding:45px 0}.about-home-grid,.quality-home-grid,.page-intro-grid{grid-template-columns:1fr;gap:25px}.about-photo{height:270px}.about-copy{padding:0 2px}.products-home{padding:5px 0 45px}.product-home-grid{grid-template-columns:1fr;gap:16px}.product-feature{height:260px}.quality-home{padding:45px 0}.quality-home-grid{gap:10px}.quality-leaf{min-height:150px}.quality-leaf img{width:140px;max-height:160px}.certifications-home{padding:48px 0}.cert-grid{grid-template-columns:1fr;gap:15px}.cert-card{padding:20px}.group-home{padding:45px 0}.group-logos{grid-template-columns:1fr;gap:12px}.group-logos a{min-height:90px}.group-logos img{max-height:85px}.detail-cards,.contact-form{grid-template-columns:1fr}.contact-form label,.contact-form button,.form-message{grid-column:1}.page-hero{min-height:260px}.page-intro-grid{margin-bottom:25px}.section{padding:50px 0}}

/* =====================================================
   PROSERLA - MEJORAS VISUALES PROFESIONALES
   ===================================================== */

:root {
    --green: #679b36;
    --green-dark: #477b2c;
    --ink: #282b27;
    --muted: #6c706a;
    --white: #ffffff;
    --shadow-soft: 0 10px 35px rgba(35, 55, 25, 0.08);
    --shadow-hover: 0 18px 40px rgba(35, 55, 25, 0.16);
}

/* Desplazamiento suave */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
}

/* =====================================================
   ENCABEZADO PROFESIONAL
   ===================================================== */

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(103, 155, 54, 0.08);
    box-shadow: 0 3px 18px rgba(0, 0, 0, 0.035);
    transition: box-shadow 0.3s ease;
}

.site-header:hover {
    box-shadow: 0 5px 22px rgba(0, 0, 0, 0.06);
}

.brand img {
    transition: transform 0.35s ease;
}

.brand:hover img {
    transform: scale(1.06);
}

/* Menú con animación */
.main-nav a {
    transition: color 0.3s ease;
}

.main-nav a::after {
    height: 2px;
    transition: width 0.35s ease;
}

.main-nav a:hover {
    color: var(--green);
}

/* =====================================================
   SECCIÓN LO MEJOR DE NOSOTROS
   ===================================================== */

.about-home {
    padding-top: 78px;
    padding-bottom: 85px;
}

.about-home-grid {
    gap: 75px;
}

.about-photo {
    position: relative;
    overflow: hidden;
    border-radius: 2px;
    box-shadow: var(--shadow-soft);
}

.about-photo img {
    transition:
        transform 0.8s cubic-bezier(.2, .7, .3, 1),
        filter 0.5s ease;
}

.about-photo:hover img {
    transform: scale(1.045);
    filter: brightness(1.04);
}

.about-copy h2 {
    letter-spacing: -0.7px;
}

.about-copy p {
    line-height: 1.9;
}

.short-rule {
    height: 3px;
    border-radius: 5px;
    transition: width 0.4s ease;
}

.about-copy:hover .short-rule {
    width: 75px;
}

/* Enlaces profesionales */
.text-link {
    position: relative;
    transition:
        color 0.3s ease,
        gap 0.3s ease;
}

.text-link:hover {
    color: var(--green);
    gap: 25px;
}

.text-link span {
    transition: transform 0.3s ease;
}

.text-link:hover span {
    transform: translateX(5px);
}

/* =====================================================
   PRODUCTOS
   ===================================================== */

.products-home {
    padding-top: 25px;
    padding-bottom: 90px;
}

.product-home-grid {
    gap: 28px;
}

.product-feature {
    border-radius: 3px;
    box-shadow: var(--shadow-soft);
    isolation: isolate;
}

.product-feature > img {
    transition:
        transform 0.8s cubic-bezier(.2, .7, .3, 1),
        filter 0.5s ease;
}

.product-feature:hover > img {
    transform: scale(1.07);
    filter: saturate(1.08);
}

.product-feature-overlay {
    background: linear-gradient(
        0deg,
        rgba(17, 38, 18, 0.85) 0%,
        rgba(17, 38, 18, 0.35) 45%,
        rgba(17, 38, 18, 0.02) 100%
    );
    transition: background 0.4s ease;
}

.product-feature:hover .product-feature-overlay {
    background: linear-gradient(
        0deg,
        rgba(17, 38, 18, 0.9) 0%,
        rgba(17, 38, 18, 0.4) 55%,
        rgba(17, 38, 18, 0.05) 100%
    );
}

.product-feature-copy {
    transition: transform 0.4s ease;
}

.product-feature:hover .product-feature-copy {
    transform: translateY(-6px);
}

.product-feature-copy h2 {
    letter-spacing: 1px;
}

/* Botones */
.button {
    position: relative;
    overflow: hidden;
    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.button:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.button-green {
    background: var(--green);
}

.button-green:hover {
    background: var(--green-dark);
}

.button span {
    display: inline-block;
    transition: transform 0.3s ease;
}

.button:hover span {
    transform: translateX(5px);
}

/* =====================================================
   PRODUCCIÓN AGRÍCOLA DE CALIDAD
   ===================================================== */

.quality-home {
    position: relative;
    overflow: hidden;
    background: linear-gradient(120deg, #f7f9f4, #ffffff);
}

.quality-home-grid {
    gap: 75px;
}

.quality-leaf img {
    transition: transform 0.7s ease;
}

.quality-leaf:hover img {
    transform: rotate(-5deg) scale(1.04);
}

.quality-copy h1 {
    letter-spacing: -0.7px;
}

.quality-copy p {
    line-height: 1.9;
}

/* =====================================================
   CERTIFICACIONES
   ===================================================== */

.certifications-home {
    padding-top: 85px;
    padding-bottom: 95px;
}

.cert-heading {
    margin-bottom: 45px;
}

.cert-card {
    position: relative;
    overflow: hidden;
    border: 1px solid #edf0e9;
    border-radius: 3px;
    box-shadow: 0 5px 22px rgba(0, 0, 0, 0.035);
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}

.cert-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 3px;
    background: var(--green);
    transition: width 0.4s ease;
}

.cert-card:hover {
    transform: translateY(-7px);
    box-shadow: var(--shadow-hover);
    border-color: #dce8d2;
}

.cert-card:hover::before {
    width: 100%;
}

.cert-image img {
    transition: transform 0.4s ease;
}

.cert-card:hover .cert-image img {
    transform: scale(1.06);
}

.cert-card h3 {
    transition: color 0.3s ease;
}

.cert-card:hover h3 {
    color: var(--green-dark);
}

.cert-card p {
    line-height: 1.8;
}

/* =====================================================
   GRUPO EMPRESARIAL
   ===================================================== */

.group-home {
    background: linear-gradient(180deg, #f8faf6 0%, #f2f6ed 100%);
}

.group-logos a {
    transition:
        transform 0.35s ease,
        background 0.35s ease;
    border-radius: 4px;
}

.group-logos a:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.8);
}

.group-logos img {
    transition: filter 0.35s ease;
}

/* =====================================================
   PIE DE PÁGINA
   ===================================================== */

.site-footer {
    border-top: 1px solid #e8ece3;
    background: #ffffff;
}

.footer-inner nav a {
    transition: color 0.3s ease;
}

.footer-inner nav a:hover {
    color: var(--green-dark);
}

/* =====================================================
   ANIMACIÓN DE APARICIÓN AL DESPLAZARSE
   ===================================================== */

.reveal {
    opacity: 0;
    transform: translateY(25px);
    transition:
        opacity 0.7s ease,
        transform 0.7s ease;
}

.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Accesibilidad: evitar animaciones si el usuario lo solicita */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .reveal {
        opacity: 1;
        transform: none;
    }
}

/* =====================================================
   RESPONSIVE
   ===================================================== */

@media (max-width: 850px) {
    .about-home-grid,
    .quality-home-grid {
        gap: 35px;
    }

    .certifications-home {
        padding-top: 60px;
        padding-bottom: 65px;
    }
}

@media (max-width: 620px) {
    .about-home {
        padding-top: 45px;
        padding-bottom: 50px;
    }

    .products-home {
        padding-bottom: 50px;
    }

    .certifications-home {
        padding-top: 50px;
        padding-bottom: 55px;
    }

    .cert-card:hover {
        transform: translateY(-3px);
    }
}

/* =====================================================
   PROSERLA - PÁGINA DE PRODUCTOS
   ===================================================== */

.productos-page {
    overflow: hidden;
    background: #fff;
}

/* PORTADA */

.productos-hero {
    position: relative;
    min-height: 450px;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: #fff;
    background: #29472b;
}

.productos-hero-image {
    position: absolute;
    inset: 0;
    background-image: url(
        'https://proserla.com/wp-content/uploads/elementor/thumbs/Uva-Verde-5-scaled-qissr8dpfcyhp1yxfdmv889mspltxranr6630ak61s.webp'
    );
    background-position: center 45%;
    background-size: cover;
    transform: scale(1.02);
    animation: productosPortada 1.2s ease-out;
}

.productos-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(18, 42, 22, .88) 0%,
        rgba(18, 42, 22, .64) 48%,
        rgba(18, 42, 22, .12) 100%
    );
}

.productos-hero-content {
    position: relative;
    z-index: 2;
    padding-top: 70px;
    padding-bottom: 75px;
    animation: productosEntrada .8s ease-out;
}

.productos-eyebrow {
    display: block;
    margin-bottom: 17px;
    color: #d2e7b8;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.productos-hero h1 {
    max-width: 700px;
    margin-bottom: 20px;
    color: #fff;
    font-size: clamp(38px, 5vw, 62px);
    line-height: 1.15;
}

.productos-hero h1 span {
    color: #a8cf78;
}

.productos-hero-content > p {
    max-width: 540px;
    margin-bottom: 28px;
    color: rgba(255, 255, 255, .88);
    font-size: 16px;
    line-height: 1.8;
}

.productos-hero-line {
    position: absolute;
    z-index: 3;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(
        90deg,
        #4e842f 0%,
        #9dc96a 45%,
        transparent 100%
    );
}

/* BOTONES */

.productos-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    padding: 14px 21px;
    border: 1px solid rgba(255, 255, 255, .65);
    color: #fff;
    background: transparent;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .7px;
    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}

.productos-btn span {
    display: inline-block;
    font-size: 18px;
    transition: transform .3s ease;
}

.productos-btn:hover {
    transform: translateY(-3px);
    background: #fff;
    color: #477b2c;
    box-shadow: 0 8px 25px rgba(0, 0, 0, .15);
}

.productos-btn:hover span {
    transform: translateX(5px);
}

.productos-btn-verde {
    margin-top: 10px;
    border-color: #679b36;
    background: #679b36;
    color: #fff;
}

.productos-btn-verde:hover {
    border-color: #477b2c;
    background: #477b2c;
    color: #fff;
}

.productos-btn-blanco {
    border-color: #fff;
    color: #fff;
}

.productos-btn-blanco:hover {
    background: #fff;
    color: #477b2c;
}

/* INTRODUCCIÓN */

.productos-intro {
    padding: 85px 0 65px;
}

.productos-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 75px;
    align-items: center;
}

.productos-label {
    display: block;
    margin-bottom: 16px;
    color: #679b36;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.productos-intro-title h2 {
    max-width: 490px;
    margin-bottom: 23px;
    font-size: clamp(30px, 3.5vw, 43px);
    line-height: 1.3;
}

.productos-intro-title h2 span {
    color: #679b36;
}

.productos-line {
    width: 58px;
    height: 3px;
    margin-bottom: 23px;
    background: #679b36;
    transition: width .35s ease;
}

.productos-intro-title:hover .productos-line,
.producto-detalle-contenido:hover .productos-line {
    width: 85px;
}

.productos-intro-text p {
    color: #6c706a;
    font-size: 15px;
    line-height: 1.95;
}

.productos-intro-text p:last-child {
    margin-bottom: 0;
}

/* TÍTULO DEL LISTADO */

.productos-listado {
    padding: 45px 0 90px;
    background: #f8faf6;
    scroll-margin-top: 100px;
}

.productos-section-heading {
    margin-bottom: 55px;
    text-align: center;
}

.productos-section-heading h2 {
    margin-bottom: 12px;
    font-size: clamp(28px, 3.5vw, 39px);
}

.productos-section-heading > p {
    margin-bottom: 0;
    color: #73786f;
    font-size: 14px;
}

/* TARJETAS DE PRODUCTOS */

.producto-detalle {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    align-items: center;
    gap: 70px;
    margin-bottom: 75px;
    scroll-margin-top: 110px;
}

.producto-detalle:last-child {
    margin-bottom: 0;
}

.producto-detalle-invertido {
    grid-template-columns: .92fr 1.08fr;
}

.producto-detalle-invertido .producto-detalle-imagen {
    order: 2;
}

.producto-detalle-invertido .producto-detalle-contenido {
    order: 1;
}

.producto-detalle-imagen {
    position: relative;
    height: 390px;
    overflow: hidden;
    background: #e9eee5;
    box-shadow: 0 12px 32px rgba(30, 55, 20, .08);
}

.producto-detalle-imagen::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, .15);
    pointer-events: none;
}

.producto-detalle-imagen img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        transform .8s cubic-bezier(.2, .7, .3, 1),
        filter .5s ease;
}

.producto-detalle-imagen:hover img {
    transform: scale(1.06);
    filter: saturate(1.08);
}

.producto-imagen-etiqueta {
    position: absolute;
    bottom: 20px;
    left: 20px;
    z-index: 2;
    padding: 9px 13px;
    color: #fff;
    background: rgba(43, 76, 34, .88);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.2px;
}

.producto-detalle-contenido {
    padding: 15px 0;
}

.producto-numero {
    display: block;
    margin-bottom: 15px;
    color: #679b36;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.producto-detalle-contenido h3 {
    margin-bottom: 19px;
    color: #292e27;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: clamp(29px, 3vw, 39px);
    font-weight: 500;
    line-height: 1.3;
}

.producto-detalle-contenido > p {
    color: #6c706a;
    font-size: 14px;
    line-height: 1.95;
}

.producto-caracteristicas {
    display: grid;
    gap: 13px;
    margin: 25px 0;
    padding: 0;
    list-style: none;
}

.producto-caracteristicas li {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #444a41;
    font-size: 13px;
}

.producto-caracteristicas li span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    color: #477b2c;
    background: #eaf2e2;
    font-size: 12px;
}

/* CIERRE */

.productos-cierre {
    position: relative;
    padding: 85px 0;
    overflow: hidden;
    color: #fff;
    background-image: url(
        'https://proserla.com/wp-content/uploads/elementor/thumbs/Uva-Verde-5-scaled-qissr8dpfcyhp1yxfdmv889mspltxranr6630ak61s.webp'
    );
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.productos-cierre-overlay {
    position: absolute;
    inset: 0;
    background: rgba(27, 55, 28, .83);
}

.productos-cierre-contenido {
    position: relative;
    z-index: 1;
    text-align: center;
}

.productos-cierre-contenido h2 {
    margin-bottom: 18px;
    color: #fff;
    font-size: clamp(29px, 4vw, 43px);
}

.productos-cierre-contenido > p {
    max-width: 650px;
    margin: 0 auto 27px;
    color: rgba(255, 255, 255, .88);
    font-size: 14px;
    line-height: 1.9;
}

/* ANIMACIONES */

@keyframes productosEntrada {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes productosPortada {
    from {
        transform: scale(1.08);
    }

    to {
        transform: scale(1.02);
    }
}

/* RESPONSIVE */

@media (max-width: 850px) {

    .productos-hero {
        min-height: 390px;
    }

    .productos-intro-grid {
        gap: 35px;
    }

    .producto-detalle,
    .producto-detalle-invertido {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

    .producto-detalle-imagen {
        height: 320px;
    }

    .productos-cierre {
        background-attachment: scroll;
    }
}

@media (max-width: 620px) {

    .productos-hero {
        min-height: 380px;
    }

    .productos-hero-content {
        padding-top: 55px;
        padding-bottom: 55px;
    }

    .productos-hero-overlay {
        background: rgba(18, 42, 22, .72);
    }

    .productos-intro {
        padding: 55px 0 40px;
    }

    .productos-intro-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .productos-listado {
        padding: 40px 0 55px;
    }

    .productos-section-heading {
        margin-bottom: 35px;
    }

    .producto-detalle,
    .producto-detalle-invertido {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-bottom: 55px;
    }

    .producto-detalle-invertido .producto-detalle-imagen,
    .producto-detalle-invertido .producto-detalle-contenido {
        order: initial;
    }

    .producto-detalle-imagen {
        height: 270px;
    }

    .producto-detalle-contenido {
        padding: 0;
    }

    .productos-cierre {
        padding: 60px 0;
        background-attachment: scroll;
    }
}

/* Corrección de visibilidad de las secciones */

.reveal {
    opacity: 0;
    transform: translateY(20px);
    transition:
        opacity 0.7s ease,
        transform 0.7s ease;
}

.reveal.is-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Si JavaScript falla, no dejar las secciones ocultas */
html.no-js .reveal {
    opacity: 1;
    transform: none;
}

/* =====================================================
   PROSERLA - PÁGINA NOSOTROS
   ===================================================== */

.nosotros-page {
    overflow: hidden;
    background: #fff;
    color: #292e27;
}

.nosotros-page img {
    display: block;
    max-width: 100%;
}

/* PORTADA */

.nosotros-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 440px;
    overflow: hidden;
    color: #fff;
    background: #29472b;
}

.nosotros-hero-image {
    position: absolute;
    inset: 0;
    background-image: url(
        'https://proserla.com/wp-content/uploads/elementor/thumbs/Uva-Verde-5-scaled-qissr8dpfcyhp1yxfdmv889mspltxranr6630ak61s.webp'
    );
    background-size: cover;
    background-position: center 48%;
    animation: nosotrosHeroZoom 1.1s ease-out;
}

.nosotros-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(21, 45, 24, .88),
        rgba(21, 45, 24, .55) 55%,
        rgba(21, 45, 24, .12)
    );
}

.nosotros-hero-content {
    position: relative;
    z-index: 2;
    padding-top: 65px;
    padding-bottom: 65px;
    animation: nosotrosFadeUp .8s ease-out;
}

.nosotros-eyebrow {
    display: block;
    margin-bottom: 18px;
    color: #d0e8b4;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.nosotros-hero h1 {
    margin-bottom: 20px;
    color: #fff;
    font-size: clamp(38px, 5vw, 61px);
    line-height: 1.15;
}

.nosotros-hero h1 span {
    color: #a9d17b;
}

.nosotros-hero-content > p {
    max-width: 540px;
    margin-bottom: 27px;
    color: rgba(255, 255, 255, .9);
    font-size: 15px;
    line-height: 1.9;
}

.nosotros-hero-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(
        90deg,
        #4e842f,
        #a3ce71,
        transparent
    );
}

/* BOTONES */

.nosotros-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 14px 21px;
    border: 1px solid rgba(255, 255, 255, .7);
    color: #fff;
    background: transparent;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .7px;
    text-decoration: none;
    transition: all .3s ease;
}

.nosotros-btn span {
    font-size: 18px;
    transition: transform .3s ease;
}

.nosotros-btn:hover {
    transform: translateY(-3px);
    background: #fff;
    color: #477b2c;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .12);
}

.nosotros-btn:hover span {
    transform: translateX(5px);
}

.nosotros-btn-green {
    border-color: #679b36;
    background: #679b36;
    color: #fff;
}

.nosotros-btn-green:hover {
    border-color: #477b2c;
    background: #477b2c;
    color: #fff;
}

/* ETIQUETAS Y LÍNEAS */

.nosotros-label {
    display: block;
    margin-bottom: 16px;
    color: #679b36;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.nosotros-line {
    width: 58px;
    height: 3px;
    margin-bottom: 23px;
    background: #679b36;
    transition: width .35s ease;
}

/* PRESENTACIÓN */

.nosotros-intro {
    padding: 90px 0;
}

.nosotros-intro-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 75px;
    align-items: center;
}

.nosotros-intro-image {
    position: relative;
    height: 440px;
    overflow: hidden;
    background: #eef2e9;
    box-shadow: 0 14px 38px rgba(30, 55, 20, .1);
}

.nosotros-intro-image > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s ease;
}

.nosotros-intro-image:hover > img {
    transform: scale(1.05);
}

.nosotros-image-label {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 23px;
    color: #fff;
    background: rgba(35, 63, 31, .88);
}

.nosotros-label-icon {
    color: #b9df8b;
    font-size: 30px;
}

.nosotros-image-label strong,
.nosotros-image-label span {
    display: block;
}

.nosotros-image-label strong {
    margin-bottom: 4px;
    font-size: 14px;
    letter-spacing: 1px;
}

.nosotros-image-label div span {
    color: rgba(255, 255, 255, .8);
    font-size: 12px;
}

.nosotros-intro-content h2 {
    margin-bottom: 22px;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: clamp(29px, 3.5vw, 43px);
    font-weight: 500;
    line-height: 1.35;
}

.nosotros-intro-content h2 span {
    color: #679b36;
}

.nosotros-intro-content p {
    margin-bottom: 17px;
    color: #6c706a;
    font-size: 14px;
    line-height: 1.95;
}

.nosotros-text-link {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    margin-top: 12px;
    color: #477b2c;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .5px;
    text-decoration: none;
}

.nosotros-text-link span {
    font-size: 19px;
    transition: transform .3s ease;
}

.nosotros-text-link:hover span {
    transform: translateX(6px);
}

/* ENFOQUE */

.nosotros-enfoque {
    padding: 85px 0 95px;
    background: #f7f9f4;
}

.nosotros-section-heading {
    max-width: 720px;
    margin: 0 auto 50px;
    text-align: center;
}

.nosotros-section-heading h2 {
    margin-bottom: 14px;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: clamp(28px, 3.5vw, 39px);
    font-weight: 500;
}

.nosotros-section-heading > p {
    margin-bottom: 0;
    color: #73786f;
    font-size: 14px;
    line-height: 1.8;
}

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

.nosotros-valor {
    position: relative;
    padding: 35px 29px 32px;
    border: 1px solid #e8ede2;
    background: #fff;
    box-shadow: 0 6px 24px rgba(30, 55, 20, .035);
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.nosotros-valor:hover {
    transform: translateY(-7px);
    border-color: #c9ddb8;
    box-shadow: 0 15px 35px rgba(30, 55, 20, .1);
}

.nosotros-valor-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 25px;
    border: 1px solid #dce9d0;
    border-radius: 50%;
    color: #477b2c;
    background: #f4f8ef;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: 18px;
    transition:
        color .3s ease,
        background .3s ease;
}

.nosotros-valor:hover .nosotros-valor-icon {
    color: #fff;
    background: #679b36;
}

.nosotros-valor h3 {
    margin-bottom: 14px;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: 22px;
    font-weight: 500;
}

.nosotros-valor p {
    margin-bottom: 22px;
    color: #6c706a;
    font-size: 13px;
    line-height: 1.9;
}

.nosotros-valor-line {
    width: 38px;
    height: 3px;
    background: #679b36;
    transition: width .35s ease;
}

.nosotros-valor:hover .nosotros-valor-line {
    width: 75px;
}

/* PRODUCCIÓN */

.nosotros-produccion {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 410px;
    overflow: hidden;
    color: #fff;
    background: #29472b;
}

.nosotros-produccion-image {
    position: absolute;
    inset: 0;
    background-image: url(
        'https://proserla.com/wp-content/uploads/elementor/thumbs/shutterstock_1112052245-min-qig30elu72op9edw7bcd9lr4jfnb5thtgjt0f3vq8w.jpg'
    );
    background-size: cover;
    background-position: center;
    transition: transform 1s ease;
}

.nosotros-produccion:hover .nosotros-produccion-image {
    transform: scale(1.03);
}

.nosotros-produccion-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(23, 48, 25, .9),
        rgba(23, 48, 25, .65) 55%,
        rgba(23, 48, 25, .3)
    );
}

.nosotros-produccion-content {
    position: relative;
    z-index: 2;
    padding-top: 75px;
    padding-bottom: 75px;
}

.nosotros-produccion-content h2 {
    max-width: 650px;
    margin-bottom: 20px;
    color: #fff;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: clamp(32px, 4vw, 47px);
    font-weight: 500;
    line-height: 1.3;
}

.nosotros-produccion-content h2 span {
    color: #a9d17b;
}

.nosotros-produccion-content > p {
    max-width: 620px;
    margin-bottom: 28px;
    color: rgba(255, 255, 255, .88);
    font-size: 14px;
    line-height: 1.9;
}

/* CERTIFICACIONES */

.nosotros-certificaciones {
    padding: 85px 0;
}

.nosotros-cert-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
}

.nosotros-cert-content h2 {
    margin-bottom: 22px;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: clamp(29px, 3.5vw, 40px);
    font-weight: 500;
    line-height: 1.35;
}

.nosotros-cert-content p {
    margin-bottom: 27px;
    color: #6c706a;
    font-size: 14px;
    line-height: 1.9;
}

.nosotros-cert-logos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
    align-items: center;
}

.nosotros-cert-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    padding: 17px;
    border: 1px solid #edf0e9;
    background: #fff;
    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.nosotros-cert-logo:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(30, 55, 20, .08);
}

.nosotros-cert-logo img {
    width: 100%;
    max-width: 115px;
    max-height: 75px;
    object-fit: contain;
}

/* CONTACTO */

.nosotros-contacto {
    padding: 60px 0;
    background: #f6f8f3;
}

.nosotros-contacto-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.nosotros-contacto-inner h2 {
    margin-bottom: 12px;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: 35px;
    font-weight: 500;
}

.nosotros-contacto-inner p {
    max-width: 580px;
    margin-bottom: 0;
    color: #6c706a;
    font-size: 14px;
    line-height: 1.8;
}

/* ANIMACIONES */

@keyframes nosotrosFadeUp {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes nosotrosHeroZoom {
    from {
        transform: scale(1.08);
    }

    to {
        transform: scale(1);
    }
}

/* RESPONSIVE */

@media (max-width: 850px) {

    .nosotros-intro-grid,
    .nosotros-cert-grid {
        gap: 35px;
    }

    .nosotros-intro-image {
        height: 370px;
    }

    .nosotros-valores-grid {
        gap: 15px;
    }

    .nosotros-valor {
        padding: 27px 20px;
    }
}

@media (max-width: 620px) {

    .nosotros-hero {
        min-height: 370px;
    }

    .nosotros-hero-content {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .nosotros-intro {
        padding: 55px 0;
    }

    .nosotros-intro-grid,
    .nosotros-cert-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .nosotros-intro-image {
        height: 300px;
    }

    .nosotros-enfoque {
        padding: 55px 0;
    }

    .nosotros-section-heading {
        margin-bottom: 30px;
    }

    .nosotros-valores-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .nosotros-produccion {
        min-height: 370px;
    }

    .nosotros-produccion-content {
        padding-top: 55px;
        padding-bottom: 55px;
    }

    .nosotros-certificaciones {
        padding: 55px 0;
    }

    .nosotros-cert-logos {
        gap: 9px;
    }

    .nosotros-cert-logo {
        min-height: 95px;
        padding: 10px;
    }

    .nosotros-contacto {
        padding: 45px 0;
    }

    .nosotros-contacto-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .nosotros-contacto-inner h2 {
        font-size: 30px;
    }
}

/* =====================================================
   PROSERLA - PÁGINA DE CERTIFICACIONES
   ===================================================== */

.certificaciones-page {
    overflow: hidden;
    color: #292e27;
    background: #fff;
}

.certificaciones-page img {
    display: block;
    max-width: 100%;
}

/* PORTADA */

.cert-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 420px;
    overflow: hidden;
    color: #fff;
    background: #29472b;
}

.cert-hero-background {
    position: absolute;
    inset: 0;
    background-image: url(
        'https://proserla.com/wp-content/uploads/elementor/thumbs/Uva-Verde-5-scaled-qissr8dpfcyhp1yxfdmv889mspltxranr6630ak61s.webp'
    );
    background-position: center 45%;
    background-size: cover;
    animation: certHeroZoom 1s ease-out;
}

.cert-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(22, 45, 24, .9),
        rgba(22, 45, 24, .62) 55%,
        rgba(22, 45, 24, .2)
    );
}

.cert-hero-content {
    position: relative;
    z-index: 2;
    padding-top: 65px;
    padding-bottom: 65px;
    animation: certFadeUp .8s ease-out;
}

.cert-eyebrow {
    display: block;
    margin-bottom: 17px;
    color: #cce5af;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.cert-hero h1 {
    margin-bottom: 18px;
    color: #fff;
    font-size: clamp(35px, 5vw, 58px);
    line-height: 1.2;
}

.cert-hero h1 span {
    color: #a9d17b;
}

.cert-hero-content > p {
    max-width: 580px;
    margin-bottom: 27px;
    color: rgba(255, 255, 255, .9);
    font-size: 15px;
    line-height: 1.9;
}

.cert-hero-line {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(
        90deg,
        #477b2c,
        #a9d17b,
        transparent
    );
}

/* BOTONES */

.cert-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 14px 21px;
    border: 1px solid rgba(255, 255, 255, .7);
    color: #fff;
    background: transparent;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .7px;
    text-decoration: none;
    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease,
        box-shadow .3s ease;
}

.cert-button span {
    font-size: 18px;
    transition: transform .3s ease;
}

.cert-button:hover {
    transform: translateY(-3px);
    color: #477b2c;
    background: #fff;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .13);
}

.cert-button:hover span {
    transform: translateX(5px);
}

.cert-button-green {
    border-color: #679b36;
    background: #679b36;
    color: #fff;
}

.cert-button-green:hover {
    border-color: #477b2c;
    background: #477b2c;
    color: #fff;
}

/* INTRODUCCIÓN */

.cert-intro {
    padding: 75px 0 65px;
}

.cert-intro-inner {
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
}

.cert-label {
    display: block;
    margin-bottom: 15px;
    color: #679b36;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.cert-intro h2,
.cert-section-heading h2 {
    margin-bottom: 22px;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: clamp(28px, 3.5vw, 40px);
    font-weight: 500;
    line-height: 1.35;
}

.cert-divider {
    width: 55px;
    height: 3px;
    margin: 0 auto 23px;
    background: #679b36;
    transition: width .35s ease;
}

.cert-intro-inner:hover .cert-divider {
    width: 85px;
}

.cert-intro p {
    max-width: 760px;
    margin: 0 auto;
    color: #6c706a;
    font-size: 14px;
    line-height: 1.95;
}

/* LISTADO */

.cert-listado {
    padding: 65px 0 90px;
    background: #f7f9f4;
    scroll-margin-top: 100px;
}

.cert-section-heading {
    margin-bottom: 45px;
    text-align: center;
}

.cert-section-heading h2 {
    margin-bottom: 12px;
}

.cert-section-heading > p {
    margin-bottom: 0;
    color: #73786f;
    font-size: 14px;
}

/* TARJETAS */

.cert-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
    align-items: stretch;
}

.cert-item {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid #e8ede2;
    background: #fff;
    box-shadow: 0 6px 24px rgba(30, 55, 20, .035);
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.cert-item:hover {
    transform: translateY(-8px);
    border-color: #cbdcbd;
    box-shadow: 0 18px 38px rgba(30, 55, 20, .1);
}

.cert-item-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 22px 23px 0;
}

.cert-item-number {
    color: #679b36;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: 21px;
}

.cert-item-category {
    color: #74796f;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .7px;
    text-align: right;
}

.cert-item-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 190px;
    margin: 15px 22px;
    padding: 25px;
    background: #fff;
    border-bottom: 1px solid #edf0e9;
}

.cert-item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .35s ease;
}

.cert-item:hover .cert-item-image img {
    transform: scale(1.05);
}

.cert-item-content {
    flex: 1;
    padding: 10px 25px 25px;
}

.cert-item-content h3 {
    margin-bottom: 17px;
    color: #292e27;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: 25px;
    font-weight: 500;
}

.cert-item-content .cert-divider {
    margin: 0 0 20px;
    width: 42px;
}

.cert-item:hover .cert-item-content .cert-divider {
    width: 65px;
}

.cert-item-content p {
    margin-bottom: 0;
    color: #6c706a;
    font-size: 13px;
    line-height: 1.9;
}

.cert-item-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 25px;
    border-top: 1px solid #edf0e9;
    color: #73786f;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
}

.cert-footer-symbol {
    color: #679b36;
    font-size: 20px;
    transition: transform .3s ease;
}

.cert-item:hover .cert-footer-symbol {
    transform: translate(3px, -3px);
}

/* CIERRE INSTITUCIONAL */

.cert-compromiso {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 330px;
    overflow: hidden;
    color: #fff;
    background: #29472b;
}

.cert-compromiso-background {
    position: absolute;
    inset: 0;
    background-image: url(
        'https://proserla.com/wp-content/uploads/elementor/thumbs/Uva-Verde-5-scaled-qissr8dpfcyhp1yxfdmv889mspltxranr6630ak61s.webp'
    );
    background-position: center;
    background-size: cover;
}

.cert-compromiso-overlay {
    position: absolute;
    inset: 0;
    background: rgba(25, 52, 27, .84);
}

.cert-compromiso-content {
    position: relative;
    z-index: 2;
    padding-top: 65px;
    padding-bottom: 65px;
    text-align: center;
}

.cert-compromiso-content h2 {
    margin-bottom: 17px;
    color: #fff;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 500;
}

.cert-compromiso-content > p {
    max-width: 680px;
    margin: 0 auto 25px;
    color: rgba(255, 255, 255, .88);
    font-size: 14px;
    line-height: 1.9;
}

/* ENLACE INFERIOR */

.cert-bottom {
    padding: 50px 0;
    background: #f6f8f3;
}

.cert-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}

.cert-bottom-inner h2 {
    margin-bottom: 0;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 500;
}

/* ANIMACIONES */

@keyframes certFadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes certHeroZoom {
    from {
        transform: scale(1.07);
    }

    to {
        transform: scale(1);
    }
}

/* RESPONSIVE */

@media (max-width: 900px) {

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

    .cert-item:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {

    .cert-hero {
        min-height: 365px;
    }

    .cert-hero-content {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .cert-intro {
        padding: 55px 0;
    }

    .cert-listado {
        padding: 45px 0 55px;
    }

    .cert-section-heading {
        margin-bottom: 30px;
    }

    .cert-cards {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .cert-item:last-child {
        grid-column: auto;
    }

    .cert-item-image {
        height: 175px;
    }

    .cert-compromiso {
        min-height: 350px;
    }

    .cert-compromiso-content {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .cert-bottom {
        padding: 40px 0;
    }

    .cert-bottom-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* RESPETAR PREFERENCIAS DE MOVIMIENTO */

@media (prefers-reduced-motion: reduce) {

    .certificaciones-page *,
    .certificaciones-page *::before,
    .certificaciones-page *::after {
        animation: none !important;
        transition: none !important;
    }
}

/* =====================================================
   PROSERLA - BOTÓN ADMINISTRATIVO DISCRETO EN FOOTER
   ===================================================== */
.admin-access-link {
    display: inline-block;
    color: inherit;
    opacity: .65;
    font-size: 11px;
    text-decoration: none;
    transition: opacity .2s ease, color .2s ease;
}
.admin-access-link:hover { opacity: 1; color: #679b36; }

/* =========================================
   CERTIFICACIONES - CARRUSEL PROSERLA
   ========================================= */

.cert-listado {
    padding: 35px 0 45px;
    background: #fff;
}

.cert-slider {
    position: relative;
    width: 100%;
    padding: 0 35px 35px;
}

.cert-slider-viewport {
    width: 100%;
    overflow: hidden;
}

.cert-slider-track {
    display: flex;
    align-items: flex-start;
    transition: transform .5s ease;
}

.cert-slide {
    flex: 0 0 33.333333%;
    min-width: 0;
    padding: 0 10px;
}

.cert-slide-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 620px;
    background: #fff;
    overflow: hidden;
}

.cert-slide-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background: #fff;
    transition: transform 0.35s ease;
}

.cert-slide-image:hover img {
    transform: scale(1.02);
}
.cert-slide-image:hover img {
    transform: scale(1.02);
}

.cert-slide-caption {
    padding: 15px 10px;
    text-align: center;
}

.cert-slide-caption h3 {
    margin: 0 0 8px;
    color: #333;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: 20px;
    font-weight: 500;
}

.cert-slide-caption p {
    color: #666;
    font-size: 13px;
    line-height: 1.6;
}

.cert-slider-arrow {
    position: absolute;
    z-index: 2;
    top: 42%;
    width: 36px;
    height: 44px;
    border: none;
    background: rgba(255, 255, 255, .95);
    color: #477b2c;
    font-size: 30px;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .1);
}

.cert-slider-prev {
    left: 0;
}

.cert-slider-next {
    right: 0;
}

.cert-slider-arrow:hover {
    color: #fff;
    background: #477b2c;
}

.cert-slider-arrow:disabled {
    opacity: .3;
    cursor: default;
}

.cert-slider-dots {
    position: absolute;
    bottom: 5px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 10px;
}

.cert-slider-dot {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ccc;
    cursor: pointer;
}

.cert-slider-dot.is-active {
    background: #222;
}

@media (max-width: 900px) {
    .cert-slide {
        flex-basis: 50%;
    }

    .cert-slide-image {
        height: 500px;
    }
}

@media (max-width: 600px) {
    .cert-slider {
        padding: 0 25px 35px;
    }

    .cert-slide {
        flex-basis: 100%;
        padding: 0 5px;
    }

    .cert-slide-image {
        height: 430px;
    }
}

/* Presentación profesional de certificaciones */

.cert-slide {
    background: #fff;
}

.cert-slide-image {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
}

.cert-slide-caption {
    border-top: 1px solid #e8ece5;
    margin-top: 12px;
    padding: 18px 10px;
}

.cert-slide-caption h3 {
    color: #30362d;
    font-size: 20px;
    line-height: 1.4;
}

.cert-slide-caption p {
    color: #6b7068;
    font-size: 14px;
    line-height: 1.7;
}


/* Vista previa pequeña de certificados en el panel administrativo */
.preview-certificado {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    padding: 8px;
    max-width: 180px;
    min-height: 50px;
    border: 1px solid #dce3d8;
    border-radius: 4px;
    background: #fff;
}

.preview-certificado img {
    display: none;
    width: 90px;
    height: 60px;
    object-fit: contain;
    border: 1px solid #e5e5e5;
    background: #fff;
}

.preview-certificado p {
    margin: 0;
    font-size: 13px;
    color: #777;
}

/* =========================================
   VISOR EMERGENTE DE CERTIFICADOS
   ========================================= */

.visor-certificado {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    padding: 20px;
    background: rgba(0, 0, 0, 0.85);
    align-items: center;
    justify-content: center;
}

.visor-certificado.activo {
    display: flex;
}

.visor-certificado-panel {
    display: flex;
    flex-direction: column;
    width: min(950px, 100%);
    max-height: 90vh;
    background: #fff;
    border-radius: 5px;
    overflow: hidden;
}

.visor-certificado-cabecera {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 10px 18px;
    border-bottom: 1px solid #e5e5e5;
}

.visor-certificado-cabecera h2 {
    margin: 0;
    font-size: 18px;
    color: #333;
}

.visor-certificado-cerrar {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border: none;
    border-radius: 4px;
    background: #477b2c;
    color: #fff;
    font-size: 28px;
    cursor: pointer;
}

.visor-certificado-cerrar:hover {
    background: #365d22;
}

.visor-certificado-contenido {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px;
    overflow: auto;
    background: #f5f5f5;
}

.visor-certificado-contenido img {
    display: block;
    max-width: 100%;
    max-height: calc(90vh - 100px);
    width: auto;
    height: auto;
    object-fit: contain;
}

body.visor-abierto {
    overflow: hidden;
}

@media (max-width: 600px) {
    .visor-certificado {
        padding: 8px;
    }

    .visor-certificado-panel {
        max-height: 95vh;
    }

    .visor-certificado-contenido img {
        max-height: calc(95vh - 100px);
    }

    .visor-certificado-cabecera h2 {
        font-size: 15px;
    }
}

/* =========================================
   ENCABEZADO PROSERLA - DISEÑO CORPORATIVO
========================================= */

.site-header {
    position: relative !important;
    top: auto !important;
    min-height: 112px !important;
    background: linear-gradient(
        105deg,
        #244b35 0%,
        #31513f 42%,
        #6d3b70 100%
    ) !important;
    border-bottom: 4px solid #4f8a35 !important;
    box-shadow: 0 7px 22px rgba(28, 43, 31, 0.18) !important;
}

.site-header .header-inner {
    width: min(1400px, calc(100% - 64px)) !important;
    min-height: 108px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 40px !important;
}

/* LOGO */

.site-header .brand {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
}

/* LOGO PROSERLA */
.site-header .brand img {
    display: block !important;
    width: 270px !important;
    height: auto !important;
    max-height: 155px !important;
    object-fit: contain !important;
    mix-blend-mode: normal !important;
    filter: none !important;
    opacity: 1 !important;
}
/* MENÚ */

.site-header .main-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 1 !important;
    gap: clamp(14px, 1.6vw, 25px) !important;
}

.site-header .main-nav a,
.site-header .main-nav a:visited {
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.4px !important;
    white-space: nowrap !important;
    padding: 12px 0 !important;
}

.site-header .main-nav a:hover {
    color: #dcebcf !important;
}

.site-header .main-nav a::after {
    background: #8fc76b !important;
    height: 3px !important;
    border-radius: 3px !important;
}

.site-header .main-nav a.active {
    color: #ffffff !important;
}

/* BOTÓN DEL MENÚ MÓVIL */

.site-header .menu-toggle span {
    background: #ffffff !important;
}

/* TABLET Y MÓVIL */

@media (max-width: 850px) {

    .site-header {
        min-height: 82px !important;
    }

    .site-header .header-inner {
        width: calc(100% - 36px) !important;
        min-height: 78px !important;
        gap: 18px !important;
    }

    .site-header .brand img {
        width: 140px !important;
        max-height: 62px !important;
    }

    .site-header .main-nav {
        display: none !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 1001 !important;
        padding: 12px 24px 20px !important;
        background: linear-gradient(
            160deg,
            #244b35,
            #6d3b70
        ) !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
    }

    .site-header .main-nav.open {
        display: flex !important;
    }

    .site-header .main-nav a {
        padding: 12px 0 !important;
    }
}

@media (max-width: 420px) {

    .site-header .brand img {
        width: 125px !important;
    }

    .site-header .header-inner {
        width: calc(100% - 28px) !important;
    }
}

/* Pie de página PROSERLA coordinado con el encabezado */
.site-footer {
  color: #fff !important;
  background: linear-gradient(105deg, #244b35 0%, #244b35 36%, #6d3b70 100%) !important;
  border-top: 4px solid #4f8a35 !important;
}
.site-footer nav a,
.site-footer p,
.site-footer .footer-credit {
  color: #fff !important;
}
.site-footer nav a:hover,
.site-footer nav a:focus-visible {
  color: #e6d5e9 !important;
}
.site-footer .footer-credit {
  border-top: 1px solid rgba(255,255,255,.22);
  background: rgba(0,0,0,.10);
}

/* =====================================================
   PROSERLA - NUESTRA PLANTA EMPACADORA
   Diseño corporativo verde y morado
   ===================================================== */

.packing-home {
    padding: 85px 0;
    background: linear-gradient(
        180deg,
        #ffffff 0%,
        #f7f9f5 100%
    );
}


/* ENCABEZADO DE LA SECCIÓN */

.packing-heading {
    max-width: 760px;
    margin: 0 auto 55px;
    text-align: center;
}

.packing-eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: #4f8a35;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
}

.packing-heading h2 {
    margin: 0 0 16px;
    color: #244b35;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.2;
}

.packing-heading .short-rule {
    margin: 0 auto 18px;
}

.packing-heading p {
    max-width: 650px;
    margin: 0 auto;
    color: #626a62;
    font-size: 16px;
    line-height: 1.8;
}


/* BLOQUES DE CONTENIDO */

.packing-row {
    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(0, 0.85fr);

    align-items: center;

    gap: clamp(28px, 5vw, 72px);

    margin-bottom: 65px;
}

.packing-row:last-child {
    margin-bottom: 0;
}


/* FOTOGRAFÍAS */

.packing-photo {
    min-width: 0;
    overflow: hidden;

    border-radius: 5px;

    background: #e8eee5;

    box-shadow:
        0 16px 38px rgba(36, 75, 53, 0.13);
}

.packing-photo img {
    display: block;

    width: 100%;

    aspect-ratio: 16 / 10;

    object-fit: cover;

    transition: transform 0.45s ease;
}


/* EFECTO SUAVE EN LAS FOTOGRAFÍAS */

@media (hover: hover) and (pointer: fine) {

    .packing-photo:hover img {
        transform: scale(1.035);
    }

}


/* TEXTOS */

.packing-copy {
    padding: 12px 0;
}

.packing-label {
    display: inline-block;

    margin-bottom: 14px;

    color: #4f8a35;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1.7px;
}

.packing-copy h3 {
    margin: 0 0 18px;

    color: #244b35;

    font-size: clamp(24px, 2.4vw, 32px);

    line-height: 1.3;
}

.packing-copy p {
    margin: 0;

    color: #606860;

    font-size: 16px;

    line-height: 1.9;
}


/* DETALLES CORPORATIVOS */

.packing-accent {
    width: 65px;
    height: 4px;

    margin-top: 24px;

    border-radius: 4px;
}

.packing-accent-green {
    background: #4f8a35;
}

.packing-accent-purple {
    background: #6d3b70;
}


/* =========================================
   SEGUNDO BLOQUE: UVA
   Texto a la izquierda e imagen a la derecha
========================================= */

.packing-grape {
    grid-template-columns:
        minmax(0, 0.85fr)
        minmax(0, 1.15fr);
}

.packing-grape .packing-photo {
    grid-column: 2;
    grid-row: 1;
}

.packing-grape .packing-copy {
    grid-column: 1;
    grid-row: 1;
}

.packing-grape .packing-label {
    color: #6d3b70;
}

.packing-grape .packing-copy h3 {
    color: #6d3b70;
}


/* =========================================
   ADAPTACIÓN PARA CELULARES
========================================= */

@media (max-width: 760px) {

    .packing-home {
        padding: 55px 0;
    }

    .packing-heading {
        margin-bottom: 35px;
    }

    .packing-row,
    .packing-grape {
        grid-template-columns: minmax(0, 1fr);

        gap: 22px;

        margin-bottom: 45px;
    }

    .packing-grape .packing-photo,
    .packing-grape .packing-copy {
        grid-column: 1;
        grid-row: auto;
    }

    .packing-photo img {
        aspect-ratio: 4 / 3;
    }

    .packing-copy {
        padding: 0;
    }

    .packing-copy h3 {
        font-size: 26px;
    }

    .packing-copy p {
        font-size: 15px;
        line-height: 1.8;
    }

}


/* RESPETAR LA PREFERENCIA DE MOVIMIENTO DEL USUARIO */

@media (prefers-reduced-motion: reduce) {

    .packing-photo img {
        transition: none;
    }

}

/* INFORMACIÓN DE PRODUCCIÓN PROSERLA */
.proserla-productos-info {
    position: relative;
    overflow: hidden;
    padding: 62px 0 54px;
    color: #fff;
    background: linear-gradient(
        115deg,
        #17865d 0%,
        #249b70 55%,
        #18885e 100%
    );
}

.proserla-productos-info-grid {
    display: grid;
    grid-template-columns: 1fr 0.88fr;
    align-items: center;
    gap: clamp(34px, 5vw, 70px);
}

.proserla-productos-info-foto {
    padding: 12px;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

.proserla-productos-info-marca {
    margin: 0 -22px 16px 22px;
    padding: 8px 14px;
    color: #fff;
    background: #20d477;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 3px;
}

.proserla-productos-info-foto img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 0.92;
    object-fit: cover;
}

.proserla-productos-info-texto {
    position: relative;
    padding: 0 26px 0 0;
    font-size: 14px;
    line-height: 1.7;
}

.proserla-productos-info-linea {
    display: block;
    width: 42px;
    height: 4px;
    margin-bottom: 25px;
    background: #fff;
}

.proserla-productos-info-texto p {
    margin: 0 0 20px;
    color: #fff;
}

.proserla-productos-info-separador {
    position: absolute;
    top: 18px;
    right: 0;
    bottom: 18px;
    width: 2px;
    background: rgba(255, 255, 255, 0.48);
}

/* Adaptación para celulares */
@media (max-width: 760px) {
    .proserla-productos-info {
        padding: 42px 0;
    }

    .proserla-productos-info-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .proserla-productos-info-foto img {
        aspect-ratio: 4 / 3;
    }

    .proserla-productos-info-marca {
        margin-left: 10px;
        margin-right: -18px;
        font-size: 19px;
    }

    .proserla-productos-info-texto {
        padding-right: 0;
    }

    .proserla-productos-info-separador {
        display: none;
    }
}

/* Efecto zoom para la imagen de información de PROSERLA */
.proserla-productos-info-foto {
    overflow: hidden;
}

.proserla-productos-info-foto img {
    transition: transform 0.45s ease;
}

/* Acercamiento al pasar el cursor */
@media (hover: hover) and (pointer: fine) {
    .proserla-productos-info-foto:hover img {
        transform: scale(1.05);
    }
}

/* Respetar la configuración de movimiento reducido */
@media (prefers-reduced-motion: reduce) {
    .proserla-productos-info-foto img {
        transition: none;
    }
}

/* Redes sociales de PROSERLA */
.contacto-redes-lista a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 50%;
    color: #087b47;
    background: #fff;
    font-size: 18px;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.25s ease,
                background 0.25s ease,
                color 0.25s ease;
}

.contacto-redes-lista a:hover {
    transform: translateY(-4px);
    color: #fff;
    background: #244b35;
}

.contacto-redes-lista .red-whatsapp {
    color: #fff;
    background: #20b968;
    border-color: #20b968;
}

.contacto-redes-lista .red-whatsapp:hover {
    color: #fff;
    background: #128c4c;
}

/* =========================================
   NOTICIA DESTACADA - PROSERLA
========================================= */

.proserla-noticia-destacada {
    padding: 75px 0 85px;
    background: #f6f8f3;
    color: #292e27;
}

.proserla-noticia-encabezado {
    max-width: 800px;
    margin: 0 auto 42px;
    text-align: center;
}

.proserla-noticia-encabezado h2 {
    margin: 0 0 18px;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: clamp(29px, 4vw, 43px);
    font-weight: 500;
    line-height: 1.35;
}

.proserla-noticia-encabezado h2 span {
    display: block;
    color: #679b36;
}

.proserla-noticia-encabezado > p {
    margin: 0;
    color: #6c706a;
    font-size: 14px;
    line-height: 1.8;
}

/* Indicadores */

.proserla-noticia-indicadores {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.proserla-noticia-indicador {
    padding: 32px 24px;
    border: 1px solid #e5ebdf;
    border-radius: 14px;
    background: #fff;
    text-align: center;
    box-shadow: 0 8px 25px rgba(32, 57, 25, 0.045);
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.proserla-noticia-indicador:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 32px rgba(32, 57, 25, 0.10);
}

.proserla-noticia-icono {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: #edf5e7;
    font-size: 28px;
}

.proserla-noticia-numero {
    display: block;
    margin-bottom: 12px;
    color: #00834b;
    font-size: clamp(34px, 4vw, 46px);
    font-weight: 800;
    line-height: 1.15;
}

.proserla-noticia-indicador h3 {
    margin: 0 0 12px;
    color: #303b30;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.5;
}

.proserla-noticia-indicador p {
    margin: 0;
    color: #6c706a;
    font-size: 13px;
    line-height: 1.8;
}

/* Mercados internacionales */

.proserla-noticia-mercados {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 35px;
    align-items: center;
    margin-top: 30px;
    padding: 38px;
    border-radius: 16px;
    background: linear-gradient(135deg, #244d2c, #00834b);
    color: #fff;
}

.proserla-noticia-etiqueta {
    display: block;
    margin-bottom: 14px;
    color: #cce5af;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.proserla-noticia-mercados-texto h3 {
    margin: 0 0 20px;
    color: #fff;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 500;
    line-height: 1.4;
}

.proserla-noticia-mercados-texto p {
    margin: 0 0 15px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 14px;
    line-height: 1.9;
}

.proserla-noticia-mercados-texto .proserla-noticia-aclaracion {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 12px;
}

/* Tarjetas de mercados */

.proserla-noticia-destinos {
    display: grid;
    gap: 15px;
}

.proserla-noticia-destino {
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
}

.proserla-noticia-destino > span {
    display: block;
    margin-bottom: 9px;
    color: #cce5af;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.proserla-noticia-destino h4 {
    margin: 0 0 9px;
    color: #fff;
    font-size: 18px;
    line-height: 1.5;
}

.proserla-noticia-destino p {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 12px;
    line-height: 1.8;
}

/* Fuente */

.proserla-noticia-fuente {
    display: flex;
    align-items: flex-start;
    gap: 17px;
    margin-top: 28px;
    padding: 25px;
    border: 1px solid #e1e8da;
    border-radius: 12px;
    background: #fff;
}

.proserla-noticia-fuente-icono {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #edf5e7;
    color: #477b2c;
    font-family: Georgia, serif;
    font-size: 23px;
    font-weight: 700;
}

.proserla-noticia-fuente > div:last-child {
    min-width: 0;
}

.proserla-noticia-fuente h4 {
    margin: 0 0 9px;
    color: #303b30;
    font-size: 15px;
}

.proserla-noticia-fuente p {
    margin: 0 0 10px;
    color: #6c706a;
    font-size: 12px;
    line-height: 1.8;
}

.proserla-noticia-fuente a {
    display: inline-block;
    margin-bottom: 12px;
    color: #00834b;
    font-size: 13px;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.proserla-noticia-fuente a span {
    margin-left: 4px;
}

.proserla-noticia-fuente .proserla-noticia-nota {
    margin-bottom: 0;
    padding-top: 10px;
    border-top: 1px solid #edf0e9;
    color: #81867d;
    font-size: 11px;
}

/* Adaptación a celulares */

@media (max-width: 760px) {

    .proserla-noticia-destacada {
        padding: 55px 0 60px;
    }

    .proserla-noticia-encabezado {
        margin-bottom: 30px;
    }

    .proserla-noticia-indicadores {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .proserla-noticia-indicador {
        padding: 27px 22px;
    }

    .proserla-noticia-mercados {
        grid-template-columns: 1fr;
        gap: 25px;
        padding: 26px 21px;
    }

    .proserla-noticia-fuente {
        gap: 12px;
        padding: 19px 15px;
    }

    .proserla-noticia-fuente-icono {
        flex-basis: 32px;
        width: 32px;
        height: 32px;
    }

}

@media (prefers-reduced-motion: reduce) {

    .proserla-noticia-indicador {
        transition: none;
    }

    .proserla-noticia-indicador:hover {
        transform: none;
    }

}

/* =========================================
   VISOR DE CERTIFICACIONES - CORRECCIÓN
========================================= */

/* Tamaño de la ventana */
.visor-certificado-panel {
    width: min(1180px, 100%);
    max-height: 90vh;
}

/* Distribución del documento y su descripción */
.visor-certificado-cuerpo {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(260px, 0.8fr);
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

/* Centrar el certificado */
.visor-certificado-contenido {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    padding: 12px;
    background: #f1f1f1;
    border-right: 1px solid #e5e5e5;
}

/* Ajustar el tamaño de la imagen */
.visor-certificado-contenido img {
    display: block;
    max-width: 100%;
    max-height: calc(90vh - 120px);
    width: auto;
    height: auto;
    object-fit: contain;
}

/* Recuperar el texto lateral */
.visor-certificado-descripcion {
    display: block !important;
    min-width: 0;
    overflow-y: auto;
    padding: 24px 22px;
    background: #fff;
    color: #555;
}

.visor-certificado-descripcion[hidden] {
    display: none !important;
}

.visor-certificado-descripcion h3 {
    margin: 0 0 14px;
    color: #477b2c;
    font-size: 18px;
}

.visor-certificado-descripcion p {
    margin: 0;
    color: #555;
    font-size: 15px;
    line-height: 1.75;
}

/* Adaptación para celulares */
@media (max-width: 700px) {
    .visor-certificado-panel {
        max-height: 95vh;
    }

    .visor-certificado-cuerpo {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(0, 1.25fr) minmax(120px, 0.75fr);
        overflow-y: auto;
    }

    .visor-certificado-contenido {
        border-right: 0;
        border-bottom: 1px solid #e5e5e5;
    }

    .visor-certificado-contenido img {
        max-height: 52vh;
    }

    .visor-certificado-descripcion {
        padding: 18px;
    }
}
