.gytsz-team, .gytsz-personal-booking { --gytsz-ink:#143e65; --gytsz-blue:#2864aa; --gytsz-yellow:#f6c24f; --gytsz-border:#dfe8f1; color:var(--gytsz-ink); font-family:inherit; }
.gytsz-team *, .gytsz-personal-booking * { box-sizing:border-box; }
.gytsz-team { max-width:1200px; margin:0 auto; padding:clamp(20px,4vw,56px) 0; background:transparent; }
.gytsz-team [hidden] { display:none !important; }
.gytsz-team-intro { max-width:760px; margin:0 0 32px; }
.gytsz-team .gytsz-team-eyebrow, .gytsz-personal-booking .gytsz-team-eyebrow { font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--gytsz-blue); padding:0; margin:0 0 12px; }
.gytsz-team-intro h1 { color:var(--gytsz-ink); font-size:clamp(30px,4vw,46px); line-height:1.15; font-weight:800; margin:0 0 18px; padding:0; }
.gytsz-team-intro > p:last-child { font-size:18px; line-height:1.7; color:#52687b; margin:0; padding:0; }
.gytsz-team-search { margin-bottom:28px; }
.gytsz-team-search label { display:block; font-size:15px; font-weight:700; margin-bottom:10px; }
.gytsz-team-search-row { display:flex; gap:10px; align-items:stretch; }
.gytsz-team-search input[type="search"] { flex:1; min-width:0; width:100%; padding:17px 20px; border:1px solid #cbd9e5; border-radius:16px; background:#fff; color:var(--gytsz-ink); font:inherit; font-size:16px; line-height:1.5; }
.gytsz-team-search input:focus { outline:3px solid #2864aa33; outline-offset:2px; border-color:var(--gytsz-blue); }
.gytsz-team-clear { padding:12px 16px; border:1px solid var(--gytsz-border); border-radius:14px; color:var(--gytsz-ink); background:#fff; cursor:pointer; font:inherit; font-size:14px; }
.gytsz-team-status { color:#61778b; font-size:14px; margin:10px 2px 0; padding:0; }
.gytsz-team-regions { display:grid; gap:20px; }
.gytsz-team-region { overflow:hidden; border:1px solid var(--gytsz-border); border-radius:24px; background:#fff; box-shadow:0 8px 28px #143e6509; }
.gytsz-team-region > summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 28px; cursor:pointer; list-style:none; background:#fff; }
.gytsz-team-region > summary::-webkit-details-marker { display:none; }
.gytsz-team-region > summary::marker { content:''; }
.gytsz-team-region > summary:hover { background:#fcfdff; }
.gytsz-team-region > summary:focus-visible, .gytsz-team-card:focus-visible, .gytsz-team-button:focus-visible, .gytsz-team-clear:focus-visible { outline:3px solid var(--gytsz-blue); outline-offset:-4px; }
.gytsz-team-region-text { display:grid; gap:6px; }
.gytsz-team-region-name { font-size:clamp(19px,2.2vw,25px); line-height:1.3; font-weight:800; }
.gytsz-team-region-count { font-size:14px; line-height:1.4; color:#61778b; }
.gytsz-team-toggle { width:42px; height:42px; border-radius:50%; background:#fff5d9; color:var(--gytsz-ink); flex:0 0 42px; display:grid; place-items:center; }
.gytsz-team-toggle::before { content:'+'; font-size:27px; line-height:1; font-weight:400; }
.gytsz-team-region[open] > summary { border-bottom:1px solid var(--gytsz-border); }
.gytsz-team-region[open] .gytsz-team-toggle { background:var(--gytsz-yellow); }
.gytsz-team-region[open] .gytsz-team-toggle::before { content:'−'; }
.gytsz-team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:24px; background:transparent; }
.gytsz-team .gytsz-team-card { display:flex; flex-direction:column; gap:18px; padding:24px 20px; border:1px solid var(--gytsz-border); border-radius:20px; background:#fff; text-decoration:none; color:var(--gytsz-ink); transition:box-shadow .18s,border-color .18s; }
.gytsz-team .gytsz-team-card:hover { border-color:#92b2cf; box-shadow:0 8px 24px #143e6510; }
.gytsz-team-card-head { display:flex; gap:14px; align-items:center; }
.gytsz-team-card-head > div { min-width:0; }
.gytsz-team .gytsz-team-portrait { display:block; width:78px; height:88px; flex:0 0 78px; object-fit:cover; object-position:center 22%; border-radius:16px; margin:0; }
.gytsz-team .gytsz-team-placeholder { display:grid; place-items:center; background:#eef4fa; font-weight:800; font-size:22px; }
.gytsz-team .gytsz-team-card h3 { color:var(--gytsz-ink); font-size:19px; line-height:1.35; font-weight:800; margin:0 0 5px; padding:0; overflow-wrap:anywhere; }
.gytsz-team-card-head p { color:#61778b; font-size:13px; padding:0; margin:0; }
.gytsz-team .gytsz-team-places { font-size:14px; color:#46637c; line-height:1.6; margin:0; padding:0; }
.gytsz-team-tags { display:flex; flex-wrap:wrap; gap:6px; }
.gytsz-team-tags > span { display:inline-block; background:#f3f7fa; color:#46637c; font-size:12px; line-height:1.4; padding:6px 9px; border-radius:9px; }
.gytsz-team-profile-link { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:auto; padding-top:16px; border-top:1px solid #edf1f5; color:var(--gytsz-blue); font-size:14px; font-weight:800; }
.gytsz-team-empty { padding:28px; border:1px solid var(--gytsz-border); border-radius:20px; background:#fff; }
.gytsz-team-empty p { line-height:1.7; margin:0 0 18px; padding:0; }
a.gytsz-team-button { display:inline-flex; align-items:center; justify-content:center; padding:14px 22px; border:0; border-radius:12px; background:#2864aa; color:#fff !important; font-family:inherit; font-size:16px; line-height:1.5; font-weight:700; text-decoration:none !important; cursor:pointer; }
a.gytsz-team-button:hover { background:#1d508b; }
.gytsz-personal-booking { scroll-margin-top:110px; }
.gytsz-personal-heading { margin-bottom:28px; padding:24px 28px; border:1px solid var(--gytsz-border); border-radius:22px; background:#fff; }
.gytsz-personal-heading h2 { color:var(--gytsz-ink); font-size:28px; line-height:1.3; margin:0 0 12px; padding:0; }
.gytsz-personal-heading > p:not(.gytsz-team-eyebrow) { line-height:1.7; margin:0 0 12px; padding:0; }
.gytsz-personal-heading a { color:var(--gytsz-blue); text-decoration:underline; }
.gytsz-booking-areas { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0 0 28px; }
.gytsz-personal-booking .gytsz-booking-area { display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; margin:0; padding:24px; border:1px solid var(--gytsz-border); border-radius:20px; background:#fff; color:var(--gytsz-ink); font:inherit; text-align:left; text-decoration:none; cursor:pointer; appearance:none; box-shadow:0 6px 20px rgba(20,62,101,.05); }
.gytsz-booking-area strong { display:block; font-size:20px; line-height:1.4; overflow-wrap:anywhere; }
.gytsz-booking-area > span:first-child > span { display:block; margin-top:8px; font-size:14px; color:#52687b; }
.gytsz-booking-area > span:last-child { flex:0 0 auto; font-size:26px; color:var(--gytsz-blue); }
.gytsz-personal-booking .gytsz-booking-area:hover { border-color:var(--gytsz-blue); }
.gytsz-personal-booking .gytsz-booking-area:focus-visible { outline:3px solid var(--gytsz-blue); outline-offset:3px; }
.gytsz-personal-heading .gytsz-booking-area-label { font-weight:700; }
.gytsz-personal-heading .gytsz-booking-change { margin:0 0 12px; }
.gytsz-personal-heading .gytsz-booking-change-button { margin:0; padding:0; border:0; background:transparent; color:var(--gytsz-blue); font:inherit; text-align:left; text-decoration:underline; cursor:pointer; }
.gytsz-personal-heading .gytsz-booking-change-button:focus-visible { outline:3px solid var(--gytsz-blue); outline-offset:3px; }
@media (max-width:1000px) { .gytsz-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) {
    .gytsz-team-intro > p:last-child { font-size:16px; }
    .gytsz-team-search-row { flex-direction:column; }
    .gytsz-team-clear { align-self:flex-start; }
    .gytsz-team-region > summary { padding:20px; gap:14px; }
    .gytsz-team-grid { grid-template-columns:1fr; gap:14px; padding:16px; }
    .gytsz-team .gytsz-team-card { padding:22px 18px; }
    .gytsz-team-region { border-radius:20px; }
    .gytsz-personal-heading { padding:22px 20px; }
    .gytsz-booking-areas { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { .gytsz-team-card { transition:none; } }

/* General booking page only: a white, padded location chooser; native later steps retain their theme. */
.gytsz-general-booking { max-width:1040px; margin:0 auto; font-family:inherit; }
.gytsz-general-booking .gytsz-locator-wrap { max-width:100%; }
.gytsz-general-booking .gytsz-at-location,
.gytsz-general-booking .gytsz-at-location .booknetic_appointment_container,
.gytsz-general-booking .gytsz-at-location .booknetic_appointment_container_body,
.gytsz-general-booking .gytsz-at-location .booknetic_need_copy,
.gytsz-general-booking .gytsz-at-location [data-step-id="location"] {
    background:transparent !important;
}
.gytsz-general-booking .gytsz-at-location { width:100% !important; overflow:visible; }
.gytsz-general-booking .gytsz-chooser {
    padding:clamp(20px,3vw,32px); border:1px solid #dfe8f1; border-radius:26px;
    background:#fff; box-shadow:0 10px 32px rgba(20,62,101,.055);
    font-family:inherit; font-size:16px; line-height:1.6;
}
.gytsz-general-booking .gytsz-chooser .gytsz-search { margin:0; padding:0; }
.gytsz-general-booking .gytsz-chooser .gytsz-label { font-size:17px; line-height:1.5; margin:0 0 12px; }
.gytsz-general-booking .gytsz-chooser .gytsz-search-row { gap:12px; align-items:stretch; }
.gytsz-general-booking .gytsz-chooser .gytsz-input {
    min-height:54px; padding:14px 18px; border-radius:14px;
    font-family:inherit; font-size:16px; line-height:1.5;
}
.gytsz-general-booking .gytsz-chooser .gytsz-search-row > .gytsz-button { min-height:54px; padding:14px 24px; border-radius:14px; font-size:15px; }
.gytsz-general-booking .gytsz-chooser .gytsz-regions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:24px 0 0; }
.gytsz-general-booking .gytsz-chooser .gytsz-region {
    display:flex; align-items:center; justify-content:center; min-width:0; min-height:106px;
    padding:24px 20px; border-radius:20px; font-size:clamp(18px,2vw,22px);
    line-height:1.35; font-weight:700; text-align:center;
    box-shadow:0 5px 16px rgba(20,62,101,.06);
}
.gytsz-general-booking .gytsz-chooser .gytsz-result-status { margin:20px 0 0; padding:0; font-size:14px; line-height:1.6; }
.gytsz-general-booking .gytsz-chooser .gytsz-place-results:not(:empty) { margin-top:20px; }
.gytsz-general-booking .gytsz-chooser .gytsz-counties { gap:16px; background:transparent; }
.gytsz-general-booking .gytsz-chooser .gytsz-input:focus-visible,
.gytsz-general-booking .gytsz-chooser .gytsz-button:focus-visible,
.gytsz-general-booking .gytsz-chooser .gytsz-region:focus-visible { outline:3px solid #143e65; outline-offset:3px; }
@media (max-width:600px) {
    .gytsz-general-booking .gytsz-chooser { padding:20px 16px; border-radius:22px; }
    .gytsz-general-booking .gytsz-chooser .gytsz-label { font-size:16px; }
    .gytsz-general-booking .gytsz-chooser .gytsz-search-row { flex-direction:column; gap:10px; }
    .gytsz-general-booking .gytsz-chooser .gytsz-input { flex:0 0 auto; width:100%; }
    .gytsz-general-booking .gytsz-chooser .gytsz-regions { grid-template-columns:1fr; gap:12px; margin-top:20px; }
    .gytsz-general-booking .gytsz-chooser .gytsz-region { min-height:84px; padding:20px 18px; font-size:19px; }
}
