/* Shared Akvalang.eu button and link polish. Loaded last so every page follows one visual language. */
a,
a:hover,
a:focus,
a:active,
a:visited,
button,
button:hover,
button:focus,
button:active {
  text-decoration: none !important;
}

button,
[role="button"] {
  -webkit-tap-highlight-color: transparent;
}

/* Primary actions: blue water gradient, soft glow, generous touch target. */
.btn-primary,
.documents-page-action,
.admin-save,
.admin-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  padding: 0 20px;
  color: #06213a !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(125deg, #3977ff 0%, #58c6ff 52%, #62e7ff 100%) !important;
  box-shadow: 0 12px 28px rgba(57, 119, 255, .2), inset 0 1px 0 rgba(255,255,255,.38);
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.1;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

.btn-primary:hover,
.documents-page-action:hover,
.admin-save:hover:not(:disabled),
.admin-add:hover {
  color: #031a32 !important;
  transform: translateY(-2px);
  filter: saturate(1.08) brightness(1.04);
  box-shadow: 0 17px 34px rgba(57, 119, 255, .3), inset 0 1px 0 rgba(255,255,255,.46);
}

.btn-primary:active,
.documents-page-action:active,
.admin-save:active:not(:disabled),
.admin-add:active {
  transform: translateY(0);
}

.btn-primary:focus-visible,
.documents-page-action:focus-visible,
.admin-save:focus-visible,
.admin-add:focus-visible {
  outline: 2px solid #55ddff;
  outline-offset: 3px;
}

/* Secondary actions use the same glass treatment as the navigation. */
.btn-ghost {
  min-height: 48px;
  padding: 0 20px;
  border-radius: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

/* Compact actions inside cards keep their hierarchy without looking like plain links. */
.course-card-footer button,
.schedule-shell button,
.doc-card button {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 13px;
  color: var(--aqua) !important;
  border: 1px solid rgba(102, 181, 255, .28);
  border-radius: 11px;
  background: rgba(57, 119, 255, .1);
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
}

.course-card-footer button:hover,
.schedule-shell button:hover,
.doc-card button:hover {
  color: #06213a !important;
  border-color: #55ddff;
  background: linear-gradient(110deg, #66b5ff, #55ddff);
  transform: translateY(-1px);
}

/* Small CMS controls remain compact but inherit the blue-cyan palette. */
.admin-leads-filters button,
.admin-lead-actions button {
  border-radius: 10px;
  font-weight: 800;
  transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
}

.admin-leads-filters button:hover,
.admin-leads-filters button.is-active,
.admin-lead-actions button:hover {
  transform: translateY(-1px);
}

@media (max-width: 600px) {
  .btn-primary,
  .btn-ghost,
  .documents-page-action {
    min-height: 46px;
    padding-inline: 17px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn-primary,
  .btn-ghost,
  .documents-page-action,
  .admin-save,
  .admin-add,
  .course-card-footer button,
  .schedule-shell button,
  .doc-card button {
    transition: none;
  }
}

/* Supplied Akvalang icon: make the mark more prominent beside the wordmark. */
.brand-mark.logo-image {
  width: 56px;
  height: 56px;
  flex-basis: 56px;
}

.brand-mark.logo-image .brand-logo-image {
  width: 56px;
  height: 56px;
}

.site-footer-mark .brand-mark-icon.logo-image {
  width: 50px;
  height: 50px;
  flex-basis: 50px;
}

.site-footer-mark .footer-logo-image {
  width: 50px;
  height: 50px;
}

@media (max-width: 640px) {
  .brand-mark.logo-image,
  .brand-mark.logo-image .brand-logo-image {
    width: 52px;
    height: 52px;
  }

  .brand-mark.logo-image {
    flex-basis: 52px;
  }
}

/* Keep FAQ headings and intro copy readable on the light FAQ surfaces. */
.owd-faq .owd-section-head h2,
.aowd-faq .aowd-section-head h2,
.finswim-faq .finswim-section-head h2,
.freedive-faq .freedive-section-head h2,
.sportdive-faq .sportdive-section-head h2,
.additional-faq .additional-section-head h2,
.discover-faq .discover-format-head h2,
.swim-faq .swim-section-head h2 {
  color: var(--owd-ink, #102b40) !important;
}

.aowd-faq .aowd-section-head h2 { color: var(--aowd-ink, #102b40) !important; }
.finswim-faq .finswim-section-head h2 { color: var(--fin-ink, #102b40) !important; }
.freedive-faq .freedive-section-head h2 { color: var(--free-ink, #102b40) !important; }
.sportdive-faq .sportdive-section-head h2 { color: var(--dive-ink, #102b40) !important; }
.additional-faq .additional-section-head h2 { color: var(--add-ink, #102b40) !important; }
.discover-faq .discover-format-head h2 { color: var(--discover-ink, #102b40) !important; }
.swim-faq .swim-section-head h2 { color: var(--swim-ink, #102b40) !important; }

.owd-faq .owd-section-head p,
.aowd-faq .aowd-section-head p,
.finswim-faq .finswim-section-head p,
.freedive-faq .freedive-section-head p,
.sportdive-faq .sportdive-section-head p,
.additional-faq .additional-section-head p,
.discover-faq .discover-format-head p,
.swim-faq .swim-section-head p {
  color: #708696 !important;
}

.course-card-empty {
  height: 220px;
  background: radial-gradient(circle at 25% 20%, rgba(99, 227, 255, .35), transparent 28%), linear-gradient(145deg, #114a73, #071d35 72%);
}
