/* Reset and base styles */
@font-face {
  font-family: 'Avenir Roman';
  src: url('/fonts/avenir-roman.woff2') format('woff2'),
       url('/fonts/avenir-roman.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Avenir Roman';
}

body {
  font-family: 'Avenir Roman',-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.6;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Header styles */
.main-header {
  background: white;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  position: sticky;
  top: 0;
  z-index: 1000;
  padding: 0 2rem;
  border-bottom-color: black;
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

.header-container {
  max-width: 100%;
  margin: 0 auto;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.logo {
  flex-shrink: 0;
}

.logo img {
  margin-top: 23px;
  height: auto;
  width: 100px;
}


/* Navigation styles */
.main-nav {
  flex-grow: 1;
  display: flex;
  justify-content: center;
}

.nav-list {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 3rem;
}

.nav-item {
  position: relative;
}

.nav-item > p {
  color: #333;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.5rem 0;
  display: block;
  position: relative;
  transition: color 0.3s ease;
}

.nav-item > a {
  color: #333;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.5rem 0;
  display: block;
  position: relative;
  transition: color 0.3s ease;
}

/* Red underline on hover */
.nav-item > a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 3px;
  background-color: #ff4444;
  transition: width 0.3s ease;
}

.nav-item:hover > a::after {
  width: 100%;
}

/* Dropdown styles */
.dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: white;
  border-radius: 4px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  min-width: 200px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  padding: 0.5rem 0;
  list-style: none;
  margin-top: 0.5rem;
}

.nav-item:hover .dropdown {
  opacity: 1;
  visibility: visible;
}

.dropdown li {
  list-style: none;
}

.dropdown li a {
  color: #333;
  text-decoration: none;
  padding: 0.5rem 1rem;
  display: block;
  font-size: 0.9rem;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.dropdown li a:hover {
  background: #f5f5f5;
  color: #ff4444;
}

/* Header right section */
.header-right {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.language-select {
  padding: 0.5rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: white;
  font-size: 0.9rem;
  cursor: pointer;
}

.donate-button {
  display: block;
  transition: transform 0.2s ease;
}

.donate-button:hover {
  transform: scale(1.05);
}

.donate-img {
  height: 48px;
  width: auto;
  display: block;
}

.search-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Mobile menu button */
.mobile-menu-btn {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  position: relative;
  width: 30px;
  height: 30px;
}

.mobile-menu-btn span {
  display: block;
  width: 100%;
  height: 2px;
  background: #333;
  margin: 6px 0;
  transition: all 0.3s ease;
}

/* Main content */
.main-content {
  flex-grow: 1;
  padding: 2rem;
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
}

/* Updated Footer Styles */
.main-footer {
  background-color: #004466;
  color: white;
  padding: 2rem 0 0;
  margin-top: auto;
}

.footer-container {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 2rem;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 2rem;
  align-items: start;
}

.footer-logo {
  text-align: center;
}

.logo-img {
  max-width: 150px;
  height: auto;
}

.footer-section h3 {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0rem;
  text-transform: uppercase;
}

/* Hours Section */
.footer-section p {
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
}

/* Virtual Tour Section */
.virtual-tour-button {
  display: flex;
  justify-content: center; /* Centers the play-circle */
  align-items: center;
  margin-top: 1rem;
}

.tour-link {
  text-decoration: none;
}

/* PLAY NOW */
.play-now2 {
  position: relative;
  width: 340px;
  height: 340px;
  position: relative;
  left: -10%;
  bottom: 0;
  z-index: 4;
  overflow: hidden;
  margin-left: -100px;
}
.play-now2 .play-btn {
  position: absolute;
  left: 51%;
  top: 50%;
  z-index: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 25px 0 25px 40px;
  border-color: transparent transparent transparent #080808;
  transform: translateX(-50%) translateY(-50%);
}
.play-now2 text {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 4px;
  fill: #080808;
}
.play-now2 svg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 340px;
  -webkit-animation-name: rotate;
  -moz-animation-name: rotate;
  -ms-animation-name: rotate;
  -o-animation-name: rotate;
  animation-name: rotate;
  -webkit-animation-duration: 10s;
  -moz-animation-duration: 10s;
  -ms-animation-duration: 10s;
  -o-animation-duration: 10s;
  animation-duration: 10s;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  -ms-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  -ms-animation-timing-function: linear;
  -o-animation-timing-function: linear;
  animation-timing-function: linear;
}

.play-now2 .play-btn2 {
  position: absolute;
  left: 51%;
  top: 50%;
  z-index: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 25px 0 25px 40px;
  border-color: transparent transparent transparent #ffffff;
  transform: translateX(-50%) translateY(-50%);
}
.play-icon {
  color: white;
  font-size: 1.5rem;
}

.play-circle:hover {
  background: rgba(255, 255, 255, 0.1);
}

/* Newsletter Section */
.newsletter-form {
  display: flex;
  gap: 0.5rem;
  margin-top: 0rem;
}

.newsletter-form input {
  flex-grow: 1;
  padding: 0.5rem;
  border: none;
  border-bottom: 1px solid white;
  background: transparent;
  color: white;
}

.newsletter-form input::placeholder {
  color: rgba(255, 255, 255, 0.7);
}

.submit-arrow {
  background: none;
  border: none;
  color: white;
  font-size: 1.5rem;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.submit-arrow:hover {
  transform: translateX(5px);
}

/* Donate Section */
.donate-section {
  margin: 1rem 0;
}

.donate-link {
  color: white;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.donate-icon {
  color: #ff4444;
}

/* Social Media Section */
.social-links {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.social-links a {
  color: white;
  text-decoration: none;
  font-size: 0.9rem;
}

.social-links a:hover {
  text-decoration: underline;
}

/* Partners Section */
.partners-section {
}

.partner-logos {
  display: contents;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 1rem;
}

.partner-logos img {
  max-width: 50%;
  height: auto;
}

/* Copyright Bar */
.copyright-bar {
  background-color: #e6503e;
  color: white;
  text-align: center;
  padding: 1rem;
  margin-top: 2rem;
  border-top-color: black;
  border-top-style: solid;
  border-top-width: 1px;
}

/* Responsive Styles */
@media (max-width: 1024px) {
  .nav-list {
      gap: 2rem;
  }
  
  .header-container {
      padding: 0 1rem;
  }

  .footer-container {
      grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .mobile-menu-btn {
      display: block;
  }

  .nav-list {
      position: absolute;
      top: 80px;
      left: 0;
      right: 0;
      background: white;
      flex-direction: column;
      padding: 1rem;
      gap: 0;
      display: none;
      box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  }

  .nav-list.active {
      display: block;
  }

  .nav-item {
      margin: 0;
  }

  .nav-item > a {
      padding: 1rem;
  }

  .nav-item > a::after {
      display: none;
  }

  .dropdown {
      position: static;
      transform: none;
      box-shadow: none;
      opacity: 1;
      visibility: visible;
      display: none;
      background: #f5f5f5;
      margin-top: 0;
  }

  .nav-item:hover .dropdown {
      display: block;
  }

  .mobile-menu-btn.active span:nth-child(1) {
      transform: rotate(45deg) translate(6px, 6px);
  }

  .mobile-menu-btn.active span:nth-child(2) {
      opacity: 0;
  }

  .mobile-menu-btn.active span:nth-child(3) {
      transform: rotate(-45deg) translate(6px, -6px);
  }

  .header-right {
      display: none;
  }

  .footer-container {
      grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .footer-container {
      grid-template-columns: 1fr;
  }

  .footer-logo {
      margin-bottom: 2rem;
  }

  .partner-logos {
      grid-template-columns: repeat(2, 1fr);
  }

  .header-right {
      display: none;
  }
}


.play-circle svg text,
.play-circle svg textPath {
  fill: white; /* Makes rotating text white */
}

/*////////////////////////////////////////*/

/*////////////////////////////////////////*/
/* Clean Select Dropdown Styling */
/*////////////////////////////////////////*/

select {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background-color: transparent;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* Remove default dropdown arrow in IE */
select::-ms-expand {
  display: none;
}

/* Container for the language switcher */
.lang-switcher {
  position: relative;
  display: flex;
  align-items: center;
}

/* Form inside the language switcher */
.lang-switcher form {
  position: relative;
  display: flex;
  align-items: center;
}

/* Custom select styling */
.lang-switcher select {
  background-color: transparent;
  color: #333;
  font-size: 1rem;
  font-weight: 600;
  padding: 0.6rem 2.5rem 0.6rem 0.75rem; /* right padding adjusted for arrow */
  min-width: 110px;
  cursor: pointer;
  border-radius: 6px;
  transition: color 0.3s ease;
  background-image: none;
  border: none;
  outline: none;
  box-shadow: none;
}

/* Focus styles */
.lang-switcher select:focus {
  border: none;
  outline: none;
  box-shadow: none;
}

/* Dropdown option styling */
.lang-switcher select option {
  padding: 1rem;
  font-size: 1rem;
  border: none;
  outline: none;
  box-shadow: none;
}

/* Custom arrow icon placement */
.custom-arrow {
  position: absolute;
  right: 3rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #333;
  font-size: 1rem;
  line-height: 1;
}

.footer-content {
  display: flex;
  align-items: center; /* Vertically centers items */
  gap: 20px; /* Space between title and button */
}

.virtual-tour-button {
  display: flex;
  align-items: center;
}

.play-now2 {
  display: flex;
  align-items: center;
  justify-content: center;
}

.logo-img-paypal{
  width: 20px;
  height: 20px;
}

.virtual-tour-section .virtual-tour-row {
  display: flex;
  align-items: start;
  gap: 0rem;
  margin-top: 0.5rem;
}

.virtual-tour-section h3 {
  margin: 0;
  white-space: nowrap;
  font-size: 1rem;
}

/* Layout around the button */
.virtual-tour-row { display: flex; flex-direction: column; gap: .75rem; }
.virtual-tour-button { display: flex; align-items: center; justify-content: center; }

/* Clickable circular control */
.play-circle {
  position: relative;
  display: inline-block;
  width: 160px;      /* adjust size for footer */
  height: 160px;
  border-radius: 50%;
  text-decoration: none;
}

/* SVG takes full box and rotates */
.play-circle-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  animation: vt-spin 12s linear infinite;
}

/* Rotating text styling */
.play-circle-text {
  letter-spacing: 2px;
  text-transform: uppercase;
  fill: currentColor;
  opacity: .9;
}

/* Triangle in the very center */
.play-triangle {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0; height: 0;
  transform: translate(-50%, -50%);
  /* CSS triangle pointing right */
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 22px solid #fff;
  /* optional subtle glow */
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.35));
}

/* Optional translucent circle button surface for click affordance */
.play-circle::before {
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 68px; height: 68px;
  border-radius: 50%;
  /* background: rgba(255,255,255,0.18);
  backdrop-filter: blur(2px); */
}

/* Spin animation (same as hero) */
@keyframes vt-spin { to { transform: rotate(360deg); } }

/* Footer alignment helpers (if needed) */
.main-footer .footer-container {
  display: grid;
  gap: 1.25rem;
  align-items: start;
}

.main-footer .footer-section h3 { margin-bottom: .5rem; }

/* Optional: center the whole VT block on narrow screens */
@media (max-width: 768px) {
  .virtual-tour-button { justify-content: center; }
}

/* --- Footer Virtual Tour: align circle with the H3 left edge --- */
.virtual-tour-section .virtual-tour-row {
  display: flex;
  flex-direction: column;   /* title over button */
  align-items: flex-start;  /* share same left edge */
  gap: 0rem;
  font-size: small;
}

.virtual-tour-section .virtual-tour-button {
  display: flex;
  justify-content: flex-start; /* stop centering */
  align-items: center;
  margin: 0;                   /* remove accidental offsets */
}

/* Remove the manual nudge pushing the circle */
.virtual-tour-section .play-circle {
  transform: none !important;
}

/* Kill legacy offsets from the old implementation if still present */
.virtual-tour-section .play-now2 {
  left: 0 !important;
  margin-left: 0 !important;
}

/* Optional: ensure grid column content is left-aligned in this section */
.virtual-tour-section {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}



/* ==== FIX: 4 items, equal width, small gaps ==== */
.social-feed .social-feed-wrapper{
  display: grid !important;
  grid-template-columns: 3fr 1fr !important;   /* 3 photos | 1 reel */
  column-gap: 16px !important;
  align-items: start !important;
}

/* Left: title row + photos row (3 columns) */
.social-feed .feed-main{
  display: grid !important;
  grid-template-rows: auto 1fr !important;
  row-gap: 16px !important;
}
.social-feed .instagram-feed{
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  justify-items: stretch !important;
  align-items: stretch !important;
}

/* Make every grid item and inner frame stretch to the full cell width */
.social-feed .insta-post,
.social-feed .insta-post2{
  display: block !important;
  width: 100% !important;
}

/* The media frame must fill the cell width */
.social-feed .image-frame,
.social-feed .image-frame2{
  position: relative !important;
  width: 100% !important;
  /* choose ONE: fixed height for consistency across browsers */
  height: 500px !important;
  /* or use a perfect square: comment the line above and use: */
  /* aspect-ratio: 1 / 1 !important; */

  overflow: hidden !important;
  border-radius: 0px !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 2px #222 inset !important; /* your border look */
}

/* The link (if present) must cover the frame */
.social-feed .image-frame > a,
.social-feed .image-frame2 > a{
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
}

/* The big image must fill the frame (no auto width!) */
.social-feed .post-image{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Header badge stays small and doesn't affect layout */
.social-feed .image-title{
  position: absolute !important;
  top: 8px; left: 8px; right: 8px;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 6px !important;
  background: rgba(255, 255, 255) !important;
  border-radius: 0px !important;
  z-index: 2 !important;
}
.social-feed .image-title .avatar{
  width: 22px !important; height: 22px !important;
  border-radius: 50% !important; object-fit: cover !important;
}
.social-feed .title-text, .social-feed .title-text2{
  font-size: .85rem !important; font-weight: 600 !important; color: #222 !important;
  white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
}

/* Responsive */
@media (max-width: 1024px){
  .social-feed .social-feed-wrapper{ grid-template-columns: 1fr !important; row-gap: 16px !important; }
  .social-feed .instagram-feed{ grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 640px){
  .social-feed .instagram-feed{ grid-template-columns: 1fr !important; }
}

/* ===== Social feed: 4 equal tiles in one row ===== */

/* Grid: title on its own row, then 4 equal columns */
.social-feed .social-feed-wrapper{
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;                     /* small, equal spacing */
  align-items: start;
}

/* Title spans full width above the grid */
.social-feed .title-follow{
  grid-column: 1 / -1;
  margin-bottom: 0;
  font-size: x-large;
}

/* Left block (3 photos) occupies cols 1-3; inside, make 3 equal columns */
.social-feed .feed-main{
  grid-column: 1 / span 3;
  display: grid;
  grid-template-rows: auto 1fr;  /* title row + photos row */
  row-gap: 14px;
}

.social-feed .instagram-feed{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 50px !important;
}

/* Right block (reel) is the 4th column */
.social-feed .feed-side{
  grid-column: 4 / span 1;
  align-self: start;
}

/* ===== Make ALL tiles the same size (perfect squares) ===== */

.insta-post, .insta-post2{
  width: 100%;
}

/* The visible frames */
.image-frame, .image-frame2{
  position: relative;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;     /* 👈 same square for photos and reel */
  overflow: hidden;
  border-radius: 10px;
  background: #f0f2f4;
  box-shadow: 0 0 0 2px #222 inset;   /* your border look */
}

/* If you previously set a fixed height, cancel it */
.image-frame, .image-frame2{
  height: auto !important;
}

/* Make the image fill the square */
.post-image{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* The small header badge does not affect tile size */
.image-title{
  position: absolute;
  top: 8px; left: 8px; right: 8px;
  height: 32px;
  display: flex; align-items: center; gap: 8px;
  padding: 0 6px;
  background: rgba(255,255,255,.9);
  border-radius: 6px;
  z-index: 2;
}
.image-title .avatar{
  width: 22px; height: 22px; border-radius: 50%; object-fit: cover;
}

/* ===== Responsive ===== */
@media (max-width: 1024px){
  .social-feed .social-feed-wrapper{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .social-feed .feed-main{
    grid-column: 1 / -1;
  }
  .social-feed .feed-side{
    grid-column: 1 / -1;
  }
  .social-feed .instagram-feed{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}
@media (max-width: 640px){
  .social-feed .instagram-feed{ grid-template-columns: 1fr; }
}

/* ========= 4 equal tiles (3 photos + 1 reel) ========= */
.social-feed .social-feed-wrapper{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:50px !important;
  align-items:start;
}
.social-feed .title-follow{ grid-column:1 / -1; margin-bottom:0; }
.social-feed .feed-main{ grid-column:1 / span 3; }
.social-feed .feed-side{ grid-column:4 / span 1; }

/* ======== make each tile the same size and keep the old header style ======== */
:root { --tile-size: clamp(200px, 22vw, 260px); } /* tweak once, all tiles update */

.insta-post, .insta-post2 { width:100%; }

.image-frame, .image-frame2{
  /* card shell = the square (header inside, image below) */
  height: var(--tile-size);
  width: 100%;
  display:flex;                 /* header (fixed) + media (flex) */
  flex-direction:column;
  border:2px solid #111;        /* your original border feel */
  border-radius:10px;
  background:#fff;              /* header bar is white, not overlay */
  overflow:hidden;
}

/* inner wrapper becomes a vertical stack too */
.image-inner{
  display:flex;
  flex-direction:column;
  flex:1;                       /* fill the remaining height under the header */
}

/* ✅ HEADER: restore the old look (no overlay, fixed height) */
.image-title{
  position:static !important;   /* was absolute; revert */
  display:flex;
  align-items:center;
  gap:8px;
  height:40px;                  /* consistent header height */
  padding:0 10px;
  background:#fff;              /* solid bar, not translucent */
  border-bottom:1px solid #e6e6e6;
  border-top-left-radius:8px;
  border-top-right-radius:8px;
  z-index:auto;
}

/* small avatar + name like before */
.image-title .avatar{
  width:22px; height:22px; border-radius:50%; object-fit:cover;
}
.title-text, .title-text2{
  font-size:.9rem; font-weight:600; color:#222;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* ✅ MEDIA area fills the rest, image covers (no letterboxing) */
.image-inner > a,
.image-inner > img{
  position:relative;
  display:block;
  flex:1;                       /* take remaining height under header */
  overflow:hidden;
}

.image-inner > a > img,
.image-inner > img.post-image{
  width:100%;
  height:100%;
  object-fit:cover;             /* keep contents tidy */
  display:block;
}

/* (optional) keep small gaps on tablet/phone */
@media (max-width:1024px){
  .social-feed .social-feed-wrapper{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .social-feed .feed-main{ grid-column:1 / -1; }
  .social-feed .feed-side{ grid-column:1 / -1; }
}
@media (max-width:640px){
  .social-feed .social-feed-wrapper{ grid-template-columns:1fr; }
}

.image-frame2{
  height: 600px !important;
}

.feed-side .image-frame2{
    height: 600px !important;
}

/* Show the whole image inside the fixed tile */
.image-inner > a,
.image-inner > img {
  display: flex;                 /* centers the img when it doesn't fill */
  align-items: center;
  justify-content: center;
  flex: 1;
  background: #000000;              /* or #000 if you prefer "letterbox" look */
}

.image-inner > a > img,
.image-inner > img.post-image,
.social-feed .post-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important; /* 👈 see entire image */
  object-position: center center !important;
}

.terms-link {
  display: inline-block;
  margin-bottom: 1rem;
  color: inherit;              /* keep same text color */
  text-decoration: none;       /* remove underline */
}

.terms-link strong {
  font-weight: 700;
}

.terms-link:hover strong {
  text-decoration: underline;
}

/* --- Virtual Tour badge: contained, responsive, no overflow --- */
.tour-link{
  display:inline-block;
  text-decoration:none;
  position:relative;
}

.tour-badge{
  /* size that scales but never overflows footer */
  width:clamp(120px, 12vw, 180px);
  aspect-ratio:1 / 1;
  position:relative;
  display:grid;
  place-items:center;
  margin-top:8px;
}

/* spinning text ring */
.tour-ring{
  width:100%;
  height:100%;
  display:block;
  /* keep inside the badge */
  overflow:visible;
  /* subtle spin */
  animation: tour-spin 10s linear infinite;
}

.tour-ring text{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  fill:#fff; /* white text in footer */
}

/* centered play triangle */
.tour-play{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:clamp(28px, 3vw, 40px);
  line-height:1;
  color:#fff;
  text-shadow:0 2px 6px rgba(0,0,0,.35);
  pointer-events:none;  /* click passes to the link */
}

/* optional hover accent */
.tour-link:hover .tour-play{ transform: scale(1.05); }

/* keep the badge from overlapping neighbors */
.footer-section .tour-badge{
  /* ensures it never escapes its column */
  max-width: 220px;
}

/* Spin animation */
@keyframes tour-spin{
  from{ transform: rotate(0deg); }
  to  { transform: rotate(360deg); }
}

/* Screen-reader only helper */
.sr-only{
  position:absolute !important;
  width:1px; height:1px;
  margin:-1px; padding:0; border:0;
  clip:rect(0 0 0 0); clip-path: inset(50%);
  overflow:hidden; white-space:nowrap;
}

/* If your footer uses a grid or flex, this keeps the badge under the H3 */
.footer-section{
  display:flex;
  flex-direction:column;
  align-items:flex-start; /* title + badge are left-aligned */
  gap:.5rem;
}

/* Safety: avoid SVG overlapping on very small screens */
@media (max-width: 420px){s
  .tour-badge{ width: 140px; }
}

/* Adjust badge position slightly up and left */
.footer-section .tour-badge {
  transform: translate(-30px, -35px); /* left, up */
}

/* optional: tweak how strong the offset is for smaller screens */
@media (max-width: 600px) {
  .footer-section .tour-badge {
    transform: translate(-4px, -6px);
  }
}