:root {
  --lz-color-navy: #213250;
  --lz-color-navy-deep: #16243d;
  --lz-color-sky: #9ac5e8;
  --lz-color-sand: #f2eedd;
  --lz-color-ink: #111827;
  --lz-color-muted: #5c6678;
  --lz-color-line: #dbe2ea;
  --lz-color-white: #fff;
  --lz-color-success: #216e4e;
  --lz-color-warning: #8a4b08;
  --lz-font-display: "Polly Rounded", "Nunito Sans", Arial, sans-serif;
  --lz-font-body: Gotham, Montserrat, Inter, Arial, sans-serif;
  --lz-radius-sm: 8px;
  --lz-radius-md: 14px;
  --lz-radius-lg: 24px;
  --lz-shadow-sm: 0 10px 28px rgba(33, 50, 80, 0.09);
  --lz-shadow-md: 0 18px 50px rgba(33, 50, 80, 0.15);
  --lz-container: 1240px;
}

.localizator-skin {
  color: var(--lz-color-ink);
  font-family: var(--lz-font-body);
}

.localizator-skin h1,
.localizator-skin h2,
.localizator-skin h3,
.localizator-skin h4,
.localizator-skin .mag-box-title {
  color: var(--lz-color-navy);
  font-family: var(--lz-font-display);
  font-weight: 800;
  letter-spacing: -0.025em;
}

.localizator-skin a { color: var(--lz-color-navy); }
.localizator-skin a:hover { color: #0e4c73; }
.localizator-skin .main-nav,
.localizator-skin #main-nav { background: var(--lz-color-navy); }
.localizator-skin #main-nav .menu > li > a { color: var(--lz-color-white); }
.localizator-skin #main-nav .menu > li > a:hover,
.localizator-skin #main-nav .menu > li.current-menu-item > a { background: rgba(154, 197, 232, 0.18); }
.localizator-skin .top-nav { background: var(--lz-color-sand); color: var(--lz-color-navy); }

.lz-main { background: var(--lz-color-white); }
.lz-container { width: min(calc(100% - 32px), var(--lz-container)); margin-inline: auto; }
.lz-section { padding-block: clamp(56px, 7vw, 96px); }
.lz-section--compact { padding-block: clamp(36px, 5vw, 64px); }
.lz-section--sand { background: var(--lz-color-sand); }
.lz-section--navy { background: var(--lz-color-navy); color: var(--lz-color-white); }
.lz-section--navy h2,
.lz-section--navy h3 { color: var(--lz-color-white); }

.lz-eyebrow {
  color: var(--lz-color-navy);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.lz-eyebrow::before { content: ""; width: 28px; height: 4px; border-radius: 2px; background: var(--lz-color-sky); }
.lz-section-title { max-width: 760px; font-size: clamp(2rem, 4vw, 3.35rem); line-height: 1.06; margin: 12px 0 18px; }
.lz-section-lead { max-width: 720px; color: var(--lz-color-muted); font-size: clamp(1.05rem, 1.5vw, 1.22rem); line-height: 1.65; }
.lz-section--navy .lz-section-lead { color: rgba(255, 255, 255, 0.78); }

.lz-hero { position: relative; overflow: hidden; padding: clamp(58px, 8vw, 112px) 0; background: linear-gradient(135deg, var(--lz-color-sand) 0 56%, #fff 56%); }
.lz-hero::after {
  content: "";
  position: absolute;
  inset: auto -8vw -23vw auto;
  width: min(48vw, 620px);
  aspect-ratio: 1;
  border-radius: 50% 0 0 0;
  background: var(--lz-color-sky);
  opacity: 0.35;
}
.lz-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr); gap: clamp(36px, 6vw, 88px); align-items: center; }
.lz-hero__title { font-size: clamp(2.75rem, 6.3vw, 5.8rem); line-height: 0.98; max-width: 880px; margin: 12px 0 24px; }
.lz-hero__title em { color: #0e4c73; font-style: normal; }
.lz-hero__copy { max-width: 680px; color: #344055; font-size: clamp(1.08rem, 1.6vw, 1.28rem); line-height: 1.65; }
.lz-hero__card { position: relative; min-height: 430px; display: grid; place-items: center; border-radius: 48px 48px 48px 8px; background: var(--lz-color-navy); box-shadow: var(--lz-shadow-md); overflow: hidden; }
.lz-hero__card::before { content: ""; position: absolute; inset: 0; background: url("../images/localizator-pattern.png") center/cover; opacity: 0.23; }
.lz-hero__logo { position: relative; z-index: 1; width: min(78%, 430px); height: auto; filter: drop-shadow(0 8px 16px rgba(0,0,0,.16)); }

.lz-search { display: flex; gap: 10px; max-width: 760px; padding: 8px; margin-top: 30px; border: 1px solid rgba(33, 50, 80, 0.14); border-radius: 18px; background: var(--lz-color-white); box-shadow: var(--lz-shadow-sm); }
.lz-search label { flex: 1; margin: 0; }
.lz-search input[type="search"] { width: 100%; min-height: 48px; border: 0; padding: 0 16px; background: transparent; font: inherit; color: var(--lz-color-ink); }
.lz-search input[type="search"]:focus { outline: 3px solid rgba(33, 50, 80, .25); outline-offset: 2px; border-radius: 10px; }

.lz-button,
.localizator-skin .lz-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 20px;
  border: 2px solid var(--lz-color-navy);
  border-radius: 12px;
  background: var(--lz-color-navy);
  color: var(--lz-color-white);
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.lz-button:hover { transform: translateY(-2px); box-shadow: var(--lz-shadow-sm); color: var(--lz-color-white); background: var(--lz-color-navy-deep); }
.lz-button--sky { border-color: var(--lz-color-sky); background: var(--lz-color-sky); color: var(--lz-color-navy); }
.lz-button--sky:hover { color: var(--lz-color-navy); background: #aed3ef; }
.lz-button--ghost { background: transparent; color: var(--lz-color-navy); }
.lz-button--ghost:hover { background: var(--lz-color-sand); color: var(--lz-color-navy); }
.lz-button--light { border-color: var(--lz-color-white); background: var(--lz-color-white); color: var(--lz-color-navy); }
.lz-button--light:hover { color: var(--lz-color-navy); background: var(--lz-color-sand); }

.lz-grid { display: grid; gap: 24px; }
.lz-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lz-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lz-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

.lz-category-card,
.lz-merchant-card { display: flex; flex-direction: column; min-height: 100%; border: 1px solid var(--lz-color-line); border-radius: var(--lz-radius-lg); background: var(--lz-color-white); overflow: hidden; box-shadow: 0 8px 24px rgba(33,50,80,.06); transition: transform .2s ease, box-shadow .2s ease; }
.lz-category-card:hover,
.lz-merchant-card:hover { transform: translateY(-4px); box-shadow: var(--lz-shadow-md); }
.lz-category-card { padding: 28px; background: linear-gradient(145deg, #fff 40%, var(--lz-color-sand)); }
.lz-category-card__count { margin-top: auto; color: var(--lz-color-muted); font-size: .9rem; }
.lz-merchant-card__media { display: block; aspect-ratio: 3 / 2; background: var(--lz-color-sand); overflow: hidden; }
.lz-merchant-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.lz-merchant-card:hover .lz-merchant-card__media img { transform: scale(1.03); }
.lz-merchant-card__body { display: flex; flex-direction: column; flex: 1; padding: 22px; }
.lz-merchant-card__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; color: var(--lz-color-muted); font-size: .82rem; }
.lz-merchant-card__title { margin: 0 0 8px; font-size: 1.35rem; line-height: 1.15; }
.lz-merchant-card__excerpt { color: var(--lz-color-muted); line-height: 1.55; }
.lz-merchant-card__link { margin-top: auto; padding-top: 16px; font-weight: 800; }

.lz-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 4px 9px; border-radius: 999px; background: var(--lz-color-sand); color: var(--lz-color-navy); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.lz-badge--sponsored { background: #fff4db; color: #70410b; }
.lz-badge--open { background: #e0f3e9; color: var(--lz-color-success); }

.lz-pricing { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.lz-price-card { padding: clamp(30px, 5vw, 56px); border-radius: 32px 32px 32px 8px; background: var(--lz-color-white); color: var(--lz-color-ink); box-shadow: var(--lz-shadow-md); }
.lz-price { display: flex; align-items: flex-start; color: var(--lz-color-navy); font-family: var(--lz-font-display); font-weight: 900; line-height: 1; }
.lz-price__currency { padding-top: 10px; font-size: 1.25rem; }
.lz-price__amount { font-size: clamp(3.8rem, 7vw, 6.4rem); letter-spacing: -.06em; }
.lz-price__period { align-self: flex-end; padding-bottom: 12px; color: var(--lz-color-muted); font-size: 1rem; }
.lz-feature-list { display: grid; gap: 13px; padding: 0; margin: 26px 0; list-style: none; }
.lz-feature-list li { display: flex; gap: 10px; align-items: flex-start; }
.lz-feature-list li::before { content: "✓"; flex: 0 0 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--lz-color-sky); color: var(--lz-color-navy); font-weight: 900; }

.lz-empty { padding: 36px; border: 1px dashed #aeb8c5; border-radius: var(--lz-radius-md); background: #fff; color: var(--lz-color-muted); text-align: center; }
.lz-pagination { margin-top: 36px; }

.lz-merchant-hero { padding: clamp(44px, 6vw, 82px) 0; background: linear-gradient(135deg, var(--lz-color-navy) 0 68%, #0e4c73 68%); color: var(--lz-color-white); }
.lz-merchant-hero h1 { color: var(--lz-color-white); font-size: clamp(2.5rem, 5vw, 4.7rem); margin: 12px 0 16px; }
.lz-merchant-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); gap: 40px; align-items: center; }
.lz-merchant-hero__image { aspect-ratio: 4 / 3; border-radius: 28px 28px 28px 8px; overflow: hidden; background: var(--lz-color-sand); }
.lz-merchant-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.lz-merchant-hero .lz-eyebrow { color: var(--lz-color-sky); }
.lz-merchant-hero__summary { color: rgba(255,255,255,.82); font-size: 1.16rem; line-height: 1.65; }
.lz-merchant-layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: clamp(28px, 5vw, 60px); align-items: start; }
.lz-panel { padding: clamp(24px, 4vw, 40px); border: 1px solid var(--lz-color-line); border-radius: var(--lz-radius-lg); background: var(--lz-color-white); box-shadow: var(--lz-shadow-sm); }
.lz-panel + .lz-panel { margin-top: 24px; }
.lz-facts { display: grid; gap: 18px; margin: 0; }
.lz-fact { padding-bottom: 16px; border-bottom: 1px solid var(--lz-color-line); }
.lz-fact:last-child { border-bottom: 0; padding-bottom: 0; }
.lz-fact dt { color: var(--lz-color-muted); font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.lz-fact dd { margin: 5px 0 0; color: var(--lz-color-ink); line-height: 1.5; }
.lz-sticky { position: sticky; top: 110px; }

.lz-presentation-hero { min-height: 65vh; display: grid; align-items: center; position: relative; overflow: hidden; background: var(--lz-color-sand); }
.lz-presentation-hero::before { content: ""; position: absolute; inset: 0 0 0 54%; background: var(--lz-color-navy) url("../images/localizator-pattern.png") center/cover; opacity: .98; }
.lz-presentation-hero__content { position: relative; z-index: 1; width: min(100%, 720px); padding-block: 84px; }
.lz-presentation-hero h1 { font-size: clamp(3rem, 6vw, 5.6rem); line-height: .98; }
.lz-kicker-card { padding: 22px; border-left: 6px solid var(--lz-color-sky); background: rgba(255,255,255,.88); }

.lz-prose { font-size: 1.08rem; line-height: 1.75; }
.lz-prose > * + * { margin-top: 1.2em; }
.lz-skip-link { position: fixed; top: 8px; left: 8px; z-index: 999999; transform: translateY(-180%); padding: 12px 16px; background: var(--lz-color-navy); color: #fff; }
.lz-skip-link:focus { transform: translateY(0); color: #fff; }

.localizator-skin :focus-visible { outline: 3px solid var(--lz-color-navy); outline-offset: 3px; }
.lz-section--navy :focus-visible,
.lz-merchant-hero :focus-visible { outline-color: var(--lz-color-white); box-shadow: 0 0 0 6px var(--lz-color-sky); }

@media (max-width: 1024px) {
  .lz-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lz-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lz-hero__grid,
  .lz-pricing,
  .lz-merchant-hero__grid,
  .lz-merchant-layout { grid-template-columns: 1fr; }
  .lz-sticky { position: static; }
  .lz-hero__card { min-height: 340px; }
}

@media (max-width: 640px) {
  .lz-container { width: min(calc(100% - 24px), var(--lz-container)); }
  .lz-grid--4,
  .lz-grid--3 { grid-template-columns: 1fr; }
  .lz-search { flex-direction: column; }
  .lz-search .lz-button { width: 100%; }
  .lz-hero { background: var(--lz-color-sand); }
  .lz-hero__card { min-height: 260px; border-radius: 28px 28px 28px 8px; }
  .lz-presentation-hero::before { inset: 62% 0 0; opacity: .18; }
  .lz-actions .lz-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media print {
  .lz-search, .lz-actions, .lz-button { display: none !important; }
  .lz-section, .lz-hero, .lz-merchant-hero { padding-block: 24px; background: #fff !important; color: #000 !important; }
  .lz-merchant-hero h1 { color: #000; }
}

