/* =====================================================================
   Small additions for dynamic store features (theme CSS stays untouched)
   ===================================================================== */
.store_announcement { background: var(--themeColoeOne); color: #fff; text-align: center; font-size: 14px; padding: 8px 15px; }
.store_announcement a { color: #fff; text-decoration: underline; }

.store_toasts { position: fixed; right: 20px; bottom: 20px; z-index: 99999; display: flex; flex-direction: column; gap: 10px; }
.store_toast { display: flex; align-items: center; gap: 10px; background: #fff; color: var(--colorBlack); border-left: 4px solid var(--colorGreen); box-shadow: var(--boxShadow); padding: 14px 18px; min-width: 260px; max-width: 360px; font-size: 15px; opacity: 0; transform: translateY(15px); transition: all .3s ease; }
.store_toast.show { opacity: 1; transform: none; }
.store_toast i { color: var(--colorGreen); font-size: 18px; }
.store_toast.error { border-left-color: var(--colorRed); }
.store_toast.error i { color: var(--colorRed); }

.store_loading { pointer-events: none; opacity: .6; }
.js-wishlist.active img { filter: drop-shadow(0 0 0 #fff); }
.product_item .btn_list li a.active { background: var(--colorRed); }

.store_search_form .input { position: relative; }
.store_suggest { position: absolute; left: 0; right: 0; top: 100%; background: #fff; z-index: 50; box-shadow: var(--boxShadow); max-height: 420px; overflow-y: auto; }
.store_suggest a { display: flex; align-items: center; gap: 12px; padding: 10px 15px; border-bottom: 1px solid #eee; color: var(--colorBlack); font-size: 14px; }
.store_suggest a:hover { background: var(--lightBg); }
.store_suggest img { width: 42px; height: 42px; object-fit: cover; background: #f5f5f5; }
.store_suggest span { flex: 1; }
.store_suggest b { color: var(--themeColoeOne); font-weight: 600; }
.store_suggest .store_suggest_all { justify-content: center; color: var(--themeColoeOne); font-weight: 500; }
.store_suggest_empty { padding: 15px; margin: 0; color: var(--paraColor); }

.store_mini_loading { padding: 30px 0; text-align: center; color: var(--paraColor); }
.store_btn_dark { background: var(--colorBlack) !important; }
.minicart_btn_area .common_btn { display: block; }

.store_field_error { display: block; color: var(--colorRed); font-size: 13px; margin-top: 4px; }
input.is-invalid, select.is-invalid, textarea.is-invalid { border-color: var(--colorRed) !important; }
.store_alert { padding: 14px 18px; margin-bottom: 20px; font-size: 15px; border-left: 4px solid var(--themeColoeOne); background: var(--lightBg); }
.store_alert.success { border-color: var(--colorGreen); background: #eafaf0; }
.store_alert.error { border-color: var(--colorRed); background: #fdeceb; }
.store_empty { text-align: center; padding: 60px 15px; }
.store_empty i { font-size: 48px; color: var(--themeColoeOne); opacity: .5; display: block; margin-bottom: 15px; }
.store_footer_html p { color: #ddd; }
.store_pagination .pagination { justify-content: center; gap: 6px; }

/* ---------- content pages: blog / about / contact / faq (store_ additions) ---------- */
.store_hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.blog_details_top li a { color: var(--colorBlack); }
.blog_details_top li a:hover { color: var(--themeColorTwo); }
.blog_details_top li span.store_meta_icon { width: auto; height: auto; top: 0; color: #ffb000; font-size: 16px; }
.store_blog_content blockquote { margin-top: 35px; position: relative; padding: 60px 50px 60px 108px; background: var(--lightBg2); border-radius: 12px; font-size: 20px; font-family: var(--headingFont); color: var(--colorBlack); }
.store_blog_content blockquote::after { position: absolute; content: ""; top: 63px; left: 50px; width: 45px; height: 39px; background: url(../images/review.png) center / cover no-repeat; }
.store_blog_content blockquote p { margin-top: 0; font-size: 20px; }
.store_blog_content img { max-width: 100%; height: auto; border-radius: 6px; margin-top: 25px; }
.store_post_nav { display: flex; gap: 20px; justify-content: space-between; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; padding: 25px 0; margin-bottom: 40px; }
.store_post_nav_item { flex: 1; min-width: 0; }
.store_post_nav_item.next { text-align: right; }
.store_post_nav_item span { display: block; font-size: 14px; text-transform: uppercase; color: var(--paraColor); margin-bottom: 6px; }
.store_post_nav_item h5 { font-size: 18px; font-weight: 600; margin: 0; color: var(--colorBlack); transition: all .3s linear; }
.store_post_nav_item a:hover h5 { color: var(--themeColorTwo); }
.blog_comment.store_comment_reply { margin-left: 85px; }
.store_comment_reply .blog_comment_text { width: calc(100% - 85px); }
.store_reply_btn { display: inline-block; margin-top: 8px; font-size: 14px; font-weight: 500; text-transform: capitalize; color: var(--themeColorTwo); }
.store_reply_btn:hover { color: var(--colorBlack); }
.store_reply_to { margin: 10px 0 0; font-size: 15px; }
.store_reply_to a { color: var(--colorRed); margin-left: 6px; }
.store_contact_intro { margin-bottom: 10px; }
.store_contact_intro p { margin-bottom: 10px; }
.store_page_content { margin-top: 25px; }
.store_page_content p { margin-bottom: 12px; }
.store_choose_icon { width: 30px; height: 30px; object-fit: contain; filter: brightness(0) invert(1); }
@media (max-width: 767.98px) {
    .store_post_nav { flex-direction: column; }
    .store_post_nav_item.next { text-align: left; }
    .blog_comment.store_comment_reply { margin-left: 30px; }
    .store_comment_reply .blog_comment_text { width: calc(100% - 85px); }
    .store_blog_content blockquote { padding: 70px 25px 30px; }
    .store_blog_content blockquote::after { top: 20px; left: 25px; }
}

/* ---------- shop listing (filters) ---------- */
.store_sidebar_check ul { height: auto; max-height: 225px; }
.store_sidebar_check ul li .form-check input { border: 1px solid #ccc; border-radius: 3px !important; width: 16px !important; height: 16px !important; margin-top: 5px; }
.sidebar_color ul li .form-check input.store_light { border: 1px solid #ccc; }
.sidebar_category ul li a.store_active, .sidebar_category ul li a.store_active span { color: var(--themeColorTwo); }
.sidebar_category ul li a.store_active::after { background: var(--themeColorTwo); }
.sidebar_category ul li a.store_cat_up { justify-content: flex-start; gap: 6px; font-weight: 500; color: var(--colorBlack); }
.sidebar_category ul li a.store_cat_up::after { display: none; }
.sidebar_category ul li a.store_cat_up { padding-left: 0; }
.js-shop-results { position: relative; transition: opacity .2s; }
.store_shop_loading .js-shop-results { opacity: .45; pointer-events: none; }
.pagination .page-link.disabled { opacity: .45; pointer-events: none; }
.about_us_text ul.store_about_points li { width: 100%; }
.about_us_text ul.store_about_points li.store_point_simple { min-height: 45px; display: flex; align-items: center; }
.about_us_text ul.store_about_points li.store_point_simple h4 { margin-bottom: 0; }

/* ---- cart / checkout / account (store_ additions) ---- */
.store_stock_warning { display: block; color: var(--colorRed) !important; font-size: 13px !important; margin-top: 4px; }
.store_cart_actions { display: flex; justify-content: flex-end; gap: 25px; padding: 15px 0 0; }
.store_cart_actions a { color: var(--paraColor); font-size: 14px; }
.store_cart_actions a:hover { color: var(--colorRed); }
.store_savings { margin: 10px 0 0; font-size: 14px; color: var(--colorGreen); }
.store_shipping_note { font-size: 14px; color: var(--paraColor); margin: 5px 0 10px; }
.store_ship_eta { display: inline; font-size: 12px; color: var(--paraColor); }
.store_checkout_coupon { margin-top: 20px; }
.store_payment_desc { font-size: 13px; line-height: 1.6; background: var(--lightBg, #f7f7f7); border-radius: 8px; padding: 10px 14px; margin: 8px 0 4px; color: var(--paraColor); }
.store_save_address { margin: 0 0 20px; }
.store_save_address label { cursor: pointer; font-size: 15px; }
.cart_page .store_loading { opacity: .6; }
.store_line_options { display: block; font-size: 12px; color: var(--paraColor); }
.store_track_history { margin-top: 20px; border-top: 1px solid rgba(255,255,255,.3); padding-top: 15px; }
.store_track_history li { position: relative; padding: 0 0 12px 18px; display: block !important; }
.store_track_history li::before { content: ''; position: absolute; left: 0; top: 7px; width: 8px; height: 8px; border-radius: 50%; background: #fff; }
.store_track_history li b { font-weight: 600; color: #fff; font-size: 14px; margin-right: 8px; }
.store_track_history li span { font-size: 13px; color: rgba(255,255,255,.8); }
.store_track_history li p { font-size: 13px; margin: 2px 0 0; color: #fff; }
.dashboard_order_table table tr td .pending { background: #fff4e5; color: #f57c00; }
.dashboard_order_table table tr td .shipped { background: #e8f0fe; color: #1c58f2; }
.store_order_meta { display: flex; flex-wrap: wrap; gap: 8px 25px; align-items: center; padding: 18px 30px; margin: 0; }
.store_order_meta p { margin: 0; font-size: 14px; }
.store_order_meta span { display: inline-block; padding: 3px 12px; border-radius: 30px; font-size: 13px; }
.store_order_meta .pending { background: #fff4e5; color: #f57c00; }
.store_order_meta .active { background: #e6f7ff; color: #0c9; }
.store_order_meta .shipped { background: #e8f0fe; color: #1c58f2; }
.store_order_meta .complete { background: #eafaf0; color: var(--colorGreen); }
.store_order_meta .cancel { background: #fdeceb; color: var(--colorRed); }
.store_order_meta a { color: var(--themeColoeOne); }
button.order_cancel_btn { border: none; }
.store_review_links { margin: 0 0 20px; }
.store_review_links li a { font-size: 14px; color: var(--themeColoeOne); line-height: 2; }
.store_address_actions { display: flex; gap: 18px; padding: 10px 0 0 30px; }
.store_address_actions a, .store_address_actions button { background: none; border: 0; padding: 0; font-size: 14px; color: var(--paraColor); }
.store_address_actions a:hover { color: var(--themeColoeOne); }
.store_address_actions button:hover { color: var(--colorRed); }
.store_address_name { color: var(--colorBlack); font-weight: 500; }
.store_default_badge { font-style: normal; font-size: 11px; background: var(--themeColoeOne); color: #fff; padding: 1px 8px; border-radius: 20px; margin-left: 6px; }
.dashboard_return_request .return_request_number .form-check { margin: 0; }
.dashboard_return_request .return_request_number .form-check label { cursor: pointer; font-size: 14px; font-weight: 500; }
.store_qty_select { border: 1px solid #ddd; border-radius: 4px; padding: 0 4px; font-size: 13px; margin-left: 4px; }
.store_return_extra { margin-top: 25px; padding: 0; border: 0; box-shadow: none; }
.store_return_info ul li a { color: var(--themeColoeOne); }
.store_return_images { display: flex; flex-wrap: wrap; gap: 10px; }
.store_return_images img { width: 90px; height: 90px; object-fit: cover; border-radius: 8px; border: 1px solid #eee; }
.store_review_status { font-style: normal; font-size: 12px; padding: 1px 10px; border-radius: 20px; margin-left: 8px; background: #fff4e5; color: #f57c00; }
.store_review_status.approved { background: #eafaf0; color: var(--colorGreen); }
.store_review_status.rejected { background: #fdeceb; color: var(--colorRed); }
.store_review_reply { background: var(--lightBg, #f7f7f7); padding: 8px 12px; border-radius: 6px; }
.dashboard_sidebar_user .js-avatar-form { display: none; }
.store_invoice_page { background: #fff; }
.store_invoice_meta { font-size: 13px; }
@media print {
    .store_no_print, .store_toasts { display: none !important; }
    .store_invoice_page .container { max-width: 100%; margin: 0 !important; }
}

/* ---------- product details ---------- */
.store_inherit { color: inherit; }
.store_inherit:hover { color: var(--themeColorTwo); }
.store_plain { font-weight: inherit; color: inherit; }
.store_variant_label { font-weight: 400; color: var(--paraColor); text-transform: capitalize; }
.details_variant_color li.store_unavailable, .details_variant_size li.store_unavailable { opacity: .3; }
.details_variant_size li.store_oos { text-decoration: line-through; opacity: .6; }
.details_variant_color li.store_oos { opacity: .45; }
.details_variant_color li[style*="#ffffff"], .details_variant_color li[style*="#fff;"] { box-shadow: inset 0 0 0 1px #ddd; }
.common_btn.store_disabled { opacity: .55; cursor: not-allowed; }
.details_list_btn a.js-wishlist.active, .details_list_btn a.js-wishlist.active i { color: var(--colorRed); }
.store_brand_link { font-size: 14px; color: var(--themeColorTwo); }
.single_review .img .store_avatar { display: flex; width: 100%; height: 100%; aspect-ratio: 1; align-items: center; justify-content: center; border-radius: 50%; background: var(--lightBg, #f5f5f5); color: var(--themeColorTwo); font-size: 26px; font-weight: 600; text-transform: uppercase; }
.store_verified { font-weight: 500; color: var(--colorGreen); margin-left: 10px; font-size: 13px; }
.store_admin_reply { background: var(--lightBg, #f7f7f7); padding: 10px 14px; margin-top: 10px; }
.store_no_reviews { color: var(--paraColor); margin-bottom: 25px; }
.store_rating_summary { display: flex; flex-wrap: wrap; align-items: center; gap: 30px; padding: 20px 0 30px; margin-bottom: 25px; border-bottom: 1px solid #eee; }
.store_rating_avg { text-align: center; min-width: 120px; }
.store_rating_avg h4 { font-size: 42px; font-weight: 600; margin: 0; }
.store_rating_avg .rating { color: var(--ratingColor); margin: 4px 0; }
.store_rating_avg span { color: var(--paraColor); font-size: 14px; }
.store_rating_bars { flex: 1; min-width: 220px; max-width: 420px; margin: 0; padding: 0; }
.store_rating_bars li { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; font-size: 14px; color: var(--paraColor); }
.store_rating_bars .label { width: 36px; white-space: nowrap; }
.store_rating_bars .label i { color: var(--ratingColor); font-size: 12px; }
.store_rating_bars .bar { flex: 1; height: 8px; background: #eee; border-radius: 10px; overflow: hidden; }
.store_rating_bars .bar span { display: block; height: 100%; background: var(--ratingColor); border-radius: 10px; }
.store_rating_bars .count { width: 24px; text-align: right; }
.store_review_form .single_input { margin-bottom: 20px; }
.store_review_form .img_upload { margin-bottom: 25px; }
.store_quick_more { display: inline-block; margin-top: 15px; color: var(--themeColorTwo); font-weight: 500; }

/* ---------- wishlist / compare ---------- */
.store_muted { color: var(--paraColor); font-size: 14px; }
.store_text_green { color: var(--colorGreen) !important; }
.store_text_red { color: var(--colorRed) !important; }
.store_additional_html { padding: 20px 20px 10px; }
.store_brand_name { font-size: 18px; font-weight: 600; color: var(--colorBlack); }
.store_save_address .form-check-input { width: 18px !important; height: 18px !important; padding: 0 !important; margin-top: 3px; border-radius: 4px; flex: none; }
.store_save_address { display: flex; align-items: flex-start; gap: 8px; padding-left: 0; }
.store_save_address .form-check-input { margin-left: 0 !important; float: none; }
.return_request_number .form-check-input { width: 18px !important; height: 18px !important; padding: 0 !important; border-radius: 4px; margin-top: 2px; }
.return_request_number .form-check { display: flex; align-items: center; gap: 8px; padding-left: 0; }
.return_request_number .form-check .form-check-input { float: none; margin-left: 0; }
