:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{width:100%;min-height:100%}@supports (height: 100dvh){html,body,#root{min-height:100dvh}}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:block;min-width:320px;min-height:100vh;overflow-x:clip;overflow-y:auto}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--intro-splash-overlay: rgba(0, 0, 0, .42);--intro-logo-size: clamp(220px, 40vw, 560px);--intro-ease-smooth: cubic-bezier(.22, 1, .36, 1)}.intro-splash{position:fixed;inset:0;z-index:12000;overflow:hidden;background:#000;opacity:1;cursor:pointer;transition:opacity 1s cubic-bezier(.22,1,.36,1)}.intro-splash--fade-out{opacity:0}.intro-splash__background{position:absolute;inset:0;background-image:url(/NewMap.webp);background-position:center;background-size:cover;transform:scale(1.04);animation:intro-bg-settle 4s var(--intro-ease-smooth) forwards}.intro-splash__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:intro-bg-settle 4s var(--intro-ease-smooth) forwards}.intro-splash__overlay{position:absolute;inset:0;background:var(--intro-splash-overlay)}.intro-splash__logo{position:absolute;width:var(--intro-logo-size);height:auto;left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center;filter:drop-shadow(0 18px 32px rgba(0,0,0,.45));transition:opacity .72s ease;will-change:opacity;animation:intro-logo-in .52s var(--intro-ease-smooth) both}@keyframes intro-logo-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes intro-bg-settle{0%{transform:scale(1.08)}to{transform:scale(1.02)}}@media (max-width: 768px){:root{--intro-logo-size: clamp(180px, 56vw, 340px)}}#root{width:100%;max-width:none;margin:0;padding:0;text-align:initial}.app-shell.app-intro-prep{filter:saturate(.8) contrast(.92) brightness(.94)}.app-shell.app-intro-reveal{animation:app-intro-color-reveal .9s cubic-bezier(.22,1,.36,1) forwards}@keyframes app-intro-color-reveal{0%{filter:saturate(.8) contrast(.92) brightness(.94)}to{filter:saturate(1) contrast(1) brightness(1)}}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.modal{position:fixed;width:100%;top:0;left:0;bottom:0;height:100vh;display:flex;justify-content:left;align-items:stretch;z-index:9999;background:#00000040;overflow:hidden}.modal-content{box-sizing:border-box;position:relative;width:clamp(300px,28vw,420px);height:100%;padding:20px 24px;display:flex;flex-direction:column;gap:10px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;color:#0f172a;overflow:hidden}.modal-content .modal-title{margin:0;padding-top:8px;color:#0b1220;font-size:1.25rem;line-height:1.2;font-weight:700}.chalet-select-button{background:#0b1220;color:#fff;border:none;padding:6px 12px;border-radius:8px;font-weight:600;cursor:pointer;transition:background-color .15s ease,transform .08s ease,box-shadow .12s ease;box-shadow:0 4px 12px #0b122014;margin-left:10px}.modal-content label.modal-title{font-size:.95rem;font-weight:600;color:#334155}.modal-content label{display:block;font-size:.95rem;color:#475569;margin-bottom:6px}#startDate,#endDate{width:100%;padding:10px 12px;border-radius:8px;border:1px solid rgba(15,23,42,.12);background:#eaeaea;color:#0b1220;font-size:.95rem;box-shadow:0 1px 2px #1018280a;transition:box-shadow .12s ease,border-color .12s ease,transform .06s ease}#startDate{margin-right:12px}#startDate:focus,#endDate:focus{outline:none;border-color:#3b82f6e6;box-shadow:0 6px 18px #3b82f61f}.modal-content select{width:100%;padding:10px 12px;border-radius:8px;border:1px solid rgba(15,23,42,.12);background:#fff;color:#0b1220;font-size:.95rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#0b1220 50%),linear-gradient(135deg,#0b1220 50%,transparent 50%);background-position:calc(100% - 18px) calc(1em + 2px),calc(100% - 13px) calc(1em + 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.modal-content select:focus{outline:none;border-color:#3b82f6e6;box-shadow:0 6px 18px #3b82f61f}.modal-content .modal-close{align-self:flex-start;background:#0b1220;color:#fff;border:none;padding:10px 16px;border-radius:10px;font-weight:600;cursor:pointer;transition:background-color .15s ease,transform .08s ease,box-shadow .12s ease;box-shadow:0 6px 18px #0b122014}.modal-content .modal-close:hover{background:#0f1724;transform:translateY(-1px)}.modal-close-trip{position:absolute;top:2%;right:2%;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background-color:#000;color:#fff;border-radius:8px;border:none;font-size:70%;cursor:pointer}.modal-close-trip:hover{background:#111827;transform:translateY(-1px)}.modal-content .field-row{display:flex;gap:12px;align-items:center}.modal-content .group{margin-top:6px;margin-bottom:8px}.modal-title{align-self:start;font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:#333}.rangeModal{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.slider-container{display:flex;flex-direction:column;gap:8px}.range-inputs{display:flex;gap:12px}.business-mapbox-popup .mapboxgl-popup-content{padding:0;border-radius:14px;overflow:hidden;box-shadow:0 16px 40px #11182738}.business-mapbox-popup .mapboxgl-popup-close-button{top:10px;right:10px;width:30px;height:30px;padding:0;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(148,163,184,.38);color:#0f172a;background:#fffffff7;font-size:20px;line-height:1;font-weight:500;cursor:pointer;touch-action:manipulation;z-index:2}.business-mapbox-popup .mapboxgl-popup-close-button:hover{background:#fff;border-color:#64748b73}.business-popup{width:min(320px,82vw);padding:16px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(165deg,#fff,#f8fafc);color:#0f172a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.business-popup-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-right:34px}.business-popup-title{margin:0;font-size:1.1rem;line-height:1.2;font-weight:700;color:#0f172a}.business-popup-domain{font-size:.72rem;font-weight:700;letter-spacing:.02em;color:#64748b;text-transform:uppercase;white-space:nowrap}.business-popup-description{margin:0;font-size:.9rem;line-height:1.45;color:#334155}.business-popup-preview{position:relative;display:block;min-height:132px;border-radius:10px;overflow:hidden;border:1px solid rgba(15,23,42,.12);background:repeating-linear-gradient(-45deg,#f1f5f9,#f1f5f9 12px,#e2e8f0cc 12px 24px);text-decoration:none}.business-popup-preview img{width:100%;height:132px;object-fit:cover;display:block}.business-popup-preview.business-popup-preview-fallback{display:flex;align-items:center;justify-content:center}.business-popup-cta{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:8px 14px;border-radius:9px;background:#0f766e;color:#fff;font-size:.88rem;font-weight:700;text-decoration:none;transition:transform .14s ease,filter .14s ease}.business-popup-cta:hover{transform:translateY(-1px);filter:brightness(1.04)}.business-popup-no-site{padding:8px 10px;border-radius:8px;font-size:.82rem;font-weight:600;color:#475569;background:#94a3b826}.modal-subtitle{font-size:1.1rem;align-self:flex-start;margin:8px 0 5px;font-weight:600;color:#555}.modal-loading{font-style:italic;color:#555;margin:10px 0}.modal-error{color:#d9534f;font-weight:700;margin:10px 0}.modal-empty{color:#777;font-style:italic;margin:10px 0}.modal-list{list-style:none;padding:16px;margin:0;overflow-y:auto;flex:1;max-height:100%;background-color:#fafafa}.chalet-list-container{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.establishments-list{display:flex;flex-direction:column;gap:16px}.establishment-group{border:1px solid #d1d5db;border-radius:8px;overflow:hidden;background-color:#fff}.establishment-header{display:flex;align-items:center;gap:12px;padding:16px;background-color:#f3f4f6;cursor:pointer;transition:background-color .2s;-webkit-user-select:none;user-select:none}.establishment-header:hover{background-color:#e5e7eb}.establishment-toggle{font-size:14px;color:#6b7280;min-width:20px}.establishment-name{flex:1;margin:0;font-size:1.1rem;font-weight:600;color:#1f2937}.establishment-count{font-size:.9rem;color:#6b7280;font-weight:400}.modal-list-item{padding:8px 0;border-bottom:1px solid #e0e0e0}.chalet-image{max-width:100%;max-height:200px;width:auto;height:auto;object-fit:contain;display:block;margin:10px 0;border-radius:4px}.login-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.login-modal-container{background-color:#fff;border-radius:8px;width:100%;max-width:450px;position:relative;box-shadow:0 20px 25px #00000026}.login-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:32px;color:#999;cursor:pointer}.login-modal-close:hover{color:#333}.login-modal-content{padding:32px}.login-modal-title{font-size:30px;font-weight:700;text-align:center;margin-bottom:24px}.login-modal-form{display:flex;flex-direction:column;gap:16px}.login-input-group{display:flex;flex-direction:column}.login-label{font-size:14px;font-weight:500;margin-bottom:4px;color:#374151}.guide-profile-fullscreen{position:fixed;inset:0;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);z-index:1000;overflow-y:auto;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.guide-profile-header{background:#fff;padding:20px 40px;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.guide-back-button{background:transparent;border:none;font-size:16px;color:#2196f3;cursor:pointer;padding:10px 20px;border-radius:8px;transition:all .2s ease;font-weight:500}.guide-back-button:hover{background:#e3f2fd;transform:translate(-3px)}.etablissement-close-button{width:26px;height:26px;border:none;background:transparent;color:#111827;cursor:pointer;font-size:22px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0;transition:color .2s ease}.etablissement-close-button:hover{color:#374151}.guide-profile-title{font-size:24px;font-weight:700;color:#1a1a1a;margin:0}.guide-edit-button{background:#2196f3;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #2196f34d}.guide-edit-button:hover{background:#1976d2;transform:translateY(-2px);box-shadow:0 4px 12px #2196f366}.guide-edit-actions{display:flex;gap:12px}.guide-cancel-button{background:#f5f5f5;color:#666;border:1px solid #ddd;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.guide-cancel-button:hover{background:#e0e0e0;border-color:#bdbdbd}.guide-save-button{background:#4caf50;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #4caf504d}.guide-save-button:hover{background:#43a047;transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066}.guide-profile-content{max-width:1400px;margin:0 auto;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:24px;min-height:calc(100vh - 120px)}.etablissement-section-tabs{display:flex;flex-wrap:wrap;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:8px}.etablissement-section-tab{border:none;background:transparent;color:#64748b;border-radius:8px;padding:10px 14px;font-size:.92rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s ease}.etablissement-section-tab:hover{background:#f1f5f9;color:#334155}.etablissement-section-tab.active{background:#ecfdf5;color:#047857;box-shadow:inset 0 0 0 1px #a7f3d0}.etablissement-chalet-filters{display:flex;flex-wrap:wrap;gap:8px}.etablissement-chalet-filter{border:1px solid #cbd5e1;background:#f8fafc;color:#475569;border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.etablissement-chalet-filter.active{background:#ecfdf5;border-color:#6ee7b7;color:#047857}.etablissement-chalet-rail{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x proximity}.etablissement-chalet-card{flex:0 0 280px;max-width:280px;min-height:260px;padding:12px;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;position:relative;scroll-snap-align:start}.etablissement-chalet-image{width:100%;height:110px;object-fit:cover;border-radius:6px;margin-bottom:10px}.etablissement-chalet-category-chip{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:700;background:#e2e8f0;color:#334155;white-space:nowrap}.guide-section{background:#fff;border-radius:8px;box-shadow:none;margin-bottom:18px;overflow:hidden}.guide-section-title{font-size:20px;font-weight:700;margin:0;padding:16px 20px;background:transparent;color:#000}.guide-section-content{padding:16px}.guide-profile-left .guide-section{border:none;background:transparent;padding:0}.guide-profile-left .guide-section .guide-section-title{padding-left:0}.guide-profile-left .guide-section .guide-section-content{padding:12px 0 18px}.guide-profile-right{display:flex;flex-direction:column;gap:12px}.guide-calendar-container{flex:1 1 auto;min-height:0}.guide-calendar-full{height:100%}.guide-back-button,.guide-edit-button,.guide-cancel-button,.guide-connect-button,.guide-add-button{background:transparent;color:#000;border:1px solid rgba(0,0,0,.85)}.guide-save-button{background:#000;color:#fff;border:1px solid #000}.rbc-calendar{background:#fff;color:#000}.rbc-toolbar .rbc-toolbar-label{text-align:left;font-weight:700}.rbc-toolbar .rbc-btn-group button,.rbc-toolbar button{background:transparent;color:#000;border:1px solid rgba(0,0,0,.85)}.rbc-time-view,.rbc-month-view{height:100%!important}.rbc-event{box-shadow:0 1px 3px #0000001f!important}.rbc-time-content{scrollbar-width:thin;scrollbar-color:#cbd5e1 #ffffff}.rbc-time-content::-webkit-scrollbar{width:6px}.rbc-time-content::-webkit-scrollbar-track{background:#fff}.rbc-time-content::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:4px}@media (max-width: 768px){.etablissement-section-tabs{display:grid;grid-template-columns:1fr 1fr}.etablissement-section-tab{justify-content:center;padding:10px}.etablissement-chalet-card{flex-basis:240px;max-width:240px;min-height:240px}.etablissement-chalet-image{height:95px}}.guide-form-group{margin-bottom:24px}.guide-form-group:last-child{margin-bottom:0}.guide-form-group label{display:block;font-size:14px;font-weight:600;color:#555;margin-bottom:8px}.guide-input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;transition:all .2s ease;font-family:inherit;box-sizing:border-box}.guide-input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.guide-textarea{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;transition:all .2s ease;font-family:inherit;resize:vertical;box-sizing:border-box;line-height:1.6}.guide-textarea:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.guide-text{font-size:15px;color:#333;margin:0;line-height:1.6}.guide-text-muted{font-size:15px;color:#999;font-style:italic;margin:0}.guide-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.guide-fish-types{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.guide-fish-tag{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1565c0;padding:10px 16px;border-radius:20px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;transition:all .2s ease}.guide-fish-tag:hover{transform:translateY(-2px);box-shadow:0 2px 8px #2196f333}.guide-fish-remove{background:#0000001a;border:none;color:#1565c0;width:20px;height:20px;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .2s ease;padding:0}.guide-fish-remove:hover{background:#0003;transform:scale(1.1)}.guide-fish-add{display:flex;gap:12px}.guide-fish-add .guide-input{flex:1}.guide-add-button{background:#2196f3;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.guide-add-button:hover{background:#1976d2;transform:translateY(-2px)}.guide-calendar-section{height:fit-content;position:sticky;top:100px}.guide-calendar-container{min-height:400px}.guide-calendar-placeholder{background:linear-gradient(135deg,#f5f5f5,#e8e8e8);border:2px dashed #bdbdbd;border-radius:12px;padding:60px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.calendar-icon{font-size:64px;opacity:.6}.guide-calendar-placeholder h3{font-size:20px;font-weight:700;color:#333;margin:0}.guide-calendar-placeholder p{font-size:15px;color:#666;margin:0;line-height:1.6;max-width:400px}.guide-connect-button{background:#fff;color:#2196f3;border:2px solid #2196f3;padding:12px 28px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:8px}.guide-connect-button:hover{background:#2196f3;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #2196f34d}.guide-stats{display:flex;gap:12px;align-items:center;justify-content:flex-start;flex-wrap:wrap}.guide-stat-item{text-align:left;padding:8px 10px;background:transparent;border-radius:8px;border:none;min-width:0;display:flex;flex-direction:column;gap:2px}.guide-stat-value{font-size:16px;font-weight:700;color:#000;margin-bottom:2px}.guide-stat-label{font-size:12px;color:#666;font-weight:500}@media (max-width: 1200px){.guide-profile-content{grid-template-columns:1fr;padding:30px 20px}.guide-calendar-section{position:static}}@media (max-width: 768px){.guide-profile-header{padding:16px 20px;flex-wrap:wrap;gap:12px}.guide-profile-title{font-size:20px;width:100%;order:-1;text-align:center;margin-bottom:8px}.guide-back-button{font-size:14px;padding:8px 16px}.guide-edit-button,.guide-save-button,.guide-cancel-button{font-size:14px;padding:10px 18px}.guide-section-content{padding:20px}.guide-form-row,.guide-stats{grid-template-columns:1fr}}.guide-profile-fullscreen{scrollbar-width:thin;scrollbar-color:#bdbdbd #f5f5f5}.guide-profile-fullscreen::-webkit-scrollbar{width:10px}.guide-profile-fullscreen::-webkit-scrollbar-track{background:#f5f5f5}.guide-profile-fullscreen::-webkit-scrollbar-thumb{background:#bdbdbd;border-radius:10px}.guide-profile-fullscreen::-webkit-scrollbar-thumb:hover{background:#9e9e9e}.login-input{width:100%;padding:10px 16px;color:#374151;border:1px solid #d1d5db;background-color:#e4e4e4;border-radius:8px;font-size:16px;box-sizing:border-box}.login-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.login-error,.login-success{margin-top:12px;padding:10px 12px;border-radius:8px;font-size:14px;line-height:1.4}.login-error{color:#991b1b;background-color:#fee2e2;border:1px solid #fecaca}.login-success{color:#065f46;background-color:#d1fae5;border:1px solid #a7f3d0}.login-submit-btn{width:100%;background-color:#2563eb;color:#fff;padding:12px;border-radius:8px;font-weight:500;border:none;cursor:pointer;font-size:16px;margin-top:8px}.login-submit-btn:hover{background-color:#1d4ed8}.login-divider{position:relative;text-align:center;margin:24px 0}.login-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background-color:#d1d5db}.login-divider-text{position:relative;background-color:#fff;padding:0 12px;color:#6b7280;font-size:14px}.login-google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border:1px solid #d1d5db;border-radius:8px;background-color:#fff;color:#333;cursor:pointer;font-size:16px;font-weight:500}.login-google-btn:hover{background-color:#f9fafb}.login-toggle{margin-top:24px;text-align:center;font-size:14px;color:#4b5563}.login-toggle-btn{background:none;border:none;color:#2563eb;font-weight:500;cursor:pointer;font-size:14px}.login-toggle-btn:hover{color:#1d4ed8}.chalet-name{font-weight:700;color:#333}.chalet-description{color:#555;margin-left:5px}.read-the-docs{color:#888}.guide-header-actions{display:flex;align-items:center;gap:12px}.guide-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#e6f7ff,#dff3ee);color:#073b3a;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 6px 18px #0c283714;border:1px solid rgba(7,59,58,.06);font-size:18px}.guide-card{border-radius:12px;transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 6px 28px #0c28370a;border:1px solid rgba(12,40,55,.04)}.guide-profile-header{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;background:linear-gradient(180deg,#fff9,#ffffffd9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.guide-edit-button,.guide-save-button,.guide-connect-button{border-radius:10px;padding:10px 14px;font-weight:600}.guide-edit-button{background:transparent;border:1px solid rgba(33,150,243,.12);color:#0f172a}.guide-save-button{background:linear-gradient(90deg,#16a34a,#059669);color:#fff;border:none}.guide-connect-button{margin-top:14px;background:#fff;border:1px solid #2563eb;color:#2563eb}.guide-back-button{background:none;border:none;color:#0f172a;font-weight:600}@media (max-width: 768px){.guide-avatar{width:48px;height:48px}.guide-profile-content{padding:20px}.guide-section-title{padding:16px 20px}}.logo:hover,.logo.react:hover{filter:none;animation:none}.guide-profile-fullscreen{background:#fff;color:#000;z-index:1000;overflow-y:auto;animation:none}.guide-profile-header{background:#fff;padding:16px 24px;box-shadow:none;border-bottom:1px solid rgba(0,0,0,.08)}.guide-profile-title{color:#000;font-size:20px;letter-spacing:-.2px}.guide-back-button,.guide-edit-button,.guide-cancel-button,.guide-connect-button,.guide-add-button{background:transparent;color:#000;border:1px solid rgba(0,0,0,.9);padding:8px 12px;border-radius:8px;box-shadow:none}.guide-save-button{background:#000;color:#fff;border:1px solid #000;padding:8px 12px;border-radius:8px}.guide-edit-actions{gap:10px}.guide-section-title{background:#fff;color:#000;padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.06);font-weight:700}.guide-section{background:#fff;border-radius:10px;box-shadow:none;border:1px solid rgba(0,0,0,.04)}.guide-input,.guide-textarea,.login-input{background:#fff;color:#000;border:1px solid rgba(0,0,0,.12);padding:10px 12px;border-radius:8px}.guide-input:focus,.guide-textarea:focus,.login-input:focus{outline:2px solid #000;outline-offset:1px;border-color:#000;box-shadow:none}.guide-fish-tag{background:#f5f5f5;color:#000;padding:8px 12px;border-radius:14px;font-weight:600}.guide-fish-remove{color:#000;background:#0000000f}.guide-avatar{background:#efefef;color:#000;border:1px solid rgba(0,0,0,.06)}.rbc-calendar{background:#fff;color:#000;border:1px solid rgba(0,0,0,.08);font-family:inherit}.rbc-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(0,0,0,.06);background:#fff}.rbc-toolbar .rbc-btn-group button,.rbc-toolbar button{background:transparent;color:#000;border:1px solid rgba(0,0,0,.9);padding:6px 10px;border-radius:6px;margin-right:6px}.rbc-toolbar .rbc-btn-group button[disabled]{opacity:.45}.rbc-header{padding:8px 10px;color:#000;font-weight:600;border-bottom:1px solid rgba(0,0,0,.04)}.rbc-time-view,.rbc-day-slot{background:#fff}.rbc-event{padding:4px 6px!important;border-radius:4px!important;font-size:13px}.rbc-event-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rbc-day-slot .rbc-event,.rbc-time-slot .rbc-event{position:absolute}.rbc-event-label{font-size:11px}.rbc-selected{outline:2px solid rgba(0,0,0,.12)}.guide-profile-fullscreen{text-align:left}.rbc-calendar{width:100%;box-sizing:border-box;font-size:14px}.rbc-toolbar{gap:8px;padding:8px 12px}.rbc-toolbar .rbc-toolbar-label{flex:1 1 auto;text-align:left;font-weight:700;color:#000}.rbc-toolbar .rbc-btn-group{display:flex;gap:6px}.rbc-toolbar button{padding:6px 8px;font-size:13px}.rbc-header{text-align:left;padding:8px 10px}.rbc-time-view .rbc-time-gutter{padding:6px 8px;color:#444;font-size:12px;border-right:1px solid rgba(0,0,0,.06)}.rbc-time-view .rbc-day-slot .rbc-row-content,.rbc-day-slot .rbc-time-slot{padding:6px 8px}.rbc-month-view .rbc-date-cell,.rbc-month-view .rbc-header{padding:8px 10px;text-align:left}.rbc-event,.rbc-event *{text-align:left!important}.rbc-event{padding:4px 6px!important;border-radius:4px!important;font-size:13px!important}.rbc-event .rbc-event-content,.rbc-event .rbc-event-label{display:block;text-align:left!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rbc-day-slot .rbc-row-resource,.rbc-time-view .rbc-time-slot{min-height:36px}@media (max-width: 560px){.rbc-toolbar{flex-direction:column;gap:6px}.rbc-toolbar .rbc-toolbar-label{text-align:center}}.guide-calendar-placeholder{background:#fff;border:1px dashed rgba(0,0,0,.06);padding:40px 24px}.login-submit-btn,.login-google-btn{background:#000;color:#fff;border:1px solid #000}.login-toggle-btn{color:#000}*{box-shadow:none!important}.card,.modal-content,.guide-section-content{padding:16px}body,.guide-text,.chalet-name,.chalet-description{color:#000}.chalet-detail-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:10000;padding:20px;overflow-y:auto}.chalet-detail-modal{position:relative;background:#fff;border-radius:16px;max-width:1200px;width:100%;max-height:90vh;overflow-y:auto;padding:32px;box-shadow:0 20px 60px #0003}.chalet-detail-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;border:none;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;color:#0f172a;transition:background-color .2s;z-index:10;box-shadow:0 2px 8px #0000001a!important}.chalet-detail-close:hover{background:#f1f5f9}.chalet-detail-loading{text-align:center;padding:60px 20px;color:#64748b;font-size:18px}.chalet-detail-header{margin-bottom:24px}.chalet-detail-title{font-size:2rem;font-weight:700;color:#0f172a;margin:0;text-align:left}.chalet-detail-gallery{display:flex;align-items:stretch;gap:12px;margin-bottom:32px;border-radius:12px;overflow:hidden}.chalet-detail-gallery-main{flex:0 0 65%;overflow:hidden}.chalet-detail-main-image{width:100%;height:450px;object-fit:cover;border-radius:12px;cursor:pointer;transition:transform .3s}.chalet-detail-main-image:hover{transform:scale(1.02)}.chalet-detail-gallery-grid{flex:0 0 calc(35% - 12px);display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(100px,1fr);min-height:450px;gap:12px}.chalet-detail-grid-image{width:100%;height:100%;object-fit:cover;border-radius:12px;cursor:pointer;transition:transform .3s}.chalet-detail-grid-image:hover{transform:scale(1.05)}.chalet-detail-section{margin-bottom:32px}.chalet-detail-section-title{font-size:1.5rem;font-weight:700;color:#0f172a;margin-bottom:16px;text-align:left}.chalet-detail-description{display:flex;flex-direction:column;gap:12px}.chalet-detail-text{font-size:1rem;line-height:1.6;color:#475569;margin:0;text-align:left}.chalet-detail-price{font-size:1.25rem;color:#0f172a;margin:8px 0 0;text-align:left}.chalet-detail-divider{height:1px;background:#e2e8f0;margin:32px 0}.chalet-detail-amenities{display:flex;flex-wrap:wrap;gap:24px}.chalet-detail-amenity-item{display:flex;align-items:center;gap:12px;min-width:150px}.chalet-detail-amenity-icon{font-size:24px}.chalet-detail-amenity-label{font-size:1rem;color:#334155;font-weight:500}.chalet-detail-future-sections{margin-top:32px}.reservation-container{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:24px;margin-top:16px}.reservation-calendar-wrapper{margin-bottom:24px}.reservation-selected-dates{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:16px;background:#fff;border:2px solid #e2e8f0;border-radius:12px}.selected-date-box{flex:1;display:flex;flex-direction:column;gap:4px}.selected-date-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.selected-date-value{font-size:1rem;font-weight:600;color:#1e293b;min-height:24px}.selected-date-divider{font-size:1.25rem;color:#cbd5e1;padding:0 8px}.reservation-dates{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.date-input-group{display:flex;flex-direction:column;gap:8px}.date-input-group label{font-size:.875rem;font-weight:600;color:#334155}.date-input{padding:12px;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .2s}.date-input:hover{border-color:#94a3b8}.date-input:focus{outline:none;border-color:#059669;box-shadow:0 0 0 3px #0596691a}.availability-status{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-weight:500;text-align:center}.availability-status.checking{background:#f1f5f9;color:#64748b}.availability-status.available{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.availability-status.unavailable{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.price-breakdown{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px;margin-bottom:20px}.price-row{display:flex;justify-content:space-between;padding:8px 0;font-size:1rem;color:#475569}.price-divider{height:1px;background:#e2e8f0;margin:12px 0}.price-total{font-weight:700;font-size:1.125rem;color:#0f172a;padding-top:12px}.reservation-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.875rem;font-weight:600;color:#334155}.form-input,.form-textarea{padding:12px;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .2s}.form-input:hover,.form-textarea:hover{border-color:#94a3b8}.form-input:focus,.form-textarea:focus{outline:none;border-color:#059669;box-shadow:0 0 0 3px #0596691a}.form-textarea{resize:vertical;min-height:80px}.reserve-button{background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;border-radius:8px;padding:14px 24px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #05966933}.reserve-button:hover:not(:disabled){background:linear-gradient(135deg,#047857,#065f46);box-shadow:0 4px 12px #0596694d;transform:translateY(-1px)}.reserve-button:active:not(:disabled){transform:translateY(0)}.reserve-button:disabled{background:#cbd5e1;cursor:not-allowed;box-shadow:none}.reservation-note{font-size:.875rem;color:#64748b;text-align:center;margin:8px 0 0;line-height:1.5}.reservation-success-message{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #059669;border-radius:12px;padding:32px;text-align:center;margin-top:16px}.reservation-success-message h3{color:#065f46;font-size:1.5rem;margin:0}.reservation-success-message p{color:#047857;margin:8px 0}.booking-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;font-size:.9rem;margin-bottom:12px}@media (max-width: 640px){.reservation-dates{grid-template-columns:1fr}.reservation-container{padding:16px}.reservation-selected-dates{flex-direction:column;gap:12px}.selected-date-divider{transform:rotate(90deg)}}@media (max-width: 968px){.chalet-detail-gallery{flex-direction:column}.chalet-detail-gallery-main,.chalet-detail-gallery-grid{flex:1 1 100%}.chalet-detail-main-image{height:300px}.chalet-detail-gallery-grid{height:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:auto}.chalet-detail-grid-image{height:150px}}@media (max-width: 640px){.chalet-detail-modal{padding:20px;border-radius:12px}.chalet-detail-title{font-size:1.5rem}.chalet-detail-gallery-grid{grid-template-columns:1fr}.chalet-detail-grid-image{height:200px}.chalet-detail-amenities{gap:16px}.chalet-detail-amenity-item{min-width:100%}}@media (max-width: 768px){.modal{width:100%;height:100dvh;min-height:100vh;overflow-y:auto}.modal-content{overflow-y:auto}}@media (max-width: 768px){.guide-profile-header{padding:14px 16px;flex-wrap:wrap;gap:10px}.guide-profile-title{font-size:18px}.guide-edit-actions{flex-wrap:wrap;gap:8px}.guide-edit-button,.guide-cancel-button,.guide-save-button{padding:10px 14px;font-size:14px}.guide-back-button{padding:8px 12px;font-size:14px}.guide-profile-content{grid-template-columns:1fr;padding:16px}.guide-form-row{grid-template-columns:1fr}}@media (max-width: 480px){.login-modal-content{padding:20px}.login-modal-title{font-size:22px;margin-bottom:16px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes mapPickerPulse{0%,to{opacity:.55;border-color:#2d5f4c8c;background-color:#b4c8be2e}50%{opacity:1;border-color:#2d5f4ce6;background-color:#b4c8be52}}.map-picker-pulse{animation:mapPickerPulse 1.6s ease-in-out infinite}.mapboxgl-canvas{width:100%!important;height:100%!important}
