.gw-merchants{
  --gw-orange:#c85b26;
  --gw-orange-dark:#a84319;
  --gw-ink:#20242b;
  --gw-muted:#716a64;
  --gw-cream:#fbf7f2;
  --gw-cream-2:#f6eee7;
  --gw-border:#e5d5c8;
  font-family:inherit;
  color:var(--gw-ink);
  width:100%;
  max-width:1320px;
  margin:0 auto;
  padding:24px 18px 64px;
  container-type:inline-size;
  container-name:gwmerchants;
}
.gw-merchants *{box-sizing:border-box}
.gw-merchants__hero{text-align:center;max-width:760px;margin:0 auto 30px;padding:0 12px}
.gw-merchants__eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gw-orange);font-weight:800;margin-bottom:8px}
.gw-merchants__hero h2{font-size:clamp(32px,5vw,48px);line-height:1.12;margin:0 0 12px;font-weight:850;color:var(--gw-ink)}
.gw-merchants__hero p{margin:0;color:var(--gw-muted);font-size:16px;line-height:1.75}
.gw-merchants__filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 34px}
.gw-merchants__filters button{appearance:none;border:1px solid var(--gw-border);background:#fff;color:var(--gw-ink);padding:10px 16px;border-radius:999px;font:inherit;font-weight:750;cursor:pointer;transition:.2s ease;box-shadow:0 3px 12px rgba(48,35,25,.035)}
.gw-merchants__filters button span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--gw-cream);font-size:12px;margin-left:5px}
.gw-merchants__filters button:hover,.gw-merchants__filters button.is-active{background:var(--gw-orange);border-color:var(--gw-orange);color:#fff}
.gw-merchants__filters button.is-active span{background:rgba(255,255,255,.2)}

/* Auto-fit uses the Elementor content width rather than only the browser width. */
.gw-merchants__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));
  gap:30px 28px;
  align-items:stretch;
}
.gw-merchant-card{
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--gw-border);
  border-radius:20px;
  box-shadow:0 12px 34px rgba(50,37,27,.075);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.gw-merchant-card:hover{transform:translateY(-4px);border-color:#d7aa8c;box-shadow:0 19px 46px rgba(50,37,27,.13)}
.gw-merchant-card[hidden]{display:none!important}
.gw-merchant-card__media{
  position:relative;
  height:210px;
  flex:0 0 210px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,#f3eee8 0%,#ebe3db 100%);
  border-bottom:1px solid #eee2d8;
}
.gw-merchant-card__media img{width:100%;height:100%;display:block;object-fit:contain;object-position:center;padding:30px;background:transparent}
.gw-merchant-card__placeholder{height:100%;display:flex;align-items:center;justify-content:center;font-size:64px}
.gw-merchant-card__category,.gw-merchant-card__featured{position:absolute;top:13px;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800;line-height:1;z-index:1}
.gw-merchant-card__category{left:13px;background:rgba(255,255,255,.96);color:var(--gw-orange-dark);box-shadow:0 4px 14px rgba(0,0,0,.07)}
.gw-merchant-card__featured{right:13px;background:var(--gw-orange);color:#fff}

.gw-merchant-card__body{padding:26px 24px 24px;display:flex;flex-direction:column;align-items:stretch;flex:1;min-width:0;text-align:center}
.gw-merchant-card__body h3{font-size:21px;line-height:1.32;margin:0 0 6px;color:var(--gw-ink);font-weight:850;min-height:56px;overflow-wrap:break-word;text-align:center}
.gw-merchant-card__category-fi{font-size:14px;line-height:1.5;color:var(--gw-muted);margin-bottom:20px;min-height:21px;text-align:center}

/* Centered offer panel: one-line and two-line offers share the same balanced layout. */
.gw-merchant-card__discount{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:#f2ece6;
  border:1px solid var(--gw-border);
  border-radius:14px;
  padding:15px 18px;
  margin:0 0 18px;
  min-height:92px;
  text-align:center;
}
.gw-merchant-card__discount>span{
  display:block;
  width:100%;
  font-size:12px;
  color:var(--gw-muted);
  font-weight:750;
  line-height:1.25;
  white-space:nowrap;
  text-align:center;
}
.gw-merchant-card__offer-lines{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  min-width:0;
  width:100%;
}
.gw-merchant-card__offer-line{
  display:block;
  max-width:100%;
  color:var(--gw-orange-dark);
  font-size:19px;
  line-height:1.28;
  font-weight:850;
  text-align:center;
  white-space:nowrap;
  transform-origin:center center;
  min-width:0;
}
.gw-merchant-card__address,.gw-merchant-card__note{font-size:14px;line-height:1.68;color:#544d46;text-align:center}
.gw-merchant-card__address{display:flex;align-items:flex-start;justify-content:center;gap:9px;margin:0 auto 13px;min-height:48px;width:100%}
.gw-merchant-card__address span{flex:0 0 auto;line-height:1.68}
.gw-merchant-card__note{margin:0 0 14px;padding-top:1px;text-align:center}
.gw-merchant-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:auto;padding-top:20px;width:100%}
.gw-merchant-card__actions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:11px 14px;border-radius:11px;background:var(--gw-orange);color:#fff!important;text-decoration:none!important;font-weight:800;font-size:14px;transition:.2s ease}
.gw-merchant-card__actions a:hover{background:var(--gw-orange-dark)}
.gw-merchant-card__actions a.is-secondary{background:#fff;color:var(--gw-orange-dark)!important;border:1px solid var(--gw-orange)}
.gw-merchant-card__actions a.is-secondary:hover{background:var(--gw-cream)}
.gw-merchants__empty{text-align:center;padding:40px 20px;border:1px dashed var(--gw-border);border-radius:18px;background:var(--gw-cream);color:var(--gw-muted)}

/* Explicit container-query refinements for modern browsers. */
@container gwmerchants (max-width:760px){
  .gw-merchants__grid{grid-template-columns:1fr;gap:22px}
}
@container gwmerchants (min-width:761px) and (max-width:1119px){
  .gw-merchants__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 28px}
}
@container gwmerchants (min-width:1120px){
  .gw-merchants__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 30px}
}

@media(max-width:760px){
  .gw-merchants{padding:10px 14px 44px}
  .gw-merchants__hero{margin-bottom:24px;padding:0 6px}
  .gw-merchants__hero h2{font-size:32px}
  .gw-merchants__filters{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:2px 2px 10px;margin-bottom:20px;scrollbar-width:none}
  .gw-merchants__filters::-webkit-scrollbar{display:none}
  .gw-merchants__filters button{white-space:nowrap}
  .gw-merchant-card{border-radius:17px}
  .gw-merchant-card:hover{transform:none}
  .gw-merchant-card__media{height:190px;flex-basis:190px}
  .gw-merchant-card__media img{padding:24px}
  .gw-merchant-card__body{padding:20px}
  .gw-merchant-card__body h3,.gw-merchant-card__category-fi,.gw-merchant-card__address{min-height:0}
  .gw-merchant-card__discount{min-height:0}
  .gw-merchant-card__actions a{flex:1}
}

/* Greatwall Partner System v3.0 final alignment */
.gw-merchant-card__actions a:only-child{grid-column:1/-1}
.gw-merchant-card__discount{padding:18px 20px;min-height:112px;gap:10px}
.gw-merchant-card__discount>span{font-size:13px;font-weight:800}
.gw-merchant-card__offer-line{font-size:20px;line-height:1.35}
.gw-merchant-card__media img{max-width:100%;max-height:100%}
@media(max-width:520px){
  .gw-merchant-card__actions{grid-template-columns:1fr 1fr;gap:10px}
  .gw-merchant-card__actions a{font-size:13px;padding:10px 8px;min-height:45px}
  .gw-merchant-card__body{padding:22px 18px 20px}
  .gw-merchant-card__address{font-size:13px}
}

/* Greatwall Partner System v3.1.0: compact mobile ending + cooperation statement */
.gw-merchants__cooperation-note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  max-width:920px;
  margin:38px auto 0;
  padding:22px 26px;
  border:1px solid var(--gw-border);
  border-radius:18px;
  background:linear-gradient(145deg,#fffaf6 0%,var(--gw-cream) 100%);
  box-shadow:0 10px 28px rgba(50,37,27,.055);
  text-align:left;
}
.gw-merchants__cooperation-icon{flex:0 0 auto;font-size:32px;line-height:1}
.gw-merchants__cooperation-note h3{margin:0 0 7px;font-size:19px;line-height:1.35;color:var(--gw-ink);font-weight:850}
.gw-merchants__cooperation-note p{margin:0;color:var(--gw-muted);font-size:14px;line-height:1.75}

@media(max-width:760px){
  .gw-merchants{
    min-height:0!important;
    height:auto!important;
    margin-bottom:0!important;
    padding-bottom:14px!important;
  }
  .gw-merchants__grid{
    min-height:0!important;
    height:auto!important;
    align-content:start;
  }
  .gw-merchant-card:last-child{margin-bottom:0}
  .gw-merchants__cooperation-note{
    margin-top:24px;
    padding:18px 17px;
    gap:12px;
    border-radius:15px;
    text-align:center;
    flex-direction:column;
  }
  .gw-merchants__cooperation-icon{font-size:28px}
  .gw-merchants__cooperation-note h3{font-size:18px}
  .gw-merchants__cooperation-note p{font-size:13px;line-height:1.7}

  /* Remove accidental Elementor minimum-height around this shortcode on mobile. */
  .elementor-widget-shortcode:has(.gw-merchants),
  .elementor-widget-shortcode:has(.gw-merchants) > .elementor-widget-container,
  .e-con:has(> .elementor-element .gw-merchants),
  .elementor-section:has(.gw-merchants),
  .elementor-container:has(.gw-merchants){
    min-height:0!important;
    height:auto!important;
  }
}


/* Greatwall Partner System v3.1.2 Final: stronger logo contrast,
   aligned cooperation panel, larger typography and mobile gap cleanup. */
.gw-merchant-card__media{
  background:linear-gradient(145deg,#f3eee8 0%,#e9e1d8 100%);
}
.gw-merchant-card__discount{
  background:#f2ece6;
}
.gw-merchants__cooperation-note{
  width:100%;
  max-width:none;
  margin:34px 0 0;
  padding:30px 34px;
  align-items:flex-start;
  justify-content:flex-start;
  gap:20px;
  background:linear-gradient(145deg,#f7f1eb 0%,#f0e8e0 100%);
  text-align:left;
}
.gw-merchants__cooperation-note > div:last-child{
  min-width:0;
  flex:1;
}
.gw-merchants__cooperation-icon{
  font-size:36px;
  margin-top:2px;
}
.gw-merchants__cooperation-note h3{
  margin:0 0 10px;
  font-size:25px;
  line-height:1.3;
  font-weight:850;
}
.gw-merchants__cooperation-note p{
  margin:0;
  font-size:17px;
  line-height:1.85;
}

@media(max-width:760px){
  .gw-merchants{
    padding-bottom:0!important;
  }
  .gw-merchants__cooperation-note{
    width:100%;
    margin:22px 0 0;
    padding:24px 20px;
    text-align:center;
    align-items:center;
    gap:10px;
  }
  .gw-merchants__cooperation-icon{
    font-size:31px;
    margin-top:0;
  }
  .gw-merchants__cooperation-note h3{
    font-size:22px;
    line-height:1.35;
    margin-bottom:8px;
  }
  .gw-merchants__cooperation-note p{
    font-size:15.5px;
    line-height:1.8;
  }
  body .elementor-widget-shortcode:has(.gw-merchants),
  body .elementor-widget-shortcode:has(.gw-merchants) > .elementor-widget-container,
  body .e-con:has(.gw-merchants),
  body .elementor-section:has(.gw-merchants),
  body .elementor-container:has(.gw-merchants){
    min-height:0!important;
    height:auto!important;
    padding-bottom:0!important;
    margin-bottom:0!important;
  }
}
