.h5-registration-card {
    margin: 28px 0;
    padding: 0;
    border: 2px solid #e8f3f8;
    border-radius: 22px;
    background: #ffffff;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(12, 56, 131, 0.08);
}
.h5-registration-header {
    padding: 24px 26px;
    background: linear-gradient(135deg, #f7fbff 0%, #e9fbfa 100%);
    border-bottom: 1px solid #dcecf5;
}
.h5-kicker {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 5px 11px;
    border-radius: 999px;
    background: #FFD015;
    color: #0C3883;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
}
.h5-registration-card h3,
.h5-registration-card h4,
.h5-registration-card p {
    margin-top: 0;
}
.h5-registration-card h3 {
    margin-bottom: 8px;
    color: #0C3883;
    font-size: 28px;
    line-height: 1.2;
}
.h5-registration-card h4 {
    margin-bottom: 4px;
    color: #0C3883;
    font-size: 19px;
    line-height: 1.25;
}
.h5-registration-card p {
    margin-bottom: 0;
    color: #515151;
}
.h5-section {
    padding: 22px 26px;
    border-bottom: 1px solid #edf2f7;
}
.h5-section-title {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 16px;
}
.h5-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #44CCC8;
    color: #0C3883;
    font-weight: 800;
}
.h5-field-group {
    margin-bottom: 16px;
}
.h5-field-group:last-child {
    margin-bottom: 0;
}
.h5-field-group label,
.h5-sibling-extras > label {
    display: block;
    font-weight: 800;
    margin-bottom: 7px;
    color: #0C3883;
}
.h5-field-group input[type="text"],
.h5-field-group select,
.h5-field-group textarea {
    width: 100%;
    min-height: 48px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    padding: 11px 13px;
    background: #ffffff;
    color: #333333;
}
.h5-field-group textarea {
    min-height: 92px;
}
.h5-two-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.h5-option-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.h5-option-card,
.h5-toggle-row {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
    padding: 14px;
    border: 1px solid #dbe7ef;
    border-radius: 14px;
    background: #f7fbff;
    cursor: pointer;
}
.h5-option-card input,
.h5-toggle-row input {
    width: auto;
    flex: 0 0 auto;
}
.h5-option-label {
    flex: 1 1 auto;
    font-weight: 750;
    color: #0C3883;
}
.h5-option-price {
    flex: 0 0 auto;
    font-weight: 800;
    color: #275AB1;
}
.h5-toggle-row span {
    font-weight: 800;
    color: #0C3883;
}
.h5-sibling-fields {
    margin-top: 18px;
    padding: 18px;
    border: 2px dashed #275AB1;
    border-radius: 16px;
    background: #ffffff;
}
.h5-total-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 26px;
    background: #275AB1;
    color: #ffffff;
    font-weight: 800;
}
.h5-total-box strong {
    color: #FFD015;
    font-size: 24px;
    white-space: nowrap;
}
.required {
    color: #EF5C62;
}
.single-product form.cart .quantity {
    display: none !important;
}
.single-product form.cart .single_add_to_cart_button {
    width: 100%;
    margin-top: 14px;
    min-height: 52px;
    border-radius: 14px;
    font-weight: 800;
}
@media (max-width: 860px) {
    .h5-option-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 680px) {
    .h5-registration-header,
    .h5-section,
    .h5-total-box {
        padding-left: 18px;
        padding-right: 18px;
    }
    .h5-two-columns {
        grid-template-columns: 1fr;
    }
    .h5-total-box {
        align-items: flex-start;
        flex-direction: column;
    }
}
.h5-three-columns {
    display: grid;
    grid-template-columns: 1fr 1fr 140px;
    gap: 14px;
}
.h5-medical-toggle {
    margin-top: 6px !important;
    margin-bottom: 14px !important;
}
.h5-medical-fields {
    margin-top: 12px;
}
@media (max-width: 860px) {
    .h5-three-columns {
        grid-template-columns: 1fr;
    }
}

/* v0.1.9 Modern Hive5 registration product template */
.single-product .product:has(.h5-product-experience) {
    max-width: none;
}
.single-product .h5-product-experience {
    width: min(1280px, calc(100vw - 48px));
    margin: 34px auto 70px;
}
.single-product .h5-product-experience::before,
.single-product .h5-product-experience::after,
.single-product .product:has(.h5-product-experience)::before,
.single-product .product:has(.h5-product-experience)::after {
    content: none !important;
    display: none !important;
}
.h5-product-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(440px, 0.98fr);
    gap: 34px;
    align-items: start;
}
.h5-product-breadcrumbs {
    margin-bottom: 16px;
    font-size: 13px;
    color: #515151;
}
.h5-product-breadcrumbs a {
    color: #275AB1;
    font-weight: 700;
}
.h5-product-media-panel,
.h5-product-registration-panel,
.h5-product-detail-section {
    position: relative;
}
.h5-product-image-frame {
    min-height: 560px;
    border-radius: 30px;
    overflow: hidden;
    background: linear-gradient(135deg, #f7fbff 0%, #e9fbfa 100%);
    box-shadow: 0 20px 52px rgba(12, 56, 131, 0.10);
}
.h5-product-main-image {
    display: block;
    width: 100%;
    height: 560px !important;
    object-fit: cover;
}
.h5-product-placeholder {
    min-height: 560px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 34px;
    text-align: center;
    color: #0C3883;
}
.h5-product-placeholder span {
    display: inline-flex;
    padding: 8px 14px;
    border-radius: 999px;
    background: #FFD015;
    font-weight: 900;
}
.h5-product-placeholder strong {
    font-size: 25px;
    line-height: 1.2;
    max-width: 320px;
}
.h5-product-gallery-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}
.h5-product-gallery-thumb {
    border-radius: 18px;
    overflow: hidden;
    background: #f7fbff;
    border: 1px solid #dbe7ef;
}
.h5-product-gallery-thumb img {
    display: block;
    width: 100%;
    aspect-ratio: 1.25;
    object-fit: cover;
}
.h5-product-info-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}
.h5-info-card,
.h5-side-note-card {
    border: 1px solid #dbe7ef;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(12, 56, 131, 0.07);
}
.h5-info-card {
    padding: 16px;
}
.h5-info-card span {
    display: block;
    margin-bottom: 5px;
    color: #515151;
    font-size: 13px;
    font-weight: 700;
}
.h5-info-card strong {
    color: #0C3883;
    font-size: 15px;
    line-height: 1.25;
}
.h5-product-title-block {
    margin-bottom: 18px;
    padding: 26px 28px;
    border-radius: 30px;
    background: #ffffff;
    box-shadow: 0 20px 52px rgba(12, 56, 131, 0.08);
}
.h5-product-kicker,
.h5-section-eyebrow {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 10px;
    padding: 7px 13px;
    border-radius: 999px;
    background: #FFD015;
    color: #0C3883;
    font-weight: 900;
    font-size: 13px;
    line-height: 1;
}
.h5-product-title-block h1 {
    margin: 0 0 12px;
    color: #515151;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.05;
    letter-spacing: -0.03em;
}
.h5-product-short-description {
    color: #0C3883;
    font-size: 17px;
    line-height: 1.6;
}
.h5-product-registration-panel .h5-registration-card {
    margin-top: 0;
}
.h5-modern-cart-form .h5-registration-card {
    box-shadow: 0 20px 52px rgba(12, 56, 131, 0.10);
}
.h5-product-detail-section {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 28px;
    margin-top: 46px;
    padding: 34px;
    border-radius: 32px;
    background: linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
    box-shadow: 0 18px 46px rgba(12, 56, 131, 0.08);
}
.h5-detail-main h2 {
    margin: 0 0 18px;
    color: #0C3883;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.1;
}
.h5-product-description-content {
    color: #515151;
    font-size: 17px;
    line-height: 1.75;
}
.h5-product-description-content > *:last-child {
    margin-bottom: 0;
}
.h5-detail-aside {
    display: grid;
    gap: 16px;
    align-content: start;
}
.h5-side-note-card {
    padding: 22px;
}
.h5-side-note-card h3 {
    margin: 0 0 9px;
    color: #0C3883;
    font-size: 21px;
}
.h5-side-note-card p {
    margin: 0;
    color: #515151;
    line-height: 1.6;
}
.h5-category-card a {
    color: #275AB1;
    font-weight: 800;
}
@media (max-width: 1120px) {
    .h5-product-hero,
    .h5-product-detail-section {
        grid-template-columns: 1fr;
    }
    .h5-product-registration-panel {
        max-width: 760px;
        width: 100%;
        margin: 0 auto;
    }
}
@media (max-width: 760px) {
    .single-product .h5-product-experience {
        width: min(100% - 24px, 1280px);
        margin-top: 20px;
    }
    .h5-product-image-frame,
    .h5-product-main-image,
    .h5-product-placeholder {
        min-height: 340px;
        height: 340px !important;
    }
    .h5-product-info-cards,
    .h5-product-gallery-strip {
        grid-template-columns: 1fr 1fr;
    }
    .h5-product-detail-section,
    .h5-product-title-block {
        padding: 22px;
        border-radius: 24px;
    }
}
@media (max-width: 520px) {
    .h5-product-info-cards,
    .h5-product-gallery-strip {
        grid-template-columns: 1fr;
    }
}

/* v0.2.0 product-page refinements */
.h5-product-experience-v020 .h5-product-breadcrumbs {
    display: none !important;
}
.h5-product-experience-v020 .h5-product-title-block h1 {
    font-size: clamp(26px, 2.4vw, 38px);
    line-height: 1.12;
    letter-spacing: -0.02em;
}
.h5-product-experience-v020 .h5-product-title-block {
    padding: 22px 24px;
    border-radius: 26px;
}
.h5-product-experience-v020 .h5-product-short-description {
    font-size: 15.5px;
    line-height: 1.55;
}
.h5-product-experience-v020 .h5-detail-under-gallery {
    display: block;
    margin-top: 26px;
    padding: 28px;
    border-radius: 28px;
    background: #ffffff;
}
.h5-product-experience-v020 .h5-detail-under-gallery .h5-detail-main h2,
.h5-product-faq-section h2,
.h5-related-programs-section h2 {
    margin: 0 0 16px;
    color: #0C3883;
    font-size: clamp(24px, 2.2vw, 34px);
    line-height: 1.15;
}
.h5-product-faq-section,
.h5-related-programs-section {
    margin-top: 28px;
    padding: 28px;
    border-radius: 28px;
    background: linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
    border: 1px solid #dbe7ef;
    box-shadow: 0 18px 46px rgba(12, 56, 131, 0.07);
}
.h5-faq-list {
    display: grid;
    gap: 10px;
}
.h5-faq-item {
    border: 1px solid #dbe7ef;
    border-radius: 18px;
    background: #ffffff;
    overflow: hidden;
}
.h5-faq-item summary {
    cursor: pointer;
    padding: 16px 18px;
    color: #0C3883;
    font-weight: 800;
}
.h5-faq-answer {
    padding: 0 18px 16px;
    color: #515151;
    line-height: 1.65;
}
.h5-faq-answer > *:last-child {
    margin-bottom: 0;
}
.h5-registration-aside {
    margin-top: 24px;
}
.h5-related-programs-section {
    margin-top: 42px;
}
.h5-related-program-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.h5-related-program-card {
    display: block;
    overflow: hidden;
    border: 1px solid #dbe7ef;
    border-radius: 24px;
    background: #ffffff;
    text-decoration: none !important;
    box-shadow: 0 14px 36px rgba(12, 56, 131, 0.07);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.h5-related-program-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(12, 56, 131, 0.12);
}
.h5-related-program-image {
    display: flex;
    min-height: 170px;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #e9fbfa 0%, #f7fbff 100%);
    color: #0C3883;
    font-weight: 900;
}
.h5-related-program-image img {
    width: 100%;
    height: 190px !important;
    object-fit: cover;
    display: block;
}
.h5-related-program-content {
    padding: 18px;
}
.h5-related-program-content h3 {
    margin: 0 0 8px;
    color: #0C3883;
    font-size: 20px;
    line-height: 1.2;
}
.h5-related-program-content p {
    margin: 0;
    color: #515151;
    font-size: 14.5px;
    line-height: 1.55;
}
@media (max-width: 960px) {
    .h5-related-program-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 760px) {
    .h5-product-experience-v020 .h5-product-title-block h1 {
        font-size: 28px;
    }
    .h5-product-faq-section,
    .h5-related-programs-section,
    .h5-product-experience-v020 .h5-detail-under-gallery {
        padding: 22px;
        border-radius: 24px;
    }
}


/* v0.2.2 UI/UX refinements */
.h5-product-experience-v020 .h5-product-kicker,
.h5-product-experience-v020 .h5-registration-card .h5-kicker {
    font-size: 12px;
    padding: 6px 12px;
    letter-spacing: 0;
}
.h5-product-experience-v020 .h5-product-title-block h1 {
    font-size: clamp(24px, 2vw, 32px);
    line-height: 1.14;
}
.h5-product-experience-v020 .h5-product-title-block {
    padding: 20px 24px;
}
.h5-product-experience-v020 .h5-registration-card h3 {
    font-size: 24px;
}
.h5-product-experience-v020 .h5-registration-card h4 {
    font-size: 17px;
}
.h5-product-experience-v020 .h5-section-title {
    margin-bottom: 13px;
}
.h5-product-experience-v020 .h5-section {
    padding-top: 20px;
    padding-bottom: 20px;
}
.h5-product-experience-v020 .h5-option-grid {
    gap: 10px;
}
.h5-product-experience-v020 .h5-option-card {
    min-height: 58px;
    padding: 11px 13px;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 9px;
}
.h5-product-experience-v020 .h5-option-card input {
    margin: 0;
}
.h5-product-experience-v020 .h5-option-label {
    font-size: 14px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}
.h5-product-experience-v020 .h5-option-price {
    font-size: 14px;
    line-height: 1;
    white-space: nowrap;
}
.h5-product-experience-v020 .h5-toggle-row {
    padding: 12px 14px;
}
.h5-product-experience-v020 .h5-toggle-row span {
    font-size: 14px;
    line-height: 1.35;
}
.h5-product-experience-v020 .h5-total-box {
    padding-top: 16px;
    padding-bottom: 16px;
}
@media (max-width: 1180px) {
    .h5-product-experience-v020 .h5-option-grid {
        grid-template-columns: 1fr;
    }
}


/* v0.2.3 extras card + checkbox refinements */
.h5-product-experience-v020 .h5-option-card {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
        "check label"
        "check price";
    align-items: center;
    row-gap: 4px;
    min-height: 72px;
    padding: 13px 14px;
}
.h5-product-experience-v020 .h5-option-card input {
    grid-area: check;
}
.h5-product-experience-v020 .h5-option-label {
    grid-area: label;
    font-size: 14.5px;
    line-height: 1.15;
    overflow-wrap: normal;
    word-break: normal;
}
.h5-product-experience-v020 .h5-option-price {
    grid-area: price;
    justify-self: start;
    font-size: 14.5px;
    line-height: 1.15;
    color: #275AB1;
}
.h5-core-scope input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px;
    border: 2px solid #9db4c7;
    border-radius: 5px;
    background: #ffffff;
    display: inline-grid;
    place-content: center;
    cursor: pointer;
    transition: all 0.16s ease;
}
.h5-core-scope input[type="checkbox"]::before {
    content: "";
    width: 9px;
    height: 9px;
    transform: scale(0);
    transition: transform 0.12s ease-in-out;
    background: #ffffff;
    clip-path: polygon(14% 44%, 0 59%, 43% 100%, 100% 16%, 84% 0%, 39% 68%);
}
.h5-core-scope input[type="checkbox"]:checked {
    border-color: #275AB1;
    background: #275AB1;
}
.h5-core-scope input[type="checkbox"]:checked::before {
    transform: scale(1);
}
.h5-core-scope input[type="checkbox"]:focus-visible {
    outline: 3px solid rgba(68, 204, 200, 0.35);
    outline-offset: 2px;
}
.h5-product-experience-v020 .h5-toggle-row {
    align-items: center;
}
.h5-product-experience-v020 .h5-toggle-row input[type="checkbox"] {
    margin-top: 0;
}
@media (max-width: 1180px) {
    .h5-product-experience-v020 .h5-option-card {
        min-height: 62px;
    }
}

/* v0.2.4 info card fixed icons */
.h5-product-experience-v020 .h5-info-card {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-height: 92px;
    padding: 16px 18px;
}
.h5-product-experience-v020 .h5-info-card-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EAFBFA;
    color: #275AB1;
    flex: 0 0 42px;
}
.h5-product-experience-v020 .h5-info-card-extras .h5-info-card-icon {
    background: #FFF6CC;
    color: #0C3883;
}
.h5-product-experience-v020 .h5-info-card-sibling .h5-info-card-icon {
    background: #EDF7FF;
    color: #275AB1;
}
.h5-product-experience-v020 .h5-info-card-icon svg {
    width: 24px;
    height: 24px;
    display: block;
    fill: currentColor;
}
.h5-product-experience-v020 .h5-info-card-content,
.h5-product-experience-v020 .h5-info-card-content > span,
.h5-product-experience-v020 .h5-info-card-content > strong {
    display: block;
}
.h5-product-experience-v020 .h5-info-card-content > span {
    margin-bottom: 6px;
}
@media (max-width: 720px) {
    .h5-product-experience-v020 .h5-info-card {
        min-height: auto;
    }
}


/* v0.2.5 cleaner info-card icons */
.h5-product-experience-v020 .h5-info-card {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 14px;
    min-height: 86px;
}
.h5-product-experience-v020 .h5-info-card-icon,
.h5-product-experience-v020 .h5-info-card-extras .h5-info-card-icon,
.h5-product-experience-v020 .h5-info-card-sibling .h5-info-card-icon {
    width: 30px;
    height: 30px;
    border-radius: 0;
    background: transparent;
    color: #44CCC8;
    flex-basis: 30px;
}
.h5-product-experience-v020 .h5-info-card-icon svg {
    width: 28px;
    height: 28px;
}
.h5-product-experience-v020 .h5-info-card-content > span {
    margin-bottom: 4px;
    font-size: 13px;
    line-height: 1.15;
}
.h5-product-experience-v020 .h5-info-card-content > strong {
    font-size: 17px;
    line-height: 1.2;
    white-space: nowrap;
}
@media (max-width: 760px) {
    .h5-product-experience-v020 .h5-info-card-content > strong {
        white-space: normal;
    }
}


/* v0.2.6 custom Phosphor-style line icons for info cards */
.h5-product-experience-v020 .h5-info-card-icon svg {
    width: 32px;
    height: 32px;
    fill: none;
    stroke: currentColor;
}

/* v0.2.7 responsive UX refinements */
.h5-product-experience-v020 .h5-info-card-icon svg {
    stroke: none;
}

@media (min-width: 1121px) {
    .h5-product-experience-v020 .h5-product-registration-panel {
        position: sticky;
        top: 24px;
        align-self: start;
    }
}

@media (max-width: 1120px) {
    .h5-product-experience-v020 .h5-product-hero {
        display: flex;
        flex-direction: column;
    }
    .h5-product-experience-v020 .h5-product-registration-panel {
        order: 1;
        max-width: 820px;
        margin-inline: auto;
    }
    .h5-product-experience-v020 .h5-product-media-panel {
        order: 2;
        width: 100%;
    }
    .h5-product-experience-v020 .h5-product-title-block {
        margin-bottom: 16px;
    }
    .h5-product-experience-v020 .h5-registration-aside {
        display: none;
    }
}

@media (max-width: 760px) {
    .single-product .h5-product-experience-v020 {
        width: calc(100% - 18px);
        margin-top: 12px;
        margin-bottom: 42px;
    }
    .h5-product-experience-v020 .h5-product-hero {
        gap: 18px;
    }
    .h5-product-experience-v020 .h5-product-title-block {
        padding: 18px;
        border-radius: 22px;
        box-shadow: 0 12px 30px rgba(12, 56, 131, 0.07);
    }
    .h5-product-experience-v020 .h5-product-title-block h1 {
        font-size: 24px;
        line-height: 1.16;
    }
    .h5-product-experience-v020 .h5-product-short-description {
        font-size: 14.5px;
        line-height: 1.5;
    }
    .h5-product-experience-v020 .h5-registration-card {
        padding: 18px;
        border-radius: 22px;
    }
    .h5-product-experience-v020 .h5-registration-card h3 {
        font-size: 22px;
    }
    .h5-product-experience-v020 .h5-product-image-frame,
    .h5-product-experience-v020 .h5-product-main-image,
    .h5-product-experience-v020 .h5-product-placeholder {
        min-height: 260px;
        height: 260px !important;
        border-radius: 22px;
    }
    .h5-product-experience-v020 .h5-product-gallery-strip {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 2px;
    }
    .h5-product-experience-v020 .h5-product-gallery-thumb {
        min-width: 72px;
        border-radius: 14px;
    }
    .h5-product-experience-v020 .h5-product-info-cards {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .h5-product-experience-v020 .h5-info-card {
        min-height: auto;
        padding: 14px 16px;
    }
    .h5-product-experience-v020 .h5-detail-under-gallery,
    .h5-product-experience-v020 .h5-product-faq-section,
    .h5-product-experience-v020 .h5-related-programs-section {
        margin-top: 20px;
        padding: 20px;
        border-radius: 22px;
    }
    .h5-product-experience-v020 .h5-detail-under-gallery .h5-detail-main h2,
    .h5-product-experience-v020 .h5-product-faq-section h2,
    .h5-product-experience-v020 .h5-related-programs-section h2 {
        font-size: 22px;
    }
    .h5-product-experience-v020 .h5-faq-item summary {
        padding: 14px 15px;
        font-size: 14.5px;
    }
    .h5-product-experience-v020 .h5-faq-answer {
        padding: 0 15px 14px;
        font-size: 14.5px;
    }
    .h5-product-experience-v020 .h5-related-program-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 420px) {
    .h5-product-experience-v020 .h5-product-title-block h1 {
        font-size: 22px;
    }
    .h5-product-experience-v020 .h5-product-image-frame,
    .h5-product-experience-v020 .h5-product-main-image,
    .h5-product-experience-v020 .h5-product-placeholder {
        min-height: 220px;
        height: 220px !important;
    }
    .h5-product-experience-v020 .h5-option-card {
        padding: 12px;
    }
}

/* v0.3.0 Birthday / event booking product template */
.h5-birthday-experience .h5-birthday-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(380px, .72fr);
    gap: 34px;
    align-items: start;
}
.h5-birthday-experience .h5-birthday-booking-panel {
    position: sticky;
    top: 24px;
}
.h5-birthday-experience .h5-birthday-title-block h1 {
    font-size: clamp(30px, 3.2vw, 44px);
}
.h5-birthday-price-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}
.h5-birthday-price-strip div {
    padding: 14px;
    border-radius: 16px;
    background: #f7fbff;
    border: 1px solid #dbe7ef;
}
.h5-birthday-price-strip span,
.h5-birthday-total-box span span {
    display: block;
    font-size: 12px;
    font-weight: 800;
    color: #515151;
    text-transform: uppercase;
    letter-spacing: .02em;
}
.h5-birthday-price-strip strong {
    display: block;
    margin-top: 3px;
    color: #0C3883;
    font-size: 17px;
    line-height: 1.2;
}
.h5-birthday-info-cards .h5-info-card-icon {
    font-size: 24px;
    color: #44CCC8;
}
.h5-birthday-includes-section {
    margin-top: 22px;
}
.h5-birthday-included-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}
.h5-birthday-included-list li {
    position: relative;
    padding: 12px 14px 12px 38px;
    border-radius: 14px;
    background: #f7fbff;
    border: 1px solid #dbe7ef;
    color: #333;
    font-weight: 650;
}
.h5-birthday-included-list li::before {
    content: '✓';
    position: absolute;
    left: 14px;
    top: 12px;
    color: #02B784;
    font-weight: 900;
}
.h5-birthday-booking-card .h5-registration-header {
    background: linear-gradient(135deg, #e9fbfa 0%, #fff7ca 100%);
}
.h5-booking-warning {
    margin-top: 10px !important;
    color: #EF5C62 !important;
    font-weight: 800;
}
.h5-birthday-contact-row {
    grid-template-columns: 120px 1fr 1fr;
}
.h5-birthday-total-box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 12px;
}
.h5-birthday-total-box > span {
    display: block;
}
.h5-birthday-total-box strong {
    display: block;
    margin-top: 4px;
    color: #FFD015;
    font-size: 22px;
}
@media (max-width: 980px) {
    .h5-birthday-experience .h5-birthday-hero {
        grid-template-columns: 1fr;
    }
    .h5-birthday-experience .h5-birthday-booking-panel {
        position: static;
        order: -1;
    }
}
@media (max-width: 760px) {
    .h5-birthday-price-strip,
    .h5-birthday-included-list,
    .h5-birthday-total-box {
        grid-template-columns: 1fr;
    }
    .h5-birthday-contact-row {
        grid-template-columns: 1fr;
    }
}

/* v0.3.2 Birthday layout polish + availability workflow */
.h5-birthday-experience .h5-birthday-title-block {
    padding: 24px 24px 22px;
}
.h5-birthday-experience .h5-birthday-title-block h1 {
    font-size: clamp(26px, 2.4vw, 36px);
    line-height: 1.12;
    margin-bottom: 10px;
}
.h5-birthday-experience .h5-product-short-description {
    font-size: 15px;
    line-height: 1.55;
}
.h5-birthday-price-strip div,
.h5-birthday-info-cards .h5-info-card,
.h5-birthday-included-list li {
    box-shadow: 0 10px 24px rgba(12, 56, 131, .055);
}
.h5-birthday-info-cards .h5-info-card {
    gap: 13px;
    align-items: center;
}
.h5-birthday-info-cards .h5-info-card-icon {
    width: 30px;
    min-width: 30px;
    text-align: center;
    line-height: 1;
    color: #44CCC8;
}
.h5-birthday-includes-section {
    padding: 28px;
}
.h5-birthday-includes-section .h5-section-eyebrow {
    display: inline-flex;
    margin-bottom: 12px;
}
.h5-birthday-includes-section h2 {
    margin: 0 0 4px;
    font-size: clamp(24px, 2.2vw, 32px);
    line-height: 1.12;
    max-width: 620px;
}
.h5-birthday-included-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 20px;
}
.h5-birthday-included-list li {
    min-height: 74px;
    display: flex;
    align-items: center;
    font-size: 14px;
    line-height: 1.35;
}
.h5-birthday-booking-card .h5-registration-header h2 {
    font-size: clamp(24px, 2.2vw, 34px);
}
.h5-birthday-booking-card .h5-section-title h4 {
    font-size: 17px;
}
.h5-birthday-booking-card .h5-section-title p {
    font-size: 13.5px;
}
.h5-birthday-booking-card .h5-option-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.h5-birthday-booking-card .h5-option-card {
    min-height: 62px;
    grid-template-columns: 22px 1fr;
    align-items: start;
}
.h5-birthday-booking-card .h5-option-card .h5-option-price {
    grid-column: 2;
    margin-top: 2px;
}
.h5-birthday-total-box {
    border-radius: 0 0 22px 22px;
}
@media (max-width: 980px) {
    .h5-birthday-included-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 760px) {
    .h5-birthday-included-list,
    .h5-birthday-booking-card .h5-option-grid {
        grid-template-columns: 1fr;
    }
    .h5-birthday-experience .h5-birthday-title-block,
    .h5-birthday-includes-section {
        padding: 22px;
    }
}

/* v0.3.3 Birthday includes + date/time booking UX */
.h5-birthday-experience .h5-birthday-includes-section {
    display: block;
    margin-top: 28px;
    padding: 30px;
    border-radius: 30px;
    background: #ffffff;
    border: 1px solid rgba(219, 231, 239, .85);
    box-shadow: 0 20px 52px rgba(12, 56, 131, .07);
}
.h5-birthday-includes-section .h5-section-eyebrow {
    margin-bottom: 14px;
    padding: 7px 14px;
    width: fit-content;
    height: auto;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    background: #FFD015;
    color: #0C3883;
    font-size: 13px;
    line-height: 1;
}
.h5-birthday-includes-section h2 {
    margin: 0 0 18px;
    color: #515151;
    font-size: clamp(24px, 2.1vw, 34px);
    line-height: 1.12;
    max-width: 520px;
}
.h5-birthday-included-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.h5-birthday-included-list li {
    min-height: auto;
    padding: 14px 16px 14px 42px;
    display: block;
    border-radius: 16px;
    background: #f7fbff;
    border: 1px solid #dbe7ef;
    color: #0C3883;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 750;
}
.h5-birthday-included-list li::before {
    left: 16px;
    top: 14px;
    color: #02B784;
}
.h5-birthday-slot-section select[data-h5-birthday-date] {
    font-weight: 750;
    color: #0C3883;
}
.h5-birthday-time-wrap {
    margin-top: 14px;
}
.h5-birthday-time-empty {
    padding: 14px 16px;
    border: 1px dashed #cbd5e1;
    border-radius: 14px;
    background: #f7fbff;
    color: #515151;
    font-weight: 700;
}
.h5-birthday-time-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.h5-time-slot-card {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
    padding: 13px 14px;
    border: 1px solid #dbe7ef;
    border-radius: 14px;
    background: #f7fbff;
    color: #0C3883;
    font-weight: 800;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.h5-time-slot-card:hover {
    border-color: #44CCC8;
    background: #eefdfc;
    transform: translateY(-1px);
}
.h5-time-slot-card:has(input:checked) {
    border-color: #44CCC8;
    background: #e9fbfa;
    box-shadow: 0 10px 24px rgba(68, 204, 200, .18);
}
.h5-time-slot-card input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: #44CCC8;
    flex: 0 0 auto;
}
.h5-time-slot-card span {
    line-height: 1.25;
}
@media (max-width: 760px) {
    .h5-birthday-included-list,
    .h5-birthday-time-grid {
        grid-template-columns: 1fr;
    }
    .h5-birthday-experience .h5-birthday-includes-section {
        padding: 22px;
        border-radius: 24px;
    }
}

/* v0.3.4 Birthday calendar date picker */
.h5-birthday-calendar-field > label {
    margin-bottom: 10px;
}
.h5-birthday-calendar {
    max-height: 360px;
    overflow: auto;
    padding: 12px;
    border: 1px solid #dbe7ef;
    border-radius: 18px;
    background: #f7fbff;
}
.h5-calendar-month + .h5-calendar-month {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #dbe7ef;
}
.h5-calendar-month-title {
    margin: 0 0 10px;
    color: #0C3883;
    font-size: 15px;
    line-height: 1.25;
    font-weight: 850;
}
.h5-calendar-weekdays,
.h5-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
}
.h5-calendar-weekdays {
    margin-bottom: 6px;
}
.h5-calendar-weekdays span {
    text-align: center;
    color: #64748b;
    font-size: 10px;
    line-height: 1;
    font-weight: 800;
    text-transform: uppercase;
}
.h5-calendar-day {
    min-height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 800;
}
.h5-calendar-day-empty {
    visibility: hidden;
}
.h5-calendar-day-disabled {
    color: #94a3b8;
    background: #eef2f7;
    border: 1px solid transparent;
    font-size: 13px;
}
.h5-calendar-day-available {
    flex-direction: column;
    gap: 3px;
    border: 1px solid #bfe7e4;
    background: #ffffff;
    color: #0C3883;
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.h5-calendar-day-available:hover {
    transform: translateY(-1px);
    border-color: #44CCC8;
    background: #eefdfc;
}
.h5-calendar-day-available.is-selected {
    border-color: #44CCC8;
    background: #44CCC8;
    color: #0C3883;
    box-shadow: 0 10px 22px rgba(68, 204, 200, .22);
}
.h5-calendar-day-number {
    font-size: 15px;
    line-height: 1;
}
.h5-calendar-day-slots {
    font-size: 9px;
    line-height: 1;
    font-weight: 850;
    opacity: .85;
}
@media (max-width: 760px) {
    .h5-birthday-calendar {
        max-height: 330px;
        padding: 10px;
    }
    .h5-calendar-weekdays,
    .h5-calendar-grid {
        gap: 4px;
    }
    .h5-calendar-day {
        min-height: 44px;
        border-radius: 10px;
    }
    .h5-calendar-day-number {
        font-size: 14px;
    }
    .h5-calendar-day-slots {
        font-size: 8px;
    }
}

/* Hive5 Waiver & Family Profile Foundation v0.5.0 */
.h5-waiver-page {
    max-width: 980px;
    margin: 36px auto;
    padding: 0 18px;
}
.h5-waiver-hero {
    padding: 30px;
    border-radius: 24px;
    background: linear-gradient(135deg, #f7fbff 0%, #e9fbfa 100%);
    border: 1px solid #dcecf5;
    box-shadow: 0 14px 36px rgba(12, 56, 131, 0.08);
    margin-bottom: 22px;
}
.h5-waiver-hero h2 {
    margin: 0 0 8px;
    color: #0C3883;
    font-size: 32px;
    line-height: 1.18;
}
.h5-waiver-hero p {
    margin: 0;
    color: #515151;
}
.h5-waiver-form {
    background: #fff;
    border: 1px solid #e4edf5;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 16px 42px rgba(12, 56, 131, 0.08);
}
.h5-waiver-section {
    padding: 26px;
    border-bottom: 1px solid #edf2f7;
}
.h5-waiver-section:last-of-type {
    border-bottom: none;
}
.h5-waiver-section h3 {
    margin: 0 0 16px;
    color: #0C3883;
    font-size: 22px;
    line-height: 1.25;
}
.h5-waiver-section-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 16px;
}
.h5-waiver-section-head h3,
.h5-waiver-section-head p {
    margin: 0;
}
.h5-waiver-section-head p {
    color: #6B7280;
    font-size: 14px;
}
.h5-waiver-grid {
    display: grid;
    gap: 16px;
}
.h5-waiver-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.h5-waiver-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.h5-waiver-form label {
    display: block;
    color: #0C3883;
    font-weight: 700;
    font-size: 14px;
}
.h5-waiver-form input,
.h5-waiver-form textarea {
    width: 100%;
    margin-top: 7px;
    border: 1px solid #d7e4ef;
    border-radius: 14px;
    padding: 12px 13px;
    color: #515151;
    background: #fff;
}
.h5-waiver-form input:focus,
.h5-waiver-form textarea:focus {
    outline: none;
    border-color: #44CCC8;
    box-shadow: 0 0 0 3px rgba(68, 204, 200, 0.18);
}
.h5-waiver-full {
    margin-top: 16px;
}
.h5-waiver-text {
    padding: 18px;
    border-radius: 18px;
    background: #f7fbff;
    border: 1px solid #dcecf5;
    color: #515151;
    margin-bottom: 18px;
}
.h5-waiver-signature {
    margin-bottom: 16px;
}
.h5-waiver-consents {
    display: grid;
    gap: 10px;
}
.h5-waiver-consent {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    padding: 13px;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid #e4edf5;
}
.h5-waiver-consent input {
    width: auto;
    margin: 2px 0 0 !important;
}
.h5-waiver-submit {
    margin: 0 26px 26px;
    background: #44CCC8 !important;
    color: #0C3883 !important;
    border-radius: 14px !important;
    padding: 14px 28px !important;
    font-weight: 800 !important;
    border: none !important;
}
.h5-waiver-notice {
    margin: 0 0 18px;
    padding: 14px 16px;
    border-radius: 16px;
    font-weight: 700;
}
.h5-waiver-success {
    background: #e9fbf4;
    color: #047857;
    border: 1px solid #b7f0d9;
}
.h5-waiver-error {
    background: #fff1f2;
    color: #be123c;
    border: 1px solid #fecdd3;
}
@media (max-width: 760px) {
    .h5-waiver-grid-2,
    .h5-waiver-grid-3 {
        grid-template-columns: 1fr;
    }
    .h5-waiver-section-head {
        display: block;
    }
    .h5-waiver-hero h2 {
        font-size: 26px;
    }
    .h5-waiver-section {
        padding: 20px;
    }
    .h5-waiver-submit {
        width: calc(100% - 40px);
        margin: 0 20px 22px;
    }
}


/* Hive5 My Account family profile */
.h5-account-family { max-width: 980px; }
.h5-account-family-head { background: #f7fbff; border: 1px solid rgba(39,90,177,.12); border-radius: 22px; padding: 24px; margin-bottom: 22px; }
.h5-account-family-head h2 { margin: 6px 0 8px; font-size: 30px; }
.h5-account-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 24px; }
.h5-account-card, .h5-account-children, .h5-account-waivers, .h5-account-empty { background: #fff; border: 1px solid rgba(12,56,131,.12); border-radius: 20px; padding: 22px; box-shadow: 0 12px 35px rgba(12,56,131,.07); }
.h5-account-card h3, .h5-account-children h3, .h5-account-waivers h3 { margin-top: 0; font-size: 20px; }
.h5-waiver-status { display: inline-flex; align-items: center; border-radius: 999px; padding: 6px 12px; font-weight: 800; margin: 0 0 10px; }
.h5-waiver-status.is-valid { background: rgba(2,183,132,.12); color: #027a5b; }
.h5-waiver-status.is-expired, .h5-waiver-status.is-missing { background: rgba(239,92,98,.12); color: #c3343b; }
.h5-child-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.h5-child-card { border: 1px solid rgba(68,204,200,.28); background: #f7fbff; border-radius: 16px; padding: 16px; }
.h5-child-card h4 { margin: 0 0 8px; font-size: 18px; }
.h5-waiver-record-list { margin: 0; padding-left: 18px; }
@media (max-width: 720px) {
  .h5-account-cards, .h5-child-list { grid-template-columns: 1fr; }
  .h5-account-family-head h2 { font-size: 25px; }
}

/* v0.5.3 Hive5 custom WooCommerce My Account dashboard */
.h5-account-dashboard {
    max-width: 1080px;
}
.h5-account-dashboard-hero {
    margin-bottom: 22px;
    padding: 28px;
    border: 1px solid rgba(39, 90, 177, .14);
    border-radius: 24px;
    background: linear-gradient(135deg, #f7fbff 0%, #e9fbfa 100%);
    box-shadow: 0 14px 38px rgba(12, 56, 131, .07);
}
.h5-account-dashboard-hero h2 {
    margin: 8px 0 10px;
    color: #0C3883;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.12;
}
.h5-account-dashboard-hero p {
    max-width: 720px;
    margin: 0;
    color: #515151;
    font-size: 17px;
    line-height: 1.55;
}
.h5-account-status-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 22px;
}
.h5-account-status-card,
.h5-account-action-card {
    border: 1px solid rgba(12, 56, 131, .12);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(12, 56, 131, .06);
}
.h5-account-status-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px;
}
.h5-account-status-icon,
.h5-account-action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 16px;
    background: rgba(68, 204, 200, .12);
    color: #0C3883;
    font-size: 22px;
    flex: 0 0 auto;
}
.h5-account-status-card strong {
    display: block;
    color: #0C3883;
    font-size: 22px;
    line-height: 1.1;
}
.h5-account-status-card span:last-child {
    color: #515151;
    font-size: 14px;
}
.h5-account-action-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.h5-account-action-card {
    padding: 22px;
}
.h5-account-action-card h3 {
    margin: 14px 0 8px;
    color: #0C3883;
    font-size: 20px;
    line-height: 1.2;
}
.h5-account-action-card p {
    min-height: 68px;
    margin: 0 0 18px;
    color: #515151;
    line-height: 1.5;
}
.h5-account-action-card .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 12px;
    background: #44CCC8;
    color: #0C3883;
    font-weight: 800;
    text-decoration: none;
}
.h5-account-action-card .button:hover {
    background: #FFD015;
    color: #0C3883;
}
@media (max-width: 980px) {
    .h5-account-status-grid,
    .h5-account-action-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 640px) {
    .h5-account-status-grid,
    .h5-account-action-grid {
        grid-template-columns: 1fr;
    }
    .h5-account-dashboard-hero,
    .h5-account-action-card,
    .h5-account-status-card {
        border-radius: 18px;
    }
    .h5-account-dashboard-hero {
        padding: 22px;
    }
    .h5-account-action-card p {
        min-height: auto;
    }
}

/* v0.5.4 Hive5 Core UI foundation
   Stable styling layer so custom CSS can target broad Hive5 Core elements instead of many section-specific classes. */
.h5-core-scope {
    --h5-color-primary: #44CCC8;
    --h5-color-secondary: #FFD015;
    --h5-color-blue: #275AB1;
    --h5-color-dark-blue: #0C3883;
    --h5-color-text: #515151;
    --h5-color-muted: #6B7280;
    --h5-color-border: #d7e4ef;
    --h5-color-soft: #f7fbff;
    --h5-radius-field: 12px;
    --h5-radius-card: 20px;
    --h5-font-h2: 22px;
    --h5-font-h3: 20px;
    --h5-font-label: 14px;
}

.h5-core-scope *,
.h5-core-scope *::before,
.h5-core-scope *::after {
    box-sizing: border-box;
}

/* Stable heading scale across plugin areas */
.h5-core-scope :is(h1, h2, h3, h4) {
    color: var(--h5-color-dark-blue);
    line-height: 1.2;
}
.h5-core-scope :is(.h5-waiver-hero h2, .h5-account-dashboard-hero h2, .h5-account-family-head h2) {
    font-size: var(--h5-font-h2);
}
.h5-core-scope :is(.h5-waiver-section h3, .h5-account-card h3, .h5-account-children h3, .h5-account-waivers h3, .h5-account-action-card h3) {
    font-size: var(--h5-font-h3);
}
.single-content .h5-core-scope h2 {
    margin: .5em 0 .5em;
}

/* Stable form field layer across registration, booking, waiver, and account forms */
.h5-core-scope :is(input[type="text"], input[type="email"], input[type="tel"], input[type="date"], input[type="number"], select, textarea) {
    border-radius: var(--h5-radius-field);
    border: 1px solid var(--h5-color-border);
    min-height: 44px;
}
.h5-core-scope input[type="email"] {
    padding: .4em .5em;
}
.h5-core-scope :is(input[type="text"], input[type="email"], input[type="tel"], input[type="date"], input[type="number"], select, textarea):focus {
    border-color: var(--h5-color-primary);
    box-shadow: 0 0 0 3px rgba(68, 204, 200, .18);
    outline: none;
}

/* Stable checkbox/radio layer */
.h5-core-scope :is(input[type="checkbox"], input[type="radio"]) {
    accent-color: var(--h5-color-primary);
}

/* WooCommerce/select2 cleanup inside Hive5 UI only */
.h5-core-scope span.select2-selection__clear {
    display: none !important;
}

/* Stable button layer */
.h5-core-scope :is(button, .button, input[type="submit"]) {
    border-radius: 14px;
    font-weight: 800;
}
.h5-core-scope :is(.h5-waiver-submit, button[type="submit"], .single_add_to_cart_button) {
    color: #fff !important;
}
.h5-core-scope :is(.h5-waiver-submit, button[type="submit"], .single_add_to_cart_button):hover {
    background-color: var(--h5-color-secondary) !important;
    color: var(--h5-color-dark-blue) !important;
}

/* Stable card/panel styling across plugin areas */
.h5-core-scope :is(.h5-registration-card, .h5-waiver-form, .h5-waiver-hero, .h5-account-dashboard-hero, .h5-account-family-head, .h5-account-card, .h5-account-children, .h5-account-waivers, .h5-account-empty, .h5-account-action-card, .h5-account-status-card) {
    border-radius: var(--h5-radius-card);
}

/* Waiver/account spacing refinements */
.h5-waiver-page {
    padding: inherit;
}
.h5-waiver-submit {
    color: #fff !important;
}
.h5-waiver-submit:hover {
    background-color: var(--h5-color-secondary) !important;
    color: var(--h5-color-dark-blue) !important;
}


/* v0.5.5 Hive5 Core UI foundation aligned with Kadence global settings */
.h5-core-scope {
    --h5-primary: #44CCC8;
    --h5-secondary: #FFD015;
    --h5-text: #515151;
    --h5-accent: #EF5C62;
    --h5-blue: #275AB1;
    --h5-dark-blue: #0C3883;
    --h5-white: #FFFFFF;
    --h5-green: #02B784;
    --h5-radius: 12px;
    --h5-button-radius: 12px;
    --h5-input-height: 48px;
    font-family: inherit;
    color: var(--h5-text);
}
.h5-core-scope h1 { font-size: 25px; line-height: 1.15; font-weight: 700; color: var(--h5-text); }
.h5-core-scope h2 { font-size: 22px; line-height: 1.2; font-weight: 700; color: var(--h5-dark-blue); }
.h5-core-scope h3 { font-size: 20px; line-height: 1.25; font-weight: 700; color: var(--h5-dark-blue); }
.h5-core-scope h4 { font-size: 16px; line-height: 1.3; font-weight: 700; color: var(--h5-dark-blue); }
.h5-core-scope h5 { font-size: 15px; line-height: 1.35; font-weight: 700; color: var(--h5-dark-blue); }
.h5-core-scope h6 { font-size: 14px; line-height: 1.4; font-weight: 700; color: var(--h5-dark-blue); }
.h5-core-scope p { color: var(--h5-text); }
.h5-core-scope label { color: var(--h5-dark-blue); font-weight: 700; }
.h5-core-scope input[type="text"],
.h5-core-scope input[type="email"],
.h5-core-scope input[type="tel"],
.h5-core-scope input[type="number"],
.h5-core-scope input[type="date"],
.h5-core-scope select,
.h5-core-scope textarea {
    min-height: var(--h5-input-height);
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: var(--h5-radius);
    padding: 12px 13px;
    background: #fff;
    color: var(--h5-text);
    font: inherit;
    box-shadow: none;
}
.h5-core-scope textarea { min-height: 96px; }
.h5-core-scope input:focus,
.h5-core-scope select:focus,
.h5-core-scope textarea:focus {
    outline: none;
    border-color: var(--h5-primary);
    box-shadow: 0 0 0 3px rgba(68, 204, 200, .18);
}
.h5-core-scope input[type="checkbox"],
.h5-core-scope input[type="radio"] {
    width: 18px;
    height: 18px;
    min-height: 18px;
    margin: 0;
    accent-color: var(--h5-primary);
    flex: 0 0 auto;
}
.h5-core-scope button,
.h5-core-scope .button,
.h5-core-scope input[type="submit"],
.h5-core-scope .single_add_to_cart_button,
.h5-core-scope .h5-add-to-cart-button,
.h5-core-scope .h5-waiver-submit {
    border-radius: var(--h5-button-radius) !important;
    padding: 14px 26px !important;
    background: var(--h5-primary) !important;
    color: var(--h5-dark-blue) !important;
    border: none !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    min-height: 52px;
}
.h5-core-scope button:hover,
.h5-core-scope .button:hover,
.h5-core-scope input[type="submit"]:hover,
.h5-core-scope .single_add_to_cart_button:hover,
.h5-core-scope .h5-add-to-cart-button:hover,
.h5-core-scope .h5-waiver-submit:hover {
    background: var(--h5-secondary) !important;
    color: var(--h5-dark-blue) !important;
}
.h5-core-scope .select2-selection__clear,
.h5-core-scope span.select2-selection__clear { display: none !important; }
.h5-core-scope .h5-birthday-contact-row {
    grid-template-columns: 120px minmax(0, 1fr) minmax(0, 1fr);
    align-items: end;
}
.h5-core-scope .h5-birthday-contact-row .h5-field-group { min-width: 0; }
.h5-core-scope .h5-calendar-day-disabled {
    opacity: .72;
}
.h5-core-scope .h5-calendar-day-available {
    background: var(--h5-white);
    border-color: rgba(68,204,200,.45);
}
.h5-core-scope .h5-calendar-day-available.is-selected,
.h5-core-scope .h5-calendar-day-available:hover {
    background: var(--h5-primary);
    color: var(--h5-dark-blue);
}
@media (max-width: 860px) {
    .h5-core-scope .h5-birthday-contact-row { grid-template-columns: 1fr; }
}


/* Calendar days and birthday times share the same button states (v0.9.12). */
.h5-core-scope .h5-calendar-day-available,
.h5-core-scope .h5-birthday-time-button {
    background: var(--h5-primary) !important;
    border-color: var(--h5-primary) !important;
    color: #fff !important;
}
.h5-core-scope .h5-calendar-day-available .h5-calendar-day-number,
.h5-core-scope .h5-calendar-day-available .h5-calendar-day-slots {
    color: #fff !important;
}
.h5-core-scope .h5-calendar-day-available:hover,
.h5-core-scope .h5-calendar-day-available.is-selected,
.h5-core-scope .h5-birthday-time-button:hover,
.h5-core-scope .h5-birthday-time-button.is-selected {
    background: var(--h5-secondary) !important;
    border-color: var(--h5-secondary) !important;
    color: var(--h5-dark-blue) !important;
}
.h5-core-scope .h5-calendar-day-available:hover .h5-calendar-day-number,
.h5-core-scope .h5-calendar-day-available:hover .h5-calendar-day-slots,
.h5-core-scope .h5-calendar-day-available.is-selected .h5-calendar-day-number,
.h5-core-scope .h5-calendar-day-available.is-selected .h5-calendar-day-slots {
    color: var(--h5-dark-blue) !important;
}


/* v0.5.9: restore Hive5 dashboard cards while keeping account navigation visible. */

/* v0.5.17 Birthday info card SVG icons */
.h5-birthday-info-cards .h5-info-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    min-width: 30px;
    height: 30px;
    color: #44CCC8;
}
.h5-birthday-info-cards .h5-info-card-icon svg {
    display: block;
    width: 24px;
    height: 24px;
    color: #44CCC8;
    fill: none;
}


/* v0.8.2 Event Booking: one fixed event time per selected date */
.h5-birthday-fixed-time {
    margin-top: 12px;
    padding: 11px 14px;
    border-radius: 10px;
    background: #f7fbff;
    color: #0c3883;
    font-size: 14px;
}
.h5-birthday-fixed-time[hidden] {
    display: none !important;
}


/* v0.9.6 Membership product — uses the same Hive5 product design system */
.h5-membership-experience .h5-product-title-block h1{
    color:#0C3883;
}
.h5-membership-price{
    margin-top:16px;
    color:#275AB1;
    font-size:30px;
    font-weight:800;
    line-height:1.1;
}
.h5-membership-price .amount{
    color:inherit;
}
.h5-membership-card{
    margin:0;
}
.h5-membership-benefit-list{
    display:grid;
    gap:10px;
}
.h5-membership-benefit-list>div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:13px 15px;
    border:1px solid #dbe7ef;
    border-radius:14px;
    background:#f7fbff;
}
.h5-membership-benefit-list span{
    color:#515151;
    font-weight:700;
}
.h5-membership-benefit-list strong{
    color:#0C3883;
    text-align:right;
}
.h5-membership-benefit-note{
    margin:14px 0 0!important;
    padding:13px 15px;
    border-left:4px solid #44CCC8;
    border-radius:0 12px 12px 0;
    background:#eef9f7;
    color:#515151!important;
    line-height:1.55;
}
.h5-membership-card .h5-club-membership-fields{
    margin:0;
}
.h5-membership-card .h5-club-membership-fields>p:first-child,
.h5-membership-card .h5-club-membership-fields>p:nth-child(2),
.h5-membership-card .h5-club-membership-fields>p:nth-child(3){
    display:none;
}
.h5-membership-card .form-row{
    margin:0 0 16px;
}
.h5-membership-card .form-row label{
    display:block;
    margin-bottom:7px;
    color:#0C3883;
    font-weight:800;
}
.h5-membership-card input[type="text"],
.h5-membership-card input[type="date"]{
    width:100%;
    min-height:48px;
    padding:11px 13px;
    border:1px solid #cbd5e1;
    border-radius:12px;
    background:#fff;
    color:#333;
}
.h5-membership-card .h5-club-membership-fields>p:last-child{
    margin:4px 0 0;
    color:#667085;
    line-height:1.5;
}
.h5-membership-add-button{
    width:100%;
    min-height:54px;
    margin-top:14px!important;
    border-radius:14px!important;
    background:#44CCC8!important;
    color:#fff!important;
    font-weight:800!important;
}
.h5-membership-add-button:hover,
.h5-membership-add-button:focus{
    background:#FFD015!important;
    color:#0C3883!important;
}
.h5-membership-detail-section{
    grid-template-columns:1fr;
}
.h5-membership-aside{
    margin-top:18px;
}
@media(max-width:760px){
    .h5-membership-benefit-list>div{
        align-items:flex-start;
        flex-direction:column;
        gap:4px;
    }
    .h5-membership-benefit-list strong{
        text-align:left;
    }
}


/* v0.9.7 Unified Hive5 product layout system
   Registration / Event Booking / Club / Membership share one structural language. */
.h5-product-experience{
    --h5-product-gap:28px;
    --h5-product-radius:24px;
    --h5-product-border:#dbe7ef;
    --h5-product-shadow:0 16px 42px rgba(12,56,131,.08);
    --h5-product-title:#0C3883;
}
.h5-product-experience .h5-product-hero,
.h5-birthday-experience .h5-birthday-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:var(--h5-product-gap)!important;
    align-items:start!important;
}
.h5-product-experience .h5-product-registration-panel,
.h5-birthday-experience .h5-birthday-booking-panel{
    min-width:0;
}
@media (min-width:1121px){
    .h5-product-experience .h5-product-registration-panel,
    .h5-birthday-experience .h5-birthday-booking-panel{
        position:sticky!important;
        top:24px!important;
        align-self:start!important;
    }
}

/* Unified title language */
.h5-product-experience .h5-product-title-block h1,
.h5-birthday-experience .h5-product-title-block h1{
    margin:0 0 10px!important;
    color:var(--h5-product-title)!important;
    font-size:clamp(28px,2.45vw,38px)!important;
    line-height:1.12!important;
    letter-spacing:-.02em!important;
    font-weight:800!important;
}
.h5-product-experience .h5-product-short-description,
.h5-birthday-experience .h5-product-short-description{
    color:#515151!important;
    font-size:15px!important;
    line-height:1.6!important;
}
.h5-product-experience .h5-product-title-block,
.h5-birthday-experience .h5-product-title-block{
    border:1px solid rgba(219,231,239,.8);
    border-radius:var(--h5-product-radius)!important;
    box-shadow:var(--h5-product-shadow)!important;
}

/* Different soft gradients, same component */
.h5-registration-experience .h5-product-title-block{
    background:linear-gradient(135deg,#ffffff 0%,#eefafa 100%)!important;
}
.h5-birthday-experience .h5-birthday-title-block{
    background:linear-gradient(135deg,#ffffff 0%,#fff9df 100%)!important;
}
.h5-membership-experience .h5-product-title-block{
    background:linear-gradient(135deg,#ffffff 0%,#eef6ff 100%)!important;
}
.h5-club-experience .h5-product-title-block{
    background:linear-gradient(135deg,#ffffff 0%,#f0fbf5 100%)!important;
}

/* Right-column form/card header gradients: same geometry, color nuance by type */
.h5-product-experience .h5-registration-header{
    border-radius:20px 20px 0 0;
}
.h5-registration-experience .h5-registration-header{
    background:linear-gradient(135deg,#f7fbff 0%,#e9fbfa 100%)!important;
}
.h5-birthday-experience .h5-registration-header{
    background:linear-gradient(135deg,#fffdf4 0%,#fff7c9 100%)!important;
}
.h5-membership-experience .h5-registration-header{
    background:linear-gradient(135deg,#f7fbff 0%,#eaf4ff 100%)!important;
}
.h5-club-experience .h5-registration-header,
.h5-club-experience .h5-steam>h2{
    background:linear-gradient(135deg,#f7fbff 0%,#eaf9f1 100%)!important;
}

/* Unified media and card geometry */
.h5-product-experience .h5-product-image-frame,
.h5-birthday-experience .h5-product-image-frame{
    min-height:500px!important;
    height:500px!important;
    border-radius:var(--h5-product-radius)!important;
}
.h5-product-experience .h5-product-main-image,
.h5-birthday-experience .h5-product-main-image{
    min-height:500px!important;
    height:500px!important;
    object-fit:cover!important;
}
.h5-product-experience .h5-info-card,
.h5-birthday-experience .h5-info-card{
    min-width:0;
    padding:16px!important;
    border-radius:16px!important;
}
.h5-product-experience .h5-info-card>span,
.h5-product-experience .h5-info-card>strong,
.h5-birthday-experience .h5-info-card>span,
.h5-birthday-experience .h5-info-card>strong{
    display:block!important;
    width:100%!important;
    position:static!important;
}
.h5-product-experience .h5-info-card>strong,
.h5-birthday-experience .h5-info-card>strong{
    margin-top:4px!important;
    overflow-wrap:anywhere;
}
.h5-membership-info-cards .h5-info-card,
.h5-club-info-cards .h5-info-card{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
}

/* Unified price emphasis */
.h5-membership-price{
    margin-top:14px!important;
    color:#275AB1!important;
    font-size:30px!important;
    font-weight:800!important;
    line-height:1.1!important;
}
.h5-membership-price small{
    font-size:13px;
    color:#515151;
    font-weight:700;
}

/* Calendar: date only, no repeated "Available" label */
.h5-calendar-day-available small{
    display:none!important;
}
.h5-calendar-day-available{
    flex-direction:row!important;
    gap:0!important;
}

/* Club form inherits same right-column card system */
.h5-club-experience .h5-steam{
    margin:0;
    padding:0;
    border:1px solid var(--h5-product-border);
    border-radius:22px;
    background:#fff;
    overflow:hidden;
    box-shadow:var(--h5-product-shadow);
}
.h5-club-experience .h5-steam>h2{
    margin:0!important;
    padding:22px 24px!important;
    color:#0C3883!important;
    font-size:27px!important;
    line-height:1.2!important;
    border-bottom:1px solid #dcecf5;
}
.h5-club-experience .h5-steam>p{
    margin:0;
    padding:18px 24px 0;
}
.h5-club-experience .h5-steam form{
    padding:20px 24px 24px;
}
.h5-club-experience .h5-steam fieldset{
    margin:0 0 18px;
    padding:16px;
    border:1px solid #dbe7ef;
    border-radius:14px;
    background:#f7fbff;
}
.h5-club-experience .h5-steam legend{
    padding:0 6px;
    color:#0C3883;
    font-weight:800;
}
.h5-club-experience .h5-steam input[type=text],
.h5-club-experience .h5-steam input[type=email],
.h5-club-experience .h5-steam input[type=tel],
.h5-club-experience .h5-steam input[type=date]{
    width:100%;
    min-height:46px;
    padding:10px 12px;
    border:1px solid #cbd5e1;
    border-radius:12px;
    background:#fff;
}
.h5-club-experience .h5-steam button[type=submit]{
    min-height:50px;
    padding:12px 18px;
    border:0;
    border-radius:12px;
    background:#44CCC8;
    color:#fff;
    font-weight:800;
}
.h5-club-experience .h5-steam button[type=submit]:hover{
    background:#FFD015;
    color:#0C3883;
}

/* Desktop height/flow consistency */
@media (max-width:1120px){
    .h5-product-experience .h5-product-hero,
    .h5-birthday-experience .h5-birthday-hero{
        grid-template-columns:1fr!important;
    }
    .h5-product-experience .h5-product-registration-panel,
    .h5-birthday-experience .h5-birthday-booking-panel{
        position:relative!important;
        top:auto!important;
        max-width:820px!important;
        width:100%!important;
        margin-inline:auto!important;
    }
}
@media (max-width:760px){
    .h5-product-experience .h5-product-image-frame,
    .h5-product-experience .h5-product-main-image,
    .h5-birthday-experience .h5-product-image-frame,
    .h5-birthday-experience .h5-product-main-image{
        min-height:300px!important;
        height:300px!important;
    }
}


/* v0.9.8 exact product info-card parity */
.h5-membership-info-cards .h5-info-card{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    min-height:78px;
}
.h5-membership-info-cards .h5-info-card-icon{
    display:flex!important;
    align-items:center;
    justify-content:center;
    flex:0 0 36px;
    width:36px;
    height:36px;
    margin:0!important;
    color:#44CCC8;
}
.h5-membership-info-cards .h5-info-card-icon svg{
    width:32px;
    height:32px;
    display:block;
}
.h5-membership-info-cards .h5-info-card-content{
    display:block!important;
    min-width:0;
    flex:1 1 auto;
}
.h5-membership-info-cards .h5-info-card-content>span{
    margin:0 0 3px!important;
    color:#515151!important;
    font-size:13px!important;
    font-weight:700!important;
    line-height:1.25!important;
}
.h5-membership-info-cards .h5-info-card-content>strong{
    display:block!important;
    margin:0!important;
    color:#0C3883!important;
    font-size:15px!important;
    line-height:1.25!important;
    font-weight:800!important;
    overflow-wrap:anywhere;
}
.h5-calendar-day-slots{
    display:none!important;
}


/* v0.9.9 Membership summary cards: exact horizontal parity with Event/Registration */
.h5-membership-info-cards .h5-info-card{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;
    min-height:78px;
    padding:16px!important;
}
.h5-membership-info-cards .h5-info-card-icon{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 36px!important;
    width:36px!important;
    height:36px!important;
    margin:0!important;
}
.h5-membership-info-cards .h5-info-card-content{
    display:block!important;
    flex:1 1 auto!important;
    min-width:0!important;
    width:auto!important;
    margin:0!important;
}
.h5-membership-info-cards .h5-info-card-content>span{
    display:block!important;
    margin:0 0 3px!important;
}
.h5-membership-info-cards .h5-info-card-content>strong{
    display:block!important;
    margin:0!important;
}


/* Birthday booking v0.9.11 — date + independent time-slot selection */
.h5-birthday-time-picker{
    margin-top:14px;
    padding:14px;
    border:1px solid #dbe7ef;
    border-radius:16px;
    background:#f7fbff;
}
.h5-birthday-time-picker>strong{
    display:block;
    margin-bottom:10px;
    color:#0C3883;
}
.h5-birthday-time-options{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.h5-birthday-time-button{
    min-height:44px;
    border:1px solid #bfe7e4;
    border-radius:12px;
    background:#fff;
    color:#0C3883;
    font-weight:800;
    cursor:pointer;
    transition:.16s ease;
}
.h5-birthday-time-button:hover{
    transform:translateY(-1px);
    border-color:#44CCC8;
    background:#eefdfc;
}
.h5-birthday-time-button.is-selected{
    border-color:#44CCC8;
    background:#44CCC8;
    color:#0C3883;
    box-shadow:0 8px 18px rgba(68,204,200,.22);
}
.h5-birthday-selected-time{
    margin-top:10px;
    padding:10px 12px;
    border-radius:12px;
    background:#fff;
    color:#0C3883;
}
.h5-birthday-included-summary{
    margin:0 0 14px;
    padding:12px 14px;
    border-radius:14px;
    background:#f7fbff;
    color:#515151;
}
@media(max-width:600px){
    .h5-birthday-time-options{grid-template-columns:1fr}
}

/* v0.9.17: let the two product-derived booking summary values fill their row. */
.h5-birthday-experience .h5-birthday-price-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
.h5-birthday-experience .h5-birthday-price-strip>div{min-width:0}
@media(max-width:480px){.h5-birthday-experience .h5-birthday-price-strip{grid-template-columns:1fr}}

/* v0.9.18: visible shortcut to the existing, product-derived included-items section. */
.h5-birthday-included-jump{display:inline-flex;align-items:center;margin:6px 0 13px;color:#0c3883;font-size:14px;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.h5-birthday-included-jump:hover{color:#2cb5b1}
#h5-whats-included{scroll-margin-top:110px}
@media(prefers-reduced-motion:no-preference){html:has(.h5-birthday-included-jump){scroll-behavior:smooth}}

/* Membership family selector v0.9.22: inherits Registration card styling. */
.h5-membership-period-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.h5-membership-period-choice{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:14px;border:1px solid #dbe8ec;border-radius:12px;cursor:pointer;background:#fff}
.h5-membership-period-choice:has(input:checked){border-color:#44ccc8;background:#eafafa}
.h5-membership-period-choice input{accent-color:#19aaa6}
.h5-membership-family-total{font-weight:700;color:#082f63;margin:12px 0}
.h5-membership-child-row{padding:12px 0;border-bottom:1px solid #e4edf0}
.h5-membership-native-variations{display:none!important}
@media(max-width:520px){.h5-membership-period-options{grid-template-columns:1fr}}

/* v0.9.23 Membership shares the Registration product's numbered form components. */
.h5-membership-card .h5-membership-benefit-list{display:grid;gap:10px;}
.h5-membership-card .h5-membership-benefit-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:#f6fafc;border:1px solid #e3edf6;border-radius:9px;}
.h5-membership-card .h5-membership-child-row+.h5-membership-child-row{margin-top:16px;padding-top:16px;border-top:1px solid #dce8f3;}
.h5-membership-card .h5-sibling-fields .h5-membership-child-row{padding:12px;border:1px dashed #3374d2;border-radius:10px;margin-top:10px;}
.h5-membership-card .h5-membership-waiver-note{margin-top:12px;font-size:13px;line-height:1.6;}
.h5-membership-card input[type=date]{width:100%;min-width:0;}

/* v0.9.25: scoped Membership form layout and controls. */
.h5-membership-experience .h5-membership-info-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px;width:100%;}
.h5-membership-experience .h5-membership-info-cards .h5-info-card{min-width:0;overflow:hidden;padding:12px 10px;}
.h5-membership-experience .h5-membership-info-cards .h5-info-card-content{min-width:0;max-width:100%;}
.h5-membership-experience .h5-membership-info-cards .h5-info-card-content>strong{white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.3;}
.h5-membership-experience .h5-membership-aside{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px;min-width:0;}
.h5-membership-experience .h5-membership-aside .h5-side-note-card{margin:0;min-width:0;}
.h5-membership-experience .h5-membership-card .h5-sibling-fields{min-width:0;max-width:100%;padding:12px;border:1px dashed #b8d5ea;border-radius:12px;margin-top:12px;}
.h5-membership-experience .h5-membership-card .h5-sibling-fields .h5-membership-child-row{min-width:0;padding:14px;border:1px solid #dce8f3;border-radius:10px;background:#fff;}
.h5-membership-experience .h5-membership-card .h5-sibling-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;}
.h5-membership-experience .h5-membership-card .h5-remove-sibling{width:auto!important;min-height:32px!important;display:inline-flex;align-items:center;justify-content:center;margin:0!important;padding:5px 12px!important;border:1px solid #cbd8e4;border-radius:8px;background:#fff;color:#0c3883;font-size:12px;line-height:1.2;}
.h5-membership-experience .h5-membership-card .h5-remove-sibling:hover{background:#f3f9fd;border-color:#44ccc8;}
.h5-membership-experience .h5-membership-card .h5-sibling-fields>p{margin:12px 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.h5-membership-experience .h5-membership-card [data-h5-membership-add-sibling]{width:auto!important;max-width:100%;display:inline-flex;min-height:38px!important;margin:0!important;padding:8px 13px!important;white-space:normal;font-size:13px;}
.h5-membership-experience .h5-membership-card .h5-three-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.h5-membership-experience .h5-membership-card .h5-three-columns>*{min-width:0;}
.h5-membership-experience .h5-membership-card input[type=date],.h5-membership-experience .h5-membership-card input[type=text]{width:100%;max-width:100%;min-width:0;box-sizing:border-box;}
.h5-membership-experience .h5-membership-card .h5-total-box{display:flex;justify-content:space-between;gap:8px;align-items:center;min-width:0;flex-wrap:wrap;}
.h5-membership-experience .h5-membership-card [data-h5-membership-total]{min-width:0;max-width:100%;overflow-wrap:anywhere;font-size:clamp(15px,1.5vw,21px);line-height:1.25;}
@media(max-width:1050px){.h5-membership-experience .h5-membership-info-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:740px){.h5-membership-experience .h5-membership-info-cards{grid-template-columns:1fr!important;}.h5-membership-experience .h5-membership-card .h5-three-columns{grid-template-columns:1fr;}}

/* Membership-only v0.9.26: align child/sibling controls with Registration. */
.h5-membership-experience .h5-membership-card .h5-sibling-fields{border:1px dashed #3374d2;padding:16px;border-radius:12px;}
.h5-membership-experience .h5-membership-card .h5-sibling-fields .h5-membership-child-row{border:0;border-radius:0;padding:0;background:transparent;margin:0;}
.h5-membership-experience .h5-membership-card .h5-sibling-row-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;}
.h5-membership-experience .h5-membership-card .h5-sibling-row-head .h5-remove-sibling{max-width:max-content;width:auto!important;padding:6px 12px!important;min-height:32px!important;}
.h5-membership-experience .h5-membership-card .h5-three-columns select{width:100%;min-width:0;max-width:100%;height:48px;box-sizing:border-box;border-radius:10px;}
@media(max-width:560px){.h5-membership-experience .h5-membership-card .h5-three-columns{grid-template-columns:1fr!important}}

/* v0.9.30: Family account multi-child and individual waiver status. */
.h5-core-scope .h5-family-children-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:9px}
.h5-core-scope .h5-family-children-head h3{margin:0}
.h5-core-scope .h5-family-add-child{background:#44ccc8;color:#fff;border-radius:10px;font-size:13px;padding:10px 14px;white-space:nowrap}
.h5-core-scope .h5-family-children-intro{color:#526579;font-size:13px;margin:0 0 16px}
.h5-core-scope .h5-family-child-title{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.h5-core-scope .h5-family-waiver-badge{border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;background:#fff4e4;color:#985c00}
.h5-core-scope .h5-family-waiver-badge.valid{background:#e0f7ef;color:#16784b}
.h5-core-scope .h5-family-waiver-badge.expired{background:#fce6e6;color:#9b2b2b}
@media(max-width:600px){.h5-core-scope .h5-family-children-head{align-items:stretch;flex-direction:column}.h5-core-scope .h5-family-add-child{text-align:center}}
