/* Zoomag r21 — public content pages: contact, blog, brands, sitemap */

:root {
  --zm21-green: #1d7249;
  --zm21-green-dark: #12462f;
  --zm21-green-soft: #eef8f2;
  --zm21-orange: #f28a32;
  --zm21-orange-soft: #fff1e3;
  --zm21-cream: #fffaf4;
  --zm21-navy: #21334f;
  --zm21-text: #263648;
  --zm21-muted: #68778a;
  --zm21-line: #e8e0d8;
  --zm21-shadow: 0 16px 40px rgba(37,50,68,.08);
}

.zm-public-page {
  background: linear-gradient(180deg, #fffaf4 0%, #fff 55%, #f7faf8 100%);
  color: var(--zm21-text);
  padding: 22px 0 54px;
}
.zm-public-page__container {
  width: min(92vw, 1720px);
  margin: 0 auto;
}
.zm-public-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0 0 18px;
  font-size: 14px;
}
.zm-public-breadcrumbs a { color: #5c6b7e; text-decoration: none; font-weight: 650; }
.zm-public-breadcrumbs a:hover { color: var(--zm21-green); }
.zm-public-breadcrumbs__sep { color: #a8b0b8; }

.zm-page-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  padding: 30px 34px;
  margin-bottom: 22px;
  border: 1px solid var(--zm21-line);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(242,138,50,.12), transparent 28%),
    linear-gradient(135deg, #fff 0%, #fff9f3 100%);
  box-shadow: var(--zm21-shadow);
}
.zm-page-hero__eyebrow {
  display: inline-block;
  margin-bottom: 8px;
  color: var(--zm21-green);
  font-size: 13px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.zm-page-hero h1 { margin: 0 0 10px; color: var(--zm21-navy); font-size: clamp(2rem, 3vw, 3.1rem); line-height: 1.08; }
.zm-page-hero p { margin: 0; color: var(--zm21-muted); font-size: 16px; line-height: 1.55; max-width: 76ch; }
.zm-page-hero__badge {
  flex: 0 0 auto;
  padding: 12px 16px;
  border-radius: 999px;
  color: #a45415;
  background: var(--zm21-orange-soft);
  font-weight: 800;
}

.zm-public-btn {
  min-height: 48px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 13px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.zm-public-btn--primary { background: linear-gradient(135deg, #258055, #196940); color: #fff; box-shadow: 0 8px 18px rgba(29,114,73,.18); }
.zm-public-link { color: var(--zm21-green); text-decoration: none; font-weight: 800; }
.zm-public-link:hover { color: var(--zm21-orange); }

/* BLOG */
.zm-blog-tools {
  display: grid;
  grid-template-columns: minmax(300px, 1.4fr) minmax(180px, .55fr) auto minmax(210px, .65fr);
  align-items: end;
  gap: 14px;
  margin: 0 0 24px;
  padding: 18px;
  border: 1px solid var(--zm21-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(37,50,68,.05);
}
.zm-blog-search, .zm-blog-select { display: grid; gap: 7px; }
.zm-blog-search > span, .zm-blog-select > span { font-size: 13px; font-weight: 800; color: #58687a; }
.zm-blog-search input, .zm-blog-select select {
  width: 100%; min-height: 48px; border: 1px solid #dce4df; border-radius: 12px; background: #fff; color: var(--zm21-text); font-size: 15px; padding: 0 14px; outline: 0;
}
.zm-blog-search input:focus, .zm-blog-select select:focus { border-color: rgba(29,114,73,.5); box-shadow: 0 0 0 3px rgba(29,114,73,.08); }
.zm-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.zm-blog-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--zm21-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(37,50,68,.07);
}
.zm-blog-card__media { height: 250px; display: flex; align-items: center; justify-content: center; background: linear-gradient(145deg,#f8faf9,#fff6ed); overflow: hidden; }
.zm-blog-card__media img { width: 100%; height: 100%; object-fit: cover; }
.zm-blog-card__fallback { font-size: 64px; }
.zm-blog-card__body { flex: 1; display: flex; flex-direction: column; padding: 18px 20px 20px; }
.zm-blog-card__meta { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; color: #7a8795; font-size: 13px; }
.zm-blog-card h2 { margin: 0 0 10px; font-size: 21px; line-height: 1.25; }
.zm-blog-card h2 a { color: var(--zm21-navy); text-decoration: none; }
.zm-blog-card p { margin: 0 0 18px; color: #5f6d7d; font-size: 15px; line-height: 1.55; }
.zm-blog-card__footer { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.zm-blog-card__comments { color: #8a95a1; font-size: 12px; }
.zm-blog-pagination { margin-top: 26px; }
.zm-public-empty { text-align: center; padding: 50px 24px; background:#fff; border:1px solid var(--zm21-line); border-radius:22px; }

/* CONTACT — neutralize old fantasy low-contrast styles */
#information-contact.zc-container {
  width: min(92vw, 1640px) !important;
  max-width: 1640px !important;
  margin: 22px auto 48px !important;
  color: var(--zm21-text) !important;
}
#information-contact .zc-page { color: var(--zm21-text) !important; background: transparent !important; }
#information-contact .zc-bg { display: none !important; }
#information-contact :where(.zc-title,.zc-panelTitle,.zc-cardTitle,.zc-brandName) { color: var(--zm21-navy) !important; opacity: 1 !important; }
#information-contact :where(.zc-subtitle,.zc-panelDesc,.zc-cardHint,.zc-kudoText,.zc-footerText,.zc-actionsHint) { color: #5f6e80 !important; opacity: 1 !important; }
#information-contact .zc-hero,
#information-contact .zc-card,
#information-contact .zc-panel,
#information-contact .zc-footer {
  border: 1px solid var(--zm21-line) !important;
  background: #fff !important;
  box-shadow: var(--zm21-shadow) !important;
  backdrop-filter: none !important;
}
#information-contact .zc-hero { padding: 28px 32px !important; border-radius: 24px !important; }
#information-contact .zc-grid { gap: 16px !important; }
#information-contact .zc-card { border-radius: 18px !important; padding: 20px !important; }
#information-contact .zc-panel { border-radius: 24px !important; margin-top: 20px !important; overflow: visible !important; }
#information-contact .zc-panelGrid { grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr) !important; gap: 28px !important; padding: 28px !important; }
#information-contact .zc-panelTitle { font-size: 28px !important; }
#information-contact .zc-panelDesc, #information-contact .zc-kudoText { font-size: 15px !important; line-height: 1.55 !important; }
#information-contact .zc-kudoRow { background: #f8faf9 !important; border: 1px solid #e3ebe6 !important; }
#information-contact .zc-input {
  min-height: 52px !important; border: 1px solid #d6e1da !important; background: #fff !important; color: var(--zm21-text) !important; font-size: 15px !important; box-shadow: none !important;
}
#information-contact .zc-textarea { min-height: 160px !important; }
#information-contact .zc-label { color: #6b7886 !important; background: #fff !important; }
#information-contact .zc-consent, #information-contact .zc-consent span { color: #4f6072 !important; opacity: 1 !important; }
#information-contact .zc-consent a { color: var(--zm21-green) !important; }
#information-contact .zc-submit {
  min-height: 54px !important;
  padding: 0 26px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg,#258055,#196940) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 850 !important;
  box-shadow: 0 9px 20px rgba(29,114,73,.20) !important;
  filter: none !important;
}
#information-contact .zc-submit::before { display:none !important; }
#information-contact .zc-submitText, #information-contact .zc-submitIcon { color:#fff !important; opacity:1 !important; }
#information-contact .zc-submitIcon { font-size: 16px !important; }
#information-contact .zc-actionsHint { font-size: 13px !important; }
#information-contact .zc-footer { padding: 18px 22px !important; }

/* BRANDS */
#product-manufacturer.zm-brand-directory {
  width: min(92vw, 1720px) !important;
  max-width: 1720px !important;
  margin: 22px auto 50px !important;
  color: var(--zm21-text) !important;
}
#product-manufacturer .zm-brands-hero {
  padding: 30px 34px !important;
  border-radius: 24px !important;
  border: 1px solid var(--zm21-line) !important;
  background: linear-gradient(135deg,#fff,#fff8f1) !important;
  box-shadow: var(--zm21-shadow) !important;
}
#product-manufacturer .zm-brands-hero h1 { color:var(--zm21-navy) !important; }
#product-manufacturer .zm-brands-index { top: 8px !important; gap: 8px !important; padding: 12px !important; background: rgba(255,255,255,.96) !important; border:1px solid #e0e7e2 !important; box-shadow: 0 8px 22px rgba(37,50,68,.06) !important; }
#product-manufacturer .zm-brands-index__link { min-width: 40px !important; min-height: 40px !important; padding: 0 12px !important; color: var(--zm21-green-dark) !important; }
#product-manufacturer .zm-brands-sections { gap: 16px !important; }
#product-manufacturer .zm-brands-section { padding: 18px !important; border-radius: 20px !important; background:#fff !important; border:1px solid var(--zm21-line) !important; }
#product-manufacturer .zm-brands-section__head h2 { color:var(--zm21-navy) !important; font-size:24px !important; }
#product-manufacturer .zm-brands-grid,
#product-manufacturer .zm-brands-grid.is-single {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  justify-content: stretch !important;
  gap: 14px !important;
}
#product-manufacturer .zm-brand-card,
#product-manufacturer .zm-brand-card.is-single {
  min-width: 0 !important; min-height: 210px !important; padding: 14px !important; border-radius:18px !important; background:#fff !important; border:1px solid #e2e8e4 !important; box-shadow:0 7px 18px rgba(37,50,68,.05) !important;
}
#product-manufacturer .zm-brand-card__logo,
#product-manufacturer .zm-brand-card.is-single .zm-brand-card__logo {
  min-height: 132px !important; height:132px !important; padding:12px !important; border-radius:14px !important; background:#fafbf9 !important; border:1px solid #edf0ee !important;
}
#product-manufacturer .zm-brand-card__logo img,
#product-manufacturer .zm-brand-card.is-single .zm-brand-card__logo img {
  width:auto !important; height:auto !important; max-width:92% !important; max-height:108px !important; object-fit:contain !important; transform:none !important;
}
#product-manufacturer .zm-brand-card__meta { display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; align-items:end !important; gap:4px 12px !important; }
#product-manufacturer .zm-brand-card__name { color:var(--zm21-navy) !important; font-size:16px !important; overflow-wrap:normal !important; word-break:normal !important; }
#product-manufacturer .zm-brand-card__count { color:#7a8794 !important; font-size:12px !important; }
#product-manufacturer .zm-brand-card__cta { grid-column:2; grid-row:1 / span 2; align-self:center !important; color:var(--zm21-orange) !important; font-size:13px !important; }

/* SITEMAP */
#information-sitemap.zm-sitemap-2026 {
  width: min(92vw, 1720px) !important;
  max-width: 1720px !important;
  margin: 22px auto 52px !important;
  padding: 0 !important;
}
#information-sitemap .zm-sitemap-panel {
  padding: 28px !important;
  border:1px solid var(--zm21-line) !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:var(--zm21-shadow) !important;
}
#information-sitemap .zm-sitemap-hero { margin-bottom:22px !important; text-align:left !important; }
#information-sitemap .zm-sitemap-title { color:var(--zm21-navy) !important; font-size:clamp(2rem,3vw,3rem) !important; }
#information-sitemap .zm-sitemap-tagline { color:var(--zm21-muted) !important; font-size:16px !important; }
#information-sitemap .zm-sitemap-searchbar { max-width:720px !important; margin:18px 0 14px !important; }
#information-sitemap .zm-sitemap-search { border:1px solid #dbe5df !important; background:#fff !important; box-shadow:none !important; border-radius:14px !important; }
#information-sitemap #zmSitemapSearch { min-height:50px !important; color:var(--zm21-text) !important; font-size:15px !important; }
#information-sitemap .zm-sitemap-chips { justify-content:flex-start !important; gap:8px !important; }
#information-sitemap .zm-sitemap-chip { min-height:38px !important; padding:0 12px !important; border:1px solid #e0e7e2 !important; border-radius:999px !important; background:#f8faf9 !important; color:#405264 !important; font-weight:700 !important; }
#information-sitemap .petz-sitemap-uniq-grid { --bs-gutter-x:18px !important; }
#information-sitemap .petz-sitemap-uniq-column > .petz-sitemap-uniq-list { display:grid !important; gap:12px !important; padding:0 !important; }
#information-sitemap .petz-sitemap-uniq-category-section,
#information-sitemap .petz-sitemap-uniq-special-section,
#information-sitemap .petz-sitemap-uniq-blog-section,
#information-sitemap .petz-sitemap-uniq-brand-section,
#information-sitemap .petz-sitemap-uniq-info-section {
  margin:0 !important; padding:16px 18px !important; border:1px solid #e2e8e4 !important; border-radius:16px !important; background:#fbfcfb !important; box-shadow:none !important;
}
#information-sitemap .petz-sitemap-uniq-main-link,
#information-sitemap .petz-sitemap-uniq-special-link { color:var(--zm21-navy) !important; font-size:17px !important; font-weight:850 !important; text-decoration:none !important; }
#information-sitemap .petz-sitemap-uniq-sublist { margin-top:10px !important; padding-left:14px !important; }
#information-sitemap .petz-sitemap-uniq-sublink,
#information-sitemap .petz-sitemap-uniq-subsublink { color:#566678 !important; font-size:14px !important; line-height:1.6 !important; text-decoration:none !important; }
#information-sitemap .petz-sitemap-uniq-sublink:hover,
#information-sitemap .petz-sitemap-uniq-subsublink:hover { color:var(--zm21-green) !important; }

@media (max-width: 1199px) {
  .zm-blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .zm-blog-tools { grid-template-columns: 1fr 1fr; }
  #information-contact .zc-panelGrid { grid-template-columns:1fr !important; }
}
@media (max-width: 767px) {
  .zm-public-page__container, #information-contact.zc-container, #product-manufacturer.zm-brand-directory, #information-sitemap.zm-sitemap-2026 { width:calc(100vw - 24px) !important; }
  .zm-page-hero { align-items:flex-start; flex-direction:column; padding:22px; border-radius:18px; }
  .zm-blog-grid { grid-template-columns:1fr; }
  .zm-blog-tools { grid-template-columns:1fr; padding:14px; }
  .zm-blog-card__media { height:220px; }
  #product-manufacturer .zm-brands-grid, #product-manufacturer .zm-brands-grid.is-single { grid-template-columns:1fr !important; }
  #product-manufacturer .zm-brand-card__meta { grid-template-columns:1fr !important; }
  #product-manufacturer .zm-brand-card__cta { grid-column:1 !important; grid-row:auto !important; }
  #information-sitemap .zm-sitemap-panel { padding:18px !important; }
  #information-sitemap .petz-sitemap-uniq-grid > [class*='col-'] { width:100% !important; }
  #information-contact .zc-panelGrid { padding:18px !important; }
}
