/*
  Authentication and protected-form UI styles.
  In the current build these styles also support gated/prompt states even when full auth is not yet active.
*/
.contact-grid{align-items:start}
.contact-panel-soft{background:rgba(255,255,255,.12)}
.contact-form-fields label{display:grid;gap:8px;min-width:0}
.contact-form-fields label > span{font-size:.92rem;font-weight:700;color:#fff}
.contact-form-fields input,.contact-form-fields textarea,.contact-form-fields select{
  width:100%;
  box-sizing:border-box;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.18);
  color:#10253b;
  border-radius:16px;
  padding:14px 16px;
  font:inherit;
}
.contact-form-fields select{appearance:none}
.form-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.span-full{grid-column:1 / -1}
@media (max-width:900px){
  .form-grid-two{grid-template-columns:1fr}
  .span-full{grid-column:auto}
}


@media (min-width: 901px){
  .site-header .nav-wrap{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
  .site-header .nav-panel{display:contents}
  .site-header .main-nav{justify-content:flex-end;padding-right:10px}
}

.blog-suggest-wrap{padding-top:84px;padding-bottom:104px}
.suggest-shell{display:grid;gap:28px}
.suggest-head{max-width:760px}
.suggest-head p{margin-top:14px;color:#5d7082;max-width:680px}
.suggest-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:28px;align-items:stretch}
.suggest-form-card{background:#fff;border:1px solid #dce6ef;border-radius:28px;box-shadow:0 18px 44px rgba(8,24,41,.08);padding:22px 22px 26px;position:relative;overflow:hidden}
.suggest-media{border-radius:28px;overflow:hidden;border:1px solid #dce6ef;box-shadow:0 18px 44px rgba(8,24,41,.08);min-height:100%}
.suggest-media img{width:100%;height:100%;min-height:760px;object-fit:cover}
.suggest-topic-bar{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid #d4dee8;border-radius:999px;font-size:14px;font-weight:800;letter-spacing:.02em;margin-bottom:16px;background:#fbfdff}
.suggest-form-card h3{font-size:2rem;line-height:1.05;margin-bottom:12px}
.suggest-form-card > p{color:#5d7082;margin-bottom:18px;max-width:800px}
.auth-gate,.auth-ok{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#081829 0%,#123251 100%);color:#fff;border-radius:22px;padding:18px 20px;margin-bottom:20px}
.auth-gate{flex-direction:column}
.auth-gate p,.auth-ok span{color:rgba(255,255,255,.82)}
.auth-ok strong{display:block;font-size:1rem;margin-bottom:4px}
.eyebrow.small{font-size:11px;margin-bottom:10px}
.auth-login-grid,.suggest-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%}
.auth-login-grid label,.suggest-fields label{display:grid;gap:8px;font-weight:700;color:#1a3046}
.auth-gate label{color:#fff}
.auth-login-grid input,.suggest-fields input,.suggest-fields textarea{width:100%;border-radius:18px;border:1px solid #cfdbe6;padding:15px 16px;font:inherit;background:#fff;color:#10253b}
.suggest-fields textarea{min-height:148px;resize:vertical}
.suggest-fields .span-full{grid-column:1 / -1}
.suggest-form{position:relative}
.suggest-form.is-readonly{padding:18px;border:1px dashed #c9d7e3;border-radius:24px;background:linear-gradient(180deg,#fbfdff 0%,#f5f9fc 100%)}
.suggest-form.is-readonly .suggest-fields input,
.suggest-form.is-readonly .suggest-fields textarea{background:#f6f9fc;color:#6a7d8f;border-color:#d9e3eb;box-shadow:none;cursor:default}
.suggest-form.is-readonly .suggest-fields input::placeholder,
.suggest-form.is-readonly .suggest-fields textarea::placeholder{color:#8ca0b1}
.suggest-form.is-readonly .cta-btn[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none}
.suggest-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}
.suggest-readonly-note{margin:14px 2px 0;color:#5d7082;font-weight:600}
.blog-ghost-btn{background:#f3f7fb;color:#143459;border:1px solid #cfdbe6}
.form-note{margin-top:14px;font-weight:600;color:#d6ecff}
.form-note.success{color:#1f5f9e}
@media (max-width: 1180px){
  .suggest-grid{grid-template-columns:1fr}
  .suggest-media img{min-height:360px}
}
@media (max-width: 900px){
  .site-header .nav-wrap{grid-template-columns:auto auto;min-height:80px}
  .brand img{height:54px}
  .auth-ok{flex-direction:column}
}
@media (max-width: 680px){
  .auth-login-grid,.suggest-fields{grid-template-columns:1fr}
  .suggest-actions .cta-btn,.suggest-actions .ghost-btn,.auth-gate .cta-btn{width:100%}
  .suggest-form-card{padding:18px}
  .suggest-form-card h3{font-size:1.6rem}
}


@media (min-width: 1101px){
  .site-header .nav-wrap{grid-template-columns:auto minmax(0,1fr) auto;gap:18px;min-height:88px}
  .site-header .brand img{height:64px}
  .site-header .nav-panel{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:20px}
  .site-header .main-nav{justify-content:flex-end;gap:26px;min-width:0;flex-wrap:nowrap}
  .site-header .actions{flex:0 0 auto;justify-self:auto}
}
.login-hero{padding:34px}
.login-grid{align-items:stretch}
.login-panel{background:#fff;border:1px solid #dce6ef;border-radius:28px;box-shadow:0 18px 44px rgba(8,24,41,.08);padding:24px}
.login-form-shell,.login-success{display:grid;gap:16px}
.login-form-grid{display:grid;gap:14px}
.login-form-grid label{display:grid;gap:8px;font-weight:700;color:#143459}
.login-form-grid input{width:100%;border-radius:18px;border:1px solid #cfdbe6;padding:15px 16px;font:inherit;background:#fff;color:#10253b;box-sizing:border-box}
.login-actions{display:flex;gap:14px;flex-wrap:wrap}
.login-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;width:100%}
@media (max-width: 680px){
  .login-actions,.login-cta{display:grid;grid-template-columns:1fr}
}

.header-actions-auth{gap:12px;align-items:center}
.header-user{display:flex;align-items:center;gap:10px;min-width:0}
.header-user-email{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dbe9f5;font-size:.92rem;font-weight:700}
.header-login,.header-logout{padding:10px 14px;border-radius:999px;white-space:nowrap}
.forgot-link{display:inline-flex;margin-top:6px;font-weight:700}
.ghost-btn.is-disabled{pointer-events:none;opacity:.6;cursor:default}
@media (min-width: 1101px){
  .site-header .main-nav{gap:22px}
  .site-header .header-actions-auth{flex-wrap:nowrap}
}
@media (max-width: 960px){
  .header-user{width:100%;justify-content:space-between}
}
@media (max-width: 680px){
  .header-user{display:grid;grid-template-columns:1fr;gap:10px}
  .header-user-email{max-width:none}
}


.custom-select{position:relative;width:100%}
.custom-select-trigger{
  width:100%;box-sizing:border-box;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.18);color:#10253b;border-radius:16px;padding:14px 44px 14px 16px;font:inherit;text-align:left;position:relative;min-height:54px;cursor:pointer;
}
.custom-select-trigger::after{
  content:"";position:absolute;right:16px;top:50%;width:10px;height:10px;border-right:2px solid #28435f;border-bottom:2px solid #28435f;transform:translateY(-65%) rotate(45deg);transition:transform .18s ease;
}
.custom-select.is-open .custom-select-trigger::after{transform:translateY(-35%) rotate(-135deg)}
.custom-select-menu{
  display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:#fff;border:1px solid #d7e2eb;border-radius:16px;box-shadow:0 18px 44px rgba(8,24,41,.16);padding:8px;max-height:260px;overflow:auto;
}
.custom-select.is-open .custom-select-menu{display:block}
.custom-select-option{
  width:100%;border:0;background:transparent;color:#10253b;border-radius:12px;padding:12px 14px;text-align:left;font:inherit;cursor:pointer;
}
.custom-select-option:hover,.custom-select-option:focus,.custom-select-option.is-selected{background:#e9f3fb;outline:none}
