.elementor-kit-2886{--e-global-color-primary:#005B8F;--e-global-color-secondary:#20AEE3;--e-global-color-text:#FF8181;--e-global-color-accent:#FFCC34;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;background-color:#F0F4F7;}.elementor-kit-2886 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* --- MWA5K ONE-PAGE CHECKOUT V9 - VALIDATION & ERROR STYLING --- */

/* 1. PAGE BODY & GLOBAL STYLES */
body.page-id-4658 {
    background-color: #f7f9fc;
    color: #333333;
}
.page-id-4658 a { color: #005B8F; }
.page-id-4658 a:hover { color: #20aee3; }

/* 2. HIDE UNWANTED WOOCOMMERCE ELEMENTS */
.page-id-4658 .product_meta,
.page-id-4658 span.single-product-category,
.page-id-4658 a.reset_variations,
.page-id-4658 a.woocommerce-product-gallery__trigger,
.page-id-4658 .woocommerce-tabs.wc-tabs-wrapper,
.page-id-4658 .woocommerce-form-login-toggle {
    display: none !important;
}

/* 3. MAIN PRODUCT LAYOUT & IMAGE SIZING */
.page-id-4658 div.product { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 2rem; max-width: 960px; margin: 2rem auto; }
.page-id-4658 .woocommerce-product-gallery { flex: 1 1 35%; max-width: 280px; }
.page-id-4658 .summary.entry-summary { flex: 1 1 60%; padding-left: 1rem; }
.page-id-4658 .woocommerce-product-gallery__image img { border-radius: 12px; box-shadow: 0 6px 18px rgba(0, 91, 143, 0.15); border: 1px solid #e7e7e7; }

/* 4. TEXT, HEADING & PRICE STYLING */
.page-id-4658 h1.product_title.entry-title { font-family: 'Montserrat', sans-serif; color: #005B8F; font-size: 2.25rem; margin-bottom: 0.5rem; }
.page-id-4658 p.price { font-size: 1.5rem; font-weight: 700; color: #20aee3; margin-bottom: 1.5rem; }
.page-id-4658 .ast-shipping-text { font-size: 0; display: block; margin-top: -1.2rem; margin-bottom: 1.5rem; }
.page-id-4658 .ast-shipping-text::before { content: "T-Shirt Pickup Location is Kera Restaurant (ቄራ ሬስቶራንት)"; font-size: 0.9rem; font-style: italic; color: #555; }

/* 5. FORM ELEMENT STYLING */
.page-id-4658 .variations .label { font-weight: 600; font-size: 1.1rem; color: #333333; padding-bottom: 8px; }
.page-id-4658 select#pa_size { appearance: none; font-family: 'Poppins', sans-serif; font-weight: 500; font-size: 1rem; color: #005B8F; background-color: #ffffff; border: 2px solid #005B8F; border-radius: 8px; padding: 12px 40px 12px 18px; cursor: pointer; transition: all 0.3s ease; width: 100%; max-width: 220px; background-image: url("data:image/svg+xml,%3Csvg fill='none' stroke='%23005B8F' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 20px 20px; }
.page-id-4658 select#pa_size:hover, .page-id-4658 select#pa_size:focus { border-color: #FFCC34; box-shadow: 0 0 0 3px rgba(255, 204, 52, 0.4); outline: none; }
.page-id-4658 .woocommerce-variation-add-to-cart { margin-top: 1.5rem; }
.page-id-4658 .quantity .input-text.qty { border-radius: 8px; border: 2px solid #ccc; font-weight: bold; text-align: center; width: 70px; height: 52px; transition: all 0.3s ease; }
.page-id-4658 .quantity .input-text.qty:focus { border-color: #005B8F; box-shadow: 0 0 0 3px rgba(0, 91, 143, 0.25); }
.page-id-4658 .single_add_to_cart_button { background-color: #FFCC34 !important; color: #005B8F !important; font-family: 'Montserrat', sans-serif; font-weight: 700; text-transform: uppercase; border-radius: 50px !important; padding: 16px 32px !important; border: none !important; transition: all 0.3s ease !important; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); margin-left: 10px; }
.page-id-4658 .single_add_to_cart_button:hover { background-color: #005B8F !important; color: #ffffff !important; transform: translateY(-3px); box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15); }

/* 6. CHECKOUT FORM STYLING & COLOR FIXES */
.woocommerce-checkout { color: #333333; }
#checkout h3 { font-family: 'Montserrat', sans-serif; color: #005B8F; border-bottom: 2px solid #FFCC34; padding-bottom: 10px; margin-bottom: 1.5em; }
.woocommerce-checkout .form-row label { color: #333333 !important; font-weight: 600; }
.woocommerce-checkout-review-order-table thead th, .woocommerce-checkout-review-order-table tbody td, .woocommerce-checkout-review-order-table tfoot th, .woocommerce-checkout-review-order-table tfoot td, .woocommerce-checkout-review-order-table .product-name, .woocommerce-checkout-review-order-table .product-name strong, .woocommerce-checkout-review-order-table .product-total { color: #333333 !important; }
.woocommerce a.remove { color: #cc0000 !important; text-decoration: none !important; font-weight: 700; }
.woocommerce a.remove:hover { color: #ffffff !important; background-color: #cc0000 !important; }
.wc_payment_method label { color: #333333 !important; }
.payment_box p { color: #555 !important; }
span.woocommerce-Price-amount.amount { color: black !important; }
.woocommerce-checkout .form-row .input-text, .woocommerce-checkout .form-row select, .woocommerce-checkout .form-row textarea { border-radius: 8px !important; border: 1px solid #ccc !important; padding: 12px !important; transition: all 0.3s ease; }
.woocommerce-checkout .form-row .input-text:focus, .woocommerce-checkout .form-row select:focus, .woocommerce-checkout .form-row textarea:focus { border-color: #005B8F !important; box-shadow: 0 0 0 3px rgba(0, 91, 143, 0.25) !important; outline: none; }
#place_order { background-color: #005B8F !important; color: #ffffff !important; font-family: 'Montserrat', sans-serif; font-weight: 700; text-transform: uppercase; border-radius: 50px !important; padding: 16px 32px !important; width: 100%; transition: all 0.3s ease !important; }
#place_order:hover { background-color: #20aee3 !important; transform: translateY(-3px); }

/* 7. RESPONSIVE ADJUSTMENTS */
@media (max-width: 768px) {
    .page-id-4658 div.product { flex-direction: column; }
    .page-id-4658 .summary.entry-summary { padding-left: 0; text-align: center; }
    .page-id-4658 .variations { justify-content: center; }
    .page-id-4658 .woocommerce-variation-add-to-cart { justify-content: center; }
}

/* 8. CUSTOM SPINNER & VALIDATION ERROR STYLING */
.page-id-4658 div.blockUI.blockOverlay { background-color: rgba(255, 255, 255, 0.6) !important; border: none !important; backdrop-filter: blur(2px); }
.page-id-4658 div.blockUI.blockOverlay::before { background-image: none !important; }
.page-id-4658 .woocommerce .blockUI.blockOverlay::before { content: '' !important; display: block; position: absolute; top: 50%; left: 50%; margin-left: -16px; margin-top: -16px; width: 32px; height: 32px; border-radius: 50%; border: 4px solid rgba(0, 91, 143, 0.2); border-top-color: #005B8F; animation: spin 0.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Style the main error message box at the top of the form */
.woocommerce .woocommerce-error {
    background-color: #f8d7da;
    color: #721c24;
    border-top: 3px solid #f5c6cb;
    border-radius: 8px;
    padding: 1em 1.5em !important;
    margin-bottom: 1.5em !important;
    list-style: none !important; /* Remove default list bullets */
    position: relative; /* Needed for positioning the icon */
    padding-left: 45px !important; /* Add space on the left for the icon */
}

/* --- FIX FOR OVERLAPPING ICON --- */
/* Target the icon added by the theme */
.woocommerce .woocommerce-error::before {
    font-size: 20px;
    top: 50%; /* Center vertically */
    transform: translateY(-50%);
    left: 15px; /* Position it on the left */
    color: #721c24 !important;
}
/* --- END OF FIX --- */

/* Add a red border to the specific fields that are missing input */
.woocommerce form .woocommerce-invalid-required-field .input-text {
    border-color: #cc0000 !important;
    box-shadow: 0 0 0 2px rgba(204, 0, 0, 0.2) !important;
}/* End custom CSS */