:root{
  --bg:#f7f7fb; --card:#fff; --text:#1f2937; --muted:#6b7280; --line:#e5e7eb;
  --accent:#ff6a00; --accent2:#ff8f1f; --green:#16a34a; --danger:#dc2626; --shadow:0 12px 30px rgba(17,24,39,.08);
}
*{box-sizing:border-box}
body{margin:0;font:14px/1.45 Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
input,select,textarea,button{font:inherit}
button{cursor:pointer}
.container{width:min(1380px,calc(100% - 32px));margin:0 auto}
.row{display:flex}.between{justify-content:space-between}.center{align-items:center}.gap{gap:12px}.gap12{gap:12px}.wrap{flex-wrap:wrap}.grow{flex:1}.stack{display:flex;flex-direction:column}.block{display:block;text-align:center}
.top-strip{background:linear-gradient(90deg,var(--accent),var(--accent2));color:#fff;padding:8px 0;font-weight:700}
.header-main{display:grid;grid-template-columns:220px 1fr auto;gap:18px;align-items:center;padding:16px 0}
.logo{font-size:28px;font-weight:900;display:flex;gap:12px;align-items:center}
.logo-badge{background:#ff4d00;color:#fff;width:38px;height:38px;border-radius:14px;display:grid;place-items:center;box-shadow:var(--shadow)}
.searchbar{display:flex;background:#fff;border:2px solid #ff8a2a;border-radius:999px;overflow:hidden;box-shadow:var(--shadow)}
.searchbar input{flex:1;border:0;padding:14px 18px;background:transparent}
.searchbar button{border:0;background:#111827;color:#fff;padding:0 22px;font-weight:800}
.header-actions{display:flex;gap:16px;align-items:center;font-weight:700}
.header-actions a{color:#374151}
.langs{gap:8px}
.lang-chip{padding:6px 10px;border-radius:999px;background:#fff3e8;color:#a54b00}
.lang-chip.active{background:#111827;color:#fff}
.category-strip{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cat-chip{padding:10px 14px;border-radius:999px;background:#fff7ed;color:#9a3412;margin:10px 0;font-weight:700}
.admin-link{margin-left:auto;background:#111827;color:#fff}
.page-shell{padding:20px 0 48px}
.footer{background:#111827;color:#d1d5db;padding:40px 0;margin-top:32px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}
.footer-logo{font-size:20px;font-weight:900;margin-bottom:10px}
.flash{padding:14px 16px;border-radius:16px;margin:0 0 18px;box-shadow:var(--shadow)}
.flash.success{background:#ecfdf5;color:#065f46}.flash.error{background:#fef2f2;color:#991b1b}

.hero-stage{display:grid;grid-template-columns:1.4fr .9fr;gap:18px;margin-bottom:28px}
.hero-left{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.hero-copy,.hero-banner-card,.promo-banner,.card-panel,.product-card,.cat-tile,.filter-card,.gallery-card,.detail-card,.stat-card{background:var(--card);border-radius:24px;box-shadow:var(--shadow)}
.hero-copy{padding:30px;background:linear-gradient(135deg,#fff2ea,#fff);display:flex;flex-direction:column;justify-content:center}
.hero-copy h1{font-size:44px;line-height:1.05;margin:8px 0 12px}
.hero-copy p{color:var(--muted);font-size:16px;max-width:540px}
.hero-pill{align-self:flex-start;background:#111827;color:#fff;padding:8px 12px;border-radius:999px;font-weight:800}
.hero-actions{display:flex;gap:12px;margin:20px 0}
.cta-btn,.buy-btn,.ghost-outline{padding:14px 18px;border-radius:16px;border:0;font-weight:800}
.cta-btn,.buy-btn{background:linear-gradient(90deg,var(--accent),var(--accent2));color:#fff}
.ghost-outline{background:#fff;border:1px solid var(--line);color:#111827}
.ghost-btn{background:#fff;border:1px solid var(--line);padding:10px 12px;border-radius:14px}
.buy-btn{width:100%}
.trust-row{display:flex;gap:18px;flex-wrap:wrap;color:#6b7280;font-weight:700}
.hero-banner-card,.promo-banner{position:relative;overflow:hidden;padding:20px;color:#111827;background:linear-gradient(135deg,color-mix(in srgb, var(--accent) 15%, #fff),#fff)}
.hero-banner-card img,.promo-banner img{position:absolute;right:8px;bottom:8px;width:42%;height:75%;object-fit:cover;border-radius:20px}
.banner-text,.promo-banner div{max-width:54%}
.banner-text strong,.promo-banner strong{font-size:26px;display:block}
.banner-text span,.promo-banner p{color:#4b5563}

.section-block{margin:24px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}
.section-head h1,.section-head h2{margin:0}
.modern{grid-template-columns:repeat(7,1fr)}
.cat-grid{display:grid;gap:14px}
.cat-tile{padding:12px;text-align:center}
.cat-tile img{aspect-ratio:1/1;object-fit:cover;border-radius:18px;margin-bottom:10px}
.cat-tile span{font-weight:800;font-size:13px}

.product-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.product-card{overflow:hidden}
.product-image-wrap{display:block;position:relative;padding:10px}
.product-image-wrap img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;background:#f3f4f6}
.discount-badge,.mini-badge{position:absolute;left:18px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;color:#fff}
.discount-badge{top:18px;background:#ef4444}.mini-badge{bottom:18px;background:#111827}
.product-info{padding:0 14px 14px}
.brand-line{font-size:12px;color:#9ca3af;font-weight:700}.brand-line.large{font-size:14px}
.product-title{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:6px 0 10px;
  font-weight:700;
  line-height:1.4;
  min-height:2.8em;  /* exactly 2 lines */
}
.rating-row{font-size:12px;color:#f59e0b}.rating-row span{color:#6b7280}
.rating-row.large{font-size:14px}
.price-row,.price-box{display:flex;align-items:center;gap:10px}
.price{font-weight:900;color:#ff4d00}.price.xxl{font-size:34px}.price.xl{font-size:28px}
.old-price{text-decoration:line-through;color:#9ca3af}
.card-actions{display:flex;gap:10px;align-items:center;margin-top:12px}

.catalog-shell{display:grid;grid-template-columns:290px 1fr;gap:18px}
.filter-panel{position:sticky;top:20px;height:max-content}
.filter-card,.card-panel,.gallery-card,.detail-card{padding:18px}
.filter-card h3{margin-top:0}
.filter-card input,.filter-card select,.card-panel input,.card-panel select,.card-panel textarea,.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}
textarea{min-height:110px;resize:vertical}
.catalog-content{min-width:0}
.muted{color:var(--muted)}

.product-page{display:grid;grid-template-columns:1.1fr .95fr;gap:18px}
.gallery-main img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:20px;background:#f3f4f6}
.thumb-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.thumb-btn{border:1px solid var(--line);background:#fff;padding:6px;border-radius:14px}
.thumb-btn img{width:86px;height:86px;object-fit:cover;border-radius:10px}
.product-desc{color:#4b5563;font-size:15px}
.variant-box{margin:20px 0}
.variant-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.variant-pill input{display:none}
.variant-pill span{display:block;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:700}
.variant-pill input:checked+span{border-color:#ff6a00;background:#fff3e8;color:#9a3412}
.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.action-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.qty-input{width:84px;padding:12px;border:1px solid var(--line);border-radius:14px}
.review-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}
.review-item{padding:14px 0;border-bottom:1px solid var(--line)}

.cart-layout,.checkout-grid{display:grid;grid-template-columns:1.3fr .8fr;gap:18px}
.cart-item{display:grid;grid-template-columns:100px 1fr 90px 120px auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.cart-item img{width:100px;height:100px;object-fit:cover;border-radius:16px}
.coupon-box,.summary-line{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.summary-line.total{font-size:18px;font-weight:900}

.auth-box{max-width:460px;margin:40px auto}
.center-text{text-align:center}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.small{font-size:13px}
.log-box{white-space:pre-wrap;word-break:break-word}
.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:18px}
.stat-card{padding:18px}
.admin-body{background:#f3f4f6}
.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.admin-sidebar{background:#111827;color:#d1d5db;padding:24px;display:flex;flex-direction:column;gap:10px}
.admin-sidebar a{padding:10px 12px;border-radius:12px}
.admin-sidebar a:hover{background:#1f2937}
.admin-brand{font-size:22px;font-weight:900;color:#fff;margin-bottom:10px}
.admin-content{padding:24px}
.admin-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid .span2{grid-column:1/-1}
.mini-thumb{width:54px;height:54px;object-fit:cover;border-radius:10px}
.strip-text{font-size:13px}

@media (max-width:1200px){
  .product-grid{grid-template-columns:repeat(4,1fr)}
  .modern{grid-template-columns:repeat(5,1fr)}
}
@media (max-width:980px){
  .header-main,.hero-stage,.hero-left,.catalog-shell,.product-page,.review-grid,.cart-layout,.checkout-grid,.admin-shell,.admin-two-col,.form-grid,.footer-grid{grid-template-columns:1fr}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .modern{grid-template-columns:repeat(3,1fr)}
  .header-actions{flex-wrap:wrap}
  .banner-text,.promo-banner div{max-width:60%}
}
@media (max-width:640px){
  .container{width:min(100% - 20px,1380px)}
  .product-grid{grid-template-columns:1fr 1fr}
  .modern{grid-template-columns:repeat(2,1fr)}
  .hero-copy h1{font-size:32px}
  .cart-item{grid-template-columns:80px 1fr;grid-auto-rows:auto}
  .cart-item > *:nth-child(3), .cart-item > *:nth-child(4), .cart-item > *:nth-child(5){grid-column:2}
}


.site-header{position:sticky;top:0;z-index:40;background:rgba(247,247,251,.96);backdrop-filter:blur(10px)}
.header-actions{justify-content:flex-end}
.card-panel.table-card{overflow:auto}
.admin-nav-toggle{display:none;position:fixed;left:14px;top:14px;z-index:80;border:0;background:#111827;color:#fff;padding:12px 14px;border-radius:14px;box-shadow:var(--shadow)}
.mobile-admin-head{display:none;margin-bottom:16px}
.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.language-tabs{grid-column:1/-1;background:#fafafa;border:1px solid var(--line);border-radius:18px;padding:14px}
.language-tabs.compact{padding:12px}
.lang-tab-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.lang-tab-btn{border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:999px;font-weight:800}
.lang-tab-btn.active{background:#111827;color:#fff;border-color:#111827}
.lang-panel{display:none;grid-template-columns:1fr;gap:12px}
.lang-panel.active{display:grid}
.admin-form-split textarea{min-height:140px}
.checkbox-label{display:flex;align-items:center;gap:10px;min-height:48px}
.checkbox-label input{width:auto}
.searchbar{min-width:0}
.header-actions a{white-space:nowrap}

@media (max-width:980px){
  .admin-nav-toggle{display:block}
  .mobile-admin-head{display:flex;justify-content:space-between;align-items:center}
  .admin-sidebar{position:fixed;inset:0 auto 0 0;width:min(82vw,290px);transform:translateX(-105%);transition:.25s ease;z-index:70;overflow:auto}
  .admin-nav-open .admin-sidebar{transform:translateX(0)}
  .admin-content{padding:74px 14px 20px}
  .header-main{gap:12px;padding:12px 0}
  .logo{font-size:22px}
  .searchbar input{padding:12px 14px}
}

@media (max-width:760px){
  .header-main{grid-template-columns:1fr;}
  .header-actions{justify-content:flex-start;overflow:auto;padding-bottom:2px}
  .hero-actions,.action-row,.card-actions{flex-direction:column;align-items:stretch}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-shell{gap:12px}
  .filter-panel{position:static}
  .table.responsive-table thead{display:none}
  .responsive-table, .responsive-table tbody, .responsive-table tr, .responsive-table td{display:block;width:100%}
  .responsive-table tr{padding:12px 0;border-bottom:1px solid var(--line)}
  .responsive-table td{border:0;padding:6px 0}
  .responsive-table td::before{content:attr(data-label);display:block;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:2px}
  .mini-thumb{width:72px;height:72px}
}

@media (max-width:540px){
  .container{width:min(100% - 16px,1380px)}
  .hero-copy{padding:18px}
  .hero-copy h1{font-size:26px}
  .product-grid{grid-template-columns:1fr 1fr;gap:10px}
  .product-info{padding:0 10px 12px}
  .category-strip .container{padding-bottom:6px}
  .cat-chip{margin:6px 0;font-size:13px;padding:8px 12px}
  .footer{padding:28px 0}
}

/* ═══════════════════════════════════════════════
   v2.1 improvements
═══════════════════════════════════════════════ */

/* ── Pagination ── */
.pagination-row{display:flex;gap:8px;justify-content:center;margin:28px 0 8px;flex-wrap:wrap}
.page-btn{padding:8px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--text);font-weight:700;font-size:14px;transition:background .15s}
.page-btn:hover{background:#f3f4f6}
.page-btn.active{background:#111827;color:#fff;border-color:#111827}

/* ── Admin active nav link ── */
.admin-sidebar a.nav-active{background:rgba(255,106,0,.18);color:#ff8f1f;font-weight:900}

/* ── Admin search input ── */
.admin-search-input{padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;width:220px;font-size:13px}

/* ── Delete button danger tint ── */
.danger-btn{color:#dc2626 !important;border-color:#fca5a5 !important}
.danger-btn:hover{background:#fef2f2 !important}

/* ── Status pills (dashboard + orders) ── */
.status-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}
.status-new{background:#dbeafe;color:#1d4ed8}
.status-paid{background:#ede9fe;color:#6d28d9}
.status-shipped{background:#fef3c7;color:#92400e}
.status-completed{background:#dcfce7;color:#166534}
.status-cancelled{background:#fee2e2;color:#991b1b}

/* ── Status select colour ── */
.status-select{border-radius:10px;padding:5px 8px;border:1px solid var(--line);font-size:13px;font-weight:700}
.status-select.status-new{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}
.status-select.status-paid{background:#ede9fe;color:#6d28d9;border-color:#c4b5fd}
.status-select.status-shipped{background:#fef3c7;color:#92400e;border-color:#fcd34d}
.status-select.status-completed{background:#dcfce7;color:#166534;border-color:#86efac}
.status-select.status-cancelled{background:#fee2e2;color:#991b1b;border-color:#fca5a5}

/* ── Dashboard KPI strip ── */
.db-toprow{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.kpi-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.kpi-card{border-radius:20px;padding:20px 24px;color:#fff;box-shadow:var(--shadow)}
.kpi-revenue{background:linear-gradient(135deg,#ff6a00,#ff8f1f)}
.kpi-pending{background:linear-gradient(135deg,#6d28d9,#8b5cf6)}
.kpi-stock{background:linear-gradient(135deg,#dc2626,#f87171)}
.kpi-label{font-size:13px;font-weight:700;opacity:.88;margin-bottom:6px}
.kpi-value{font-size:28px;font-weight:900}

/* ── Dashboard charts row ── */
.db-charts-row{display:flex;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.db-charts-row .card-panel{min-height:220px}

/* ── Dashboard bottom row ── */
.db-bottom-row{display:flex;gap:14px;flex-wrap:wrap}
.db-bottom-row .card-panel{min-height:140px}

/* ── Status legend (donut) ── */
.status-legend{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.status-leg-item{display:flex;align-items:center;gap:8px;font-size:13px}
.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}

/* ── Star rating colour ── */
.star-rating{color:#f59e0b;letter-spacing:1px}

/* ── Improved flash/toast ── */
.flash{position:relative}

/* ── Responsive KPI on mobile ── */
@media (max-width:640px){
  .kpi-strip{grid-template-columns:1fr}
  .db-charts-row,.db-bottom-row{flex-direction:column}
  .admin-search-input{width:100%}
}

/* ── Mobile storefront nav (drawer below header, never inside the grid) ── */
.mobile-nav-bar{display:none;padding:8px 0}
.mobile-nav-toggle{border:0;background:#f3f4f6;color:#111827;padding:9px 16px;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;width:100%}
.mobile-nav-drawer{display:none;background:#fff;border-bottom:1px solid var(--line)}
.mobile-nav-drawer.mobile-nav-open{display:block}
.mobile-nav-links{display:flex;flex-direction:column;gap:0;padding:8px 0}
.mobile-nav-links a{padding:12px 4px;border-bottom:1px solid var(--line);font-weight:600;color:var(--text)}
.mobile-nav-links a:last-child{border-bottom:0}
@media (max-width:760px){
  .mobile-nav-bar{display:block}
  .header-actions{display:none}
}

/* ═══════════════════════════════════════════════
   Temu-style header + scroll strip (v2.2)
═══════════════════════════════════════════════ */

/* reset old header-main grid — replaced by temu-header */
.site-header { position:sticky;top:0;z-index:40;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.08); }

.temu-header {
  display: grid;
  grid-template-columns: auto auto 1fr auto auto;
  align-items: center;
  gap: 14px;
  padding: 12px 0;
}

/* Logo */
.temu-header .logo { font-size:22px;font-weight:900;white-space:nowrap;grid-column:1; }

/* ── Category dropdown ── */
.cat-dropdown-wrap { position:relative; grid-column:2; }
.cat-dropdown-btn {
  display:flex;align-items:center;gap:6px;
  background:#f3f4f6;border:0;padding:10px 16px;border-radius:12px;
  font-weight:800;font-size:14px;cursor:pointer;white-space:nowrap;
  transition:background .15s;
}
.cat-dropdown-btn:hover,.cat-dropdown-btn.open { background:#111827;color:#fff; }
.cat-arrow { font-size:11px;transition:transform .2s; }
.cat-dropdown-btn.open .cat-arrow { transform:rotate(180deg); }

.cat-dropdown-menu {
  position:absolute;top:calc(100% + 8px);left:0;z-index:200;
  background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.15);
  display:flex;flex-direction:row;
  width:820px;          /* wider */
  height:460px;         /* fixed height — both columns fill it */
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .2s,transform .2s,visibility .2s;
  overflow:hidden;
}
.cat-dropdown-menu.open {
  opacity:1;visibility:visible;transform:translateY(0);
}

/* Left sidebar – scrollable text list, full height */
.cat-dd-sidebar {
  width:200px;flex-shrink:0;
  background:#f8f8f8;border-right:1px solid var(--line);
  display:flex;flex-direction:column;padding:8px 0;
  overflow-y:auto;      /* scrollable */
  height:100%;
}
.cat-dd-sidebar::-webkit-scrollbar { width:4px; }
.cat-dd-sidebar::-webkit-scrollbar-thumb { background:#e5e7eb;border-radius:4px; }

.cat-dd-sidebar-item {
  display:flex;justify-content:space-between;align-items:center;
  padding:11px 16px;font-size:13px;font-weight:600;color:var(--text);
  border-left:3px solid transparent;
  transition:background .12s,border-color .12s,color .12s;
  cursor:pointer;
  flex-shrink:0;       /* don't compress items */
}
.cat-dd-sidebar-item:hover,
.cat-dd-sidebar-item.active {
  background:#fff7ed;color:#c2410c;
  border-left-color:var(--accent);font-weight:800;
}
.cat-dd-arrow { color:#aaa;font-size:14px; }

/* Right panel – fills remaining space, scrollable */
.cat-dd-panels {
  flex:1;padding:12px;overflow-y:auto;height:100%;
  display:flex;flex-direction:column;
}
.cat-dd-panels::-webkit-scrollbar { width:4px; }
.cat-dd-panels::-webkit-scrollbar-thumb { background:#e5e7eb;border-radius:4px; }

.cat-dd-panel { display:none; }
.cat-dd-panel.active {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  align-content:start;
}

.cat-dropdown-item {
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:10px 6px;border-radius:14px;text-align:center;
  font-size:12px;font-weight:700;color:var(--text);
  transition:background .15s;
}
.cat-dropdown-item:hover { background:#fff7ed;color:#9a3412; }
.cat-dropdown-item img {
  width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;background:#f3f4f6;
}

/* ── Search ── */
.temu-search { grid-column:3; }
.temu-search input { padding:12px 16px; }
.search-icon-btn {
  border:0;background:#111827;color:#fff;
  padding:0 18px;font-size:17px;cursor:pointer;
  transition:background .15s;
}
.search-icon-btn:hover { background:#374151; }

/* ── Right action buttons ── */
.temu-actions {
  display:flex;align-items:center;gap:4px;grid-column:4;
}
.temu-action-btn {
  display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:8px 10px;border-radius:12px;font-size:11px;font-weight:700;
  color:#374151;transition:background .15s;white-space:nowrap;
}
.temu-action-btn:hover { background:#f3f4f6; }
.temu-action-icon { font-size:20px;position:relative;line-height:1; }
.cart-badge {
  position:absolute;top:-5px;right:-6px;
  background:#ef4444;color:#fff;border-radius:999px;
  font-size:10px;font-weight:900;padding:0 5px;min-width:16px;text-align:center;
}
.admin-action-btn { background:#f3f4f6; }

/* ── Mobile hamburger ── */
.mobile-hamburger {
  display:none;border:0;background:#111827;color:#fff;
  padding:9px 13px;border-radius:12px;font-size:18px;cursor:pointer;
  grid-column:5;
}

/* ── Mobile drawer ── */
.mobile-nav-drawer { display:none;background:#fff;border-top:1px solid var(--line); }
.mobile-nav-drawer.open { display:block; }
.mobile-nav-links { display:flex;flex-direction:column; }
.mobile-nav-links a {
  padding:13px 20px;border-bottom:1px solid var(--line);
  font-weight:600;color:var(--text);font-size:15px;
}
.mobile-nav-links a:last-child { border-bottom:0; }

/* ── Responsive header ── */
@media (max-width:980px) {
  .temu-header { grid-template-columns:auto 1fr auto; gap:10px; }
  .cat-dropdown-wrap { display:none; }
  .temu-actions { display:none; }
  .mobile-hamburger { display:block;grid-column:3; }
  .temu-search { grid-column:2; }
}
@media (max-width:540px) {
  .temu-header { grid-template-columns:auto 1fr auto;padding:10px 0; }
  .temu-header .logo { font-size:18px; }
  .logo-badge { width:30px;height:30px;font-size:14px; }
}

/* ═══════════════════════════════════════════════
   Horizontal scroll strip
═══════════════════════════════════════════════ */
.new-scroll-section { margin:0 0 28px;background:#fff;border-radius:24px;box-shadow:0 12px 30px rgba(17,24,39,.07);overflow:hidden; }

.new-scroll-head {
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 20px 10px;
}
.new-scroll-label { font-size:17px;font-weight:900;color:#111827; }
.new-scroll-see-all { font-size:13px;font-weight:700;color:var(--accent); }
.new-scroll-see-all:hover { text-decoration:underline; }

.scroll-track-wrap { position:relative;padding:0 0 16px; }
.scroll-arrow {
  position:absolute;top:50%;transform:translateY(-50%);z-index:10;
  border:0;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.14);
  width:36px;height:36px;border-radius:50%;font-size:20px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:box-shadow .15s,background .15s;
}
.scroll-arrow:hover { background:#111827;color:#fff; }
.scroll-prev { left:8px; }
.scroll-next { right:8px; }

.scroll-track {
  display:flex;gap:12px;
  overflow-x:auto;scroll-behavior:smooth;
  padding:4px 48px;
  scrollbar-width:none;
}
.scroll-track::-webkit-scrollbar { display:none; }

.scroll-card {
  flex:0 0 156px;
  background:#fafafa;border-radius:18px;overflow:hidden;
  border:1px solid var(--line);
  transition:box-shadow .2s,transform .2s;
  color:var(--text);
}
.scroll-card:hover { box-shadow:0 8px 24px rgba(17,24,39,.12);transform:translateY(-2px); }

.scroll-card-img-wrap {
  position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:#f3f4f6;
}
.scroll-card-img-wrap img {
  width:100%;height:100%;object-fit:cover;
  transition:transform .3s;display:block;
}
.scroll-card:hover .scroll-card-img-wrap img { transform:scale(1.04); }
.scroll-discount {
  position:absolute;top:8px;left:8px;
  background:#ef4444;color:#fff;border-radius:999px;
  font-size:11px;font-weight:900;padding:3px 7px;
}

.scroll-card-info { padding:8px 10px 10px; }
.scroll-price { font-weight:900;color:#ff4d00;font-size:15px; }
.scroll-old-price { font-size:11px;color:#9ca3af;text-decoration:line-through; }
.scroll-stars { color:#f59e0b;font-size:11px;margin:2px 0; }
.scroll-title {
  font-size:12px;font-weight:600;color:#374151;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  line-height:1.35;margin-top:2px;
}

@media (max-width:640px) {
  .scroll-card { flex:0 0 130px; }
  .scroll-track { padding:4px 38px; }
  .scroll-arrow { width:30px;height:30px;font-size:16px; }
}

/* ── Ad meta fields on product detail page ── */
.ad-breadcrumb {
  font-size:12px;color:var(--muted);font-weight:700;
  background:#f9fafb;border-radius:10px;padding:7px 12px;
  margin-bottom:12px;
}
.crumbs { font-size:13px;color:var(--muted);margin-bottom:10px; }
.crumbs a { color:var(--muted); }
.crumbs a:hover { color:var(--accent); }
.meta-grid a { color:var(--accent);font-weight:700; }

/* ═══════════════════════════════════════════════
   JSON Import panel
═══════════════════════════════════════════════ */
.hidden { display:none !important; }

.json-import-panel { border:2px dashed var(--line); }

/* Dropzone */
.json-import-dropzone {
  border:2px dashed var(--line);
  border-radius:18px;
  padding:32px 24px;
  text-align:center;
  cursor:pointer;
  transition:border-color .2s, background .2s;
  background:#fafafa;
}
.json-import-dropzone:hover,
.json-import-dropzone.drag-over {
  border-color:var(--accent);
  background:#fff7ed;
}
.json-import-dropzone.has-file {
  border-color:#16a34a;
  background:#f0fdf4;
}
.json-drop-icon { font-size:36px; margin-bottom:8px; }
.json-drop-text { font-size:15px; font-weight:700; color:#374151; }
.json-drop-text label.json-browse-link {
  color:var(--accent); text-decoration:underline; cursor:pointer;
}
.json-drop-hint { font-size:12px; margin-top:4px; }

/* File info strip */
.json-file-info {
  display:flex; align-items:center; gap:10px;
  background:#f0fdf4; border:1px solid #86efac;
  border-radius:12px; padding:10px 14px; margin-top:10px;
  font-weight:700; font-size:13px; color:#166534;
}

/* Preview table */
#importPreviewTable { min-width:900px; }
#importPreviewTable td { vertical-align:middle; }
#importPreviewTable code { background:#f3f4f6; padding:2px 6px; border-radius:6px; font-size:11px; }

/* New categories box */
.new-cats-box {
  background:#fffbeb; border:1px solid #fcd34d;
  border-radius:14px; padding:14px 16px; margin-top:10px;
}
.new-cats-box strong { display:block; margin-bottom:8px; color:#92400e; }
.new-cats-list { display:flex; flex-wrap:wrap; gap:8px; }
.new-cat-chip {
  display:flex; align-items:center; gap:6px;
  background:#fff; border:1px solid #fcd34d;
  border-radius:999px; padding:4px 12px; font-size:12px;
}

/* Offer type badge */
.offer-type-badge {
  background:#f3f4f6; border-radius:999px;
  padding:3px 10px; font-size:11px; font-weight:700; color:#374151;
}

/* ═══════════════════════════════════════════════
   Products admin — full-width table + slide drawer
═══════════════════════════════════════════════ */

/* Page header */
.prod-page-head {
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:16px;flex-wrap:wrap;gap:10px;
}

/* Filters bar */
.prod-filters { padding:14px 16px !important; }
.prod-filter-row {
  display:flex;gap:10px;align-items:center;flex-wrap:wrap;
}
.prod-search-input {
  flex:1;min-width:200px;padding:10px 14px;
  border:1px solid var(--line);border-radius:12px;font-size:14px;
}
.prod-filter-row select {
  padding:9px 12px;border:1px solid var(--line);border-radius:12px;
  font-size:13px;font-weight:700;background:#fff;
}

/* Products table */
.prod-table { width:100%;margin:0; }
.prod-table thead th {
  background:#f8f8f8;border-bottom:2px solid var(--line);
  padding:10px 12px;font-size:12px;font-weight:800;
  text-transform:uppercase;letter-spacing:.5px;color:#6b7280;
}
.prod-table tbody td { padding:10px 12px;vertical-align:middle; }
.prod-row {
  cursor:pointer;transition:background .12s;border-bottom:1px solid var(--line);
}
.prod-row:hover { background:#fafafa; }
.prod-row.row-active { background:#fff7ed; }
.prod-row:last-child { border-bottom:0; }

/* ── Edit drawer ── */
.edit-drawer-overlay {
  position:fixed;inset:0;background:rgba(17,24,39,.35);z-index:150;
  opacity:0;transition:opacity .28s;
}
.edit-drawer-overlay.open { opacity:1; }

.edit-drawer {
  position:fixed;top:0;right:0;bottom:0;
  width:min(600px,100vw);
  background:#fff;z-index:160;
  display:flex;flex-direction:column;
  box-shadow:-8px 0 40px rgba(17,24,39,.18);
  transform:translateX(100%);
  transition:transform .28s cubic-bezier(.4,0,.2,1);
}
.edit-drawer.open { transform:translateX(0); }

.edit-drawer-head {
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 22px;border-bottom:1px solid var(--line);
  font-size:16px;font-weight:800;background:#f9fafb;
  position:sticky;top:0;z-index:1;flex-shrink:0;
}
.edit-drawer-body {
  flex:1;overflow-y:auto;padding:20px 22px 32px;
}
.drawer-section-head {
  font-weight:800;font-size:12px;text-transform:uppercase;
  letter-spacing:.6px;color:#9ca3af;
  padding:14px 0 8px;border-top:1px solid var(--line);
  margin-top:4px;
}
.drawer-section-head:first-child { border-top:0;padding-top:0; }

/* Ensure drawer form-grid inputs look right */
.edit-drawer .form-grid input,
.edit-drawer .form-grid select,
.edit-drawer .form-grid textarea { font-size:14px; }

@media (max-width:640px) {
  .edit-drawer { width:100vw; }
  .prod-filter-row { gap:8px; }
  .prod-search-input { min-width:100%;flex:none; }
}

/* ═══════════════════════════════════════════════
   Catalog horizontal filters + full-width grid
═══════════════════════════════════════════════ */
.catalog-full { width:100%; }

/* Filter bar */
.cat-filter-bar {
  background:#fff;border-radius:20px;
  box-shadow:0 4px 20px rgba(17,24,39,.07);
  padding:16px 20px;margin-bottom:20px;
}
.cat-filter-form { display:flex;flex-direction:column;gap:12px; }

.cf-input {
  padding:10px 14px;border:1px solid var(--line);border-radius:12px;
  font-size:14px;background:#fff;color:var(--text);
}
.cf-input:focus { outline:none;border-color:var(--accent); }
.cf-search { width:100%; }

/* Category chips row */
.cf-cat-chips {
  display:flex;gap:8px;flex-wrap:wrap;
}
.cf-chip {
  padding:7px 14px;border-radius:999px;font-size:13px;font-weight:700;
  background:#f3f4f6;color:#374151;white-space:nowrap;
  border:2px solid transparent;transition:all .15s;
}
.cf-chip:hover { background:#fff7ed;color:#c2410c; }
.cf-chip.active { background:#111827;color:#fff;border-color:#111827; }

/* Price + sort row */
.cf-second-row {
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.cf-price-range { display:flex;align-items:center;gap:6px; }
.cf-mini { width:88px; }
.cf-select { min-width:110px; max-width:180px; flex-shrink:0; width:auto !important; }
.cf-apply-btn { padding:10px 20px; }
.cf-count { font-size:13px;margin-left:auto; }

/* ── Product grid — bigger cards ── */
.product-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:16px;
}
.product-card { border-radius:20px; }
.product-image-wrap img {
  width:100%;aspect-ratio:4/3;object-fit:contain;
  border-radius:16px;background:#f8f8f8;
}
/* Product detail main image */
.product-detail-main-img {
  position:relative;cursor:zoom-in;border-radius:20px;overflow:hidden;
  background:#f8f8f8;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;
}
.product-detail-main-img img {
  width:100%;height:100%;object-fit:contain;display:block;border-radius:20px;
}
.gallery-zoom-hint {
  position:absolute;bottom:12px;right:12px;
  background:rgba(0,0,0,.4);color:#fff;border-radius:999px;
  padding:4px 10px;font-size:13px;pointer-events:none;
  opacity:0;transition:opacity .2s;
}
.product-detail-main-img:hover .gallery-zoom-hint { opacity:1; }
/* Active thumbnail */
.thumb-btn.thumb-active { border-color:var(--accent) !important;box-shadow:0 0 0 2px var(--accent); }

/* Open button style (replaces cart) */
.open-btn {
  text-align:center;border-radius:14px;
  padding:11px 14px;font-size:14px;
}

/* Wishlist button */
.wishlist-btn { font-size:18px;line-height:1; }
.wishlist-btn.wishlisted { color:#ef4444; }

/* ── Lazy load animations ── */
.fade-in-card {
  animation:fadeInUp .3s ease both;
}
@keyframes fadeInUp {
  from { opacity:0;transform:translateY(16px); }
  to   { opacity:1;transform:translateY(0); }
}

/* Loading dots */
.catalog-loader {
  display:flex;justify-content:center;gap:8px;padding:24px;
}
.loader-dot {
  width:10px;height:10px;border-radius:50%;background:var(--accent);
  animation:dotBounce 1s infinite ease-in-out;
}
.loader-dot:nth-child(2) { animation-delay:.2s; }
.loader-dot:nth-child(3) { animation-delay:.4s; }
@keyframes dotBounce {
  0%,80%,100% { transform:scale(0); }
  40% { transform:scale(1); }
}

/* Load more button */
.load-more-wrap { display:flex;justify-content:center;padding:20px 0 32px; }
.load-more-btn { padding:14px 36px;font-size:15px;font-weight:800; }

/* ── Mini toast ── */
.mini-toast {
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(12px);
  background:#111827;color:#fff;padding:9px 20px;border-radius:999px;
  font-size:14px;font-weight:700;z-index:500;
  opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;
}
.mini-toast.show { opacity:1;transform:translateX(-50%) translateY(0); }

/* Responsive filters */
@media (max-width:640px) {
  .cf-second-row { gap:8px; }
  .cf-mini { width:72px; }
  .cf-count { margin-left:0;width:100%; }
  .product-grid { grid-template-columns:repeat(2,1fr);gap:10px; }
}

/* ═══ Offer type badge ═══ */
.brand-line-with-type {
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
.offer-type-tag {
  display:inline-block;
  padding:2px 9px;border-radius:999px;
  font-size:11px;font-weight:800;letter-spacing:.3px;
  white-space:nowrap;flex-shrink:0;
}
/* Sell / Müün / Продаю */
.offer-type-isell, .offer-type-mun, .offer-type-prodayu,
.offer-type-sell {
  background:#fff3e8;color:#c2410c;border:1px solid #fed7aa;
}
/* Buy / Ostan / Куплю */
.offer-type-ibuy, .offer-type-ostan, .offer-type-kuplyu,
.offer-type-buy, .offer-type-wanted {
  background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;
}
/* Rent / Üürin / Сдаю */
.offer-type-irent, .offer-type-urin, .offer-type-sdayu,
.offer-type-forrent, .offer-type-rent {
  background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;
}
/* Service / Teenus / Услуга */
.offer-type-service, .offer-type-teenus, .offer-type-usluga,
.offer-type-iofferservice {
  background:#faf5ff;color:#6d28d9;border:1px solid #ddd6fe;
}
/* Fallback for anything else */
.offer-type-tag:not([class*="offer-type-i"]):not([class*="offer-type-m"]):not([class*="offer-type-o"]):not([class*="offer-type-u"]):not([class*="offer-type-s"]):not([class*="offer-type-t"]):not([class*="offer-type-f"]):not([class*="offer-type-r"]):not([class*="offer-type-b"]):not([class*="offer-type-k"]):not([class*="offer-type-p"]):not([class*="offer-type-w"]) {
  background:#f3f4f6;color:#374151;border:1px solid var(--line);
}

/* Scroll strip — type badge small */
.scroll-card .offer-type-tag { font-size:10px;padding:1px 7px; }

/* City label on product card */
.product-city {
  font-size:12px;font-weight:600;color:var(--muted);
  white-space:nowrap;margin-left:auto;
}

/* ═══ Heart 2× bigger everywhere ═══ */
.wishlist-btn {
  font-size:28px !important;
  line-height:1;
  padding:4px 8px;
  background:transparent;
  border:0;
  cursor:pointer;
  transition:transform .15s, color .15s;
}
.wishlist-btn:hover { transform:scale(1.2); }
.wishlist-btn.wishlisted { color:#ef4444; }

/* Heart in header nav */
.temu-action-btn .temu-action-icon {
  font-size:24px;
}
/* Wishlist icon specifically in header */
a.temu-action-btn[href*="wishlist"] .temu-action-icon {
  font-size:28px;
}

/* Scroll strip heart if present */
.scroll-card .wishlist-btn { font-size:22px !important; }

/* ── City — larger + clickable ── */
.product-city {
  font-size:13px !important;
  font-weight:700 !important;
  color:#6b7280;
  text-decoration:none;
  white-space:nowrap;
  margin-left:auto;
  transition:color .15s;
}
.product-city:hover { color:var(--accent); }

/* Description with proper line breaks */
.product-desc {
  color:#4b5563;
  font-size:15px;
  line-height:1.7;
  white-space:pre-wrap;  /* preserves \n and spaces */
  word-break:break-word;
}

/* Product page wishlist button — small, light */
.product-wishlist-btn {
  display:inline-flex;align-items:center;gap:6px;
  background:none;border:1px solid var(--line);border-radius:12px;
  padding:8px 14px;cursor:pointer;
  font-size:14px;font-weight:400;color:#6b7280;
  transition:border-color .15s, color .15s;
}
.product-wishlist-btn:hover { border-color:var(--accent);color:var(--accent); }
.product-wishlist-btn.wishlisted { color:#ef4444;border-color:#fca5a5; }
.product-wishlist-heart { font-size:16px;line-height:1; }
.product-wishlist-label { font-size:14px;font-weight:400; }

/* Total count badge in top strip */
.strip-count {
  display:inline-block;
  background:rgba(255,255,255,0.25);
  border:1px solid rgba(255,255,255,0.45);
  border-radius:999px;
  padding:1px 10px;
  font-size:13px;
  font-weight:900;
  margin-left:8px;
  vertical-align:middle;
  letter-spacing:.3px;
}

/* ═══ Dedup panel ═══ */
.dedup-btn { color:#7c3aed;border-color:#ddd6fe; }
.dedup-btn:hover { background:#faf5ff; }
.dedup-panel { border:2px solid #ddd6fe; }
.dedup-summary { display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:4px; }
.dedup-badge { display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:800; }
.dedup-keep   { background:#dcfce7;color:#166534;border:1px solid #86efac; }
.dedup-remove { background:#fee2e2;color:#991b1b;border:1px solid #fca5a5; }
.dedup-row-keep   { background:#f0fdf4; }
.dedup-row-remove { background:#fff1f2;opacity:.85; }
.dedup-row-remove td { text-decoration-color:#fca5a5; }

/* Category chips as buttons (same look as links) */
button.cf-chip {
  background:#f3f4f6;
  border:2px solid transparent;
  cursor:pointer;
  font-family:inherit;
}
button.cf-chip:hover { background:#fff7ed;color:#c2410c; }
button.cf-chip.active { background:#111827;color:#fff;border-color:#111827; }

/* ── Filters: second row always single line ── */
.cf-second-row {
  flex-wrap: nowrap !important;
  align-items: center;
  overflow-x: auto;
}
.cf-second-row::-webkit-scrollbar { display:none; }

/* Dimmed chip when no products match */
.cf-chip-empty {
  opacity: 0.35;
}

/* ── Limpo.ee logo image ── */
.logo-img-wrap {
  display:flex;
  align-items:center;
  flex-shrink:0;
}
.site-logo-img {
  height:48px;          /* matches search input height */
  width:auto;
  display:block;
  object-fit:contain;
}
/* Override old text logo styles that might conflict */
.temu-header .logo-img-wrap {
  font-size:0;          /* hide any fallback text */
}

@media (max-width:980px) {
  .site-logo-img { height:40px; }
}
@media (max-width:540px) {
  .site-logo-img { height:34px; }
}

/* ═══ Post Ad button in header ═══ */
.post-ad-btn {
  -webkit-appearance:none;
  appearance:none;
  background:linear-gradient(135deg,#ff8a2a,#e84000) !important;
  color:#fff !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  cursor:pointer;
  border-radius:14px !important;
  padding:9px 18px !important;
  font-weight:800 !important;
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}
.post-ad-plus {
  font-size:20px;font-weight:300;color:#fff !important;
  line-height:1;flex-shrink:0;
  text-shadow:none;
}
.post-ad-btn .temu-action-label {
  color:#fff !important;
  font-size:13px !important;
  font-weight:800 !important;
  white-space:nowrap;
  text-shadow:none;
}
.post-ad-btn:hover {
  background:linear-gradient(135deg,#ff9a3a,#f04800) !important;
  box-shadow:0 4px 16px rgba(255,100,0,.4) !important;
  transform:translateY(-1px);
}


/* ═══ Post Ad Modal ═══ */
.modal-overlay {
  position:fixed;inset:0;background:rgba(17,24,39,.5);z-index:300;
  opacity:0;transition:opacity .25s;
}
.modal-overlay.open { opacity:1; }

.post-ad-modal {
  position:fixed;top:50%;left:50%;z-index:310;
  transform:translate(-50%,-48%) scale(.97);
  width:min(680px,96vw);
  max-height:90vh;
  background:#fff;border-radius:24px;
  box-shadow:0 24px 80px rgba(17,24,39,.22);
  display:flex;flex-direction:column;
  opacity:0;transition:transform .25s,opacity .25s;
}
.post-ad-modal.open {
  transform:translate(-50%,-50%) scale(1);
  opacity:1;
}

.post-ad-head {
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 22px;border-bottom:1px solid var(--line);
  font-size:17px;font-weight:800;flex-shrink:0;
}
.modal-close-btn {
  border:0;background:none;font-size:20px;cursor:pointer;
  color:#9ca3af;padding:4px 8px;border-radius:8px;
}
.modal-close-btn:hover { background:#f3f4f6;color:#111827; }

.post-ad-body {
  overflow-y:auto;padding:20px 22px 28px;flex:1;
}

.pad-section-head {
  font-size:11px;font-weight:800;text-transform:uppercase;
  letter-spacing:.6px;color:#9ca3af;
  padding:14px 0 8px;border-top:1px solid var(--line);margin-top:4px;
}
.pad-section-head:first-child { border-top:0;padding-top:0; }

.pad-row {
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
}
.pad-row label, .post-ad-body label {
  display:flex;flex-direction:column;gap:5px;
  font-size:13px;font-weight:600;color:#374151;
}
.post-ad-body input:not([type=file]):not([type=checkbox]),
.post-ad-body select,
.post-ad-body textarea {
  padding:10px 13px;border:1px solid var(--line);border-radius:12px;
  font-size:14px;background:#fff;
}
.post-ad-body input:focus, .post-ad-body select:focus, .post-ad-body textarea:focus {
  outline:none;border-color:var(--accent);
}
.post-ad-body textarea { resize:vertical;min-height:100px; }

/* Captcha */
.captcha-row {
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px;
}
.captcha-question {
  background:#f3f4f6;padding:8px 14px;border-radius:10px;
  font-size:16px;font-weight:800;font-family:monospace;min-width:140px;text-align:center;
}
.captcha-refresh {
  border:1px solid var(--line);background:#fff;border-radius:8px;
  padding:6px 10px;cursor:pointer;font-size:16px;color:#6b7280;
}
.captcha-refresh:hover { color:var(--accent); }
.captcha-input { width:100px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;font-size:15px;font-weight:700; }

/* Success / error */
.pad-error { background:#fef2f2;color:#991b1b;border-radius:12px;padding:10px 14px;font-size:13px;margin-top:8px; }
.pad-success { text-align:center;padding:40px 20px; }
.pad-success-icon { font-size:52px;margin-bottom:12px; }
.pad-success-text { font-size:18px;font-weight:800;color:#166534; }

/* Login hint */
.login-hint-box {
  background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;
  padding:10px 14px;margin-bottom:14px;font-size:13px;
}
.login-hint-link { color:#c2410c;font-weight:700; }

@media (max-width:540px) {
  .pad-row { grid-template-columns:1fr; }
  .post-ad-modal { width:100vw;max-height:100dvh;border-radius:20px 20px 0 0;top:auto;bottom:0;left:0;transform:translate(0,4%) scale(.98); }
  .post-ad-modal.open { transform:translate(0,0) scale(1); }
}

/* ═══ Admin product category chips ═══ */
.prod-cat-chips {
  display:flex;gap:10px;flex-wrap:wrap;  /* wraps to multiple rows */
}
.prod-cat-chip {
  display:flex;flex-direction:column;align-items:center;
  padding:10px 12px;border-radius:16px;border:2px solid var(--line);
  background:#fafafa;cursor:pointer;
  font-size:13px;font-weight:700;color:#374151;
  transition:all .15s;min-width:90px;max-width:130px;
  text-align:center;
}
.prod-cat-chip:hover { border-color:var(--accent);color:var(--accent); }
.prod-cat-chip.active { background:#111827;color:#fff;border-color:#111827; }

/* Category image inside chip */
.pcc-img-wrap {
  width:56px;height:56px;border-radius:12px;overflow:hidden;
  background:#f3f4f6;margin-bottom:6px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.pcc-img-wrap img { width:100%;height:100%;object-fit:cover; }
.pcc-img-all { font-size:24px; }

.pcc-name {
  font-size:12px;font-weight:700;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;line-height:1.3;width:100%;
}
.prod-cat-count {
  font-size:22px;font-weight:900;line-height:1.1;margin-top:4px;
}
.prod-cat-chip.active .prod-cat-count { color:#fff; }
.prod-cat-sub {
  font-size:13px;font-weight:700;margin-top:3px;color:#6b7280;
}
.prod-cat-chip.active .prod-cat-sub { color:#9ca3af; }
.pcc-active { color:#16a34a; }
.pcc-draft  { color:#f59e0b; }
.prod-cat-chip.active .pcc-active { color:#86efac; }
.prod-cat-chip.active .pcc-draft  { color:#fcd34d; }

/* ── Draft / Pending status chips ── */
.prod-status-chips {
  display:flex;gap:10px;flex-wrap:wrap;
  margin-top:14px;padding-top:14px;border-top:1px solid var(--line);
}
.prod-status-chip {
  display:flex;align-items:center;gap:10px;
  padding:12px 20px;border-radius:14px;border:2px solid var(--line);
  background:#fafafa;cursor:pointer;font-size:14px;font-weight:700;
  color:#374151;text-decoration:none;transition:all .15s;
}
.prod-status-chip:hover { border-color:var(--accent); }
.prod-status-chip.active { background:#111827;color:#fff;border-color:#111827; }
.psc-icon { font-size:22px;line-height:1; }
.psc-label { font-size:14px;font-weight:700; }
.psc-count {
  background:#fff;border-radius:999px;padding:2px 10px;
  font-size:15px;font-weight:900;color:#374151;
  border:1px solid var(--line);min-width:32px;text-align:center;
}
.chip-draft { border-color:#fcd34d; }
.chip-draft .psc-count { background:#fffbeb;color:#92400e;border-color:#fcd34d; }
.chip-draft:hover,.chip-draft.active { background:#fffbeb;border-color:#f59e0b;color:#92400e; }
.chip-pending { border-color:#93c5fd; }
.chip-pending .psc-count { background:#eff6ff;color:#1d4ed8;border-color:#93c5fd; }
.chip-pending:hover,.chip-pending.active { background:#eff6ff;border-color:#3b82f6;color:#1d4ed8; }

/* ═══ Gallery count badge on card ═══ */
.gallery-count-badge {
  position:absolute;bottom:10px;right:10px;
  background:rgba(0,0,0,.55);color:#fff;
  border-radius:999px;font-size:11px;font-weight:700;
  padding:2px 8px;pointer-events:none;
}

/* ═══ Lightbox ═══ */
.lightbox-overlay {
  position:fixed;inset:0;z-index:500;
  background:rgba(0,0,0,.92);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .25s;
}
.lightbox-overlay.open { opacity:1; }
.lb-content {
  position:relative;max-width:90vw;max-height:90vh;
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
#lightboxImg {
  max-width:90vw;max-height:85vh;
  object-fit:contain;border-radius:8px;
  box-shadow:0 8px 40px rgba(0,0,0,.6);
}
.lb-counter {
  color:rgba(255,255,255,.7);font-size:14px;font-weight:700;text-align:center;
}
.lb-close {
  position:absolute;top:16px;right:16px;
  border:0;background:rgba(255,255,255,.12);color:#fff;
  width:40px;height:40px;border-radius:50%;font-size:18px;cursor:pointer;z-index:10;
}
.lb-close:hover { background:rgba(255,255,255,.25); }
.lb-arrow {
  position:absolute;top:50%;transform:translateY(-50%);
  border:0;background:rgba(255,255,255,.12);color:#fff;
  width:50px;height:50px;border-radius:50%;font-size:28px;cursor:pointer;
  transition:background .15s;
}
.lb-arrow:hover { background:rgba(255,255,255,.3); }
.lb-prev { left:16px; }
.lb-next { right:16px; }
@media (max-width:640px) {
  .lb-arrow { width:38px;height:38px;font-size:20px; }
  .lb-prev { left:6px; }
  .lb-next { right:6px; }
}

/* ═══ Import progress bar ═══ */
.import-progress-bar-wrap {
  width:100%;height:14px;background:#f3f4f6;border-radius:999px;
  overflow:hidden;margin:16px 0 8px;
}
.import-progress-bar {
  height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));
  border-radius:999px;transition:width .3s ease;
}


/* ═══ Admin product edit page ═══ */
.pe-back-btn { display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;color:var(--accent);text-decoration:none; }
.pe-back-btn:hover { text-decoration:underline; }

.pe-layout {
  display:grid;
  grid-template-columns:300px 1fr;
  gap:20px;
  align-items:start;
}
@media(max-width:860px){ .pe-layout{ grid-template-columns:1fr; } }

.pe-card {
  background:#fff;border-radius:18px;box-shadow:var(--shadow);
  padding:18px;margin-bottom:16px;
}
.pe-card-head {
  font-size:12px;font-weight:800;text-transform:uppercase;
  letter-spacing:.5px;color:#9ca3af;margin-bottom:14px;
}

/* Main photo */
.pe-main-wrap {
  width:100%;aspect-ratio:1/1;border-radius:14px;overflow:hidden;
  background:#f8f8f8;position:relative;cursor:zoom-in;margin-bottom:12px;
}
.pe-main-wrap img { width:100%;height:100%;object-fit:contain;display:block; }
.pe-zoom-badge {
  position:absolute;bottom:8px;left:50%;transform:translateX(-50%);
  background:rgba(0,0,0,.45);color:#fff;border-radius:999px;
  padding:3px 12px;font-size:11px;white-space:nowrap;pointer-events:none;
  opacity:0;transition:opacity .2s;
}
.pe-main-wrap:hover .pe-zoom-badge { opacity:1; }

/* Gallery grid */
.pe-gal-grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
}
.pe-gal-item {
  position:relative;aspect-ratio:1/1;border-radius:10px;overflow:hidden;
  background:#f3f4f6;border:1px solid var(--line);
}
.pe-gal-item img { width:100%;height:100%;object-fit:cover;cursor:zoom-in;display:block; }
.pe-gal-del {
  position:absolute;top:3px;right:3px;
  width:20px;height:20px;border-radius:50%;
  background:rgba(239,68,68,.85);color:#fff;border:0;
  font-size:11px;cursor:pointer;line-height:1;
  opacity:0;transition:opacity .15s;display:flex;align-items:center;justify-content:center;
}
.pe-gal-item:hover .pe-gal-del { opacity:1; }

/* Upload zone */
.pe-upload-zone {
  display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:12px;border:2px dashed #d1d5db;border-radius:12px;
  cursor:pointer;text-align:center;transition:border-color .15s;
}
.pe-upload-zone:hover { border-color:var(--accent); }
.pe-upload-icon { font-size:22px; }
.pe-upload-text { font-size:13px;font-weight:700;color:#374151; }
.pe-upload-hint { font-size:11px;color:#9ca3af; }

/* URL row */
.pe-url-row {
  display:flex;gap:8px;align-items:center;margin-top:8px;
}
.pe-url-row .pe-input { flex:1; }

/* Form fields */
.pe-input {
  width:100%;padding:10px 13px;border:1px solid #e5e7eb;border-radius:10px;
  font-size:14px;background:#fff;box-sizing:border-box;
  font-family:inherit;
}
.pe-input:focus { outline:none;border-color:var(--accent); }
textarea.pe-input { resize:vertical;min-height:80px; }

.pe-label {
  display:flex;flex-direction:column;gap:5px;
  font-size:13px;font-weight:600;color:#374151;
}
.pe-hint { font-size:11px;color:#9ca3af;font-weight:400; }

.pe-row2 { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.pe-row3 { display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px; }
.pe-span2 { grid-column:1/-1; }
@media(max-width:640px){
  .pe-row2,.pe-row3 { grid-template-columns:1fr; }
}

.pe-checkbox {
  display:flex;align-items:center;gap:8px;margin-top:12px;
  font-size:13px;font-weight:600;color:#374151;cursor:pointer;
}

.pe-save-bar {
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:#fff;border-radius:18px;box-shadow:var(--shadow);
  padding:16px 20px;position:sticky;bottom:16px;z-index:10;
}

/* ═══ Admin Products — compact list view ═══ */
.ap-head {
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;flex-wrap:wrap;margin-bottom:14px;
}
.ap-head-right { display:flex;gap:8px;align-items:center;flex-wrap:wrap; }
.ap-title { margin:0;font-size:20px;font-weight:900; }
.ap-total {
  display:inline-block;background:#f3f4f6;border-radius:999px;
  padding:2px 10px;font-size:14px;font-weight:700;color:#6b7280;margin-left:6px;
}

/* Filters card */
.ap-filters {
  display:flex;flex-direction:column;gap:10px;
  padding:14px 16px;margin-bottom:12px;
}

/* Search row */
.ap-search-wrap {
  display:flex;align-items:center;gap:0;
  border:1.5px solid var(--line);border-radius:12px;
  background:#fff;overflow:hidden;
  transition:border-color .15s;
}
.ap-search-wrap:focus-within { border-color:var(--accent); }
.ap-search-icon { padding:0 10px;font-size:15px;color:#9ca3af;flex-shrink:0; }
.ap-search {
  flex:1;border:0;padding:10px 4px;font-size:14px;background:transparent;
  min-width:0;
}
.ap-search:focus { outline:none; }
.ap-voice-btn {
  border:0;background:none;padding:0 12px;font-size:16px;
  cursor:pointer;color:#9ca3af;flex-shrink:0;height:100%;
  transition:color .15s;
}
.ap-voice-btn:hover { color:var(--accent); }

/* Filters row — all selects in one line */
.ap-filter-row {
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.ap-select {
  padding:7px 10px;border:1px solid var(--line);border-radius:10px;
  font-size:13px;background:#fff;cursor:pointer;
  flex-shrink:0;
}
.ap-select:focus { outline:none;border-color:var(--accent); }
.ap-count { font-size:13px;font-weight:700;color:#6b7280;white-space:nowrap;margin-left:4px; }

/* Table */
.ap-table { width:100%;font-size:12px; }
.ap-table th {
  background:#f8f8f8;padding:8px 10px;text-align:left;
  font-size:11px;font-weight:700;color:#6b7280;
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1;
}
.ap-table td { padding:7px 10px;border-bottom:1px solid #f3f4f6;vertical-align:middle; }
.ap-table .ap-row { cursor:pointer;transition:background .1s; }
.ap-table .ap-row:hover { background:#fff7ed; }

.ap-sort-col { cursor:pointer;user-select:none; }
.ap-sort-col:hover { color:var(--accent); }

.ap-id { font-size:10px;color:#9ca3af;font-family:monospace; }
.ap-cat { font-size:12px;color:#374151;font-weight:600; }
.ap-title-cell { font-weight:600;color:#111827;line-height:1.3; }
.ap-draft-badge {
  display:inline-block;background:#fef3c7;color:#92400e;
  border-radius:4px;padding:1px 5px;font-size:10px;font-weight:700;margin-left:4px;
}
.ap-city { font-size:11px;color:#9ca3af;margin-top:1px; }
.ap-type { font-size:11px;font-weight:700;color:#6b7280; }
.ap-small { font-size:11px;color:#9ca3af; }

.ap-del-btn {
  border:0;background:none;cursor:pointer;font-size:14px;
  padding:4px 6px;border-radius:6px;color:#9ca3af;
}
.ap-del-btn:hover { background:#fee2e2;color:#dc2626; }

/* ── Image Cache bulk bar ── */
.ic-bulk-bar {
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;
  padding:10px 16px;margin-bottom:12px;
}

/* ── Card meta row: city + date ── */
.card-meta-row {
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin:3px 0 4px;
}
.product-date {
  font-size:11px;color:#9ca3af;white-space:nowrap;
}

/* ── Category toggle button ── */
.cat-toggle-btn {
  border:1px solid var(--line);background:#fff;border-radius:10px;
  padding:5px 12px;font-size:12px;font-weight:700;cursor:pointer;
  color:#374151;display:flex;align-items:center;gap:5px;
  white-space:nowrap;
}
.cat-toggle-btn:hover { border-color:var(--accent);color:var(--accent); }

/* Collapsible cat grid */
#catGrid {
  transition: max-height .35s ease, opacity .3s ease;
  max-height: 2000px;
  opacity: 1;
}

/* ── Category dropdown: all-tiles panel ── */
.cat-dd-all {
  display:grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap:10px;
  align-content:start;
  /* fills the panel height via parent flex */
}

/* ── Custom city multi-select dropdown ── */
.city-dd-wrap { position:relative;flex-shrink:0; }
.city-dd-btn {
  display:flex;align-items:center;gap:5px;
  white-space:nowrap;cursor:pointer;
  width:auto !important;min-width:110px;max-width:180px;
}
.city-dd-panel {
  position:fixed;z-index:9999;
  background:#fff;border:1px solid var(--line);border-radius:16px;
  box-shadow:0 8px 32px rgba(0,0,0,.18);
  width:240px;display:flex;flex-direction:column;overflow:hidden;
}
.city-dd-search-wrap { padding:10px 12px 6px; }
.city-dd-search {
  width:100%;border:1px solid var(--line);border-radius:10px;
  padding:7px 10px;font-size:13px;box-sizing:border-box;
}
.city-dd-search:focus { outline:none;border-color:var(--accent); }
.city-dd-list {
  max-height:220px;overflow-y:auto;padding:4px 0;
}
.city-dd-item {
  display:flex;align-items:center;gap:8px;padding:6px 14px;
  cursor:pointer;font-size:13px;font-weight:600;color:#374151;
}
.city-dd-item:hover { background:#fff7ed;color:var(--accent); }
.city-dd-item input { accent-color:var(--accent);width:15px;height:15px;cursor:pointer; }
.city-dd-footer {
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 12px;border-top:1px solid var(--line);background:#f8f8f8;
}

/* category count badge in dropdown */
.city-dd-cnt {
  margin-left:auto;font-size:11px;font-weight:700;
  color:#9ca3af;padding-left:6px;
}

/* ═══════════════════════════════════════
   GDPR Consent Modal
═══════════════════════════════════════ */
.gdpr-backdrop {
  position:fixed;inset:0;z-index:10000;
  background:rgba(10,10,20,.72);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  padding:16px;
  animation:gdprFadeIn .4s ease forwards;
}
@keyframes gdprFadeIn { from{opacity:0} to{opacity:1} }

.gdpr-modal {
  background:#fff;
  border-radius:24px;
  box-shadow:0 32px 80px rgba(0,0,0,.35);
  max-width:520px;width:100%;
  padding:32px 32px 24px;
  display:flex;flex-direction:column;gap:0;
  transform:translateY(30px) scale(.96);
  opacity:0;
  transition:transform .45s cubic-bezier(.22,1,.36,1), opacity .4s ease;
}
.gdpr-modal.gdpr-visible {
  transform:translateY(0) scale(1);
  opacity:1;
}
.gdpr-backdrop.gdpr-closing {
  animation:gdprFadeOut .45s ease forwards;
}
@keyframes gdprFadeOut { to{opacity:0;pointer-events:none} }

/* Logo */
.gdpr-logo-wrap {
  display:flex;justify-content:center;
  margin-bottom:16px;
}
.gdpr-logo {
  height:44px;width:auto;
  filter:drop-shadow(0 2px 8px rgba(255,120,0,.25));
}

/* Title */
.gdpr-title {
  text-align:center;font-size:18px;font-weight:900;
  color:#111827;margin:0 0 16px;
}

/* Tabs */
.gdpr-tabs {
  display:flex;gap:6px;justify-content:center;
  margin-bottom:16px;
}
.gdpr-tab {
  border:2px solid #e5e7eb;background:#f9fafb;
  border-radius:999px;padding:5px 18px;
  font-size:13px;font-weight:800;color:#6b7280;
  cursor:pointer;transition:all .15s;
}
.gdpr-tab:hover { border-color:#f97316;color:#f97316; }
.gdpr-tab.active {
  background:linear-gradient(135deg,#f97316,#dc2626);
  border-color:transparent;color:#fff;
}

/* Content panels */
.gdpr-content { display:none;animation:gdprSlide .2s ease; }
.gdpr-content.active { display:block; }
@keyframes gdprSlide { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} }

.gdpr-lead {
  font-size:15px;font-weight:700;color:#111827;margin:0 0 8px;
}
.gdpr-content p {
  font-size:13px;color:#4b5563;line-height:1.6;margin:0 0 10px;
}
.gdpr-list {
  list-style:none;padding:0;margin:0 0 10px;
  display:flex;flex-direction:column;gap:6px;
}
.gdpr-list li {
  font-size:13px;color:#374151;
  background:#f8fafc;border-radius:10px;padding:8px 12px;
}
.gdpr-note {
  font-size:11px !important;color:#9ca3af !important;
  margin:0 !important;
}
.gdpr-link {
  color:#f97316;font-weight:700;text-decoration:none;
}
.gdpr-link:hover { text-decoration:underline; }

/* Actions */
.gdpr-actions {
  display:flex;gap:10px;margin-top:20px;
}
.gdpr-btn-decline {
  flex:1;padding:12px;border-radius:14px;
  border:2px solid #e5e7eb;background:#fff;
  font-size:14px;font-weight:700;color:#6b7280;
  cursor:pointer;transition:all .15s;
}
.gdpr-btn-decline:hover {
  border-color:#9ca3af;color:#374151;background:#f9fafb;
}
.gdpr-btn-accept {
  flex:2;padding:12px;border-radius:14px;border:0;
  background:linear-gradient(135deg,#f97316,#dc2626);
  font-size:14px;font-weight:800;color:#fff;
  cursor:pointer;
  box-shadow:0 4px 16px rgba(249,115,22,.35);
  transition:all .15s;
}
.gdpr-btn-accept:hover {
  transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(249,115,22,.45);
}
.gdpr-btn-accept:active { transform:translateY(0); }

/* Footer note */
.gdpr-footer-note {
  text-align:center;font-size:11px;color:#d1d5db;
  margin:14px 0 0;
}

@media(max-width:540px) {
  .gdpr-modal { padding:24px 18px 18px;border-radius:20px; }
  .gdpr-actions { flex-direction:column; }
  .gdpr-btn-decline, .gdpr-btn-accept { flex:none; }
}

/* ── GDPR text size fix ── */
.gdpr-body { font-size:14px !important; }
.gdpr-lead { font-size:16px !important; }
.gdpr-list li { font-size:14px !important; }
.gdpr-note  { font-size:12px !important; }

/* ── Privacy Policy popup ── */
.gdpr-policy-overlay {
  position:fixed;inset:0;z-index:20000;
  background:rgba(10,10,20,.75);
  backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  padding:20px;opacity:0;transition:opacity .25s;
}
.gdpr-policy-overlay.open { opacity:1; }
.gdpr-policy-box {
  background:#fff;border-radius:20px;
  max-width:580px;width:100%;max-height:80vh;
  display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 24px 80px rgba(0,0,0,.3);
  transform:translateY(20px);transition:transform .3s ease;
}
.gdpr-policy-overlay.open .gdpr-policy-box { transform:translateY(0); }
.gdpr-policy-close {
  position:absolute;top:14px;right:14px;
  border:0;background:rgba(0,0,0,.08);border-radius:50%;
  width:32px;height:32px;font-size:16px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
#gdprPolicyTitle {
  font-size:16px;font-weight:800;padding:20px 48px 12px 24px;
  border-bottom:1px solid var(--line);flex-shrink:0;margin:0;
}
.gdpr-policy-body {
  overflow-y:auto;padding:16px 24px 24px;font-size:13px;
  line-height:1.7;color:#374151;
}
.gdpr-policy-box { position:relative; }

/* Post-ad button plus sign */
.post-ad-plus {
  font-size:22px;font-weight:300;line-height:1;
  color:#fff !important;
  display:block;
}
