.cpa-booking-shell{
--bg:#f8fafc;
--card:#fff;
--text:#0f172a;
--muted:#64748b;
--line:#e2e8f0;
--primary:var(--cpa-primary,#01696f);
--secondary:var(--cpa-secondary,#0f172a);
font-family:Inter,system-ui,sans-serif;
color:var(--text)
}

.cpa-booking-layout{
display:block;
align-items:start;
padding:28px;
border-radius:30px;
border:1px solid #e5e7eb;
background:radial-gradient(circle at top left,rgba(1,105,111,.08),transparent 26%),linear-gradient(180deg,#fff,#f8fafc);
box-shadow:0 30px 80px rgba(15,23,42,.08)
}

.cpa-booking-panel,.cpa-summary-card{
background:rgba(255,255,255,.96);
backdrop-filter:blur(10px);border:1px solid var(--line);
border-radius:26px;box-shadow:0 18px 50px rgba(15,23,42,.06)
}

.cpa-booking-panel{
padding:50px
}

.cpa-summary-card{
padding:24px;
position:sticky;
top:24px
}

.cpa-booking-head{
margin-bottom:24px
}

.cpa-pill{
display:block;
background:rgba(1,105,111,.08);
color:var(--primary);
padding:8px 12px;
border-radius:999px;
font-weight:800;
font-size:12px;
letter-spacing:.04em;
text-transform:uppercase
}

.cpa-booking-head h2{
font-size:38px;
line-height:1.02;
margin:14px 0 10px;
color:var(--secondary)
}

.cpa-booking-head p{
margin:0;color:var(--muted);
max-width:60ch;
font-size:15px
}

.cpa-booking-form{
display:block;
gap:18px
}

.cpa-grid-2{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:16px
}

.cpa-booking-form label{
display:grid;
gap:8px
}

.cpa-booking-form label span{
font-size:13px;
font-weight:800;
color:var(--secondary)
}

.cpa-booking-form input,.cpa-booking-form select,.cpa-booking-form textarea{
width:90%;
border:1px solid var(--line);
background:#fff;
border-radius:18px;
padding:14px 16px;
min-height:10px;
font-size:15px;
outline:none;
transition:.2s ease
}

.cpa-booking-form input:focus,.cpa-booking-form select:focus,.cpa-booking-form textarea:focus{
border-color:var(--primary);
box-shadow:0 0 0 4px rgba(1,105,111,.12)
}

.cpa-submit-btn{
border:none;
background:linear-gradient(135deg,var(--primary),#0b4d52);
color:#fff;
padding:16px 18px;
border-radius:18px;
font-size:15px;
font-weight:800;
cursor:pointer;
min-height:56px;
box-shadow:0 18px 35px rgba(1,105,111,.25)
}

.cpa-submit-btn:hover{
transform:translateY(-1px)
}

.cpa-summary-card h3{
margin:0 0 16px;
font-size:20px;
color:var(--secondary)
}

.cpa-summary-card ul{
list-style:none;
margin:0;
padding:0;
display:grid;
gap:14px
}

.cpa-summary-card li{
display:flex;
justify-content:space-between;
gap:12px;
padding-bottom:14px;
border-bottom:1px solid var(--line)
}

.cpa-summary-card li span{
color:var(--muted)
}

.cpa-summary-card li strong{
color:var(--secondary)
}

.cpa-note{
margin-top:16px;
padding:14px 16px;
border-radius:16px;
background:#f8fafc;
border:1px dashed #cbd5e1;
color:var(--muted);
font-size:14px;
line-height:1.55
}

.cpa-dynamic-fields{
display:grid;
gap:16px
}

.cpa-inline-alert{
padding:14px 16px;
border-radius:16px;
background:#fff7ed;
border:1px solid #fdba74;
color:#9a3412;
font-weight:700
}

.cpa-inline-alert.is-success{
background:#ecfdf5;
border-color:#86efac;
color:#166534
}

@media (max-width:980px){
.cpa-booking-layout{
grid-template-columns:1fr
}
.cpa-summary-card{
position:static
}
}

@media (max-width:640px){
.cpa-booking-layout{
padding:14px;
border-radius:20px
}
.cpa-booking-panel,.cpa-summary-card{
border-radius:18px
}
.cpa-grid-2{
grid-template-columns:1fr
}
.cpa-booking-head h2{
font-size:29px
}
}