/* Scoped presentation: does not change Elementor, theme, or other shortcodes. */
.gslb-carousel {
  --gslb-gap: 10px;
  --gslb-card-height: 192px;
  --gslb-slide-width: calc((100% - (var(--gslb-gap) * 2)) / 3);
  --gslb-ink: #182027;
  position: relative;
  width: min(var(--gslb-width), 100%);
  max-width: var(--gslb-max-width);
  margin-inline: auto;
  isolation: isolate;
  color: var(--gslb-ink);
  font-family: 'Montserrat', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.gslb-carousel, .gslb-carousel * { box-sizing: border-box; }
.gslb-carousel button, .gslb-carousel a { -webkit-tap-highlight-color: transparent; }
.gslb-viewport {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
  border-radius: 13px;
  outline: none;
  cursor: grab;
}
.gslb-viewport::-webkit-scrollbar { display: none; }
.gslb-viewport:focus-visible { outline: 2px solid #cb9d38; outline-offset: 3px; }
.gslb-viewport.gslb-dragging { cursor: grabbing; scroll-behavior: auto; scroll-snap-type: none; user-select: none; }
.gslb-track { display: flex; align-items: stretch; gap: var(--gslb-gap); }
.gslb-slide {
  flex: 0 0 var(--gslb-slide-width);
  min-width: 0;
  scroll-snap-align: start;
}
.gslb-card {
  position: relative;
  height: var(--gslb-card-height);
  overflow: hidden;
  border-radius: 12px;
  background: #f0e9dc;
  box-shadow: inset 0 0 0 1px rgba(20,30,34,.038);
  transform: translateZ(0);
}
.gslb-card--1 { background: #efe9df; }
.gslb-card--2 { background: #e4e9ee; }
.gslb-card--3 { background: #e8e8e1; }
.gslb-card--4 { background: #121e25; color: #fff; }
.gslb-card-grain {
  position:absolute; inset:0; pointer-events:none; opacity:.23;
  background-image: radial-gradient(rgba(255,255,255,.48) .7px, transparent 1.1px);
  background-size: 8px 8px;
}
.gslb-art {
  position: absolute;
  top: 0; right: 0;
  display: block;
  height: 100%;
  width: var(--gslb-art-width, 53%);
  max-width: none;
  object-fit: cover;
  object-position: right center;
  pointer-events: none;
  user-select: none;
}
.gslb-card--2, .gslb-card--3 { --gslb-art-width: 56%; }
.gslb-card--4 { --gslb-art-width: 55%; }
.gslb-card-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  z-index: 2;
  padding: 23px 16px 24px 23px;
  width: 69%;
  pointer-events: none;
}
.gslb-title {
  max-width: 100%;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  line-height: 1.43 !important;
  letter-spacing: -.36px !important;
  text-transform: none !important;
  margin: 0 !important;
  color: #18242b !important;
  overflow-wrap: break-word;
}
.gslb-subtitle {
  max-width: 100%;
  margin-top: 7px;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  letter-spacing: .01em !important;
  color: #49545b !important;
  overflow-wrap: break-word;
}
.gslb-card--4 .gslb-title { color: #f7f8f7 !important; }
.gslb-card--4 .gslb-subtitle { color: #c5ccd0 !important; }
.gslb-accent-rule {
  width: 28px;
  height: 3px;
  flex: 0 0 3px;
  margin-top: 13px;
  border-radius: 10px;
  background: #cb9d38;
}
.gslb-card--4 .gslb-accent-rule { background: #f1c85b; }
.gslb-card-link { position: absolute; inset: 0; z-index: 3; border-radius: inherit; }
.gslb-card-link:focus-visible { outline: 3px solid #c89a30; outline-offset: -4px; }
.gslb-arrow:focus-visible, .gslb-dot:focus-visible { outline: 2px solid #bd8e29; outline-offset: 3px; }
.gslb-controls {
  position: relative;
  min-height: 35px;
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gslb-dots { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 5px 0; }
.gslb-dot {
  display: block;
  width: 7px;
  height: 7px;
  border: 0 !important;
  border-radius: 100px !important;
  background: #ccd0cf !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: width .25s ease, background .25s ease;
}
.gslb-dot[aria-current="true"] { width: 22px; background: #b9984d !important; }
.gslb-nav { position: absolute; top: 0; right: 0; height: 35px; display:flex; gap:7px; }
.gslb-arrow {
  display: grid;
  place-items: center;
  width: 35px; height: 35px;
  min-width: 35px !important; min-height: 35px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid #d7dcdb !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: #26333a !important;
  cursor: pointer;
  transition: background .2s, border-color .2s, transform .2s;
}
.gslb-arrow:hover { background: #faf6ec !important; border-color: #cbae69 !important; }
.gslb-arrow:active { transform: scale(.95); }
.gslb-carousel.gslb-empty { display: none; }
.gslb-carousel.gslb-no-scroll .gslb-nav, .gslb-carousel.gslb-no-scroll .gslb-dots { display:none; }
@media (max-width: 960px) {
  .gslb-carousel { --gslb-slide-width: calc((100% - var(--gslb-gap)) / 2); --gslb-card-height: 186px; }
}
@media (max-width: 600px) {
  .gslb-carousel { --gslb-gap: 9px; --gslb-slide-width: 100%; --gslb-card-height: 180px; }
  .gslb-card { border-radius: 11px; }
  .gslb-carousel .gslb-card { --gslb-art-width: 54%; }
  .gslb-card-content { width: 70%; padding: 18px 13px 20px 19px; }
  .gslb-title { font-size: 15px !important; }
  .gslb-subtitle { font-size: 11.5px !important; }
  .gslb-controls { margin-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .gslb-viewport { scroll-behavior: auto; }
  .gslb-carousel *, .gslb-carousel *:before, .gslb-carousel *:after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
