/*
Theme Name: Ego Therapy Bespoke
Theme URI: https://pluginpip.co.uk/
Author: PluginPip Ltd
Author URI: https://pluginpip.co.uk/
Description: Independent bespoke WordPress theme for Ego Therapy. No parent theme dependency.
Version: 0.1.0
Text Domain: ego-therapy-bespoke
*/
:root{
  --et-bg:#eee8dc;
  --et-paper:#f7f3eb;
  --et-ink:#211f1b;
  --et-muted:#6f675e;
  --et-accent:#c4a68f;
  --et-border:rgba(33,31,27,.18);
  --et-max:1280px;
  --et-reading:820px;
  --et-radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--et-bg);color:var(--et-ink);font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.55}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.13em}
img{max-width:100%;height:auto}
.et-shell{width:min(calc(100% - 40px),var(--et-max));margin-inline:auto}
.et-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--et-bg) 93%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--et-border)}
.et-header__inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.et-brand{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:600;text-decoration:none;letter-spacing:-.04em}
.et-nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0;align-items:center}
.et-nav a{text-decoration:none;font-size:1rem}
.et-nav a:hover,.et-nav .current-menu-item>a{text-decoration:underline}
.et-main{min-height:70vh}
.et-content{width:min(calc(100% - 40px),var(--et-reading));margin:0 auto;padding:clamp(58px,8vw,118px) 0}
.et-content--wide{width:min(calc(100% - 40px),var(--et-max))}
h1,h2,h3,h4{font-weight:400;line-height:1.04;letter-spacing:-.035em;margin:0 0 .55em}
h1{font-size:clamp(3.4rem,9vw,8.2rem)}
h2{font-size:clamp(2.4rem,6vw,5.2rem)}
h3{font-size:clamp(1.8rem,4vw,3.1rem)}
p{margin:0 0 1.2em}
.wp-block-image{margin:2.4rem 0}
.wp-block-image img{border-radius:var(--et-radius)}
.wp-block-columns{gap:clamp(28px,5vw,72px)}
.wp-block-column>*:first-child{margin-top:0}
.wp-block-group.alignfull,.alignfull{width:100vw;margin-left:calc(50% - 50vw)}
.wp-block-group.alignwide,.alignwide{width:min(100%,var(--et-max));margin-inline:auto}
.wp-block-button__link,.et-button,button,input[type=submit]{
  display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 28px;border:1px solid var(--et-ink);border-radius:999px;background:var(--et-ink);color:var(--et-bg);text-decoration:none;font:inherit;cursor:pointer
}
.wp-block-button__link:hover,.et-button:hover,button:hover,input[type=submit]:hover{background:transparent;color:var(--et-ink)}
input,textarea,select{width:100%;padding:16px 18px;border:1px solid var(--et-border);border-radius:16px;background:rgba(255,255,255,.3);font:inherit;color:var(--et-ink)}
textarea{min-height:180px}
.et-page-title{padding-top:clamp(44px,7vw,90px)}
.et-footer{border-top:1px solid var(--et-border);padding:50px 0}
.et-footer__inner{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end}
.et-footer__brand{font-size:1.6rem;margin-bottom:8px}
.et-small{font-size:.84rem;color:var(--et-muted)}
.et-mobile-toggle{display:none;border:0;background:transparent;color:var(--et-ink);padding:8px;min-height:auto}
@media(max-width:820px){
  body{font-size:18px}
  .et-header__inner{min-height:76px}
  .et-mobile-toggle{display:inline-flex}
  .et-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--et-bg);border-bottom:1px solid var(--et-border);padding:22px 20px}
  .et-nav.is-open{display:block}
  .et-nav ul{flex-direction:column;align-items:flex-start;gap:15px}
  .et-footer__inner{grid-template-columns:1fr}
}
@media(max-width:900px){
  .et-content--wide section>div[style*="grid-template-columns:minmax"],
  .et-content--wide section[style*="grid-template-columns:repeat(3"],
  .et-content--wide section[style*="grid-template-columns:1fr 1fr"],
  .et-content div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
}

.et-footer__tagline{
  margin-top:4px;
  font-size:1rem;
  color:var(--et-ink);
}
.et-footer__credential{
  margin-top:14px;
  font-size:1rem;
  line-height:1.3;
  font-weight:600;
  letter-spacing:.04em;
  color:var(--et-ink);
}
@media(max-width:820px){
  .et-footer__credential{font-size:1rem}
}

.et-about-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.78fr);
  gap:clamp(34px,6vw,80px);
  align-items:start;
  margin:0 0 clamp(56px,8vw,100px);
}
.et-about-portrait{margin:0}
.et-about-portrait img{
  display:block;
  width:100%;
  aspect-ratio:683/1024;
  object-fit:cover;
  border-radius:30px;
}
@media(max-width:820px){
  .et-about-intro{grid-template-columns:1fr}
}

.et-about-picture{display:block}
.et-about-picture img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:683/1024;
  object-fit:cover;
  border-radius:30px;
}

/* Contact form — bespoke Ego Therapy treatment */
.therapy-form{
  width:100%;
  max-width:820px;
  margin:2.25rem 0 0;
}

.therapy-form .form-row.two-col{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}

.therapy-form .field-group{
  margin:0 0 30px;
}

.therapy-form .field-group > label:not(.field-title){
  display:block;
  margin:10px 0 0 4px;
  font-size:.9rem;
  line-height:1.3;
  color:var(--et-muted);
}

.therapy-form .field-title{
  display:block;
  margin:0 0 14px;
  font-size:1rem;
  line-height:1.45;
  font-weight:600;
  color:var(--et-ink);
}

.therapy-form .wpcf7-form-control-wrap{
  display:block;
  width:100%;
}

.therapy-form input[type="text"],
.therapy-form input[type="email"],
.therapy-form input[type="tel"],
.therapy-form textarea{
  width:100%;
  margin:0;
  border:1px solid var(--et-border);
  border-radius:18px;
  background:rgba(255,255,255,.38);
  color:var(--et-ink);
  font:inherit;
  line-height:1.35;
  outline:none;
  box-shadow:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.therapy-form input[type="text"],
.therapy-form input[type="email"],
.therapy-form input[type="tel"]{
  min-height:58px;
  padding:14px 18px;
}

.therapy-form textarea{
  min-height:190px;
  padding:17px 18px;
  resize:vertical;
  border-radius:22px;
}

.therapy-form input[type="text"]:hover,
.therapy-form input[type="email"]:hover,
.therapy-form input[type="tel"]:hover,
.therapy-form textarea:hover{
  border-color:rgba(33,31,27,.34);
}

.therapy-form input[type="text"]:focus,
.therapy-form input[type="email"]:focus,
.therapy-form input[type="tel"]:focus,
.therapy-form textarea:focus{
  border-color:var(--et-ink);
  background:rgba(255,255,255,.62);
  box-shadow:0 0 0 3px rgba(196,166,143,.24);
}

/* Therapy interest choices */
.therapy-form .wpcf7-checkbox{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.therapy-form .wpcf7-checkbox .wpcf7-list-item{
  display:block;
  margin:0;
}

.therapy-form .wpcf7-checkbox .wpcf7-list-item label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  margin:0;
  padding:10px 15px;
  border:1px solid var(--et-border);
  border-radius:999px;
  background:rgba(255,255,255,.28);
  cursor:pointer;
  line-height:1.2;
}

.therapy-form .wpcf7-checkbox .wpcf7-list-item label:hover{
  border-color:rgba(33,31,27,.38);
  background:rgba(255,255,255,.48);
}

.therapy-form input[type="checkbox"]{
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 19px;
  width:19px;
  height:19px;
  min-width:19px;
  margin:0;
  padding:0;
  border:1.5px solid rgba(33,31,27,.52);
  border-radius:5px;
  background:transparent;
  display:grid;
  place-content:center;
  cursor:pointer;
}

.therapy-form input[type="checkbox"]::before{
  content:"";
  width:9px;
  height:9px;
  transform:scale(0);
  transition:transform .12s ease-in-out;
  background:var(--et-bg);
  clip-path:polygon(14% 44%,0 59%,40% 100%,100% 22%,84% 7%,39% 70%);
}

.therapy-form input[type="checkbox"]:checked{
  background:var(--et-ink);
  border-color:var(--et-ink);
}

.therapy-form input[type="checkbox"]:checked::before{
  transform:scale(1);
}

.therapy-form input[type="checkbox"]:focus-visible{
  outline:2px solid var(--et-ink);
  outline-offset:3px;
}

.therapy-form .wpcf7-list-item-label{
  display:block;
  line-height:1.35;
}

/* Newsletter consent */
.therapy-form .newsletter-check{
  margin-top:6px;
  padding:18px 20px;
  border:1px solid var(--et-border);
  border-radius:18px;
  background:rgba(255,255,255,.2);
}

.therapy-form .newsletter-check .wpcf7-list-item{
  display:block;
  margin:0;
}

.therapy-form .newsletter-check label{
  display:grid;
  grid-template-columns:19px minmax(0,1fr);
  gap:12px;
  align-items:start;
  margin:0;
  cursor:pointer;
}

.therapy-form .newsletter-check input[type="checkbox"]{
  margin-top:3px;
}

.therapy-form .newsletter-check .wpcf7-list-item-label{
  font-size:.95rem;
  line-height:1.5;
  color:var(--et-ink);
}

/* Submit */
.therapy-form .submit-wrap{
  margin-top:8px;
}

.therapy-form input[type="submit"]{
  width:auto;
  min-width:170px;
  min-height:56px;
  margin:0;
  padding:14px 28px;
  border:1px solid var(--et-ink);
  border-radius:999px;
  background:var(--et-ink);
  color:var(--et-bg);
  font:inherit;
  font-weight:500;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}

.therapy-form input[type="submit"]:hover{
  background:transparent;
  color:var(--et-ink);
}

.therapy-form input[type="submit"]:active{
  transform:translateY(1px);
}

.therapy-form .wpcf7-not-valid{
  border-color:#8d3a32 !important;
}

.therapy-form .wpcf7-not-valid-tip{
  display:block;
  margin-top:8px;
  font-size:.85rem;
}

.therapy-form + .wpcf7-response-output,
.wpcf7 .wpcf7-response-output{
  margin:22px 0 0;
  padding:14px 16px;
  border:1px solid var(--et-border);
  border-radius:14px;
  font-size:.95rem;
}

@media(max-width:680px){
  .therapy-form .form-row.two-col{
    grid-template-columns:1fr;
    gap:0;
  }

  .therapy-form .field-group{
    margin-bottom:24px;
  }

  .therapy-form .wpcf7-checkbox{
    flex-direction:column;
    align-items:stretch;
  }

  .therapy-form .wpcf7-checkbox .wpcf7-list-item label{
    width:100%;
    justify-content:flex-start;
  }

  .therapy-form .newsletter-check{
    padding:16px;
  }

  .therapy-form input[type="submit"]{
    width:100%;
  }
}

/* Contact Form 7 hidden metadata must never render as a visible fieldset. */
.wpcf7 .hidden-fields-container{
  display:none !important;
  border:0 !important;
  margin:0 !important;
  padding:0 !important;
}

/* Elsewhere listing cleanup: replaces legacy Genesis Blocks dividers. */
.page-id-8 .wp-block-post-title{
  margin-bottom:.55rem;
}

.page-id-8 .wp-block-post-title a{
  text-decoration:none;
}

.page-id-8 .et-elsewhere-divider{
  height:1px;
  width:100%;
  margin:34px 0 38px;
  background:var(--et-border);
}

.page-id-8 .wp-block-post-template{
  margin:0;
  padding:0;
  list-style:none;
}

.page-id-8 .wp-block-post-template > li{
  margin:0;
  padding:0;
}

.page-id-8 .wp-block-post-excerpt__more-text{
  margin-top:1rem;
}

.page-id-8 .wp-block-post-excerpt__more-link{
  display:inline-block;
}
