/*
Theme Name: Timeless Echoes
Theme URI: http://localhost/timelessechoes/
Author: Timeless Echoes
Description: Dark, emerald-accented theme for Timeless Echoes — a legacy platform companion to the family tree. Leave an echo for the generations to come.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: timeless-echoes
*/

:root{
  --bg:#0f1311; --bg2:#151b18; --bg3:#1d2621; --line:#2b332e;
  --text:#d8ded9; --muted:#a2aaa4; --heading:#eef3ef;
  --accent:#42c07d; --accent2:#6cdfa3; --accent-ink:#05230f;
  --serif:Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--accent2);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.wrap{max-width:1080px;margin:0 auto;padding:0 1.25rem}
h1,h2,h3,h4{font-family:var(--serif);color:var(--heading);line-height:1.15;margin:0 0 .6rem}

/* header */
.site-header{position:sticky;top:0;z-index:20;background:rgba(15,19,17,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-header .bar{display:flex;align-items:center;gap:1rem;padding:.7rem 0}
.brand{display:flex;align-items:center;gap:.55rem;font-family:var(--serif);font-size:1.5rem;color:var(--heading)}
.brand img{width:40px;height:40px}
.brand b{font-weight:700}.brand i{font-style:italic;color:var(--accent2);font-weight:400}
.brand a{color:var(--heading)!important;text-decoration:none!important;display:flex;align-items:center;gap:.55rem}
nav.main{margin-left:auto;display:flex;gap:1.3rem;align-items:center;flex-wrap:wrap}
nav.main ul{display:flex;gap:1.3rem;list-style:none;margin:0;padding:0}
nav.main a{color:var(--text)}

/* dropdowns */
nav.main li{position:relative}
nav.main li>a{display:flex;align-items:center;gap:.3rem;white-space:nowrap}
nav.main li.menu-item-has-children>a::after{content:'▾';font-size:.7rem;opacity:.6}
nav.main ul.sub-menu{
  display:none;position:absolute;top:100%;left:0;
  background:var(--bg2);border:1px solid var(--line);border-radius:.5rem;
  padding:.8rem 0 .4rem;min-width:180px;flex-direction:column;gap:0;
  box-shadow:0 8px 24px rgba(0,0,0,.4);z-index:100;
}
nav.main li:hover>ul.sub-menu{display:flex}
nav.main ul.sub-menu li{width:100%}
nav.main ul.sub-menu a{
  display:block;padding:.5rem 1rem;color:var(--text);
  font-size:.9rem;border-radius:0;
}
nav.main ul.sub-menu a:hover{background:rgba(66,192,125,.1);color:var(--accent2);text-decoration:none}

/* third level — flies out to the right */
nav.main ul.sub-menu ul.sub-menu{
  display:none;position:absolute;top:0;left:100%;
  margin-left:4px;
}
nav.main ul.sub-menu li:hover>ul.sub-menu{display:flex}
.btn{display:inline-block;padding:.55rem 1.1rem;border-radius:.5rem;font-weight:600;border:1px solid transparent}
.btn-primary{background:var(--accent);color:var(--accent-ink)!important;text-decoration:none!important}
.btn-primary:hover{background:var(--accent2)}
.btn-ghost{border-color:var(--line);color:var(--text)!important;text-decoration:none!important}
.btn-ghost:hover{border-color:var(--accent)}

/* hero + sections */
.hero{position:relative;overflow:hidden;text-align:center;padding:5rem 0 4rem}
.hero .ripples{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.hero .ripples span{position:absolute;border:1px solid var(--accent);border-radius:50%;opacity:.10}
.hero h1{font-size:clamp(2.3rem,6vw,3.9rem);position:relative}
.hero .lede{max-width:44rem;margin:1rem auto 2rem;font-size:1.2rem;color:var(--muted);position:relative}
.hero .cta{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;position:relative}
.kicker{letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;color:var(--accent);font-weight:700}
section.band{padding:3.5rem 0;border-top:1px solid var(--line)}
.section-head{text-align:center;max-width:42rem;margin:0 auto 2.2rem}
.section-head h2{font-size:clamp(1.6rem,4vw,2.3rem)}
.section-head p{color:var(--muted)}
.grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.card{background:var(--bg2);border:1px solid var(--line);border-radius:.75rem;padding:1.5rem}
.card .ico{width:2.4rem;height:2.4rem;border-radius:.6rem;display:grid;place-items:center;background:rgba(66,192,125,.12);margin-bottom:.7rem;font-size:1.2rem}
.card h3{font-size:1.12rem}.card p{color:var(--muted);margin:.2rem 0 0;font-size:.95rem}
.tiers{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
.tier{background:var(--bg2);border:1px solid var(--line);border-radius:.75rem;padding:1.3rem;text-align:center}
.tier b{display:block;font-family:var(--serif);font-size:1.15rem;color:var(--heading)}
.tier span{color:var(--muted);font-size:.9rem}
.cta-band{background:linear-gradient(180deg,var(--bg2),var(--bg3));text-align:center}

/* content (blog / pages) */
.content{padding:3rem 0}
.post{background:var(--bg2);border:1px solid var(--line);border-radius:.75rem;padding:1.6rem;margin-bottom:1.4rem}
.post h2{font-size:1.5rem}
.post .meta{color:var(--muted);font-size:.85rem;margin-bottom:.8rem}
.post a.more{display:inline-block;margin-top:.6rem;font-weight:600}
.page-title{font-size:clamp(1.7rem,4vw,2.4rem);margin:2.2rem 0 1.2rem}
.entry p{margin:0 0 1rem}
.entry a{color:var(--accent2)}
.pagination{display:flex;gap:.6rem;margin:1.5rem 0}
.pagination a,.pagination span{padding:.4rem .8rem;border:1px solid var(--line);border-radius:.4rem;color:var(--text)}

/* footer */
.site-footer{border-top:1px solid var(--line);padding:2.4rem 0;color:var(--muted);font-size:.9rem;margin-top:2rem}
.site-footer .cols{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center}

/* WP admin bar spacing */
body.admin-bar .site-header{top:32px}

/* ── Support page ───────────────────────────────────────────────────────── */
.te-support-page{max-width:760px;margin:0 auto;padding:3rem 1.25rem}
.te-support-hero{text-align:center;margin-bottom:2.5rem}
.te-support-title{font-size:clamp(2rem,5vw,3rem);color:var(--heading)}
.te-support-lead{font-size:1.1rem;color:var(--muted);max-width:560px;margin:.8rem auto}
.te-support-amounts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem;margin:2rem 0}
.te-support-card{background:var(--bg2);border:1px solid var(--line);border-radius:.75rem;padding:1.4rem 1rem;text-align:center;display:flex;flex-direction:column;gap:.3rem}
.te-support-card strong{font-size:1.4rem;color:var(--heading)}
.te-support-card span{font-size:.85rem;color:var(--muted)}
.te-support-emoji{font-size:1.8rem}
.te-support-cta{text-align:center;margin:2.5rem 0}
.te-support-btn{font-size:1.1rem;padding:1rem 2.5rem}
.te-support-note{margin:.8rem 0 0;font-size:.85rem;color:var(--muted)}
.te-support-what{background:var(--bg2);border:1px solid var(--line);border-radius:.75rem;padding:1.6rem;margin:2rem 0}
.te-support-what h2{margin-bottom:1rem}
.te-support-what ul{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}
.te-support-alt{text-align:center;margin-top:2.5rem;color:var(--muted);font-size:.95rem}

/* ── Commission page ────────────────────────────────────────────────────── */
.te-commission-page{max-width:800px;margin:0 auto;padding:3rem 1.25rem}
.te-commission-hero{text-align:center;margin-bottom:2.5rem}
.te-commission-hero h1{font-size:clamp(1.8rem,4vw,2.8rem)}
.te-commission-lead{font-size:1.05rem;color:var(--muted);max-width:600px;margin:.8rem auto}
.te-commission-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;margin:2rem 0}
.te-commission-item{background:var(--bg2);border:1px solid var(--line);border-radius:.75rem;padding:1.4rem}
.te-commission-item h3{font-size:1.1rem;margin-bottom:.5rem}
.te-commission-item p{margin:0 0 .4rem;font-size:.95rem;color:var(--muted)}
.te-commission-price{color:var(--text) !important;font-size:.95rem !important}
.te-commission-price strong{color:var(--accent2)}
.te-commission-how{background:var(--bg3);border:1px solid var(--line);border-radius:.75rem;padding:1.6rem;margin:2rem 0}
.te-commission-how h2{margin-bottom:1rem}
.te-commission-how ol{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.6rem;color:var(--muted)}
.te-commission-how li strong{color:var(--text)}
.te-commission-form{margin:2.5rem 0}
.te-commission-form h2{margin-bottom:1.2rem}
.te-commission-note{text-align:center;color:var(--muted);font-size:.9rem;margin-top:2rem}

/* ── WPForms — dark theme overrides ────────────────────────────────────────── */
.wpforms-form .wpforms-field-label,
.wpforms-form .wpforms-field-label-inline,
.wpforms-form .wpforms-field-sublabel { color: var(--muted) !important; font-size: .85rem !important; }

.wpforms-form input[type=text],
.wpforms-form input[type=email],
.wpforms-form input[type=tel],
.wpforms-form input[type=url],
.wpforms-form input[type=number],
.wpforms-form input[type=password],
.wpforms-form textarea,
.wpforms-form select {
  background: var(--bg2) !important;
  color: var(--text) !important;
  border: 1px solid var(--line) !important;
  border-radius: .5rem !important;
  box-shadow: none !important;
  padding: .6rem .9rem !important;
  font-size: .95rem !important;
  font-family: var(--sans) !important;
  transition: border-color .15s !important;
}
.wpforms-form input[type=text]:focus,
.wpforms-form input[type=email]:focus,
.wpforms-form input[type=tel]:focus,
.wpforms-form input[type=url]:focus,
.wpforms-form input[type=number]:focus,
.wpforms-form input[type=password]:focus,
.wpforms-form textarea:focus,
.wpforms-form select:focus {
  border-color: var(--accent) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(66,192,125,.15) !important;
}
.wpforms-form input::placeholder,
.wpforms-form textarea::placeholder { color: var(--muted) !important; opacity: 1 !important; }

.wpforms-form select option { background: var(--bg2); color: var(--text); }

.wpforms-form .wpforms-field { margin-bottom: 1.2rem !important; }

.wpforms-form .wpforms-submit-container { margin-top: 1.6rem; }
.wpforms-form .wpforms-submit,
.wpforms-form button[type=submit] {
  background: var(--accent) !important;
  color: var(--accent-ink) !important;
  border: none !important;
  border-radius: .5rem !important;
  padding: .65rem 1.6rem !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background .15s !important;
  box-shadow: none !important;
}
.wpforms-form .wpforms-submit:hover,
.wpforms-form button[type=submit]:hover { background: var(--accent2) !important; color: var(--accent-ink) !important; }

.wpforms-form .wpforms-error-container,
.wpforms-form .wpforms-field .wpforms-error { color: #e05555 !important; font-size: .8rem !important; }

.wpforms-confirmation-container-full { background: var(--bg2) !important; border-color: var(--accent) !important; color: var(--text) !important; border-radius: .75rem !important; }
