*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;overflow-x:hidden}.lg-page{min-height:100vh}.lg-kicker{font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:800}.lg-hero{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;padding:18px;background:var(--forest)}.lg-hero-main{position:relative;min-height:calc(100vh - 36px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:linear-gradient(90deg,color-mix(in srgb,var(--forest) 88%,transparent),color-mix(in srgb,var(--forest) 18%,transparent)),var(--hero-image) center 35%/cover}.lg-hero-main:after{content:"";position:absolute;inset:28px;border:1px solid color-mix(in srgb,var(--gold) 72%,transparent)}.lg-hero-copy{position:relative;z-index:2;width:min(820px,calc(100% - 80px));margin:0 0 72px 58px}.lg-monogram{width:72px;height:72px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font:700 25px "Bodoni Moda",serif}.lg-hero h1{margin:30px 0 24px;font:500 clamp(76px,10vw,154px)/.78 "Bodoni Moda",serif;letter-spacing:-.045em}.lg-hero h1 span{display:block}.lg-hero-meta{color:#eee2c2;font-size:11px;letter-spacing:.24em;text-transform:uppercase}.lg-hero-side{display:grid;grid-template-rows:1fr 1fr;gap:18px}.lg-hero-card{position:relative;overflow:hidden;padding:32px;display:flex;flex-direction:column;justify-content:flex-end;min-height:280px}.lg-date-card{background:var(--sage);color:var(--ink)}.lg-place-card{color:#fff;background:linear-gradient(180deg,color-mix(in srgb,var(--forest) 5%,transparent),color-mix(in srgb,var(--forest) 68%,transparent)),var(--place-image) center/cover}.lg-big{margin-top:14px;font:500 clamp(40px,5vw,72px)/.92 "Bodoni Moda",serif}.lg-tape{position:absolute;top:24px;right:22px;padding:7px 12px;background:color-mix(in srgb,var(--gold) 45%,var(--sage));color:var(--ink);transform:rotate(2deg);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.lg-countdown{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);background:linear-gradient(90deg,color-mix(in srgb,var(--forest) 96%,#000),var(--forest-2),color-mix(in srgb,var(--forest) 92%,#000));color:#fff}.lg-countdown-copy{padding:34px 52px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(255,255,255,.13)}.lg-countdown-copy span{color:var(--gold);font-size:10px;letter-spacing:.28em;text-transform:uppercase;font-weight:800}.lg-countdown-copy strong{margin-top:8px;font:500 clamp(28px,3vw,46px)/1 "Bodoni Moda",serif}.lg-countdown-grid{display:grid;grid-template-columns:repeat(4,1fr)}.lg-countdown-grid>div{position:relative;min-height:158px;display:flex;flex-direction:column;align-items:center;justify-content:center}.lg-countdown-grid>div+div:before{content:"";position:absolute;left:0;top:28px;bottom:28px;width:1px;background:linear-gradient(transparent,rgba(255,255,255,.21),transparent)}.lg-countdown b{font:500 clamp(56px,6vw,88px)/.8 "Bodoni Moda",serif}.lg-countdown-grid span{margin-top:13px;font-size:9px;letter-spacing:.22em;text-transform:uppercase}.lg-story{display:grid;grid-template-columns:1fr 1fr;background:color-mix(in srgb,var(--paper) 92%,#fff);border-block:1px solid color-mix(in srgb,var(--ink) 16%,transparent)}.lg-story-photo{min-height:620px}.lg-story-photo img{width:100%;height:100%;object-fit:cover}.lg-story-copy{padding:58px;display:flex;flex-direction:column;justify-content:center}.lg-story-copy.is-full{grid-column:1/-1}.lg-story h2,.lg-band-head h2,.lg-rsvp h2{margin:18px 0 24px;font:500 clamp(48px,6vw,86px)/.9 "Bodoni Moda",serif}.lg-story p,.lg-section-text,.lg-rsvp p{line-height:1.8;color:var(--muted)}.lg-band{display:grid;grid-template-columns:300px minmax(0,1fr);border-top:1px solid color-mix(in srgb,var(--ink) 16%,transparent)}.lg-band-head{padding:54px 42px;background:color-mix(in srgb,var(--paper) 88%,var(--sage))}.lg-band-body{padding:58px;background:color-mix(in srgb,var(--paper) 92%,#fff);min-width:0}.lg-num{font-size:11px;letter-spacing:.24em}.lg-program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:color-mix(in srgb,var(--forest) 18%,transparent)}.lg-program-grid article{min-height:290px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;background:color-mix(in srgb,var(--paper) 90%,#fff)}.lg-roman{color:var(--gold);font:500 54px "Bodoni Moda",serif}.lg-program-grid h3{margin:0 0 12px;font:500 31px/1 "Bodoni Moda",serif}.lg-program-grid p{color:var(--muted)}.lg-dress-card{display:grid;grid-template-columns:1fr 1fr;gap:18px}.lg-dress-copy{padding:42px;min-height:360px;background:var(--forest-2);color:#fff}.lg-dress-photo img{width:100%;height:100%;object-fit:cover;min-height:360px}.lg-palette{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.lg-palette span{width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,255,255,.35)}.lg-gallery{display:grid;grid-template-columns:1.35fr .65fr .65fr;gap:18px}.lg-gallery figure{margin:0;min-height:320px;overflow:hidden}.lg-gallery figure:first-child{grid-row:span 2;min-height:658px}.lg-gallery a,.lg-gallery img{display:block;width:100%;height:100%}.lg-gallery img{object-fit:cover;transition:transform .35s ease}.lg-gallery a:hover img{transform:scale(1.025)}.lg-shared-block{background:color-mix(in srgb,var(--paper) 94%,#fff)}.lg-rsvp{padding:100px max(24px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;background:var(--forest);color:#fff}.lg-rsvp p{color:#bdc8c2}.lg-rsvp-block{background:transparent}.lg-footer{padding:48px 20px;background:color-mix(in srgb,var(--forest) 72%,#000);color:var(--gold);text-align:center}.lg-footer strong{display:block;font:500 34px "Bodoni Moda",serif}.lg-footer span{display:block;margin-top:8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase}@media(max-width:980px){.lg-hero{grid-template-columns:1fr}.lg-hero-main{min-height:78vh}.lg-hero-side{grid-template-columns:1fr 1fr;grid-template-rows:none}.lg-countdown{grid-template-columns:1fr}.lg-countdown-copy{text-align:center;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.lg-story{grid-template-columns:1fr}.lg-program-grid{grid-template-columns:1fr 1fr}.lg-rsvp{grid-template-columns:1fr}}@media(max-width:760px){.lg-hero{padding:10px;gap:10px}.lg-hero-main{min-height:72vh}.lg-hero-main:after{inset:14px}.lg-hero-copy{width:calc(100% - 40px);margin:0 0 42px 28px}.lg-hero-side{grid-template-columns:1fr}.lg-countdown-grid{grid-template-columns:repeat(2,1fr)}.lg-countdown-grid>div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.1)}.lg-band{grid-template-columns:1fr}.lg-band-head,.lg-band-body{padding:34px 24px}.lg-program-grid,.lg-dress-card,.lg-gallery{grid-template-columns:1fr}.lg-gallery figure:first-child{grid-row:auto;min-height:420px}.lg-story-copy{padding:34px 24px}.lg-story-photo{min-height:380px}.lg-rsvp{padding:76px 24px}}


/* =========================================================
   LESNAYA GLAVA — TEXT SAFETY / SHARED BLOCK INTEGRATION
========================================================= */
.lg-band,.lg-band-head,.lg-band-body,.lg-program-grid,.lg-dress-card,.lg-gallery{min-width:0}
.lg-band-head{overflow:hidden}
.lg-band-head h2{max-width:100%;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.lg-program-grid h3,.lg-program-grid p,.lg-section-text{overflow-wrap:anywhere}
@media(max-width:1280px){
  .lg-band{grid-template-columns:minmax(235px,30vw) minmax(0,1fr)}
  .lg-band-head{padding:42px 28px}
  .lg-band-head h2{font-size:clamp(38px,5.5vw,62px);line-height:.94}
  .lg-band-body{padding:42px 34px}
  .lg-program-grid h3{font-size:clamp(24px,2.5vw,31px)}
}
@media(max-width:900px){
  .lg-band{grid-template-columns:1fr}
  .lg-band-head{padding:30px 24px 26px}
  .lg-band-head h2{font-size:clamp(44px,10vw,70px)}
}

/* Shared location */
.lg-location-block{margin-top:30px}
.lg-location-block #location,.lg-location-block #loc,.lg-location-block .iviLoc{margin:0!important;padding:0!important;background:transparent!important}
.lg-location-block .iviLocHead,.lg-location-block .iviLocHeader,.lg-location-block .iviLocKicker,.lg-location-block .iviLocTitle,.lg-location-block .iviLocText,.lg-location-block .sectionTitle,.lg-location-block .sectionSub{display:none!important}
.lg-location-block .iviLocGrid,.lg-location-block .locations,.lg-location-block .location-grid,.lg-location-block .locGrid,.lg-location-block .location-list{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important
}
.lg-location-block .iviLocCard,.lg-location-block article,.lg-location-block .location-card,.lg-location-block .locCard{
  display:flex!important;flex-direction:column!important;min-width:0!important;overflow:hidden!important;
  border:1px solid color-mix(in srgb,var(--ink) 13%,transparent)!important;border-radius:0!important;
  background:color-mix(in srgb,var(--paper) 94%,#fff)!important;
  box-shadow:0 18px 46px color-mix(in srgb,var(--ink) 9%,transparent)!important
}
.lg-location-block .iviLocPhoto,.lg-location-block [class*="Photo"]{width:100%!important;overflow:hidden!important;background:var(--sage)!important}
.lg-location-block .iviLocPhoto img,.lg-location-block article>img,.lg-location-block .location-card img,.lg-location-block .locCard img{
  display:block!important;width:100%!important;height:330px!important;max-height:none!important;object-fit:cover!important
}
.lg-location-block .iviLocBody,.lg-location-block [class*="Body"]{
  display:flex!important;flex:1!important;flex-direction:column!important;padding:28px!important;color:var(--ink)!important
}
.lg-location-block .iviLocBadge,.lg-location-block .iviLocLabel,.lg-location-block .iviLocType{
  width:max-content!important;margin:0 0 14px!important;padding:7px 10px!important;background:var(--forest-2)!important;color:#fff!important;
  font-size:10px!important;font-weight:700!important;letter-spacing:.16em!important;text-transform:uppercase!important
}
.lg-location-block .iviLocName{
  margin:0 0 12px!important;color:var(--ink)!important;font-family:"Bodoni Moda",Georgia,serif!important;
  font-size:clamp(34px,3.4vw,52px)!important;line-height:.98!important;font-weight:500!important;overflow-wrap:anywhere!important
}
.lg-location-block .iviLocAddr,.lg-location-block .iviLocAddress,.lg-location-block .iviLocNote,.lg-location-block p{
  color:var(--muted)!important;font-size:14px!important;line-height:1.7!important
}
.lg-location-block .iviLocActions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:auto!important;padding-top:22px!important}
.lg-location-block .iviBtn,.lg-location-block a[class*="Btn"],.lg-location-block button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;padding:0 20px!important;
  border:1px solid var(--button-bg)!important;border-radius:0!important;background:var(--button-bg)!important;color:var(--button-text)!important;
  font-size:10px!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important;text-decoration:none!important
}

/* Shared RSVP */
.lg-rsvp-block{width:100%;max-width:900px;margin:0 auto}
.lg-rsvp-shared #rsvp,.lg-rsvp-shared .rsvpSection{margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.lg-rsvp-shared #rsvp>header,.lg-rsvp-shared .rsvpHead,.lg-rsvp-shared .rsvpHeader,.lg-rsvp-shared .rsvpIntro,.lg-rsvp-shared .rsvpHero,.lg-rsvp-shared .rsvpLead,.lg-rsvp-shared .rsvpCopy,.lg-rsvp-shared .rsvpKicker,.lg-rsvp-shared .rsvpTitle,.lg-rsvp-shared .rsvpText,.lg-rsvp-shared .sectionKicker,.lg-rsvp-shared .sectionTitle,.lg-rsvp-shared .sectionSub{display:none!important}
.lg-rsvp-shared form,.lg-rsvp-shared .rsvp-form,.lg-rsvp-shared .rsvpForm,.lg-rsvp-shared .rsvpFormCard{
  width:100%!important;max-width:none!important;margin:0!important;padding:34px!important;border:1px solid rgba(255,255,255,.22)!important;
  border-radius:28px!important;background:rgba(255,255,255,.94)!important;color:var(--ink)!important;
  box-shadow:0 22px 58px rgba(0,0,0,.18)!important
}
.lg-rsvp-shared label,.lg-rsvp-shared h3,.lg-rsvp-shared p,.lg-rsvp-shared span,.lg-rsvp-shared small{color:var(--ink)!important}
.lg-rsvp-shared input:not([type="radio"]):not([type="checkbox"]),.lg-rsvp-shared textarea,.lg-rsvp-shared select{
  width:100%!important;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent)!important;border-radius:16px!important;
  background:#fff!important;color:var(--ink)!important;box-shadow:none!important
}
.lg-rsvp-shared input::placeholder,.lg-rsvp-shared textarea::placeholder{
  color:color-mix(in srgb,var(--ink) 50%,transparent)!important;opacity:1!important
}
.lg-rsvp-shared .rsvp-options,.lg-rsvp-shared .rsvpOptions,.lg-rsvp-shared [class*="attendance"]{gap:10px!important}
.lg-rsvp-shared .rsvp-options button,.lg-rsvp-shared .rsvpOptions button,.lg-rsvp-shared button[type="button"]{
  border:1px solid color-mix(in srgb,var(--ink) 18%,transparent)!important;
  background:color-mix(in srgb,var(--paper) 92%,#fff)!important;color:var(--ink)!important
}
.lg-rsvp-shared .rsvp-options button.is-active,.lg-rsvp-shared .rsvpOptions button.is-active,.lg-rsvp-shared button[aria-pressed="true"]{
  background:var(--button-bg)!important;border-color:var(--button-bg)!important;color:var(--button-text)!important
}
.lg-rsvp-shared button[type="submit"]{
  min-height:58px!important;border:0!important;border-radius:999px!important;background:var(--button-bg)!important;
  color:var(--button-text)!important;font-weight:800!important
}
.lg-rsvp-shared input[type="checkbox"],.lg-rsvp-shared input[type="radio"]{accent-color:var(--button-bg)!important}
@media(max-width:760px){
  .lg-location-block .iviLocGrid,.lg-location-block .locations,.lg-location-block .location-grid,.lg-location-block .locGrid,.lg-location-block .location-list{grid-template-columns:1fr!important}
  .lg-location-block .iviLocPhoto img,.lg-location-block article>img,.lg-location-block .location-card img,.lg-location-block .locCard img{height:260px!important}
  .lg-location-block .iviLocBody,.lg-location-block [class*="Body"]{padding:22px!important}
  .lg-rsvp-shared form,.lg-rsvp-shared .rsvp-form,.lg-rsvp-shared .rsvpForm,.lg-rsvp-shared .rsvpFormCard{padding:22px 18px!important;border-radius:22px!important}
}


/* =========================================================
   LESNAYA GLAVA — WIDER TITLES / COMPACT CONTENT / DRESSCODE
========================================================= */

/* Левая колонка с заголовками чуть шире */
.lg-band{
  grid-template-columns:340px minmax(0,1fr);
}

/* Правый контент немного компактнее и визуально собраннее */
.lg-band-body{
  padding:58px 72px 58px 58px;
}
.lg-band-body > *{
  width:min(100%, 980px);
}

/* Dress code заполняет доступную область */
.lg-dress-card{
  width:min(100%,980px);
  min-height:420px;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:stretch;
}
.lg-dress-card .lg-dress-copy,
.lg-dress-copy{
  min-height:420px;
  padding:46px 42px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

/* Цвета крупными квадратами */
.lg-palette,
.lg-dress-palette,
.palette{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(88px,1fr))!important;
  gap:14px!important;
  width:100%!important;
  margin-top:34px!important;
}
.lg-swatch,
.lg-palette span,
.lg-dress-palette span,
.palette .swatch,
.palette span{
  width:100%!important;
  min-width:0!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  border-radius:0!important;
  border:1px solid rgba(255,255,255,.38)!important;
}

/* На средних экранах не режем заголовки и сохраняем ритм */
@media(max-width:1280px){
  .lg-band{
    grid-template-columns:minmax(270px,34vw) minmax(0,1fr);
  }
  .lg-band-body{
    padding:42px 46px 42px 36px;
  }
  .lg-palette,
  .lg-dress-palette,
  .palette{
    grid-template-columns:repeat(5,minmax(64px,1fr))!important;
  }
}

@media(max-width:900px){
  .lg-band{
    grid-template-columns:1fr;
  }
  .lg-band-body{
    padding:30px 24px 42px;
  }
  .lg-band-body > *{
    width:100%;
  }
}

@media(max-width:620px){
  .lg-palette,
  .lg-dress-palette,
  .palette{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .lg-dress-card .lg-dress-copy,
  .lg-dress-copy{
    min-height:auto;
    padding:30px 22px;
  }
}


/* =========================================================
   V4 — FULL WIDTH DRESS CODE / SHORTER STORY
========================================================= */

/* Dress code занимает всю правую часть без ограничения 980px */
.lg-band-body:has(.lg-dress-card){
  padding-right:58px;
}
.lg-band-body:has(.lg-dress-card) > *,
.lg-dress-card{
  width:100%!important;
  max-width:none!important;
}
.lg-dress-card{
  grid-template-columns:minmax(0,1fr)!important;
}
.lg-dress-copy{
  width:100%!important;
  min-height:390px!important;
}
.lg-dress-photo{
  display:none!important;
}

/* История: композицию и фото сохраняем, но уменьшаем высоту */
.lg-story{
  min-height:0!important;
}
.lg-story-photo{
  min-height:460px!important;
  max-height:460px!important;
}
.lg-story-photo img{
  height:460px!important;
  object-fit:cover!important;
}
.lg-story-copy{
  padding:40px 48px!important;
}
.lg-story h2{
  margin-bottom:18px!important;
  font-size:clamp(44px,5.4vw,76px)!important;
}
.lg-story p{
  line-height:1.65!important;
}

@media(max-width:980px){
  .lg-story-photo{
    min-height:380px!important;
    max-height:380px!important;
  }
  .lg-story-photo img{
    height:380px!important;
  }
  .lg-story-copy{
    padding:34px!important;
  }
  .lg-band-body:has(.lg-dress-card){
    padding-right:36px;
  }
}

@media(max-width:760px){
  .lg-story-photo{
    min-height:300px!important;
    max-height:300px!important;
  }
  .lg-story-photo img{
    height:300px!important;
  }
  .lg-story-copy{
    padding:28px 22px 34px!important;
  }
  .lg-band-body:has(.lg-dress-card){
    padding-right:24px;
  }
  .lg-dress-copy{
    min-height:auto!important;
  }
}


/* =========================================================
   V5 — COMPACT DRESS CODE / STORY SLIGHTLY HIGHER
========================================================= */

/* История чуть выше и компактнее */
.lg-story{
  margin-top:-22px!important;
}
.lg-story-photo{
  min-height:430px!important;
  max-height:430px!important;
}
.lg-story-photo img{
  height:430px!important;
}
.lg-story-copy{
  padding:34px 44px!important;
}

/* Dress code снова компактный */
.lg-band-body:has(.lg-dress-card){
  padding-top:42px!important;
  padding-bottom:42px!important;
}
.lg-dress-card{
  min-height:0!important;
}
.lg-dress-copy{
  min-height:0!important;
  padding:34px 40px!important;
}
.lg-palette,
.lg-dress-palette,
.palette{
  grid-template-columns:repeat(5,minmax(72px,1fr))!important;
  gap:12px!important;
  margin-top:26px!important;
  max-width:100%!important;
}
.lg-swatch,
.lg-palette span,
.lg-dress-palette span,
.palette .swatch,
.palette span{
  aspect-ratio:1/1!important;
  max-height:132px!important;
}

/* Не даём палитре расти до гигантских размеров */
@media(min-width:1281px){
  .lg-palette,
  .lg-dress-palette,
  .palette{
    grid-template-columns:repeat(5,minmax(90px,132px))!important;
    justify-content:start!important;
  }
}

@media(max-width:980px){
  .lg-story{
    margin-top:-12px!important;
  }
  .lg-story-photo{
    min-height:360px!important;
    max-height:360px!important;
  }
  .lg-story-photo img{
    height:360px!important;
  }
  .lg-palette,
  .lg-dress-palette,
  .palette{
    grid-template-columns:repeat(5,minmax(58px,1fr))!important;
  }
}

@media(max-width:760px){
  .lg-story{
    margin-top:0!important;
  }
  .lg-story-photo{
    min-height:280px!important;
    max-height:280px!important;
  }
  .lg-story-photo img{
    height:280px!important;
  }
  .lg-story-copy{
    padding:26px 22px 30px!important;
  }
  .lg-dress-copy{
    padding:26px 22px!important;
  }
  .lg-palette,
  .lg-dress-palette,
  .palette{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}


/* =========================================================
   V6 — DRESS CODE SWATCHES IN ONE ROW
========================================================= */

/* Карточка больше не держит лишнюю высоту */
.lg-dress-card,
.lg-dress-copy{
  min-height:0!important;
  height:auto!important;
}

/* Все цвета в один ряд, без пустоты справа */
.lg-palette,
.lg-dress-palette,
.palette{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  max-width:none!important;
  margin-top:28px!important;
  align-items:stretch!important;
}

/* Не квадраты, а широкие мягкие плитки */
.lg-swatch,
.lg-palette span,
.lg-dress-palette span,
.palette .swatch,
.palette span{
  width:100%!important;
  min-width:0!important;
  height:88px!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  border-radius:18px!important;
  border:1px solid rgba(255,255,255,.34)!important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)!important;
}

/* Убираем старое ограничение колонок на больших экранах */
@media(min-width:1281px){
  .lg-palette,
  .lg-dress-palette,
  .palette{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    justify-content:stretch!important;
  }
}

@media(max-width:1180px){
  .lg-palette,
  .lg-dress-palette,
  .palette{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  .lg-palette,
  .lg-dress-palette,
  .palette{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .lg-swatch,
  .lg-palette span,
  .lg-dress-palette span,
  .palette .swatch,
  .palette span{
    height:72px!important;
    border-radius:14px!important;
  }
}


/* =========================================================
   V7 — CLEAN DRESSCODE TITLE / REMOVE EMPTY SPACE
========================================================= */

/* Сам блок dress code больше не держит старую минимальную высоту */
.lg-band:has(.lg-dress-card){
  min-height:0!important;
  align-items:stretch!important;
}
.lg-band:has(.lg-dress-card) .lg-band-head,
.lg-band:has(.lg-dress-card) .lg-band-body{
  min-height:0!important;
  height:auto!important;
}
.lg-band:has(.lg-dress-card) .lg-band-body{
  padding-top:38px!important;
  padding-bottom:38px!important;
}
.lg-band:has(.lg-dress-card) .lg-dress-card,
.lg-band:has(.lg-dress-card) .lg-dress-copy{
  min-height:0!important;
  height:auto!important;
}

/* Заголовок слева без странной лесенки и переносов по слогам */
.lg-band:has(.lg-dress-card) .lg-band-head{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding-top:36px!important;
  padding-bottom:36px!important;
}
.lg-band:has(.lg-dress-card) .lg-band-head h2{
  max-width:260px!important;
  font-size:clamp(42px,4.4vw,64px)!important;
  line-height:.96!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.lg-band:has(.lg-dress-card) .lg-band-head h2 br{
  display:none!important;
}

/* Палитра чуть ближе к тексту */
.lg-band:has(.lg-dress-card) .lg-palette,
.lg-band:has(.lg-dress-card) .lg-dress-palette,
.lg-band:has(.lg-dress-card) .palette{
  margin-top:22px!important;
}

@media(max-width:1280px){
  .lg-band:has(.lg-dress-card) .lg-band-head h2{
    max-width:220px!important;
    font-size:clamp(38px,5vw,56px)!important;
  }
}

@media(max-width:900px){
  .lg-band:has(.lg-dress-card) .lg-band-head{
    justify-content:flex-start!important;
  }
  .lg-band:has(.lg-dress-card) .lg-band-head h2{
    max-width:none!important;
    font-size:clamp(44px,10vw,68px)!important;
  }
  .lg-band:has(.lg-dress-card) .lg-band-body{
    padding-top:28px!important;
    padding-bottom:32px!important;
  }
}


/* =========================================================
   V8 — WIDER LEFT COLUMN FOR ALL SECTIONS
========================================================= */

/* Левая колонка шире во всех полосах */
.lg-band{
  grid-template-columns:minmax(380px,22vw) minmax(0,1fr)!important;
}

/* Правую часть чуть поджимаем, чтобы композиция оставалась собранной */
.lg-band-body{
  padding-left:52px!important;
  padding-right:60px!important;
}

/* Заголовки больше не заходят в правую колонку */
.lg-band-head{
  min-width:0!important;
  overflow:hidden!important;
}
.lg-band-head h2{
  max-width:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}

/* Dress code следует общей ширине колонки */
.lg-band:has(.lg-dress-card) .lg-band-head h2{
  max-width:100%!important;
}

@media(max-width:1440px){
  .lg-band{
    grid-template-columns:minmax(340px,28vw) minmax(0,1fr)!important;
  }
  .lg-band-body{
    padding-left:44px!important;
    padding-right:48px!important;
  }
}

@media(max-width:1180px){
  .lg-band{
    grid-template-columns:minmax(300px,34vw) minmax(0,1fr)!important;
  }
  .lg-band-body{
    padding-left:36px!important;
    padding-right:36px!important;
  }
  .lg-band-head h2{
    font-size:clamp(38px,5vw,58px)!important;
  }
}

@media(max-width:900px){
  .lg-band{
    grid-template-columns:1fr!important;
  }
  .lg-band-body{
    padding:30px 24px 42px!important;
  }
  .lg-band-head h2{
    max-width:none!important;
    font-size:clamp(44px,10vw,68px)!important;
  }
}


/* =========================================================
   V9 — FULL-WIDTH PROGRAM / TALLER STORY
========================================================= */

/* Программа заполняет всю правую колонку */
.lg-band-body:has(.lg-program-grid){
  padding-left:24px!important;
  padding-right:24px!important;
}
.lg-band-body:has(.lg-program-grid) > *,
.lg-program-grid{
  width:100%!important;
  max-width:none!important;
}
.lg-program-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:1px!important;
}
.lg-program-card{
  width:100%!important;
  min-width:0!important;
  min-height:300px!important;
  padding:28px!important;
}

/* Историю делаем выше, композицию не меняем */
.lg-story{
  min-height:560px!important;
}
.lg-story-photo{
  min-height:520px!important;
  max-height:520px!important;
}
.lg-story-photo img{
  height:520px!important;
  object-fit:cover!important;
}
.lg-story-copy{
  padding:46px 52px!important;
}
.lg-story h2{
  margin-bottom:22px!important;
}
.lg-story p{
  line-height:1.72!important;
}

@media(max-width:1180px){
  .lg-band-body:has(.lg-program-grid){
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .lg-program-card{
    min-height:270px!important;
    padding:24px!important;
  }
  .lg-story{
    min-height:500px!important;
  }
  .lg-story-photo{
    min-height:460px!important;
    max-height:460px!important;
  }
  .lg-story-photo img{
    height:460px!important;
  }
  .lg-story-copy{
    padding:40px!important;
  }
}

@media(max-width:900px){
  .lg-program-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .lg-band-body:has(.lg-program-grid){
    padding:24px!important;
  }
}

@media(max-width:760px){
  .lg-program-grid{
    grid-template-columns:1fr!important;
  }
  .lg-program-card{
    min-height:220px!important;
  }
  .lg-story{
    min-height:0!important;
  }
  .lg-story-photo{
    min-height:340px!important;
    max-height:340px!important;
  }
  .lg-story-photo img{
    height:340px!important;
  }
  .lg-story-copy{
    padding:30px 22px 36px!important;
  }
}


/* =========================================================
   V10 — STORY WITHOUT EXTRA BOTTOM/RIGHT SPACE
========================================================= */

/* Блок истории без лишнего воздуха снизу */
.lg-story{
  min-height:0!important;
  margin-bottom:0!important;
  align-items:stretch!important;
}

/* Фото и текст одинаковой высоты */
.lg-story-photo{
  min-height:500px!important;
  max-height:none!important;
  height:auto!important;
}
.lg-story-photo img{
  width:100%!important;
  height:100%!important;
  min-height:500px!important;
  object-fit:cover!important;
  display:block!important;
}

/* Текстовая часть плотнее и ближе к правому краю */
.lg-story-copy{
  min-height:500px!important;
  padding:42px 34px 42px 52px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

/* Убираем лишние внешние отступы у секции */
.lg-story + *{
  margin-top:0!important;
}
.lg-story .lg-band-body,
.lg-story .lg-story-body{
  padding-bottom:0!important;
}

/* На широких экранах текст не висит в центре огромной пустоты */
@media(min-width:1281px){
  .lg-story-copy{
    padding-right:28px!important;
  }
}

@media(max-width:1180px){
  .lg-story-photo img{
    min-height:440px!important;
  }
  .lg-story-copy{
    min-height:440px!important;
    padding:36px 30px 36px 40px!important;
  }
}

@media(max-width:760px){
  .lg-story-photo{
    min-height:320px!important;
  }
  .lg-story-photo img{
    min-height:320px!important;
    height:320px!important;
  }
  .lg-story-copy{
    min-height:0!important;
    padding:28px 22px 32px!important;
  }
}


/* =========================================================
   V11 — STORY HALF HEIGHT
========================================================= */

.lg-story{
  min-height:0!important;
  height:auto!important;
}

.lg-story-photo{
  min-height:260px!important;
  max-height:260px!important;
  height:260px!important;
}

.lg-story-photo img{
  width:100%!important;
  height:260px!important;
  min-height:260px!important;
  object-fit:cover!important;
  display:block!important;
}

.lg-story-copy{
  min-height:260px!important;
  height:260px!important;
  padding:26px 30px 26px 42px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  overflow:hidden!important;
}

.lg-story-copy h2{
  margin-bottom:12px!important;
  font-size:clamp(38px,4.8vw,64px)!important;
  line-height:.94!important;
}

.lg-story-copy p{
  margin-bottom:0!important;
  font-size:14px!important;
  line-height:1.55!important;
}

@media(max-width:1180px){
  .lg-story-photo,
  .lg-story-copy{
    min-height:230px!important;
    max-height:230px!important;
    height:230px!important;
  }

  .lg-story-photo img{
    height:230px!important;
    min-height:230px!important;
  }

  .lg-story-copy{
    padding:22px 26px 22px 34px!important;
  }
}

@media(max-width:760px){
  .lg-story-photo{
    min-height:230px!important;
    max-height:230px!important;
    height:230px!important;
  }

  .lg-story-photo img{
    height:230px!important;
    min-height:230px!important;
  }

  .lg-story-copy{
    min-height:0!important;
    max-height:none!important;
    height:auto!important;
    padding:26px 22px 30px!important;
  }
}


/* =========================================================
   V12 — STORY MEDIUM HEIGHT
========================================================= */

.lg-story{
  min-height:0!important;
  height:auto!important;
}

.lg-story-photo{
  min-height:360px!important;
  max-height:360px!important;
  height:360px!important;
}

.lg-story-photo img{
  width:100%!important;
  height:360px!important;
  min-height:360px!important;
  object-fit:cover!important;
  display:block!important;
}

.lg-story-copy{
  min-height:360px!important;
  height:360px!important;
  padding:34px 38px 34px 48px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  overflow:hidden!important;
}

.lg-story-copy h2{
  margin-bottom:16px!important;
  font-size:clamp(42px,5.2vw,72px)!important;
  line-height:.95!important;
}

.lg-story-copy p{
  margin-bottom:0!important;
  font-size:15px!important;
  line-height:1.65!important;
}

@media(max-width:1180px){
  .lg-story-photo,
  .lg-story-copy{
    min-height:320px!important;
    max-height:320px!important;
    height:320px!important;
  }

  .lg-story-photo img{
    height:320px!important;
    min-height:320px!important;
  }

  .lg-story-copy{
    padding:30px 32px 30px 40px!important;
  }
}

@media(max-width:760px){
  .lg-story-photo{
    min-height:260px!important;
    max-height:260px!important;
    height:260px!important;
  }

  .lg-story-photo img{
    height:260px!important;
    min-height:260px!important;
  }

  .lg-story-copy{
    min-height:0!important;
    max-height:none!important;
    height:auto!important;
    padding:28px 22px 32px!important;
  }
}


/* =========================================================
   V13 — STORY HEIGHT 460PX
========================================================= */

.lg-story{
  min-height:0!important;
  height:auto!important;
}

.lg-story-photo{
  min-height:460px!important;
  max-height:460px!important;
  height:460px!important;
}

.lg-story-photo img{
  width:100%!important;
  height:460px!important;
  min-height:460px!important;
  object-fit:cover!important;
  display:block!important;
}

.lg-story-copy{
  min-height:460px!important;
  height:460px!important;
  padding:40px 42px 40px 52px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  overflow:hidden!important;
}

.lg-story-copy h2{
  margin-bottom:18px!important;
  font-size:clamp(44px,5.4vw,76px)!important;
  line-height:.95!important;
}

.lg-story-copy p{
  margin-bottom:0!important;
  font-size:15px!important;
  line-height:1.68!important;
}

@media(max-width:1180px){
  .lg-story-photo,
  .lg-story-copy{
    min-height:380px!important;
    max-height:380px!important;
    height:380px!important;
  }

  .lg-story-photo img{
    height:380px!important;
    min-height:380px!important;
  }

  .lg-story-copy{
    padding:34px 36px 34px 44px!important;
  }
}

@media(max-width:760px){
  .lg-story-photo{
    min-height:280px!important;
    max-height:280px!important;
    height:280px!important;
  }

  .lg-story-photo img{
    height:280px!important;
    min-height:280px!important;
  }

  .lg-story-copy{
    min-height:0!important;
    max-height:none!important;
    height:auto!important;
    padding:28px 22px 32px!important;
  }
}


/* =====================================================================
   LESNAYA GLAVA V15 — 2K STORY / DISTINCT THEMES / NEW DRESS CODE
===================================================================== */

/* ---------- Story: larger and balanced on large/2K displays ---------- */
.lg-story{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  min-height:clamp(520px,31vw,720px)!important;
  margin:0!important;
}
.lg-story-photo{
  min-height:clamp(520px,31vw,720px)!important;
  max-height:none!important;
  height:auto!important;
}
.lg-story-photo img{
  width:100%!important;
  height:100%!important;
  min-height:clamp(520px,31vw,720px)!important;
  object-fit:cover!important;
}
.lg-story-copy{
  min-height:clamp(520px,31vw,720px)!important;
  height:auto!important;
  padding:clamp(46px,4vw,82px)!important;
  overflow:visible!important;
}
.lg-story-copy h2{
  font-size:clamp(54px,5.6vw,96px)!important;
  line-height:.92!important;
}
.lg-story-copy p{
  font-size:clamp(15px,1vw,18px)!important;
  line-height:1.76!important;
  max-width:760px;
}
@media(min-width:1900px){
  .lg-story,
  .lg-story-photo,
  .lg-story-copy{
    min-height:680px!important;
  }
  .lg-story-photo img{
    min-height:680px!important;
  }
}
@media(max-width:980px){
  .lg-story{grid-template-columns:1fr!important;min-height:0!important}
  .lg-story-photo{min-height:440px!important}
  .lg-story-photo img{height:440px!important;min-height:440px!important}
  .lg-story-copy{min-height:0!important;padding:42px 32px!important}
}
@media(max-width:760px){
  .lg-story-photo{min-height:300px!important}
  .lg-story-photo img{height:300px!important;min-height:300px!important}
  .lg-story-copy{padding:32px 22px 38px!important}
}

/* ---------- New editorial dress code ---------- */
.lg-band:has(.lg-dress-editorial){
  min-height:0!important;
}
.lg-band:has(.lg-dress-editorial) .lg-band-body{
  padding:34px!important;
}
.lg-dress-editorial{
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);
  background:var(--forest-2);
  color:#fff;
  box-shadow:0 24px 70px color-mix(in srgb,var(--ink) 12%,transparent);
}
.lg-dress-editorial.has-photo{
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)!important;
}
.lg-dress-intro{
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:28px;
  align-items:start;
  padding:38px 40px 26px;
}
.lg-dress-number{
  color:var(--gold);
  font:500 clamp(54px,5vw,82px)/.8 "Bodoni Moda",serif;
}
.lg-dress-intro p{
  max-width:780px;
  margin:14px 0 0;
  color:rgba(255,255,255,.84);
  font-size:16px;
  line-height:1.7;
}
.lg-dress-photo{
  grid-column:2;
  grid-row:1 / span 2;
  min-height:100%!important;
  display:block!important;
  overflow:hidden;
}
.lg-dress-photo img{
  width:100%;
  height:100%;
  min-height:360px!important;
  object-fit:cover;
  filter:saturate(.88) contrast(.96);
}
.lg-dress-palette{
  grid-column:1;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(96px,1fr))!important;
  gap:1px!important;
  width:100%!important;
  margin:0!important;
  padding:1px 1px 1px!important;
  background:rgba(255,255,255,.18);
}
.lg-dress-editorial:not(.has-photo) .lg-dress-palette{
  grid-column:1/-1;
}
.lg-dress-tone{
  position:relative;
  min-width:0;
  height:120px;
  background:rgba(255,255,255,.04);
  overflow:hidden;
}
.lg-dress-color{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  border:0!important;
  border-radius:0!important;
}
.lg-dress-tone small{
  position:absolute;
  left:12px;
  bottom:10px;
  z-index:2;
  padding:5px 7px;
  background:rgba(0,0,0,.28);
  color:#fff;
  font-size:9px;
  letter-spacing:.16em;
}
@media(max-width:1100px){
  .lg-dress-editorial.has-photo{grid-template-columns:1fr!important}
  .lg-dress-photo{grid-column:1;grid-row:auto;height:320px}
  .lg-dress-palette{grid-column:1}
}
@media(max-width:760px){
  .lg-band:has(.lg-dress-editorial) .lg-band-body{padding:20px!important}
  .lg-dress-intro{grid-template-columns:1fr;padding:28px 22px 22px}
  .lg-dress-number{font-size:52px}
  .lg-dress-palette{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .lg-dress-tone{height:92px}
}

/* ---------- Shared theme application ---------- */
body[data-theme]{
  background:var(--paper);
}
body[data-theme] .lg-hero,
body[data-theme] .lg-countdown,
body[data-theme] .lg-rsvp,
body[data-theme] .lg-footer{
  transition:background .25s ease,color .25s ease;
}
body[data-theme] .lg-band-head,
body[data-theme] .lg-band-body,
body[data-theme] .lg-program-grid article,
body[data-theme] .lg-story-copy,
body[data-theme] .lg-shared-block{
  transition:background .25s ease,border-color .25s ease,color .25s ease;
}

/* Pine: строгий editorial */
body[data-theme="pine"] .lg-band-head{background:#dde3d8}
body[data-theme="pine"] .lg-program-grid article{border-radius:0}
body[data-theme="pine"] .lg-dress-editorial{background:#173d31}

/* Fog: светлый, мягкий, округлый */
body[data-theme="fog"] .lg-hero{background:linear-gradient(135deg,#52665d,#93a29b)}
body[data-theme="fog"] .lg-hero-main,
body[data-theme="fog"] .lg-hero-card,
body[data-theme="fog"] .lg-program-grid article,
body[data-theme="fog"] .lg-dress-editorial,
body[data-theme="fog"] .iviLocCard,
body[data-theme="fog"] .lg-rsvp-shared form{border-radius:28px!important}
body[data-theme="fog"] .lg-band{gap:18px;padding:9px 18px;border-top:0}
body[data-theme="fog"] .lg-band-head{background:#dfe7e2;border-radius:28px}
body[data-theme="fog"] .lg-band-body{background:#f5f7f5;border-radius:28px}
body[data-theme="fog"] .lg-countdown{background:linear-gradient(90deg,#40534a,#71847b)}

/* Moss: earthy, dense and organic */
body[data-theme="moss"] .lg-hero{background:#26351f}
body[data-theme="moss"] .lg-band-head{
  background:linear-gradient(145deg,#cfd7c2,#e4dfcf);
}
body[data-theme="moss"] .lg-band-body{
  background:
    radial-gradient(circle at 12% 8%,rgba(76,96,64,.08),transparent 34%),
    #f1eee2;
}
body[data-theme="moss"] .lg-program-grid article{border-bottom:4px solid #879975}
body[data-theme="moss"] .lg-dress-editorial{background:linear-gradient(135deg,#26351f,#536a45)}

/* Cedar: warm wood and paper */
body[data-theme="cedar"] .lg-hero{background:#392f29}
body[data-theme="cedar"] .lg-date-card{background:#d6c5b4}
body[data-theme="cedar"] .lg-band-head{background:#ddd3c7}
body[data-theme="cedar"] .lg-band-body{background:#f4efe9}
body[data-theme="cedar"] .lg-program-grid article{border-left:5px solid #b68f64}
body[data-theme="cedar"] .lg-dress-editorial{background:linear-gradient(135deg,#3d3029,#6f5a4a)}
body[data-theme="cedar"] .lg-rsvp{background:linear-gradient(135deg,#2d241f,#4a5b50)}

/* Night: fully dark surfaces */
body[data-theme="night"]{background:#07110d;color:#e9eee9}
body[data-theme="night"] .lg-story,
body[data-theme="night"] .lg-story-copy,
body[data-theme="night"] .lg-band-body,
body[data-theme="night"] .lg-program-grid article,
body[data-theme="night"] .lg-shared-block{background:#111d18!important;color:#edf2ee}
body[data-theme="night"] .lg-band-head{background:#0b1712!important;color:#edf2ee}
body[data-theme="night"] .lg-story p,
body[data-theme="night"] .lg-section-text,
body[data-theme="night"] .lg-program-grid p{color:#aebcb4!important}
body[data-theme="night"] .lg-band{border-color:rgba(255,255,255,.10)}
body[data-theme="night"] .lg-dress-editorial{background:linear-gradient(145deg,#050c09,#18271f)}
body[data-theme="night"] .iviLocCard{background:#14221b!important;color:#fff!important}

/* Fern: fresh and lively */
body[data-theme="fern"] .lg-hero{background:linear-gradient(145deg,#103923,#2c5d3f)}
body[data-theme="fern"] .lg-date-card{background:#dce8c7}
body[data-theme="fern"] .lg-band-head{background:#dce7cf}
body[data-theme="fern"] .lg-program-grid article{
  border-radius:18px;
  margin:5px;
  box-shadow:0 12px 28px rgba(21,61,42,.08);
}
body[data-theme="fern"] .lg-dress-editorial{background:linear-gradient(135deg,#153d2a,#3f774e)}
body[data-theme="fern"] .lg-rsvp{background:linear-gradient(135deg,#153d2a,#2c5d3f)}

/* Rain: cool glass */
body[data-theme="rain"] .lg-hero{background:linear-gradient(135deg,#1d3435,#607b7b)}
body[data-theme="rain"] .lg-hero-main,
body[data-theme="rain"] .lg-place-card{filter:saturate(.72) contrast(.95)}
body[data-theme="rain"] .lg-band-head{background:#dbe5e3}
body[data-theme="rain"] .lg-band-body{background:#f0f4f3}
body[data-theme="rain"] .lg-program-grid article,
body[data-theme="rain"] .lg-dress-editorial,
body[data-theme="rain"] .iviLocCard{
  border:1px solid rgba(96,123,123,.28)!important;
  box-shadow:0 18px 45px rgba(29,52,53,.10);
}
body[data-theme="rain"] .lg-dress-editorial{background:linear-gradient(135deg,#263e40,#607b7b)}

/* Autumn: warm cinematic */
body[data-theme="autumn"] .lg-hero{background:#3c3324}
body[data-theme="autumn"] .lg-hero-main{filter:sepia(.20) saturate(.92)}
body[data-theme="autumn"] .lg-date-card{background:#e4c99f}
body[data-theme="autumn"] .lg-band-head{background:#ead9c2}
body[data-theme="autumn"] .lg-band-body{background:#f6eee4}
body[data-theme="autumn"] .lg-program-grid article{border-top:5px solid #c88943}
body[data-theme="autumn"] .lg-dress-editorial{background:linear-gradient(135deg,#4f3926,#9a6537)}
body[data-theme="autumn"] .lg-rsvp{background:linear-gradient(135deg,#3c3324,#65563a)}

/* Spruce: high-contrast emerald */
body[data-theme="spruce"] .lg-hero{background:#052d28}
body[data-theme="spruce"] .lg-countdown{background:linear-gradient(90deg,#021b18,#0b4f47)}
body[data-theme="spruce"] .lg-band-head{background:#cce0da}
body[data-theme="spruce"] .lg-program-grid article{border-right:4px solid #4e8072}
body[data-theme="spruce"] .lg-dress-editorial{background:linear-gradient(135deg,#052d28,#0b5f55)}
body[data-theme="spruce"] .lg-rsvp{background:#052d28}

/* Shadow: monochrome luxury */
body[data-theme="shadow"]{background:#0a0f0c;color:#e7ebe8}
body[data-theme="shadow"] .lg-hero{background:#050907}
body[data-theme="shadow"] .lg-hero-main{filter:grayscale(.68) contrast(1.06)}
body[data-theme="shadow"] .lg-date-card{background:#232c27;color:#f2f2ee}
body[data-theme="shadow"] .lg-story,
body[data-theme="shadow"] .lg-story-copy,
body[data-theme="shadow"] .lg-band-body,
body[data-theme="shadow"] .lg-program-grid article,
body[data-theme="shadow"] .lg-shared-block{background:#151b17!important;color:#e7ebe8}
body[data-theme="shadow"] .lg-band-head{background:#0e1410!important;color:#e7ebe8}
body[data-theme="shadow"] .lg-story p,
body[data-theme="shadow"] .lg-section-text,
body[data-theme="shadow"] .lg-program-grid p{color:#aeb5b0!important}
body[data-theme="shadow"] .lg-dress-editorial{background:linear-gradient(135deg,#060a07,#242d27)}
body[data-theme="shadow"] .lg-rsvp{background:#080d0a}
body[data-theme="shadow"] .lg-footer{background:#020403}


/* =====================================================================
   LESNAYA GLAVA V16 — REFINED DRESS CODE / SLIGHTLY SHORTER STORY
===================================================================== */

/* История чуть ниже по высоте, но всё ещё крупная на 2K */
.lg-story{
  min-height:clamp(500px,27vw,640px)!important;
}
.lg-story-photo{
  min-height:clamp(500px,27vw,640px)!important;
}
.lg-story-photo img{
  min-height:clamp(500px,27vw,640px)!important;
}
.lg-story-copy{
  min-height:clamp(500px,27vw,640px)!important;
}
@media(min-width:1900px){
  .lg-story,
  .lg-story-photo,
  .lg-story-copy{
    min-height:600px!important;
  }
  .lg-story-photo img{
    min-height:600px!important;
  }
}
@media(max-width:980px){
  .lg-story-photo{min-height:410px!important}
  .lg-story-photo img{height:410px!important;min-height:410px!important}
}
@media(max-width:760px){
  .lg-story-photo{min-height:280px!important}
  .lg-story-photo img{height:280px!important;min-height:280px!important}
}

/* Новый более аккуратный dress code */
.lg-band:has(.lg-dress-editorial) .lg-band-body{
  padding:42px!important;
}
.lg-dress-editorial{
  border:0!important;
  border-radius:26px!important;
  overflow:hidden!important;
  background:
    linear-gradient(145deg,
      color-mix(in srgb,var(--forest-2) 92%,#000),
      color-mix(in srgb,var(--forest) 78%,#fff)
    )!important;
  box-shadow:0 24px 70px color-mix(in srgb,var(--ink) 14%,transparent)!important;
}

/* Верхняя часть стала цельнее */
.lg-dress-intro{
  grid-template-columns:110px minmax(0,1fr)!important;
  gap:26px!important;
  align-items:center!important;
  padding:34px 38px 30px!important;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.lg-dress-number{
  width:86px;
  height:86px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--gold) 66%,transparent);
  border-radius:50%;
  color:var(--gold)!important;
  font-size:48px!important;
  line-height:1!important;
}
.lg-dress-intro .lg-kicker{
  color:#fff!important;
}
.lg-dress-intro p{
  max-width:820px!important;
  margin-top:10px!important;
  color:rgba(255,255,255,.82)!important;
}

/* Палитра как набор отдельных дизайнерских карточек */
.lg-dress-palette{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:14px!important;
  padding:26px 30px 30px!important;
  background:transparent!important;
}
.lg-dress-tone{
  height:122px!important;
  border-radius:18px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.12)!important;
}
.lg-dress-color{
  border-radius:18px!important;
}
.lg-dress-tone small{
  left:10px!important;
  bottom:10px!important;
  padding:6px 8px!important;
  border-radius:999px!important;
  background:rgba(15,20,17,.46)!important;
  backdrop-filter:blur(8px);
}

/* Фото, если оно есть, выглядит как часть композиции */
.lg-dress-editorial.has-photo{
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)!important;
}
.lg-dress-photo{
  position:relative;
}
.lg-dress-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.16),transparent 55%);
  pointer-events:none;
}
.lg-dress-photo img{
  min-height:430px!important;
}

/* Тёмные темы сохраняют контраст */
body[data-theme="night"] .lg-dress-editorial,
body[data-theme="shadow"] .lg-dress-editorial{
  background:linear-gradient(145deg,#08110d,#1a2720)!important;
}
body[data-theme="autumn"] .lg-dress-editorial{
  background:linear-gradient(145deg,#4b3323,#8e5d37)!important;
}
body[data-theme="rain"] .lg-dress-editorial{
  background:linear-gradient(145deg,#263d3f,#607b7b)!important;
}
body[data-theme="fern"] .lg-dress-editorial{
  background:linear-gradient(145deg,#123b27,#39734c)!important;
}

@media(max-width:1100px){
  .lg-dress-editorial.has-photo{
    grid-template-columns:1fr!important;
  }
  .lg-dress-photo{
    height:320px!important;
  }
  .lg-dress-photo img{
    min-height:320px!important;
    height:320px!important;
  }
}

@media(max-width:760px){
  .lg-band:has(.lg-dress-editorial) .lg-band-body{
    padding:20px!important;
  }
  .lg-dress-editorial{
    border-radius:20px!important;
  }
  .lg-dress-intro{
    grid-template-columns:1fr!important;
    gap:16px!important;
    padding:26px 22px 22px!important;
  }
  .lg-dress-number{
    width:68px;
    height:68px;
    font-size:38px!important;
  }
  .lg-dress-palette{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    padding:20px!important;
    gap:10px!important;
  }
  .lg-dress-tone{
    height:96px!important;
    border-radius:14px!important;
  }
  .lg-dress-color{
    border-radius:14px!important;
  }
}


/* =====================================================================
   LESNAYA GLAVA V17 — BRUSH STROKE DRESS CODE
===================================================================== */

/* Белый/прозрачный блок без тяжёлой коричневой подложки */
.lg-dress-editorial,
body[data-theme] .lg-dress-editorial,
body[data-theme="autumn"] .lg-dress-editorial,
body[data-theme="cedar"] .lg-dress-editorial,
body[data-theme="night"] .lg-dress-editorial,
body[data-theme="shadow"] .lg-dress-editorial,
body[data-theme="rain"] .lg-dress-editorial,
body[data-theme="fern"] .lg-dress-editorial,
body[data-theme="spruce"] .lg-dress-editorial{
  background:transparent!important;
  color:var(--ink)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Внутренняя шапка без номера */
.lg-dress-intro{
  display:block!important;
  padding:10px 0 24px!important;
  border-bottom:0!important;
}
.lg-dress-intro .lg-kicker{
  color:var(--ink)!important;
}
.lg-dress-intro p{
  max-width:760px!important;
  margin:10px 0 0!important;
  color:var(--muted)!important;
  font-size:15px!important;
  line-height:1.7!important;
}
.lg-dress-number{
  display:none!important;
}

/* Палитра как мазки кистью */
.lg-dress-palette{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:26px!important;
  padding:14px 0 6px!important;
  background:transparent!important;
  align-items:center!important;
}
.lg-dress-tone{
  position:relative!important;
  height:132px!important;
  min-width:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  box-shadow:none!important;
  background:transparent!important;
}
.lg-dress-color{
  position:absolute!important;
  left:8%!important;
  right:8%!important;
  top:16px!important;
  bottom:16px!important;
  width:auto!important;
  height:auto!important;
  border:0!important;
  border-radius:56% 44% 52% 48% / 28% 44% 56% 72%!important;
  transform:rotate(-13deg)!important;
  filter:saturate(.92) contrast(.98)!important;
  box-shadow:none!important;
  clip-path:polygon(
    7% 8%, 18% 2%, 37% 0, 61% 4%, 83% 1%, 95% 9%,
    91% 21%, 97% 34%, 89% 47%, 96% 59%, 87% 72%, 92% 86%,
    72% 94%, 54% 100%, 34% 95%, 16% 98%, 7% 88%,
    12% 74%, 4% 60%, 10% 45%, 2% 29%
  )!important;
}
.lg-dress-tone:nth-child(even) .lg-dress-color{
  transform:rotate(-9deg) scale(.98)!important;
}
.lg-dress-tone:nth-child(3n) .lg-dress-color{
  transform:rotate(-16deg) scale(1.02)!important;
}

/* Лёгкая фактура мазка */
.lg-dress-tone::after{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  top:28px;
  bottom:26px;
  pointer-events:none;
  opacity:.20;
  mix-blend-mode:soft-light;
  background:
    repeating-linear-gradient(
      102deg,
      transparent 0 7px,
      rgba(255,255,255,.62) 8px 10px,
      transparent 11px 17px
    );
  transform:rotate(-13deg);
  clip-path:polygon(
    7% 8%, 18% 2%, 37% 0, 61% 4%, 83% 1%, 95% 9%,
    91% 21%, 97% 34%, 89% 47%, 96% 59%, 87% 72%, 92% 86%,
    72% 94%, 54% 100%, 34% 95%, 16% 98%, 7% 88%,
    12% 74%, 4% 60%, 10% 45%, 2% 29%
  );
}

/* Убираем подписи 01, 02... */
.lg-dress-tone small{
  display:none!important;
}

/* Фото dress code, если задано, остаётся справа аккуратной карточкой */
.lg-dress-editorial.has-photo{
  grid-template-columns:minmax(0,1fr) minmax(280px,.62fr)!important;
  gap:34px!important;
  align-items:center!important;
}
.lg-dress-photo{
  border-radius:24px!important;
  overflow:hidden!important;
  min-height:360px!important;
}
.lg-dress-photo img{
  min-height:360px!important;
  height:360px!important;
  border-radius:24px!important;
}
.lg-dress-photo::after{
  display:none!important;
}

/* Тёмные темы: текст остаётся читаемым, но фон блока всё равно не закрашивается */
body[data-theme="night"] .lg-dress-editorial,
body[data-theme="shadow"] .lg-dress-editorial{
  color:#eef2ef!important;
}
body[data-theme="night"] .lg-dress-intro .lg-kicker,
body[data-theme="shadow"] .lg-dress-intro .lg-kicker{
  color:#eef2ef!important;
}
body[data-theme="night"] .lg-dress-intro p,
body[data-theme="shadow"] .lg-dress-intro p{
  color:#aeb8b2!important;
}

@media(max-width:1100px){
  .lg-dress-editorial.has-photo{
    grid-template-columns:1fr!important;
  }
  .lg-dress-photo{
    min-height:300px!important;
  }
  .lg-dress-photo img{
    min-height:300px!important;
    height:300px!important;
  }
}

@media(max-width:760px){
  .lg-dress-palette{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .lg-dress-tone{
    height:112px!important;
  }
  .lg-dress-intro{
    padding:4px 0 18px!important;
  }
}


/* =====================================================================
   LESNAYA GLAVA V18 — CLEAN PROGRAM BACKGROUND / SHORTER STORY
===================================================================== */

/* Убираем серую подложку под программой */
.lg-band-body:has(.lg-program-grid),
.lg-program-grid{
  background:transparent!important;
  box-shadow:none!important;
}
.lg-program-grid{
  gap:1px!important;
}
.lg-program-grid::before,
.lg-program-grid::after{
  display:none!important;
}
.lg-program-grid article,
.lg-program-card{
  background:color-mix(in srgb,var(--paper) 94%,#fff)!important;
}

/* Тёмные темы: программа остаётся без общей подложки */
body[data-theme="night"] .lg-program-grid,
body[data-theme="shadow"] .lg-program-grid{
  background:transparent!important;
}
body[data-theme="night"] .lg-program-grid article,
body[data-theme="shadow"] .lg-program-grid article{
  background:#151f1a!important;
}

/* История ещё немного ниже по высоте */
.lg-story{
  min-height:clamp(460px,24vw,570px)!important;
}
.lg-story-photo{
  min-height:clamp(460px,24vw,570px)!important;
}
.lg-story-photo img{
  min-height:clamp(460px,24vw,570px)!important;
}
.lg-story-copy{
  min-height:clamp(460px,24vw,570px)!important;
}

@media(min-width:1900px){
  .lg-story,
  .lg-story-photo,
  .lg-story-copy{
    min-height:540px!important;
  }
  .lg-story-photo img{
    min-height:540px!important;
  }
}

@media(max-width:980px){
  .lg-story-photo{
    min-height:380px!important;
  }
  .lg-story-photo img{
    height:380px!important;
    min-height:380px!important;
  }
}

@media(max-width:760px){
  .lg-story-photo{
    min-height:260px!important;
  }
  .lg-story-photo img{
    height:260px!important;
    min-height:260px!important;
  }
}


/* =====================================================================
   LESNAYA GLAVA V19 — HARD STORY HEIGHT FIX
===================================================================== */

/* Жёстко убираем любое растягивание истории на больших экранах */
.lg-story{
  min-height:0!important;
  height:420px!important;
  max-height:420px!important;
  align-items:stretch!important;
  overflow:hidden!important;
}

.lg-story-photo{
  min-height:0!important;
  height:420px!important;
  max-height:420px!important;
  overflow:hidden!important;
}

.lg-story-photo img{
  width:100%!important;
  height:420px!important;
  min-height:0!important;
  max-height:420px!important;
  object-fit:cover!important;
  display:block!important;
}

.lg-story-copy{
  min-height:0!important;
  height:420px!important;
  max-height:420px!important;
  padding:34px 42px 34px 48px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  overflow:hidden!important;
}

.lg-story-copy h2{
  margin-bottom:16px!important;
  font-size:clamp(44px,4.8vw,72px)!important;
  line-height:.94!important;
}

.lg-story-copy p{
  margin-bottom:0!important;
  font-size:15px!important;
  line-height:1.62!important;
}

/* Полностью отменяем старые 2K-правила */
@media(min-width:1900px){
  .lg-story{
    height:420px!important;
    max-height:420px!important;
  }
  .lg-story-photo,
  .lg-story-copy{
    height:420px!important;
    max-height:420px!important;
  }
  .lg-story-photo img{
    height:420px!important;
    max-height:420px!important;
  }
}

@media(max-width:1180px){
  .lg-story{
    height:360px!important;
    max-height:360px!important;
  }
  .lg-story-photo,
  .lg-story-copy{
    height:360px!important;
    max-height:360px!important;
  }
  .lg-story-photo img{
    height:360px!important;
    max-height:360px!important;
  }
  .lg-story-copy{
    padding:30px 34px 30px 40px!important;
  }
}

@media(max-width:760px){
  .lg-story{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .lg-story-photo{
    height:260px!important;
    max-height:260px!important;
  }
  .lg-story-photo img{
    height:260px!important;
    max-height:260px!important;
  }
  .lg-story-copy{
    height:auto!important;
    max-height:none!important;
    padding:28px 22px 32px!important;
    overflow:visible!important;
  }
}


/* =====================================================================
   LESNAYA GLAVA V20 — STORY RESTORED / EDITORIAL GALLERY
===================================================================== */

/* История снова заметная, но без полноэкранного гигантизма */
.lg-story{
  height:560px!important;
  max-height:560px!important;
  min-height:560px!important;
}
.lg-story-photo,
.lg-story-copy{
  height:560px!important;
  max-height:560px!important;
  min-height:560px!important;
}
.lg-story-photo img{
  height:560px!important;
  max-height:560px!important;
  min-height:560px!important;
  object-fit:cover!important;
}
.lg-story-copy{
  padding:46px 54px!important;
}
.lg-story-copy h2{
  font-size:clamp(52px,5.2vw,84px)!important;
  line-height:.94!important;
}
.lg-story-copy p{
  font-size:16px!important;
  line-height:1.72!important;
}

@media(min-width:1900px){
  .lg-story,
  .lg-story-photo,
  .lg-story-copy{
    height:620px!important;
    max-height:620px!important;
    min-height:620px!important;
  }
  .lg-story-photo img{
    height:620px!important;
    max-height:620px!important;
    min-height:620px!important;
  }
}

@media(max-width:1180px){
  .lg-story,
  .lg-story-photo,
  .lg-story-copy{
    height:460px!important;
    max-height:460px!important;
    min-height:460px!important;
  }
  .lg-story-photo img{
    height:460px!important;
    max-height:460px!important;
    min-height:460px!important;
  }
}

@media(max-width:760px){
  .lg-story{
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
  }
  .lg-story-photo{
    height:300px!important;
    max-height:300px!important;
    min-height:300px!important;
  }
  .lg-story-photo img{
    height:300px!important;
    max-height:300px!important;
    min-height:300px!important;
  }
  .lg-story-copy{
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    padding:30px 22px 36px!important;
  }
}

/* Галерея на всю правую часть, без пустого океана */
.lg-band-body:has(.lg-gallery-editorial){
  padding:24px!important;
}
.lg-band-body:has(.lg-gallery-editorial) > *{
  width:100%!important;
  max-width:none!important;
}
.lg-gallery-editorial{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:1.55fr .72fr .72fr!important;
  grid-template-rows:repeat(2,minmax(250px,1fr))!important;
  gap:14px!important;
  min-height:640px!important;
  background:transparent!important;
}
.lg-gallery-item{
  position:relative;
  display:block;
  min-width:0;
  min-height:0;
  overflow:hidden;
  border-radius:22px;
  background:var(--sage);
  box-shadow:0 18px 50px color-mix(in srgb,var(--ink) 12%,transparent);
}
.lg-gallery-item.is-main{
  grid-row:1 / span 2;
}
.lg-gallery-item.is-tall{
  grid-row:1 / span 2;
}
.lg-gallery-item img{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  display:block!important;
  transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s ease;
}
.lg-gallery-item:hover img{
  transform:scale(1.035);
  filter:saturate(1.05) contrast(1.02);
}
.lg-gallery-index{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:2;
  display:inline-flex;
  min-width:34px;
  min-height:28px;
  align-items:center;
  justify-content:center;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(8,22,17,.46);
  color:#fff;
  font-size:9px;
  letter-spacing:.14em;
  backdrop-filter:blur(8px);
}
.lg-gallery-item::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 64%,rgba(5,18,13,.20));
}

/* 4 фото */
.lg-gallery-editorial .lg-gallery-item:nth-child(4){
  grid-column:3;
  grid-row:2;
}

/* 5+ фото уходят компактной лентой */
.lg-gallery-editorial .lg-gallery-item:nth-child(n+5){
  min-height:190px;
}

body[data-theme="fog"] .lg-gallery-item,
body[data-theme="fern"] .lg-gallery-item{
  border-radius:30px;
}
body[data-theme="night"] .lg-gallery-item,
body[data-theme="shadow"] .lg-gallery-item{
  box-shadow:0 20px 60px rgba(0,0,0,.32);
}

@media(max-width:1250px){
  .lg-gallery-editorial{
    grid-template-columns:1.35fr 1fr!important;
    grid-template-rows:repeat(3,minmax(210px,1fr))!important;
    min-height:760px!important;
  }
  .lg-gallery-item.is-main{
    grid-row:1 / span 2;
  }
  .lg-gallery-item.is-tall{
    grid-row:auto;
  }
}

@media(max-width:760px){
  .lg-band-body:has(.lg-gallery-editorial){
    padding:18px!important;
  }
  .lg-gallery-editorial{
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:auto!important;
    min-height:0!important;
    gap:10px!important;
  }
  .lg-gallery-item,
  .lg-gallery-item.is-main,
  .lg-gallery-item.is-tall{
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:180px!important;
    border-radius:16px;
  }
  .lg-gallery-item.is-main{
    grid-column:1 / -1!important;
    min-height:320px!important;
  }
}


/* =====================================================================
   LESNAYA GLAVA V21 — STORY +100PX / GALLERY DATA FIX
===================================================================== */

.lg-story{
  height:660px!important;
  max-height:660px!important;
  min-height:660px!important;
}
.lg-story-photo,
.lg-story-copy{
  height:660px!important;
  max-height:660px!important;
  min-height:660px!important;
}
.lg-story-photo img{
  height:660px!important;
  max-height:660px!important;
  min-height:660px!important;
}

@media(min-width:1900px){
  .lg-story,
  .lg-story-photo,
  .lg-story-copy{
    height:720px!important;
    max-height:720px!important;
    min-height:720px!important;
  }
  .lg-story-photo img{
    height:720px!important;
    max-height:720px!important;
    min-height:720px!important;
  }
}

@media(max-width:1180px){
  .lg-story,
  .lg-story-photo,
  .lg-story-copy{
    height:520px!important;
    max-height:520px!important;
    min-height:520px!important;
  }
  .lg-story-photo img{
    height:520px!important;
    max-height:520px!important;
    min-height:520px!important;
  }
}

@media(max-width:760px){
  .lg-story{
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
  }
  .lg-story-photo{
    height:320px!important;
    max-height:320px!important;
    min-height:320px!important;
  }
  .lg-story-photo img{
    height:320px!important;
    max-height:320px!important;
    min-height:320px!important;
  }
  .lg-story-copy{
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
  }
}


/* =====================================================================
   LESNAYA GLAVA V22 — COMPACT STRIPED GALLERY / FANCYBOX FIX
===================================================================== */

/* Галерея компактнее */
.lg-band-body:has(.lg-gallery-editorial){
  padding:22px!important;
}

.lg-gallery-editorial{
  min-height:500px!important;
  grid-template-columns:1.45fr .78fr .78fr!important;
  grid-template-rows:repeat(2,minmax(190px,1fr))!important;
  gap:0!important;
  background:color-mix(in srgb,var(--ink) 18%,transparent)!important;
  padding:1px!important;
}

/* Фото без бордеров, скруглений и теней */
.lg-gallery-item,
body[data-theme="fog"] .lg-gallery-item,
body[data-theme="fern"] .lg-gallery-item,
body[data-theme="night"] .lg-gallery-item,
body[data-theme="shadow"] .lg-gallery-item{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
}

/* Разделительные полосы создаются фоном сетки */
.lg-gallery-item{
  margin:0!important;
  background:var(--paper)!important;
}

/* Тонкий внутренний отступ формирует ровные линии */
.lg-gallery-item + .lg-gallery-item{
  border-left:1px solid color-mix(in srgb,var(--ink) 18%,transparent)!important;
}
.lg-gallery-item:nth-child(n+3){
  border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent)!important;
}

/* Фото немного спокойнее по высоте */
.lg-gallery-item img{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Индекс как маленькая подпись без капсулы */
.lg-gallery-index{
  left:14px!important;
  bottom:12px!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:700!important;
  text-shadow:0 1px 8px rgba(0,0,0,.55);
  backdrop-filter:none!important;
}

/* Затемнение чуть слабее */
.lg-gallery-item::after{
  background:linear-gradient(180deg,transparent 72%,rgba(5,18,13,.16))!important;
}

/* Планшет */
@media(max-width:1250px){
  .lg-gallery-editorial{
    min-height:620px!important;
    grid-template-columns:1.3fr 1fr!important;
    grid-template-rows:repeat(3,minmax(170px,1fr))!important;
  }
}

/* Телефон */
@media(max-width:760px){
  .lg-band-body:has(.lg-gallery-editorial){
    padding:14px!important;
  }
  .lg-gallery-editorial{
    min-height:0!important;
    grid-template-columns:1fr 1fr!important;
    gap:0!important;
    padding:1px!important;
  }
  .lg-gallery-item,
  .lg-gallery-item.is-main,
  .lg-gallery-item.is-tall{
    min-height:150px!important;
    border-radius:0!important;
  }
  .lg-gallery-item.is-main{
    min-height:260px!important;
  }
}


/* =====================================================================
   LESNAYA GLAVA V23 — GALLERY HEIGHT LIKE STORY
===================================================================== */

/* Галерея примерно той же высоты, что и блок истории */
.lg-gallery-editorial{
  min-height:0!important;
  height:660px!important;
  max-height:660px!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
}

/* Все элементы строго вписываются в высоту */
.lg-gallery-item,
.lg-gallery-item.is-main,
.lg-gallery-item.is-tall{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
}

/* На 2K совпадает с увеличенной историей */
@media(min-width:1900px){
  .lg-gallery-editorial{
    height:720px!important;
    max-height:720px!important;
  }
}

/* Планшет */
@media(max-width:1250px){
  .lg-gallery-editorial{
    height:520px!important;
    max-height:520px!important;
    grid-template-columns:1.3fr 1fr!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
  }

  .lg-gallery-item.is-main{
    grid-row:1 / span 2!important;
  }

  .lg-gallery-item.is-tall{
    grid-row:auto!important;
  }
}

/* Телефон */
@media(max-width:760px){
  .lg-gallery-editorial{
    height:auto!important;
    max-height:none!important;
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:auto!important;
  }

  .lg-gallery-item,
  .lg-gallery-item.is-main,
  .lg-gallery-item.is-tall{
    min-height:150px!important;
    height:150px!important;
  }

  .lg-gallery-item.is-main{
    grid-column:1 / -1!important;
    min-height:280px!important;
    height:280px!important;
  }
}


/* =====================================================================
   LESNAYA GLAVA V24 — EQUAL HEIGHT GALLERY / CROP FROM TOP
===================================================================== */

/* Все фотографии равноправные, без главного увеличенного кадра */
.lg-gallery-editorial{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
  grid-template-rows:1fr!important;
  grid-auto-rows:1fr!important;
  grid-auto-flow:row!important;
  height:660px!important;
  max-height:660px!important;
  min-height:660px!important;
  gap:1px!important;
}

/* Полностью отменяем старые span-позиции */
.lg-gallery-item,
.lg-gallery-item.is-main,
.lg-gallery-item.is-tall,
.lg-gallery-editorial .lg-gallery-item:nth-child(4),
.lg-gallery-editorial .lg-gallery-item:nth-child(n+5){
  grid-column:auto!important;
  grid-row:auto!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
}

/* Все изображения одинаковой высоты, кадрирование начинается сверху */
.lg-gallery-item img,
.lg-gallery-item.is-main img,
.lg-gallery-item.is-tall img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center top!important;
}

/* Разделители только между карточками, без лишней пустой ячейки */
.lg-gallery-item{
  border:0!important;
}
.lg-gallery-item + .lg-gallery-item{
  border-left:1px solid color-mix(in srgb,var(--ink) 18%,transparent)!important;
  border-top:0!important;
}
.lg-gallery-item:nth-child(n+3){
  border-top:0!important;
}

/* 2K */
@media(min-width:1900px){
  .lg-gallery-editorial{
    height:720px!important;
    max-height:720px!important;
    min-height:720px!important;
  }
}

/* Планшет: одинаковые карточки в две колонки */
@media(max-width:1250px){
  .lg-gallery-editorial{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
    height:520px!important;
    max-height:520px!important;
    min-height:520px!important;
  }

  .lg-gallery-item + .lg-gallery-item{
    border-left:1px solid color-mix(in srgb,var(--ink) 18%,transparent)!important;
  }

  .lg-gallery-item:nth-child(n+3){
    border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent)!important;
  }
}

/* Телефон */
@media(max-width:760px){
  .lg-gallery-editorial{
    grid-template-columns:1fr!important;
    grid-template-rows:none!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
  }

  .lg-gallery-item,
  .lg-gallery-item.is-main,
  .lg-gallery-item.is-tall{
    height:260px!important;
    min-height:260px!important;
  }

  .lg-gallery-item + .lg-gallery-item{
    border-left:0!important;
    border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent)!important;
  }
}


/* =====================================================================
   LESNAYA GLAVA V25 — 5 LIGHT + 5 DARK THEMES / GALLERY LINES / RSVP
===================================================================== */

/* ---------- Global theme tokens ---------- */
body[data-theme]{
  --gallery-line:color-mix(in srgb,var(--accent) 60%,transparent);
  --rsvp-active-bg:var(--accent);
  --rsvp-active-text:#fff;
  --rsvp-active-ring:color-mix(in srgb,var(--accent) 28%,transparent);
  --surface-soft:color-mix(in srgb,var(--paper) 92%,#fff);
  --surface-card:color-mix(in srgb,var(--paper) 96%,#fff);
  --surface-border:color-mix(in srgb,var(--ink) 14%,transparent);
}

/* ---------- 5 LIGHT THEMES ---------- */
body[data-theme="pine"]{
  --forest:#244b3b;
  --forest-2:#496a5a;
  --paper:#f4f5ef;
  --paper-2:#e4e8df;
  --ink:#173428;
  --muted:#6e7d75;
  --accent:#8ca68f;
  --gold:#b89a62;
  --gallery-line:#6c8f7c;
}
body[data-theme="fog"]{
  --forest:#4d625a;
  --forest-2:#80928a;
  --paper:#f7f8f6;
  --paper-2:#e5ebe7;
  --ink:#263c34;
  --muted:#75827c;
  --accent:#9ab0a5;
  --gold:#b8aa87;
  --gallery-line:#91aaa0;
}
body[data-theme="fern"]{
  --forest:#2e5b3d;
  --forest-2:#5d8063;
  --paper:#f3f6ed;
  --paper-2:#dfe9d7;
  --ink:#1e412b;
  --muted:#70816f;
  --accent:#8eb475;
  --gold:#bba56e;
  --gallery-line:#7fa068;
}
body[data-theme="cedar"]{
  --forest:#5a4639;
  --forest-2:#846b59;
  --paper:#f7f1eb;
  --paper-2:#e8ddd2;
  --ink:#49372e;
  --muted:#87756a;
  --accent:#b58c70;
  --gold:#c49a62;
  --gallery-line:#b4876c;
}
body[data-theme="autumn"]{
  --forest:#6d4930;
  --forest-2:#9c704c;
  --paper:#fbf4ea;
  --paper-2:#ead8c2;
  --ink:#543724;
  --muted:#90745f;
  --accent:#c98d58;
  --gold:#d1a05e;
  --gallery-line:#c98d58;
}

/* ---------- 5 DARK THEMES, warm and readable ---------- */
body[data-theme="night"]{
  --forest:#14241d;
  --forest-2:#293b32;
  --paper:#18231e;
  --paper-2:#233028;
  --ink:#edf2ee;
  --muted:#b5c1ba;
  --accent:#7fa48f;
  --gold:#c7ad78;
  --gallery-line:#87aa97;
  --surface-soft:#1f2b25;
  --surface-card:#243129;
  --surface-border:rgba(255,255,255,.12);
}
body[data-theme="spruce"]{
  --forest:#10372f;
  --forest-2:#24564c;
  --paper:#183b34;
  --paper-2:#244c43;
  --ink:#eef5f2;
  --muted:#b8cbc4;
  --accent:#5f9c8b;
  --gold:#b9c89a;
  --gallery-line:#68a08f;
  --surface-soft:#1d463d;
  --surface-card:#225047;
  --surface-border:rgba(255,255,255,.12);
}
body[data-theme="rain"]{
  --forest:#243638;
  --forest-2:#41575a;
  --paper:#2c3c3e;
  --paper-2:#37494b;
  --ink:#f1f4f3;
  --muted:#c1cbca;
  --accent:#78989a;
  --gold:#b9b994;
  --gallery-line:#7f9fa1;
  --surface-soft:#334648;
  --surface-card:#394d4f;
  --surface-border:rgba(255,255,255,.12);
}
body[data-theme="shadow"]{
  --forest:#242924;
  --forest-2:#3a423b;
  --paper:#2d332e;
  --paper-2:#383f39;
  --ink:#f1f2ef;
  --muted:#c1c5c0;
  --accent:#7f9183;
  --gold:#c0aa7b;
  --gallery-line:#8fa092;
  --surface-soft:#343b35;
  --surface-card:#3a423b;
  --surface-border:rgba(255,255,255,.12);
}
body[data-theme="moss"]{
  --forest:#35412d;
  --forest-2:#526148;
  --paper:#3c4735;
  --paper-2:#495540;
  --ink:#f3f5ef;
  --muted:#c7cec0;
  --accent:#879a70;
  --gold:#c2ae79;
  --gallery-line:#93a47e;
  --surface-soft:#46523e;
  --surface-card:#4c5943;
  --surface-border:rgba(255,255,255,.12);
}

/* ---------- More extensive theme application ---------- */
body[data-theme] .lg-hero{
  background:linear-gradient(135deg,var(--forest),var(--forest-2))!important;
}
body[data-theme] .lg-countdown,
body[data-theme] .lg-rsvp,
body[data-theme] .lg-footer{
  background:linear-gradient(135deg,var(--forest),var(--forest-2))!important;
}
body[data-theme] .lg-band-head{
  background:var(--paper-2)!important;
  color:var(--ink)!important;
}
body[data-theme] .lg-band-body,
body[data-theme] .lg-story-copy,
body[data-theme] .lg-program-grid article,
body[data-theme] .lg-shared-block{
  background:var(--surface-soft)!important;
  color:var(--ink)!important;
}
body[data-theme] .lg-program-grid article,
body[data-theme] .iviLocCard,
body[data-theme] .lg-rsvp-shared form{
  border-color:var(--surface-border)!important;
}
body[data-theme] .lg-program-grid p,
body[data-theme] .lg-section-text,
body[data-theme] .lg-story-copy p{
  color:var(--muted)!important;
}
body[data-theme] .lg-dress-intro .lg-kicker{
  color:var(--ink)!important;
}
body[data-theme] .lg-dress-intro p{
  color:var(--muted)!important;
}
body[data-theme] .lg-band-head .lg-num,
body[data-theme] .lg-program-roman,
body[data-theme] .roman{
  color:var(--gold)!important;
}
body[data-theme] .lg-dress-color{
  box-shadow:0 10px 28px color-mix(in srgb,var(--ink) 12%,transparent)!important;
}
body[data-theme] .lg-location-block .iviLocCard{
  background:var(--surface-card)!important;
  color:var(--ink)!important;
}
body[data-theme] .lg-location-block .iviLocName,
body[data-theme] .lg-location-block .iviLocAddr,
body[data-theme] .lg-location-block .iviLocNote{
  color:var(--ink)!important;
}

/* ---------- Gallery separators, theme-aware ---------- */
.lg-gallery-editorial{
  background:var(--gallery-line)!important;
  padding:0!important;
  gap:2px!important;
}
.lg-gallery-item,
.lg-gallery-item.is-main,
.lg-gallery-item.is-tall{
  background:var(--paper)!important;
  border:0!important;
}
.lg-gallery-item + .lg-gallery-item,
.lg-gallery-item:nth-child(n+3){
  border:0!important;
}
.lg-gallery-item::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:-2px;
  width:2px;
  background:var(--gallery-line);
  z-index:3;
  pointer-events:none;
}
.lg-gallery-item:first-child::before{
  display:none;
}
@media(max-width:1250px){
  .lg-gallery-item:nth-child(odd)::before{
    display:none;
  }
}
@media(max-width:760px){
  .lg-gallery-item::before{
    display:none!important;
  }
  .lg-gallery-item + .lg-gallery-item{
    border-top:2px solid var(--gallery-line)!important;
  }
}

/* ---------- RSVP complete override ---------- */
.lg-rsvp-shared .rsvpSection,
.lg-rsvp-shared .rsvpGrid{
  color:var(--ink)!important;
}
.lg-rsvp-shared .rsvpFormCard,
.lg-rsvp-shared form,
.lg-rsvp-shared .rsvp-form,
.lg-rsvp-shared .rsvpForm,
.lg-rsvp-shared .rsvpFormCard{
  background:var(--surface-card)!important;
  color:var(--ink)!important;
  border:1px solid var(--surface-border)!important;
  box-shadow:0 24px 70px color-mix(in srgb,var(--ink) 14%,transparent)!important;
}
.lg-rsvp-shared .label,
.lg-rsvp-shared label,
.lg-rsvp-shared p,
.lg-rsvp-shared span,
.lg-rsvp-shared small{
  color:var(--ink)!important;
}
.lg-rsvp-shared .field,
.lg-rsvp-shared input:not([type="radio"]):not([type="checkbox"]),
.lg-rsvp-shared textarea,
.lg-rsvp-shared select{
  background:color-mix(in srgb,var(--paper) 90%,#fff)!important;
  color:var(--ink)!important;
  border:1px solid color-mix(in srgb,var(--ink) 20%,transparent)!important;
}
.lg-rsvp-shared .field::placeholder,
.lg-rsvp-shared input::placeholder,
.lg-rsvp-shared textarea::placeholder{
  color:var(--muted)!important;
  opacity:.72!important;
}
.lg-rsvp-shared .chip{
  background:color-mix(in srgb,var(--paper) 88%,#fff)!important;
  color:var(--ink)!important;
  border:1px solid color-mix(in srgb,var(--ink) 22%,transparent)!important;
  box-shadow:none!important;
}
.lg-rsvp-shared .chip:hover{
  border-color:var(--accent)!important;
  transform:translateY(-1px);
}
.lg-rsvp-shared .chip[data-active="true"],
.lg-rsvp-shared .chip.is-active,
.lg-rsvp-shared .chip.active,
.lg-rsvp-shared button[aria-pressed="true"]{
  background:var(--rsvp-active-bg)!important;
  border-color:var(--rsvp-active-bg)!important;
  color:var(--rsvp-active-text)!important;
  box-shadow:0 0 0 4px var(--rsvp-active-ring),0 14px 30px color-mix(in srgb,var(--accent) 24%,transparent)!important;
}
.lg-rsvp-shared .chip[data-active="true"] *,
.lg-rsvp-shared .chip.is-active *,
.lg-rsvp-shared .chip.active *{
  color:var(--rsvp-active-text)!important;
}
.lg-rsvp-shared .consent{
  background:color-mix(in srgb,var(--paper) 84%,#fff)!important;
  color:var(--ink)!important;
  border-color:color-mix(in srgb,var(--ink) 16%,transparent)!important;
}
.lg-rsvp-shared .consent input{
  accent-color:var(--accent)!important;
}
.lg-rsvp-shared .btn.btn-full,
.lg-rsvp-shared #rsvpForm button[type="submit"]{
  background:var(--accent)!important;
  color:#fff!important;
  box-shadow:0 16px 34px color-mix(in srgb,var(--accent) 26%,transparent)!important;
}
.lg-rsvp-shared .btn.btn-full:hover,
.lg-rsvp-shared #rsvpForm button[type="submit"]:hover{
  filter:brightness(1.06)!important;
}

/* Dark theme RSVP readability */
body[data-theme="night"] .lg-rsvp-shared .field,
body[data-theme="spruce"] .lg-rsvp-shared .field,
body[data-theme="rain"] .lg-rsvp-shared .field,
body[data-theme="shadow"] .lg-rsvp-shared .field,
body[data-theme="moss"] .lg-rsvp-shared .field,
body[data-theme="night"] .lg-rsvp-shared .chip,
body[data-theme="spruce"] .lg-rsvp-shared .chip,
body[data-theme="rain"] .lg-rsvp-shared .chip,
body[data-theme="shadow"] .lg-rsvp-shared .chip,
body[data-theme="moss"] .lg-rsvp-shared .chip{
  background:rgba(255,255,255,.07)!important;
  color:var(--ink)!important;
  border-color:rgba(255,255,255,.16)!important;
}
body[data-theme="night"] .lg-rsvp-shared .consent,
body[data-theme="spruce"] .lg-rsvp-shared .consent,
body[data-theme="rain"] .lg-rsvp-shared .consent,
body[data-theme="shadow"] .lg-rsvp-shared .consent,
body[data-theme="moss"] .lg-rsvp-shared .consent{
  background:rgba(255,255,255,.05)!important;
  border-color:rgba(255,255,255,.14)!important;
}


/* =====================================================================
   LESNAYA GLAVA V26 — REMOVE HERO MONOGRAM
===================================================================== */
.lg-monogram,
.monogram,
.hero-monogram,
.lg-hero-monogram,
[class*="monogram"]{
  display:none!important;
}


/* =====================================================================
   LESNAYA GLAVA V27 — REVEAL ANIMATIONS
===================================================================== */

html.lg-motion-ready [data-lg-reveal]{
  opacity:0;
  transform:translate3d(0,34px,0);
  transition:
    opacity .78s cubic-bezier(.2,.7,.2,1),
    transform .78s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--lg-delay,0ms);
  will-change:opacity,transform;
}

html.lg-motion-ready [data-lg-reveal="left"]{
  transform:translate3d(-34px,0,0);
}

html.lg-motion-ready [data-lg-reveal="right"]{
  transform:translate3d(34px,0,0);
}

html.lg-motion-ready [data-lg-reveal="scale"]{
  transform:scale(.965);
}

html.lg-motion-ready [data-lg-reveal].is-visible{
  opacity:1;
  transform:none;
}

/* Hero appears immediately, but softly */
html.lg-motion-ready .lg-hero [data-lg-reveal]{
  transition-duration:.9s;
}

/* Staggered cards */
html.lg-motion-ready .lg-program-grid article,
html.lg-motion-ready .lg-gallery-item,
html.lg-motion-ready .lg-dress-tone,
html.lg-motion-ready .lg-location-block .iviLocCard,
html.lg-motion-ready .lg-rsvp-shared .formRow{
  opacity:0;
  transform:translate3d(0,24px,0);
  transition:
    opacity .64s cubic-bezier(.2,.7,.2,1),
    transform .64s cubic-bezier(.2,.7,.2,1),
    border-color .2s ease,
    background .2s ease,
    box-shadow .2s ease;
  transition-delay:var(--lg-delay,0ms);
}

html.lg-motion-ready .is-visible .lg-program-grid article,
html.lg-motion-ready .is-visible .lg-gallery-item,
html.lg-motion-ready .is-visible .lg-dress-tone,
html.lg-motion-ready .is-visible .lg-location-block .iviLocCard,
html.lg-motion-ready .is-visible .lg-rsvp-shared .formRow,
html.lg-motion-ready .lg-program-grid article.is-visible,
html.lg-motion-ready .lg-gallery-item.is-visible,
html.lg-motion-ready .lg-dress-tone.is-visible,
html.lg-motion-ready .lg-location-block .iviLocCard.is-visible,
html.lg-motion-ready .lg-rsvp-shared .formRow.is-visible{
  opacity:1;
  transform:none;
}

/* Decorative line draw */
html.lg-motion-ready .lg-band::before{
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .9s cubic-bezier(.2,.7,.2,1);
}

html.lg-motion-ready .lg-band.is-visible::before{
  transform:scaleX(1);
}

/* Reduce visual weight on small screens */
@media(max-width:760px){
  html.lg-motion-ready [data-lg-reveal]{
    transform:translate3d(0,22px,0);
    transition-duration:.62s;
  }

  html.lg-motion-ready [data-lg-reveal="left"],
  html.lg-motion-ready [data-lg-reveal="right"]{
    transform:translate3d(0,22px,0);
  }
}

/* Accessibility */
@media(prefers-reduced-motion:reduce){
  html.lg-motion-ready [data-lg-reveal],
  html.lg-motion-ready .lg-program-grid article,
  html.lg-motion-ready .lg-gallery-item,
  html.lg-motion-ready .lg-dress-tone,
  html.lg-motion-ready .lg-location-block .iviLocCard,
  html.lg-motion-ready .lg-rsvp-shared .formRow,
  html.lg-motion-ready .lg-band::before{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }
}


/* =====================================================================
   LESNAYA GLAVA V28 — PROGRAM TIME BADGES
===================================================================== */

.lg-program-content{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
}

.lg-program-time{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  margin:0 0 24px;
  border:1px solid color-mix(in srgb,var(--accent) 68%,transparent);
  background:color-mix(in srgb,var(--accent) 12%,var(--paper));
  color:var(--ink);
  font-size:14px;
  font-weight:800;
  line-height:1;
  letter-spacing:.08em;
  font-variant-numeric:tabular-nums;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,#fff 42%,transparent);
  transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;
}

.lg-program-grid article:hover .lg-program-time{
  transform:translateY(-2px);
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}

.lg-program-grid h3{
  margin:0 0 12px!important;
}

.lg-program-grid p{
  margin:0!important;
}

/* Тёмные темы */
body[data-theme="night"] .lg-program-time,
body[data-theme="spruce"] .lg-program-time,
body[data-theme="rain"] .lg-program-time,
body[data-theme="shadow"] .lg-program-time,
body[data-theme="moss"] .lg-program-time{
  background:color-mix(in srgb,var(--accent) 18%,transparent);
  border-color:color-mix(in srgb,var(--accent) 72%,transparent);
  color:var(--ink);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}

@media(max-width:1180px){
  .lg-program-time{
    width:64px;
    height:64px;
    margin-bottom:20px;
    font-size:13px;
  }
}

@media(max-width:760px){
  .lg-program-time{
    width:60px;
    height:60px;
    margin-bottom:18px;
  }
}


/* =====================================================================
   LESNAYA GLAVA V29 — VERTICAL PROGRAM DIVIDERS / PLAIN TIME
===================================================================== */

/* Убираем квадрат/бейдж вокруг самого времени */
.lg-program-time,
.lg-program-card time,
.lg-program-grid time,
.lg-program-grid .time,
.lg-program-grid [class*="time"]{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  margin:0 0 12px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--muted)!important;
  font-size:14px!important;
  line-height:1.3!important;
  letter-spacing:.01em!important;
}

/* Убираем старые горизонтальные линии */
.lg-program-grid{
  gap:0!important;
  background:transparent!important;
}
.lg-program-grid article,
.lg-program-card{
  position:relative!important;
  border-top:0!important;
  border-bottom:0!important;
  border-left:0!important;
  border-right:0!important;
  box-shadow:none!important;
}

/* Красивые вертикальные разделители между карточками */
.lg-program-grid article:not(:nth-child(4n+1))::before,
.lg-program-card:not(:nth-child(4n+1))::before{
  content:"";
  position:absolute;
  left:0;
  top:28px;
  bottom:28px;
  width:1px;
  background:
    linear-gradient(
      180deg,
      transparent 0%,
      var(--gallery-line, var(--accent)) 16%,
      var(--gallery-line, var(--accent)) 84%,
      transparent 100%
    );
  opacity:.72;
  pointer-events:none;
}

/* Лёгкая декоративная точка в центре линии */
.lg-program-grid article:not(:nth-child(4n+1))::after,
.lg-program-card:not(:nth-child(4n+1))::after{
  content:"";
  position:absolute;
  left:-3px;
  top:50%;
  width:7px;
  height:7px;
  border-radius:999px;
  transform:translateY(-50%);
  background:var(--gallery-line, var(--accent));
  box-shadow:0 0 0 4px color-mix(in srgb,var(--gallery-line,var(--accent)) 12%,transparent);
  pointer-events:none;
}

/* Планшет: две колонки, разделитель только во второй карточке строки */
@media(max-width:900px){
  .lg-program-grid article::before,
  .lg-program-grid article::after,
  .lg-program-card::before,
  .lg-program-card::after{
    display:none!important;
  }

  .lg-program-grid article:nth-child(even)::before,
  .lg-program-card:nth-child(even)::before{
    display:block!important;
    content:"";
    position:absolute;
    left:0;
    top:24px;
    bottom:24px;
    width:1px;
    background:
      linear-gradient(
        180deg,
        transparent 0%,
        var(--gallery-line,var(--accent)) 16%,
        var(--gallery-line,var(--accent)) 84%,
        transparent 100%
      );
    opacity:.72;
  }

  .lg-program-grid article:nth-child(even)::after,
  .lg-program-card:nth-child(even)::after{
    display:block!important;
    content:"";
    position:absolute;
    left:-3px;
    top:50%;
    width:7px;
    height:7px;
    border-radius:999px;
    transform:translateY(-50%);
    background:var(--gallery-line,var(--accent));
    box-shadow:0 0 0 4px color-mix(in srgb,var(--gallery-line,var(--accent)) 12%,transparent);
  }
}

/* Телефон: одна колонка, вертикальные разделители не нужны */
@media(max-width:620px){
  .lg-program-grid article::before,
  .lg-program-grid article::after,
  .lg-program-card::before,
  .lg-program-card::after{
    display:none!important;
  }
}


/* =====================================================================
   LESNAYA GLAVA V30 — REMOVE RSVP TOP PROTRUSION
===================================================================== */

/* Убираем декоративные подложки и выступы над формой */
.lg-rsvp,
.lg-rsvp-block,
.lg-rsvp-shared,
.lg-rsvp-shared .rsvpSection,
.lg-rsvp-shared .rsvpGrid{
  position:relative!important;
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Полностью отключаем старые псевдоэлементы */
.lg-rsvp::before,
.lg-rsvp::after,
.lg-rsvp-block::before,
.lg-rsvp-block::after,
.lg-rsvp-shared::before,
.lg-rsvp-shared::after,
.lg-rsvp-shared .rsvpSection::before,
.lg-rsvp-shared .rsvpSection::after,
.lg-rsvp-shared .rsvpGrid::before,
.lg-rsvp-shared .rsvpGrid::after{
  content:none!important;
  display:none!important;
}

/* Форма начинается ровно, без верхней декоративной панели */
.lg-rsvp-shared .rsvpFormCard,
.lg-rsvp-shared form,
.lg-rsvp-shared .rsvp-form,
.lg-rsvp-shared .rsvpForm{
  margin-top:0!important;
  transform:none!important;
}

/* Убираем возможную внешнюю карточку-подложку */
.lg-rsvp-shared .rsvpGrid{
  padding-top:0!important;
}


/* =====================================================================
   LESNAYA GLAVA V37 — THEMED FOREST TREE IN DATE CARD
===================================================================== */

.lg-date-card{
  position:relative!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:stretch!important;
  gap:0!important;
  padding:28px 28px 30px!important;
}

.lg-date-card .lg-tape{
  position:relative!important;
  z-index:3!important;
  align-self:flex-end!important;
  margin:0 0 -12px!important;
}

.lg-date-tree{
  position:relative;
  z-index:1;
  width:100%;
  height:clamp(150px,12vw,220px);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  margin:0 0 8px;
  pointer-events:none;
}

.lg-date-tree::after{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--date-tree-color,var(--forest)),transparent);
  opacity:.34;
}

.lg-date-tree-mask{
  display:block;
  width:min(82%,290px);
  height:100%;
  background:var(--date-tree-color,var(--forest));
  -webkit-mask:url("./forest-tree.svg") center bottom / contain no-repeat;
  mask:url("./forest-tree.svg") center bottom / contain no-repeat;
  filter:drop-shadow(0 16px 24px color-mix(in srgb,var(--date-tree-color,var(--forest)) 18%,transparent));
  opacity:.97;
}

.lg-date-caption{
  position:relative;
  z-index:2;
  width:100%;
  text-align:center;
  padding-top:14px;
}

.lg-date-caption .lg-kicker{
  margin:0 0 10px!important;
  color:var(--muted)!important;
  font-size:10px!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}

.lg-date-caption .lg-big{
  color:var(--ink)!important;
  font-family:"Cormorant Garamond",Georgia,serif!important;
  font-size:clamp(42px,4vw,68px)!important;
  line-height:.9!important;
  letter-spacing:-.045em!important;
}

.lg-date-note{
  width:min(320px,100%);
  margin:14px auto 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

/* Цвет дерева меняется вместе с темой */
body[data-theme="pine"]{--date-tree-color:#426b56}
body[data-theme="fog"]{--date-tree-color:#8ba39a}
body[data-theme="fern"]{--date-tree-color:#5e8e63}
body[data-theme="cedar"]{--date-tree-color:#9c745e}
body[data-theme="autumn"]{--date-tree-color:#ba7948}
body[data-theme="night"]{--date-tree-color:#83aa94}
body[data-theme="spruce"]{--date-tree-color:#64a28f}
body[data-theme="rain"]{--date-tree-color:#83a3a5}
body[data-theme="shadow"]{--date-tree-color:#a1afa4}
body[data-theme="moss"]{--date-tree-color:#96a982}

@media(max-width:980px){
  .lg-date-card{
    padding:24px 22px 26px!important;
  }

  .lg-date-tree{
    height:160px;
  }

  .lg-date-tree-mask{
    width:min(78%,240px);
  }
}

@media(max-width:760px){
  .lg-date-tree{
    height:136px;
  }

  .lg-date-caption .lg-big{
    font-size:clamp(38px,11vw,58px)!important;
  }

  .lg-date-note{
    font-size:11px;
  }
}


/* =====================================================================
   LESNAYA GLAVA V38 — BIGGER TREE / BIGGER DATE / NO NOTE
===================================================================== */

.lg-date-card{
  padding:24px 28px 34px!important;
}

.lg-date-tree{
  height:clamp(210px,16vw,300px)!important;
  margin:0 0 12px!important;
}

.lg-date-tree-mask{
  width:min(94%,380px)!important;
  height:100%!important;
}

.lg-date-caption{
  padding-top:10px!important;
}

.lg-date-caption .lg-kicker{
  margin-bottom:12px!important;
}

.lg-date-caption .lg-big{
  font-size:clamp(54px,5.3vw,88px)!important;
  line-height:.88!important;
}

.lg-date-note{
  display:none!important;
}

@media(max-width:980px){
  .lg-date-tree{
    height:210px!important;
  }

  .lg-date-tree-mask{
    width:min(88%,310px)!important;
  }

  .lg-date-caption .lg-big{
    font-size:clamp(48px,7vw,72px)!important;
  }
}

@media(max-width:760px){
  .lg-date-card{
    padding:20px 18px 28px!important;
  }

  .lg-date-tree{
    height:170px!important;
    margin-bottom:8px!important;
  }

  .lg-date-tree-mask{
    width:min(86%,260px)!important;
  }

  .lg-date-caption .lg-big{
    font-size:clamp(44px,12vw,64px)!important;
  }
}
