.ornamental-divider{display:flex;align-items:center;justify-content:center;gap:10px;width:112px;margin:18px auto 4px;color:#7c946c;font:18px/1.2 Georgia,serif}
.ornamental-divider::before,.ornamental-divider::after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,#8da27b)}
.ornamental-divider::after{transform:rotate(180deg)}
.celebrations>.welcome-note{margin-top:10px}
.album-open{font:10px/1.4 'Lora',Georgia,serif;min-height:30px;top:10px;right:10px;padding:6px 9px;border-radius:6px;color:#fffef3;background:#17291c55;backdrop-filter:blur(4px);border:1px solid #fff4;letter-spacing:.1px}
.album-open:hover{background:#17291c88}
.gallery-control{width:36px;height:40px;min-height:40px;border-radius:0;background:transparent;color:#fff;font:30px/1 Georgia,serif;text-shadow:0 1px 5px #000c;padding:0;display:grid;place-items:center}
.gallery-control:hover{color:#fff9d8}.gallery-control.prev{left:7px}.gallery-control.next{right:7px}
[data-node-id="2010:220"],[data-node-id="2010:223"],[data-node-id="2010:232"],[data-node-id="2010:235"]{display:none!important}
#thanks-dialog{padding:0;width:min(390px,calc(100% - 28px));border-radius:16px;background:#faf9f1 url('assets/37bec.webp') center/420px;overflow:auto;text-align:center;border:1px solid #b7c2a9}
#thanks-dialog .close-dialog{z-index:2;background:#faf9f1e8;width:34px;height:34px;font-size:23px;right:9px;top:9px}
.thanks-photo{width:100%;height:240px;object-fit:cover;object-position:center 32%}
.thanks-body{padding:13px 25px 24px}
#thanks-dialog h2{font:29px/1.9 'BHN BP Ecatherina',cursive;font-weight:400;margin:0 0 16px;padding:2px 0 8px}
#thanks-dialog .thanks-copy{font:13px/1.8 'Lora',Georgia,serif;margin:0 0 12px}
#thanks-dialog .thanks-signature{font:17px/1.7 '1FTV VIP British Green',Georgia,serif;margin:12px 0 8px}
#thanks-dialog .thanks-note{font:10px/1.6 'Lora',Georgia,serif;color:#617653;margin:10px 0 15px}
#thanks-dialog .ornamental-divider{margin:6px auto}
#thanks-dialog .pill{min-height:40px;padding:8px 25px;font-size:12px}
@media(max-height:680px){.thanks-photo{height:175px}.thanks-body{padding:10px 22px 18px}#thanks-dialog h2{margin-bottom:8px}}

/* Two interlocking wedding bands, shared by the invitation and dialogs. */
.ornamental-divider{gap:10px;height:22px;width:118px;color:#7a8c66;font-size:0}
.ornamental-divider>span{display:block;flex:0 0 34px;height:22px;background:url('assets/wedding-rings.svg') center/contain no-repeat}
.ornamental-divider::before,.ornamental-divider::after{background:linear-gradient(90deg,transparent,#a4af92);height:1px}
.ornamental-divider{width:136px;height:22px;background:url('assets/ceremony-divider.svg') center/contain no-repeat}
.ornamental-divider::before,.ornamental-divider::after,.ornamental-divider>span{display:none}

/* Plain close icon, with a transparent touch target. */
dialog .close-dialog, #thanks-dialog .close-dialog{background:transparent;border:0;border-radius:0;box-shadow:none;width:40px;height:40px;display:grid;place-items:center;color:#28621c;padding:10px}
dialog .close-dialog svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
dialog .close-dialog:focus-visible{outline:1px solid #78916b;outline-offset:-4px}
.event-map svg{width:13px;height:13px;margin-left:4px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* A compact, horizontally scrolling album rail; full-size photos load on selection. */
.album-thumbnails{position:absolute;bottom:0;left:0;right:0;height:84px;z-index:4;display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;padding:4px 0;background:#fafaf3;scrollbar-width:thin;scrollbar-color:#87977455 transparent;overscroll-behavior-x:contain}
.album-thumbnail{flex:0 0 76px;width:76px;height:76px;padding:0;background:transparent;border:1px solid transparent;opacity:.75}
.album-thumbnail img{width:100%;height:100%;object-fit:cover}
.album-thumbnail[aria-current=true]{border-color:#28621c;opacity:1}
.album-thumbnail:focus-visible{outline-offset:-3px;opacity:1}
