/* ==========================================================
   CENTRO YOGA FINALE — PAGINA GALLERY
   Roneous 2.1.8 + WPBakery + plugin Album fotografici
   Versione child theme 1.5.20
   ========================================================== */

:root {
  --cyf-gallery-container: 1320px;
  --cyf-gallery-desktop-gutter: 48px;
  --cyf-gallery-tablet-gutter: 25px;
  --cyf-gallery-mobile-gutter: 18px;
}

.cyf-gallery-hero,
.cyf-gallery-intro,
.cyf-gallery-albums,
.cyf-gallery-cta,
.cyf-gallery-hero *,
.cyf-gallery-intro *,
.cyf-gallery-albums *,
.cyf-gallery-cta * {
  box-sizing: border-box;
}

.cyf-gallery-hero .wpb_content_element,
.cyf-gallery-intro .wpb_content_element,
.cyf-gallery-albums .wpb_content_element,
.cyf-gallery-cta .wpb_content_element {
  margin-bottom: 0;
}

/* Righe vuote create dall’editor tra shortcode. */
.wpb-content-wrapper > .vc_row.bg-light.not-equal.not-color:not(.cyf-gallery-hero):not(.cyf-gallery-intro):not(.cyf-gallery-albums):not(.cyf-gallery-cta) {
  display: none !important;
}

.cyf-gallery-hero > div:first-child > .row > br,
.cyf-gallery-intro > div:first-child > .row > br,
.cyf-gallery-albums > div:first-child > .row > br,
.cyf-gallery-cta > div:first-child > .row > br {
  display: none !important;
}

.cyf-gallery-hero h1,
.cyf-gallery-intro h2,
.cyf-gallery-cta h2 {
  margin-top: 0;
  color: var(--cyf-color-charcoal) !important;
  font-family: var(--cyf-font-display) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em;
  text-wrap: balance;
}

/* Header interno chiaro; lo sticky Roneous resta attivo quando compare .fixed. */
.nav-container { height: auto !important; }
.nav-container nav.transparent.absolute:not(.fixed) {
  position: relative !important;
  inset: auto !important;
  color: var(--cyf-color-charcoal) !important;
  background: rgba(248, 244, 237, .98) !important;
}
.nav-container nav.transparent .logo-light { display: none !important; }
.nav-container nav.transparent .logo-dark { display: inline !important; }
.nav-container nav.transparent .nav-utility,
.nav-container nav.transparent .nav-bar { border-color: rgba(53, 55, 53, .12) !important; }
.nav-container nav.transparent .nav-utility,
.nav-container nav.transparent .nav-utility i,
.nav-container nav.transparent .nav-utility span,
.nav-container nav.transparent .nav-utility a,
.nav-container nav.transparent .menu > li > a,
.nav-container nav.transparent .mobile-toggle i { color: var(--cyf-color-charcoal) !important; }

.cyf-gallery-hero > div:first-child > .row::before,
.cyf-gallery-hero > div:first-child > .row::after,
.cyf-gallery-intro > div:first-child > .row::before,
.cyf-gallery-intro > div:first-child > .row::after,
.cyf-gallery-cta > div:first-child > .row::before,
.cyf-gallery-cta > div:first-child > .row::after {
  display: none !important;
  content: none !important;
}

/* ==========================================================
   1. HERO
   ========================================================== */

.cyf-gallery-hero {
  height: 620px;
  min-height: 620px;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background: #ded6ca;
}

.cyf-gallery-hero > div:first-child {
  width: 100% !important;
  max-width: none !important;
  height: 620px;
  margin: 0 !important;
  padding: 0 !important;
}

.cyf-gallery-hero > div:first-child > .row {
  display: grid !important;
  grid-template-columns: minmax(0, 47%) minmax(0, 53%);
  width: 100%;
  height: 620px;
  margin: 0 !important;
}

.cyf-gallery-hero > div:first-child > .row > .wpb_column,
.cyf-gallery-hero > div:first-child > .row > .wpb_column > .vc_column-inner {
  float: none !important;
  width: auto !important;
  height: 620px !important;
  min-height: 0 !important;
  padding: 0 !important;
}

.cyf-gallery-hero > div:first-child > .row > .cyf-gallery-hero-copy > .vc_column-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 84px 58px 76px max(var(--cyf-gallery-desktop-gutter), calc((100vw - var(--cyf-gallery-container)) * .5)) !important;
}

.cyf-gallery-hero .cyf-kicker { margin-bottom: 20px; }

.cyf-gallery-hero-title h1 {
  max-width: 650px;
  margin: 0 0 28px !important;
  font-size: clamp(68px, 6.4vw, 92px) !important;
  line-height: .94 !important;
}

.cyf-gallery-hero-text p {
  max-width: 560px;
  margin: 0;
  color: var(--cyf-color-body);
  font-family: var(--cyf-font-body);
  font-size: 18px;
  line-height: 1.72;
}

.cyf-gallery-hero-media,
.cyf-gallery-hero-media > .vc_column-inner,
.cyf-gallery-hero-media > .vc_column-inner > .wpb_wrapper,
.cyf-gallery-hero-image,
.cyf-gallery-hero-image .wpb_wrapper,
.cyf-gallery-hero-image figure,
.cyf-gallery-hero-image .vc_single_image-wrapper {
  position: relative;
  display: block;
  width: 100%;
  height: 620px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cyf-gallery-hero-image img {
  display: block;
  width: 100% !important;
  height: 620px !important;
  min-height: 0 !important;
  margin: 0;
  object-fit: cover;
  object-position: center 48%;
}

.cyf-gallery-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(53, 55, 53, .12), transparent 38%);
}

/* ==========================================================
   2. INTRODUZIONE
   ========================================================== */

.cyf-gallery-intro {
  margin: 0 !important;
  padding: 118px 0 74px !important;
  background: var(--cyf-color-ivory);
}

.cyf-gallery-intro > .container {
  width: calc(100% - (var(--cyf-gallery-desktop-gutter) * 2));
  max-width: var(--cyf-gallery-container);
  padding: 0;
}

.cyf-gallery-intro > .container > .row {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 100px;
  margin: 0 !important;
}

.cyf-gallery-intro > .container > .row > .wpb_column {
  float: none !important;
  width: auto !important;
  padding: 0 !important;
}

.cyf-gallery-intro > .container > .row > .wpb_column > .vc_column-inner { padding: 0 !important; }
.cyf-gallery-intro-title .cyf-kicker { margin-bottom: 19px; }
.cyf-gallery-intro h2 { margin: 0 !important; font-size: clamp(50px, 4.3vw, 64px) !important; line-height: 1.02 !important; }
.cyf-gallery-intro-copy p { max-width: 650px; margin: 31px 0 0; font-family: var(--cyf-font-body); font-size: 18px; line-height: 1.75; }
.cyf-gallery-intro-note { margin-top: 34px !important; padding-top: 34px; border-top: 1px solid rgba(53,55,53,.22); }
.cyf-gallery-intro-note p { margin: 0; font-size: 14px; line-height: 1.7; }

/* ==========================================================
   3. GRIGLIA DINAMICA
   ========================================================== */

.cyf-gallery-albums {
  margin: 0 !important;
  padding: 0 0 120px !important;
  background: var(--cyf-color-ivory);
}

.cyf-gallery-albums > .container {
  width: calc(100% - (var(--cyf-gallery-desktop-gutter) * 2));
  max-width: var(--cyf-gallery-container);
  padding: 0;
}

.cyf-gallery-albums > .container > .row { margin: 0 !important; }
.cyf-gallery-albums > .container > .row > .wpb_column,
.cyf-gallery-albums > .container > .row > .wpb_column > .vc_column-inner { padding: 0 !important; }

/* ==========================================================
   4. CTA
   ========================================================== */

.cyf-gallery-cta { margin: 0 !important; padding: 0 !important; background: var(--cyf-color-terra); }
.cyf-gallery-cta > div:first-child { width: calc(100% - (var(--cyf-gallery-desktop-gutter) * 2)) !important; max-width: var(--cyf-gallery-container) !important; margin: 0 auto !important; padding: 0 !important; }
.cyf-gallery-cta > div:first-child > .row { display: grid !important; grid-template-columns: minmax(0, 2fr) minmax(250px, 1fr); align-items: center; gap: 40px; margin: 0 !important; padding: 56px 0 !important; }
.cyf-gallery-cta > div:first-child > .row > .wpb_column { float: none !important; width: auto !important; padding: 0 !important; }
.cyf-gallery-cta > div:first-child > .row > .wpb_column > .vc_column-inner { padding: 0 !important; }
.cyf-gallery-cta h2 { margin: 0 0 8px !important; color: #fff !important; font-size: clamp(34px, 3.4vw, 46px) !important; line-height: 1.05 !important; }
.cyf-gallery-cta p { margin: 0; color: #fff; font-size: 15px; line-height: 1.6; }
.cyf-gallery-cta-action { text-align: right; }
.cyf-gallery-cta .cyf-btn { border-color: #fff !important; color: #fff !important; background: transparent !important; }

@media (max-width: 900px) {
  .cyf-gallery-hero { height: auto; min-height: 0; }
  .cyf-gallery-hero > div:first-child { height: auto; }
  .cyf-gallery-hero > div:first-child > .row { grid-template-columns: 1fr; height: auto; }
  .cyf-gallery-hero > div:first-child > .row > .wpb_column,
  .cyf-gallery-hero > div:first-child > .row > .wpb_column > .vc_column-inner { height: auto !important; }
  .cyf-gallery-hero > div:first-child > .row > .cyf-gallery-hero-copy > .vc_column-inner { min-height: 510px; padding: 115px var(--cyf-gallery-tablet-gutter) 70px !important; }
  .cyf-gallery-hero-media,
  .cyf-gallery-hero-media > .vc_column-inner,
  .cyf-gallery-hero-media > .vc_column-inner > .wpb_wrapper,
  .cyf-gallery-hero-image,
  .cyf-gallery-hero-image .wpb_wrapper,
  .cyf-gallery-hero-image figure,
  .cyf-gallery-hero-image .vc_single_image-wrapper,
  .cyf-gallery-hero-image img { height: 500px !important; }
  .cyf-gallery-intro { padding: 82px 0 58px !important; }
  .cyf-gallery-intro > .container,
  .cyf-gallery-albums > .container,
  .cyf-gallery-cta > div:first-child { width: calc(100% - (var(--cyf-gallery-tablet-gutter) * 2)) !important; }
  .cyf-gallery-intro > .container > .row { grid-template-columns: 1fr; gap: 35px; }
  .cyf-gallery-intro-copy p { margin-top: 0; }
}

@media (max-width: 600px) {
  .cyf-gallery-hero > div:first-child > .row > .cyf-gallery-hero-copy > .vc_column-inner { min-height: 410px; padding: 112px var(--cyf-gallery-mobile-gutter) 58px !important; }
  .cyf-gallery-hero-title h1 { font-size: 56px !important; }
  .cyf-gallery-hero-text p { font-size: 16px; line-height: 1.7; }
  .cyf-gallery-hero-media,
  .cyf-gallery-hero-media > .vc_column-inner,
  .cyf-gallery-hero-media > .vc_column-inner > .wpb_wrapper,
  .cyf-gallery-hero-image,
  .cyf-gallery-hero-image .wpb_wrapper,
  .cyf-gallery-hero-image figure,
  .cyf-gallery-hero-image .vc_single_image-wrapper,
  .cyf-gallery-hero-image img { height: 390px !important; }
  .cyf-gallery-intro { padding: 70px 0 48px !important; }
  .cyf-gallery-intro > .container,
  .cyf-gallery-albums > .container,
  .cyf-gallery-cta > div:first-child { width: calc(100% - (var(--cyf-gallery-mobile-gutter) * 2)) !important; }
  .cyf-gallery-intro h2 { font-size: 46px !important; }
  .cyf-gallery-intro-copy p { font-size: 16px; line-height: 1.7; }
  .cyf-gallery-intro-note { margin-top: 28px !important; padding-top: 28px; }
  .cyf-gallery-albums { padding-bottom: 72px !important; }
  .cyf-gallery-cta > div:first-child > .row { grid-template-columns: 1fr; gap: 24px; padding: 45px 0 !important; }
  .cyf-gallery-cta-action { text-align: left; }
  .cyf-gallery-cta h2 { font-size: 38px !important; }
}
