.package-family{border:0;padding:0;margin:24px 0}.package-family legend{font-size:18px;font-weight:800;margin-bottom:14px;color:var(--tone-dbb9ff, #dbb9ff)}.package-options,.package-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.package-option{display:flex;gap:12px;border:1px solid var(--tone-493950, #493950);border-radius:15px;padding:18px;background:var(--tone-1b1722, #1b1722);cursor:pointer;align-items:flex-start}.package-option:has(input:checked){border-color:var(--tone-c09aff, #c09aff);background:var(--tone-30213f, #30213f);box-shadow:0 0 0 1px var(--tone-c09aff, #c09aff)}.package-option input{width:20px;height:20px;flex-shrink:0;margin:3px 0;accent-color:var(--tone-bc8bf5, #bc8bf5)}.package-option-body{display:grid;gap:10px;min-width:0}.package-option-body>strong{font-size:17px}.package-option-body>span{font-size:13px;line-height:1.5}.package-option-body small{font-size:11px;color:var(--tone-bdafcb, #bdafcb)}.package-option-price{color:var(--tone-e6c5ff, #e6c5ff);font-weight:800}.package-total{padding:18px;border-radius:12px;background:var(--tone-30203f, #30203f);display:flex;justify-content:space-between;gap:15px}.package-admin-group{margin:32px 0}.package-admin-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.package-admin-card h3,.package-admin-card p{margin:0}.package-admin-card p{font-size:13px}.package-admin-card ul{padding-left:18px;color:var(--tone-c8b8da, #c8b8da);font-size:12px}.package-admin-card .button{margin-top:auto}.package-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.package-targets label{font-size:13px}.package-targets input{accent-color:var(--tone-bb87fa, #bb87fa)}.selection-lines{padding:16px;border:1px solid var(--tone-483553, #483553);border-radius:12px;margin:16px 0}.selection-lines p{white-space:pre-line}.package-admin-card small{font-size:12px;color:var(--tone-bcafc9, #bcafc9)}
@media(max-width:700px){.package-options,.package-admin-grid,.package-targets{grid-template-columns:minmax(0,1fr)}.package-option{padding:14px}}

.booking-contact-fields summary{cursor:pointer;font-weight:700;color:var(--tone-d3afff, #d3afff)}.booking-contact-fields .field{min-width:0}@media(max-width:650px){.booking-contact-fields .form-grid{grid-template-columns:minmax(0,1fr)}}
