:root{
  --background:38 45% 98%;--foreground:222 35% 13%;--card:0 0% 100%;--primary:174 74% 32%;--primary-foreground:0 0% 100%;--primary-glow:171 78% 47%;--secondary:190 55% 94%;--secondary-foreground:210 35% 18%;--muted:220 20% 95%;--muted-foreground:218 12% 43%;--accent:18 95% 62%;--accent-foreground:0 0% 100%;--leaf:145 56% 37%;--leaf-foreground:0 0% 100%;--sunny:41 96% 55%;--violet:258 78% 62%;--rose:344 84% 60%;--destructive:0 75% 55%;--border:218 22% 88%;--input:218 22% 90%;--radius:1.15rem;
  --gradient-tropical:linear-gradient(135deg,hsl(174 74% 32%) 0%,hsl(171 78% 47%) 45%,hsl(199 86% 55%) 100%);
  --gradient-sunset:linear-gradient(135deg,hsl(344 84% 60%) 0%,hsl(18 95% 62%) 45%,hsl(41 96% 58%) 100%);
  --gradient-vibe:linear-gradient(135deg,hsl(258 78% 62%) 0%,hsl(199 86% 55%) 45%,hsl(171 78% 47%) 100%);
  --shadow-soft:0 8px 30px -18px hsl(220 40% 10% / .35);
  --shadow-card:0 18px 60px -34px hsl(220 40% 10% / .38);
  --shadow-elegant:0 18px 45px -24px hsl(174 74% 22% / .65);
  --shadow-glow:0 0 54px hsl(171 78% 47% / .28);
  --transition-smooth:all .28s cubic-bezier(.4,0,.2,1)
}
*{box-sizing:border-box;border-color:hsl(var(--border))}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top left,hsl(174 80% 94% / .55),transparent 28rem),hsl(var(--background));color:hsl(var(--foreground));font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}h1,h2,h3,.font-display{font-family:'Outfit','Inter',system-ui,sans-serif;font-weight:800;letter-spacing:-.035em}h1,h2,h3,p{overflow-wrap:anywhere}.container{width:min(100% - 2rem,1180px);margin-inline:auto}.narrow{max-width:760px}.max-4xl{max-width:920px}.py-page{padding:3.3rem 0}.muted{color:hsl(var(--muted-foreground))}.small{font-size:.82rem}.tiny{width:1rem!important;height:1rem!important}.icon{width:1.25rem;height:1.25rem;stroke-width:2;display:inline-block;vertical-align:middle}.icon.small{width:1.05rem;height:1.05rem}.fill-star{fill:hsl(var(--sunny));color:hsl(var(--sunny))}.text-gradient-tropical{background:var(--gradient-tropical);-webkit-background-clip:text;background-clip:text;color:transparent}.hidden{display:none!important}.desktop-only{display:inline-flex}.full{width:100%;justify-content:center}.text-center{text-align:center}.text-right{text-align:right}.stack{display:grid;gap:1rem}.two-col{display:grid;gap:2rem}.sticky-card{position:sticky;top:5.2rem}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.7rem}.section-head h2,.page-title{font-size:clamp(2rem,4vw,3.25rem);line-height:1;margin:0}.section-head p,.page-subtitle{color:hsl(var(--muted-foreground));margin:.55rem 0 0;line-height:1.7}.lead{font-size:1.08rem;line-height:1.8;color:hsl(var(--muted-foreground));max-width:43rem}.badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.42rem .7rem;font-size:.74rem;font-weight:900;line-height:1;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border)/.7)}.badge-soft{background:hsl(var(--card)/.82);color:hsl(var(--primary));border-color:hsl(var(--primary)/.25)}.badge-sunset{background:var(--gradient-sunset);color:hsl(var(--accent-foreground));border:0}.badge-leaf{background:hsl(var(--leaf));color:hsl(var(--leaf-foreground));border:0}.badge-glass{background:hsl(0 0% 100% / .16);border-color:hsl(0 0% 100% / .3);color:white;backdrop-filter:blur(10px)}.badges{display:flex;flex-wrap:wrap;gap:.4rem}.top-left{position:absolute;top:.75rem;left:.75rem;z-index:2}.ai-chip{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;padding:.45rem .75rem;background:hsl(174 70% 92%);color:hsl(var(--primary));font-size:.76rem;font-weight:900;border:1px solid hsl(var(--primary)/.15)}
.site-header{position:sticky;top:0;z-index:60;background:hsl(var(--background)/.82);backdrop-filter:blur(18px);border-bottom:1px solid hsl(var(--border)/.74)}.nav-wrap{height:4.35rem;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:.65rem;font-family:'Outfit',system-ui,sans-serif;font-size:1.1rem;font-weight:900}.brand-name span{color:hsl(var(--primary))}.brand-mark{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:1rem;background:var(--gradient-tropical);color:hsl(var(--primary-foreground));box-shadow:var(--shadow-soft)}.desktop-nav{display:flex;align-items:center;gap:.18rem}.desktop-nav a{padding:.62rem .9rem;border-radius:999px;font-size:.9rem;font-weight:800;transition:var(--transition-smooth)}.desktop-nav a:hover,.desktop-nav a.active{background:hsl(var(--secondary));color:hsl(var(--primary))}.nav-actions{display:flex;align-items:center;gap:.5rem}.mobile-menu-toggle{display:none}.menu-close-icon{display:none}.mobile-menu{display:none;border-top:1px solid hsl(var(--border));background:hsl(var(--background)/.98);backdrop-filter:blur(14px)}.mobile-menu__inner{display:grid;gap:.35rem;padding:1rem 0 1.15rem}.mobile-menu__inner a:not(.btn){padding:.78rem .9rem;border-radius:.85rem;font-weight:800}.mobile-menu__inner a:hover{background:hsl(var(--secondary));color:hsl(var(--primary))}.site-header.open .mobile-menu{display:block}.site-header.open .menu-open-icon{display:none}.site-header.open .menu-close-icon{display:block}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:.92rem;padding:.7rem 1rem;font-weight:900;line-height:1;cursor:pointer;transition:var(--transition-smooth);white-space:nowrap;background:hsl(var(--card));color:hsl(var(--foreground))}.btn:hover{transform:translateY(-1px)}.btn-sm{padding:.5rem .72rem;font-size:.78rem}.btn-lg{padding:.9rem 1.25rem;font-size:1rem}.btn-hero{background:var(--gradient-tropical);color:hsl(var(--primary-foreground));box-shadow:var(--shadow-elegant)}.btn-hero:hover{filter:saturate(1.08) brightness(1.02);box-shadow:var(--shadow-glow)}.btn-sunset{background:var(--gradient-sunset);color:white;box-shadow:var(--shadow-elegant)}.btn-outline{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.btn-outline:hover{border-color:hsl(var(--primary)/.4);color:hsl(var(--primary))}.btn-ghost{background:transparent;color:hsl(var(--foreground))}.btn-ghost:hover{background:hsl(var(--secondary));color:hsl(var(--primary))}.btn-glass{background:hsl(0 0% 100% / .14);border-color:hsl(0 0% 100% / .3);color:white;backdrop-filter:blur(10px)}.btn-icon{width:2.55rem;height:2.55rem;padding:0}.card,.admin-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.35rem;box-shadow:var(--shadow-soft);overflow:hidden}.card-pad{padding:1.5rem}.soft-panel{background:hsl(var(--secondary)/.65);border:1px solid hsl(var(--border));border-radius:1.25rem}.form-control{width:100%;border:1px solid hsl(var(--input));background:hsl(var(--card));border-radius:.95rem;padding:.82rem .95rem;outline:none;transition:var(--transition-smooth);color:hsl(var(--foreground))}.form-control:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 4px hsl(var(--primary)/.12)}textarea.form-control{resize:vertical}label.label{display:block;font-size:.8rem;font-weight:900;margin-bottom:.45rem}.code-area{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;line-height:1.55}
.hero-slider{position:relative;height:min(72vh,660px);min-height:520px;overflow:hidden;background:hsl(var(--foreground));isolation:isolate}.hero-slider__track,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;pointer-events:none;transition:opacity .8s ease}.hero-slide.active{opacity:1;pointer-events:auto}.hero-slide>img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 5s ease}.hero-slide.active>img{transform:scale(1)}.hero-slide__overlay{position:absolute;inset:0;background:linear-gradient(90deg,hsl(222 45% 9% / .82) 0%,hsl(222 40% 12% / .45) 45%,hsl(222 40% 12% / .15) 100%),linear-gradient(180deg,transparent 70%,hsl(var(--background)) 100%)}.hero-slide__content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:white;padding-top:1rem}.hero-slide__content h1{font-size:clamp(2.75rem,7vw,5.6rem);line-height:.96;margin:.9rem 0 0;max-width:850px}.hero-slide__content p{font-size:clamp(1rem,2vw,1.25rem);line-height:1.7;max-width:620px;color:hsl(0 0% 100% / .82)}.hero-slide__actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1rem}.slider-nav{position:absolute;top:50%;transform:translateY(-50%);width:3rem;height:3rem;border:1px solid hsl(0 0% 100% / .26);border-radius:999px;background:hsl(0 0% 100% / .14);color:white;backdrop-filter:blur(12px);display:grid;place-items:center;cursor:pointer;z-index:4}.slider-nav.prev{left:1rem}.slider-nav.next{right:1rem}.slider-dots{position:absolute;left:50%;bottom:1.5rem;transform:translateX(-50%);display:flex;gap:.45rem;z-index:5}.slider-dots button{width:.7rem;height:.7rem;border-radius:999px;border:0;background:hsl(0 0% 100% / .45);cursor:pointer;transition:var(--transition-smooth)}.slider-dots button.active{width:2rem;background:white}.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,hsl(174 80% 95% / .75) 0%,hsl(var(--background)) 100%)}.intro-hero{border-bottom:1px solid hsl(var(--border)/.6)}.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:2.5rem;padding:4rem 0}.hero-title{font-size:clamp(2.25rem,5vw,4.4rem);line-height:1.03;margin:.8rem 0 0}.hero-search{margin-top:1.6rem;display:flex;gap:.5rem;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.25rem;padding:.5rem;box-shadow:var(--shadow-card)}.hero-search__field{display:flex;align-items:center;gap:.65rem;flex:1;padding:0 .75rem}.hero-search input{border:0;background:transparent;outline:0;width:100%;font-size:1rem}.trust-row{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:1rem;font-size:.9rem;color:hsl(var(--muted-foreground))}.trust-row span{display:flex;align-items:center;gap:.45rem}.trust-row .icon{color:hsl(var(--primary))}.smart-panel{align-self:center;background:hsl(var(--card)/.88);border:1px solid hsl(var(--border));border-radius:1.5rem;padding:1rem;box-shadow:var(--shadow-card);backdrop-filter:blur(10px)}.smart-panel__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem;gap:.75rem}.smart-pick{display:grid;grid-template-columns:4.5rem 1fr;gap:.8rem;align-items:center;padding:.65rem;border-radius:1rem;transition:var(--transition-smooth)}.smart-pick:hover{background:hsl(var(--secondary));transform:translateX(3px)}.smart-pick img{width:4.5rem;height:4.5rem;object-fit:cover;border-radius:.85rem}.smart-pick strong{display:block;line-height:1.2}.smart-pick small{display:block;color:hsl(var(--muted-foreground));margin-top:.25rem}
.category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.85rem}.category-card{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.35rem;padding:1.15rem;box-shadow:var(--shadow-soft);transition:var(--transition-smooth);min-height:150px}.category-card:hover{transform:translateY(-5px);border-color:hsl(var(--primary)/.35);box-shadow:var(--shadow-card)}.category-icon{display:grid;place-items:center;width:3.45rem;height:3.45rem;border-radius:1.05rem;background:var(--gradient-tropical);color:white;box-shadow:0 10px 28px -18px hsl(var(--primary)/.7)}.category-card:nth-child(2n) .category-icon{background:var(--gradient-sunset)}.category-card:nth-child(3n) .category-icon{background:var(--gradient-vibe)}.category-card strong{font-family:'Outfit';font-size:1.05rem}.category-card small{color:hsl(var(--muted-foreground));line-height:1.4}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.services-grid.compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{position:relative;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.45rem;overflow:hidden;box-shadow:var(--shadow-soft);transition:var(--transition-smooth)}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-card);border-color:hsl(var(--primary)/.25)}.service-card__link{display:block;height:100%}.service-card__image{position:relative;overflow:hidden}.service-card__image img{width:100%;height:220px;object-fit:cover;transition:transform .55s ease}.service-card:hover .service-card__image img{transform:scale(1.08)}.service-card__body{padding:1rem 1.05rem 1.1rem}.service-card h3{font-size:1.18rem;line-height:1.18;margin:.55rem 0 .45rem}.service-card p{color:hsl(var(--muted-foreground));line-height:1.55;margin:0;font-size:.9rem}.service-card__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem;margin-top:1rem}.service-card__footer strong{display:block;font-family:'Outfit';font-size:1.05rem}.card-stats{display:grid;gap:.22rem;text-align:right;font-size:.82rem}.rating,.with-icon{display:inline-flex;align-items:center;gap:.25rem}.meta-line{display:flex;align-items:center;gap:.35rem;color:hsl(var(--muted-foreground));font-size:.82rem}.meta-category{color:hsl(var(--primary));font-weight:900}.wishlist-fab{position:absolute;top:.8rem;right:.8rem;z-index:3;width:2.4rem;height:2.4rem;border-radius:999px;border:1px solid hsl(0 0% 100% / .55);background:hsl(0 0% 100% / .85);backdrop-filter:blur(10px);display:grid;place-items:center;cursor:pointer;transition:var(--transition-smooth)}.wishlist-fab:hover{color:hsl(var(--rose));transform:scale(1.08)}.smart-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:1.2rem;align-items:center;background:linear-gradient(135deg,hsl(var(--foreground)) 0%,hsl(220 38% 19%) 100%);border-radius:1.7rem;padding:1.4rem;color:white;box-shadow:var(--shadow-card);overflow:hidden}.smart-section__copy{padding:1.2rem}.smart-section h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1;margin:.8rem 0}.smart-section p{color:hsl(0 0% 100% / .75);line-height:1.7}.recommendation-list{display:grid;gap:.75rem}.recommendation-item{display:grid;grid-template-columns:auto 5rem 1fr auto;gap:.85rem;align-items:center;padding:.75rem;background:hsl(0 0% 100% / .08);border:1px solid hsl(0 0% 100% / .12);border-radius:1.15rem;backdrop-filter:blur(10px)}.recommendation-item:hover{background:hsl(0 0% 100% / .13)}.recommendation-item img{width:5rem;height:4.2rem;object-fit:cover;border-radius:.85rem}.recommendation-item small{display:block;color:hsl(0 0% 100% / .62);margin-top:.2rem}.rank{font-weight:900;color:hsl(var(--sunny))}.why-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.7rem;padding:2rem;box-shadow:var(--shadow-card);text-align:center}.why-panel h2{font-size:clamp(2rem,4vw,3rem);margin:.2rem 0}.why-panel>p{color:hsl(var(--muted-foreground));line-height:1.7}.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.4rem}.why-card{padding:1.3rem;border-radius:1.25rem;background:hsl(var(--secondary)/.7);text-align:left}.why-card .icon{color:hsl(var(--primary));width:1.6rem;height:1.6rem}.why-card h3{margin:.75rem 0 .3rem}.why-card p{margin:0;color:hsl(var(--muted-foreground));line-height:1.6}.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.testimonial-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.3rem;padding:1.2rem;box-shadow:var(--shadow-soft)}.testimonial-card p{color:hsl(var(--muted-foreground));line-height:1.7}.stars{display:flex;gap:.15rem;color:hsl(var(--sunny))}.faq-list{display:grid;gap:.7rem}.faq-item{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.15rem;overflow:hidden;box-shadow:var(--shadow-soft)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;border:0;background:transparent;padding:1rem 1.1rem;text-align:left;font-weight:900;cursor:pointer}.faq-answer{display:none;color:hsl(var(--muted-foreground));line-height:1.7;padding:0 1.1rem 1rem}.faq-item.open .faq-answer{display:block}.faq-item.open .faq-question .icon{transform:rotate(180deg)}
.page-hero{background:linear-gradient(180deg,hsl(174 80% 94% / .8),transparent);padding:3rem 0 2rem}.search-panel{display:flex;gap:.6rem;margin-top:1.4rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.25rem;padding:.55rem;box-shadow:var(--shadow-soft)}.search-panel .field{display:flex;align-items:center;gap:.6rem;flex:1;padding:0 .7rem}.search-panel input{border:0;outline:0;background:transparent;width:100%}.layout-services{display:grid;grid-template-columns:280px 1fr;gap:1.4rem;padding:2rem 0 4rem;align-items:start}.filter-card,.mini-smart-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.35rem;padding:1rem;box-shadow:var(--shadow-soft);position:sticky;top:5.4rem}.mini-smart-card{position:static;margin-top:1rem}.filter-card h3{margin:0 0 .85rem}.filter-group{border-top:1px solid hsl(var(--border));padding-top:1rem;margin-top:1rem}.filter-group h4{font-size:.83rem;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground));margin:0 0 .6rem}.pill-list{display:flex;flex-wrap:wrap;gap:.45rem}.pill{display:inline-flex;border:1px solid hsl(var(--border));border-radius:999px;padding:.45rem .65rem;font-weight:800;font-size:.78rem;background:hsl(var(--card));transition:var(--transition-smooth)}.pill:hover,.pill.active{background:hsl(var(--primary));color:white;border-color:hsl(var(--primary))}.results-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.active-filters{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:1rem}.empty-state{padding:3rem 1.5rem;border:1px dashed hsl(var(--border));border-radius:1.4rem;text-align:center;background:hsl(var(--card))}.mini-pick{display:grid;grid-template-columns:3.5rem 1fr;gap:.7rem;align-items:center;padding:.6rem;border-radius:1rem}.mini-pick:hover{background:hsl(var(--secondary))}.mini-pick img{width:3.5rem;height:3.5rem;object-fit:cover;border-radius:.75rem}.mini-pick strong{display:block;font-size:.9rem;line-height:1.2}.mini-pick small{display:block;color:hsl(var(--muted-foreground));font-size:.75rem;margin-top:.2rem}.detail-page .breadcrumb{font-size:.85rem;color:hsl(var(--muted-foreground));margin-bottom:1rem}.detail-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.4rem}.detail-header h1{font-size:clamp(2rem,5vw,4rem);line-height:1;margin:.7rem 0}.detail-meta{display:flex;gap:1rem;flex-wrap:wrap;color:hsl(var(--muted-foreground))}.gallery{display:grid;grid-template-columns:1fr 210px;gap:.8rem;margin-bottom:2rem}.gallery-main img{width:100%;height:520px;object-fit:cover;border-radius:1.45rem;box-shadow:var(--shadow-card)}.thumbs{display:grid;gap:.8rem}.thumb{border:2px solid transparent;border-radius:1rem;padding:0;overflow:hidden;cursor:pointer;background:transparent}.thumb.active{border-color:hsl(var(--primary))}.thumb img{width:100%;height:120px;object-fit:cover}.detail-grid{display:grid;grid-template-columns:1fr 340px;gap:2rem;align-items:start}.content-stack{display:grid;gap:2rem}.content-stack section{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.35rem;padding:1.4rem;box-shadow:var(--shadow-soft)}.content-stack h2{margin:0 0 .7rem}.feature-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.tab-btn{border:1px solid hsl(var(--border));background:hsl(var(--card));padding:.55rem .8rem;border-radius:999px;font-weight:900;cursor:pointer}.tab-btn.active{background:hsl(var(--primary));color:white;border-color:hsl(var(--primary))}.tab-panel{display:none}.tab-panel.active{display:grid}.feature-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.feature-list div{display:flex;gap:.45rem;align-items:center;color:hsl(var(--muted-foreground))}.itinerary{display:grid;gap:.85rem}.itinerary-row{display:grid;grid-template-columns:5.5rem 1fr;gap:1rem}.time-pill{display:grid;place-items:center;height:2.25rem;border-radius:999px;background:hsl(var(--secondary));font-weight:900;color:hsl(var(--primary))}.booking-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.4rem;padding:1.25rem;box-shadow:var(--shadow-card)}.price-block strong{font-family:'Outfit';font-size:2rem}.booking-field{margin-top:1rem}.date-field{position:relative}.date-field .icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground))}.date-field input{padding-left:2.4rem}.guest-control{display:flex;justify-content:space-between;align-items:center;border:1px solid hsl(var(--border));border-radius:.95rem;padding:.75rem .85rem}.guest-buttons{display:flex;gap:.4rem}.icon-button{border:0;background:transparent;color:hsl(var(--primary));cursor:pointer}.estimate{border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));padding:1rem 0;margin:1rem 0}.estimate-row,.summary-line{display:flex;justify-content:space-between;gap:1rem;align-items:center}.mobile-cta{display:none;position:fixed;left:0;right:0;bottom:0;background:hsl(var(--card));border-top:1px solid hsl(var(--border));z-index:50}.mobile-cta-inner{display:flex;align-items:center;justify-content:space-between;padding:.7rem 0}.stepper{display:flex;justify-content:center;gap:0;margin-bottom:2rem}.stepper-item{display:flex;align-items:center;color:hsl(var(--muted-foreground))}.step-circle{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:999px;background:hsl(var(--muted));font-weight:900}.stepper-item.active .step-circle,.stepper-item.done .step-circle{background:var(--gradient-tropical);color:white}.step-line{width:8rem;height:2px;background:hsl(var(--border));margin:0 .7rem}.booking-layout{display:grid;grid-template-columns:1fr 340px;gap:1.4rem;align-items:start}.booking-step{display:none}.booking-step.active{display:block}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.span-2{grid-column:span 2}.addon-list{display:grid;gap:.7rem}.addon-card{display:block;border:1px solid hsl(var(--border));border-radius:1rem;padding:1rem;cursor:pointer}.addon-card:has(input:checked){border-color:hsl(var(--primary));background:hsl(174 74% 96%)}.addon-card input{margin-right:.5rem}.addon-row{display:flex;justify-content:space-between;gap:1rem}.booking-actions{display:flex;justify-content:space-between;gap:.8rem;margin-top:1.4rem}.summary-card img,.summary-top img{width:4.4rem;height:4.4rem;object-fit:cover;border-radius:.9rem}.summary-top{display:grid;grid-template-columns:4.4rem 1fr;gap:.75rem;align-items:center}.summary-lines{display:grid;gap:.65rem;border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));padding:1rem 0;margin:1rem 0}.summary-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.summary-total strong{font-family:'Outfit';font-size:1.5rem}.promo-row{display:flex;gap:.5rem}.success-icon{display:inline-grid;place-items:center;width:5rem;height:5rem;border-radius:999px;background:hsl(145 56% 92%);color:hsl(var(--leaf))}.success-code{display:inline-flex;margin-top:1rem;background:hsl(var(--secondary));border-radius:999px;padding:.55rem .9rem;font-weight:900;color:hsl(var(--primary))}.success-actions{display:flex;justify-content:center;gap:.8rem;margin-top:1.4rem;flex-wrap:wrap}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.contact-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.35rem;padding:1.4rem;box-shadow:var(--shadow-soft);transition:var(--transition-smooth)}.contact-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card)}.contact-icon{display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:1rem;background:var(--gradient-tropical);color:white}.cta-panel{margin-top:2rem;background:var(--gradient-sunset);color:white;border-radius:1.6rem;padding:2rem;text-align:center;box-shadow:var(--shadow-card)}.cta-panel p{color:hsl(0 0% 100% / .82)}
.admin-page h1{font-size:clamp(2rem,4vw,3.4rem);margin:.5rem 0}.admin-alert{padding:1rem 1.1rem;border-radius:1rem;margin-bottom:1rem;font-weight:800;background:hsl(145 56% 92%);color:hsl(var(--leaf));border:1px solid hsl(var(--leaf)/.22)}.admin-alert.error{background:hsl(0 75% 95%);color:hsl(var(--destructive));border-color:hsl(var(--destructive)/.25)}.admin-login{display:grid;grid-template-columns:1fr 390px;gap:2rem;align-items:center;min-height:60vh}.admin-card{padding:1.1rem}.admin-topbar{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.3rem 0}.admin-stats div{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.25rem;padding:1.2rem;box-shadow:var(--shadow-soft)}.admin-stats strong{display:block;font-family:'Outfit';font-size:1.8rem}.admin-stats span{color:hsl(var(--muted-foreground));font-weight:800}.admin-tabs{position:sticky;top:4.35rem;z-index:25;display:flex;gap:.45rem;flex-wrap:wrap;padding:.75rem;background:hsl(var(--background)/.9);backdrop-filter:blur(12px);border:1px solid hsl(var(--border));border-radius:1.2rem;margin:1rem 0 1.5rem}.admin-tabs a{padding:.55rem .75rem;border-radius:999px;background:hsl(var(--card));border:1px solid hsl(var(--border));font-weight:900;font-size:.82rem}.admin-tabs a:hover{background:hsl(var(--primary));color:white;border-color:hsl(var(--primary))}.admin-section{scroll-margin-top:9rem;margin:2rem 0;padding-top:.5rem}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.check-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;font-weight:800}.check-inline{display:flex;align-items:center;gap:.4rem;font-weight:800}.inline-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:.7rem;align-items:end;margin-bottom:1rem}.admin-table-wrap{overflow:auto;border:1px solid hsl(var(--border));border-radius:1.2rem;background:hsl(var(--card));box-shadow:var(--shadow-soft)}.admin-table{width:100%;border-collapse:collapse;min-width:780px}.admin-table th,.admin-table td{padding:.8rem;border-bottom:1px solid hsl(var(--border));text-align:left;vertical-align:middle}.admin-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:hsl(var(--muted-foreground));background:hsl(var(--muted)/.6)}.admin-table td img{width:3.4rem;height:3.4rem;object-fit:cover;border-radius:.7rem;display:inline-block;vertical-align:middle;margin-right:.55rem}.admin-table td small,.mini-row small{display:block;color:hsl(var(--muted-foreground));line-height:1.4}.admin-table td form{display:inline-flex;gap:.35rem;margin:.1rem}.admin-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.mini-row{display:grid;grid-template-columns:auto 1fr auto;gap:.85rem;align-items:center}.mini-thumb{width:4.4rem;height:3.4rem;object-fit:cover;border-radius:.75rem}.booking-control{display:grid!important;grid-template-columns:120px 120px minmax(150px,1fr) auto;gap:.4rem!important}.site-footer{background:hsl(222 38% 12%);color:white;padding:3rem 0 1rem;margin-top:3rem}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}.footer-about p,.footer-contact p{color:hsl(0 0% 100% / .7);line-height:1.7}.footer-grid h4{margin:0 0 .8rem;font-family:'Outfit'}.footer-grid a:not(.brand){display:block;color:hsl(0 0% 100% / .72);margin:.5rem 0}.footer-grid a:hover{color:white}.footer-bottom{text-align:center;color:hsl(0 0% 100% / .55);font-size:.86rem;padding-top:2rem}.footer-brand .brand-mark{box-shadow:none}.toast{position:fixed;left:50%;bottom:1.2rem;transform:translateX(-50%) translateY(1rem);z-index:100;background:hsl(var(--foreground));color:white;border-radius:999px;padding:.85rem 1.1rem;opacity:0;pointer-events:none;transition:var(--transition-smooth);box-shadow:var(--shadow-card);font-weight:800}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.reveal{animation:fadeUp .6s ease both}@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media (max-width:1050px){.desktop-nav,.desktop-only{display:none}.mobile-menu-toggle{display:inline-flex}.hero-grid,.smart-section,.layout-services,.detail-grid,.booking-layout,.admin-login{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(3,1fr)}.services-grid,.testimonial-grid,.why-grid{grid-template-columns:repeat(2,1fr)}.filter-card{position:static}.gallery{grid-template-columns:1fr}.thumbs{grid-template-columns:repeat(4,1fr)}.thumb img{height:90px}.sticky-card{position:static}.admin-stats{grid-template-columns:repeat(2,1fr)}.inline-form{grid-template-columns:repeat(2,1fr)}.booking-control{grid-template-columns:1fr!important}.footer-grid{grid-template-columns:1fr 1fr}.mobile-cta{display:block}.detail-page{padding-bottom:5rem}}
@media (max-width:720px){.container{width:min(100% - 1rem,1180px)}.hero-slider{min-height:560px;height:72vh}.hero-slide__content h1{font-size:2.65rem}.hero-slide__actions,.hero-search,.search-panel,.results-head,.detail-header,.admin-topbar{flex-direction:column;align-items:stretch}.slider-nav{display:none}.hero-grid{padding:2.5rem 0}.category-grid,.services-grid,.services-grid.compact-grid,.testimonial-grid,.why-grid,.contact-grid,.admin-mini-grid,.admin-form-grid{grid-template-columns:1fr}.recommendation-item{grid-template-columns:auto 4.5rem 1fr}.recommendation-item b{grid-column:3}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.stepper-label,.step-line{display:none}.booking-layout{gap:1rem}.footer-grid{grid-template-columns:1fr}.admin-stats{grid-template-columns:1fr}.admin-tabs{top:4.35rem;max-height:6.2rem;overflow:auto}.inline-form{grid-template-columns:1fr}.hero-search .btn,.search-panel .btn{width:100%}.gallery-main img{height:330px}}

/* Smart live-operation upgrades */
.badge-glass.dark{background:hsl(222 38% 12% / .66);border-color:hsl(0 0% 100% / .26);color:white}.service-live-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem;color:hsl(var(--muted-foreground));font-size:.78rem;font-weight:800}.service-live-meta span{display:inline-flex;align-items:center;gap:.25rem;border:1px solid hsl(var(--border));background:hsl(var(--secondary)/.55);border-radius:999px;padding:.35rem .55rem}.live-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-top:1.15rem}.live-stat-grid div{padding:.8rem;border-radius:1rem;background:hsl(var(--card)/.82);border:1px solid hsl(var(--border));box-shadow:var(--shadow-soft)}.live-stat-grid strong{display:block;font-family:'Outfit';font-size:1.18rem;color:hsl(var(--primary))}.live-stat-grid span{display:block;color:hsl(var(--muted-foreground));font-size:.78rem;font-weight:800}.ops-snapshot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.ops-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.2rem;padding:1rem;box-shadow:var(--shadow-soft)}.ops-card .icon{color:hsl(var(--primary));margin-bottom:.55rem}.ops-card strong{display:block;font-family:'Outfit';font-size:1.25rem}.ops-card span{color:hsl(var(--muted-foreground));font-weight:800;font-size:.82rem}.tag-cloud{display:flex;gap:.5rem;flex-wrap:wrap}.tag-cloud span{border-radius:999px;padding:.5rem .7rem;background:hsl(var(--secondary));border:1px solid hsl(var(--border));font-weight:900;font-size:.82rem;color:hsl(var(--secondary-foreground))}.category-card:nth-child(4n) .category-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.category-card:nth-child(5n) .category-icon{background:linear-gradient(135deg,#ec4899,#f97316)}.category-card:nth-child(6n) .category-icon{background:linear-gradient(135deg,#22c55e,#14b8a6)}.category-card:nth-child(7n) .category-icon{background:linear-gradient(135deg,#06b6d4,#3b82f6)}.category-card:nth-child(8n) .category-icon{background:linear-gradient(135deg,#ef4444,#f59e0b)}.category-card:nth-child(9n) .category-icon{background:linear-gradient(135deg,#eab308,#84cc16)}
@media (max-width:1050px){.live-stat-grid,.ops-snapshot{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.live-stat-grid,.ops-snapshot{grid-template-columns:1fr}}

/* Branding CRUD + dynamic logo/favicon */
.brand-logo-frame{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:1rem;background:#fff;border:1px solid hsl(var(--border));box-shadow:var(--shadow-soft);overflow:hidden;flex:0 0 auto}.brand-logo{width:100%;height:100%;object-fit:contain;padding:.18rem}.footer-brand .brand-logo-frame{background:hsl(0 0% 100% / .1);border-color:hsl(0 0% 100% / .18)}.footer-brand .brand-logo{padding:.12rem}.brand-name{letter-spacing:-.03em}.branding-form{overflow:visible}.branding-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.brand-preview-card{border:1px solid hsl(var(--border));border-radius:1.2rem;background:hsl(var(--background));padding:1rem;box-shadow:var(--shadow-soft)}.brand-preview-card.is-new{border-color:hsl(var(--primary)/.35);background:linear-gradient(135deg,hsl(var(--primary)/.07),hsl(var(--secondary)/.7))}.preview-label{display:block;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground));margin-bottom:.65rem}.brand-preview-box{display:grid;place-items:center;border:1px dashed hsl(var(--border));border-radius:1rem;background:linear-gradient(135deg,hsl(var(--card)),hsl(var(--muted)/.45));min-height:118px;padding:1rem;overflow:hidden}.brand-preview-box img{max-width:100%;max-height:92px;object-fit:contain}.brand-preview-box.logo-box{min-height:132px}.brand-preview-box.favicon-box{min-height:96px}.brand-preview-box.favicon-box img{width:54px;height:54px;object-fit:contain;border-radius:.75rem;box-shadow:var(--shadow-soft);background:#fff}.brand-preview-card small{display:block;margin-top:.65rem;color:hsl(var(--muted-foreground));word-break:break-all;line-height:1.45}.brand-action-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.brand-danger-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.admin-tabs a[href="#branding"]{background:hsl(var(--primary)/.1);color:hsl(var(--primary));border-color:hsl(var(--primary)/.25)}
@media(max-width:720px){.branding-preview-grid{grid-template-columns:1fr}.brand-action-row{align-items:flex-start;flex-direction:column}}


/* Modern professional icon system + scroll reveal */
.icon{stroke-linecap:round;stroke-linejoin:round}.brand-mark,.category-icon,.contact-icon,.ops-card .icon,.why-card .icon,.admin-tabs a .icon,.admin-mini-grid .mini-row>.icon{position:relative}.brand-mark{background:linear-gradient(135deg,#06b6d4 0%,#14b8a6 45%,#8b5cf6 100%);box-shadow:0 16px 36px -18px rgba(20,184,166,.85)}.category-icon{width:3.7rem;height:3.7rem;border-radius:1.25rem;color:#fff;box-shadow:0 18px 42px -22px rgba(15,23,42,.55),inset 0 1px 0 rgba(255,255,255,.28)}.category-icon .icon{width:1.65rem;height:1.65rem;filter:drop-shadow(0 8px 16px rgba(15,23,42,.22))}.category-card{background:linear-gradient(180deg,#fff 0%,hsl(var(--secondary)/.35) 100%)}.category-card:hover .category-icon{transform:translateY(-2px) rotate(-2deg) scale(1.04)}.category-card:nth-child(1) .category-icon{background:linear-gradient(135deg,#0284c7,#22d3ee)}.category-card:nth-child(2) .category-icon{background:linear-gradient(135deg,#f97316,#facc15)}.category-card:nth-child(3) .category-icon{background:linear-gradient(135deg,#0d9488,#2dd4bf)}.category-card:nth-child(4) .category-icon{background:linear-gradient(135deg,#4f46e5,#8b5cf6)}.category-card:nth-child(5) .category-icon{background:linear-gradient(135deg,#db2777,#fb7185)}.category-card:nth-child(6) .category-icon{background:linear-gradient(135deg,#9333ea,#38bdf8)}.category-card:nth-child(7) .category-icon{background:linear-gradient(135deg,#0891b2,#2563eb)}.category-card:nth-child(8) .category-icon{background:linear-gradient(135deg,#ef4444,#f97316)}.category-card:nth-child(9) .category-icon{background:linear-gradient(135deg,#ca8a04,#84cc16)}.ai-chip .icon,.badge .icon,.meta-line .icon,.trust-row .icon{stroke-width:2.4}.admin-tabs a{display:inline-flex;align-items:center;gap:.4rem;box-shadow:0 10px 24px -20px rgba(15,23,42,.45)}.admin-tabs a .icon{color:hsl(var(--primary));stroke-width:2.5}.admin-tabs a:hover .icon{color:#fff}.admin-mini-grid .mini-row>.icon,.ops-card .icon,.why-card .icon,.contact-icon{border-radius:1rem;background:linear-gradient(135deg,hsl(var(--primary)/.14),hsl(var(--secondary)));padding:.42rem;width:2.25rem!important;height:2.25rem!important;color:hsl(var(--primary));box-shadow:0 14px 28px -22px hsl(var(--primary)/.7)}.service-card .meta-category .icon{color:hsl(var(--primary));filter:drop-shadow(0 4px 8px hsl(var(--primary)/.18))}.btn .icon,.wishlist-fab .icon{stroke-width:2.5}.reveal-on-scroll{opacity:0;transform:translate3d(0,28px,0) scale(.985);filter:blur(8px);transition:opacity .72s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),transform .72s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),filter .72s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}.reveal-on-scroll.is-visible{opacity:1;transform:none;filter:blur(0)}.hero-slide__content{animation:heroTextLift .9s ease both}.service-card,.category-card,.why-card,.testimonial-card,.recommendation-item,.admin-card,.admin-stats div{will-change:transform,opacity}.service-card:hover,.category-card:hover,.why-card:hover,.testimonial-card:hover,.admin-card:hover{transform:translateY(-6px)}@keyframes heroTextLift{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.hero-slide__content{animation:none!important}}

/* Professional admin sidebar dashboard */
.admin-body{background:linear-gradient(135deg,hsl(218 42% 97%),hsl(174 78% 96%));min-height:100vh}.admin-body .site-header,.admin-body .site-footer{display:none}.admin-page{min-height:100vh}.admin-page>.admin-alert{position:fixed;top:1rem;right:1rem;z-index:180;max-width:min(480px,calc(100% - 2rem));box-shadow:var(--shadow-card)}.admin-app{display:grid;grid-template-columns:292px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .28s cubic-bezier(.4,0,.2,1)}.admin-sidebar{position:sticky;top:0;height:100vh;z-index:100;display:flex;flex-direction:column;gap:.8rem;padding:1rem;background:linear-gradient(180deg,hsl(222 45% 12%),hsl(222 42% 9%));color:white;border-right:1px solid hsl(0 0% 100% / .1);box-shadow:22px 0 55px -42px hsl(222 50% 8% / .85);overflow:auto}.admin-sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:.35rem .3rem 1rem;border-bottom:1px solid hsl(0 0% 100% / .12)}.admin-sidebar-logo{width:2.85rem;height:2.85rem;display:grid;place-items:center;border-radius:1.05rem;background:linear-gradient(135deg,#22d3ee,#14b8a6 48%,#8b5cf6);box-shadow:0 18px 38px -18px rgba(34,211,238,.55);flex:0 0 auto}.admin-sidebar-title strong{display:block;font-family:'Outfit';font-size:1.05rem;letter-spacing:-.03em}.admin-sidebar-title small,.admin-sidebar-text small{display:block;color:hsl(0 0% 100% / .55);font-size:.72rem;font-weight:800;margin-top:.08rem}.admin-sidebar-toggle{display:flex;align-items:center;gap:.65rem;border:1px solid hsl(0 0% 100% / .12);background:hsl(0 0% 100% / .08);color:white;border-radius:1rem;padding:.78rem .85rem;font-weight:900;cursor:pointer;transition:var(--transition-smooth)}.admin-sidebar-toggle:hover{background:hsl(0 0% 100% / .14);transform:translateY(-1px)}.admin-sidebar-nav{display:grid;gap:.35rem}.admin-sidebar-nav a{display:flex;align-items:center;gap:.72rem;padding:.78rem .85rem;border-radius:1rem;border:1px solid transparent;color:hsl(0 0% 100% / .82);font-weight:900;transition:var(--transition-smooth)}.admin-sidebar-nav a .icon{flex:0 0 auto;color:hsl(174 78% 68%);stroke-width:2.45}.admin-sidebar-nav a strong{display:block}.admin-sidebar-nav a:hover,.admin-sidebar-nav a.active{background:hsl(0 0% 100% / .12);border-color:hsl(0 0% 100% / .14);color:white;transform:translateX(2px)}.admin-sidebar-nav a.active .icon{color:hsl(41 96% 64%)}.admin-sidebar-footer{margin-top:auto;padding-top:.9rem;border-top:1px solid hsl(0 0% 100% / .12)}.admin-sidebar-footer .btn{background:hsl(0 0% 100% / .08);border-color:hsl(0 0% 100% / .14);color:white}.admin-main{min-width:0}.admin-main-inner{width:min(100% - 2rem,1320px);margin-inline:auto;padding:1.3rem 0 3rem}.admin-topbar{position:sticky;top:0;z-index:40;padding:1rem 0;background:linear-gradient(180deg,hsl(218 42% 97% / .96),hsl(218 42% 97% / .72));backdrop-filter:blur(16px);border-bottom:1px solid hsl(var(--border)/.72);margin-bottom:1rem}.admin-top-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.admin-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:-.2rem 0 1.6rem}.admin-control-card{display:grid;gap:.35rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.25rem;padding:1rem;box-shadow:var(--shadow-soft)}.admin-control-card .icon{color:hsl(var(--primary));background:hsl(var(--primary)/.1);border-radius:.85rem;padding:.4rem;width:2.15rem!important;height:2.15rem!important}.admin-control-card strong{font-family:'Outfit';font-size:1.05rem}.admin-control-card span{color:hsl(var(--muted-foreground));font-weight:700;line-height:1.55}.admin-section{scroll-margin-top:6rem}.admin-section>h2,.admin-section .section-head h2{display:flex;align-items:center;gap:.5rem}.admin-app.is-collapsed{grid-template-columns:88px minmax(0,1fr)}.admin-app.is-collapsed .admin-sidebar{align-items:center;padding:.9rem .65rem}.admin-app.is-collapsed .admin-sidebar-title,.admin-app.is-collapsed .admin-sidebar-text,.admin-app.is-collapsed .admin-sidebar-toggle span,.admin-app.is-collapsed .admin-sidebar-footer span{display:none}.admin-app.is-collapsed .admin-sidebar-brand{justify-content:center;width:100%;padding-bottom:.8rem}.admin-app.is-collapsed .admin-sidebar-toggle,.admin-app.is-collapsed .admin-sidebar-nav a{justify-content:center;width:3.15rem;height:3.15rem;padding:0}.admin-app.is-collapsed .admin-sidebar-nav a:hover,.admin-app.is-collapsed .admin-sidebar-nav a.active{transform:none}.admin-app.is-collapsed .admin-sidebar-footer .btn{width:3.15rem;height:3.15rem;padding:0}.admin-body.admin-sidebar-open{overflow:hidden}.admin-body.admin-sidebar-open:after{content:"";position:fixed;inset:0;background:hsl(222 45% 9% / .48);z-index:90;backdrop-filter:blur(2px)}
@media(max-width:1100px){.admin-app{grid-template-columns:1fr}.admin-app.is-collapsed{grid-template-columns:1fr}.admin-sidebar{position:fixed;left:0;top:0;bottom:0;width:min(310px,86vw);transform:translateX(-105%);transition:transform .28s cubic-bezier(.4,0,.2,1)}.admin-body.admin-sidebar-open .admin-sidebar{transform:translateX(0)}.admin-app.is-collapsed .admin-sidebar{align-items:stretch;padding:1rem}.admin-app.is-collapsed .admin-sidebar-title,.admin-app.is-collapsed .admin-sidebar-text,.admin-app.is-collapsed .admin-sidebar-toggle span,.admin-app.is-collapsed .admin-sidebar-footer span{display:block}.admin-app.is-collapsed .admin-sidebar-toggle,.admin-app.is-collapsed .admin-sidebar-nav a{justify-content:flex-start;width:auto;height:auto;padding:.78rem .85rem}.admin-app.is-collapsed .admin-sidebar-footer .btn{width:100%;height:auto;padding:.7rem 1rem}.admin-main-inner{width:min(100% - 1.2rem,1320px)}.admin-control-grid{grid-template-columns:1fr}.admin-topbar{position:static}.admin-top-actions{justify-content:flex-start}.admin-body.admin-sidebar-open .admin-main{pointer-events:none}}@media(max-width:720px){.admin-login{padding:1rem;min-height:100vh}.admin-page>.admin-alert{left:1rem;right:1rem}.admin-stats,.admin-control-grid{grid-template-columns:1fr}.admin-topbar h1{font-size:2.1rem}.admin-main-inner{padding-top:.7rem}.admin-table{min-width:920px}}

/* Admin branding synchronization */
.admin-sidebar-logo.has-image,
.admin-sidebar-logo.has-image img,
.admin-login-logo img,
.admin-topbar-logo img{
  background:#fff;
}
.admin-sidebar-logo.has-image{
  overflow:hidden;
  padding:.28rem;
  border:1px solid hsl(0 0% 100% / .18);
}
.admin-sidebar-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:.72rem;
  display:block;
}
.admin-login-brand,
.admin-topbar-brandline{
  display:flex;
  align-items:center;
  gap:.9rem;
}
.admin-login-brand{
  margin-bottom:1rem;
}
.admin-login-brand strong{
  display:block;
  font-family:'Outfit',sans-serif;
  font-size:1.25rem;
  letter-spacing:-.035em;
}
.admin-login-brand small{
  display:block;
  color:hsl(var(--muted-foreground));
  font-weight:800;
  margin-top:.12rem;
}
.admin-login-logo,
.admin-topbar-logo{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:#fff;
  border:1px solid hsl(var(--border));
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.admin-login-logo{
  width:4.5rem;
  height:4.5rem;
  border-radius:1.35rem;
  padding:.35rem;
}
.admin-login-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:1rem;
}
.admin-topbar-logo{
  width:5rem;
  height:5rem;
  border-radius:1.35rem;
  padding:.35rem;
}
.admin-topbar-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:1rem;
}
.admin-login-logo.is-fallback,
.admin-topbar-logo.is-fallback{
  color:white;
  background:linear-gradient(135deg,#22d3ee,#14b8a6 48%,#8b5cf6);
  border:0;
}
@media(max-width:720px){
  .admin-topbar-brandline{align-items:flex-start}
  .admin-topbar-logo{width:3.8rem;height:3.8rem;border-radius:1rem}
  .admin-login-logo{width:3.8rem;height:3.8rem;border-radius:1rem}
}
.admin-brand-dashboard-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:1rem;
  margin:-.4rem 0 1.6rem;
  background:linear-gradient(135deg,#fff,hsl(var(--secondary)/.55));
}
.admin-brand-dashboard-logo{
  width:9.5rem;
  height:4.8rem;
  display:grid;
  place-items:center;
  padding:.45rem;
  border-radius:1.25rem;
  border:1px solid hsl(var(--border));
  background:#fff;
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  color:white;
}
.admin-brand-dashboard-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.admin-brand-dashboard-logo .icon{
  background:linear-gradient(135deg,#22d3ee,#14b8a6 48%,#8b5cf6);
  border-radius:1rem;
  width:3.3rem!important;
  height:3.3rem!important;
  padding:.7rem;
}
.admin-brand-dashboard-card h2{
  margin:.35rem 0 .2rem;
}
@media(max-width:860px){
  .admin-brand-dashboard-card{grid-template-columns:1fr}
  .admin-brand-dashboard-logo{width:min(100%,14rem)}
}

/* Live operations workflow */
.booking-flow-note{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  margin-top:1rem;
  padding:1rem;
  border:1px solid hsl(var(--border));
  border-radius:1.1rem;
  background:linear-gradient(135deg,hsl(var(--secondary)/.72),#fff);
  color:hsl(var(--foreground));
  font-size:.94rem;
}
.terms-check{
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  margin-top:1rem;
  padding:.9rem 1rem;
  border-radius:1rem;
  background:hsl(var(--muted)/.35);
  color:hsl(var(--muted-foreground));
  font-size:.92rem;
}
.terms-check input{margin-top:.15rem}
.summary-ops-card{
  display:grid;
  gap:.4rem;
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:linear-gradient(135deg,#ecfeff,#f8fafc);
  border:1px solid hsl(var(--border));
  color:hsl(var(--muted-foreground));
  font-size:.86rem;
}
.summary-ops-card strong{display:flex;align-items:center;gap:.4rem;color:hsl(var(--foreground))}
.status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:.42rem .72rem;
  font-size:.78rem;
  font-weight:900;
  border:1px solid transparent;
  white-space:nowrap;
}
.status-pill.is-good{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.status-pill.is-warning{background:#fef3c7;color:#92400e;border-color:#fde68a}
.status-pill.is-danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.status-pill.is-info{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}
.status-pill.is-muted{background:#f1f5f9;color:#475569;border-color:#e2e8f0}
.booking-public-timeline .section-head.compact{align-items:flex-start;margin-bottom:1rem}
.public-timeline{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:.6rem;
  margin:1.2rem 0;
}
.public-timeline-item{
  position:relative;
  display:grid;
  gap:.45rem;
  justify-items:center;
  text-align:center;
  color:hsl(var(--muted-foreground));
  font-size:.8rem;
}
.public-timeline-item span{
  width:1rem;
  height:1rem;
  border-radius:999px;
  background:hsl(var(--border));
  box-shadow:0 0 0 .35rem hsl(var(--muted)/.45);
}
.public-timeline-item.done span{background:hsl(var(--leaf));box-shadow:0 0 0 .35rem rgba(34,197,94,.13)}
.public-timeline-item.active span{background:hsl(var(--sunset));box-shadow:0 0 0 .35rem rgba(249,115,22,.16)}
.public-timeline-item small{font-weight:800;line-height:1.25}
.workflow-board{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:.9rem;
  margin-bottom:1.2rem;
}
.workflow-step-card{
  min-height:11rem;
  display:flex;
  flex-direction:column;
  gap:.55rem;
  padding:1rem;
  border-radius:1.2rem;
  background:linear-gradient(135deg,#fff,#f8fafc);
  border:1px solid hsl(var(--border));
}
.workflow-step-card strong{font-size:.98rem}
.workflow-step-card small{color:hsl(var(--muted-foreground));line-height:1.45}
.workflow-icon{
  width:2.6rem;
  height:2.6rem;
  display:grid;
  place-items:center;
  border-radius:.95rem;
  background:linear-gradient(135deg,#0ea5e9,#14b8a6);
  color:#fff;
}
.owner-kpi-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:1rem;
  margin-bottom:1.2rem;
}
.owner-kpi{
  padding:1.1rem;
  border-radius:1.25rem;
  background:linear-gradient(135deg,#fff,#f8fafc);
  border:1px solid hsl(var(--border));
  box-shadow:var(--shadow-soft);
}
.owner-kpi span{display:block;color:hsl(var(--muted-foreground));font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}
.owner-kpi strong{display:block;margin:.35rem 0;font-family:var(--font-display);font-size:1.65rem;line-height:1.1}
.owner-kpi small{color:hsl(var(--muted-foreground));line-height:1.4}
.ops-rule-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:.9rem;
}
.ops-rule-grid div{
  display:grid;
  gap:.3rem;
  padding:1rem;
  border-radius:1rem;
  background:hsl(var(--secondary)/.55);
}
.ops-rule-grid span{color:hsl(var(--muted-foreground));font-size:.9rem;line-height:1.4}
.booking-kanban{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  gap:.75rem;
  margin-bottom:1rem;
}
.kanban-stage{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.7rem;
  padding:.85rem 1rem;
  border-radius:1rem;
  background:#fff;
  border:1px solid hsl(var(--border));
  box-shadow:var(--shadow-soft);
}
.kanban-stage span{font-weight:800;color:hsl(var(--muted-foreground));font-size:.82rem}
.kanban-stage strong{font-family:var(--font-display);font-size:1.2rem}
.admin-booking-list{display:grid;gap:1rem}
.admin-booking-card{
  padding:1rem;
  border-radius:1.4rem;
  background:#fff;
  border:1px solid hsl(var(--border));
  box-shadow:var(--shadow-soft);
}
.booking-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.8rem;
}
.booking-card-head strong{display:block;font-size:1rem}
.booking-card-head small{display:block;color:hsl(var(--muted-foreground));margin-top:.2rem}
.booking-progress{height:.5rem;background:hsl(var(--muted)/.5);border-radius:999px;overflow:hidden;margin-bottom:1rem}
.booking-progress span{display:block;height:100%;background:linear-gradient(90deg,hsl(var(--leaf)),hsl(var(--sunset)));border-radius:inherit}
.booking-info-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:.75rem;
  margin-bottom:1rem;
}
.booking-info-grid div{
  display:grid;
  gap:.2rem;
  padding:.85rem;
  border-radius:.95rem;
  background:hsl(var(--secondary)/.52);
}
.booking-info-grid span{color:hsl(var(--muted-foreground));font-weight:800;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em}
.booking-info-grid strong{font-size:.95rem}
.booking-info-grid small{color:hsl(var(--muted-foreground));line-height:1.35}
.booking-control-rich{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.75rem;
  align-items:end;
}
.booking-control-rich .span-2{grid-column:span 2}
.booking-actions-inline{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
@media(max-width:980px){
  .booking-control-rich{grid-template-columns:repeat(2,minmax(0,1fr))}
  .public-timeline{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:1rem}
}
@media(max-width:620px){
  .booking-control-rich{grid-template-columns:1fr}
  .booking-control-rich .span-2{grid-column:span 1}
  .booking-card-head{flex-direction:column}
  .public-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.delete-booking-form{margin-top:.7rem;display:flex;justify-content:flex-end}

/* Admin dashboard responsive panel navigation */
.admin-app{grid-template-columns:320px minmax(0,1fr)}
.admin-sidebar{overflow:hidden;padding:.85rem;gap:.62rem}
.admin-sidebar-brand{padding:.25rem .25rem .72rem}
.admin-sidebar-toggle{min-height:42px;padding:.62rem .72rem;border-radius:.9rem}
.admin-menu-search-wrap{display:flex;align-items:center;gap:.5rem;border:1px solid hsl(0 0% 100% / .12);background:hsl(0 0% 100% / .08);border-radius:.95rem;padding:.48rem .62rem;color:hsl(0 0% 100% / .72)}
.admin-menu-search{width:100%;border:0;outline:0;background:transparent;color:white;font-weight:800;font-size:.86rem}
.admin-menu-search::placeholder{color:hsl(0 0% 100% / .46)}
.admin-sidebar-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem;align-content:start;overflow:visible;padding:.05rem 0 .2rem}
.admin-sidebar-group-label{grid-column:1/-1;margin:.18rem .1rem .02rem;color:hsl(0 0% 100% / .42);font-size:.66rem;font-weight:950;text-transform:uppercase;letter-spacing:.12em}
.admin-sidebar-nav a{min-height:54px;padding:.55rem .5rem;border-radius:.95rem;gap:.48rem;align-items:center;background:hsl(0 0% 100% / .045)}
.admin-sidebar-nav a .icon{width:1.1rem!important;height:1.1rem!important}
.admin-sidebar-text strong{font-size:.83rem;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.admin-sidebar-title small,.admin-sidebar-text small{font-size:.62rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.admin-sidebar-footer{padding-top:.55rem}
.admin-content-panel{display:none;animation:adminPanelIn .22s ease-out both}
.admin-content-panel.is-active{display:block}
.admin-dashboard-overview{scroll-margin-top:0}
.admin-panel-select-wrap{display:none;gap:.35rem;align-items:center;font-weight:900;color:hsl(var(--muted-foreground));font-size:.82rem}
.admin-panel-select{min-width:180px;padding:.62rem .8rem;border-radius:.9rem}
.admin-section{scroll-margin-top:0}
@keyframes adminPanelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.admin-app.is-collapsed{grid-template-columns:88px minmax(0,1fr)}
.admin-app.is-collapsed .admin-sidebar{overflow:visible}
.admin-app.is-collapsed .admin-menu-search-wrap,.admin-app.is-collapsed .admin-sidebar-group-label{display:none}
.admin-app.is-collapsed .admin-sidebar-nav{grid-template-columns:1fr;gap:.42rem}
.admin-app.is-collapsed .admin-sidebar-nav a{min-height:3.15rem;background:hsl(0 0% 100% / .06)}
@media(max-height:760px) and (min-width:1101px){.admin-sidebar{gap:.46rem}.admin-sidebar-logo{width:2.45rem;height:2.45rem}.admin-sidebar-title small,.admin-sidebar-text small{display:none}.admin-sidebar-nav a{min-height:44px}.admin-sidebar-toggle{min-height:38px;padding:.5rem .65rem}.admin-sidebar-footer{display:none}.admin-menu-search-wrap{padding:.38rem .55rem}.admin-sidebar-group-label{margin:.08rem .1rem 0}}
@media(max-width:1100px){.admin-app{grid-template-columns:1fr}.admin-sidebar{overflow:auto;width:min(342px,88vw)}.admin-sidebar-nav{grid-template-columns:1fr}.admin-sidebar-nav a{min-height:auto;padding:.72rem .85rem}.admin-sidebar-text strong{font-size:.92rem}.admin-sidebar-text small{display:block;font-size:.68rem}.admin-panel-select-wrap{display:flex}.admin-top-actions{width:100%;justify-content:space-between}.admin-top-actions form{margin-left:auto}.admin-sidebar-footer{display:block}.admin-menu-search-wrap{display:flex}.admin-sidebar-group-label{display:block}.admin-app.is-collapsed .admin-menu-search-wrap,.admin-app.is-collapsed .admin-sidebar-group-label{display:block}.admin-app.is-collapsed .admin-sidebar-nav{grid-template-columns:1fr}.admin-app.is-collapsed .admin-sidebar-nav a{min-height:auto}.admin-body.admin-sidebar-open .admin-main{pointer-events:auto}}
@media(max-width:720px){.admin-panel-select-wrap{width:100%;align-items:stretch;flex-direction:column}.admin-panel-select{width:100%;min-width:0}.admin-top-actions{gap:.7rem}.admin-top-actions .btn,.admin-top-actions form,.admin-top-actions form .btn{width:100%;justify-content:center}.admin-sidebar{width:min(330px,90vw)}.admin-sidebar-nav{padding-bottom:1rem}.admin-menu-search-wrap{position:sticky;top:.2rem;z-index:2}}
@media(max-height:640px) and (min-width:1101px){.admin-sidebar-group-label{display:none}.admin-sidebar-nav a{min-height:40px;border-radius:.8rem}.admin-sidebar-brand{padding-bottom:.45rem}.admin-sidebar-toggle{display:none}.admin-menu-search-wrap{display:none}.admin-sidebar-nav{gap:.28rem}.admin-sidebar-footer{display:none}}

/* Demo mode badge and read-only states */
.demo-premium-badge{
  position:fixed;
  left:50%;
  bottom:.85rem;
  z-index:220;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:min(92vw,360px);
  padding:.72rem 1.05rem;
  border-radius:999px;
  background:linear-gradient(135deg,#f97316,#fb923c 55%,#facc15);
  color:#fff;
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 18px 45px -22px rgba(249,115,22,.8),0 0 0 0 rgba(249,115,22,.28);
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.08em;
  text-align:center;
  animation:demoBadgePulse 2.4s ease-in-out infinite;
  pointer-events:none;
}
@keyframes demoBadgePulse{
  0%,100%{transform:translateX(-50%) translateY(0) scale(1);box-shadow:0 18px 45px -22px rgba(249,115,22,.8),0 0 0 0 rgba(249,115,22,.32)}
  50%{transform:translateX(-50%) translateY(-3px) scale(1.018);box-shadow:0 22px 58px -20px rgba(249,115,22,.9),0 0 0 9px rgba(249,115,22,0)}
}
body{padding-bottom:4rem}
.demo-login-shortcuts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.6rem;
  margin-top:.2rem;
}
.demo-login-title{
  grid-column:1/-1;
  color:hsl(var(--muted-foreground));
  font-size:.78rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.demo-role-card{
  display:grid;
  gap:.22rem;
  text-align:left;
  border:1px solid hsl(var(--border));
  background:linear-gradient(180deg,#fff,hsl(var(--secondary)/.45));
  border-radius:1rem;
  padding:.8rem;
  cursor:pointer;
  transition:var(--transition-smooth);
}
.demo-role-card:hover{transform:translateY(-2px);border-color:hsl(var(--accent)/.35);box-shadow:var(--shadow-soft)}
.demo-role-card strong{font-family:'Outfit',sans-serif;font-size:.95rem}
.demo-role-card small{color:hsl(var(--muted-foreground));font-weight:850;font-size:.76rem}
.demo-view-badge{box-shadow:0 14px 28px -20px rgba(249,115,22,.8)}
.demo-readonly-field,
.demo-readonly-field:disabled{
  background:hsl(var(--muted)/.72)!important;
  color:hsl(var(--muted-foreground))!important;
  cursor:not-allowed!important;
  opacity:1!important;
}
.demo-action-disabled{
  cursor:not-allowed!important;
  filter:saturate(.82);
  opacity:.78;
}
.demo-action-disabled:hover{transform:none!important;box-shadow:var(--shadow-soft)!important}
@media(max-width:560px){.demo-login-shortcuts{grid-template-columns:1fr}.demo-premium-badge{font-size:.68rem;min-width:calc(100vw - 1.2rem);bottom:.55rem}}
