@font-face{
  font-family:PagCustom;
  src:url('Pag_Font4You.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--page_bg,#f5f5f3);
  color:var(--ink,#171717);
  font-family:Arial,Helvetica,sans-serif;
}
.orPage{
  width:min(100%,920px);
  margin:auto;
  background:var(--paper,#fff);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent);
}
.orMarker{font-family:PagCustom,cursive;color:var(--accent)!important;font-weight:400}

/* HERO */
.orHero{padding:38px 34px 0;text-align:center}
.orWedding{font-size:24px}
.orNames{font-size:clamp(48px,8vw,76px);line-height:.95;margin:2px 0 30px}
.orPhoto{position:relative;width:min(650px,86%);aspect-ratio:1.06;margin:auto}
.orPhoto img{
  width:100%;height:100%;object-fit:cover;border-radius:46px;
  filter:grayscale(1);display:block;
}
.orHeart,.orDate{position:absolute;z-index:3}
.orHeart{font-size:76px}
.orHeart.h1{left:-48px;top:48px;transform:rotate(-18deg)}
.orHeart.h2{right:-42px;bottom:35px;transform:rotate(16deg)}
.orDate{left:20px;top:54px;font-size:48px;transform:rotate(-10deg)}
.orHeroPlaceholder{
  width:100%;height:100%;display:grid;place-items:center;
  border-radius:46px;background:#f3f3f3;border:1px solid #ddd;
}
.orHeroPlaceholderText{
  padding:0 28px;text-align:center;font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important;line-height:1.35!important;font-weight:400!important;
  color:#111!important;letter-spacing:0!important;transform:none!important;
}
.orShare{font-size:20px;margin:22px 0 3px}
.orHash{font-size:34px}
.orHeroBottom{
  display:grid;grid-template-columns:1.2fr 1fr auto;gap:18px;align-items:center;
  text-align:left;margin-top:28px;font-size:13px
}
.orHeroBottom i{height:1px;background:var(--ink)}
.orHeroBottom strong{font-size:34px}

/* CUSTOM STORY / PROGRAM */
.orSection,.orShared{padding:90px 64px;border-top:1px solid var(--line)}
.orSection>small{font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.orSection h2{
  font-size:clamp(42px,7vw,72px);line-height:.98;margin:10px 0 30px;
  font-weight:500;letter-spacing:-.045em
}
.orStory{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.orStoryPhoto{position:relative}
.orStoryPhoto img{
  width:100%;aspect-ratio:.9;object-fit:cover;border-radius:34px;filter:grayscale(1);display:block
}
.orStoryPhoto span{position:absolute;right:-18px;bottom:18px;font-size:32px}
.orStory p{font-size:17px;line-height:1.7}
.orSchedule{border-top:1px solid var(--ink)}
.orSchedule article{
  display:grid;grid-template-columns:110px 1fr 100px;gap:24px;
  padding:24px 0;border-bottom:1px solid var(--ink)
}
.orSchedule time{font-size:29px}
.orSchedule h3{margin:0;font-size:19px}
.orSchedule p{margin:6px 0 0;color:var(--muted)}
.orSchedule .orMarker{text-align:right;font-size:23px}

/* SHARED BLOCK SHELL */
.orShell{width:100%}
.orShared{background:var(--paper)}
.orShared:nth-of-type(even){background:color-mix(in srgb,var(--panel2) 70%,var(--paper))}
.orShared :is(h1,h2,h3,h4,p,span,label,legend){color:var(--ink)}
.orShared a{color:var(--ink)}
.orShared button,.orShared [type=submit]{font-family:inherit}
.orEnd{text-align:center;padding:110px 30px 90px;border-top:1px solid var(--line)}
.orEnd>span{font-size:38px}
.orEnd h2{font-size:clamp(52px,9vw,82px);line-height:.9;margin:20px 0}
.orEnd h2 i{font-family:PagCustom;color:var(--accent);font-style:normal}
.orEnd>b{display:block;font-size:80px;margin-top:20px}

/* ==========================================
   UNIVERSAL TIMER — override block inline CSS
========================================== */
.orTimerBlock{padding-top:76px;padding-bottom:76px}
.orTimerBlock .iviTimer{
  padding:0!important;
  color:var(--ink)!important;
  --timer-bg:transparent!important;
  --timer-text:var(--ink)!important;
  --timer-accent:var(--accent)!important;
  --timer-border:var(--ink)!important;
  --timer-radius:0!important;
}
.orTimerBlock .iviTimer__inner{
  max-width:none!important;margin:0!important;padding:0!important;border:0!important;
  border-radius:0!important;background:transparent!important;backdrop-filter:none!important;
  text-align:left!important;
}
.orTimerBlock .iviTimer__kicker{
  margin:0 0 10px!important;color:var(--ink)!important;opacity:1!important;
  font-size:11px!important;font-weight:400!important;letter-spacing:.2em!important;
}
.orTimerBlock .iviTimer__title{
  margin:0 0 30px!important;color:var(--ink)!important;
  font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(42px,7vw,72px)!important;
  font-weight:500!important;line-height:.98!important;letter-spacing:-.045em!important;
}
.orTimerBlock .iviTimer__text{
  max-width:620px!important;margin:-12px 0 30px!important;color:var(--muted)!important;
  opacity:1!important;line-height:1.65!important
}
.orTimerBlock .iviTimer__grid{
  max-width:none!important;margin:0!important;display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;gap:0!important;
  border:1px solid var(--ink)!important
}
.orTimerBlock .iviTimer__grid>div{
  padding:26px 8px!important;border:0!important;border-right:1px solid var(--ink)!important;
  border-radius:0!important;background:transparent!important;text-align:center!important
}
.orTimerBlock .iviTimer__grid>div:last-child{border-right:0!important}
.orTimerBlock .iviTimer__grid b{
  font-size:48px!important;font-weight:500!important;color:var(--accent)!important
}
.orTimerBlock .iviTimer__grid span{
  margin-top:7px!important;color:var(--ink)!important;opacity:.68!important;
  font-size:10px!important;letter-spacing:.11em!important
}
.orTimerBlock .iviTimer__expired{
  margin:0!important;padding:30px!important;border:1px solid var(--ink)!important;
  color:var(--accent)!important;font-family:PagCustom,cursive!important;text-align:center!important
}

/* ==========================================
   LOCATION
========================================== */
.orLocation .iviLoc{width:100%;color:var(--ink)}
.orLocation .iviLocHead{margin:0 0 32px!important;text-align:left!important}
.orLocation .iviLocKicker{
  margin:0 0 10px!important;color:var(--ink)!important;font-size:11px!important;
  font-weight:400!important;letter-spacing:.2em!important;text-transform:uppercase
}
.orLocation .iviLocTitle{
  margin:0!important;color:var(--ink)!important;font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(42px,7vw,72px)!important;font-weight:500!important;line-height:.98!important;
  letter-spacing:-.045em!important
}
.orLocation .iviLocGrid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;align-items:stretch!important
}
.orLocation .iviLocCard{
  min-width:0!important;display:flex!important;flex-direction:column!important;
  border:1px solid var(--ink)!important;border-radius:0!important;background:var(--paper)!important;
  overflow:hidden!important;box-shadow:none!important
}
.orLocation .iviLocPhoto{height:250px!important;overflow:hidden!important}
.orLocation .iviLocPhoto img{
  width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;
  filter:grayscale(1)!important
}
.orLocation .iviLocBody{
  position:relative!important;display:flex!important;flex:1!important;flex-direction:column!important;
  padding:30px!important
}
.orLocation .iviLocBadge{
  display:inline-block!important;align-self:flex-start!important;margin:0 0 22px!important;
  padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;
  color:var(--accent)!important;font-family:PagCustom,cursive!important;font-size:25px!important;
  line-height:1!important;transform:rotate(-3deg)
}
.orLocation .iviLocName{
  margin:0 0 10px!important;color:var(--ink)!important;font-size:30px!important;
  font-weight:500!important;line-height:1.08!important
}
.orLocation .iviLocAddr{font-size:14px!important;line-height:1.55!important;color:var(--ink)!important}
.orLocation .iviLocNote{
  margin-top:13px!important;color:var(--muted)!important;font-size:13px!important;line-height:1.55!important
}
.orLocation .iviLocActions{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;
  margin-top:auto!important;padding-top:24px!important
}
.orLocation .iviBtn{
  min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  padding:10px 12px!important;border:1px solid var(--ink)!important;border-radius:0!important;
  font-size:10px!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase!important;
  text-decoration:none!important;box-shadow:none!important
}
.orLocation .iviBtnPrimary{background:var(--ink)!important;color:var(--paper)!important}
.orLocation .iviBtnGhost{background:transparent!important;color:var(--ink)!important}

/* ==========================================
   DRESS CODE
========================================== */
.orDress .iviDress{padding:0!important;color:var(--ink)!important}
.orDress .iviDressWrap{max-width:none!important;margin:0!important;text-align:left!important}
.orDress .iviDressKicker{
  margin:0 0 10px!important;color:var(--ink)!important;font-size:11px!important;
  font-weight:400!important;letter-spacing:.2em!important;text-transform:uppercase
}
.orDress .iviDressTitle{
  margin:0 0 30px!important;color:var(--ink)!important;font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(42px,7vw,72px)!important;font-weight:500!important;line-height:.98!important;
  letter-spacing:-.045em!important
}
.orDress .iviDressSwatches{
  width:100%!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(56px,1fr))!important;
  gap:0!important;margin:0 0 28px!important;border:1px solid var(--ink)!important;
  overflow:hidden!important
}
.orDress .iviDressDot{
  width:100%!important;height:100px!important;border-radius:0!important;
  border:0!important;border-right:1px solid color-mix(in srgb,var(--ink) 25%,transparent)!important;
  background:var(--c)!important;box-shadow:none!important
}
.orDress .iviDressDot:last-child{border-right:0!important}
.orDress .iviDressText{
  width:min(650px,100%)!important;margin:0!important;color:var(--muted)!important;
  font-size:16px!important;line-height:1.65!important
}

/* ==========================================
   GALLERY + FANCYBOX
========================================== */
.orGallery .iviGallery{width:100%}
.orGallery .iviGalleryHead{margin:0 0 32px!important;text-align:left!important}
.orGallery .iviGalleryKicker{
  margin:0 0 10px!important;color:var(--ink)!important;font-size:11px!important;
  font-weight:400!important;letter-spacing:.2em!important;text-transform:uppercase!important
}
.orGallery .iviGalleryTitle{
  margin:0!important;color:var(--ink)!important;font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(42px,7vw,72px)!important;font-weight:500!important;line-height:.98!important;
  letter-spacing:-.045em!important
}
.orGallery .iviGallerySubtitle{
  width:min(650px,100%)!important;margin:18px 0 0!important;color:var(--muted)!important;
  font-size:16px!important;line-height:1.65!important
}
.orGallery .iviGalleryGrid{
  display:grid!important;grid-template-columns:1.18fr .82fr!important;
  grid-auto-rows:230px!important;gap:10px!important
}
.orGallery .iviGalleryGrid.iviGalleryGrid--masonry{
  columns:initial!important;column-gap:initial!important
}
.orGallery .iviGalleryItem{
  position:relative!important;display:block!important;min-width:0!important;margin:0!important;
  overflow:hidden!important;border-radius:28px!important;background:#eee!important;text-decoration:none!important
}
.orGallery .iviGalleryItem:nth-child(1){grid-row:span 2}
.orGallery .iviGalleryItem:nth-child(4n+4){grid-column:span 2}
.orGallery .iviGalleryItem img{
  width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;
  filter:grayscale(1)!important;transition:transform .35s ease,filter .35s ease!important
}
.orGallery .iviGalleryItem:hover img{transform:scale(1.025)!important;filter:grayscale(.3)!important}
.orGallery .iviGalleryCaption{
  position:absolute!important;left:12px!important;right:12px!important;bottom:12px!important;
  margin:0!important;padding:9px 11px!important;background:rgba(255,255,255,.9)!important;
  color:#111!important;font-size:11px!important;line-height:1.35!important;border-radius:0!important
}
.fancybox__container{--fancybox-bg:rgba(18,18,18,.96);z-index:99999!important}
.fancybox__caption{font-family:Arial,Helvetica,sans-serif!important}

/* ==========================================
   DETAILS
========================================== */
.orDetails .le-details{padding:0!important;background:transparent!important;color:var(--ink)!important}
.orDetails .le-details__header{max-width:none!important;margin:0 0 34px!important;text-align:left!important}
.orDetails .le-details__kicker{
  margin:0 0 10px!important;color:var(--ink)!important;font-size:11px!important;
  font-weight:400!important;letter-spacing:.2em!important;text-transform:uppercase!important
}
.orDetails .le-details__title{
  margin:0!important;color:var(--ink)!important;font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(42px,7vw,72px)!important;font-weight:500!important;line-height:.98!important;
  letter-spacing:-.045em!important
}
.orDetails .le-details__text{
  width:min(650px,100%)!important;margin:18px 0 0!important;color:var(--muted)!important;
  font-size:16px!important;line-height:1.65!important
}
.orDetails .le-details__grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;border-top:1px solid var(--ink)!important;border-bottom:1px solid var(--ink)!important
}
.orDetails .le-details__card{
  min-width:0!important;padding:28px 22px!important;border:0!important;border-right:1px solid var(--ink)!important;
  border-radius:0!important;background:transparent!important;box-shadow:none!important
}
.orDetails .le-details__card:last-child{border-right:0!important}
.orDetails .le-details__card-icon{
  display:block!important;width:auto!important;height:auto!important;margin:0 0 34px!important;padding:0!important;
  border:0!important;background:transparent!important;color:var(--accent)!important;border-radius:0!important;
  font-family:PagCustom,cursive!important;font-size:28px!important;line-height:1!important
}
.orDetails .le-details__card-icon img{
  width:28px!important;height:28px!important;object-fit:contain!important;filter:none!important
}
.orDetails .le-details__provider{
  margin:0 0 8px!important;color:var(--accent)!important;font-size:10px!important;
  letter-spacing:.15em!important;text-transform:uppercase!important
}
.orDetails .le-details__card-title{
  margin:0 0 12px!important;color:var(--ink)!important;font-size:23px!important;font-weight:500!important
}
.orDetails .le-details__card-text{
  margin:0!important;color:var(--muted)!important;font-size:14px!important;line-height:1.55!important
}
.orDetails .le-details__wishlist-button{
  display:inline-flex!important;align-items:center!important;gap:8px!important;margin-top:22px!important;
  padding:12px 15px!important;border:1px solid var(--ink)!important;border-radius:0!important;
  background:var(--ink)!important;color:var(--paper)!important;text-decoration:none!important;
  font-size:11px!important;text-transform:uppercase!important;letter-spacing:.06em!important
}
.orDetails .le-details__wishlist-button svg{width:15px!important;height:15px!important}

/* ==========================================
   CONTACTS — overrides its inline style
========================================== */
.orContacts .ivi-contacts{
  --ivi-contacts-bg:transparent!important;--ivi-contacts-card:transparent!important;
  --ivi-contacts-text:var(--ink)!important;--ivi-contacts-muted:var(--muted)!important;
  --ivi-contacts-accent:var(--accent)!important;--ivi-contacts-line:var(--ink)!important;
  padding:0!important;background:transparent!important;overflow:visible!important
}
.orContacts .ivi-contacts__inner{width:100%!important;max-width:none!important}
.orContacts .ivi-contacts__head{
  max-width:none!important;margin:0 0 34px!important;text-align:left!important
}
.orContacts .ivi-contacts__kicker{
  margin:0 0 10px!important;color:var(--ink)!important;font:400 11px/1.3 Arial,Helvetica,sans-serif!important;
  letter-spacing:.2em!important
}
.orContacts .ivi-contacts__title{
  margin:0!important;color:var(--ink)!important;font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(42px,7vw,72px)!important;font-weight:500!important;line-height:.98!important;
  letter-spacing:-.045em!important
}
.orContacts .ivi-contacts__text{
  width:min(650px,100%)!important;max-width:none!important;margin:18px 0 0!important;
  color:var(--muted)!important;font:400 16px/1.65 Arial,Helvetica,sans-serif!important
}
.orContacts .ivi-contacts__grid{
  display:grid!important;grid-template-columns:repeat(var(--ivi-contacts-count,1),minmax(0,1fr))!important;
  gap:0!important;border-top:1px solid var(--ink)!important;border-bottom:1px solid var(--ink)!important
}
.orContacts .ivi-contact{
  min-width:0!important;align-items:flex-start!important;margin:0!important;padding:28px 22px!important;
  text-align:left!important;background:transparent!important;border:0!important;border-right:1px solid var(--ink)!important;
  border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important
}
.orContacts .ivi-contact:last-child{border-right:0!important}
.orContacts .ivi-contact__avatar{
  width:46px!important;height:46px!important;margin:0 0 24px!important;color:var(--accent)!important;
  background:transparent!important;border:1px solid var(--accent)!important;border-radius:50%!important;box-shadow:none!important
}
.orContacts .ivi-contact__avatar svg{width:21px!important;height:21px!important}
.orContacts .ivi-contact__name{
  margin:0!important;color:var(--ink)!important;font-family:Arial,Helvetica,sans-serif!important;
  font-size:27px!important;font-weight:500!important
}
.orContacts .ivi-contact__role{
  margin:8px 0 0!important;color:var(--muted)!important;font:400 13px/1.5 Arial,Helvetica,sans-serif!important
}
.orContacts .ivi-contact__phone{
  margin:16px 0 0!important;color:var(--ink)!important;font:500 14px/1.4 Arial,Helvetica,sans-serif!important
}
.orContacts .ivi-contact__actions{
  justify-content:flex-start!important;gap:7px!important;padding-top:20px!important
}
.orContacts .ivi-contact__action{
  min-height:38px!important;padding:9px 11px!important;color:var(--ink)!important;background:transparent!important;
  border:1px solid var(--ink)!important;border-radius:0!important;font:500 11px/1 Arial,Helvetica,sans-serif!important;
  box-shadow:none!important;transform:none!important
}
.orContacts .ivi-contact__action:hover{background:var(--ink)!important;color:var(--paper)!important}

/* ==========================================
   RSVP — strong !important override
========================================== */
.orRsvp .orRsvpCard{border:0!important;padding:0!important}
.orRsvp .rsvpSection{color:var(--ink)!important}
.orRsvp .rsvpSection .rsvpSectionHead{
  width:100%!important;max-width:none!important;margin:0 0 34px!important;text-align:left!important
}
.orRsvp .rsvpSection .rsvpLabel{
  display:block!important;width:auto!important;min-height:0!important;padding:0!important;margin:0 0 10px!important;
  border:0!important;border-radius:0!important;color:var(--ink)!important;font-size:11px!important;
  font-weight:400!important;letter-spacing:.2em!important
}
.orRsvp .rsvpSection .rsvpSectionHead h2{
  margin:0!important;color:var(--ink)!important;font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(42px,7vw,72px)!important;font-weight:500!important;line-height:.98!important;
  letter-spacing:-.045em!important
}
.orRsvp .rsvpSection .rsvpHint{
  width:min(650px,100%)!important;max-width:none!important;margin:18px 0 0!important;
  color:var(--muted)!important;font-size:16px!important;line-height:1.65!important;opacity:1!important
}
.orRsvp .rsvpSection .rsvpGrid{gap:0!important}
.orRsvp .rsvpSection .rsvpFormCard{
  width:100%!important;max-width:none!important;margin:0!important;padding:32px!important;
  border:1px solid var(--ink)!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;backdrop-filter:none!important
}
.orRsvp .rsvpSection #rsvpForm{gap:26px!important}
.orRsvp .rsvpSection .row2{gap:14px!important}
.orRsvp .rsvpSection .formRow{gap:9px!important}
.orRsvp .rsvpSection .label{
  color:var(--ink)!important;font-size:12px!important;font-weight:600!important;letter-spacing:.02em!important
}
.orRsvp .rsvpSection .field{
  min-height:52px!important;padding:12px 14px!important;border:1px solid var(--ink)!important;border-radius:0!important;
  background:var(--paper)!important;color:var(--ink)!important;font-size:15px!important;box-shadow:none!important
}
.orRsvp .rsvpSection textarea.field{min-height:110px!important}
.orRsvp .rsvpSection .field:focus{
  border-color:var(--accent)!important;background:var(--paper)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)!important
}
.orRsvp .rsvpSection .chips{gap:8px!important}
.orRsvp .rsvpSection .chip{
  flex:1 1 140px!important;min-height:46px!important;padding:10px 14px!important;border:1px solid var(--ink)!important;
  border-radius:0!important;background:transparent!important;color:var(--ink)!important;font-size:13px!important;
  font-weight:500!important;box-shadow:none!important
}
.orRsvp .rsvpSection .chip[data-active="true"],
.orRsvp .rsvpSection .chip.is-active,
.orRsvp .rsvpSection .chip.active{
  background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important
}
.orRsvp .rsvpSection .rsvpTotal{
  min-height:36px!important;padding:0 11px!important;border:1px solid var(--ink)!important;border-radius:0!important;
  color:var(--ink)!important
}
.orRsvp .rsvpSection .consent{
  grid-template-columns:20px minmax(0,1fr)!important;gap:11px!important;padding:14px!important;
  border:1px solid var(--line)!important;border-radius:0!important;background:color-mix(in srgb,var(--panel) 65%,var(--paper))!important;
  color:var(--ink)!important;font-size:12px!important;line-height:1.5!important
}
.orRsvp .rsvpSection .consent input{accent-color:var(--accent)!important}
.orRsvp .rsvpSection .consent a{color:var(--ink)!important;text-decoration-thickness:1px!important}
.orRsvp .rsvpSection .btn.btn-full,
.orRsvp .rsvpSection #rsvpForm button[type="submit"]{
  min-height:52px!important;padding:0 22px!important;border:1px solid var(--ink)!important;border-radius:0!important;
  background:var(--ink)!important;color:var(--paper)!important;font-size:13px!important;font-weight:600!important;
  letter-spacing:.08em!important;text-transform:uppercase!important
}
.orRsvp .rsvpSection .previewLockNote,
.orRsvp .rsvpSection .statusBox,
.orRsvp .rsvpSection .rsvpAjaxStatus{
  border-radius:0!important;box-shadow:none!important
}

/* ==========================================
   MUSIC — override universal glass widget
========================================== */
body .iviMusic{
  right:14px!important;bottom:14px!important;top:auto!important;left:auto!important;
  transform:none!important;z-index:9100!important
}
body .iviMusicBtn{
  height:48px!important;padding:0 42px 0 12px!important;border:1px solid var(--ink)!important;
  border-radius:0!important;background:var(--paper)!important;color:var(--ink)!important;
  backdrop-filter:none!important;box-shadow:4px 4px 0 var(--accent)!important;
  font:600 10px/1 Arial,Helvetica,sans-serif!important;letter-spacing:.12em!important
}
body .iviMusicIconWrap{
  width:28px!important;height:28px!important;border-radius:50%!important;background:transparent!important;
  box-shadow:none!important;border:1px solid var(--accent)!important
}
body .iviMusicIcon{color:var(--accent)!important}
body .iviMusicClose{
  border-radius:0!important;border:0!important;background:transparent!important;color:var(--ink)!important;
  box-shadow:none!important
}
body .iviMusic[data-playing="1"] .iviMusicBtn{
  box-shadow:4px 4px 0 var(--accent)!important
}
body .iviMusic[data-playing="1"] .iviMusicIconWrap::after{display:none!important}

/* MOBILE */
@media(max-width:700px){
  .orPage{box-shadow:none}
  .orHero{padding:28px 18px 0}
  .orWedding{font-size:16px}
  .orNames{font-size:46px;margin-bottom:20px}
  .orPhoto{width:82%}
  .orPhoto img,.orHeroPlaceholder{border-radius:28px}
  .orHeroPlaceholderText{padding:0 20px;font-size:13px!important}
  .orHeart{font-size:50px}
  .orHeart.h1{left:-32px;top:34px}
  .orHeart.h2{right:-28px}
  .orDate{left:12px;top:38px;font-size:32px}
  .orShare{font-size:14px}
  .orHash{font-size:24px}
  .orHeroBottom{grid-template-columns:1fr 70px auto;font-size:9px}
  .orHeroBottom strong{font-size:25px}

  .orSection,.orShared{padding:66px 24px}
  .orStory{grid-template-columns:1fr}
  .orSchedule article{grid-template-columns:74px 1fr}
  .orSchedule .orMarker{grid-column:2;text-align:left}

  .orTimerBlock .iviTimer__grid{grid-template-columns:repeat(2,1fr)!important}
  .orTimerBlock .iviTimer__grid>div:nth-child(2){border-right:0!important}
  .orTimerBlock .iviTimer__grid>div:nth-child(-n+2){border-bottom:1px solid var(--ink)!important}
  .orTimerBlock .iviTimer__grid b{font-size:36px!important}

  .orLocation .iviLocGrid{grid-template-columns:1fr!important}
  .orLocation .iviLocPhoto{height:220px!important}
  .orLocation .iviLocBody{padding:24px!important}
  .orLocation .iviLocActions{grid-template-columns:1fr!important}

  .orDress .iviDressDot{height:70px!important}

  .orGallery .iviGalleryGrid{
    grid-template-columns:1fr 1fr!important;grid-auto-rows:160px!important;gap:8px!important
  }
  .orGallery .iviGalleryItem:nth-child(1){grid-row:span 2}
  .orGallery .iviGalleryItem:nth-child(4n+4){grid-column:span 2}
  .orGallery .iviGalleryItem{border-radius:20px!important}

  .orDetails .le-details__grid{grid-template-columns:1fr!important}
  .orDetails .le-details__card{
    border-right:0!important;border-bottom:1px solid var(--ink)!important;padding:24px 0!important
  }
  .orDetails .le-details__card:last-child{border-bottom:0!important}

  .orContacts .ivi-contacts__grid{grid-template-columns:1fr!important}
  .orContacts .ivi-contact{
    width:100%!important;border-right:0!important;border-bottom:1px solid var(--ink)!important;padding:24px 0!important
  }
  .orContacts .ivi-contact:last-child{border-bottom:0!important}

  .orRsvp .rsvpSection .rsvpFormCard{padding:20px 14px!important}
  .orRsvp .rsvpSection .row2{grid-template-columns:1fr!important}
  .orRsvp .rsvpSection .chips{display:grid!important;grid-template-columns:1fr!important}
  .orRsvp .rsvpSection .chip{width:100%!important}

  body .iviMusic{
    right:0!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important
  }
  body .iviMusicBtn{
    height:52px!important;border-right:0!important;box-shadow:-3px 3px 0 var(--accent)!important
  }
  body .iviMusic.isCollapsed .iviMusicBtn{
    transform:translateX(calc(100% - 22px))!important
  }
}


/* ==========================================
   v3 — remove empty shared shells completely
   and contacts exactly in poster style
========================================== */
.orShared:empty,
.orShared .orShell:empty{display:none!important}

.orContacts{
  background:var(--paper)!important;
  padding-top:54px!important;
  padding-bottom:42px!important;
}
.orContacts .ivi-contacts__head{display:none!important}
.orContacts .ivi-contacts{
  padding:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.orContacts .ivi-contacts__inner{max-width:none!important;width:100%!important;margin:0!important}
.orContacts .ivi-contacts__grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  border:0!important;
}
.orContacts .ivi-contact{
  min-height:144px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:26px 26px!important;
  text-align:left!important;
  background:var(--paper)!important;
  border:1px solid var(--ink)!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.orContacts .ivi-contact:nth-child(2){
  background:color-mix(in srgb,var(--panel) 62%,var(--paper))!important;
}
.orContacts .ivi-contact__avatar,
.orContacts .ivi-contact__actions{display:none!important}
.orContacts .ivi-contact__role{
  order:0!important;
  margin:0 0 13px!important;
  color:var(--ink)!important;
  font:400 10px/1.2 Arial,Helvetica,sans-serif!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
}
.orContacts .ivi-contact__name{
  order:1!important;
  margin:0 0 10px!important;
  color:var(--ink)!important;
  font:700 27px/1.05 Arial,Helvetica,sans-serif!important;
  letter-spacing:-.02em!important;
}
.orContacts .ivi-contact__phone{
  order:2!important;
  margin:0!important;
  color:var(--ink)!important;
  font:400 17px/1.25 Arial,Helvetica,sans-serif!important;
  text-decoration:none!important;
}
.orContactsNote{
  margin-top:30px!important;
  font-size:34px!important;
  line-height:1!important;
  transform:rotate(-4deg);
  display:inline-block;
}

@media(max-width:700px){
  .orContacts{padding-top:48px!important;padding-bottom:38px!important}
  .orContacts .ivi-contacts__grid{grid-template-columns:1fr!important;gap:10px!important}
  .orContacts .ivi-contact{
    min-height:124px!important;
    padding:22px 20px!important;
    border:1px solid var(--ink)!important;
  }
  .orContacts .ivi-contact__name{font-size:24px!important}
  .orContacts .ivi-contact__phone{font-size:16px!important}
  .orContactsNote{margin-top:24px!important;font-size:30px!important}
}

/* FINAL CONTACTS FIX
   Keep original block label/title/text and call action.
   Match sizing/alignment of every other shared block.
*/
.orContacts{
  padding-top:90px!important;
  padding-bottom:90px!important;
}

.orContacts .ivi-contacts{
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  overflow:visible!important;

  --ivi-contacts-bg:transparent!important;
  --ivi-contacts-card:transparent!important;
  --ivi-contacts-text:var(--ink)!important;
  --ivi-contacts-muted:var(--muted)!important;
  --ivi-contacts-accent:var(--accent)!important;
  --ivi-contacts-line:var(--ink)!important;
}

.orContacts .ivi-contacts__inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

/* Header: EXACT shared-block rhythm */
.orContacts .ivi-contacts__head{
  width:100%!important;
  max-width:none!important;
  margin:0 0 34px!important;
  padding:0!important;
  text-align:left!important;
}

.orContacts .ivi-contacts__kicker{
  display:block!important;
  margin:0 0 10px!important;
  padding:0!important;
  color:var(--ink)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  line-height:1.3!important;
  font-weight:400!important;
  letter-spacing:.2em!important;
  text-transform:uppercase!important;
}

.orContacts .ivi-contacts__title{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:var(--ink)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(42px,7vw,72px)!important;
  line-height:.98!important;
  font-weight:500!important;
  letter-spacing:-.045em!important;
}

.orContacts .ivi-contacts__text{
  display:block!important;
  width:min(650px,100%)!important;
  max-width:none!important;
  margin:18px 0 0!important;
  padding:0!important;
  color:var(--muted)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:16px!important;
  line-height:1.65!important;
  font-weight:400!important;
  text-align:left!important;
}

/* Cards */
.orContacts .ivi-contacts__grid{
  display:grid!important;
  grid-template-columns:repeat(var(--ivi-contacts-count,1),minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

.orContacts .ivi-contact{
  min-width:0!important;
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  margin:0!important;
  padding:30px 26px!important;

  border:1px solid var(--ink)!important;
  border-radius:0!important;
  background:var(--paper)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  text-align:left!important;
}

/* restore the right border on every card, including single card */
.orContacts .ivi-contact:last-child{
  border-right:1px solid var(--ink)!important;
}

.orContacts .ivi-contact:nth-child(2){
  background:color-mix(in srgb,var(--panel2) 55%,var(--paper))!important;
}

/* no avatar circle in this template */
.orContacts .ivi-contact__avatar{
  display:none!important;
}

.orContacts .ivi-contact__role{
  order:1!important;
  margin:0 0 12px!important;
  color:var(--ink)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:10px!important;
  line-height:1.3!important;
  font-weight:400!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}

.orContacts .ivi-contact__name{
  order:2!important;
  margin:0 0 10px!important;
  color:var(--ink)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:27px!important;
  line-height:1.1!important;
  font-weight:700!important;
}

.orContacts .ivi-contact__phone{
  order:3!important;
  margin:0 0 22px!important;
  color:var(--ink)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:16px!important;
  line-height:1.4!important;
  font-weight:400!important;
  text-decoration:none!important;
}

.orContacts .ivi-contact__actions{
  order:4!important;
  display:flex!important;
  width:100%!important;
  margin-top:auto!important;
  padding:0!important;
  gap:8px!important;
  justify-content:flex-start!important;
}

/* restore call button */
.orContacts .ivi-contact__action,
.orContacts .ivi-contact__action--call,
.orContacts a[href^="tel:"].ivi-contact__action{
  display:inline-flex!important;
  width:100%!important;
  min-height:44px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  padding:10px 14px!important;

  border:1px solid var(--ink)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  box-shadow:none!important;

  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}

.orContacts .ivi-contact__action svg{
  display:block!important;
  width:16px!important;
  height:16px!important;
  flex:0 0 16px!important;
  stroke:currentColor!important;
}

.orContacts .ivi-contact__action:hover{
  background:var(--ink)!important;
  color:var(--paper)!important;
}

/* decorative note stays below cards */
.orContacts .orContactsNote{
  margin:28px 0 0!important;
  font-family:PagCustom,cursive!important;
  font-size:34px!important;
  line-height:1!important;
  color:var(--accent)!important;
  transform:rotate(-4deg)!important;
}

/* fallback if the note is rendered with another marker class */
.orContacts > .orMarker,
.orContacts .orMarker.orContactsMarker{
  display:inline-block!important;
  margin-top:28px!important;
  font-size:34px!important;
}

@media(max-width:700px){
  .orContacts{
    padding-top:66px!important;
    padding-bottom:66px!important;
  }

  .orContacts .ivi-contacts__head{
    margin-bottom:28px!important;
  }

  .orContacts .ivi-contacts__title{
    font-size:46px!important;
  }

  .orContacts .ivi-contacts__text{
    font-size:15px!important;
    line-height:1.6!important;
  }

  .orContacts .ivi-contacts__grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .orContacts .ivi-contact{
    padding:24px 20px!important;
    border:1px solid var(--ink)!important;
  }

  .orContacts .ivi-contact:last-child{
    border-right:1px solid var(--ink)!important;
  }

  .orContacts .ivi-contact__name{
    font-size:25px!important;
  }

  .orContacts .ivi-contact__action{
    width:100%!important;
  }

  .orContacts .orContactsNote,
  .orContacts > .orMarker,
  .orContacts .orMarker.orContactsMarker{
    font-size:29px!important;
    margin-top:22px!important;
  }
}


/* CONTACTS HEADER HOTFIX
   Earlier legacy override hid .ivi-contacts__head with display:none!important.
   Force the original common block header back on.
*/
.orContacts .ivi-contacts__head{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  margin:0 0 34px!important;
  padding:0!important;
  text-align:left!important;
}

.orContacts .ivi-contacts__kicker{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin:0 0 10px!important;
  color:var(--ink)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  line-height:1.3!important;
  font-weight:400!important;
  letter-spacing:.2em!important;
  text-transform:uppercase!important;
}

.orContacts .ivi-contacts__title{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin:0!important;
  color:var(--ink)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(42px,7vw,72px)!important;
  line-height:.98!important;
  font-weight:500!important;
  letter-spacing:-.045em!important;
}

.orContacts .ivi-contacts__text{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:min(650px,100%)!important;
  max-width:none!important;
  margin:18px 0 0!important;
  padding:0!important;
  color:var(--muted)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:16px!important;
  line-height:1.65!important;
  font-weight:400!important;
  text-align:left!important;
  white-space:pre-line!important;
}

@media(max-width:700px){
  .orContacts .ivi-contacts__head{
    display:block!important;
    margin-bottom:28px!important;
  }
  .orContacts .ivi-contacts__title{
    font-size:46px!important;
  }
  .orContacts .ivi-contacts__text{
    font-size:15px!important;
    line-height:1.6!important;
  }
}

/* LOCATION SECTION TEXT FIX */
.orLocation .orLocationHead{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 32px!important;
  padding:0!important;
  text-align:left!important;
}

.orLocation .orLocationHead .iviLocKicker{
  display:block!important;
  margin:0 0 10px!important;
  color:var(--ink)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  line-height:1.3!important;
  font-weight:400!important;
  letter-spacing:.2em!important;
  text-transform:uppercase!important;
}

.orLocation .orLocationHead .iviLocTitle{
  display:block!important;
  margin:0!important;
  color:var(--ink)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(42px,7vw,72px)!important;
  line-height:.98!important;
  font-weight:500!important;
  letter-spacing:-.045em!important;
}

.orLocation .orLocationHead .iviLocText{
  display:block!important;
  width:min(650px,100%)!important;
  max-width:none!important;
  margin:18px 0 0!important;
  padding:0!important;
  color:var(--muted)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:16px!important;
  line-height:1.65!important;
  font-weight:400!important;
  text-align:left!important;
}

@media(max-width:700px){
  .orLocation .orLocationHead{
    margin-bottom:28px!important;
  }
  .orLocation .orLocationHead .iviLocTitle{
    font-size:46px!important;
  }
  .orLocation .orLocationHead .iviLocText{
    font-size:15px!important;
    line-height:1.6!important;
  }
}
