/* Nour 2026-10 — load LAST, after page-specific and desktop styles. */
[hidden] { display:none !important; }
.nour-page-loader { display:none !important; } /* Never hold the storefront behind a network-dependent overlay. */
.product-img > img.nour-lazy-image { display:block; width:100%; height:100%; object-fit:cover; }
img.nour-lazy-image { max-width:100%; object-fit:contain; }
.item-info > img.nour-lazy-image { width:50px; height:50px; flex:0 0 50px; border-radius:8px; }
.cart-item > img.nour-lazy-image { width:56px; height:56px; flex:0 0 56px; }
.nour-load-more { display:block; margin:20px auto; min-height:48px; padding:10px 28px; border:1px solid #0284c7; border-radius:12px; background:#fff; color:#0369a1; font:700 16px 'Tajawal',Arial,sans-serif; cursor:pointer; }
.nour-unavailable { grid-column:1/-1; padding:30px 16px; text-align:center; font-weight:700; }
.nour-unavailable a { display:inline-flex; align-items:center; min-height:44px; padding:8px 12px; }
button, a, [role="button"], input, select { touch-action:manipulation; }
button:focus-visible, a:focus-visible, [tabindex]:focus-visible { outline:3px solid #0284c7; outline-offset:3px; }
.nour-admin-panel { margin:22px 0; padding:22px; border:1px solid #cbd5e1; background:#f8fafc; border-radius:16px; }
.nour-admin-panel h2 { margin:0 0 10px; font-size:20px; color:#0f172a; }
.nour-admin-panel p { margin:8px 0 14px; color:#334155; line-height:1.85; }
.nour-admin-fields, .inventory-fast-toolbar { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:14px; align-items:end; }
.nour-admin-fields label, .inventory-fast-toolbar label { display:flex; flex-direction:column; gap:8px; color:#334155; font-weight:700; }
.nour-admin-fields :is(input,select,button), .inventory-fast-toolbar :is(input,select,button) { box-sizing:border-box; width:100%; min-height:46px; border:1px solid #94a3b8; border-radius:10px; padding:10px 12px; font:inherit; background:#fff; color:#0f172a; }
.nour-admin-fields button, .inventory-fast-toolbar button { cursor:pointer; background:#e0f2fe; font-weight:700; }
.nour-admin-fields button:disabled { cursor:default; opacity:.55; }
.keyboard-hint { font-size:13px; color:#475569; line-height:1.8; }
.inventory-fast-controls { margin:0 0 18px; }
.inventory-fast-controls p { margin:12px 0; }
#inventoryStatus, #seasonStatus, #imageMigrationStatus { padding:10px 14px; border-radius:10px; background:#e0f2fe; color:#075985; font-weight:700; }
.inventory-fast-table .inventory-row.is-dirty { background:#fff7dd !important; }
.inventory-fast-table .inventory-row input { min-height:46px; width:110px; max-width:100%; padding:8px; border:1px solid #94a3b8; border-radius:8px; text-align:center; font-size:16px; background:#fff; color:#0f172a; }
.inventory-fast-table .inventory-row input:focus { outline:3px solid #38bdf8; outline-offset:1px; }
.inventory-fast-table small { display:block; font-size:12px; color:#475569; }
.inventory-fast-table td { vertical-align:middle; }
.image-migration-results { max-height:420px; overflow:auto; }
.migration-result { padding:12px 0; border-bottom:1px solid #cbd5e1; display:flex; gap:12px; justify-content:space-between; align-items:center; }
.migration-result span { overflow-wrap:anywhere; }
.migration-result button { min-height:44px; min-width:110px; padding:8px 12px; border:1px solid #94a3b8; border-radius:8px; cursor:pointer; background:#fff; font:inherit; }
/* Dots keep their visual size while the ACTUAL click target is at least 44 x 44. */
body .home-ad-dots { gap:4px; bottom:2px; max-width:calc(100% - 90px); overflow-x:auto; scrollbar-width:none; }
body .home-ad-dots button, body .home-ad-dots button.active { display:grid; place-items:center; width:44px !important; height:44px !important; min-width:44px; min-height:44px; flex:0 0 44px; background:transparent !important; border:0; border-radius:0; }
body .home-ad-dots button::before { content:''; width:8px; height:8px; border-radius:10px; background:#fff; box-shadow:0 1px 4px #0007; }
body .home-ad-dots button.active::before { width:22px; }
@media (max-width:768px), (pointer:coarse) {
    body button:not(.site-system-message-backdrop):not(.admin-system-dialog-backdrop),
    body [role="button"] { min-width:44px !important; min-height:44px !important; }
    body :is(.icon-btn,.search-btn,.main-cat-arrow,.home-ad-arrow,.qty-btn,.quantity-btn,.delete-btn,.top-bar-close,.close-search-btn,.auth-password-toggle,.product-cart-remove-btn,.admin-profile .avatar) {
        width:44px !important; height:44px !important; flex-shrink:0; padding:0 !important;
    }
    body :is(.quantity-control,.cart-quantity-control) { min-height:46px !important; height:auto !important; gap:6px !important; }
    body .header-actions { gap:8px !important; }
    body :is(.social-links a,.mobile-bottom-nav .nav-item,.modal-link span,.breadcrumb a,.breadcrumb-link,.subcat-item,.cat-tab,.footer-links a) {
        min-width:44px; min-height:44px; align-items:center;
    }
    body .modal-link span { display:inline-flex; padding:8px 10px; }
    body .social-links a { width:44px; height:44px; }
    body :is(.breadcrumb a,.breadcrumb-link) { display:inline-flex; padding:8px !important; }
    body :is(.product-actions-form,.product-cart-item-actions,.cart-item .item-actions) { gap:10px !important; }
    body :is(.cart-item .item-actions,.product-cart-item-actions) { flex-wrap:wrap; }
    body :is(input,select,textarea) { font-size:16px; }
    body :is(.main-categories-slider,.category-quick-filters,.action-buttons,.product-gallery-nav) { gap:10px !important; }
    .nour-admin-panel { padding:15px; }
    .nour-admin-fields, .inventory-fast-toolbar { grid-template-columns:1fr; gap:12px; }
    /* Keep the inventory in real aligned rows, not the legacy mobile card conversion. */
    #inventory-section .table-wrapper { overflow-x:auto !important; -webkit-overflow-scrolling:touch; }
    #inventory-section table.inventory-fast-table { display:table !important; min-width:670px !important; width:100% !important; border-collapse:collapse; }
    #inventory-section table.inventory-fast-table thead { display:table-header-group !important; }
    #inventory-section table.inventory-fast-table tbody { display:table-row-group !important; }
    #inventory-section table.inventory-fast-table tr { display:table-row !important; width:auto !important; margin:0 !important; border-radius:0 !important; box-shadow:none !important; padding:0 !important; }
    #inventory-section table.inventory-fast-table td, #inventory-section table.inventory-fast-table th { display:table-cell !important; width:auto !important; padding:12px !important; text-align:right !important; }
    #inventory-section table.inventory-fast-table td::before { display:none !important; }
    #inventory-section table.inventory-fast-table th:first-child { min-width:180px; }
    .migration-result { flex-direction:column; align-items:stretch; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto !important; } }
