:root{--primary:#cda873;--secondary:#103c68;--bg:#f8fafc;--surface:#fff;--text:#334155;--muted:#64748b;--border:#e2e8f0;--danger:#ef4444;--success:#10b981;--radius:14px;--shadow:0 6px 18px rgba(15,23,42,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Segoe UI",Tahoma,Arial,sans-serif;line-height:1.6;overflow-x:hidden}.wrap{max-width:1120px;margin:auto;padding:0 18px}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}.logo{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--secondary);font-size:1.45rem;text-decoration:none}.logo img{max-height:96px;max-width:320px;width:auto;object-fit:contain;display:block}.social{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.social a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--primary);border:1px solid rgba(205,168,115,.35);border-radius:999px;width:38px;height:38px;background:white;transition:transform .15s ease,border-color .15s ease}.social a:hover{transform:translateY(-2px);border-color:var(--primary)}.social svg{width:19px;height:19px;display:block;fill:currentColor}.hero{background:var(--secondary);color:white;text-align:center;padding:56px 18px}.hero.has-bg{background-size:cover;background-position:center;background-blend-mode:normal}.hero h1{margin:0 0 10px;color:var(--primary);font-size:clamp(2rem,5vw,3.1rem);text-shadow:0 2px 8px rgba(0,0,0,.45)}.hero p{margin:0 auto;max-width:720px;font-size:1.08rem;color:rgba(255,255,255,.94)}.actions{background:white;border-bottom:1px solid var(--border)}.actions .wrap{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}.btn{border:0;border-radius:999px;background:var(--primary);color:white;font-weight:800;padding:12px 20px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit}.btn.outline{background:white;color:var(--secondary);border:1px solid var(--border)}.btn.full{width:100%}.section{padding:34px 0}.loading,.empty{text-align:center;color:var(--muted);padding:28px;background:white;border:1px dashed var(--border);border-radius:var(--radius)}.cats,.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:18px}.cat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);content-visibility:auto;contain-intrinsic-size:480px}.cat h2{margin:0 0 12px;color:var(--secondary);font-size:1.1rem;border-bottom:2px solid var(--border);padding-bottom:10px}.card{background:white;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:transform .16s ease,border-color .16s ease}.card:hover{transform:translateY(-3px);border-color:var(--primary)}.imgbox{height:238px;background:linear-gradient(135deg,#fff,#f8fafc);display:flex;align-items:center;justify-content:center;border-bottom:3px solid var(--primary);position:relative}.imgbox img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;padding:8px}.badge{position:absolute;top:12px;left:-34px;background:var(--danger);color:white;font-size:.78rem;font-weight:900;padding:5px 42px;transform:rotate(-45deg);z-index:1}.body{padding:12px}.body h3{margin:0 0 5px;color:var(--secondary);font-size:1.06rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.body p{margin:0 0 12px;color:var(--muted);font-size:.88rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:44px}.foot{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--border);padding-top:10px}.price{font-weight:900;color:var(--primary)}.old{text-decoration:line-through;color:var(--muted);font-size:.82rem;display:block}.more{margin-top:12px}.view-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.footer{margin-top:30px;background:var(--secondary);color:white;text-align:center;padding:28px 18px}.hidden{display:none!important}.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;z-index:100;padding:14px}.modal.active{display:flex}.modal-card{background:white;border-radius:var(--radius);width:min(920px,96vw);max-height:92vh;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.25);display:grid;grid-template-columns:1fr 1fr}.modal-card.single{display:flex;flex-direction:column;max-width:560px}.modal-img{background:#f1f5f9;min-height:420px;position:relative}.modal-img img{width:100%;height:100%;object-fit:contain}.modal-body{padding:26px;overflow:auto}.modal-body h2{color:var(--secondary);margin-top:0}.modal-body p{color:var(--muted)}.modal-price{margin:18px 0;font-size:1.5rem;font-weight:900;color:var(--primary)}.close{position:absolute;top:10px;left:10px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:white;font-size:24px;cursor:pointer}.close.inline{position:static;background:rgba(255,255,255,.2);font-size:20px;flex:0 0 auto}.navbtn{position:absolute;top:50%;transform:translateY(-50%);border:0;border-radius:50%;width:36px;height:36px;background:rgba(0,0,0,.5);color:white;cursor:pointer}.next{right:10px}.prev{left:54px}.modal-header{background:var(--secondary);color:white;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0}.modal-header h2{margin:0;font-size:1.25rem}.booking-card{height:min(92vh,720px)}.booking-form{padding:20px;overflow:auto}.field{margin-bottom:12px}.field label{display:block;color:var(--secondary);font-weight:800;margin-bottom:5px}.field input,.field select{width:100%;border:1px solid var(--border);border-radius:10px;padding:12px;font:inherit;background:#f8fafc}.times-box{min-height:44px;max-height:150px;overflow:auto;background:#f8fafc;border:1px solid var(--border);border-radius:10px;padding:10px;color:var(--muted)}.confirm-line{display:flex;gap:8px;align-items:flex-start;margin:1rem 0}.confirm-line input{margin-top:6px}.notice{background:#f8fafc;border:1px solid var(--border);padding:12px;border-radius:12px;color:var(--muted);margin:12px 0}.price-list-card{height:min(90vh,720px);max-width:800px!important}.price-list-body{padding:18px;overflow:auto;background:var(--bg);flex:1}.price-list-footer{padding:16px 20px;background:white;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-shrink:0}.price-list-footer strong{display:block;color:var(--primary);font-size:1.35rem}.pl-category-title{font-weight:900;color:var(--secondary);border-bottom:2px solid var(--border);padding-bottom:8px;margin:14px 0 10px}.pl-item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:white;border:1px solid var(--border);border-radius:12px;padding:12px;margin-bottom:10px;cursor:pointer}.pl-item.selected{border-color:var(--primary);background:rgba(205,168,115,.08)}.pl-item-name{font-weight:800;color:var(--secondary)}.pl-item-desc{font-size:.85rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}.pl-item-price{font-weight:900;color:var(--primary);white-space:nowrap}.pl-checkbox{width:24px;height:24px;border:2px solid var(--border);border-radius:6px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:transparent}.pl-item.selected .pl-checkbox{background:var(--primary);border-color:var(--primary);color:white}.toast{position:fixed;right:16px;bottom:16px;background:var(--secondary);color:white;padding:12px 16px;border-radius:12px;z-index:200;box-shadow:var(--shadow);display:none}.toast.show{display:block}@media(max-width:760px){.header-inner{flex-direction:column}.logo img{max-height:88px;max-width:280px}.hero{padding:42px 16px}.modal{align-items:stretch;justify-content:center;overflow:auto}.modal-card{grid-template-columns:1fr;max-height:none;width:100%;margin:auto}.service-card-modal{height:auto}.modal-img{min-height:280px}.booking-card,.price-list-card{height:auto;max-height:none}.booking-form{overflow:visible}.imgbox{height:215px}.btn{padding:10px 15px}.cat{box-shadow:none}.pl-item{align-items:flex-start}.pl-item-desc{max-width:220px}.price-list-footer{position:sticky;bottom:0;z-index:2}.modal-header{position:sticky;top:0;z-index:2}}


/* Performance-safe falling petals: created after page load/idle only */
#safePetalsLayer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:8;contain:layout style paint;opacity:.9}
.safe-petal{position:absolute;top:-36px;width:10px;height:18px;border-radius:80% 20% 70% 25%;background:rgba(255,205,220,.82);will-change:transform;animation:safePetalFall linear infinite;transform:translate3d(0,-40px,0) rotate(0deg)}
.safe-petal:nth-child(3n){width:8px;height:15px;background:rgba(255,255,255,.88)}
.safe-petal:nth-child(4n){width:11px;height:20px;background:rgba(238,139,170,.72)}
@keyframes safePetalFall{0%{transform:translate3d(0,-44px,0) rotate(0deg)}100%{transform:translate3d(var(--drift,20px),calc(100vh + 54px),0) rotate(260deg)}}
@media(max-width:760px){#safePetalsLayer{opacity:.55}.safe-petal{width:7px;height:13px}}
@media(prefers-reduced-motion:reduce){#safePetalsLayer{display:none!important}.safe-petal{animation:none!important}}
