@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css'); :root{--primary-blue:#1e73be;--light-blue:#eaf4ff;--white:#fff;--gray-light:#f5f7fa;--gray:#6c757d;--dark:#2c3e50;--shadow:0 10px 30px rgba(0,0,0,.1);--shadow-hover:0 15px 40px rgba(30,115,190,.15);--border-radius:16px;--border-radius-sm:12px}.usa-travel-container{max-width:1200px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,sans-serif}.usa-travel-header{text-align:center;margin-bottom:40px}.usa-travel-header h1{color:var(--primary-blue);font-size:2.5em;margin-bottom:10px;font-weight:700;background:linear-gradient(135deg,var(--primary-blue) 0%,#45a0e6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.usa-travel-subtitle{color:var(--gray);font-size:1.2em}.usa-travel-form-container{background:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:30px;margin-bottom:30px}.usa-travel-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:var(--dark);font-size:1rem}.searchable-dropdown{position:relative;width:100%}.city-search-input{width:100%;padding:12px 16px;border:2px solid var(--light-blue);border-radius:var(--border-radius-sm);font-size:1rem;transition:all .3s ease;background:var(--white)}.city-search-input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px rgba(30,115,190,.1)}.dropdown-results{position:absolute;top:100%;left:0;right:0;background:var(--white);border:1px solid var(--light-blue);border-radius:var(--border-radius-sm);max-height:300px;overflow-y:auto;z-index:1000;box-shadow:var(--shadow);display:none}.dropdown-item{padding:12px 16px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid var(--light-blue)}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:var(--light-blue);color:var(--primary-blue)}.dropdown-item.no-results{cursor:default;color:var(--gray)}.dropdown-item.no-results:hover{background:var(--white)}.travel-select{width:100%;padding:12px 16px;border:2px solid var(--light-blue);border-radius:var(--border-radius-sm);font-size:1rem;background:var(--white);cursor:pointer;transition:all .3s ease;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e73be' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 16px center;background-size:16px}.travel-select:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px rgba(30,115,190,.1)}.generate-btn{background:linear-gradient(135deg,var(--primary-blue) 0%,#45a0e6 100%);color:var(--white);border:none;border-radius:50px;padding:16px 32px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(30,115,190,.3);margin-top:10px;position:relative;overflow:hidden}.generate-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(30,115,190,.4)}.generate-btn:active{transform:translateY(0)}.generate-btn span{position:relative;z-index:1}.loading-indicator{text-align:center;padding:40px;background:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow);margin:20px 0}.spinner{width:50px;height:50px;border:4px solid var(--light-blue);border-top:4px solid var(--primary-blue);border-radius:50%;margin:0 auto 20px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.travel-results{margin-top:30px}.itinerary-card{background:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:40px;animation:slideIn .5s ease-out}@keyframes slideIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.itinerary-header{text-align:center;margin-bottom:40px;padding-bottom:30px;border-bottom:2px solid var(--light-blue)}.itinerary-header h2{color:var(--primary-blue);font-size:2.2em;margin-bottom:20px}.itinerary-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:15px}.meta-item{background:var(--light-blue);color:var(--primary-blue);padding:8px 16px;border-radius:30px;font-size:.9rem;font-weight:500}.itinerary-section{margin-bottom:40px}.itinerary-section h3{color:var(--dark);font-size:1.5em;margin-bottom:20px;position:relative;padding-left:15px}.itinerary-section h3:before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:25px;background:linear-gradient(135deg,var(--primary-blue) 0%,#45a0e6 100%);border-radius:5px}.days-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.day-card{background:var(--gray-light);border-radius:var(--border-radius-sm);padding:20px;transition:all .3s ease;border:1px solid transparent}.day-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);border-color:var(--primary-blue);background:var(--white)}.day-card h4{color:var(--primary-blue);margin-bottom:15px;font-size:1.2em}.day-card ul{list-style:none;padding:0;margin:0}.day-card li{padding:8px 0;color:var(--dark);border-bottom:1px dashed rgba(30,115,190,.2)}.day-card li:last-child{border-bottom:none}.grid-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.grid-item{background:linear-gradient(135deg,var(--light-blue) 0%,#fff 100%);padding:15px 20px;border-radius:var(--border-radius-sm);border-left:4px solid var(--primary-blue);transition:all .3s ease;cursor:default}.grid-item:hover{transform:translateX(5px);box-shadow:var(--shadow-hover)}.tips-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px}.tips-list li{background:var(--white);padding:15px 20px;border-radius:var(--border-radius-sm);box-shadow:0 2px 10px rgba(0,0,0,.05);border:1px solid var(--light-blue);transition:all .3s ease}.tips-list li:hover{border-color:var(--primary-blue);transform:scale(1.02)}.social-share{margin:40px 0;text-align:center;padding:30px 20px;background:linear-gradient(135deg,var(--light-blue) 0%,#fff 100%);border-radius:var(--border-radius)}.social-share h4{color:var(--dark);margin-bottom:25px;font-size:1.3em;font-weight:600}.share-buttons{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.share-btn{width:55px;height:55px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.175,.885,.32,1.275);background:var(--white);box-shadow:0 5px 15px rgba(0,0,0,.1);text-decoration:none;position:relative;overflow:hidden}.share-btn i{font-size:24px;transition:all .3s ease;position:relative;z-index:2}.share-btn.whatsapp i{color:#25d366}.share-btn.facebook i{color:#1877f2}.share-btn.twitter i{color:#000}.share-btn.telegram i{color:#08c}.share-btn.copy-link i{color:var(--primary-blue)}.share-btn:hover{transform:translateY(-5px) scale(1.1);box-shadow:0 10px 25px rgba(0,0,0,.2)}.share-btn.whatsapp:hover{background:#25d366}.share-btn.whatsapp:hover i{color:#fff}.share-btn.facebook:hover{background:#1877f2}.share-btn.facebook:hover i{color:#fff}.share-btn.twitter:hover{background:#000}.share-btn.twitter:hover i{color:#fff}.share-btn.telegram:hover{background:#08c}.share-btn.telegram:hover i{color:#fff}.share-btn.copy-link:hover{background:var(--primary-blue)}.share-btn.copy-link:hover i{color:#fff}.share-btn:after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .6s,height .6s;z-index:1}.share-btn:active:after{width:120px;height:120px}.share-btn{position:relative}.share-btn:before{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);padding:5px 10px;background:var(--dark);color:#fff;font-size:12px;border-radius:4px;white-space:nowrap;opacity:0;visibility:hidden;transition:all .3s ease;margin-bottom:10px;z-index:10}.share-btn:hover:before{opacity:1;visibility:visible}@media (max-width:768px){.share-buttons{gap:15px}.share-btn{width:45px;height:45px}.share-btn i{font-size:20px}}@media (max-width:480px){.share-buttons{gap:10px}.share-btn{width:40px;height:40px}.share-btn i{font-size:18px}}.action-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:40px}.regenerate-btn{background:var(--white);color:var(--primary-blue);border:2px solid var(--primary-blue);border-radius:50px;padding:12px 30px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.regenerate-btn:hover{background:var(--primary-blue);color:var(--white);transform:translateY(-2px);box-shadow:var(--shadow)}.download-dropdown{position:relative;display:inline-block}.download-btn{background:var(--primary-blue);color:var(--white);border:none;border-radius:50px;padding:12px 30px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 10px rgba(30,115,190,.3)}.download-btn:hover{background:#155a8a;transform:translateY(-2px);box-shadow:0 6px 15px rgba(30,115,190,.4)}.download-options{position:absolute;top:100%;right:0;background:var(--white);border-radius:var(--border-radius-sm);box-shadow:var(--shadow);min-width:200px;display:none;z-index:100;margin-top:10px}.download-options a{display:block;padding:12px 20px;color:var(--dark);text-decoration:none;transition:all .2s ease;border-bottom:1px solid var(--light-blue)}.download-options a:last-child{border-bottom:none}.download-options a:hover{background:var(--light-blue);color:var(--primary-blue);padding-left:30px}@media (max-width:768px){.usa-travel-header h1{font-size:2em}.form-row{grid-template-columns:1fr}.itinerary-header h2{font-size:1.8em}.days-container{grid-template-columns:1fr}.grid-list{grid-template-columns:1fr}.tips-list{grid-template-columns:1fr}.action-buttons{flex-direction:column}.download-dropdown{width:100%}.download-btn{width:100%}}@media (max-width:480px){.usa-travel-form-container{padding:20px}.itinerary-card{padding:20px}.itinerary-meta{flex-direction:column}.share-buttons{gap:10px}.share-btn{width:40px;height:40px}.share-btn svg{width:20px;height:20px}}