/* ================================================================
   Diana Wholesale B2B – Stílusok v2
   ================================================================ */

:root {
    --dw-gold:       #b8860b;
    --dw-gold-dark:  #9a7009;
    --dw-gold-light: rgba(184,134,11,.12);
    --dw-dark:       #1a1a1a;
    --dw-text:       #333;
    --dw-muted:      #888;
    --dw-border:     #e5e5e5;
    --dw-bg:         #f7f7f7;
    --dw-white:      #ffffff;
    --dw-radius:     10px;
    --dw-shadow:     0 4px 28px rgba(0,0,0,.07);
}

/* ── Alap ──────────────────────────────────────────────── */
.dw-auth-wrap, .dw-dash {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    color: var(--dw-text);
    -webkit-font-smoothing: antialiased;
}

.dw-msg { padding:12px 16px; border-radius:var(--dw-radius); font-size:14px;
           margin-bottom:18px; display:none; }
.dw-msg.is-success { background:#f0fdf4; border:1px solid #86efac; color:#166534; }
.dw-msg.is-error   { background:#fef2f2; border:1px solid #fca5a5; color:#991b1b; }
.dw-notice { padding:14px 18px; border-radius:var(--dw-radius); font-size:14px; }
.dw-notice a { color:var(--dw-gold); font-weight:600; }
.dw-error   { background:#fef2f2; border:1px solid #fca5a5; color:#991b1b; }
.dw-success { background:#f0fdf4; border:1px solid #86efac; color:#166534; }
.dw-req { color:var(--dw-gold); }

/* ── Gombok ─────────────────────────────────────────────── */
.dw-btn {
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:12px 28px; border-radius:var(--dw-radius); font-size:15px;
    font-weight:600; cursor:pointer; border:none; text-decoration:none;
    transition:background .2s, transform .15s, box-shadow .2s;
}
.dw-btn:disabled { opacity:.55; cursor:not-allowed; }
.dw-btn-gold, .dw-btn-primary { background:var(--dw-gold); color:#fff; }
.dw-btn-gold:hover, .dw-btn-primary:hover {
    background:var(--dw-gold-dark); color:#fff;
    transform:translateY(-2px); box-shadow:0 6px 18px rgba(184,134,11,.3);
}

/* ── Form elemek ─────────────────────────────────────────── */
.dw-field, .dw-group { display:block; width:100%; }
.dw-field label, .dw-group label {
    display:block; font-size:11.5px; font-weight:700; color:#555;
    text-transform:uppercase; letter-spacing:.5px; margin-bottom:6px;
}
.dw-field input, .dw-group input {
    display:block; width:100%; padding:10px 14px; border:1.5px solid var(--dw-border);
    border-radius:8px; font-size:14px; color:var(--dw-text); background:var(--dw-white);
    transition:border-color .2s, box-shadow .2s; box-sizing:border-box;
}
.dw-field input:focus, .dw-group input:focus {
    outline:none; border-color:var(--dw-gold); box-shadow:0 0 0 3px var(--dw-gold-light);
}
.dw-field input:disabled, .dw-group input:disabled {
    background:#f5f5f5; color:var(--dw-muted); cursor:default;
}

/* Jelszó szem */
.dw-pass-wrap { position:relative; display:block; width:100%; }
.dw-pass-wrap input { display:block !important; width:100% !important;
    padding-right:46px !important; box-sizing:border-box !important; }
.dw-toggle-pass {
    position:absolute; right:12px; top:50%; transform:translateY(-50%);
    background:none; border:none; cursor:pointer; color:var(--dw-muted);
    padding:4px; line-height:0; display:flex; align-items:center; z-index:2;
}
.dw-toggle-pass:hover { color:var(--dw-gold); }
.dw-toggle-pass svg { display:block; width:18px; height:18px; }

/* ═══════════════════════════════════════════════════════════
   AUTH OLDAL (Login + Register)
   ═══════════════════════════════════════════════════════════ */

.dw-auth-wrap {
    max-width: 600px;
    margin: 40px auto;
    padding: 0 16px;
}

/* Váltó tab a tetején */
.dw-auth-tabs {
    display: flex;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
    border: 1.5px solid var(--dw-border);
    border-bottom: none;
}
.dw-auth-tab {
    flex: 1;
    text-align: center;
    padding: 14px 10px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    background: var(--dw-bg);
    color: var(--dw-muted);
    transition: background .2s, color .2s;
    cursor: pointer;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dw-auth-tab:not(.is-active):hover { background: #eee; color: var(--dw-text); }
.dw-auth-tab.is-active {
    background: var(--dw-white);
    color: var(--dw-gold);
    border-bottom: 2px solid var(--dw-gold);
    margin-bottom: -2px;
    z-index: 1;
}

/* Box */
.dw-auth-box {
    background: var(--dw-white);
    border: 1.5px solid var(--dw-border);
    border-top: 3px solid var(--dw-gold);
    border-radius: 0 0 14px 14px;
    padding: 36px 40px 32px;
    box-shadow: var(--dw-shadow);
}

.dw-reg-brand { font-size:20px; font-weight:700; color:var(--dw-gold); margin-bottom:8px; }
.dw-reg-title { font-size:24px; font-weight:700; color:var(--dw-dark); margin-bottom:6px; line-height:1.2; }
.dw-reg-sub   { color:var(--dw-muted); font-size:14px; margin-bottom:26px; }

.dw-row { margin-bottom: 16px; }
.dw-col2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.dw-col3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }

#dw-reg-form .dw-btn-primary,
#dw-login-form .dw-btn-primary {
    width:100%; margin-top:10px; padding:14px; font-size:15px;
}

/* Remember me */
.dw-remember-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:4px; }
.dw-checkbox-label { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--dw-muted); cursor:pointer; user-select:none; }
.dw-checkbox-label input[type=checkbox] { width:16px; height:16px; accent-color:var(--dw-gold); cursor:pointer; }
.dw-forgot-link { font-size:13px; color:var(--dw-muted); text-decoration:none; }
.dw-forgot-link:hover { color:var(--dw-gold); }

/* Alsó váltó */
.dw-auth-switch {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid var(--dw-border);
    font-size: 13px;
    color: var(--dw-muted);
}
.dw-auth-switch-btn {
    font-weight: 700;
    color: var(--dw-gold);
    text-decoration: none;
    padding: 4px 14px;
    border: 1.5px solid var(--dw-gold);
    border-radius: 20px;
    transition: background .2s, color .2s;
}
.dw-auth-switch-btn:hover { background: var(--dw-gold); color: #fff; }

/* ═══════════════════════════════════════════════════════════
   DASHBOARD – ÚJRAÍRT STRUKTÚRA
   ═══════════════════════════════════════════════════════════ */

.dw-dash {
    background: var(--dw-white);
    border-radius: 14px;
    box-shadow: var(--dw-shadow);
    overflow: hidden;
    margin: 16px 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

/* ── Top Bar ── */
.dw-topbar {
    background: var(--dw-dark);
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.dw-topbar-user { display:flex; align-items:center; gap:12px; min-width:0; }
.dw-avatar-sm {
    width:38px; height:38px; background:var(--dw-gold); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:16px; font-weight:700; color:#fff; flex-shrink:0;
}
.dw-topbar-info { display:flex; flex-direction:column; min-width:0; }
.dw-topbar-name  { font-size:14px; font-weight:700; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dw-topbar-email { font-size:11px; color:#777; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dw-topbar-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.dw-topbar-shop-btn {
    background:var(--dw-gold); color:#fff; text-decoration:none;
    padding:8px 16px; border-radius:8px; font-size:13px; font-weight:600;
    white-space:nowrap; transition:background .2s;
}
.dw-topbar-shop-btn:hover { background:var(--dw-gold-dark); color:#fff; }
.dw-topbar-logout {
    color:#666; text-decoration:none; font-size:18px;
    padding:6px; border-radius:6px; transition:color .2s;
    display:flex; align-items:center;
}
.dw-topbar-logout:hover { color:#aaa; }

/* ── Tab navigáció ── */
.dw-tabs-nav {
    display: flex;
    background: var(--dw-bg);
    border-bottom: 2px solid var(--dw-border);
}
.dw-tab-link {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 14px 8px;
    text-decoration: none;
    color: var(--dw-muted);
    font-size: 13px;
    font-weight: 500;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    transition: color .2s, border-color .2s;
    position: relative;
}
.dw-tab-link:hover { color: var(--dw-text); }
.dw-tab-link.is-active { color: var(--dw-gold); border-bottom-color: var(--dw-gold); font-weight: 700; }
.dw-tab-icon { font-size: 16px; }
.dw-tab-badge {
    background: var(--dw-gold); color: #fff;
    font-size: 10px; font-weight: 700; padding: 1px 5px;
    border-radius: 10px; margin-left: 2px;
}

/* ── Tab tartalom ── */
.dw-tab-content { background: var(--dw-bg); min-height: 400px; }
.dw-panel { padding: 28px 28px; }
.dw-panel-title {
    font-size: 20px; font-weight: 700; color: var(--dw-dark);
    margin-bottom: 22px; padding-bottom: 14px; border-bottom: 2px solid var(--dw-border);
}

/* Profil grid */
.dw-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:22px; }
.dw-span2 { grid-column:1 / -1; }

/* Rendelések */
.dw-orders { display:flex; flex-direction:column; gap:12px; }
.dw-order { background:var(--dw-white); border:1.5px solid var(--dw-border); border-radius:10px; overflow:hidden; }
.dw-order-head {
    display:flex; justify-content:space-between; align-items:center;
    padding:13px 16px; border-bottom:1px solid #f0f0f0;
}
.dw-order-num  { font-weight:700; font-size:14px; color:var(--dw-dark); margin-right:10px; }
.dw-order-date { font-size:12px; color:var(--dw-muted); }
.dw-order-right { display:flex; align-items:center; gap:10px; }
.dw-order-total { font-size:15px; font-weight:700; color:var(--dw-gold); }
.dw-status { font-size:11px; font-weight:600; padding:3px 9px; border-radius:20px;
    text-transform:uppercase; letter-spacing:.4px; }
.dw-status--completed  { background:#f0fdf4; color:#166534; }
.dw-status--processing { background:#eff6ff; color:#1e40af; }
.dw-status--pending    { background:#fffbeb; color:#92400e; }
.dw-status--cancelled  { background:#fef2f2; color:#991b1b; }
.dw-status--on-hold    { background:#faf5ff; color:#6b21a8; }
.dw-order-items { padding:10px 16px; }
.dw-item { display:flex; align-items:center; gap:8px; padding:5px 0;
    border-bottom:1px solid #f5f5f5; font-size:13px; }
.dw-item:last-child { border-bottom:none; }
.dw-item-name  { flex:1; color:#333; }
.dw-item-qty   { color:var(--dw-muted); font-size:12px; }
.dw-item-price { font-weight:600; color:#555; }

/* Üres állapot */
.dw-empty { text-align:center; padding:50px 20px; color:var(--dw-muted); }
.dw-empty-icon { font-size:44px; margin-bottom:14px; }

/* Árlista */
.dw-pl-desc { color:#666; font-size:14px; margin-bottom:20px; line-height:1.6; }
.dw-pl-btns { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.dw-pl-btn {
    display:inline-flex; align-items:center; gap:8px;
    background:var(--dw-white); border:2px solid var(--dw-gold);
    color:var(--dw-gold); padding:13px 20px; border-radius:10px;
    font-size:14px; font-weight:600; text-decoration:none;
    transition:background .2s, color .2s, transform .15s;
}
.dw-pl-btn:hover { background:var(--dw-gold); color:#fff; transform:translateY(-2px); }
.dw-pl-date { font-size:13px; color:var(--dw-muted); }

/* ── Nagyker badge termék oldalon ── */
.dw-wholesale-badge,
.elementor-widget-woocommerce-product-price .dw-wholesale-badge,
.woocommerce .price .dw-wholesale-badge {
    display:inline-block !important; background:var(--dw-gold) !important;
    color:#fff !important; font-size:11px !important; font-weight:700 !important;
    padding:3px 9px !important; border-radius:4px !important;
    margin-right:8px !important; vertical-align:middle !important;
    text-transform:uppercase !important; letter-spacing:.5px !important;
    line-height:1.4 !important;
}

/* ═══════════════════════════════════════════════════════════
   WHOLESALE SHOP – KATEGÓRIA KÁRTYA OLDAL
   ═══════════════════════════════════════════════════════════ */

.dw-shop-wrap { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    max-width:1100px; margin:0 auto; padding:20px 0; }
.dw-shop-header { margin-bottom:24px; }
.dw-shop-back { display:inline-block; color:var(--dw-muted); text-decoration:none;
    font-size:13px; margin-bottom:10px; transition:color .2s; }
.dw-shop-back:hover { color:var(--dw-gold); }
.dw-shop-title { font-size:24px; font-weight:700; color:var(--dw-dark); margin:0; }
.dw-cat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:18px; }
.dw-cat-card { display:flex; flex-direction:column; text-decoration:none; background:#fff;
    border-radius:12px; overflow:hidden; border:1.5px solid var(--dw-border);
    transition:transform .2s, box-shadow .2s, border-color .2s; }
.dw-cat-card:hover { transform:translateY(-4px); box-shadow:0 8px 24px rgba(0,0,0,.1);
    border-color:var(--dw-gold); }
.dw-cat-img-wrap { position:relative; aspect-ratio:1/1; overflow:hidden; background:#f7f7f7; }
.dw-cat-img-wrap img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.dw-cat-card:hover .dw-cat-img-wrap img { transform:scale(1.04); }
.dw-cat-placeholder { width:100%; height:100%; display:flex; align-items:center;
    justify-content:center; font-size:48px; color:#ddd; }
.dw-cat-sub-badge { position:absolute; bottom:8px; right:8px; background:var(--dw-gold);
    color:#fff; font-size:12px; font-weight:700; width:24px; height:24px;
    border-radius:50%; display:flex; align-items:center; justify-content:center; }
.dw-cat-info { padding:12px 14px; display:flex; flex-direction:column; gap:4px; }
.dw-cat-name  { font-size:13px; font-weight:700; color:var(--dw-dark); line-height:1.3; }
.dw-cat-count { font-size:12px; color:var(--dw-muted); }

/* ═══════════════════════════════════════════════════════════
   RESZPONZÍV
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
    /* Auth */
    .dw-auth-wrap { margin:20px auto; }
    .dw-auth-box  { padding:24px 18px 22px; }
    .dw-col2, .dw-col3 { grid-template-columns:1fr; }
    .dw-remember-row { flex-direction:column; align-items:flex-start; gap:8px; }
    .dw-reg-title { font-size:21px; }

    /* Dashboard */
    .dw-dash { border-radius:0; margin:0; }
    .dw-topbar { padding:11px 14px; }
    .dw-topbar-name  { max-width:130px; }
    .dw-topbar-email { display:none; }
    .dw-topbar-shop-btn { font-size:12px; padding:7px 12px; }

    .dw-tabs-nav { overflow-x:auto; scrollbar-width:none; }
    .dw-tabs-nav::-webkit-scrollbar { display:none; }
    .dw-tab-link { padding:12px 10px; font-size:12px; white-space:nowrap; flex-shrink:0; }
    .dw-tab-icon { font-size:14px; }

    .dw-panel { padding:18px 14px; }
    .dw-panel-title { font-size:17px; margin-bottom:16px; }
    .dw-grid { grid-template-columns:1fr; gap:12px; }
    .dw-span2 { grid-column:1; }

    .dw-order-head { flex-direction:column; gap:6px; padding:10px 13px; }
    .dw-order-right { flex-direction:row; gap:8px; }
    .dw-item { font-size:12px; }

    .dw-pl-btns { flex-direction:column; }
    .dw-pl-btn  { width:100%; justify-content:center; }

    /* Shop */
    .dw-cat-grid { grid-template-columns:repeat(2,1fr); gap:10px; }
    .dw-shop-title { font-size:20px; }
}

@media (max-width: 380px) {
    .dw-topbar-shop-btn { display:none; } /* túl kis képernyőn csak ikon marad */
    .dw-tab-label { display:none; }       /* csak ikon látható */
    .dw-tab-link  { padding:12px 16px; }
}
