@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Inter:wght@400;500;600;700;800&family=Lato:wght@400;700&family=Montserrat:wght@400;600;700;800&family=Playfair+Display:wght@600;700&display=swap";
:root{--ink:#0b1e30;--muted:#52677a;--line:#0f346021;--brand:#2878c8;--brand-deep:#0f3460;--bg:#f0f5fa;--success:#1a6b45;--warning:#b05c10;--shadow:0 24px 60px #0a1e3c1a;--radius-base:14px;--font-body:"Inter", "Segoe UI Variable Text", system-ui, sans-serif;--font-heading:"Inter", "Segoe UI Variable Display", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{min-height:100vh;color:var(--ink);background:var(--bg);font-family:var(--font-body);margin:0}a{color:inherit}img{max-width:100%;display:block}.navbar{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0715258c;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;height:64px;padding:0 2rem;transition:background .2s,border-color .2s,box-shadow .2s;display:flex;position:fixed;top:0;left:0;right:0}.navbar-scrolled,.navbar-menu-open{background:#fffffff0;border-bottom-color:#0f34601f;box-shadow:0 14px 34px #0a1e3c1a}.navbar-logo{color:#fff;letter-spacing:.02em;font-family:var(--font-heading);font-size:1.2rem;font-weight:700;text-decoration:none;transition:color .2s}.navbar-scrolled .navbar-logo,.navbar-menu-open .navbar-logo{color:var(--brand-deep)}.navbar-links{align-items:center;gap:1rem;display:flex}.navbar-login{color:#fff;background:#ffffff1a;border:1px solid #ffffff38;border-radius:8px;align-items:center;padding:.55rem 1.2rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:color .2s,background .2s,border-color .2s;display:inline-flex}.navbar-login:hover{background:#fff3;border-color:#fff6}.navbar-login-secondary{font-size:.9rem;font-weight:400}.navbar-link{color:#ffffffe0;padding:4px 0;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .2s}.navbar-link:hover{color:#fff}.navbar-scrolled .navbar-link,.navbar-menu-open .navbar-link{color:var(--brand-deep)}.navbar-scrolled .navbar-link:hover,.navbar-menu-open .navbar-link:hover{color:var(--brand)}.navbar-scrolled .navbar-login,.navbar-menu-open .navbar-login{color:var(--brand-deep);background:#0f34600f;border-color:#0f34602e}.navbar-scrolled .navbar-login:hover,.navbar-menu-open .navbar-login:hover{background:#2878c81f;border-color:#2878c847}.navbar-logout{color:#ffffffc7;cursor:pointer;font:inherit;background:0 0;border:none;padding:.55rem 0;font-size:.85rem;transition:color .2s}.navbar-logout:hover{color:#fff}.navbar-scrolled .navbar-logout,.navbar-menu-open .navbar-logout{color:var(--muted)}.navbar-scrolled .navbar-logout:hover,.navbar-menu-open .navbar-logout:hover{color:var(--brand-deep)}.navbar-toggle{cursor:pointer;background:0 0;border:1px solid #ffffff3d;border-radius:8px;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 10px;transition:border-color .2s,background .2s;display:none}.navbar-toggle span{background:#fff;border-radius:999px;width:100%;height:2px;transition:background .2s,transform .2s,opacity .2s}.navbar-scrolled .navbar-toggle,.navbar-menu-open .navbar-toggle{background:#0f34600f;border-color:#0f34602e}.navbar-scrolled .navbar-toggle span,.navbar-menu-open .navbar-toggle span{background:var(--brand-deep)}.navbar-menu-open .navbar-toggle span:first-child{transform:translateY(7px)rotate(45deg)}.navbar-menu-open .navbar-toggle span:nth-child(2){opacity:0}.navbar-menu-open .navbar-toggle span:last-child{transform:translateY(-7px)rotate(-45deg)}.hero{background:#050e1a;justify-content:center;align-items:center;min-height:100svh;padding:6rem 0 3rem;display:flex;position:relative;overflow:hidden}.hero-video{object-fit:cover;opacity:.65;width:100%;height:100%;position:absolute;inset:0}iframe.hero-video,iframe.section-bg-media{pointer-events:none;object-fit:unset;border:0}iframe.youtube-background.hero-video,iframe.youtube-background.section-bg-media{width:max(100vw,177.78vh);height:max(100vh,56.25vw);inset:50% auto auto 50%;transform:translate(-50%,-50%)}iframe.ds-media-preview{border:0}.hero-overlay{background:linear-gradient(#03091885 0%,#03091838 50%,#030918b3 100%);position:absolute;inset:0}.hero-split{justify-content:space-between;align-items:center;gap:3rem;width:min(1200px,100% - 4rem);margin:0 auto;display:flex;position:relative}.hero-text{color:#fff;flex:1}.hero-text h1{text-shadow:0 2px 24px #00000080;font-family:var(--font-heading);letter-spacing:-.02em;margin:0 0 1rem;font-size:clamp(2.2rem,4.5vw,4rem);font-weight:800;line-height:1.05}.hero-text p{color:#fffc;max-width:36ch;margin:0;font-size:1.05rem;line-height:1.65}.hero-kicker,.section-kicker{color:#7dd4f0;text-transform:uppercase;letter-spacing:.14em;margin-bottom:.8rem;font-size:.74rem;font-weight:700;display:inline-block}.hero-trust{flex-wrap:wrap;gap:.6rem;margin-top:1.5rem;display:flex}.hero-trust-pill{color:#e8f4fc;background:#ffffff1f;border:1px solid #ffffff40;border-radius:999px;align-items:center;padding:.5rem .85rem;font-size:.82rem;font-weight:600;display:inline-flex}.booking-card{background:#fff;border-radius:20px;flex-direction:column;flex:0 560px;width:min(560px,100%);padding:1.4rem;display:flex;box-shadow:0 24px 80px #050e1e73}.booking-card-minimal{flex-basis:420px;width:min(420px,100%);padding:1rem}.booking-card-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.booking-card-title{color:var(--ink);font-size:1rem;font-weight:700}.booking-card-nights{color:var(--brand-deep);background:#0f34601a;border-radius:999px;padding:.25rem .7rem;font-size:.82rem;font-weight:600}.rdp-root{width:100%;font-size:.82rem;overflow:visible;--rdp-accent-color:var(--brand-deep)!important;--rdp-accent-background-color:#0f34601f!important;margin:0!important}.booking-calendar .rdp-months{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.65rem;width:100%;display:grid}.booking-calendar .rdp-month{width:100%}.booking-calendar .rdp-month_grid{table-layout:fixed;width:100%}.booking-calendar .rdp-caption_label{font-size:.9rem}.booking-calendar .rdp-day_button{width:32px;height:32px;font-size:.78rem}.booking-card-footer{border-top:1px solid var(--line);align-items:center;gap:1rem;margin-top:.75rem;padding-top:.75rem;display:flex}.advanced-search{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.85rem;display:grid}.advanced-search label{gap:.35rem;display:grid}.advanced-search span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:700}.advanced-search input,.advanced-search select{border:1px solid var(--line);color:var(--ink);min-height:42px;font:inherit;background:#f8faff;border-radius:10px;padding:.65rem .75rem;transition:border-color .15s}.advanced-search input:focus,.advanced-search select:focus{border-color:var(--brand);outline:none}.amenity-filter-row{flex-wrap:wrap;gap:.45rem;margin-top:.75rem;display:flex}.amenity-filter-row button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#f0f7ff;border-radius:999px;padding:.48rem .72rem;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s}.amenity-filter-row button:hover{border-color:var(--brand);background:#2878c814}.amenity-filter-row button.active{color:#fff;background:var(--brand-deep);border-color:var(--brand-deep)}.guests-row{flex-direction:column;gap:.2rem;display:flex}.guests-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.68rem;font-weight:700}.guests-control{align-items:center;gap:.7rem;display:flex}.guests-control button{border:1px solid var(--line);cursor:pointer;width:28px;height:28px;color:var(--ink);background:#fff;border-radius:999px;justify-content:center;align-items:center;font-size:1rem;transition:border-color .15s,background .15s;display:flex}.guests-control button:hover{border-color:var(--brand);background:#f0f7ff}.guests-control span{color:var(--ink);text-align:center;min-width:1.5rem;font-size:1rem;font-weight:600}.booking-submit{background:var(--brand-deep);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:1;padding:.8rem 1rem;font-size:.9rem;font-weight:600;transition:background .2s,transform .1s}.booking-submit:hover{background:var(--brand);transform:translateY(-1px)}.search-summary{border:1px solid var(--line);background:#f0f7ffe6;border-radius:14px;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.9rem 1.25rem;font-size:.92rem;display:flex}.search-reset{color:var(--brand);margin-left:auto;font-weight:600;text-decoration:none}.local-proof-section{grid-template-columns:.85fr 1.15fr;gap:2rem;width:min(1200px,100% - 2rem);margin:0 auto;padding:4rem 1rem 2rem;display:grid;position:relative;overflow:hidden}.local-proof-section h2{color:var(--ink);font-family:var(--font-heading);letter-spacing:-.02em;margin:0;font-size:clamp(1.6rem,4vw,2.5rem);font-weight:800;line-height:1.12}.local-proof-section>:not(.section-bg-media):not(.section-bg-editor),.catalog-section>:not(.section-bg-media):not(.section-bg-editor){z-index:1;position:relative}.section-bg-media{object-fit:cover;opacity:.12;z-index:0;width:100%;height:100%;position:absolute;inset:0}.section-bg-editor{z-index:8;align-items:flex-start;gap:.5rem;display:flex;position:absolute;top:1rem;right:1rem}.section-bg-button,.section-bg-panel button{color:#fff;cursor:pointer;background:var(--brand-deep);font:inherit;border:1px solid #ffffff59;border-radius:8px;padding:.55rem .75rem;font-size:.82rem;font-weight:700;box-shadow:0 8px 24px #0000003d}.section-bg-panel{border:1px solid var(--line);background:#fff;border-radius:10px;gap:.5rem;width:min(88vw,360px);padding:.75rem;display:grid;box-shadow:0 14px 38px #0000002e}.section-bg-panel button{width:100%;box-shadow:none}.section-bg-panel .media-library-item{color:var(--ink);border:1px solid var(--line);box-shadow:none;background:#fff;padding:.35rem}.section-bg-panel p,.section-bg-message{color:var(--muted);margin:0;font-size:.75rem;line-height:1.35}.section-bg-tip{border-left:3px solid var(--brand);background:#2878c812;border-radius:0 8px 8px 0;padding:.55rem .65rem}.section-bg-youtube{gap:.4rem;display:grid}.section-bg-youtube input{border:1px solid var(--line);min-height:38px;font:inherit;border-radius:8px;padding:.5rem .6rem;font-size:.8rem}.section-bg-youtube-actions{grid-template-columns:1fr;gap:.45rem;display:grid}.local-proof-section .section-kicker{color:var(--brand)}.proof-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.proof-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:1.25rem;transition:transform .2s,box-shadow .2s}.proof-card:hover{transform:translateY(-3px);box-shadow:0 32px 80px #0a1e3c24}.proof-card h3{margin:0 0 .6rem;font-size:1rem;font-weight:700}.proof-card p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.55}@media (max-width:640px){.advanced-search,.booking-calendar .rdp-months{grid-template-columns:1fr}.booking-card-footer{flex-direction:column;align-items:stretch}.booking-submit{width:100%}.search-widget{border-radius:20px;flex-direction:column;gap:.75rem;padding:1rem}.search-divider{width:100%;height:1px}.search-field{width:100%;padding:0}.search-submit{text-align:center;width:100%}}.catalog-section{width:min(1200px,100% - 2rem);margin:0 auto;padding:5rem 1rem 6rem;position:relative;overflow:hidden}.catalog-title{color:var(--ink);font-family:var(--font-heading);letter-spacing:-.02em;margin:0 0 2.5rem;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.catalog-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;transition:transform .2s,box-shadow .2s;overflow:hidden}.catalog-card:hover{transform:translateY(-4px);box-shadow:0 36px 90px #0a1e3c29}.catalog-image{object-fit:cover;width:100%;height:240px}.catalog-body{padding:1.25rem}.catalog-location{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:inline-block}.catalog-body h3{margin:0 0 .6rem;font-size:1.15rem;font-weight:700}.catalog-body p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.6}.catalog-meta{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.catalog-meta span{border:1px solid var(--line);background:#f5f9ff;border-radius:999px;padding:.45rem .75rem;font-size:.82rem}.catalog-estimate{background:#0f34600f;border:1px solid #0f34602e;border-radius:14px;gap:.2rem;margin-top:1rem;padding:.85rem 1rem;display:grid}.catalog-estimate strong{color:var(--brand-deep);font-size:1rem}.catalog-estimate span{color:var(--muted);font-size:.86rem}.catalog-rating{align-items:center;gap:.55rem;margin-top:1rem;display:flex}.catalog-rating strong{color:#fff;background:var(--success);border-radius:8px;padding:.38rem .55rem;font-size:.88rem}.catalog-rating span{color:var(--muted);font-size:.86rem;font-weight:600}.local-badges{flex-wrap:wrap;gap:.45rem;margin-top:1rem;display:flex}.local-badges span{color:var(--brand-deep);background:#0f346014;border:1px solid #0f346029;border-radius:999px;padding:.42rem .68rem;font-size:.78rem;font-weight:600}.catalog-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.1rem;display:flex}.catalog-actions a{border:1px solid var(--line);background:#f0f7ff;border-radius:999px;align-items:center;min-height:44px;padding:.7rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.catalog-actions a:hover{border-color:var(--brand);background:#2878c81a}.catalog-actions a:first-child{background:var(--brand-deep);color:#fff;border-color:#0000;font-weight:600}.catalog-actions a:first-child:hover{background:var(--brand)}.page-shell{width:min(1100px,100% - 2rem);margin:0 auto;padding:6rem 0 5rem}.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffbf;border-radius:20px;padding:1.4rem}.panel-label{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;margin-bottom:.75rem;font-size:.78rem;font-weight:600;display:inline-block}.panel strong{font-size:1.15rem;display:block}.panel p{color:var(--muted);margin:.7rem 0 0;line-height:1.6}.panel-ok{border-color:#1a6b4547}.panel-ok strong{color:var(--success)}.panel-warn{border-color:#b05c1047}.panel-warn strong{color:var(--warning)}.detail-hero{grid-template-columns:1fr .95fr;align-items:stretch;gap:1rem;display:grid}.detail-image-wrap{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;min-height:320px;overflow:hidden}.detail-image{object-fit:cover;width:100%;height:100%;min-height:320px}.detail-badges{margin-top:1.15rem}.detail-local-box{border:1px solid var(--line);background:#f8faff;border-radius:16px;margin-top:1.25rem;padding:1rem}.detail-local-box p{margin:0;font-size:.95rem;line-height:1.55}.booking-form,.auth-form{gap:.9rem;display:grid}.auth-stack{gap:1.25rem;display:grid}.auth-divider{background:var(--line);height:1px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.booking-form label,.auth-form label,.owner-card label{gap:.35rem;display:grid}.booking-form span,.auth-form span,.owner-card span{color:var(--muted);font-size:.92rem}.booking-form input,.booking-form textarea,.auth-form input,.owner-card input,.owner-card textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#f8faff;border-radius:12px;padding:.85rem .95rem;transition:border-color .15s}.booking-form input:focus,.booking-form textarea:focus,.auth-form input:focus,.owner-card input:focus,.owner-card textarea:focus{border-color:var(--brand);outline:none}.booking-form button,.auth-form button,.owner-card button{background:var(--brand-deep);color:#fff;cursor:pointer;min-height:48px;font:inherit;border:0;border-radius:999px;padding:.85rem 1rem;font-weight:600;transition:background .2s}.booking-form button:hover,.auth-form button:hover,.owner-card button:hover{background:var(--brand)}.booking-estimate{background:#0f34600f;border:1px solid #0f34602e;border-radius:14px;gap:.25rem;padding:.9rem 1rem;display:grid}.booking-estimate strong{color:var(--brand-deep);font-size:1.05rem}.booking-estimate span{color:var(--muted);font-size:.9rem}.dashboard-stack{gap:1rem;display:grid}.owner-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffbf;border-radius:22px;padding:1rem;overflow:hidden}.owner-apartment-card{gap:1.25rem;display:grid}.owner-form-section{gap:.9rem;display:grid}.owner-availability-section{border-top:1px solid var(--line);padding-top:1rem}.availability-label{margin-top:1.2rem}.availability-list{gap:.8rem;margin-top:.6rem;display:grid}.availability-item{border:1px solid var(--line);background:#f8faff;border-radius:16px;padding:1rem}.availability-item strong{font-size:1rem;display:block}.availability-item p{color:var(--muted);margin:.45rem 0 0}.availability-item-owner{justify-content:space-between;align-items:center;gap:1rem;display:flex}.availability-badge{min-height:40px;color:var(--brand-deep);white-space:nowrap;background:#0f346017;border:1px solid #0f346026;border-radius:999px;align-items:center;padding:.65rem .9rem;display:inline-flex}.secondary-button{border:1px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;font:inherit;background:#f0f7ff;border-radius:999px;padding:.75rem 1rem;transition:background .15s,border-color .15s}.secondary-button:hover{border-color:var(--brand);background:#2878c81a}.availability-form-grid{margin-top:.2rem}.checkbox-line{align-items:center;gap:.7rem;display:flex!important}.checkbox-line input{width:auto}.helper-text,.form-status{color:var(--muted);margin:0;line-height:1.5}.restaurant-hero-media{object-fit:cover;width:100%;height:100%}.restaurant-gallery-media{object-fit:cover;border-radius:8px;width:100%;height:140px}.inline-link{border:1px solid var(--line);background:#f0f7ff;border-radius:999px;align-items:center;min-height:44px;padding:.75rem 1rem;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.inline-link:hover{border-color:var(--brand);background:#2878c81a}.detail-meta{flex-wrap:wrap;gap:.65rem;margin-top:1rem;display:flex}.detail-meta span{border:1px solid var(--line);background:#f5f9ff;border-radius:999px;padding:.6rem .8rem}.apartment-photo-gallery{gap:.75rem;min-width:0;display:grid}.apartment-photo-stage{position:relative}.apartment-photo-open{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;min-height:320px;padding:0;display:block}.apartment-photo-main{display:block}.apartment-photo-nav{z-index:2;color:#fff;cursor:pointer;background:#0715259e;border:1px solid #ffffff8c;border-radius:999px;justify-content:center;align-items:center;width:46px;height:46px;font-size:2rem;line-height:1;transition:background .15s,transform .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.apartment-photo-nav:hover{background:#071525d6;transform:translateY(-50%)scale(1.04)}.apartment-photo-nav-prev{left:.8rem}.apartment-photo-nav-next{right:.8rem}.apartment-photo-count{z-index:2;color:#fff;background:#071525ad;border:1px solid #ffffff73;border-radius:999px;padding:.35rem .7rem;font-size:.82rem;font-weight:700;position:absolute;bottom:.9rem;right:.9rem}.apartment-photo-thumbs{gap:.5rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.apartment-photo-thumb{cursor:pointer;opacity:.72;background:0 0;border:2px solid #0000;border-radius:10px;flex:none;width:112px;height:76px;padding:0;transition:border-color .15s,opacity .15s,transform .15s;overflow:hidden}.apartment-photo-thumb:hover,.apartment-photo-thumb-active{border-color:var(--brand);opacity:1;transform:translateY(-1px)}.gallery-modal-open{overflow:hidden}.apartment-photo-modal{z-index:1000;color:#fff;background:#050c18f0;grid-template-rows:1fr auto;gap:1rem;padding:clamp(1rem,3vw,2rem);display:grid;position:fixed;inset:0}.apartment-photo-modal-stage{min-height:0;position:relative}.apartment-photo-modal-media{object-fit:contain;background:0 0;border:0;width:100%;height:100%;display:block}.apartment-photo-modal-close{z-index:3;cursor:pointer;color:#fff;background:#ffffff1f;border:1px solid #ffffff73;border-radius:999px;padding:.6rem .9rem;font-weight:700;position:absolute;top:1rem;right:1rem}.apartment-photo-modal .apartment-photo-thumbs{justify-content:center}.apartment-photo-modal .apartment-photo-thumb{border-color:#ffffff3d}.apartment-photo-modal .apartment-photo-thumb-active{border-color:#fff}@media (max-width:960px){.navbar{padding:0 1rem}.navbar-toggle{display:flex}.navbar-links{background:#fffffff7;border:1px solid #0f34601f;border-radius:8px;flex-direction:column;align-items:stretch;gap:.75rem;width:min(420px,100vw - 2rem);padding:1rem;display:none;position:absolute;top:calc(100% + .75rem);right:1rem;box-shadow:0 24px 60px #0a1e3c2e}.navbar-menu-open .navbar-links{display:flex}.navbar-links .navbar-link{color:var(--brand-deep);text-align:center;border-bottom:1px solid var(--line);width:100%;padding:10px 0}.navbar-links .navbar-login,.navbar-links .navbar-logout{color:var(--brand-deep);justify-content:center;width:100%}.navbar-links .navbar-login{background:#0f34600f;border-color:#0f34602e}.navbar-links .navbar-logout{color:var(--muted);min-height:44px}.hero-split{flex-direction:column;align-items:flex-start;gap:2rem;padding:2rem 1rem}.booking-card{flex:none;width:100%;overflow-x:hidden}.catalog-grid,.detail-hero,.local-proof-section,.proof-grid{grid-template-columns:1fr}}@media (max-width:640px){.page-shell{padding:5rem 0 2.5rem}.form-grid{grid-template-columns:1fr}.availability-item-owner{flex-direction:column;align-items:flex-start}}.admin-login-page{background:#050b14;justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-login-card{background:#0a1524;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;gap:1rem;width:100%;max-width:400px;padding:2.5rem 2rem;display:flex}.admin-login-header{text-align:center;margin-bottom:.5rem}.admin-login-header h1{color:#fff;font-family:var(--font-heading);margin:.5rem 0 .25rem;font-size:1.8rem;font-weight:700}.admin-login-header p{color:#ffffff73;margin:0;font-size:.9rem}.admin-login-card label{flex-direction:column;gap:.35rem;display:flex}.admin-login-card label span{color:#ffffff80;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.admin-login-card input{color:#fff;width:100%;font-size:.95rem;font:inherit;background:#ffffff12;border:1px solid #ffffff1f;border-radius:12px;padding:.85rem 1rem;transition:border-color .15s}.admin-login-card input:focus{border-color:var(--brand);outline:none}.admin-login-card input::placeholder{color:#ffffff40}.admin-login-card button{background:var(--brand-deep);color:#fff;cursor:pointer;border:none;border-radius:12px;margin-top:.5rem;padding:.9rem;font-size:1rem;font-weight:600;transition:background .2s}.admin-login-card button:hover{background:var(--brand)}.admin-error{color:#e87b6a;margin:0;font-size:.9rem}.admin-badge{color:var(--brand);text-transform:uppercase;letter-spacing:.1em;background:#2878c81f;border:1px solid #2878c838;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-block}.admin-page{background:var(--bg);min-height:100vh;padding-top:64px}.admin-header{z-index:100;background:#07131f;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:64px;padding:0 2rem;display:flex;position:fixed;top:0;left:0;right:0}.admin-header-left{align-items:center;gap:1.5rem;display:flex}.admin-site-link{color:#ffffff73;font-size:.85rem;text-decoration:none}.admin-site-link:hover{color:#fffc}.admin-title{color:#fff;font-size:1rem;font-weight:600}.admin-header-right{align-items:center;gap:1rem;display:flex}.admin-logout{color:#fff9;cursor:pointer;font-size:.85rem;font:inherit;background:0 0;border:1px solid #ffffff29;border-radius:999px;padding:.5rem 1rem;transition:background .15s}.admin-logout:hover{background:#ffffff1a}.admin-body{max-width:1200px;margin:0 auto;padding:2rem}.admin-tabs{border-bottom:2px solid var(--line);overscroll-behavior-x:contain;scrollbar-width:thin;gap:.25rem;max-width:100%;margin-bottom:2rem;display:flex;overflow-x:auto}.admin-tab{color:var(--muted);cursor:pointer;font-size:.95rem;font:inherit;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:none;margin-bottom:-2px;padding:.75rem 1.5rem;transition:color .15s}.admin-tab-active{color:var(--brand-deep);border-bottom-color:var(--brand-deep);font-weight:700}.admin-loading{color:var(--muted);text-align:center;padding:2rem}.admin-section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.admin-section-header h2{margin:0;font-size:1.3rem;font-weight:700}.admin-action-btn{background:var(--brand-deep);color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;font:inherit;border:none;border-radius:12px;padding:.7rem 1.25rem;transition:background .2s}.admin-action-btn:hover{background:var(--brand)}.admin-create-form{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1.5rem;display:flex}.admin-create-form label{flex-direction:column;gap:.35rem;display:flex}.admin-create-form label span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.admin-create-form input{border:1px solid var(--line);color:var(--ink);font-size:.95rem;font:inherit;background:#f8faff;border-radius:10px;padding:.75rem .9rem;transition:border-color .15s}.admin-create-form input:focus{border-color:var(--brand);outline:none}.admin-create-form button{background:var(--brand-deep);color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;font:inherit;border:none;border-radius:12px;align-self:flex-start;padding:.75rem 1.5rem;transition:background .2s}.admin-create-form button:hover{background:var(--brand)}.admin-table-wrap{border:1px solid var(--line);background:#fff;border-radius:16px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--line);background:#f5f8fc;padding:.85rem 1rem;font-size:.75rem;font-weight:700}.admin-table td{border-bottom:1px solid var(--line);color:var(--ink);padding:.85rem 1rem}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#f5f9ff}.admin-badge-ok{color:var(--success);background:#1a6b451a;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:600;display:inline-block}.admin-badge-off{color:var(--warning);background:#b05c101a;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:600;display:inline-block}.admin-link{color:var(--brand);font-size:.85rem;font-weight:600;text-decoration:none}.owner-dash{flex-direction:column;gap:0;display:flex}.owner-dash-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.owner-dash-name{color:var(--ink);margin:0 0 .15rem;font-size:1.2rem;font-weight:700}.owner-dash-email{color:var(--muted);margin:0;font-size:.9rem}.owner-dash-logout{border:1px solid var(--line);color:var(--muted);cursor:pointer;font-size:.85rem;font:inherit;background:0 0;border-radius:999px;padding:.6rem 1.1rem;transition:border-color .15s,color .15s}.owner-dash-logout:hover{border-color:var(--brand);color:var(--ink)}.admin-tab-badge{background:var(--brand-deep);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:.4rem;padding:0 4px;font-size:.68rem;font-weight:700;display:inline-flex}.admin-badge-warn{color:var(--warning);background:#b05c101f;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:600;display:inline-block}.owner-apt-list{flex-direction:column;gap:.75rem;display:flex}.owner-apt-card{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:1rem;padding:1rem;transition:box-shadow .2s;display:flex}.owner-apt-card:hover{box-shadow:0 8px 32px #0a1e3c1a}.owner-apt-img{object-fit:cover;border-radius:10px;flex-shrink:0;width:100px;height:70px}.owner-apt-body{flex:1}.owner-apt-meta{align-items:center;gap:.6rem;margin-bottom:.25rem;display:flex}.owner-apt-body h3{margin:0;font-size:1.05rem;font-weight:700}.owner-apt-actions{flex-shrink:0;gap:.5rem;display:flex}.owner-edit-panel{border:1px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.owner-edit-header{justify-content:space-between;align-items:center;display:flex}.owner-edit-header h2{margin:0;font-size:1.2rem;font-weight:700}.owner-edit-form{flex-direction:column;gap:.85rem;display:flex}.owner-edit-form label{flex-direction:column;gap:.3rem;display:flex}.owner-edit-form label span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.owner-edit-form input,.owner-edit-form textarea{border:1px solid var(--line);color:var(--ink);font-size:.95rem;font:inherit;background:#f8faff;border-radius:10px;padding:.75rem .9rem;transition:border-color .15s}.owner-edit-form input:focus,.owner-edit-form textarea:focus{border-color:var(--brand);outline:none}.owner-edit-form button[type=submit]{background:var(--brand-deep);color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;font:inherit;border:none;border-radius:12px;align-self:flex-start;padding:.75rem 1.5rem;transition:background .2s}.owner-edit-form button[type=submit]:hover{background:var(--brand)}.owner-edit-preview{object-fit:cover;border:1px solid var(--line);border-radius:12px;width:100%;height:200px}.owner-avail-section{border-top:1px solid var(--line);padding-top:1.25rem}@media (max-width:640px){.owner-apt-card{flex-direction:column;align-items:stretch}.owner-apt-img{width:100%;height:150px}.owner-apt-meta,.owner-apt-actions{flex-wrap:wrap;width:100%}.owner-apt-actions .secondary-button,.owner-edit-header .secondary-button{flex:150px;justify-content:center}.owner-edit-panel{padding:1rem}.owner-edit-header{flex-direction:column;align-items:stretch;gap:.75rem}.owner-photo-dropzone{min-height:140px}}.site-footer{color:#ffffffd1;background:#07131f;margin-top:5rem;padding:3.5rem 2rem 1.75rem}.footer-inner{border-bottom:1px solid #ffffff1f;grid-template-columns:2fr 1fr 1fr;gap:3rem;max-width:1100px;margin:0 auto;padding-bottom:2.5rem;display:grid}.footer-logo{color:#fff;letter-spacing:-.01em;margin-bottom:.6rem;font-size:1.25rem;font-weight:800;display:block}.footer-tagline{color:#ffffff80;margin:0;font-size:.88rem;line-height:1.6}.footer-section-title{text-transform:uppercase;letter-spacing:.12em;color:#ffffff59;margin:0 0 .9rem;font-size:.7rem;font-weight:700}.footer-contact a,.footer-links a{color:#ffffffa6;margin-bottom:.45rem;font-size:.88rem;text-decoration:none;transition:color .15s;display:block}.footer-contact a:hover,.footer-links a:hover{color:#fff}.footer-address{color:#ffffffa6;margin-top:.45rem;font-size:.88rem;font-style:normal;line-height:1.6}.footer-bottom{color:#ffffff47;max-width:1100px;margin:1.5rem auto 0;font-size:.76rem}@media (max-width:700px){.footer-inner{grid-template-columns:1fr;gap:2rem}}.edit-fab-wrap{z-index:9999;flex-direction:column;align-items:flex-end;gap:.6rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.edit-mode-fab{background:var(--brand-deep);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:.4rem;padding:.55rem 1.25rem;font-size:.83rem;font-weight:700;transition:background .15s,transform .1s;display:flex;box-shadow:0 4px 20px #00000059}.edit-mode-fab:hover{background:var(--brand);transform:scale(1.02)}.edit-mode-fab.active{background:#1d5c3a}.edit-mode-fab.active:hover{background:#257a4d}.edit-tools-panel{color:var(--ink);background:#fff;border:1px solid #1f1a171f;border-radius:14px;flex-direction:column;gap:.65rem;width:min(88vw,300px);padding:.75rem 1rem 1rem;display:flex;box-shadow:0 8px 32px #0000002e}.edit-drag-handle-row{justify-content:space-between;align-items:center;padding-bottom:.1rem;display:flex}.edit-drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:.1rem 0 .25rem;display:flex}.edit-panel-minimize{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:4px;padding:0 .25rem;font-size:1.2rem;line-height:1;transition:color .15s,background .15s}.edit-panel-minimize:hover{color:#374151;background:#f3f4f6}.edit-drag-handle:active{cursor:grabbing}.edit-drag-handle span{background:#d1d5db;border-radius:99px;width:28px;height:3px;display:block}.edit-drag-handle:hover span{background:#9ca3af}.edit-fab-row{align-items:center;gap:.35rem;display:flex}.edit-fab-grip{color:#fff;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#00000073;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;display:flex;box-shadow:0 4px 20px #00000059}.edit-fab-grip:active{cursor:grabbing}.edit-tabs{background:#f4f4f4;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;display:grid}.edit-tab{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;padding:.38rem .5rem;font-size:.8rem;font-weight:600;transition:background .15s,color .15s}.edit-tab.active{color:var(--ink);background:#fff;box-shadow:0 1px 4px #0000001a}.edit-colors-section{flex-direction:column;gap:.55rem;display:flex}.edit-fonts-section{flex-direction:column;gap:.65rem;display:flex}.edit-font-field{gap:.35rem;display:grid}.edit-font-field span{color:var(--muted);font-size:.78rem;font-weight:700}.edit-font-field select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;outline:none;padding:.48rem .6rem;font-size:.82rem}.edit-font-field select:focus{border-color:var(--brand)}.edit-font-preview{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;padding:.55rem .65rem;font-size:1.05rem;font-weight:700}.edit-font-preview-body{font-size:.86rem;font-weight:500;line-height:1.45}.color-row{color:var(--ink);align-items:center;gap:.5rem;font-size:.82rem;display:flex}.color-swatch-btn{cursor:pointer;border:1.5px solid #00000026;border-radius:6px;flex-shrink:0;width:28px;height:28px;transition:transform .1s}.color-swatch-btn:hover{transform:scale(1.1)}.color-row-info{flex-direction:column;flex:1;min-width:0;display:flex}.color-row-label{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.color-row-sub{color:var(--muted);font-size:.68rem}.color-hex-input{border:1px solid var(--line);width:68px;color:var(--ink);text-align:center;background:#f8faff;border-radius:6px;padding:.2rem .4rem;font-family:monospace;font-size:.72rem}.color-hex-input:focus{border-color:var(--brand);outline:none}.eyedropper-btn{border:1px solid var(--line);cursor:pointer;width:28px;height:28px;color:var(--brand-deep);background:#f0f4ff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.eyedropper-btn:hover{background:var(--brand-deep);color:#fff;border-color:var(--brand-deep)}.edit-color-preview-row{border:1px dashed var(--line);background:#f8faff;border-radius:8px;align-items:center;gap:.6rem;padding:.5rem .6rem;display:flex}.edit-color-preview-btn{color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:.4rem .9rem;font-size:.8rem;font-weight:700;transition:background .15s}.edit-color-preview-hint{color:var(--muted);font-size:.68rem;line-height:1.3}.edit-colors-save{background:var(--brand-deep);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:.35rem;padding:.5rem;font-size:.83rem;font-weight:700;transition:background .15s}.edit-colors-save:hover:not(:disabled){background:var(--brand)}.edit-colors-save:disabled{opacity:.6;cursor:default}.edit-tools-title{color:var(--ink);margin:0;font-size:.9rem;font-weight:800}.edit-tools-toggle{cursor:pointer;align-items:center;gap:.55rem;font-size:.88rem;font-weight:700;display:flex}.edit-tools-toggle input{accent-color:var(--brand);width:18px;height:18px}.edit-tools-hint{color:var(--muted);margin:0;font-size:.78rem;line-height:1.45}.edit-colors-panel{background:#fff;border-radius:12px;flex-direction:column;gap:.6rem;min-width:220px;padding:1rem 1.1rem;display:flex;box-shadow:0 8px 32px #0000002e}.edit-colors-title{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.72rem;font-weight:700}.color-row{color:var(--ink);cursor:pointer;align-items:center;gap:.6rem;font-size:.82rem;display:flex}.color-row span{flex:1}.color-row input[type=color]{border:1px solid var(--line);cursor:pointer;border-radius:6px;width:28px;height:28px;padding:2px}.color-row code{color:var(--muted);min-width:60px;font-size:.72rem}.edit-colors-hint{color:var(--muted);margin:.2rem 0 0;font-size:.75rem;line-height:1.4}.editable-field{cursor:pointer;border-bottom:2px dashed #2878c866;border-radius:2px;padding-bottom:1px;transition:border-color .15s,background .15s;display:inline}.editable-field:hover{border-color:var(--brand);background:#2878c814}.editable-pencil{opacity:.45;vertical-align:super;margin-left:4px;font-size:.65rem}.editable-input{font:inherit;color:inherit;border:2px solid var(--brand);background:#2878c812;border-radius:4px;outline:none;width:min(100%,34rem);padding:1px 6px;display:inline}.hero-trust .editable-field.hero-trust-pill{color:#e8f4fc;background:#ffffff1f;border:1px solid #ffffff40;border-radius:999px;padding:.5rem .85rem}.hero-trust .editable-field.hero-trust-pill:hover{background:#fff3;border-color:#ffffff6b}.hero-trust .editable-input.hero-trust-pill{color:#fff;background:#ffffff29;border-color:#ffffffb3;width:auto;min-width:12rem;display:inline-block}.hero-trust .editable-pencil{display:none}.site-footer .editable-field{border-bottom-color:#ffffff4d}.site-footer .editable-field:hover{background:#ffffff14;border-bottom-color:#fffc}.site-footer .editable-input{color:#fff;background:#ffffff1a;border-color:#ffffffb3}.hero .section-bg-editor{z-index:101;top:5rem}.booking-calendar-compact .rdp-months{grid-template-columns:1fr!important}.booking-calendar-compact .rdp-day_button{width:28px;height:28px;font-size:.75rem}.booking-calendar-compact .rdp-caption_label{font-size:.82rem}.booking-calendar-minimal{background:0 0;padding:.1rem 0 0;--rdp-accent-color:var(--ink)!important;--rdp-accent-background-color:#0b1e3014!important}.booking-calendar-minimal .rdp-months{gap:0;grid-template-columns:1fr!important}.booking-calendar-minimal .rdp-month_caption{justify-content:center;min-height:30px}.booking-calendar-minimal .rdp-caption_label{color:var(--ink);font-size:.8rem;font-weight:700}.booking-calendar-minimal .rdp-weekday{color:var(--muted);font-size:.64rem;font-weight:600}.booking-calendar-minimal .rdp-day_button{border-radius:6px;width:26px;height:26px;font-size:.72rem}.booking-calendar-minimal .rdp-range_start .rdp-day_button,.booking-calendar-minimal .rdp-range_end .rdp-day_button,.booking-calendar-minimal .rdp-selected .rdp-day_button{color:#fff;background:var(--brand-deep);border-color:var(--brand-deep)}.booking-calendar-minimal .rdp-range_middle .rdp-day_button{color:var(--ink);background:#0f346014}.cal-fields-row{grid-template-columns:1fr 1fr;gap:.65rem;margin:.5rem 0 .75rem;display:grid}.cal-fields-row label{gap:.3rem;display:grid}.cal-fields-row span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:700}.cal-fields-row input[type=date]{border:1px solid var(--line);color:var(--ink);min-height:42px;font:inherit;background:#f8faff;border-radius:10px;padding:.6rem .75rem;font-size:.9rem;transition:border-color .15s}.cal-fields-row input[type=date]:focus{border-color:var(--brand);outline:none}.media-library-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.65rem;width:100%;margin-top:.75rem;display:grid}.media-library-item{color:var(--ink);cursor:pointer;border:1px solid var(--line);box-shadow:none;background:#fff;border-radius:8px;gap:.35rem;padding:.35rem;display:grid}.media-library-item:hover{border-color:var(--brand);background:#2878c80f}.media-library-thumb,.owner-gallery-media,.owner-upload-preview,.apartment-gallery-media{object-fit:cover;background:#071525;border:0;border-radius:6px;width:100%;display:block}.media-library-thumb{height:78px}.media-library-item span{color:var(--muted);font-size:.72rem;font-weight:700}.media-library-empty{color:var(--muted);margin:.6rem 0 0;font-size:.8rem}.owner-gallery-media{border-radius:0;height:120px}.owner-upload-preview{width:auto;height:80px;margin-top:6px}.owner-photo-dropzone{border:1.5px dashed var(--line);background:#ffffffb8;border-radius:8px;flex-direction:column;justify-content:center;width:min(100%,520px);min-height:180px;padding:1.25rem;transition:border-color .15s,background .15s;display:flex}.owner-photo-dropzone-active{border-color:var(--brand);background:#2878c814}.owner-photo-dropzone p{color:var(--ink);margin:0 0 .25rem;font-size:1rem;font-weight:700}.owner-photo-dropzone span{color:var(--muted);margin-bottom:.55rem;font-size:.78rem;display:block}.apartment-gallery-media{flex-shrink:0;width:260px;height:180px}.restaurant-hero-media{object-fit:cover;background:#071525;border:0;width:100%;height:100%;display:block}.restaurant-gallery-media{object-fit:cover;background:#071525;border:0;border-radius:8px;width:100%;height:140px;display:block}.restaurateur-card-media{object-fit:cover;background:#071525;border:0;border-radius:8px;flex-shrink:0;width:80px;height:60px;display:block}@media (max-width:640px){.dashboard-shell,.owner-dash{width:100%;min-width:0}.dashboard-header,.owner-dash-header,.admin-header,.admin-section-header{flex-direction:column;gap:.75rem;align-items:stretch!important}.dashboard-header h1,.owner-dash-name,.admin-section-header h2{overflow-wrap:anywhere;line-height:1.2}.dashboard-tabs,.admin-tabs{-webkit-overflow-scrolling:touch;margin-inline:-1rem;padding-inline:1rem;overflow-x:auto;border-bottom-width:1px!important}.dashboard-tabs button,.admin-tab{white-space:nowrap;flex:none;min-height:44px;padding-inline:.9rem!important}.dashboard-stats-grid{grid-template-columns:1fr!important;gap:.75rem!important}.dashboard-card-header,.dashboard-action-row,.dashboard-inline-field{flex-direction:column;align-items:stretch!important}.dashboard-action-row button,.dashboard-action-row a,.dashboard-inline-field button,.dashboard-inline-field input,.dashboard-header button,.owner-dash-header button,.admin-action-btn{justify-content:center;width:100%}.restaurant-card-row{flex-direction:column}.restaurateur-card-media{width:100%;height:170px}.restaurant-hours-grid{grid-template-columns:1fr!important;gap:4px 0!important}.panel{border-radius:14px;padding:1rem!important}.admin-body{padding:1rem}.admin-table-wrap{background:0 0;border:0;overflow:visible}.admin-table,.admin-table thead,.admin-table tbody,.admin-table tr,.admin-table td{width:100%;display:block}.admin-table thead{display:none}.admin-table{border-collapse:separate;border-spacing:0 .75rem}.admin-table tr{border:1px solid var(--line);background:#fff;border-radius:14px;padding:.35rem 0;overflow:hidden}.admin-table td{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:.7rem .9rem}.admin-table td:last-child{border-bottom:0}.admin-table td[data-label]{grid-template-columns:minmax(86px,34%) minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.admin-table td[data-label]:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:700}.admin-table td[colspan]{display:block}}.media-library-close{color:var(--muted);cursor:pointer;border:1px solid var(--line);font:inherit;background:#fff;border-radius:8px;margin-top:.75rem;padding:.45rem .75rem;font-size:.82rem}.ds-wrap{flex-direction:column;gap:2.5rem;max-width:1100px;padding:2rem;display:flex}.ds-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.ds-header h2{color:var(--ink);margin:0;font-size:1.4rem;font-weight:700}.ds-header p{color:var(--muted);margin:.25rem 0 0;font-size:.85rem}.ds-save-row{align-items:center;gap:1rem;display:flex}.ds-save-btn{background:var(--brand);color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;font:inherit;border:none;border-radius:8px;padding:.6rem 1.4rem;transition:background .15s,transform .1s}.ds-save-btn:hover{background:var(--brand-deep);transform:translateY(-1px)}.ds-save-btn:disabled{opacity:.6;cursor:default;transform:none}.ds-reset-btn{color:var(--muted);border:1px solid var(--line);font-size:.85rem;font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:.6rem 1rem;transition:border-color .15s,color .15s}.ds-reset-btn:hover{border-color:var(--muted);color:var(--ink)}.ds-save-msg{color:var(--success);font-size:.82rem;font-weight:600}.ds-card{border-radius:var(--radius-base);border:1px solid var(--line);background:#fff;overflow:hidden}.ds-card-header{border-bottom:1px solid var(--line);align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.ds-card-icon{background:var(--bg);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;display:flex}.ds-card-title{color:var(--ink);margin:0;font-size:.95rem;font-weight:700}.ds-card-desc{color:var(--muted);margin:.15rem 0 0;font-size:.8rem}.ds-card-body{padding:1.5rem}.ds-presets{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;display:grid}.ds-preset-btn{border:2px solid var(--line);cursor:pointer;text-align:left;background:0 0;border-radius:10px;padding:0;transition:border-color .15s,transform .1s,box-shadow .15s;overflow:hidden}.ds-preset-btn:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 6px 20px #0a1e3c1f}.ds-preset-btn.active{border-color:var(--brand);box-shadow:0 0 0 3px #2878c82e}.ds-preset-swatch{grid-template-columns:1fr 1fr;height:56px;display:grid}.ds-preset-info{padding:.6rem .75rem}.ds-preset-name{color:var(--ink);font-size:.82rem;font-weight:700;display:block}.ds-preset-desc{color:var(--muted);margin-top:2px;font-size:.72rem;display:block}.ds-color-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.ds-color-item{flex-direction:column;gap:.4rem;display:flex}.ds-color-label{color:var(--ink);font-size:.8rem;font-weight:600}.ds-color-sub{color:var(--muted);font-size:.72rem}.ds-color-picker-row{background:var(--bg);border:1px solid var(--line);border-radius:8px;align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}.ds-color-picker-row input[type=color]{cursor:pointer;background:0 0;border:none;border-radius:6px;width:32px;height:32px;padding:0}.ds-color-hex{color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:monospace;font-size:.82rem}.ds-color-preview{border:1px solid #0000001a;border-radius:50%;flex-shrink:0;width:16px;height:16px}.ds-font-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.ds-font-item label{color:var(--ink);margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.ds-font-select{border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;outline:none;padding:.5rem .75rem;font-size:.85rem;transition:border-color .15s}.ds-font-select:focus{border-color:var(--brand)}.ds-font-preview{background:var(--bg);color:var(--ink);border-radius:6px;margin-top:.5rem;padding:.6rem .75rem;font-size:1.1rem}.ds-content-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.ds-field{flex-direction:column;gap:.4rem;display:flex}.ds-field.full{grid-column:1/-1}.ds-field label{color:var(--ink);font-size:.8rem;font-weight:600}.ds-field input,.ds-field textarea{border:1px solid var(--line);width:100%;color:var(--ink);box-sizing:border-box;background:#fff;border-radius:8px;outline:none;padding:.5rem .75rem;font-family:inherit;font-size:.85rem;transition:border-color .15s}.ds-field input:focus,.ds-field textarea:focus{border-color:var(--brand)}.ds-field textarea{resize:vertical;min-height:70px}.ds-field select{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:.5rem .75rem}.ds-field select:focus{border-color:var(--brand)}.ds-media-preview{border:1px solid var(--line);object-fit:cover;background:#111;border-radius:12px;width:100%;max-height:260px}.ds-media-empty{border:1px dashed var(--line);color:var(--muted);background:#f8faff;border-radius:12px;padding:1rem}.ds-slider-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;display:grid}.ds-slider-item{flex-direction:column;gap:.4rem;display:flex}.ds-slider-header{justify-content:space-between;align-items:center;display:flex}.ds-slider-label{color:var(--ink);font-size:.8rem;font-weight:600}.ds-slider-val{color:var(--brand);font-family:monospace;font-size:.78rem;font-weight:700}.ds-slider-item input[type=range]{width:100%;accent-color:var(--brand);cursor:pointer}.ds-slider-sub{color:var(--muted);font-size:.72rem}.ds-palette-preview{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.ds-palette-swatch{border:1px solid #00000014;border-radius:8px;flex:1;align-items:flex-end;min-width:60px;height:48px;padding:.3rem .4rem;display:flex}.ds-palette-swatch span{text-shadow:0 1px 3px #00000080;color:#fff;mix-blend-mode:difference;font-size:.65rem;font-weight:700}@media (max-width:640px){.ds-font-grid,.ds-content-grid{grid-template-columns:1fr}.ds-field.full{grid-column:1}.ds-wrap{padding:1rem}}.local-seo-page{gap:1.25rem;display:grid}.local-seo-hero h1{font-family:var(--font-heading);letter-spacing:-.02em;margin:.25rem 0 .75rem;font-size:clamp(2rem,5vw,3.4rem);font-weight:800;line-height:1.05}.local-seo-hero p{max-width:70ch}.local-seo-cta{background:var(--brand-deep);color:#fff;border-radius:999px;align-items:center;width:fit-content;min-height:46px;margin-top:1.25rem;padding:.8rem 1.1rem;font-weight:700;text-decoration:none;transition:background .2s,transform .1s;display:inline-flex}.local-seo-cta:hover{background:var(--brand);transform:translateY(-1px)}.local-seo-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.local-seo-grid h2{margin:.25rem 0 .75rem;font-size:1.25rem;font-weight:700}.local-checklist{color:var(--muted);gap:.65rem;margin:.75rem 0 0;padding-left:1.1rem;line-height:1.55;display:grid}.local-seo-catalog{width:100%;padding:1rem 0 0}@media (max-width:780px){.local-seo-grid{grid-template-columns:1fr}}.sw-dates{grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.75rem;display:grid}.sw-row{align-items:flex-end;gap:.6rem;margin-bottom:.75rem;display:flex}.sw-field{flex-direction:column;gap:.25rem;display:flex}.sw-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.68rem;font-weight:700}.sw-input{border:1.5px solid var(--line);font:inherit;color:var(--ink);cursor:pointer;background:#f8faff;border-radius:10px;width:100%;padding:.55rem .7rem;font-size:.88rem;transition:border-color .15s}.sw-input:focus{border-color:var(--brand);background:#fff;outline:none}@media (max-width:480px){.sw-dates{grid-template-columns:1fr}.sw-row{flex-direction:column}}.date-picker-row{border:1.5px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:1fr auto 1fr;align-items:stretch;margin-bottom:.85rem;transition:border-color .15s;display:grid;position:relative;overflow:visible}.date-picker-row:focus-within{border-color:var(--brand)}.date-field{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:11px;flex-direction:column;gap:.15rem;padding:.7rem 1rem;transition:background .15s;display:flex}.date-field:hover{background:#2878c80d}.date-field--active{outline:2px solid var(--brand);outline-offset:-2px;background:#2878c812;border-radius:11px}.date-field-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.68rem;font-weight:700}.date-field-value{color:var(--ink);white-space:nowrap;font-size:.9rem;font-weight:500}.date-field:not(.date-field--filled) .date-field-value{color:var(--muted)}.date-field-separator{background:var(--line);align-self:stretch;width:1px;margin:.5rem 0}.date-popover{z-index:200;background:#fff;border-radius:16px;min-width:320px;padding:1rem 1rem .75rem;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 24px 80px #050e1e38,0 4px 16px #050e1e1a}.date-popover-hint{color:var(--muted);text-align:center;margin-bottom:.6rem;font-size:.78rem;font-weight:500}.booking-calendar-popup{font-size:.82rem;--rdp-accent-color:var(--brand-deep)!important;--rdp-accent-background-color:#0f34601a!important;margin:0!important}.booking-calendar-popup .rdp-months{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.5rem;width:100%;display:grid}.booking-calendar-popup .rdp-month{width:100%}.booking-calendar-popup .rdp-month_grid{table-layout:fixed;width:100%}.booking-calendar-popup .rdp-day_button{border-radius:50%;width:34px;height:34px;font-size:.8rem}.booking-calendar-popup .rdp-caption_label{font-size:.88rem;font-weight:600}.date-popover-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.65rem;display:flex}.date-popover-clear{color:var(--muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;border-radius:6px;padding:.3rem .5rem;font-size:.82rem;font-weight:600;text-decoration:underline;transition:color .15s}.date-popover-clear:hover{color:var(--ink)}.date-popover-confirm{background:var(--brand-deep);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.45rem 1.1rem;font-size:.85rem;font-weight:600;transition:background .15s}.date-popover-confirm:hover{background:var(--brand)}.booking-extras{flex:1;gap:.5rem;display:flex}.booking-select{border:1px solid var(--line);color:var(--ink);height:40px;font:inherit;cursor:pointer;background:#f8faff;border-radius:10px;flex:1;min-width:0;padding:0 .75rem;font-size:.83rem;transition:border-color .15s}.booking-select:focus{border-color:var(--brand);outline:none}@media (max-width:600px){.date-popover{width:calc(100vw - 2.8rem);min-width:0;left:0;right:0;transform:none}.booking-extras{flex-direction:column}.date-field-value{font-size:.82rem}}.client-chatbot{z-index:260;justify-items:end;gap:.75rem;max-width:calc(100vw - 2rem);display:grid;position:fixed;bottom:1.25rem;right:1.25rem}.client-chatbot-panel{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-rows:auto minmax(160px,1fr) auto auto;width:min(420px,100vw - 2rem);max-height:min(680px,100vh - 6rem);display:grid;overflow:hidden;box-shadow:0 24px 80px #050e1e3d}.client-chatbot-header{color:#fff;background:var(--brand-deep);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.client-chatbot-header p{margin:0 0 .25rem;font-weight:800}.client-chatbot-header span{color:#ffffffc7;font-size:.8rem}.client-chatbot-header button,.client-chatbot-launcher,.client-chatbot-prompts button,.client-chatbot-form button{cursor:pointer;font:inherit;border-radius:8px}.client-chatbot-header button{color:#fff;background:#ffffff1f;border:1px solid #ffffff38;padding:.45rem .7rem;font-size:.82rem;font-weight:700}.client-chatbot-messages{background:#f8faff;align-content:start;gap:.75rem;padding:1rem;display:grid;overflow-y:auto}.client-chatbot-message{white-space:pre-line;border:1px solid var(--line);border-radius:8px;max-width:92%;padding:.75rem .85rem;font-size:.9rem;line-height:1.5}.client-chatbot-message-assistant{color:var(--ink);background:#fff;justify-self:start}.client-chatbot-message-user{color:#fff;background:var(--brand);border-color:#0000;justify-self:end}.client-chatbot-prompts{background:#fff;flex-wrap:wrap;gap:.5rem;padding:.8rem 1rem 0;display:flex}.client-chatbot-prompts button{color:var(--brand-deep);background:#2878c814;border:1px solid #2878c82e;padding:.45rem .65rem;font-size:.78rem;font-weight:700}.client-chatbot-form{background:#fff;gap:.45rem;padding:.8rem 1rem 1rem;display:grid}.client-chatbot-form label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:800}.client-chatbot-form div{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.client-chatbot-form input{min-width:0;min-height:44px;color:var(--ink);border:1px solid var(--line);font:inherit;background:#f8faff;border-radius:8px;padding:.65rem .75rem}.client-chatbot-form input:focus{border-color:var(--brand);background:#fff;outline:none}.client-chatbot-form button,.client-chatbot-launcher{color:#fff;background:var(--brand-deep);border:1px solid #0000;font-weight:800}.client-chatbot-form button{min-height:44px;padding:.65rem .9rem}.client-chatbot-launcher{white-space:nowrap;max-width:220px;min-height:48px;padding:.75rem 1rem;transition:max-width .4s cubic-bezier(.4,0,.2,1),padding .4s cubic-bezier(.4,0,.2,1),opacity .3s;overflow:hidden;box-shadow:0 14px 38px #050e1e3d}.client-chatbot-launcher-full{max-width:220px}.client-chatbot-launcher-minimal{text-align:center;max-width:52px;padding-left:.75rem;padding-right:.75rem}.client-chatbot-launcher-hidden{opacity:0;pointer-events:none;border-width:0;max-width:0;padding-left:0;padding-right:0}.client-chatbot-form button:hover,.client-chatbot-launcher:hover{background:var(--brand)}.editable-gallery{gap:1rem;margin:1.5rem 0;display:grid}.editable-gallery-header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.editable-gallery-header h2{letter-spacing:-.02em;margin:.2rem 0 .35rem;font-size:clamp(1.35rem,3vw,2rem);font-weight:800}.editable-gallery-header p,.editable-gallery-empty,.editable-gallery-message{color:var(--muted);margin:0;line-height:1.55}.editable-gallery-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.editable-gallery-actions button,.editable-gallery-item button{color:#fff;background:var(--brand-deep);cursor:pointer;font:inherit;border:1px solid #0000;border-radius:8px;padding:.65rem .85rem;font-size:.84rem;font-weight:800}.editable-gallery-actions button:hover,.editable-gallery-item button:hover{background:var(--brand)}.editable-gallery-actions button:disabled{cursor:default;opacity:.65}.editable-gallery-library{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;padding:1rem}.editable-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.editable-gallery-item{border:1px solid var(--line);min-height:220px;box-shadow:var(--shadow);background:#fff;border-radius:8px;margin:0;position:relative;overflow:hidden}.editable-gallery-item img{object-fit:cover;width:100%;height:100%;min-height:220px}.editable-gallery-item button{position:absolute;bottom:.75rem;right:.75rem;box-shadow:0 10px 24px #050e1e3d}@media (max-width:820px){.editable-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.client-chatbot{bottom:.75rem;right:.75rem}.client-chatbot-panel{width:calc(100vw - 1.5rem);max-height:calc(100vh - 5rem)}.client-chatbot-form div{grid-template-columns:1fr}.editable-gallery-header{flex-direction:column;align-items:stretch}.editable-gallery-actions{justify-content:stretch}.editable-gallery-actions button{width:100%}.editable-gallery-grid{grid-template-columns:1fr}}
