.points-module {
  display: grid;
  grid-template-columns: minmax(200px, 300px) minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px 32px;
  box-sizing: border-box;
  max-width: 1120px;
  margin: 0 auto;
  padding: clamp(16px, 2vw, 20px) clamp(24px, 3vw, 36px) clamp(16px, 2vw, 20px) clamp(16px, 2vw, 20px);
  overflow: hidden;
  border: 1px solid #dce4e2;
  border-radius: 12px;
  background: #f5f7f6;
  color: #26313f;
  text-align: left;
  font-family: Inter, sans-serif;
  line-height: 1.6;
  scroll-margin-top: 100px;
}
.points-module h2 {
  margin: 0 0 8px;
  color: #172e3a;
  font-size: clamp(22px, 2.5vw, 30px);
  line-height: 1.2;
  letter-spacing: -.025em;
}
.points-module p { margin: 0; }
.points-module .points-image {
  grid-row: span 1;
  width: 100%;
  height: 100%;
  min-height: 180px;
  object-fit: cover;
  border-radius: 8px;
}
.points-copy p { max-width: 620px; font-size: 14px; }
.points-module .points-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-sizing: border-box;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 8px;
  background: #006e61;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.points-module .points-cta:hover { background: #005449; }
.points-module .points-media { position: relative; display: block; overflow: hidden; }
.points-module .points-media img:first-child { width: 100%; height: 100%; object-fit: cover; }
.points-module .points-media-logo {
  position: absolute;
  left: 14px;
  bottom: 14px;
  width: 180px;
  height: auto;
  border: 2px solid #fff;
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
}
.points-module--bahia .points-cta { background: #0b3b5c; }
.points-module--bahia .points-cta:hover { background: #082c45; }
.points-module--barcelo .points-cta { background: #2f3537; }
.points-module--barcelo .points-cta:hover { background: #1c2022; }
.points-module--barcelo .points-media-logo { width: 120px; }
.points-module + .points-module { margin-top: 20px; }
.points-module .points-cta:focus-visible { outline: 3px solid #bd611b; outline-offset: 4px; }
@media (min-width: 721px) and (max-width: 960px) {
  .points-module { grid-template-columns: minmax(180px, 260px) minmax(0, 1fr); }
  .points-module .points-image { grid-row: span 2; }
  .points-module .points-cta { justify-self: start; }
}
@media (max-width: 720px) {
  .points-module { grid-template-columns: 1fr; gap: 18px; padding: 0 20px 24px; }
  .points-module .points-image { grid-row: auto; width: auto; max-width: none; justify-self: stretch; height: 180px; min-height: 0; margin: 0 -20px; border-radius: 0; }
  .points-module .points-cta { width: 100%; }
}
.points-module .airhelp-widget { width: 330px; max-width: 100%; }
@media (min-width: 721px) and (max-width: 960px) {
  .points-module .airhelp-widget { justify-self: start; }
}
@media (max-width: 720px) {
  .points-module .airhelp-widget { width: 100%; }
}
.points-module--kiwitaxi { grid-template-columns: minmax(180px, 240px) minmax(0, 1fr) 360px; }
.points-module .kiwitaxi-widget { width: 360px; max-width: 100%; }
@media (min-width: 721px) and (max-width: 960px) {
  .points-module--kiwitaxi { grid-template-columns: minmax(180px, 260px) minmax(0, 1fr); }
  .points-module .kiwitaxi-widget { justify-self: start; }
}
@media (max-width: 720px) {
  .points-module--kiwitaxi { grid-template-columns: 1fr; }
  .points-module .kiwitaxi-widget { width: 100%; }
}
