/* Cart Icon Styles */
.custom-cart-icon-nav a.cart-nav-icon span {
    font-weight: bold;
    position: relative;
    text-align: center;
    display: inline-block !important;
}

.et_pb_wc_checkout_payment_info_0.et_pb_wc_checkout_payment_info {
    background-color: #fff !important;
}

/* My Account Styles */
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-navigation ul {
    background-color: #ffffff;
    border: 1px solid #eeeeee;
    padding: 20px !important;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.woocommerce-MyAccount-navigation li {
    list-style: none !important;
    margin-bottom: 10px;
}

.woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 12px 15px;
    background: #f9f9f9;
    color: #333;
    text-decoration: none;
    border-radius: 5px;
    font-weight: 600;
}

.woocommerce-MyAccount-navigation li.is-active a {
    background-color: #32396f;
    color: #fff;
}

.woocommerce-MyAccount-content legend {
    font-size: 22px !important;
    color: #32396f !important;
    font-weight: 700 !important;
}

.woocommerce form .form-row {
    padding: 0 0 15px 0 !important;
}

.woocommerce-MyAccount-content>p:not([class]) {
    display: none;
}

.woocommerce-product-gallery__image img {
    object-fit: contain;
    width: 100%;
}

.woocommerce-notices-wrapper,
.woocommerce-cart-form__cart-item.cart_item .product-quantity {
    display: none !important;
}

/* Thank You Page Styles */
.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
    margin-bottom: 50px;
    text-align: center;
    font-size: 26px !important;
    font-weight: 700;
    color: #32396f;
}

/* Order Overview Styles */
.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
    border: none;
    background: #ffffff;
    box-shadow: 0 2px 18px rgba(0, 0, 0, 0.1);
    padding: 20px;
    border-radius: 8px;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details li {
    float: none !important;
    display: flex !important;
    align-items: center;
    flex-direction: column;
}

.sobell-order-additional-details {
    margin-top: 28px;
}

.sobell-order-additional-details .woocommerce-order-details__title {
    color: #32396f;
    margin-bottom: 16px;
}

.sobell-order-additional-details table.shop_table th,
.sobell-order-additional-details table.shop_table td {
    padding: 16px !important;
    vertical-align: top;
}

.sobell-order-additional-details table.shop_table th {
    width: 38%;
    color: #32396f;
    font-weight: 700;
}

/* Checkout Page Styles */
.woocommerce-checkout h3 {
    color: #32396f !important;
}

#sobell_verification_code,
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    background-color: #f8faff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
    padding: 15px 20px !important;
    color: #32396f !important;
    transition: all 0.3s ease !important;
    font-size: 16px !important;
}

.woocommerce-billing-fields__field-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    row-gap: 10px !important;
    column-gap: 2% !important;
}

.woocommerce-checkout .form-row {
    width: 49% !important;
    display: inline-block !important;
}

.woocommerce-checkout .form-row.place-order,
.woocommerce-checkout .form-row.notes,
.woocommerce-checkout .form-row#billing_company_field,
.woocommerce-checkout .form-row#billing_country_field select,
.woocommerce-checkout .form-row.address-field#billing_country_field,
.woocommerce-checkout .create-account .form-row{
    width: 100% !important;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus {
    border-color: #32396f !important;
    background-color: #fff !important;
    box-shadow: 0 0 0 4px rgba(50, 57, 111, 0.1) !important;
    outline: none !important;
}

.woocommerce-checkout label {
    font-weight: 600 !important;
    color: #32396f !important;
    display: inline-block;
}

.woocommerce-checkout .cart-subtotal,
.woocommerce-checkout .shop_table.woocommerce-checkout-review-order-table thead {
    display: none !important;
}

.woocommerce-checkout table.shop_table {
    border: none !important;
}

.woocommerce-checkout .product-total .amount {
    color: #32396f !important;
    font-weight: 700;
}

.woocommerce-checkout #place_order {
    background-color: #2c2e2f !important;
    color: #fff !important;
    padding: 5px 20px !important;
    border-radius: 4px !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    width: 100% !important;
    transition: transform 0.2s ease, background 0.3s ease !important;
    border: none !important;
    margin-top: 15px;
    min-height: 55px !important;
    font-family: "PayPal Plain", system-ui, -apple-system, Roboto, "Segoe UI", Helvetica-Neue, Helvetica, Arial, sans-serif !important;
}

.woocommerce-checkout #place_order:hover {
    filter: brightness(1.2);
}

/* .woocommerce-checkout #payment ul.payment_methods {
    border-bottom: 1px solid #f5f5f5 !important;
} */

.woocommerce-checkout #payment div.payment_box {
    background-color: #f5f5f5 !important;
    border-radius: 8px;
    color: #64748b !important;
}

/* .woocommerce-order-received .checkout-section > div {
    flex-direction: column !important;
} */

.woocommerce-order-received .checkout-section > .hidden-column {
    display: none !important;
}

.woocommerce-order-received .checkout-section > .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
}

.woocommerce-order-received .back-to-basket {
    display: none !important;
}

.woocommerce-orders-table__cell-order-actions {
    display: flex !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 5px !important;
}

.woocommerce-orders-table__cell-order-actions .woocommerce-button.button {
    /* margin: 1% !important; */
    width: calc(50% - 5px) !important;
    text-align: center !important;
}

.woocommerce-checkout .woocommerce-error {
    display: none !important;
}

.woocommerce-checkout .woocommerce-error:first-child {
    display: block !important;
}


/* Group Booking temporarily disabled.
.woocommerce-checkout .sobell-group-booking-row,
.woocommerce-checkout .sobell-group-booking-students-row,
.woocommerce-checkout .sobell-dietary-requirements-row {
    width: 100% !important;
}

.woocommerce-checkout .sobell-group-booking-row span.optional,
.woocommerce-checkout .sobell-group-booking-students-row span.optional {
    display: none !important;
}

.woocommerce-checkout .sobell-group-booking-students-row {
    display: none !important;
}

.woocommerce-checkout .sobell-group-booking-students-row.is-visible {
    display: block !important;
}

.woocommerce-checkout .sobell-group-booking-row label.checkbox {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-weight: 700 !important;
    color: #32396f !important;
}

.woocommerce-checkout .sobell-group-booking-row input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0 2px 0 0;
    accent-color: #32396f;
}

.woocommerce-checkout .sobell-group-booking-row .description {
    display: block;
    margin-top: 8px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.5;
}
*/

.woocommerce-checkout .sobell-dietary-requirements-row {
    width: 100% !important;
}


/* Email Verification section */

/* .sobell-email-verification {
    position: relative;
    margin: 18px 0 22px !important;
    padding: 20px 24px !important;
    border-radius: 8px !important;
    overflow: hidden;
    background-color: #f8faff !important;
    border: 1px solid #e2e8f0 !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sobell-email-verification h3 {
    margin: 0;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    color: #32396f;
}

.sobell-email-verification__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.sobell-email-verification__badge {
    display: none;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: #e8f7ec;
    border: 1px solid #b7e3c2;
    color: #0f7a35;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.sobell-email-verification__badge.is-visible {
    display: inline-flex;
}

.sobell-email-verification > p {
    margin: 0;
    color: #475467;
    font-size: 15px;
    line-height: 1.5;
}

.sobell-email-verification__actions[hidden],
#sobell-code-wrap[hidden],
#sobell-verification-message[hidden] {
    display: none !important;
}

#sobell-send-code,
#sobell-verify-code,
.sobell-email-verification .button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 190px;
    min-height: 46px;
    padding: 11px 18px !important;
    border: 1px solid #32396f !important;
    border-radius: 10px !important;
    background: #32396f !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2;
    text-align: center;
    box-shadow: none !important;
    transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

#sobell-send-code:hover,
#sobell-verify-code:hover,
.sobell-email-verification .button:hover {
    background: #262b54 !important;
    border-color: #262b54 !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(50, 57, 111, 0.16) !important;
}

#sobell-send-code:disabled,
#sobell-verify-code:disabled,
.sobell-email-verification .button:disabled {
    opacity: 0.72;
    cursor: wait;
    transform: none;
    box-shadow: none !important;
}

#sobell-code-wrap,
.sobell-verification-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px !important;
    align-items: stretch;
}

#sobell-code-wrap #sobell_verification_code,
.sobell-verification-row input {
    flex: 1 1 260px;
    min-height: 46px;
    padding: 0 14px !important;
    background: #f8faff !important;
    border: 1px solid #d8e0ec !important;
    border-radius: 10px !important;
    color: #32396f !important;
    font-size: 15px !important;
    font-weight: 500;
    letter-spacing: 0.02em;
}

#sobell-code-wrap #sobell_verification_code::placeholder,
.sobell-verification-row input::placeholder {
    color: #98a2b3;
    letter-spacing: 0;
    font-weight: 500;
}

#sobell-code-wrap #sobell_verification_code:focus,
.sobell-verification-row input:focus {
    background: #ffffff !important;
    border-color: #32396f !important;
    box-shadow: 0 0 0 4px rgba(50, 57, 111, 0.1) !important;
    outline: none;
}

#sobell-verification-message,
.sobell-email-message {
    display: block;
    margin-top: 14px !important;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.45;
    animation: fadeIn .25s ease;
}

#sobell-verification-message[style*="green"],
.sobell-email-message.success {
    background: #edf9ef;
    border: 1px solid #a7dfb4;
    color: #0b7a2f !important;
}

#sobell-verification-message[style*="red"],
.sobell-email-message.error {
    background: #fff2f2;
    border: 1px solid #f7b4b4;
    color: #b42318 !important;
}

#sobell-verification-message[style*="#666"],
#sobell-verification-message:not(:empty):not([style*="green"]):not([style*="red"]),
.sobell-email-message.info {
    background: #eef4ff;
    border: 1px solid #cddafc;
    color: #3155a5 !important;
}

.sobell-email-verification .button.verified {
    background: #16a34a;
    border-color: #16a34a;
    cursor: default;
}

.sobell-email-verification .button.verified:hover {
    transform: none;
}

@media only screen and (max-width: 767px) {
    #sobell-email-verification,
    .sobell-email-verification {
        padding: 18px 16px !important;
        border-radius: 14px !important;
    }

    .sobell-email-verification__header {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    #sobell-email-verification h3,
    .sobell-email-verification h3 {
        font-size: 22px;
    }

    #sobell-email-verification > p,
    .sobell-email-verification > p {
        font-size: 14px;
    }

    #sobell-send-code,
    #sobell-verify-code,
    .sobell-email-verification .button,
    #sobell-code-wrap #sobell_verification_code,
    .sobell-verification-row input {
        width: 100%;
        min-width: 100%;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
} */
