/* ===== SHARED SUBPAGE STYLES ===== */

/* ---- Legal Pages ---- */
.legal-page{padding:120px 0 80px}
.legal-hero{text-align:center;margin-bottom:56px}
.legal-hero h1{font-size:clamp(2rem,4.5vw,3rem);font-weight:900;line-height:1.15;margin-bottom:12px}
.legal-date{font-size:.9rem;color:var(--gray-400)}

.legal-content{max-width:800px;margin:0 auto}
.legal-content section{margin-bottom:48px}
.legal-content h2{font-size:1.4rem;font-weight:800;color:var(--dark);margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--green-100)}
.legal-content h3{font-size:1.1rem;font-weight:700;color:var(--dark);margin:20px 0 10px}
.legal-content p{font-size:.95rem;color:var(--gray-600);line-height:1.8;margin-bottom:12px}
.legal-content ul{margin:12px 0 16px 0;display:flex;flex-direction:column;gap:8px}
.legal-content li{font-size:.95rem;color:var(--gray-600);line-height:1.7;padding-left:24px;position:relative}
.legal-content li::before{content:'';position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--green-300)}
.legal-content a{color:var(--green-500);font-weight:600;border-bottom:1px solid var(--green-200);transition:var(--transition)}
.legal-content a:hover{color:var(--green-600);border-color:var(--green-400)}

.info-box{background:var(--green-50);border:1px solid var(--green-100);border-radius:var(--radius-sm);padding:20px 24px;margin:16px 0}
.info-box p{margin-bottom:4px;color:var(--gray-600)}

/* Cookie table */
.cookie-table{margin:20px 0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--green-100)}
.cookie-row{display:grid;grid-template-columns:140px 1fr 100px;gap:16px;padding:14px 20px;font-size:.9rem;border-bottom:1px solid var(--green-100)}
.cookie-row:last-child{border-bottom:none}
.cookie-row--header{background:var(--green-50);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500)}
.cookie-row span{color:var(--gray-600);line-height:1.5}

@media(max-width:600px){
    .cookie-row{grid-template-columns:1fr;gap:6px;padding:12px 16px}
    .cookie-row--header{display:none}
    .cookie-row span:first-child{font-weight:700;color:var(--dark)}
}

/* Rights grid (privacy page) */
.rights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}
.right-item{background:var(--green-50);border:1px solid var(--green-100);border-radius:var(--radius-sm);padding:20px}
.right-item h4{font-size:.95rem;font-weight:700;color:var(--dark);margin-bottom:6px}
.right-item p{font-size:.85rem;color:var(--gray-500);line-height:1.5;margin-bottom:0}

@media(max-width:768px){.rights-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.rights-grid{grid-template-columns:1fr}}

/* ---- Contact Page ---- */
.contact-page{padding:120px 0 80px}
.contact-hero{text-align:center;margin-bottom:48px}
.contact-hero h1{font-size:clamp(2rem,4.5vw,3rem);font-weight:900;line-height:1.15;margin-bottom:12px}
.contact-hero p{font-size:1.05rem;color:var(--gray-500);max-width:520px;margin:0 auto}

/* Contact cards */
.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:64px}
.ccard{background:var(--white);border:1px solid var(--green-100);border-radius:var(--radius);padding:28px 24px;text-align:center;transition:var(--transition)}
.ccard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--green-300)}
.ccard__icon{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--green-50),var(--green-100));display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--green-500)}
.ccard h3{font-size:1rem;font-weight:700;margin-bottom:4px;color:var(--dark)}
.ccard p{font-size:.82rem;color:var(--gray-400);margin-bottom:12px}
.ccard__link{font-size:.9rem;font-weight:600;color:var(--green-500);transition:var(--transition);background:none;border:none;cursor:pointer;font-family:inherit}
.ccard__link:hover{color:var(--green-600)}
.ccard__link--btn{text-decoration:underline}

@media(max-width:900px){.contact-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.contact-cards{grid-template-columns:1fr}}

/* Contact main layout */
.contact-main{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:start}

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

/* Form wrap */
.contact-form-wrap{background:var(--white);border:1px solid var(--green-100);border-radius:var(--radius);padding:40px 36px}
.contact-form-wrap h2{font-size:1.6rem;font-weight:800;margin-bottom:8px}
.contact-form-wrap>p{font-size:.95rem;color:var(--gray-500);margin-bottom:32px}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:600px){.form-grid{grid-template-columns:1fr}}

.form-group{margin-bottom:20px;position:relative}
.form-group label{display:block;font-size:.85rem;font-weight:600;color:var(--dark);margin-bottom:6px}
.form-group input,
.form-group select,
.form-group textarea{width:100%;padding:12px 16px;border:2px solid var(--green-100);border-radius:var(--radius-sm);font-size:.95rem;color:var(--dark);background:var(--white);transition:var(--transition);outline:none;resize:vertical}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{border-color:var(--green-400);box-shadow:0 0 0 3px rgba(107,203,139,.15)}
.form-group input::placeholder,
.form-group textarea::placeholder{color:var(--gray-300)}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2394a894' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}

.form-error{display:none;font-size:.78rem;color:#e74c3c;margin-top:4px;font-weight:500}
.form-group.has-error input,
.form-group.has-error select,
.form-group.has-error textarea{border-color:#e74c3c}
.form-group.has-error .form-error,
.form-group--check.has-error .form-error{display:block}

/* Checkbox */
.form-group--check{margin-bottom:16px}
.checkbox-label{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:var(--gray-600);cursor:pointer;line-height:1.5}
.checkbox-label input{display:none}
.checkmark{width:20px;height:20px;border:2px solid var(--green-200);border-radius:6px;flex-shrink:0;margin-top:1px;transition:var(--transition);position:relative}
.checkbox-label input:checked+.checkmark{background:var(--green-400);border-color:var(--green-400)}
.checkbox-label input:checked+.checkmark::after{content:'';position:absolute;top:3px;left:6px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.checkbox-label a{color:var(--green-500);font-weight:600}

/* Form success */
.form-success{text-align:center;padding:48px 24px}
.form-success__icon{margin-bottom:20px}
.form-success h3{font-size:1.4rem;font-weight:800;color:var(--dark);margin-bottom:12px}
.form-success p{font-size:.95rem;color:var(--gray-500);margin-bottom:24px}

/* Sidebar */
.contact-sidebar{display:flex;flex-direction:column;gap:20px}
.sidebar-card{background:var(--white);border:1px solid var(--green-100);border-radius:var(--radius);padding:28px 24px}
.sidebar-card h3{font-size:1.05rem;font-weight:700;color:var(--dark);margin-bottom:16px}
.sidebar-card--green{background:var(--green-50);border-color:var(--green-200)}
.sidebar-card--green p{font-size:.9rem;color:var(--gray-500);margin-bottom:16px;line-height:1.6}

.schedule{display:flex;flex-direction:column;gap:10px}
.schedule-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}
.schedule-row span{color:var(--gray-500)}
.schedule-row strong{color:var(--dark)}

.social-links{display:flex;flex-direction:column;gap:10px}
.social-link{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:500;color:var(--gray-600);padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--green-100);transition:var(--transition)}
.social-link:hover{background:var(--green-50);color:var(--green-600);border-color:var(--green-300)}
.social-link svg{color:var(--green-500);flex-shrink:0}

/* ---- Callback / Registration Form (index.html) ---- */
.callback{padding:100px 0;background:linear-gradient(135deg,var(--green-50) 0%,#eaf7ef 100%)}
.callback__inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.callback__content h2{font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:800;line-height:1.2;margin-bottom:16px}
.callback__content p{font-size:1rem;color:var(--gray-500);line-height:1.7;margin-bottom:28px}
.callback__benefits{display:flex;flex-direction:column;gap:12px}
.cb-item{display:flex;align-items:center;gap:10px;font-size:.95rem;font-weight:500;color:var(--dark)}
.cb-item svg{flex-shrink:0}

.callback__form-wrap{position:relative}
.callback__form{background:var(--white);border:1px solid var(--green-100);border-radius:var(--radius);padding:36px 32px;box-shadow:var(--shadow)}
.callback__form h3{font-size:1.2rem;font-weight:700;color:var(--dark);margin-bottom:24px;text-align:center}

.cb-form-group{margin-bottom:18px;position:relative}
.cb-form-group label{display:block;font-size:.85rem;font-weight:600;color:var(--dark);margin-bottom:6px}
.cb-form-group input,
.cb-form-group select{width:100%;padding:12px 16px;border:2px solid var(--green-100);border-radius:var(--radius-sm);font-size:.95rem;color:var(--dark);background:var(--white);transition:var(--transition);outline:none;font-family:inherit}
.cb-form-group input:focus,
.cb-form-group select:focus{border-color:var(--green-400);box-shadow:0 0 0 3px rgba(107,203,139,.15)}
.cb-form-group input::placeholder{color:var(--gray-300)}
.cb-form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2394a894' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.cb-form-group.has-error input{border-color:#e74c3c}
.cb-form-group.has-error .form-error,
.cb-form-group--check.has-error .form-error{display:block}
.cb-form-group--check{margin-bottom:20px}

/* Selected product badge */
.cb-selected-product{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--green-50),#e5f7ec);border:2px solid var(--green-300);border-radius:var(--radius-sm);padding:14px 18px;margin-bottom:20px;gap:12px;animation:fadeSlide .4s ease}
@keyframes fadeSlide{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
.cb-product-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cb-product-label{font-size:.78rem;color:var(--gray-400);font-weight:500}
.cb-product-name{font-size:.95rem;color:var(--dark);font-weight:700}
.cb-product-price{font-size:.95rem;color:var(--green-600);font-weight:800;background:var(--white);padding:3px 10px;border-radius:6px;border:1px solid var(--green-200)}
.cb-product-change{font-size:.8rem;color:var(--gray-400);font-weight:600;text-decoration:underline;cursor:pointer;white-space:nowrap;background:none;border:none;font-family:inherit;transition:var(--transition)}
.cb-product-change:hover{color:var(--green-500)}

/* Callback success */
.callback__success{background:var(--white);border:1px solid var(--green-100);border-radius:var(--radius);padding:40px 32px;box-shadow:var(--shadow);text-align:center}
.callback__success-icon{margin-bottom:16px}
.callback__success h3{font-size:1.4rem;font-weight:800;color:var(--dark);margin-bottom:8px}
.callback__order-product{font-size:.95rem;color:var(--gray-500);margin-bottom:8px;background:var(--green-50);display:inline-block;padding:6px 16px;border-radius:8px;border:1px solid var(--green-200)}
.callback__order-product strong{color:var(--green-600)}
.callback__timer-text{font-size:.95rem;color:var(--gray-500);margin-bottom:16px}

.callback__countdown{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:28px}
.cd-block{background:var(--green-50);border:2px solid var(--green-200);border-radius:12px;padding:12px 20px;display:flex;flex-direction:column;align-items:center;min-width:72px}
.cd-block span{font-size:2rem;font-weight:900;color:var(--green-600);line-height:1}
.cd-block small{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400);font-weight:600;margin-top:2px}
.cd-sep{font-size:1.8rem;font-weight:800;color:var(--green-400);animation:blink 1s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}

.callback__steps{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.cb-step{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--gray-400);font-weight:500}
.cb-step span{width:28px;height:28px;border-radius:50%;background:var(--gray-100);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:var(--gray-400)}
.cb-step--done span{background:var(--green-400);color:#fff}
.cb-step--done{color:var(--green-600)}
.cb-step--active span{background:var(--green-100);color:var(--green-500);border:2px solid var(--green-400);animation:pulse-ring 1.5s infinite}
.cb-step--active{color:var(--green-600);font-weight:600}
@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(107,203,139,.4)}70%{box-shadow:0 0 0 8px rgba(107,203,139,0)}100%{box-shadow:0 0 0 0 rgba(107,203,139,0)}}

@media(max-width:900px){
    .callback__inner{grid-template-columns:1fr}
    .callback__content{text-align:center}
    .callback__benefits{align-items:center}
}
@media(max-width:500px){
    .cd-block{min-width:60px;padding:10px 16px}
    .cd-block span{font-size:1.6rem}
}

/* Form success (contacto.html) extra styles */
.form-success__timer{font-size:1.1rem;color:var(--dark);margin-bottom:8px}
.form-success__timer strong{font-size:1.3rem;color:var(--green-500);font-weight:900}
.form-success__info{display:flex;justify-content:center;gap:20px;margin:24px 0;flex-wrap:wrap}
.success-step{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--gray-400);font-weight:500}
.success-step__num{width:28px;height:28px;border-radius:50%;background:var(--green-100);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:var(--green-500)}
.success-step__num.active{background:var(--green-400);color:#fff;animation:pulse-ring 1.5s infinite}

/* ---- Cookie Consent Banner ---- */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid var(--green-100);box-shadow:0 -4px 24px rgba(26,46,26,.1);padding:20px 0;z-index:9999;transform:translateY(100%);transition:transform .4s ease;display:flex}
.cookie-banner.show{transform:translateY(0)}
.cookie-banner .container{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.cookie-banner__text{flex:1;min-width:280px;font-size:.9rem;color:var(--gray-600);line-height:1.6}
.cookie-banner__text a{color:var(--green-500);font-weight:600;text-decoration:underline}
.cookie-banner__actions{display:flex;gap:12px;flex-shrink:0}
.cookie-banner__actions .btn{padding:10px 24px;font-size:.85rem}

@media(max-width:600px){
    .cookie-banner .container{flex-direction:column;text-align:center}
    .cookie-banner__actions{width:100%;justify-content:center}
}

/* ---- Footer legal links (subpages) ---- */
.footer__legal-links{display:flex;gap:24px}
.footer__legal-links a{font-size:.85rem;color:rgba(255,255,255,.5);transition:var(--transition)}
.footer__legal-links a:hover{color:var(--green-400)}
