:root{--bg:#07090f;--bg2:#0e1220;--card:#121829;--line:#24304d;--green:#39ff6a;--green2:#1fd14c;--red:#ff2d4b;--yellow:#ffd60a;--pink:#ff3fb4;--text:#eef2ff;--muted:#a8b1c9;--r:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 Inter,"Noto Sans Thai",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
[lang=th]{font-family:"Noto Sans Thai",sans-serif}
img{max-width:100%;display:block}a{color:inherit}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;color:#000;padding:8px;z-index:99}
h1,h2,h3,.btn,.tab,.brand span,.f-brand{font-family:Bungee,Inter,sans-serif;font-weight:400;letter-spacing:.02em}
.neon-green{color:var(--green);text-shadow:0 0 6px rgba(57,255,106,.7),0 0 22px rgba(57,255,106,.45)}
.pink{color:var(--pink)}
/* nav */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:16px;padding:10px 18px;background:rgba(7,9,15,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--green);font-size:18px}
.nav nav{margin-left:auto;display:flex;gap:18px}.nav nav a{text-decoration:none;color:var(--muted);font-weight:600;font-size:14px}.nav nav a:hover{color:var(--green)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:999px;text-decoration:none;font-size:15px;border:2px solid transparent;transition:transform .15s,box-shadow .15s;min-height:48px}
.btn:hover{transform:translateY(-2px)}
.btn-sm{padding:9px 16px;font-size:13px;min-height:40px}
.btn-green{background:var(--green);color:#04210c;box-shadow:0 0 24px rgba(57,255,106,.35)}
.btn-yellow{background:var(--yellow);color:#2a1d00;box-shadow:0 0 24px rgba(255,214,10,.3)}
.btn-pink{background:linear-gradient(90deg,var(--pink),#a34bff);color:#fff;box-shadow:0 0 28px rgba(255,63,180,.4)}
.btn-ghost{border-color:var(--line);color:var(--text);background:rgba(255,255,255,.04)}.btn-ghost:hover{border-color:var(--green)}
.placeholder{position:relative;cursor:help}
.placeholder::after{content:"✎ link coming soon";position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);white-space:nowrap;font:600 10px/1 Inter,sans-serif;background:var(--yellow);color:#000;padding:3px 7px;border-radius:6px;letter-spacing:0}
.no-draft .placeholder::after{display:none}
.nav .placeholder::after,.mobile-bar .placeholder::after{content:"✎";padding:2px 4px;bottom:-6px}
/* hero */
.hero{position:relative;overflow:hidden;padding:42px 18px 36px;background:radial-gradient(1200px 500px at 80% -10%,rgba(255,45,75,.25),transparent 60%),radial-gradient(900px 500px at -10% 30%,rgba(57,255,106,.18),transparent 60%),var(--bg)}
.stars-bg{position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 20% 30%,#fff8,transparent),radial-gradient(1px 1px at 70% 20%,#fff9,transparent),radial-gradient(1.2px 1.2px at 40% 80%,#fff6,transparent),radial-gradient(1px 1px at 90% 60%,#fff8,transparent),radial-gradient(1.4px 1.4px at 10% 70%,#fff7,transparent);background-size:300px 300px;opacity:.7}
.hero-inner{position:relative;max-width:1180px;margin:0 auto;display:grid;gap:28px}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.badge{font:800 12px/1 Inter,sans-serif;padding:8px 12px;border-radius:999px;letter-spacing:.04em}
.badge.red{background:rgba(255,45,75,.15);color:#ff8295;border:1px solid var(--red)}
.badge.yellow{background:rgba(255,214,10,.12);color:var(--yellow);border:1px solid var(--yellow)}
.badge [lang=th]{font-weight:700;opacity:.85}
h1{margin:0;line-height:1}h1 .neon-green{display:block;font-size:clamp(46px,11vw,92px)}
.neon-sub{display:block;margin-top:10px;font-size:clamp(15px,3.6vw,22px);color:var(--red);text-shadow:0 0 12px rgba(255,45,75,.6)}
.tagline{font:400 clamp(20px,4.6vw,28px)/1.2 Bungee,sans-serif;color:var(--yellow);margin:18px 0 8px}
.lead{color:var(--muted);max-width:560px;margin:0 0 22px}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.pills{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:22px 0 0}
.pills li{font-size:13px;font-weight:600;color:var(--green);border:1px dashed rgba(57,255,106,.5);padding:5px 12px;border-radius:999px}
.hero-img img{border-radius:var(--r);border:2px solid rgba(57,255,106,.4);box-shadow:0 0 50px rgba(255,63,180,.25),0 20px 50px rgba(0,0,0,.6);width:100%;height:auto}
/* strip */
.strip{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border-block:1px solid var(--line)}
.strip div{background:var(--bg2);padding:16px;text-align:center}.strip b{display:block;font:400 24px Bungee,sans-serif;color:var(--yellow)}.strip span{font-size:13px;color:var(--muted)}
/* sections */
.section{max-width:1180px;margin:0 auto;padding:64px 18px}
.title{font-size:clamp(28px,6vw,44px);margin:0 0 8px;text-align:center;line-height:1.1}.title.left{text-align:left}
.title [lang=th]{font-size:.5em;color:var(--muted);font-weight:700;display:inline-block;vertical-align:middle}
.subtitle{text-align:center;color:var(--muted);margin:0 auto 28px;max-width:640px}
.center{text-align:center;justify-content:center;display:flex;margin-top:24px}
/* menu */
.tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:10px 16px;font-size:14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;line-height:1.2}
.tab small{font:400 11px "Noto Sans Thai",sans-serif;color:var(--muted);margin-top:3px}
.tab.active{background:var(--green);color:#04210c;border-color:var(--green);box-shadow:0 0 20px rgba(57,255,106,.35)}.tab.active small{color:#0b4019}
.panel{display:none;background:linear-gradient(180deg,var(--card),var(--bg2));border:1px solid var(--line);border-radius:var(--r);padding:22px 18px}.panel.active{display:block}
.panel-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:12px}
.panel-head h3{margin:0;font-size:24px;color:var(--yellow)}.panel-head h3 span{font-size:14px;color:var(--muted)}
.note{flex-basis:100%;order:3;margin:4px 0 0;color:var(--green);font-weight:600;font-size:14px}
.poster-link{margin-left:auto;font-size:13px;color:var(--muted)}
.items{list-style:none;margin:0;padding:0;display:grid;gap:0 32px}
.item{padding:14px 0;border-bottom:1px dashed var(--line)}
.item-top{display:flex;align-items:baseline;gap:8px}.item h4{margin:0;font-size:16px;font-weight:800}
.dots{flex:1;border-bottom:2px dotted #34405f;transform:translateY(-4px)}
.price{font:400 16px Bungee,sans-serif;color:var(--red);white-space:nowrap;text-shadow:0 0 10px rgba(255,45,75,.35)}
.item p{margin:4px 0 0;color:var(--muted);font-size:14px}
.addons{margin-top:18px;padding:16px;border-radius:14px;background:rgba(255,214,10,.06);border:1px solid rgba(255,214,10,.3)}
.addons h4{margin:0 0 10px;font:400 18px Bungee,sans-serif;color:var(--yellow)}
.addons ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.addons li{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px}.addons b{color:var(--green)}
/* about */
.about-grid{display:grid;gap:28px;align-items:center}
.about p{color:var(--muted)}.about b{color:var(--text)}
.tags{color:var(--yellow)!important;font-weight:800;letter-spacing:.03em}
.about-card{text-align:center;padding:30px;border-radius:var(--r);background:radial-gradient(circle at 50% 0,rgba(57,255,106,.2),transparent 70%),var(--card);border:1px solid var(--line)}
.about-card img{margin:0 auto 12px;filter:drop-shadow(0 0 18px rgba(57,255,106,.6))}
.big{font:400 26px/1.25 Bungee,sans-serif;color:var(--text)!important;margin:0}
/* night */
.night{max-width:none;background:radial-gradient(800px 400px at 15% 10%,rgba(255,63,180,.22),transparent 60%),radial-gradient(800px 400px at 90% 90%,rgba(163,75,255,.22),transparent 60%),#0a0614;border-block:1px solid #3a1d4d}
.night>*{max-width:1180px;margin-left:auto;margin-right:auto}
.offers{display:grid;gap:18px;max-width:880px}
.offer{position:relative;border-radius:var(--r);padding:26px 22px;text-align:center;background:rgba(255,255,255,.03)}
.offer h3{margin:0;font-size:24px}.offer .sub{margin:4px 0 0;color:var(--yellow);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:13px}
.amt{font:400 52px/1.1 Bungee,sans-serif;margin:10px 0}
.pink-b{border:2px solid var(--pink);box-shadow:0 0 30px rgba(255,63,180,.3),inset 0 0 30px rgba(255,63,180,.12)}.pink-b .amt{color:var(--pink);text-shadow:0 0 18px rgba(255,63,180,.6)}
.gold-b{border:2px solid var(--yellow);box-shadow:0 0 30px rgba(255,214,10,.25),inset 0 0 30px rgba(255,214,10,.08)}.gold-b .amt{color:var(--yellow);text-shadow:0 0 18px rgba(255,214,10,.5)}
.crown{position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:30px}
.offer p{color:var(--muted);margin:0}
.checks{list-style:none;padding:0;margin:12px auto 0;text-align:left;display:inline-block}.checks li{padding:3px 0 3px 26px;position:relative;font-size:15px}.checks li::before{content:"✔";position:absolute;left:0;color:var(--green)}
.mini{text-align:center;font-size:20px;margin:44px auto 14px;color:var(--yellow)}
.cocktail-img{border-radius:14px;width:100%;height:auto;max-width:1024px}
.cocktails{list-style:none;padding:0;margin:14px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.cocktails li{padding:6px 12px;border-radius:999px;border:1px solid #5b2d7a;font-size:13px;font-weight:600}
/* reviews */
.reviews{display:grid;gap:16px}
.review{margin:0;padding:20px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column}
.stars{color:var(--yellow);letter-spacing:2px;font-size:18px}.review p{margin:8px 0 14px;flex:1}.review footer b{display:block}.review footer span{font-size:12px;color:var(--muted)}
/* gallery */
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.gallery figure{margin:0}.gallery img{border-radius:12px;border:1px solid var(--line);aspect-ratio:2/3;object-fit:cover;width:100%;height:auto;transition:transform .2s}.gallery a:hover img{transform:scale(1.02)}
.gallery figcaption{font-size:12px;color:var(--muted);margin-top:6px}.gallery figcaption a{color:var(--green)}
/* visit */
.visit-grid{display:grid;gap:20px}
.loc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.loc h3{margin:0 0 8px;font-size:20px;color:var(--green)}.loc p{color:var(--muted);margin:0 0 12px}
.hours{width:100%;border-collapse:collapse;margin:0 0 16px}.hours th,.hours td{padding:10px 0;border-bottom:1px dashed var(--line);text-align:left}.hours td{text-align:right;color:var(--yellow);font-weight:800}
.map{margin-top:18px;border-radius:14px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3}.map iframe{width:100%;height:100%;border:0;filter:saturate(1.1)}
.contact{margin-top:26px}.socials{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.socials a{display:block;padding:12px 14px;border-radius:12px;background:var(--bg);border:1px solid var(--line);text-decoration:none;font-weight:600;font-size:14px}.socials a:hover{border-color:var(--green)}
/* footer */
.footer{text-align:center;padding:40px 18px 110px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.footer img{margin:0 auto 8px}.footer p{margin:4px 0}.f-brand{font-size:20px}.small{font-size:12px;opacity:.7}
/* mobile bar */
.mobile-bar{position:fixed;left:10px;right:10px;bottom:10px;z-index:60;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:6px;border-radius:18px;background:rgba(14,18,32,.92);backdrop-filter:blur(10px);border:1px solid var(--line);padding-bottom:calc(6px + env(safe-area-inset-bottom))}
.mobile-bar a{text-align:center;padding:11px 4px;border-radius:12px;text-decoration:none;font-weight:800;font-size:14px;background:var(--bg)}.mobile-bar a:first-child{background:var(--green);color:#04210c}
/* lightbox */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.lightbox[hidden]{display:none}.lightbox img{max-height:94vh;width:auto;border-radius:10px}.lightbox button{position:fixed;top:14px;right:14px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;font-size:20px;cursor:pointer}
@media (max-width:719px){.nav nav{display:none}.nav .btn{margin-left:auto}.cta .btn{flex:1 1 100%}.center.cta .btn{flex:1 1 100%}}
@media (min-width:720px){
 .strip{grid-template-columns:repeat(4,1fr)}
 .items{grid-template-columns:1fr 1fr}
 .offers{grid-template-columns:1fr 1fr}
 .reviews{grid-template-columns:repeat(2,1fr)}
 .gallery{grid-template-columns:repeat(3,1fr)}
 .visit-grid{grid-template-columns:1fr 1fr}
 .about-grid{grid-template-columns:1.4fr 1fr}
 .mobile-bar{display:none}.footer{padding-bottom:40px}
 .panel{padding:28px}
}
@media (min-width:1000px){
 .hero{padding:72px 24px 64px}.hero-inner{grid-template-columns:1.05fr 1fr;align-items:center}
 .reviews{grid-template-columns:repeat(3,1fr)}
 .gallery{grid-template-columns:repeat(3,1fr);max-width:900px;margin:0 auto}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.socials a{white-space:nowrap;position:relative}
.map{position:relative;background:linear-gradient(135deg,#16203a,#0e1426)}
.map::before{content:"📍 Alien Taco · 58/6 Bangla Rd, Patong — map loading…";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;color:var(--muted);font-size:14px}
.map iframe{position:relative}
/* Grab: search hint shown until the real store link is added in config.js */
.grab-hint{display:none}
.grab-search .grab-hint{display:block;font:600 12px/1.2 Inter,"Noto Sans Thai",sans-serif;letter-spacing:0;text-transform:none;opacity:.85;margin-top:3px}
.btn-grab .grab-label{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}
.socials small{font-size:11px;color:var(--muted);font-weight:400}
.socials .grab-search .grab-hint{color:var(--muted);font-size:11px}
.visit-grid>*{min-width:0}.socials a{white-space:normal}.socials small{display:block}
.socials li:first-child{grid-column:1/-1}
.gname{color:var(--yellow)!important;font-size:14px;margin-bottom:6px!important}.gname b{color:var(--text)}
.contact-card{grid-column:1/-1}.contact-card .contact{margin-top:0}
@media (min-width:720px){.contact-card .socials{grid-template-columns:repeat(3,1fr)}.contact-card .socials li:first-child{grid-column:auto}}
.map::before{content:attr(data-label) " — map loading…"}
@media (min-width:1000px){.contact-card .socials{grid-template-columns:repeat(5,1fr)}}
.review-cta .btn{flex-direction:column;line-height:1.2}.review-cta .btn small{display:block;font-weight:400;font-size:12px;opacity:.8;margin-top:4px}.footer .btn{margin-top:10px}

/* customers */
.customers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.customers figure{margin:0}.customers img{width:100%;height:auto;border-radius:var(--r);border:1px solid var(--line);display:block}
@media(max-width:700px){.customers{grid-template-columns:1fr}}
