/* ==========================================================================
   EQSYNC — component & section styles
   ========================================================================== */

/* ---- Buton generic de inchidere (folosit de modalul de cookie-uri) ---- */
.icon-close-btn{
  background:none; border:none; cursor:pointer; color:var(--text-muted); padding:4px;
  display:flex; border-radius:6px;
}
.icon-close-btn:hover{color:var(--text);}
.icon-close-btn:focus-visible{outline:2px solid var(--accent);}

/* ---- Header / nav ---- */
.site-header{
  position:sticky; top:0; z-index:50; background:color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.nav{position:relative; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0;}
.logo{
  font-family:var(--sans); font-weight:700; font-size:1.05rem; letter-spacing:.01em;
  text-decoration:none; color:var(--text); display:flex; align-items:center; gap:8px;
}
.logo .dot{color:var(--accent);}
.logo-icon{width:24px; height:24px; flex-shrink:0; color:var(--accent);}
.nav-links{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  display:flex; align-items:center; gap:28px; list-style:none; margin:0; padding:0;
}
.nav-links a{
  text-decoration:none; color:var(--text-muted); font-size:.92rem; font-weight:500;
}
.nav-links a:hover{color:var(--text);}
.nav-actions{display:flex; align-items:center; gap:14px;}
.nav-actions .btn{padding:10px 18px; font-size:.86rem;}
.nav-login{font-size:.88rem; color:var(--text-muted); text-decoration:none; background:none; border:none; cursor:pointer; padding:0; font-family:inherit;}

.nav-toggle{
  display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer;
  padding:12px; margin:-12px; border-radius:8px;
}
.nav-toggle span{width:22px; height:2px; background:var(--text); display:block; border-radius:2px;}
.nav-toggle:focus-visible{outline:2px solid var(--accent);}

.mobile-panel{
  display:none; flex-direction:column; gap:2px; padding:8px 0 20px; border-top:1px solid var(--border);
}
.mobile-panel a{
  text-decoration:none; color:var(--text); font-size:1rem; font-weight:500; padding:14px 4px;
  border-bottom:1px solid var(--border);
}
.mobile-panel .btn{margin-top:14px;}

@media (max-width:1024px){
  .nav-links, .nav-actions .nav-login{display:none;}
  .nav-toggle{display:flex;}
  body.menu-open .mobile-panel{display:flex;}
}

/* ---- Hero ---- */
.hero{padding-top:clamp(48px,8vw,88px); position:relative; overflow:hidden;}

.hero-bg-video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:.55; z-index:0;
}
.hero-bg-overlay{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, var(--bg) 0%, color-mix(in srgb, var(--bg) 25%, transparent) 45%, var(--bg) 100%);
}

.hero-grid{
  position:relative; z-index:2;
  display:flex; flex-direction:column; align-items:center; max-width:760px; margin:0 auto; text-align:center;
}

.hero-copy{display:flex; flex-direction:column; align-items:center;}
.hero-copy h1.display{max-width:20ch;}
.hero-copy .lede{margin:18px 0 30px; max-width:56ch;}
.hero-actions{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px;}
.hero-trust{
  margin-top:18px; font-family:var(--mono); font-size:.72rem; letter-spacing:.03em;
  color:var(--text-muted);
}
.hero-legal{margin-top:10px; font-size:.76rem; color:var(--text-muted); max-width:64ch; line-height:1.6; text-align:center;}
@media (max-width:480px){ .hero-legal-break{display:none;} }

/* ---- Problema ---- */
.pain-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:820px){ .pain-grid{grid-template-columns:1fr;} }
.pain-card{padding:26px 24px;}
.pain-card:hover{transform:translateY(-4px); box-shadow:0 4px 10px rgba(22,33,43,.08), 0 18px 34px rgba(22,33,43,.1);}

.pain-card .icon{
  width:40px; height:40px; border-radius:10px; border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; margin-bottom:16px; color:var(--cool);
  transition:background-color .3s ease, border-color .3s ease;
}
.pain-card h3{font-family:var(--sans); font-weight:600; font-size:1.05rem; margin:0 0 8px;}
.pain-card p{font-size:.92rem; line-height:1.6; color:var(--text-muted); margin:0;}

.pain-card--cool{background:color-mix(in srgb, var(--cool) 9%, var(--surface)); border-color:color-mix(in srgb, var(--cool) 30%, var(--border));}
.pain-card--cool .icon{background:color-mix(in srgb, var(--cool) 18%, var(--surface-2)); color:var(--cool); border-color:color-mix(in srgb, var(--cool) 32%, var(--border));}

.pain-card--accent{background:color-mix(in srgb, var(--accent) 9%, var(--surface)); border-color:color-mix(in srgb, var(--accent) 30%, var(--border));}
.pain-card--accent .icon{background:color-mix(in srgb, var(--accent) 18%, var(--surface-2)); color:var(--accent); border-color:color-mix(in srgb, var(--accent) 32%, var(--border));}

.pain-card--warm{background:color-mix(in srgb, var(--warm) 9%, var(--surface)); border-color:color-mix(in srgb, var(--warm) 30%, var(--border));}
.pain-card--warm .icon{background:color-mix(in srgb, var(--warm) 18%, var(--surface-2)); color:var(--warm); border-color:color-mix(in srgb, var(--warm) 32%, var(--border));}

/* ---- Stiinta / pasi ---- */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:56px;}
@media (max-width:820px){ .steps{grid-template-columns:1fr; gap:18px;} }
.step{position:relative; padding-left:2px;}
.step .num{
  font-family:var(--mono); font-size:.78rem; color:var(--accent); font-weight:500; display:block; margin-bottom:10px;
}
.step h3{font-family:var(--sans); font-weight:600; font-size:1.02rem; margin:0 0 8px; line-height:1.35;}
.step p{font-size:.9rem; line-height:1.6; color:var(--text-muted);}

/* ---- Spectrul Alpha ---- */
.spectrum-card{padding:clamp(24px,4vw,40px);}
.spectrum-head{display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:28px;}
.spectrum-head h3{font-family:var(--sans); font-weight:600; font-size:1.1rem;}
.spectrum-bars{
  display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-bottom:12px;
}
@media (max-width:620px){ .spectrum-bars{grid-template-columns:repeat(3,1fr); row-gap:10px;} }

.wave-band{
  position:relative; border-radius:12px; background:var(--surface-2); border:1px solid var(--border);
  height:148px; overflow:hidden; display:flex; align-items:flex-end; justify-content:center;
  transition:border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}
.wave-band:hover{transform:translateY(-2px);}
.wave-band.is-target{
  border-color:var(--accent);
  box-shadow:0 0 0 1px var(--accent), 0 10px 26px color-mix(in srgb, var(--accent) 22%, transparent);
}
.wave-band canvas{position:absolute; inset:0; width:100%; height:100%;}

.wave-hz{
  position:relative; z-index:2; display:flex; flex-direction:column; gap:1px;
  font-family:var(--mono); font-size:.68rem; color:var(--text-muted); font-weight:500;
  padding:8px 0 10px; width:100%; text-align:center;
  background:linear-gradient(0deg, var(--surface-2) 55%, transparent);
}
.wave-name{
  font-family:var(--sans); font-size:.82rem; font-weight:700; color:var(--text); letter-spacing:.01em;
}
.wave-band.is-target .wave-hz{
  color:var(--accent-contrast);
  background:linear-gradient(0deg, color-mix(in srgb, var(--accent) 20%, var(--surface-2)) 45%, transparent);
}

.wave-play{
  position:absolute; top:8px; right:8px; z-index:3; width:26px; height:26px; border-radius:50%; padding:0;
  background:var(--surface); border:1px solid var(--border); color:var(--text-muted); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
}
.wave-play svg{margin-left:1px;}
.wave-play .icon-stop{display:none; margin-left:0;}
.wave-play[data-state="playing"] .icon-play{display:none;}
.wave-play[data-state="playing"] .icon-stop{display:block;}
.wave-play:hover{transform:scale(1.1); color:var(--text);}
.wave-play:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.wave-play[data-state="playing"]{background:var(--accent); color:var(--accent-contrast); border-color:var(--accent);}

.spectrum-audio-note{
  font-size:.76rem; color:var(--text-muted); line-height:1.5; margin:0 0 22px;
}

.spectrum-labels{display:grid; grid-template-columns:repeat(5,1fr); gap:6px; text-align:center;}
@media (max-width:620px){ .spectrum-labels{grid-template-columns:repeat(3,1fr); row-gap:10px;} }
.spectrum-labels div{font-size:.72rem; color:var(--text-muted); line-height:1.4;}
.spectrum-labels .label-name{display:block; font-weight:600; color:var(--text); font-size:.78rem; margin-bottom:2px;}
.spectrum-labels .is-target-label .label-name{color:var(--accent);}
.spectrum-note{
  margin-top:22px; padding-top:20px; border-top:1px solid var(--border);
  display:flex; gap:12px; align-items:flex-start; font-size:.88rem; line-height:1.6; color:var(--text-muted);
}
.spectrum-note p{max-width:68ch;}
.spectrum-note .pulse-dot{
  width:9px; height:9px; border-radius:50%; background:var(--accent); flex:none; margin-top:6px;
  animation:pulse-slow 3.2s ease-in-out infinite;
}
@keyframes pulse-slow{
  0%,100%{opacity:.5; transform:scale(1);}
  50%{opacity:1; transform:scale(1.25);}
}

/* ---- Cum functioneaza ---- */
.flow{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:48px;}
@media (max-width:760px){ .flow{flex-direction:column; align-items:stretch;} }
.flow-step{flex:1; text-align:center; display:flex; flex-direction:column; align-items:center; gap:10px;}
.flow-step .flow-icon{
  width:56px; height:56px; border-radius:50%; background:var(--surface); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; color:var(--cool); box-shadow:var(--shadow);
}
.flow-step p{font-size:.86rem; color:var(--text-muted); max-width:20ch;}
.flow-arrow{color:var(--border); flex:none; font-size:1.4rem;}
@media (max-width:760px){ .flow-arrow{transform:rotate(90deg);} }

.audio-demo{max-width:560px; margin:0 auto; padding:28px clamp(20px,4vw,36px); text-align:center;}
.audio-demo-head h3{font-family:var(--serif); font-weight:400; font-size:1.25rem; margin:6px 0 0; color:var(--text);}
.audio-demo-player{width:100%; margin-top:18px; accent-color:var(--accent);}
.audio-demo-note{font-size:.8rem; color:var(--text-muted); margin-top:14px; line-height:1.5;}

/* ---- Autoritate ---- */
.authority-grid{display:grid; grid-template-columns:220px 1fr; gap:40px; align-items:start;}
@media (max-width:760px){ .authority-grid{grid-template-columns:1fr;} }
.authority-photo{aspect-ratio:194/300; width:100%; max-width:220px; position:sticky; top:100px; overflow:hidden; padding:0;}
@media (max-width:760px){ .authority-photo{position:static;} }
.authority-photo.placeholder{display:flex; align-items:center; justify-content:center;}
.authority-photo-img{
  width:100%; height:100%; object-fit:cover; display:block;
  -webkit-mask-image:radial-gradient(ellipse 82% 86% at 50% 42%, #000 60%, transparent 100%);
  mask-image:radial-gradient(ellipse 82% 86% at 50% 42%, #000 60%, transparent 100%);
}
.authority-badges{display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 20px;}
.authority-bio p{font-size:.98rem; line-height:1.7; color:var(--text); margin-bottom:14px;}

/* ---- Testimoniale ---- */
.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:820px){ .testi-grid{grid-template-columns:1fr;} }
.testi-card{padding:26px 24px; display:flex; flex-direction:column; gap:16px;}
.testi-quote{font-family:var(--serif); font-size:1.05rem; line-height:1.5; color:var(--text); font-style:italic;}
.testi-who{display:flex; align-items:center; gap:10px;}
.testi-avatar{
  width:38px; height:38px; border-radius:50%; background:var(--surface-2); border:1px solid var(--border);
  flex:none;
}
.testi-name{font-size:.86rem; font-weight:600;}
.testi-role{font-size:.78rem; color:var(--text-muted);}

/* ---- Oferta ---- */
.pricing-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
@media (max-width:760px){ .pricing-grid{grid-template-columns:1fr;} }
.price-card{padding:30px 28px; display:flex; flex-direction:column; gap:18px;}
.price-card.is-highlight{border-color:var(--accent); box-shadow:0 0 0 1px var(--accent), var(--shadow);}
.price-card h3{font-family:var(--sans); font-weight:600; font-size:1rem; color:var(--text-muted);}
.price-value{font-family:var(--mono); font-size:2.1rem; font-weight:500; color:var(--text); line-height:1;}
.price-value span{font-size:.9rem; font-weight:400; color:var(--text-muted);}
.price-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
.price-list li{font-size:.9rem; color:var(--text); padding-left:22px; position:relative; line-height:1.5;}
.price-list li::before{content:"✓"; position:absolute; left:0; color:var(--cool); font-weight:600;}
.price-note{font-size:.76rem; color:var(--text-muted);}

/* ---- FAQ ---- */
.faq-list{display:flex; flex-direction:column; gap:10px; margin-bottom:40px;}
.faq-item{border:1px solid var(--border); border-radius:12px; background:var(--surface); overflow:hidden; transition:opacity .6s ease, transform .6s ease;}
.faq-q{
  width:100%; text-align:left; background:none; border:none; padding:18px 20px; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:14px; color:var(--text);
  font-size:.96rem; font-weight:600;
}
.faq-q .plus{font-family:var(--mono); color:var(--accent); font-size:1.1rem; flex:none; transition:transform .2s ease;}
.faq-item.is-open .plus{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.faq-a p{padding:0 20px 18px; font-size:.9rem; line-height:1.65; color:var(--text-muted); max-width:64ch;}

.disclaimer{
  background:var(--danger-bg); border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);
  border-radius:12px; padding:20px 22px; display:flex; gap:14px; align-items:flex-start;
}
.disclaimer .mark{
  font-family:var(--mono); font-weight:600; color:var(--danger); flex:none; font-size:.78rem;
  border:1px solid var(--danger); border-radius:6px; padding:3px 7px; margin-top:2px;
}
.disclaimer p{font-size:.84rem; line-height:1.65; color:var(--text); margin:0;}

/* ---- CTA final ---- */
.cta-final{text-align:center;}
.cta-final .display{margin:0 auto 14px;}
.cta-final .lede{margin:0 auto 30px;}

/* ---- Footer ---- */
.site-footer{padding:48px 0 40px;}
.footer-grid{display:flex; justify-content:space-between; gap:32px; flex-wrap:wrap; margin-bottom:32px;}
.footer-brand p{font-size:.84rem; color:var(--text-muted); max-width:32ch; margin-top:10px; line-height:1.6;}
.footer-links{display:flex; gap:40px; flex-wrap:wrap;}
.footer-col h4{font-family:var(--sans); font-size:.74rem; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); margin:0 0 12px;}
.footer-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px;}
.footer-col a{text-decoration:none; color:var(--text); font-size:.88rem;}
.footer-col a:hover{color:var(--cool);}
.footer-anpc{display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:20px;}
.footer-anpc img{height:42px; width:auto; display:block; border-radius:4px;}
.footer-bottom{
  border-top:1px solid var(--border); padding-top:20px; display:flex; justify-content:space-between;
  gap:12px; flex-wrap:wrap; font-size:.78rem; color:var(--text-muted);
}
.footer-col button.link-btn{
  background:none; border:none; padding:0; cursor:pointer; font-family:var(--sans);
  color:var(--text); font-size:.88rem; text-align:left;
}
.footer-col button.link-btn:hover{color:var(--cool);}

/* ---- Cookie banner ---- */
.cookie-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:200;
  background:var(--surface); border-top:1px solid var(--border);
  box-shadow:0 -4px 20px rgba(22,33,43,.08);
}
.cookie-banner[hidden]{display:none;}
.cookie-banner-inner{
  max-width:1100px; margin:0 auto; padding:18px 24px;
  display:flex; align-items:center; gap:24px; flex-wrap:wrap;
}
.cookie-banner-text{flex:1 1 360px; font-size:.86rem; line-height:1.6; color:var(--text-muted); margin:0;}
.cookie-banner-text a{color:var(--cool); text-decoration:underline;}
.cookie-banner-actions{display:flex; gap:10px; flex-wrap:wrap; flex:none;}
.cookie-banner-actions .btn{padding:10px 16px; font-size:.84rem;}

/* ---- Cookie preferences modal ---- */
.cookie-modal{
  position:fixed; inset:0; z-index:210;
  background:rgba(22,33,43,.45);
  display:flex; align-items:center; justify-content:center; padding:20px;
}
.cookie-modal[hidden]{display:none;}
.cookie-modal-panel{
  background:var(--surface); border-radius:16px; border:1px solid var(--border);
  width:100%; max-width:460px; max-height:calc(100vh - 40px); overflow-y:auto;
  box-shadow:0 24px 60px rgba(22,33,43,.25);
}
.cookie-modal-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 20px; border-bottom:1px solid var(--border);
  font-family:var(--sans); font-weight:600; font-size:.96rem;
}
.cookie-modal-body{padding:18px 20px; display:flex; flex-direction:column; gap:18px;}
.cookie-category-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:6px;}
.cookie-category-head > span{font-family:var(--sans); font-weight:600; font-size:.9rem;}
.cookie-category p{font-size:.82rem; line-height:1.55; color:var(--text-muted); margin:0;}
.cookie-toggle--locked{
  font-family:var(--mono); font-size:.66rem; letter-spacing:.04em; text-transform:uppercase;
  color:var(--text-muted); background:var(--surface-2); border:1px solid var(--border);
  border-radius:999px; padding:3px 9px;
}
.cookie-switch{display:flex; align-items:center; gap:10px; cursor:pointer; font-family:var(--sans); font-weight:600; font-size:.9rem;}
.cookie-switch input{
  appearance:none; width:38px; height:22px; border-radius:999px; background:var(--surface-2);
  border:1px solid var(--border); position:relative; cursor:pointer; flex:none; margin:0;
  transition:background-color .2s ease;
}
.cookie-switch input::before{
  content:""; position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%;
  background:var(--surface); box-shadow:0 1px 2px rgba(0,0,0,.2); transition:transform .2s ease;
}
.cookie-switch input:checked{background:var(--accent); border-color:var(--accent);}
.cookie-switch input:checked::before{transform:translateX(16px); background:var(--accent-contrast);}
.cookie-switch input:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.cookie-modal-footer{padding:16px 20px; border-top:1px solid var(--border); display:flex; justify-content:flex-end;}

@media (max-width:640px){
  .cookie-banner-inner{padding:16px 20px;}
  .cookie-banner-actions{width:100%;}
  .cookie-banner-actions .btn{flex:1;}
}

/* ---- Pagini legale (Termeni, Confidențialitate, Cookie-uri) ---- */
.legal-hero{padding:clamp(40px,7vw,72px) 0 8px;}
.legal-updated{font-size:.8rem; color:var(--text-muted); margin-top:8px;}
.legal-body{max-width:72ch; padding-bottom:clamp(48px,8vw,80px);}
.legal-body h2{
  font-family:var(--sans); font-weight:600; font-size:1.15rem; margin:40px 0 12px;
  padding-top:8px;
}
.legal-body h2:first-child{margin-top:0;}
.legal-body h3{font-family:var(--sans); font-weight:600; font-size:.98rem; margin:22px 0 8px;}
.legal-body p{font-size:.95rem; line-height:1.75; color:var(--text); margin:0 0 14px;}
.legal-body ul, .legal-body ol{margin:0 0 14px; padding-left:22px; display:flex; flex-direction:column; gap:8px;}
.legal-body li{font-size:.95rem; line-height:1.7; color:var(--text);}
.legal-body a{color:var(--cool);}
.legal-body strong{color:var(--text); font-weight:600;}
.legal-placeholder{
  background:var(--surface-2); border:1px dashed var(--border); border-radius:4px;
  padding:0 4px; font-family:var(--mono); font-size:.85em; color:var(--text-muted);
}
.legal-toc{
  background:var(--surface); border:1px solid var(--border); border-radius:12px;
  padding:20px 22px; margin:28px 0 8px;
}
.legal-toc h2{margin:0 0 12px; font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; color:var(--text-muted);}
.legal-toc ol{margin:0; padding-left:20px; display:flex; flex-direction:column; gap:6px;}
.legal-toc a{font-size:.88rem; text-decoration:none;}
.legal-toc a:hover{text-decoration:underline;}

.legal-related{display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin-top:14px;}
.legal-related-label{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; color:var(--text-muted);
}
.legal-related a{font-size:.86rem; color:var(--cool); text-decoration:none;}
.legal-related a:hover{text-decoration:underline;}

.contact-embed{padding:0; overflow:hidden;}
.contact-embed iframe{display:block; width:100%;}

/* ---- Autentificare / Inregistrare ---- */
.auth-section{padding:clamp(56px,9vw,100px) 0;}
.auth-wrap{max-width:440px; margin:0 auto;}
.auth-head{text-align:center; margin-bottom:30px;}
.auth-head h1.display{max-width:none; font-size:clamp(1.9rem,4.2vw,2.6rem);}
.auth-head .lede{margin:14px auto 0; text-align:center;}
.auth-card{padding:clamp(28px,5vw,36px) clamp(24px,5vw,32px);}

.auth-field{display:flex; flex-direction:column; gap:6px; margin-bottom:18px;}
.auth-row{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
@media (max-width:480px){ .auth-row{grid-template-columns:1fr;} }
.auth-field label{font-family:var(--sans); font-weight:600; font-size:.86rem; color:var(--text);}
.auth-field input{
  border:1px solid var(--border); border-radius:10px; padding:12px 14px;
  font-family:var(--sans); font-size:.94rem; background:var(--bg); color:var(--text);
  width:100%;
}
.auth-field input:focus-visible{outline:2px solid var(--accent); outline-offset:1px;}
.auth-field-hint{font-size:.76rem; color:var(--text-muted);}

.password-wrap{position:relative;}
.password-wrap input{padding-right:44px;}
.password-toggle{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  display:flex; align-items:center; justify-content:center; padding:6px;
  background:none; border:none; cursor:pointer; color:var(--text-muted); border-radius:6px;
}
.password-toggle:hover{color:var(--text);}
.password-toggle:focus-visible{outline:2px solid var(--accent); outline-offset:1px;}

.auth-forgot{
  display:block; text-align:right; font-size:.82rem; color:var(--text-muted);
  text-decoration:none; margin:-10px 0 20px;
}
.auth-forgot:hover{color:var(--cool);}

.auth-check{display:flex; align-items:flex-start; gap:10px; margin-bottom:22px; font-size:.82rem; color:var(--text-muted); line-height:1.55;}
.auth-check input{margin-top:3px; flex:none; width:16px; height:16px; accent-color:var(--accent);}
.auth-check a{color:var(--cool);}

.auth-submit{width:100%; justify-content:center;}

.auth-switch{text-align:center; margin-top:22px; font-size:.88rem; color:var(--text-muted);}
.auth-switch a{color:var(--cool); font-weight:600; text-decoration:none;}
.auth-switch a:hover{text-decoration:underline;}

.auth-error{color:var(--danger); font-size:.78rem; margin:-12px 0 16px; display:none;}
.auth-error.is-visible{display:block;}

.auth-notice{
  margin-top:20px; padding:14px 16px; border-radius:10px; font-size:.85rem; line-height:1.55;
  background:var(--surface-2); border:1px solid var(--border); color:var(--text); display:none;
}
.auth-notice.is-visible{display:block;}
.auth-notice.is-error{background:var(--danger-bg); border-color:var(--danger); color:var(--danger);}

.auth-trust{text-align:center; margin-top:18px; font-family:var(--mono); font-size:.7rem; letter-spacing:.03em; color:var(--text-muted);}

/* ---- Blog ---- */
.blog-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:24px;
  padding-bottom:clamp(48px,8vw,80px);
}
.blog-card{
  display:flex; flex-direction:column; overflow:hidden; text-decoration:none; color:var(--text);
  transition:transform .18s ease, box-shadow .18s ease;
}
.blog-card:hover{transform:translateY(-3px); box-shadow:0 14px 30px color-mix(in srgb, var(--text) 12%, transparent);}
.blog-card-cover{
  height:170px; background-size:cover; background-position:center; background-color:var(--surface-2);
  border-bottom:1px solid var(--border);
}
.blog-card-cover--placeholder{
  background-image:linear-gradient(135deg, color-mix(in srgb, var(--cool) 30%, var(--surface-2)), color-mix(in srgb, var(--accent) 24%, var(--surface-2)));
}
.blog-card-body{padding:20px 22px 24px; display:flex; flex-direction:column; gap:8px;}
.blog-card-cat{font-family:var(--mono); font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; color:var(--accent);}
.blog-card-body h2{font-family:var(--serif); font-weight:400; font-size:1.2rem; line-height:1.3; margin:0;}
.blog-card-body p{font-size:.9rem; line-height:1.6; color:var(--text-muted); margin:0;}
.blog-card-date{font-family:var(--mono); font-size:.74rem; color:var(--text-muted); margin-top:4px;}
.blog-empty{grid-column:1/-1; text-align:center; color:var(--text-muted); font-size:.95rem; padding:40px 0;}

.blog-post-cover{width:100%; border-radius:12px; margin-bottom:24px; display:block;}
.blog-post-body h2{margin-top:32px;}

/* ---- Biblioteca ---- */
.library-intro{padding:20px 0 8px;}
.library-intro h1.display{font-size:clamp(1.5rem,3vw,2.1rem); max-width:30ch;}
.library-intro .lede{margin-top:6px;}
.library-note{
  font-size:.76rem; color:var(--text-muted); line-height:1.35; max-width:64ch;
  margin-top:8px; padding-top:6px; border-top:1px solid var(--border);
}
.library-catalog{padding:0 0 32px;}
.protocols-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:10px;}
@media (min-width:1100px){ .protocols-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:900px){ .protocols-grid{grid-template-columns:1fr;} }
.protocol-card-big{padding:16px; display:flex; flex-direction:column; gap:8px;}
.protocol-head{display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 12px;}
.category-num{font-family:var(--mono); font-size:.8rem; color:var(--accent); letter-spacing:.04em;}
.protocol-head h2{font-family:var(--serif); font-weight:400; font-size:1.1rem; color:var(--text); margin:0; flex:1;}
.protocol-price{font-family:var(--mono); font-size:.85rem; color:var(--text-muted); letter-spacing:.03em;}
.exercise-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px;}
.exercise-list li{position:relative; padding-left:18px; font-size:.85rem; color:var(--text-muted); line-height:1.25;}
.exercise-list li::before{content:'•'; position:absolute; left:2px; color:var(--accent);}
.protocol-card-big .btn{width:100%; margin-top:auto; padding:9px 20px; font-size:.88rem;}
.protocol-card-big .btn:disabled{opacity:.5; cursor:not-allowed;}
.protocol-guarantee{
  display:flex; align-items:center; justify-content:center; gap:5px;
  font-size:.72rem; color:var(--text-muted); text-align:center; margin:0;
}
.protocol-guarantee svg{flex-shrink:0; color:var(--cool);}
.protocol-copyright{
  font-size:.66rem; color:var(--text-muted); text-align:center; line-height:1.3;
  opacity:.8; margin:0;
}
.protocol-lock-note{font-size:.85rem; color:var(--text-muted); display:flex; align-items:center;}
.protocol-card-big.is-unlocked{border-color:var(--cool);}

/* ---- Programe pe protocol (catalog extins, 17 protocoale / 104 programe) ---- */
.protocol-program-count{font-size:.78rem; color:var(--text-muted); margin:0;}
.protocol-programs summary{
  cursor:pointer; font-size:.82rem; color:var(--cool); font-weight:600;
  list-style:none; user-select:none;
}
.protocol-programs summary::-webkit-details-marker{display:none;}
.protocol-programs summary::before{content:'▸ ';}
.protocol-programs[open] summary::before{content:'▾ ';}
.program-list{list-style:none; margin:10px 0 0; padding:0; display:flex; flex-direction:column; gap:8px;}
.program-list li{border-top:1px solid var(--border); padding-top:8px;}
.program-name{display:block; font-weight:600; font-size:.85rem; color:var(--text);}
.program-exercises{display:block; font-size:.76rem; color:var(--text-muted); margin-top:2px; line-height:1.4;}

/* ---- Bară coș (fixă jos, pe biblioteca.html) ---- */
.cart-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:150;
  background:var(--surface); border-top:1px solid var(--border);
  box-shadow:0 -4px 20px rgba(22,33,43,.08);
}
.cart-bar[hidden]{display:none;}
.cart-bar-inner{
  max-width:1100px; margin:0 auto; padding:14px 24px;
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
}
.cart-bar-inner > span:first-child{font-weight:600; color:var(--text); font-size:.92rem;}
.cart-bar-discount{font-family:var(--mono); font-size:.8rem; color:var(--cool);}
.cart-bar-total{font-family:var(--mono); font-size:1.1rem; font-weight:600; color:var(--text); margin-left:auto;}
.cart-bar-inner .btn{padding:10px 18px; font-size:.86rem;}
@media (max-width:640px){
  .cart-bar-inner{padding:12px 20px; gap:10px;}
  .cart-bar-total{margin-left:0; order:3; flex:1 1 auto;}
  .cart-bar-inner .btn{order:4;}
}

/* ---- Pagina de coș (cos.html) ---- */
.cart-page{padding:clamp(28px,6vw,56px) 0;}
.cart-items{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0;}
.cart-item{
  display:flex; align-items:center; gap:16px; padding:16px 0;
  border-bottom:1px solid var(--border);
}
.cart-item-name{flex:1; font-family:var(--serif); font-size:1.05rem; color:var(--text);}
.cart-item-price{font-family:var(--mono); font-size:.92rem; color:var(--text-muted);}
.cart-remove-btn{
  background:none; border:none; padding:0; cursor:pointer; font-family:var(--sans);
  font-size:.82rem; color:var(--text-muted); text-decoration:underline;
}
.cart-remove-btn:hover{color:var(--text);}
.cart-tier-message{
  font-size:.85rem; color:var(--cool); margin-top:14px; padding:10px 14px;
  background:color-mix(in srgb, var(--cool) 10%, transparent); border-radius:8px;
}
.cart-summary{
  margin-top:28px; padding-top:20px; border-top:1px solid var(--border);
  display:flex; flex-direction:column; gap:8px;
}
.cart-summary-row{display:flex; justify-content:space-between; font-size:.95rem; color:var(--text-muted);}
.cart-summary-row[hidden]{display:none;}
.cart-summary-row.is-discount{color:var(--cool);}
.cart-summary-row.is-total{
  font-size:1.3rem; font-weight:600; color:var(--text); font-family:var(--mono);
  padding-top:10px; margin-top:4px; border-top:1px solid var(--border);
}
.cart-installments{
  margin-top:20px; padding:16px 18px; border:1px solid var(--border); border-radius:10px;
  background:var(--surface-2);
}
.cart-installments h3{font-size:.92rem; font-weight:600; margin:0 0 4px;}
.cart-installments p{font-size:.78rem; color:var(--text-muted); margin:0 0 10px;}
.cart-installments ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px;}
.cart-installments li{font-family:var(--mono); font-size:.88rem; color:var(--text);}
.cart-empty{padding:40px 0; text-align:center; color:var(--text-muted);}
.cart-empty .btn{margin-top:16px;}
