/* Reference-inspired pass. All identity/seating facts come from the own-guest API. */
.guest-pass{padding:0;overflow:hidden;background:#fffaf0;border-color:#dbc18e;box-shadow:0 8px 26px #72501f0d;}
.guest-pass-hero{position:relative;width:100%;height:clamp(155px,45vw,205px);box-sizing:border-box;overflow:hidden;background:#fff7e8;display:grid;grid-template-columns:minmax(0,1fr) 30%;}
.guest-pass-photo{width:78%;height:100%;position:absolute;inset:0 auto 0 0;object-fit:cover;object-position:center 30%;}
.guest-pass-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 40%,#fff7e84d 62%,#fff7e8f2 80%);pointer-events:none;}
.guest-pass-seal{grid-column:2;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;padding:10px 4px;color:#9e793b;}
.guest-pass-seal img{width:min(100%,100px);height:auto;object-fit:contain;filter:drop-shadow(0 4px 4px #79562629);}.guest-pass-seal span{font:italic 11px/1.3 Georgia,serif;max-width:100%;overflow-wrap:anywhere;}.guest-pass-seal span:last-child{font-size:18px;}
.guest-pass-body{position:relative;margin-top:-14px;border-top:1px solid #e6d2ae;border-radius:22px 22px 0 0;padding:18px 15px;background:#fffaf5f7;z-index:2;isolation:isolate;}
.guest-pass-body::before,.guest-pass-body::after{content:'';position:absolute;z-index:-1;pointer-events:none;background:url('assets/gift-floral.svg') center/contain no-repeat;width:110px;height:180px;opacity:.2;}
.guest-pass-body::before{left:-35px;top:180px;transform:rotate(170deg);}.guest-pass-body::after{right:-25px;bottom:-15px;}
.guest-pass-identity{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:15px;}.guest-pass-initials{display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;border-radius:50%;border:3px solid #c8a15c;outline:3px solid #f3e5c9;background:linear-gradient(145deg,#f8edd7,#e0c492);font:500 24px Georgia,serif;color:#79531e;}
.guest-pass-person{flex:1 1 140px;min-width:0;display:grid;gap:5px;}.guest-pass-person>strong{font:500 23px/1.15 Georgia,serif;color:#312416;overflow-wrap:anywhere;}.guest-pass-tier,.guest-pass-eyebrow{font:600 11px/1.4 system-ui;letter-spacing:.15em;color:#9b783b;}.guest-pass-person>span:not(.guest-pass-tier){font:12px/1.4 system-ui;color:#705b40;overflow-wrap:anywhere;}
.guest-pass-rsvp{padding:9px 10px;border:1px solid #c6ddbf;border-radius:10px;background:#dfefda;color:#287b4e;font:600 11px/1.4 system-ui;letter-spacing:.05em;}.guest-pass-rsvp[data-attending="false"]{background:#f1e8d8;border-color:#dfcda9;color:#765f3a;}
.guest-pass #guestArrivalTitle{font-size:22px;}.guest-pass #guestArrivalMessage{font-size:12px;color:#705b40;}.guest-pass #guestArrivalQR{margin:18px 0 24px;}.guest-pass #guestArrivalCanvas{width:min(100%,300px);border:12px solid #fff;border-radius:12px;outline:1px solid #c6a05e;outline-offset:0;}.guest-pass #guestArrivalQR p{margin:14px 0;font-size:13px;line-height:1.6;}
.guest-pass-seat{display:flex;align-items:center;flex-wrap:wrap;gap:12px;position:relative;margin:20px 0;padding:22px 0 16px;border-top:1px solid #e3cda4;}.guest-pass-seat::before{content:'◇';position:absolute;top:-13px;left:calc(50% - 15px);padding:0 8px;background:#fffaf5;color:#bc9857;}.guest-pass-seat-icon{display:grid;place-items:center;flex:0 0 54px;height:54px;border-radius:50%;background:#f3e7d2;color:#856025;}.guest-pass-seat-copy{flex:1 1 135px;min-width:0;}.guest-pass-seat-copy>strong{display:block;font:500 clamp(23px,7vw,38px)/1.1 Georgia,serif;color:#3b2914;margin-top:5px;overflow-wrap:anywhere;}.guest-pass-seat-copy>p{font:13px/1.5 Georgia,serif;margin:5px 0;}
.guest-pass #guestPassViewLocation{flex:1 1 145px;background:#f6ebd9;font-weight:500;text-align:left;padding:12px;}.guest-pass #guestPassDirections{flex-basis:100%;font-size:13px;background:#f6eddf;padding:12px;border-radius:10px;margin:0;}
.guest-pass #guestArrivalGuide{border-top:1px solid #eadbc0;padding:10px 0;font-size:12px;}.guest-pass #guestArrivalGuide img{width:42px;height:60px;}.guest-pass #guestArrivalGuide p{font-size:12px;}.guest-pass #guestArrivalGuide :is(#guestArrivalTable,#guestArrivalLocation){display:none;}
.guest-pass-programme{margin:20px 0;}.guest-pass-programme h3{margin:0 0 10px;}.guest-pass-programme>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}.guest-pass-programme button{text-align:left;background:#fffdf9;padding:12px;min-width:0;}.guest-pass-programme button>span{font:24px Georgia,serif;color:#94702d;display:block;}.guest-pass-programme strong{display:block;font:500 15px/1.3 Georgia,serif;margin:5px 0;}.guest-pass-programme small{font:11px/1.5 system-ui;display:block;color:#7e6b51;}
.guest-pass-important{background:#f4e8d5b3;border-radius:12px;padding:14px;color:#806846;font:12px/1.7 system-ui;}.guest-pass-important>strong{font-size:12px;font-weight:500;letter-spacing:.1em;color:#927135;}.guest-pass-important ul{padding-left:18px;margin:7px 0 0;}.guest-pass #guestArrivalRefresh{display:block;margin:16px auto 0;font-weight:400;font-size:12px;}
.guest-pass-brand,#guestPassMore{display:none;}.checkin-dialog.checkin-pass-view{padding:16px 12px;background:linear-gradient(120deg,#fffaf0,#f7eddb);max-width:560px;border-radius:24px;}
.checkin-pass-view .checkin-header{padding:3px 40px 16px;min-height:72px;}.checkin-pass-view .checkin-header>span,.checkin-pass-view #arrivalCheckinTitle,.checkin-pass-view #arrivalCheckinSubtitle{display:none;}.checkin-pass-view .guest-pass-brand{display:block;text-align:center;}.guest-pass-brand em{display:block;font:italic 17px/1.4 Georgia,serif;color:#826126;}.guest-pass-brand strong{display:block;font:italic 500 clamp(23px,6vw,33px)/1.25 Georgia,serif;color:#583813;}
.checkin-pass-view #guestPassMore{display:block;position:absolute;top:0;right:0;left:auto;width:40px;min-height:40px;padding:3px;border-radius:50%;font-size:24px;}.checkin-pass-view .checkin-header>button:first-child{width:40px;min-height:40px;}.checkin-pass-view .checkin-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}.checkin-pass-view .guest-pass{margin:0!important;padding:0!important;border-radius:18px;}.checkin-pass-view .guest-pass #guestArrivalPass{display:none;}.checkin-pass-view .guest-pass #guestArrivalTitle{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}.checkin-pass-view .guest-pass #guestArrivalMessage{margin:0 0 10px;font-size:11px;}.checkin-pass-view .guest-pass #guestArrivalCanvas{width:min(100%,310px);}.checkin-pass-view .guest-pass-body{padding:18px;}
.checkin-pass-view .checkin-choices{margin-top:14px;}.checkin-pass-view:not(.pass-options-open) :is(#arrivalCheckinScan,#arrivalCheckinManual){display:none;}.checkin-pass-view #arrivalCheckinPass{border-radius:999px;text-align:center;border:1px solid #bb9145;outline:1px solid #d9b97d;outline-offset:3px;background:linear-gradient(125deg,#c9a05d 0%,#95651f 45%,#d6b67e 100%);color:#fff7e7;box-shadow:inset 0 1px 0 #fff5d880,0 5px 12px #8c632c25;padding:16px 20px;}.checkin-pass-view #arrivalCheckinPass strong{font-size:20px;}.checkin-pass-view #arrivalCheckinPass span,.checkin-pass-view .checkin-footnote{display:none;}
@media(min-width:430px){.guest-pass-hero{min-height:190px;}.guest-pass-seat-copy{flex-basis:150px;}.guest-pass #guestPassViewLocation{flex-basis:140px;}}
@media(max-width:350px){.checkin-pass-view .guest-pass-body{padding:14px 11px;}.guest-pass-initials{flex-basis:52px;width:52px;height:52px;}.guest-pass-person>strong{font-size:21px;}.guest-pass-seal span{font-size:9px;}.guest-pass-programme strong{font-size:14px;}.checkin-pass-view #arrivalCheckinPass strong{font-size:17px;}.checkin-pass-view .checkin-header{padding-left:35px;padding-right:35px;}.guest-pass-brand strong{font-size:23px;}}
/* Compact reference proportions; the QR remains high-contrast with a quiet zone. */
.guest-pass-seal img{border-radius:50%;}.guest-pass-action-icon,.guest-pass-action-arrow{display:none;}
.checkin-pass-view .guest-pass-brand strong{font-family:'Great Vibes',Georgia,serif;font-size:34px;font-weight:400;font-style:normal;}.checkin-pass-view .guest-pass-brand em{font-family:'Cormorant Garamond',Georgia,serif;font-size:19px;}.checkin-pass-view .checkin-header{min-height:65px;padding-bottom:12px;}.checkin-pass-view .guest-pass-hero{height:clamp(155px,40vw,185px);min-height:0;}
.checkin-pass-view .guest-pass-identity{display:grid;grid-template-columns:64px minmax(0,1fr) auto;column-gap:10px;row-gap:4px;margin-bottom:10px;}.checkin-pass-view .guest-pass-initials{grid-column:1;grid-row:1/5;align-self:center;}.checkin-pass-view .guest-pass-person{display:contents;}.checkin-pass-view .guest-pass-person>strong{grid-column:2/4;grid-row:1;font-size:20px;}.checkin-pass-view .guest-pass-tier{grid-column:2/4;grid-row:2;font-size:10px;}.checkin-pass-view #guestPassParty{grid-column:2;grid-row:3;align-self:center;white-space:nowrap;}.checkin-pass-view #guestPassConnection{grid-column:2/4;grid-row:4;font-size:10px;}.checkin-pass-view .guest-pass-rsvp{grid-column:3;grid-row:3;padding:6px 7px;font-size:9px;align-self:center;}
.checkin-pass-view .guest-pass #guestArrivalCanvas{width:clamp(170px,62%,230px);border-width:10px;}.checkin-pass-view .guest-pass #guestArrivalQR{margin:14px 0 20px;}.checkin-pass-view .guest-pass #guestArrivalQR p{font-size:12px;margin:10px 0;}.checkin-pass-view .guest-pass-body{padding:16px;}.checkin-pass-view .guest-pass-seat{display:grid;grid-template-columns:46px minmax(0,1fr) 112px;gap:8px;padding:18px 0 10px;margin:16px 0;}.checkin-pass-view .guest-pass-seat-icon{width:46px;height:46px;}.checkin-pass-view .guest-pass-seat-icon svg{width:38px;height:38px;}.checkin-pass-view .guest-pass-seat-copy>strong{font-size:clamp(26px,7vw,34px);}.checkin-pass-view .guest-pass-seat-copy>p{font-size:12px;}.checkin-pass-view #guestPassViewLocation{font-size:12px;padding:10px;}.checkin-pass-view #guestPassDirections{grid-column:1/-1;font-size:12px;}.checkin-pass-view #guestArrivalGuide{padding:6px 0;}.checkin-pass-view #guestArrivalGuide img{width:28px;height:40px;}.checkin-pass-view #guestArrivalSpeaker{font-size:11px;}
.checkin-pass-view .guest-pass-programme{margin:14px 0;}.checkin-pass-view .guest-pass-programme button{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:7px;align-items:center;padding:10px;}.checkin-pass-view .guest-pass-programme button>span{grid-column:1;grid-row:1/3;font-size:24px;}.checkin-pass-view .guest-pass-programme button>strong{grid-column:2;font-size:14px;margin:0 0 3px;}.checkin-pass-view .guest-pass-programme button>small{grid-column:2;font-size:10px;}.checkin-pass-view .guest-pass-important{font-size:11px;padding:12px;}.checkin-pass-view .guest-pass #guestArrivalRefresh{border:0;background:transparent;text-decoration:underline;margin-top:8px;min-height:44px;padding:7px;}.checkin-pass-view #arrivalCheckinPass{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 12px;}.checkin-pass-view #arrivalCheckinPass .guest-pass-action-icon,.checkin-pass-view #arrivalCheckinPass .guest-pass-action-arrow{display:block;flex-shrink:0;}.checkin-pass-view #arrivalCheckinPass strong{font-size:19px;}
@media(max-width:350px){.checkin-pass-view .guest-pass-identity{grid-template-columns:52px minmax(0,1fr) auto;column-gap:7px;}.checkin-pass-view .guest-pass-body{padding:13px 10px;}.checkin-pass-view .guest-pass-person>strong{font-size:18px;}.checkin-pass-view #guestPassParty{font-size:11px;}.checkin-pass-view .guest-pass-rsvp{font-size:8px;padding:6px 5px;}.checkin-pass-view .guest-pass-seat{grid-template-columns:42px minmax(0,1fr);}.checkin-pass-view #guestPassViewLocation{grid-column:1/-1;}.checkin-pass-view .guest-pass-programme button{display:block;}.checkin-pass-view #arrivalCheckinPass{gap:7px;}.checkin-pass-view #arrivalCheckinPass strong{font-size:16px;}.checkin-pass-view #arrivalCheckinPass .guest-pass-action-icon{width:21px;height:21px;}}
