:root{--red:#e8231a;--blue:#1b5ebe;--green:#3dae2b;--yellow:#f5c400;--pink:#e91e8c;--purple:#7b2d8b;--dark:#1a2540;--white:#fff;--light:#f6f8ff;--gray:#eef0f7}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--light);color:var(--dark);-webkit-text-size-adjust:100%;padding-bottom:env(safe-area-inset-bottom);font-family:Nunito,sans-serif;overflow-x:hidden}button,a{touch-action:manipulation}.rainbow-border{background:linear-gradient(90deg, var(--red), var(--blue), var(--green), var(--yellow), var(--pink), var(--purple));height:5px}.section{max-width:1100px;margin:0 auto;padding:52px 16px}.sec-hd{text-align:center;margin-bottom:36px}.sec-hd h2{color:var(--dark);margin-bottom:6px;font-family:Fredoka One,cursive;font-size:clamp(26px,6vw,44px)}.sec-hd h2 span{display:inline-block;position:relative}.sec-hd h2 span:after{content:"";background:linear-gradient(90deg, var(--red), var(--blue), var(--green), var(--yellow));border-radius:2px;height:4px;position:absolute;bottom:-3px;left:0;right:0}.sec-hd p{color:#777;font-size:15px;font-weight:600}@keyframes popIn{0%{opacity:0;transform:scale(.6)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes fall{0%{opacity:.75;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes fillBar{0%{width:0}to{width:100%}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pcard{cursor:pointer;background:#fff;border-radius:20px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 20px #1a254014}.pcard:hover{transform:translateY(-6px);box-shadow:0 16px 42px #1a254024}.pcard .img-wrap{background:#fff8ee;justify-content:center;align-items:center;height:220px;padding:14px;display:flex;overflow:hidden}.pcard .img-wrap img{object-fit:contain;max-height:195px;transition:transform .4s cubic-bezier(.175,.885,.32,1.275)}.pcard:hover .img-wrap img{transform:scale(1.12)rotate(2deg)}.pcard .img-placeholder{font-size:80px;transition:transform .4s cubic-bezier(.175,.885,.32,1.275)}.pcard:hover .img-placeholder{transform:scale(1.12)rotate(2deg)}.pcard .rib{color:#fff;border-radius:0 8px 8px 0;padding:4px 12px 4px 8px;font-family:Fredoka One,cursive;font-size:12px;position:absolute;top:14px;left:-4px;box-shadow:2px 3px 8px #0003}.pcard .cbody{padding:16px}.pcard .cat{letter-spacing:1px;margin-bottom:4px;font-size:11px;font-weight:900}.pcard h3{margin-bottom:6px;font-family:Fredoka One,cursive;font-size:20px}.pcard .desc{color:#777;margin-bottom:14px;font-size:13px;line-height:1.6}.pcard .cfoot{justify-content:space-between;align-items:center;display:flex}.pcard .pr{font-family:Fredoka One,cursive;font-size:22px}.pcard .pr small{color:#aaa;font-size:14px;font-weight:700}.btn-bk{color:#fff;cursor:pointer;-webkit-appearance:none;border:none;border-radius:10px;min-height:40px;padding:9px 18px;font-family:Fredoka One,cursive;font-size:14px;transition:all .2s}.btn-bk:active{transform:scale(.96)}.filter-bar{-webkit-overflow-scrolling:touch;justify-content:center;gap:8px;margin-bottom:28px;padding-bottom:4px;display:flex;overflow-x:auto}.filter-bar::-webkit-scrollbar{display:none}.ftab{cursor:pointer;white-space:nowrap;color:var(--dark);-webkit-appearance:none;background:#fff;border:2px solid #dde;border-radius:24px;flex-shrink:0;align-items:center;min-height:44px;padding:8px 18px;font-size:13px;font-weight:800;transition:all .2s;display:flex}.ftab.on,.ftab:active{color:#fff;border-color:#0000;transform:translateY(-2px);box-shadow:0 5px 14px #00000026}.prod-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:20px;display:grid}.res-section{padding:52px 16px}.res-inner{max-width:900px;margin:0 auto}.res-inner h2{color:var(--dark);text-align:center;margin-bottom:6px;font-family:Fredoka One,cursive;font-size:clamp(26px,6vw,40px)}.res-inner .sub{color:#777;text-align:center;margin-bottom:32px;font-size:15px;font-weight:600}.res-card{-webkit-overflow-scrolling:touch;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 8px 40px #1a25401a}.res-card-hdr{background:linear-gradient(135deg, var(--blue), var(--purple));padding:24px 28px}.res-card-hdr h3{color:#fff;margin-bottom:4px;font-family:Fredoka One,cursive;font-size:26px}.res-card-hdr p{color:#ffffffbf;font-size:14px}.res-body{padding:24px 20px}.frow{grid-template-columns:1fr;gap:14px;margin-bottom:14px;display:grid}@media (min-width:500px){.frow{grid-template-columns:1fr 1fr}}.fg label{letter-spacing:2px;text-transform:uppercase;color:#aaa;margin-bottom:5px;font-size:10px;font-weight:900;display:block}.fg select,.fg input{width:100%;color:var(--dark);appearance:none;background:#fafafa;border:2px solid #e5e7eb;border-radius:12px;padding:12px 14px;font-family:Nunito,sans-serif;font-size:16px;font-weight:700;transition:border-color .2s;transform:translateZ(0)}.fg select:focus,.fg input:focus{border-color:var(--blue);background:#eef3ff;outline:none}.cal-wrap{margin:6px 0 20px}.cal-wrap .cal-lbl{letter-spacing:2px;text-transform:uppercase;color:#aaa;margin-bottom:8px;font-size:10px;font-weight:900}.calendar{border:2px solid #e5e7eb;border-radius:16px;overflow:hidden}.cal-hdr{background:var(--blue);color:#fff;justify-content:space-between;align-items:center;padding:12px 16px;font-family:Fredoka One,cursive;font-size:16px;display:flex}.cal-nav-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;display:flex}.cal-dhdr{background:#f0f2f8;grid-template-columns:repeat(7,1fr);display:grid}.cal-dhdr div{text-align:center;color:#aaa;letter-spacing:1px;padding:8px 0;font-size:10px;font-weight:900}.cal-days{background:#e8eaf0;grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.cday{text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;justify-content:center;align-items:center;min-height:40px;padding:10px 2px;font-size:13px;font-weight:800;transition:all .15s;display:flex}.cday.empty{cursor:default;background:#f9fafb}.cday.past{color:#ccc;cursor:default;background:#f9fafb}.cday.loading{cursor:default;background:#f5f5f5}.cday.booked{color:#fca5a5;cursor:not-allowed;background:#fef2f2;text-decoration:line-through}.cday.free:hover{color:var(--blue);background:#eef3ff}.cday.sel{border-radius:6px;background:var(--blue)!important;color:#fff!important}.cal-legend{color:#888;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12px;font-weight:700;display:flex}.cal-legend span{align-items:center;gap:5px;display:flex}.leg-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.price-preview{background:var(--light);border:2px solid var(--gray);border-radius:14px;margin:0 0 16px;padding:16px}.price-preview .price-row{border-bottom:1px solid #eee;justify-content:space-between;padding:5px 0;font-size:14px;display:flex}.price-preview .price-row:last-child{border-bottom:none}.price-preview .price-row span:first-child{color:#aaa;font-weight:700}.price-preview .price-row span:last-child{color:var(--dark);font-weight:900}.price-preview .price-total{font-size:16px}.price-preview .price-total span:last-child{color:var(--blue);font-size:18px}.btn-submit{background:linear-gradient(135deg, var(--blue), var(--purple));color:#fff;cursor:pointer;-webkit-appearance:none;border:none;border-radius:14px;width:100%;min-height:54px;margin-top:6px;padding:16px;font-family:Fredoka One,cursive;font-size:20px;transition:all .2s;box-shadow:0 6px 24px #1b5ebe4d}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 10px 30px #1b5ebe66}.btn-submit:disabled{opacity:.6;cursor:default;transform:none}.error-msg{color:#b91c1c;background:#fef2f2;border:2px solid #fca5a5;border-radius:10px;margin-bottom:14px;padding:12px 14px;font-size:14px;font-weight:700}.fulfilment-toggle{gap:8px;margin-bottom:14px;display:flex}.ftoggle{cursor:pointer;text-align:center;color:var(--dark);background:#fafafa;border:2px solid #e5e7eb;border-radius:12px;flex:1;padding:12px;font-family:Fredoka One,cursive;font-size:15px;transition:all .2s}.ftoggle.on{border-color:var(--blue);color:var(--blue);background:#eef3ff}.usp-strip{border-bottom:2px solid var(--gray);-webkit-overflow-scrolling:touch;background:#fff;gap:0;display:flex;overflow-x:auto}.usp-strip::-webkit-scrollbar{display:none}.usp-chip{white-space:nowrap;border-right:1px solid var(--gray);flex-shrink:0;align-items:center;gap:8px;padding:14px 20px;font-size:13px;font-weight:800;display:flex}.usp-chip .ic{font-size:18px}.how-section{background:var(--dark);padding:52px 16px}.how-inner{max-width:1100px;margin:0 auto}.how-inner h2{color:#fff;text-align:center;margin-bottom:8px;font-family:Fredoka One,cursive;font-size:clamp(26px,6vw,44px)}.how-inner h2 em{color:var(--yellow);font-style:normal}.how-inner .sub{color:#fff9;text-align:center;margin-bottom:36px;font-size:15px}.steps{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.step{text-align:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:16px;padding:24px 18px;transition:transform .2s}.step:hover{transform:translateY(-4px)}.step .snum{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto 14px;font-family:Fredoka One,cursive;font-size:22px;display:flex}.step h4{margin-bottom:6px;font-family:Fredoka One,cursive;font-size:18px}.step p{color:#fff9;font-size:13px;line-height:1.6}footer{background:var(--dark);color:#fff;padding:44px 16px 24px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.footer-inner{max-width:1100px;margin:0 auto}.footer-logo{margin-bottom:10px;font-family:Fredoka One,cursive;font-size:24px}.footer-tagline{color:#ffffff8c;max-width:380px;margin-bottom:28px;font-size:14px;line-height:1.7}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px;margin-bottom:32px;display:grid}footer h4{color:var(--yellow);letter-spacing:1px;margin-bottom:12px;font-family:Fredoka One,cursive;font-size:14px}footer ul{list-style:none}footer ul li{margin-bottom:8px}footer ul a{color:#ffffff8c;font-size:13px;text-decoration:none;transition:color .2s}footer ul a:hover{color:var(--yellow)}.footer-bottom{color:#ffffff59;border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:18px;font-size:12px;display:flex}@media (max-width:390px){.usp-chip{padding:12px 14px;font-size:12px}}@media (max-width:375px){.section{padding:36px 12px}.res-body{padding:18px 14px}}
