/* Shared collection and detail surfaces, matched to the supplied reference. */
.product-detail-tools :is(.product-detail-fullscreen,.product-detail-close) morph-icon { width:21px!important; height:21px!important; }
.pf-photo-transition { position:absolute; inset:0; z-index:1; pointer-events:none; border-radius:inherit; background-repeat:no-repeat; overflow:hidden; }
.pf-photo-canvas,.pf-glass-canvas { display:block; width:100%; height:100%; }
.product-photo :is(.badge,.favorite),.detail-main-photo :is(.detail-photo-arrow,.detail-expand) { z-index:3; }
.image-glass-stage { position:absolute; inset:60px 0 136px; z-index:1; overflow:hidden; touch-action:none; }
.image-glass-stage[hidden] { display:none; }
.image-glass-stage canvas { cursor:grab; }
.image-glass-stage canvas:active { cursor:grabbing; }
.detail-image-viewer.has-glass .image-viewer-photo { opacity:0; pointer-events:none; }
.detail-image-viewer.has-glass .image-viewer-figure { pointer-events:none; }
.detail-image-viewer.has-glass [data-image-caption] { position:absolute; bottom:108px; left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100% - 40px); text-align:center; z-index:2; }
.detail-image-viewer :is(.image-viewer-prev,.image-viewer-next,.image-viewer-close,.image-viewer-thumbs) { z-index:3; }
@media(max-width:700px) { .image-glass-stage { inset:64px 0 116px; } .detail-image-viewer.has-glass [data-image-caption] { bottom:88px; font-size:12px; } }
.collection-layout { background:var(--pf-collection-canvas); }
.collection-layout .catalog-hero { height:380px; position:relative; }
.collection-layout .catalog-hero-bg { background-position:center; background-size:cover; }
.collection-layout .catalog-hero-copy { top:140px; left:4.5%; max-width:48%; }
.collection-back { display:inline-flex; gap:10px; align-items:center; padding:10px 18px; background:#ffffffc9; border:1px solid #fff; border-radius:999px; color:#1756d8; font-size:13px; margin-bottom:16px; }
.collection-layout .eyebrow { letter-spacing:.18em; font-size:11px; }
.collection-layout .catalog-hero h1 { font-size:clamp(34px,3.4vw,60px); margin:7px 0; line-height:1.05; letter-spacing:-.04em; }
.collection-layout .catalog-hero h2 { font-size:20px; margin:8px 0; }
.collection-layout .catalog-hero p { font-size:14px; margin:0; color:#667c9f; }
.collection-layout .catalog-hero > .benefits { position:absolute; right:4.5%; bottom:35px; background:#ffffffbd; backdrop-filter:blur(20px); width:36%; padding:15px; border:1px solid #fff; }
.collection-layout .benefits div { font-size:10px; }
.collection-layout .benefits { gap:15px; justify-content:space-around; }
.collection-layout .catalog-products { display:grid; grid-template-columns:220px minmax(0,1fr); gap:35px; margin:0; padding:24px 4.5% 80px; border-radius:0; background:#f4f9ff; }
.catalog-sidebar { background:linear-gradient(145deg,#fff,#f7fbff); padding:12px; border:1px solid #fff; border-radius:20px; align-self:start; position:sticky; top:calc(var(--catalog-nav-height,106px) + 16px); max-height:calc(100dvh - var(--catalog-nav-height,106px) - 32px); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#c8dcf4 transparent; box-shadow:0 8px 30px #244b8510; }
.catalog-filter { width:100%; border:0; background:transparent; color:#17346d; display:flex; align-items:center; gap:10px; padding:12px 9px; border-radius:12px; text-align:left; font-size:13px; line-height:1.4; }
.catalog-filter span { flex:1; }
.catalog-filter morph-icon { flex:none; width:20px; height:20px; }
.catalog-filter > morph-icon:last-child { width:14px; height:14px; }
.catalog-filter:hover,.catalog-filter.is-active { background:#e5efff; color:var(--pf-blue); }
.catalog-sidebar fieldset { border:0; border-top:1px solid #e4edf8; margin:18px 4px 0; padding:16px 0 0; font-size:13px; }
.catalog-sidebar legend { float:left; width:100%; margin-bottom:12px; font-weight:700; }
.catalog-sidebar input[type=range] { width:100%; accent-color:#0877ff; }
.catalog-sidebar fieldset > div { display:flex; justify-content:space-between; color:#6c83a9; margin:8px 0; }
.catalog-sidebar label { display:flex; gap:8px; align-items:center; margin:10px 0; color:#687fa5; }
.catalog-sidebar input[type=checkbox] { accent-color:#0877ff; }
.catalog-results { min-width:0; }
.collection-layout .catalog-toolbar { position:sticky; z-index:10; top:var(--catalog-nav-height,106px); gap:12px; min-height:66px; margin-top:-12px; margin-bottom:18px; padding:12px 0; background:#f4f9ff; }
.collection-layout .catalog-toolbar h2 { font-size:16px; white-space:nowrap; }
.collection-layout .catalog-title { gap:10px; }
.collection-layout .catalog-title > span { font-size:13px; }
.collection-layout .catalog-title > span { color:var(--pf-secondary); }
.collection-layout .catalog-controls { gap:10px; }
.catalog-search { display:flex; align-items:center; gap:8px; background:#eaf2fb; border-radius:999px; padding:10px 14px; }
.catalog-search morph-icon { width:17px; height:17px; }
.catalog-search input { min-width:0; width:150px; border:0; outline:0; background:transparent; color:#17346d; font-size:12px; }
.collection-layout .catalog-controls select { padding:8px 14px; border:1px solid #e2ebf8; border-radius:999px; background:#f8fbff; font-size:12px; }
.collection-layout .catalog-group { margin:24px 0 36px; }
.collection-layout .catalog-group > .catalog-title { margin-bottom:16px; }
.collection-layout .catalog-group h2 { font-size:22px; }
.collection-layout .catalog-grid { gap:14px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.collection-layout .product-card { border:3px solid #fff; border-radius:20px; background:#ffffffb8; box-shadow:0 7px 24px #365f8f0c; }
.collection-layout .product-photo { aspect-ratio:1.1; }
.collection-layout .product-info { padding:12px 9px; }
.collection-layout .product-info h3 { font-size:16px; }
.collection-layout .product-info p { display:block; font-size:11px; color:#7184a1; }
.collection-layout .product-info strong { font-size:20px; }
.collection-layout .swatches { gap:7px; margin:10px 0 13px; min-height:28px; }
.collection-layout .swatch { width:20px; height:20px; min-width:20px; min-height:20px; }
.collection-layout .swatches span { font-size:10px; }
.collection-layout .add-button { min-height:36px; font-size:12px; }
.catalog-grid .product-card[hidden],.catalog-group[hidden] { display:none; }
/* Detail hierarchy follows reference: gallery + summary, services, highlights,
   lifestyle, specifications + scenes, reviews, and recommendations. */
.product-detail-modal { padding:24px max(18px,calc((100vw - 1180px)/2)) 0; align-items:end; grid-template-columns:minmax(0,1fr); }
.product-detail-sheet { width:min(1180px,100%); min-width:0; max-width:100%; height:calc(100dvh - 24px); border-radius:26px 26px 0 0; background:linear-gradient(135deg,#edf6ff,#f8fbff); padding:0 24px 30px; }
.product-detail-handle { display:none; }
.product-detail-close { position:sticky; top:20px; float:right; right:auto; margin:20px -14px -58px 0; width:38px; height:38px; border-radius:50%; background:#ffffffde; color:#1756d8; }
.product-detail-top-fade { background:linear-gradient(#eef6ff,#eef6ff00); }
.product-detail-top { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:16px; padding:76px 0 20px; }
.detail-gallery { grid-template-columns:76px minmax(0,1fr); gap:10px; }
.detail-thumbs { gap:9px; }
.detail-thumb { height:76px; border:2px solid #fff; border-radius:12px; background-size:var(--photo-size,cover); background-position:var(--photo-position,center); background-image:var(--photo); }
.detail-thumb img,.detail-thumb:nth-child(n) img { transform:none; object-fit:cover; }
.detail-video { display:grid; place-items:center; gap:4px; min-height:68px; border:1px solid #dfebff; background:#f8fbff; border-radius:12px; color:#0968ed; font-size:11px; }
.detail-video morph-icon { width:22px; height:22px; }
.detail-main-photo { min-height:0; height:100%; min-width:0; aspect-ratio:1; border:2px solid #fff; border-radius:18px; background-image:var(--photo); background-position:var(--photo-position,center); background-size:var(--photo-size,cover); }
.detail-main-photo > img,.detail-main-photo[data-view] > img { transform:none; position:absolute; inset:0; object-fit:cover; width:100%; height:100%; }
.detail-main-photo > img[hidden] { display:none; }
.detail-photo-arrow { width:34px; height:34px; opacity:0; transition:opacity .2s; }
.detail-main-photo:hover .detail-photo-arrow,.detail-main-photo:focus-within .detail-photo-arrow { opacity:1; }
.detail-photo-arrow morph-icon { width:18px; height:18px; }
.detail-expand { width:33px; height:33px; right:12px; bottom:12px; }
.detail-expand morph-icon { width:19px; height:19px; }
.detail-summary { display:flex; flex-direction:column; min-width:0; padding:23px; background:#ffffffdf; border:1px solid #fff; border-radius:20px; box-shadow:0 6px 18px #4979ab07; }
.detail-new { background:#31b676; color:#fff; min-height:22px; padding:3px 12px; font-size:10px; }
.detail-summary h2 { font-size:clamp(24px,2.5vw,36px); letter-spacing:-.035em; line-height:1.1; color:#07378e; margin:0 0 8px; }
.detail-summary h3 { font-size:16px; color:#133a7f; margin:0 0 13px; }
.detail-subtitle { margin:0 0 8px; font-size:13px; }
.detail-intro { font-size:12px; line-height:1.65; color:#6883ac; margin:0 0 17px; }
.detail-price-row { display:flex; gap:20px; align-items:center; margin-bottom:12px; }
.detail-price { margin:0; font-size:28px; color:#0668ee; }
.detail-rating { font-size:14px; gap:5px; }
.detail-rating span { color:#ffb000; letter-spacing:0; }
.detail-rating small { color:#6680a3; font-size:10px; }
.detail-field { margin:0 0 17px; }
.detail-field legend { font-size:12px; margin-bottom:8px; font-weight:700; }
.detail-field .swatch { width:28px; height:28px; }
.detail-purchase { display:grid; grid-template-columns:94px minmax(0,1fr) 38px; gap:9px; align-items:center; margin-top:auto; padding-top:20px; }
.detail-quantity { display:flex; height:38px; align-items:center; justify-content:space-between; border:1px solid #dbe8ff; border-radius:999px; background:#faffff; box-shadow:0 2px 5px #225bd914; color:#0868ed; }
.detail-quantity button { background:none; border:0; display:grid; place-items:center; width:30px; height:36px; color:inherit; }
.detail-quantity morph-icon { width:13px; height:13px; }
.detail-quantity output { font-size:13px; }
.detail-add { height:38px; min-height:38px; font-size:12px; gap:6px; background:#0665ff; box-shadow:0 4px 9px #1c71ec2a; }
.detail-add morph-icon { width:18px; height:18px; }
.detail-purchase .detail-favorite { width:38px; height:38px; min-width:38px; min-height:38px; max-width:38px; max-height:38px; border:1px solid #dfebff; }
.detail-service-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; border:1px solid #fff; border-radius:18px; background:#ffffffd6; padding:18px 22px; margin-bottom:16px; }
.detail-service-strip > div { display:flex; align-items:center; gap:10px; }
.generated-service-icon { flex:none; width:44px; height:44px; background:url('./assets/redesign/service-icons-v1.webp') var(--service-position) center / 400% auto no-repeat; }
.detail-service-strip strong { font-size:11px; color:#143d80; display:block; margin-bottom:4px; }
.detail-service-strip small { font-size:10px; color:#7085a7; }
.detail-block { background:#ffffffd9; border:1px solid #fff; border-radius:18px; padding:22px; margin-bottom:16px; }
.detail-block h3 { font-size:22px; letter-spacing:-.03em; color:#123b80; margin:0 0 16px; }
.detail-block > header { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:17px; }
.detail-block > header h3 { margin:0; }
.detail-block header > p { font-size:11px; color:#7387a6; margin:0; }
.highlight-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.scene-photo { aspect-ratio:1.22; border-radius:15px; background-repeat:no-repeat; }
.highlight-caption { display:flex; align-items:start; gap:9px; margin-top:13px; }
.highlight-caption > span { display:grid; place-items:center; flex:none; width:29px; height:29px; border:1px solid #dfeaff; border-radius:50%; color:#086aff; font-size:12px; box-shadow:0 3px 7px #3d8ef423; }
.detail-block h4 { font-size:13px; color:#16417e; margin:0 0 7px; }
.detail-block article p { color:#6b85ac; font-size:11px; line-height:1.6; margin:0; }
.detail-lifestyle { height:320px; position:relative; border:1px solid #fff; border-radius:20px; margin-bottom:16px; overflow:hidden; background:#fff; }
.detail-lifestyle > img { width:68%; height:100%; object-fit:cover; position:absolute; right:0; top:0; }
.detail-lifestyle::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#f4faff 5%,#f4fafff0 25%,#f4faff00 65%); }
.detail-lifestyle > div { position:relative; z-index:1; width:45%; padding:45px 30px; }
.detail-lifestyle h3 { color:#0865f0; font-size:31px; line-height:1.1; letter-spacing:-.04em; margin:0 0 15px; }
.detail-lifestyle p { color:#6582ad; font-size:12px; line-height:1.6; max-width:280px; }
.detail-lifestyle div > div { display:flex; gap:24px; margin-top:17px; }
.detail-lifestyle span { display:grid; justify-items:center; gap:9px; color:#0b65e8; }
.detail-lifestyle morph-icon { width:30px; height:30px; }
.detail-lifestyle b { font-size:10px; }
.detail-duo { display:grid; grid-template-columns:.95fr 1.05fr; gap:16px; }
.detail-duo table { border:1px solid #e4edf9; border-radius:10px; width:100%; border-spacing:0; font-size:12px; overflow:hidden; color:#234b85; }
.detail-duo th { text-align:left; font-weight:500; width:35%; }
.detail-duo td,.detail-duo th { padding:10px; vertical-align:top; }
.detail-duo tr:nth-child(odd) { background:#edf5ff91; }
.use-scene-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.use-scene-grid h4 { margin-top:12px; }
.detail-review-grid { display:grid; grid-template-columns:1fr repeat(3,minmax(0,1.6fr)); gap:15px; align-items:stretch; }
.detail-review-grid > * { padding:16px; background:#f7fbff; border:1px solid #edf4ff; border-radius:14px; }
.review-score { display:grid; justify-items:center; align-content:center; gap:6px; }
.review-score strong { font-size:43px; color:#123e88; }
.review-score span,.detail-review-grid article header div > span { color:#ffb400; }
.review-score small { color:#5175a5; font-size:11px; }
.detail-review-grid article header { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:9px; margin-bottom:12px; }
.detail-review-grid .review-avatar { width:30px; height:30px; font-size:12px; }
.detail-review-grid article header b { font-size:11px; display:block; }
.detail-review-grid article header div > span { display:block; font-size:13px; line-height:1.3; letter-spacing:1px; margin-top:3px; }
.detail-review-grid time { font-size:9px; align-self:start; padding-top:3px; color:#6785b0; white-space:nowrap; }
.detail-review-link { display:flex; gap:6px; align-items:center; font-size:11px; color:#0665ff; padding:8px 13px; border:1px solid #e3edff; border-radius:999px; }
.detail-related { padding:22px; background:#ffffffd9; }
.detail-related > div { grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.detail-related-card { display:block; border-radius:14px; min-height:0; box-shadow:none; }
.detail-related-photo { aspect-ratio:1.4; background-size:cover; }
.detail-related-photo > span { display:none; }
.detail-related-card > div:last-child { position:static; padding:12px; }
.detail-related-card h4 { max-width:100%; font-size:12px; }
.detail-related-card p { display:none; }
.detail-related-card strong { font-size:14px; margin-bottom:8px; }
.detail-related-card .add-button { min-height:30px; font-size:10px; }
.detail-related-favorite { top:11px; }
.detail-demo-note { display:block; text-align:center; color:#8094b0; font-size:10px; padding:3px 10px; }
@media(max-width:1150px) {
 .collection-layout .catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .collection-layout .catalog-products { grid-template-columns:190px minmax(0,1fr); gap:20px; }
 .collection-layout .catalog-hero > .benefits { display:none; }
 .detail-summary { padding:18px; }
 .detail-purchase { grid-template-columns:80px minmax(0,1fr) 36px; }
}
@media(max-width:850px) {
 .collection-layout .catalog-products { grid-template-columns:165px minmax(0,1fr); gap:16px; padding-inline:18px; }
 .collection-layout .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .collection-layout .catalog-toolbar { flex-wrap:wrap; }
 .collection-layout .catalog-hero-copy { max-width:65%; }
 .product-detail-top { grid-template-columns:1fr; }
 .detail-main-photo { max-height:480px; aspect-ratio:1.15; }
 .detail-service-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .detail-review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .collection-layout .catalog-hero { height:360px; }
 .collection-layout .catalog-hero-copy { top:150px; left:20px; max-width:90%; }
 .collection-layout .catalog-hero h2 { font-size:16px; }
 .collection-layout .catalog-products { display:block; padding:18px 12px 50px; }
 .catalog-sidebar { position:static; max-height:none; margin-bottom:18px; padding:8px; overflow:visible; }
 .catalog-sidebar nav { display:flex; overflow:auto; }
 .catalog-filter { width:auto; flex:none; white-space:nowrap; }
 .catalog-filter > morph-icon { display:none; }
 .catalog-sidebar fieldset { display:block; }
 .catalog-search input { width:120px; }
 .collection-layout .catalog-controls { width:100%; justify-content:space-between; }
 .collection-layout .catalog-grid { gap:9px; }
 .collection-layout .product-info h3 { font-size:13px; }
 .collection-layout .product-info strong { font-size:18px; }
 .collection-layout .product-info p { font-size:10px; }
 .collection-layout .swatch { width:16px; height:16px; min-width:16px; min-height:16px; }
 .collection-layout .swatches { gap:5px; }
 .product-detail-modal { padding:10px 0 0; }
 .product-detail-sheet { height:calc(100dvh - 10px); padding:0 12px 20px; }
 .product-detail-top { padding-top:68px; }
 .detail-gallery { grid-template-columns:55px minmax(0,1fr); }
 .detail-thumbs { order:0; flex-direction:column; }
 .detail-thumb { flex:0 0 auto; height:55px; }
 .detail-video { min-height:50px; }
 .detail-main-photo { aspect-ratio:.9; }
 .detail-service-strip { padding:12px; gap:10px; }
 .detail-service-strip > div { gap:5px; }
 .generated-service-icon { width:34px; height:34px; }
 .detail-service-strip strong { font-size:10px; }
 .detail-service-strip small { font-size:8px; }
 .detail-block { padding:15px; }
 .detail-block h3 { font-size:20px; }
 .detail-block > header > p { display:none; }
 .highlight-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
 .detail-lifestyle { height:280px; }
 .detail-lifestyle > div { width:65%; padding:32px 18px; }
 .detail-lifestyle h3 { font-size:26px; }
 .detail-lifestyle div > div { gap:10px; }
 .detail-duo { grid-template-columns:1fr; gap:0; }
 .detail-review-grid { gap:8px; }
 .detail-review-grid > * { padding:10px; }
 .detail-review-grid time { display:none; }
 .detail-related > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Scoped findings A02–A04/A10: retain the existing catalog composition. */
.catalog-refine > summary { display:none; }
.collection-layout .add-button { min-height:44px; }
.collection-layout .favorite { width:44px; height:44px; min-width:44px; min-height:44px; max-width:44px; max-height:44px; }
.pf-tools .pf-tool-trigger strong { color:var(--pf-secondary); }
.section-heading h2 small { background:var(--pf-blue); }
@media(max-width:600px) {
 .catalog-refine > summary { display:flex; justify-content:space-between; align-items:center; min-height:44px; padding:8px 12px; color:var(--pf-ink); font-size:14px; font-weight:600; cursor:pointer; }
 .catalog-refine > summary::marker { content:''; }
 .catalog-refine > summary::-webkit-details-marker { display:none; }
 .catalog-refine > summary morph-icon { width:16px; height:16px; }
 .catalog-refine[open] > summary morph-icon { transform:rotate(180deg); }
 .catalog-refine fieldset { margin-inline:12px; }
 .catalog-refine label { min-height:44px; }
 .collection-layout .catalog-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr)); }
 .collection-layout .product-info h3 { font-size:16px; line-height:1.3; }
 .collection-layout .product-info p { font-size:13px; line-height:1.5; white-space:normal; }
 .collection-layout .swatches { flex-wrap:wrap; gap:8px; }
 .collection-layout .swatch { width:28px; height:28px; min-width:28px; min-height:28px; }
 .collection-layout .catalog-controls { min-width:0; }
 .collection-layout .catalog-sort { min-width:0; flex:1; }
 .collection-layout .catalog-search { min-width:0; flex:1; }
 .collection-layout .catalog-search input { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .detail-photo-arrow { transition:none; } }
/* Opacity/filter on preserve-3d nodes flatten their children. Keep the ring's
   geometry intact while the detail overlay supplies the transition. */
.bird-carousel-ring { transition:none; }
.bird-carousel.is-detail-open .bird-carousel-ring { opacity:1; filter:none; visibility:hidden; }
.bird-carousel.is-returning .bird-carousel-ring { visibility:visible; }

.catalog-sidebar label { justify-content:flex-start; }
.catalog-sidebar input[type=checkbox] { width:15px; height:15px; flex:none; margin:0; }
.detail-related-photo { background-size:var(--photo-size,cover); background-position:var(--photo-position,center); cursor:pointer; }

.detail-lifestyle { background-image:var(--photo); background-size:var(--photo-size,cover); background-position:var(--photo-position,center); }
.detail-lifestyle img[hidden] { display:none; }

.detail-review-grid .review-avatar { display:block; width:34px; height:34px; border-radius:50%; background:url('./assets/redesign/review-avatars-v1.webp') var(--avatar-position) center / 300% 100% no-repeat; }

/* Reference corrections: restrained hero, bounded orbit and independent controls. */
.collection-layout .catalog-hero-copy { top:auto; bottom:42px; }
.collection-back { width:40px; height:40px; padding:0; justify-content:center; margin-bottom:16px; }
.collection-back morph-icon { width:18px; height:18px; }
.badge-new { background:linear-gradient(135deg,#64d575,#24984b); color:#fff; box-shadow:inset 0 1px 1px #ffffff80; }
.badge-new svg { width:17px; height:17px; }
.bird-carousel.is-returning .bird-card-front { transform:none; }
.detail-review-grid > * { min-height:145px; }
.detail-review-grid article p { font-size:12px; line-height:1.55; }
.review-score strong { line-height:1; }
.review-score span { letter-spacing:1px; line-height:1.2; }
@media(max-width:600px){
 .collection-layout .catalog-hero-copy { top:auto; bottom:30px; }
 .collection-layout .catalog-toolbar { padding:12px 0; }
 .detail-purchase { margin-top:0; }
 .product-detail-close { top:16px; right:auto; margin:16px -6px -54px 0; }
 .detail-review-grid article header { grid-template-columns:28px minmax(0,1fr); }
 .detail-review-grid .review-avatar { width:28px; height:28px; }
}

.catalog-sidebar legend { float:none; display:block; width:auto; }
.catalog-sidebar label { width:100%; clear:both; }
.catalog-filter > morph-icon:first-child { padding:4px; width:28px; height:28px; border-radius:50%; background:#edf4fd; }
.catalog-sidebar { overflow-x:hidden; }

/* Whole-site audit: shared type rhythm without changing page structures. */
.shop-section { background:#f7fbff; }
.section-heading h2, .bird-shop-heading h2, .care-heading h2, .reviews-preview h2 {
 font-size:var(--pf-section-title); font-weight:650; line-height:1.08; letter-spacing:-.04em;
}
.section-heading h3 { font-size:clamp(18px,1.7vw,26px); font-weight:600; line-height:1.35; margin:12px 0; }
.section-heading { margin-bottom:32px; }
.reviews-preview > header { gap:24px; }
.reviews-preview header p, .care-heading p { color:var(--pf-secondary); line-height:1.6; }
.product-info h3 { font-weight:650; }
.collection-layout .product-info h3 { line-height:1.3; min-height:2.6em; }
.collection-layout .product-info p { font-size:13px; color:var(--pf-secondary); }
.collection-layout .swatches span { font-size:12px; }
.collection-layout .catalog-controls select, .catalog-search input { font-size:14px; }
.catalog-search:focus-within { outline:2px solid var(--pf-blue); outline-offset:3px; }
.collection-layout .catalog-controls select { min-height:42px; }
.catalog-filter { font-size:14px; min-height:48px; }
.catalog-sidebar label { min-height:32px; color:var(--pf-secondary); }
.detail-intro, .detail-subtitle { font-size:14px; color:var(--pf-secondary); }
.detail-block article p { font-size:13px; color:var(--pf-secondary); }
.detail-service-strip strong { font-size:12px; }
.detail-service-strip small { font-size:12px; color:var(--pf-secondary); }
.detail-review-grid article header b { font-size:13px; }
.detail-review-grid time { font-size:11px; }
.detail-review-grid article p, .detail-rating small { color:var(--pf-secondary); }
.detail-related-card h4 { font-size:14px; line-height:1.35; }
.detail-add { background:var(--pf-blue); font-size:14px; }
.review-card footer small, .canvas-review-card footer small { font-size:12px; color:var(--pf-secondary); }
.reviews-canvas:focus-visible { outline:3px solid #8cbbff; outline-offset:-4px; }
.review-track:focus-within { animation-play-state:paused; }
@media(max-width:700px) {
 .section-heading h2, .bird-shop-heading h2, .care-heading h2 { font-size:36px; }
 .reviews-preview h2 { font-size:clamp(24px,7.7vw,36px); }
 .section-heading { margin-bottom:24px; }
 .reviews-preview > header { gap:20px; }
 .catalog-search input { font-size:16px; }
 .collection-layout .product-info p { font-size:12px; }
 .collection-layout .swatches span { font-size:11px; }
 .detail-service-strip > div { align-items:flex-start; }
 .detail-service-strip strong { font-size:11px; }
 .detail-service-strip small { font-size:11px; line-height:1.4; display:block; }
 .detail-block article p { font-size:12px; }
 .detail-related-card h4 { font-size:13px; }
}
@media(hover:none), (pointer:coarse) {
 .detail-photo-arrow { opacity:1; }
 .detail-purchase { grid-template-columns:94px minmax(0,1fr) 44px; }
 .detail-quantity, .detail-quantity button, .detail-add { min-height:44px; height:44px; }
 .detail-purchase .detail-favorite { width:44px; height:44px; min-width:44px; min-height:44px; max-width:44px; max-height:44px; }
 .product-detail-close::after, .detail-expand::after, .detail-photo-arrow::after { content:''; position:absolute; inset:-5px; }
}
@media(prefers-reduced-transparency:reduce) {
 .detail-summary, .detail-block, .detail-service-strip, .review-card, .canvas-review-card { background:#f8fbff; backdrop-filter:none; -webkit-backdrop-filter:none; }
}

/* Collection filters stay in the viewport; their contents scroll independently. */
.collection-layout .catalog-hero-copy { top:144px; bottom:auto; }
.catalog-hero-back { display:grid; place-items:center; width:48px; height:48px; margin-top:24px; border:1px solid #dce8f8; border-radius:50%; background:#ffffffd9; color:#075ef3; box-shadow:0 4px 16px #1730640b; transition:background .18s ease,transform .12s cubic-bezier(.23,1,.32,1); }
.catalog-hero-back morph-icon { width:22px; height:22px; }
.catalog-hero-back:focus-visible { outline:3px solid #1465ef; outline-offset:4px; }
.catalog-hero-back:active { transform:scale(.96); }
@media(hover:hover) { .catalog-hero-back:hover { background:#e8f1ff; } }
@media(min-width:601px) and (max-width:900px) { .collection-layout .catalog-hero-copy { top:168px; } }
@media(prefers-reduced-motion:reduce) { .catalog-hero-back { transition:none; } .catalog-hero-back:active { transform:none; } }
.catalog-sidebar-shell { min-width:0; min-height:calc(100dvh - var(--catalog-nav-height,106px) - 32px); position:relative; }
.catalog-sidebar { position:relative; top:auto; padding:12px 6px; overflow:hidden; max-height:none; }
.catalog-sidebar.is-fixed { position:fixed; z-index:12; top:calc(var(--catalog-nav-height,106px) + 16px); left:var(--sidebar-left); width:var(--sidebar-width); }
.catalog-sidebar.is-fixed .catalog-sidebar-scroll { max-height:calc(var(--sidebar-space) - 26px); }
.catalog-sidebar-scroll { max-height:calc(100dvh - var(--catalog-nav-height,106px) - 58px); overflow:auto; padding:12px 10px 20px 6px; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#c8dcf4 transparent; mask-image:linear-gradient(transparent,#000 12px,#000 calc(100% - 12px),transparent); }
.catalog-sidebar-scroll::-webkit-scrollbar { width:5px; }
.catalog-sidebar-scroll::-webkit-scrollbar-thumb { background:#c8dcf4; border-radius:8px; }
.catalog-sidebar-scroll::-webkit-scrollbar-button { display:none; height:0; }
.catalog-sidebar nav::-webkit-scrollbar { height:4px; }
.catalog-sidebar nav::-webkit-scrollbar-thumb { background:#c8dcf4; border-radius:8px; }
.catalog-sidebar nav::-webkit-scrollbar-button { display:none; width:0; }
.catalog-filter { padding-right:14px; }
.catalog-sort { position:relative; min-width:166px; color:#173a84; font-size:13px; }
.catalog-sort summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; padding:10px 20px; border:1px solid #e0eaf8; border-radius:999px; background:#f8fbff; font-weight:600; cursor:pointer; list-style:none; }
.catalog-sort summary::-webkit-details-marker { display:none; }
.catalog-sort summary morph-icon { width:16px; height:16px; flex:none; }
.catalog-sort [data-sort-label] { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.catalog-sort-menu { position:absolute; top:calc(100% + 8px); right:0; z-index:30; width:210px; padding:6px; border:1px solid #fff; border-radius:17px; background:#f8fbfff5; backdrop-filter:blur(24px); box-shadow:0 12px 30px #25467122,inset 0 1px #fff; }
.catalog-sort-menu button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:40px; padding:10px 12px; border:0; border-radius:11px; color:inherit; background:transparent; text-align:left; }
.catalog-sort-menu button:is(:hover,:focus-visible), .catalog-sort-menu button[aria-pressed=true] { background:#e5eeff; color:#214ed9; }
.catalog-sort-menu morph-icon { width:15px; height:15px; visibility:hidden; }
.catalog-sort-menu button[aria-pressed=true] morph-icon { visibility:visible; }

/* Independent fullscreen gallery; detail expansion uses a separate control. */
/* In Blink, non-auto standard scrollbar properties bypass the WebKit button
   suppression and restore Windows arrows. Firefox keeps its thin fallback. */
@supports selector(::-webkit-scrollbar) {
 :is(.bird-detail-scroll,.bird-detail-panel,.pf-select-options,.product-detail-sheet,.cart-list,.catalog-sidebar-scroll,.pf-language-list,.pf-chat-log) { scrollbar-width:auto; scrollbar-color:auto; }
}
.product-detail-open .overlay.account-mode { z-index:90; }
.product-detail-tools { position:sticky; z-index:6; top:24px; display:flex; justify-content:space-between; gap:10px; width:100%; margin:24px 0 -68px; }
.product-detail-tools button { position:static; float:none; display:grid; place-items:center; width:44px; height:44px; margin:0; padding:0; border:1px solid #dfe9fa; border-radius:50%; color:#1756d8; background:#fafffff2; box-shadow:0 4px 16px #1730640b; }
.product-detail-tools morph-icon { width:22px; height:22px; }
.product-detail-modal.is-fullscreen { padding:0; width:100vw; }
.product-detail-modal.is-fullscreen .product-detail-sheet { width:100%; height:100dvh; max-width:none; border-radius:0; }
.detail-image-viewer { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:16px; border:0; background:rgba(241,248,255,.14); color:#173a75; overflow:hidden; }
.detail-image-viewer[open] { display:grid; grid-template-columns:52px minmax(0,1fr) 52px; grid-template-rows:minmax(0,1fr) 88px; gap:12px; }
.detail-image-viewer::backdrop { background:rgba(219,233,247,.58); backdrop-filter:blur(24px) saturate(1.15); -webkit-backdrop-filter:blur(24px) saturate(1.15); }
.detail-image-viewer button { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid #ffffffd9; border-radius:50%; background:var(--pf-glass-strong); color:#1756d8; box-shadow:var(--pf-shadow-sm); }
.detail-image-viewer morph-icon { width:24px; height:24px; }
.image-viewer-close { position:absolute; z-index:3; top:16px; right:16px; }
.image-viewer-prev,.image-viewer-next { align-self:center; z-index:2; }
.image-viewer-figure { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:0; margin:0; padding-top:32px; }
.image-viewer-photo { position:relative; width:100%; height:100%; min-height:0; background-image:none; touch-action:pan-y; }
.image-viewer-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.image-viewer-photo img[hidden] { display:none; }
.image-viewer-photo.is-background { width:min(100%,calc(100dvh - 174px)); height:auto; aspect-ratio:1; background-image:var(--photo); background-size:var(--photo-size,cover); background-position:var(--photo-position,center); background-repeat:no-repeat; }
.image-viewer-figure figcaption { flex:none; max-width:100%; padding:6px 12px; border-radius:12px; background:var(--pf-glass); text-align:center; font-size:13px; line-height:1.4; color:var(--pf-secondary); }
.image-viewer-thumbs { grid-column:1/-1; display:flex; align-items:center; justify-content:center; gap:10px; overflow-x:auto; }
.image-viewer-thumbs button { flex:none; width:72px; height:72px; border:2px solid transparent; border-radius:12px; background-image:var(--photo); background-size:var(--photo-size,cover); background-position:var(--photo-position,center); }
.image-viewer-thumbs button[aria-pressed=true] { border-color:#2155d4; }
.detail-image-viewer button:focus-visible,.product-detail-tools button:focus-visible { outline:3px solid #1756d8; outline-offset:3px; }
.detail-image-viewer button:active,.product-detail-tools button:active { transform:scale(.96); }
@media(max-width:600px) {
 .product-detail-tools { top:12px; margin-top:12px; margin-bottom:-56px; gap:8px; }
 .detail-image-viewer { padding:8px; }
 .detail-image-viewer[open] { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr) 72px; gap:4px; }
 .image-viewer-figure { grid-row:1; grid-column:1; }
 .image-viewer-thumbs { grid-row:2; }
 .image-viewer-prev,.image-viewer-next { position:absolute; top:calc(50% - 46px); }
 .image-viewer-prev { left:10px; }
 .image-viewer-next { right:10px; }
 .detail-image-viewer button { width:44px; height:44px; }
 .image-viewer-thumbs button { width:56px; height:56px; }
 .image-viewer-photo.is-background { width:min(100%,calc(100dvh - 162px)); }
 .image-viewer-figure figcaption { font-size:12px; }
}
/* Keep price, color and purchase controls together at the gallery baseline. */
.detail-intro { max-width:48ch; line-height:1.65; }
.detail-price-row { margin-top:auto; padding-top:24px; margin-bottom:16px; }
.detail-field { margin-bottom:18px; }
.detail-purchase { margin-top:0; padding-top:0; }
.detail-service-strip > div { align-items:center; }
.detail-service-strip > div > span:last-child { display:grid; gap:3px; }
.detail-service-strip strong, .detail-service-strip small { display:block; margin:0; line-height:1.25; }

/* Shared photo + review composition on the homepage and the review grid. */
.review-marquee { cursor:grab; touch-action:pan-y; user-select:none; }
.review-marquee.is-dragging { cursor:grabbing; }
.review-track { width:max-content; overflow:visible; }
.review-card, .canvas-review-card { display:grid; grid-template-columns:164px minmax(0,1fr); gap:16px; padding:9px; border-radius:22px; justify-content:normal; background:linear-gradient(145deg,#fff,#f2f8ff); box-shadow:0 4px 12px #244b8509,inset 0 1px #fff; }
.review-card { flex:0 0 480px; width:480px; height:210px; min-height:0; }
.review-card::before, .canvas-review-card::before { border-radius:21px; }
.review-return-photo { position:relative; min-width:0; height:100%; margin:0; overflow:hidden; border-radius:15px; }
.review-return-photo img { width:100%; height:100%; display:block; object-fit:cover; pointer-events:none; }
.review-return-photo figcaption { position:absolute; bottom:7px; left:7px; right:7px; width:max-content; max-width:calc(100% - 14px); padding:4px 7px; border-radius:7px; color:#fff; background:#10213ac9; font-size:10px; line-height:1.2; }
.review-copy { min-width:0; display:flex; flex-direction:column; padding:8px 9px 8px 0; position:relative; z-index:1; }
.review-source { color:#173a84; font-size:12px; font-weight:650; }
.review-stars { color:#ffad00; font-size:16px; letter-spacing:1px; margin:6px 0 5px; line-height:1.1; }
:is(.review-card,.canvas-review-card) blockquote { margin:0; max-width:none; font-size:14px; line-height:1.5; font-weight:400; letter-spacing:0; transform:none; color:var(--pf-secondary); }
:is(.review-card,.canvas-review-card) footer { display:flex; gap:8px; margin-top:auto; padding-top:12px; transform:none; }
:is(.review-card,.canvas-review-card) footer > span:nth-child(2) { display:grid; gap:3px; min-width:0; }
:is(.review-card,.canvas-review-card) .review-avatar { display:grid; place-items:center; width:30px; height:30px; flex:0 0 30px; border-radius:50%; background:#214ed9; color:#fff; font-size:11px; font-weight:650; }
:is(.review-card,.canvas-review-card) footer strong { font-size:12px; line-height:1.2; }
:is(.review-card,.canvas-review-card) footer small { font-size:10px; line-height:1.2; white-space:normal; }
.review-product { margin-left:auto; align-self:center; max-width:72px; padding:5px 7px; border-radius:9px; background:#eaf2ff; font-size:10px; line-height:1.2; color:#214ed9; }
.canvas-review-card { grid-template-columns:154px minmax(0,1fr); }
.review-hologram { --mx:50%; --my:50%; --rx:0deg; --ry:0deg; transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)); transition:transform .22s cubic-bezier(.23,1,.32,1),box-shadow .22s ease; }
.review-hologram .canvas-review-glare { position:absolute; inset:-1px; border-radius:inherit; background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.92) 0,rgba(123,195,255,.22) 19%,rgba(175,137,255,.1) 34%,transparent 61%); mix-blend-mode:overlay; opacity:0; transition:opacity .2s ease; pointer-events:none; }
.review-hologram.is-hovered { box-shadow:0 7px 20px #244b8514,inset 0 1px #fff; }
.review-hologram.is-hovered .canvas-review-glare { opacity:.72; }
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce) {
 .review-hologram { transform:none!important; transition:none; }
 .review-hologram .canvas-review-glare { display:none; }
}
@media(min-width:1400px) { .bird-carousel { --carousel-scale:1.15; } }
@media(min-width:901px) and (max-width:1399px) { .bird-carousel { --carousel-scale:1.05; } }
@media(max-width:700px) {
 .review-card { flex-basis:350px; width:350px; height:248px; grid-template-columns:122px minmax(0,1fr); gap:12px; }
 .review-copy { padding:7px 3px 7px 0; }
 :is(.review-card,.canvas-review-card) blockquote { font-size:13px; line-height:1.45; }
 :is(.review-card,.canvas-review-card) footer { gap:6px; flex-wrap:wrap; }
 :is(.review-card,.canvas-review-card) footer strong { font-size:11px; }
 .review-product { margin-left:36px; }
 .canvas-review-card { grid-template-columns:122px minmax(0,1fr); gap:12px; }
}
@media(max-width:600px) {
 .collection-layout .catalog-hero-copy { top:159px; bottom:auto; }
 .catalog-sidebar { position:relative; }
 .catalog-sidebar-shell { min-height:0; }
 .catalog-sidebar-scroll { max-height:none; overflow:visible; mask-image:none; padding:0; }
 .catalog-sort { min-width:160px; }
 .catalog-sort summary { padding-inline:16px; }
 .detail-price-row { margin-top:8px; padding-top:8px; }
 .detail-service-strip > div > span:last-child { gap:2px; }
 .detail-service-strip strong, .detail-service-strip small { line-height:1.2; }
}


/* Restore vertical balance after removing the catalog return control. */
body:is([data-page="cages"],[data-page="climbing"],[data-page="travel"],[data-page="toys"],[data-page="accessories"],[data-page="best-sellers"],[data-page="new-arrivals"]) .collection-layout .catalog-hero-copy { top:168px; }
@media(min-width:601px) and (max-width:900px) { body:is([data-page="cages"],[data-page="climbing"],[data-page="travel"],[data-page="toys"],[data-page="accessories"],[data-page="best-sellers"],[data-page="new-arrivals"]) .collection-layout .catalog-hero-copy { top:192px; } }
@media(max-width:600px) { body:is([data-page="cages"],[data-page="climbing"],[data-page="travel"],[data-page="toys"],[data-page="accessories"],[data-page="best-sellers"],[data-page="new-arrivals"]) .collection-layout .catalog-hero-copy { top:179px; } }

/* Keep the five collection sidebars fixed while sharing the recovered space with results. */
body:is([data-page="cages"],[data-page="climbing"],[data-page="travel"],[data-page="toys"],[data-page="accessories"]) .collection-layout .catalog-products { column-gap:17.5px; }
@media(max-width:1150px) { body:is([data-page="cages"],[data-page="climbing"],[data-page="travel"],[data-page="toys"],[data-page="accessories"]) .collection-layout .catalog-products { column-gap:10px; } }
@media(max-width:850px) { body:is([data-page="cages"],[data-page="climbing"],[data-page="travel"],[data-page="toys"],[data-page="accessories"]) .collection-layout .catalog-products { column-gap:8px; } }
