.cccj-pep{border:1px solid #ccd6e0;border-radius:8px;padding:20px;margin:20px 0;clear:both}.cccj-pep legend{font-size:1.25em;font-weight:700}.cccj-pep label{display:block;margin:12px 0}.cccj-pep select{display:block;width:100%;margin-top:5px;max-width:100%}.cccj-pep [hidden]{display:none!important}.cccj-pep-total{font-weight:700;font-size:1.1em}.cccj-pep small{display:block}
.cccj-pep-code{display:block;width:100%;max-width:100%;box-sizing:border-box;padding:10px}.cccj-pep-status{margin:10px 0}.cccj-pep-verification{padding:14px;background:#f3f7fc;border-radius:6px}.cccj-pep-verify:disabled{opacity:.6;cursor:not-allowed}

/* Keep theme button floats from pulling attendance alongside verification. */
.cccj-pep .cccj-pep-verification{display:block;float:none!important;clear:both;width:100%;box-sizing:border-box}
.cccj-pep .cccj-pep-verification-actions{display:flex!important;align-items:center!important;gap:14px;width:100%;clear:both}
.cccj-pep .cccj-pep-verification-actions .cccj-pep-verify{float:none!important;margin:0!important;flex:0 0 auto;align-self:center;white-space:normal}
.cccj-pep .cccj-pep-verification-actions .cccj-pep-status{float:none!important;margin:0!important;padding:0;flex:1 1 0;min-width:0;line-height:1.5;align-self:center;overflow-wrap:anywhere}
.cccj-pep .cccj-pep-status[data-state="error"]{color:#b42318!important}
.cccj-pep .cccj-pep-status[data-state="success"]{color:#16733c!important}
.cccj-pep .cccj-pep-attendance{display:block!important;float:none!important;clear:both!important;width:100%!important;box-sizing:border-box;margin-top:16px}
@media(max-width:480px){.cccj-pep .cccj-pep-verification-actions{gap:10px}.cccj-pep .cccj-pep-verification-actions .cccj-pep-verify{max-width:48%}}

.cccj-pep-quantity{display:inline-flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px}
form.cart .cccj-pep-quantity-label{display:block!important;position:static!important;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;margin:0 0 6px!important;padding:0!important;font-size:15px;font-weight:600;line-height:1.4;color:#243b57}
form.cart .cccj-pep-quantity-help{display:block!important;max-width:310px;margin:0 0 8px!important;color:#53667d;font-size:14px;line-height:1.4}

/* Hotel panel mirrors the registration-pricing fieldset and sits close to attendance. */
.cccj-pep .cccj-pep-attendance{margin-bottom:8px!important}
.cccj-pep .cccj-pep-days[hidden]+.cccj-pep-accommodation,
.cccj-pep .cccj-pep-accommodation{display:block;float:none!important;clear:both;width:100%;box-sizing:border-box;border:1px solid #ccd6e0;border-radius:8px;padding:20px;margin:12px 0 16px!important;min-height:0!important}
.cccj-pep .cccj-pep-accommodation legend{font-size:1.25em!important;font-weight:700!important;line-height:1.25;padding:0 6px;margin:0}
.cccj-pep .cccj-pep-accommodation input[type="number"]{display:block;width:100%;max-width:100%;box-sizing:border-box;margin-top:5px}
.cccj-pep .cccj-pep-room-fields,.cccj-pep .cccj-pep-day-pass-fields{margin-top:10px}
.cccj-pep .cccj-pep-room-fields p,.cccj-pep .cccj-pep-day-pass-fields p{margin:10px 0}
.cccj-pep .cccj-pep-accommodation-status{min-height:1.5em;margin:8px 0 0}
.cccj-pep .cccj-pep-accommodation-status[data-state="error"],.cccj-pep .cccj-pep-hotel-warning{color:#b42318!important;font-weight:600}

/* Participant-level pricing plan inside each existing registration card. */
.cccj-pep-participant-notice{margin:14px 0;padding:12px 14px;background:#f3f7fc;border-radius:6px}
.cccj-pep-person{grid-column:1/-1;margin-top:18px;padding-top:18px;border-top:1px solid #d7e0e9}
.cccj-pep-person h4{margin:0 0 12px;font-size:1.1em}.cccj-pep-person label{display:block;margin:10px 0}.cccj-pep-person select{display:block;width:100%;margin-top:5px}
.cccj-pep-person-days,.cccj-pep-person-passes,.cccj-pep-person-rooms{margin:10px 0}.cccj-pep-person-days label,.cccj-pep-person-passes label{display:inline-block;margin:6px 18px 6px 0}
.cccj-pep-person-hotel{margin-top:16px;padding:16px;border:1px solid #ccd6e0;border-radius:8px}.cccj-pep-person-hotel legend{font-weight:700;padding:0 6px}
.cccj-pep-night{display:grid;grid-template-columns:minmax(130px,.7fr) 1fr 1fr;gap:14px;align-items:end;padding:10px 0;border-bottom:1px solid #e1e7ed}.cccj-pep-night strong{align-self:center}.cccj-pep-night label{margin:0}
@media(max-width:700px){.cccj-pep-night{grid-template-columns:1fr}.cccj-pep-person-days label,.cccj-pep-person-passes label{display:block}}
.cccj-pep-room-nights{margin:14px 0}.cccj-pep-room-nights>p{margin:0 0 8px;font-weight:600}.cccj-pep-room-nights label{display:inline-block;margin:6px 18px 6px 0}.cccj-pep-person-rooms>.cccj-pep-roommate[hidden]{display:none!important}@media(max-width:700px){.cccj-pep-room-nights label{display:block}}
.cccj-pep-error-summary{margin:16px 0;padding:16px 18px;border:2px solid #b42318;border-radius:8px;background:#fff4f2;color:#7a271a}.cccj-pep-error-summary:focus{outline:3px solid rgba(180,35,24,.25);outline-offset:2px}.cccj-pep-error-summary strong{display:block;margin-bottom:8px}.cccj-pep-error-summary ul{margin:0;padding-left:22px}.cccj-pep-error-summary li{margin:8px 0}.cccj-pep-error-summary button{margin-left:8px;padding:4px 9px;border:1px solid #b42318;border-radius:4px;background:#fff;color:#7a271a;font-weight:700;cursor:pointer}.cccj-pep-error-field{border-color:#b42318!important;box-shadow:0 0 0 3px rgba(180,35,24,.18)!important}.cccj-pep-error-card{border-color:#b42318!important;box-shadow:0 0 0 3px rgba(180,35,24,.12)!important}.cccj-pep-error-pulse{animation:cccj-pep-error-pulse 1.2s ease}@keyframes cccj-pep-error-pulse{0%,100%{box-shadow:0 0 0 3px rgba(180,35,24,.18)}50%{box-shadow:0 0 0 8px rgba(180,35,24,.32)}}

/* Keep the complete registration form inside narrow phone screens. */
form.cart,form.cart .cccj-pep,form.cart .cccj-participant-section,form.cart .cccj-participant-card,form.cart .cccj-participant-grid,form.cart .cccj-pep-person,form.cart .cccj-pep-person-hotel,form.cart .cccj-pep-accommodation,form.cart .cccj-pep-night{max-width:100%;min-width:0;box-sizing:border-box}
form.cart .cccj-participant-grid>*,form.cart .cccj-pep-person>*,form.cart .cccj-pep-night>*{min-width:0;max-width:100%}
form.cart input,form.cart select,form.cart textarea,form.cart button{max-width:100%;box-sizing:border-box}
form.cart label,form.cart legend,form.cart p,form.cart small,form.cart strong{overflow-wrap:anywhere;word-break:normal}
.cccj-event-registration,.cccj-event-registration>.woocommerce,.cccj-event-registration .woocommerce div.product,.cccj-event-registration .woocommerce div.product .summary,.cccj-event-registration form.cart{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.cccj-event-registration fieldset{min-inline-size:0;max-width:100%;box-sizing:border-box}
@media(max-width:700px){
  .cccj-event-registration .woocommerce div.product{display:block!important}
  .cccj-event-registration .woocommerce div.product div.images,.cccj-event-registration .woocommerce div.product div.summary,.cccj-event-registration .woocommerce div.product .woocommerce-product-gallery{float:none!important;clear:both!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
  .cccj-event-registration form.cart{display:block!important;float:none!important;clear:both!important}
  .cccj-event-registration form.cart>.quantity,.cccj-event-registration form.cart>.single_add_to_cart_button{float:none!important;clear:both!important;margin-left:0!important;margin-right:0!important}
  form.cart .cccj-pep,form.cart .cccj-participant-section{width:100%!important;margin-left:0!important;margin-right:0!important;padding:16px 12px!important}
  form.cart .cccj-participant-card{width:100%!important;padding:16px 12px!important}
  form.cart .cccj-pep-person-hotel,form.cart .cccj-pep-accommodation{width:100%!important;padding:14px 10px!important}
  form.cart .cccj-pep-verification-actions{flex-direction:column!important;align-items:stretch!important}
  form.cart .cccj-pep-verification-actions .cccj-pep-verify{width:100%!important;max-width:100%!important}
  form.cart .cccj-pep-person-days label,form.cart .cccj-pep-person-passes label,form.cart .cccj-pep-room-nights label{display:flex!important;align-items:flex-start;gap:8px;margin-right:0!important}
  form.cart input[type="checkbox"],form.cart input[type="radio"]{flex:0 0 auto}
}
