/* =============================== */
/*  PALETĂ & VARIABILE             */
/* =============================== */
:root{
  --bg:#fdfdfd;            --txt:#111;
  --acc:#c96d16;           --acc-dark:#a8570d;
  --muted:#777;
  --radius:1rem;           --gap:1.5rem;
  --tr:.3s;                --header-h:72px;
  --bg-card:#ffffff;
}
body.dark{
  --bg:#0f0f0f;  --txt:#f7f7f7;
  --acc:#ff9f40; --acc-dark:#ff8711;
  --muted:#aaa;
  --bg-card:#161616;
}

/* ========== RESET ========== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;background:var(--bg);color:var(--txt);line-height:1.6}

/* =============================== */
/*  HEADER / NAV                   */
/* =============================== */
header{position:fixed;inset:0;width:100%;height:var(--header-h);
  padding-top:env(safe-area-inset-top);
  display:flex;align-items:center;
  background:color-mix(in srgb,var(--bg) 94%,transparent);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(0,0,0,.05);
  z-index:1000;transition:transform .35s,opacity .35s}
header.hide{transform:translateY(calc(-1*(var(--header-h)+env(safe-area-inset-top))));opacity:0}

.nav{max-width:1200px;margin:auto;height:100%;padding:0 1.5rem;display:flex;align-items:center;width:100%}
.logo{font-family:'Playfair Display',serif;font-size:2rem;color:var(--acc)}

.nav__actions{margin-left:auto;display:flex;align-items:center;gap:1.2rem}

.nav__links{display:flex;gap:1.8rem;margin:0 auto;list-style:none}
.nav__links a{font-weight:500;color:inherit;text-decoration:none;position:relative}
.nav__links a::after{content:'';position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--acc);transition:width var(--tr)}
.nav__links a:hover::after,
.nav__links a:focus::after{width:100%}

/* theme-toggle */
.theme-toggle{cursor:pointer;width:46px;height:22px;border-radius:999px;background:var(--muted);position:relative;flex-shrink:0;transition:var(--tr)}
.theme-toggle::before{content:'☀';font-size:.8rem;position:absolute;left:6px;top:50%;translate:0 -50%}
.theme-toggle::after{content:'';position:absolute;top:50%;left:4px;width:16px;height:16px;translate:0 -50%;border-radius:50%;background:var(--bg);box-shadow:0 0 4px rgba(0,0,0,.15);transition:var(--tr)}
body.dark .theme-toggle{background:var(--acc-dark)}
body.dark .theme-toggle::before{content:'🌙';left:auto;right:6px}
body.dark .theme-toggle::after{transform:translate(22px,-50%)}

/* hamburger */
.hamburger{display:none;flex-direction:column;justify-content:space-between;width:28px;height:22px;background:0;border:0;cursor:pointer;padding:8px}
.hamburger span{width:100%;height:3px;border-radius:3px;background:var(--txt);transition:.35s}
.hamburger.active span:nth-child(1){transform:translateY(9px) rotate(45deg)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}

/* =============================== */
/*  HERO                           */
/* =============================== */
.hero{display:grid;place-items:center;text-align:center;padding:9rem 1rem 6rem;
  background:linear-gradient(135deg,var(--acc) 0%,var(--acc-dark) 100%);color:#fff;
  clip-path:polygon(0 0,100% 0,100% 90%,0 100%)}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,6vw,4rem);margin-bottom:.8rem}
.hero p{max-width:650px;margin-inline:auto;font-size:1.1rem}

/* =============================== */
/*  SERVICII                       */
/* =============================== */
.services{max-width:1200px;margin:4rem auto;padding:0 1rem;display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.service-card{text-align:center;padding:2rem 1.2rem;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);transition:.3s}
.service-card i{font-size:2.4rem;color:var(--acc);margin-bottom:.6rem}
.service-card:hover{transform:translateY(-6px);box-shadow:0 8px 20px rgba(0,0,0,.08)}
.service-card h3{margin-bottom:.4rem;font-weight:600}
.service-card p{font-size:.95rem;color:var(--muted)}

/* =============================== */
/*  GALERIE                        */
/* =============================== */
.gallery{max-width:1200px;margin:-4rem auto 4rem;padding:0 1rem;display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.gallery__item{position:relative;overflow:hidden;border-radius:var(--radius);aspect-ratio:1/1;cursor:pointer}
.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform var(--tr)}
.gallery__item:hover img{transform:scale(1.08) rotate(.4deg);filter:brightness(.9)}
.gallery__caption{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.45);color:#fff;font-size:1.25rem;opacity:0;transition:opacity var(--tr);backdrop-filter:blur(4px)}
.gallery__item:hover .gallery__caption{opacity:1}
dialog[open]{border:none;border-radius:var(--radius);padding:0;max-width:90vw}
dialog::backdrop{background:rgba(0,0,0,.75)}

/* =============================== */
/*  ABOUT                          */
.about{background:color-mix(in srgb,var(--bg) 96%,var(--txt) 4%);color:var(--txt)}
body.dark .about{background:#1c1c1c}
.about__content{max-width:900px;margin:auto;padding:4rem 1rem}
.about__content h2{font-family:'Playfair Display',serif;text-align:center;margin-bottom:1rem;color:var(--txt)}
.timeline{position:relative;margin-top:2rem}
.timeline::before{content:'';position:absolute;left:50%;top:0;width:3px;height:100%;background:var(--acc-dark);transform:translateX(-50%)}
.moment{position:relative;width:50%;padding:1.5rem 2rem;border-radius:var(--radius);background:var(--bg-card);color:var(--txt);box-shadow:0 4px 12px rgba(0,0,0,.06);font-size:.95rem}
.moment:nth-child(odd){left:0}.moment:nth-child(even){left:50%}
.moment h4{margin-bottom:.3rem;color:var(--acc-dark)}
.moment::after{content:'';position:absolute;top:20px;width:12px;height:12px;border-radius:50%;background:var(--acc);border:3px solid var(--bg-card)}
.moment:nth-child(odd)::after{right:-6px}.moment:nth-child(even)::after{left:-6px}

/* =============================== */
/*  CONTACT                        */
.contact{max-width:1200px;margin:4rem auto;padding:0 1rem;display:grid;gap:var(--gap)}
.contact-card{background:var(--bg);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);padding:2rem;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.03)}
.contact-card h3{margin-bottom:.8rem}
.contact-card a{color:var(--acc);font-weight:600;text-decoration:none;font-size:1.1rem}
.contact-card i{margin-right:.4rem;color:var(--acc-dark)}
.program{color:var(--muted);margin-top:.8rem}
.map-box{min-height:300px;border-radius:var(--radius);overflow:hidden;margin-top:1rem}

/* =============================== */
/*  FOOTER                         */
footer{background:var(--acc);color:#fff;text-align:center;padding:1rem;font-size:.875rem}

/* =============================== */
/*  FAB (apel rapid)               */
#fab{position:fixed;right:calc(24px + env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--acc);color:#fff;font-size:1.3rem;text-decoration:none;box-shadow:0 4px 15px rgba(0,0,0,.25);transition:background var(--tr),transform var(--tr);z-index:2000}
#fab:hover{background:var(--acc-dark);transform:translateY(-4px)}
#callCard{position:fixed;right:90px;bottom:34px;z-index:1999;background:var(--bg);color:var(--txt);padding:1rem 1.4rem;border-radius:var(--radius);box-shadow:0 4px 16px rgba(0,0,0,.15);width:220px;font-size:.95rem;line-height:1.4;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity var(--tr),transform var(--tr)}
#callCard.show{opacity:1;pointer-events:auto;transform:none}
#callCard a{color:var(--acc);font-weight:600;text-decoration:none}

/* =============================== */
/*  EFECTE                         */
[data-animate]{opacity:0;transform:translateY(40px);transition:all .6s ease}
.show{opacity:1;transform:none}
section[id]{scroll-margin-top:calc(var(--header-h)+12px)}
/* ===== LIGHT-BOX (dialog) ===== */
#lightbox{
  border:none;
  padding:0;
  background:transparent;
  display:grid;
  place-items:center;
}

#lightbox::backdrop{
  background:rgba(0,0,0,.85);
}

.lightbox-img{
  max-width:90vw;
  max-height:90vh;
  object-fit:contain;
  border-radius:1rem;
  box-shadow:0 15px 45px rgba(0,0,0,.45);
  cursor:zoom-out;
}

.lightbox-caption{
  margin-top:.8rem;
  color:#fff;
  font-size:.95rem;
  text-align:center;
  pointer-events:none;               /* click-ul trece prin text */
}
/* dialogul stă deasupra oricărui conţinut */
dialog[open]{
  position:fixed;          /* => iese din fluxul paginii */
  inset:0;                 /* acoperă tot ecranul */
  z-index:3000;            /* peste header & fab */
}


/* capţiunile din miniaturi rămân fără evenimente */
.gallery__caption{pointer-events:none}


/* =============================== */
/*  MEDIA QUERIES                  */
@media (max-width:992px){
  .hamburger{display:flex}
  .nav__links{position:fixed;top:var(--header-h);right:0;width:70vw;height:calc(100vh - var(--header-h));background:var(--bg);flex-direction:column;gap:2rem;padding-top:3rem;padding-inline:2rem;transform:translateX(100%);transition:transform .4s var(--tr);overflow-y:auto;box-shadow:-4px 0 12px rgba(0,0,0,.12);z-index:900}
  .nav__links.open{transform:none}
  body.menu-open{overflow:hidden}
  .hero{padding:7rem 1rem 4rem}
}
@media (max-width:480px){
  :root{--gap:1rem}
  .services{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr}
}
/* =============================== */
/*  INTRO TEXT (under gallery)     */
/* =============================== */
.intro{background:color-mix(in srgb,var(--bg) 96%,var(--txt) 4%)}
body.dark .intro{background:#1c1c1c}
.intro__content{max-width:900px;margin:auto;padding:3rem 1rem}
.lead{font-size:1.1rem;margin-bottom:1rem}
.features{margin:1rem 0 0 0;padding-left:0;list-style:none;display:grid;gap:.6rem}
.features li{display:flex;align-items:center;gap:.6rem;background:var(--bg-card);padding:.7rem 1rem;border-radius:var(--radius);box-shadow:0 2px 10px rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.06)}
.features i{color:var(--acc-dark)}
