/* ================= GLOBAL ================= */
:root{--green-official:#008128;--green-dark:#006622;--green-link:#00a83a;--bg:#f7f7f7;}
*{box-sizing:border-box;}
html,body{width:100%;overflow-x:hidden;}
body{margin:0;font-family:'Poppins',sans-serif;background:var(--bg);line-height:1.45;color:#000;}
::selection{background:var(--green-official);color:#fff;}
a {color: var(--green-link);text-decoration: underline;text-underline-offset: 3px;transition: color .25s ease, opacity .25s ease;}
a:hover {color: var(--green-dark);opacity: .85;}


/* ================= HEADER ================= */
.main-header{position:fixed;top:0;left:0;width:100%;height:86px;background:#fff;z-index:200;box-shadow:0 6px 18px rgba(0,0,0,.12);transition:height .3s ease,padding .3s ease,box-shadow .3s ease;}
.main-header.scrolled{height:68px;box-shadow:0 8px 22px rgba(0,0,0,.18);}
.header-inner{max-width:1500px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 40px;}
.logo-left img{height:64px;transition:height .3s ease;}
.main-header.scrolled .logo-left img{height:52px;}
.desktop-nav{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:40px;}
.desktop-nav a{position:relative;font-size:1.05rem;font-weight:600;padding:10px 2px;color:#000; text-decoration: none;}
.desktop-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--green-official);transition:width .3s ease;}
.desktop-nav a:hover::after{width:100%;}
.header-shop a{background:var(--green-official);color:#fff;padding:12px 26px;border-radius:20px;font-weight:700;text-decoration:none;transition:background .3s ease,transform .2s ease;}
.header-shop a:hover{background:var(--green-dark);transform:translateY(-1px);}
.burger{display:none;flex-direction:column;gap:6px;background:none;border:none;padding:8px;cursor:pointer;}
.burger span{width:26px;height:3px;background:#000;border-radius:2px;transition:all .3s ease;}
.burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
.header-spacer{height:86px;}
.mobile-nav{position:fixed;top:86px;left:0;width:100%;background:#fff;display:flex;flex-direction:column;max-height:0;overflow:hidden;transition:max-height .4s ease;z-index:199;box-shadow:0 3px 12px rgba(0,0,0,.08);}
.mobile-nav.open{max-height:500px;}
.mobile-nav a{padding:16px 24px;font-weight:600;border-top:1px solid rgba(0,0,0,.05);transition:background .25s ease,padding-left .25s ease,color .25s ease;text-decoration: none;}
.mobile-nav a:hover{background:rgba(0,129,40,.08);padding-left:32px;color:var(--green-official);}
.mobile-shop{background:var(--green-official);color:#fff;font-weight:700;text-align:center;}
.mobile-shop:hover{background:var(--green-dark);color:#fff;}


/* ================= POPUP LATERAL ================= */
.popup-lateral {position: fixed;right: -380px;top: 110px;width: 340px;background: #0f172a;color: white;padding: 28px 26px;border-radius: 16px 0 0 16px;box-shadow: 0 14px 40px rgba(0,0,0,0.30);z-index: 9999;transition: right 0.4s ease;font-family: inherit;}
.popup-lateral.mostrar {right: 0;}
.popup-contenido {display: flex;flex-direction: column;gap: 18px;}
.popup-contenido p {margin: 0;font-size: 17px;line-height: 1.5;font-weight: 500;}
.btn-popup {display: inline-block;background: var(--green-official);color: white !important;padding: 12px 16px;border-radius: 10px;text-decoration: none;font-size: 15px;font-weight: 600;text-align: center;transition: background 0.2s, transform 0.15s;}
.btn-popup:hover {background: var(--green-dark);transform: translateY(-1px);}
.popup-cerrar {position: absolute;top: 8px;right: 10px;border: none;background: none;color: white;font-size: 20px;cursor: pointer;opacity: 0.7;}
.popup-cerrar:hover {opacity: 1;}


/* ================= HERO / CONTADORES ================= */
.hero-section {width: 100%;min-height: 50vh; display: flex;align-items: center;justify-content: center;text-align: center;position: relative;overflow: hidden;background-color: #004d1a;}
.hero-content {max-width: 1100px;margin: 0 auto;position: relative;z-index: 10;padding: 27.5px 20px;}
.hero-title {font-size: 3.5rem;font-weight: 800;line-height: 1.2;margin-bottom: 20px;color: #ffffff !important;text-shadow: 0 4px 15px rgba(0,0,0,0.3);}
.hero-subtitle {font-size: 1.8rem;font-weight: 600;color: rgba(255, 255, 255, 0.9);margin-bottom: 40px;}
.hero-divider {width: 80px;height: 4px;background: #ffffff;margin: 0 auto 50px;border-radius: 2px;opacity: 0.5;}
.counter-bar {background: transparent;display: flex;justify-content: center;align-items: center;gap: 120px;}
.counter-item {text-align: center;color: #ffffff;}
.counter-item span {display: block;font-size: 4rem;font-weight: 800;line-height: 1;margin-bottom: 10px;}
.counter-item p {font-size: 1.1rem;font-weight: 500;text-transform: uppercase;letter-spacing: 1px;opacity: 0.85;}


/* ================= AFILIADOS ================= 
.affiliate-separator-dark {
    background-color: #ffffff;
    padding: 60px 0;
    width: 100%;
    display: block;
}

.affiliate-separator-dark .line-container {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    padding: 0 20px;
}

.affiliate-separator-dark .dark-line {
    flex: 1;
    min-width: 50px; 
    height: 2px;
    background-color: #1a1a1a;
    opacity: 0.8;
}

.affiliate-separator-dark a.affiliate-link {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    text-decoration: none !important;
    color: #000000 !important;
    opacity: 1 !important;
    visibility: visible !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    transition: all 0.3s ease;
}

.affiliate-separator-dark .prefix {
    font-size: 0.85rem;
    color: #666666;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 600;
}

.affiliate-separator-dark .brand {
    font-size: 1.25rem;
    color: #000000;
    font-weight: 900;
}

.affiliate-separator-dark .brand-inner {
    position: relative;
    padding-bottom: 4px;
    display: inline-block;
}

.affiliate-separator-dark .brand-inner::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 3px;
    bottom: 0;
    left: 0;
    background-color: #004d1a;
    transform: scaleX(0);
    transition: transform 0.4s ease;
}

.affiliate-separator-dark a.affiliate-link:hover .brand-inner::after {
    transform: scaleX(1);
}

.affiliate-separator-dark .icon {
    width: 16px;
    height: 16px;
    color: #000000;
    flex-shrink: 0;
}
*/

/* ================= VALORES ================= */
.values-section {width: 100%;padding: 40px 20px;background: #fff;position: relative;z-index: 10;}
.values-grid {max-width: 1400px;margin: 0 auto;display: grid;grid-template-columns: repeat(4, 1fr);gap: 30px;}
.value-item {background: var(--bg);border-radius: 18px;padding: 30px;box-shadow: 0 18px 45px rgba(0,0,0,.22);text-align: center;opacity: 0;transform: translateY(40px);transition: opacity 0.8s ease-out, transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.3s ease;}
.value-item.is-visible {opacity: 1;transform: translateY(0);}
.value-item:nth-child(1) { transition-delay: 0.1s; }
.value-item:nth-child(2) { transition-delay: 0.2s; }
.value-item:nth-child(3) { transition-delay: 0.3s; }
.value-item:nth-child(4) { transition-delay: 0.4s; }
.value-item.is-visible:hover {transition: transform 0.2s ease, box-shadow 0.2s ease;transform: translateY(-12px);box-shadow: 0 26px 60px rgba(0,0,0,.28);}
.value-icon {width: 64px;height: 64px;margin: 0 auto 20px;border-radius: 50%;background: rgba(0,129,40,.1);display: flex;align-items: center;justify-content: center;}
.value-icon svg {width: 34px;height: 34px;fill: var(--green-official);}
.value-item h3 {margin: 0 0 10px;font-size: 1.25rem;color: #000;}
.value-item p {margin: 0;font-size: 1rem;color: #333;line-height: 1.6;}


/* ================= PRODUCTOS / SERVICIOS ================= */
.productos, .servicios {width: 100%;padding: 60px 20px;background: var(--bg);text-align: center;overflow: hidden;}
.productos h2, .servicios h2 {font-size: 2.2rem;color: var(--green-official);margin-bottom: 20px;}
.productos-grid  {display: grid;grid-template-columns: repeat(3, 1fr);gap: 30px;max-width: 1400px;margin: 0 auto;align-items: stretch;}
.servicios-grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 40px;max-width: 1200px;margin: 0 auto;align-items: stretch;}
.card-link {display: block;text-decoration: none !important;color: inherit !important;height: 100%;outline: none;}
.producto-item, .servicio-item {background: #fff;border-radius: 20px;padding: 40px 35px;box-shadow: 0 20px 55px rgba(0,0,0,.18);display: flex;flex-direction: column;align-items: center;text-align: center;height: 100%;opacity: 0;transform: translateY(50px);transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.3s ease;}
.card-link.is-visible .producto-item, .card-link.is-visible .servicio-item {opacity: 1;transform: translateY(0);}
.card-link:nth-child(1) .producto-item { transition-delay: 0.1s; }
.card-link:nth-child(2) .producto-item { transition-delay: 0.25s; }
.card-link:nth-child(3) .producto-item { transition-delay: 0.4s; }
.card-link:hover .producto-item, .card-link:hover .servicio-item {transition: transform 0.3s ease, box-shadow 0.3s ease;transform: translateY(-10px);box-shadow: 0 28px 65px rgba(0,0,0,.22);}
.producto-item img, .servicio-item img {width: 100%;height: auto;margin-bottom: 25px;transition: transform 0.4s ease;}
.producto-item img {max-width: 160px;}
.card-link:hover img {transform: scale(1.05);}
.producto-item h3, .servicio-item h3 {font-size: 1.4rem;margin-bottom: 18px;transition: color 0.3s ease;}
.card-link:hover h3 {color: var(--green-official);}
.productos-main, .servicios-main {max-width: 900px;margin: 40px auto;font-size: 1rem;color: #333;line-height: 1.6;}
.btn-saber-mas {display: inline-block;margin-top: 40px;padding: 14px 28px;background: var(--green-official);color: white !important;font-weight: 700;border-radius: 12px;text-decoration: none;transition: background 0.3s ease, transform 0.3s ease;}
.btn-saber-mas:hover {background: var(--green-dark);transform: scale(1.05);}


/* ================= SECCIÓN PRODUCTO ================= */
.producto-section{padding:120px 20px;position:relative;overflow:hidden;}
.producto-bloque{max-width:1200px;margin:0 auto;position:relative;}
.producto-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60%;max-width:750px;opacity:.1;z-index:0;pointer-events:none;}
.producto-info{position:relative;z-index:2;}
.producto-header{text-align:center;margin-bottom:80px;}
.producto-header h1{display:none;}
.producto-header h2{font-size:2.6rem;color:var(--green-official);margin-bottom:20px;}
.producto-header p{max-width:850px;margin:0 auto;font-size:1.05rem;line-height:1.7;color:#333;}
.producto-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 90px;}
.producto-item-block h3{font-size:1.25rem;margin-bottom:15px;color:#000;}
.producto-item-block p{font-size:1rem;line-height:1.7;margin-bottom:20px;color:#333;}
.producto-item-block ul{list-style:none;padding:0;margin-bottom:20px;}
.producto-item-block li{position:relative;padding-left:22px;margin-bottom:10px;font-size:.95rem;color:#333;}
.producto-item-block li::before{content:"✔";position:absolute;left:0;top:0;color:var(--green-official);font-size:.85rem;}


/* ===================== SECCIÓN SERVICIOS ===================== */
.servicio-section{position:relative;padding:120px 20px;overflow:hidden;}
.servicio-bloque{position:relative;max-width:1200px;margin:0 auto;}
.servicio-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70%;max-width:700px;opacity:.1;pointer-events:none;user-select:none;z-index:0;}
.servicio-info{position:relative;z-index:1;}
.servicio-header{max-width:850px;margin:0 auto 80px auto;text-align:center;}
.servicio-header h2{font-size:2.4rem;color:var(--green-official);margin-bottom:25px;}
.servicio-header p{font-size:1.05rem;line-height:1.7;color:#333;}
.servicio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:50px 70px;}
.servicio-item-block h3{font-size:1.3rem;margin-bottom:12px;color:#111;}
.servicio-item-block p{font-size:0.98rem;line-height:1.6;color:#444;margin-bottom:15px;}
.servicio-item-block ul{padding-left:18px;}
.servicio-item-block li{margin-bottom:8px;font-size:0.95rem;line-height:1.5;color:#333;}


/* ================= SEPARADOR ================= */
.separador { border: 0; height: 2px; background: #ddd;width: 80%;margin: 60px auto;border-radius: 1px;}


/* ================= SOBRE NOSOTROS ================= */
.sobre-nosotros { width: 100%; padding: 60px 20px; text-align: center; background: #fff; }
.sobre-nosotros h2 { font-size: 2.2rem; color: var(--green-official); margin: 0 auto 20px; display: block;white-space: nowrap;overflow: hidden;width: 0;border-right: 3px solid transparent; }
.sobre-nosotros.is-visible h2 {animation: typing 0.8s steps(15, end) forwards,blink-caret 0.4s step-end 2;}
.sobre-nosotros-main { max-width: 900px; margin: 0 auto; font-size: 1rem; color: #333; line-height: 1.6;opacity: 0;transform: translateY(10px);transition: opacity 0.6s ease-out, transform 0.6s ease-out;transition-delay: 0.5s; }
.sobre-nosotros.is-visible .sobre-nosotros-main {opacity: 1;transform: translateY(0);}
@keyframes typing {from { width: 0; border-right-color: var(--green-official); }to { width: 285px; border-right-color: transparent; } }
@keyframes blink-caret {from, to { border-right-color: transparent; }50% { border-right-color: var(--green-official); }}


/* ================= CONTACTO ================= */
.contact-section{width:100%;margin:80px 0;}
.contact-section h2{text-align:center;margin-bottom:35px;}
.contact-flex{display:flex;gap:30px;max-width:1500px;margin:0 auto;align-items:stretch;padding:0 20px;}
.contact-map{flex:1.3;position:relative;}
.contact-map iframe{width:100%;height:100%;min-height:360px;border-radius:18px;border:none;}
.contact-form-box{flex:1;background:#fff;border-radius:18px;padding:30px;box-shadow:0 10px 30px rgba(0,0,0,.08);}
.contact-form-box form{display:flex;flex-direction:column;gap:20px;}
.form-columns{display:flex;gap:20px;}
.form-left{flex:1;display:flex;flex-direction:column;gap:14px;}
.form-right{flex:1;display:flex;flex-direction:column;gap:14px;}
.form-right textarea{height:100%;min-height:210px;resize:none;}
.form-group{position:relative;width:100%;}
.form-group input:not([type=checkbox]){width:100%;padding:14px;font-size:14px;border-radius:12px;border:1px solid #ddd;background:#fff;}
.form-group textarea{width:100%;padding:14px;font-size:14px;border-radius:12px;border:1px solid #ddd;background:#fff;}
.form-group label{position:absolute;left:14px;top:14px;color:#999;pointer-events:none;transition:.3s ease;background:#fff;padding:0 4px;}
.form-group input:focus+label{transform:translateY(-24px);font-size:12px;color:var(--green-official);}
.form-group input:not(:placeholder-shown)+label{transform:translateY(-24px);font-size:12px;color:var(--green-official);}
.form-group textarea:focus+label{transform:translateY(-24px);font-size:12px;color:var(--green-official);}
.form-group textarea:not(:placeholder-shown)+label{transform:translateY(-24px);font-size:12px;color:var(--green-official);}
input::placeholder{color:transparent;}
textarea::placeholder{color:transparent;}
.form-bottom{display:flex;flex-direction:column;gap:15px;margin-top:15px;}
.form-bottom .legal-text{font-size:13px;color:#666;line-height:1.6;}
.form-bottom .legal-text strong{color:#000;}
.form-bottom .checkbox{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;}
.form-bottom .checkbox input{margin-top:3px;}
.form-bottom .checkbox a{color:var(--green-link);text-decoration:underline;}
.form-bottom .checkbox a:hover{text-decoration:none;}
.contact-form-box button{background:var(--green-official);color:#fff;padding:14px;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:background .3s;}
.contact-form-box button:hover{background:var(--green-dark);}


/* ================= COOKIE BANNER ================= */
.cookie-banner{position:fixed;bottom:0;left:0;width:100%;background:rgba(0,0,0,0.92);color:#fff;z-index:9999;padding:18px 20px;display:none;flex-direction:column;align-items:center;font-family:'Poppins',sans-serif;box-shadow:0 -5px 20px rgba(0,0,0,0.25);}
.cookie-content p{margin:0 0 12px 0;text-align:center;max-width:650px;font-size:14px;line-height:1.4;}
.cookie-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:10px;}
.cookie-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.65);display:none;align-items:center;justify-content:center;z-index:10000;padding:20px;overflow:auto;}
.cookie-modal-content{background:#fff;padding:30px;border-radius:12px;max-width:750px;width:100%;max-height:90vh;overflow-y:auto;font-family:'Poppins',sans-serif;box-shadow:0 15px 45px rgba(0,0,0,0.25);animation:cookieFade .25s ease;}
.cookie-modal-content::-webkit-scrollbar{width:6px;}
.cookie-modal-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:10px;}
.cookie-modal-content::-webkit-scrollbar-thumb:hover{background:#aaa;}
@keyframes cookieFade{from{opacity:0;transform:translateY(15px);}to{opacity:1;transform:translateY(0);}}
.cookie-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.cookie-header h2{margin:0;font-size:20px;}
.cookie-header button{background:none;border:none;font-size:20px;cursor:pointer;}
.cookie-intro{font-size:14px;color:#555;margin-bottom:20px;line-height:1.5;}
.cookie-section{border-top:1px solid #eee;margin-top:10px;}
.cookie-accordion{border-bottom:1px solid #eee;padding:10px 0;}
.cookie-accordion-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:10px 0;font-weight:600;}
.cookie-accordion-header h4{margin:0;font-size:16px;color:#222;}
.cookie-accordion-content{display:none;padding:10px 0 15px 0;font-size:13px;color:#666;line-height:1.5;}
.cookie-accordion-content table{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px;}
.cookie-accordion-content td{padding:6px 0;border-bottom:1px solid #eee;}
.cookie-always{font-size:12px;color:#888;}
.cookie-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px;flex-wrap:wrap;}
.switch{position:relative;display:inline-block;width:50px;height:24px;margin-top:6px;}
.switch input{opacity:0;width:0;height:0;}
.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#ccc;transition:.3s;border-radius:30px;}
.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:white;transition:.3s;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,0.2);}
input:checked + .slider{background:var(--green-official);}
input:checked + .slider:before{transform:translateX(26px);}
#acceptAllCookies{background:var(--green-official);color:#fff;padding:10px 18px;margin:5px;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .25s ease;}
#acceptAllCookies:hover{background:var(--green-dark);transform:translateY(-1px);}
#onlyNecessaryCookies{background:#f5f5f5;color:#333;border:1px solid #ddd;padding:10px 18px;margin:5px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .25s ease;}
#onlyNecessaryCookies:hover{background:#eaeaea;}
#configCookies{background:transparent;color:var(--green-official);border:2px solid var(--green-official);padding:10px 18px;margin:5px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .25s ease;}
#configCookies:hover{background:var(--green-official);color:#fff;}
#rejectCookies{background:#f5f5f5;border:1px solid #ddd;padding:10px 18px;border-radius:6px;font-weight:600;cursor:pointer;}
#saveCookieSettings{background:#ddd;border:none;padding:10px 18px;border-radius:6px;font-weight:600;cursor:pointer;}
#acceptAllCookiesModal{background:var(--green-official);color:#fff;border:none;padding:10px 18px;border-radius:6px;font-weight:600;cursor:pointer;}
#acceptAllCookiesModal:hover{background:var(--green-dark);}
 

/* ================= BOTÓN VOLVER ARRIBA ================= */
#btnTop{position:fixed;bottom:28px;right:28px;width:46px;height:46px;border-radius:50%;background:var(--green-official);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.25);opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease,background .3s ease;z-index:998;pointer-events:none;}
#btnTop.visible{opacity:1;transform:translateY(0);pointer-events:auto;}
#btnTop:hover{background:var(--green-dark);}


/* ================= FOOTER ================= */
.footer{background:#111;color:#fff;padding:50px 20px 20px;}
.footer-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;justify-items:center;}
.footer-item{display:flex;gap:14px;align-items:flex-start;max-width:280px;}
.footer-icon{width:38px;height:38px;border-radius:50%;background:#1f1f1f;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.footer-icon i{font-size:16px;color:var(--green-official);}
.footer-text{text-align:left;}
.footer-text h4{margin:0 0 10px;font-size:1.05rem;}
.footer-text p{margin:4px 0;font-size:.9rem;opacity:.85;line-height:1.5;}
.footer-socials{display:flex;gap:14px;margin-top:10px;}
.footer-socials a{width:36px;height:36px;text-decoration: none;border-radius:50%;background:#1f1f1f;display:flex;align-items:center;justify-content:center;transition:background .25s ease,transform .25s ease;}
.footer-socials a i{color:#fff;font-size:15px;}
.footer-socials a:hover{background:var(--green-official);transform:translateY(-2px);}
.footer-policies{text-align:center;margin-top:40px;font-size:.82rem;opacity:.75;}
.footer-policies a{font-weight:600;color:var(--green-link);margin:0 6px;transition:opacity .25s ease;text-decoration: none;}
.footer-policies a:hover{opacity:1;}
.footer-policies .separator{margin:0 4px;}
.footer-bottom{text-align:center;margin-top:14px;font-size:.8rem;opacity:.65;}


/* ========================= MODALS ========================= */
.modal{display:none;position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.65);padding-top:60px;}
.modal-content{position:relative;margin:auto;width:70%;max-height:80vh;overflow-y:auto;background:#fff;padding:25px;border-radius:12px;}
.modal-content .close{position:sticky;top:20px;right:20px;font-size:24px;font-weight:bold;color:#333;cursor:pointer;background:none;border:none;line-height:1;z-index:999;transition:color .3s;}
.modal-content .close:hover{color:var(--green-official);}
.modal-inner{display:flex;flex-direction:column;padding:30px 60px;color:#666;}
.modal-inner h1{color:#000;font-size:2.4rem;margin:0 0 15px 0;position:relative;display:inline-block;}
.modal-inner h1::after{content:"";display:block;width:80px;height:4px;background-color:var(--green-official);margin:10px 0 25px 0;border-radius:2px;}
.modal-inner h3{color:#000;margin:30px 0 15px 0;}
.modal-inner p,.modal-inner li{color:#666;line-height:1.6;margin-bottom:15px;}
.modal-inner strong{color:#000;}
.modal-inner ul:not(.browser-list){list-style:none;padding-left:0;margin-bottom:15px;}
.modal-inner ul:not(.browser-list)>li{position:relative;padding-left:20px;margin-bottom:8px;}
.modal-inner ul:not(.browser-list)>li::before{content:"•";position:absolute;left:0;color:#666;}
.modal-inner ul:not(.browser-list) li ul>li{position:relative;padding-left:20px;margin-bottom:5px;}
.modal-inner ul:not(.browser-list) li ul>li::before{content:"-";position:absolute;left:0;color:#666;}
.cookies-links{padding-left: 20px;}
.cookies-links li{margin-bottom: 6px;}
.cookies-links a{color: var(--green-link);text-decoration: none;font-weight: 500;}



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

/* ---------- HEADER ---------- */
@media(max-width:1024px){.desktop-nav{display:none;}.header-shop{display:none;}.burger{display:flex;}}

/* ------------ POPUP LATERAL ------------ */
@media (max-width: 768px){.popup-lateral{width: 300px;right: -320px;top: 90px;padding: 24px 22px;}.popup-contenido p{font-size: 16px;}}
@media (max-width: 480px){.popup-lateral{left: 50%;right: auto;top: auto;bottom: 16px;transform: translateX(-50%) translateY(120%);width: calc(100% - 32px);border-radius: 14px;padding: 18px;}.popup-lateral.mostrar{transform: translateX(-50%) translateY(0);}.popup-contenido{gap: 12px;text-align: center;}.popup-contenido p{font-size: 14px;}.btn-popup{width: 100%;font-size: 14px;}.popup-cerrar{top: 6px;right: 8px;}}

/* ---------- HERO ---------- */
@media (max-width:1200px){.hero-title{font-size:3rem;}.hero-subtitle{font-size:1.6rem;}.counter-bar{gap:80px;}.counter-item span{font-size:3.4rem;}}
@media (max-width:1024px){.hero-section{min-height:45vh;}.hero-title{font-size:2.6rem;}.hero-subtitle{font-size:1.4rem;margin-bottom:30px;}.hero-divider{margin-bottom:35px;}.counter-bar{gap:60px;}.counter-item span{font-size:3rem;}}
@media (max-width:768px){.hero-section{min-height:auto;padding:60px 0;}.hero-title{font-size:2.2rem;}.hero-subtitle{font-size:1.2rem;}.counter-bar{flex-wrap:wrap;gap:40px;}.counter-item span{font-size:2.6rem;}}
@media (max-width:480px){.hero-content{padding:40px 16px;}.hero-title{font-size:1.9rem;line-height:1.25;}.hero-subtitle{font-size:1.05rem;margin-bottom:24px;}.hero-divider{margin-bottom:28px;}.counter-bar{gap:28px;}.counter-item span{font-size:2.2rem;}.counter-item p{font-size:0.9rem;letter-spacing:0.5px;}}

/* ---------- AFILIADOS ---------- */
@media (max-width: 768px) {
    .affiliate-separator-dark .dark-line { display: none; }
    .affiliate-separator-dark a.affiliate-link { flex-direction: column; text-align: center; }
}
/* ---------- VALORES ---------- */
@media (max-width:1200px){.values-grid{grid-template-columns:repeat(2,1fr);max-width:900px;}}
@media (max-width:768px){.values-section{padding:60px 20px;}.values-grid{gap:24px;}.value-item{padding:26px;}.value-icon{width:56px;height:56px;margin-bottom:16px;}.value-icon svg{width:28px;height:28px;}.value-item h3{font-size:1.15rem;}.value-item p{font-size:0.95rem;}}
@media (max-width:480px){.values-section{padding:50px 16px;}.values-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto;}.value-item{padding:24px;border-radius:16px;}.value-item h3{font-size:1.1rem;}.value-item p{font-size:0.92rem;line-height:1.55;}}

/* -------------- PRODUCTOS / SERVICIOS -------------- */

@media (max-width:1200px){.productos-grid{grid-template-columns:repeat(2,1fr);max-width:900px;}.servicios-grid{grid-template-columns:repeat(2,1fr);max-width:1000px;}}
@media (max-width:768px){.productos, .servicios{padding:70px 20px;}.productos h2, .servicios h2{font-size:1.9rem;}.producto-item, .servicio-item{padding:34px 28px;border-radius:18px;}.producto-item h3, .servicio-item h3{font-size:1.25rem;margin-bottom:14px;}.productos-main, .servicios-main{font-size:0.95rem;max-width:680px;}}
@media (max-width:600px){.productos-grid,.servicios-grid{grid-template-columns:1fr;max-width:460px;margin:0 auto;}}
@media (max-width:480px){.productos, .servicios{padding:60px 16px;}.productos h2, .servicios h2{font-size:1.7rem;}.producto-item, .servicio-item{padding:28px 22px;border-radius:16px;}.producto-item img, .servicio-item img{margin-bottom:18px;}.producto-item h3, .servicio-item h3{font-size:1.15rem;}.productos-main, .servicios-main{font-size:0.92rem;line-height:1.55;}.btn-saber-mas{padding:12px 22px;font-size:0.95rem;border-radius:10px;}}

/* ------------ SOBRE NOSOTROS ------------ */
@media(max-width:1024px){.sobre-nosotros{padding:50px 20px;}.sobre-nosotros h2{font-size:2rem;}.sobre-nosotros-main{max-width:700px;font-size:0.95rem;}}
@media(max-width:768px){.sobre-nosotros{padding:45px 16px;}.sobre-nosotros h2{font-size:1.85rem;}.sobre-nosotros-main{max-width:95%;font-size:0.9rem;}}
@media(max-width:480px){.sobre-nosotros{padding:40px 12px;}.sobre-nosotros h2{font-size:1.7rem;}.sobre-nosotros-main{font-size:0.88rem;}}

/* --------------- CONTACTO RESPONSIVE --------------- */
@media(max-width:1024px){.contact-flex{flex-direction: column-reverse;gap:40px;padding:0 16px;}.contact-map, .contact-form-box{flex:1;}.contact-map iframe{min-height:300px;}}
@media(max-width:768px){.contact-section{margin:60px 0;}.contact-map iframe{min-height:260px;}.form-columns{flex-direction: column;gap:20px;}.form-right textarea{min-height:180px;}}
@media(max-width:480px){.contact-section{margin:50px 0;}.contact-map iframe{min-height:200px;}.contact-form-box{padding:20px;}.form-group input, .form-group textarea{font-size:13px;padding:12px;}.form-bottom .legal-text{font-size:12px;}.form-bottom .checkbox{font-size:12px;}.contact-form-box button{padding:12px;font-size:14px;}}

/* ---------- FOOTER ---------- */
@media(max-width:1100px){.footer-container{grid-template-columns:repeat(2,1fr);gap:30px;}}
@media(max-width:600px){.footer-container{grid-template-columns:1fr;gap:26px;}.footer-item{justify-content:center;text-align:center;}.footer-icon{margin:0 auto;}}

/* -------------- MODALS -------------- */
@media(max-width:1280px){.modal-inner table{font-size:.9rem;}.modal-inner thead{display:none;}.modal-inner tr{display:block;margin-bottom:18px;border:1px solid #ddd;border-radius:10px;padding:10px;background:#fafafa;}.modal-inner td{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border:none;}.modal-inner td::before{content:attr(data-label);font-weight:600;color:#000;flex-shrink:0;}}
@media(max-width:768px){.modal{padding-top:0;}.modal-content{width:95%;max-height:92vh;padding:16px;margin:16px auto;border-radius:10px;}.modal-inner{padding:16px 18px;}.modal-inner h1{font-size:1.6rem;}.modal-inner h3{font-size:1.1rem;margin:20px 0 10px 0;}.modal-inner p,.modal-inner li{font-size:.92rem;line-height:1.55;}.modal-content .close{font-size:28px;top:10px;right:10px;}}