@font-face{font-family:"GDA Inter";src:url("../fonts/Inter-Regular-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"GDA Inter";src:url("../fonts/Inter-Medium-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"GDA Inter";src:url("../fonts/Inter-SemiBold-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"GDA Inter";src:url("../fonts/Inter-Bold-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;}

.gda-home{width:100%;max-width:none;margin:0;padding:24px 16px}
.gda-top{display:grid;gap:18px;grid-template-columns:1.6fr 1fr;align-items:stretch}
@media (max-width: 980px){.gda-top{grid-template-columns:1fr}}

/* Desktop compact mode: reduce height of the top block (icons + blog) */
@media (min-width: 981px){
  .gda-top{gap:14px}

  /* Icon cards */
  .gda-icons{gap:12px}
  .gda-icon{padding:10px;min-height:132px;gap:6px;border-radius:16px}
  .gda-icon img{max-width:132px}
  .gda-icon__cap{font-size:15px;line-height:1.15}

  /* Blog slider card */
  .gda-blog{padding:12px;border-radius:16px}
  .gda-blog__head{margin-bottom:8px}
  .gda-blog__title{font-size:17px}
  .gda-slider{min-height:290px;border-radius:12px}
  .gda-slide__inner{padding:12px 0 52px}
  .gda-nav{width:34px;height:34px;border-radius:11px;font-size:26px}
}
/* ICON GRID */
.gda-icons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
/* Keep 3 columns on desktop + tablets so the layout is always 2 rows x 3 cards. */
@media (max-width: 560px){
  /* Phone: keep 3 columns but make the grid максимально компактным */
  .gda-icons{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}

  /* Card: reduce height as much as possible without breaking layout */
  .gda-icon{padding:4px;min-height:86px;gap:2px;border-radius:14px}

  /* Image remains rectangular; slightly smaller on phone to save vertical space */
  .gda-icon img{width:100%;max-width:128px;max-height:58px;height:auto;object-fit:contain;display:block}

  /* Keep the blog slider compact on phone */
  .gda-slider{min-height:156px}

  .gda-icon__cap{font-size:12px;font-weight:600 !important;font-variation-settings:"wght" 600 !important;font-family:'GDA Inter','Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif !important;line-height:1.15}
}

.gda-icon{appearance:none;border:0;background:#fff;border-radius:18px;padding:12px;box-shadow:0 1px 0 rgba(0,0,0,.05),0 12px 28px rgba(0,0,0,.06);cursor:pointer;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;min-height:156px}
.gda-icon img{width:100%;max-width:150px;height:auto;object-fit:contain;display:block}
.gda-icon, .gda-icon:visited{color:#1c232a;text-decoration:none}
.gda-icon__cap{font-weight:700 !important;font-variation-settings:"wght" 700 !important;font-synthesis:weight;font-size:16px;line-height:1.2;text-align:center;color:#1c232a;font-family:'GDA Inter','Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif !important;}
/* BLOG SLIDER */
.gda-blog{background:#fff;border-radius:18px;box-shadow:0 1px 0 rgba(0,0,0,.05),0 12px 28px rgba(0,0,0,.06);padding:14px;display:flex;flex-direction:column}
.gda-blog__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.gda-blog__title{font-weight:800;font-size:18px}
.gda-blog__all{font-weight:700;text-decoration:none;color:#5caa7f}
.gda-blog__all:hover{color:#4e9a72;text-decoration:underline}
.gda-slider{position:relative;border-radius:14px;overflow:hidden;flex:1;min-height:330px}
.gda-slides{position:relative;height:100%}
.gda-slide{position:absolute;inset:0;display:none;text-decoration:none;color:inherit}
/* Keep blend-mode effects local to each slide */
.gda-slide{isolation:isolate;}
.gda-slide.is-active{display:block}
.gda-slide__media{position:absolute;inset:0;background-size:cover;background-position:center}
/*
  Readability overlay: keep it subtle.
  We rely mostly on a soft bottom gradient to avoid a visible "grey rectangle" band on light covers.
*/
/*
  Readability: user wants simple white title/date, darkened cover, and grey stroke on letters.
  No bands/rectangles behind text. We darken the entire image with a smooth gradient overlay.
*/
/* Darken the cover (no visible rectangle/band behind text): use a soft bottom gradient */
.gda-slide__media:before{content:"";position:absolute;inset:0;
  /* Darken a bit more, but still without any hard band/rectangle */
  background:
    /* soft bottom gradient for text */
    linear-gradient(to top,
      rgba(0,0,0,.96) 0%,
      rgba(0,0,0,.78) 45%,
      rgba(0,0,0,.36) 75%,
      rgba(0,0,0,0) 90%
    ),
    /* tiny overall darken */
    linear-gradient(to top, rgba(0,0,0,.26), rgba(0,0,0,.26));
}
.gda-slide__inner{position:absolute;left:50%;bottom:0;width:min(80%, calc(100% - 28px));transform:translateX(-50%);padding:14px 0 56px;color:#fff;}

/* Title/date: fully visible (no shortening), pure white text.
   Readability comes from the darkened cover (no outlines, no rectangles). */
.gda-slide__t{
  font-weight:800;
  font-size:18px;
  line-height:1.15;
  color:#fff !important;
  opacity:1 !important;
  display:block;
  overflow:visible;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.gda-slide__d{
  opacity:1;
  margin-top:6px;
  font-size:13px;
  color:#fff !important;
}

.gda-slider__controls{
  position:absolute;
  left:50%;
  right:auto;
  bottom:8px;
  /* Stretch controls bar so it reads like the title/date width */
  width:min(80%, calc(100% - 28px));
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0;
  z-index:5;
  pointer-events:none;
}
.gda-slider__controls .gda-nav,.gda-slider__controls .gda-dot{pointer-events:auto}

@media (max-width: 520px){
  .gda-slider__controls{width:calc(100% - 28px)}
  .gda-slide__inner{width:calc(100% - 28px)}
}

.gda-nav{position:static;transform:none;width:36px;height:36px;border:0;border-radius:12px;background:rgba(255,255,255,.22);color:#fff;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.gda-nav:hover{background:rgba(255,255,255,.30)}
.gda-nav:active{transform:scale(.97)}

.gda-dots{
  position:static;
  display:flex;
  flex:1;
  /* Spread indicators across the available center area (between arrows) */
  justify-content:space-between;
  align-items:center;
  gap:0;
  padding:0 10px;
}
.gda-dot{
  /* Oval pill indicator */
  width:20px;
  height:8px;
  padding:0;
  min-width:20px;
  max-width:20px;
  flex:0 0 20px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.45);
  cursor:pointer;
  display:block;
  line-height:0;
  font-size:0;
  appearance:none;
  -webkit-appearance:none;
}
.gda-dot.is-active{
  background:rgba(255,255,255,.95);
  /* slightly wider for active */
  width:26px;
  min-width:26px;
  max-width:26px;
  flex-basis:26px;
}
/* FILTER */
/* Make filters feel like a single UI block (subtle container), and keep radius smaller */
.gda-filter{
  margin-top:16px;
  /* Keep controls tidy (not overly rounded) and consistent across selects + search */
  --gda-filter-radius:8px;
  padding:10px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.06);
  background:transparent;
}

/* Hard-unify the visible controls (themes often apply different radii/shadows to
   buttons vs inputs). We enforce ONE style for Category/Region/Delivery + Search. */
form#gda-filters .gda-ms__btn,
form#gda-filters .gda-input{
  border-radius:var(--gda-filter-radius, 8px) !important;
  border:1px solid rgba(0,0,0,.12) !important;
  box-shadow:0 1px 0 rgba(0,0,0,.03) !important;
  background:#fff !important;
}

/* Match padding/weight so the first three don't look "heavier" than search */
form#gda-filters .gda-ms__btn{
  padding-left:12px !important;
  font-weight:700;
}
form#gda-filters .gda-input{padding:0 12px !important; font-weight:700;}

/* Force filters row to match listings width (theme forms may have max-width) */
form#gda-filters{width:100% !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important;}
.gda-filter__row{width:100% !important;}


/* Hide built-in browser clear (X) for <input type="search"> (we use our own button) */
input[type="search"]::-webkit-search-cancel-button{ -webkit-appearance:none; appearance:none; display:none; }
input[type="search"]::-webkit-search-decoration{ -webkit-appearance:none; appearance:none; }

.gda-field{flex:0 0 auto}
.gda-field--search{flex:1 1 auto;min-width:140px}
/* Unified radius for the whole filter UI.
   We set --gda-filter-radius dynamically from the theme's green submit button radius (JS).
   Fallback stays at 12px. */
.gda-select,.gda-input{height:42px;border-radius:var(--gda-filter-radius, 12px);border:1px solid rgba(0,0,0,.12) !important;background:#fff !important;padding:0 12px;outline:none;box-shadow:0 1px 0 rgba(0,0,0,.03) !important}
.gda-select{min-width:170px}

/* Subtle "active filter" state (selected values / typed search) */
.gda-ms__btn.is-active,
.gda-select.is-active,
.gda-input.is-active{
  border-color: rgba(0,0,0,.22) !important;
  box-shadow: 0 0 0 2px rgba(0,0,0,.04) inset, 0 1px 0 rgba(0,0,0,.03) !important;
}
@media (max-width: 980px){
  .gda-filter__row{gap:8px}
  .gda-select{min-width:120px}
}
.gda-btn{height:42px;border-radius:var(--gda-filter-radius, 12px);border:0;padding:0 14px;cursor:pointer;font-weight:800}
/* LISTINGS */
.gda-listings{margin-top:14px}
.gda-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media (max-width: 1100px){.gda-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width: 760px){.gda-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
.gda-card{display:block;background:#fff;border-radius:16px;padding:12px;text-decoration:none;color:inherit;box-shadow:0 1px 0 rgba(0,0,0,.05),0 12px 28px rgba(0,0,0,.06)}
.gda-card__img img{width:100%;height:auto;border-radius:12px;display:block}
.gda-card__ph{width:100%;padding-top:66%;background:rgba(0,0,0,.04);border-radius:12px}
.gda-card__t{margin-top:10px;font-weight:800;line-height:1.2}
.gda-pager{display:flex;gap:8px;justify-content:center;margin-top:14px;flex-wrap:wrap}
.gda-page{padding:8px 12px;border-radius:12px;background:#fff;text-decoration:none;box-shadow:0 1px 0 rgba(0,0,0,.05);font-weight:800}
.gda-page.is-active{outline:2px solid rgba(0,0,0,.18)}
.gda-empty{padding:18px;background:#fff;border-radius:16px;box-shadow:0 1px 0 rgba(0,0,0,.05)}


/* ===== Compact multi-select v2 ===== */
.gda-select{display:none !important}

.gda-ms{position:relative;min-width:170px}
@media (max-width: 980px){.gda-ms{min-width:120px}}

.gda-ms__btn{
  height:42px;
  border-radius:var(--gda-filter-radius, 12px);
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  /* Keep space for the chevron + force ellipsis even if the theme overrides styles.
     Reduce the reserved space a bit so a few extra letters fit before "...". */
  padding:0 22px 0 14px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  text-align:left;
  font-weight:700;
  color:rgba(0,0,0,.78);
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  box-shadow:0 1px 0 rgba(0,0,0,.03);
  position:relative;
}

/* Make the selected label reliably truncate before the chevron.
   In flex layouts, children can refuse to shrink unless min-width:0 is set. */
.gda-ms__btntext{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  display:block;
  text-align:left !important;
}
.gda-ms__btn:hover{border-color:rgba(0,0,0,.18)}
.gda-ms__btn:focus{outline:2px solid rgba(0,0,0,.10); outline-offset:2px}
.gda-ms__chev{
  position:absolute; right:6px; top:50%;
  width:15px; height:15px; transform:translateY(-50%);
  opacity:.55; pointer-events:none;
}
.gda-ms.is-open .gda-ms__chev{transform:translateY(-50%) rotate(180deg); opacity:.75}

.gda-ms__panel{
  position:absolute;left:0;right:0;top:calc(100% + 10px);
  background:#fff;border-radius:var(--gda-filter-radius, 12px);border:1px solid rgba(0,0,0,.10);
  box-shadow:0 18px 50px rgba(0,0,0,.12);
  padding:10px;display:none;max-height:360px;overflow:auto;z-index:999;
}
.gda-ms.is-open .gda-ms__panel{display:block}

.gda-ms__tools{
  display:flex; gap:8px; align-items:center;
  /* Keep tool button + search on ONE line.
     RU translations can make the button a bit wider; let the search shrink instead of wrapping. */
  flex-wrap:nowrap;
  margin-bottom:8px;
}
.gda-ms__toolbtn{
  height:34px; padding:0 10px;
  border-radius:var(--gda-filter-radius, 12px);
  border:1px solid rgba(0,0,0,.10);
  background:rgba(0,0,0,.02);
  font-weight:800;
  cursor:pointer;
  flex:0 0 auto;
  white-space:nowrap;
}
.gda-ms__toolbtn:hover{background:rgba(0,0,0,.04)}
.gda-ms__searchwrap{
  flex:1 1 auto;
  min-width:0;
  position:relative;
}
.gda-ms__searchicon{
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  width:16px;
  height:16px;
  opacity:.45;
  pointer-events:none;
}
.gda-ms__searchicon svg{
  width:16px;
  height:16px;
  display:block;
}
.gda-ms__search{
  width:100%;
  height:34px;
  border-radius:var(--gda-filter-radius, 12px);
  border:1px solid rgba(0,0,0,.10);
  padding:0 10px 0 34px; /* room for the magnifier icon */
}

/* When the field is focused (or has text), hide the icon and remove extra left padding */
.gda-ms__searchwrap.is-focus .gda-ms__searchicon{opacity:0}
.gda-ms__searchwrap.is-focus .gda-ms__search{padding-left:10px}

/* Top (main) search field: add magnifier icon */
.gda-topsearchwrap{position:relative; width:100%}
.gda-topsearchicon{
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  width:16px; height:16px; opacity:.45; pointer-events:none;
}
.gda-topsearchicon svg{width:16px; height:16px; display:block}
.gda-topsearchwrap .gda-input{padding-left:34px}

/* Hide browser-provided clear (X) for search inputs on mobile. */
.gda-topsearchwrap .gda-input[type="search"]::-webkit-search-cancel-button,
.gda-topsearchwrap .gda-input[type="search"]::-webkit-search-decoration,
.gda-topsearchwrap .gda-input[type="search"]::-webkit-search-results-button,
.gda-topsearchwrap .gda-input[type="search"]::-webkit-search-results-decoration{display:none !important; -webkit-appearance:none !important;}
.gda-topsearchwrap .gda-input::-ms-clear{display:none !important; width:0; height:0;}
.gda-topsearchwrap.is-focus .gda-topsearchicon{opacity:0}
.gda-topsearchwrap.is-focus .gda-input{padding-left:10px}

/* Remove any in-field clear (X) button: we use a single external reset control. */
.gda-topsearchclear{display:none !important}

/* Also hide browser-provided clear buttons (mobile Chrome, etc.). */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration{display:none !important; -webkit-appearance:none !important}
input::-ms-clear{display:none !important}

/* Search cell contains the search input + a small reset button.
   On phones this button takes space from the search input (per request). */
.gda-field--search{display:flex; align-items:center; gap:8px; min-width:0}
.gda-field--search .gda-topsearchwrap{flex:1; min-width:0}
.gda-filterreset{
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:var(--gda-filter-radius, 12px);
  border:1px solid rgba(220,38,38,.35);
  background:rgba(220,38,38,.06);
  color:rgba(220,38,38,1);
  font-size:22px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  padding:0;
}
.gda-filterreset:hover{background:rgba(220,38,38,.10); border-color:rgba(220,38,38,.55)}
.gda-filterreset:focus{outline:2px solid rgba(220,38,38,.18); outline-offset:2px}

@media (max-width: 560px){
  .gda-field--search{gap:6px}
  /* Reset button must match other controls (42px square, same radius) */
  .gda-filterreset{width:42px; flex-basis:42px; height:42px; border-radius:var(--gda-filter-radius, 12px); font-size:22px}
}

/* Live refresh: subtle feedback while results reload */
.gda-grid.is-refreshing{opacity:.55; pointer-events:none}

.gda-ms__opt{
  display:flex;gap:10px;align-items:flex-start;
  padding:8px 10px;border-radius:var(--gda-filter-radius, 12px);cursor:pointer;
}
.gda-ms__opt:hover{background:rgba(0,0,0,.04)}
.gda-ms__opt input{margin-top:3px}
.gda-ms__label{line-height:1.15}

/* Loading state: prevents TranslatePress RU "blank labels" flicker */
.gda-ms__loading{
  display:none;
  padding:10px;
  border-radius:var(--gda-filter-radius, 12px);
  background:rgba(0,0,0,.03);
  font-weight:700;
}
.gda-ms__panel.is-loading .gda-ms__loading{display:block}
.gda-ms__panel.is-loading .gda-ms__opt{display:none}

/* Reset button: smaller + red, so it reads as a secondary/destructive action. */
.gda-btn.gda-btn--ghost{
  height:40px;
  padding:0 12px;
  background:rgba(220,38,38,.08);
  border:1px solid rgba(220,38,38,.35);
  color:rgba(185,28,28,1);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
}
.gda-btn.gda-btn--ghost:hover{
  background:rgba(220,38,38,.14);
  border-color:rgba(220,38,38,.55);
}
.gda-btn.gda-btn--ghost:focus{
  outline:2px solid rgba(220,38,38,.18);
  outline-offset:2px;
}
/* make filter row spacing a bit nicer */
/* Panel width should match the trigger (filter button). */
.gda-ms__panel{min-width:0; width:100%;}
.gda-ms__label{
  white-space:normal;
  /* Avoid per-letter wrapping on narrow dropdowns (overflow-wrap:anywhere breaks anywhere).
     Use a gentler rule: break only when needed (long words/URLs), otherwise keep words intact. */
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:auto;
}

/* prevent clipping by parent containers */
.gda-filter, .gda-filter__row, .gda-field, .gda-top, .gda-home{overflow:visible}

/* portal panel (position fixed) */
.gda-ms__panel.is-portal{
  position:fixed !important;
  top:auto; left:auto; right:auto;
  /* Width is controlled by JS to match the trigger; keep only viewport safety limits here. */
  min-width:0 !important;
  max-width:calc(100vw - 20px) !important;
}

/* portal panels are moved outside .gda-ms, so force visibility when open */
.gda-ms__panel.is-portal{display:block}

/* ads blocks inside grid */
.gda-grid__item--ad{height:100%}
.gda-grid__item--ad .gda-adcard{
  width:100%;
  height:100%;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  overflow:hidden;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  display:flex;
}
.gda-grid__item--ad .gda-ad{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
  padding:10px;
  background:transparent;
  border:0;
}
.gda-grid__item--ad .gda-ad > *{
  max-width:100% !important;
  max-height:100% !important;
  margin:auto !important;
}
.gda-grid__item--ad .gda-ad img,
.gda-grid__item--ad .gda-ad iframe,
.gda-grid__item--ad .gda-ad video{
  display:block;
}
.gda-grid__item--ad .gda-ad--raw{background:transparent}
.gda-loadmore{display:flex;justify-content:center;margin:18px 0 0}
.gda-btn--loadmore{min-width:200px}

/* =========================
   Footer gap fix
   Some themes add large bottom padding/min-height to content wrappers.
   On the homepage (shortcode page) this can create a big empty area below
   the "Load more" button.
   ========================= */
body.gda-homepage .site-content,
body.gda-homepage .content-area,
body.gda-homepage .site-main,
body.gda-homepage .entry-content,
body.gda-homepage .hp-page,
body.gda-homepage .hp-page__content{
  padding-bottom:0 !important;
  margin-bottom:0 !important;
  min-height:0 !important;
}
body.gda-homepage .gda-home,
body.gda-homepage .gda-listings{
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}
/* Keep a small consistent breathing room above the footer.
   Make bottom gap equal to the gap above the button. */
/* Keep consistent bottom spacing even when load-more disappears (e.g., all listings loaded).
   We add the bottom spacing to the listings container (always present) and avoid tying it
   to the optional .gda-loadmore block.
*/
body.gda-homepage .gda-listings{padding-bottom:18px !important;}
body.gda-homepage .gda-loadmore{margin-bottom:0 !important;}

/* =========================
   Listing cards (custom)
   ========================= */
.gda-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:18px;
}
@media (max-width: 1024px){
  .gda-grid{grid-template-columns: repeat(3, minmax(0,1fr));}
}
@media (max-width: 760px){
  .gda-grid{grid-template-columns: repeat(2, minmax(0,1fr));}
}
.gda-lcard{
  display:flex;
  flex-direction:column;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  overflow:hidden;
  text-decoration:none !important;
  height:100%;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  transition: box-shadow .15s ease, transform .15s ease;
}
.gda-lcard:hover{
  box-shadow:0 10px 24px rgba(0,0,0,.10);
  transform: translateY(-1px);
}
.gda-lcard__img{
  aspect-ratio: 4 / 3;
  background: rgba(0,0,0,.03);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.gda-lcard__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.gda-lcard__ph{
  width:100%;
  height:100%;
  background: linear-gradient(135deg, rgba(0,0,0,.04), rgba(0,0,0,.02));
}
.gda-lcard__body{
  padding:12px 12px 10px;
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1;
}
.gda-lcard__title{
  font-weight:700;
  line-height:1.25;
  font-size:15px;
  color:#111;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height: 38px;
}
.gda-lcard__meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.gda-lcard__cat,
.gda-lcard__loc{
  font-size:12px;
  line-height:1.2;
  padding:5px 8px;
  border-radius:999px;
  background: rgba(0,0,0,.045);
  color:#222;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gda-lcard__foot{
  margin-top:auto;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
}
.gda-lcard__date{
  font-size:12px;
  color: rgba(0,0,0,.60);
  white-space:nowrap;
}
.gda-lcard__price{
  font-weight:800;
  font-size:14px;
  color:#111;
  white-space:nowrap;
}

/* =========================
   Listing cards (meta tweak)
   ========================= */
.gda-lcard__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.gda-lcard__cat,
.gda-lcard__loc{
  font-size:12px;
  color: rgba(0,0,0,.60);
  background: transparent;
  padding:0;
  border-radius:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gda-lcard__cat::before{content:"• "; opacity:.6}
.gda-lcard__loc::before{content:"• "; opacity:.6}
.gda-lcard__meta .gda-lcard__cat:first-child::before,
.gda-lcard__meta .gda-lcard__loc:first-child::before{content:"";}
.gda-lcard__price{
  font-weight:900;
  font-size:15px;
  padding:2px 0;
}

/* =========================
   Compact filter (better desktop + mobile)
   ========================= */

/* Desktop/tablet: one neat row, no overlaps */
.gda-filter__row{
  display:grid;
  /* Match cards grid: 4 equal columns on desktop */
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
  align-items:center;
  width:100%;
}

/* Prevent select arrow from overlapping long labels */
.gda-filter select,
.gda-filter .hp-field--select select,
.gda-filter .hp-field select{
  padding-right:42px !important;
}

/* Let grid control widths */
.gda-filter .gda-field{min-width:0; width:100%;}
.gda-filter .gda-field--search{min-width:0; width:100%;}
.gda-ms{min-width:0; width:100%;}
.gda-ms__btn{width:100%;}
.gda-input{width:100%;}

/* Buttons: make link look like a real button */
.gda-btn,
.gda-btn--ghost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  white-space:nowrap;
}
.gda-btn--ghost{border:1px solid rgba(0,0,0,.14);}

/* Phones + tablets: 2x2 grid like desktop (Category/Region, Delivery/Search) */
@media (max-width: 1024px){
  .gda-filter__row{
    grid-template-columns: 1fr 1fr;
    gap:8px;
    align-items:stretch;
  }
  /* Row 1 */
  .gda-filter__row .gda-field:nth-child(1){grid-column:1;}
  .gda-filter__row .gda-field:nth-child(2){grid-column:2;}
  /* Row 2 */
  .gda-filter__row .gda-field:nth-child(3){grid-column:1;}
  .gda-filter__row .gda-field--search{grid-column:2;}
}

/* tighten card paddings */
.gda-lcard__body{padding:10px 10px 9px; gap:6px;}
@media (max-width: 760px){
  .gda-lcard__body{padding:9px 9px 8px;}
  .gda-grid{gap:14px;}
}
/* make cat & loc neutral like date */
.gda-lcard__meta{gap:8px}
.gda-lcard__cat::before,
.gda-lcard__loc::before{content:"";}
.gda-lcard__cat,
.gda-lcard__loc{
  font-size:12px;
  color: rgba(0,0,0,.58);
}
.gda-lcard__date{color: rgba(0,0,0,.58);}
.gda-lcard__price{
  font-weight:900;
  font-size:16px;
  letter-spacing:.2px;
}

/* =========================
   Listing cards v2 (closer to attribute block look)
   ========================= */
.gda-lcard__body{padding:10px 10px 10px; gap:8px;}
.gda-lcard__topmeta{
  font-size:12px;
  color: rgba(0,0,0,.58);
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.gda-lcard__dot{opacity:.6}
.gda-lcard__title{min-height:auto}
.gda-lcard__info{
  margin-top:2px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:8px;
}
@media (max-width: 760px){
  .gda-lcard__info{grid-template-columns: repeat(2, minmax(0,1fr));}
}
.gda-lcard__cell{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  padding:8px 10px;
  background: rgba(0,0,0,.02);
  min-width:0;
}
.gda-lcard__label{
  font-size:11px;
  color: rgba(0,0,0,.55);
  margin-bottom:2px;
  line-height:1.1;
}
.gda-lcard__value{
  font-size:13px;
  font-weight:700;
  color:#111;
  line-height:1.15;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gda-lcard__cell--price{
  background: rgba(46, 160, 107, .10);
  border-color: rgba(46, 160, 107, .28);
}
.gda-lcard__cell--price .gda-lcard__value{
  font-weight:900;
}

/* =========================
   Listing cards v3 (compact, only price highlighted)
   ========================= */
.gda-lcard__body{padding:10px 10px 10px; gap:6px;}
.gda-lcard__meta{
  font-size:12px;
  color: rgba(0,0,0,.58);
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.gda-lcard__dot{opacity:.6}
.gda-lcard__title{
  font-weight:800;
  line-height:1.25;
  font-size:15px;
  color:#111;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.gda-lcard__bottom{
  margin-top:2px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
}
.gda-lcard__sub{
  font-size:12px;
  color: rgba(0,0,0,.58);
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.gda-lcard__subitem{
  max-width: 100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gda-lcard__price{
  font-weight:900;
  font-size:15px;
  line-height:1;
  padding:8px 10px;
  border-radius:12px;
  background: rgba(46, 160, 107, .12);
  border: 1px solid rgba(46, 160, 107, .28);
  color:#0d5d3b;
  white-space:nowrap;
}
@media (max-width: 760px){
  .gda-lcard__body{padding:9px 9px 9px;}
  .gda-lcard__bottom{align-items:flex-start}
  .gda-lcard__price{padding:7px 9px; font-size:14px;}
  .gda-lcard__subitem{white-space:normal; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;}
}

/* v1.3.5 small tweaks */
@media (max-width: 760px){
  .gda-lcard__price{min-width: 52px; text-align:center;}
}

/* =========================
   Listing cards v4 (title + price row, meta under)
   ========================= */
.gda-lcard__body{padding:10px 10px 10px; gap:6px;}
.gda-lcard__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.gda-lcard__title{
  flex:1 1 auto;
  font-weight:800;
  line-height:1.25;
  font-size:15px;
  color:#111;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:0;
}
.gda-lcard__price{
  flex:0 0 auto;
  font-weight:900;
  font-size:14px;
  line-height:1;
  padding:8px 10px;
  border-radius:12px;
  background: rgba(46, 160, 107, .12);
  border: 1px solid rgba(46, 160, 107, .28);
  color:#0d5d3b;
  white-space:nowrap;
}
.gda-lcard__meta{
  font-size:12px;
  color: rgba(0,0,0,.58);
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.gda-lcard__dot{opacity:.6}
.gda-lcard__sub{
  font-size:12px;
  color: rgba(0,0,0,.58);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media (max-width: 760px){
  .gda-lcard__body{padding:9px 9px 9px;}
  .gda-lcard__price{padding:7px 9px; font-size:13px;}
  .gda-lcard__sub{white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
}

/* =========================
   v1.3.7 mobile title/price layout fix
   ========================= */
.gda-lcard__head{flex-wrap:wrap;}
.gda-lcard__price{margin-left:auto;}
@media (max-width: 520px){
  .gda-lcard__title{-webkit-line-clamp:3;}
  .gda-lcard__title{width:100%;}
  .gda-lcard__price{margin-left:auto; margin-top:6px;}
}

/* =========================
   v1.3.8 cleanup: prevent TP spans showing, refine meta spacing
   ========================= */
.gda-lcard__meta, .gda-lcard__sub{
  word-break: break-word;
}
.gda-lcard__meta{margin-top:2px;}
.gda-lcard__sub{margin-top:2px;}

/* =========================
   v1.3.9 meta lines with monochrome icons
   ========================= */
.gda-lcard__lines{display:flex; flex-direction:column; gap:6px; margin-top:4px;}
.gda-lcard__line{display:flex; align-items:flex-start; gap:8px; color: rgba(0,0,0,.62); font-size:12px; line-height:1.25;}
.gda-lcard__line-text{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.gda-ico{width:14px; height:14px; flex:0 0 14px; fill: rgba(0,0,0,.45); margin-top:1px;}
@media (max-width: 760px){
  .gda-lcard__line-text{white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
}

/* =========================
   v1.4.0 price side block
   ========================= */
.gda-lcard__content{
  display:flex;
  gap:12px;
  align-items:flex-end;
}
.gda-lcard__main{
  flex:1 1 70%;
}
.gda-lcard__price-wrap{
  flex:0 0 auto;
  align-self:flex-start;
}
.gda-lcard__price{
  display:inline-block;
  padding:10px 12px;
  font-size:15px;
  font-weight:900;
  border-radius:14px;
  background: rgba(46,160,107,.12);
  border:1px solid rgba(46,160,107,.28);
  color:#0d5d3b;
}
@media (max-width:760px){
  .gda-lcard__content{align-items:flex-start;}
  .gda-lcard__price-wrap{margin-top:4px;}
}

/* =========================
   v1.4.1: no title truncation, square price block, 1 card per row on mobile
   ========================= */

/* Never truncate titles */
.gda-lcard__title{
  display:block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  overflow: visible !important;
  text-overflow: unset !important;
  white-space: normal !important;
}

/* Make price block square and same height as left info column */
.gda-lcard__content{
  align-items: stretch !important;
}
.gda-lcard__price-wrap{
  height: 100%;
  aspect-ratio: 1 / 1;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gda-lcard__price{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  padding:0;
  border-radius:14px;
  font-size:16px;
}

/* Mobile: show 1 card per row so everything fits */
@media (max-width: 760px){
  .gda-grid{
    grid-template-columns: 1fr !important;
  }
  .gda-lcard__content{
    gap:12px;
  }
  .gda-lcard__price{
    font-size:16px;
  }
}

/* Extra small: allow price square to shrink a bit */
@media (max-width: 420px){
  .gda-lcard__price-wrap{
    min-width: 84px;
  }
}

/* =========================
   v1.4.2: Mobile price block alignment fix
   - Use CSS grid for the bottom content area so the price square never "slides" down
   ========================= */
@media (max-width: 760px){
  .gda-lcard__content{
    display:grid !important;
    grid-template-columns: 1fr min(34vw, 108px);
    gap:12px;
    align-items:start !important;
  }
  .gda-lcard__main{
    min-width:0;
  }
  .gda-lcard__price-wrap{
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    align-self:start !important;
    justify-self:end !important;
  }
  .gda-lcard__price{
    width:100% !important;
    height:100% !important;
  }
}

/* =========================
   v1.4.3: price square sized by JS (prevents empty space under lines)
   ========================= */
.gda-lcard__content{align-items:flex-start !important;}
.gda-lcard__price-wrap{
  width: 92px;
  height: 92px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gda-lcard__price{
  width:100%;
  height:100%;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  text-align:center;
}

/* =========================
   v1.4.4: long prices wrap inside square
   ========================= */
.gda-lcard__price{
  padding:10px;
  line-height:1.1;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  text-align:center;
  font-size:15px;
}
.gda-lcard__price.is-long{font-size:13px;}
.gda-lcard__price.is-verylong{font-size:12px;}

/* =========================
   v1.4.5: wrap only currency word (лей/лея/леев/lei), never break digits
   ========================= */
.gda-lcard__price{
  padding:10px;
  line-height:1.1;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.gda-price-num{
  font-size:16px;
  font-weight:900;
  white-space:nowrap; /* digits never break */
}
.gda-price-cur{
  font-size:12px;
  font-weight:700;
  opacity:.78;
  line-height:1.05;
}
.gda-lcard__price.single-line{
  flex-direction:row;
  gap:6px;
}
.gda-lcard__price.single-line .gda-price-cur{
  font-size:13px;
}

/* If number is very long, shrink number a bit but keep as one line */
.gda-lcard__price.is-long .gda-price-num{font-size:14px;}
.gda-lcard__price.is-verylong .gda-price-num{font-size:13px;}

/* =========================
   v1.4.7: single-line price looks uniform (same font size), ensure it applies reliably
   ========================= */
.gda-price-cur{white-space:nowrap;}
.gda-lcard__price.single-line{
  flex-direction:row;
  align-items:baseline;
  justify-content:center;
  gap:6px;
}
.gda-lcard__price.single-line .gda-price-num{
  font-size:16px;
}
.gda-lcard__price.single-line .gda-price-cur{
  font-size:16px; /* same as number for <=9999 */
  font-weight:800;
  opacity:.75;
  line-height:1;
}

/* =========================
   v1.4.8: price vertically centered + unified typography for number/currency
   ========================= */
.gda-lcard__content{align-items:center !important;}
.gda-lcard__price-wrap{align-self:center !important;}
.gda-lcard__price{gap:4px;}
.gda-price-num,.gda-price-cur{
  font-size:16px !important;
  font-weight:900 !important;
  opacity:1 !important;
  line-height:1.05 !important;
}
@media (max-width:760px){
  .gda-lcard__content{align-items:center !important;}
  .gda-lcard__price-wrap{align-self:center !important; justify-self:end !important;}
}

/* =========================
   v1.4.9: price vertical centering + cleaner card aesthetics
   ========================= */

/* Force center regardless of older rules */
.gda-lcard .gda-lcard__content{align-items:center !important;}
.gda-lcard .gda-lcard__price-wrap{align-self:center !important;}

/* Make content area feel more intentional */
.gda-lcard__body{padding:14px 14px 16px;}
.gda-lcard__title{
  font-size:16px;
  line-height:1.25;
  margin-bottom:8px;
}

/* Lines: slightly tighter + consistent */
.gda-lcard__lines{gap:6px; margin-top:0;}
.gda-lcard__line{
  font-size:12px;
  color: rgba(0,0,0,.58);
}
.gda-ico{fill: rgba(0,0,0,.40);}

/* Price square: slightly softer */
.gda-lcard__price{
  border-radius:14px;
  box-shadow: 0 1px 0 rgba(0,0,0,.02);
}

/* Add subtle divider between info and price */
.gda-lcard__price-wrap{
  position:relative;
}
.gda-lcard__price-wrap::before{
  content:"";
  position:absolute;
  left:-6px;
  top:10%;
  bottom:10%;
  width:1px;
  background: rgba(0,0,0,.06);
}

/* Mobile polish */
@media (max-width:760px){
  .gda-lcard__body{padding:12px 12px 14px;}
  .gda-lcard__title{font-size:16px;}
  .gda-lcard__price-wrap::before{display:none;}
}

/* =========================
   v1.5.0: robust centering via CSS grid + horizontal divider under title
   ========================= */
.gda-lcard__hr{
  height:1px;
  background: rgba(0,0,0,.06);
  margin:10px 0 10px;
}

.gda-lcard__content{
  display:grid !important;
  grid-template-columns: 1fr auto;
  gap:12px;
  align-items:center !important; /* true vertical centering */
}

.gda-lcard__main{min-width:0;}
.gda-lcard__price-wrap{
  align-self:center !important;
  justify-self:end !important;
  margin:0 !important;
}

/* keep price square sizing defaults; JS may override */
.gda-lcard__price-wrap{width:92px; height:92px;}
.gda-lcard__price{width:100%; height:100%;}

@media (max-width:760px){
  .gda-lcard__content{
    grid-template-columns: 1fr min(34vw, 108px);
    align-items:center !important;
  }
  .gda-lcard__hr{margin:8px 0 10px;}
}

/* =========================
   v1.5.1: prevent post-load "jump" by locking price square size (override JS inline sizing)
   ========================= */
.gda-lcard__content{align-items:center !important;}
.gda-lcard__price-wrap{
  width:92px !important;
  height:92px !important;
  align-self:center !important;
  justify-self:end !important;
}
@media (max-width:760px){
  .gda-lcard__price-wrap{
    width:min(34vw,108px) !important;
    height:min(34vw,108px) !important;
  }
}

/* =========================================================
   v1.6.0 CARD REDESIGN (clean, informative)
   ========================================================= */
.gda-lcard{
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow: 0 8px 26px rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.04);
}
.gda-lcard__thumb{background:#f4f4f4; aspect-ratio:4/3;}
.gda-lcard__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.gda-lcard__body{padding:14px 14px 16px;}
.gda-lcard__top{display:flex;align-items:flex-start;gap:10px;}
.gda-lcard__title{
  flex:1 1 auto;margin:0;
  font-size:16px;line-height:1.25;font-weight:800;
  color:rgba(0,0,0,.88);
  white-space:normal !important;overflow:visible !important;text-overflow:unset !important;
}
.gda-price-badge{
  flex:0 0 auto;align-self:flex-start;
  padding:8px 10px;border-radius:14px;
  background: rgba(46,163,110,.10);
  border: 1px solid rgba(46,163,110,.25);
  color: rgba(17,102,66,.95);
  font-weight:900;font-size:14px;line-height:1.05;
  white-space:nowrap;
}
.gda-lcard__meta{margin-top:10px;display:flex;flex-direction:column;gap:6px;}
.gda-lcard__line{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.25;color:rgba(0,0,0,.58);}
.gda-lcard__line .gda-ico{width:14px;height:14px;flex:0 0 14px;margin-top:1px;fill:rgba(0,0,0,.38);}
/* hide legacy blocks */
.gda-lcard__hr,.gda-lcard__price-wrap,.gda-lcard__price{display:none !important;}
.gda-lcard__content{display:block !important;}
@media (max-width:760px){
  .gda-lcard{border-radius:16px;}
  .gda-lcard__body{padding:12px 12px 14px;}
}
@media (max-width:360px){ .gda-price-badge{white-space:normal;} }

/* ===== v1.6.1 listing card overrides (fix fatal + new layout) ===== */
.gda-lcard__thumb{
  aspect-ratio: 4 / 3;
  background: rgba(0,0,0,.03);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.gda-lcard__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.gda-lcard__top{
  display:flex;
  align-items:stretch;
  gap:10px;
}
.gda-lcard__title{
  flex:1 1 auto;
  min-width:0;
  font-weight:800;
  font-size:16px;
  line-height:1.25;
  color:#111;
  display:block;
  overflow:visible;
  -webkit-line-clamp:unset;
  -webkit-box-orient:unset;
}
.gda-lcard__price-badge{
  flex:0 0 auto;
  min-width:82px;
  max-width:110px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:10px 12px;
  border-radius:14px;
  background: rgba(46,139,87,.10);
  border:1px solid rgba(46,139,87,.25);
  font-weight:800;
  color:#0b5f3f;
  line-height:1.1;
  white-space:normal;
  word-break:keep-all;
}
/* do not clamp any card text */
.gda-lcard__line-text{white-space:normal !important; overflow:visible !important; text-overflow:clip !important;}

/* =========================================================
   v1.6.3: Card redesign (actually visible) + restore price
   ========================================================= */
.gda-lcard{
  border-radius:18px !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid rgba(0,0,0,.05) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.06) !important;
}

.gda-lcard__thumb{background:#f3f4f6 !important; aspect-ratio:4/3 !important;}
.gda-lcard__thumb img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}

.gda-lcard__body{padding:14px 14px 16px !important;}
.gda-lcard__top{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:10px !important;
}

.gda-lcard__title{
  margin:0 !important;
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  color:rgba(0,0,0,.88) !important;
  text-align:left !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:unset !important;
}

.gda-price-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:8px 10px !important;
  border-radius:14px !important;
  background: rgba(46,163,110,.12) !important;
  border:1px solid rgba(46,163,110,.28) !important;
  color: rgba(17,102,66,.95) !important;
  font-weight:900 !important;
  font-size:14px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  flex:0 0 auto !important;
}

.gda-lcard__meta,
.gda-lcard__lines{
  margin-top:10px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  align-items:flex-start !important;
  text-align:left !important;
}

.gda-lcard__line{
  display:flex !important;
  align-items:flex-start !important;
  gap:8px !important;
  font-size:12px !important;
  line-height:1.25 !important;
  color:rgba(0,0,0,.60) !important;
}

.gda-lcard__line .gda-ico{
  width:14px !important;height:14px !important;flex:0 0 14px !important;
  margin-top:1px !important;
  fill:rgba(0,0,0,.40) !important;
}

/* hide legacy square-price blocks if present */
.gda-lcard__price-wrap,.gda-lcard__price,.gda-lcard__hr{display:none !important;}

@media (max-width:760px){
  .gda-lcard__body{padding:12px 12px 14px !important;}
  .gda-lcard__title{font-size:16px !important;}
  .gda-price-badge{font-size:14px !important;}
}

/* =========================
   v1.6.6: price badge overlay on image
   ========================= */
.gda-lcard__thumb{position:relative !important;}
.gda-price-badge{
  position:absolute !important;
  top:10px !important;
  right:10px !important;
  margin:0 !important;
  float:none !important;
  z-index:2 !important;
  backdrop-filter: blur(4px);
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.10) !important;
}

/* =========================
   Promoted/Featured badge (left, like price)
   ========================= */
.gda-promote-badge{
  position:absolute !important;
  top:10px !important;
  left:10px !important;
  z-index:2 !important;
  width:34px !important;
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:14px !important;
  backdrop-filter: blur(4px);
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.10) !important;
}
.gda-promote-badge__ico{
  width:18px !important;
  height:18px !important;
  fill: rgba(17,102,66,.95) !important;
}
.gda-lcard__top{display:block !important;}
.gda-lcard__meta,.gda-lcard__lines{clear:both !important;}

@media (max-width:760px){
  .gda-price-badge{top:8px !important; right:8px !important;}
  .gda-promote-badge{top:8px !important; left:8px !important;}
}

/* =========================================================
   v1.6.8 QUICK TILES: no icon cropping + better alignment
   ========================================================= */
.gda-quick__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  height:92px;
}
.gda-quick__icon img{
  width:100%;
  height:100%;
  max-width:150px;
  max-height:92px;
  object-fit:contain !important;
  display:block;
}
.gda-quick__title{
  text-align:center;
  padding:0 16px 18px;
  font-weight:800;
}
@media (max-width:760px){
  .gda-quick__icon{height:82px; padding:12px;}
  .gda-quick__title{padding:0 12px 16px;}
}

/* =========================================================
   v1.6.9 Quick icons: correct selectors (gda-icon) + no cropping
   ========================================================= */
.gda-icons{
  display:grid;
  gap:16px;
}
.gda-icon{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.gda-icon img{
  width:100%;
  max-width:150px;
  height:auto;
  object-fit:contain !important;
  display:block;
  border:0 !important;
}
.gda-icon__cap{ text-align:center; }
.gda-icon--add{ text-decoration:none; color:inherit; }


/* v1.7.4 scroll offset var (avoid hard px; measured in JS when possible) */
#gda-filters-anchor{ height:1px; scroll-margin-top: var(--gda-scroll-offset, 80px); }
#gda-filters{ scroll-margin-top: var(--gda-scroll-offset, 80px); }

/* =========================================================
   v1.7.41 Mobile outer spacing: remove paddings on phones
   ========================================================= */
@media (max-width: 760px){
  /* The homepage wrapper used to add visible empty space around the block.
     On phones we want the content flush with the theme container. */
  .gda-home{padding:0 !important;}

  /* Filter container: keep a tiny inner padding so controls don't stick to the frame */
  .gda-filter{padding:6px !important;}

  /* On small screens keep the grid tight, but with a bit of breathing room around it */
  .gda-filter__row{gap:6px !important;}
}

/* Make native selects truncate long chosen values (ellipsis) instead of pushing layout */
.gda-filter select,
.gda-filter .hp-field--select select,
.gda-filter .hp-field select{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* =========================================================
   v1.7.42 Quick tiles: enforce consistent bold title weight
   - Theme/link styles can override the first tile (it's an <a>)
   - Force the same weight for both <a> and <button> tiles
   ========================================================= */
.gda-icons .gda-icon__cap,
.gda-icons a.gda-icon .gda-icon__cap,
.gda-icons button.gda-icon .gda-icon__cap{
  /* Some themes apply variable-font overrides (font-variation-settings) to links,
     which can make the first tile (<a>) look less bold even with font-weight.
     Force both weight AND the variable-font axis. */
  font-weight:700 !important;
  font-variation-settings:"wght" 700 !important;
}

/* Also set the weight on the <a> itself to avoid any inheritance edge-cases */
.gda-icons a.gda-icon{
  font-weight:700 !important;
  font-variation-settings:"wght" 700 !important;
}

/* Extra specificity to beat theme link/button typography overrides */
.gda-home .gda-icons a.gda-icon .gda-icon__cap,
.gda-home .gda-icons button.gda-icon .gda-icon__cap{
  font-family:inherit !important;
  font-weight:700 !important;
  font-variation-settings:"wght" 700 !important;
  font-synthesis:weight !important;
}



/* === GDA: Universal font + identical look for quick buttons (RO/RU, all devices) === */
.gda-home .gda-icons .gda-icon__cap,
.gda-home .gda-icons a.gda-icon .gda-icon__cap,
.gda-home .gda-icons button.gda-icon .gda-icon__cap{
  font-family:"GDA Inter","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif !important;
  font-weight:700 !important;
  font-variation-settings:normal !important;
  font-synthesis:weight style !important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
@media (max-width: 560px){
  .gda-home .gda-icons .gda-icon__cap,
  .gda-home .gda-icons a.gda-icon .gda-icon__cap,
  .gda-home .gda-icons button.gda-icon .gda-icon__cap{
    font-size:12px !important;
    font-weight:600 !important;
  }
}

/* =========================================================
   LOGIN MODAL (for Add Listing when not logged in)
   ========================================================= */
body.gda-modal-open{ overflow:hidden !important; }
.gda-loginmodal{ display:none; position:fixed; inset:0; z-index:999999; align-items:center; justify-content:center; padding:18px; }
.gda-loginmodal.is-open{ display:flex; }
.gda-loginmodal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.45); }
.gda-loginmodal__dialog{ position:relative; width:min(420px, 100%); background:#fff; border-radius:16px; box-shadow:0 18px 60px rgba(0,0,0,.22); padding:18px 18px 14px; }
.gda-loginmodal__close{ position:absolute; top:10px; right:10px; width:34px; height:34px; border-radius:10px; border:1px solid rgba(0,0,0,.08); background:#fff; font-size:22px; line-height:1; cursor:pointer; }
.gda-loginmodal__title{ font-weight:700; font-size:18px; margin:0 36px 12px 0; }

.gda-loginmodal__form #loginform{ margin:0; }
.gda-loginmodal__form label{ display:block; font-size:13px; margin:0 0 6px; opacity:.9; }
.gda-loginmodal__form input[type="text"],
.gda-loginmodal__form input[type="email"],
.gda-loginmodal__form input[type="password"]{ width:100%; border:1px solid rgba(0,0,0,.14); border-radius:12px; padding:10px 12px; font-size:14px; outline:none; box-shadow:none; }
.gda-loginmodal__form input[type="text"]:focus,
.gda-loginmodal__form input[type="email"]:focus,
.gda-loginmodal__form input[type="password"]:focus{ border-color:rgba(0,0,0,.28); }
.gda-loginmodal__form p{ margin:0 0 10px; }
.gda-loginmodal__form p.forgetmenot{ display:none !important; }
.gda-loginmodal__form p.forgetmenot label{ margin:0; }
.gda-loginmodal__form p.submit{ margin:12px 0 0; }
.gda-loginmodal__form input[type="submit"]{ width:100%; border:0; border-radius:12px; padding:10px 14px; font-weight:700; cursor:pointer; }
.gda-loginmodal__meta{ margin-top:12px; display:flex; justify-content:center; }
.gda-loginmodal__register{ font-size:13px; text-decoration:none; }
.gda-loginmodal__register:hover{ text-decoration:underline; }

/* =========================================================
   PHONE tweaks: tighter spacing between quick cards and blog,
   and shorter blog slider height
   ========================================================= */
@media (max-width: 640px){
  /* Reduce outer padding and the empty space under the header */
  .gda-home{ padding:8px 6px 10px !important; margin-top:-10px !important; }

  /* Theme-level spacing above the content (mobile header -> content gap). */
  body.gda-homepage .site-content,
  body.gda-homepage .site-main,
  body.gda-homepage .content-area,
  body.gda-homepage .primary,
  body.gda-homepage .container,
  body.gda-homepage .hp-page__content,
  body.gda-homepage .entry-content{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  body.gda-homepage .entry-content > :first-child{ margin-top:0 !important; }

  /* Reduce vertical gap between icons block and blog block */
  .gda-top{ gap:4px !important; }

  /* Make the blog block more compact on phones */
  .gda-blog{ padding:10px !important; }
  .gda-blog__head{ margin-bottom:6px !important; }
  .gda-slider{ min-height:156px !important; }
  .gda-slide__inner{ padding:12px 0 46px !important; }
  .gda-slider__controls{ bottom:6px !important; }

  /* On short mobile sliders, keep the overlay lighter and lower to avoid a visible band */
  .gda-slide__media:after{background:linear-gradient(to top,rgba(0,0,0,.90) 0%,rgba(0,0,0,.58) 20%,rgba(0,0,0,.28) 40%,rgba(0,0,0,.08) 58%,rgba(0,0,0,0) 70%,rgba(0,0,0,0) 100%) !important;}
}


/* =========================================================
   DESKTOP tweaks: tighter outer paddings (top + sides)
   ========================================================= */
@media (min-width: 641px){
  /* Reduce empty space under the header (desktop/tablet) */
  body.gda-homepage .site-content,
  body.gda-homepage .site-main,
  body.gda-homepage .content-area,
  body.gda-homepage .primary,
  body.gda-homepage .hp-page__content,
  body.gda-homepage .entry-content{
    margin-top:0 !important;
    padding-top:18px !important;
  }

  /* Reduce side “boxing” so content sits closer to edges */
  body.gda-homepage .site-content{ padding-left:0 !important; padding-right:0 !important; }
  body.gda-homepage .container{
    max-width:none !important;
    width:100% !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }

  /* Tighter padding for the homepage block itself */
  .gda-home{ padding:18px 16px 20px !important; }
}

/* =========================================================
   DESKTOP: SUPER COMPACT top section (quick buttons + blog)
   Goal: bring filters into view without extra scroll.
   ========================================================= */
@media (min-width: 981px){
  /* Reduce overall top padding of the homepage block */
  body.gda-homepage .gda-home{padding-top:12px !important; padding-bottom:16px !important;}

  /* Tighten grid spacing */
  /* Keep layout compact, but don't look cramped */
  body.gda-homepage .gda-top{gap:12px !important;}
  body.gda-homepage .gda-icons{gap:14px !important;}

  /* Quick buttons (cards) */
  body.gda-homepage .gda-icon{
    /* Reduce height by removing wasted white space, not by shrinking content */
    min-height:112px !important;
    padding:10px 12px !important;
    gap:8px !important;
    border-radius:16px !important;
    justify-content:center !important;
  }
  body.gda-homepage .gda-icon img{
    max-width:152px !important;
    max-height:78px !important;
  }
  body.gda-homepage .gda-icon__cap{
    font-size:15px !important;
    line-height:1.15 !important;
  }

  /* Blog card */
  body.gda-homepage .gda-blog{padding:10px !important; border-radius:16px !important;}
  body.gda-homepage .gda-blog__head{margin-bottom:6px !important;}
  body.gda-homepage .gda-blog__title{font-size:16px !important;}
  body.gda-homepage .gda-slider{min-height:248px !important; border-radius:12px !important;}
  body.gda-homepage .gda-slide__inner{padding:10px 0 48px !important;}

  /* Controls a bit smaller */
  body.gda-homepage .gda-slider__controls{bottom:6px !important;}
  body.gda-homepage .gda-nav{width:32px !important; height:32px !important; border-radius:10px !important; font-size:24px !important;}
  body.gda-homepage .gda-dot{width:18px !important; min-width:18px !important; max-width:18px !important; height:7px !important;}
  body.gda-homepage .gda-dot.is-active{width:24px !important; min-width:24px !important; max-width:24px !important;}
}



/* =========================================================
   CARD upgrades: full-card click + favorite heart + rating line
   ========================================================= */
.gda-lcard{
  position: relative;
  isolation: isolate; /* predictable z-index stacking */
}

/* Full-card link (kept behind content; clicks pass through) */
.gda-lcard__link{
  position:absolute;
  inset:0;
  z-index:1;
  border-radius: inherit;
}

/* Make the overlay link clickable everywhere while keeping the heart clickable */
.gda-lcard__thumb,
.gda-lcard__body{
  position:relative;
  z-index:2;
  pointer-events:none;
}

.gda-lcard__top{
  position:relative;
  padding-right:52px; /* reserve space for the heart */
}

.gda-lcard__fav{
  position:absolute;
  right:10px;
  top:6px;
  z-index:3;
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  box-shadow:0 6px 18px rgba(0,0,0,.12);
  text-decoration:none;
  pointer-events:auto;
  cursor:pointer;
}
.gda-lcard__fav .hp-icon{
  font-size:16px;
  line-height:1;
  opacity:.35;
}

/* Active states from HivePress toggle (covers multiple possible classnames) */
.gda-lcard__fav.active .hp-icon,
.gda-lcard__fav.is-active .hp-icon,
.gda-lcard__fav[aria-pressed="true"] .hp-icon,
.gda-lcard__fav[data-state="active"] .hp-icon,
.gda-lcard__fav[data-active="1"] .hp-icon{
  opacity:1;
}

.gda-lcard__line--rating .gda-ico{
  opacity:.9;
}
.gda-lcard__rating{
  display:inline-flex;
  align-items:baseline;
  gap:6px;
}
.gda-lcard__rating-cnt{
  opacity:.8;
  font-size:12px;
}

/* Vendor page grid */
.gda-vendor-wrap{ margin-top:14px; }
.gda-vendor-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:14px;
}
@media (max-width: 1024px){
  .gda-vendor-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .gda-vendor-grid{ grid-template-columns: 1fr; }
}
.gda-vendor-more{
  margin:16px auto 0;
  display:block;
}
