
/* =========================================================
   Gildata Stores — Front UI
   Namespace: .gsui-
   RTL / responsive / theme-safe
   ========================================================= */

.gsui-directory,
.gsui-single{
  --gsui-color-ink:#17191c;
  --gsui-color-text:#252a30;
  --gsui-color-muted:#747b82;
  --gsui-color-border:#e4e7ea;
  --gsui-color-soft:#f5f6f7;
  --gsui-color-gold:#b88a38;
  --gsui-color-gold-soft:#fff8e9;
  color:var(--gsui-color-text);
  font-family:inherit;
  direction:rtl;
}
.gsui-directory *,
.gsui-single *,
.gsui-directory *::before,
.gsui-single *::before,
.gsui-directory *::after,
.gsui-single *::after{box-sizing:border-box}

.gsui-directory-title{margin:0 0 20px}
.gsui-front-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#957333;
  font-size:9px;
  font-weight:800;
  letter-spacing:1.8px;
}
.gsui-front-kicker::before{
  content:"";
  width:20px;
  height:2px;
  border-radius:99px;
  background:var(--gsui-color-gold);
}
.gsui-front-heading{
  margin:6px 0 0;
  color:var(--gsui-color-ink);
  font-size:30px;
  font-weight:800;
  line-height:1.3;
  letter-spacing:-.5px;
}

.gsui-front-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) 250px;
  gap:9px;
  margin-bottom:16px;
}
.gsui-search-box{
  display:flex;
  align-items:center;
  min-width:0;
  height:46px;
  padding:0 13px;
  background:#fff;
  border:1px solid var(--gsui-color-border);
  border-radius:12px;
  box-shadow:0 4px 18px rgba(20,25,30,.025);
}
.gsui-search-icon{
  flex:0 0 auto;
  margin-left:8px;
  color:#8c9298;
  font-size:20px;
  font-weight:400;
}
.gsui-search-input,
.gsui-category-select{
  width:100%;
  min-width:0;
  height:46px;
  padding:0 12px;
  color:var(--gsui-color-text);
  background:#fff;
  border:1px solid var(--gsui-color-border);
  border-radius:12px;
  outline:0;
  font:inherit;
  font-size:12px;
}
.gsui-search-box .gsui-search-input{
  height:44px;
  padding:0;
  border:0;
  box-shadow:none;
}
.gsui-search-input:focus,
.gsui-category-select:focus,
.gsui-search-box:focus-within{
  border-color:#c4a15e;
  box-shadow:0 0 0 3px rgba(184,138,56,.1);
}

.gsui-store-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.gsui-store-card{
  min-width:0;
  padding:12px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--gsui-color-border);
  border-radius:16px;
  box-shadow:0 6px 22px rgba(20,25,30,.035);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.gsui-store-card:hover{
  border-color:#d4d9dd;
  box-shadow:0 18px 36px rgba(20,25,30,.09);
  transform:translateY(-3px);
}
.gsui-card-head{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  min-height:52px;
  color:inherit;
  text-decoration:none!important;
}
.gsui-card-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  flex:0 0 48px;
  overflow:hidden;
  background:var(--gsui-color-soft);
  border-radius:12px;
  font-size:21px;
}
.gsui-card-icon img{display:block;width:100%;height:100%;object-fit:cover}
.gsui-card-content{min-width:0}
.gsui-card-title{
  margin:0 0 3px;
  overflow:hidden;
  color:var(--gsui-color-ink);
  font-size:13px;
  font-weight:800;
  line-height:1.5;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.gsui-card-floor{
  display:block;
  overflow:hidden;
  color:var(--gsui-color-muted);
  font-size:10px;
  line-height:1.5;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.gsui-card-image{
  display:block;
  aspect-ratio:16/10;
  margin:10px 0;
  overflow:hidden;
  background:#f1f2f3;
  border-radius:12px;
}
.gsui-card-image-element{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.gsui-store-card:hover .gsui-card-image-element{transform:scale(1.035)}
.gsui-card-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:27px;
  color:#777e85;
  font-size:10px;
}
.gsui-card-hours{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.gsui-sale-badge{
  flex:0 0 auto;
  padding:5px 8px;
  color:#765a08;
  background:var(--gsui-color-gold-soft);
  border:1px solid #efdda6;
  border-radius:99px;
  font-size:9px;
  font-weight:750;
}
.gsui-card-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:8px;
  padding:10px 11px;
  color:#30353a!important;
  background:#f3f4f5;
  border-radius:10px;
  font-size:10px;
  font-weight:800;
  text-decoration:none!important;
  transition:background-color .18s ease,color .18s ease;
}
.gsui-card-link:hover{color:#fff!important;background:var(--gsui-color-ink)}
.gsui-card-arrow{font-size:15px;line-height:1}
.gsui-front-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:140px;
  padding:30px;
  color:#858b91;
  background:#fafbfb;
  border:1px dashed #d8dde1;
  border-radius:14px;
  font-size:12px;
}
.gsui-store-grid.is-loading{opacity:.55;pointer-events:none;transition:opacity .15s}

.gsui-single-hero{
  position:relative;
  min-height:280px;
  margin-bottom:16px;
  overflow:hidden;
  background:#e9eaeb;
  border-radius:20px;
}
.gsui-single-hero-image{
  display:block;
  width:100%;
  height:280px;
  object-fit:cover;
  filter:brightness(.62);
}
.gsui-single-brand{
  position:absolute;
  right:24px;
  bottom:20px;
  display:flex;
  align-items:center;
  gap:12px;
  max-width:calc(100% - 48px);
  color:#fff;
}
.gsui-single-brand-icon{
  display:block;
  width:68px;
  height:68px;
  flex:0 0 68px;
  object-fit:cover;
  background:#fff;
  border:3px solid rgba(255,255,255,.85);
  border-radius:16px;
}
.gsui-single-brand-copy{min-width:0}
.gsui-single-title{
  margin:0 0 3px;
  overflow:hidden;
  color:#fff;
  font-size:27px;
  font-weight:800;
  line-height:1.3;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.gsui-single-meta{
  display:block;
  overflow:hidden;
  color:rgba(255,255,255,.88);
  font-size:11px;
  line-height:1.7;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.gsui-single-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:14px;
}
.gsui-single-main{
  min-width:0;
  padding:20px;
  background:#fff;
  border:1px solid var(--gsui-color-border);
  border-radius:15px;
}
.gsui-single-section-title{
  margin:0 0 13px;
  color:var(--gsui-color-ink);
  font-size:17px;
  font-weight:800;
  line-height:1.5;
}
.gsui-single-description{
  color:#454b51;
  font-size:13px;
  line-height:2;
}
.gsui-single-details{
  display:grid;
  align-content:start;
  gap:9px;
}
.gsui-detail-card{
  display:grid;
  gap:5px;
  padding:14px;
  background:#fff;
  border:1px solid var(--gsui-color-border);
  border-radius:13px;
}
.gsui-detail-label{color:#343a40;font-size:11px;font-weight:800;line-height:1.6}
.gsui-detail-value,
.gsui-detail-link{
  margin:0;
  color:#686f76;
  font-size:12px;
  line-height:1.8;
  text-decoration:none!important;
}
.gsui-detail-link:hover{color:var(--gsui-color-ink)}
.gsui-map-card{padding:0;overflow:hidden}
.gsui-map-image{display:block;width:100%;height:auto}
.gsui-coupon-card{
  display:grid;
  gap:5px;
  padding:15px;
  background:var(--gsui-color-gold-soft);
  border:1px solid #efdda6;
  border-radius:13px;
}
.gsui-coupon-label{color:#7f692a;font-size:10px;font-weight:700}
.gsui-coupon-code{
  color:#765a08;
  font-size:18px;
  font-weight:800;
  letter-spacing:1.5px;
  line-height:1.4;
}
.gsui-coupon-count{min-height:17px;color:#8b763d;font-size:10px;line-height:1.7}

@media(max-width:1050px){
  .gsui-store-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
  .gsui-store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gsui-front-controls,.gsui-single-layout{grid-template-columns:1fr}
}
@media(max-width:520px){
  .gsui-front-heading{font-size:24px}
  .gsui-store-card{padding:9px;border-radius:13px}
  .gsui-card-icon{width:43px;height:43px;flex-basis:43px}
  .gsui-card-title{font-size:12px}
  .gsui-card-image{margin:8px 0}
  .gsui-card-link{padding:9px;font-size:10px}
  .gsui-card-footer{font-size:9px}
  .gsui-single-hero{min-height:220px}
  .gsui-single-hero-image{height:220px}
  .gsui-single-brand{right:13px;bottom:13px;max-width:calc(100% - 26px)}
  .gsui-single-brand-icon{width:55px;height:55px;flex-basis:55px}
  .gsui-single-title{font-size:20px}
  .gsui-single-main{padding:15px}
}
@media(prefers-reduced-motion:reduce){
  .gsui-directory *,
  .gsui-single *{transition:none!important;animation:none!important}
}
/* v2.5 minimal [stores] directory */
.gsui-store-card-minimal{padding:8px;border-radius:14px}
.gsui-store-card-minimal .gsui-card-head{min-height:58px;padding:3px 4px}
.gsui-store-card-minimal .gsui-card-icon{width:48px;height:48px;border-radius:12px}
.gsui-store-card-minimal .gsui-card-content{min-width:0;flex:1}
.gsui-store-card-minimal .gsui-card-title{margin:0 0 4px}
.gsui-store-card-minimal .gsui-card-floor{display:block}
.gsui-store-card-minimal .gsui-card-arrow{font-size:17px;color:#9a7a3d;flex:none}
.gsui-store-card-minimal:hover .gsui-card-arrow{transform:translateX(-3px)}
.gsui-template-logo,.gsui-template-icon,.gsui-template-image,.gsui-template-map_image{max-width:100%;height:auto;display:block}
@media(max-width:520px){.gsui-store-card-minimal .gsui-card-icon{width:43px;height:43px}.gsui-store-card-minimal .gsui-card-head{min-height:52px}}

/* v19 — search focus ring + 10 front layouts */
.gsui-front-directory .gsui-search-box{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease}
.gsui-front-directory .gsui-search-box:focus-within{border-color:var(--gs-accent,var(--gsui-color-gold,#b88a38));box-shadow:0 0 0 4px rgba(184,138,56,.13),0 10px 28px rgba(20,25,30,.08);background:#fff;transform:translateY(-1px)}
.gsui-front-directory .gsui-search-input{outline:none}
.gsui-front-directory.gsui-layout-compact .gsui-store-grid{gap:10px}.gsui-front-directory.gsui-layout-compact .gsui-store-card{min-height:68px;padding:10px}.gsui-front-directory.gsui-layout-compact .gsui-card-icon{width:40px;height:40px}
.gsui-front-directory.gsui-layout-split .gsui-store-card{padding:0;overflow:hidden}.gsui-front-directory.gsui-layout-split .gsui-card-head{min-height:92px}.gsui-front-directory.gsui-layout-split .gsui-card-icon{height:100%;width:76px;flex-basis:76px;border-radius:0;background:var(--gsui-color-gold-soft)}
.gsui-front-directory.gsui-layout-bordered .gsui-store-card{background:transparent;box-shadow:none;border-width:2px}.gsui-front-directory.gsui-layout-bordered .gsui-card-icon{background:transparent;border:1px solid var(--gsui-color-border)}
.gsui-front-directory.gsui-layout-spotlight .gsui-store-card{min-height:110px;border:0;box-shadow:0 14px 35px rgba(15,23,42,.10)}.gsui-front-directory.gsui-layout-spotlight .gsui-card-icon{border-radius:50%;background:var(--gsui-color-gold);color:#fff}
.gsui-front-directory.gsui-layout-list .gsui-store-grid{grid-template-columns:1fr}.gsui-front-directory.gsui-layout-list .gsui-store-card{min-height:62px;padding:10px 14px;border-radius:9px;box-shadow:none}
.gsui-front-directory.gsui-layout-magazine .gsui-store-card{min-height:140px;align-items:flex-end;background:linear-gradient(160deg,#fff,#f8f4ec);position:relative;overflow:hidden}.gsui-front-directory.gsui-layout-magazine .gsui-card-icon{position:absolute;top:14px;right:14px;border-radius:50%}.gsui-front-directory.gsui-layout-magazine .gsui-card-content{margin-top:55px}


/* v21 — isolated search focus / theme override */
.gsui-front-directory .gsui-front-controls{position:relative;z-index:20;align-items:center}
.gsui-front-directory .gsui-search-box{position:relative;z-index:21;box-sizing:border-box!important;outline:none!important;border:1px solid var(--gsui-color-border,#e3e6e8)!important;background:#fff!important;box-shadow:0 3px 16px rgba(20,25,30,.035)!important;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important}
.gsui-front-directory .gsui-search-box:hover{border-color:#cfd4d8!important}
.gsui-front-directory .gsui-search-box:focus-within{border-color:var(--gs-accent,#b08a3c)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--gs-accent,#b08a3c) 16%,transparent),0 8px 24px rgba(20,25,30,.06)!important;transform:translateY(-1px)!important}
.gsui-front-directory .gsui-search-box .gsui-search-input,
.gsui-front-directory .gsui-search-box .gsui-search-input:hover,
.gsui-front-directory .gsui-search-box .gsui-search-input:focus,
.gsui-front-directory .gsui-search-box input[type="text"]{box-sizing:border-box!important;width:100%!important;min-width:0!important;height:44px!important;margin:0!important;padding:0!important;border:0!important;border-width:0!important;border-style:none!important;border-color:transparent!important;border-radius:0!important;outline:none!important;box-shadow:none!important;background:transparent!important;appearance:none!important;-webkit-appearance:none!important}
.gsui-front-directory .gsui-search-box .gsui-search-input:focus-visible{outline:none!important;box-shadow:none!important}
.gsui-front-directory .gsui-search-icon{position:relative;z-index:2;pointer-events:none;line-height:1}
.gsui-front-directory .gsui-category-select{box-sizing:border-box!important;outline:none!important}
.gsui-front-directory .gsui-store-grid{position:relative;z-index:1;margin-top:0}
.gsui-front-directory .gsui-store-card{position:relative;z-index:1}

/* v24 — discount status */
.gsui-coupon-card.gsui-coupon-inactive{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border:1px solid #e5e7eb;border-radius:18px;background:#f8fafc;}
.gsui-coupon-status{font-size:14px;font-weight:800;color:#6b7280;}
.gsui-coupon-card.gsui-coupon-active .gsui-coupon-status{color:inherit;}
