.wpshow{
  position:relative;
  margin:24px 0;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  --wpshow-gap:18px;
  --wpshow-card-max-desktop:320px;
  --wpshow-card-max-tablet:290px;
  --wpshow-card-max-mobile:240px;
}
.wpshow{
  --wpshow-accent: var(--primary, var(--color-primary, var(--theme-color, var(--accent, var(--e-global-color-primary, currentColor)))));
}

.wpshow .wpshow__viewport{
  overflow-x:auto !important;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:auto;
  -webkit-overflow-scrolling:touch;
  padding:10px 6px;
  cursor:grab;
  position:relative !important;
  z-index:2 !important;
  pointer-events:auto !important;
  touch-action:pan-x pan-y !important;
  float:none !important;
  text-align:initial !important;
}
.wpshow .wpshow__viewport.is-js-control{
  scroll-snap-type:none !important;
  scroll-behavior:auto !important;
}
.wpshow .wpshow__viewport.is-dragging,
.wpshow .wpshow__viewport.is-scrolling{
  scroll-snap-type:none;
}
.wpshow .wpshow__viewport:active{cursor:grabbing}
.wpshow .wpshow__viewport::-webkit-scrollbar{height:0}
.wpshow .wpshow__viewport{scrollbar-width:none}
.entry-content .wpshow .wpshow__viewport{
  overflow-x:auto !important;
  pointer-events:auto !important;
}

.wpshow .wpshow__header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100% !important;
  min-width:100% !important;
  flex:0 0 100% !important;
  flex-wrap:nowrap !important;
  gap:12px !important;
  margin:0 6px 12px;
  float:none !important;
  text-align:initial !important;
  box-sizing:border-box !important;
}
.wpshow .wpshow__heading{
  margin:0 !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  float:none !important;
  color:#0f2747;
  font-size:22px;
  font-weight:800;
  line-height:1.35;
  text-align:start;
  word-break:break-word;
  width:auto !important;
  max-width:100% !important;

}
.wpshow .wpshow__viewall{
  display:inline-flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  gap:6px;
  color:#20406f;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  padding:6px 2px;
  border-radius:8px;
  transition:color .2s ease, transform .2s ease;
  margin-inline-start:auto !important;
  margin-inline-end:0 !important;
  white-space:nowrap !important;
  float:none !important;
  position:static !important;
  box-sizing:border-box !important;
}
.wpshow .wpshow__viewall:hover,
.wpshow .wpshow__viewall:focus{
  color:#0f2747;
  transform:translateY(-1px);
}
.entry-content .wpshow .wpshow__header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100% !important;
  min-width:100% !important;
  flex-wrap:nowrap !important;
}
.entry-content .wpshow .wpshow__viewall{
  display:inline-flex !important;
  margin-inline-start:auto !important;
}
.wpshow[dir="rtl"] .wpshow__header{
  direction:rtl;
  flex-direction:row;
}
.wpshow[dir="rtl"] .wpshow__heading{
  text-align:right;
}
.wpshow[dir="rtl"] .wpshow__viewall{
  margin-inline-start:auto !important;
  margin-inline-end:0 !important;
}
.wpshow[dir="ltr"] .wpshow__header{
  direction:ltr;
  flex-direction:row;
}
.wpshow[dir="ltr"] .wpshow__heading{
  text-align:left;
}
.wpshow[dir="ltr"] .wpshow__viewall{
  margin-inline-start:auto !important;
  margin-inline-end:0 !important;
}
.wpshow .wpshow__track{
  display:grid !important;
  grid-auto-flow:column !important;
  gap:var(--wpshow-gap);
  padding:0;margin:0;
  list-style:none;
  grid-auto-columns:min(calc((100% - (var(--wpshow-gap) * 3)) / 4), var(--wpshow-card-max-desktop));
  position:relative !important;
  z-index:2 !important;
  width:max-content !important;
  min-width:100% !important;
  float:none !important;
  pointer-events:auto !important;
  box-sizing:border-box !important;
}
@media (max-width:1024px){ .wpshow .wpshow__track{grid-auto-columns:min(calc((100% - (var(--wpshow-gap) * 2)) / 3), var(--wpshow-card-max-tablet));} }
@media (max-width:768px){  .wpshow .wpshow__track{grid-auto-columns:min(calc((100% - var(--wpshow-gap)) / 2), var(--wpshow-card-max-mobile));} }
@media (max-width:600px){  .wpshow .wpshow__track{grid-auto-columns:min(calc((100% - var(--wpshow-gap)) / 2), 220px);} }
@media (max-width:480px){  .wpshow .wpshow__track{grid-auto-columns:min(calc((100% - (var(--wpshow-gap) * 0.7)) / 1.45), 210px);} }

.wpshow .wpshow__slide{
  scroll-snap-align:start;
  scroll-snap-stop:always;
  float:none !important;
  width:auto !important;
  min-width:0 !important;
  pointer-events:auto !important;
  box-sizing:border-box !important;
}
.wpshow__card{
  display:flex;
  flex-direction:column;
  gap:10px;
  background:var(--wpshow-card-bg);
  border-radius:18px;
  padding:14px;
  text-decoration:none;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  height:100%;
  user-select:none;
}
.wpshow__img{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.wpshow__img img{max-width:100%;max-height:100%;object-fit:contain}
.wpshow__card .wpshow__img,
.wpshow__card .wpshow__img img{
  transform:none !important;
}
.wpshow__card:hover .wpshow__img,
.wpshow__card:hover .wpshow__img img,
.wpshow__card:focus .wpshow__img,
.wpshow__card:focus .wpshow__img img{
  transform:none !important;
  transition:none !important;
}
.wpshow__title{
  color:#1f2937;
  font-size:14px;
  font-weight:600;
  line-height:1.7;
  margin:0;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  min-height:3.4em;
}

.wpshow__price{
  color:#111;
  line-height:1.6;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  width:100%;
  max-width:100%;
  text-align:left;
  direction:ltr;
  align-self:stretch;
}
.wpshow__price-head{
  display:flex;
  align-items:center;
  gap:6px;
  line-height:1;
}
.wpshow__price-current{
  font-weight:800;
  color:#111827;
  font-size:18px;
  line-height:1.25;
  display:block;
}
.wpshow__price-old{
  font-size:14px;
  color:#9ca3af;
  text-decoration:line-through;
  text-decoration-thickness:1px;
  line-height:1;
}
.wpshow__discount-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:20px;
  padding:0 8px;
  border-radius:7px;
  background:var(--wpshow-discount-bg, #c452a2);
  color:var(--wpshow-discount-text, #ffffff);
  font-size:11px;
  font-weight:800;
  line-height:1;
}
.wpshow__price .woocommerce-Price-currencySymbol{
  font-size:0.82em;
  font-weight:600;
}
.wpshow__price--raw del{
  opacity:.55;
  margin-inline-start:6px;
}
.wpshow__price--raw ins{
  text-decoration:none;
}
.wpshow__price--raw{
  flex-direction:row;
  align-items:center;
  gap:6px;
}

.wpshow__cta{
  margin-top:auto;
  display:block;
  text-align:center;
  padding:10px 12px;
  border-radius:12px;
  background:var(--wpshow-btn-bg);
  color:var(--wpshow-btn-color);
  border:1px solid rgba(0,0,0,.06);
  transition:background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.wpshow__card:hover .wpshow__cta,
.wpshow__card:focus-within .wpshow__cta{
  background:#fff;
  border-color:rgba(0,0,0,.16);
  box-shadow:0 6px 14px rgba(15,23,42,.10);
  transform:translateY(-1px);
}

/* After drag ends, temporarily disable hover visuals to prevent sticky hover. */
.wpshow.wpshow-nohover .wpshow__card:hover,
.wpshow.wpshow-nohover .wpshow__card *:hover,
.wpshow__viewport.wpshow-nohover .wpshow__card:hover,
.wpshow__viewport.wpshow-nohover .wpshow__card *:hover{
  transform:none !important;
  transition:none !important;
  box-shadow:none !important;
}
.wpshow.wpshow-nohover .wpshow__card:hover .wpshow__cta,
.wpshow__viewport.wpshow-nohover .wpshow__card:hover .wpshow__cta{
  background:var(--wpshow-btn-bg) !important;
  color:var(--wpshow-btn-color) !important;
  border-color:rgba(0,0,0,.06) !important;
}

/* Show all card should look like others (no dashed) */
.wpshow__morecard{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  border-radius:18px;
  background:var(--wpshow-more-bg);
  border:1px solid var(--wpshow-more-bd);
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  color:var(--wpshow-more-color);
  text-decoration:none;
  padding:14px;
}
.wpshow__moretext{font-weight:700}
.wpshow__moreicon{display:none}
.wpshow__moresub{display:none !important}

@media (min-width:768px){
  .wpshow--header-viewall .wpshow__more{display:none}
  .wpshow--header-viewall .wpshow__viewall{display:inline-flex !important}
}

@media (max-width:767.98px){
  .wpshow .wpshow__header{
    margin:0 4px 10px;
  }
  .wpshow .wpshow__heading{
    font-size:19px;
  }
  .wpshow .wpshow__viewall{
    display:none !important;
  }
  .wpshow--header-viewall .wpshow__more{display:block}
  .wpshow--header-viewall .wpshow__morecard{
    min-height:220px;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:16px 12px;
    text-align:center;
    border-radius:16px;
    border:1px solid rgba(0,0,0,.08);
    background:#fff;
    box-shadow:none !important;
    color:var(--wpshow-accent);
  }
  .wpshow--header-viewall .wpshow__moreicon{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:999px;
    background:rgba(0,0,0,.04);
    box-shadow:none;
    font-size:20px;
    font-weight:900;
    line-height:1;
    color:var(--wpshow-accent);
    border:none;
  }
  .wpshow--header-viewall .wpshow__moretext{
    display:block;
    font-size:15px;
    font-weight:800;
    color:var(--wpshow-accent);
  }
}

/* Arrows */
.wpshow__nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:40px;height:40px;border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
  cursor:pointer;z-index:9999;pointer-events:auto;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;line-height:1;
}
.wpshow__nav--prev{left:8px}
.wpshow__nav--next{right:8px}

/* RTL: swap physical placement so prev sits on the right and next on the left */
html[dir="rtl"] .wpshow__nav--prev{right:8px;left:auto}
html[dir="rtl"] .wpshow__nav--next{left:8px;right:auto}
@media (max-width:768px){ .wpshow__nav{display:none} }

.wpshow--single .wpshow__track{
  grid-auto-columns:min(420px, 100%);
  /* Center the single slide in its container. Without this the single card
     aligns to the right in RTL languages. */
  justify-content:center;
}
.wpshow--single .wpshow__nav{display:none}

/* Prevent native image/link dragging interfering with grab-scroll */
.wpshow__card, .wpshow__morecard { -webkit-user-drag: none; user-drag: none; }
.wpshow__img img { -webkit-user-drag: none; user-drag: none; }
.wpshow::before,
.wpshow::after,
.wpshow .wpshow__viewport::before,
.wpshow .wpshow__viewport::after,
.wpshow .wpshow__track::before,
.wpshow .wpshow__track::after{
  pointer-events:none !important;
}
.wpshow .wpshow__viewport,
.wpshow .wpshow__track,
.wpshow .wpshow__slide,
.wpshow .wpshow__card,
.wpshow .wpshow__morecard,
.wpshow .wpshow__nav{
  clip:auto !important;
  clip-path:none !important;
  max-height:none !important;
  visibility:visible !important;
}

/* ===== Post dates shortcode ===== */
/* The [wpshow_post_dates] shortcode outputs a container with class
   `.wpshow-post-dates` containing one or two spans for published and
   modified dates. These styles make the dates appear inline with a
   subtle separation and allow themes to override font and colour. */
.wpshow-post-dates {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:8px 0;
  font-size:14px;
}
.wpshow-post-date {
  display:flex;
  align-items:center;
  gap:4px;
}
/* Optional: show a bullet separator before the modified date when both
   dates are present. This uses a pseudo-element to avoid manual
   separators in the shortcode output. */
.wpshow-post-date--modified::before {
  content: '\2022'; /* • bullet */
  margin-inline-end:4px;
}

/* ===== FAQ and layout styles ===== */
/* When FAQ items are present, the product showcase and FAQ section are wrapped
   in a flex container. On wider screens they sit side‑by‑side; on narrow
   screens they stack vertically. */
.wpshow-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 24px 0;
}
.wpshow-wrapper > .wpshow-products,
.wpshow-wrapper > .wpshow-faq {
  flex: 1 1 48%;
  min-width: 300px;
}
@media (max-width: 768px) {
  .wpshow-wrapper {
    display: block;
  }
  .wpshow-wrapper > .wpshow-products,
  .wpshow-wrapper > .wpshow-faq {
    width: 100%;
    flex: 1 1 100%;
    min-width: 0;
  }
}

/* FAQ accordion styling */
.wpshow-faq details {
  margin-bottom: 14px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}
.wpshow-faq details summary {
  cursor: pointer;
  list-style: none;
  padding: 12px 16px;
  font-weight: 600;
  background: #f7f7f7;
  border-bottom: 1px solid #e0e0e0;
  margin: 0;
}
.wpshow-faq details summary::-webkit-details-marker,
.wpshow-faq details summary::marker {
  display: none;
}
.wpshow-faq details div {
  padding: 12px 16px;
  background: #fff;
  line-height: 1.6;
}

/* === Post meta styles === */
/* Layout container for FAQ and meta when both are present */
.wpshow-faq-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 24px 0;
}
.wpshow-faq-meta .wpshow-faq-wrap {
  flex: 1 1 60%;
  min-width: 0;
}
.wpshow-faq-meta .wpshow-meta-wrap {
  flex: 1 1 30%;
  min-width: 0;
  padding-inline-start: 18px;
  border-inline-start: 2px solid rgba(0,0,0,0.06);
}

/* RTL: move the separator to the other side */
[dir="rtl"] .wpshow-faq-meta .wpshow-meta-wrap {
  border-inline-start: 0;
  border-inline-end: 2px solid rgba(0,0,0,0.06);
  padding-inline-start: 0;
  padding-inline-end: 18px;
}
@media (max-width: 768px) {
  .wpshow-faq-meta {
    flex-direction: column;
    gap: 14px;
  }
  .wpshow-faq-meta .wpshow-faq-wrap,
  .wpshow-faq-meta .wpshow-meta-wrap {
    width: 100%;
    flex: 1 1 100%;
    min-width: 0;
  }
  .wpshow-faq-meta .wpshow-meta-wrap {
    border-inline-start: 0;
    border-inline-end: 0;
    padding-inline-start: 0;
    padding-inline-end: 0;
  }
}

.wpshow-postmeta{
  margin: 14px 0 18px;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 12px;
  background: rgba(0,0,0,0.02);
}
.wpshow-postmeta .wpshow-meta-row{
  margin-bottom: 6px;
}
.wpshow-postmeta .wpshow-meta-row:last-child{
  margin-bottom: 0;
}
/* Basic styling for meta content */
.wpshow-meta {
  font-size: 14px;
  line-height: 1.6;
  color: #333;
}
.wpshow-meta-row {
  margin-bottom: 8px;
}
.wpshow-meta-avatar img {
  border-radius: 50%;
  vertical-align: middle;
}

.wpshow-meta-label {
  font-weight: 600;
  margin-inline-end: 6px;
}

.wpshow-meta-author {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.wpshow-editorial {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.wpshow-editorial-logo {
  flex: 0 0 auto;
}

.wpshow-editorial-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1 1 auto;
}

.wpshow-editorial-title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}

.wpshow-editorial-logo img {
  display: block;
  max-width: 48px;
  height: auto;
  border-radius: 6px;
}

.wpshow-editorial-text {
  color: #555;
}

@media (max-width: 768px) {
  .wpshow {
    margin: 16px 0;
    --wpshow-gap: 12px;
  }

  .wpshow__viewport {
    padding: 8px 4px;
  }

  .wpshow__card,
  .wpshow__morecard {
    border-radius: 14px;
    padding: 10px;
  }

  .wpshow__title {
    font-size: 13px;
    line-height: 1.65;
    min-height: 3.2em;
  }

  .wpshow__price-current {
    font-size: 16px;
  }

  .wpshow__price-old {
    font-size: 13px;
  }

  .wpshow__discount-badge {
    min-width: 42px;
    height: 19px;
    font-size: 11px;
    padding: 0 7px;
  }

  .wpshow-editorial {
    align-items: flex-start;
    gap: 8px;
  }

  .wpshow-editorial-logo img {
    max-width: 34px;
  }

  .wpshow-editorial-title {
    font-size: 14px;
    line-height: 1.45;
  }

  .wpshow-editorial-text {
    font-size: 13px;
    line-height: 1.75;
  }

  .wpshow-meta {
    font-size: 13px;
  }
}

/* ==========================================================================
   Final Visual Fixes (carousel background + FAQ modern + mobile ordering)
   ========================================================================== */
.wpshow,
.wpshow__viewport {
  background: transparent !important;
}

.wpshow-faq {
  display: grid;
  gap: 12px;
}

.wpshow-faq details {
  border: 1px solid #dbe6f7;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.wpshow-faq details summary {
  position: relative;
  padding: 14px 46px 14px 14px;
  background: #ffffff;
  color: #0f2747;
  font-weight: 700;
  border-bottom: 1px solid transparent;
}

.wpshow-faq details summary::after {
  content: "+";
  position: absolute;
  inset-inline-end: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  background: #eef4ff;
  color: #20406f;
  font-weight: 700;
  line-height: 1;
}

.wpshow-faq details[open] summary {
  background: #f8fbff;
  border-bottom-color: #dbe6f7;
}

.wpshow-faq details[open] summary::after {
  content: "-";
  background: #dce9ff;
}

.wpshow-faq details div {
  padding: 14px;
  color: #334155;
  line-height: 1.9;
  background: #ffffff;
}

@media (max-width: 768px) {
  .wpshow-faq-meta {
    display: flex;
    flex-direction: column;
  }

  .wpshow-faq-meta .wpshow-faq-wrap {
    order: 1;
  }

  .wpshow-faq-meta .wpshow-meta-wrap {
    order: 2;
  }

  .wpshow-faq details summary {
    font-size: 13px;
    padding: 12px 42px 12px 12px;
  }

  .wpshow-faq details div {
    font-size: 13px;
    padding: 12px;
  }
}

/* ==========================================================================
   Shadow Policy: desktop flat, mobile FAQ keeps soft shadow
   ========================================================================== */
.wpshow__viewport,
.wpshow__card,
.wpshow__morecard,
.wpshow-faq details,
.wpshow-faq-meta .wpshow-meta-wrap {
  box-shadow: none !important;
}

@media (max-width: 768px) {
  .wpshow-faq details {
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08) !important;
  }
}
