/* Cabinet de endocrinologie — design premium: alb crem, bleumarin profund, accente aurii */
:root{
  --bg:#fdfcfa; --fg:#1b2440; --card:#ffffff;
  --navy:#17264d; --navy-light:#26396c; --navy-fg:#f8f6f1;
  --secondary:#f5f2ea; --muted:#f4f5f8; --muted-fg:#6a7185;
  --gold:#c9a44c; --gold-fg:#1b2440;
  --border:#e3e5ec; --success:#2f7a52; --danger:#b3402f;
  --radius:6px;
  --grad-navy:linear-gradient(140deg,#132043 0%,#25376a 55%,#17204a 100%);
  --grad-gold:linear-gradient(100deg,#b8913c,#e6cd8a,#c19a45);
  --shadow-soft:0 1px 2px rgba(23,38,77,.06),0 12px 32px -18px rgba(23,38,77,.28);
  --shadow-lift:0 24px 60px -28px rgba(23,38,77,.4);
  --font-display:"Cormorant Garamond",Georgia,serif;
  --font-sans:"Manrope",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.6;display:flex;flex-direction:column;min-height:100vh}
main{flex:1}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;letter-spacing:-.01em;line-height:1.15;color:var(--navy)}
h1{font-size:2.3rem}h2{font-size:1.9rem}h3{font-size:1.25rem}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 1.25rem}
.section{padding:4rem 0}
.eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
.gold{color:var(--gold)}
.muted{color:var(--muted-fg)}
.soft{color:rgba(248,246,241,.75);font-size:.92rem}
.display-2{font-family:var(--font-display);font-size:1.6rem}
.text-gold{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.rule-gold{display:block;height:1px;width:4rem;background:var(--grad-gold);margin:1.25rem 0}
.center{text-align:center}.center .rule-gold{margin:1.25rem auto}
.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}
.surface-navy{background:var(--grad-navy);color:var(--navy-fg)}
.surface-navy h1,.surface-navy h2,.surface-navy h3{color:var(--navy-fg)}
.bg-secondary{background:var(--secondary)}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:1.75rem}
.grid{display:grid;gap:1.5rem}
.plain{list-style:none}
/* butoane */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:var(--radius);
 font-family:var(--font-sans);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
 padding:.95rem 1.75rem;cursor:pointer;transition:.25s ease}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-gold{background:var(--grad-gold);color:var(--gold-fg);box-shadow:var(--shadow-soft)}
.btn-gold:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lift)}
.btn-navy{background:var(--navy);color:var(--navy-fg)}
.btn-navy:hover:not(:disabled){background:var(--navy-light);transform:translateY(-2px)}
.btn-outline-navy{border:1px solid var(--navy);color:var(--navy);background:transparent}
.btn-outline-navy:hover{background:var(--navy);color:var(--navy-fg)}
.btn-outline-light{border:1px solid rgba(255,255,255,.45);color:var(--navy-fg);background:transparent}
.btn-outline-light:hover{background:rgba(255,255,255,.12)}
.btn-sm{padding:.5rem .9rem;font-size:.68rem}
.btn-danger{background:var(--danger);color:#fff}
.full{width:100%}
/* formulare */
.field{width:100%;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);
 padding:.7rem .85rem;font-size:.95rem;font-family:var(--font-sans);color:var(--fg)}
.field:focus{outline:2px solid var(--gold);outline-offset:1px}
label{display:block;font-size:.8rem;font-weight:600;color:var(--navy);margin-bottom:.35rem}
.form-row{margin-bottom:1rem}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(253,252,250,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.9rem;padding-bottom:.9rem}
.brand{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-family:var(--font-display);font-size:1.15rem;color:var(--navy)}
.nav-desktop{display:none;gap:1.7rem}
.nav-desktop a{font-size:.9rem;font-weight:500;color:var(--muted-fg);border-bottom:1px solid transparent;padding-bottom:2px}
.nav-desktop a:hover,.nav-desktop a.is-active{color:var(--navy);border-color:var(--gold)}
.header-actions{display:flex;align-items:center;gap:.75rem}
.header-phone{display:inline-flex !important;font-size:.85rem;font-weight:700;padding:.6rem .9rem;letter-spacing:.04em}
@media(min-width:1100px){.header-phone{font-size:.9rem;padding:.7rem 1.2rem}}
.burger{width:44px;height:44px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}
.burger span{display:block;width:20px;height:1px;background:var(--navy)}
.nav-mobile{display:none;border-top:1px solid var(--border);padding:.5rem 1.25rem 1.5rem}
.nav-mobile a{display:block;padding:.85rem 0;border-bottom:1px solid var(--border);color:var(--muted-fg)}
.nav-mobile .btn{margin-top:1.25rem;border-bottom:0}
body.menu-open .nav-mobile{display:block}
.hide-mobile{display:none}
/* hero */
.hero{position:relative;overflow:hidden;isolation:isolate}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:rgba(19,32,67,.82)}
.hero-inner{position:relative;z-index:1;padding:5rem 0;color:var(--navy-fg);max-width:640px}
.hero h1{font-size:2.5rem;color:var(--navy-fg);margin-top:1.25rem}
.hero p.lead{margin-top:1.5rem;color:rgba(248,246,241,.82)}
.hero-cta{display:flex;flex-direction:column;gap:.75rem;margin-top:2.25rem}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.15)}
.stats dt{font-family:var(--font-display);font-size:1.8rem;color:var(--gold)}
.stats dd{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(248,246,241,.6);margin-top:.25rem}
/* page hero */
.page-hero{padding:3.5rem 0;text-align:center}
.page-hero .inner{max-width:760px;margin:0 auto}
/* diverse */
.photo{border-radius:var(--radius);box-shadow:var(--shadow-lift);width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top}
.gallery img{aspect-ratio:3/4;object-fit:cover;width:100%;border-radius:var(--radius);border:1px solid var(--border);transition:transform .7s ease}
.gallery img:hover{transform:scale(1.04)}
.hours li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:.4rem;margin-bottom:.4rem}
.cta-band{display:flex;flex-direction:column;gap:1.5rem;padding:3.5rem 0}
.footer-grid{display:grid;gap:2.5rem;padding:3.5rem 0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);font-size:.75rem;color:rgba(248,246,241,.6)}
.footer-bottom-inner{display:flex;flex-direction:column;gap:.4rem;padding:1.25rem 0}
.stars{color:var(--gold)}
.badge{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
 padding:.25rem .6rem;border-radius:999px;background:var(--secondary);color:var(--navy)}
.badge-cancel{background:#fbe9e6;color:var(--danger)}
.alert{border-radius:var(--radius);padding:.9rem 1rem;font-size:.9rem;margin-bottom:1rem}
.alert-error{background:#fbe9e6;color:var(--danger)}
.alert-ok{background:#e7f4ec;color:var(--success)}
/* rezervare */
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.6rem}
.slots > p{grid-column:1/-1}
.slot{border:1px solid var(--border);background:var(--card);border-radius:var(--radius);padding:.7rem 0;
 font-weight:600;font-size:.9rem;color:var(--navy);cursor:pointer}
.slot:hover{border-color:var(--gold)}
.slot.is-selected{background:var(--navy);color:var(--navy-fg);border-color:var(--navy)}
.days{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.6rem}
.day{border:1px solid var(--border);background:var(--card);border-radius:var(--radius);padding:.7rem .4rem;text-align:center;cursor:pointer}
.day small{display:block;font-size:.68rem;color:var(--muted-fg);text-transform:uppercase;letter-spacing:.1em}
.day strong{font-family:var(--font-display);font-size:1.3rem;color:var(--navy)}
.day.is-selected{background:var(--navy);border-color:var(--navy)}
.day.is-selected strong,.day.is-selected small{color:var(--navy-fg)}
.day.is-off{opacity:.4;cursor:not-allowed}
.steps{display:grid;gap:2rem}
/* tabel admin */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{text-align:left;padding:.7rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}
th{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-fg)}
.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}
.tabs a{padding:.6rem 1.1rem;border:1px solid var(--border);border-radius:999px;font-size:.8rem;font-weight:600;color:var(--muted-fg);background:var(--card)}
.tabs a.is-active{background:var(--navy);color:var(--navy-fg);border-color:var(--navy)}
.admin-bar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding:1.25rem 0}
.inline-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}
.inline-form .form-row{margin:0}
@media(min-width:640px){
  h1{font-size:2.8rem}h2{font-size:2.1rem}
  .hero-cta{flex-direction:row}
  .cols-2{grid-template-columns:repeat(2,1fr)}
  .footer-bottom-inner{flex-direction:row;align-items:center;justify-content:space-between}
}
@media(min-width:768px){
  .section{padding:5.5rem 0}
  .page-hero{padding:5rem 0}
  .hero-inner{padding:8rem 0}
  .hero h1{font-size:3.4rem}
  .cta-band{flex-direction:row;align-items:center;justify-content:space-between}
  .stats dt{font-size:2.2rem}
  .cols-3{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:1fr 1fr}
}
@media(min-width:1024px){
  .wrap{padding:0 2rem}
  .nav-desktop{display:flex}
  .burger{display:none}
  .hide-mobile{display:inline-flex}
  .split{grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
  .split-a{grid-template-columns:.9fr 1.1fr;gap:3.5rem;align-items:start}
  .split-b{grid-template-columns:1fr 1.2fr}
  .footer-grid{grid-template-columns:repeat(3,1fr)}
}
