/* Additions only: original card layout, typography and artwork remain intact. */
body{background-color:#f7eee8}
html[data-bride-reception=past] #SECTION14{display:none!important}
/* Reserve the original layout while details wait for their preceding content. */
.wedding-reveal-pending{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
/* A single entrance per widget: don't paint items before their stagger starts. */
#calendar-wrapper:not([data-calendar-reveal]) .calendar-day,
.edit_countDown:not([data-items-revealed]) .countdown-item,
.edit_Timeline:not([data-items-revealed]) .wb-tl-row,
.edit_RPSV:not([data-items-revealed]) .wb-form-field,
.edit_sendMessage:not([data-items-revealed]) .wb-form-field,
.edit_dressCode:not([data-items-revealed]) .dc-swatch-wrap{visibility:hidden!important}
/* Original template typography is inherited without role-based overrides. */
[data-wedding-side=bride]{--wedding-event-accent:#ac7134}
[data-wedding-side=groom]{--wedding-event-accent:#c7352c}
.ladi-section .wedding-event-date{color:var(--wedding-event-accent)!important}
.wedding-event-time strong,.wedding-ceremony-time strong{color:var(--wedding-event-accent);font-weight:700}
.wedding-countdown-status{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;height:100%;font:24px/1.5 "Open Sans",sans-serif;color:#805838;padding:12px;text-wrap:balance}
.wedding-countdown-status[hidden]{display:none!important}
/* Match the ceremony headings while keeping the original countdown composition. */
#SECTION12 #HEADLINE94>.ladi-headline{font-family:VVRNLUFuZHJvZluZSdGY,sans-serif;font-size:24px;font-weight:400;font-style:normal;line-height:1.35;color:#ac7134;text-wrap:balance}
html[data-ui=mobile] #SECTION12 #HEADLINE94>.ladi-headline{font-size:18px}
/* Keep the original handwritten CountDown font, sized to include its long swashes. */
#SECTION12 #HEADLINE93>.ladi-headline{font-size:100px}
html[data-ui=mobile] #SECTION12 #HEADLINE93>.ladi-headline{font-size:84px}
#SECTION12{--wedding-event-accent:#ac7134}
html[data-wedding-phase^="groom:"] #SECTION12{--wedding-event-accent:#c7352c}
#SECTION12 .countdown-number{color:var(--wedding-event-accent)!important}
html[data-ui=desktop] #SECTION12 #HEADLINE94{left:0;width:291px;top:165px}
html[data-ui=mobile] #SECTION12 #HEADLINE94{top:143px}
html[data-ui=mobile] #SECTION12 #IMAGE64{top:224px;height:307.77px}

/* Quiet ceremony time, using the same typeface and ink as the original details. */
.wedding-ceremony-time{position:absolute;margin:0;text-align:center;font:400 16px/1.6 "Open Sans",sans-serif;color:rgb(115,115,115)}
html[data-ui=mobile] .wedding-ceremony-time{left:24px;right:24px;top:516px}
html[data-ui=desktop] .wedding-ceremony-time{left:589px;top:267px;width:302px}

/* One direct map link per restaurant, matching the original white map control. */
.ladi-section a.wedding-reception-directions{position:absolute;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:10px 26px;box-sizing:border-box;border:1px solid #e4d8d2;border-radius:28px;background:#fff;color:#737373;font:600 15px/1.4 "Open Sans",sans-serif;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.ladi-section a.wedding-reception-directions:hover{background:#f8f2ee;color:#8c695a}
.ladi-section a.wedding-reception-directions:focus-visible{outline:2px solid #8c695a;outline-offset:4px}
html[data-ui=mobile] .wedding-reception-directions{top:1397px;min-height:58px;font-size:18px}
html[data-ui=desktop] .wedding-reception-directions{top:1035px}
html[data-ui=mobile] :is(#SECTION14,#GROOM_SECTION14){height:1658px!important}
html[data-ui=mobile] :is(#BOX98,#GROOM_BOX98){min-height:1615px!important}
html[data-ui=mobile] :is(#GROUP284,#GROOM_GROUP284){top:1478px!important}
html[data-ui=desktop] :is(#SECTION14,#GROOM_SECTION14){height:1357px!important}
html[data-ui=desktop] :is(#BOX98,#GROOM_BOX98){min-height:1278px!important}
html[data-ui=desktop] :is(#GROUP284,#GROOM_GROUP284){top:1104px!important}

/* Ceremony colors preserve the original seven-column calendar. */
.calendar-day[data-ceremony]{display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px!important;line-height:1.1!important;box-shadow:inset 0 0 0 1px #ffffff50}
.calendar-day[data-ceremony=bride]{background:#ffa500!important;color:#663607!important}
.calendar-day[data-ceremony=groom]{background:#c7352c!important;color:#fff9f1!important}
.wedding-calendar-number{font:700 20px/1.1 "Open Sans",sans-serif!important;color:inherit!important}
.wedding-calendar-label{font:500 13px/1.2 "Open Sans",sans-serif!important;color:inherit!important;text-align:center;text-wrap:balance}
html[data-ui=mobile] .wedding-calendar-number{font-size:17px!important}
html[data-ui=mobile] .wedding-calendar-label{font-size:11px!important;line-height:1.15!important;max-width:46px}

.calendar-day[data-ceremony]{padding:0!important}
.wedding-calendar-event-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;height:100%;min-height:44px;padding:4px 2px;color:inherit!important;text-decoration:none;border-radius:inherit}
.wedding-calendar-event-link:focus-visible{outline:3px solid #805838;outline-offset:3px}
.wedding-calendar-event-link:hover{box-shadow:inset 0 0 0 2px #fff8f199}
.calendar-day:not([data-ceremony]){cursor:default}
/* Equal tracks: labels never determine the size of an individual day or week. */
#calendar-wrapper.calendar-wrapper{height:auto!important;gap:8px}
#calendar-wrapper .calendar-header{height:83px;min-height:83px;gap:6px;flex-shrink:0;position:relative;z-index:1}
html[data-ui=mobile] #calendar-wrapper .calendar-header{height:42px;min-height:42px}
#calendar-body.calendar-body{grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:58px!important;gap:6px!important;flex:none}
html[data-ui=mobile] #calendar-body.calendar-body{grid-auto-rows:68px!important}
#calendar-body>.calendar-day{height:100%!important;min-height:0;min-width:0;margin:0;box-sizing:border-box}
#HTML_CODE40{height:auto!important}
#HTML_CODE40>.ladi-html-code{height:auto!important}

/* Desktop shares one original-style frame; mobile keeps both original cards. */
html[data-ui=mobile] .wedding-ceremonies{display:contents}
html[data-ui=desktop] .wedding-ceremonies{position:relative;width:960px;margin:30px auto;background:linear-gradient(265deg,#ecdbd4,#fff);border-radius:48px;box-shadow:0 12px 24px #0004;padding-bottom:16px}
html[data-ui=desktop] .wedding-ceremonies>.ladi-section{width:960px;background:transparent;overflow:visible}
html[data-ui=desktop] .wedding-ceremonies>.ladi-section>.ladi-section-background,
html[data-ui=desktop] .wedding-ceremonies #BOX221,
html[data-ui=desktop] .wedding-ceremonies #GROOM_BOX221{display:none!important}
html[data-ui=desktop] .wedding-ceremonies #SECTION29{height:400px!important}
html[data-ui=desktop] .wedding-ceremonies #GROOM_SECTION29{height:260px!important}
html[data-ui=desktop] .wedding-ceremonies #GROOM_SECTION29{border-bottom:0}
html[data-ui=desktop] .wedding-ceremonies #GROOM_GROUP273{top:-110px!important}
html[data-ui=desktop] .wedding-ceremonies #GROOM_GROUP268{display:none!important}
