.swfl-design-c a:focus-visible,
.swfl-design-c button:focus-visible,
.swfl-design-c input:focus-visible,
.swfl-design-c summary:focus-visible { outline: 3px solid #e08a3c; outline-offset: 3px; }
.swfl-design-c summary::-webkit-details-marker { display: none; }
.swfl-design-c .rail::-webkit-scrollbar { height: 0; }
.swfl-design-c [style*="position: relative"] > img { width: 100%; height: 100%; object-fit: cover; }
.swfl-design-c .swfl-c-header details > div { z-index: 50; }
.swfl-design-c .swfl-c-header a:hover,
.swfl-design-c .swfl-c-header summary:hover { color: #2e7f92 !important; }
.swfl-c-mobile-menu { display: none; margin-left: auto; position: relative; }
.swfl-c-mobile-menu > summary { list-style: none; cursor: pointer; border: 1px solid #cbdfe5; border-radius: 8px; color: #12233f; font-size: 14px; font-weight: 700; padding: 10px 14px; }
.swfl-c-mobile-menu > summary::-webkit-details-marker { display: none; }
.swfl-c-mobile-menu > nav { position: absolute; top: calc(100% + 10px); right: 0; width: min(300px, calc(100vw - 36px)); display: grid !important; padding: 10px; background: #fff; border: 1px solid #e4ebef; border-radius: 10px; box-shadow: 0 20px 44px rgba(18,35,63,.16); }
.swfl-c-mobile-menu > nav a { color: #12233f; font-size: 15px; font-weight: 600; padding: 10px 12px; }
.swfl-c-mobile-menu > nav a:last-child { margin-top: 5px; border-radius: 7px; background: #2e7f92; color: #fff !important; text-align: center; }

@media (max-width: 1120px) {
  .swfl-c-header > div { padding-inline: 24px !important; }
  .swfl-c-header nav { justify-content: flex-end !important; overflow-x: auto; }
  .swfl-c-header nav a,
  .swfl-c-header nav summary { font-size: 12.5px !important; padding-inline: 6px !important; }
  .swfl-c-header > div > a:last-child { display: none !important; }
}

@media (max-width: 760px) {
  .swfl-design-c { overflow-x: hidden; }
  .swfl-c-header > div { padding: 12px 18px !important; justify-content: space-between !important; }
  .swfl-c-header img { height: 50px !important; }
  .swfl-c-header nav { display: none !important; }
  .swfl-c-header .swfl-c-mobile-menu { display: block; }
  .swfl-c-header .swfl-c-mobile-menu > nav { display: grid !important; }

  .swfl-c-hero { padding-top: 240px; }
  .swfl-c-hero > div[aria-hidden="true"]:first-child {
    top: 0 !important; right: 0 !important; bottom: auto !important; left: 0 !important;
    width: 100% !important; height: 270px !important;
  }
  .swfl-c-hero > div[aria-hidden="true"]:first-child > div:nth-child(2) {
    background: linear-gradient(180deg, rgba(255,255,255,0) 35%, #fff 100%) !important;
  }
  .swfl-c-hero > div[aria-hidden="true"]:first-child > div:nth-child(3) { display: none !important; }
  .swfl-c-hero > div:nth-child(2) { padding: 28px 20px 108px !important; }
  .swfl-c-hero h1 { font-size: 42px !important; line-height: 46px !important; }
  .swfl-c-hero h1 + p { font-size: 16px !important; line-height: 25px !important; }
  .swfl-c-hero form { min-width: 0; }
  .swfl-c-hero form input { min-width: 0; font-size: 14px !important; }
  .swfl-c-hero form + div { display: block !important; }
  .swfl-c-hero form + div > span { display: block !important; }
  .swfl-c-hero form + div > span + span { margin-top: 5px !important; }

  .swfl-c-categories { padding: 18px 0 52px !important; }
  .swfl-c-categories > div { padding: 0 20px !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 30px 18px !important; }
  .swfl-c-categories > div > div > span { width: 64px !important; height: 64px !important; }
  .swfl-c-categories h3 { font-size: 18px !important; }

  #featured { padding: 56px 0 !important; }
  #featured > div { padding: 0 20px !important; grid-template-columns: 1fr !important; gap: 30px !important; }
  #featured h2,
  #pros h2,
  #golf-courses h2,
  #happening h2,
  #blog h2,
  .swfl-c-reviews h2,
  #about h2 { font-size: 34px !important; line-height: 40px !important; }
  .swfl-c-rail { grid-auto-columns: 82vw !important; gap: 18px !important; }
  .swfl-c-rail > a { height: 300px !important; }

  .swfl-c-values { padding: 36px 0 !important; }
  .swfl-c-values > div { padding: 0 20px !important; grid-template-columns: 1fr !important; gap: 28px !important; }

  #pros, #golf-courses, #happening, #blog, .swfl-c-reviews, #about { padding: 56px 0 !important; }
  #pros > div, #golf-courses > div, #blog > div, .swfl-c-reviews > div { padding-inline: 20px !important; }
  #pros > div > div:first-child,
  #golf-courses > div > div:first-child,
  #blog > div > div:first-child { align-items: flex-start !important; }
  #pros > div > div:last-child { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 12px !important; margin-top: 28px !important; }
  #pros > div > div:last-child > a { padding: 18px 16px !important; }

  #golf-courses > div > div:last-child,
  #blog > div > div:last-child { display: flex !important; overflow-x: auto !important; gap: 18px !important; scroll-snap-type: x mandatory; }
  #golf-courses > div > div:last-child > a,
  #blog > div > div:last-child > a { flex: 0 0 82vw; scroll-snap-align: start; }

  #happening > div { padding: 0 20px !important; grid-template-columns: 1fr !important; gap: 32px !important; }
  #happening a[style*="grid-template-columns: 96px"] { grid-template-columns: 72px minmax(0,1fr) 18px !important; gap: 12px !important; padding: 12px !important; }
  #happening a[style*="grid-template-columns: 96px"] > span:first-child { height: 70px !important; }

  #primer > div { grid-template-columns: 1fr !important; }
  #primer > div > div:first-child { min-height: 300px !important; }
  #primer > div > div:last-child { padding: 52px 20px 58px !important; }
  #primer h2 { font-size: 37px !important; line-height: 43px !important; }

  .swfl-c-reviews > div > div:last-child { grid-template-columns: 1fr !important; }
  #list > div:nth-child(3) { padding: 62px 20px !important; grid-template-columns: 1fr !important; gap: 34px !important; }
  #list h2 { font-size: 38px !important; line-height: 44px !important; }
  #about > div { padding: 0 20px !important; grid-template-columns: 1fr !important; gap: 48px !important; }
  #about > div > div:last-child > div:first-child { height: 330px !important; }
  #about > div > div:last-child > div:last-child { left: 12px !important; width: 170px !important; height: 136px !important; }

  .swfl-c-footer { padding-top: 44px !important; }
  .swfl-c-footer > div { padding-inline: 20px !important; }
  .swfl-c-footer > div > div:first-child { grid-template-columns: 1fr 1fr !important; gap: 30px 20px !important; }
  .swfl-c-footer > div > div:first-child > div:first-child,
  .swfl-c-footer > div > div:first-child > div:last-child { grid-column: 1 / -1; }
  .swfl-c-footer > div > div:last-child { align-items: flex-start !important; flex-direction: column; }
}

@media (max-width: 420px) {
  .swfl-c-hero h1 { font-size: 38px !important; line-height: 42px !important; }
  #pros > div > div:last-child { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
  .swfl-design-c * { scroll-behavior: auto !important; }
}
