/* Scoped to the shortcode: header, footer and existing pages keep their styles. */
.tpx-onboarding {width:100%;background:#f5f5f2;color:#111;font:16px/1.5 Arial,Helvetica,sans-serif;}
.tpx-onboarding *, .tpx-onboarding *::before, .tpx-onboarding *::after {box-sizing:border-box;}
.tpx-onboarding [hidden] {display:none!important;}
.tpx-onboarding svg {display:inline-block;width:24px;height:24px;flex-shrink:0;}
.tpx-onboarding button,.tpx-onboarding input,.tpx-onboarding textarea,.tpx-onboarding select {font:inherit;letter-spacing:normal;}
.tpx-onboarding button {cursor:pointer;border-radius:0;}
.tpx-onboarding button:disabled {cursor:default;opacity:.55;}
.tpx-onboarding .section-wrap {width:min(1180px,calc(100% - 48px));margin-inline:auto;}
.tpx-onboarding :is(h1,h2,h3,strong) {font-weight:800;color:inherit;}
.tpx-onboarding p{padding:0;}
.tpx-onboarding label {margin:0;min-width:0;}
.tpx-onboarding input {min-width:0;padding:0 12px;}
.tpx-onboarding input[type=checkbox] {padding:0;appearance:auto;}
.tpx-onboarding .back-link {display:inline-block;font-size:14px;text-decoration:none;}
.tpx-onboarding .studio-onboarding-page { padding-block: 64px 108px; }
.tpx-onboarding .studio-onboarding-intro { max-width: 920px; }
.tpx-onboarding .studio-onboarding-intro h1, .tpx-onboarding .studio-onboarding-success h1 { margin: 0; font-size: clamp(48.0px, 6.5vw, 92.8px); line-height: .92; letter-spacing: -.07em; }
.tpx-onboarding .studio-onboarding-intro > p:last-child { max-width: 720px; margin: 22px 0 0; color: #666; font-size: 16.48px; line-height: 1.7; }
.tpx-onboarding .studio-path-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 42px 0 34px; }
.tpx-onboarding .studio-path-choice > button { position: relative; min-height: 155px; display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 17px; padding: 25px; border: 1px solid #d8d8d3; background: #fff; color: inherit; text-align: left; }
.tpx-onboarding .studio-path-choice > button:hover { border-color: #ed167d; }
.tpx-onboarding .studio-path-choice > button.active { border-color: #111; background: #111; color: #fff; }
.tpx-onboarding .studio-path-choice > button > svg:first-child { width: 29px; height: 29px; color: #ed167d; }
.tpx-onboarding .studio-path-choice > button > svg:last-child { position: absolute; top: 18px; right: 18px; width: 20px; color: #ed167d; opacity: 0; }
.tpx-onboarding .studio-path-choice > button.active > svg:last-child { opacity: 1; }
.tpx-onboarding .studio-path-choice span { color: #bd0d5e; text-transform: uppercase; letter-spacing: .12em; font-size: 9.92px; font-weight: 900; }
.tpx-onboarding .studio-path-choice button.active span { color: #ff5cab; }
.tpx-onboarding .studio-path-choice h2 { margin: 7px 0 8px; font-size: 21.6px; letter-spacing: -.035em; }
.tpx-onboarding .studio-path-choice p { margin: 0; color: #747474; font-size: 13.12px; line-height: 1.55; }
.tpx-onboarding .studio-path-choice button.active p { color: #aaa; }
.tpx-onboarding .studio-onboarding-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: start; gap: 34px; }
.tpx-onboarding .studio-onboarding-form { padding: 38px; background: #fff; border-top: 5px solid #111; }
.tpx-onboarding .studio-onboarding-form label > span, .tpx-onboarding .studio-onboarding-form fieldset > legend { display: block; margin-bottom: 8px; color: #626262; text-transform: uppercase; letter-spacing: .1em; font-size: 10.88px; font-weight: 900; }
.tpx-onboarding .studio-onboarding-form input:not([type="checkbox"]):not([type="file"]), .tpx-onboarding .studio-onboarding-form textarea { width: 100%; border: 1px solid #cfcfcb; border-radius: 0; background: #fff; box-shadow: none; }
.tpx-onboarding .studio-onboarding-form input:not([type="checkbox"]):not([type="file"]) { height: 48px; }
.tpx-onboarding .studio-onboarding-form textarea { padding: 13px; resize: vertical; }
.tpx-onboarding .studio-onboarding-form select { width: 100%; height: 48px; padding-inline: 12px; border: 1px solid #cfcfcb; background: #fff; color: #222; }
.tpx-onboarding .studio-service-choice { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; border: 0; }
.tpx-onboarding .studio-service-choice > legend { width: 100%; }
.tpx-onboarding .studio-service-choice label { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 15px; border: 1px solid #d6d6d1; background: #fafaf8; }
.tpx-onboarding .studio-service-choice label input { width: 18px; height: 18px; accent-color: #ed167d; }
.tpx-onboarding .studio-service-choice label span { margin: 0; color: #333; text-transform: none; letter-spacing: 0; font-size: 13.44px; font-weight: 700; }
.tpx-onboarding .studio-inline-check { display: flex; align-items: flex-start; gap: 10px; margin-top: 19px; color: #626262; font-size: 12.64px; line-height: 1.55; }
.tpx-onboarding .studio-inline-check input { width: 18px; height: 18px; margin-top: 2px; accent-color: #ed167d; flex: 0 0 18px; }
.tpx-onboarding .studio-onboarding-form .studio-inline-check > span { margin: 0; color: #626262; text-transform: none; letter-spacing: 0; font-size: 12.64px; font-weight: 400; }
.tpx-onboarding .studio-inline-check.required-check { margin-top: 12px; padding: 14px; background: #f4f4f1; }
.tpx-onboarding .profile-subsection-heading { display: flex; align-items: center; gap: 14px; margin: 34px 0 17px; padding-top: 29px; border-top: 1px solid #deded9; }
.tpx-onboarding .profile-subsection-heading > svg { width: 25px; height: 25px; color: #ed167d; }
.tpx-onboarding .profile-subsection-heading h3 { margin: 0; font-size: 17.6px; }
.tpx-onboarding .profile-subsection-heading p { margin: 4px 0 0; color: #6b6b6b; font-size: 12.0px; }
.tpx-onboarding .opening-hours-editor { border: 1px solid #deded9; }
.tpx-onboarding .opening-hours-row { display: grid; grid-template-columns: 105px minmax(150px, 1fr) 105px 105px; align-items: center; gap: 10px; min-height: 73px; padding: 11px 14px; border-top: 1px solid #e8e8e4; }
.tpx-onboarding .opening-hours-row:first-child { border-top: 0; }
.tpx-onboarding .opening-hours-row strong { font-size: 12.8px; }
.tpx-onboarding .opening-hours-row label > span { margin-bottom: 3px; font-size: 8.8px; }
.tpx-onboarding .opening-hours-row label input { height: 40px !important; }
.tpx-onboarding .opening-hours-row select { height: 40px; }
.tpx-onboarding .opening-hours-note { display: block; margin-top: 15px; }
.tpx-onboarding .studio-upload-intro { max-width: 710px; margin: -3px 0 23px; color: #6b6b6b; font-size: 13.76px; line-height: 1.65; }
.tpx-onboarding .studio-upload-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.tpx-onboarding .profile-upload { min-width: 0; }
.tpx-onboarding .profile-upload > label { position: relative; display: grid; place-items: center; height: 205px; overflow: hidden; border: 1px dashed #bdbdb7; background: #fafaf8; cursor: pointer; }
.tpx-onboarding .profile-upload > label:hover, .tpx-onboarding .profile-upload > label:focus-within { border-color: #ed167d; background: #fff5fa; }
.tpx-onboarding .profile-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.tpx-onboarding .profile-upload img { width: 100%; height: 100%; object-fit: cover; }
.tpx-onboarding .profile-upload label > div { display: grid; justify-items: center; padding: 20px; text-align: center; }
.tpx-onboarding .profile-upload label > div svg { width: 29px; color: #ed167d; }
.tpx-onboarding .profile-upload label > div strong { margin-top: 12px; font-size: 13.44px; }
.tpx-onboarding .profile-upload label > div span { margin-top: 6px; color: #888; font-size: 10.88px; }
.tpx-onboarding .profile-upload > p { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; overflow: hidden; color: #666; font-size: 11.04px; text-overflow: ellipsis; white-space: nowrap; }
.tpx-onboarding .profile-upload > p svg { width: 14px; color: #ed167d; flex: 0 0 auto; }
.tpx-onboarding .profile-upload > small { display: block; margin-top: 7px; color: #b30c4f; font-size: 10.88px; font-weight: 700; }
.tpx-onboarding .team-editor-list, .tpx-onboarding .award-editor-list { display: grid; gap: 14px; }
.tpx-onboarding .team-editor-card, .tpx-onboarding .award-editor-card { position: relative; padding: 20px; border: 1px solid #deded9; background: #fafaf8; }
.tpx-onboarding .editor-card-number { display: flex; align-items: center; gap: 7px; margin-bottom: 15px; color: #bd0d5e; text-transform: uppercase; letter-spacing: .11em; font-size: 10.08px; font-weight: 900; }
.tpx-onboarding .editor-card-number svg { width: 16px; }
.tpx-onboarding .team-editor-card { display: grid; grid-template-columns: 180px 1fr; gap: 20px; }
.tpx-onboarding .team-editor-card > .editor-card-number { grid-column: 1 / -1; margin-bottom: 0; }
.tpx-onboarding .team-editor-card .profile-upload > label { height: 270px; }
.tpx-onboarding .team-editor-fields, .tpx-onboarding .award-editor-fields { display: grid; grid-template-columns: 1fr 1fr; align-content: start; gap: 16px; }
.tpx-onboarding .award-editor-layout { display: grid; grid-template-columns: 180px 1fr; gap: 20px; }
.tpx-onboarding .award-editor-layout .profile-upload > label { height: 235px; }
.tpx-onboarding .repeatable-toolbar { display: flex; align-items: center; gap: 18px; margin-top: 14px; }
.tpx-onboarding .repeatable-toolbar > button:first-child { min-height: 44px; border-radius: 1px; background: #fff; font-weight: 800; }
.tpx-onboarding .repeatable-toolbar > button:last-child:not(:first-child) { border: 0; background: transparent; color: #6b6b6b; font-size: 12.0px; font-weight: 700; text-decoration: underline; }
.tpx-onboarding .studio-onboarding-submit { min-height: 51px; margin-top: 25px; border-radius: 1px; padding-inline: 22px; font-weight: 800; }
.tpx-onboarding .studio-onboarding-aside { position: sticky; top: 28px; padding: 30px; background: #fff0f7; border-top: 5px solid #ed167d; }
.tpx-onboarding .studio-onboarding-aside > svg { width: 42px; height: 42px; margin-bottom: 20px; color: #ed167d; }
.tpx-onboarding .studio-onboarding-aside h2 { margin: 0; font-size: 32.0px; line-height: 1; letter-spacing: -.045em; }
.tpx-onboarding .studio-onboarding-aside > p:not(.kicker) { margin: 18px 0 25px; color: #735569; font-size: 13.44px; line-height: 1.65; }
.tpx-onboarding .profile-comparison { display: grid; gap: 10px; }
.tpx-onboarding .profile-comparison section { padding: 18px; background: #fff; }
.tpx-onboarding .profile-comparison section:last-child { background: #111; color: #fff; }
.tpx-onboarding .profile-comparison section > span { color: #bd0d5e; text-transform: uppercase; letter-spacing: .11em; font-size: 9.76px; font-weight: 900; }
.tpx-onboarding .profile-comparison section:last-child > span { color: #ff5cab; }
.tpx-onboarding .profile-comparison section > strong { display: block; margin-top: 5px; font-size: 14.4px; }
.tpx-onboarding .profile-comparison ul { display: grid; gap: 7px; margin: 14px 0 0; padding: 0; list-style: none; }
.tpx-onboarding .profile-comparison li { display: flex; align-items: flex-start; gap: 7px; color: #666; font-size: 11.52px; line-height: 1.45; }
.tpx-onboarding .profile-comparison section:last-child li { color: #aaa; }
.tpx-onboarding .profile-comparison li svg { width: 15px; color: #ed167d; flex: 0 0 auto; }
.tpx-onboarding .studio-onboarding-aside > small { display: block; margin-top: 20px; color: #997185; font-size: 10.88px; }
.tpx-onboarding .studio-onboarding-success { max-width: 890px; margin: 10px auto 0; padding: 70px; background: #fff; border-top: 6px solid #ed167d; text-align: center; }
.tpx-onboarding .studio-onboarding-success > svg { width: 66px; height: 66px; margin-bottom: 22px; color: #ed167d; }
.tpx-onboarding .studio-onboarding-success > p:not(.kicker) { max-width: 680px; margin: 24px auto; color: #666; line-height: 1.7; }
.tpx-onboarding .studio-onboarding-success small { display: block; margin-top: 19px; color: #999; font-size: 11.2px; }
.tpx-onboarding .form-section { display: flex; align-items: center; gap: 18px; margin-bottom: 26px; }
.tpx-onboarding .form-section.divided { margin-top: 45px; padding-top: 38px; border-top: 1px solid #deded9; }
.tpx-onboarding .form-step { display: grid; place-items: center; width: 48px; height: 48px; background: #111; color: #fff; font-weight: 900; }
.tpx-onboarding .form-section .kicker { margin-bottom: 4px; }
.tpx-onboarding .form-section h2 { margin: 0; font-size: 24.8px; letter-spacing: -.035em; }
.tpx-onboarding .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 21px; }
.tpx-onboarding .full-field { grid-column: 1 / -1; }
.tpx-onboarding .kicker { margin: 0 0 9px; color: #c60d65; text-transform: uppercase; letter-spacing: .16em; font-size: 11.52px; font-weight: 900; }
.tpx-onboarding .back-link { margin-bottom: 34px; color: #666; }

.tpx-onboarding .tpx-honeypot {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.tpx-onboarding .tpx-message {padding:18px;border:1px solid #b00046;background:#fff1f5;margin-bottom:28px;font-size:15px;color:#73002e;}
.tpx-onboarding .tpx-message p {margin:0;}
.tpx-onboarding .tpx-message ul {padding-left:20px;margin-bottom:0;}
.tpx-onboarding [aria-invalid=true] {border-color:#b00046!important;}
.tpx-onboarding .tpx-field-error {outline:4px solid #ed167d!important;outline-offset:2px;scroll-margin-block:100px;}
.tpx-onboarding .tpx-field-help {display:block;grid-column:1/-1;flex-basis:100%;margin:10px 0 0;color:#a80750;font-size:13px;font-weight:700;line-height:1.5;text-transform:none;letter-spacing:0;white-space:normal;}
.tpx-onboarding .studio-inline-check.tpx-field-error {flex-wrap:wrap;}
.tpx-onboarding .studio-inline-check.tpx-field-error>span {flex:1;}
.tpx-onboarding .tpx-message {border-left:6px solid #ed167d;scroll-margin-block:100px;}
.tpx-onboarding .tpx-error-link {display:inline-block;max-width:100%;padding:4px 0;border:0;background:none;color:#a80750;font-size:14px;line-height:1.5;font-weight:700;text-align:left;white-space:normal;text-decoration:underline;}
.tpx-onboarding .tpx-trap-help {padding:18px;margin:0 0 28px;background:#fff1f5;border:1px solid #ed167d;scroll-margin-block:100px;}
.tpx-onboarding .tpx-trap-help p {font-size:14px;margin:10px 0 16px;}
.tpx-onboarding .tpx-trap-help button {background:#fff;white-space:normal;max-width:100%;}
.tpx-onboarding :focus-visible {outline:2px solid #bd0d5e;outline-offset:3px;}
.tpx-onboarding .studio-onboarding-intro h1 {font-weight:900;}
.tpx-onboarding .studio-onboarding-form {min-width:0;margin:0;}
.tpx-onboarding .form-step {flex:0 0 48px;}
.tpx-onboarding .form-grid>* {min-width:0;}
.tpx-onboarding .studio-onboarding-form label>span,.tpx-onboarding .studio-onboarding-form fieldset>legend {font-size:12px;letter-spacing:.055em;}
.tpx-onboarding .studio-onboarding-form .studio-inline-check>span {font-size:14px;letter-spacing:0;}
.tpx-onboarding .studio-onboarding-form .studio-inline-check {margin-top:19px;}
.tpx-onboarding .studio-onboarding-form .studio-inline-check.required-check {margin-top:12px;}
.tpx-onboarding .studio-onboarding-form .studio-service-choice label>span {margin:0;letter-spacing:0;text-transform:none;font-size:14px;}
.tpx-onboarding .opening-hours-row {grid-template-columns:78px minmax(128px,1fr) 90px 90px;gap:8px;padding:11px 10px;}
.tpx-onboarding .opening-hours-row label>span {font-size:10px;}
.tpx-onboarding .opening-hours-row input {padding-inline:4px;}
.tpx-onboarding .opening-hours-row select {padding-inline:6px;font-size:13px;}
.tpx-onboarding .team-editor-card,.tpx-onboarding .award-editor-layout {grid-template-columns:140px minmax(0,1fr);gap:16px;}
.tpx-onboarding .team-editor-fields,.tpx-onboarding .award-editor-fields {grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.tpx-onboarding .tpx-outline {padding:10px 14px;border:1px solid #bbb;font-size:14px;}
.tpx-onboarding .studio-onboarding-submit {display:inline-flex;align-items:center;justify-content:center;gap:12px;background:#dc1474;color:#fff;border:0;font-size:15px;line-height:1.5;text-decoration:none;padding:13px 20px;}
.tpx-onboarding .studio-onboarding-submit:hover {background:#c60d65;}
.tpx-onboarding .studio-onboarding-submit span {text-align:left;}
.tpx-onboarding .profile-upload input[type=file] {pointer-events:auto;}
.tpx-onboarding .profile-upload img {position:absolute;inset:0;margin:0;pointer-events:none;}
.tpx-onboarding .profile-upload .upload-clear {background:none;border:0;text-decoration:underline;color:#666;font-size:12px;padding:6px 0;}
.tpx-onboarding .tpx-required-note {margin:0 0 24px;color:#666;font-size:13px;}
.tpx-onboarding .tpx-upload-limits,.tpx-onboarding .tpx-privacy {font-size:13px;line-height:1.6;color:#666;margin:14px 0 20px;}
.tpx-onboarding .tpx-privacy a {color:#b30c4f;text-decoration:underline;}
.tpx-onboarding .studio-path-choice button,.tpx-onboarding .studio-onboarding-aside h2 {text-transform:none;}
.tpx-onboarding .studio-path-choice button {line-height:1.4;}
@media(max-width:1100px){
.tpx-onboarding .studio-onboarding-layout {grid-template-columns:minmax(0,1fr);}
.tpx-onboarding .studio-onboarding-aside {position:static;}
.tpx-onboarding .opening-hours-row {grid-template-columns:105px minmax(150px,1fr) 105px 105px;}
.tpx-onboarding .team-editor-card,.tpx-onboarding .award-editor-layout {grid-template-columns:180px minmax(0,1fr);}
}
@media(max-width:767px){
.tpx-onboarding .section-wrap {width:calc(100% - 36px);}
.tpx-onboarding .studio-onboarding-page {padding-block:40px 70px;}
.tpx-onboarding .studio-onboarding-intro h1,.tpx-onboarding .studio-onboarding-success h1 {font-size:clamp(38px,8vw,52px);}
.tpx-onboarding .studio-path-choice {grid-template-columns:1fr;margin-top:32px;}
.tpx-onboarding .studio-path-choice>button {min-height:135px;padding:22px;}
.tpx-onboarding .studio-onboarding-form {padding:28px 20px;}
.tpx-onboarding .studio-upload-grid {grid-template-columns:1fr;}
.tpx-onboarding .opening-hours-row {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px 12px;padding:14px;}
.tpx-onboarding .opening-hours-row select {font-size:14px;}
.tpx-onboarding .opening-hours-row input {padding-inline:8px;}
.tpx-onboarding .team-editor-card,.tpx-onboarding .award-editor-layout,.tpx-onboarding .team-editor-fields,.tpx-onboarding .award-editor-fields {grid-template-columns:minmax(0,1fr);}
.tpx-onboarding .team-editor-fields .full-field,.tpx-onboarding .award-editor-fields .full-field {grid-column:auto;}
.tpx-onboarding .repeatable-toolbar {align-items:flex-start;flex-direction:column;gap:12px;}
.tpx-onboarding .repeatable-toolbar>button:first-child {width:100%;}
.tpx-onboarding .studio-onboarding-submit {width:100%;}
.tpx-onboarding .studio-onboarding-success {padding:45px 22px;}
.tpx-onboarding .profile-upload>label {height:240px;}
.tpx-onboarding .form-grid {grid-template-columns:minmax(0,1fr);}
.tpx-onboarding .form-section {gap:12px;}
.tpx-onboarding .form-section h2 {font-size:23px;line-height:1.1;}
.tpx-onboarding .studio-onboarding-aside {padding:25px;}
}
@media(prefers-reduced-motion:reduce){.tpx-onboarding *{scroll-behavior:auto!important;transition:none!important;}}
