/* Presentation for existing public forms; booking and account behavior stay in their controllers. */
.connected-app{--ink:var(--ch-ink);--ink-soft:var(--ch-muted);--paper:var(--ch-paper);--card:#fffcf8;--line:#dce3dc;--line-soft:#eef0eb;--accent:var(--ch-teal);--accent-dark:var(--ch-deep);--accent-soft:#e8f0eb;--radius:11px;--shadow:0 7px 22px #223e3c07;--maxw:1180px}
.connected-app>main{min-height:420px;background:radial-gradient(ellipse at right top,#e6daed44,transparent 65%)}
.connected-app main .section{padding:50px 0 60px}
.connected-app main .container{padding:0 40px}
.connected-app main h1{font-size:42px;margin:0 0 20px}
.connected-app main h2{font-size:29px;margin-bottom:16px}
.connected-app main h3{margin-bottom:12px}
.connected-app main p{margin-bottom:1em}
.connected-app .btn{border-radius:5px;padding:13px 20px;font-size:13px}
.connected-app a.btn:not(.secondary){color:#fff}
.connected-app .btn.small{padding:9px 14px;font-size:12px}
.connected-app .card,.connected-app .service-card,.connected-app .hypnotherapist-card{border-color:#ded9df;background:#fffcf8;box-shadow:var(--shadow)}
.connected-app .service-card:hover,.connected-app .hypnotherapist-card:hover{border-color:#9db5ad}
.connected-app input,.connected-app select,.connected-app textarea{border-color:#cbd6ce;border-radius:5px}
.connected-app .booking-steps{margin-bottom:26px;gap:8px}
.connected-app .booking-steps span{font-size:11px;padding:7px 12px}
.connected-app .ch-booking-identity{font-size:13px;color:var(--ch-muted);text-align:right}
.connected-app .slot-btn:hover{border-color:var(--ch-teal)}
@media(max-width:780px){.connected-app main .container{padding:0 23px}.connected-app main .section{padding:35px 0 45px}.connected-app main h1{font-size:34px}.connected-app .booking-calendar{grid-template-columns:1fr}.connected-app .ch-booking-identity{font-size:11px;max-width:140px}}
@media(max-width:430px){.connected-app .ch-header-inner:has(.ch-booking-identity){flex-wrap:wrap;padding-top:15px;padding-bottom:15px}.connected-app .ch-booking-identity{max-width:none;text-align:left}.connected-app main .grid.cols-2{grid-template-columns:1fr}}

.connected-app .cal-panel,.connected-app .times-panel{min-width:0}
@media(max-width:780px){.connected-app .booking-calendar .calendar{table-layout:fixed}.connected-app .booking-calendar .calendar th{font-size:10px;padding:6px 2px}.connected-app .booking-calendar .cal-day>a{padding:5px 2px}.connected-app .booking-calendar .cal-tag{font-size:9px;padding:2px 3px}.connected-app .cal-nav{font-size:12px}.connected-app .cal-nav .btn.small{padding:9px 10px}}
