@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-light: #f4f6f3;--sage-primary: #98a88c;--olive-dark: #4d6248;--gold-accent: #b4b07d;--text-main: #2d342c;--text-muted: #6b726a;--white: #ffffff;--border-color: rgba(77, 98, 72, .15);--font-sans: "Inter", system-ui, sans-serif;--header-height: 120px}body{margin:0;font-family:var(--font-sans);background-color:var(--bg-light);color:var(--text-main);overflow-x:hidden}.just-travel-app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative}.main-header{background:var(--white);position:sticky;top:0;z-index:1000;box-shadow:0 2px 10px #00000005}.header-top-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 40px;background:#a9b9a4;color:var(--white);font-size:.8rem;font-weight:500}.header-right{display:flex;gap:16px;align-items:center}.header-right .icon{font-size:1.1rem;cursor:pointer;opacity:.9;margin-top:3px}.header-nav{display:flex;justify-content:space-between;align-items:center;padding:16px 40px}.logo-container{display:flex;align-items:center;gap:12px}.travel-logo{width:32px;height:32px}.logo-text{font-weight:700;font-size:1.4rem;letter-spacing:-.03em;color:var(--olive-dark)}.nav-links{display:flex;gap:32px}.nav-links button{background:none;border:none;padding:0;cursor:pointer;text-decoration:none;color:var(--text-main);font-weight:500;font-size:.95rem;font-family:inherit;transition:color .2s}.nav-links button:hover{color:var(--olive-dark)}.nav-links button.active{color:var(--olive-dark);font-weight:700}.auth-links{display:flex;gap:12px}.btn-link{background:none;border:none;color:var(--text-muted);font-weight:600;cursor:pointer}.btn-primary-gold{background:var(--gold-accent);color:var(--white);border:none;padding:10px 24px;border-radius:99px;font-weight:600;cursor:pointer;transition:transform .2s}.btn-primary-gold:hover{transform:translateY(-1px);box-shadow:0 4px 12px #b4b07d66}.content-container{width:100%;max-width:1400px;margin:40px auto;padding:0 40px;flex:1;box-sizing:border-box;position:relative;z-index:1}.hero-section{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:stretch;margin-bottom:80px}.hero-form-card{background:var(--white);padding:40px;border-radius:24px;box-shadow:0 20px 60px #0000000d;position:relative;z-index:10}.hero-form-card h2{margin-top:0;margin-bottom:24px;font-size:2.4rem;font-weight:800;color:var(--olive-dark)}.hero-form{display:flex;flex-direction:column;gap:16px}.form-row{display:flex;gap:16px}.form-row.two-col{display:grid;grid-template-columns:1fr 1fr}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:.85rem;font-weight:600;color:var(--text-muted);margin-left:4px}.hero-form input,.hero-form select{padding:14px 20px;border:1px solid var(--border-color);border-radius:12px;font-size:1rem;background:#fcfdfc;width:100%;box-sizing:border-box;transition:border-color .2s}.hero-form input:focus,.hero-form select:focus{outline:none;border-color:var(--olive-dark)}.input-destination{font-size:1.1rem!important;font-weight:500}.btn-hero-submit{background:var(--gold-accent);color:var(--white);border:none;padding:16px;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;margin-top:8px;transition:all .1s ease-out;display:flex;align-items:center;justify-content:center;gap:8px}.btn-hero-submit:hover:not(:disabled){background:#a39f6a;box-shadow:0 8px 24px #b4b07d4d}.btn-hero-submit:disabled{opacity:.7;cursor:not-allowed}.hero-image-container{border-radius:24px;overflow:hidden;height:auto;min-height:250px;flex:1;box-shadow:0 30px 60px #0000001a;position:relative;width:100%}.hero-image-container img{width:100%;height:100%;object-fit:cover}.hero-image-overlay{position:absolute;bottom:24px;left:24px;right:24px;display:flex;flex-wrap:wrap;gap:8px}.hero-image-overlay .tag{background:#ffffffe6;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600;color:var(--olive-dark);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-media-column{display:flex;flex-direction:column;gap:16px;width:100%}.btn-inspire-me{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 24px;background:var(--white);border:1px solid rgba(77,98,72,.08);border-radius:24px;box-shadow:0 20px 60px #0000000d;cursor:pointer;transition:all .1s ease-out;text-align:left;margin-top:8px}.btn-inspire-me:hover{box-shadow:0 24px 48px #4d624814;border-color:var(--sage-primary)}.btn-inspire-me:active{background:#fafbfa}.btn-inspire-me__content{display:flex;align-items:center;gap:16px}.btn-inspire-me__icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center}.btn-inspire-me__icon img{width:100%;height:100%;object-fit:cover;border-radius:50%}.btn-inspire-me__text{display:flex;flex-direction:column;gap:4px}.btn-inspire-me__title{font-size:1.15rem;font-weight:700;color:var(--olive-dark)}.btn-inspire-me__subtitle{font-size:.95rem;color:var(--text-muted)}.btn-inspire-me__arrow{color:var(--gold-accent);font-size:1.5rem;font-weight:700;transition:transform .3s ease}.btn-inspire-me:hover .btn-inspire-me__arrow{transform:translate(6px)}.btn-inspire-me:active{transform:translateY(0)}.inspire-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1200;padding:24px}.inspire-modal{background:var(--white);border-radius:24px;padding:40px 36px 32px;max-width:420px;width:100%;text-align:center;position:relative;box-shadow:0 24px 80px #00000026;animation:fadeIn .2s ease}.inspire-modal__close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:8px;transition:background .15s}.inspire-modal__close:hover{background:#0000000f}.inspire-modal__icon{font-size:2.4rem;margin-bottom:12px;line-height:1}.inspire-modal__title{margin:0 0 12px;font-size:1.3rem;font-weight:700;color:var(--olive-dark)}.inspire-modal__desc{margin:0 0 28px;font-size:.95rem;line-height:1.55;color:var(--text-muted)}.inspire-modal__actions{display:flex;gap:12px;margin-bottom:16px}.inspire-modal__btn{flex:1;padding:14px 20px;border-radius:12px;font-family:var(--font-sans);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.inspire-modal__btn--primary{background:var(--gold-accent);color:var(--white)}.inspire-modal__btn--primary:hover{background:#a39f6a;transform:translateY(-1px);box-shadow:0 4px 12px #b4b07d66}.inspire-modal__btn--secondary{background:transparent;border:1.5px solid var(--border-color);color:var(--text-main)}.inspire-modal__btn--secondary:hover{border-color:var(--olive-dark);color:var(--olive-dark)}.inspire-modal__skip{background:none;border:none;color:var(--text-muted);font-family:var(--font-sans);font-size:.85rem;font-weight:500;cursor:pointer;padding:8px 0;transition:color .15s}.inspire-modal__skip:hover{color:var(--olive-dark);text-decoration:underline}.inspiration-section{margin-top:60px}.inspiration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:24px}.inspiration-card{background:var(--white);border-radius:20px;overflow:hidden;box-shadow:0 4px 20px #0000000a;cursor:pointer;transition:all .3s ease;position:relative;display:flex;flex-direction:column;border:none;padding:0}.inspiration-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #0000001a}.inspiration-card img{width:100%;height:200px;object-fit:cover}.card-overlay{position:absolute;top:12px;right:12px}.trip-duration{background:#0009;color:#fff;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card-info{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}.card-info h4{margin:0;font-size:1.2rem;color:var(--text-main)}.trip-destination{color:var(--text-muted);font-size:.9rem;margin:0}.trip-highlights{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.highlight-tag{font-size:.75rem;color:var(--olive-dark);background:#4d62481a;padding:4px 8px;border-radius:6px}.trip-interests{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:12px;border-top:1px solid var(--border-color)}.interest-pill{font-size:.7rem;color:var(--text-muted);border:1px solid var(--border-color);padding:2px 8px;border-radius:10px}.results-view{max-width:1000px;margin:0 auto;padding-bottom:80px;z-index:10;position:relative}.results-header{margin-bottom:32px}.back-btn{background:none;border:none;color:var(--olive-dark);font-weight:600;cursor:pointer;margin-bottom:12px;display:block}.results-layout-wrapper{background:var(--white);border-radius:24px;padding:40px;min-height:800px;box-shadow:0 20px 80px #0000000d;position:relative;display:flex;flex-direction:column;width:100%;box-sizing:border-box}.integrated-user-prompt{display:flex;justify-content:flex-end;margin-bottom:32px}.user-bubble{background:#f1f3f1;color:var(--text-main);padding:16px 24px;border-radius:24px 24px 4px;max-width:60%;font-size:1.1rem;box-shadow:0 4px 12px #00000005}.results-content{flex:1;width:100%;display:flex;flex-direction:column}.refine-bar{margin-top:40px;border-top:1px solid var(--border-color);padding-top:24px}.refine-text{color:var(--text-muted);font-weight:500;margin-bottom:12px}.refine-input-container{display:flex;gap:12px;background:#fcfdfc;border:1px solid var(--border-color);border-radius:16px;padding:8px 16px}.refine-input-container input{flex:1;border:none;background:transparent;padding:12px;font-size:1rem;outline:none}.refine-send{background:var(--gold-accent);color:var(--white);border:none;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.artifact-card{cursor:default!important;border:none!important;height:auto!important;width:100%!important}.artifact-card.focused{position:relative!important;width:100%!important;height:auto!important;min-height:600px;transform:none!important;box-shadow:none!important;padding:0!important;flex:1;display:flex;flex-direction:column}.artifact-card-inner{flex:1;display:flex;flex-direction:column}.artifact-iframe{width:100%!important;height:100%!important;min-height:800px!important;border:none;flex:1}.chat-widget{position:fixed;bottom:30px;right:40px;width:350px;height:500px;background:var(--white);border-radius:24px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;z-index:1000;overflow:hidden;border:1px solid var(--border-color);transition:height .3s ease}.chat-widget.minimized{height:auto}.chat-fab{display:none;position:fixed;bottom:24px;right:20px;align-items:center;gap:8px;background:var(--olive-dark);color:var(--white);border:none;border-radius:50px;padding:14px 20px 14px 16px;font-family:var(--font-sans);font-size:.95rem;font-weight:600;cursor:pointer;z-index:800;box-shadow:0 8px 24px #4d624859;transition:transform .2s ease,box-shadow .2s ease}.chat-fab:hover,.chat-fab:focus-visible{transform:translateY(-2px);box-shadow:0 12px 32px #4d624873;outline:none}.chat-fab:active{transform:translateY(0)}.chat-fab__icon{font-size:1.1rem;line-height:1}.chat-fab__label{white-space:nowrap}.chat-header{background:var(--olive-dark);color:var(--white);padding:5px 20px;font-weight:700;display:flex;align-items:center;gap:10px;position:relative}.chat-header-actions{position:absolute;right:12px;display:flex;align-items:center;gap:6px}.maximize-button,.minimize-button{background:none;border:none;color:#fff;font-size:1.1rem;cursor:pointer;padding:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s}.maximize-button:hover,.minimize-button:hover{background:#ffffff26}.chat-nav-icon{position:relative}.chat-nav-icon .chat-badge{position:absolute;top:-4px;right:-4px;width:8px;height:8px;background:var(--gold);border-radius:50%;border:2px solid var(--white)}.chat-header:hover{cursor:pointer}.chat-history{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;background:#fafbfa}.chat-msg{padding:12px 16px;border-radius:18px;font-size:.9rem;max-width:85%;line-height:1.4}.chat-msg.ai{align-self:flex-start;background:#edf1ec;color:var(--olive-dark);border-bottom-left-radius:4px}.chat-msg.user{align-self:flex-end;background:var(--sage-primary);color:var(--white);border-bottom-right-radius:4px}.chat-input-container{padding:16px;border-top:1px solid var(--border-color);display:flex;gap:8px;-webkit-overflow-scrolling:auto;z-index:10}.chat-input-container input{flex:1;border:1px solid var(--border-color);border-radius:99px;padding:10px 16px;outline:none}.chat-send{width:38px;height:38px;background:var(--gold-accent);color:var(--white);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.simple-footer{padding:16px 24px;border-top:1px solid rgba(0,0,0,.06);background:transparent;position:relative;z-index:0}.simple-footer__inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem;color:var(--text-muted)}.simple-footer__copyright{white-space:nowrap}.simple-footer__links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center}.simple-footer__link{background:none;border:none;padding:0;font:inherit;color:var(--text-muted);cursor:pointer;transition:color .15s ease}.simple-footer__link:hover,.simple-footer__link:focus-visible{color:var(--olive-dark);text-decoration:underline;outline:none}.simple-footer__socials{display:flex;align-items:center;gap:12px}.simple-footer__social{color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease,transform .15s ease}.simple-footer__social:hover,.simple-footer__social:focus-visible{color:var(--olive-dark);transform:translateY(-1px);outline:none}@media(max-width:600px){.simple-footer__inner{justify-content:center;text-align:center}}.pagination-dots{display:flex;gap:8px}.dot{width:8px;height:8px;border-radius:50%;background:#0000001a}.dot.active{background:var(--olive-dark);width:24px;border-radius:10px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spin-icon{animation:spin 1s linear infinite}@media(max-width:1024px){.hero-section{display:flex;flex-direction:column;gap:32px}.hero-media-column{order:-1}.hero-form-card{order:0;width:100%;box-sizing:border-box}.inspiration-grid{grid-template-columns:repeat(2,1fr)}.chat-widget{display:none}.chat-fab{display:flex}.content-container{padding:0 20px}.results-layout-wrapper{padding:20px}.just-travel-app.has-results .simple-footer{display:none}}.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-light) 0%,#e8ebe6 100%);padding:20px}.login-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:32px}.login-logo .travel-logo{width:48px;height:48px}.login-logo .logo-text{font-size:1.8rem;font-weight:700;color:var(--olive-dark)}.auth-toggle{display:flex;background:var(--bg-light);border-radius:12px;padding:4px;margin-bottom:24px}.toggle-btn{flex:1;padding:12px;border:none;background:transparent;font-weight:600;color:var(--text-muted);cursor:pointer;border-radius:10px;transition:all .2s}.toggle-btn.active{background:var(--white);color:var(--olive-dark);box-shadow:0 2px 8px #00000014}.auth-title{font-size:1.6rem;font-weight:700;color:var(--olive-dark);margin-bottom:24px}.auth-form{display:flex;flex-direction:column;gap:16px}.form-group{text-align:left}.form-group input{width:100%;padding:14px 20px;border:1px solid var(--border-color);border-radius:12px;font-size:1rem;background:#fcfdfc;box-sizing:border-box;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--olive-dark)}.field-error{color:#d32f2f;font-size:.8rem;margin-top:4px;display:block}.auth-submit-btn{background:var(--gold-accent);color:var(--white);border:none;padding:16px;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;margin-top:8px;transition:all .2s}.auth-submit-btn:hover:not(:disabled){background:#a39f6a;transform:translateY(-1px)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-switch{margin-top:24px;color:var(--text-muted)}.forgot-password-link{text-align:right;margin-top:-4px;margin-bottom:8px}.forgot-password-link button{background:none;border:none;color:var(--text-muted);font-size:.85rem;cursor:pointer;padding:0;text-decoration:underline;transition:color .2s}.forgot-password-link button:hover{color:var(--olive-dark)}.auth-switch button{background:none;border:none;color:var(--olive-dark);font-weight:600;cursor:pointer;text-decoration:underline}.success-message{background:#e8f5e9;color:#2e7d32;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.9rem}.error-message{background:#ffebee;color:#c62828;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.9rem}.resend-confirmation{background:none;border:none;color:var(--text-muted);font-size:.85rem;padding:0;transition:color .2s;margin-top:8px}.resend-confirmation:hover{color:var(--olive-dark)}.resend-confirmation-btn{background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:.8;color:var(--text-muted);text-decoration:underline;padding:0 0 0 5px}.auth-modal-overlay{z-index:2000}.auth-modal{background:var(--white, #fff);border-radius:16px;padding:40px 36px 32px;width:100%;max-width:420px;position:relative;box-shadow:0 20px 60px #0000004d;text-align:center;animation:modalSlideIn .25s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-modal-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--text-muted, #888);cursor:pointer;padding:8px;border-radius:8px;transition:background .2s,color .2s;display:flex;align-items:center;justify-content:center}.auth-modal-close:hover{background:var(--bg-light, #f5f5f0);color:var(--text-primary, #333)}.auth-modal-prompt{background:var(--bg-light, #f5f5f0);border-radius:10px;padding:12px 16px;margin-bottom:20px;font-size:.9rem;color:var(--text-secondary, #666);line-height:1.4}.loading-screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-light);gap:16px}.loading-screen p{color:var(--text-muted);font-size:1.1rem}.user-menu{cursor:pointer;transition:opacity .2s;border:none;background:none}.user-menu:hover{opacity:.7}.header-menu-wrapper{position:relative}.header-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--white);border-radius:8px;box-shadow:0 4px 20px #0000001f;min-width:180px;padding:6px 0;z-index:1100}.header-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;border:none;background:none;cursor:pointer;font-size:.88rem;font-family:inherit;font-weight:500;color:var(--text-main);transition:background .15s}.header-dropdown-item:hover{background:var(--sage-light, #f0f4ef)}.header-dropdown-item svg{flex-shrink:0;color:var(--olive-dark)}.user-email{font-size:.85rem;color:var(--text-muted)}.streaming-indicator{font-size:.75rem;opacity:.8;margin-left:8px}.streaming-status{display:flex;align-items:center;gap:8px;padding:16px;color:var(--text-muted);flex-wrap:wrap}.streaming-status__note{font-size:.8em;opacity:.7;font-style:italic;width:100%;padding-left:28px}.chat-results{display:flex;flex-direction:column;gap:16px}.assistant-response{background:#f9faf9;padding:20px;border-radius:16px;line-height:1.6;white-space:pre-wrap}.chat-error-message{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;background:#fef3f2;border:1px solid #fecaca;border-radius:16px;margin:4px 0}.chat-error-icon{font-size:1.25rem;line-height:1;flex-shrink:0;margin-top:2px}.chat-error-body{display:flex;flex-direction:column;gap:10px;flex:1}.chat-error-text{margin:0;color:#991b1b;font-size:.95rem;line-height:1.5}.btn-retry{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:var(--olive-dark, #4d6248);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s ease,transform .1s ease}.btn-retry:hover{background:var(--sage-primary, #98a88c);transform:translateY(-1px)}.btn-retry:active{transform:translateY(0)}.hotel-card{background:var(--white);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #0000000f;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column}.hotel-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001f}.hotel-card-image{position:relative;height:200px;overflow:hidden}.hotel-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.hotel-card:hover .hotel-card-image img{transform:scale(1.05)}.hotel-deal-badge{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,#d4af37,#b4942f);color:#fff;padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.hotel-card-content{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}.hotel-card-header{display:flex;flex-direction:column;gap:4px}.hotel-name{font-size:1.1rem;font-weight:700;color:var(--text-main);margin:0;line-height:1.3}.hotel-stars{color:var(--gold-accent);font-size:.85rem;letter-spacing:2px}.hotel-card-rating{display:flex;align-items:center;gap:8px}.rating-score{color:#fff;padding:4px 8px;border-radius:6px;font-weight:700;font-size:.9rem}.rating-word{color:var(--text-muted);font-size:.9rem}.hotel-distance{font-size:.85rem;color:var(--text-muted)}.hotel-card-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:12px;border-top:1px solid var(--border-color)}.hotel-price{display:flex;flex-direction:column}.price-value{font-size:1.4rem;font-weight:800;color:var(--olive-dark)}.price-label{font-size:.75rem;color:var(--text-muted)}.hotel-view-btn{background:var(--olive-dark);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.hotel-view-btn:hover{background:#3d4e3b;transform:translateY(-1px)}.flight-card{background:var(--white);border-radius:16px;padding:24px;box-shadow:0 4px 20px #0000000f;cursor:pointer;transition:all .3s ease}.flight-card:hover{box-shadow:0 8px 32px #0000001a}.flight-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.airline-info{display:flex;align-items:center;gap:12px}.airline-logo{width:40px;height:40px;object-fit:contain}.airline-logo-placeholder{width:40px;height:40px;background:var(--sage-primary);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:8px;font-weight:700;font-size:.9rem}.airline-name{font-weight:600;color:var(--text-main)}.cabin-class{background:var(--bg-light);padding:6px 12px;border-radius:20px;font-size:.8rem;color:var(--text-muted);font-weight:500}.flight-segments{display:flex;flex-direction:column;gap:20px}.flight-segment{display:flex;flex-direction:column;gap:8px}.segment-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.segment-route{display:flex;align-items:center;gap:16px}.segment-time{display:flex;flex-direction:column;align-items:center;min-width:60px}.segment-time .time{font-size:1.4rem;font-weight:700;color:var(--olive-dark)}.segment-time .airport{font-size:.85rem;color:var(--text-muted);font-weight:500}.segment-duration{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.duration-line{display:flex;align-items:center;width:100%}.duration-line .line{flex:1;height:2px;background:linear-gradient(90deg,var(--sage-primary) 0%,var(--olive-dark) 100%)}.duration-line .plane-icon{margin:0 8px}.duration-text{font-size:.85rem;color:var(--text-main);font-weight:500}.stops-text{font-size:.75rem;color:var(--text-muted)}.flight-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.flight-price{display:flex;flex-direction:column;gap:4px}.flight-price .price-value{font-size:1.6rem;font-weight:800;color:var(--olive-dark)}.flight-price .price-label{font-size:.8rem;color:var(--text-muted)}.deal-badge{background:#e8f5e9;color:#2e7d32;padding:4px 10px;border-radius:12px;font-size:.7rem;font-weight:700;text-transform:uppercase}.flight-select-btn{background:var(--gold-accent);color:#fff;border:none;padding:12px 28px;border-radius:10px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s}.flight-select-btn:hover{background:#a39f6a;transform:translateY(-2px)}.show-more-container{display:flex;justify-content:center;margin-top:20px}.btn-show-more{padding:14px 28px;border:none;border-radius:12px;background:var(--gold-accent);color:#fff;font-weight:700;cursor:pointer;transition:all .2s}.btn-show-more:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4d62484d}.btn-show-more:disabled{opacity:.5;cursor:wait}.flight-route-group{margin-bottom:12px}.route-accordion-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;margin-bottom:12px;background:var(--bg-light);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s ease;font-family:inherit;text-align:left}.route-accordion-header:hover{background:var(--white);border-color:var(--sage-primary);box-shadow:0 2px 8px #0000000f}.route-accordion-header.expanded{background:var(--white);border-color:var(--sage-primary);box-shadow:0 2px 12px #00000014}.route-accordion-info{display:flex;flex-direction:column;gap:2px}.route-accordion-label{font-weight:700;font-size:1rem;color:var(--text-main)}.route-accordion-meta{font-size:.85rem;color:var(--text-muted);font-weight:500}.route-accordion-chevron{font-size:1.2rem;color:var(--text-muted);transition:transform .25s ease;line-height:1}.route-accordion-chevron.expanded{transform:rotate(180deg)}.segment-time .city-name{font-size:.75rem;color:var(--text-muted);font-weight:400;margin-top:1px;max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.modal-close{background:var(--olive-dark);color:#fff;border:none;padding:5px;border-radius:10px;font-weight:700;font-size:.75rem;cursor:pointer;transition:all .2s;width:30px;position:absolute}.filters>select{background:var(--sage-primary);color:#fff;border:none;padding:10px 20px;border-radius:10px;font-weight:500;font-size:.75rem;cursor:pointer;transition:all .2s;margin:5px}.flights-list{display:flex;flex-direction:column;gap:16px}.flight-compare-modal{width:90%;max-width:1000px;max-height:85vh;display:flex;flex-direction:column;background:var(--surface-card);color:var(--text-primary);border-radius:12px;overflow:hidden;box-shadow:0 24px 80px #00000040;animation:slideUp .3s ease}.modal-header{padding:20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.flight-table{width:100%;border-collapse:collapse}.flight-table th{text-align:left;padding:12px;position:sticky;top:0;background:var(--surface-elevated);border-bottom:2px solid var(--border-color);cursor:pointer;-webkit-user-select:none;user-select:none}.flight-table td{padding:12px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.sortable:hover{background:var(--surface-hover)}.airline-cell{display:flex;align-items:center;gap:10px}.mini-logo{width:24px;height:24px;object-fit:contain}.price-cell{font-weight:700;color:var(--primary-color)}.time-cell{display:flex;flex-direction:column;font-size:.9em}.airport{font-size:.8em;color:var(--text-secondary)}.provider-badge{font-size:.75em;padding:2px 6px;border-radius:4px;background:#eee;color:#555;text-transform:capitalize}.provider-duffel{background:#e3f2fd;color:#1565c0}.provider-agoda{background:#e8f5e9;color:#2e7d32}.provider-booking{background:#fff3e0;color:#ef6c00}.view-details-btn{background:var(--sage-primary);color:#fff;border:none;padding:12px 28px;border-radius:10px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s;margin-right:10px}.view-details-btn:hover{background:var(--olive-dark);transform:translateY(-2px)}.chat-widget .card-actions{display:flex;flex-wrap:wrap;gap:6px}.chat-widget .flight-select-btn,.chat-widget .view-details-btn{padding:6px 12px;font-size:.78rem;border-radius:7px;font-weight:600;margin-right:0;flex:1 1 auto;min-width:0;white-space:nowrap}.chat-widget .flight-select-btn:hover,.chat-widget .view-details-btn:hover{transform:none}.chat-widget .flight-card-footer{margin-top:12px;padding-top:12px;gap:8px;flex-wrap:wrap}.detailed-segments{margin-top:16px;padding:16px;background:#fafbfa;border-radius:12px;border:1px solid var(--border-color)}.detail-label{font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.detail-row{display:grid;grid-template-columns:80px 40px 1fr;gap:16px;position:relative;padding-bottom:32px}.detail-row:last-child{padding-bottom:0}.detail-left{text-align:right;display:flex;flex-direction:column;gap:40px}.detail-time-group{display:flex;flex-direction:column}.detail-time{font-weight:700;font-size:1rem;color:var(--text-main)}.detail-airport{font-size:1.1rem;font-weight:400;color:var(--text-muted)}.detail-center{display:flex;flex-direction:column;align-items:center;position:relative}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--border-color);margin-top:6px}.timeline-line{width:2px;background:var(--border-color);flex:1;margin:4px 0}.plane-icon-small{font-size:.8rem;color:var(--olive-dark)}.detail-right{display:flex;flex-direction:column;justify-content:center;gap:4px}.airline{font-weight:600;color:var(--olive-dark)}.flight-num{font-size:.85rem;color:var(--text-muted)}.chat-message{display:flex;gap:12px;margin-bottom:16px}.chat-message.user{flex-direction:row-reverse}.message-avatar{width:36px;height:36px;background:var(--bg-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.message-bubble{max-width:75%;background:var(--white);padding:14px 18px;border-radius:16px;box-shadow:0 2px 8px #0000000a}.chat-message.user .message-bubble{background:var(--olive-dark);color:#fff}.message-content{display:flex;flex-direction:column;gap:4px;line-height:1.5}.message-line{display:block}.message-line .list-item{display:flex;gap:8px}.message-line .list-item:before{content:"•";color:var(--gold-accent)}.message-loading{display:flex;align-items:center;gap:8px;color:var(--text-muted)}.tool-indicator{font-size:.85rem;font-style:italic}.message-timestamp{font-size:.7rem;color:var(--text-muted);margin-top:8px;text-align:right}.chat-message.user .message-timestamp{color:#ffffffb3}.profile-setup{max-width:600px;margin:0 auto;padding:40px;background:var(--white);border-radius:24px;box-shadow:0 8px 40px #0000000f;z-index:10;position:relative}.profile-setup-header{text-align:center;margin-bottom:32px}.profile-setup-header h2{font-size:1.8rem;font-weight:800;color:var(--olive-dark);margin:0 0 8px}.profile-setup-header p{color:var(--text-muted);margin:0}.profile-form{display:flex;flex-direction:column;gap:28px}.form-section{display:flex;flex-direction:column;gap:12px}.form-label{font-weight:600;color:var(--text-main);display:flex;justify-content:space-between;align-items:center}.form-hint{font-weight:400;font-size:.85rem;color:var(--text-muted)}.form-input{padding:14px 18px;border:1px solid var(--border-color);border-radius:12px;font-size:1rem;transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--olive-dark)}.budget-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.budget-option{padding:16px;border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s;text-align:center}.budget-option:hover{border-color:var(--sage-primary)}.budget-option.selected{border-color:var(--olive-dark);background:#4d62480d}.budget-label{display:block;font-weight:600;color:var(--text-main);margin-bottom:4px}.budget-description{font-size:.8rem;color:var(--text-muted)}.interest-tag{padding:10px 16px;border:1px solid var(--border-color);border-radius:24px;background:var(--white);cursor:pointer;transition:all .2s;font-size:.9rem}.interest-tag:hover{border-color:var(--sage-primary);background:#98a88c1a}.interest-tag.selected{border-color:var(--olive-dark);background:var(--olive-dark);color:var(--olive-dark)}.form-error{background:#ffebee;color:#c62828;padding:12px 16px;border-radius:8px;font-size:.9rem}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px}.btn-secondary{padding:14px 28px;border:1px solid var(--border-color);border-radius:12px;background:var(--white);color:var(--text-main);font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg-light)}.btn-primary{padding:14px 28px;border:none;border-radius:12px;background:var(--gold-accent);color:#fff;font-weight:700;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){background:#a39f6a;transform:translateY(-1px)}.btn-primary:disabled{background:var(--text-muted);opacity:.6;cursor:not-allowed}.hotels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.hotel-carousel-container{position:relative;display:flex;align-items:center;gap:8px}.hotel-carousel{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;padding:16px 8px;scrollbar-width:thin;scrollbar-color:var(--sage-primary) transparent;-webkit-overflow-scrolling:touch}.hotel-carousel::-webkit-scrollbar{height:8px}.hotel-carousel::-webkit-scrollbar-track{background:var(--bg-light);border-radius:4px}.hotel-carousel::-webkit-scrollbar-thumb{background:var(--sage-primary);border-radius:4px}.hotel-carousel::-webkit-scrollbar-thumb:hover{background:var(--olive-dark)}.hotel-carousel-item{flex:0 0 320px;min-width:320px}.carousel-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:var(--white);border:1px solid var(--border-color);box-shadow:0 4px 12px #0000001a;cursor:pointer;font-size:24px;color:var(--olive-dark);display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s ease;opacity:.9}.carousel-nav-btn:hover{background:var(--olive-dark);color:#fff;border-color:var(--olive-dark);opacity:1;transform:translateY(-50%) scale(1.05)}.carousel-nav-left{left:-22px}.carousel-nav-right{right:-22px}.compare-hotels-section{display:flex;justify-content:center;margin:20px 0}.btn-compare-hotels{padding:14px 28px;border:none;border-radius:12px;background:var(--gold-accent);color:#fff;font-weight:700;cursor:pointer;transition:all .2s}.btn-compare-hotels:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4d62484d}.hotel-compare-modal{width:95%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;background:var(--surface-card);color:var(--text-primary);border-radius:12px;overflow:hidden;box-shadow:0 24px 80px #00000040;animation:slideUp .3s ease;padding:0}.modal-header{padding:24px;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;font-size:24px}.filters-panel{display:flex;gap:20px;padding:20px 24px;background:var(--surface-elevated);border-bottom:1px solid var(--border-color);flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.filter-group select,.filter-group input{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--surface-card);color:var(--text-primary);font-size:14px}.price-range-inputs{display:flex;align-items:center;gap:8px}.price-range-inputs input{width:100px}.table-container{flex:1;overflow:auto;padding:10px}.hotel-table{width:100%;border-collapse:collapse}.hotel-table th{text-align:left;padding:12px;position:sticky;top:0;background:var(--surface-elevated);border-bottom:2px solid var(--border-color);font-weight:600;font-size:13px;text-transform:uppercase;color:var(--text-secondary)}.hotel-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.hotel-table th.sortable:hover{background:var(--surface-hover)}.hotel-table td{padding:12px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.hotel-cell{display:flex;align-items:center;gap:12px}.mini-photo{width:80px;height:60px;object-fit:cover;border-radius:6px}.hotel-info{display:flex;flex-direction:column;gap:4px}.hotel-name{font-weight:500;font-size:14px}.deal-badge{font-size:11px;color:var(--primary-color);font-weight:600}.rating-cell{display:flex;flex-direction:column;gap:2px}.rating-cell .score{font-weight:600;font-size:16px}.rating-cell .word{font-size:12px;color:var(--text-secondary)}.price-cell{font-weight:600;color:var(--primary-color);font-size:16px}.btn-select-sm{padding:8px 16px;background:var(--gold-accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;transition:all .2s}.btn-select-sm:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.back-btn{background:none;border:none;color:var(--text-muted);font-weight:600;cursor:pointer;padding:8px 0;font-size:.95rem}.back-btn:hover{color:var(--olive-dark);text-decoration:underline}.results-layout{display:flex;flex-direction:column;gap:32px}.user-request-card{background:var(--olive-dark);color:#fff;padding:24px;border-radius:16px;position:relative;overflow:hidden}.user-request-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(45deg,rgba(255,255,255,.1) 0%,transparent 100%);pointer-events:none}.request-label{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;opacity:.8;margin-bottom:8px}.user-request-card p{margin:0;font-size:1.2rem;line-height:1.5;font-weight:500}.agent-response-area{display:flex;flex-direction:column;gap:24px}.responses-list{display:flex;flex-direction:column;gap:16px}.response-card{background:var(--white);padding:24px;border-radius:16px;box-shadow:0 2px 12px #00000008;line-height:1.6}.markdown-text{font-size:.95rem;color:var(--text-main);line-height:1.7}.markdown-text .md-paragraph{margin:0 0 .75em}.markdown-text .md-paragraph:last-child{margin-bottom:0}.markdown-text strong{font-weight:600;color:var(--olive-dark)}.markdown-text em{font-style:italic}.markdown-text ul,.markdown-text ol{margin:.5em 0;padding-left:1.5em}.markdown-text li{margin:.35em 0}.markdown-text li>p{margin:0}.markdown-text a{color:var(--olive-dark);text-decoration:underline;text-decoration-color:var(--sage-primary);text-underline-offset:2px;transition:color .2s}.markdown-text a:hover{color:var(--sage-primary)}.markdown-text code{background:var(--bg-light);padding:.15em .4em;border-radius:4px;font-size:.88em;font-family:SF Mono,Fira Code,monospace}.markdown-text pre{background:var(--bg-light);padding:12px 16px;border-radius:8px;overflow-x:auto;margin:.75em 0}.markdown-text pre code{background:none;padding:0}.markdown-text h1,.markdown-text h2,.markdown-text h3,.markdown-text h4{color:var(--olive-dark);margin:.75em 0 .35em;font-weight:600}.markdown-text h1{font-size:1.25em}.markdown-text h2{font-size:1.15em}.markdown-text h3{font-size:1.05em}.markdown-text h4{font-size:1em}.markdown-text h1:first-child,.markdown-text h2:first-child,.markdown-text h3:first-child,.markdown-text h4:first-child{margin-top:0}.markdown-text blockquote{border-left:3px solid var(--sage-primary);margin:.75em 0;padding:.25em 0 .25em 1em;color:var(--text-muted)}.markdown-text hr{border:none;border-top:1px solid var(--border-color);margin:1em 0}.results-section h3{color:var(--olive-dark);margin:0 0 20px;font-size:1.4rem}.refine-section{position:fixed;bottom:55px;left:50%;transform:translate(-50%);width:90%;max-width:800px;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:16px 24px;border-radius:20px;box-shadow:0 10px 40px #0000001a;border:1px solid var(--border-color);z-index:100}.refine-prompt{margin:0 0 12px;font-size:.9rem;color:var(--text-muted);font-weight:500;text-align:center}.refine-input-container{display:flex;gap:12px}.refine-input-container input{flex:1;border:1px solid var(--border-color);border-radius:12px;padding:12px 16px;font-size:1rem;background:var(--white)}.refine-input-container input:focus{outline:none;border-color:var(--olive-dark)}.refine-send{background:var(--olive-dark);color:#fff;border:none;width:48px;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.refine-send:hover{background:#3d4e3b}.footer-content{text-align:center;color:var(--text-muted);font-size:.9rem;padding:40px 0}.cookie-consent{position:fixed;bottom:16px;left:16px;max-width:380px;width:calc(100% - 32px);background:var(--white, #ffffff);border:1px solid rgba(0,0,0,.08);border-radius:12px;box-shadow:0 8px 24px #0000001f;padding:16px 18px;z-index:900;animation:fadeIn .25s ease}@media(prefers-reduced-motion:reduce){.cookie-consent{animation:none}}.cookie-consent__body{display:flex;flex-direction:column;gap:12px}.cookie-consent__copy{margin:0;font-size:.875rem;line-height:1.45;color:var(--text-primary, #1f2a1c)}.cookie-consent__link{color:var(--olive-dark, #4d6248);text-decoration:underline}.cookie-consent__categories{display:flex;flex-direction:column;gap:8px;padding:8px 0;border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06)}.cookie-consent__category{display:flex;align-items:flex-start;gap:10px;font-size:.8125rem;cursor:pointer}.cookie-consent__category--locked{cursor:default;opacity:.85}.cookie-consent__category input[type=checkbox]{margin-top:3px;accent-color:var(--olive-dark, #4d6248)}.cookie-consent__category strong{display:block;color:var(--text-primary, #1f2a1c)}.cookie-consent__category em{display:block;font-style:normal;color:var(--text-muted);font-size:.75rem;margin-top:2px}.cookie-consent__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.cookie-consent__btn{border:1px solid transparent;border-radius:8px;padding:8px 14px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.cookie-consent__btn--secondary{background:transparent;border-color:#0000001f;color:var(--text-primary, #1f2a1c)}.cookie-consent__btn--secondary:hover,.cookie-consent__btn--secondary:focus-visible{background:#0000000a;border-color:#0003;outline:none}.cookie-consent__btn--primary{background:var(--olive-dark, #4d6248);color:#fff;border-color:var(--olive-dark, #4d6248)}.cookie-consent__btn--primary:hover,.cookie-consent__btn--primary:focus-visible{background:#3d4e3b;border-color:#3d4e3b;outline:none}@media(max-width:480px){.cookie-consent{left:8px;right:8px;bottom:8px;width:auto;max-width:none}.cookie-consent__actions{justify-content:stretch}.cookie-consent__btn{flex:1}}.legal-page{max-width:820px;margin:0 auto;line-height:1.6}.legal-page h3{margin-top:1.6em;margin-bottom:.4em}.legal-page ul{padding-left:1.4em}.legal-page li{margin-bottom:6px}.legal-meta{color:var(--text-muted);font-size:.9rem}.legal-disclaimer{color:var(--text-muted);font-size:.85rem;font-style:italic}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background:var(--white);border-radius:24px;max-width:900px;width:100%;max-height:70vh;margin-top:30px;overflow:hidden;box-shadow:0 24px 80px #00000040;position:relative;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close-btn{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:var(--bg-light);border:none;font-size:28px;line-height:1;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;color:var(--text-main);box-shadow:0 2px 12px #00000026;transition:all .2s}.modal-close-btn:hover{background:var(--olive-dark);color:#fff;transform:scale(1.05)}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center;color:var(--text-muted);gap:16px}.loading-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--olive-dark);border-radius:50%;animation:spin 1s linear infinite}.modal-loading p{color:var(--text-muted);font-size:1rem}.modal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;gap:16px;text-align:center}.modal-error p{color:#c62828;font-size:1rem}.retry-btn{background:var(--olive-dark);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.retry-btn:hover{background:#3d4e3b}.modal-photo-carousel{position:relative;height:350px;background:var(--bg-light);overflow:hidden}.modal-photo-carousel img{width:100%;height:100%;object-fit:cover}.photo-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fffffff2;border:none;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-main);box-shadow:0 2px 12px #00000026;transition:all .2s;z-index:5}.photo-nav-btn:hover{background:var(--white);transform:translateY(-50%) scale(1.1)}.photo-nav-left{left:16px}.photo-nav-right{right:16px}.photo-indicator{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#0009;color:#fff;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:500}.no-photos{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);gap:12px}.no-photos span{font-size:48px;opacity:.5}.modal-content{background-color:var(--bg-light);padding:28px 32px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.modal-header{display:flex;flex-direction:column;gap:8px}.modal-header h2{font-size:1.6rem;font-weight:800;color:var(--text-main);margin:0;line-height:1.3}.accommodation-type{background:var(--bg-light);color:var(--text-muted);padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:500;width:fit-content}.modal-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}.detail-section{display:flex;flex-direction:column;gap:8px}.detail-section h4{font-size:.9rem;font-weight:700;color:var(--olive-dark);margin:0}.address{font-size:.95rem;color:var(--text-main);margin:0;line-height:1.4}.city{font-size:.85rem;color:var(--text-muted);margin:0}.dates-info{display:flex;gap:20px}.date-item{display:flex;flex-direction:column;gap:2px}.date-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.date-value{font-size:.95rem;font-weight:600;color:var(--text-main)}.availability{font-size:.9rem;font-weight:600;margin:4px 0 0}.availability.available{color:#2e7d32}.availability.sold-out{color:#c62828}.amenities-list{display:flex;flex-wrap:wrap;gap:8px}.amenity-tag{background:var(--bg-light);color:var(--text-main);padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:500}.rooms-toggle-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 0;margin-top:12px;border:none;border-top:1px solid var(--border-color);background:none;cursor:pointer;transition:opacity .15s}.rooms-toggle-btn:hover{opacity:.75}.rooms-toggle-btn h4{font-size:15px;font-weight:700;color:var(--text-main);margin:0}.toggle-chevron{font-size:18px;transition:transform .25s ease;color:var(--text-muted)}.rooms-toggle-btn.open .toggle-chevron{transform:rotate(180deg)}.rooms-collapsible{animation:fadeIn .25s ease}.rooms-loading{display:flex;align-items:center;gap:12px;padding:16px 0;color:var(--text-muted);font-size:.9rem}.loading-spinner-small{width:24px;height:24px;border:3px solid var(--border-color);border-top-color:var(--olive-dark);border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.rooms-error{padding:12px 0;color:var(--text-muted);font-size:.9rem}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid var(--border-color);margin-top:auto}.price-display{display:flex;flex-direction:column}.modal-footer .price-value{font-size:1.8rem;font-weight:800;color:var(--olive-dark)}.modal-footer .price-label{font-size:.8rem;color:var(--text-muted)}.book-now-btn{background:linear-gradient(135deg,var(--gold-accent) 0%,#a39f6a 100%);color:#fff;border:none;padding:16px 40px;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #b4b07d59}.book-now-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 30px #b4b07d80}.book-now-btn:disabled{opacity:.5;cursor:not-allowed}.select-hotel-btn{background:linear-gradient(135deg,var(--olive-dark) 0%,var(--olive-dark) 100%);color:#fff;border:none;padding:16px 40px;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #b4b07d59;margin-right:16px}.select-hotel-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 30px #b4b07d80}.select-hotel-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.modal-overlay{padding:0;align-items:flex-end}.modal-container{max-height:70vh;border-radius:16px}.modal-photo-carousel{height:250px;border-radius:16px 16px 0 0}.modal-content{padding:12px 16px}.modal-header{gap:4px;padding-bottom:8px}.modal-header h2{font-size:1.15rem;line-height:1.2}.modal-header .accommodation-type{padding:2px 8px;font-size:.72rem}.modal-details{gap:12px}.modal-details .detail-section h4{margin-bottom:4px}.modal-details{grid-template-columns:1fr}.modal-footer{flex-direction:column;gap:16px;align-items:stretch}.book-now-btn{width:100%;text-align:center}.action-buttons{flex-direction:column}.room-header{flex-direction:row;gap:12px;padding:12px}.room-image{width:96px;height:96px;flex-shrink:0}.room-card>.toggle-details-btn{margin:0 12px 12px;width:calc(100% - 24px)}.room-offer-item{flex-direction:column;align-items:flex-start}.offer-action{align-items:flex-start;flex-direction:row;justify-content:space-between;width:100%}}.card-selector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.preference-card{border:1px solid var(--border-color);border-radius:16px;padding:20px;cursor:pointer;transition:all .2s;background:#fafbfa;display:flex;align-items:center;gap:16px}.preference-card:hover{border-color:var(--olive-dark);background:#f4f6f3}.preference-card.selected{border-color:var(--olive-dark);background:#eef2ed;box-shadow:0 4px 12px #4d62481a}.pref-icon{font-size:2rem}.pref-text{display:flex;flex-direction:column}.pref-label{font-weight:700;color:var(--olive-dark);font-size:1rem}.pref-desc{font-size:.8rem;color:var(--text-muted)}.mini-card-grid{display:flex;flex-wrap:wrap;gap:15px}.mini-card-grid.three-col{display:grid;grid-template-columns:repeat(3,1fr)}.mini-pref-card{border:1px solid var(--border-color);border-radius:12px;padding:12px 16px;cursor:pointer;transition:all .2s;background:#fafbfa;display:flex;align-items:center;gap:10px;flex:1;min-width:140px;justify-content:center}.mini-pref-card:hover{border-color:var(--olive-dark);background:#f4f6f3}.mini-pref-card.selected{background:var(--olive-dark);border-color:var(--olive-dark)}.mini-pref-card.selected .mini-label{color:var(--text-main);font-weight:600}.mini-icon{font-size:1.4rem}.mini-label{font-size:.95rem;color:var(--text-main)}.interest-tag.dislike{background:#fff0f0;color:#c62828;border-color:#ffcdd2}.interest-tag.dislike.selected{background:#c62828;color:red;border-color:#c62828}.divider{margin:40px 0;border:none;border-top:1px solid var(--border-color)}.form-item-wrapper{margin-bottom:40px}.form-label{display:block;margin-bottom:15px;font-weight:600;color:var(--text-main);font-size:1.1rem}.profile-setup{max-width:900px;margin:40px auto;background:var(--white);border-radius:32px;box-shadow:0 24px 80px #00000014;padding:64px;z-index:100!important;position:relative}.profile-setup-header{text-align:center;margin-bottom:40px}.profile-setup-header h2{font-size:2rem;color:var(--olive-dark);margin-bottom:8px}.profile-setup-header p{color:var(--text-muted)}.profile-form{display:flex;flex-direction:column;gap:32px}.profile-section-group h3{margin-top:0;margin-bottom:40px;color:var(--olive-dark);font-size:1.5rem;border-bottom:2px solid var(--border-color);padding-bottom:16px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.form-group.full-width{grid-column:1 / -1}.form-group label{display:block;margin-bottom:16px;font-weight:600;color:var(--text-main);font-size:1rem}.tag-input-container{border:1px solid var(--border-color);border-radius:12px;padding:8px;background:#fcfdfc;display:flex;flex-direction:column;gap:8px}.tag-input-container input{border:none!important;background:transparent!important;padding:8px!important;width:100%}.tags-list{display:flex;flex-wrap:wrap;gap:8px;padding:4px}.tag-pill{background:#eef2ed;color:var(--olive-dark);padding:6px 12px;border-radius:20px;font-size:.85rem;display:flex;align-items:center;gap:6px}.tag-pill button{background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:.8;color:var(--text-muted);padding:0;display:flex;align-items:center}.tag-pill button:hover{color:#d32f2f}.tag-pill.like{background:#e6f4ea;color:#1e8e3e}.tag-pill.dislike{background:#fce8e6;color:#d93025}.sticky-footer{position:sticky;bottom:0;background:var(--white);padding-top:20px;padding-bottom:10px;border-top:1px solid var(--border-color);margin-top:20px;z-index:10}.form-hint{font-weight:400;color:var(--text-muted);font-size:.8rem;margin-left:8px}.interests-grid{display:flex;flex-wrap:wrap;gap:20px;margin-top:5px}.interest-tag{background:#fff;border:1px solid var(--border-color);color:var(--text-main);padding:12px 24px;border-radius:99px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.interest-tag:hover{border-color:var(--sage-primary);background:#fdfefd}.interest-tag.selected{background:var(--olive-dark);color:#fff;border-color:var(--olive-dark);box-shadow:0 4px 12px #4d624833}.interest-tag.dislike{border-color:#fce8e6;color:#d93025}.interest-tag.dislike.selected{background:#d93025;color:#fff}.mt-2{margin-top:24px}.form-success{background:#e6f4ea;color:#1e8e3e;padding:16px 24px;border-radius:12px;font-weight:600;margin-top:20px;text-align:center;border:1px solid #ceead6;animation:fadeIn .3s ease}.room-list-container h3{display:none}.room-list{display:flex;flex-direction:column;gap:12px}.room-card{border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background:var(--white);transition:box-shadow .15s}.room-card:hover{box-shadow:0 2px 12px #00000014}.room-header{display:flex;gap:14px;padding:14px}.room-image{flex-shrink:0;width:120px;height:90px;border-radius:8px;overflow:hidden;background:var(--bg-light)}.room-image img{width:100%;height:100%;object-fit:cover}.room-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.room-info h4{margin:0;font-size:15px;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-specs{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--text-muted)}.room-facilities{margin:2px 0 0;font-size:12px;color:var(--text-muted)}.toggle-details-btn{align-self:flex-start;margin-top:4px;padding:4px 12px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-light);color:var(--olive-dark);cursor:pointer;transition:background .15s}.toggle-details-btn:hover{background:#4d62481f}.toggle-details-btn.active{background:var(--olive-dark);color:var(--white);border-color:var(--olive-dark)}.room-offers-list{border-top:1px solid var(--border-color);animation:fadeIn .2s ease}.room-offer-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;gap:12px}.room-offer-item+.room-offer-item{border-top:1px solid var(--border-color)}.offer-details{flex:1;min-width:0}.offer-title{font-size:13px;font-weight:600;color:var(--text-main);margin-bottom:4px}.offer-benefits{display:flex;flex-wrap:wrap;gap:6px}.benefit-tag{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--bg-light);color:var(--text-muted)}.offer-action{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.price-tag{display:flex;align-items:baseline;gap:4px}.orig-price{font-size:12px;color:var(--text-muted);text-decoration:line-through}.final-price{font-size:16px;font-weight:700;color:var(--olive-dark)}.per-night{font-size:11px;color:var(--text-muted)}.select-room-btn{padding:6px 14px;border-radius:8px;border:none;background:var(--olive-dark);color:var(--white);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.select-room-btn:hover{background:var(--text-main)}.booking-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.booking-modal-container{background:var(--surface-card);border-radius:16px;max-width:800px;width:100%;max-height:80vh;overflow-y:auto;position:relative;padding:40px;margin-top:50px}.booking-step{background-color:var(--bg-light);padding:20px;border-radius:12px}.booking-step h2{margin:0 0 8px;font-size:28px;color:var(--text-primary)}.step-subtitle{color:var(--text-secondary);margin:0 0 32px}.booking-options{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}@media(max-width:768px){.booking-options{grid-template-columns:1fr}}.booking-option-card{background-color:var(--bg-light);border:2px solid var(--border-color);border-radius:12px;padding:24px;cursor:pointer;transition:all .3s;position:relative}.booking-option-card:hover{border-color:var(--primary-color);transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.booking-option-card.featured{background-color:var(--bg-light);border-color:var(--primary-color)}.featured-badge{position:absolute;top:-12px;right:20px;background:var(--olive-dark);color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.option-icon{font-size:48px;margin-bottom:16px}.booking-option-card h3{margin:0 0 8px;font-size:20px}.booking-option-card p{color:var(--text-secondary);margin:0 0 16px}.booking-option-card ul{list-style:none;padding:0;margin:0 0 20px}.booking-option-card li{padding:6px 0;color:var(--text-secondary)}.price-breakdown{display:flex;flex-direction:column;gap:4px;margin-bottom:16px;padding:12px;background:var(--surface-elevated);border-radius:8px}.base-price{font-size:14px;color:var(--text-secondary)}.service-fee{font-size:12px;color:var(--text-tertiary)}.option-btn{width:100%;padding:12px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.quick-btn{background:var(--surface-elevated);color:var(--text-primary)}.quick-btn:hover{background:var(--surface-hover)}.full-service-btn{background:var(--olive-dark);color:#fff}.full-service-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4d62484d}.booking-coming-soon-banner{margin-top:16px;padding:14px 16px;border:1px solid rgba(77,98,72,.2);border-radius:10px;background:#98a88c1f;color:var(--text-primary);font-size:14px;line-height:1.5}.guest-form{display:flex;flex-direction:column;gap:20px}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;font-size:14px;color:var(--text-primary)}.form-group input,.form-group textarea{padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--surface-card);color:var(--text-primary)}.form-group input.error,.form-group textarea.error{border-color:#d32f2f}.error-msg{color:#d32f2f;font-size:12px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.review-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.review-section:last-of-type{border-bottom:none}.review-section h3{margin:0 0 16px;font-size:18px}.review-item p{margin:8px 0;color:var(--text-secondary)}.review-item .dates{color:var(--text-tertiary);font-size:14px}.price-details{background:var(--surface-elevated);border-radius:8px;padding:16px}.price-row{display:flex;justify-content:space-between;padding:8px 0}.price-row.service{color:var(--text-secondary);font-size:14px}.price-row.total{border-top:2px solid var(--border-color);padding-top:12px;margin-top:8px;font-size:18px;color:var(--primary-color)}.booking-step.confirmed{text-align:center}.success-icon{width:80px;height:80px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:48px;margin:0 auto 24px}.confirmation-details{background:var(--surface-elevated);padding:24px;border-radius:12px;margin:24px 0}.confirmation-details p{margin:12px 0}.payment-step{padding:20px 0}.payment-summary{background:var(--surface-elevated);border-radius:12px;padding:20px;margin-bottom:24px}.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}.summary-row.service{color:var(--text-secondary)}.summary-row.total{border-top:2px solid var(--border-color);margin-top:12px;padding-top:16px;font-size:18px;font-weight:600;color:var(--primary-color)}.payment-cancel-btn{width:100%;margin-top:16px}.payment-error-banner{background:#ffebee;color:#c62828;padding:12px 16px;border-radius:8px;margin-top:16px;font-size:14px}.place-carousel-item{flex:0 0 280px;min-width:280px;background:var(--white);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s;border:1px solid var(--border-color)}.place-carousel-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.place-carousel-image{width:100%;height:200px;object-fit:cover;overflow:hidden;position:relative}.place-carousel-image img{width:100%;height:100%;object-fit:cover}.place-carousel-image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--sage-primary, #98a88c),var(--olive-dark, #4d6248));display:flex;align-items:center;justify-content:center;color:var(--white, #ffffff);font-size:28px}.place-carousel-name{font-size:15px;font-weight:600;color:var(--olive-dark);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-carousel-address{font-size:12px;color:var(--text-main);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-carousel-highlights{font-size:12px;color:var(--text-muted);margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.place-carousel-rating{font-size:13px;color:#f5a623;display:flex;align-items:center;gap:4px}.place-carousel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.place-carousel-header h3{margin:0}.place-carousel-content{padding:12px 14px}.place-carousel-content h3{margin:0 0 8px;font-size:18px}.place-carousel-content p{color:var(--text-secondary);margin:0 0 16px}.place-carousel-content .price{font-size:20px;font-weight:600;color:var(--primary-color)}.btn-show-map{color:var(--sage-primary);display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.btn-show-map:hover{background:#ffffff26;border-color:#ffffff59}.map-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0000004d;z-index:1040;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.map-panel-overlay-open{opacity:1;visibility:visible}.places-map-panel{position:fixed;top:var(--header-height, 120px);right:0;bottom:5px;width:420px;max-width:100vw;background-color:#fff;box-shadow:0 5px 20px #00000026;z-index:1060;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.maplibregl-popup-close-button{color:#fff}.places-map-panel-open{transform:translate(0)}.map-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #eee;background-color:#fff;flex-shrink:0}.map-panel-title{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.map-panel-close-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#666;transition:background-color .2s,color .2s}.map-panel-close-btn:hover{background-color:#f0f0f0;color:#333}.map-panel-map-container{flex:1;min-height:0}.map-panel-places-list{max-height:200px;overflow-y:auto;border-top:1px solid #eee;flex-shrink:0}.map-panel-place-item{padding:12px 20px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color .2s;display:flex;align-items:flex-start;gap:12px}.map-panel-place-item:hover{background-color:#f5f5f5}.map-panel-place-item-selected{background-color:#f0f7ff}.map-panel-place-index{width:24px;height:24px;border-radius:50%;background-color:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.map-panel-place-info{flex:1;min-width:0}.map-panel-place-name{margin:0;font-size:14px;font-weight:500;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-panel-place-address{margin:2px 0 0;font-size:12px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-panel-empty-state{flex:1;display:flex;align-items:center;justify-content:center;color:#999;font-size:14px}@media(max-width:768px){.places-map-panel{width:100vw}}.map-panel-loading{position:fixed;top:var(--header-height, 120px);right:0;width:420px;max-width:100vw;height:calc(100% - var(--header-height, 120px));background:#0f0f19f2;display:flex;align-items:center;justify-content:center;color:#fff9;z-index:1060}.map-panel-day-legend{display:flex;flex-wrap:wrap;gap:8px 12px;padding:8px 16px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08)}.map-panel-legend-item{display:flex;align-items:center;gap:5px;font-size:12px;color:#000;white-space:nowrap}.map-panel-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 3px #0000004d}.map-panel-day-group{margin-bottom:4px}.map-panel-day-header{display:flex;align-items:center;gap:8px;padding:8px 16px 6px;border-left:3px solid;font-size:13px;color:#ffffffe6;background:#ffffff08;position:sticky;top:0;z-index:1}.map-panel-day-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.map-panel-day-label{color:#000;font-weight:600}.map-panel-day-count{margin-left:auto;font-size:11px;color:#ffffff73;font-weight:400}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modalFadeIn .25s ease}.modal-container{background:var(--white, #ffffff);border-radius:16px;max-width:800px;width:95%;max-height:70vh;overflow-y:auto;padding:40px;position:relative;box-shadow:0 24px 80px #00000040;animation:modalSlideUp .3s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.place-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modalFadeIn .25s ease}.place-modal-container{background:var(--white, #ffffff);border-radius:16px;max-width:720px;width:95%;max-height:75vh;overflow-y:auto;position:relative;box-shadow:0 24px 80px #00000040;animation:modalSlideUp .3s ease}.place-modal-container::-webkit-scrollbar{width:6px}.place-modal-container::-webkit-scrollbar-track{background:transparent}.place-modal-container::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.place-modal-close-btn{position:absolute;top:16px;right:16px;width:36px;height:36px;border:none;background:#ffffffe6;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-main, #2d342c);transition:all .2s ease;z-index:10;box-shadow:0 2px 8px #00000026}.place-modal-close-btn:hover{background:var(--white, #ffffff);transform:scale(1.05);box-shadow:0 4px 12px #0003}.place-modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 32px;gap:16px;color:var(--text-muted, #6b726a);font-size:15px}.place-modal-spinner{width:40px;height:40px;border:3px solid var(--border-color, rgba(77, 98, 72, .15));border-top-color:var(--olive-dark, #4d6248);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.place-modal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 32px;gap:16px;color:var(--text-muted, #6b726a);font-size:15px;text-align:center}.place-modal-retry-btn{padding:10px 24px;border:1px solid var(--border-color, rgba(77, 98, 72, .15));border-radius:8px;background:var(--white, #ffffff);color:var(--olive-dark, #4d6248);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.place-modal-retry-btn:hover{background:var(--bg-light, #f4f6f3);border-color:var(--olive-dark, #4d6248)}.place-modal-photos{position:relative;width:100%;height:400px;overflow:hidden;border-radius:16px 16px 0 0;background:var(--bg-light, #f4f6f3)}.place-modal-photo{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}.place-modal-photos-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:none;background:#ffffffe6;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-main, #2d342c);transition:all .2s ease;box-shadow:0 2px 8px #00000026;z-index:5}.place-modal-photos-nav:hover{background:var(--white, #ffffff);transform:translateY(-50%) scale(1.08);box-shadow:0 4px 12px #0003}.place-modal-photos-prev{left:16px}.place-modal-photos-next{right:16px}.place-modal-photos-dots{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:5}.place-modal-dot{width:8px;height:8px;border-radius:50%;border:none;background:#ffffff80;cursor:pointer;transition:all .2s ease;padding:0}.place-modal-dot-active{background:var(--white, #ffffff);transform:scale(1.2);box-shadow:0 1px 4px #0003}.place-modal-photo-counter{position:absolute;bottom:16px;right:16px;background:#0009;color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;z-index:5}.place-modal-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--sage-primary, #98a88c) 0%,var(--olive-dark, #4d6248) 100%);color:var(--white, #ffffff);font-size:24px;font-weight:600;text-align:center;padding:32px}.place-modal-content{padding:24px 32px 0}.place-modal-header{margin-bottom:20px}.place-modal-name{font-size:24px;font-weight:700;color:var(--text-main, #2d342c);margin:0 0 10px;line-height:1.3}.place-modal-types{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.place-modal-type-pill{display:inline-flex;align-items:center;padding:4px 12px;background:var(--bg-light, #f4f6f3);border:1px solid var(--border-color, rgba(77, 98, 72, .15));border-radius:20px;font-size:12px;font-weight:500;color:var(--olive-dark, #4d6248);text-transform:capitalize}.place-modal-rating{display:flex;align-items:center;gap:8px}.place-modal-stars{display:flex;gap:2px;color:var(--gold-accent, #b4b07d);font-size:16px}.place-modal-rating-value{font-size:16px;font-weight:600;color:var(--text-main, #2d342c)}.place-modal-rating-count{font-size:13px;color:var(--text-muted, #6b726a)}.place-modal-description{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-color, rgba(77, 98, 72, .15))}.place-modal-description p{font-size:15px;line-height:1.7;color:var(--text-main, #2d342c);margin:0}.place-modal-description-skeleton{display:flex;flex-direction:column;gap:10px}.place-modal-skeleton-line{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--bg-light, #f4f6f3) 25%,rgba(77,98,72,.08) 50%,var(--bg-light, #f4f6f3) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease infinite}.place-modal-skeleton-line-short{width:60%}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.place-modal-description-fallback p{font-size:14px;color:var(--text-muted, #6b726a);font-style:italic}.place-modal-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-color, rgba(77, 98, 72, .15))}.place-modal-details-col{display:flex;flex-direction:column;gap:16px}.place-modal-detail-item{display:flex;gap:12px;align-items:flex-start}.place-modal-detail-icon{flex-shrink:0;width:20px;text-align:center;font-size:16px;line-height:1.4}.place-modal-detail-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6b726a);margin-bottom:2px;padding-right:5px}.place-modal-detail-value{font-size:14px;color:var(--text-main, #2d342c);line-height:1.5}.place-modal-link{color:var(--olive-dark, #4d6248);text-decoration:none;font-weight:500;transition:color .2s ease}.place-modal-link:hover{color:var(--sage-primary, #98a88c);text-decoration:underline}.place-modal-open-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;margin-bottom:6px}.place-modal-open-badge-open{background:#2e7d321a;color:#2e7d32}.place-modal-open-badge-closed{background:#c628281a;color:#c62828}.place-modal-hours-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:3px}.place-modal-hours-day{font-size:13px;color:var(--text-main, #2d342c);line-height:1.5}.place-modal-reviews{margin-bottom:24px}.place-modal-section-title{font-size:18px;font-weight:600;color:var(--text-main, #2d342c);margin:0 0 16px}.place-modal-review-card{padding:16px;border:1px solid var(--border-color, rgba(77, 98, 72, .15));border-radius:12px;margin-bottom:12px;transition:box-shadow .2s ease}.place-modal-review-card:hover{box-shadow:0 2px 8px #0000000f}.place-modal-review-author{display:flex;align-items:center;gap:12px;margin-bottom:10px}.place-modal-review-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.place-modal-review-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:var(--bg-light, #f4f6f3);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:var(--olive-dark, #4d6248)}.place-modal-review-author-info{display:flex;flex-direction:column;flex:1}.place-modal-review-name{font-size:14px;font-weight:600;color:var(--text-main, #2d342c)}.place-modal-review-time{font-size:12px;color:var(--text-muted, #6b726a)}.place-modal-review-rating{display:flex;gap:2px;margin-bottom:8px;color:var(--gold-accent, #b4b07d);font-size:14px}.place-modal-review-text{font-size:14px;line-height:1.6;color:var(--text-main, #2d342c)}.place-modal-read-more{background:none;border:none;color:var(--olive-dark, #4d6248);font-size:13px;font-weight:500;cursor:pointer;padding:4px 0;transition:color .2s ease}.place-modal-read-more:hover{color:var(--sage-primary, #98a88c)}.place-modal-footer{position:sticky;bottom:0;padding:20px 32px;background:var(--white, #ffffff);border-top:1px solid var(--border-color, rgba(77, 98, 72, .15));z-index:5}.place-modal-success-msg{text-align:center;padding:10px 16px;background:#2e7d3214;color:#2e7d32;border-radius:8px;font-size:14px;font-weight:500;margin-bottom:12px;animation:modalFadeIn .2s ease}.place-modal-error-msg{text-align:center;padding:10px 16px;background:#c6282814;color:#c62828;border-radius:8px;font-size:14px;font-weight:500;margin-bottom:12px;animation:modalFadeIn .2s ease}.place-modal-add-btn{width:100%;padding:14px 24px;border:none;border-radius:10px;background:var(--olive-dark, #4d6248);color:var(--white, #ffffff);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-sans, "Inter", sans-serif)}.place-modal-add-btn:hover{background:#3d5238;transform:translateY(-1px);box-shadow:0 4px 16px #4d62484d}.place-modal-add-btn:active{transform:translateY(0)}.place-modal-trip-selector{background:var(--bg-light, #f4f6f3);border:1px solid var(--border-color, rgba(77, 98, 72, .15));border-radius:12px;padding:16px;margin-bottom:12px;animation:modalFadeIn .2s ease}.place-modal-trip-loading,.place-modal-trip-empty{text-align:center;padding:16px;color:var(--text-muted, #6b726a);font-size:14px}.place-modal-selector-row{margin-bottom:12px}.place-modal-selector-label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6b726a);margin-bottom:6px}.place-modal-select{width:100%;padding:10px 12px;border:1px solid var(--border-color, rgba(77, 98, 72, .15));border-radius:8px;background:var(--white, #ffffff);color:var(--text-main, #2d342c);font-size:14px;font-family:var(--font-sans, "Inter", sans-serif);cursor:pointer;transition:border-color .2s ease;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.place-modal-select:focus{outline:none;border-color:var(--olive-dark, #4d6248);box-shadow:0 0 0 3px #4d62481a}.place-modal-selector-actions{display:flex;gap:8px;justify-content:flex-end}.place-modal-cancel-btn{padding:8px 20px;border:1px solid var(--border-color, rgba(77, 98, 72, .15));border-radius:8px;background:var(--white, #ffffff);color:var(--text-muted, #6b726a);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-sans, "Inter", sans-serif)}.place-modal-cancel-btn:hover{border-color:var(--text-muted, #6b726a);color:var(--text-main, #2d342c)}.place-modal-confirm-btn{padding:8px 20px;border:none;border-radius:8px;background:var(--olive-dark, #4d6248);color:var(--white, #ffffff);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-sans, "Inter", sans-serif)}.place-modal-confirm-btn:hover{background:#3d5238}.place-modal-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.place-modal-no-trips{text-align:center;padding:8px 0}.place-modal-no-trips-text{color:var(--text-muted, #6b726a);font-size:14px;margin-bottom:12px}.place-modal-create-trip-btn{width:100%;padding:10px 24px;border:2px dashed var(--olive-dark, #4d6248);border-radius:8px;background:transparent;color:var(--olive-dark, #4d6248);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-sans, "Inter", sans-serif)}.place-modal-create-trip-btn:hover{background:#4d62480f;border-color:#3d5238}.place-modal-create-trip-btn-sm{padding:8px 16px;border:1px dashed var(--olive-dark, #4d6248);border-radius:8px;background:transparent;color:var(--olive-dark, #4d6248);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-sans, "Inter", sans-serif)}.place-modal-create-trip-btn-sm:hover{background:#4d62480f;border-color:#3d5238}.place-modal-create-trip-form{text-align:left}.place-modal-input{width:100%;padding:10px 12px;border:1px solid var(--border-color, rgba(77, 98, 72, .15));border-radius:8px;background:var(--white, #ffffff);color:var(--text-main, #2d342c);font-size:14px;font-family:var(--font-sans, "Inter", sans-serif);transition:border-color .2s ease;margin-bottom:12px;box-sizing:border-box}.place-modal-input:focus{outline:none;border-color:var(--olive-dark, #4d6248);box-shadow:0 0 0 3px #4d62481a}.place-modal-input::placeholder{color:var(--text-muted, #6b726a);opacity:.7}.place-modal-existing-segments{margin-bottom:12px}.place-modal-segments-note{font-size:12px;color:var(--text-muted, #6b726a);background:#4d62480d;padding:8px 12px;border-radius:8px;margin:0}.flight-route-group{margin-bottom:20px;padding:16px;background:#4d624808;border-radius:12px;border:1px solid rgba(77,98,72,.08)}.flight-route-group:last-child{margin-bottom:0}.route-label{font-size:14px;font-weight:600;color:var(--text-primary, #2d3a29);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(77,98,72,.12);display:flex;align-items:center;gap:6px}.route-label:before{content:"🛫";font-size:13px}@media(max-width:640px){.place-modal-container{max-width:100%;width:100%;max-height:100vh;border-radius:0}.place-modal-photos{height:280px;border-radius:0}.place-modal-content{padding:20px 20px 0}.place-modal-name{font-size:20px}.place-modal-details{grid-template-columns:1fr}.place-modal-footer{padding:16px 20px}}.feedback-fab{position:fixed;bottom:18px;left:18px;width:44px;height:44px;border-radius:50%;border:none;background:linear-gradient(135deg,#b4b07d,#4d6248);color:#fff;font-size:18px;cursor:pointer;opacity:.7;box-shadow:0 3px 10px #4d62484d;z-index:99;transition:transform .2s,box-shadow .2s,opacity .2s,bottom .2s}.feedback-fab:hover,.feedback-fab:focus-visible{opacity:1;transform:translateY(-2px);box-shadow:0 6px 18px #4d624866}body:has(.refine-section) .feedback-fab{bottom:110px}@media(max-width:1024px){.feedback-fab{width:40px;height:40px;font-size:16px;bottom:14px;left:14px;opacity:.8;box-shadow:0 3px 10px #4d624859}.feedback-fab:hover,.feedback-fab:active,.feedback-fab:focus-visible{opacity:1}body:has(.refine-section) .feedback-fab{bottom:104px}}.feedback-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.feedback-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;padding:24px;box-shadow:0 20px 50px #0000004d;max-height:calc(100vh - 32px);overflow-y:auto;box-sizing:border-box}@media(max-width:480px){.feedback-modal{padding:18px;border-radius:14px}.feedback-tabs{gap:2px}.feedback-tab{padding:8px 10px;font-size:13px}}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.feedback-header h3{margin:0;font-size:18px}.feedback-close{background:none;border:none;font-size:28px;cursor:pointer;color:#888;line-height:1}.feedback-tabs{display:flex;gap:6px;margin-bottom:16px;border-bottom:1px solid #eee}.feedback-tab{background:none;border:none;padding:8px 14px;cursor:pointer;font-size:14px;color:#666;border-bottom:2px solid transparent}.feedback-tab.active{color:#6366f1;border-bottom-color:#6366f1;font-weight:600}.feedback-rating{margin-bottom:14px}.feedback-rating label{display:block;font-size:13px;color:#555;margin-bottom:6px}.feedback-stars{display:flex;gap:4px}.feedback-star{background:none;border:none;font-size:26px;cursor:pointer;color:#ddd;padding:0;transition:color .15s}.feedback-star.filled,.feedback-star:hover{color:#fbbf24}.feedback-input,.feedback-textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;margin-bottom:12px;box-sizing:border-box}.feedback-textarea{resize:vertical;min-height:100px}.feedback-error{color:#dc2626;font-size:13px;margin-bottom:8px}.feedback-actions{display:flex;justify-content:flex-end;gap:8px}.feedback-cancel,.feedback-submit{padding:9px 18px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-weight:500}.feedback-cancel{background:#f3f4f6;color:#374151}.feedback-submit{background:#6366f1;color:#fff}.feedback-submit:disabled,.feedback-cancel:disabled{opacity:.6;cursor:not-allowed}.feedback-success{text-align:center;padding:30px 10px}.feedback-success-icon{font-size:42px;color:#10b981;margin-bottom:10px}.message-vote{display:flex;gap:4px;margin-top:6px;align-items:center}.vote-btn{background:none;border:1px solid transparent;border-radius:6px;padding:3px 8px;cursor:pointer;font-size:14px;opacity:.45;transition:opacity .15s,background .15s}.vote-btn:hover{opacity:1;background:#0000000a}.vote-btn.active.up{opacity:1;background:#10b98126;border-color:#10b98166}.vote-btn.active.down{opacity:1;background:#ef444426;border-color:#ef444466}.vote-comment-box{display:flex;gap:4px;margin-left:8px;flex:1}.vote-comment-box input{flex:1;padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-size:12px}.vote-comment-box button{padding:4px 10px;border:none;background:#6366f1;color:#fff;border-radius:4px;cursor:pointer;font-size:12px}.vote-comment-skip{background:#f3f4f6!important;color:#555!important}.admin-dashboard{max-width:1200px;margin:24px auto;padding:0 20px}.admin-dashboard h1{margin-bottom:16px}.admin-tabs{display:flex;gap:8px;border-bottom:1px solid #e5e7eb;margin-bottom:20px}.admin-tab{background:none;border:none;padding:10px 18px;cursor:pointer;font-size:15px;color:#6b7280;border-bottom:2px solid transparent}.admin-tab.active{color:#6366f1;border-bottom-color:#6366f1;font-weight:600}.admin-filters{display:flex;gap:8px;margin-bottom:16px;align-items:center}.admin-filters select,.admin-filters button{padding:7px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;font-size:14px}.admin-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 1px 3px #0000000d;border-radius:8px;overflow:hidden}.admin-table th,.admin-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #f3f4f6;font-size:14px;vertical-align:top}.admin-table th{background:#f9fafb;font-weight:600;color:#374151}.admin-table .admin-msg{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-empty{text-align:center;color:#9ca3af;padding:30px!important}.status-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;background:#e5e7eb;color:#374151}.status-pill.status-new{background:#dbeafe;color:#1e40af}.status-pill.status-triaged{background:#fef3c7;color:#92400e}.status-pill.status-in_progress{background:#ede9fe;color:#5b21b6}.status-pill.status-resolved{background:#d1fae5;color:#065f46}.status-pill.status-wont_fix{background:#fee2e2;color:#991b1b}.status-pill.status-duplicate{background:#f3f4f6;color:#4b5563}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.admin-modal{background:#fff;border-radius:10px;padding:24px;max-width:520px;width:100%}.admin-modal h3{margin-top:0}.admin-modal-msg{background:#f9fafb;padding:10px;border-radius:6px;font-size:13px;margin-bottom:14px;white-space:pre-wrap}.admin-modal label{display:block;margin:12px 0 4px;font-size:13px;font-weight:500;color:#374151}.admin-modal select,.admin-modal textarea{width:100%;padding:8px;border:1px solid #d1d5db;border-radius:6px;font-family:inherit;box-sizing:border-box}.admin-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.admin-modal-actions button{padding:8px 16px;border-radius:6px;border:1px solid #d1d5db;background:#fff;cursor:pointer}.admin-modal-actions button.primary{background:#6366f1;color:#fff;border-color:#6366f1}.status-pill.status-on{background:#fee2e2;color:#991b1b}.status-pill.status-off{background:#d1fae5;color:#065f46}.admin-maintenance{max-width:640px;display:flex;flex-direction:column;gap:14px}.admin-maintenance__hint{color:#6b7280;font-size:14px;margin:0;line-height:1.5}.admin-maintenance__status{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-maintenance__meta{color:#6b7280;font-size:12px}.admin-maintenance label{font-weight:600;font-size:14px;color:#374151}.admin-maintenance textarea{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;resize:vertical}.admin-maintenance__actions{display:flex;gap:10px;flex-wrap:wrap}.admin-maintenance__actions button{padding:10px 18px;border-radius:6px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-size:14px}.admin-maintenance__actions button.primary{background:#6366f1;color:#fff;border-color:#6366f1}.admin-maintenance__actions button:disabled{opacity:.6;cursor:not-allowed}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}.stat-card{background:#fff;padding:18px;border-radius:8px;box-shadow:0 1px 3px #0000000f}.stat-label{color:#6b7280;font-size:13px;margin-bottom:4px}.stat-value{font-size:26px;font-weight:700;color:#111827}.admin-bars{background:#fff;padding:14px;border-radius:8px;margin-bottom:24px}.admin-bar-row{display:grid;grid-template-columns:90px 1fr 60px;gap:10px;align-items:center;padding:4px 0}.admin-bar-label{font-size:12px;color:#6b7280;font-family:monospace}.admin-bar-track{height:8px;background:#f3f4f6;border-radius:4px;overflow:hidden}.admin-bar-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:4px;transition:width .3s}.admin-bar-count{font-size:13px;color:#374151;text-align:right;font-variant-numeric:tabular-nums}.turnstile-widget{display:flex;justify-content:center;margin:4px 0;min-height:65px}.captcha-group{margin-top:4px}.feedback-captcha{margin:12px 0 4px;display:flex;justify-content:center}.flight-detail-modal{max-width:760px}.flight-detail-header{padding:24px 28px 12px;border-bottom:1px solid #eee}.flight-detail-airline{display:flex;gap:16px;align-items:center}.flight-detail-airline-logo{width:56px;height:56px;object-fit:contain;border-radius:8px;background:#f5f5f5;padding:6px}.flight-detail-airline-placeholder{width:56px;height:56px;border-radius:8px;background:#4d6248;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;letter-spacing:1px}.flight-detail-header h2{margin:0 0 6px;font-size:20px;font-weight:600}.flight-detail-tags{display:flex;gap:6px;flex-wrap:wrap}.flight-detail-tag{padding:2px 10px;background:#f4f6f3;color:#4d6248;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.flight-detail-tag.deal{background:#fef3c7;color:#92400e}.flight-detail-tag.provider{background:#e0e7ff;color:#3730a3}.flight-detail-segment{padding:16px 0}.flight-detail-segment-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.flight-detail-segment-label{font-size:13px;font-weight:600;color:#4d6248;text-transform:uppercase;letter-spacing:.5px}.flight-detail-segment-date{font-size:13px;color:#666}.flight-detail-segment-route{display:grid;grid-template-columns:1fr 2fr 1fr;gap:12px;align-items:center}.flight-detail-time-block{display:flex;flex-direction:column;gap:2px}.flight-detail-time-block:last-child{text-align:right}.flight-detail-time{font-size:22px;font-weight:600;color:#222}.flight-detail-airport{font-size:14px;font-weight:500;color:#4d6248}.flight-detail-city{font-size:12px;color:#888}.flight-detail-route-line{display:flex;flex-direction:column;align-items:center;gap:4px}.flight-detail-duration{font-size:12px;color:#666;font-weight:500}.flight-detail-line{width:100%;height:1px;background:#d4d4d4;position:relative;display:flex;justify-content:center}.flight-detail-plane{position:absolute;top:-8px;background:#fff;padding:0 6px;color:#4d6248;font-size:14px}.flight-detail-stops{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.5px}.flight-detail-breakdown{background:#f9f9f7;border-radius:8px;padding:16px;margin-top:12px}.flight-detail-breakdown-title{margin:0 0 12px;font-size:13px;font-weight:600;color:#4d6248;text-transform:uppercase;letter-spacing:.5px}.flight-detail-leg{background:#fff;border-radius:6px;padding:12px 14px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;gap:16px}.flight-detail-leg:last-child{margin-bottom:0}.flight-detail-leg-times{display:flex;align-items:center;gap:12px}.flight-detail-leg-times>div{display:flex;flex-direction:column}.flight-detail-leg-times strong{font-size:15px;color:#222}.flight-detail-leg-times span{font-size:12px;color:#666}.flight-detail-leg-arrow{color:#4d6248;font-size:16px}.flight-detail-leg-meta{text-align:right;display:flex;flex-direction:column;gap:2px;font-size:12px;color:#666}.flight-detail-leg-flight{font-weight:500;color:#4d6248}.flight-detail-layover-note{background:#fef3c7;color:#92400e;font-size:12px;padding:6px 12px;border-radius:4px;margin-bottom:8px;text-align:center}.flight-detail-totals{background:#f4f6f3;border-radius:8px;padding:14px 16px}.flight-detail-totals h4{margin:0 0 10px;font-size:13px;font-weight:600;color:#4d6248;text-transform:uppercase;letter-spacing:.5px}.flight-detail-totals-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.flight-detail-totals-grid>div{display:flex;flex-direction:column;gap:2px}.flight-detail-total-label{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.3px}.flight-detail-total-value{font-size:16px;font-weight:600;color:#222}.flight-detail-footer{padding:16px 28px;border-top:1px solid #eee;display:flex;justify-content:space-between;align-items:center;gap:16px}@media(max-width:600px){.flight-detail-segment-route{grid-template-columns:1fr;gap:16px}.flight-detail-time-block:last-child{text-align:left}.flight-detail-leg{flex-direction:column;align-items:flex-start}.flight-detail-leg-meta{text-align:left}.flight-detail-totals-grid{grid-template-columns:1fr}}.flight-detail-policies-loading{font-size:14px;color:var(--text-secondary, #6b7556);font-style:italic;padding:12px 0}.flight-detail-policies h4{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--text-primary, #2d3a29)}.flight-detail-policy-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid rgba(77,98,72,.08);font-size:14px}.flight-detail-policy-row:last-child{border-bottom:none}.flight-detail-policy-label{color:var(--text-secondary, #6b7556);font-weight:500}.flight-detail-policy-value{color:var(--text-primary, #2d3a29);font-weight:600;text-align:right}.flight-detail-policy-features{list-style:none;padding:0;margin:8px 0 12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 16px}.flight-detail-policy-feature{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary, #2d3a29)}.flight-detail-policy-feature.unavailable{color:var(--text-secondary, #6b7556);text-decoration:line-through;opacity:.7}.flight-detail-policy-feature-icon{font-weight:700;color:#4d6248;width:14px;text-align:center}.flight-detail-policy-feature.unavailable .flight-detail-policy-feature-icon{color:#b85a4a}.flight-detail-policy-note{margin:12px 0 0;padding:10px 12px;background:#4d62480a;border-left:3px solid rgba(77,98,72,.3);border-radius:6px;font-size:13px;line-height:1.5;color:var(--text-secondary, #6b7556)}@media(max-width:600px){.flight-detail-policy-row{flex-direction:column;align-items:flex-start;gap:2px}.flight-detail-policy-value{text-align:left}.flight-detail-policy-features{grid-template-columns:1fr}}@media(max-width:768px){.header-top-bar{padding:8px 16px;gap:8px}.header-right{gap:10px}.header-right .credit-display,.header-right .notification-center-wrapper{display:none}.header-dropdown-credits-mobile{display:flex;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border-color)}.header-dropdown-credits-mobile .credit-display{display:flex}.header-dropdown-credits-mobile .credit-bar-container{display:none}.header-dropdown-notifications-mobile{display:flex;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border-color)}.header-nav{padding:12px 16px;gap:12px}.nav-links{gap:18px;flex-wrap:wrap}.nav-links button{font-size:.9rem}.auth-links{gap:8px}.btn-primary-gold{padding:8px 16px;font-size:.9rem}.user-greeting{display:none}.logo-text{font-size:1.15rem}.content-container{margin:20px auto;padding:0 16px}.hero-section{gap:24px;margin-bottom:40px}.hero-form-card{padding:24px 20px;border-radius:18px}.hero-form-card h2{font-size:1.7rem;margin-bottom:16px}.hero-subtitle{font-size:.95rem}.form-row.two-col{grid-template-columns:1fr 1fr;gap:8px}.form-row.two-col .input-group{min-width:0;overflow:hidden}.hero-form input,.hero-form select,.chat-input-container input,.refine-input-container input{font-size:16px}.hero-form input[type=date],.hero-form input[type=date]::-webkit-date-and-time-value{width:100%;min-width:0;box-sizing:border-box;font-size:14px;padding:10px}.input-destination{font-size:16px!important}.btn-hero-submit{padding:14px;font-size:1rem}.hero-image-container{border-radius:18px}.hero-image-overlay{bottom:12px;left:12px;right:12px;gap:4px}.hero-image-overlay .tag{padding:4px 8px;font-size:.6rem}.btn-inspire-me{padding:16px 20px;border-radius:18px;margin-top:4px}.btn-inspire-me__icon{width:44px;height:44px;font-size:1.3rem}.btn-inspire-me__title{font-size:1.05rem}.btn-inspire-me__subtitle{font-size:.85rem}.inspiration-grid{grid-template-columns:1fr;gap:16px}.inspiration-card img{height:180px}.results-view{padding-bottom:140px}.results-header h2{font-size:1.4rem}.results-layout{gap:20px}.results-layout-wrapper{padding:20px 16px;border-radius:16px;min-height:0}.user-request-card{padding:16px;border-radius:12px}.user-request-card p{font-size:1rem}.user-bubble{max-width:90%;font-size:1rem;padding:12px 18px}.agent-response-area{gap:16px}.response-card{padding:16px;border-radius:12px}.refine-section{width:calc(100% - 16px);max-width:none;bottom:12px;padding:12px 14px;border-radius:16px}.refine-prompt{font-size:.82rem;margin-bottom:8px}.refine-input-container input{padding:10px 12px;font-size:.95rem}.refine-send{width:42px;height:42px}.simple-footer__inner{padding:16px}}@media(max-width:480px){.header-top-bar{padding:6px 12px}.header-right{gap:8px}.header-nav{padding:10px 12px;flex-direction:column;align-items:flex-start;gap:8px}.nav-links{width:100%;gap:14px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.auth-links{width:100%;justify-content:flex-end}.content-container{padding:0 12px;margin:16px auto}.hero-form-card{padding:20px 16px}.hero-form-card h2{font-size:1.5rem}.hero-image-container{height:200px}}@media(max-width:768px){input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=url],input[type=number],input[type=date],textarea,select{font-size:16px}.maplibregl-popup-close-button{font-size:22px!important;padding:8px 12px!important;min-width:44px;min-height:44px}.modal-close-btn,.modal-close,.auth-modal-close,.place-modal-close-btn,.credits-modal__close,.map-panel-close-btn,.close-button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.modal-overlay,.place-modal-overlay,.booking-modal-overlay,.credits-modal-overlay,.auth-modal-overlay,.drawer-overlay,.admin-modal-overlay{height:100vh;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box}}@media(max-width:480px){.modal-container,.auth-modal,.place-modal-container,.booking-modal-container,.credits-modal{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));width:100%;max-width:100%;border-radius:12px 12px 0 0}}.modal-overlay,.place-modal-overlay,.booking-modal-overlay,.credits-modal-overlay,.auth-modal-overlay,.drawer-overlay,.admin-modal-overlay{z-index:9999}@media(min-width:601px){.header-dropdown-nav,.header-menu-wrapper--guest{display:none}}@media(max-width:600px){.header-top-bar{padding:8px 12px;flex-wrap:nowrap;gap:8px}.header-left{min-width:0;flex:1 1 auto;overflow:hidden}.logo-text{font-size:1.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logo-container{gap:8px}.travel-logo{width:26px;height:26px;flex-shrink:0}.header-right{gap:8px;flex-shrink:0}.header-nav{display:none}.header-right .currency-switcher,.header-right select{max-width:80px}}@media(max-width:600px){.hotel-card-footer,.flight-card-footer,.flight-card-actions,.hotel-card-actions,.room-card-actions,.modal-action-buttons,.modal-footer-actions{flex-direction:column;align-items:stretch;gap:8px}.hotel-card-footer>*,.flight-card-footer>*,.flight-card-actions>*,.hotel-card-actions>*,.room-card-actions>*,.modal-action-buttons>*,.modal-footer-actions>*{width:100%}.hotel-view-btn,.flight-view-btn,.booking-button,.select-flight-btn,.book-now-btn,.room-select-btn{width:100%;min-height:44px}.hotel-price,.flight-price-info{width:100%;justify-content:space-between}}@media(max-width:600px){body,.just-travel-app,.content-container,.results-layout-wrapper{overflow-x:hidden;max-width:100vw}.hotel-carousel,.flight-carousel,.trip-proposals-carousel,[class*=carousel]{max-width:100%;overflow-x:auto}.hotel-card,.flight-card,.trip-proposal-card{max-width:calc(100vw - 32px)}}.section-icon{display:inline-block;vertical-align:bottom;margin-right:6px;margin-bottom:-2px}.btn-icon{display:inline-block;vertical-align:middle;margin-right:6px}
