:root{
    --site-width:1260px;
    --blue:#07316c;
    --blue-dark:#052755;
    --green:#5d8d3f;
    --bg:#f4f5f8;
    --text:#071b49;
    --border:#dfe4ef;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Montserrat', sans-serif;
}

body{
    background:var(--bg);
    color:var(--text);
}

.container{
    width:100%;
    max-width:var(--site-width);
    margin:0 auto;
    padding:0 20px;
}

/* HEADER */
.site-header,
header{
    background:#fff;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
    position:sticky;
    top:0;
    z-index:999;
}

.navbar{
    width:100%;
    max-width:var(--site-width);
    margin:0 auto;
    min-height:90px;
    padding:0 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.logo img{
    height:58px;
    width:auto;
    display:block;
}

.logo a{
    display:flex;
    align-items:center;
    text-decoration:none;
}

nav ul{
    display:flex;
    align-items:center;
    list-style:none;
    gap:24px;
}

nav a{
    text-decoration:none;
    color:var(--blue);
    font-weight:700;
    font-size:16px;
}

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

.menu-toggle{
    display:none !important;
    background:var(--blue);
    color:#fff;
    border:0;
    padding:10px 13px;
    border-radius:6px;
    font-size:20px;
    cursor:pointer;
}

.lang{
    display:flex;
    align-items:center;
    gap:5px;
}

.active-lang{
    color:var(--green) !important;
}

.login-btn{
    background:var(--blue);
    color:#fff !important;
    padding:10px 15px;
    border-radius:6px;
    display:inline-flex;
    align-items:center;
    gap:7px;
}

.login-btn:hover{
    background:var(--green);
}

/* LAYOUT */
.layout-container{
    width:100%;
    max-width:var(--site-width);
    margin:0 auto;
    display:flex;
}

.sidebar-left,
.sidebar-right{
    display:none;
}

.main-content{
    width:100%;
    max-width:var(--site-width);
    overflow:hidden;
}

/* HERO */
.hero{
    position:relative;
    width:100%;
    margin:0;
    padding:0;
    overflow:hidden;
}

.hero img{
    width:100%;
    height:auto;
    display:block;
}

.overlay{
    position:absolute;
    top:50%;
    left:10%;
    transform:translateY(-50%);
    color:#fff;
    max-width:650px;
}

.overlay h1{
    font-size:32px;
    font-weight:800;
    margin-bottom:20px;
    line-height:1.2;
}

.overlay p{
    font-size:19px;
    margin-bottom:25px;
}

.btn,
.btn-small{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:var(--green);
    color:#fff;
    padding:13px 28px;
    text-decoration:none;
    border-radius:6px;
    font-weight:700;
    border:0;
}

.btn:hover,
.btn-small:hover{
    background:var(--blue);
}

/* SECCIONES */
section{
    padding:70px 0;
}

h2{
    font-size:32px;
    margin-bottom:38px;
    color:var(--blue);
    font-weight:800;
}

.grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:45px;
    align-items:center;
}

.grid-2 img{
    width:100%;
    border-radius:10px;
    display:block;
}

.grid-2 p{
    font-size:18px;
    line-height:1.6;
    margin-bottom:20px;
}

/* CARDS */
.cards{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.card{
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 0 10px rgba(0,0,0,.08);
    text-align:center;
    border:1px solid var(--border);
}

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

.card h3{
    padding:20px 12px;
    color:var(--blue);
    font-size:20px;
}

.card a{
    margin-bottom:22px;
}

/* FOOTER */
footer{
    width:100%;
    max-width:var(--site-width);
    margin:0 auto;
    background:var(--blue);
    color:#fff;
    padding:30px 0;
}

footer .container{
    text-align:center;
}

/* RESPONSIVE */
@media(max-width:1200px){
    :root{
        --site-width:100%;
    }

    .navbar,
    .container,
    .layout-container,
    .main-content,
    footer{
        max-width:100%;
    }

    nav ul{
        gap:18px;
    }

    nav a{
        font-size:15px;
    }

    .logo img{
        height:52px;
    }
}

@media(max-width:992px){
    .navbar{
        position:relative;
    }

    .menu-toggle{
        display:block !important;
    }

    nav{
        display:none;
        width:100%;
        background:#fff;
        position:absolute;
        top:90px;
        left:0;
        box-shadow:0 8px 20px rgba(0,0,0,.12);
        padding:20px;
    }

    nav.show-menu{
        display:block;
    }

    nav ul{
        flex-direction:column;
        align-items:flex-start;
        gap:16px;
    }

    .overlay{
        left:6%;
        width:88%;
    }

    .overlay h1{
        font-size:28px;
    }

    .overlay p{
        font-size:17px;
    }

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

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

@media(max-width:600px){
    .container{
        padding:0 15px;
    }

    .navbar{
        min-height:75px;
        padding:0 15px;
    }

    .logo img{
        height:45px;
    }

    nav{
        top:75px;
    }

    .overlay h1{
        font-size:22px;
    }

    .overlay p{
        font-size:15px;
    }

    .btn,
    .btn-small{
        padding:10px 20px;
        font-size:14px;
    }

    section{
        padding:45px 0;
    }

    h2{
        font-size:26px;
    }

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

    .card img{
        height:220px;
    }
}
/* ===============================
   QUIÉNES SOMOS - CI SILICAR
================================ */

.qs-hero{
    width:100%;
    min-height:360px;
    background:url('../../sources/img/banner-home.png') center center/cover no-repeat;
}

.qs-hero-overlay{
    min-height:360px;
    background:linear-gradient(
        90deg,
        rgba(7,49,108,.88) 0%,
        rgba(7,49,108,.55) 45%,
        rgba(7,49,108,.10) 100%
    );
    display:flex;
    align-items:center;
}

.qs-hero h1{
    color:#fff;
    font-size:58px;
    font-weight:800;
    margin-bottom:8px;
}

.qs-hero p{
    color:#fff;
    font-size:36px;
    font-weight:700;
    margin-bottom:14px;
}

.qs-hero span{
    color:#fff;
    font-size:18px;
    line-height:1.6;
    max-width:600px;
    display:block;
}

.qs-breadcrumb{
    background:#f6f8fc;
    padding:16px 0;
    border-bottom:1px solid #e5e9f2;
}

.qs-breadcrumb .container{
    color:var(--blue);
    font-size:14px;
}

.qs-breadcrumb a{
    color:var(--blue);
    text-decoration:none;
    margin:0 8px;
}

.qs-history{
    background:var(--bg);
    padding:65px 0;
}

.qs-title-line{
    display:flex;
    align-items:center;
    gap:20px;
    color:var(--blue);
    font-size:34px;
    font-weight:800;
    margin-bottom:38px;
}

.qs-title-line::after{
    content:"";
    flex:1;
    height:1px;
    background:#d7deeb;
}

.qs-history-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:45px;
    align-items:center;
}

.qs-history-img img{
    width:100%;
    height:260px;
    object-fit:cover;
    border-radius:10px;
    display:block;
}

.qs-history-text p{
    color:var(--text);
    font-size:18px;
    line-height:1.7;
    margin-bottom:18px;
}

.qs-history-text hr{
    border:0;
    border-top:1px solid #d8deea;
    margin:20px 0;
}

.qs-mvv{
    background:var(--bg);
    padding:60px 0 70px;
}

.qs-mvv-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:25px;
}

.qs-mvv-card{
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    border:1px solid var(--border);
    box-shadow:0 0 10px rgba(0,0,0,.08);
}

.qs-icon{
    width:64px;
    height:64px;
    margin:25px 25px 10px;
    border-radius:50%;
    background:var(--blue);
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:26px;
}

.qs-mvv-card h2{
    color:var(--blue);
    font-size:28px;
    margin:0;
    padding:10px 25px 15px;
}

.qs-mvv-card p{
    color:var(--text);
    font-size:16px;
    line-height:1.6;
    padding:0 25px;
    margin-bottom:18px;
}

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

.qs-values{
    padding-bottom:20px;
}

.qs-values ul{
    list-style:none;
    padding:0 25px;
    margin:10px 0 0;
}

.qs-values li{
    color:var(--text);
    font-size:16px;
    margin-bottom:14px;
    display:flex;
    align-items:center;
    gap:10px;
}

.qs-values li i{
    color:var(--green);
}

.qs-plant{
    min-height:320px;
    background:url('../../sources/img/banner-home.png') center center/cover no-repeat;
}

.qs-plant-overlay{
    min-height:320px;
    background:linear-gradient(
        90deg,
        rgba(7,49,108,.90),
        rgba(7,49,108,.35)
    );
    display:flex;
    align-items:center;
}

.qs-plant h2{
    color:#fff;
    font-size:42px;
    margin-bottom:15px;
}

.qs-plant p{
    color:#fff;
    font-size:18px;
    line-height:1.7;
    max-width:620px;
    margin-bottom:24px;
}

.qs-btn-light{
    background:#fff;
    color:var(--blue);
}

.qs-btn-light:hover{
    background:var(--green);
    color:#fff;
}

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

@media(max-width:992px){
    .qs-history-grid,
    .qs-mvv-grid{
        grid-template-columns:1fr;
    }

    .qs-hero h1{
        font-size:38px;
    }

    .qs-hero p{
        font-size:25px;
    }

    .qs-mvv-card img{
        height:220px;
    }
}

@media(max-width:600px){
    .qs-hero,
    .qs-hero-overlay{
        min-height:280px;
    }

    .qs-hero h1{
        font-size:30px;
    }

    .qs-hero p{
        font-size:21px;
    }

    .qs-hero span{
        font-size:15px;
    }

    .qs-title-line{
        font-size:28px;
    }
}

/* ===============================
   PRODUCTOS - CI SILICAR
================================ */


.page-hero{
    position:relative;
    width:100%;
    height:300px;
    overflow:hidden;
}

.page-hero img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.page-hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(13,54,119,.82), rgba(13,54,119,.35), rgba(13,54,119,.08));
}

.page-hero-content{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
}

.page-hero-content h1{
    color:#fff;
    font-size:42px;
    font-weight:800;
    text-shadow:0 3px 8px rgba(0,0,0,.35);
}

.breadcrumb-section{
    background:#eef3fb;
    padding:16px 0;
}

.breadcrumb{
    display:flex;
    align-items:center;
    gap:10px;
    color:#0b3475;
    font-size:14px;
}

.breadcrumb a{
    color:#0b3475;
    text-decoration:none;
}

.productos-section{
    padding:45px 0 100px;
    background:#f7f8fc;
}

.section-title{
    display:flex;
    align-items:center;
    gap:25px;
    margin-bottom:45px;
}

.section-title span{
    height:1px;
    background:#d6dce8;
    flex:1;
}

.section-title h2{
    color:#0b2f6b;
    font-size:34px;
    font-weight:800;
}

.productos-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:30px;
    margin-bottom:38px;
}

.producto-card{
    background:#fff;
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 4px 15px rgba(0,0,0,.10);
    border:1px solid #d8deeb;
}

.producto-img{
    width:100%;
    height:275px;
    overflow:hidden;
}

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

.producto-info{
    padding:22px 32px 26px;
    text-align:center;
}

.producto-info h3{
    color:#082b66;
    font-size:23px;
    font-weight:800;
    margin-bottom:14px;
}

.linea{
    height:1px;
    background:#d6dce8;
    margin:0 auto 18px;
    width:90%;
}

.btn-verde{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#557b3a;
    color:#fff;
    text-decoration:none;
    font-weight:700;
    padding:11px 34px;
    border-radius:5px;
    box-shadow:0 3px 8px rgba(0,0,0,.25);
    transition:.3s ease;
}

.btn-verde:hover{
    background:#41652b;
    transform:translateY(-2px);
}

.producto-links{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:16px;
    font-size:17px;
}

.producto-links a{
    color:#0b2f6b;
    text-decoration:none;
    font-weight:500;
}

.producto-links a:last-child{
    color:#557b3a;
}

.productos-valores{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:52px;
    align-items:start;
}

.producto-card-horizontal .producto-img{
    height:260px;
}

.valores-box{
    padding-top:10px;
}

.valores-title{
    margin-bottom:25px;
    gap:20px;
}

.valores-title h2{
    font-size:32px;
}

.valor-item{
    display:grid;
    grid-template-columns:48px 1fr;
    gap:18px;
    margin-bottom:20px;
    align-items:start;
}

.valor-item i{
    color:#557b3a;
    font-size:34px;
    text-align:center;
    margin-top:4px;
}

.valor-item h4{
    color:#0b2f6b;
    font-size:21px;
    font-weight:800;
    margin-bottom:6px;
}

.valor-item p{
    color:#1d2d45;
    font-size:14px;
    line-height:1.5;
}

.footer-bar{
    height:54px;
    background:#062d70;
}

footer{
    background:#fff;
    text-align:center;
}

footer p{
    padding:18px 0;
    color:#092c66;
    font-size:14px;
}

@media(max-width:992px){
    .productos-grid,
    .productos-valores{
        grid-template-columns:1fr;
    }

    .page-hero-content h1{
        font-size:34px;
    }
}

@media(max-width:768px){
    .page-hero{
        height:240px;
    }

    .section-title h2{
        font-size:27px;
    }

    .producto-img{
        height:230px;
    }

    .producto-info h3{
        font-size:20px;
    }
}

/* ===============================
   APLICACIONES
================================ */


.page-hero{
  position:relative;
  width:100%;
  height:300px;
  overflow:hidden;
}

.page-hero img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(16,58,122,.45),rgba(16,58,122,.05));
}

.page-hero-content{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  z-index:2;
}

.page-hero-content h1{
  color:#fff;
  font-size:46px;
  font-weight:800;
  text-shadow:0 3px 8px rgba(0,0,0,.35);
}

.breadcrumb-section{
  background:#eef3fb;
  padding:18px 0;
  color:#12336d;
  font-size:14px;
}

.breadcrumb-section a{
  color:#12336d;
  text-decoration:none;
  font-weight:600;
}

.breadcrumb-section span{
  margin-left:8px;
}

.intro-section{
  padding:55px 0 35px;
  background:#f8f9fd;
}

.intro-section p{
  font-size:21px;
  line-height:1.7;
  color:#111b44;
  font-weight:500;
}

.applications-section{
  padding:35px 0 90px;
  background:#f8f9fd;
}

.applications-section h2{
  color:#123a7a;
  font-size:34px;
  margin-bottom:28px;
  display:flex;
  align-items:center;
  gap:25px;
}

.applications-section h2::after{
  content:"";
  flex:1;
  height:1px;
  background:#d6dceb;
}

.applications-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:38px;
}

.application-card{
  background:#fff;
  border:1px solid #dbe1ef;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 5px 18px rgba(16,58,122,.08);
  text-align:center;
}

.application-card img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}

.application-content{
  padding:22px 35px 30px;
}

.application-content h3{
  color:#123a7a;
  font-size:28px;
  margin-bottom:12px;
}

.application-content .line{
  width:100%;
  height:1px;
  background:#d8deec;
  margin:0 auto 18px;
}

.application-content p{
  color:#171c39;
  font-size:16px;
  line-height:1.7;
  min-height:105px;
}

.btn-green{
  display:inline-block;
  margin-top:14px;
  padding:11px 34px;
  background:#557d49;
  color:#fff;
  text-decoration:none;
  border-radius:5px;
  font-weight:700;
  box-shadow:0 3px 8px rgba(0,0,0,.18);
}

.btn-green span{
  margin-left:8px;
  font-size:20px;
}

footer{
    background:#fff;
    text-align:center;
}

footer p{
    padding:18px 0;
    color:#092c66;
    font-size:14px;
}

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

  .page-hero-content h1{
    font-size:34px;
  }

  .intro-section p{
    font-size:18px;
  }
}
.hero-interno{
    position:relative;
    height:350px;
    overflow:hidden;
}

.hero-interno img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.hero-interno .overlay{
    position:absolute;
    inset:0;
    background:rgba(22,58,122,.55);
}

.hero-content{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    color:#fff;
}

.contact-section{
    padding:80px 0;
}

.contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
}

.contact-info,
.contact-form{
    background:#fff;
    padding:40px;
    border-radius:15px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.info-item{
    display:flex;
    gap:20px;
    margin-bottom:25px;
}

.info-item i{
    color:#163a7a;
    font-size:24px;
}

.contact-form input,
.contact-form textarea{
    width:100%;
    padding:14px;
    margin-bottom:15px;
    border:1px solid #ddd;
    border-radius:8px;
}

.contact-form button{
    background:#163a7a;
    color:#fff;
    border:none;
    padding:14px 25px;
    border-radius:8px;
    cursor:pointer;
}

.map-section{
    padding:40px 0 80px;
}

.map-section h2{
    text-align:center;
    margin-bottom:30px;
    color:#163a7a;
}

.map-container{
    overflow:hidden;
    border-radius:15px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
}

@media(max-width:900px){

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

}
.breadcrumb-section{
    background:#eef3fb;
    padding:20px 0;
}

.breadcrumb-section a{
    color:#163a7a;
    text-decoration:none;
    font-weight:600;
}

.breadcrumb-section span{
    margin:0 12px;
    color:#777;
}

.contacto-section{
    padding:70px 0;
}

.contacto-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:35px;
}

.contacto-info-card,
.contacto-form-card{
    background:#fff;
    padding:35px;
    border-radius:18px;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
}

.contacto-info-card h2,
.contacto-form-card h2,
.mapa-section h2{
    color:#163a7a;
    margin-bottom:25px;
}

.contacto-item{
    display:flex;
    gap:18px;
    margin-bottom:24px;
}

.contacto-item i{
    width:45px;
    height:45px;
    background:#163a7a;
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}

.contacto-item h4{
    color:#163a7a;
    margin-bottom:6px;
}

.contacto-item p{
    margin:0;
    line-height:1.6;
}

.contacto-form-card input,
.contacto-form-card textarea{
    width:100%;
    padding:14px;
    margin-bottom:16px;
    border:1px solid #ddd;
    border-radius:10px;
    outline:none;
}

.contacto-form-card input:focus,
.contacto-form-card textarea:focus{
    border-color:#163a7a;
}

.contacto-form-card button{
    background:#163a7a;
    color:#fff;
    border:none;
    padding:14px 24px;
    border-radius:10px;
    cursor:pointer;
    font-weight:700;
}

.mapa-section{
    padding:0 0 80px;
}

.mapa-section h2{
    text-align:center;
}

.mapa-box{
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
}

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


/* ==========================================================
   QUIÉNES SOMOS - AJUSTE MISIÓN / VISIÓN / VALORES / POLÍTICA
   Mantiene intacto el diseño general del sitio.
   ========================================================== */

/*
 * Primera fila:
 * 1. Misión
 * 2. Visión
 * 3. Valores
 *
 * Segunda fila:
 * Política de Seguridad Alimentaria a todo el ancho.
 */
.qs-mvv-grid{
    align-items:stretch;
}

/* Valores pasa a la tercera columna de la primera fila */
.qs-values{
    grid-column:3;
    grid-row:1;
    height:100%;
    order:3;
}

/* La política ocupa toda la segunda fila */
.qs-policy{
    grid-column:1 / -1;
    grid-row:2;
    width:100%;
    margin-top:10px;
    padding:10px 10px 35px;
    overflow:visible;
    order:4;
}

/* Icono centrado */
.qs-policy .qs-icon{
    margin:28px auto 10px;
}

/* Título principal de la política */
.qs-policy h2{
    text-align:center;
    font-size:30px;
    line-height:1.25;
    padding:10px 25px 6px;
    margin:0;
}

/* Texto general */
.qs-policy p{
    max-width:1100px;
    margin:0 auto 20px;
    padding:0 35px;
    font-size:16px;
    line-height:1.75;
    text-align:justify;
}

/* Versión y revisión */
.qs-policy > p:first-of-type{
    text-align:center;
    margin-bottom:28px;
    color:var(--blue);
}

/* Lista de compromisos en dos columnas */
.qs-policy ul{
    max-width:1100px;
    margin:28px auto 30px;
    padding:0 35px;
    list-style:none;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px 32px;
}

/* Cada compromiso como bloque legible */
.qs-policy li{
    position:relative;
    padding:16px 18px 16px 48px;
    margin:0;
    background:#f7f9fc;
    border:1px solid var(--border);
    border-radius:8px;
    color:var(--text);
    font-size:15px;
    line-height:1.65;
}

/* Check institucional */
.qs-policy li::before{
    content:"\f058";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    position:absolute;
    left:18px;
    top:18px;
    color:var(--green);
    font-size:18px;
}

/* Firma */
.qs-policy > p:last-of-type{
    text-align:right;
    margin-top:28px;
    margin-bottom:0;
    padding-right:45px;
    color:var(--blue);
    line-height:1.5;
}

/* Mejora visual de la tarjeta de valores */
.qs-values ul{
    padding-bottom:18px;
}

.qs-values li{
    line-height:1.5;
}

/* TABLET */
@media(max-width:992px){

    .qs-mvv-grid{
        grid-template-columns:1fr;
    }

    .qs-values,
    .qs-policy{
        grid-column:1;
        grid-row:auto;
    }

    .qs-policy{
        margin-top:0;
        padding:10px 5px 30px;
    }

    .qs-policy ul{
        grid-template-columns:1fr;
    }
}

/* MÓVIL */
@media(max-width:600px){

    .qs-policy{
        padding:5px 0 25px;
    }

    .qs-policy h2{
        font-size:24px;
        padding-left:18px;
        padding-right:18px;
    }

    .qs-policy p{
        padding:0 18px;
        font-size:15px;
        line-height:1.7;
        text-align:left;
    }

    .qs-policy ul{
        padding:0 18px;
        margin:22px auto 25px;
        gap:14px;
    }

    .qs-policy li{
        padding:14px 14px 14px 43px;
        font-size:14px;
    }

    .qs-policy li::before{
        left:15px;
        top:16px;
    }

    .qs-policy > p:last-of-type{
        text-align:left;
        padding-right:18px;
    }
}


/* ==========================================================
   POLÍTICA DE SEGURIDAD ALIMENTARIA - BLOQUE A ANCHO COMPLETO
   ========================================================== */

.qs-policy-full{
    width:100%;
    margin-top:34px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:10px;
    box-shadow:0 4px 16px rgba(7,49,108,.08);
    overflow:hidden;
}

.qs-policy-header{
    padding:30px 38px 24px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    text-align:left;
    background:#fff;
    border-bottom:1px solid var(--border);
}

.qs-policy-icon{
    width:64px;
    height:64px;
    flex:0 0 64px;
    border-radius:50%;
    background:var(--blue);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
}

.qs-policy-header h2{
    margin:0 0 5px;
    padding:0;
    color:var(--blue);
    font-size:30px;
    line-height:1.2;
}

.qs-policy-version{
    margin:0;
    color:var(--green);
    font-size:15px;
    font-weight:700;
}

.qs-policy-body{
    padding:32px 42px 36px;
}

.qs-policy-intro{
    max-width:1100px;
    margin:0 auto 28px;
    color:var(--text);
    font-size:17px;
    line-height:1.75;
    text-align:justify;
}

.qs-policy-points{
    max-width:1100px;
    margin:0 auto 30px;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px 24px;
}

.qs-policy-point{
    display:grid;
    grid-template-columns:24px 1fr;
    gap:12px;
    align-items:start;
    padding:18px 20px;
    background:#f7f9fc;
    border:1px solid var(--border);
    border-radius:8px;
}

.qs-policy-point i{
    color:var(--green);
    font-size:18px;
    margin-top:4px;
}

.qs-policy-point p{
    margin:0;
    padding:0;
    color:var(--text);
    font-size:15px;
    line-height:1.65;
}

.qs-policy-closing{
    max-width:1100px;
    margin:0 auto;
    padding-top:4px;
}

.qs-policy-closing p{
    margin:0 0 18px;
    padding:0;
    color:var(--text);
    font-size:16px;
    line-height:1.75;
    text-align:justify;
}

.qs-policy-signature{
    max-width:1100px;
    margin:28px auto 0;
    padding-top:18px;
    border-top:1px solid var(--border);
    text-align:right;
    color:var(--blue);
}

.qs-policy-signature strong{
    display:block;
    font-size:17px;
    margin-bottom:4px;
}

.qs-policy-signature span{
    display:block;
    font-size:15px;
}

/* Las tres tarjetas superiores permanecen equilibradas */
.qs-mvv-grid > .qs-mvv-card{
    height:100%;
}

@media(max-width:992px){
    .qs-policy-header{
        justify-content:flex-start;
    }

    .qs-policy-points{
        grid-template-columns:1fr;
    }
}

@media(max-width:600px){
    .qs-policy-full{
        margin-top:24px;
    }

    .qs-policy-header{
        padding:24px 20px 20px;
        align-items:flex-start;
    }

    .qs-policy-icon{
        width:52px;
        height:52px;
        flex-basis:52px;
        font-size:21px;
    }

    .qs-policy-header h2{
        font-size:23px;
    }

    .qs-policy-version{
        font-size:13px;
    }

    .qs-policy-body{
        padding:24px 18px 28px;
    }

    .qs-policy-intro,
    .qs-policy-closing p{
        font-size:15px;
        line-height:1.7;
        text-align:left;
    }

    .qs-policy-point{
        padding:15px;
        grid-template-columns:20px 1fr;
        gap:10px;
    }

    .qs-policy-point p{
        font-size:14px;
    }

    .qs-policy-signature{
        text-align:left;
    }
}
