/* =========================================================================
   Individual store page — Dokan /store/{vendor}/
   Everything is scoped to body.fmke-store-page (added by store-page-style.php).
   Written against Dokan Lite's store.php / store-header.php / store-sidebar.php
   templates and the plugin's own .fmke-vendor-reviews block. All three Dokan
   header layouts (default, layout 2, layout 3) are flattened to one look.
   ========================================================================= */

body.fmke-store-page {
  --fmke-i-pin-sp: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.2 7-11a7 7 0 1 0-14 0c0 4.8 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
  --fmke-i-search-sp: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M20 20l-4.3-4.3'/%3E%3C/svg%3E");
  --fmke-star-sp: #E8A33D;
}

/* ---- Page frame + breadcrumb ----------------------------------------- */
body.fmke-store-page .storefront-breadcrumb {
  background: #F6F3EE; margin: 0 !important; padding: 18px 0 6px !important;
}
body.fmke-store-page .storefront-breadcrumb .col-full { max-width: 1280px; }
body.fmke-store-page .woocommerce-breadcrumb { margin: 0 !important; padding: 0 !important; font-size: 13px; }
body.fmke-store-page .woocommerce-breadcrumb a { font-weight: 700; text-decoration: none; }
body.fmke-store-page .woocommerce-breadcrumb a:hover { color: var(--fmke-primary-dark); }

body.fmke-store-page .site-content { background: #F6F3EE; padding: 14px 0 56px; margin: 0; }
body.fmke-store-page .site-content > .col-full { max-width: 1280px; }
body.fmke-store-page .site-content > .col-full::before,
body.fmke-store-page .site-content > .col-full::after { display: none !important; }
body.fmke-store-page #primary.content-area { float: none !important; width: 100% !important; margin: 0 !important; }
body.fmke-store-page .site-main { margin: 0; }
/* Storefront's own sidebar — Dokan renders the store sidebar itself */
body.fmke-store-page #secondary.widget-area:not(.dokan-store-sidebar) { display: none !important; }

/* ---- Two-column layout: Dokan sidebar | store ------------------------- */
body.fmke-store-page .dokan-store-wrap {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px 28px; align-items: start;
  width: 100%; margin: 0; padding: 0;
}
body.fmke-store-page .dokan-store-wrap::before,
body.fmke-store-page .dokan-store-wrap::after,
body.fmke-store-page .dokan-store-wrap .dokan-clearfix::before,
body.fmke-store-page .dokan-store-wrap .dokan-clearfix::after { display: none !important; }
body.fmke-store-page .dokan-store-wrap #dokan-primary,
body.fmke-store-page .dokan-store-wrap #dokan-secondary {
  float: none !important; width: auto !important; max-width: none !important;
  margin: 0 !important; padding: 0 !important; min-width: 0; box-sizing: border-box;
}
body.fmke-store-page .dokan-store-wrap.layout-left  { grid-template-columns: 280px minmax(0, 1fr); }
body.fmke-store-page .dokan-store-wrap.layout-right { grid-template-columns: minmax(0, 1fr) 280px; }
body.fmke-store-page .dokan-store-wrap.layout-left  > #dokan-secondary { grid-column: 1; grid-row: 1; }
body.fmke-store-page .dokan-store-wrap.layout-left  > #dokan-primary   { grid-column: 2; grid-row: 1; }
body.fmke-store-page .dokan-store-wrap.layout-right > #dokan-primary   { grid-column: 1; grid-row: 1; }
body.fmke-store-page .dokan-store-wrap.layout-right > #dokan-secondary { grid-column: 2; grid-row: 1; }
body.fmke-store-page #dokan-content.store-page-wrap { margin: 0; padding: 0; }

/* =========================================================================
   Store header card
   ========================================================================= */
body.fmke-store-page .profile-frame {
  position: relative; overflow: hidden; margin: 0 0 22px; padding: 0;
  background: #fff; border: 1px solid var(--fmke-border); border-radius: 20px; box-shadow: var(--fmke-shadow);
}
body.fmke-store-page .profile-info-box {
  position: relative; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important;
}

/* Banner: real image, or a branded gradient when the vendor hasn't uploaded one */
body.fmke-store-page .profile-info-box .profile-info-img {
  display: block; width: 100% !important; height: 240px !important; max-width: none !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
  object-fit: cover; background: var(--fmke-primary-light);
}
body.fmke-store-page .profile-info-box .profile-info-img.dummy-image {
  font-size: 0; color: transparent;
  background:
    radial-gradient(circle at 18% 120%, rgba(255,255,255,.22) 0 18%, transparent 19%),
    radial-gradient(circle at 86% -10%, rgba(255,255,255,.16) 0 22%, transparent 23%),
    linear-gradient(120deg, var(--fmke-primary) 0%, #FF8A3D 45%, var(--fmke-dark) 130%);
}
/* soft shade so the avatar and tabs read well against any banner photo */
body.fmke-store-page .profile-info-box::before {
  content: ""; position: absolute; z-index: 1; top: 0; left: 0; right: 0; height: 240px; pointer-events: none;
  background: linear-gradient(180deg, rgba(31,61,44,0) 45%, rgba(31,61,44,.38) 100%);
}

/* Dokan's default layout floats the summary over the banner on a dark strip — put it in normal flow */
body.fmke-store-page .profile-info-summery-wrapper {
  position: relative !important; z-index: 2; top: auto !important; bottom: auto !important; left: auto !important; right: auto !important;
  width: auto !important; margin: 0 !important; padding: 0 !important; background: none !important;
}
body.fmke-store-page .profile-info-summery {
  position: static !important; float: none !important; width: auto !important; max-width: none !important;
  margin: 0 !important; padding: 0 28px 10px !important; background: none !important; border: 0 !important;
  box-shadow: none !important; color: var(--fmke-dark) !important; text-shadow: none !important;
}

/* Logo + (default-layout) name sit on the banner edge */
body.fmke-store-page .profile-info-head {
  display: flex !important; align-items: flex-end; gap: 18px;
  float: none !important; width: auto !important; margin: -58px 0 0 !important; padding: 0 !important; background: none !important;
}
body.fmke-store-page .profile-info-head .profile-img {
  position: relative; flex: 0 0 auto; float: none !important;
  width: 116px; height: 116px; margin: 0 !important; padding: 0 !important;
  border: 5px solid #fff; border-radius: 50%; background: #fff; box-shadow: 0 6px 18px rgba(31,61,44,.22); overflow: hidden;
}
body.fmke-store-page .profile-info-head .profile-img img {
  display: block; width: 100% !important; height: 100% !important; max-width: none !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; object-fit: cover;
}
body.fmke-store-page .profile-info-head .store-name { padding-bottom: 6px; }

/* Store name */
body.fmke-store-page .profile-frame .store-name {
  margin: 0 0 12px !important; padding: 0;
  font-family: 'Fraunces', Georgia, serif; font-size: 30px !important; font-weight: 600 !important; line-height: 1.2 !important;
  color: var(--fmke-dark) !important; text-shadow: none !important; text-align: left;
}
body.fmke-store-page .profile-info-head .store-name { margin-bottom: 0 !important; }

/* Info block */
body.fmke-store-page .profile-info {
  float: none !important; width: auto !important; margin: 0 !important; padding: 14px 0 0 !important; background: none !important; border: 0 !important;
}
body.fmke-store-page .profile-info-head + .profile-info { padding-top: 16px !important; }

/* Contact / rating / hours as pills */
body.fmke-store-page ul.dokan-store-info {
  display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 14px !important; padding: 0 !important; list-style: none !important;
}
body.fmke-store-page ul.dokan-store-info > li {
  display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto;
  float: none !important; width: auto !important; max-width: 100%; box-sizing: border-box;
  margin: 0 !important; padding: 8px 14px !important;
  background: var(--fmke-primary-light); border: 1px solid var(--fmke-border); border-radius: 999px;
  font-size: 13.5px; font-weight: 600; line-height: 1.35; color: var(--fmke-dark) !important; text-shadow: none !important;
}
body.fmke-store-page ul.dokan-store-info > li::before,
body.fmke-store-page ul.dokan-store-info > li::after { display: none !important; }
body.fmke-store-page ul.dokan-store-info > li > i,
body.fmke-store-page ul.dokan-store-info > li .fas,
body.fmke-store-page ul.dokan-store-info > li .far { flex: 0 0 auto; width: auto !important; margin: 0 !important; color: var(--fmke-primary) !important; font-size: 14px; }
body.fmke-store-page ul.dokan-store-info > li a { color: var(--fmke-dark) !important; font-weight: 700; text-decoration: none !important; }
body.fmke-store-page ul.dokan-store-info > li a:hover { color: var(--fmke-primary-dark) !important; }
body.fmke-store-page ul.dokan-store-info > li.dokan-store-rating { background: #FFF7E3; border-color: #F6E3B3; }
body.fmke-store-page ul.dokan-store-info > li.dokan-store-rating i,
body.fmke-store-page ul.dokan-store-info > li.dokan-store-rating .star-rating,
body.fmke-store-page ul.dokan-store-info > li.dokan-store-rating .star-rating span::before { color: var(--fmke-star-sp) !important; }
body.fmke-store-page ul.dokan-store-info > li .dokan-store-is-open-status,
body.fmke-store-page ul.dokan-store-info > li .dokan-store-is-closed-status {
  display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; color: #fff;
}
body.fmke-store-page ul.dokan-store-info > li .dokan-store-is-open-status { background: #1E9E5A; }
body.fmke-store-page ul.dokan-store-info > li .dokan-store-is-closed-status { background: var(--fmke-sale); }

/* Social icons */
body.fmke-store-page .store-social-wrapper { margin: 0 0 6px; padding: 0; }
body.fmke-store-page ul.store-social { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
body.fmke-store-page ul.store-social li { float: none !important; margin: 0 !important; padding: 0 !important; }
body.fmke-store-page ul.store-social li a {
  display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; padding: 0;
  border: 1.5px solid var(--fmke-border); border-radius: 50%; background: #fff; color: var(--fmke-primary) !important;
  font-size: 16px; text-decoration: none !important; transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
body.fmke-store-page ul.store-social li a:hover { background: var(--fmke-primary); border-color: var(--fmke-primary); color: #fff !important; transform: translateY(-2px); }

/* Tabs row */
body.fmke-store-page .dokan-store-tabs {
  float: none !important; width: auto !important; margin: 0 !important; padding: 14px 28px 18px !important;
  background: none !important; border: 0 !important; border-top: 1px solid var(--fmke-border) !important; text-align: left !important;
}
body.fmke-store-page .dokan-store-tabs ul.dokan-list-inline {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 !important; padding: 0 !important; list-style: none !important;
}
body.fmke-store-page .dokan-store-tabs ul.dokan-list-inline > li { float: none !important; margin: 0 !important; padding: 0 !important; position: relative; }
body.fmke-store-page .dokan-store-tabs ul.dokan-list-inline > li > a {
  display: inline-flex; align-items: center; box-sizing: border-box; min-height: 40px; padding: 0 18px;
  border: 1.5px solid var(--fmke-border); border-radius: 999px; background: #fff; color: var(--fmke-dark) !important;
  font-size: 14px; font-weight: 700; text-decoration: none !important; transition: border-color .15s ease, color .15s ease, background .15s ease;
}
body.fmke-store-page .dokan-store-tabs ul.dokan-list-inline > li > a:hover { border-color: var(--fmke-primary); background: var(--fmke-primary-light); color: var(--fmke-primary-dark) !important; }
body.fmke-store-page .dokan-store-tabs ul.dokan-list-inline > li.active > a,
body.fmke-store-page .dokan-store-tabs ul.dokan-list-inline > li.current > a { background: var(--fmke-primary); border-color: var(--fmke-primary); color: #fff !important; }

/* Share + support buttons */
body.fmke-store-page .dokan-store-tabs .dokan-share-btn-wrap,
body.fmke-store-page .dokan-store-tabs .dokan-store-support-btn-wrap { margin-left: auto !important; }
body.fmke-store-page .dokan-store-tabs .dokan-share-btn-wrap ~ .dokan-store-support-btn-wrap { margin-left: 0 !important; }
body.fmke-store-page .dokan-share-btn,
body.fmke-store-page .dokan-store-support-btn,
body.fmke-store-page .dokan-store-tabs .dokan-btn {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box;
  min-height: 40px; margin: 0 !important; padding: 0 18px !important;
  background: #fff !important; background-image: none !important; color: var(--fmke-primary-dark) !important;
  border: 0 !important; border-radius: 999px !important; box-shadow: inset 0 0 0 1.5px var(--fmke-primary) !important;
  font-size: 14px !important; font-weight: 800 !important; line-height: 1 !important; text-transform: none !important; text-shadow: none !important; text-decoration: none !important; cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
body.fmke-store-page .dokan-share-btn:hover,
body.fmke-store-page .dokan-store-support-btn:hover,
body.fmke-store-page .dokan-store-tabs .dokan-btn:hover { background: var(--fmke-primary) !important; color: #fff !important; }
body.fmke-store-page .dokan-share-popup {
  z-index: 20; padding: 8px; background: #fff; border: 1px solid var(--fmke-border); border-radius: 14px; box-shadow: 0 12px 28px rgba(31,61,44,.18);
}
body.fmke-store-page .dokan-share-popup a { border-radius: 10px; }

/* =========================================================================
   Sidebar widgets (categories, contact form, hours, location …)
   ========================================================================= */
body.fmke-store-page #dokan-secondary .widget,
body.fmke-store-page .dokan-store-sidebar .widget {
  box-sizing: border-box; margin: 0 0 18px !important; padding: 20px 20px 22px !important;
  background: #fff; border: 1px solid var(--fmke-border); border-radius: 16px; box-shadow: var(--fmke-shadow);
}
body.fmke-store-page #dokan-secondary .widget:last-child { margin-bottom: 0 !important; }
body.fmke-store-page #dokan-secondary .widget-title,
body.fmke-store-page #dokan-secondary .widget > h3,
body.fmke-store-page #dokan-secondary .widget > h2 {
  position: relative; margin: 0 0 14px !important; padding: 0 0 12px !important; border: 0 !important; background: none !important;
  font-family: 'Fraunces', Georgia, serif; font-size: 18px !important; font-weight: 600 !important; line-height: 1.25; color: var(--fmke-dark) !important; text-transform: none !important;
}
body.fmke-store-page #dokan-secondary .widget-title::after,
body.fmke-store-page #dokan-secondary .widget > h3::after,
body.fmke-store-page #dokan-secondary .widget > h2::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 36px; height: 4px; border-radius: 4px; background: var(--fmke-primary);
}
body.fmke-store-page #dokan-secondary .widget ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
body.fmke-store-page #dokan-secondary .widget ul ul { padding-left: 14px !important; }
body.fmke-store-page #dokan-secondary .widget ul li { margin: 0 !important; padding: 0 !important; border: 0; font-size: 14px; color: var(--fmke-dark); }
body.fmke-store-page #dokan-secondary .widget ul li a {
  display: block; padding: 9px 12px; border-radius: 10px; color: var(--fmke-dark) !important; font-weight: 600; text-decoration: none !important;
  transition: background .15s ease, color .15s ease;
}
body.fmke-store-page #dokan-secondary .widget ul li a:hover { background: var(--fmke-primary-light); color: var(--fmke-primary-dark) !important; }
body.fmke-store-page #dokan-secondary .widget ul li .count { color: var(--fmke-muted); font-weight: 600; }
body.fmke-store-page #dokan-secondary .widget p { margin: 0 0 10px; font-size: 14px; line-height: 1.5; }

/* Opening hours (list of day / time rows) */
body.fmke-store-page #dokan-secondary .dokan-store-open-close ul li,
body.fmke-store-page #dokan-secondary .store-open-close ul li { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px dashed var(--fmke-border); }
body.fmke-store-page #dokan-secondary .dokan-store-open-close ul li:last-child,
body.fmke-store-page #dokan-secondary .store-open-close ul li:last-child { border-bottom: 0; }

/* Contact-vendor form + any fields in the sidebar */
body.fmke-store-page #dokan-secondary input[type="text"],
body.fmke-store-page #dokan-secondary input[type="email"],
body.fmke-store-page #dokan-secondary input[type="tel"],
body.fmke-store-page #dokan-secondary textarea,
body.fmke-store-page #dokan-secondary select {
  width: 100%; box-sizing: border-box; margin: 0 0 12px; padding: 11px 14px; min-height: 44px;
  border: 1.5px solid var(--fmke-border) !important; border-radius: 12px !important; background: #fff !important; color: var(--fmke-dark);
  font-size: 14.5px; box-shadow: none !important;
}
body.fmke-store-page #dokan-secondary textarea { min-height: 96px; resize: vertical; }
body.fmke-store-page #dokan-secondary input:focus,
body.fmke-store-page #dokan-secondary textarea:focus,
body.fmke-store-page #dokan-secondary select:focus { outline: none; border-color: var(--fmke-primary) !important; box-shadow: 0 0 0 3px rgba(255,106,0,.16) !important; }
body.fmke-store-page #dokan-secondary input[type="submit"],
body.fmke-store-page #dokan-secondary button[type="submit"],
body.fmke-store-page #dokan-secondary .dokan-btn {
  display: inline-flex !important; align-items: center; justify-content: center; box-sizing: border-box; min-height: 44px; margin: 0; padding: 0 26px !important;
  background: var(--fmke-primary) !important; background-image: none !important; color: #fff !important;
  border: 0 !important; border-radius: 999px !important; box-shadow: none !important;
  font-size: 14px !important; font-weight: 800 !important; text-transform: none !important; text-shadow: none !important; cursor: pointer;
  transition: background .15s ease;
}
body.fmke-store-page #dokan-secondary input[type="submit"]:hover,
body.fmke-store-page #dokan-secondary button[type="submit"]:hover,
body.fmke-store-page #dokan-secondary .dokan-btn:hover { background: var(--fmke-primary-dark) !important; }

/* =========================================================================
   Vendor Reviews block (class-vendor-reviews.php)
   ========================================================================= */
body.fmke-store-page .fmke-vendor-reviews {
  box-sizing: border-box; margin: 0 0 22px; padding: 24px 26px 26px;
  background: #fff; border: 1px solid var(--fmke-border); border-radius: 20px; box-shadow: var(--fmke-shadow);
}
body.fmke-store-page .fmke-vendor-reviews-heading,
body.fmke-store-page .fmke-vendor-reviews-subheading {
  position: relative; font-family: 'Fraunces', Georgia, serif; font-weight: 600; color: var(--fmke-dark);
}
body.fmke-store-page .fmke-vendor-reviews-heading { margin: 0 0 14px; padding-bottom: 12px; font-size: 22px; }
body.fmke-store-page .fmke-vendor-reviews-heading::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 40px; height: 4px; border-radius: 4px; background: var(--fmke-primary);
}
body.fmke-store-page .fmke-vendor-reviews-subheading { margin: 22px 0 12px; font-size: 17px; }
body.fmke-store-page .fmke-vendor-reviews-summary {
  display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 16px;
  padding: 10px 18px; background: #FFF7E3; border: 1px solid #F6E3B3; border-radius: 999px;
}
body.fmke-store-page .fmke-vendor-reviews-stars,
body.fmke-store-page .fmke-vendor-review-stars { color: var(--fmke-star-sp); font-size: 17px; letter-spacing: 2px; }
body.fmke-store-page .fmke-vendor-reviews-avg { font-size: 18px; font-weight: 800; color: var(--fmke-dark); }
body.fmke-store-page .fmke-vendor-reviews-count { font-size: 13.5px; font-weight: 600; color: var(--fmke-muted); }

body.fmke-store-page .fmke-vendor-reviews-list { display: grid; gap: 12px; margin: 0 0 6px; }
body.fmke-store-page .fmke-vendor-review {
  padding: 16px 18px; background: #FBF9F5; border: 1px solid var(--fmke-border); border-radius: 14px;
}
body.fmke-store-page .fmke-vendor-review:first-child { border-top: 1px solid var(--fmke-border); }
body.fmke-store-page .fmke-vendor-review-head { gap: 6px 10px; margin: 0 0 8px; font-size: 13.5px; }
body.fmke-store-page .fmke-vendor-review-author { font-weight: 800; }
body.fmke-store-page .fmke-vendor-review-verified {
  padding: 3px 10px; background: #E6F5EC; color: #167A45; border-radius: 999px; font-size: 11.5px; font-weight: 800;
}
body.fmke-store-page .fmke-vendor-review-date { color: var(--fmke-muted); font-size: 12.5px; }
body.fmke-store-page .fmke-vendor-review-comment { font-size: 14.5px; line-height: 1.6; color: var(--fmke-dark); }
body.fmke-store-page .fmke-vendor-review-reply {
  margin: 12px 0 0; padding: 12px 14px; background: #fff; border: 0; border-left: 4px solid var(--fmke-primary); border-radius: 0 10px 10px 0; font-size: 13.5px; line-height: 1.55;
}
body.fmke-store-page .fmke-vendor-review-reply strong { color: var(--fmke-primary-dark); }
body.fmke-store-page .fmke-vendor-reviews-empty,
body.fmke-store-page .fmke-vendor-reviews-login { margin: 0; padding: 14px 16px; background: #FBF9F5; border: 1.5px dashed #E8D5C2; border-radius: 12px; font-size: 14px; color: var(--fmke-muted); }
body.fmke-store-page .fmke-vendor-reviews-list .fmke-vendor-reviews-empty { text-align: center; padding: 22px 16px; }
body.fmke-store-page .fmke-vendor-reviews-login a { font-weight: 800; color: var(--fmke-primary-dark); }

/* Review form */
body.fmke-store-page .fmke-vendor-review-form { max-width: 460px; margin-top: 18px; padding-top: 4px; }
body.fmke-store-page .fmke-field span { margin: 0 0 6px; font-size: 13.5px; font-weight: 700; color: var(--fmke-dark); }
body.fmke-store-page .fmke-field select,
body.fmke-store-page .fmke-field textarea {
  box-sizing: border-box; padding: 11px 14px; border: 1.5px solid var(--fmke-border); border-radius: 12px; background: #fff; color: var(--fmke-dark); font-size: 14.5px; box-shadow: none;
}
body.fmke-store-page .fmke-field select { min-height: 46px; border-radius: 999px; }
body.fmke-store-page .fmke-field select:focus,
body.fmke-store-page .fmke-field textarea:focus { outline: none; border-color: var(--fmke-primary); box-shadow: 0 0 0 3px rgba(255,106,0,.16); }
body.fmke-store-page .fmke-vendor-review-form button[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 28px !important;
  background: var(--fmke-primary) !important; background-image: none !important; color: #fff !important;
  border: 0 !important; border-radius: 999px !important; box-shadow: none !important; font-size: 14px !important; font-weight: 800 !important; cursor: pointer;
  transition: background .15s ease;
}
body.fmke-store-page .fmke-vendor-review-form button[type="submit"]:hover { background: var(--fmke-primary-dark) !important; }

/* Success / error notices (Dokan alert classes) */
body.fmke-store-page .dokan-alert {
  margin: 0 0 14px; padding: 12px 16px; border: 0; border-left: 4px solid; border-radius: 10px; font-size: 14px; font-weight: 600; text-shadow: none;
}
body.fmke-store-page .dokan-alert-success { background: #E6F5EC; border-color: #1E9E5A; color: #14693D; }
body.fmke-store-page .dokan-alert-danger  { background: #FDECEC; border-color: var(--fmke-sale); color: #A31715; }

/* =========================================================================
   Product search + sort bar
   ========================================================================= */
body.fmke-store-page .dokan-store-products-filter-area {
  box-sizing: border-box; margin: 0 0 18px !important; padding: 12px 16px !important; float: none !important; width: auto !important;
  background: #fff; border: 1px solid var(--fmke-border); border-radius: 16px; box-shadow: var(--fmke-shadow);
}
body.fmke-store-page .dokan-store-products-filter-area form.dokan-store-products-ordering {
  position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important;
}
body.fmke-store-page .dokan-store-products-filter-area input.product-name-search,
body.fmke-store-page .dokan-store-products-filter-area input[type="text"],
body.fmke-store-page .dokan-store-products-filter-area input[type="search"] {
  flex: 1 1 220px; width: auto !important; min-width: 0; box-sizing: border-box; height: 44px; min-height: 44px; margin: 0 !important;
  padding: 0 18px 0 44px !important; border: 1.5px solid var(--fmke-border) !important; border-radius: 999px !important; color: var(--fmke-dark); font-size: 14.5px; box-shadow: none !important;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF6A00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M20 20l-4.3-4.3'/%3E%3C/svg%3E") 16px center / 18px 18px no-repeat !important;
}
body.fmke-store-page .dokan-store-products-filter-area input:focus,
body.fmke-store-page .dokan-store-products-filter-area select:focus { outline: none; border-color: var(--fmke-primary) !important; box-shadow: 0 0 0 3px rgba(255,106,0,.16) !important; }
body.fmke-store-page .dokan-store-products-filter-area input[type="submit"],
body.fmke-store-page .dokan-store-products-filter-area .search-store-products {
  flex: 0 0 auto; box-sizing: border-box; height: 44px; min-height: 44px; margin: 0 !important; padding: 0 24px !important;
  background: var(--fmke-primary) !important; background-image: none !important; color: #fff !important;
  border: 0 !important; border-radius: 999px !important; box-shadow: none !important; font-size: 14px !important; font-weight: 800 !important; text-transform: none !important; text-shadow: none !important; cursor: pointer;
  transition: background .15s ease;
}
body.fmke-store-page .dokan-store-products-filter-area input[type="submit"]:hover { background: var(--fmke-primary-dark) !important; }
body.fmke-store-page .dokan-store-products-filter-area select,
body.fmke-store-page .dokan-store-products-filter-area select.orderby {
  flex: 0 0 auto; box-sizing: border-box; height: 44px; min-height: 44px; margin: 0 !important; padding: 0 36px 0 16px !important;
  border: 1.5px solid var(--fmke-border) !important; border-radius: 999px !important; background-color: #fff !important; color: var(--fmke-dark);
  font-size: 14px; font-weight: 700; box-shadow: none !important; cursor: pointer;
}
/* live-search suggestions dropdown (visibility is controlled by Dokan) */
body.fmke-store-page #dokan_store_products_search_result {
  z-index: 30; margin-top: 6px; padding: 6px; background: #fff; border: 1px solid var(--fmke-border); border-radius: 14px; box-shadow: 0 12px 28px rgba(31,61,44,.18);
}

/* =========================================================================
   Product grid + cards (same look as the Shop page)
   ========================================================================= */
body.fmke-store-page .seller-items { margin: 0; padding: 0; }
body.fmke-store-page .seller-items ul.products,
body.fmke-store-page #dokan-content ul.products {
  display: grid !important; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important; gap: 20px !important;
  margin: 0 0 24px !important; padding: 0 !important; list-style: none !important;
}
body.fmke-store-page ul.products li.product {
  position: relative; display: flex !important; flex-direction: column; box-sizing: border-box;
  padding: 12px 12px 14px !important; border-radius: 16px !important; text-align: left;
  transition: border-color .15s ease, box-shadow .2s ease, transform .2s ease;
}
body.fmke-store-page ul.products li.product:hover { border-color: var(--fmke-primary) !important; box-shadow: var(--fmke-shadow-hover); transform: translateY(-3px); }
body.fmke-store-page ul.products li.product > a.woocommerce-LoopProduct-link,
body.fmke-store-page ul.products li.product > a:first-of-type { display: block; }
body.fmke-store-page ul.products li.product img {
  width: 100%; height: auto; margin: 0 0 12px !important;
  aspect-ratio: 1 / 1; object-fit: cover; border-radius: 12px !important; background: var(--fmke-primary-light);
}
body.fmke-store-page ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
  margin: 0 0 6px !important; padding: 0 !important;
  font-size: 14.5px !important; font-weight: 700 !important; line-height: 1.35; color: var(--fmke-dark);
}
body.fmke-store-page ul.products li.product .star-rating { margin: 0 0 6px; }
body.fmke-store-page ul.products li.product .price {
  display: block; margin: 0 0 12px; font-size: 16px; font-weight: 800; color: var(--fmke-primary-dark) !important;
}
body.fmke-store-page ul.products li.product .price del { color: var(--fmke-muted); font-size: 13px; font-weight: 500; opacity: 1; margin-right: 4px; }
body.fmke-store-page ul.products li.product .price ins { background: none; text-decoration: none; }
body.fmke-store-page ul.products li.product a.button,
body.fmke-store-page ul.products li.product a.add_to_cart_button {
  margin: auto 0 0 !important; width: 100%; box-sizing: border-box;
  display: flex; align-items: center; justify-content: center; text-align: center;
  padding: 11px 14px !important; border-radius: 999px !important; font-size: 13.5px !important; font-weight: 800 !important;
}
body.fmke-store-page ul.products li.product a,
body.fmke-store-page ul.products li.product a:hover { text-decoration: none !important; }
body.fmke-store-page ul.products li.product .woocommerce-loop-product__title:hover { color: var(--fmke-primary-dark); }
body.fmke-store-page ul.products li.product .fmke-wishlist-btn {
  position: absolute !important; top: 46px; right: 14px; z-index: 3;
  width: 34px !important; height: 34px !important; padding: 0 !important; margin: 0 !important;
  background: #fff !important; border: 0 !important; border-radius: 50% !important;
  box-shadow: 0 2px 8px rgba(31,61,44,.2) !important; color: var(--fmke-primary) !important;
  display: inline-flex; align-items: center; justify-content: center; font-size: 16px;
}
body.fmke-store-page ul.products li.product .fmke-wishlist-btn.is-saved { background: var(--fmke-primary) !important; color: #fff !important; }
body.fmke-store-page ul.products li.product .fmke-wishlist-btn-label { display: none; }

/* ---- Pagination (Dokan: .pagination-container > ul.pagination; older: ul.dokan-pagination) ---- */
body.fmke-store-page .pagination-container,
body.fmke-store-page .dokan-pagination-container { margin: 26px 0 0; padding: 0; text-align: center; }
body.fmke-store-page .pagination-wrap { margin: 0; padding: 0; }
body.fmke-store-page ul.pagination,
body.fmke-store-page ul.dokan-pagination {
  display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 8px;
  list-style: none; margin: 0; padding: 0; border: 0; box-shadow: none; background: none;
}
body.fmke-store-page ul.pagination li,
body.fmke-store-page ul.dokan-pagination li { margin: 0; padding: 0; border: 0; float: none; display: block; background: none; }
body.fmke-store-page ul.pagination .page-numbers,
body.fmke-store-page ul.dokan-pagination li a,
body.fmke-store-page ul.dokan-pagination li span {
  display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
  min-width: 42px; height: 42px; margin: 0; padding: 0 16px;
  border: 1.5px solid var(--fmke-border) !important; border-radius: 999px !important;
  background: #fff !important; color: var(--fmke-dark) !important;
  font-size: 14px; font-weight: 700; line-height: 1; text-decoration: none !important;
  transition: border-color .15s ease, color .15s ease, background .15s ease;
}
body.fmke-store-page ul.pagination a.page-numbers:hover,
body.fmke-store-page ul.dokan-pagination li a:hover { border-color: var(--fmke-primary) !important; background: var(--fmke-primary-light) !important; color: var(--fmke-primary-dark) !important; }
body.fmke-store-page ul.pagination .page-numbers.current,
body.fmke-store-page ul.dokan-pagination li.active a,
body.fmke-store-page ul.dokan-pagination li.active span { background: var(--fmke-primary) !important; border-color: var(--fmke-primary) !important; color: #fff !important; }
body.fmke-store-page ul.pagination .page-numbers.dots { border-color: transparent !important; background: none !important; min-width: 0; padding: 0 4px; }

/* ---- Empty state: "No products were found of this vendor!" ---- */
body.fmke-store-page #dokan-content > .dokan-info,
body.fmke-store-page #dokan-content > .dokan-error,
body.fmke-store-page #dokan-content > p.dokan-info {
  margin: 0 0 18px !important; padding: 40px 20px !important; box-sizing: border-box;
  background: #fff !important; color: var(--fmke-dark) !important;
  border: 1.5px dashed #E8D5C2 !important; border-radius: 18px !important;
  text-align: center; font-size: 15.5px; font-weight: 600;
}

/* =========================================================================
   Tablet
   ========================================================================= */
@media (min-width: 783px) and (max-width: 1024px) {
  body.fmke-store-page .dokan-store-wrap.layout-left  { grid-template-columns: 230px minmax(0, 1fr); gap: 20px; }
  body.fmke-store-page .dokan-store-wrap.layout-right { grid-template-columns: minmax(0, 1fr) 230px; gap: 20px; }
  body.fmke-store-page #dokan-secondary .widget { padding: 16px 14px 18px !important; }
  body.fmke-store-page .profile-info-box .profile-info-img,
  body.fmke-store-page .profile-info-box::before { height: 200px !important; }
  body.fmke-store-page .profile-frame .store-name { font-size: 26px !important; }
}

/* =========================================================================
   Phones — store first, sidebar widgets after the products
   ========================================================================= */
@media (max-width: 782px) {
  body.fmke-store-page .site-content { padding: 10px 0 40px; }
  body.fmke-store-page .dokan-store-wrap,
  body.fmke-store-page .dokan-store-wrap.layout-left,
  body.fmke-store-page .dokan-store-wrap.layout-right { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body.fmke-store-page .dokan-store-wrap > #dokan-primary   { grid-column: 1 !important; grid-row: 1 !important; }
  body.fmke-store-page .dokan-store-wrap > #dokan-secondary { grid-column: 1 !important; grid-row: 2 !important; }

  body.fmke-store-page .profile-frame { border-radius: 16px; }
  body.fmke-store-page .profile-info-box .profile-info-img,
  body.fmke-store-page .profile-info-box::before { height: 150px !important; }
  body.fmke-store-page .profile-info-summery { padding: 0 16px 6px !important; }
  body.fmke-store-page .profile-info-head { margin-top: -44px !important; gap: 12px; }
  body.fmke-store-page .profile-info-head .profile-img { width: 88px; height: 88px; border-width: 4px; }
  body.fmke-store-page .profile-frame .store-name { font-size: 22px !important; }
  body.fmke-store-page ul.dokan-store-info { gap: 8px; }
  body.fmke-store-page ul.dokan-store-info > li { padding: 7px 12px !important; font-size: 13px; }

  /* tabs: one swipeable row */
  body.fmke-store-page .dokan-store-tabs { padding: 12px 16px 14px !important; }
  body.fmke-store-page .dokan-store-tabs ul.dokan-list-inline { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px !important; }
  body.fmke-store-page .dokan-store-tabs ul.dokan-list-inline::-webkit-scrollbar { display: none; }
  body.fmke-store-page .dokan-store-tabs ul.dokan-list-inline > li { flex: 0 0 auto; }
  body.fmke-store-page .dokan-store-tabs .dokan-share-btn-wrap { margin-left: 0 !important; }

  body.fmke-store-page .fmke-vendor-reviews { padding: 18px 16px 20px; border-radius: 16px; }
  body.fmke-store-page .fmke-vendor-review-form { max-width: 100%; }
  body.fmke-store-page .fmke-vendor-review-date { margin-left: 0; }

  body.fmke-store-page .dokan-store-products-filter-area { padding: 12px !important; }
  body.fmke-store-page .dokan-store-products-filter-area input.product-name-search,
  body.fmke-store-page .dokan-store-products-filter-area input[type="text"] { flex: 1 1 100%; font-size: 16px; }   /* 16px stops iOS zoom on focus */
  body.fmke-store-page .dokan-store-products-filter-area select { flex: 1 1 auto; max-width: 100%; font-size: 13px; }

  body.fmke-store-page .seller-items ul.products,
  body.fmke-store-page #dokan-content ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  body.fmke-store-page ul.products li.product { padding: 8px 8px 12px !important; border-radius: 14px !important; }
  body.fmke-store-page ul.products li.product img { border-radius: 10px !important; margin-bottom: 10px !important; }
  body.fmke-store-page ul.products li.product .woocommerce-loop-product__title { font-size: 13.5px !important; }
  body.fmke-store-page ul.products li.product .price { font-size: 14.5px; margin-bottom: 10px; }
  body.fmke-store-page ul.products li.product a.button,
  body.fmke-store-page ul.products li.product a.add_to_cart_button { padding: 10px 8px !important; font-size: 12.5px !important; }
  body.fmke-store-page ul.products li.product .fmke-wishlist-btn { top: 40px; right: 10px; width: 30px !important; height: 30px !important; }
  body.fmke-store-page #dokan-secondary input,
  body.fmke-store-page #dokan-secondary textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  body.fmke-store-page ul.products li.product,
  body.fmke-store-page ul.store-social li a { transition: none !important; transform: none !important; }
}

/* =========================================================================
   Hide WordPress's default BLOG widgets in the store sidebar
   (Search, Recent Posts, Recent Comments, Archives, Categories ...).
   They appear when the "Store Sidebar" widget area still holds WordPress's
   starter widgets. Dokan's own widgets (store categories, contact vendor,
   opening hours, location) are not touched.
   Permanent fix: Appearance -> Widgets -> "Store Sidebar" -> remove them.
   ========================================================================= */
body.fmke-store-page #dokan-secondary .widget:is(
  .widget_search, .widget_recent_entries, .widget_recent_comments, .widget_archive,
  .widget_categories, .widget_pages, .widget_meta, .widget_calendar, .widget_tag_cloud,
  .widget_rss, .widget_nav_menu
),
body.fmke-store-page #dokan-secondary .widget_block:has(
  .wp-block-search, .wp-block-latest-posts, .wp-block-latest-comments, .wp-block-archives,
  .wp-block-categories, .wp-block-calendar, .wp-block-tag-cloud, .wp-block-page-list, .wp-block-rss
) { display: none !important; }
