/* Shared guest view on the invitation, wedding details, and organizer preview. */
.pm-seat{color:#23211c;text-align:center;font-family:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;margin:28px 0;padding:24px 0;border-top:1px solid #d8c9ac;border-bottom:1px solid #d8c9ac;}
.pm-seat *,.pm-seat-dialog *{box-sizing:border-box;}
.pm-seat .pm-seat-label{margin:0 0 8px;font-size:17px;line-height:1.5;color:#514d43;}
.pm-seat .pm-seat-title{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(40px,9vw,58px);font-weight:500;line-height:1.12;color:#20433a;}
.pm-seat .pm-seat-household{margin:9px 0 0;font-size:17px;line-height:1.5;font-weight:500;overflow-wrap:anywhere;}
.pm-seat .pm-seat-directions{max-width:440px;margin:16px auto 0;font-size:18px;line-height:1.55;color:#334b42;}
.pm-seat .pm-seat-hint{margin:10px 0 0;font-size:16px;line-height:1.6;color:#514d43;}
.pm-seat .pm-seat-key{display:flex;align-items:center;justify-content:center;gap:9px;margin:22px 0 0;font-size:16px;color:#20433a;}
.pm-seat .pm-seat-key::before{content:'';width:15px;height:15px;border:2px solid #a9854a;border-radius:50%;background:#20433a;}
.pm-seat-map-wrap{margin:10px -18px 14px;}
.pm-seat-map{display:block;width:100%;max-width:520px;height:auto;margin:0 auto;overflow:visible;}
.pm-seat .pm-seat-button,.pm-seat-dialog .pm-seat-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 22px;border:1px solid #20433a;border-radius:6px;background:#20433a;color:#fffdf8;font:500 17px/1.45 'Jost',system-ui,sans-serif;letter-spacing:0;text-transform:none;cursor:pointer;text-decoration:none;}
.pm-seat .pm-seat-button:hover,.pm-seat-dialog .pm-seat-button:hover{background:#31584a;}
.pm-seat .pm-seat-button:focus-visible,.pm-seat-dialog .pm-seat-button:focus-visible{outline:3px solid #a9854a;outline-offset:3px;}
.pm-seat-dialog{width:min(680px,calc(100vw - 24px));max-width:680px;max-height:92vh;max-height:92dvh;padding:0;border:1px solid #b6c1b6;border-radius:12px;background:#fffdf8;color:#23211c;font-family:'Jost',system-ui,sans-serif;box-shadow:0 20px 80px #172c2540;}
.pm-seat-dialog::backdrop{background:#132b24a6;}
.pm-seat-dialog[open]{display:flex;flex-direction:column;}
.pm-seat-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid #d8c9ac;flex:none;}
.pm-seat-dialog-head h2{margin:0;font:500 28px/1.2 'Cormorant Garamond',Georgia,serif;color:#20433a;}
.pm-seat-dialog-body{padding:16px 22px 20px;overflow:auto;overscroll-behavior:contain;}
.pm-seat-dialog-body p{font-size:17px;line-height:1.5;margin:0 0 12px;text-align:center;}
.pm-seat-dialog-body .pm-seat-map{max-width:560px;max-height:calc(92vh - 170px);max-height:calc(92dvh - 170px);min-height:200px;}
@media(max-width:380px){.pm-seat-dialog-head{padding:12px;gap:10px;}.pm-seat-dialog .pm-seat-button{padding:10px 14px;}.pm-seat-dialog-body{padding:14px 8px;}}
@media print{.pm-seat-button{display:none!important;}.pm-seat-dialog{display:none!important;}.pm-seat{break-inside:avoid;}.pm-seat-map{max-width:420px;}}
