.album-navigation {max-width:1280px;margin:auto;padding:18px 24px;display:flex;justify-content:space-between;gap:12px;font-size:.8rem;letter-spacing:.08em}
.album-navigation a {color:#85474a;min-height:44px;display:inline-flex;align-items:center}
body[data-page="wedding-album"] .album-header {background:#a25f61;color:#fff7f5;padding:40px 16px}
body[data-page="wedding-album"] .album-header h1, body[data-page="wedding-album"] .album-header p {color:#fff7f5}
.album-header h1 {font-family:serif}
.album-kicker {font-size:.7rem;letter-spacing:.18em}
.album-gallery {max-width:1280px;margin:24px auto 60px;padding:0 20px}
.gallery-heading {display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.gallery-hint {color:#73585e;font-size:.9rem;line-height:1.7}
.photo-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.photo-card {position:relative;min-width:0;border-radius:12px;overflow:hidden;background:#ecdedd;aspect-ratio:1}
.photo-card .photo-open {display:block;border:0;border-radius:0;padding:0;width:100%;height:100%;background:transparent}
.photo-open img {display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {.photo-open:hover img {transform:scale(1.04)}}
.photo-badges {position:absolute;bottom:5px;right:5px;display:flex;gap:3px;max-width:calc(100% - 10px);flex-wrap:wrap;justify-content:flex-end;pointer-events:none}
.photo-badges button {pointer-events:auto;min-height:44px;min-width:44px;padding:4px 8px;font-size:.8rem;border:0;background:rgba(255,250,248,.94);color:#753e47}
.photo-badges button[aria-pressed="true"] {background:#85474a;color:white}
#photo-dialog {box-sizing:border-box;width:min(1120px,100% - 16px);max-width:calc(100% - 16px);max-height:94dvh;padding:12px;border:0;border-radius:18px;background:#fffaf8;color:#3f3438}
#photo-dialog::backdrop {background:rgba(32,19,23,.8)}
.photo-dialog-open {overflow:hidden}
.close-photo {position:sticky;top:0;z-index:2;display:block;margin:0 0 12px auto}
#photo-dialog .slideshow {margin-bottom:16px;padding:0}
#viewer-status {text-align:center}
#slideshow {scroll-margin-top:90px}
button:focus-visible,a:focus-visible {outline:3px solid #753e47;outline-offset:3px}
@media(min-width:600px) {.photo-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media(min-width:900px) {.photo-grid {grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1200px) {.photo-grid {grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}}
@media(max-width:360px) {.album-gallery {padding:0 12px}.photo-badges button {padding:4px 5px}.album-navigation {padding:12px}.album-navigation span {letter-spacing:0}}

body[data-page="wedding-album"] main {width:100%;max-width:1320px;padding-inline:0}
body[data-page="wedding-album"] .album-header {text-align:center}
body[data-page="wedding-album"] .album-header h1 {font-family:serif}
body[data-page="wedding-album"] .photo-card {border-radius:12px;box-shadow:none}
body[data-page="wedding-album"] .photo-card .photo-open {border-radius:0}
body[data-page="wedding-album"] .album-header {display:block}
body[data-page="wedding-album"] main {padding-top:0}
body[data-page="wedding-album"] .photo-open img {background:#ecdedd}

/* Stitch 13129688017482202539：桌機相簿與行動版共用真實資料。 */
body[data-page="wedding-album"] {background:#fef8f7;color:#1d1b1b;margin:0}
body[data-page="wedding-album"]::before {content:none}
.album-navigation {max-width:1320px;box-sizing:border-box;align-items:center;padding:12px 32px;min-height:72px}
.album-brand {text-align:center;display:flex;flex-direction:column;color:#85474a;font-size:11px;letter-spacing:.14em}
.album-brand strong {font:500 22px/1.4 "Home Serif TC",serif;letter-spacing:0;color:#1d1b1b}
.album-navigation a {text-decoration:none;font-size:13px}
.album-share {font:inherit;font-size:13px;min-height:44px;border:0;background:transparent;color:#85474a;padding:8px 12px}
body[data-page="wedding-album"] .album-header {padding:32px 16px;background:#a25f61;border-radius:0;box-shadow:none}
body[data-page="wedding-album"] .album-header h1 {font:600 36px/1.4 "Home Serif TC",serif;letter-spacing:.04em;margin:0;color:#fff6f5}
.album-kicker {display:block;font-size:12px;letter-spacing:.15em;margin-top:6px;color:#fff6f5}
.romance-label {display:none}
body[data-page="wedding-album"] .toolbar {position:static;padding:28px 16px 8px;background:transparent;backdrop-filter:none;gap:16px}
.album-mode-switch {display:inline-flex;border-radius:999px;background:#fff;border:1px solid #e8d9d8;padding:4px;box-shadow:0 2px 6px #85474a08;max-width:100%}
.album-mode-switch button {border:0;background:transparent;color:#665658;padding:8px 24px;font-size:14px;min-height:44px}
.album-mode-switch button[aria-pressed="true"] {background:#a25f61;color:#fff}
#album-audio-controls {flex-basis:100%;justify-content:center}
.gallery-heading {font-size:13px;color:#524343;margin-bottom:8px}
#album-filters {display:flex;gap:4px}
#album-filters button {font-size:12px;padding:6px 12px;border-color:#e8d9d8}
.gallery-hint {font-size:12px;color:#665658;margin:8px 0 16px}
.photo-badges {right:8px;bottom:8px;gap:0;background:#ffffffd9;backdrop-filter:blur(8px);border-radius:999px;overflow:hidden;box-shadow:0 2px 8px #00000012}
body[data-page="wedding-album"] .photo-badges button {background:transparent;border:0;border-radius:0;color:#524343;font-size:12px;padding:4px 8px;min-width:44px;min-height:44px;box-shadow:none}
body[data-page="wedding-album"] .photo-badges button[aria-pressed="true"] {color:#85474a;background:#f8e6e6}
.album-bottom-nav {display:none}
.album-bottom-nav:not(:has(button:not([hidden]))) {display:none}
#photo-dialog {background:#171313;color:#fff;max-height:96dvh;padding:16px;border-radius:16px}
#photo-dialog .slide-caption {color:#fff}
#photo-dialog .close-photo {background:#ffffff24;color:#fff;border-color:#ffffff55;backdrop-filter:blur(10px)}
#photo-dialog .slide-actions button {background:#ffffff24;color:#fff;border-color:#ffffff55}
#photo-dialog .slide-stage {min-height:35vh;align-items:center}
#photo-dialog .comments {color:#3f3438}
#photo-dialog #slide-image {object-fit:contain}
@media(max-width:599px) {
 body[data-page="wedding-album"] {padding-top:80px;padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 .album-navigation {position:fixed;inset:0 0 auto;z-index:20;min-height:80px;padding:8px 16px;background:#fef8f7ed;backdrop-filter:blur(16px);box-shadow:0 1px 8px #00000008}
 .album-navigation > a {font-size:12px;max-width:72px;letter-spacing:0}
 .album-navigation .album-share {padding:8px 0;font-size:12px}
 .album-brand {font-size:10px;letter-spacing:.08em}
 .album-brand strong {font-size:20px}
 body[data-page="wedding-album"] .album-header {padding:12px 16px}
 body[data-page="wedding-album"] .album-header h1 {font-size:18px;line-height:26px}
 .romance-label {display:block;font-size:10px;letter-spacing:.12em;margin-bottom:4px;color:#fff6f5}
 .album-kicker {font-size:11px;margin-top:4px}
 body[data-page="wedding-album"] .toolbar {padding:16px 12px 0}
 .album-mode-switch {background:#f2edec;box-shadow:none;border:0}
 .album-mode-switch button {font-size:13px;padding:6px 20px}
 .album-gallery {padding:0 16px;margin-top:16px;margin-bottom:32px}
 .photo-grid {gap:12px}
 .photo-badges {right:5px;bottom:5px}
 .album-bottom-nav {position:fixed;inset:auto 0 0;z-index:20;display:flex;justify-content:space-around;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#fef8f7f2;border-top:1px solid #e8d9d8;backdrop-filter:blur(16px)}
 .album-bottom-nav :is(a,button) {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;min-width:64px;border:0;background:transparent;color:#665658;text-decoration:none;font:500 11px/1.4 var(--font-sans-tc);padding:4px 12px;border-radius:16px}
 .album-bottom-nav span {font-size:20px;line-height:1}
 .album-bottom-nav button[aria-pressed="true"] {background:#f3e2e3;color:#85474a}
 #photo-dialog {width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0;padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}
 #photo-dialog .slideshow {padding:0}
}
@media(max-width:599px) {
 body[data-page="wedding-album"] .accessibility-mode-control {bottom:calc(88px + env(safe-area-inset-bottom))}
}
.slide-stage {position:relative}
.slide-stage .photo-arrow {position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff55;background:#302526;color:#fff;font-size:28px;line-height:1;backdrop-filter:blur(8px)}
.photo-arrow-prev {left:4px}.photo-arrow-next {right:4px}
.photo-arrow:disabled {opacity:.4;cursor:default}

/* Stitch refinement: homepage palette and a compact, continuous header. */
body[data-page="wedding-album"] {background:#faf7f5;color:#3d3637}
.album-navigation {display:grid;grid-template-columns:1fr auto 1fr;background:#faf7f5}
.album-navigation > a {justify-self:start;color:#853f4b;letter-spacing:0}
.album-brand {grid-column:2;text-align:center;color:#853f4b}
body[data-page="wedding-album"] .album-header {display:block;min-height:0;margin:0;padding:16px 16px 12px;background:#faf7f5;color:#3d3637;border:0}
body[data-page="wedding-album"] .album-header h1 {color:#3d3637;font-size:clamp(24px,3vw,32px)}
.album-kicker {color:#706668;font-size:11px;margin-top:4px}
.romance-label {display:none}
body[data-page="wedding-album"] main {margin-top:0;padding-top:0}
body[data-page="wedding-album"] .toolbar {margin:0;padding:0 16px 12px;min-height:0;gap:8px}
.album-mode-switch {border-color:#eed9d7}
.album-mode-switch button[aria-pressed="true"] {background:#853f4b;color:#fff}
.album-gallery {margin-top:8px}
.gallery-heading {margin-bottom:0}
.gallery-heading p {margin:4px 0}
.gallery-hint {margin:6px 0 12px;color:#706668}
#gallery-status:empty {display:none}
.album-bottom-nav {background:#faf7f5f5;border-color:#eed9d7}
body[data-page="wedding-album"] .comments {background:#fff;border-color:#eed9d7;color:#3d3637}
body[data-page="wedding-album"] .comments h2,body[data-page="wedding-album"] .comment strong {color:#853f4b}
body[data-page="wedding-album"] .comment {background:#faf7f5;border-color:#eed9d7}
body[data-page="wedding-album"] .comments .comment-primary,body[data-page="wedding-album"] .reaction[aria-pressed="true"] {background:#853f4b;color:#fff}
@media(max-width:599px) {
 body[data-page="wedding-album"] {padding-top:64px}
 .album-navigation {min-height:64px;padding:8px 16px;gap:8px}
 .album-brand strong {font-size:18px}
 body[data-page="wedding-album"] .album-header {padding:12px 16px}
 body[data-page="wedding-album"] .album-header h1 {font-size:24px}
}

.slide-stage .photo-arrow[hidden] {display:none!important}
