/* Aesthetic theme (glass, aurora, temple border) */
:root{--sand:#EED9C4;--oasis:#16A34A;--obsidian:#0D0F12;--ink:#0E0E10;--gold:#FF8C42;--violet:#E23C3C;--marble:rgba(255,255,255,0.04);--glass:rgba(255,255,255,0.08);--text:#F2F5F7;--muted:#A8B1BA;--radius:18px;--maxw:1200px;--shadow:0 10px 30px rgba(0,0,0,.45);--grad-aurora:radial-gradient(1200px 600px at 80% 0%, rgba(226,60,60,0.18), transparent 60%),radial-gradient(900px 500px at 0% 20%, rgba(22,163,74,0.18), transparent 60%),radial-gradient(700px 400px at 60% 80%, rgba(255,140,66,0.16), transparent 60%);--duo:linear-gradient(135deg, rgba(22,163,74,0.85), rgba(226,60,60,0.85));--duo-soft:linear-gradient(135deg, rgba(22,163,74,0.35), rgba(226,60,60,0.35))}
html[data-theme="light"]{--obsidian:#F7F7F9;--ink:#FFFFFF;--text:#0E0E10;--muted:#475569;--marble:rgba(0,0,0,0.04);--glass:rgba(0,0,0,0.06);--shadow:0 10px 30px rgba(0,0,0,.10)}
body{background:radial-gradient(80% 100% at 50% 0%, #151823, #0a0c10 60%),var(--obsidian);background-blend-mode:overlay;color:var(--text);font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;line-height:1.6}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300" viewBox="0 0 300 300"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2" stitchTiles="stitch"/></filter><rect width="300" height="300" filter="url(%23n)" opacity="0.02"/></svg>')}
.aurora{position:fixed;top:-6%;right:-14%;left:auto;bottom:auto;width:50vw;height:42vh;z-index:0;background:var(--grad-aurora);filter:blur(60px) saturate(110%);pointer-events:none;opacity:.6}
.aurora-2{position:fixed;bottom:-8%;left:-12%;right:auto;top:auto;width:42vw;height:38vh;z-index:0;background:var(--grad-aurora);filter:blur(70px) saturate(115%);pointer-events:none;opacity:.4}
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);background:linear-gradient(to bottom, rgba(0,0,0,0.55), rgba(0,0,0,0.15));border-bottom:1px solid rgba(255,255,255,0.06)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:12px;letter-spacing:2px;font-weight:800;text-transform:uppercase}
.brand .mark{width:28px;height:28px;border-radius:9px;background:conic-gradient(from 180deg at 50% 50%, var(--violet), var(--oasis), var(--gold), var(--violet));box-shadow:0 0 0 2px rgba(255,255,255,0.08) inset, 0 8px 20px rgba(0,0,0,0.45)}
.menu{display:flex;gap:20px}
.menu a{position:relative;display:inline-block;text-decoration:none;color:var(--text);font-weight:500;opacity:.85;transition:color .25s ease, transform .25s ease, opacity .25s ease;overflow:hidden}
.menu a:hover{opacity:1;transform:translateY(-1px)}
.menu a::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--duo);border-radius:2px;transition:width .25s ease}
.menu a:hover::after{width:100%}

/* Ripple for desktop menu links */
.menu a.ripple::before{content:"";position:absolute;left:var(--rx,50%);top:var(--ry,50%);width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.25);transform:translate(-50%,-50%) scale(0);pointer-events:none;animation:ripple .6s ease forwards}
@keyframes ripple{to{transform:translate(-50%,-50%) scale(24);opacity:0}}
.theme-toggle{cursor:pointer;border:1px solid rgba(255,255,255,.12);background:var(--glass);color:var(--text);padding:9px 14px;border-radius:999px;font-size:13px;position:relative;transition:all .3s ease;overflow:visible}
.theme-toggle::after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--duo);border-radius:2px;transition:width .3s ease;transform:translateX(-50%);z-index:1}
.theme-toggle:hover{background:rgba(255,255,255,0.15);border-color:rgba(255,255,255,0.25);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.4)}
.theme-toggle:hover::after{width:80%}
.btn-header{padding:7px 10px;font-size:11px;gap:5px;white-space:nowrap;min-width:max-content}
.lang-menu .flag{display:inline-flex;align-items:center;justify-content:center;width:1.2em;min-width:1.2em;line-height:1;margin-right:8px;filter:saturate(110%)}
.lang-menu a{display:flex;align-items:center;gap:8px;padding:8px 12px;text-decoration:none;color:var(--text);font-size:14px;border-radius:4px;transition:background .2s ease}
.lang-menu a:hover{background:rgba(255,255,255,.1)}
.hero{position:relative;z-index:1;padding:96px 0 56px}
.hero .shell{position:relative;border-radius:var(--radius);overflow:hidden;padding:56px 36px;background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));border:1px solid rgba(255,255,255,0.08);box-shadow:var(--shadow)}
.greek-key{--g:linear-gradient(90deg, transparent 47%, var(--oasis) 50%, transparent 53%) 0 0/28px 2px,linear-gradient(0deg, transparent 47%, var(--oasis) 50%, transparent 53%) 0 0/2px 28px,linear-gradient(90deg, transparent 47%, var(--oasis) 50%, transparent 53%) 0 100%/28px 2px,linear-gradient(0deg, transparent 47%, var(--oasis) 50%, transparent 53%) 100% 0/2px 28px;position:absolute;inset:0;background:var(--g);pointer-events:none;opacity:.25;mask-image:linear-gradient(to bottom, black, transparent 15%)}
.hero h1{font-size:clamp(36px,7vw,72px);line-height:1.05;margin:0 0 14px;font-weight:800;letter-spacing:-0.02em}
.hero h1 .fx{background:linear-gradient(90deg, var(--sand), var(--gold) 30%, var(--oasis) 65%, var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{max-width:60ch;color:var(--muted);margin:0 0 28px}
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:12px;font-weight:600;text-decoration:none;color:var(--text);background:linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));border:1px solid rgba(255,255,255,0.14);box-shadow:var(--shadow);transform:translateZ(0)}
.btn::before{content:"";position:absolute;inset:-1px;border-radius:13px;padding:1px;background:var(--duo);-webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.7;transition:opacity .25s ease}
.btn:hover{box-shadow:0 0 0 2px rgba(22,163,74,0.18), 0 0 0 6px rgba(226,60,60,0.12), 0 14px 40px rgba(0,0,0,.5)}
.btn:hover::before{opacity:1}
.btn-primary{background:radial-gradient(120% 180% at 0% 0%, rgba(124,92,255,0.18), rgba(0,0,0,0) 30%),linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.02))}
.divider{position:relative;height:64px}
.divider svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.footer{position:relative;z-index:1;padding:56px 0;color:var(--muted)}
.dots{position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:radial-gradient(circle at 20% 30%, rgba(255,255,255,.18) 1px, transparent 2px),radial-gradient(circle at 70% 60%, rgba(255,255,255,.12) 1px, transparent 2px),radial-gradient(circle at 40% 80%, rgba(255,255,255,.15) 1px, transparent 2px);background-size:240px 240px,260px 260px,280px 280px;filter:blur(.4px)}
.reveal{transform:translateY(6px);opacity:0;transition:transform .5s ease, opacity .5s ease, box-shadow .25s ease}
.reveal.in{transform:translateY(0);opacity:1}

/* Services grid */
.svc-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.svc-card{grid-column:span 12;padding:22px;border-radius:16px;background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));border:1px solid rgba(255,255,255,0.10);box-shadow:var(--shadow);transition:box-shadow .25s ease, transform .25s ease}
.svc-card:hover{box-shadow:0 20px 50px rgba(0,0,0,.5);transform:translateY(-2px)}
.svc-card h3{margin:0 0 6px;font-weight:700;letter-spacing:.2px}
.svc-card p{margin:0;color:var(--muted)}
.svc-icon{font-size:22px;margin-bottom:8px;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--duo-soft);border:1px solid rgba(255,255,255,0.12)}
@media (min-width:820px){.svc-card{grid-column:span 4}}

/* FAQ dynamic panels */
.faq{max-width:900px;margin:0 auto}
.faq-item{border:1px solid rgba(255,255,255,0.10);border-radius:16px;margin-bottom:14px;background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));box-shadow:var(--shadow);overflow:hidden}
.faq-q{width:100%;text-align:left;background:transparent;color:var(--text);border:0;padding:18px 18px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:700}
.faq-q .n{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--duo-soft);border:1px solid rgba(255,255,255,0.12);font-size:12px;margin-right:10px}
.faq-q .label{display:flex;align-items:center;gap:10px}
.faq-a{max-height:0;overflow:hidden;transition:max-height .32s ease,padding .32s ease}
.faq-item.active .faq-a{max-height:500px}
.faq-body{padding:0 18px 18px 18px;color:var(--muted)}
.faq-item .chev{transition:transform .25s ease;color:var(--muted)}
.faq-item.active .chev{transform:rotate(90deg)}

/* Header responsive tweaks */
@media (max-width:900px){
  .menu{display:none}
}
@media (max-width:680px){
  .nav .wrap{padding:0 14px;height:60px}
  .actions{gap:8px}
  .brand .mark{width:24px;height:24px}
  .btn-header{font-size:11px;padding:7px 10px}
  .theme-toggle{padding:8px 10px;font-size:12px}
}
@media (max-width:480px){
  #themeToggle{display:none}
  .nav .wrap{padding:0 10px}
  .actions{gap:6px}
  .btn-header{font-size:10px;padding:6px 9px}
  .lang-dropdown .theme-toggle{padding:6px 9px;font-size:11px;white-space:nowrap}
}

/* Active navigation link styles */
.menu a.active,
.offcanvas .panel a.active {
  opacity: 1;
  color: var(--oasis);
  font-weight: 600;
}

.menu a.active::after,
.offcanvas .panel a.active::after {
  width: 100%;
  background: var(--duo);
}

.offcanvas .panel a.active {
  background: var(--duo-soft);
  border-radius: 8px;
  padding: 8px 12px;
  margin: 2px 0;
}

/* Calendar and form iframe theme adaptation */
.booking iframe,
#booking iframe,
#contact iframe {
  border-radius: 12px;
  transition: all 0.3s ease;
  position: relative;
}

/* Dark theme - no changes needed */
html[data-theme="dark"] .booking iframe,
html[data-theme="dark"] #booking iframe,
html[data-theme="dark"] #contact iframe {
  box-shadow: var(--shadow);
}

/* Light theme - add overlay and styling */
html[data-theme="light"] .booking iframe,
html[data-theme="light"] #booking iframe,
html[data-theme="light"] #contact iframe {
  box-shadow: 0 10px 30px rgba(0,0,0,.10);
  border: 1px solid rgba(0,0,0,0.1);
  background: white !important;
}

/* Iframe container for better theme integration */
.iframe-container {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: var(--obsidian);
  transition: background 0.3s ease;
}

html[data-theme="light"] .iframe-container {
  background: var(--ink);
}

/* Theme-aware iframe wrapper */
.iframe-wrapper {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: var(--obsidian);
  transition: all 0.3s ease;
}

html[data-theme="light"] .iframe-wrapper {
  background: var(--ink);
  border: 1px solid rgba(0,0,0,0.1);
}

/* Light theme language menu hover animations */
html[data-theme="light"] .lang-menu a {
  transition: background .2s ease, transform .2s ease, color .2s ease;
}

html[data-theme="light"] .lang-menu a:hover {
  background: rgba(0,0,0,.1);
  transform: translateX(4px);
  color: var(--accent);
}

