/*V 1.0 Legal Pages*/
/* Reset and Base Styles */
* {margin:0; padding:0; box-sizing:border-box; font-family:"Montserrat", Arial, sans-serif;}
body {background-color:#ffffff; color:#333333; line-height:1.6; overflow-x:hidden;}
a {text-decoration:none; color:inherit; transition:all 0.3s ease;}
ul {list-style:none;}
.container {width:100%; max-width:1200px; margin:0 auto; padding:0 20px;}
img {max-width:100%; height:auto;}

/* 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;}

/* Header Styles */
.main-header {position:sticky; top:0; z-index:1000; box-shadow:0 2px 10px rgba(0, 0, 0, 0.1); width:100%;}

/* Top Header */
.top-header {display:flex; align-items:center; padding:0; background-color:var(--primary-black); min-height:60px;}
.logo-container {padding:10px 15px; background-color:var(--primary-black); display:flex; justify-content:center; align-items:center; flex-shrink:0;}
.logo {max-width:clamp(100px, 15vw, 200px); height:auto;}
.header-right {display:flex; align-items:center; gap:15px; padding:0 15px; flex-shrink:0; margin-left:auto;}
.find-us {display:flex; align-items:center; gap:8px;}
.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;}
.rating-badge {background-color:#209b41; color:white; padding:6px 10px; border-radius:4px; font-weight:bold; font-size:12px;}
.google-reviews {display:flex; align-items:center; gap:8px; color:var(--primary-white);}
.google-reviews i {font-size:20px; color:#4285f4;}
.review-info {display:flex; flex-direction:column; align-items:flex-start;}
.rating {font-size:12px; font-weight:600; color:#ffc107;}
.phone-button {background:transparent; border:2px solid var(--primary-green); color:var(--primary-white); padding:8px 16px; border-radius:20px; font-size:14px; font-weight:600; cursor:pointer; transition:all 0.3s ease; text-transform:uppercase; white-space:nowrap;}
.phone-button:hover {background-color:var(--primary-green); color:var(--primary-white);}

/* Mobile Menu Button and Phone Container */
.mobile-menu-phone-container {display:none; align-items:center; gap:10px; margin-left:auto; padding:0 15px;}
.mobile-menu-btn {display:none; font-size:24px !important; cursor:pointer; padding:15px; color:var(--primary-white); z-index:1001;}
.mobile-phone-button {background:transparent; border:2px solid var(--primary-green); color:var(--primary-white); padding:6px 12px; border-radius:15px; font-size:12px; font-weight:600; cursor:pointer; transition:all 0.3s ease; text-transform:uppercase; white-space:nowrap; text-decoration:none;}
.mobile-phone-button:hover {background-color:var(--primary-green); color:var(--primary-white);}

/* Bottom Navigation */
.bottom-nav {background-color:var(--primary-white); border-bottom:1px solid var(--border-color); padding:0;}
.desktop-nav {background-color:var(--primary-white); display:flex; justify-content:center; width:100%;}
.desktop-nav ul {display:flex; justify-content:center; align-items:center; padding:0; margin:0; gap:clamp(15px, 3vw, 40px); max-width:1200px; width:100%; flex-wrap:wrap;}
.desktop-nav li {padding:0;}
.desktop-nav a {color:var(--primary-black); font-weight:600; font-size:clamp(12px, 1.5vw, 13px); transition:color 0.3s; position:relative; text-transform:uppercase; padding:15px 0; display:block; white-space:nowrap;}
.desktop-nav a:hover,
.desktop-nav a.active {color:#209b41;}
.desktop-nav a:after {content:""; position:absolute; width:0; height:3px; bottom:0; left:0; background-color:var(--primary-green); transition:width 0.3s;}
.desktop-nav a:hover:after,
.desktop-nav a.active:after {width:100%;}

/* Mobile Navigation */
.mobile-nav-container {display:none; position:fixed; top:0; right:-100%; width:100%; height:100%; background-color:var(--primary-black); z-index:1000; transition:right 0.3s ease; overflow-y:auto;}
.mobile-nav-container.active {right:0;}
.close-menu-btn {position:absolute; top:15px; right:15px; font-size:24px; color:var(--primary-white); cursor:pointer; z-index:1002;}
.mobile-nav {background-color:var(--primary-black); height:calc(100% - 50px); overflow-y:auto;}
.mobile-nav ul {display:flex; flex-direction:column; padding:0;}
.mobile-nav li {border-bottom:1px solid rgba(255, 255, 255, 0.1);}
.mobile-nav a {color:var(--primary-white); font-weight:600; display:block; padding:15px 20px; font-size:16px;}
.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 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 */
footer {background-color:var(--primary-black); color:var(--primary-white); padding:clamp(40px, 8vw, 60px) 0 20px; width:100%; margin-bottom:-5px;}
.footer-logo-section {text-align:center; margin-bottom:clamp(30px, 6vw, 40px); padding:0 20px;}
.footer-logo {max-width:clamp(250px, 30vw, 400px); height:auto;}
.footer-content {display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:clamp(20px, 4vw, 40px); max-width:1200px; margin:0 auto; padding:0 20px; width:100%;}
.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 h3 {font-size:clamp(16px, 2.5vw, 18px); margin-bottom:20px; color:var(--primary-white); font-weight:700;}
.footer-section ul li {margin-bottom:8px;}
.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;}
.footer-section a:hover {color:var(--primary-green);}
.social-media {display:flex; gap:10px; margin-top:15px; margin-bottom:30px; flex-wrap:wrap;}
.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);}
.social-icon:hover {background-color:var(--primary-green); transform:translateY(-3px);}
.visually-hidden {position:absolute; width:1px; height:1px; padding:0; margin:-1px; clip:rect(0, 0, 0, 0); white-space:nowrap; border:0;}
.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-copyright p {margin:0; padding:0; line-height:1.5;}
.footer-legal-links {margin-top:10px; display:flex; justify-content:center; align-items:center; gap:10px; flex-wrap:wrap;}
.footer-legal-links a {color:#999; font-size:13px;}
.footer-legal-links a:hover {color:var(--primary-green);}
.footer-legal-links a.active {color:var(--primary-green);}
.footer-legal-links .sep {color:#444; font-size:13px;}
.footer-left-group {grid-column:span 2; display:flex; flex-direction:column;}
.footer-left-top {display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px, 4vw, 40px);}
.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;}
 .footer-left-top {grid-template-columns:1fr;}
 .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:5px; padding:0 5px;}
 .mobile-phone-button {font-size:10px; padding:4px 8px;}
 .footer-content {grid-template-columns:1fr;}
 .footer-left-group {grid-column:1 / -1;}
 .footer-left-top {grid-template-columns:1fr;}
 .carrier-auth-footer {align-items:center;}
 .carrier-auth-text {align-items:center; text-align:center;}
}

@media (max-width:320px) {
  .footer-logo {max-width:180px !important;}
}
