/* ==========================================================
   Green Jofiyat — Dokan (productive family stores)
   ========================================================== */

/* ── Dokan single-store page: constrain to theme container + 2-col layout ── */
.gj-store-page .dokan-profile-frame-wrapper,
.gj-store-page .dokan-store-tabs,
.gj-store-page .store-page-wrap { max-width: var(--container-max); margin-inline: auto !important; padding-inline: var(--container-padding); float: none; width: 100%; box-sizing: border-box; }

.gj-store-page .profile-frame { border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-card); margin: var(--space-lg) auto; }
.gj-store-page .dokan-store-info { padding: var(--space-lg); }
.gj-store-page .dokan-store-banner img { object-fit: cover; }

/* Tabs row */
.gj-store-page .dokan-store-tabs ul { display: flex; gap: 4px; flex-wrap: wrap; border-bottom: 2px solid var(--gj-border); padding: 0; list-style: none; }
.gj-store-page .dokan-store-tabs li a { display: block; padding: 0.8rem 1.4rem; font-weight: 600; color: var(--gj-text-muted); border-bottom: 2px solid transparent; margin-bottom: -2px; }
.gj-store-page .dokan-store-tabs li.active a, .gj-store-page .dokan-store-tabs li a:hover { color: var(--gj-primary); border-bottom-color: var(--gj-primary); }

/* Body: products + sidebar as a flex row (Dokan defaults to floats that break in RTL) */
.gj-store-page .dokan-store-wrap { display: flex; gap: var(--space-xl); align-items: flex-start; }
.gj-store-page .dokan-store-sidebar {
    flex: 0 0 290px; width: 290px !important; max-width: 290px;
    float: none !important; margin: 0 !important; padding: 0 !important; position: static !important; box-sizing: border-box;
}
.gj-store-page .dokan-store-wrap > :not(.dokan-store-sidebar) { flex: 1 1 auto; min-width: 0; }

/* Sidebar widgets as cards */
.gj-store-page .dokan-store-widget {
    background: var(--gj-bg-white); border: 1px solid var(--gj-border-light);
    border-radius: var(--radius-lg); padding: var(--space-lg); margin-bottom: var(--space-lg);
    box-shadow: var(--shadow-card); box-sizing: border-box; width: 100%;
}
.gj-store-page .dokan-store-widget .widget-title,
.gj-store-page .dokan-store-widget h2, .gj-store-page .dokan-store-widget h3 { font-size: var(--text-lg); margin: 0 0 var(--space-md); color: var(--gj-primary-dark); }
.gj-store-page .dokan-store-contact input, .gj-store-page .dokan-store-contact textarea {
    width: 100%; box-sizing: border-box; border: 1.5px solid var(--gj-border);
    border-radius: var(--radius-md); padding: 0.7rem 1rem; margin-bottom: var(--space-sm);
}
.gj-store-page .dokan-btn-theme, .gj-store-page .dokan-store-contact button {
    background: var(--gj-primary) !important; color: #fff !important; border: none !important;
    border-radius: var(--radius-pill) !important; padding: 0.7rem 1.5rem !important; font-weight: 600 !important;
}
.gj-store-page .store-cat-stack-dokan li a { color: var(--gj-text-secondary); }
.gj-store-page .store-cat-stack-dokan li a:hover { color: var(--gj-primary); }

/* Store products use our standard card grid */
.gj-store-page ul.products { margin-top: var(--space-lg) !important; }

@media (max-width: 900px) {
    .gj-store-page .dokan-store-wrap { flex-direction: column; }
    .gj-store-page .dokan-store-sidebar { flex: none; width: 100% !important; max-width: 100%; }
}

/* Family extra meta */
.gj-family__city { display: inline-flex; align-items: center; gap: 6px; color: var(--gj-text-muted); font-size: var(--text-sm); }
.gj-family__story { color: var(--gj-text-secondary); line-height: 1.9; margin-top: var(--space-sm); }

/* (.gj-family-card moved to components.css — it renders on the homepage and the
   Families page, where dokan.css does not load.) */

/* Vendor dashboard polish */
.gj-vendor-dashboard .dokan-dashboard-content { border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }
.gj-vendor-dashboard .dokan-dash-sidebar { border-radius: var(--radius-lg); overflow: hidden; }
.gj-vendor-dashboard .dashboard-widget { border-radius: var(--radius-lg); box-shadow: var(--shadow-card); border: 1px solid var(--gj-border-light); }
