/*
 * Firsts Autumn Wedding — stable core 2.6.0.
 * Автор Бородин Павел - Первые - firsts.ru
 */

*,*::before,*::after{box-sizing:border-box}
html{margin:0;overflow-x:hidden;scroll-behavior:auto;scrollbar-gutter:stable}
body.firsts-autumn-wedding{margin:0;overflow-x:hidden;background:#fffaf4}
body.firsts-autumn-wedding.fwg-invitation-open{touch-action:pan-y}
body.firsts-autumn-wedding img{max-width:100%}
body.firsts-autumn-wedding button,
body.firsts-autumn-wedding input,
body.firsts-autumn-wedding select,
body.firsts-autumn-wedding textarea{font:inherit}

.fwg-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.fwg-basic-wrap{width:min(1120px,calc(100% - 36px));margin:auto;padding:60px 0}

html.fwg-envelope-locked,
html.fwg-envelope-locked body,
body.fwg-envelope-locked{overflow:hidden!important;overscroll-behavior:none;overflow-anchor:none}

.fwg-background-audio{display:none}
.fwg-music-toggle[hidden]{display:none!important}
.firsts-autumn-wedding .fwg-music-toggle{position:fixed;z-index:999990;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:grid;place-items:center;width:56px;height:56px;padding:0;border-radius:50%;cursor:pointer;touch-action:manipulation}
.fwg-music-toggle__icon{font-size:24px;line-height:1;transform:translateY(-1px)}
.fwg-music-toggle:not(.is-playing)::after{content:"";position:absolute;width:30px;height:1px;transform:rotate(-45deg)}

.fwg-center-text{width:min(780px,100%);margin-inline:auto;text-align:center}
.fwg-body-copy{line-height:1.75}
.fwg-leaf-divider{text-align:center}
.fwg-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.fwg-countdown__item{text-align:center}
.fwg-countdown__num,.fwg-countdown__label{display:block}
.fwg-venue-card>.elementor-container{display:grid!important;grid-template-columns:1.04fr .96fr}
.fwg-venue-card .elementor-column{width:100%!important}
.fwg-rings-visual,.fwg-rings-visual .elementor-widget-container{height:100%}
.fwg-rings-visual img{display:block;width:100%;height:100%;object-fit:cover}
.fwg-venue-info{display:flex;flex-direction:column;justify-content:center}
.fwg-timeline{width:min(820px,100%);margin-inline:auto}
.fwg-time-row{display:grid;grid-template-columns:110px 48px 1fr;gap:18px;min-height:138px}
.fwg-time{text-align:right}
.fwg-dot{position:relative;margin-inline:auto}
.fwg-time-row:not(:last-child) .fwg-dot::after{content:"";position:absolute;left:50%;top:100%;width:1px;transform:translateX(-50%)}
.fwg-palette{display:flex;justify-content:center;flex-wrap:wrap}
.fwg-dress-code-rows{display:grid}
.fwg-dress-code-row{position:relative;margin:0}
.fwg-dress-code-row img{display:block;width:100%;height:auto}
.fwg-note-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.fwg-note{text-align:center}
.fwg-note b,.fwg-note span{display:block}
.fwg-rsvp{width:min(780px,100%);margin-inline:auto}
.fwg-field{margin-bottom:20px}
.fwg-field label,.fwg-label{display:block;margin-bottom:8px}
.fwg-field input,.fwg-field select,.fwg-field textarea{display:block;width:100%;padding:14px 16px}
.fwg-field textarea{min-height:118px;resize:vertical}
.fwg-options{display:flex;gap:10px;flex-wrap:wrap}
.fwg-option{display:flex!important;align-items:center;gap:9px;cursor:pointer}
.fwg-option input,.fwg-consent input{width:auto!important}
.fwg-message{display:none;margin-top:18px;padding:13px}
.fwg-message.is-success,.fwg-message.is-error{display:block}
.fwg-hp{position:absolute!important;left:-9999px!important}
.fwg-submit[disabled]{opacity:.62;cursor:wait}
.fwg-footer-note{text-align:center}

.fwg-dialog-open{overflow:hidden}
.fwg-calendar-dialog[hidden]{display:none!important}
.fwg-calendar-dialog{position:fixed;z-index:1000001;inset:0;display:grid;place-items:center;padding:20px}
.fwg-calendar-dialog__backdrop{position:absolute;inset:0;backdrop-filter:blur(9px)}
.fwg-calendar-dialog__panel{position:relative;width:min(540px,100%);max-height:90vh;overflow:auto;padding:44px;text-align:center}
.fwg-calendar-dialog__close{position:absolute;top:12px;right:14px;width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer}
.fwg-calendar-dialog__actions{display:grid;gap:12px;margin-top:27px}
.fwg-calendar-dialog__actions .fwg-button{width:100%}
.fwg-calendar-choice{min-height:52px;padding:10px 20px;cursor:pointer}
.fwg-calendar-dialog__status{min-height:22px;margin-top:10px}

.fwg-reveal{opacity:0;transform:translate3d(0,46px,0);transition:opacity .9s var(--fwg-reveal-delay,0ms) ease,transform 1.05s var(--fwg-reveal-delay,0ms) cubic-bezier(.16,.8,.22,1)}
.fwg-reveal--left{transform:translate3d(-54px,28px,0) rotate(-.7deg)}
.fwg-reveal--right{transform:translate3d(54px,28px,0) rotate(.7deg)}
.fwg-reveal--scale{transform:translate3d(0,40px,0) scale(.97)}
.fwg-reveal.is-visible{opacity:1;transform:none}

@media(max-width:767px){
  .fwg-venue-card>.elementor-container{grid-template-columns:1fr}
  .fwg-time-row{grid-template-columns:64px 28px 1fr;gap:10px;min-height:124px}
  .fwg-note-grid{grid-template-columns:1fr}
  .fwg-options{display:grid}
  .fwg-calendar-dialog{padding:10px}
  .fwg-calendar-dialog__panel{max-height:94vh;padding:40px 18px 24px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .fwg-reveal,.fwg-music-toggle{animation:none!important;transition-duration:.01ms!important}
  .fwg-reveal{opacity:1!important;transform:none!important}
}
