/* Rooted directory. Sits inside Beaver Builder rows (band-cream, band-dark) and follows the Rooted
   child theme: Fraunces and Karla, the same form fields as Find care, pill buttons, tags. */
.rdir{--uli:#2a221c;--nzu:#f5eee2;--nzu-deep:#eae0cf;--indigo:#27425a;--madder:#a8443a;--olive:#4d5432;--marigold:#dc9a2c;--paper:#fbf7f0;--hair:rgba(42,34,28,.16);--shadow:0 18px 40px rgba(31,25,20,.12);color:var(--uli);font-family:"Karla",system-ui,sans-serif}
.rdir *,.rdir *::before,.rdir *::after{box-sizing:border-box}
.rdir h1,.rdir h2,.rdir h3{font-family:"Fraunces",Georgia,serif;color:var(--uli);letter-spacing:-.02em;line-height:1.08}
.rdir a:not(.rdir-btn):not(.rdir-card-link){color:var(--madder);text-decoration:none;border-bottom:1px solid rgba(168,68,58,.5)}
.rdir a:not(.rdir-btn):not(.rdir-card-link):hover{background:rgba(168,68,58,.12)}
.rdir :focus-visible{outline:2px solid var(--madder);outline-offset:3px}
.rdir [hidden]{display:none!important}
.rdir p{margin:0 0 1em}
.rdir-fine{font-size:.93rem;line-height:1.6;opacity:.72;margin:1.4rem 0 0!important}
.rdir-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rdir-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Buttons: the site's pill */
.rdir .rdir-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:"Karla",sans-serif;font-size:1rem;font-weight:700;letter-spacing:.06em;text-transform:none;line-height:1.2;color:var(--nzu);background:var(--madder);border:0;border-radius:999px;padding:.95rem 1.9rem;cursor:pointer;text-decoration:none;transition:transform .2s ease,filter .2s ease}
.rdir .rdir-btn:hover{filter:brightness(1.08);transform:translateY(-2px);color:var(--nzu)}
.rdir .rdir-btn-quiet{background:transparent;color:var(--uli);box-shadow:inset 0 0 0 2px var(--uli)}
.rdir .rdir-btn-quiet:hover{color:var(--uli);background:rgba(42,34,28,.06)}
@media (prefers-reduced-motion:reduce){.rdir .rdir-btn,.rdir .rdir-btn:hover{transition:none;transform:none}}

.rdir-banner{background:var(--marigold);color:var(--uli);padding:.85rem 1.1rem;margin:0 0 1.6rem;font-size:.95rem;line-height:1.5;border-radius:2px}
.rdir .rdir-banner a{color:var(--uli);border-bottom-color:var(--uli)}

/* Fields: the same as the Find care and founding forms */
.rdir-filter>span,.rdir-field>label,.rdir-field .rdir-label,.rdir-choices>legend,.rdir-relink label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;margin:0 0 .45rem;padding:0;color:var(--uli)}
.rdir input[type=text],.rdir input[type=email],.rdir input[type=url],.rdir input[type=search],.rdir select,.rdir textarea{width:100%;font-family:"Karla",sans-serif;font-size:1.05rem;line-height:1.45;color:var(--uli);background:var(--nzu-deep);border:2px solid transparent;border-radius:2px;padding:.75rem .85rem;box-shadow:none;margin:0;height:auto;min-height:0;transition:border-color .2s ease,background-color .2s ease}
.rdir select{appearance:none;-webkit-appearance:none;padding-right:2.2rem;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1.5 7 7.5l6-6' fill='none' stroke='%23a8443a' stroke-width='2'/></svg>");background-repeat:no-repeat;background-position:right .9rem center}
.rdir input:hover,.rdir select:hover,.rdir textarea:hover{border-color:rgba(168,68,58,.4);background-color:#e4d8c4}
.rdir input:focus,.rdir select:focus,.rdir textarea:focus{outline:2px solid var(--madder);outline-offset:2px;border-color:var(--madder)}
.rdir ::placeholder{color:var(--uli);opacity:.45}
.rdir textarea{resize:vertical}

/* ===== The directory: search card ===== */
.rdir-search{background:var(--paper);padding:clamp(1.3rem,3vw,2.2rem);border-radius:2px;box-shadow:var(--shadow);margin:0 0 clamp(2rem,4vw,3rem)}
.rdir-filter-row{display:grid;gap:1.1rem 1.2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,13.5rem),1fr))}
.rdir-filter{display:block;margin:0}
.rdir-more{margin-top:1.2rem;border-top:1px solid var(--hair);padding-top:1rem}
.rdir-more summary{cursor:pointer;font-weight:700;display:inline-block;color:var(--madder)}
.rdir-more[open] summary{margin-bottom:1.1rem}
.rdir-search-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;margin-top:1.3rem;padding-top:1.2rem;border-top:1px solid var(--hair)}
.rdir-filter-checks{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem}
.rdir-check{display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;font-weight:600}
.rdir-check input{width:1.2rem;height:1.2rem;margin:0;accent-color:var(--madder)}
.rdir-search-actions{display:flex;align-items:center;gap:1.3rem;margin-left:auto}

/* ===== Results ===== */
.rdir-count-line{font-family:"Fraunces",serif;font-size:1.35rem;font-weight:400;margin:0 0 1.2rem!important}
.rdir-empty{background:var(--nzu-deep);padding:1.2rem 1.4rem;margin:0 0 1.6rem;max-width:46rem;border-left:5px solid var(--marigold)}
.rdir-empty p{margin:.3rem 0!important}
.rdir-cards{list-style:none;margin:0!important;padding:0!important;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr))}
.rdir-card{position:relative;background:var(--paper);padding:clamp(1.3rem,2.4vw,1.8rem);margin:0;display:flex;flex-direction:column;gap:.9rem;border-radius:2px}
.rdir-card::after{content:"";position:absolute;top:0;right:0;width:2.2rem;height:2.2rem;background:var(--marigold);border-radius:0 0 0 2.2rem}
.rdir-card:nth-child(3n+2)::after{background:var(--madder)}
.rdir-card:nth-child(3n+3)::after{background:var(--olive)}
.rdir-card-link{display:flex;gap:1rem;align-items:center;color:var(--uli);text-decoration:none;padding-right:2rem}
.rdir-card-link::before{content:"";position:absolute;inset:0;z-index:1}
.rdir-card-link:hover .rdir-card-name{color:var(--madder)}
.rdir-card-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.rdir-card-name{font-family:"Fraunces",serif;font-size:clamp(1.3rem,1.15rem + .6vw,1.55rem);font-weight:600;line-height:1.1;letter-spacing:-.02em;transition:color .2s ease}
.rdir-card-creds{font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.8}
.rdir-card-where{font-size:.98rem;opacity:.8}
.rdir-card-intro{margin:0!important;font-size:1.02rem;line-height:1.6}
.rdir-card-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 1rem;margin-top:auto;padding-top:.9rem;border-top:1px solid var(--hair);font-size:.88rem}
.rdir-card-formats{opacity:.7}
.rdir-photo{width:72px;height:72px;object-fit:cover;flex:none;border-radius:0 0 36px 0;background:var(--nzu-deep);display:block}
.rdir-initials{display:flex;align-items:center;justify-content:center;font-family:"Fraunces",serif;font-size:1.5rem;color:var(--madder)}
.rdir-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0!important;padding:0!important;list-style:none}
.rdir-chips li{margin:0;font-size:.92rem;font-weight:600;line-height:1.3;padding:.38rem .9rem;border-radius:999px;border:2px solid var(--hair)}
.rdir-chips li:nth-child(4n+1){border-color:var(--marigold)}
.rdir-chips-sm li{font-size:.82rem;padding:.25rem .7rem}
.rdir-accepting{font-weight:700;display:inline-flex;align-items:center;gap:.45rem}
.rdir-accepting::before{content:"";width:.65rem;height:.65rem;border-radius:50%;background:var(--olive)}
.rdir-accepting-waitlist::before{background:var(--marigold)}
.rdir-accepting-no::before{background:transparent;box-shadow:inset 0 0 0 2px var(--uli);opacity:.5}
.rdir-pages{display:flex;gap:6px;flex-wrap:wrap;margin-top:2rem}
.rdir-pages a,.rdir-pages span{min-width:2.8rem;height:2.8rem;display:inline-flex;align-items:center;justify-content:center;background:var(--nzu-deep);border-radius:999px;font-weight:700;border:0!important}
.rdir-pages span{background:var(--uli);color:var(--nzu)}
.rdir-crisis{margin-top:2.4rem!important}

/* ===== One practitioner ===== */
.rdir-profile{max-width:72rem}
.rdir-back{margin:0 0 1.4rem!important;font-weight:700}
.rdir-profile-head{display:flex;gap:clamp(1.2rem,3vw,2.4rem);align-items:center;flex-wrap:wrap;padding-bottom:clamp(1.4rem,3vw,2.2rem);border-bottom:1px solid var(--hair)}
.rdir-photo-lg{width:clamp(120px,20vw,190px);height:clamp(120px,20vw,190px);border-radius:0 0 95px 0;font-size:3rem}
.rdir .rdir-name{font-size:clamp(2.2rem,1.5rem + 2.6vw,3.6rem);font-weight:600;margin:0 0 .5rem}
.rdir-name .rdir-pronouns{font-family:"Karla",sans-serif;font-size:1rem;font-weight:400;letter-spacing:0;opacity:.7;margin-left:.4rem;vertical-align:middle}
.rdir-creds{font-size:.9rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .35rem!important}
.rdir-where{margin:0 0 .8rem!important;opacity:.85}
.rdir-profile-body{display:grid;gap:2rem clamp(2rem,5vw,4.5rem);padding-top:clamp(1.6rem,3vw,2.4rem)}
@media (min-width:56rem){.rdir-profile-body{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}}
.rdir .rdir-profile h2{font-size:clamp(1.3rem,1.15rem + .7vw,1.6rem);font-weight:600;margin:2rem 0 .8rem}
.rdir-profile-side{background:var(--paper);padding:clamp(1.3rem,2.6vw,2rem);border-radius:2px;align-self:start}
.rdir .rdir-profile-side h2{font-family:"Karla",sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:1.5rem 0 .45rem}
.rdir .rdir-profile-side h2:first-child{margin-top:0}
.rdir-profile-side p{margin:0 0 .3rem!important}
.rdir-intro{font-family:"Fraunces",serif;font-weight:300;font-size:clamp(1.3rem,1.1rem + 1vw,1.9rem);line-height:1.32;letter-spacing:-.015em;border-left:5px solid var(--marigold);padding-left:1.2rem;margin:0 0 1.6rem!important}
.rdir-about p{line-height:1.72}
.rdir-words{font-style:italic;margin:.8rem 0 0!important}
.rdir-contact{list-style:none;margin:0!important;padding:0!important}
.rdir-contact li{margin:0 0 .6rem;word-break:break-word}
.rdir-muted{opacity:.75}

/* ===== The practitioner's form ===== */
.rdir-form-layout{display:grid;gap:clamp(1.5rem,3vw,3rem);align-items:start}
@media (min-width:60rem){.rdir-form-layout{grid-template-columns:16rem minmax(0,1fr)}.rdir-form-aside{position:sticky;top:7rem}}
.rdir-hello{font-family:"Fraunces",serif;font-size:1.9rem;font-weight:600;line-height:1.1;letter-spacing:-.02em;margin:0 0 .8rem!important}
.rdir-pill{display:inline-block;background:var(--uli);color:var(--nzu);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.4rem .8rem;border-radius:999px}
.rdir-state{margin:0 0 .6rem!important}
.rdir-state-note{font-size:.95rem;line-height:1.55;opacity:.8}
.rdir-steps-nav{margin:1.6rem 0 1.2rem;border-top:1px solid var(--hair)}
.rdir-steps-nav ol{list-style:none;margin:0;padding:0}
.rdir-steps-nav li{margin:0;border-bottom:1px solid var(--hair)}
.rdir-steps-nav button{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:.75rem;width:100%;padding:.7rem 0;cursor:pointer;font-size:1rem;line-height:1.3}
.rdir-steps-nav button:focus-visible{outline:2px solid var(--madder);outline-offset:2px}
.rdir-steps-nav .rdir-nav-no{flex:none;width:1.8rem;height:1.8rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;box-shadow:inset 0 0 0 2px var(--hair)}
.rdir-steps-nav .is-done .rdir-nav-no{background:var(--olive);color:var(--nzu);box-shadow:none}
.rdir-steps-nav .is-error .rdir-nav-no{background:var(--madder);color:var(--nzu);box-shadow:none}
.rdir-steps-nav .is-current button{font-weight:700}
.rdir-steps-nav .is-current .rdir-nav-no{background:var(--marigold);color:var(--uli);box-shadow:none}
.rdir-aside-links{font-weight:700}
.rdir-note{padding:1rem 1.2rem;margin:0 0 1.2rem;font-weight:700;border-left:5px solid var(--olive);background:var(--paper);border-radius:2px}
.rdir-note-warn{border-left-color:var(--madder)}
.rdir-note:focus{outline:none}

.rdir-step{background:var(--paper);padding:clamp(1.4rem,3.4vw,2.6rem);border-radius:2px;box-shadow:var(--shadow);margin:0 0 1.2rem}
.rdir-step-head{display:flex;gap:1rem;align-items:flex-start;margin:0 0 1.8rem;padding-bottom:1.3rem;border-bottom:1px solid var(--hair)}
.rdir-step-no{flex:none;width:2.6rem;height:2.6rem;border-radius:0 0 1.3rem 0;background:var(--marigold);color:var(--uli);display:flex;align-items:center;justify-content:center;font-family:"Fraunces",serif;font-size:1.3rem;font-weight:600}
.rdir .rdir-step-title{font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);font-weight:600;margin:0 0 .35rem}
.rdir-step-intro{margin:0!important;opacity:.8;line-height:1.55;max-width:40rem}
.rdir-step-error .rdir-step-no{background:var(--madder);color:var(--nzu)}
.rdir-field{margin:0 0 1.6rem}
.rdir-field:last-child{margin-bottom:0}
.rdir-req{font-weight:400;text-transform:none;letter-spacing:0;color:var(--madder);margin-left:.35rem}
.rdir-hint{display:block;font-size:.93rem;line-height:1.5;opacity:.72;margin:-.15rem 0 .6rem}
.rdir-count{display:block;text-align:right;font-size:.8rem;opacity:.55;margin-top:.3rem;min-height:1em}
.rdir-error{display:block;color:var(--madder);font-weight:700;font-size:.95rem;margin-top:.45rem}
.rdir-has-error input,.rdir-has-error select,.rdir-has-error textarea{border-color:var(--madder)}
.rdir-choices{border:0;padding:0;margin:0;min-width:0}
.rdir-has-error .rdir-chip-row{box-shadow:-12px 0 0 -9px var(--madder)}
.rdir-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:0 0 1.6rem}
.rdir-pair .rdir-field{margin:0}
.rdir-pair-wide{grid-template-columns:2fr 1fr}
.rdir-money{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.1rem}
.rdir-money input{max-width:9rem}
.rdir-field-text[data-key$="_other"]{margin-top:-.4rem}

/* Choices as pills (real checkboxes and radios underneath) */
.rdir-chip-row{display:flex;flex-wrap:wrap;gap:8px}
.rdir-chip{position:relative;display:inline-flex;margin:0;cursor:pointer}
.rdir-chip input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.rdir-chip span{display:inline-flex;align-items:center;gap:.4rem;font-size:.97rem;font-weight:600;line-height:1.25;padding:.55rem 1.05rem;border-radius:999px;border:2px solid var(--hair);background:transparent;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.rdir-chip:hover span{border-color:var(--madder)}
.rdir-chip input:checked+span{background:var(--uli);border-color:var(--uli);color:var(--nzu)}
.rdir-chip input:checked+span::before{content:"";width:.5rem;height:.85rem;border:solid var(--marigold);border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translateY(-2px);margin-right:.15rem}
.rdir-chip input:focus-visible+span{outline:2px solid var(--madder);outline-offset:3px}
.rdir-chip-filter{margin:0 0 .9rem!important;max-width:24rem}
.rdir-no-match{font-size:.95rem;opacity:.7;margin:.4rem 0 0!important}
.rdir-group{border-top:1px solid var(--hair)}
.rdir-group:last-of-type{border-bottom:1px solid var(--hair)}
.rdir-group summary{cursor:pointer;padding:.8rem 0;font-weight:700;display:flex;align-items:center;gap:.6rem;list-style:none}
.rdir-group summary::-webkit-details-marker{display:none}
.rdir-group summary::before{content:"";width:.5rem;height:.5rem;border:solid var(--madder);border-width:0 2px 2px 0;transform:rotate(-45deg);transition:transform .15s ease;margin-right:.2rem}
.rdir-group[open] summary::before{transform:rotate(45deg)}
.rdir-group .rdir-chip-row{padding:0 0 1rem}
.rdir-picked{font-weight:600;font-size:.8rem;background:var(--marigold);color:var(--uli);padding:.15rem .55rem;border-radius:999px}

/* Single yes/no as a switch */
.rdir-toggle{display:flex;align-items:flex-start;gap:.8rem;cursor:pointer;position:relative;font-weight:600;line-height:1.45;margin:0}
.rdir-toggle input{position:absolute;opacity:0;width:2.8rem;height:1.6rem;margin:0;cursor:pointer}
.rdir-toggle-box{flex:none;width:2.8rem;height:1.6rem;border-radius:999px;background:var(--nzu-deep);box-shadow:inset 0 0 0 2px var(--hair);position:relative;transition:background-color .15s ease}
.rdir-toggle-box::after{content:"";position:absolute;top:.25rem;left:.25rem;width:1.1rem;height:1.1rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s ease}
.rdir-toggle input:checked+.rdir-toggle-box{background:var(--olive);box-shadow:none}
.rdir-toggle input:checked+.rdir-toggle-box::after{transform:translateX(1.2rem)}
.rdir-toggle input:focus-visible+.rdir-toggle-box{outline:2px solid var(--madder);outline-offset:3px}
.rdir-toggle-text{padding-top:.1rem}
.rdir-toggle-text .rdir-req{display:none}
.rdir-field-check+.rdir-field-check{margin-top:-.6rem}

/* Photo */
.rdir-photo-row{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}
.rdir-photo-now,.rdir-photo-none{width:104px;height:104px;object-fit:cover;border-radius:0 0 52px 0;background:var(--nzu-deep);display:block}
.rdir-photo-actions{display:flex;flex-direction:column;gap:.7rem;align-items:flex-start}
.rdir-file{position:relative;display:inline-flex;cursor:pointer}
.rdir-file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.rdir-file span{display:inline-flex;font-weight:700;padding:.6rem 1.2rem;border-radius:999px;box-shadow:inset 0 0 0 2px var(--uli)}
.rdir-file input:focus-visible+span{outline:2px solid var(--madder);outline-offset:3px}
.rdir-file-name{font-size:.9rem;opacity:.75}

/* The bar of buttons under the form */
.rdir-actions{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;padding:1rem 0;margin-top:.4rem;background:var(--nzu);border-top:1px solid var(--hair)}
.rdir-actions .rdir-next,.rdir-actions .rdir-send{margin-left:auto}
.rdir-actions .rdir-next+.rdir-send{margin-left:0}

/* Ask for a new link */
.rdir-relink-card{background:var(--paper);padding:clamp(1.5rem,3.4vw,2.6rem);border-radius:2px;box-shadow:var(--shadow);max-width:38rem}
.rdir-relink-title{font-family:"Fraunces",serif;font-size:1.7rem;font-weight:600;line-height:1.15;letter-spacing:-.02em;margin:0 0 .6rem!important}
.rdir-relink{margin-top:1.2rem}
.rdir-inline{display:flex;flex-wrap:wrap;gap:.7rem}
.rdir-inline input{flex:1 1 15rem}

@media (max-width:40rem){
	.rdir-pair,.rdir-pair-wide{grid-template-columns:1fr}
	.rdir-actions .rdir-btn{flex:1 1 auto}
	.rdir-search-actions{width:100%}
	.rdir-search-actions .rdir-btn{flex:1}
}

/* The theme styles every link in page content (red, underlined); these are not body-copy links. */
.rdir a.rdir-card-link,.rdir a.rdir-card-link:hover{color:var(--uli)!important;border-bottom:0!important;background:none!important;padding-bottom:0!important}
.rdir a.rdir-btn,.rdir a.rdir-btn:hover{color:var(--nzu)!important;border-bottom:0!important;padding:.95rem 1.9rem!important}
.rdir-pages a{color:var(--uli)!important;border-bottom:0!important}

/* Phones and tablets: the step list becomes a row of numbered dots above the form. */
@media (max-width:59.99rem){
	.rdir-form-aside{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.4rem 1rem}
	.rdir-hello{font-size:1.5rem;margin:0!important}
	.rdir-state{margin:0!important;justify-self:end}
	.rdir-state-note{grid-column:1/-1;margin:0!important}
	.rdir-steps-nav{grid-column:1/-1;margin:.6rem 0 0;border:0}
	.rdir-steps-nav ol{display:flex;gap:6px}
	.rdir-steps-nav li{border:0;flex:1}
	.rdir-steps-nav button{justify-content:center;padding:.15rem 0}
	.rdir-steps-nav .rdir-nav-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
	.rdir-aside-links{grid-column:1/-1;margin:.3rem 0 0!important;font-size:.95rem}
}
