/* =========================================================
   GET SALTY — WordPress adjustments
   Makes WordPress blocks look exactly like the original design.
   ========================================================= */

/* Layout reset: no automatic gaps between blocks */
.wp-site-blocks { padding: 0 }
:where(.wp-site-blocks, .is-layout-flow, .is-layout-constrained) > * { margin-block-start: 0 }
.wp-block-group { box-sizing: border-box }
p.wp-block-paragraph, .entry-content p { margin-bottom: .7em }
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5 { margin-bottom: .7em }
.entry-content .wp-block-image, .wp-block-image { margin: 0 }
.wp-block-image img { width: 100%; height: auto; display: block }
.wp-block-list { padding-left: 0; list-style: none }

/* Header sits above the page and stays on top while scrolling */
.site-header { position: sticky; top: 0; z-index: 100 }
.admin-bar .site-header { top: 32px }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px } }
.site-header .nav { position: relative }
main.gs-main { margin-top: calc(-1 * var(--nav-height)) }
main.gs-main > .entry-content > :first-child { padding-top: calc(var(--nav-height) + var(--section-padding)) }
main.gs-main > .entry-content > .hero:first-child { padding-top: calc(var(--nav-height) + var(--space-xl)) }

/* Section backgrounds */
.bg-secondary { background: var(--bg-secondary) }
.bg-warm { background: var(--bg-accent-warm) }
.bg-inverse { background: var(--bg-inverse); color: var(--text-inverse) }

/* Small helpers used by the page content */
.narrow { max-width: var(--container-sm) }
.text-center { text-align: center }
.mx-auto { margin-left: auto !important; margin-right: auto !important }
.mw-500 { max-width: 500px } .mw-540 { max-width: 540px } .mw-600 { max-width: 600px } .mw-640 { max-width: 640px }
.mb-sm { margin-bottom: var(--space-sm) !important } .mb-md { margin-bottom: var(--space-md) !important }
.mb-lg { margin-bottom: var(--space-lg) !important } .mb-xl { margin-bottom: var(--space-xl) !important }
.mt-md { margin-top: var(--space-md) !important } .mt-lg { margin-top: var(--space-lg) !important } .mt-hero { margin-top: var(--space-hero) !important }
.c-accent { color: var(--color-yellow) } .c-inverse { color: var(--text-inverse) } .c-purple { color: var(--color-purple) }
.c-dark { color: var(--color-aubergine) } .c-soft { color: rgba(255,242,224,.7) } .c-soft-strong { color: rgba(255,242,224,.8) }
.wp-block-buttons.is-centered, .text-center .wp-block-buttons { justify-content: center }

/* ---------- Buttons (WordPress button blocks) ---------- */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: var(--space-sm) }
.wp-block-button .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  font-family: var(--font-body); font-size: 1.05rem; font-weight: 400; line-height: 1.4;
  border-radius: var(--radius-round); cursor: pointer; text-decoration: none;
  background: transparent; color: inherit; padding: .55em 1.6em; border: 2px solid currentColor;
}
.wp-block-button.btn-primary-light .wp-block-button__link { border: 2px solid var(--color-aubergine); color: var(--text-primary); background: transparent; box-shadow: 3px 4px 0 var(--color-purple-hover); transition: transform .1s ease, box-shadow .1s ease, background .1s ease }
.wp-block-button.btn-primary-light .wp-block-button__link:hover { background: #f1e1f2; box-shadow: 5px 6px 0 var(--color-purple-hover); transform: translate(-1px,-1px) }
.wp-block-button.btn-primary-light .wp-block-button__link:active { box-shadow: 1px 2px 0 var(--color-purple-hover); transform: translate(2px,2px) }
.wp-block-button.btn-primary-dark .wp-block-button__link { border: 2px solid var(--color-cream); color: var(--color-cream); background: transparent; box-shadow: 3px 4px 0 var(--color-yellow); transition: transform .1s ease, box-shadow .1s ease, background .1s ease }
.wp-block-button.btn-primary-dark .wp-block-button__link:hover { background: #ff878726; box-shadow: 5px 6px 0 var(--color-yellow); transform: translate(-1px,-1px) }
.wp-block-button.btn-primary-dark .wp-block-button__link:active { box-shadow: 1px 2px 0 var(--color-yellow); transform: translate(2px,2px) }
.wp-block-button.btn-secondary { opacity: 1 }
.wp-block-button.btn-secondary .wp-block-button__link { border: 1.5px solid currentColor; color: currentColor; background: transparent; padding: .5em 1.4em; opacity: .75; transition: opacity .2s ease, background .2s ease }
.wp-block-button.btn-secondary .wp-block-button__link:hover { opacity: 1; background: #2f153214 }
.wp-block-button.btn-secondary--on-dark .wp-block-button__link { color: var(--color-cream) }
.wp-block-button.btn-secondary--on-dark .wp-block-button__link:hover { background: #fff2e01a }
.wp-block-button.btn-primary-rust .wp-block-button__link { background: var(--color-rust); border: 2px solid var(--color-rust); color: var(--color-cream); box-shadow: 3px 4px 0 var(--color-aubergine); transition: transform .1s ease, box-shadow .1s ease, background .1s ease }
.wp-block-button.btn-primary-rust .wp-block-button__link:hover { background: #9b382c; border-color: #9b382c; box-shadow: 5px 6px 0 var(--color-aubergine); transform: translate(-1px,-1px) }
.wp-block-button.btn-primary-rust .wp-block-button__link:active { box-shadow: 1px 2px 0 var(--color-aubergine); transform: translate(2px,2px) }

/* ---------- Page pieces rebuilt with blocks ---------- */
.hero__heading br { display: block }
.hero__mascot img { max-width: 400px; width: 100%; border-radius: var(--radius-card) }
.hero__mascot { display: flex; justify-content: center }
@media (max-width: 991px) { .hero__mascot img { max-width: 280px } .hero__ctas { justify-content: center } }
.img-slot img { border-radius: var(--radius-card) }
.card-row__item .img-slot img, .pkg-card .img-slot img, .art-grid__item .img-slot img { border-radius: 0 }
.crew-avatar img { width: 160px; height: 160px; border-radius: 50% }
.crew-card__avatar img { width: 180px; height: 180px; border-radius: 50% }
.crew-preview__card .crew-avatar, .crew-card .crew-card__avatar { display: flex; justify-content: center }

.pkg-card__btns { margin: auto var(--space-md) var(--space-md) }
.pkg-feature__content .pkg-card__btns { margin: auto 0 0 }
.pkg-feature__image { position: relative; min-height: 320px }
.pkg-feature__image .wp-block-image { position: absolute; inset: 0 }
.pkg-feature__image .wp-block-image img { width: 100%; height: 100%; object-fit: cover }
@media (max-width: 767px) { .pkg-feature__image { min-height: 0; aspect-ratio: 3/2 } }

.extras-grid { display: flex; flex-wrap: wrap; gap: .75rem }
.extras-grid li { background: #fff2e0b3; color: var(--color-purple); border-left: 3px solid var(--color-purple); padding: .5em 1.2em .5em 1em; border-radius: var(--radius-round); font-size: .92rem }

.art-caption { display: flex; justify-content: space-between; gap: .5rem; padding: .5rem 1rem; font-size: .8rem; color: var(--text-secondary); margin: 0 !important }
.art-caption a { color: var(--color-purple) }
.art-caption a:hover { color: var(--color-purple-hover) }
.gallery-blank { display: none }
.gallery-blank.is-shown { display: grid }
.gallery-art.is-hidden { display: none }

.pull-quote { text-align: left }

.volunteer-image { display: flex; position: relative; min-height: 320px }
.volunteer-image .wp-block-image { position: absolute; inset: 0 }
.volunteer-image .wp-block-image img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius-card) }
@media (max-width: 767px) { .volunteer-image { min-height: 0; aspect-ratio: 16/9 } }
.support-options { grid-template-columns: repeat(3, 1fr) }
.support-option { padding-left: var(--space-lg); border-left: 1px solid var(--border-medium) }
.support-option:first-child { padding-left: 0; border-left: 0 }
.support-option .wp-block-buttons { margin-top: auto }
@media (max-width: 767px) {
  .support-options { grid-template-columns: 1fr }
  .support-option { padding-left: 0; border-left: 0; padding-top: var(--space-lg); border-top: 1px solid var(--border-medium) }
  .support-option:first-child { padding-top: 0; border-top: 0 }
}

.room-card .room-card__image { padding-bottom: 1.25rem; aspect-ratio: auto }
.room-card .room-card__image img { border-radius: var(--radius-card); aspect-ratio: 4/3; object-fit: cover }
.room-card__btn { justify-self: start }

/* The original .btn-* classes sit on the block wrapper — keep only the inner link styled */
.wp-block-button.btn-primary-light, .wp-block-button.btn-primary-dark, .wp-block-button.btn-secondary, .wp-block-button.btn-primary-rust {
  background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; opacity: 1 !important; transform: none !important;
}
main.gs-main > .entry-content { padding-top: 0 !important }

.pkg-card .pkg-card__list { padding: 0 var(--space-md) }
.pkg-feature .pkg-card__list { padding: 0 }

/* ---------- Video hero (centred text over the welcome video) ---------- */
.hero--video { position: relative; overflow: hidden; color: var(--text-inverse); text-align: center; justify-content: center }
.hero--video .hero__center { max-width: 980px; margin-inline: auto; display: flex; flex-direction: column; align-items: center; position: relative; z-index: 2 }
.hero--video .eyebrow { color: var(--color-cream) }
.hero--video .hero__heading, .hero--video .hero__heading .elementor-heading-title { text-shadow: 0 4px 30px rgba(0,0,0,.25) }
.hero--video .hero__tagline { margin-left: auto; margin-right: auto; color: #fff2e0e6 }
.hero--video .hero__ctas { justify-content: center }
/* WordPress cover block version */
.wp-block-cover.hero--video { padding: calc(var(--nav-height) + var(--space-xl)) 1rem var(--space-hero); min-height: 100vh; display: flex; align-items: center; background: var(--bg-inverse) }
.wp-block-cover.hero--video .wp-block-cover__inner-container { width: 100%; color: var(--text-inverse) }
.wp-block-cover.hero--video .wp-block-cover__background { opacity: .5 }
.entry-content .hero__heading { margin-bottom: .3em }
