/* Eigen verfijningen bovenop de PhoenixSite-styling.
   Geladen op alle pagina's via lib/page.jsx. */

/* Categorieknoppen onder blogartikelen: nette kaartknoppen in plaats van
   kale tekstlinks, in lijn met de kaarten op het blogoverzicht. */
.article-categories__list .row {
  row-gap: 14px;
}

.article-categories__category-button {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 58px;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  color: #333 !important;
  text-align: center;
  text-decoration: none !important;
  line-height: 1.35;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease,
    transform 0.15s ease;
}

.article-categories__category-button:hover {
  border-color: #26a69a;
  color: #26a69a !important;
  box-shadow: 0 6px 16px rgba(38, 166, 154, 0.18);
  transform: translateY(-2px);
}

.article-categories__title {
  font-weight: 700;
}

/* Categoriepagina's (/gitaar/, /piano/, /zang/, ...): berichten als nette
   tegels naast en onder elkaar over de volle breedte, in plaats van één
   lange lijst in een smalle zijkolom. */
.blog-overview-sidebar__wrapper {
  display: block !important;
}

.blog-overview-sidebar__content {
  margin-bottom: 28px;
}

.blog-overview-sidebar__sidebar {
  width: 100% !important;
  max-width: none !important;
}

.blog_overview_element_wrapper .news-units-holder.blog-overview {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 22px;
  width: 100%;
}

.news-units-holder.blog-overview .blog-overview__post {
  margin: 0 !important;
  height: 100%;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.news-units-holder.blog-overview .blog-overview__post:hover {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.16);
  transform: translateY(-2px);
}

/* Contactpagina: twee actiekaarten (e-mail en WhatsApp) naast elkaar. */
.oma-contact-kaarten {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 26px;
  max-width: 880px;
  margin: 0 auto;
}

.oma-contact-kaart {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  padding: 40px 30px 34px;
  text-align: center;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}

.oma-contact-kaart__icoon {
  font-size: 36px;
  color: #26a69a;
  margin-bottom: 14px;
}

.oma-contact-kaart__icoon--wa {
  color: #25d366;
}

.oma-contact-kaart h2 {
  margin: 0 0 12px;
  font-size: 1.35em;
}

.oma-contact-kaart p {
  margin: 0 0 24px;
  color: #555;
  line-height: 1.55;
}

.oma-contact-knop {
  display: inline-block;
  padding: 14px 30px;
  border-radius: 8px;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 600;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.oma-contact-knop--mail {
  background: #d42c30;
}

.oma-contact-knop--wa {
  background: #25d366;
}

.oma-contact-knop:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.oma-contact-kaart__sub {
  margin-top: 14px;
  color: #888;
  font-size: 0.95em;
}

/* Google-reviewbadge: scherpe HTML-versie van de oude ingebakken afbeelding.
   Groot in de homepage-hero, klein (--klein) in de footer. */
.oma-google-badge {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border-radius: 14px;
  padding: 10px 20px 10px 14px;
  text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22);
  line-height: 1.3;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.oma-google-badge:hover {
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.3);
  transform: translateY(-1px);
}

.oma-google-badge__g svg {
  width: 34px;
  height: 34px;
  display: block;
}

.oma-google-badge__tekst {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.oma-google-badge__sterren {
  color: #f6a800;
  font-weight: 700;
  font-size: 17px;
  letter-spacing: 2px;
}

.oma-google-badge__sterren b {
  margin-left: 6px;
  letter-spacing: 0;
}

.oma-google-badge__sub {
  color: #39445a;
  font-weight: 600;
  font-size: 14px;
}

.oma-hero-badge {
  text-align: center;
  margin-top: 16px;
}

/* Footer rechts: badges onder de bedrijvenaward */
.oma-footer-badges {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
}

.oma-google-badge--klein {
  padding: 8px 16px 8px 12px;
  border-radius: 12px;
  gap: 10px;
}

.oma-google-badge--klein .oma-google-badge__g svg {
  width: 26px;
  height: 26px;
}

.oma-google-badge--klein .oma-google-badge__sterren {
  font-size: 14px;
  letter-spacing: 1px;
}

.oma-google-badge--klein .oma-google-badge__sub {
  font-size: 12.5px;
}

/* Vijf instrumentkaarten (home en /over-ons/): allemaal even groot,
   3 boven en 2 gecentreerd eronder. De .flex-box heeft 20px marge van
   Phoenix, vandaar de calc. Onder 900px stapelt Phoenix zelf. */
.oma-vijf-kaarten {
  flex-wrap: wrap;
  justify-content: center;
}

.oma-vijf-kaarten > .flex-box {
  flex: 0 1 calc(33.333% - 40px);
  max-width: calc(33.333% - 40px);
  box-sizing: border-box;
}

.oma-vijf-kaarten .flex-box img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 900px) {
  .oma-vijf-kaarten > .flex-box {
    max-width: none;
    flex-basis: auto;
  }
}

/* ReviewNederland-carousel op de salespagina's, onder het €1-blok */
.oma-rn-carousel {
  max-width: 1170px;
  margin: 0 auto;
  padding: 18px 20px 8px;
}

/* Het €1-blok erboven heeft de standaard Phoenix-sectiepadding van 60px;
   onderin inkorten zodat er minder grijs tussen blok en carousel zit. */
[data-oma-eenauro-blok] .full-row.card-theme-content {
  padding-bottom: 24px !important;
}

/* De widget begrenst zichzelf op 960px maar lijnt links uit; centreren zodat
   de witruimte links en rechts gelijk is. */
.oma-rn-carousel > div > div {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Zichtbare, dunne scrollbalk onder de kaarten, zodat duidelijk is dat er
   meer reviews zijn (de half zichtbare vierde kaart helpt daar ook bij). */
/* Bewust geen scrollbar-width/scrollbar-color: zodra die gezet zijn negeert
   Chrome de ::-webkit-scrollbar-regels en valt hij terug op de onzichtbare
   macOS-overlaybalk. Firefox toont dan een overlaybalk tijdens het scrollen. */
.oma-rn-carousel > div > div > div:last-child {
  padding-bottom: 14px !important;
}

.oma-rn-carousel > div > div > div:last-child::-webkit-scrollbar {
  height: 8px;
}

.oma-rn-carousel > div > div > div:last-child::-webkit-scrollbar-thumb {
  background: #c3cad3;
  border-radius: 999px;
}

.oma-rn-carousel > div > div > div:last-child::-webkit-scrollbar-track {
  background: transparent;
}

/* Leesvoortgangsbalk: het meerijdende (fiets)icoon uit; de balk zelf blijft. */
.read-progress .progress-icon-holder {
  display: none !important;
}

/* Cookievoorkeuren-link onderin de footer */
.oma-consent-footer {
  text-align: center;
  padding: 14px 0 22px;
}

.oma-consent-footer a {
  color: inherit;
  opacity: 0.75;
  font-size: 0.9em;
  text-decoration: underline;
}

.oma-consent-footer a:hover {
  opacity: 1;
}
