/* LIFE-CALC common styles (assets/style.css) */

:root{
  /* Brand */
  --lc-navy:#0F172A;
  --lc-mint:#2DD4BF;

  /* Background / surfaces */
  --lc-bg:#F8FAFC;
  --lc-card:#FFFFFF;

  /* Text */
  --lc-text-main:#0F172A;
  --lc-text-sub:#475569;
  --lc-text-muted:#94A3B8;

  /* Border */
  --lc-border:#CBD5E1;

  /* Status */
  --lc-success:#22C55E;
  --lc-warning:#F59E0B;
  --lc-danger:#EF4444;

  /* Aliases used by legacy styles */
  --bg: var(--lc-bg);
  --card: var(--lc-card);
  --text: var(--lc-text-main);
  --muted: var(--lc-text-sub);
  --line: var(--lc-border);
  --primary: var(--lc-mint);

  --shadow:0 10px 30px rgba(15,23,42,.06);
  --radius:18px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic", sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.55;
}

a{color:inherit; text-decoration:none}
a:hover{opacity:.92}

header{
  position:sticky;
  top:0;
  z-index:20;
  background:var(--lc-navy);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.10);
}
header .wrap{
  max-width:1000px;
  margin:0 auto;
  padding:14px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.logo{font-weight:800; letter-spacing:-.02em}
.logo a{color:#fff}
nav{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
nav a{font-size:14px; color:rgba(255,255,255,.92); padding:8px 10px; border-radius:10px; font-weight:500;}
nav a:hover{background:rgba(255,255,255,.10); color:var(--lc-mint);}

.main-container{
  max-width:1000px;
  margin:0 auto;
  padding:22px 18px 56px;
}

.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow: var(--shadow);
  padding:22px;
  margin:16px 0;
}

.card h1,.card h2,.card h3{margin:0 0 10px; letter-spacing:-.02em;}
.card p{margin:8px 0; color:var(--muted)}
.card p strong{color:var(--text)}

.grid{display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:12px;}
@media (max-width: 860px){ .grid{grid-template-columns: repeat(2, minmax(0,1fr));} }
@media (max-width: 560px){ .grid{grid-template-columns: 1fr;} }

.calc-link{
  display:block;
  padding:16px 16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.calc-link:hover{
  transform: translateY(-1px);
  border-color:#d1d5db;
  box-shadow: 0 10px 24px rgba(17,24,39,.08);
}

.badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 8px;
  font-size:11px;
  border-radius:999px;
  margin-left:8px;
  color:var(--primary);
  background:rgba(45,212,191,.12); /* lc-mint */
  border:1px solid rgba(45,212,191,.22); /* lc-mint */
}

.calc-list{margin:10px 0 0; padding-left:18px; color:var(--muted);}
.calc-list li{margin:6px 0}
.calc-list a{color:var(--primary)}
.calc-list a:hover{text-decoration:underline}

.form-row{display:flex; gap:12px; flex-wrap:wrap; align-items:center;}
label{font-size:13px; color:var(--muted);}
input, select{
  height:36px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  outline:none;
  font-size:14px;
  background:#fff;
  min-width: 160px;
}
input:focus, select:focus{
  border-color: rgba(45,212,191,.85); /* lc-mint */
  box-shadow: 0 0 0 4px rgba(45,212,191,.18); /* lc-mint */
}

.btn{
  appearance:none;
  border:none;
  border-radius:999px;
  padding:12px 16px;
  font-weight:700;
  cursor:pointer;
  background:var(--primary);
  color:#fff;
  transition: filter .12s ease, transform .12s ease;
}
.btn:hover{filter:brightness(.98)}
.btn:active{transform:scale(.99)}
.btn-wide{width:100%}

hr.sep{border:none; border-top:1px solid var(--line); margin:16px 0;}

.notice{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:14px 14px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#fff;
}
.notice .icon{
  width:22px;height:22px;
  border-radius:8px;
  background:rgba(45,212,191,.14); /* lc-mint */
  color:var(--primary);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
}
.notice .title{font-weight:800; margin:0}
.notice .body{margin:4px 0 0; color:var(--muted); font-size:13px}

.footer{color:var(--muted); font-size:12px; padding:18px 0 0;}
.footer a{color:var(--primary); text-decoration:underline;}


/* Site footer */
.site-footer{margin:24px 0 48px;padding:18px 0;border-top:1px solid rgba(0,0,0,0.06);background:transparent;}
.footer-inner{max-width:980px;margin:0 auto;padding:0 18px;}
.footer-links{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px;}
.footer-links a{font-size:13px;color:#374151;text-decoration:none;padding:6px 10px;border:1px solid rgba(0,0,0,0.08);border-radius:999px;background:#fff;}
.footer-links a:hover{border-color:rgba(0,0,0,0.18);}
.footer-meta p{margin:6px 0;font-size:13px;color:#111827;}
.footer-meta .muted{color:#6b7280;font-size:12px;}
