/* ================================================================
   LIVE AGE CALCULATOR — Stylesheet
   All selectors scoped to #lac-root-2024 to avoid theme conflicts
   ================================================================ */

#lac-root-2024 { margin:0; padding:20px 14px 36px; background:#eef2f7; font-family:Arial,Helvetica,sans-serif; color:#1a2332; }
#lac-root-2024 * { box-sizing:border-box; margin:0; padding:0; }
#lac-root-2024 .lac-wrap { max-width:700px; margin:0 auto; }
#lac-root-2024 .lac-gap { margin-bottom:18px; }

/* ---- HERO ---- */
#lac-root-2024 .lac-hero { background:#0a3d7a; border-radius:14px; padding:30px 28px; color:#ffffff; margin-bottom:18px; }
#lac-root-2024 .lac-eyebrow { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.75); margin-bottom:8px; }
#lac-root-2024 .lac-hero-h2 { font-size:28px; font-weight:700; margin:0 0 10px; line-height:1.2; color:#ffffff; }
#lac-root-2024 .lac-hero-p { font-size:14px; color:rgba(255,255,255,0.85); line-height:1.6; }

/* ---- CARD ---- */
#lac-root-2024 .lac-card { background:#ffffff; border:2px solid #b0c4de; border-radius:14px; padding:24px; margin-bottom:18px; }
#lac-root-2024 .lac-card-title { font-size:16px; font-weight:700; color:#1a2332; margin-bottom:18px; }

/* ---- GRID ---- */
#lac-root-2024 .lac-grid3 { display:table; width:100%; border-collapse:separate; border-spacing:10px 0; margin-bottom:10px; }
#lac-root-2024 .lac-col { display:table-cell; vertical-align:top; width:33.33%; }
#lac-root-2024 .lac-label { display:block; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#2d3748; margin-bottom:5px; }
#lac-root-2024 .lac-note { display:block; font-size:12px; color:#4a5568; font-style:italic; margin-top:8px; }

/* ---- INPUTS ---- */
#lac-root-2024 .lac-input,
#lac-root-2024 .lac-select {
  display:block; width:100%; font-family:Arial,Helvetica,sans-serif;
  font-size:15px; font-weight:600; color:#1a2332;
  background:#f0f4f9; border:2px solid #b0c4de; border-radius:8px;
  padding:10px 12px; outline:none; -webkit-appearance:none; appearance:none;
}
#lac-root-2024 .lac-select {
  cursor:pointer; padding-right:30px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath fill='%232d3748' d='M6 7L0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 10px center;
}
#lac-root-2024 .lac-err-msg { display:block; font-size:11px; color:#c62828; font-weight:700; min-height:16px; margin-top:3px; }
#lac-root-2024 .lac-input-err { border-color:#c62828 !important; }

/* ---- BUTTONS ---- */
#lac-root-2024 .lac-btn {
  display:inline-block; font-family:Arial,Helvetica,sans-serif;
  font-size:15px; font-weight:700; color:#ffffff; background:#0a3d7a;
  border:none; border-radius:9px; padding:13px 26px; cursor:pointer;
  margin-top:14px; text-decoration:none;
}
#lac-root-2024 .lac-btn-ghost {
  display:inline-block; font-family:Arial,Helvetica,sans-serif;
  font-size:13px; font-weight:700; color:#0a3d7a; background:transparent;
  border:2px solid #0a3d7a; border-radius:9px; padding:9px 18px; cursor:pointer;
}
#lac-root-2024 .lac-gerr { color:#c62828; font-size:13px; font-weight:700; margin-top:8px; }

/* ---- RESULT WRAPPER ---- */
#lac-root-2024 .lac-result { display:none; }

/* ---- LIVE TICKER ---- */
#lac-root-2024 .lac-ticker { background:#0a3d7a; border-radius:14px; padding:26px 22px; color:#ffffff; margin-bottom:18px; }
#lac-root-2024 .lac-live-lbl { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.78); margin-bottom:16px; }
#lac-root-2024 .lac-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:#69f0ae; margin-right:8px; vertical-align:middle; }
#lac-root-2024 .lac-hms { text-align:center; margin-bottom:18px; }
#lac-root-2024 .lac-hms-inner { display:inline-table; }
#lac-root-2024 .lac-unit { display:inline-block; text-align:center; vertical-align:bottom; }
#lac-root-2024 .lac-num { display:block; font-family:'Courier New',Courier,monospace; font-size:64px; font-weight:700; line-height:1; color:#ffffff; min-width:80px; }
#lac-root-2024 .lac-unit-lbl { display:block; font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,0.72); margin-top:5px; }
#lac-root-2024 .lac-sep { display:inline-block; font-family:'Courier New',Courier,monospace; font-size:50px; color:rgba(255,255,255,0.45); vertical-align:bottom; padding-bottom:22px; margin:0 4px; }
#lac-root-2024 .lac-ymd { border-top:1px solid rgba(255,255,255,0.2); padding-top:16px; text-align:center; }
#lac-root-2024 .lac-ymd-item { display:inline-block; text-align:center; padding:0 16px; border-right:1px solid rgba(255,255,255,0.18); }
#lac-root-2024 .lac-ymd-item:last-child { border-right:none; }
#lac-root-2024 .lac-ymd-num { display:block; font-family:'Courier New',Courier,monospace; font-size:26px; font-weight:700; color:#ffffff; line-height:1; }
#lac-root-2024 .lac-ymd-lbl { display:block; font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,0.7); margin-top:3px; }

/* ---- STATS ---- */
#lac-root-2024 .lac-stats-grid { width:100%; border-collapse:separate; border-spacing:10px; display:table; margin-bottom:6px; }
#lac-root-2024 .lac-stats-row { display:table-row; }
#lac-root-2024 .lac-stat { display:table-cell; background:#ffffff; border:2px solid #b0c4de; border-radius:10px; padding:14px 12px; vertical-align:top; width:33.33%; }
#lac-root-2024 .lac-stat-icon { font-size:16px; display:block; margin-bottom:4px; }
#lac-root-2024 .lac-stat-val { display:block; font-family:'Courier New',Courier,monospace; font-size:14px; font-weight:700; color:#1a2332; line-height:1.2; margin-bottom:3px; }
#lac-root-2024 .lac-stat-lbl { display:block; font-size:11px; color:#2d3748; font-weight:700; }

/* ---- BIRTHDAY COUNTDOWN ---- */
#lac-root-2024 .lac-bday { background:#ffffff; border:2px solid #b0c4de; border-radius:14px; padding:20px 22px; margin-bottom:18px; }
#lac-root-2024 .lac-sec-title { font-size:15px; font-weight:700; color:#1a2332; margin-bottom:14px; }
#lac-root-2024 .lac-bday-grid { display:table; width:100%; border-collapse:separate; border-spacing:10px 0; }
#lac-root-2024 .lac-bday-box { display:table-cell; background:#f0f4f9; border:2px solid #b0c4de; border-radius:9px; padding:12px 8px; text-align:center; width:25%; }
#lac-root-2024 .lac-bday-num { display:block; font-family:'Courier New',Courier,monospace; font-size:26px; font-weight:700; color:#1a2332; line-height:1; margin-bottom:4px; }
#lac-root-2024 .lac-bday-lbl { display:block; font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#2d3748; }
#lac-root-2024 .lac-bday-msg { margin-top:12px; font-size:13px; color:#1a2332; font-weight:600; line-height:1.6; }

/* ---- LIFE PROGRESS ---- */
#lac-root-2024 .lac-progress { background:#ffffff; border:2px solid #b0c4de; border-radius:14px; padding:20px 22px; margin-bottom:18px; }
#lac-root-2024 .lac-prog-labels { width:100%; overflow:hidden; margin-bottom:7px; }
#lac-root-2024 .lac-prog-lbl-l { float:left; font-size:11px; font-weight:700; color:#2d3748; }
#lac-root-2024 .lac-prog-lbl-r { float:right; font-size:11px; font-weight:700; color:#2d3748; }
#lac-root-2024 .lac-prog-track { background:#e0e8f0; border:1px solid #b0c4de; border-radius:100px; height:13px; overflow:hidden; clear:both; }
#lac-root-2024 .lac-prog-fill { height:100%; border-radius:100px; width:0%; background:#0a3d7a; transition:width 1s linear; }
#lac-root-2024 .lac-prog-pct { font-family:'Courier New',Courier,monospace; font-size:12px; color:#1a2332; font-weight:700; text-align:right; margin-top:7px; }

/* ---- FUN FACTS ---- */
#lac-root-2024 .lac-facts-grid { display:table; width:100%; border-collapse:separate; border-spacing:12px; margin-bottom:6px; }
#lac-root-2024 .lac-facts-row { display:table-row; }
#lac-root-2024 .lac-fact { display:table-cell; background:#ffffff; border:2px solid #b0c4de; border-radius:10px; padding:14px 16px; vertical-align:top; width:50%; }
#lac-root-2024 .lac-fact-lbl { display:block; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#2d3748; margin-bottom:3px; }
#lac-root-2024 .lac-fact-val { display:block; font-family:'Courier New',Courier,monospace; font-size:17px; font-weight:700; color:#1a2332; line-height:1.2; margin-bottom:3px; }
#lac-root-2024 .lac-fact-sub { display:block; font-size:12px; color:#2d3748; font-weight:600; }

/* ---- FOOTER ---- */
#lac-root-2024 .lac-footnote { text-align:center; font-size:12px; color:#4a5568; font-weight:600; line-height:1.65; margin-top:14px; }

/* ---- MOBILE ---- */
@media screen and (max-width:560px) {
  #lac-root-2024 .lac-num { font-size:42px; min-width:52px; }
  #lac-root-2024 .lac-sep { font-size:34px; }
  #lac-root-2024 .lac-ymd-item { padding:0 10px; }
  #lac-root-2024 .lac-ymd-num { font-size:20px; }
  #lac-root-2024 .lac-hero-h2 { font-size:22px; }
  #lac-root-2024 .lac-grid3,
  #lac-root-2024 .lac-stats-grid,
  #lac-root-2024 .lac-facts-grid { display:block; }
  #lac-root-2024 .lac-stats-row,
  #lac-root-2024 .lac-facts-row { display:block; }
  #lac-root-2024 .lac-col,
  #lac-root-2024 .lac-stat,
  #lac-root-2024 .lac-fact { display:block; width:100%; margin-bottom:10px; }
  #lac-root-2024 .lac-bday-grid { display:block; }
  #lac-root-2024 .lac-bday-box { display:inline-block; width:48%; margin-bottom:8px; }
}