
.extras-section{background:#fffaf0;color:#18382e;text-align:center}.extras-container{max-width:930px}.extras-kicker{letter-spacing:.35em;font-size:12px;font-weight:700}.extras-symbol{font-size:33px;margin-bottom:15px}.dress-title{font-size:clamp(40px,9vw,76px);letter-spacing:.23em;font-weight:300;margin:26px 0 22px;color:#0b3d2e}.extras-rule{height:1px;width:60px;background:#c7a24a;margin:0 auto 22px}.extras-section p{max-width:650px;margin:0 auto 28px;line-height:1.8}.dress-palette{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.dress-palette span{background:var(--shade);width:49px;height:49px;border-radius:100%;border:1px solid #c7a24a}
.gifts-section{background:#e4ead7}.gifts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:800px;margin:30px auto 0}.gift-tile{min-height:202px;border:1px solid #c7a24a;background:#fffaf0;color:#214d38;border-radius:18px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;font-family:inherit;transition:transform .2s,box-shadow .2s}.gift-tile:hover,.gift-tile:focus-visible{transform:translateY(-5px);box-shadow:0 10px 25px #9f6f8a29}.gift-tile .gift-icon{font-size:39px}.gift-tile strong{font-size:18px}.gift-tile>span:last-child{font-size:11px;letter-spacing:.2em}
.gift-modal-backdrop[hidden]{display:none}.gift-modal-backdrop{position:fixed;inset:0;background:#171118ab;z-index:10010;display:flex;justify-content:center;align-items:center;padding:18px}.gift-modal{position:relative;max-height:90dvh;overflow:auto;width:min(100%,510px);background:#fffaf0;color:#18382e;border-radius:22px;padding:40px 24px 28px;text-align:center;box-shadow:0 25px 80px #0005}.gift-modal-close{position:absolute;top:10px;right:14px;border:0;background:transparent;color:#365b40;font-size:30px;cursor:pointer}.gift-modal-icon{font-size:46px}.gift-modal h2{font-size:27px;margin:7px 0 10px}.gift-modal p{line-height:1.6}.gift-modal-divider{height:1px;background:#e5cf8d;margin:22px 0}.gift-modal h3{font-size:12px;letter-spacing:.12em;margin-bottom:17px}.gift-data{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin:12px 0;font-size:13px}.gift-data span{font-size:11px;font-weight:700;letter-spacing:.1em}.gift-data strong{overflow-wrap:anywhere}.gift-data button{border:1px solid #9c7d35;border-radius:20px;background:transparent;padding:5px 12px;cursor:pointer;color:inherit;font-weight:700;font-size:11px}.gift-modal .gift-owner{font-size:12px;color:#6d756f;margin-top:16px}.gift-copy-status{font-size:12px;min-height:18px}
.extras-end{background:#fffaf0}.agenda-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px;margin:25px 0 45px}.btn-agenda{border:1px solid #9c7d35;padding:17px 28px;text-decoration:none;color:#214d38;letter-spacing:.15em;font-size:12px;font-weight:700}.agenda-google{color:#365b40;font-size:13px}.song-form{max-width:620px;margin:auto;text-align:left}.song-form label{display:block;letter-spacing:.24em;font-size:12px;margin-bottom:19px}.song-form input{display:block;width:100%;padding:14px 4px;border:0;border-bottom:1px solid #c7a24a;background:transparent;color:#18382e;font:inherit;outline-offset:4px}.song-form button{display:block;margin:19px 0 5px;padding:11px 16px;border:1px solid #9c7d35;background:#0b3d2e;color:#fff;cursor:pointer;border-radius:5px}.song-form #songResult{font-size:13px;margin:8px 0}.song-form small{font-size:11px;color:#6d756f}.princessfrog-footer-content{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}.princessfrog-footer-content a{color:inherit;text-decoration:none}.footer-heart{color:#e5cf8d}
@media(max-width:650px){.gifts-grid{grid-template-columns:1fr;max-width:360px}.gift-tile{min-height:150px}.dress-title{letter-spacing:.12em}.gift-modal{padding:38px 16px 22px}.extras-section{padding-top:55px;padding-bottom:55px}}

.detail-link{margin-top:20px}.gift-tile{box-shadow:0 12px 34px rgba(55,77,48,.08)}
.demo-note{color:var(--muted);font-size:.75rem}.noscript-note{text-align:center;padding:16px}
.form-message.show{padding:16px;background:var(--success-bg);color:var(--success-text)}
:focus-visible{outline:3px solid var(--gold);outline-offset:4px}

body.gift-modal-open{overflow:hidden}
