@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');:root{--primary-color:#1a73e8;--primary-hover:#1557b0;--primary-darker:#1760a0;--primary-darker-hover:#0e4a74;--secondary-color:#2c3e50;--text-color:#202124;--color-dark-grey:#333;--text-light:#666;--bg-color:#f8f9fa;--bg-light:#fff;--border-color:#e0e0e0;--alert-bg:#fff3cd;--alert-border:#ffc107;--alert-text:#856404;--info-bg:#eef2fa;--info-border:#3498db;--highlight-red:#e53935;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:2.5rem;--border-radius:8px;--shadow-sm:0 2px 4px rgba(0,0,0,0.05);--shadow-md:0 4px 8px rgba(0,0,0,0.1);--font-family:"Open Sans",sans-serif;--font-size-sm:0.95rem;--font-size-base:1rem;--font-size-lg:1.1rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:2.5rem}@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');:root{--primary-color:#1a73e8;--primary-hover:#1557b0;--primary-darker:#1760a0;--primary-darker-hover:#0e4a74;--secondary-color:#2c3e50;--text-color:#202124;--color-dark-grey:#333;--text-light:#666;--bg-color:#f8f9fa;--bg-light:#fff;--border-color:#e0e0e0;--alert-bg:#fff3cd;--alert-border:#ffc107;--alert-text:#856404;--info-bg:#eef2fa;--info-border:#3498db;--highlight-red:#e53935;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:2.5rem;--border-radius:8px;--shadow-sm:0 2px 4px rgba(0,0,0,0.05);--shadow-md:0 4px 8px rgba(0,0,0,0.1);--font-family:"Open Sans",sans-serif;--font-size-sm:0.95rem;--font-size-base:1rem;--font-size-lg:1.1rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:2.5rem}*{margin:0;padding:0;box-sizing:border-box;font-family:var(--font-family)}body{line-height:1.6;color:var(--text-color);background-color:var(--bg-color);display:flex;flex-direction:column;justify-content:center;align-items:center}main{max-width:900px;padding:var(--spacing-md) var(--spacing-sm);display:flex;justify-content:center;align-items:center;flex-direction:column}main>section>h1{color:var(--text-color);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xs)}[id^="linhas-onibus"] h2,#operadoras-list h2{margin:0 0 var(--spacing-md)}[id^="linhas-onibus"] h2 a,#operadoras-list h2 a{font-size:var(--font-size-xl);color:var(--primary-darker)}[id^="linhas-onibus"] h2 a:hover,#operadoras-list h2 a:hover{color:var(--primary-darker-hover)}[id^="linhas-onibus"]>h3{margin:0 0 var(--spacing-sm)}[id^="linhas-onibus"]>h3 a{color:var(--primary-darker)}[id^="linhas-onibus"]>h3 a:hover{color:var(--primary-darker-hover)}main>section>p{font-size:var(--font-size-base)}.bus-routes ul{list-style:none;display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:var(--spacing-md)}.bus-routes ul li{background:var(--bg-light);border-radius:var(--border-radius);transition:transform 0.2s ease;box-shadow:var(--shadow-sm);max-width:90vw}.bus-routes ul li:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.bus-routes ul li a{color:var(--text-color);text-decoration:none;padding:var(--spacing-sm);display:flex;align-items:center;border-radius:var(--border-radius);border:1px solid var(--border-color);height:100%}.bus-routes ul li a:hover{color:var(--primary-color);border-color:var(--primary-color)}.bus-routes{width:100%;margin-bottom:var(--spacing-sm)}.skeleton-routes .skeleton-card{box-shadow:none;background:transparent}.skeleton{background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0 50%,#e0e0e0 75%);background-size:200% 100%;animation:skeleton-loading 1.2s ease-in-out infinite;border-radius:var(--border-radius)}.skeleton-title{width:60%;height:24px;margin-bottom:var(--spacing-md)}.skeleton-line{width:100%;height:48px}@keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}@media (max-width:600px){main>section>h1{font-size:var(--font-size-xl)}.bus-routes ul{grid-template-columns:1fr}}form{display:flex;flex-direction:column;gap:var(--spacing-md);max-width:500px;margin:var(--spacing-lg) 0;padding:var(--spacing-lg);background-color:var(--bg-light);border-radius:var(--border-radius);box-shadow:var(--shadow-md)}form label{font-weight:bold;margin-bottom:var(--spacing-xs);color:var(--text-color)}form input[type="text"],form input[type="email"],form textarea{padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-color);background-color:var(--bg-color);width:100%}form input[type="text"]:focus,form input[type="email"]:focus,form textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px rgba(var(--primary-color-rgb),0.2)}form textarea{resize:vertical;min-height:100px}form button[type="submit"]{background-color:var(--primary-color);color:var(--button-text-color);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--border-radius);cursor:pointer;font-size:var(--font-size-md);font-weight:bold;transition:background-color 0.2s ease,transform 0.2s ease}form button[type="submit"]:hover{background-color:var(--primary-dark-color);transform:translateY(-1px)}.hero-section{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.search-section{padding:0.15rem 0;margin:1rem 0;width:100%}.search-container{margin:0 auto;position:relative;display:flex;gap:0.5rem;max-width:90vw}.search-input{width:100%;padding:0.75rem 2.5rem 0.75rem 1rem;border:2px solid #ddd;border-radius:4px;transition:border-color 0.3s ease}.search-input:focus{outline:none;border-color:#0066cc;box-shadow:0 0 0 3px rgba(0,102,204,0.1)}.clear-search-btn{position:absolute;right:0.75rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;padding:0.25rem 0.5rem;display:none;transition:color 0.2s ease}.clear-search-btn:hover{color:#333}.search-info{text-align:center;margin-top:1rem;color:#666;font-size:0.9rem}.no-results{text-align:center;color:#999;padding:2rem;font-style:italic}.ad-pop-up{position:fixed;width:90vw;max-width:800px;padding:1.5rem 1rem;border-radius:var(--border-radius);box-shadow:var(--shadow-md);text-decoration:none;display:flex;align-items:flex-start;justify-content:center;bottom:10px;left:50%;transform:translateX(-50%);z-index:1000}.ad-pop-up-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1.3rem;gap:0.5rem}.ad-pop-up-logo-image{width:auto;max-width:150px;margin-bottom:0.5rem}.ad-pop-up-text{font-weight:bold;text-align:center}.ad-pop-up-cupom{text-align:center}.ad-pop-up-close-button{background-color:transparent;border:none;font-size:2.3rem;padding:10px;cursor:pointer}@media (max-width:768px){main{max-width:90vw}.search-input{font-size:16px}}.site-header{background-color:var(--primary-color);padding:1rem;box-shadow:0 2px 4px rgba(0,0,0,0.1);width:100%;position:sticky;top:0;z-index:100}.nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.site-logo{color:white;text-decoration:none;font-size:1.5rem;font-weight:bold}.site-nav{display:flex;align-items:center;gap:2rem}.nav-link{color:white;text-decoration:none;padding:0.5rem;transition:opacity 0.3s ease}.nav-link:hover{opacity:0.8}.nav-link:focus-visible,.nav-dropdown-btn:focus-visible,.hamburger:focus-visible{outline:2px solid #ffffff;outline-offset:2px}.nav-top{display:flex;justify-content:space-between;align-items:center}.hamburger{display:none;background:none;border:none;cursor:pointer;padding:10px}.hamburger-box{width:30px;height:24px;display:inline-block;position:relative}.hamburger-inner{display:block;top:50%;margin-top:-2px}.hamburger-inner,.hamburger-inner::before,.hamburger-inner::after{width:30px;height:3px;background-color:white;position:absolute;transition:transform 0.15s ease}.hamburger-inner::before,.hamburger-inner::after{content:"";display:block}.hamburger-inner::before{top:-10px}.hamburger-inner::after{bottom:-10px}.nav-dropdown{position:relative;display:flex;gap:1rem}.nav-dropdown-btn{background:none;border:none;color:white;font-size:1rem;cursor:pointer;padding:0.5rem;transition:opacity 0.3s ease}.nav-dropdown-btn:hover{opacity:0.8}.submenu{list-style:none;padding:0;margin:0;background-color:var(--primary-color);position:absolute;top:100%;left:0;min-width:160px;box-shadow:0 8px 16px rgba(0,0,0,0.2);z-index:3;display:none;border-radius:4px}.submenu.active{display:block}.submenu li a{color:white;padding:12px 16px;text-decoration:none;display:block;text-align:left}.submenu li a:hover{background-color:var(--primary-hover)}.dropdown-arrow{display:inline-block;width:0;height:0;margin-left:0.5rem;vertical-align:middle;border-top:0.3em solid;border-right:0.3em solid transparent;border-bottom:0;border-left:0.3em solid transparent;transition:transform 0.3s ease}.nav-dropdown.active .dropdown-arrow{transform:rotate(180deg)}@media (max-width:768px){.hamburger{display:block}.nav-container{flex-direction:column;align-items:stretch}.site-nav{display:none;flex-direction:column;align-items:center;padding:1rem 0}.site-nav.active{display:flex}.hamburger.active .hamburger-inner{transform:rotate(45deg)}.hamburger.active .hamburger-inner::before{top:0;opacity:0}.hamburger.active .hamburger-inner::after{bottom:0;transform:rotate(-90deg)}.site-nav{align-items:flex-start}.nav-dropdown{width:100%;flex-direction:column}.nav-dropdown-btn{width:100%;text-align:left}.submenu{position:static;box-shadow:none;width:100%;padding-left:1rem}.submenu li a{padding-left:1.5rem}.nav-dropdown.active .submenu{display:block}}header a{color:white;border:none;padding:0}header a:hover{color:white}.site-footer{background-color:var(--bg-color);padding:1.5rem;text-align:center;border-top:1px solid var(--border-color);width:100%;display:flex;flex-direction:column;gap:1.5rem}.site-footer p{margin:0;color:var(--text-light)}.footer-nav ul{list-style:none;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1rem}.footer-nav a{color:var(--primary-darker);text-decoration:none;font-weight:500}.footer-nav a:hover{color:var(--primary-darker-hover);text-decoration:underline}.breadcrumb{margin:0 0 1rem;padding:0.5rem 0}.breadcrumb ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap}.breadcrumb li{display:flex;align-items:center}.breadcrumb li:not(:last-child)::after{content:"/";margin:0 0.5rem;color:#666}.breadcrumb a{color:var(--primary-color);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb li:last-child{color:#666}body{font-family:var(--font-family);line-height:1.6;color:var(--text-color);background-color:var(--bg-color);min-height:100vh;display:flex;flex-direction:column}.container{flex:1;max-width:900px;width:100%;margin:0 auto;padding:var(--spacing-md);background-color:var(--bg-light);border-radius:var(--border-radius);box-shadow:var(--shadow-md)}h1{color:var(--text-color);font-size:var(--font-size-2xl)}.description-intro{color:var(--text-light);font-size:var(--font-size-lg);margin-bottom:var(--spacing-lg)}hr{border:0;height:1px;background:var(--border-color);margin:var(--spacing-lg) 0}.info-box{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--info-bg);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg);border:1px solid var(--info-border)}.info-box p{display:flex;align-items:center;gap:var(--spacing-xs)}.info-box strong{color:var(--secondary-color)}.info-box a{color:var(--primary-darker)}.info-box a:hover{color:var(--primary-darker-hover)}.alert-box{background-color:var(--alert-bg);border-left:5px solid var(--alert-border);padding:var(--spacing-sm) var(--spacing-lg);margin-bottom:var(--spacing-xl);border-radius:var(--border-radius);color:var(--alert-text);font-size:var(--font-size-sm)}.schedule-section{margin-bottom:var(--spacing-xl)}h2{color:var(--secondary-color);font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg);text-align:center;border-bottom:2px solid var(--border-color);padding-bottom:var(--spacing-xs)}.schedule-section h3{color:var(--secondary-color);font-size:var(--font-size-lg);margin:var(--spacing-xl) 0 var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.schedule-content{display:grid;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.schedule-content>div{padding:var(--spacing-sm);border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.schedule-content p{color:var(--secondary-color);font-size:var(--font-size-base);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-color)}.schedule-content p strong{color:var(--color-dark-grey);font-size:var(--font-size-base)}.schedule-times{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--spacing-xs)}.schedule-times li{padding:var(--spacing-xs);text-align:center;background-color:var(--bg-light);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:all 0.2s ease;font-size:var(--font-size-sm);box-shadow:var(--shadow-sm)}.schedule-times li:hover{transform:translateY(-2px);border-color:var(--primary-color);color:var(--primary-color);box-shadow:var(--shadow-md);cursor:pointer}.itinerary-section{margin-top:var(--spacing-xl)}#itinerario-list{padding:0;font-weight:600;margin-top:var(--spacing-lg);list-style:none;counter-reset:itinerary-counter}#itinerario-list li{background:var(--bg-light);padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--border-color);position:relative;counter-increment:itinerary-counter}#itinerario-list li::before{content:counter(itinerary-counter);color:var(--primary-color);position:absolute;left:8px;font-weight:bold}.title-box{display:flex;flex-direction:column-reverse;flex-wrap:wrap}.ad-banner{display:flex;justify-content:center;align-items:center;max-width:100vw;margin:1rem 0}.ad-banner-title{color:var(--highlight-red)}.ad-banner-link{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none}.ad-banner-link span{font-size:1.5rem;font-weight:bold;margin-bottom:0.5rem;text-align:center}.ad-banner-image{width:auto;max-width:400px}@media (max-width:768px){.schedule-list{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.info-box{flex-direction:column;gap:var(--spacing-sm)}.schedule-times{grid-template-columns:repeat(auto-fill,minmax(65px,1fr));gap:calc(var(--spacing-xs) / 2)}.schedule-times li{padding:calc(var(--spacing-xs) / 1.5);font-size:var(--font-size-lg)}.ad-banner-image{max-width:90vw}.info-box p{align-items:flex-start;flex-direction:column}}@media (max-width:480px){h1{font-size:var(--font-size-xl)}.schedule-list{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.schedule-times{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}}.outras-linhas{margin:2rem 0;padding:1rem;background:var(--bg-color);border-radius:8px}.outras-linhas h2{color:var(--secondary-color);margin-bottom:1rem;border-bottom:none;padding-bottom:0}.outras-linhas p{border-bottom:2px solid var(--border-color);padding-bottom:var(--spacing-xs);text-align:center}#lista-outras-linhas{list-style:none;padding:0;margin:0}#lista-outras-linhas li{margin-bottom:0.5rem}#lista-outras-linhas a{color:var(--primary-darker);text-decoration:none;display:block;padding:0.5rem;border-radius:4px}#lista-outras-linhas a:hover{color:var(--primary-darker-hover);background:var(--border-color)}.share-container{position:relative;margin:1rem 0 0}.share-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--primary-color);color:white;border:none;border-radius:20px;cursor:pointer;font-size:16px;transition:background 0.3s ease}.share-button:hover{background:var(--secondary-color)}.share-menu{display:none;position:absolute;top:100%;left:0;background:white;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,0.1);padding:8px;z-index:2;min-width:200px}.share-menu.active{display:block}.share-item{display:flex;align-items:center;gap:12px;padding:8px 16px;color:#333;text-decoration:none;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-size:14px}.share-item:hover{background:#f5f5f5}.share-item img{width:20px;height:20px}.share-item.copied{background:#e8f5e9;color:#2e7d32}