/*
 Theme Name:   Santa Rosalía Child
 Description:  Child theme voor Santa Rosalía Garden Loft
 Author:       Serge Claes
 Template:     hello-elementor
 Version:      1.0.0
 Text Domain:  santa-rosalia-child
*/

/* ─── Hero ─────────────────────────────────────────────── */
.hero {
  position: relative;
}
.hero .scroll-widget {
  position: absolute !important;
  bottom: 48px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: auto !important;
  z-index: 10;
}
.scroll-indicator {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.fonts-loaded .scroll-indicator {
  opacity: 1;
}
.scroll-indicator .material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-size: 24px;
  font-weight: 200;
  font-style: normal;
  line-height: 1;
  color: #F7FAFA;
  -webkit-font-feature-settings: 'liga';
  font-feature-settings: 'liga';
  animation: scrollBounce 2s ease-in-out infinite;
}
.scroll-indicator p {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 3.6px;
  text-transform: uppercase;
  color: #F7FAFA;
  margin: 0;
}
@keyframes scrollBounce {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(6px); }
}

/* ─── Marquee ───────────────────────────────────────────── */
.marqueesectie {
  overflow: hidden !important;
}
.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee 60s linear infinite;
}
.marquee-track .marquee {
  flex-shrink: 0;
  white-space: nowrap;
}
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ─── Article ───────────────────────────────────────────── */

.article {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding: 48px 24px;

  color: #041914b3;
  font-size: 17px;
  line-height: 1.75;
}

/* Zorg dat Gutenberg content normaal onder elkaar staat */
.article > * {
  max-width: 100%;
}

/* ─── Headings ──────────────────────────────────────────── */

.article h1 {
  display: block;
  width: 100%;

  margin: 0 0 32px;

  color: #041914;
  font-size: 32px;
  line-height: 1.25;
}

.article h2,
.article h2.wp-block-heading {
  display: block;
  width: 100%;

  margin: 56px 0 16px;

  color: #041914;
  font-size: 22px;
  line-height: 1.3;
}

.article h3,
.article h3.wp-block-heading {
  display: block;
  width: 100%;

  margin: 32px 0 8px;

  color: #041914;
  font-size: 18px;
  line-height: 1.4;
}

/* ─── Paragraphs ────────────────────────────────────────── */

.article p,
.article p.wp-block-paragraph {
  display: block !important;

  width: 100%;
  max-width: 100%;

  margin: 0 0 24px;
  padding: 0;

  float: none !important;
  clear: both;
}

/* ─── Links ─────────────────────────────────────────────── */

.article a,
.article p a,
.article p.wp-block-paragraph a {
  display: inline !important;

  width: auto !important;

  color: #041914;

  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: #041914b3;

  transition: text-decoration-color 0.2s ease;
}

.article a:hover {
  text-decoration-color: #041914;
}

/* ─── Strong ────────────────────────────────────────────── */

.article strong {
  color: #041914;
  font-weight: 600;
}

/* ─── Lists ─────────────────────────────────────────────── */

.article ul,
.article ul.wp-block-list {
  display: block;

  width: 100%;

  margin: 0 0 24px;
  padding-left: 24px;

  list-style: none;
}

.article ul > li {
  position: relative;

  display: list-item;

  margin-bottom: 8px;
  padding-left: 16px;
}

.article ul > li::before {
  content: "—";

  position: absolute;
  left: 0;

  color: #041914b3;
}

/* ─── Ordered lists ─────────────────────────────────────── */

.article ol {
  width: 100%;

  margin: 0 0 24px;
  padding-left: 24px;
}

.article ol > li {
  margin-bottom: 8px;
}

/* ─── Blockquotes ───────────────────────────────────────── */

.article blockquote {
  width: 100%;

  margin: 32px 0;
  padding-left: 24px;

  border-left: 1px solid #04191440;
}

/* ─── Images ────────────────────────────────────────────── */

.article img {
  display: block;

  max-width: 100%;
  height: auto;
}

/* ─── Mobile ────────────────────────────────────────────── */

@media (max-width: 767px) {

  .article {
    padding: 32px 20px;

    font-size: 16px;
  }

  .article h1 {
    margin-bottom: 24px;

    font-size: 28px;
  }

  .article h2,
  .article h2.wp-block-heading {
    margin-top: 40px;
    margin-bottom: 12px;

    font-size: 21px;
  }

  .article h3,
  .article h3.wp-block-heading {
    margin-top: 28px;
    margin-bottom: 8px;

    font-size: 18px;
  }

  .article p,
  .article p.wp-block-paragraph {
    margin-bottom: 20px;
  }
}

/* ─── Lenis ─────────────────────────────────────────────── */
html {
  scroll-behavior: auto !important;
}
html.lenis,
html.lenis body {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

/* ─── Afbeeldingen ──────────────────────────────────────── */
.expimage img {
  aspect-ratio: 3 / 4;
  width: 100%;
  object-fit: cover;
  display: block;
}

/* ─── Header ────────────────────────────────────────────── */
.elementor-element.mainheader .e-con-inner {
  position: relative !important;
}
.elementor-element.mainmenu {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  transform: translate(-50%, -50%) !important;
  width: max-content !important;
  z-index: 10 !important;
}

/* ─── Menu overflow ─────────────────────────────────────── */
.elementor-element.mainmenu,
.elementor-element.mainmenu .elementor-nav-menu--main,
.elementor-element.mainmenu .elementor-nav-menu__container,
.elementor-element.mainmenu ul.elementor-nav-menu {
  overflow: visible !important;
}

/* ─── Menu items ────────────────────────────────────────── */
.elementor-element.mainmenu ul.elementor-nav-menu > li.menu-item {
  position: relative !important;
  overflow: visible !important;
  list-style: none !important;
}

/* ─── ::before verwijderen (streepje fix) ───────────────── */
.elementor-element.mainmenu ul.elementor-nav-menu li::before,
.elementor-element.mainmenu ul.elementor-nav-menu li.menu-item::before,
.elementor-element.mainmenu ul.elementor-nav-menu li.menu-item.current-menu-item::before {
  display: none !important;
  content: none !important;
  border: none !important;
}

/* ─── Hover icon ────────────────────────────────────────── */
.elementor-element.mainmenu ul.elementor-nav-menu > li.menu-item::after {
  content: '' !important;
  position: absolute !important;
  bottom: -12px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 32px !important;
  height: 12px !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  background-position: center !important;
  border: none !important;
  opacity: 0 !important;
  transition: opacity 0.25s ease !important;
  pointer-events: none !important;
}
.elementor-element.mainmenu ul.elementor-nav-menu > li.menu-item:hover::after {
  opacity: 1 !important;
}

/* Donkere header */
.mainheader--dark .elementor-element.mainmenu ul.elementor-nav-menu > li.menu-item::after {
  background-image: url('https://santarosaliapalmgarden.com/wp-content/uploads/2026/04/Hover-effect.svg') !important;
}

/* Lichte header */
.mainheader--light .elementor-element.mainmenu ul.elementor-nav-menu > li.menu-item::after {
  background-image: url('https://santarosaliapalmgarden.com/wp-content/uploads/2026/04/Hover-effect-bl.svg') !important;
}



/* ─── Reviews ───────────────────────────────────────────── */
.srg-reviews-wrapper {
  width: 100%;
}

.srg-reviews-list {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.srg-review {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.srg-review-header {
  display: flex;
  align-items: center;
  gap: 16px;
}
.srg-review-avatar {
  display: none;
}

.srg-review-name {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: #09140F;
  display: block;
}

.srg-review-date {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: #4B6B75;
  display: block;
  margin-top: 2px;
}

.srg-stars {
  color: #FFCE44;
  font-size: 16px;
  letter-spacing: 2px;
}

.srg-review-text {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.75;
  color: #1C282C;
  margin: 0;
}

/* Tablet — 2 zichtbaar */
@media (max-width: 1024px) {
  .srg-reviews-list {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 24px;
    padding-bottom: 4px;
  }
  .srg-reviews-list::-webkit-scrollbar {
    display: none;
  }
  .srg-review {
    flex: 0 0 calc((100% - 24px) / 2);
    scroll-snap-align: start;
  }
}

/* Mobiel — 1 zichtbaar */
@media (max-width: 640px) {
  .srg-review {
    flex: 0 0 88%;
  }
}
/* ─── FAQ ───────────────────────────────────────────────── */
.srg-faq {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.srg-faq-item {
  border-top: 1px solid #DDDDDD;
  padding: 24px 0;
}
.srg-faq-item:last-child {
  border-bottom: 1px solid #DDDDDD;
}
.srg-faq-item summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  font-size: 20px;
  line-height: 1.4;
  color: #09140F;
}
.srg-faq-item summary::-webkit-details-marker {
  display: none;
}
.srg-faq-item summary::after {
  content: '+';
  font-family: 'Inter', sans-serif;
  font-size: 20px;
  font-weight: 300;
  color: #4B6B75;
  flex-shrink: 0;
  transition: transform 0.25s ease;
}
.srg-faq-item[open] summary::after {
  transform: rotate(45deg);
}
.srg-faq-answer {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.75;
  color: #1C282C;
  margin: 16px 0 0;
}

/* Space sectie: 2 kolommen op desktop */
.space-section {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 32px;
    padding: 40px 0;
    border-bottom: 1px solid #ebebeb;
}

.space-heading {
    font-size: 18px;
    font-weight: 700;
    color: #222;
    margin: 0;
    padding-top: 4px;
}

/* Fotogrid: maximaal 2 naast elkaar */
.space-items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}

/* Individuele foto-entry */
.space-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

/* Gelijke ruimte voor fotonaam en beschrijving */
.space-item-text {
    height: 96px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.space-item-name {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    color: #222;
    margin: 0 0 6px;
}

.space-item-desc {
    font-size: 13px;
    line-height: 1.5;
    color: #717171;
    margin: 0;
}

/* Vast beeldkader voor zowel staande als liggende foto's */
.space-item-photo {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 10px;
    flex-shrink: 0;
    background: #f2f2f2;
}

.space-item-photo img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover;
    object-position: center;
}

/* Tablet */
@media (max-width: 1024px) {
    .space-section {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/* Mobiel */
@media (max-width: 600px) {
    .space-items {
        grid-template-columns: 1fr;
    }

    .space-item-text {
        height: auto;
        min-height: 88px;
    }
}

/* Popup scroll fix */
.jet-popup__container-inner {
    overflow: hidden;
    height: 100%;
}

.jet-popup__container-content {
    overflow-y: auto !important;
    overscroll-behavior: contain;
    height: 100%;
}
