.catalog-gown{scroll-margin-top:24px}
.catalog-pinterest{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-top:14px;padding:11px;border-radius:50%;background:transparent;transition:background .2s}
.catalog-pinterest img{flex-shrink:0;width:22px;height:22px;object-fit:contain}
.catalog-pinterest:hover{background:#eef2f7}
.catalog-pinterest:focus-visible{outline:2px solid #2f4869;outline-offset:4px}
.collection-gallery-link{display:block}
.collection-gallery-link:focus-visible,.catalog-back:focus-visible,.catalog-pagination a:focus-visible{outline:2px solid #2f4869;outline-offset:6px}
.catalog-page-hero{padding-top:48px;padding-bottom:42px}
.catalog-back{display:inline-block;margin-bottom:34px;font-size:.83rem;color:#2f4869;text-decoration:underline;text-underline-offset:5px}
.catalog-hero-heading{display:flex;justify-content:space-between;align-items:end;gap:32px}
.catalog-hero-heading h1{font-size:clamp(2.3rem,4.2vw,3.9rem);line-height:1.3;letter-spacing:.01em;color:#2f4869;margin:14px 0 18px}
.catalog-hero-heading p{max-width:620px;font-size:1rem;line-height:1.8;color:#4e4e4e;margin:0}
.catalog-hero-heading .book{flex:none}
.catalog-gallery{padding-bottom:55px;scroll-margin-top:24px}
.catalog-gallery-toolbar{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #cbd3de;padding:17px 0 30px;font-size:.8rem;color:#2f4869}
.catalog-gallery-toolbar p{margin:0}
.catalog-gown-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 25px}
.catalog-gown{min-width:0;text-align:center}
.catalog-gown-photo{aspect-ratio:3/4;background:#f4f6f9;overflow:hidden}
.catalog-gown-photo img{width:100%;height:100%;object-fit:contain}
.catalog-gown h2{margin:19px 0 7px;color:#2f4869;font-size:clamp(1.15rem,1.8vw,1.55rem);letter-spacing:.045em;line-height:1.4}
.catalog-gown-name{margin:0;color:#52627a;font-size:.88rem;line-height:1.5}
.catalog-pagination{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin-top:48px}
.catalog-pagination a,.catalog-pagination span{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border:1px solid #cbd3de;font-size:.85rem}
.catalog-pagination a:hover{background:#eef2f7}
.catalog-pagination a[aria-current=page]{background:#2f4869;border-color:#2f4869;color:#fff}
.catalog-pagination span{border-color:transparent;color:#777}
.catalog-collection-note{text-align:center;margin:35px auto 0;max-width:650px;color:#52627a;font-size:.88rem;line-height:1.8}
.catalog-empty{padding:55px 0;text-align:center;color:#52627a;line-height:1.8;min-height:220px}
.catalog-empty a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:950px){.catalog-hero-heading{display:block}.catalog-hero-heading .book{margin-top:24px}.catalog-gown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 20px}}
@media(max-width:650px){.catalog-page-hero{padding-top:30px;padding-bottom:30px}.catalog-back{margin-bottom:25px}.catalog-hero-heading h1{font-size:clamp(2.25rem,8vw,3rem)}.catalog-gown-grid{gap:30px 12px}.catalog-gown h2{font-size:1.1rem;margin-top:14px;letter-spacing:.015em}.catalog-gown-name{font-size:.78rem}.catalog-gallery-toolbar{font-size:.75rem;gap:12px;padding-bottom:24px}.catalog-pagination{gap:5px}.catalog-pagination a,.catalog-pagination span{padding:10px 12px}.catalog-gallery{padding-bottom:30px}}

.designer-sidebar nav span,.designer-mobile-index nav span{font-size:.86rem;line-height:1.35}

/* Individual gown pages use the boutique's neutral palette and full photographs. */
.social-topbar a.header-wishlist{width:auto;min-height:44px;margin-right:auto;gap:7px;padding:0 8px;font-size:.8rem;font-weight:600;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.header-wishlist span{font-size:1.15rem;line-height:1}
.catalog-gallery-toolbar{flex-wrap:wrap;align-items:center}
.catalog-gown-link{display:block}
.catalog-gown-link:hover h2{text-decoration:underline;text-underline-offset:5px}
.catalog-gown-link:focus-visible,.gown-breadcrumb a:focus-visible,.gown-collection-return:focus-visible,.gown-wishlist-link:focus-visible{outline:2px solid #2f4869;outline-offset:5px}
.gown-detail-page{padding-top:30px;padding-bottom:80px}
.gown-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 30px;font-size:.72rem;line-height:1.6;letter-spacing:.07em;text-transform:uppercase;color:#2f4869}
.gown-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.gown-detail-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:clamp(32px,4vw,70px);align-items:start}
.gown-photo-layout{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;min-width:0}
.gown-photo-layout.single-photo{grid-template-columns:minmax(0,1fr)}
.gown-thumbnails{display:flex;flex-direction:column;gap:12px;max-height:800px;overflow:auto;scrollbar-width:thin;padding:3px}
.gown-thumbnail{display:block;flex:none;width:100%;aspect-ratio:3/4;overflow:hidden;padding:2px;border:1px solid #ddd6d0;background:#f7f9fc;cursor:pointer}
.gown-thumbnail img{width:100%;height:100%;object-fit:cover}
.gown-thumbnail[aria-pressed=true]{border:2px solid #2f4869;padding:1px}
.gown-thumbnail:focus-visible,.gown-detail-main:focus-visible,.gown-wishlist-button:focus-visible,.wishlist-remove:focus-visible,.gown-zoom-controls button:focus-visible{outline:2px solid #2f4869;outline-offset:3px}
.gown-detail-main{position:relative;display:block;width:100%;aspect-ratio:3/4;min-width:0;border:0;padding:0;background:#f4f6f9;cursor:zoom-in;overflow:hidden}
.gown-detail-main>img{width:100%;height:100%;object-fit:contain}
.gown-zoom-hint{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;white-space:nowrap;padding:11px 16px;border-radius:24px;background:#211b17b8;color:white;font-size:.78rem}
.gown-detail-info{position:sticky;top:30px;min-width:0;padding:8px 0}
.gown-detail-info h1{font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.35;color:#2f4869;margin:12px 0 22px}
.gown-detail-style{font-size:1rem;font-weight:600;letter-spacing:.12em;margin:0 0 12px;overflow-wrap:anywhere}
.gown-detail-name{font-size:1.45rem;line-height:1.45;margin:0 0 24px;color:#2f4869}
.gown-detail-description{font-size:.95rem;line-height:1.8;color:#4e4e4e;white-space:pre-line;margin:22px 0;overflow-wrap:anywhere}
.gown-detail-options{margin:28px 0}
.gown-detail-options h2{text-transform:uppercase;font-size:.73rem;font-weight:600;letter-spacing:.15em;margin:0 0 12px}
.gown-detail-options ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.gown-detail-options li{padding:10px 13px;border:1px solid #cbd3de;border-radius:3px;font-size:.82rem;line-height:1.45;overflow-wrap:anywhere}
.gown-detail-options>p{font-size:.78rem;line-height:1.7;color:#52627a;margin:12px 0 0}
.gown-detail-actions{display:flex;align-items:flex-start;flex-direction:column;gap:18px;margin-top:30px}
.gown-wishlist-action{display:flex;align-items:flex-start;flex-direction:column;gap:12px;width:100%}
.gown-wishlist-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;max-width:100%;padding:13px 20px;border:1px solid #2f4869;background:#fff;color:#2f4869;font-size:.88rem;line-height:1.5;cursor:pointer}
.gown-wishlist-button:hover,.gown-wishlist-button[aria-pressed=true]{background:#eef2f7}
.gown-wishlist-button:disabled{opacity:.6;cursor:wait}
.gown-wishlist-link{font-size:.8rem;color:#2f4869;text-decoration:underline;text-underline-offset:4px}
.gown-detail-actions .book{max-width:100%;white-space:normal;text-align:center;font-size:.74rem;letter-spacing:.1em;line-height:1.6}
.gown-detail-actions .catalog-pinterest{margin:0 0 0 -11px}
.gown-detail-note{font-size:.85rem;font-style:italic;line-height:1.9;color:#52627a;margin:20px 0 24px;padding-bottom:24px;border-bottom:1px solid #e5ddd5}
.gown-detail-note a{text-decoration:underline;text-underline-offset:3px}
.gown-collection-return{font-size:.82rem;color:#2f4869;line-height:1.7;text-decoration:underline;text-underline-offset:4px}
.gown-photo-unavailable{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:420px;background:#f4f6f9;padding:30px;text-align:center}
[data-slot=dialog-content].gown-zoom-dialog{display:flex;flex-direction:column;gap:14px;width:calc(100vw - 32px);max-width:1200px;height:calc(100dvh - 32px);max-height:1100px;padding:22px;background:#fff;color:#1b1b1b;border:0;border-radius:4px}
.gown-zoom-title{font-family:"Libre Baskerville",Georgia,serif;font-size:1rem;line-height:1.5;font-weight:400;padding-right:40px;margin:0}
.gown-zoom-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;background:#f4f6f9}
.gown-zoom-scroll>img{width:100%;height:100%;object-fit:contain}
.gown-zoom-scroll.is-zoomed>img{width:160%;max-width:none;min-width:1000px;height:auto;object-fit:contain}
.gown-zoom-controls{display:flex;flex:none;align-items:center;justify-content:center;gap:16px;font-size:.82rem}
.gown-zoom-controls button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:8px;border:1px solid #cbd3de;background:white;cursor:pointer}
.gown-zoom-dialog>[data-slot=dialog-close]{display:flex;align-items:center;justify-content:center;top:10px;right:10px;width:44px;height:44px;color:#40362d;background:white;opacity:1}
.gown-storage-message{font-size:.83rem;line-height:1.7;color:#8a302e;margin:0}
.wishlist-page{padding-top:55px;padding-bottom:70px}
.wishlist-heading{max-width:650px;margin-bottom:40px}
.wishlist-heading h1{font-size:clamp(2.2rem,5vw,3.8rem);color:#2f4869;margin:18px 0 22px}
.wishlist-heading p,.wishlist-empty p{font-size:.95rem;line-height:1.85;color:#52627a}
.wishlist-empty{display:flex;align-items:center;flex-direction:column;padding:50px 20px;text-align:center;background:#f7f9fc}
.wishlist-empty h2{font-size:1.7rem;line-height:1.5;margin:20px 0 0;color:#2f4869}
.wishlist-empty .book{margin-top:20px}
.wishlist-count{font-size:.85rem;margin-bottom:26px;color:#2f4869}
.wishlist-designer{font-size:.78rem;color:#52627a;margin:20px 0 0}
.wishlist-grid .catalog-gown h2{margin-top:10px}
.wishlist-remove{display:inline-flex;align-items:center;gap:7px;min-height:44px;margin-top:12px;border:0;background:transparent;color:#2f4869;font-size:.8rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.wishlist-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.wishlist-card-actions .wishlist-remove,.wishlist-card-actions .catalog-pinterest{margin-top:0}
.wishlist-unavailable{background:#f4f6f9;padding:50px 20px;min-height:300px;display:flex;flex-direction:column;justify-content:center;gap:15px;font-size:.85rem;line-height:1.7}
.wishlist-appointment{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #cbd3de;margin-top:60px;padding-top:28px}
.wishlist-appointment p{font-family:"Libre Baskerville",Georgia,serif;font-size:1.4rem;color:#2f4869}
@media(max-width:1050px){.gown-detail-layout{grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);gap:28px}.gown-photo-layout{grid-template-columns:60px minmax(0,1fr);gap:10px}.gown-thumbnails{gap:8px}.gown-detail-info h1{font-size:1.8rem}}
@media(max-width:800px){.gown-detail-layout{grid-template-columns:1fr;gap:32px}.gown-photo-layout{grid-template-columns:1fr}.gown-thumbnails{grid-row:2;flex-direction:row;max-height:none;gap:10px;overflow-x:auto;padding:4px}.gown-thumbnail{width:72px;height:96px}.gown-detail-info{position:static;padding:0}.gown-detail-info h1{font-size:2rem}.gown-detail-main{max-height:760px}.gown-detail-actions{align-items:stretch}.gown-wishlist-action{align-items:stretch}.gown-detail-actions .book,.gown-wishlist-button{width:100%}.gown-detail-actions .catalog-pinterest{align-self:flex-start}.gown-detail-page{padding-top:24px;padding-bottom:50px}.gown-breadcrumb{font-size:.65rem;gap:8px;margin-bottom:20px}.wishlist-appointment{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.social-topbar-inner{gap:12px}.gown-zoom-hint{bottom:12px;font-size:.72rem;padding:9px 12px}[data-slot=dialog-content].gown-zoom-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);padding:16px}.gown-zoom-controls{gap:8px}.gown-zoom-title{font-size:.85rem}.wishlist-appointment .book{max-width:100%;font-size:.7rem;letter-spacing:.08em;text-align:center}}
[hidden]{display:none!important}
.catalog-card-actions{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:12px}
.catalog-card-actions .catalog-pinterest{margin-top:0;flex:none}
.compact-save{font-size:.73rem;gap:6px;padding:9px 10px;min-height:44px;text-align:left}
.compact-save svg{flex:none;width:18px;height:18px}
.gown-wishlist-button svg{flex:none}
.designer-explore{display:inline-flex;gap:10px;align-items:center;min-height:44px;color:#2f4869;font-size:.82rem;text-decoration:underline;text-underline-offset:5px}
.collection-gallery-link .collection-photo img{object-fit:contain;background:#f4f6f9}
.catalog-image-unavailable{display:flex;height:100%;margin:0;align-items:center;justify-content:center;padding:20px;font-size:.85rem;line-height:1.6}
.gown-zoom-dialog{border:0;border-radius:4px;background:white;color:#1b1b1b;width:calc(100vw - 32px);max-width:1200px;height:calc(100dvh - 32px);max-height:1100px;padding:20px}
.gown-zoom-dialog[open]{display:flex;flex-direction:column;gap:14px}
.gown-zoom-dialog::backdrop{background:#121820cf}
.gown-zoom-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gown-zoom-heading button{flex:none;width:44px;height:44px;border:1px solid #cbd3de;background:white;cursor:pointer}
.gown-zoom-scroll{min-height:0;flex:1;overflow:auto}
.gown-zoom-controls button:disabled{opacity:.4;cursor:default}
.wishlist-feedback{position:fixed;z-index:100;bottom:16px;left:50%;transform:translateX(-50%);padding:12px 18px;background:#2f4869;color:white;box-shadow:0 4px 24px #0002;max-width:calc(100% - 32px);width:max-content;margin:0;font-size:.82rem;line-height:1.7;border-radius:4px}
@media(max-width:480px){.catalog-card-actions{align-items:center;gap:3px}.compact-save{font-size:.65rem;padding:8px 6px}.compact-save svg{width:16px}.catalog-card-actions .catalog-pinterest{width:36px;padding:7px}.gown-zoom-dialog{padding:12px;width:calc(100vw - 16px);height:calc(100dvh - 16px)}}
