/* ═══════════════════════════════════════════════════════════════════
   PMedio — main.css  |  Dark Luxury · Glassmorphism · Mobile First
   ═══════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600;700&family=DM+Sans:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  --bg-deep:       #0A0A0C;
  --bg-card:       rgba(15,17,22,0.85);
  --bg-card-h:     rgba(22,26,34,0.92);
  --bg-input:      rgba(8,10,14,0.8);
  --bg-input-f:    rgba(12,15,20,0.95);
  --gold-1: #8B6914; --gold-2: #C9A84C; --gold-3: #E8C96B; --gold-4: #F5E09A;
  --gold-grd: linear-gradient(135deg,var(--gold-1),var(--gold-2),var(--gold-3));
  --gold-txt: linear-gradient(135deg,var(--gold-2),var(--gold-3),var(--gold-2));
  --silver-1:#3A4050; --silver-2:#5A6475; --silver-3:#9DA8B7; --silver-4:#C8D0DB;
  --bdr-s: rgba(201,168,76,0.12); --bdr-m: rgba(201,168,76,0.30);
  --bdr-a: rgba(201,168,76,0.65); --bdr-g: rgba(255,255,255,0.06);
  --txt-1:#F0EDE8; --txt-2:#B8B4AC; --txt-3:#7A7870; --txt-4:#3A3830;
  --green:#4CAF7C; --red:#CF6679; --amber:#D4A847;
  --f-brand:'Cormorant Garamond',serif;
  --f-ui:'DM Sans',sans-serif;
  --f-mono:'JetBrains Mono',monospace;
  --r-sm:8px; --r-md:14px; --r-lg:20px; --r-xl:28px;
  --sh-card:0 4px 32px rgba(0,0,0,.55),0 1px 0 var(--bdr-g) inset;
  --sh-gold:0 0 24px rgba(201,168,76,.18);
  --sh-glow:0 0 40px rgba(201,168,76,.28);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--f-ui);background:var(--bg-deep);color:var(--txt-1);
     min-height:100vh;line-height:1.6;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse 80% 50% at 20% 10%,rgba(201,168,76,.06) 0%,transparent 60%),
             radial-gradient(ellipse 60% 40% at 80% 90%,rgba(100,80,30,.05) 0%,transparent 60%)}
body.no-scroll{overflow:hidden}
img,svg{display:block;max-width:100%}
a{color:var(--gold-2);text-decoration:none;transition:color .2s}
a:hover{color:var(--gold-3)}
button{cursor:pointer;font-family:var(--f-ui)}
input,select,textarea{font-family:var(--f-ui)}
.hidden{display:none!important}

/* Layout */
.container{width:100%;max-width:820px;margin:0 auto;padding:0 1rem;position:relative;z-index:1}

/* Header */
.site-header{border-bottom:1px solid var(--bdr-s);backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);background:rgba(10,10,12,.7);position:sticky;top:0;z-index:100}
.header-inner{display:flex;align-items:center;justify-content:space-between;
  padding:.9rem 1rem;max-width:820px;margin:0 auto}
.logo{display:flex;align-items:baseline;gap:.35rem}
.logo-mark{font-family:var(--f-brand);font-size:1.7rem;font-weight:700;
  background:var(--gold-txt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;letter-spacing:-.5px}
.logo-sub{font-size:.7rem;color:var(--txt-3);letter-spacing:.08em;text-transform:uppercase}
.header-nav{display:flex;align-items:center;gap:.6rem}
.btn-nav-ghost{padding:.45rem .9rem;border:1px solid var(--bdr-m);border-radius:var(--r-sm);
  background:transparent;color:var(--txt-2);font-size:.85rem;transition:all .2s}
.btn-nav-ghost:hover{border-color:var(--gold-2);color:var(--gold-2)}
.btn-nav-gold{padding:.45rem .9rem;border:none;border-radius:var(--r-sm);
  background:var(--gold-grd);color:#1a1400;font-size:.85rem;font-weight:600;transition:all .2s}
.btn-nav-gold:hover{box-shadow:var(--sh-gold);transform:translateY(-1px)}

/* Hero */
.hero{text-align:center;padding:3rem 1rem 2rem}
.hero-eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);margin-bottom:.75rem}
.hero-title{font-family:var(--f-brand);font-size:clamp(2rem,6vw,3.2rem);font-weight:700;line-height:1.15;
  margin-bottom:.9rem;background:linear-gradient(160deg,var(--txt-1) 0%,var(--silver-4) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-title em{background:var(--gold-txt);-webkit-background-clip:text;
  -webkit-text-fill-color:transparent;background-clip:text;font-style:normal}
.hero-sub{color:var(--txt-2);font-size:1rem;max-width:520px;margin:0 auto;line-height:1.7}

/* Card */
.card{background:var(--bg-card);border:1px solid var(--bdr-g);border-radius:var(--r-lg);
  box-shadow:var(--sh-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  padding:1.5rem;margin-bottom:1.25rem}
.card-title{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);
  margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.card-title::after{content:'';flex:1;height:1px;background:var(--bdr-s)}

/* Favoritos */
#favorites-container{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.fav-btn{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.55rem .9rem;
  background:rgba(201,168,76,.07);border:1px solid var(--bdr-s);border-radius:var(--r-sm);
  color:var(--txt-1);transition:all .2s;min-width:72px}
.fav-btn:hover{background:rgba(201,168,76,.14);border-color:var(--bdr-m);
  transform:translateY(-2px);box-shadow:var(--sh-gold)}
.fav-code{font-family:var(--f-mono);font-size:.82rem;color:var(--gold-2);font-weight:500}
.fav-lbl{font-size:.65rem;color:var(--txt-3);white-space:nowrap}

/* Search */
.search-wrap{position:relative}
.company-search-input{width:100%;padding:.85rem 1.1rem;background:var(--bg-input);
  border:1px solid var(--bdr-s);border-radius:var(--r-md);color:var(--txt-1);font-size:1rem;
  outline:none;transition:border-color .2s,box-shadow .2s}
.company-search-input::placeholder{color:var(--txt-3)}
.company-search-input:focus{border-color:var(--bdr-a);
  box-shadow:0 0 0 3px rgba(201,168,76,.12);background:var(--bg-input-f)}

#company-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;
  background:rgba(12,14,18,.97);border:1px solid var(--bdr-m);border-radius:var(--r-md);
  z-index:50;box-shadow:0 16px 40px rgba(0,0,0,.7);max-height:320px;overflow-y:auto}
.dropdown-item{display:grid;grid-template-columns:60px 1fr;grid-template-rows:auto auto;
  gap:.1rem .6rem;padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--bdr-s);transition:background .15s}
.dropdown-item:last-child{border-bottom:none}
.dropdown-item:hover,.dropdown-item:focus{background:rgba(201,168,76,.08);outline:none}
.di-code{font-family:var(--f-mono);font-size:.9rem;color:var(--gold-2);grid-row:1;grid-column:1;align-self:center}
.di-name{font-size:.88rem;color:var(--txt-1);grid-row:1;grid-column:2}
.di-tickers{font-family:var(--f-mono);font-size:.72rem;color:var(--txt-3);grid-row:2;grid-column:2}
.dropdown-empty{padding:1rem;color:var(--txt-3);font-size:.88rem;text-align:center}

#company-selected{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.75rem;
  padding:.65rem 1rem;background:rgba(201,168,76,.06);border:1px solid var(--bdr-s);
  border-radius:var(--r-sm);font-size:.85rem}
.sel-badge{font-family:var(--f-mono);font-size:.9rem;color:var(--gold-2);font-weight:600}
.sel-name{color:var(--txt-1)}
.sel-cnpj{font-size:.75rem;color:var(--txt-3);margin-left:auto;font-family:var(--f-mono)}

/* Ticker */
#ticker-group{margin-top:1.1rem}
.ticker-group-label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--txt-3);margin-bottom:.6rem}
#ticker-list{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}
.ticker-opt{display:flex;align-items:center;gap:.4rem;padding:.45rem .8rem;
  background:var(--bg-input);border:1px solid var(--bdr-s);border-radius:var(--r-sm);
  cursor:pointer;transition:all .2s}
.ticker-opt:has(input:checked){background:rgba(201,168,76,.12);border-color:var(--bdr-a);box-shadow:var(--sh-gold)}
.ticker-opt input[type=radio]{display:none}
.ticker-code{font-family:var(--f-mono);font-size:.9rem;color:var(--txt-1)}
.ticker-opt:has(input:checked) .ticker-code{color:var(--gold-3)}
.ticker-tag{font-size:.65rem;color:var(--silver-3);background:rgba(255,255,255,.06);
  padding:.1rem .35rem;border-radius:4px}
.ticker-frac{opacity:.7}
.ticker-other-row{display:flex;align-items:center;gap:.5rem;margin-top:.4rem}
.ticker-other-row label{font-size:.82rem;color:var(--txt-3);display:flex;align-items:center;gap:.4rem;cursor:pointer}
#ticker-other-input{padding:.4rem .7rem;background:var(--bg-input);border:1px solid var(--bdr-s);
  border-radius:var(--r-sm);color:var(--txt-1);font-family:var(--f-mono);font-size:.9rem;
  text-transform:uppercase;width:120px;outline:none}
#ticker-other-input:focus{border-color:var(--bdr-a)}

/* Cenário */
.scenario-selector{display:flex;gap:.6rem}
.scenario-btn{flex:1;padding:.9rem .6rem;background:var(--bg-input);border:1px solid var(--bdr-s);
  border-radius:var(--r-md);color:var(--txt-2);font-size:.9rem;font-weight:500;
  text-align:center;transition:all .25s;line-height:1.4}
.scenario-btn:hover{border-color:var(--bdr-m);color:var(--txt-1)}
.scenario-btn.active{background:rgba(201,168,76,.1);border-color:var(--bdr-a);
  color:var(--gold-3);box-shadow:var(--sh-gold)}
.scenario-btn .sc-num{display:block;font-family:var(--f-brand);font-size:1.6rem;
  color:var(--gold-2);line-height:1;margin-bottom:.3rem}
.scenario-btn.active .sc-num{color:var(--gold-3)}

/* Formulário conversacional */
.conv-block{background:rgba(255,255,255,.02);border-left:2px solid var(--bdr-m);
  padding:1.1rem 1.1rem 1.1rem 1.3rem;border-radius:0 var(--r-sm) var(--r-sm) 0;margin-bottom:1rem}
.conv-line{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .5rem;
  font-size:.97rem;color:var(--txt-2);line-height:2}
.conv-line+.conv-line{margin-top:.25rem}

.input-inline{background:var(--bg-input);border:none;border-bottom:2px solid var(--bdr-m);
  border-radius:4px 4px 0 0;color:var(--txt-1);font-family:var(--f-mono);font-size:.95rem;
  outline:none;padding:.25rem .45rem;transition:border-color .2s;min-width:0}
.input-inline:focus{border-bottom-color:var(--gold-2)}

.inp-wrap{display:inline-flex;align-items:center;background:var(--bg-input);
  border-bottom:2px solid var(--bdr-m);border-radius:4px 4px 0 0;transition:border-color .2s}
.inp-wrap:focus-within{border-bottom-color:var(--gold-2)}
.inp-pfx{font-size:.8rem;color:var(--txt-3);padding:0 .3rem 0 .45rem}
.inp-wrap input{background:transparent;border:none;outline:none;color:var(--txt-1);
  font-family:var(--f-mono);font-size:.95rem;padding:.25rem .45rem .25rem 0;width:110px}
.inp-val{width:120px}
.inp-qty{width:80px}
select.input-inline{cursor:pointer;padding-right:1.2rem}

/* Cenário 2 year rows */
.year-row{margin-bottom:.5rem}
.yr-inner{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .5rem;
  font-size:.97rem;color:var(--txt-2);line-height:2}
.yr-lbl{white-space:nowrap}
.sc2-add-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem .9rem;
  background:transparent;border:1px dashed var(--bdr-m);border-radius:var(--r-sm);
  color:var(--txt-3);font-size:.85rem;margin-top:.75rem;transition:all .2s}
.sc2-add-btn:hover{border-color:var(--gold-2);color:var(--gold-2)}
.rm-yr-btn{background:transparent;border:none;color:var(--txt-4);font-size:.9rem;
  padding:.2rem .4rem;border-radius:4px;transition:all .15s}
.rm-yr-btn:hover{color:var(--red);background:rgba(207,102,121,.1)}

/* Erros */
#form-errors{background:rgba(207,102,121,.1);border:1px solid rgba(207,102,121,.3);
  border-radius:var(--r-sm);padding:.9rem 1rem;margin-bottom:1rem}
.err-item{font-size:.88rem;color:#e87e8e;margin-bottom:.25rem}
.err-item:last-child{margin-bottom:0}

/* Botões */
.btn-row{display:flex;gap:.75rem;margin-top:.5rem}
.btn-calc{flex:1;padding:1rem 1.5rem;background:var(--gold-grd);border:none;border-radius:var(--r-md);
  color:#1a1200;font-size:1rem;font-weight:700;letter-spacing:.02em;display:flex;
  align-items:center;justify-content:center;gap:.5rem;transition:all .25s}
.btn-calc:hover:not(:disabled){box-shadow:var(--sh-glow);transform:translateY(-2px)}
.btn-calc:disabled{opacity:.6;cursor:not-allowed;transform:none}
.btn-icon{font-size:1.1rem}
.btn-clear{padding:1rem 1.1rem;background:transparent;border:1px solid var(--bdr-s);
  border-radius:var(--r-md);color:var(--txt-3);font-size:.9rem;transition:all .2s}
.btn-clear:hover{border-color:var(--bdr-m);color:var(--txt-2)}
.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(26,18,0,.3);
  border-top-color:#1a1200;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Resultado */
#result-section{border:1px solid var(--bdr-m);border-radius:var(--r-xl);background:var(--bg-card);
  padding:2rem 1.5rem 1.5rem;text-align:center;position:relative;overflow:hidden}
#result-section::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold-grd)}
.result-pop{animation:popIn .4s cubic-bezier(.34,1.56,.64,1) both}
@keyframes popIn{from{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}
.result-eyebrow{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);margin-bottom:.5rem}
#result-ticker{font-size:.85rem;color:var(--txt-3);margin-bottom:1.2rem;font-family:var(--f-mono)}
.result-pm-wrap{margin-bottom:1.5rem}
.result-pm-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-3);margin-bottom:.25rem}
#result-pm{font-family:var(--f-brand);font-size:clamp(2.4rem,8vw,4rem);font-weight:700;
  background:var(--gold-txt);-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;line-height:1.1}
.result-stats{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;
  padding-top:1.2rem;border-top:1px solid var(--bdr-s);margin-bottom:1.5rem}
.result-stat{text-align:center}
.result-stat-label{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-3);margin-bottom:.2rem}
.result-stat-value{font-family:var(--f-mono);font-size:1.05rem;color:var(--txt-1);font-weight:500}
#result-year{font-size:.78rem;color:var(--txt-3);margin-bottom:1.25rem}
.btn-tips{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;
  background:transparent;border:1px solid var(--bdr-m);border-radius:var(--r-md);
  color:var(--txt-2);font-size:.92rem;transition:all .2s;text-decoration:none}
.btn-tips:hover{border-color:var(--gold-2);color:var(--gold-2);box-shadow:var(--sh-gold)}

/* Modais */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(6px);
  z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal-box{background:rgba(14,16,22,.97);border:1px solid var(--bdr-m);border-radius:var(--r-xl);
  padding:2rem;width:100%;max-width:400px;box-shadow:0 24px 64px rgba(0,0,0,.8);
  animation:slideUp .25s cubic-bezier(.34,1.56,.64,1)}
@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.modal-title{font-family:var(--f-brand);font-size:1.4rem;font-weight:600;color:var(--gold-3);margin-bottom:.5rem}
.modal-body{color:var(--txt-2);font-size:.92rem;margin-bottom:1.25rem;line-height:1.6}
.challenge-q{font-size:1.8rem;font-family:var(--f-brand);text-align:center;color:var(--txt-1);margin:1rem 0}
.challenge-input{width:100%;padding:.8rem;background:var(--bg-input);border:1px solid var(--bdr-m);
  border-radius:var(--r-sm);color:var(--txt-1);font-size:1.2rem;font-family:var(--f-mono);
  text-align:center;outline:none;margin-bottom:.75rem}
.challenge-input:focus{border-color:var(--bdr-a)}
.challenge-error{color:var(--red);font-size:.85rem;text-align:center;margin-bottom:.5rem}
.invite-btns{display:flex;flex-direction:column;gap:.5rem}
.btn-invite-primary{padding:.85rem;background:var(--gold-grd);border:none;border-radius:var(--r-sm);
  color:#1a1200;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .2s}
.btn-invite-primary:hover{box-shadow:var(--sh-glow)}
.btn-invite-skip{padding:.6rem;background:transparent;border:none;color:var(--txt-3);
  font-size:.82rem;cursor:pointer;transition:color .2s}
.btn-invite-skip:hover{color:var(--txt-2)}
.tips-hint{text-align:center;padding:1rem;color:var(--txt-3);font-size:.82rem}
.tips-hint a{color:var(--gold-2)}

/* Footer */
.site-footer{border-top:1px solid var(--bdr-s);padding:1.5rem 1rem;text-align:center;
  color:var(--txt-3);font-size:.78rem;margin-top:2rem}
.site-footer a{color:var(--txt-3)}
.site-footer a:hover{color:var(--gold-2)}

/* Scrollbar */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--bg-deep)}
::-webkit-scrollbar-thumb{background:var(--silver-1);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--silver-2)}

/* Responsivo */
@media(min-width:540px){
  .card{padding:1.75rem 2rem}
  .modal-box{padding:2.5rem}
  .hero{padding:4rem 1rem 2.5rem}
}
@media(max-width:420px){
  .scenario-btn .sc-num{font-size:1.3rem}
  .scenario-btn{font-size:.82rem;padding:.7rem .4rem}
  #result-pm{font-size:2.2rem}
  .inp-wrap input,.inp-val{width:90px}
}
