:root{
  --ink:#0a1815;
  --ink-2:#0e2019;
  --reed:#24402f;
  --reed-2:#1a3024;
  --gold:#d9a441;
  --glow:#e7c25e;
  --clay:#8b5a2b;
  --paper:#f3eee1;
  --paper-dim:#e7dfc9;
  --ink-text:#141d18;
  --mist:rgba(243,238,225,0.7);
  --display: 'Fraunces', serif;
  --body: 'Work Sans', sans-serif;
  --mono: 'IBM Plex Mono', monospace;
  --radius: 2px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; background:var(--paper); overscroll-behavior-x:none; overflow-x:hidden; overflow-x:clip; width:100%; max-width:100%;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}
body{
  font-family:var(--body);
  background:var(--paper);
  color:var(--ink-text);
  line-height:1.5;
  overflow-x:hidden;
  overflow-x:clip;
  max-width:100%;
  overscroll-behavior-x:none;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit;}
button{font:inherit; color:inherit; background:none;}
::selection{background:var(--gold); color:var(--ink);}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

.eyebrow{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--clay); display:flex; align-items:center; gap:.6em; margin-bottom:1rem;
}
.eyebrow::before{content:""; width:22px; height:1px; background:var(--clay); display:inline-block;}
.eyebrow.on-dark{color:var(--gold);}

h1,h2,h3,h4{font-family:var(--display); font-weight:600; line-height:1.05; color:var(--ink);}
.section-title{font-size:clamp(1.9rem, 4.2vw, 3rem); max-width:18ch;}
.section-sub{color:#4c5850; max-width:56ch; font-size:1.02rem; margin-top:.9rem;}
.on-dark .section-title, .section-title.on-dark{color:var(--paper);}
.on-dark .section-sub, .section-sub.on-dark{color:var(--mist);}

.wrap{max-width:1180px; margin:0 auto; padding:0 clamp(1.2rem,4vw,2.5rem);}
section{position:relative; padding:clamp(4rem,9vw,7.5rem) 0;}
section.tight{padding:clamp(2.6rem,6vw,4rem) 0;}

/* ---------- NAV ---------- */
header.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:.9rem clamp(1.2rem,4vw,2.5rem);
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(10,24,21,.86); backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(217,164,65,.15);
}
.brand{
  font-family:var(--display); font-weight:700; font-size:1.15rem;
  color:var(--paper); letter-spacing:.01em; display:flex; align-items:center; gap:.55rem;
  text-decoration:none;
}
.brand svg{width:26px; height:26px; flex:none;}
.nav-links{display:flex; gap:1.6rem; list-style:none;}
.nav-links a{
  font-family:var(--body); font-size:.86rem; font-weight:500; color:var(--mist);
  text-decoration:none; position:relative; padding:.3rem 0;
}
.nav-links a::after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--gold); transition:width .25s ease;
}
.nav-links a:hover::after, .nav-links a.active::after{width:100%;}
.nav-links a:hover, .nav-links a.active{color:var(--paper);}
.nav-cta{
  font-family:var(--body); font-size:.85rem; font-weight:600;
  background:var(--gold); color:var(--ink); padding:.6rem 1.15rem;
  border-radius:var(--radius); text-decoration:none; white-space:nowrap;
  border:1px solid var(--gold);
}
.nav-cta:hover{background:transparent; color:var(--gold);}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:.5rem; z-index:110;}
.burger span{width:22px; height:2px; background:var(--paper); display:block;}
.mobile-panel{
  position:fixed; inset:0; background:var(--ink); z-index:105;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  gap:1.4rem; padding:2rem clamp(1.2rem,6vw,3rem);
  transform:translateY(-100%); transition:transform .35s ease;
}
.mobile-panel.open{transform:translateY(0);}
.mobile-panel a{font-family:var(--display); font-size:1.7rem; color:var(--paper); text-decoration:none;}
.mobile-panel .nav-cta{margin-top:1rem;}

/* ---------- WEATHER WIDGET ---------- */
.weather-widget{
  position:fixed; top:66px; right:14px; z-index:90;
  display:flex; align-items:center; gap:.6rem;
  background:rgba(10,24,21,.78); backdrop-filter:blur(8px);
  border:1px solid rgba(217,164,65,.28); border-radius:8px;
  padding:.5rem .8rem; color:var(--paper); font-family:var(--mono);
  max-width:200px; cursor:default;
}
.ww-icon{font-size:1.35rem; line-height:1;}
.ww-data{display:flex; flex-direction:column; gap:.15rem;}
.ww-top{display:flex; align-items:baseline; gap:.45rem;}
#wwTemp{font-size:.98rem; font-weight:600; color:var(--glow);}
.ww-loc{font-size:.6rem; text-transform:uppercase; letter-spacing:.06em; opacity:.7;}
.ww-row{display:flex; gap:.6rem; font-size:.64rem; opacity:.88;}
@media (max-width:760px){
  .weather-widget{top:60px; right:8px; padding:.4rem .6rem;}
  .ww-icon{font-size:1.1rem;}
  #wwTemp{font-size:.85rem;}
  .ww-row{font-size:.58rem;}
}

/* ---------- HERO (home) ---------- */
.hero{
  position:relative; height:100svh; min-height:560px; width:100%;
  display:flex; align-items:flex-end; overflow:hidden; background:var(--ink);
}
.fish-canvas{position:absolute; inset:0; width:100%; height:100%; display:block;}
.hero-static-bg{
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 50% 15%, rgba(217,164,65,.16), transparent 55%),
    linear-gradient(180deg, #0e241c 0%, #0a1815 55%, #060f0d 100%);
}
.hero-vignette{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.55), transparent 60%),
    linear-gradient(180deg, rgba(6,15,13,.35) 0%, transparent 22%, transparent 70%, rgba(6,15,13,.75) 100%);
}
.hero-inner{position:relative; z-index:5; width:100%; padding:0 clamp(1.2rem,4vw,2.5rem) clamp(3rem,8vw,5rem);}
.hero-tag{
  font-family:var(--mono); color:var(--glow); font-size:.75rem; letter-spacing:.2em;
  text-transform:uppercase; margin-bottom:1.1rem; display:flex; align-items:center; gap:.6em;
}
.hero-tag::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--glow); box-shadow:0 0 12px var(--glow); display:inline-block;}
.hero h1{font-size:clamp(2.6rem, 7.4vw, 5.6rem); color:var(--paper); max-width:14ch; text-shadow:0 4px 40px rgba(0,0,0,.4);}
.hero h1 em{font-style:italic; color:var(--gold); font-weight:500;}
.hero p.lead{color:var(--mist); max-width:46ch; margin-top:1.3rem; font-size:1.08rem;}
.hero-actions{display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.1rem;}
.scroll-cue{
  position:absolute; right:clamp(1.2rem,4vw,2.5rem); bottom:2.4rem; z-index:5;
  writing-mode:vertical-rl; color:var(--mist); font-family:var(--mono); font-size:.7rem;
  letter-spacing:.2em; display:flex; align-items:center; gap:.8rem;
}
.scroll-cue::after{content:""; width:1px; height:46px; background:linear-gradient(var(--gold), transparent); display:block;}

/* ---------- PAGE BANNER (subpages) ---------- */
.page-banner{
  position:relative; height:52svh; min-height:340px; width:100%;
  display:flex; align-items:flex-end; overflow:hidden; background:var(--ink);
}
.page-banner .hero-inner{padding-bottom:clamp(2.2rem,6vw,3.2rem);}
.page-banner h1{font-size:clamp(2.1rem,5.4vw,3.6rem); max-width:18ch; color:var(--paper); text-shadow:0 4px 40px rgba(0,0,0,.4);}
.page-banner .lead{max-width:56ch; color:var(--mist);}
.breadcrumb{
  font-family:var(--mono); font-size:.72rem; color:var(--mist); letter-spacing:.05em;
  display:flex; gap:.5em; margin-bottom:.9rem; text-transform:uppercase;
}
.breadcrumb a{color:var(--mist); text-decoration:none;}
.breadcrumb a:hover{color:var(--glow);}

/* ---------- BUTTONS ---------- */
.btn{
  font-family:var(--body); font-weight:600; font-size:.92rem; text-decoration:none;
  padding:.9rem 1.6rem; border-radius:var(--radius); display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  border:1px solid transparent; transition:transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease;
  cursor:pointer; -webkit-appearance:none; appearance:none; -webkit-tap-highlight-color:transparent;
  outline-offset:2px; white-space:nowrap;
}
/* Efectul de "ridicare" la hover doar pe dispozitive cu mouse real —
   pe touch (telefon/tabletă) :hover rămâne "agățat" după tap și
   butonul pare blocat/ridicat până la următoarea atingere în altă parte. */
@media (hover:hover) and (pointer:fine){
  .btn:hover{transform:translateY(-2px);}
}
.btn:active{transform:translateY(0) scale(.97);}
.btn:disabled, .btn[disabled]{
  opacity:.5; cursor:not-allowed; pointer-events:none; transform:none;
}
.btn-primary{background:var(--gold); color:var(--ink); border-color:var(--gold);}
.btn-primary:hover{background:var(--glow); border-color:var(--glow);}
.btn-ghost{border-color:rgba(243,238,225,.4); color:var(--paper);}
.btn-ghost:hover{border-color:var(--paper); background:rgba(243,238,225,.08);}
.btn-outline{border-color:rgba(20,29,24,.25); color:var(--ink-text);}
.btn-outline:hover{border-color:var(--ink); background:rgba(20,29,24,.05);}
.btn-danger{background:#a3402f; color:#fff; border-color:#a3402f;}
.btn-danger:hover{background:#c24d38;}
.btn-sm{padding:.55rem 1rem; font-size:.8rem;}

/* ---------- STRIP STATS ---------- */
.stats-strip{background:var(--reed); color:var(--paper); padding:2.2rem 0;}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem;}

/* ---------- ANUNȚ: fă-ți cont ---------- */
.announce-band{background:var(--paper-dim); border-bottom:1px solid rgba(20,29,24,.08);}
.announce-inner{
  display:flex; align-items:center; justify-content:center; gap:.7rem;
  padding:.75rem clamp(1.2rem,4vw,2.5rem); flex-wrap:wrap; text-align:center;
}
.announce-dot{flex:none; width:6px; height:6px; border-radius:50%; background:var(--gold);}
.announce-text{font-size:.85rem; color:#5a655d;}
.announce-text b{color:var(--ink-text); font-weight:600;}
.announce-cta{
  flex:none; font-family:var(--mono); font-size:.78rem; color:var(--clay); text-decoration:none;
  border-bottom:1px solid rgba(139,90,43,.35); transition:border-color .2s ease, color .2s ease;
}
.announce-cta:hover{color:var(--ink-text); border-color:currentColor;}
.stat b{font-family:var(--display); font-size:clamp(1.6rem,3.4vw,2.3rem); display:block; color:var(--glow);}
.stat span{font-family:var(--mono); font-size:.72rem; letter-spacing:.06em; color:var(--mist); text-transform:uppercase;}

/* ---------- ABOUT ---------- */
.about-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,6vw,4rem); align-items:start;}
.about-visual{position:relative; aspect-ratio:4/5; border-radius:var(--radius); overflow:hidden; background:linear-gradient(160deg,#1a3024,#0a1815 70%);}
.about-visual .cap{
  position:absolute; left:1rem; bottom:1rem; font-family:var(--mono); font-size:.68rem;
  color:var(--mist); letter-spacing:.05em; background:rgba(10,24,21,.55); padding:.4rem .7rem; border-radius:2px;
}
.about-copy p{color:#3c473f; margin-top:1.1rem; font-size:1rem; max-width:56ch;}
.about-copy p strong{color:var(--ink); font-weight:600;}
.feature-list{list-style:none; margin-top:1.8rem; display:grid; gap:.9rem;}
.feature-list li{display:flex; gap:.8rem; align-items:flex-start; font-size:.96rem; color:#354039;}
.feature-list svg{flex:none; width:20px; height:20px; margin-top:.15rem; color:var(--clay);}

/* ---------- SPECIES ---------- */
.species-band{background:var(--paper-dim);}
.species-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; margin-top:2.6rem;}
.species-card{background:var(--paper); border:1px solid rgba(20,29,24,.08); border-radius:var(--radius); padding:1.6rem 1.3rem 1.4rem; position:relative; overflow:hidden;}
.species-card svg{width:100%; height:70px; margin-bottom:1rem;}
.species-card h3{font-size:1.15rem; margin-bottom:.35rem;}
.species-card p{font-size:.86rem; color:#5a655d;}
.species-card .tag{font-family:var(--mono); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:var(--clay); display:block; margin-top:.7rem;}

/* ---------- CAZARE ---------- */
.stay-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,6vw,4rem); align-items:center;}
.stay-grid.rev{grid-template-columns:1.1fr .9fr;}
.amenity-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2rem;}
.amenity{border:1px solid rgba(20,29,24,.1); border-radius:var(--radius); padding:1.1rem .9rem; text-align:left; background:var(--paper);}
.amenity svg{width:22px; height:22px; color:var(--clay); margin-bottom:.6rem;}
.amenity span{display:block; font-size:.84rem; font-weight:500; color:var(--ink-text);}
.night-panel{border-radius:var(--radius); overflow:hidden; aspect-ratio:5/4; position:relative; background:radial-gradient(ellipse at 30% 70%, rgba(217,164,65,.25), transparent 55%), linear-gradient(160deg,#0e241c,#060f0d);}
.night-panel svg{position:absolute; inset:0; width:100%; height:100%;}
.cabin-list{list-style:none; margin-top:2rem; display:grid; gap:1rem;}
.cabin-list li{
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
  padding:1rem 1.2rem; border:1px solid rgba(20,29,24,.1); border-radius:var(--radius); background:var(--paper);
}
.cabin-list .name{font-family:var(--display); font-size:1.05rem;}
.cabin-list .meta{font-family:var(--mono); font-size:.74rem; color:#5a655d;}

/* ---------- PRICING ---------- */
.pricing-band{background:var(--ink); color:var(--paper); overflow-x:hidden;}
.price-note{margin-top:1.4rem; font-family:var(--mono); font-size:.78rem; color:var(--glow); border-left:2px solid var(--glow); padding-left:.9rem; max-width:60ch; overflow-wrap:break-word;}
.price-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; margin-top:2.6rem; max-width:100%;}
.price-card{border:1px solid rgba(243,238,225,.14); border-radius:var(--radius); padding:1.7rem 1.6rem; background:linear-gradient(160deg, rgba(243,238,225,.04), transparent); overflow-wrap:break-word; max-width:100%; min-width:0;}
.price-card h3{color:var(--paper); font-size:1.15rem; margin-bottom:1rem; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:.3rem .6rem; min-width:0;}
.price-card h3 small{font-family:var(--mono); font-size:.68rem; color:var(--glow); text-transform:uppercase; letter-spacing:.08em; min-width:0;}
.price-row{display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; padding:.65rem 0; border-bottom:1px dashed rgba(243,238,225,.14); font-size:.92rem; gap:.3rem 1rem; min-width:0;}
.price-row:last-child{border-bottom:0;}
.price-row .lbl{color:var(--mist); min-width:0; overflow-wrap:break-word;}
.price-row .val{font-family:var(--mono); color:var(--glow); white-space:normal; text-align:right; font-size:.95rem; min-width:0; overflow-wrap:break-word;}
@media (max-width:640px){
  .pricing-band{padding:clamp(2.6rem,8vw,3.6rem) 0;}
  .price-grid{gap:1rem; margin-top:2rem;}
  .price-card{padding:1.4rem 1.2rem;}
  .price-card h3{font-size:1.25rem;}
  .price-card h3 small{font-size:.74rem;}
  .price-row{font-size:1rem; padding:.8rem 0;}
  .price-row .val{font-size:1rem;}
  .price-note{font-size:.85rem;}
}

/* ---------- REGULAMENT ---------- */
.rules-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,6vw,4rem);}
.rules-list{counter-reset:rule; list-style:none; margin-top:1.4rem;}
.rules-list li{counter-increment:rule; position:relative; padding:1rem 0 1rem 2.6rem; border-bottom:1px solid rgba(20,29,24,.08); font-size:.95rem; color:#3c473f;}
.rules-list li::before{content:counter(rule, decimal-leading-zero); position:absolute; left:0; top:1rem; font-family:var(--mono); font-size:.78rem; color:var(--clay);}
.rules-list li strong{color:var(--ink); font-weight:600;}
.rules-aside{background:var(--reed); color:var(--paper); border-radius:var(--radius); padding:1.8rem; position:sticky; top:100px; height:max-content;}
.rules-aside h4{color:var(--paper); font-size:1.05rem; margin-bottom:.8rem;}
.rules-aside p{font-size:.88rem; color:var(--mist); margin-bottom:1rem;}
.rules-aside ul{list-style:none; display:grid; gap:.55rem; font-size:.86rem; color:var(--mist);}
.rules-aside ul li{display:flex; gap:.55rem;}
.rules-aside ul li::before{content:"—"; color:var(--gold);}

/* ---------- GALLERY ---------- */
.gallery-grid{display:grid; grid-template-columns:repeat(4, 1fr); grid-auto-rows:150px; gap:.7rem; margin-top:2.4rem;}
.gallery-grid .g1{grid-column:span 2; grid-row:span 2;}
.gallery-grid .g5{grid-column:span 2;}
.gtile{border-radius:var(--radius); overflow:hidden; position:relative; display:flex; align-items:flex-end;}
.gtile svg{position:absolute; inset:0; width:100%; height:100%;}
.gtile span{position:relative; z-index:2; padding:.8rem .9rem; font-family:var(--mono); font-size:.7rem; color:var(--paper); letter-spacing:.04em; background:linear-gradient(to top, rgba(6,15,13,.75), transparent); width:100%;}
.gallery-note{margin-top:1.3rem; font-size:.82rem; color:#6b7469; font-family:var(--mono);}

/* ---------- LOCATION ---------- */
.loc-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,4rem); align-items:center;}
.map-frame{border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3; border:1px solid rgba(20,29,24,.1);}
.map-frame iframe{width:100%; height:100%; border:0;}
.loc-list{list-style:none; margin-top:1.6rem; display:grid; gap:1rem;}
.loc-list li{display:flex; gap:.9rem; font-size:.95rem; color:#354039;}
.loc-list svg{flex:none; width:20px; height:20px; color:var(--clay); margin-top:.1rem;}

/* ---------- CONTACT FORM ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,4rem);}
.form-field{display:flex; flex-direction:column; gap:.4rem; margin-bottom:1.1rem;}
.form-field label{font-family:var(--mono); font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; color:var(--clay);}
.form-field input, .form-field textarea, .form-field select{
  font-family:var(--body); font-size:1rem; padding:.75rem .9rem; border:1px solid rgba(20,29,24,.18);
  border-radius:var(--radius); background:var(--paper); color:var(--ink-text);
}
.form-field textarea{resize:vertical; min-height:110px;}
.form-note{font-family:var(--mono); font-size:.75rem; color:#6b7469; margin-top:.6rem;}

/* ---------- CTA / CONTACT STRIP ---------- */
.cta-band{background:linear-gradient(160deg, var(--reed-2), var(--ink)); color:var(--paper); text-align:center;}
.cta-band .section-title{color:var(--paper); max-width:20ch; margin:0 auto;}
.cta-band .section-sub{color:var(--mist); margin-left:auto; margin-right:auto;}
.cta-actions{display:flex; justify-content:center; gap:1rem; flex-wrap:wrap; margin-top:2rem;}
.contact-strip{display:flex; justify-content:center; gap:2.2rem; flex-wrap:wrap; margin-top:2.6rem; font-family:var(--mono); font-size:.85rem; color:var(--mist);}
.contact-strip a{text-decoration:none; color:var(--mist); border-bottom:1px solid rgba(243,238,225,.25);}
.contact-strip a:hover{color:var(--glow); border-color:var(--glow);}

/* ---------- FOOTER ---------- */
footer{background:var(--ink); color:var(--mist); padding:2.6rem 0 2rem; font-size:.82rem;}
.footer-grid{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;}
.footer-grid .brand{color:var(--paper);}
.footer-links{list-style:none; display:flex; gap:1.4rem;}
.footer-links a{text-decoration:none; color:var(--mist);}
.footer-links a:hover{color:var(--glow);}

/* ---------- REVEAL ---------- */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* ---------- ADMIN ---------- */
.admin-shell{background:var(--paper-dim); min-height:100svh; padding-top:5.5rem;}
.admin-gate{max-width:420px; margin:8vh auto; background:var(--paper); border:1px solid rgba(20,29,24,.1); border-radius:var(--radius); padding:2.2rem;}
.admin-gate h2{margin-bottom:.6rem;}
.admin-gate p{color:#5a655d; font-size:.9rem; margin-bottom:1.2rem;}
.admin-layout{display:grid; grid-template-columns:220px 1fr; gap:2rem; max-width:1180px; margin:0 auto; padding:0 clamp(1.2rem,4vw,2.5rem) 4rem;}
.admin-nav{display:flex; flex-direction:column; gap:.3rem; position:sticky; top:96px; height:max-content;}
.admin-nav button{
  text-align:left; background:none; border:0; padding:.7rem .9rem; border-radius:var(--radius);
  font-family:var(--body); font-size:.9rem; color:#4c5850; cursor:pointer;
}
.admin-nav button.active, .admin-nav button:hover{background:var(--paper); color:var(--ink); font-weight:600;}
.admin-panel{background:var(--paper); border:1px solid rgba(20,29,24,.1); border-radius:var(--radius); padding:2rem;}
.admin-panel h3{margin-bottom:.4rem;}
.admin-panel > p.hint{color:#5a655d; font-size:.85rem; margin-bottom:1.6rem;}
.admin-section{display:none;}
.admin-section.active{display:block;}
.admin-table{width:100%; border-collapse:collapse; margin-top:1rem;}
.admin-table th{text-align:left; font-family:var(--mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; color:#6b7469; padding:.5rem .4rem; border-bottom:1px solid rgba(20,29,24,.12);}
.admin-table td{padding:.5rem .4rem; border-bottom:1px solid rgba(20,29,24,.07); vertical-align:middle;}
.admin-table input{width:100%; font-family:var(--mono); font-size:.85rem; padding:.5rem .6rem; border:1px solid rgba(20,29,24,.15); border-radius:var(--radius);}
.rule-row{display:flex; gap:.6rem; margin-bottom:.6rem; align-items:flex-start;}
.rule-row textarea{flex:1; font-family:var(--body); font-size:.88rem; padding:.6rem .7rem; border:1px solid rgba(20,29,24,.15); border-radius:var(--radius); min-height:56px; resize:vertical;}
.rule-row button{flex:none;}
.toolbar{display:flex; gap:.7rem; flex-wrap:wrap; margin-top:1.6rem;}
.status-msg{font-family:var(--mono); font-size:.78rem; margin-top:1rem; padding:.6rem .8rem; border-radius:var(--radius); display:none;}
.status-msg.show{display:block;}
.status-msg.ok{background:#e5f0e6; color:#2f5a34;}
.status-msg.err{background:#f3e0dd; color:#8a3527;}
.admin-badge{
  display:inline-flex; align-items:center; gap:.4em; font-family:var(--mono); font-size:.68rem;
  color:var(--gold); background:rgba(217,164,65,.12); border:1px solid rgba(217,164,65,.3);
  padding:.25rem .6rem; border-radius:20px; margin-left:.6rem;
}

/* ---------- ADMIN: stats & users ---------- */
.stat-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1rem; margin-top:1.4rem;}
.stat-card{background:var(--paper-dim); border:1px solid rgba(20,29,24,.08); border-radius:var(--radius); padding:1.1rem 1.2rem;}
.stat-card b{display:block; font-family:var(--display); font-size:1.9rem; color:var(--clay); line-height:1;}
.stat-card span{display:block; margin-top:.4rem; font-family:var(--mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:#6b7469;}
.admin-mini-list{margin-top:1rem; border:1px solid rgba(20,29,24,.08); border-radius:var(--radius); overflow:hidden;}
.admin-mini-row{display:flex; justify-content:space-between; gap:1rem; padding:.6rem .9rem; font-size:.85rem; border-bottom:1px solid rgba(20,29,24,.07);}
.admin-mini-row:last-child{border-bottom:0;}
.admin-mini-row .meta{font-family:var(--mono); font-size:.72rem; color:#6b7469;}
.promote-admin-form{display:flex; gap:.6rem; margin-top:1rem; flex-wrap:wrap;}
.promote-admin-form input{
  flex:1; min-width:220px; padding:.7rem .9rem; border-radius:var(--radius); border:1px solid rgba(20,29,24,.2);
  font-family:var(--body); font-size:.88rem; background:var(--paper);
}
.promote-admin-form input:focus{border-color:var(--gold); outline:none;}
.admin-login-form .form-note.err{color:#a3402f;}
.pill{display:inline-block; font-family:var(--mono); font-size:.66rem; padding:.15rem .55rem; border-radius:20px; text-transform:uppercase; letter-spacing:.04em;}
.pill.admin-yes{background:rgba(217,164,65,.15); color:var(--gold);}
.pill.admin-no{background:rgba(20,29,24,.06); color:#6b7469;}
.catch-card .admin-del-btn{width:100%; margin-top:.7rem;}

/* ---------- REGULAMENT BOT (widget de chat, colț dreapta-jos) ---------- */
.regbot-toggle{
  position:fixed !important; right:1.4rem; bottom:1.4rem; z-index:200; width:58px; height:58px; border-radius:50%;
  background:linear-gradient(160deg, var(--gold), var(--clay)); color:var(--ink); border:2px solid var(--paper);
  cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 28px rgba(0,0,0,.35);
  transition:transform .2s ease, box-shadow .2s ease;
}
.regbot-toggle:active{transform:scale(.94);}
@media (hover:hover) and (pointer:fine){
  .regbot-toggle:hover{transform:translateY(-3px) scale(1.04); box-shadow:0 14px 32px rgba(0,0,0,.4);}
}
.regbot-toggle svg{width:26px; height:26px;}
.regbot-toggle .regbot-ping{
  position:absolute; top:-3px; right:-3px; width:15px; height:15px; border-radius:50%;
  background:var(--reed); border:2px solid var(--paper); animation:regbotPing 2s ease-in-out infinite;
}
@keyframes regbotPing{0%,100%{transform:scale(1);} 50%{transform:scale(1.25);}}
.regbot-panel{
  position:fixed !important; right:1.4rem; bottom:5.4rem; z-index:200; width:min(348px, calc(100vw - 2rem)); max-height:min(500px, 72vh);
  background:var(--paper); border:1px solid rgba(20,29,24,.12); border-radius:14px; box-shadow:0 24px 60px rgba(0,0,0,.35);
  display:none; flex-direction:column; overflow:hidden; opacity:0; transform:translateY(12px) scale(.97);
  transition:opacity .18s ease, transform .18s ease;
}
.regbot-panel.open{display:flex;}
.regbot-panel.open.in{opacity:1; transform:translateY(0) scale(1);}
.regbot-head{
  background:linear-gradient(120deg, var(--reed-2), var(--ink)); color:var(--paper); padding:.9rem 1rem .9rem 1.1rem;
  font-family:var(--display); font-size:1rem; display:flex; align-items:flex-start; gap:.6rem;
}
.regbot-head .regbot-fish{flex:none; width:26px; height:26px; margin-top:.1rem;}
.regbot-head .regbot-head-txt{flex:1; min-width:0;}
.regbot-head small{display:block; font-family:var(--mono); font-size:.66rem; color:var(--mist); margin-top:.15rem; font-weight:400;}
.regbot-close{
  flex:none; background:none; border:0; color:var(--mist); cursor:pointer; font-size:1.1rem; line-height:1;
  padding:.2rem .3rem; margin:-.2rem -.3rem 0 0; border-radius:4px;
}
.regbot-close:hover{color:var(--paper); background:rgba(243,238,225,.12);}
.regbot-body{flex:1; overflow-y:auto; padding:.9rem 1.1rem; display:flex; flex-direction:column; gap:.7rem; background:
    radial-gradient(ellipse at 100% 0%, rgba(217,164,65,.06), transparent 55%), var(--paper);}
.regbot-msg{font-size:.85rem; line-height:1.5; max-width:92%;}
.regbot-msg.user{align-self:flex-end; background:var(--ink); color:var(--paper); padding:.55rem .8rem; border-radius:12px 12px 2px 12px;}
.regbot-msg.bot{align-self:flex-start; background:var(--paper-dim); padding:.55rem .8rem; border-radius:12px 12px 12px 2px;}
.regbot-msg.bot ul{margin:.3rem 0 0 1.1rem;}
.regbot-form{display:flex; gap:.5rem; padding:.8rem; border-top:1px solid rgba(20,29,24,.08); background:var(--paper);}
.regbot-form input{flex:1; font-family:var(--body); font-size:16px; padding:.6rem .7rem; border:1px solid rgba(20,29,24,.15); border-radius:var(--radius);}
.regbot-form button{flex:none;}
.regbot-suggest{display:flex; flex-wrap:wrap; gap:.4rem; padding:0 1.1rem .8rem; background:var(--paper);}
.regbot-suggest button{
  font-family:var(--mono); font-size:.68rem; background:var(--paper-dim); border:1px solid rgba(20,29,24,.1);
  border-radius:20px; padding:.35rem .7rem; cursor:pointer; color:#4c5850;
}
@media (max-width:520px){
  .regbot-toggle{right:1rem; bottom:1rem; width:52px; height:52px;}
  .regbot-panel{right:.6rem; bottom:4.8rem; width:calc(100vw - 1.2rem);}
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:980px){
  .nav-links, .nav-cta{display:none;}
  .burger{display:flex;}
  .stats-grid{grid-template-columns:repeat(2,1fr); row-gap:1.6rem;}
  .about-grid, .stay-grid, .stay-grid.rev, .rules-grid, .loc-grid, .contact-grid{grid-template-columns:1fr;}
  .stay-grid.rev{display:flex; flex-direction:column-reverse;}
  .species-grid{grid-template-columns:repeat(2,1fr);}
  .price-grid{grid-template-columns:1fr;}
  .amenity-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:130px;}
  .gallery-grid .g1{grid-column:span 2;}
  .rules-aside{position:static;}
  .admin-layout{grid-template-columns:1fr;}
  .admin-nav{flex-direction:row; flex-wrap:wrap; position:static;}
}
@media (max-width:520px){
  .species-grid{grid-template-columns:1fr 1fr;}
  .hero h1{max-width:11ch;}
  .scroll-cue{display:none;}}

/* ---------- REGULAMENT COMPLET (accordion) ---------- */
.reg-doc{margin-top:1rem;}
.reg-intro{
  background:var(--paper-dim); border-left:3px solid var(--clay); padding:1.2rem 1.4rem;
  font-size:.95rem; color:#3c473f; margin-bottom:2.2rem; border-radius:var(--radius);
}
.reg-section{border-bottom:1px solid rgba(20,29,24,.1); padding:1.05rem 0;}
.reg-section summary{
  cursor:pointer; list-style:none; display:flex; align-items:baseline; gap:.9rem;
  font-family:var(--display); font-size:1.05rem; color:var(--ink); font-weight:600;
}
.reg-section summary::-webkit-details-marker{display:none;}
.reg-section summary::after{content:"+"; margin-left:auto; font-family:var(--mono); font-size:1.2rem; color:var(--clay); transition:transform .2s ease;}
.reg-section[open] summary::after{content:"–";}
.reg-num{font-family:var(--mono); font-size:.76rem; color:var(--clay); flex:none; width:2.4ch;}
.reg-body{padding:.9rem 0 .3rem 3.3ch; color:#3c473f; font-size:.92rem; line-height:1.65;}
.reg-body p{margin-bottom:.7rem;}
.reg-body ul, .reg-body ol{margin:.4rem 0 .9rem 1.2rem;}
.reg-body li{margin-bottom:.35rem;}
.reg-body .forbid-label{
  color:#a3402f; font-weight:600; font-family:var(--mono); font-size:.7rem;
  letter-spacing:.05em; text-transform:uppercase; display:block; margin:.7rem 0 .3rem;
}
.reg-body .note-label{
  color:var(--clay); font-weight:600; font-family:var(--mono); font-size:.7rem;
  letter-spacing:.05em; text-transform:uppercase; display:block; margin:.7rem 0 .3rem;
}
.reg-golden{
  margin-top:2.6rem; background:linear-gradient(160deg, var(--reed-2), var(--ink)); color:var(--paper);
  border-radius:var(--radius); padding:2.2rem clamp(1.4rem,4vw,2.4rem); text-align:center;
}
.reg-golden .glyph{font-size:1.6rem; margin-bottom:.6rem;}
.reg-golden h3{color:var(--glow); font-size:1.35rem; margin-bottom:.9rem;}
.reg-golden p{color:var(--mist); font-size:.95rem; max-width:60ch; margin:0 auto .5rem;}
.reg-toc{
  display:flex; flex-wrap:wrap; gap:.5rem; margin:1.6rem 0 2.2rem;
}
.reg-toc a{
  font-family:var(--mono); font-size:.72rem; color:#4c5850; text-decoration:none;
  border:1px solid rgba(20,29,24,.14); border-radius:20px; padding:.35rem .8rem;
}
.reg-toc a:hover{border-color:var(--clay); color:var(--ink);}

/* ---------- JURNAL DE CAPTURI (cont local + postări) ---------- */
.local-banner{
  display:flex; gap:.8rem; align-items:flex-start; background:#fbf3df; border:1px solid rgba(217,164,65,.4);
  border-radius:var(--radius); padding:1rem 1.2rem; font-size:.85rem; color:#5a4a20; margin-bottom:2rem;
}
.local-banner svg{flex:none; width:20px; height:20px; margin-top:.1rem; color:var(--clay);}
.auth-box{
  max-width:440px; margin:0 auto; background:var(--paper); border:1px solid rgba(20,29,24,.1);
  border-radius:var(--radius); padding:2rem;
}
.auth-tabs{display:flex; gap:.4rem; margin-bottom:1.6rem;}
.auth-tabs button{
  flex:1; background:var(--paper-dim); border:0; padding:.7rem; border-radius:var(--radius);
  font-family:var(--body); font-weight:600; font-size:.85rem; color:#5a655d; cursor:pointer;
}
.auth-tabs button.active{background:var(--ink); color:var(--paper);}
.auth-form{display:none;}
.auth-form.active{display:block;}
.user-bar{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;
  background:var(--reed); color:var(--paper); border-radius:var(--radius); padding:1rem 1.4rem; margin-bottom:2rem;
}
.user-bar strong{color:var(--glow);}
/* butoanele din user-bar stau pe fundal închis (--reed) — .btn-outline
   e gândit pt fundal deschis (text/border închise), aici ar fi ilizibil,
   așa că îl adaptăm local la fundal închis */
.user-bar .btn-outline{border-color:rgba(243,238,225,.4); color:var(--paper);}
.user-bar .btn-outline:hover{border-color:var(--paper); background:rgba(243,238,225,.08);}
.catch-form{
  background:var(--paper); border:1px solid rgba(20,29,24,.1); border-radius:var(--radius);
  padding:1.8rem; margin-bottom:2.6rem; display:none;
}
.catch-form.open{display:block;}
.catch-form-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:0 1.2rem;}
.photo-drop{
  border:1.5px dashed rgba(20,29,24,.25); border-radius:var(--radius); padding:1.6rem;
  text-align:center; cursor:pointer; margin-bottom:1.1rem; position:relative; overflow:hidden;
  display:flex; flex-direction:column; align-items:center; gap:.7rem;
}
.photo-drop img{max-height:180px; margin:0 auto; border-radius:2px;}
.photo-drop-btn{
  font-size:1.05rem; padding:1.1rem 2rem; width:100%; max-width:340px;
  pointer-events:none; box-shadow:0 3px 14px rgba(217,164,65,.35);
}
.photo-drop #photoLabel{font-family:var(--mono); font-size:.75rem; color:#6b7469;}
.photo-drop input{position:absolute; inset:0; opacity:0; cursor:pointer; z-index:2;}
@media (max-width:520px){
  .photo-drop{padding:1.6rem 1rem;}
  .photo-drop-btn{width:100%; max-width:none; padding:1.15rem 1.2rem; font-size:1.05rem;}
}
.storage-meter{margin-top:1rem; font-family:var(--mono); font-size:.7rem; color:#6b7469;}
.storage-bar{height:5px; background:var(--paper-dim); border-radius:3px; overflow:hidden; margin-top:.3rem;}
.storage-bar-fill{height:100%; background:var(--gold); width:0%; transition:width .3s ease;}
.catch-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem;}
.catch-card{
  background:var(--paper); border:1px solid rgba(20,29,24,.1); border-radius:var(--radius); overflow:hidden;
}
.catch-photo{aspect-ratio:4/3; background:linear-gradient(160deg,#1a3024,#0a1815); display:flex; align-items:center; justify-content:center; overflow:hidden;}
.catch-photo img{width:100%; height:100%; object-fit:cover;}
.catch-photo .ph-fallback{color:var(--mist); font-family:var(--mono); font-size:.7rem;}
.catch-info{padding:1rem 1.1rem 1.2rem;}
.catch-info .species{font-family:var(--display); font-size:1.05rem; margin-bottom:.2rem;}
.catch-info .weight{font-family:var(--mono); color:var(--clay); font-size:.82rem; margin-bottom:.7rem;}
.catch-meta{display:grid; gap:.3rem; font-size:.8rem; color:#5a655d; margin-bottom:.7rem;}
.catch-meta span b{color:var(--ink-text); font-weight:600;}
.catch-note{font-size:.82rem; color:#4c5850; font-style:italic; margin-bottom:.7rem;}
.catch-foot{display:flex; justify-content:space-between; align-items:center; font-family:var(--mono); font-size:.7rem; color:#8a9188;}
.catch-foot button{background:none; border:0; color:#a3402f; cursor:pointer; font-family:var(--mono); font-size:.7rem;}
.empty-state{text-align:center; padding:3rem 1rem; color:#6b7469; font-family:var(--mono); font-size:.85rem;}

/* ---------- CLASAMENT SĂPTĂMÂNAL ---------- */
.leaderboard{
  background:linear-gradient(160deg, var(--reed-2), var(--ink)); color:var(--paper);
  border-radius:var(--radius); padding:1.6rem clamp(1.2rem,3.5vw,2rem); margin-bottom:2.4rem;
}
.leaderboard-head{display:flex; justify-content:space-between; align-items:baseline; gap:1rem; margin-bottom:1.2rem; flex-wrap:wrap;}
.leaderboard-head h3{color:var(--glow); font-size:1.2rem;}
.leaderboard-head span{font-family:var(--mono); font-size:.7rem; color:var(--mist); letter-spacing:.04em; text-transform:uppercase;}
.leaderboard-list{display:flex; flex-direction:column; gap:.55rem;}
.leaderboard-row{
  display:flex; align-items:center; gap:.9rem; background:rgba(243,238,225,.06);
  border-radius:var(--radius); padding:.65rem .9rem;
}
.leaderboard-row .rank{
  font-family:var(--display); font-weight:600; font-size:1.05rem; color:var(--gold);
  width:1.6rem; flex:none; text-align:center;
}
.leaderboard-row.top1 .rank{color:var(--glow); font-size:1.25rem; animation:lbPulse 2.2s ease-in-out infinite;}
.leaderboard-row .lb-avatar{
  width:1.9rem; height:1.9rem; flex:none; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-weight:700; font-size:.85rem; color:var(--ink);
  background:linear-gradient(150deg, var(--glow), var(--gold));
}
.leaderboard-row .lb-body{flex:1; min-width:0; display:flex; flex-direction:column; gap:.28rem;}
.leaderboard-row .lb-name{font-weight:600; font-size:.9rem; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.leaderboard-row .lb-bar{display:block; height:3px; border-radius:3px; background:rgba(243,238,225,.14); overflow:hidden;}
.leaderboard-row .lb-bar-fill{
  display:block; height:100%; width:0; border-radius:3px;
  background:linear-gradient(90deg, var(--gold), var(--glow));
  animation:lbBarFill 1.1s cubic-bezier(.22,.9,.3,1) forwards; animation-delay:calc(var(--i,0) * .12s + .15s);
}
.leaderboard-row .lb-stats{font-family:var(--mono); font-size:.72rem; color:var(--mist); flex:none; text-align:right;}
.leaderboard-empty{font-family:var(--mono); font-size:.8rem; color:var(--mist); text-align:center; padding:.8rem 0;}
.leaderboard-note{font-family:var(--mono); font-size:.7rem; color:var(--mist); margin-top:1rem;}

.lb-reveal{
  opacity:0; transform:translateX(-14px) scale(.98);
  animation:lbRowIn .55s cubic-bezier(.22,.9,.3,1) forwards;
  animation-delay:calc(var(--i,0) * .09s);
  transition:background .25s ease, transform .25s ease;
}
.lb-reveal:hover{background:rgba(243,238,225,.11); transform:translateX(2px);}
@keyframes lbRowIn{
  to{opacity:1; transform:translateX(0) scale(1);}
}
@keyframes lbBarFill{
  from{width:0;}
  to{width:var(--pct,0%);}
}
@keyframes lbPulse{
  0%,100%{text-shadow:0 0 0 rgba(231,194,94,0);}
  50%{text-shadow:0 0 10px rgba(231,194,94,.85);}
}

/* ---------- GALERIE — poze reale de la pescari ---------- */
.real-photo-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:.9rem; margin-top:1.6rem;}
.real-photo-grid .rp-tile{
  aspect-ratio:1/1; border-radius:var(--radius); overflow:hidden; position:relative; background:linear-gradient(160deg,#1a3024,#0a1815);
}
.real-photo-grid .rp-tile img{width:100%; height:100%; object-fit:cover; transition:transform .3s ease;}
.real-photo-grid .rp-tile:hover img{transform:scale(1.05);}
.real-photo-grid .rp-cap{
  position:absolute; left:0; right:0; bottom:0; padding:.55rem .7rem; font-family:var(--mono); font-size:.66rem;
  color:var(--paper); background:linear-gradient(to top, rgba(6,15,13,.8), transparent);
}
@media (max-width:900px){.real-photo-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.real-photo-grid{grid-template-columns:repeat(2,1fr);}}

/* ---------- CONTUL MEU ---------- */
.account-head{
  display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap;
  background:var(--reed); color:var(--paper); border-radius:var(--radius); padding:1.4rem 1.6rem; margin-bottom:1.8rem;
}
.account-head .who b{color:var(--glow); font-family:var(--display); font-size:1.3rem; display:block;}
.account-head .who span{font-family:var(--mono); font-size:.72rem; color:var(--mist);}
.who-rich{display:flex; align-items:center; gap:1rem;}
.who-text{display:flex; flex-direction:column; gap:.25rem;}
.acc-avatar{
  width:3.1rem; height:3.1rem; flex:none; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-weight:700; font-size:1.3rem; color:var(--ink);
  background:linear-gradient(150deg, var(--glow), var(--gold)); box-shadow:0 0 0 3px rgba(243,238,225,.12);
}
.acc-badge{
  display:inline-flex; align-items:center; width:fit-content; font-family:var(--mono); font-size:.64rem;
  text-transform:uppercase; letter-spacing:.05em; padding:.18rem .55rem; border-radius:20px; margin-top:.15rem;
}
.acc-badge.tier-new{background:rgba(243,238,225,.14); color:var(--mist);}
.acc-badge.tier-active{background:rgba(217,164,65,.22); color:var(--glow);}
.acc-badge.tier-veteran{background:rgba(139,90,43,.35); color:#f0c98a;}
.acc-badge.tier-legend{background:linear-gradient(90deg, var(--gold), var(--glow)); color:var(--ink); font-weight:700;}
.account-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:2rem;}
.account-stat{background:var(--paper-dim); border-radius:var(--radius); padding:1.1rem 1.2rem; text-align:center;}
.account-stat b{font-family:var(--display); font-size:1.6rem; display:block; color:var(--reed);}
.account-stat span{font-family:var(--mono); font-size:.68rem; color:#6b7469; text-transform:uppercase; letter-spacing:.04em;}
.account-tabs{display:flex; gap:.4rem; margin-bottom:1.4rem;}
.account-tabs button{
  background:var(--paper-dim); border:0; padding:.65rem 1.1rem; border-radius:var(--radius);
  font-family:var(--body); font-weight:600; font-size:.85rem; color:#5a655d; cursor:pointer;
}
.account-tabs button.active{background:var(--ink); color:var(--paper);}
.account-panel{display:none;}
.account-panel.active{display:block;}
.reservation-card{
  background:var(--paper); border:1px solid rgba(20,29,24,.1); border-radius:var(--radius);
  padding:1.1rem 1.3rem; margin-bottom:.9rem; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
}
.reservation-card .r-main b{font-family:var(--display); font-size:1.02rem; display:block; margin-bottom:.2rem;}
.reservation-card .r-main span{font-size:.85rem; color:#5a655d; display:block;}
.reservation-card .r-side{text-align:right; font-family:var(--mono); font-size:.7rem; color:#8a9188;}
.status-tag{display:inline-block; font-family:var(--mono); font-size:.66rem; padding:.2rem .6rem; border-radius:20px; text-transform:uppercase; letter-spacing:.04em; margin-top:.3rem;}
.status-tag.nou{background:rgba(217,164,65,.15); color:var(--clay);}

/* ---------- Moderare capturi (admin + contul meu) ---------- */
.mod-badge{
  position:absolute; top:.5rem; left:.5rem; font-family:var(--mono); font-size:.62rem; text-transform:uppercase;
  letter-spacing:.04em; padding:.22rem .5rem; border-radius:20px; color:#fff; z-index:2;
}
.catch-photo{position:relative;}
.mod-badge.mod-pending{background:rgba(217,164,65,.92); color:var(--ink);}
.mod-badge.mod-approved{background:rgba(90,122,99,.92);}
.mod-badge.mod-rejected{background:rgba(163,64,47,.92);}
.mod-actions{display:flex; gap:.5rem; flex-wrap:wrap; margin-top:.7rem;}
.catch-filter-tabs{display:flex; gap:.4rem; flex-wrap:wrap; margin-top:1rem;}
.catch-filter-tabs button{
  padding:.5rem 1rem; border-radius:20px; border:1px solid rgba(20,29,24,.15); background:none;
  font-family:var(--mono); font-size:.75rem; color:#6b7469; cursor:pointer; transition:background .2s ease, color .2s ease;
}
.catch-filter-tabs button.active{background:var(--ink); color:var(--paper); border-color:var(--ink);}
.pending-badge{
  display:inline-flex; align-items:center; justify-content:center; min-width:1.3rem; height:1.3rem; padding:0 .35rem;
  border-radius:20px; background:#a3402f; color:#fff; font-size:.68rem; font-family:var(--mono); margin-left:.4rem;
}

/* ---------- Galerie de atmosferă (admin) ---------- */
.atmo-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.1rem; margin-top:1.2rem;}
.atmo-card{background:var(--paper-dim); border-radius:var(--radius); padding:1rem; display:flex; flex-direction:column;}
.atmo-preview{aspect-ratio:4/3; border-radius:var(--radius); overflow:hidden; background:linear-gradient(160deg,#1a3024,#0a1815); display:flex; align-items:center; justify-content:center;}
.atmo-preview-img{width:100%; height:100%; object-fit:cover; cursor:zoom-in;}
.atmo-preview-empty{color:var(--mist); font-family:var(--mono); font-size:.68rem; text-align:center; padding:0 1rem;}
.atmo-card input[type="text"]{
  width:100%; padding:.55rem .7rem; border-radius:var(--radius); border:1px solid rgba(20,29,24,.2);
  font-family:var(--body); font-size:.85rem; background:var(--paper); margin-top:.3rem;
}

/* ---------- LIGHTBOX (preview poze la click) ---------- */
img.lb-photo{cursor:zoom-in;}
.lb-overlay{
  position:fixed; inset:0; z-index:500; background:rgba(10,24,21,.92);
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .2s ease; padding:2rem;
}
.lb-overlay.open{opacity:1; pointer-events:auto;}
.lb-overlay .lb-img{
  max-width:min(92vw, 900px); max-height:88vh; width:auto; height:auto;
  border-radius:var(--radius); box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.lb-overlay .lb-close{
  position:absolute; top:1.2rem; right:1.4rem; width:2.4rem; height:2.4rem; border-radius:50%;
  background:rgba(243,238,225,.12); color:var(--paper); border:0; font-size:1.1rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .2s ease;
}
.lb-overlay .lb-close:hover{background:rgba(243,238,225,.22);}

/* ---------- Schimbă poza (admin) ---------- */
.photo-replace-btn{display:inline-flex; margin-top:.5rem; cursor:pointer;}

.settings-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1.1rem;}
.settings-card{
  background:var(--paper-dim); border-radius:var(--radius); padding:1.3rem 1.4rem;
  display:flex; flex-direction:column; gap:.6rem;
}
.settings-card h3{font-family:var(--display); font-size:1.05rem; color:var(--ink-text);}
.settings-hint{font-size:.8rem; color:#5a655d; margin-top:-.3rem;}
.settings-card .form-field{margin:0;}
.settings-card-static{gap:.8rem;}
.settings-detail-row{display:flex; justify-content:space-between; align-items:center; font-size:.85rem; padding:.4rem 0; border-bottom:1px solid rgba(20,29,24,.08);}
.settings-detail-row:last-child{border-bottom:0;}
.settings-detail-row span{color:#6b7469; font-family:var(--mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.03em;}
.settings-detail-row b{font-weight:600;}
@media (max-width:640px){.account-stats{grid-template-columns:repeat(2,1fr);}}
.status-tag.confirmat{background:#e5f0e6; color:#2f5a34;}
.status-tag.anulat{background:#f3e0dd; color:#8a3527;}
@media (max-width:900px){
  .catch-form-grid{grid-template-columns:1fr;}
  .catch-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .catch-grid{grid-template-columns:1fr;}
}

/* ---------- CHAT LIVE ---------- */
.chat-shell{
  background:var(--ink); border-radius:14px;
  display:flex; flex-direction:column; height:min(680px, 78svh); min-height:440px;
  height:min(680px, 78dvh);
  box-shadow:0 24px 60px rgba(0,0,0,.25); position:relative;
  background-image:radial-gradient(ellipse at 100% 0%, rgba(217,164,65,.10), transparent 55%), var(--ink);
}
.chat-head{
  flex:none; display:flex; align-items:center; gap:.8rem; padding:1rem 1.3rem;
  background:linear-gradient(120deg, var(--reed-2), var(--ink)); border-bottom:1px solid rgba(217,164,65,.15);
  border-radius:14px 14px 0 0;
}
.chat-head .chat-head-icon{
  flex:none; width:2.5rem; height:2.5rem; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(150deg, var(--glow), var(--gold)); font-size:1.2rem;
}
.chat-head-txt{flex:1; min-width:0;}
.chat-head-txt b{font-family:var(--display); font-size:1.08rem; color:var(--paper); display:flex; align-items:center; gap:.5rem;}
.chat-head-txt span{font-family:var(--mono); font-size:.7rem; color:var(--mist);}
.chat-live-dot{width:8px; height:8px; border-radius:50%; background:#5fbf6e; box-shadow:0 0 8px #5fbf6e; display:inline-block; animation:chatPulse 2s ease-in-out infinite; flex:none;}
@keyframes chatPulse{0%,100%{opacity:1;} 50%{opacity:.35;}}
.chat-online-count{font-family:var(--mono); font-size:.68rem; color:var(--glow); background:rgba(217,164,65,.14); padding:.3rem .6rem; border-radius:20px; white-space:nowrap;}

.chat-messages{
  flex:1; overflow-y:auto; overflow-x:hidden; padding:1.1rem 1.1rem .4rem; display:flex; flex-direction:column; gap:.15rem;
  scroll-behavior:smooth; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
}
.chat-day-sep{
  align-self:center; font-family:var(--mono); font-size:.65rem; text-transform:uppercase; letter-spacing:.06em;
  color:var(--mist); background:rgba(243,238,225,.08); padding:.25rem .7rem; border-radius:20px; margin:.8rem 0;
}
.chat-row{display:flex; gap:.6rem; align-items:flex-end; max-width:86%; margin:.28rem 0;}
.chat-row.own{align-self:flex-end; flex-direction:row-reverse;}
.chat-avatar-sm{
  flex:none; width:2rem; height:2rem; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-weight:700; font-size:.85rem; color:var(--ink);
  background:linear-gradient(150deg, var(--glow), var(--gold));
}
.chat-row.own .chat-avatar-sm{background:linear-gradient(150deg, #cfe8d3, #8fbf9a);}
.chat-bubble-wrap{display:flex; flex-direction:column; gap:.2rem; min-width:0;}
.chat-row.own .chat-bubble-wrap{align-items:flex-end;}
.chat-uname{font-family:var(--mono); font-size:.65rem; color:var(--glow); padding:0 .2rem;}
.chat-bubble{
  background:var(--paper-dim); color:var(--ink-text); padding:.6rem .85rem; border-radius:14px 14px 14px 3px;
  font-size:.92rem; line-height:1.45; word-wrap:break-word; overflow-wrap:anywhere; white-space:pre-wrap;
  position:relative;
}
.chat-row.own .chat-bubble{background:linear-gradient(160deg, var(--glow), var(--gold)); color:var(--ink); border-radius:14px 14px 3px 14px;}
.chat-time{font-family:var(--mono); font-size:.6rem; color:var(--mist); padding:0 .3rem;}
.chat-del{
  display:none; position:absolute; top:-.5rem; right:-.5rem; width:1.4rem; height:1.4rem; border-radius:50%;
  background:#a3402f; color:#fff; border:2px solid var(--ink); font-size:.7rem; line-height:1; cursor:pointer;
  align-items:center; justify-content:center;
}
.chat-row.own .chat-bubble.tapped .chat-del{display:flex;}
@media (hover:hover) and (pointer:fine){
  .chat-row.own .chat-bubble:hover .chat-del{display:flex;}
}
.chat-empty{margin:auto; text-align:center; color:var(--mist); font-family:var(--mono); font-size:.8rem; padding:2rem 1rem;}
.chat-empty .big{font-size:2.2rem; display:block; margin-bottom:.6rem;}

.chat-inputbar{
  flex:none; position:relative; display:flex; align-items:flex-end; gap:.55rem;
  padding:.8rem 1rem; border-top:1px solid rgba(217,164,65,.15); background:rgba(6,15,13,.5);
  border-radius:0 0 14px 14px; padding-bottom:calc(.8rem + env(safe-area-inset-bottom, 0px));
}
.chat-emoji-btn{
  flex:none; width:2.5rem; height:2.5rem; border-radius:50%; border:1px solid rgba(243,238,225,.2);
  background:rgba(243,238,225,.06); color:var(--paper); font-size:1.2rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .2s ease;
}
.chat-emoji-btn:hover, .chat-emoji-btn.active{background:rgba(217,164,65,.22);}
.chat-input{
  flex:1; min-width:0; resize:none; max-height:6.5rem; padding:.65rem .9rem; border-radius:18px;
  border:1px solid rgba(243,238,225,.2); background:rgba(243,238,225,.08); color:var(--paper);
  font-family:var(--body); font-size:16px; line-height:1.4;
}
.chat-input::placeholder{color:var(--mist);}
.chat-send{
  flex:none; width:2.7rem; height:2.7rem; border-radius:50%; border:0; cursor:pointer;
  background:linear-gradient(150deg, var(--glow), var(--gold)); color:var(--ink);
  display:flex; align-items:center; justify-content:center; transition:transform .15s ease;
}
.chat-send:active{transform:scale(.92);}
.chat-send:disabled{opacity:.4; cursor:not-allowed;}
.chat-send svg{width:18px; height:18px;}
.chat-charcount{position:absolute; top:-1.3rem; right:1.2rem; font-family:var(--mono); font-size:.62rem; color:var(--mist);}

/* Poziționat cu position:fixed și calculat din JS (vezi chat.html) —
   așa nu mai poate fi tăiat de niciun element ascendent cu overflow. */
.chat-emoji-picker{
  position:fixed; width:min(320px, calc(100vw - 1.6rem));
  background:var(--paper); border-radius:14px; box-shadow:0 18px 44px rgba(0,0,0,.45); padding:.7rem;
  display:none; grid-template-columns:repeat(7,1fr); gap:.15rem; z-index:500; max-height:44vh; overflow-y:auto;
}
.chat-emoji-picker.open{display:grid;}
.chat-emoji-picker button{
  background:none; border:0; font-size:1.4rem; padding:.4rem; border-radius:8px; cursor:pointer; line-height:1;
}
.chat-emoji-picker button:hover, .chat-emoji-picker button:active{background:var(--paper-dim);}

.chat-gate{max-width:460px; margin:2.5rem auto 0; text-align:center; background:var(--paper-dim); border-radius:var(--radius); padding:2.4rem 1.8rem;}
.chat-gate .big{font-size:2.4rem; display:block; margin-bottom:1rem;}

.page-banner.compact{height:32svh; min-height:230px;}

@media (max-width:640px){
  .chat-shell{height:min(600px, 100svh - 190px); min-height:340px; border-radius:10px;}
  .chat-shell{height:min(600px, 100dvh - 190px);}
  .chat-head, .chat-inputbar{border-radius:0;}
  .chat-head{border-radius:10px 10px 0 0;}
  .chat-inputbar{border-radius:0 0 10px 10px;}
  .chat-row{max-width:92%;}
  .chat-emoji-btn, .chat-send{width:2.75rem; height:2.75rem;}
  .chat-emoji-picker{grid-template-columns:repeat(6,1fr);}
  .page-banner.compact{height:22svh; min-height:160px;}
  .page-banner.compact .lead{display:none;}
  section.tight{padding:1.4rem 0;}
}
