/* =============================================
   EG Vendor Store Page  –  /promoters/{vendor}/
   Unified with the EG design system
   ============================================= */

/* --- Page container: keep Dokan store content away from screen edges --- */
/* Dokan store.php renders outside Total's #content-wrap.container,
   so we add our own centering + horizontal padding. The same values
   are applied to the breadcrumbs so both elements align perfectly. */
.dokan-store-wrap {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 30px;
  padding-right: 30px;
  box-sizing: border-box;
}

/* --- Hide "Store Product Category" sidebar widget & entire sidebar --- */
.dokan-store-wrap #dokan-secondary .dokan-category-menu,
.dokan-store-wrap #dokan-secondary .widget_product_categories,
.dokan-store-wrap #dokan-secondary .widget_dokan_store_cat_menu {
  display: none !important;
}

.dokan-store-wrap #dokan-secondary.dokan-store-sidebar {
  display: none !important;
}

/* Breadcrumbs: hidden on store pages */
p#breadcrumbs {
  display: none !important;
}

/* Search bar, sorting dropdown, and "no products" notice: hidden */
.dokan-store-products-filter-area {
  display: none !important;
}
.dokan-store-wrap .dokan-single-store p.dokan-info {
  display: none !important;
}

/* --- Force content area full width on store pages --- */
.dokan-store #primary.content-area,
.dokan-store #main.site-main {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 100% !important;
  float: none !important;
}

/* --- Page background --- */
.dokan-store-wrap {
  font-family: var(--eg-font, Arial, Helvetica, sans-serif);
}

/* --- Profile Frame / Banner Area --- */
.dokan-profile-frame-wrapper .profile-frame {
  background: #ffffff;
  border: 1px solid var(--eg-border-color, #e5e5e5);
  border-radius: var(--eg-card-radius, 12px) var(--eg-card-radius, 12px) 0 0;
  overflow: hidden;
  box-shadow: none;
  margin-bottom: 0;
  border-bottom: none;
}

/* Wrapper: flex column, zero gap between profile-frame and tabs */
.dokan-profile-frame-wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Kill any margins on direct children that create the gap */
.dokan-profile-frame-wrapper > .profile-frame,
.dokan-profile-frame-wrapper > .dokan-store-tabs {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.dokan-profile-frame-wrapper .profile-info-box {
  position: relative;
}

.dokan-profile-frame-wrapper .profile-info-img {
  width: 100%;
  max-height: 320px;
  object-fit: cover;
  display: block;
}

.dokan-profile-frame-wrapper .profile-info-img.dummy-image {
  background: linear-gradient(135deg, var(--eg-orange, #FF4500) 0%, var(--eg-orange-dark, #E03E00) 100%);
  height: 200px;
}

/* --- Profile avatar --- */
.dokan-profile-frame-wrapper .profile-img img {
  border: 4px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  width: 120px;
  height: 120px;
  object-fit: cover;
}

.dokan-profile-frame-wrapper .profile-img.profile-img-circle img {
  border-radius: 50%;
}

/* --- Store name --- */
.dokan-profile-frame-wrapper .store-name {
  font-family: var(--eg-font, Arial, Helvetica, sans-serif);
  font-size: var(--eg-font-size-xl, 24px);
  font-weight: 700;
  color: var(--eg-text, #111111);
  margin: 8px 0 4px;
  line-height: 1.3;
}

/* --- Profile summary info --- */
.dokan-profile-frame-wrapper .profile-info-summery-wrapper {
  padding: 20px 28px 24px;
}

.dokan-profile-frame-wrapper .profile-info-summery {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 20px;
}

.dokan-profile-frame-wrapper .profile-info {
  flex: 1;
}

/* Keep summary content (store name/details) below banner on white area */
.dokan-store-wrap .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  height: auto !important;
  background: #ffffff !important;
  color: var(--eg-text, #111111) !important;
}

.dokan-store-wrap .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery {
  width: 100% !important;
  height: auto !important;
  padding-top: 0 !important;
}

.dokan-store-wrap .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .store-name {
  color: var(--eg-text, #111111) !important;
  text-shadow: none !important;
  margin: 8px 0 8px !important;
}

/* Vendor Biography + Terms content: side breathing room */
.dokan-store-wrap #vendor-biography,
.dokan-store-wrap #store-toc-wrapper {
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}

/* --- Store info list (address, phone, email, rating) --- */
.dokan-profile-frame-wrapper ul.dokan-store-info {
  list-style: none;
  padding: 0;
  margin: 12px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
}

.dokan-profile-frame-wrapper ul.dokan-store-info li {
  font-size: var(--eg-font-size-sm, 14px);
  color: #555555;
  display: flex;
  align-items: center;
  gap: 8px;
}

.dokan-profile-frame-wrapper ul.dokan-store-info li i {
  color: var(--eg-orange, #FF4500);
  font-size: 14px;
  width: 16px;
  text-align: center;
}

/* Location / address: dark gray */
.dokan-profile-frame-wrapper ul.dokan-store-info li.dokan-store-address,
.dokan-profile-frame-wrapper ul.dokan-store-info li.dokan-store-address span,
.dokan-single-store .profile-info .dokan-store-info li.dokan-store-address,
.dokan-single-store .profile-info .dokan-store-info li.dokan-store-address span {
  color: #444444 !important;
}

.dokan-profile-frame-wrapper ul.dokan-store-info li.dokan-store-address i,
.dokan-single-store .profile-info .dokan-store-info li.dokan-store-address i {
  color: #444444 !important;
}

.dokan-profile-frame-wrapper ul.dokan-store-info li a {
  color: #555555;
  text-decoration: none;
  transition: color 0.2s ease;
}

.dokan-profile-frame-wrapper ul.dokan-store-info li a:hover {
  color: var(--eg-orange, #FF4500);
}

/* --- Rating stars --- */
.dokan-profile-frame-wrapper .dokan-seller-rating i.fas.fa-star,
.dokan-profile-frame-wrapper .dokan-store-info .dokan-store-rating i {
  color: var(--eg-orange, #FF4500);
}

/* --- Open / Closed badge --- */
.dokan-profile-frame-wrapper .store-open-close-notice .store-notice {
  font-size: 13px;
  font-weight: 600;
}

/* --- Social icons --- */
.dokan-profile-frame-wrapper .store-social-wrapper {
  margin-top: 16px;
}

.dokan-profile-frame-wrapper .store-social {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 10px;
}

.dokan-profile-frame-wrapper .store-social li a,
.dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info ul.store-social li a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #f5f5f5;
  color: #555555;
  text-decoration: none;
  transition: all 0.2s ease;
  overflow: hidden;
}

.dokan-profile-frame-wrapper .store-social li a i,
.dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info ul.store-social i {
  color: inherit !important;
  font-size: 18px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  text-shadow: none !important;
  line-height: 1 !important;
}

.dokan-profile-frame-wrapper .store-social li a:hover,
.dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info ul.store-social li a:hover {
  background: var(--eg-orange, #FF4500) !important;
  color: #ffffff !important;
}

.dokan-profile-frame-wrapper .store-social li a:hover i,
.dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info ul.store-social li a:hover i {
  color: #ffffff !important;
}

/* --- Store tabs (Products / Reviews / etc.) --- */
.dokan-profile-frame-wrapper .dokan-store-tabs {
  background: #ffffff;
  border: 1px solid var(--eg-border-color, #e5e5e5);
  border-top: 1px solid #eeeeee;
  border-radius: 0 0 var(--eg-card-radius, 12px) var(--eg-card-radius, 12px);
  margin-top: 0;
  padding: 0 28px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
  position: relative;
}

.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-list-inline {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 0;
  border-bottom: none;
}

.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-list-inline li {
  margin: 0;
}

.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-list-inline li a {
  display: inline-block;
  padding: 14px 20px;
  font-size: var(--eg-font-size-sm, 14px);
  font-weight: 600;
  color: #6b7280;
  text-decoration: none;
  border-bottom: 3px solid transparent;
  transition: all 0.2s ease;
}

.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-list-inline li a:hover,
.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-list-inline li.active a {
  color: var(--eg-orange, #FF4500);
  border-bottom-color: var(--eg-orange, #FF4500);
}

/* Make the tabs bar a flex container so tabs + buttons align nicely */
.dokan-profile-frame-wrapper .dokan-store-tabs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-list-inline {
  flex: 1 1 auto;
  order: 1;
}

.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  float: none;
  flex-shrink: 0;
  order: 2;
}

/* Remove any default borders/lines/separators from button list items */
.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button,
.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button li {
  border: none !important;
  border-bottom: none !important;
  border-top: none !important;
  background: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
}

.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button::before,
.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button::after,
.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button li::before,
.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button li::after {
  display: none !important;
  content: none !important;
}

/* Follow & Share buttons inside the tabs bar */
.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button li a,
.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button li button,
.dokan-profile-frame-wrapper .dokan-store-tabs .dokan-follow-store-button,
.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button li a.dokan-follow-store-button,
.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button li button.dokan-follow-store-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px;
  background: var(--eg-orange, #FF4500) !important;
  color: #ffffff !important;
  border: 1px solid var(--eg-orange, #FF4500) !important;
  border-radius: var(--eg-button-radius, 8px) !important;
  padding: 0 18px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
  white-space: nowrap;
  line-height: 1 !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  outline: none !important;
  margin: 0 !important;
  vertical-align: middle !important;
  float: none !important;
}

.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button li a:hover,
.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button li button:hover,
.dokan-profile-frame-wrapper .dokan-store-tabs .dokan-follow-store-button:hover {
  background: var(--eg-orange-dark, #E03E00) !important;
  border-color: var(--eg-orange-dark, #E03E00) !important;
}

/* Share button: outlined variant to distinguish from Follow */
.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button li:last-child a,
.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button li:last-child button {
  background: #ffffff !important;
  color: var(--eg-orange, #FF4500) !important;
  border: 1px solid var(--eg-orange, #FF4500) !important;
}

.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button li:last-child a:hover,
.dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button li:last-child button:hover {
  background: var(--eg-orange, #FF4500) !important;
  color: #ffffff !important;
}

/* --- Main store layout --- */
.dokan-store-wrap {
  display: flex;
  flex-direction: column !important;
  align-items: center;
  gap: 32px;
  margin-top: 24px;
}

/* --- Store sidebar --- */
.dokan-store-wrap #dokan-secondary.dokan-store-sidebar {
  flex: 0 0 280px;
  background: #ffffff;
  border: 1px solid var(--eg-border-color, #e5e5e5);
  border-radius: var(--eg-card-radius, 12px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
  padding: 0;
  overflow: hidden;
}

.dokan-store-wrap #dokan-secondary .dokan-widget-area {
  padding: 0;
}

.dokan-store-wrap #dokan-secondary .widget.dokan-store-widget {
  padding: 20px 24px;
  border-bottom: 1px solid #f1f5f9;
  margin: 0;
}

.dokan-store-wrap #dokan-secondary .widget.dokan-store-widget:last-child {
  border-bottom: 0;
}

.dokan-store-wrap #dokan-secondary .widget-title,
.dokan-store-wrap #dokan-secondary h3.widget-title {
  font-family: var(--eg-font, Arial, Helvetica, sans-serif);
  font-size: 15px;
  font-weight: 600;
  color: var(--eg-text, #111111);
  margin: 0 0 12px;
  padding: 0;
  border: none;
}

.dokan-store-wrap #dokan-secondary .widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.dokan-store-wrap #dokan-secondary .widget ul li {
  padding: 6px 0;
  font-size: 14px;
  color: #555555;
}

.dokan-store-wrap #dokan-secondary .widget ul li a {
  color: #555555;
  text-decoration: none;
  transition: color 0.2s ease;
}

.dokan-store-wrap #dokan-secondary .widget ul li a:hover {
  color: var(--eg-orange, #FF4500);
}

/* Sidebar: store contact form */
.dokan-store-wrap #dokan-secondary .dokan-store-contact .seller-name {
  display: none;
}

.dokan-store-wrap #dokan-secondary .dokan-store-contact form input[type="text"],
.dokan-store-wrap #dokan-secondary .dokan-store-contact form input[type="email"],
.dokan-store-wrap #dokan-secondary .dokan-store-contact form textarea {
  width: 100%;
  border: 1px solid #d4d4d4;
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 14px;
  font-family: var(--eg-font, Arial, Helvetica, sans-serif);
  transition: border-color 0.2s ease;
  box-sizing: border-box;
}

.dokan-store-wrap #dokan-secondary .dokan-store-contact form input:focus,
.dokan-store-wrap #dokan-secondary .dokan-store-contact form textarea:focus {
  border-color: var(--eg-orange, #FF4500);
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 69, 0, 0.1);
}

.dokan-store-wrap #dokan-secondary .dokan-store-contact form input[type="submit"] {
  background: var(--eg-orange, #FF4500);
  color: #ffffff;
  border: none;
  border-radius: var(--eg-button-radius, 8px);
  padding: var(--eg-button-padding-y, 12px) var(--eg-button-padding-x, 24px);
  font-size: var(--eg-button-font-size, 15px);
  font-weight: var(--eg-button-font-weight, 600);
  letter-spacing: var(--eg-button-letter-spacing, 0.02em);
  text-transform: var(--eg-button-text-transform, uppercase);
  cursor: pointer;
  transition: background 0.2s ease;
  width: 100%;
}

.dokan-store-wrap #dokan-secondary .dokan-store-contact form input[type="submit"]:hover {
  background: var(--eg-orange-dark, #E03E00);
}

/* Sidebar: store location map */
.dokan-store-wrap #dokan-secondary .dokan-store-location .dokan-google-map {
  border-radius: 8px;
  overflow: hidden;
}

/* Sidebar: store opening times */
.dokan-store-wrap #dokan-secondary .dokan-store-times .dokan-store-times-day {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  font-size: 14px;
  color: #555555;
  border-bottom: 1px solid #f5f5f5;
}

.dokan-store-wrap #dokan-secondary .dokan-store-times .dokan-store-times-day:last-child {
  border-bottom: 0;
}

.dokan-store-wrap #dokan-secondary .dokan-store-times .dokan-store-times-day .dokan-store-times-day-name {
  font-weight: 600;
  color: var(--eg-text, #111111);
}

/* --- Force long text to wrap inside event cards --- */
.dokan-single-store .etn-event-item,
.dokan-single-store .etn-event-card,
.dokan-single-store .etn-row-card,
.dokan-single-store [class*="etn-event"] {
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  overflow: hidden;
}

/* --- Main content area (products) --- */
.dokan-store-wrap .dokan-single-store {
  width: 100%;
  min-width: 0;
}

.dokan-store-wrap .dokan-single-store .store-page-wrap {
  margin-top: 24px;
}

/* Product grid */
.dokan-store-wrap .seller-items ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.dokan-store-wrap .seller-items ul.products li.product {
  background: #ffffff;
  border: 1px solid var(--eg-border-color, #e5e5e5);
  border-radius: var(--eg-card-radius, 12px);
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  padding: 0;
  margin: 0;
}

.dokan-store-wrap .seller-items ul.products li.product:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

.dokan-store-wrap .seller-items ul.products li.product a img,
.dokan-store-wrap .seller-items ul.products li.product .woocommerce-loop-product__link img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0;
}

.dokan-store-wrap .seller-items ul.products li.product .woocommerce-loop-product__title,
.dokan-store-wrap .seller-items ul.products li.product h2 {
  font-family: var(--eg-font, Arial, Helvetica, sans-serif);
  font-size: 15px;
  font-weight: 600;
  color: var(--eg-text, #111111);
  padding: 12px 16px 4px;
  margin: 0;
  line-height: 1.4;
}

.dokan-store-wrap .seller-items ul.products li.product .price {
  padding: 0 16px 12px;
  font-size: 15px;
  font-weight: 700;
  color: var(--eg-orange, #FF4500);
}

.dokan-store-wrap .seller-items ul.products li.product .price del {
  color: #999999;
  font-weight: 400;
  font-size: 13px;
}

.dokan-store-wrap .seller-items ul.products li.product .price ins {
  text-decoration: none;
}

.dokan-store-wrap .seller-items ul.products li.product .button,
.dokan-store-wrap .seller-items ul.products li.product a.add_to_cart_button,
.dokan-store-wrap .seller-items ul.products li.product a.product_type_simple {
  display: block;
  text-align: center;
  background: var(--eg-orange, #FF4500);
  color: #ffffff;
  border: none;
  border-radius: 0 0 var(--eg-card-radius, 12px) var(--eg-card-radius, 12px);
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease;
  margin: 0;
}

.dokan-store-wrap .seller-items ul.products li.product .button:hover,
.dokan-store-wrap .seller-items ul.products li.product a.add_to_cart_button:hover {
  background: var(--eg-orange-dark, #E03E00);
}

/* Onsale badge */
.dokan-store-wrap .seller-items ul.products li.product .onsale {
  background: var(--eg-orange, #FF4500);
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  border-radius: 999px;
  padding: 4px 12px;
  line-height: 1.4;
}

/* Star rating in product cards */
.dokan-store-wrap .seller-items ul.products li.product .star-rating {
  padding: 0 16px 4px;
  font-size: 13px;
}

.dokan-store-wrap .seller-items ul.products li.product .star-rating span::before {
  color: var(--eg-orange, #FF4500);
}

/* --- "No products" message --- */
.dokan-store-wrap .dokan-single-store p.dokan-info {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 20px 24px;
  font-size: 15px;
  color: #6b7280;
  text-align: center;
}

/* --- Pagination --- */
.dokan-store-wrap .dokan-single-store nav.dokan-pagination,
.dokan-store-wrap .dokan-single-store .pagination-wrap {
  margin-top: 32px;
  text-align: center;
}

.dokan-store-wrap .dokan-single-store .pagination-wrap ul {
  display: inline-flex;
  gap: 4px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.dokan-store-wrap .dokan-single-store .pagination-wrap ul li a,
.dokan-store-wrap .dokan-single-store .pagination-wrap ul li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 10px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  color: #555555;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  transition: all 0.2s ease;
}

.dokan-store-wrap .dokan-single-store .pagination-wrap ul li a:hover {
  background: var(--eg-orange, #FF4500);
  color: #ffffff;
  border-color: var(--eg-orange, #FF4500);
}

.dokan-store-wrap .dokan-single-store .pagination-wrap ul li span.current {
  background: var(--eg-orange, #FF4500);
  color: #ffffff;
  border-color: var(--eg-orange, #FF4500);
}

/* --- Responsive: mobile --- */
@media (max-width: 768px) {

  /* --- Container: reduce padding on small screens --- */
  .dokan-store-wrap {
    flex-direction: column;
    gap: 20px;
    padding-left: 14px;
    padding-right: 14px;
  }

  /* --- Layout order --- */
  .dokan-store-wrap #dokan-secondary.dokan-store-sidebar {
    flex: 1 1 auto;
    width: 100%;
    order: 2;
  }

  .dokan-store-wrap .dokan-single-store {
    order: 1;
    width: 100%;
  }

  /* --- Profile card: eliminate gap between top and tabs --- */
  .dokan-profile-frame-wrapper {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .dokan-profile-frame-wrapper .profile-frame {
    margin-bottom: 0 !important;
    border-bottom: none !important;
  }

  .dokan-profile-frame-wrapper .dokan-store-tabs {
    margin-top: 0 !important;
    border-top: 1px solid #eeeeee !important;
  }

  .dokan-profile-frame-wrapper .profile-info-summery-wrapper {
    padding: 16px 16px 20px;
  }

  .dokan-profile-frame-wrapper .profile-info-summery {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .dokan-profile-frame-wrapper .store-name {
    font-size: 20px;
  }

  .dokan-profile-frame-wrapper ul.dokan-store-info {
    justify-content: center;
  }

  .dokan-profile-frame-wrapper .store-social {
    justify-content: center;
  }

  /* --- Tabs + buttons bar --- */
  .dokan-profile-frame-wrapper .dokan-store-tabs {
    padding: 10px 14px;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 8px;
    align-items: center;
    overflow: visible !important;
  }

  .dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-list-inline {
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
  }

  .dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-list-inline li a {
    padding: 8px 12px;
    font-size: 13px;
  }

  .dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button {
    justify-content: center;
    width: 100%;
    gap: 10px;
    overflow: visible !important;
  }

  .dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button li {
    overflow: visible !important;
  }

  .dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button li a,
  .dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button li button,
  .dokan-profile-frame-wrapper .dokan-store-tabs .dokan-follow-store-button {
    padding: 0 20px !important;
    font-size: 13px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    overflow: visible !important;
  }

  /* --- Event cards (Eventin): prevent overflow --- */
  .dokan-single-store .etn-event-item,
  .dokan-single-store .etn-event-card,
  .dokan-single-store .etn-row-card,
  .dokan-single-store [class*="etn-event"] {
    overflow: hidden;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  /* Purchase/RSVP button in event cards */
  .dokan-single-store .etn-btn,
  .dokan-single-store .etn-btn-border {
    font-size: 13px !important;
    padding: 8px 16px !important;
    white-space: nowrap;
  }

  /* --- Search bar: prevent overflow --- */
  .dokan-single-store .dokan-store-products-filter-wrap,
  .dokan-single-store form[role="search"],
  .dokan-single-store .woocommerce-ordering,
  .dokan-single-store .dokan-store-products-ordeby {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden;
  }

  .dokan-single-store .dokan-store-products-filter-wrap form,
  .dokan-single-store form[role="search"] {
    display: flex !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .dokan-single-store .dokan-store-products-filter-wrap input[type="search"],
  .dokan-single-store .dokan-store-products-filter-wrap input[type="text"],
  .dokan-single-store form[role="search"] input[type="search"],
  .dokan-single-store form[role="search"] input[type="text"] {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .dokan-single-store .dokan-store-products-filter-wrap input[type="submit"],
  .dokan-single-store .dokan-store-products-filter-wrap button[type="submit"],
  .dokan-single-store form[role="search"] input[type="submit"],
  .dokan-single-store form[role="search"] button[type="submit"] {
    flex-shrink: 0 !important;
    white-space: nowrap;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    vertical-align: middle !important;
  }

  /* WooCommerce ordering dropdown */
  .dokan-single-store select.orderby,
  .dokan-single-store .woocommerce-ordering select {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  /* --- Product grid --- */
  .dokan-store-wrap .seller-items ul.products {
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
    gap: 12px;
  }

  .dokan-store-wrap .seller-items ul.products li.product .woocommerce-loop-product__title,
  .dokan-store-wrap .seller-items ul.products li.product h2 {
    font-size: 13px;
    padding: 10px 12px 4px;
  }

  .dokan-store-wrap .seller-items ul.products li.product .price {
    padding: 0 12px 10px;
    font-size: 14px;
  }

  .dokan-store-wrap .seller-items ul.products li.product .button,
  .dokan-store-wrap .seller-items ul.products li.product a.add_to_cart_button {
    padding: 10px 12px;
    font-size: 12px;
  }

  /* --- Sidebar widgets on mobile --- */
  .dokan-store-wrap #dokan-secondary .widget.dokan-store-widget {
    padding: 16px;
  }

  /* --- Prevent any horizontal overflow --- */
  .dokan-single-store,
  .dokan-single-store .store-page-wrap {
    overflow-x: hidden;
    max-width: 100%;
  }
}

/* --- Responsive: small mobile (< 480px) --- */
@media (max-width: 480px) {
  .dokan-store-wrap {
    padding-left: 10px;
    padding-right: 10px;
  }

  /* Stack tabs and buttons vertically on very small screens */
  .dokan-profile-frame-wrapper .dokan-store-tabs {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 10px 12px;
  }

  .dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-list-inline {
    justify-content: center;
    width: 100%;
  }

  .dokan-profile-frame-wrapper .dokan-store-tabs ul.dokan-modules-button {
    justify-content: center;
    width: 100%;
  }

  .dokan-store-wrap .seller-items ul.products {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px;
  }
}

/* --- Final override: keep vendor name/info below banner on all breakpoints/layouts --- */
.dokan-store-wrap .dokan-single-store .profile-frame .profile-info-box {
  display: block !important;
}

.dokan-store-wrap .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  width: 100% !important;
  height: auto !important;
  background: #ffffff !important;
  color: var(--eg-text, #111111) !important;
}

.dokan-store-wrap .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery {
  width: 100% !important;
  height: auto !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: transparent !important;
}

.dokan-store-wrap .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info-head,
.dokan-store-wrap .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .profile-info-summery .profile-info {
  float: none !important;
  width: 100% !important;
  position: static !important;
}

.dokan-store-wrap .dokan-single-store .profile-frame .profile-info-box .profile-info-summery-wrapper .store-name {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  display: block !important;
  color: var(--eg-text, #111111) !important;
  text-shadow: none !important;
  margin: 10px 0 6px !important;
  transform: none !important;
}
