/* ==========================================================================
   SDU Register Button
   ========================================================================== */

.sdu-register-btn {
    display: inline-block;
    background-color: #801323;
    color: #ffffff;
    font-family: 'Assistant', sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    padding: 14px 52px;
    border-radius: 5px;
    border: none;
    cursor: pointer;
    letter-spacing: 0.03em;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

.sdu-register-btn:hover,
.sdu-register-btn:focus {
    background-color: #5e0e19;
    color: #ffffff;
    text-decoration: none;
}

.sdu-register-btn:active {
    transform: translateY(1px);
}


/* ==========================================================================
   WooCommerce Block Checkout — Brand Alignment
   NOTE: Do NOT override padding or height on inputs — the block checkout uses
   a floating label pattern that depends on specific padding values (16px
   default, 24px top when active). Overriding breaks label/text overlap.
   ========================================================================== */

/* ---- Base font ---- */
.wc-block-checkout,
.wc-block-checkout * {
    font-family: 'Assistant', sans-serif;
}

/* ---- Step headings ---- */
.wc-block-components-checkout-step__title {
    font-family: 'Assistant', sans-serif !important;
    font-weight: 700 !important;
    color: #1c3664 !important;
    font-size: 18px !important;
    letter-spacing: 0 !important;
}

/* ---- Input borders & focus (no padding/height override) ---- */
.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=tel],
.wc-block-components-text-input input[type=password],
.wc-block-components-text-input input[type=number] {
    border: 1.5px solid #c8c8c8 !important;
    border-radius: 4px !important;
    color: #2d2d2d !important;
    background: #fff !important;
    box-shadow: none !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease !important;
}

.wc-block-components-text-input input[type=text]:focus,
.wc-block-components-text-input input[type=email]:focus,
.wc-block-components-text-input input[type=tel]:focus,
.wc-block-components-text-input input[type=password]:focus,
.wc-block-components-text-input input[type=number]:focus {
    border-color: #801323 !important;
    box-shadow: 0 0 0 2px rgba(128,19,35,0.12) !important;
    outline: none !important;
}

/* ---- Floating label colour ---- */
.wc-block-components-text-input label {
    color: #888 !important;
    font-family: 'Assistant', sans-serif !important;
    font-weight: 500 !important;
}

.wc-block-components-text-input.is-active label {
    color: #801323 !important;
}

/* ---- Select / Combobox (country, state) ---- */
.wc-block-components-select select,
.wc-blocks-components-select select,
.wc-block-components-combobox .wc-block-components-combobox-control input {
    border: 1.5px solid #c8c8c8 !important;
    border-radius: 4px !important;
    color: #2d2d2d !important;
    background: #fff !important;
    box-shadow: none !important;
}

.wc-block-components-select select:focus,
.wc-blocks-components-select select:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input:focus {
    border-color: #801323 !important;
    box-shadow: 0 0 0 2px rgba(128,19,35,0.12) !important;
    outline: none !important;
}

/* ---- Validation errors ---- */
.wc-block-components-validation-error p {
    font-family: 'Assistant', sans-serif !important;
    color: #801323 !important;
    font-size: 13px !important;
}

.wc-block-components-text-input.has-error input {
    border-color: #801323 !important;
    box-shadow: 0 0 0 1px #801323 !important;
}

.wc-block-components-text-input.has-error label {
    color: #801323 !important;
}

/* ---- Sidebar / Order summary ---- */
.wc-block-components-panel__button,
.wc-block-components-panel__button-title {
    font-family: 'Assistant', sans-serif !important;
    font-weight: 700 !important;
    color: #1c3664 !important;
    font-size: 16px !important;
}

.wc-block-components-product-name {
    font-family: 'Assistant', sans-serif !important;
    font-weight: 600 !important;
    color: #1c3664 !important;
}

.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
    font-family: 'Assistant', sans-serif !important;
    color: #444 !important;
    font-size: 15px !important;
}

/* Total row — clean separator, no heavy border */
.wc-block-components-totals-footer-item {
    border-top: 1px solid #ddd !important;
    margin-top: 8px !important;
    padding-top: 12px !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-weight: 700 !important;
    font-size: 17px !important;
    color: #1c3664 !important;
}

/* ---- Coupon "Apply" button ---- */
.wc-block-components-totals-coupon__button.wc-block-components-button {
    background-color: #1c3664 !important;
    color: #ffffff !important;
    font-family: 'Assistant', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 0 18px !important;
    box-shadow: none !important;
    height: 100% !important;
    min-height: 44px !important;
}

.wc-block-components-totals-coupon__button.wc-block-components-button:hover {
    background-color: #12244a !important;
    color: #ffffff !important;
}

/* ---- Checkbox ---- */
.wc-block-components-checkbox__input[type=checkbox] {
    width: 18px !important;
    height: 18px !important;
    border-radius: 3px !important;
    border: 2px solid #c8c8c8 !important;
    background-color: #fff !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
    cursor: pointer;
    flex-shrink: 0;
}

.wc-block-components-checkbox__input[type=checkbox]:checked {
    accent-color: #801323;
    background-color: #801323 !important;
    border-color: #801323 !important;
}

.wc-block-components-checkbox__label {
    font-family: 'Assistant', sans-serif !important;
    font-size: 15px !important;
    color: #2d2d2d !important;
}

/* ---- Terms / privacy text ---- */
.wc-block-checkout__terms {
    font-size: 13px !important;
    color: #666 !important;
}

.wc-block-checkout__terms a {
    color: #801323 !important;
}

/* ---- Place Order button ---- */
.wc-block-components-checkout-place-order-button {
    background-color: #801323 !important;
    color: #ffffff !important;
    font-family: 'Assistant', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    border: none !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease !important;
}

.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-checkout-place-order-button:focus {
    background-color: #5e0e19 !important;
    color: #ffffff !important;
}

/* ---- Return to cart link ---- */
.wc-block-components-checkout-return-to-cart-button {
    color: #801323 !important;
    font-family: 'Assistant', sans-serif !important;
    font-size: 14px !important;
}
