/* ============================================================
   TENTIE PSYCHIATRY — theme styles
   Colours, fonts and spacing live in theme.json so they can be
   changed from Appearance > Editor > Styles without touching code.
   This file only covers what theme.json cannot express: the
   header, the footer, and the custom block style variations.
   ============================================================ */

:root{
  --t-paper:#F6F7F5;
  --t-paper-2:#EDF0EC;
  --t-card:#FFFFFF;
  --t-deep:#0E403B;
  --t-deep-2:#124F49;
  --t-brand:#1D6A62;
  --t-ink:#14201D;
  --t-ink-2:#3E4E4A;
  --t-ink-3:#6E7F7A;
  --t-rule:#DBE3DF;
  --t-rule-2:#C2CFCA;
  --t-signal:#A9651B;
  --t-signal-soft:#F7EEE0;
  --t-alert:#8C2F2F;
  --t-alert-soft:#F8E7E5;
  --t-on-deep:#E9F1EE;
  --t-on-deep-2:#A9C6C0;
  --t-serif:"Newsreader", Georgia, "Times New Roman", serif;
  --t-sans:"Karla", "Helvetica Neue", Arial, sans-serif;
  --t-shadow-s:0 1px 2px rgba(20,32,29,.05);
  --t-shadow-m:0 2px 4px rgba(20,32,29,.04), 0 10px 28px -14px rgba(20,32,29,.22);
  --t-shadow-l:0 4px 8px rgba(20,32,29,.05), 0 24px 56px -24px rgba(20,32,29,.3);
  --t-r:4px;
  --t-r-l:8px;
}

body{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
img{ max-width:100%; height:auto; }
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}
:focus-visible{ outline:2.5px solid var(--t-signal); outline-offset:3px; border-radius:2px; }

/* ---------- utility bar ---------- */
.t-topbar{
  background:var(--t-deep); color:var(--t-on-deep-2); font-size:13.5px;
}
.t-topbar a{ color:var(--t-on-deep); text-decoration:none; }
.t-topbar a:hover{ color:#fff; text-decoration:underline; }
.t-topbar p{ color:var(--t-on-deep-2); margin:0; }

/* ---------- header ---------- */
.t-header{
  position:sticky; top:0; z-index:100;
  background:color-mix(in srgb, var(--t-paper) 92%, transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--t-rule);
}
.t-brand{ display:flex; align-items:center; gap:11px; text-decoration:none; }
.t-brand-name{
  font-family:var(--t-serif); font-size:22px; letter-spacing:-.02em;
  color:var(--t-deep-2); line-height:1.05; display:block;
}
.t-brand-sub{
  font-size:9.5px; letter-spacing:.17em; text-transform:uppercase;
  color:var(--t-ink-3); font-weight:600; display:block; margin-top:2px;
}

/* Core navigation block, restyled to match the design */
.t-header .wp-block-navigation{ font-family:var(--t-sans); }
.t-header .wp-block-navigation .wp-block-navigation-item__content{
  font-size:14.5px; font-weight:500; color:var(--t-ink-2);
  padding:9px 13px; border-radius:var(--t-r); text-decoration:none;
}
.t-header .wp-block-navigation .wp-block-navigation-item__content:hover,
.t-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content{
  background:var(--t-paper-2); color:var(--t-deep-2);
}
.wp-block-navigation .wp-block-navigation-submenu__toggle{ color:inherit; }
.wp-block-navigation__submenu-container{
  background:var(--t-card) !important;
  border:1px solid var(--t-rule) !important;
  border-radius:var(--t-r-l);
  box-shadow:var(--t-shadow-l);
  padding:8px !important;
  min-width:250px !important;
}
.wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  font-size:14px; padding:8px 11px !important; border-radius:var(--t-r);
}

/* ---------- crisis strip ---------- */
.t-crisis{
  background:var(--t-alert-soft); border-bottom:1px solid var(--t-rule);
  font-size:13.8px;
}
.t-crisis p{ color:var(--t-ink-2); margin:0; font-size:13.8px; }
.t-crisis strong{ color:var(--t-alert); }
.t-crisis a{ color:var(--t-alert); font-weight:600; }

/* ---------- page head ---------- */
.t-pagehead{
  background:var(--t-paper-2); border-bottom:1px solid var(--t-rule);
}
.t-crumbs, .t-crumbs p{ font-size:12.5px; color:var(--t-ink-3); }
.t-crumbs a{ color:var(--t-ink-3); text-decoration:none; }
.t-crumbs a:hover{ color:var(--t-brand); text-decoration:underline; }
.t-eyebrow{
  font-size:12px !important; font-weight:700; letter-spacing:.15em;
  text-transform:uppercase; color:var(--t-signal) !important;
}
.t-lede{ font-size:1.08rem !important; color:var(--t-ink-2) !important; max-width:62ch; }

/* ---------- hero ---------- */
.t-hero{ border-bottom:1px solid var(--t-rule); }
.t-hero h1{ line-height:1.08; }
.t-hero .wp-block-image img{
  border-radius:var(--t-r-l); box-shadow:var(--t-shadow-m);
  width:100%; aspect-ratio:5/4; object-fit:cover;
}
@media(min-width:940px){ .t-hero .wp-block-image img{ aspect-ratio:1/1; } }

/* ---------- badges ---------- */
.t-badges{ display:flex; flex-wrap:wrap; gap:8px; }
.t-badge{
  font-size:12.5px; font-weight:600; color:var(--t-ink-2);
  background:var(--t-card); border:1px solid var(--t-rule);
  border-radius:999px; padding:5px 13px; display:inline-block;
}

/* ---------- block style: card ---------- */
.wp-block-group.is-style-tentie-card{
  background:var(--t-card); border:1px solid var(--t-rule);
  border-radius:var(--t-r-l); padding:24px; box-shadow:var(--t-shadow-s);
  transition:box-shadow .18s, border-color .18s, transform .18s;
  height:100%;
}
.wp-block-group.is-style-tentie-card:hover{
  box-shadow:var(--t-shadow-m); border-color:var(--t-rule-2);
}
.wp-block-group.is-style-tentie-card h3{
  font-size:1.16rem; color:var(--t-deep-2); font-weight:500; margin-bottom:9px;
}
.wp-block-group.is-style-tentie-card p{ font-size:15px; line-height:1.6; }
.wp-block-group.is-style-tentie-card img{ width:38px; height:38px; margin-bottom:6px; }

/* ---------- block style: notes ---------- */
.wp-block-group.is-style-tentie-note,
.wp-block-group.is-style-tentie-note-alert{
  border-radius:0 var(--t-r) var(--t-r) 0;
  padding:18px 22px;
}
.wp-block-group.is-style-tentie-note{
  background:var(--t-signal-soft); border-left:3px solid var(--t-signal);
}
.wp-block-group.is-style-tentie-note-alert{
  background:var(--t-alert-soft); border-left:3px solid var(--t-alert);
}
.wp-block-group.is-style-tentie-note h4,
.wp-block-group.is-style-tentie-note-alert h4{
  font-family:var(--t-sans); font-size:15px; font-weight:700;
  color:var(--t-ink); margin-bottom:7px;
}
.wp-block-group.is-style-tentie-note p,
.wp-block-group.is-style-tentie-note-alert p{ font-size:15.5px; }

/* ---------- block style: dark panel ---------- */
.wp-block-group.is-style-tentie-panel{
  background:var(--t-deep-2); color:var(--t-on-deep);
  border-radius:var(--t-r-l); padding:24px;
}
.wp-block-group.is-style-tentie-panel h3,
.wp-block-group.is-style-tentie-panel h4{ color:#fff; font-size:1.1rem; font-weight:500; }
.wp-block-group.is-style-tentie-panel p,
.wp-block-group.is-style-tentie-panel li{ color:var(--t-on-deep); font-size:14.5px; }
.wp-block-group.is-style-tentie-panel strong{ color:#fff; }
/* The generic table rule paints a white card background, which would put
   light text on a white box inside the dark panel. Reset it here. */
.wp-block-group.is-style-tentie-panel .wp-block-table table,
.wp-block-group.is-style-tentie-panel table{
  background:transparent; border:0; min-width:0; box-shadow:none;
}
.wp-block-group.is-style-tentie-panel table,
.wp-block-group.is-style-tentie-panel td,
.wp-block-group.is-style-tentie-panel th{
  color:var(--t-on-deep); border-color:rgba(255,255,255,.16); font-size:14.5px;
  background:transparent;
}
.wp-block-group.is-style-tentie-panel td{ padding:7px 0; }
.wp-block-group.is-style-tentie-panel tr:last-child td{ border-bottom:0; }
.wp-block-group.is-style-tentie-panel td:last-child{ text-align:right; font-weight:600; color:#fff; }
.wp-block-group.is-style-tentie-panel .wp-block-button__link{
  background:#fff; color:var(--t-deep); border-color:#fff;
}
.wp-block-group.is-style-tentie-panel .is-style-outline .wp-block-button__link{
  background:transparent; color:#fff; border-color:rgba(255,255,255,.42);
}

/* ---------- block style: tick list ---------- */
.wp-block-list.is-style-tentie-ticks{ list-style:none; padding-left:0; }
.wp-block-list.is-style-tentie-ticks li{
  position:relative; padding-left:30px; margin:12px 0;
  font-size:15.6px; line-height:1.55; color:var(--t-ink-2);
}
.wp-block-list.is-style-tentie-ticks li::before{
  content:""; position:absolute; left:2px; top:7px; width:11px; height:6px;
  border-left:2px solid var(--t-brand); border-bottom:2px solid var(--t-brand);
  transform:rotate(-45deg);
}
@media(min-width:760px){
  .wp-block-list.is-style-tentie-ticks{
    columns:2; column-gap:34px;
  }
  .wp-block-list.is-style-tentie-ticks li{ break-inside:avoid; }
}

/* ---------- block style: chips ---------- */
.wp-block-buttons.is-style-tentie-chips .wp-block-button__link{
  background:var(--t-card) !important; color:var(--t-ink-2) !important;
  border:1px solid var(--t-rule) !important; border-radius:999px !important;
  font-size:14.5px; font-weight:500; padding:8px 16px;
}
.wp-block-buttons.is-style-tentie-chips .wp-block-button__link:hover{
  border-color:var(--t-brand) !important; color:var(--t-deep-2) !important;
  background:var(--t-paper-2) !important;
}

/* ---------- block style: photo placeholder ---------- */
.wp-block-image.is-style-tentie-photo-slot{ position:relative; }
.wp-block-image.is-style-tentie-photo-slot img{
  border:1.5px dashed var(--t-rule-2); border-radius:var(--t-r-l);
  width:100%; object-fit:cover;
}
.wp-block-image.is-style-tentie-photo-slot figcaption{
  font-family:var(--t-sans); font-size:11px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--t-signal); background:var(--t-signal-soft);
  border:1px solid var(--t-rule); border-top:0;
  padding:7px 12px; margin:0; text-align:left;
}

/* ---------- steps ---------- */
.t-steps{ counter-reset:tstep; }
.t-step{ counter-increment:tstep; position:relative; padding-top:46px; }
.t-step::before{
  content:counter(tstep, decimal-leading-zero); position:absolute; top:0; left:0;
  font-family:var(--t-serif); font-size:1.5rem; color:var(--t-signal);
  border-top:2px solid var(--t-signal); padding-top:8px; min-width:44px;
}
.t-step h3{ font-size:1.13rem; margin-bottom:8px; }
.t-step p{ font-size:15px; }

/* ---------- tables ---------- */
.wp-block-table{ overflow-x:auto; }
.wp-block-table table{
  border-collapse:collapse; width:100%; min-width:540px;
  background:var(--t-card);
}
.wp-block-table th,
.wp-block-table td{
  text-align:left; padding:13px 18px; border-bottom:1px solid var(--t-rule);
  border-left:0; border-right:0; border-top:0;
}
.wp-block-table th{
  font-size:11.5px; letter-spacing:.09em; text-transform:uppercase;
  color:var(--t-ink-3); font-weight:700; background:var(--t-paper-2);
}
.wp-block-table td{ color:var(--t-ink-2); }
.wp-block-table td:last-child,
.wp-block-table th:last-child{
  text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap;
}
.wp-block-table td strong{ color:var(--t-ink); }
.wp-block-table tbody tr:last-child td{ border-bottom:0; }
.wp-block-table.is-style-regular table{
  border:1px solid var(--t-rule); border-radius:var(--t-r-l); overflow:hidden;
  box-shadow:var(--t-shadow-s);
}

/* ---------- FAQ (core/details) ---------- */
.wp-block-details{
  border-bottom:1px solid var(--t-rule); padding:0; margin:0;
}
.wp-block-details summary{
  cursor:pointer; list-style:none; padding:18px 40px 18px 0; position:relative;
  font-family:var(--t-serif); font-size:1.14rem; color:var(--t-deep-2); line-height:1.35;
}
.wp-block-details summary::-webkit-details-marker{ display:none; }
.wp-block-details summary::after{
  content:""; position:absolute; right:6px; top:26px; width:11px; height:11px;
  border-right:1.8px solid var(--t-brand); border-bottom:1.8px solid var(--t-brand);
  transform:rotate(45deg); transition:transform .2s;
}
.wp-block-details[open] summary::after{ transform:rotate(-135deg); top:29px; }
.wp-block-details summary:hover{ color:var(--t-brand); }
.wp-block-details > *:not(summary){ padding-right:8px; padding-bottom:6px; }
.wp-block-details > *:last-child{ padding-bottom:22px; }

/* ---------- placeholder marks ---------- */
mark.t-ph, .t-ph{
  background:#FFE9A3; color:#7A4705; font-weight:700;
  border:1px solid #D9A73C; border-radius:2px; padding:0 4px;
  white-space:nowrap;
}

/* ---------- CTA band ---------- */
.t-ctaband{
  position:relative; overflow:hidden;
  background:var(--t-deep); color:var(--t-on-deep);
}
.t-ctaband::before{
  content:""; position:absolute; inset:0; opacity:.5; pointer-events:none;
  background:url("../img/ripple-deep.svg") right center / cover no-repeat;
}
.t-ctaband > *{ position:relative; }
.t-ctaband h2{ color:#fff; max-width:20ch; }
.t-ctaband p{ color:var(--t-on-deep); max-width:52ch; }
.t-ctaband .wp-block-button__link{ background:#fff; color:var(--t-deep); border-color:#fff; }
.t-ctaband .is-style-outline .wp-block-button__link{
  background:transparent; color:#fff; border-color:rgba(255,255,255,.42);
}

/* ---------- reviewed-by ---------- */
.t-reviewed{
  background:var(--t-paper-2); border:1px solid var(--t-rule);
  border-radius:var(--t-r-l); padding:18px 20px;
}
.t-reviewed p{ font-size:14.5px; margin:0; }
.t-reviewed img{ width:52px; height:52px; border-radius:50%; }

/* ---------- footer ---------- */
.t-footer{ background:var(--t-deep); color:var(--t-on-deep-2); font-size:14.5px; }
.t-footer a{ color:var(--t-on-deep); text-decoration:none; }
.t-footer a:hover{ color:#fff; text-decoration:underline; }
.t-footer h2,.t-footer h3,.t-footer h4{
  font-family:var(--t-sans); font-size:11.5px; letter-spacing:.13em;
  text-transform:uppercase; color:#fff; font-weight:700; margin-bottom:14px;
}
.t-footer p, .t-footer li{ color:var(--t-on-deep-2); font-size:14px; line-height:1.7; }
.t-footer .wp-block-navigation{ font-size:14px; }
.t-footer .wp-block-navigation .wp-block-navigation-item__content{ color:var(--t-on-deep); }
.t-footer-crisis{
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
}
.t-footer-crisis p{ color:var(--t-on-deep); font-size:14px; }
.t-footer-crisis strong{ color:#fff; }

/* ---------- landing pages ---------- */
.t-lp-header{ background:var(--t-card); border-bottom:1px solid var(--t-rule); }
.t-lp-form{
  background:var(--t-card); border:1px solid var(--t-rule);
  border-radius:var(--t-r-l); padding:26px; box-shadow:var(--t-shadow-l);
}
.t-lp-foot{ background:var(--t-paper-2); border-top:1px solid var(--t-rule); font-size:13px; }
.t-lp-foot p{ font-size:13px; color:var(--t-ink-3); }

/* ---------- forms ---------- */
.t-form{ display:grid; gap:15px; }
.t-field{ display:grid; gap:6px; }
.t-field label{ font-size:14px; font-weight:600; color:var(--t-ink); }
.t-field input, .t-field select, .t-field textarea{
  font-family:var(--t-sans); font-size:16px; color:var(--t-ink);
  background:var(--t-card); border:1px solid var(--t-rule-2);
  border-radius:var(--t-r); padding:11px 13px; width:100%;
}
.t-field input:focus, .t-field select:focus, .t-field textarea:focus{
  outline:none; border-color:var(--t-brand);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--t-brand) 18%, transparent);
}
.t-field--row{ display:grid; gap:15px; }
@media(min-width:620px){ .t-field--row{ grid-template-columns:1fr 1fr; } }
.t-check{ display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--t-ink-2); }
.t-check input{ width:17px; height:17px; margin-top:2px; flex:none; accent-color:var(--t-deep-2); }
.t-form-note{ font-size:13px; color:var(--t-ink-3); line-height:1.55; }
.t-form-ok{
  display:none; background:var(--t-signal-soft); border-left:3px solid var(--t-signal);
  padding:16px 20px; border-radius:0 var(--t-r) var(--t-r) 0; font-size:15px; color:var(--t-ink-2);
}
.t-form-ok.show{ display:block; }
.t-btn-submit{
  font-family:var(--t-sans); font-size:15.5px; font-weight:600;
  background:var(--t-deep-2); color:#fff; border:1.5px solid var(--t-deep-2);
  border-radius:var(--t-r); padding:13px 24px; cursor:pointer; width:100%;
}
.t-btn-submit:hover{ background:var(--t-deep); }

/* ---------- editor comfort ---------- */
.editor-styles-wrapper .t-ph{ outline:1px dashed #D9A73C; }
