@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&display=swap");:root{--color-primary:#9c7a40;--color-primary-hover:#7a5f2f;--color-primary-light:#c9b896;--color-secondary:#1d1d1f;--color-accent:#3e7c7c;--color-bg:#fafaf8;--color-bg-card:#fff;--color-bg-elevated:#f5f3f0;--color-text:#1a1a1a;--color-text-muted:#666;--color-text-inverse:#fff;--color-success:#2d7d5c;--color-warning:#d17a22;--color-error:#b83232;--font-display:"Playfair Display",ui-serif,Georgia,serif;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-mono:"SF Mono",Monaco,monospace;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px rgba(0,0,0,.07);--shadow-lg:0 10px 15px rgba(0,0,0,.1);--shadow-xl:0 20px 25px rgba(0,0,0,.12);--line-height-tight:1.1;--line-height-normal:1.5;--line-height-relaxed:1.75;--transition-fast:120ms ease;--transition-base:200ms ease;--transition-slow:300ms ease}body,html{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{box-sizing:border-box}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:focus,a:hover{color:var(--color-primary-hover)}[type=button],[type=reset],[type=submit],button{font-family:inherit;font-size:inherit;border:none;cursor:pointer;transition:all var(--transition-fast)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;line-height:var(--line-height-tight);margin:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}p{margin:0}input,select,textarea{font-family:inherit}.guest-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid rgba(0,0,0,.05);background:var(--color-bg-card);box-shadow:var(--shadow-sm)}.guest-header-brand{display:flex;align-items:center;gap:var(--spacing-md)}.guest-header-logo{max-width:150px;height:auto;display:block}.guest-header-name{font-size:1.25rem;color:var(--color-primary);margin:0}.guest-header-controls{display:flex;gap:var(--spacing-sm)}.guest-header-lang,.guest-header-menu{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--color-primary-light);color:var(--color-primary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:.875rem;font-weight:500}.guest-header-lang:hover,.guest-header-menu:hover{background:var(--color-primary-light);color:var(--color-text-inverse)}.action-card{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:flex-start;padding:var(--spacing-lg);background:var(--color-bg-card);border:1.5px solid var(--color-primary-light);border-radius:var(--radius-lg);text-align:left;transition:all var(--transition-base);position:relative;overflow:hidden}.action-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--color-primary-light);opacity:0;transition:opacity var(--transition-base);pointer-events:none;z-index:-1}.action-card:hover{border-color:var(--color-primary);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.action-card:hover:before{opacity:.03}.action-card:active{transform:translateY(-2px)}.action-card-icon{font-size:2rem;line-height:1;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:color-mix(in srgb,var(--color-primary) 8%,transparent);border-radius:var(--radius-md)}.action-card-content{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.action-card-label{font-weight:600;color:var(--color-text);font-size:1rem}.action-card-subtitle{font-size:.875rem;color:var(--color-text-muted)}.action-card-arrow{position:absolute;right:var(--spacing-lg);top:50%;transform:translateY(-50%);color:var(--color-primary);font-weight:600;opacity:0;transition:opacity var(--transition-base)}.action-card:hover .action-card-arrow{opacity:1}.guest-footer{margin-top:auto;background:var(--color-bg-elevated);border-top:1px solid rgba(0,0,0,.05);padding:var(--spacing-2xl) var(--spacing-lg)}.guest-footer-content{max-width:600px;margin:0 auto}.guest-footer-section{margin-bottom:var(--spacing-xl)}.guest-footer-title{font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.guest-footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.guest-footer-links a{font-size:.9rem;color:var(--color-secondary);display:inline-flex}.guest-footer-links a:hover{color:var(--color-primary);text-decoration:underline}.guest-footer-branding{text-align:center;border-top:1px solid rgba(0,0,0,.05);padding-top:var(--spacing-lg)}.guest-footer-credit{font-size:.8rem;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.guest-footer-separator{opacity:.3}.welcome-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,var(--color-bg) 0,var(--color-bg-elevated) 100%)}.welcome-hero{padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;background:var(--color-bg-card);border-bottom:1px solid rgba(0,0,0,.05)}.welcome-eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;color:var(--color-text-muted);margin:0 0 var(--spacing-md);font-weight:500}.welcome-title{font-size:clamp(1.75rem,8vw,2.5rem);color:var(--color-primary);margin:0 0 var(--spacing-sm);letter-spacing:-.02em}.welcome-subtitle{font-size:.95rem;color:var(--color-text-muted);margin:0;font-weight:400}.welcome-content{flex:1;padding:var(--spacing-2xl) var(--spacing-lg);max-width:600px;margin:0 auto;width:100%}.welcome-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}@media (max-width:640px){.welcome-actions{grid-template-columns:repeat(2,1fr)}}.welcome-section{margin-bottom:var(--spacing-2xl)}.welcome-section-title{font-size:1.125rem;color:var(--color-secondary);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm)}.welcome-section-title:before{content:"";display:inline-block;width:3px;height:1.125rem;background:var(--color-primary);border-radius:1.5px}.welcome-placeholder{padding:var(--spacing-lg);border:2px dashed color-mix(in srgb,var(--color-primary) 30%,transparent);border-radius:var(--radius-lg);text-align:center;color:var(--color-text-muted);background:color-mix(in srgb,var(--color-primary) 2%,transparent);min-height:100px;display:flex;align-items:center;justify-content:center;font-style:italic}@media (max-width:480px){:root{--spacing-lg:1rem;--spacing-2xl:1.5rem}h1{font-size:2rem}.welcome-content,.welcome-hero{padding:var(--spacing-lg) var(--spacing-md)}.action-card,.guest-header{padding:var(--spacing-md)}.guest-footer{padding:var(--spacing-lg) var(--spacing-md)}}.booking-step{display:flex;flex-direction:column;gap:var(--spacing-lg);background:var(--color-bg-card);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.booking-step-title{font-family:var(--font-display);font-size:1.4rem;margin:0;color:var(--color-text)}.booking-summary-line{margin:0;color:var(--color-text-muted)}.booking-card{background:var(--color-bg-card);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.booking-error,.booking-error-line{color:var(--color-error);font-size:.9rem}.vehicle-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md)}.vehicle-card{text-align:left;background:var(--color-bg-elevated);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-md);padding:var(--spacing-lg);cursor:pointer;transition:transform .12s ease;font-family:inherit;font-size:inherit;color:inherit}.vehicle-card:hover{transform:translateY(-2px);border-color:var(--color-primary)}.vehicle-card-title{font-weight:600;margin-bottom:.25rem}.vehicle-card-price{font-family:var(--font-display);font-size:1.25rem;color:var(--color-primary);margin-bottom:.5rem}.vehicle-card-meta{font-size:.85rem;color:var(--color-text-muted)}.booking-field{display:flex;flex-direction:column;gap:.4rem}.booking-field-label{font-size:.85rem;color:var(--color-text-muted)}.booking-field-input{border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-sm);padding:.6rem .75rem;font-family:inherit;font-size:.95rem;background:var(--color-bg);color:var(--color-text)}.booking-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;flex-wrap:wrap}.booking-btn-primary,.booking-btn-secondary{padding:.7rem 1.2rem;border-radius:var(--radius-md);border:none;cursor:pointer;font-family:inherit;font-size:.95rem;text-decoration:none;display:inline-block}.booking-btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.booking-btn-primary:hover{background:var(--color-primary-hover)}.booking-btn-secondary{background:transparent;color:var(--color-text);border:1px solid rgba(0,0,0,.15)}.booking-confirmed{background:var(--color-bg-elevated)}.bookings-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.booking-list-item{background:var(--color-bg-card);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg)}.booking-list-header{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--color-text-muted)}.booking-list-id{font-family:var(--font-mono)}.booking-list-when{font-weight:600;margin:.4rem 0 .2rem}.booking-list-total{margin:0;color:var(--color-text-muted)}.booking-status{padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.booking-status-pending{background:rgba(209,122,34,.15);color:var(--color-warning)}.booking-status-completed,.booking-status-confirmed{background:rgba(45,125,92,.15);color:var(--color-success)}.booking-status-cancelled{background:rgba(184,50,50,.15);color:var(--color-error)}.booking-status-in_progress{background:rgba(62,124,124,.15);color:var(--color-accent)}.booking-payment-paid{color:var(--color-success)}.booking-payment-pending{color:var(--color-warning)}.booking-payment-failed{color:var(--color-error)}.booking-payment-refunded{color:var(--color-text-muted)}.explorer-page{background:linear-gradient(180deg,var(--color-bg) 0,var(--color-bg-elevated) 100%)}.explorer-main{flex:1;display:flex;flex-direction:column;padding:var(--spacing-lg) var(--spacing-md) 0;max-width:600px;width:100%;margin:0 auto}.explorer-hero{text-align:center;margin-bottom:var(--spacing-md)}.explorer-title{font-size:clamp(1.5rem,6vw,2rem);margin:var(--spacing-xs) 0;color:var(--color-primary)}.swipe-shell{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:stretch}.swipe-empty{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-muted);background:var(--color-bg-card);border-radius:var(--radius-lg)}.swipe-chips{display:flex;gap:var(--spacing-sm);overflow-x:auto;overflow-y:hidden;padding:var(--spacing-xs) 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}.swipe-chips::-webkit-scrollbar{display:none}.swipe-chip{flex:0 0 auto;background:var(--color-bg-card);border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent);color:var(--color-text);font-size:.85rem;padding:.5rem .85rem;border-radius:999px;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.swipe-chip small{margin-left:.25rem;color:var(--color-text-muted);font-weight:400}.swipe-chip-active,.swipe-chip:hover{border-color:var(--color-primary)}.swipe-chip-active{background:var(--color-primary);color:var(--color-text-inverse)}.swipe-chip-active small{color:var(--color-text-inverse);opacity:.7}.swipe-deck{position:relative;width:100%;max-width:480px;height:min(70vh,620px);margin:0 auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.swipe-card{position:absolute;inset:0;border-radius:var(--radius-xl);overflow:hidden;background:var(--color-bg-card);box-shadow:var(--shadow-xl);cursor:grab;will-change:transform}.swipe-card-top{cursor:grab}.swipe-card-top:active{cursor:grabbing}.swipe-card-stack{pointer-events:none;filter:brightness(.95)}.swipe-card-photo{position:absolute;inset:0;background-size:cover;background-position:50%}.swipe-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.55) 75%,rgba(0,0,0,.85))}.swipe-card-body{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:var(--spacing-lg);background:transparent;border:0;text-align:left;color:var(--color-text-inverse);cursor:pointer;font:inherit;width:100%}.swipe-card-meta-top{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.swipe-card-chip{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;background:hsla(0,0%,100%,.18);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:.25rem .6rem}.swipe-card-chip,.swipe-card-rating{color:var(--color-text-inverse);border-radius:999px}.swipe-card-rating{font-size:.85rem;background:rgba(0,0,0,.35);padding:.2rem .55rem}.swipe-card-text{display:flex;flex-direction:column;gap:var(--spacing-xs)}.swipe-card-title{font-family:var(--font-display);font-size:clamp(1.4rem,5vw,2rem);margin:0;color:var(--color-text-inverse);line-height:1.15}.swipe-card-description{margin:0;font-size:.9rem;color:hsla(0,0%,100%,.88);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.swipe-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-sm)}.swipe-card-price{font-family:var(--font-display);font-size:1.4rem;color:var(--color-text-inverse)}.swipe-card-duration{font-size:.8rem;color:hsla(0,0%,100%,.85);background:rgba(0,0,0,.35);padding:.25rem .6rem;border-radius:999px}.swipe-card-badge{position:absolute;top:24px;font-family:var(--font-display);font-size:2.5rem;font-weight:700;padding:.3rem 1rem;border-radius:var(--radius-md);border:4px solid;pointer-events:none}.swipe-card-badge-like{right:24px;color:var(--color-success);border-color:var(--color-success);transform:rotate(15deg)}.swipe-card-badge-pass{left:24px;color:var(--color-error);border-color:var(--color-error);transform:rotate(-15deg)}.swipe-empty-deck{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-bg-card);border-radius:var(--radius-xl);border:2px dashed color-mix(in srgb,var(--color-primary) 30%,transparent);padding:var(--spacing-xl);text-align:center}.swipe-empty-link{margin-top:var(--spacing-md);font-weight:600;text-decoration:none}.swipe-controls{display:flex;justify-content:center;align-items:center;gap:var(--spacing-md);margin:var(--spacing-md) 0 var(--spacing-xl)}.swipe-btn{width:60px;height:60px;border-radius:50%;border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent);background:var(--color-bg-card);font-size:1.4rem;cursor:pointer;box-shadow:var(--shadow-md);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.swipe-btn:hover{transform:scale(1.05);box-shadow:var(--shadow-lg)}.swipe-btn:active{transform:scale(.95)}.swipe-btn-pass{color:var(--color-error)}.swipe-btn-info{color:var(--color-primary);width:50px;height:50px;font-size:1.2rem}.swipe-btn-like{color:var(--color-success)}.detail-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1000;display:flex;align-items:flex-end;justify-content:center}.detail-sheet{width:100%;max-width:600px;max-height:92vh;background:var(--color-bg-card);border-radius:var(--radius-xl) var(--radius-xl) 0 0;overflow-y:auto;position:relative;display:flex;flex-direction:column;touch-action:pan-y}.detail-grabber{position:sticky;top:0;align-self:center;width:36px;height:4px;background:rgba(0,0,0,.18);border-radius:2px;margin:10px auto 0}.detail-header{display:flex;justify-content:flex-end;padding:0 var(--spacing-md)}.detail-close{background:transparent;border:0;font-size:1.4rem;cursor:pointer;color:var(--color-text-muted)}.detail-carousel{display:flex;gap:var(--spacing-sm);overflow-x:auto;scroll-snap-type:x mandatory;margin-bottom:var(--spacing-md);padding:0 var(--spacing-md)}.detail-photo{width:90%;flex:0 0 90%;scroll-snap-align:center;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-lg)}.detail-body{padding:0 var(--spacing-lg) var(--spacing-2xl);display:flex;flex-direction:column;gap:var(--spacing-md)}.detail-row-meta{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:center}.detail-row-meta .swipe-card-chip{background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary)}.detail-meta{font-size:.85rem;color:var(--color-text-muted)}.detail-title{font-family:var(--font-display);font-size:1.6rem;margin:0;color:var(--color-text)}.detail-description{margin:0;color:var(--color-text);line-height:1.55}.detail-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.detail-section-title{font-size:.95rem;margin:0;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.detail-highlights{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.3rem;color:var(--color-text)}.detail-price-row{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid rgba(0,0,0,.08);flex-wrap:wrap}.detail-price{font-family:var(--font-display);font-size:1.8rem;color:var(--color-primary)}.detail-price-modifier{font-size:.8rem;color:var(--color-text-muted)}.detail-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1;min-width:200px}.detail-btn-book,.detail-btn-wishlist{border:0;border-radius:var(--radius-md);padding:.75rem 1.2rem;font-family:inherit;font-size:.95rem;cursor:pointer}.detail-btn-wishlist{background:var(--color-bg-elevated);color:var(--color-text);border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent)}.detail-btn-wishlist.active{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary);border-color:var(--color-primary)}.detail-btn-book{background:var(--color-primary);color:var(--color-text-inverse)}.detail-btn-book:hover{background:var(--color-primary-hover)}.wishlist-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--spacing-lg)}.wishlist-tile{position:relative;background:var(--color-bg-card);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.wishlist-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.wishlist-tile-link{display:block;color:inherit;text-decoration:none}.wishlist-tile-photo{height:180px;background-size:cover;background-position:50%}.wishlist-tile-body{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.wishlist-tile-body .swipe-card-chip{align-self:flex-start;background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary)}.wishlist-tile-title{font-size:1.05rem;margin:0;font-family:var(--font-display)}.wishlist-tile-desc{font-size:.85rem;color:var(--color-text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wishlist-tile-footer{margin-top:var(--spacing-xs);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);color:var(--color-primary)}.wishlist-tile-remove{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;border:0;cursor:pointer;font-size:.85rem}.wishlist-empty{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-muted)}.catalog-booking-hero{height:200px;border-radius:var(--radius-md);background-size:cover;background-position:50%}.explorer-favoris-link{margin:var(--spacing-md) 0 var(--spacing-2xl)}.explorer-favoris-link a:hover{text-decoration:underline}.explorer-favoris-link{text-align:center;margin:var(--spacing-lg) 0 var(--spacing-2xl)}.explorer-favoris-link a{font-weight:600;text-decoration:none;color:var(--color-primary)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-to-content{position:absolute;top:-40px;left:0;background:var(--color-primary);color:var(--color-text-inverse);padding:8px 16px;border-radius:0 0 var(--radius-sm) 0;z-index:1000;font-weight:600;text-decoration:none}.skip-to-content:focus{top:0;outline:2px solid var(--color-accent)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}