:root{
  --bg:#070b14;
  --bg-soft:#0d1322;
  --bg-panel:rgba(255,255,255,.06);
  --bg-panel-strong:rgba(16,25,43,.88);
  --line:rgba(255,255,255,.1);
  --text:#f6f7fb;
  --muted:#a9b4c8;
  --gold:#ffca5c;
  --gold-strong:#f1a827;
  --cyan:#41dcff;
  --pink:#ff57d8;
  --green:#61e6a8;
  --danger:#ff8f8f;
  --shadow:0 30px 80px rgba(0,0,0,.35);
  --radius-xl:34px;
  --radius-lg:26px;
  --radius-md:20px;
  --radius-sm:16px;
  --container:1240px;
  --ease:cubic-bezier(.22,1,.36,1);
  --header-height:82px;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:"Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 600px at 0% 0%, rgba(65,220,255,.10), transparent 60%),
    radial-gradient(1000px 700px at 100% 10%, rgba(255,87,216,.08), transparent 58%),
    radial-gradient(900px 500px at 50% 100%, rgba(255,202,92,.08), transparent 58%),
    linear-gradient(180deg, #060a12 0%, #0b1220 40%, #07101d 100%);
  overflow-x:hidden;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.32), transparent 72%);
  z-index:0;
}

img{
  display:block;
  max-width:100%;
}

button,
input,
select,
textarea{
  font:inherit;
}

a{
  color:inherit;
  text-decoration:none;
}

.container{
  width:min(var(--container), calc(100% - 32px));
  margin-inline:auto;
  position:relative;
  z-index:1;
}

.skip-link{
  position:absolute;
  left:-9999px;
  top:auto;
}

.skip-link:focus{
  left:16px;
  top:16px;
  z-index:4000;
  background:#fff;
  color:#000;
  padding:10px 14px;
  border-radius:999px;
}

.scroll-progress{
  position:fixed;
  inset:0 auto auto 0;
  width:0;
  height:4px;
  z-index:3000;
  background:linear-gradient(90deg, var(--gold), var(--pink), var(--cyan));
  box-shadow:0 0 28px rgba(255,202,92,.45);
}

.cursor-glow{
  position:fixed;
  width:280px;
  height:280px;
  border-radius:50%;
  pointer-events:none;
  transform:translate(-50%, -50%);
  background:radial-gradient(circle, rgba(65,220,255,.16) 0%, rgba(255,87,216,.12) 40%, rgba(255,255,255,0) 72%);
  filter:blur(26px);
  z-index:0;
  opacity:.9;
  transition:opacity .2s ease;
}

.site-header{
  position:sticky;
  top:0;
  z-index:2500;
  background:rgba(7,11,20,.72);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.header-bar{
  min-height:var(--header-height);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.brand{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.brand-mark{
  width:52px;
  height:52px;
  border-radius:16px;
  padding:8px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 16px 30px rgba(0,0,0,.22);
  flex:0 0 auto;
}

.brand-mark img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.brand-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.brand-copy strong{
  font-weight:800;
  letter-spacing:.01em;
  font-size:1rem;
}

.brand-copy span{
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:var(--muted);
}

.nav-toggle{
  display:none;
  width:48px;
  height:48px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:var(--text);
}

.nav-toggle span{
  display:block;
  width:20px;
  height:2px;
  background:currentColor;
  margin:4px auto;
  border-radius:2px;
}

.main-nav{
  display:flex;
  align-items:center;
  gap:10px;
}

.main-nav ul{
  list-style:none;
  display:flex;
  align-items:center;
  gap:6px;
  padding:0;
  margin:0;
}

.main-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 16px;
  border-radius:999px;
  color:rgba(255,255,255,.78);
  font-size:.95rem;
  font-weight:700;
  transition:all .25s ease;
}

.main-nav a:hover,
.main-nav a.active{
  color:var(--text);
  background:rgba(255,255,255,.06);
}

.header-actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  padding:.98rem 1.35rem;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:800;
  letter-spacing:.01em;
  transition:transform .25s var(--ease), box-shadow .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
  cursor:pointer;
}

.btn:hover{
  transform:translateY(-2px);
}

.btn-primary{
  color:#0b1120;
  background:linear-gradient(135deg, var(--gold) 0%, #ffe6a3 100%);
  box-shadow:0 18px 40px rgba(255,202,92,.2);
}

.btn-secondary{
  color:var(--text);
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.12);
}

.btn-outline{
  color:var(--cyan);
  background:rgba(65,220,255,.08);
  border-color:rgba(65,220,255,.32);
}

.btn-small{
  padding:.78rem 1.05rem;
  font-size:.92rem;
}

.hero{
  position:relative;
  min-height:calc(100svh - var(--header-height));
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
}

.hero-slides{
  position:absolute;
  inset:0;
  z-index:-5;
}

.hero-slide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.08);
  filter:saturate(1.08) brightness(.7);
  animation:heroFade 24s infinite;
}

@keyframes heroFade{
  0%, 8% { opacity:0; transform:scale(1.08); }
  12%, 27% { opacity:1; transform:scale(1); }
  31%, 100% { opacity:0; transform:scale(1.03); }
}

.hero-overlay{
  position:absolute;
  inset:0;
  z-index:-4;
  background:
    linear-gradient(180deg, rgba(7,11,20,.28), rgba(7,11,20,.82)),
    linear-gradient(90deg, rgba(7,11,20,.88) 0%, rgba(7,11,20,.46) 52%, rgba(7,11,20,.76) 100%);
}

.hero-orbs,
.hero-orbs::before,
.hero-orbs::after{
  position:absolute;
  inset:auto;
  content:"";
  z-index:-3;
  border-radius:50%;
  filter:blur(34px);
}

.hero-orbs::before{
  width:340px;
  height:340px;
  left:-70px;
  top:110px;
  background:rgba(255,202,92,.18);
}

.hero-orbs::after{
  width:400px;
  height:400px;
  right:-120px;
  bottom:-80px;
  background:rgba(65,220,255,.12);
}

.hero-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr);
  gap:36px;
  align-items:center;
  padding:72px 0 56px;
}

.hero-copy{
  max-width:760px;
}

.kicker{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.65rem 1rem;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  color:#f8ebc8;
  font-size:.88rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.hero-title{
  margin:18px 0 14px;
  font-size:clamp(2.6rem, 7vw, 5.4rem);
  line-height:.95;
  font-weight:900;
  letter-spacing:-.03em;
  text-shadow:0 0 28px rgba(255,202,92,.16);
}

.hero-title span{
  background:linear-gradient(90deg, #fff1c4 0%, var(--gold) 35%, #ffd7ff 60%, var(--cyan) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.hero-text{
  margin:0;
  max-width:720px;
  font-size:1.08rem;
  line-height:1.75;
  color:#d2dbec;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}

.chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:26px;
}

.chip{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color:#dde5f6;
  font-size:.94rem;
  font-weight:700;
}

.hero-card{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-xl);
  padding:24px;
  background:linear-gradient(180deg, rgba(14,21,36,.88), rgba(12,18,31,.72));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:var(--shadow);
  backdrop-filter:blur(14px);
}

.hero-card::before{
  content:"";
  position:absolute;
  inset:auto -80px -90px auto;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,87,216,.24), rgba(255,87,216,0) 72%);
  filter:blur(12px);
  pointer-events:none;
}

.hero-logo{
  width:min(100%, 580px);
  margin:0 auto 18px;
  filter:drop-shadow(0 18px 32px rgba(0,0,0,.25));
}

.hero-card h2{
  margin:0 0 14px;
  font-size:1.25rem;
  font-weight:800;
}

.hero-card p{
  margin:0 0 18px;
  line-height:1.72;
  color:var(--muted);
}

.hero-highlights{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.hero-highlight{
  padding:16px;
  border-radius:20px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}

.hero-highlight strong{
  display:block;
  font-size:1rem;
  margin-bottom:6px;
}

.hero-highlight span{
  display:block;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.55;
}

.announcement-strip{
  position:relative;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  overflow:hidden;
  background:rgba(255,255,255,.03);
}

.announcement-track{
  display:flex;
  min-width:max-content;
  animation:marquee 18s linear infinite;
}

.announcement-track span{
  white-space:nowrap;
  padding:14px 26px;
  font-weight:700;
  color:#e8eefc;
  letter-spacing:.04em;
}

@keyframes marquee{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

.section{
  position:relative;
  padding:104px 0;
}

.section::after{
  content:"";
  position:absolute;
  inset:auto auto -120px -110px;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,87,216,.09), rgba(255,87,216,0) 72%);
  filter:blur(20px);
  pointer-events:none;
  z-index:0;
}

.section:nth-of-type(even)::after{
  left:auto;
  right:-120px;
  background:radial-gradient(circle, rgba(65,220,255,.08), rgba(65,220,255,0) 72%);
}

.section-head{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 440px);
  gap:24px;
  align-items:end;
  margin-bottom:30px;
}

.section-label{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-bottom:12px;
  color:#f9df98;
  font-size:.86rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.section-title{
  margin:0;
  font-size:clamp(2rem, 4vw, 3.4rem);
  line-height:1.04;
  font-weight:900;
  letter-spacing:-.03em;
}

.section-lead{
  margin:0;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.8;
}

.panel,
.photo-card,
.info-card,
.banner-card,
.form-panel,
.contact-panel{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-lg);
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(15,22,38,.88), rgba(11,18,32,.78));
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px);
}

.spotlight::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(480px circle at var(--spot-x, 50%) var(--spot-y, 50%), rgba(255,255,255,.12), transparent 35%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
  opacity:.85;
  transition:opacity .25s ease;
}

.photo-card{
  display:block;
  padding:0;
  color:inherit;
}

.photo-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s var(--ease), filter .35s ease;
  min-height:260px;
}

.photo-card:hover img{
  transform:scale(1.04);
}

.photo-card figcaption{
  position:absolute;
  inset:auto 16px 16px 16px;
  padding:14px 16px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(7,11,20,.06), rgba(7,11,20,.78));
  color:#f4f7ff;
  font-size:.96rem;
  line-height:1.5;
  border:1px solid rgba(255,255,255,.10);
}

.info-card,
.panel,
.contact-panel,
.form-panel{
  padding:28px;
}

.info-card h3,
.form-panel h3,
.contact-panel h3{
  margin:0 0 14px;
  font-size:1.28rem;
  font-weight:800;
}

.info-card p,
.contact-panel p,
.form-panel p,
.panel p{
  margin:0 0 14px;
  color:var(--muted);
  line-height:1.75;
}

.list{
  list-style:none;
  margin:18px 0 0;
  padding:0;
  display:grid;
  gap:12px;
}

.list li{
  position:relative;
  padding-left:30px;
  color:#dde4f2;
  line-height:1.7;
}

.list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55rem;
  width:14px;
  height:14px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--gold), var(--cyan));
  box-shadow:0 0 16px rgba(255,202,92,.18);
}

.stats-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-top:18px;
}

.stat{
  padding:18px;
  border-radius:20px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}

.stat strong{
  display:block;
  font-size:1.02rem;
  margin-bottom:4px;
}

.stat span{
  display:block;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.6;
}

.quick-links{
  padding:36px 0 10px;
}

.quick-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
}

.quick-card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(14,21,36,.9), rgba(11,18,32,.78));
  min-height:170px;
  padding:20px;
  box-shadow:var(--shadow);
  transition:transform .25s var(--ease), border-color .25s ease;
}

.quick-card:hover{
  transform:translateY(-4px);
  border-color:rgba(255,202,92,.28);
}

.quick-card strong{
  display:block;
  margin-top:26px;
  font-size:1.1rem;
  font-weight:800;
}

.quick-card span{
  display:block;
  margin-top:8px;
  color:var(--muted);
  line-height:1.6;
  font-size:.94rem;
}

.quick-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:16px;
  font-size:1.5rem;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
}

.store-grid{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:20px;
}

.store-side{
  display:grid;
  gap:20px;
}

.store-side .photo-card img{
  min-height:230px;
}

.store-side .panel{
  height:100%;
}

.dual-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px;
}

.dual-grid .photo-card img{
  min-height:280px;
}

.kids-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:20px;
  align-items:stretch;
}

.kids-gallery{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px;
}

.kids-gallery .photo-card:first-child{
  grid-column:1 / -1;
}

.kids-gallery .photo-card:first-child img{
  min-height:360px;
}

.mosaic-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}

.mosaic-grid .photo-card:nth-child(1){
  grid-column:span 2;
  grid-row:span 2;
}

.mosaic-grid .photo-card:nth-child(1) img{
  min-height:580px;
}

.mosaic-grid .photo-card:nth-child(2) img,
.mosaic-grid .photo-card:nth-child(3) img,
.mosaic-grid .photo-card:nth-child(4) img{
  min-height:280px;
}

.feature-grid{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:20px;
  align-items:stretch;
}

.feature-stack{
  display:grid;
  gap:20px;
}

.feature-photo-large img{
  min-height:540px;
}

.feature-photo-small img{
  min-height:250px;
}

.ping-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:20px;
  align-items:stretch;
}

.ping-grid .photo-card img{
  min-height:360px;
}

.cafe-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:20px;
}

.cafe-stack{
  display:grid;
  gap:20px;
}

.cafe-stack .photo-card img{
  min-height:240px;
}

.snack-grid{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:18px;
}

.snack-grid .photo-card:nth-child(1){ grid-column:span 5; }
.snack-grid .photo-card:nth-child(2){ grid-column:span 3; }
.snack-grid .photo-card:nth-child(3){ grid-column:span 4; }
.snack-grid .photo-card:nth-child(4){ grid-column:span 6; }
.snack-grid .photo-card:nth-child(5){ grid-column:span 6; }
.snack-grid .photo-card img{
  min-height:260px;
}

.party-note{
  margin-bottom:24px;
  padding:18px 22px;
  border-radius:22px;
  border:1px solid rgba(255,143,143,.28);
  background:linear-gradient(180deg, rgba(110,18,18,.34), rgba(46,9,17,.24));
  color:#ffe5e5;
  box-shadow:0 18px 42px rgba(110,18,18,.16);
}

.party-note strong{
  display:block;
  margin-bottom:8px;
  font-size:1.05rem;
}

.party-layout{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:20px;
  align-items:start;
}

.party-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}

.party-grid .photo-card:first-child{
  grid-row:span 2;
}

.party-grid .photo-card:first-child img{
  min-height:620px;
}

.party-grid .photo-card img{
  min-height:300px;
}

.party-cta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}

.ads-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.banner-card{
  display:flex;
  flex-direction:column;
  min-height:210px;
}

.banner-card.has-image{
  padding:0;
}

.banner-card.has-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  min-height:210px;
}

.banner-card-content{
  position:absolute;
  inset:auto 16px 16px 16px;
  z-index:1;
  padding:14px 16px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(7,11,20,.08), rgba(7,11,20,.82));
  border:1px solid rgba(255,255,255,.10);
}

.banner-card-content strong{
  display:block;
  font-size:1rem;
  font-weight:800;
}

.banner-card-content span{
  display:block;
  margin-top:5px;
  color:#dde5f6;
  font-size:.92rem;
}

.banner-empty{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.empty-banner{
  min-height:210px;
  padding:24px;
  border-radius:26px;
  border:1px dashed rgba(255,255,255,.18);
  background:linear-gradient(180deg, rgba(14,21,36,.76), rgba(11,18,32,.62));
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:10px;
  color:#edf3ff;
  box-shadow:var(--shadow);
}

.empty-banner strong{
  font-size:1.2rem;
  font-weight:900;
}

.empty-banner span{
  color:var(--muted);
  line-height:1.65;
}

.contact-grid{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:20px;
  align-items:start;
}

.contact-list{
  display:grid;
  gap:14px;
  margin-bottom:22px;
}

.contact-item strong{
  display:block;
  margin-bottom:4px;
  font-size:.95rem;
  color:#fff2c3;
}

.contact-item a{
  color:#edf5ff;
  font-weight:700;
  word-break:break-word;
}

.hours-table{
  width:100%;
  border-collapse:collapse;
  overflow:hidden;
  border-radius:20px;
}

.hours-table th,
.hours-table td{
  padding:12px 14px;
  text-align:left;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.hours-table th{
  color:#f5e5ae;
  font-size:.96rem;
  font-weight:800;
  width:44%;
}

.hours-table td{
  color:#dde6f7;
}

.contact-panel .map{
  margin-top:22px;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  aspect-ratio:16 / 10;
}

.contact-panel iframe{
  width:100%;
  height:100%;
  border:0;
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

.form-group{
  display:grid;
  gap:8px;
}

.form-group.full{
  grid-column:1 / -1;
}

.form-group label{
  font-weight:700;
  font-size:.94rem;
}

.form-group input,
.form-group select,
.form-group textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  color:var(--text);
  border-radius:16px;
  padding:14px 16px;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.form-group textarea{
  min-height:156px;
  resize:vertical;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  border-color:rgba(255,202,92,.34);
  box-shadow:0 0 0 4px rgba(255,202,92,.10);
  background:rgba(255,255,255,.06);
}

.form-note{
  margin-top:14px;
  color:var(--muted);
  line-height:1.7;
  font-size:.94rem;
}

.form-feedback{
  margin-top:16px;
  padding:14px 16px;
  border-radius:18px;
  display:none;
  font-weight:700;
  line-height:1.6;
}

.form-feedback.show{
  display:block;
}

.form-feedback.success{
  background:rgba(18,99,62,.24);
  border:1px solid rgba(97,230,168,.24);
  color:#dcfbee;
}

.form-feedback.error{
  background:rgba(110,18,18,.24);
  border:1px solid rgba(255,143,143,.24);
  color:#ffe5e5;
}

.checkbox{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.6;
}

.checkbox input{
  margin-top:4px;
}

.footer{
  padding:26px 0 42px;
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.2);
}

.footer-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  color:var(--muted);
  font-size:.95rem;
  flex-wrap:wrap;
}

.footer-row a{
  color:#edf5ff;
}

.footer-credit{
  color:#c7d2e8;
  text-align:right;
}

.footer-row > *{
  min-width:0;
}

.floating-actions{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:2100;
  display:grid;
  gap:12px;
}

.floating-actions a{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg, rgba(14,21,36,.9), rgba(11,18,32,.82));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:var(--shadow);
  font-size:1.35rem;
}

.lightbox{
  position:fixed;
  inset:0;
  display:none;
  place-items:center;
  padding:20px;
  background:rgba(4,7,14,.84);
  backdrop-filter:blur(14px);
  z-index:5000;
}

.lightbox.open{
  display:grid;
}

.lightbox-dialog{
  width:min(1100px, 100%);
  max-height:min(92vh, 980px);
  display:grid;
  gap:14px;
  padding:16px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(14,21,36,.96), rgba(11,18,32,.94));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:var(--shadow);
}

.lightbox-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.lightbox-top strong{
  font-size:1.08rem;
}

.lightbox-close{
  width:46px;
  height:46px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:var(--text);
  font-size:1.5rem;
}

.lightbox-media{
  overflow:hidden;
  border-radius:22px;
  background:#060911;
}

.lightbox-media img{
  width:100%;
  max-height:70vh;
  object-fit:contain;
}

.lightbox-caption{
  color:var(--muted);
  line-height:1.7;
  padding:0 6px 6px;
}

.reveal{
  opacity:0;
  transform:translateY(22px) scale(.985);
  transition:opacity .75s var(--ease), transform .75s var(--ease);
}

.reveal.in-view{
  opacity:1;
  transform:none;
}

.hide{
  display:none !important;
}

@media (max-width: 1120px){
  .hero-grid,
  .section-head,
  .store-grid,
  .kids-grid,
  .feature-grid,
  .ping-grid,
  .cafe-grid,
  .party-layout,
  .contact-grid{
    grid-template-columns:1fr;
  }

  .quick-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .mosaic-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .mosaic-grid .photo-card:nth-child(1){
    grid-column:1 / -1;
    grid-row:auto;
  }

  .ads-grid,
  .banner-empty{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .hero-card{
    max-width:780px;
  }
}

@media (max-width: 1100px){
  .jobs-layout{
    grid-template-columns:1fr;
  }

  .jobs-intro-card{
    position:static;
  }
}

@media (max-width: 900px){
  .jobs-grid{
    grid-template-columns:1fr;
  }

  .job-media{
    height:190px;
    padding:16px 16px 12px;
  }
}

@media (max-width: 860px){
  .nav-toggle{
    display:block;
  }

  .main-nav{
    position:absolute;
    inset:calc(100% + 10px) 0 auto 0;
    padding:14px;
    border-radius:24px;
    background:rgba(7,11,20,.96);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:var(--shadow);
    display:none;
    flex-direction:column;
    align-items:stretch;
  }

  .main-nav.open{
    display:flex;
  }

  .main-nav ul{
    flex-direction:column;
    align-items:stretch;
  }

  .main-nav a{
    justify-content:flex-start;
    min-height:48px;
  }

  .header-actions{
    display:none;
  }

  .hero{
    min-height:auto;
  }

  .hero-title{
    font-size:clamp(2.4rem, 12vw, 4.2rem);
  }

  .hero-highlights,
  .dual-grid,
  .kids-gallery,
  .party-grid,
  .ads-grid,
  .banner-empty,
  .form-grid{
    grid-template-columns:1fr;
  }

  .snack-grid{
    grid-template-columns:1fr;
  }

  .snack-grid .photo-card{
    grid-column:auto !important;
  }

  .stats-grid{
    grid-template-columns:1fr;
  }

  .quick-grid{
    grid-template-columns:1fr;
  }

  .mosaic-grid{
    grid-template-columns:1fr;
  }

  .mosaic-grid .photo-card:nth-child(1) img{
    min-height:320px;
  }

  .party-grid .photo-card:first-child{
    grid-row:auto;
  }

  .party-grid .photo-card:first-child img{
    min-height:300px;
  }

  .footer-row{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width: 620px){
  .section{
    padding:86px 0;
  }

  .job-media{
    height:175px;
    padding:14px 14px 10px;
  }

  .hero-grid{
    padding:58px 0 46px;
  }

  .hero-card,
  .panel,
  .info-card,
  .contact-panel,
  .form-panel{
    padding:22px;
  }

  .photo-card figcaption{
    inset:auto 12px 12px 12px;
    font-size:.92rem;
  }

  .floating-actions a{
    width:54px;
    height:54px;
    border-radius:16px;
  }

  .announcement-track{
    animation-duration:24s;
  }
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }

  .reveal{
    opacity:1 !important;
    transform:none !important;
  }

  .cursor-glow{
    display:none !important;
  }
}


.quick-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  height:100%;
  padding:0;
}

.quick-media{
  position:relative;
  aspect-ratio:16 / 12;
  min-height:0;
  border-bottom:1px solid rgba(255,255,255,.08);
  overflow:hidden;
  background:linear-gradient(180deg, rgba(15,24,42,.86), rgba(10,16,28,.92));
}

.quick-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(7,11,20,.06) 0%, rgba(7,11,20,.18) 44%, rgba(7,11,20,.82) 100%);
  pointer-events:none;
}

.quick-media.no-image{
  min-height:140px;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,202,92,.24), transparent 36%),
    radial-gradient(circle at 85% 30%, rgba(65,220,255,.18), transparent 38%),
    linear-gradient(180deg, rgba(15,24,42,.88), rgba(10,16,28,.94));
}

.quick-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:brightness(.78) saturate(1.05);
  transition:transform .5s var(--ease), filter .3s ease;
}

.quick-card:hover .quick-media img{
  transform:scale(1.05);
  filter:brightness(.86) saturate(1.1);
}

.quick-badge{
  position:absolute;
  left:16px;
  top:16px;
  z-index:2;
  display:inline-flex !important;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  margin:0 !important;
  background:rgba(7,11,20,.55);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(10px);
  color:#fff2c3 !important;
  font-size:.82rem !important;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.quick-content{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  gap:12px;
  padding:20px;
}

.quick-content strong{
  margin:0 !important;
  font-size:1.18rem;
  font-weight:800;
  line-height:1.3;
}

.quick-content p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
  font-size:.96rem;
}

.quick-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:auto;
}

.quick-tags span{
  display:inline-flex !important;
  align-items:center;
  min-height:32px;
  padding:0 10px;
  border-radius:999px;
  margin:0 !important;
  color:#e7eefb !important;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  font-size:.82rem !important;
  font-weight:700;
  line-height:1;
}

.quick-link{
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  margin:0 !important;
  color:#fff2c3 !important;
  font-weight:800;
  font-size:.92rem !important;
}

.quick-link em{
  font-style:normal;
  font-size:1rem;
}

.content-note-block{
  margin-top:18px;
  padding:18px;
  border-radius:22px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}

.content-note-block h4{
  margin:0 0 10px;
  font-size:1rem;
  font-weight:800;
}

.content-note-block p:last-child{
  margin-bottom:0;
}

.important-note{
  background:linear-gradient(180deg, rgba(110,18,18,.22), rgba(46,9,17,.18));
  border-color:rgba(255,143,143,.24);
}

.compact-panel{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.section-extra-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:18px;
  margin-top:20px;
}

.extra-photo img{
  min-height:220px;
}

.section-careers{
  background:linear-gradient(180deg, rgba(12,18,31,.34), rgba(7,12,23,.18));
}

.jobs-layout{
  display:grid;
  grid-template-columns:minmax(280px,.48fr) minmax(0,1fr);
  gap:20px;
  align-items:start;
}

.jobs-intro-card{
  position:sticky;
  top:104px;
}

.jobs-intro-card h3{
  margin:0 0 12px;
  font-size:1.28rem;
  font-weight:800;
}

.job-section-note{
  margin-top:18px;
  padding:16px 18px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  color:#dfe6f5;
  line-height:1.7;
}

.jobs-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}

.job-card{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-lg);
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(15,22,38,.88), rgba(11,18,32,.78));
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px);
  display:flex;
  flex-direction:column;
  min-height:100%;
}

.job-media{
  position:relative;
  height:clamp(180px, 20vw, 210px);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 18px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 18% 18%, rgba(255,202,92,.2), transparent 38%),
    radial-gradient(circle at 82% 18%, rgba(65,220,255,.18), transparent 40%),
    linear-gradient(180deg, rgba(16,24,42,.88), rgba(9,14,26,.94));
}

.job-media.no-image{
  min-height:180px;
}

.job-media img{
  position:relative;
  inset:auto;
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
  filter:brightness(.95) saturate(1.03) drop-shadow(0 14px 26px rgba(0,0,0,.24));
  transition:transform .32s var(--ease), filter .28s ease;
}

.job-card:hover .job-media img{
  transform:scale(1.015);
  filter:brightness(.98) saturate(1.05) drop-shadow(0 16px 30px rgba(0,0,0,.28));
}

.job-badge{
  position:absolute;
  left:16px;
  top:16px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(7,11,20,.56);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(10px);
  color:#fff2c3;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.04em;
}

.job-content{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:22px;
  flex:1 1 auto;
}

.job-content h3{
  margin:0;
  font-size:1.18rem;
  font-weight:800;
  line-height:1.35;
}

.job-summary,
.job-details{
  margin:0;
  color:var(--muted);
  line-height:1.75;
}

.job-summary{
  color:#e7ecf9;
}

.job-actions{
  margin-top:auto;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.job-interest-note{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:15px 16px;
  border-radius:18px;
  border:1px solid rgba(65,220,255,.18);
  background:rgba(65,220,255,.08);
  color:#e9f7ff;
  line-height:1.6;
}

.job-interest-note strong{
  color:#fff2c3;
}


.ads-marquee{
  position:relative;
  overflow:hidden;
  padding:4px 0;
  border-radius:26px;
}

.ads-track{
  display:flex;
  align-items:stretch;
  gap:18px;
  width:max-content;
  min-width:max-content;
  flex-wrap:nowrap;
  animation:marqueeAds 28s linear infinite;
}

.ads-marquee:hover .ads-track{
  animation-play-state:paused;
}

@keyframes marqueeAds{
  from{ transform:translateX(0); }
  to{ transform:translateX(calc(-50% - 9px)); }
}

.ads-track > .banner-card{
  flex:0 0 clamp(280px, 24vw, 360px);
  min-height:220px;
}

.banner-card.single{
  min-height:260px;
  width:100%;
}

.banner-card.single img{
  min-height:260px;
}

@media (max-width: 860px){
  .quick-media{min-height:180px}
  .ads-track > .banner-card{
    flex-basis:260px;
  }
}

@media (max-width: 620px){
  .quick-content{
    padding:18px;
  }

  .quick-content strong{
    font-size:1.08rem;
  }

  .section-extra-gallery{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   ΔΙΟΡΘΩΣΕΙΣ 2026-06 (mobile + layout + UI)
   Τοποθετημένες στο ΤΕΛΟΣ ώστε να υπερισχύουν των base κανόνων
   (που είχαν γραφτεί μετά τα media queries και τα ακύρωναν).
   ============================================================ */

/* --- Careers/Απασχόληση: διόρθωση mobile ---
   Στα κινητά η αριστερή/δεξιά στήλη συμπιεζόταν και το κείμενο
   έσπαγε ένα γράμμα ανά γραμμή. Επαναφορά σε μονή στήλη. */
@media (max-width: 1100px){
  .jobs-layout{ grid-template-columns:1fr; }
  .jobs-intro-card{ position:static; top:auto; }
}
@media (max-width: 760px){
  .jobs-grid{ grid-template-columns:1fr; }
}

/* --- Ισορροπία διπλών info-cards: εξάλειψη κενού χώρου όταν
   η μία στήλη έχει λιγότερο περιεχόμενο (bowling, snacks). --- */
.dual-grid{ align-items:start; }

/* --- Checkbox συγκατάθεσης: ταίριασμα με το dark theme --- */
.checkbox input[type="checkbox"]{
  width:20px;
  height:20px;
  accent-color:var(--gold-strong);
  cursor:pointer;
}

/* --- Ελαφρύ φωτισμό σε σκούρες φωτογραφίες θέσεων εργασίας --- */
.job-media img{
  filter:brightness(1.08) saturate(1.05) drop-shadow(0 14px 26px rgba(0,0,0,.24));
}

/* --- Ασφάλεια: αποφυγή οριζόντιας υπερχείλισης σε μικρές οθόνες --- */
@media (max-width: 620px){
  .section-title,
  .hero-title,
  .section-lead{ overflow-wrap:break-word; }
}

/* ── Online booking embed (iTefteri) ─────────────────────────────── */
.booking-embed{
  margin-top:24px;
  padding:28px;
  border-radius:var(--radius-lg);
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(15,22,38,.88), rgba(11,18,32,.78));
  box-shadow:var(--shadow);
  scroll-margin-top:100px;
}
.booking-embed-head{ text-align:center; margin-bottom:18px; }
.booking-embed-head .section-label{ justify-content:center; }
.booking-embed-head h3{ margin:.4rem 0 .5rem; font-size:1.4rem; font-weight:800; }
.booking-embed-head p{ margin:0 auto; max-width:620px; color:var(--muted); line-height:1.7; }
.booking-embed iframe{ border-radius:18px; background:#fff; }
@media (max-width:620px){ .booking-embed{ padding:18px; } }

/* ── Online booking modal (iTefteri) ─────────────────────────────── */
.booking-modal{
  position:fixed;
  inset:0;
  z-index:3000;
  display:none;
  align-items:flex-start;
  justify-content:center;
  padding:max(16px, 3vh) 16px;
  background:rgba(4,7,14,.78);
  backdrop-filter:blur(8px);
  overflow-y:auto;
}
.booking-modal.open{ display:flex; }
.booking-modal-dialog{
  width:100%;
  max-width:660px;
  background:linear-gradient(180deg, rgba(16,24,42,.98), rgba(10,16,28,.98));
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  max-height:94vh;
}
.booking-modal-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:15px 20px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.booking-modal-top strong{ font-size:1.08rem; font-weight:800; }
.booking-modal-close{
  width:40px; height:40px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:var(--text);
  font-size:1.5rem; line-height:1;
  cursor:pointer;
  transition:background .2s ease;
}
.booking-modal-close:hover{ background:rgba(255,255,255,.14); }
.booking-modal-body{
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  background:#fff;
}
.booking-modal-body iframe{
  display:block;
  width:100%;
  border:0;
  min-height:640px;
  background:#fff;
}
@media (max-width:620px){
  .booking-modal{ padding:0; }
  .booking-modal-dialog{ max-width:100%; min-height:100dvh; max-height:100dvh; border-radius:0; border:0; }
  .booking-modal-body iframe{ min-height:78vh; }
}

/* nav «Κράτηση» highlight */
.main-nav a.nav-book{
  color:#0a0e16 !important;
  background:linear-gradient(135deg, var(--gold), var(--gold-strong));
  font-weight:800;
  padding:8px 18px;
  border-radius:999px;
}
.main-nav a.nav-book:hover{ filter:brightness(1.06); }
.main-nav a.nav-book::after{ display:none !important; }

/* floating booking button */
.floating-actions a.fab-book{
  background:linear-gradient(135deg, var(--gold), var(--gold-strong));
  color:#0a0e16;
}
.floating-actions a.fab-book span{ font-size:1.35rem; line-height:1; }
