/*V 1.0 Legal Pages*/
/* Reset and Base Styles */
body {background-color:#ffffff; color:#333333; line-height:1.6; overflow-x:hidden;}

/* Color Variables */
:root {--primary-green:#38ed24; --primary-black:#000000; --primary-white:#ffffff; --light-gray:#f8f9fa; --dark-gray:#343a40; --border-color:#e0e0e0; --accent-green:#38ed24; --link-green:#209b41;}

/* Top Header */
.logo {max-width:clamp(100px, 15vw, 200px); height:auto;}
.map-icon {background-color:#4285f4; color:white; width:35px; height:35px; border-radius:6px; display:flex; align-items:center; justify-content:center; font-size:16px;}
.google-reviews i {font-size:20px; color:#4285f4;}
.rating {font-size:12px; font-weight:600; color:#ffc107;}

/* Mobile Menu Button and Phone Container */

/* Bottom Navigation */

/* Mobile Navigation */
.mobile-nav a:hover,
.mobile-nav a.active {color:var(--primary-green); background-color:rgba(255, 255, 255, 0.05);}

/* Legal Hero */
.legal-hero {background:linear-gradient(135deg, #000000 0%, #0a1f06 55%, #123d0c 100%); color:var(--primary-white); text-align:center; padding:clamp(40px, 6vw, 70px) 20px; width:100%; border-bottom:3px solid var(--primary-green);}
.legal-hero-content {max-width:860px; margin:0 auto; width:100%;}
.legal-hero h1 {font-size:clamp(26px, 5vw, 42px); font-weight:700; text-transform:uppercase; line-height:1.2; letter-spacing:0.5px; text-wrap:balance; -webkit-text-wrap:balance;}
.legal-hero .effective-date {display:inline-block; margin-top:18px; padding:7px 18px; border:1px solid rgba(56, 237, 36, 0.5); border-radius:50px; font-size:clamp(12px, 2vw, 14px); font-weight:600; color:var(--primary-green); text-transform:uppercase; letter-spacing:0.5px;}

/* Legal Content */
.legal-content {padding:clamp(40px, 6vw, 70px) 0; background-color:var(--primary-white); width:100%;}
.legal-wrapper {max-width:860px; margin:0 auto; padding:0 20px; width:100%;}
.legal-intro {font-size:clamp(15px, 2.5vw, 17px); line-height:1.8; color:#181818; padding-bottom:clamp(25px, 4vw, 35px); margin-bottom:clamp(25px, 4vw, 35px); border-bottom:1px solid var(--border-color);}
.legal-section {margin-bottom:clamp(30px, 5vw, 45px);}
.legal-section:last-child {margin-bottom:0;}
.legal-section h2 {font-size:clamp(19px, 3.5vw, 26px); font-weight:700; color:var(--primary-black); text-transform:uppercase; line-height:1.3; margin-bottom:18px; padding-left:16px; border-left:5px solid var(--primary-green); text-wrap:balance; -webkit-text-wrap:balance;}
.legal-section h3 {font-size:clamp(16px, 2.8vw, 19px); font-weight:700; color:var(--primary-black); text-transform:uppercase; line-height:1.35; margin:28px 0 12px;}
.legal-section p {font-size:clamp(14px, 2.5vw, 16px); line-height:1.8; color:#181818; margin-bottom:16px;}
.legal-section p:last-child {margin-bottom:0;}
.legal-section strong {color:var(--primary-black); font-weight:700;}

/* Legal Lists */
.legal-list {margin:20px 0 24px; padding-left:4px;}
.legal-list li {position:relative; padding-left:28px; margin-bottom:12px; font-size:clamp(14px, 2.5vw, 16px); line-height:1.6; color:#181818;}
.legal-list li:last-child {margin-bottom:0;}
.legal-list li:before {content:""; position:absolute; left:0; top:9px; width:9px; height:9px; border-radius:50%; background-color:var(--primary-green); box-shadow:0 0 0 3px rgba(56, 237, 36, 0.18);}

/* Legal Links */
.legal-content a {color:var(--link-green); font-weight:600; text-decoration:underline; text-underline-offset:3px; word-break:break-word; overflow-wrap:break-word;}
.legal-content a:hover {color:var(--primary-black); text-decoration-color:var(--primary-green);}

/* Legal Callout (STOP / HELP) */
.legal-note {background-color:var(--light-gray); border:1px solid var(--border-color); border-left:5px solid var(--primary-green); border-radius:8px; padding:clamp(18px, 3vw, 26px); margin-top:24px;}
.legal-note p {margin-bottom:12px;}
.legal-note p:last-child {margin-bottom:0;}
.legal-note .keyword {display:inline-block; background-color:var(--primary-black); color:var(--primary-green); padding:2px 10px; border-radius:4px; font-weight:700; font-size:0.95em; letter-spacing:0.5px;}

/* Legal Footer Note */
.legal-ack {margin-top:clamp(30px, 5vw, 45px); padding-top:clamp(25px, 4vw, 35px); border-top:1px solid var(--border-color); font-size:clamp(14px, 2.5vw, 16px); line-height:1.8; color:#181818; font-style:italic;}

/* Hover y Scroll animado para toda la pagina */
.animated-item {opacity:0; transform:translateY(20px); transition:opacity 0.6s ease-out, transform 0.6s ease-out;}
.animated-item.scrolled {opacity:1; transform:translateY(0);}

/* Footer */
.map-container {height:clamp(150px, 25vw, 200px); border-radius:8px; overflow:hidden; margin-bottom:20px; margin-top:20px;}
.map-container iframe {width:100%; height:100%; border:0;}
.footer-section.column ul {display:grid; grid-template-columns:repeat(2, 1fr); gap:8px;}
.footer-section.column ul li {width:100%; margin:0 0 8px;}
.footer-section a {color:#ccc; transition:color 0.3s ease; font-size:clamp(12px, 2vw, 14px); line-height:1.5;}
.social-icon {display:flex; justify-content:center; align-items:center; width:clamp(35px, 6vw, 40px); height:clamp(35px, 6vw, 40px); background-color:rgba(255, 255, 255, 0.1); border-radius:50%; transition:all 0.3s ease; font-size:clamp(14px, 2.5vw, 16px);}
.footer-copyright {width:100%; padding:25px 0 15px 0; margin-top:30px; border-top:1px solid #333; text-align:center; font-size:14px; color:#999;}
.footer-legal-links a {color:#999; font-size:13px;}
.footer-legal-links a.active {color:var(--primary-green);}
.footer-legal-links .sep {color:#444; font-size:13px;}
.carrier-auth-footer {display:flex; flex-direction:column; align-items:flex-start; margin-top:20px; gap:15px; width:100%;}
.carrier-auth-text {display:flex; flex-direction:column; gap:16px; padding-top:20px; border-top:1px solid rgba(255, 255, 255, 0.1); width:100%;}
.carrier-auth-text strong {font-size:18px; font-weight:800; color:var(--primary-white); letter-spacing:0.5px; text-transform:uppercase; line-height:1.3;}
.carrier-auth-logos {display:flex; flex-direction:column; align-items:center; gap:20px;}
.carrier-foot-logo {height:auto; max-width:260px; border-radius:12px;}

/* Responsive Breakpoints */
@media (max-width:1200px) {.header-right {gap:10px;}
 .find-us,
 .google-reviews {display:none;}
 .phone-button {padding:6px 12px; font-size:13px;}
}
@media (min-width:1151px) and (max-width:1156px) {.desktop-nav a {font-size:12px;}}
@media (max-width:1150px) {.bottom-nav {display:none;}
 .header-right {display:none;}
 .mobile-menu-phone-container {display:flex;}
 .mobile-menu-btn {display:block;}
 .mobile-nav-container {display:block;}
 .footer-content {grid-template-columns:1fr;}
 .footer-left-group {grid-column:1 / -1;}
 .carrier-auth-footer {align-items:center;}
 .carrier-auth-text {align-items:center; text-align:center;}
}
@media (max-width:768px) {.mobile-phone-button {font-size:11px; padding:5px 10px;}
 .mobile-menu-btn {font-size:18px; padding:8px;}
 .mobile-menu-phone-container {gap:6px; padding:0 8px;}
 .container {padding:0 15px;}
 .legal-section h2 {padding-left:12px; border-left-width:4px;}
}
@media (max-width:576px) {.mobile-phone-button {font-size:10px; padding:4px 8px;}
 .mobile-menu-btn {font-size:16px; padding:6px;}
 .mobile-menu-phone-container {gap:4px; padding:0 6px;}
 .container {padding:0 10px;}
}
@media (max-width:360px) {.container {padding:0 10px;}
 .legal-wrapper {padding:0 15px;}
 .legal-section p,
 .legal-list li {word-wrap:break-word; overflow-wrap:break-word; hyphens:auto; font-size:14px;}
 .mobile-menu-phone-container {gap:3px; padding:0 5px;}
 .mobile-phone-button {font-size:9px; padding:3px 6px;}
 .footer-content {grid-template-columns:1fr;}
 .footer-left-group {grid-column:1 / -1;}
 .carrier-auth-footer {align-items:center;}
 .carrier-auth-text {align-items:center; text-align:center;}
}
