/* Product detail: a square main stage and a separate strip, never flex-shrunk. */
body.family-site .catalog-product-page.has-product-photo .catalog-product-visual.papf-has-gallery{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:14px!important;height:auto!important;aspect-ratio:auto!important;overflow:visible!important;align-content:start!important}
body.family-site .catalog-product-page.has-product-photo .catalog-product-visual.papf-has-gallery>.catalog-product-photo-button{position:relative!important;display:block!important;flex:none!important;aspect-ratio:1/1!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;overflow:hidden!important;border-radius:10px!important;background:#f4f1ea!important}
body.family-site .catalog-product-page.has-product-photo .catalog-product-visual.papf-has-gallery>.catalog-product-photo-button>img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;object-fit:contain!important;background:#f4f1ea!important}
body.family-site .catalog-product-page.has-product-photo .papf-product-thumbnails{display:flex!important;gap:10px!important;position:relative!important;isolation:isolate;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;padding:4px 2px 7px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;background:transparent!important}
body.family-site .catalog-product-page.has-product-photo .papf-product-thumbnail{position:relative!important;flex:0 0 76px!important;width:76px!important;height:76px!important;min-height:0!important;margin:0!important;padding:5px!important;border:1px solid #d7ccbc!important;border-radius:10px!important;overflow:hidden!important;background:#f4f1ea!important;scroll-snap-align:start}
body.family-site .catalog-product-page.has-product-photo .papf-product-thumbnail img{position:static!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;aspect-ratio:auto!important;object-fit:contain!important;background:#f4f1ea!important}
body.family-site .catalog-product-page.has-product-photo .papf-product-thumbnail:hover,body.family-site .catalog-product-page.has-product-photo .papf-product-thumbnail:focus-visible{border-color:#2c5741!important;outline:2px solid #2c574144;outline-offset:1px}
/* Keep card geometry; remove inset padding and use small photo indicators. */
.pdp-card-gallery{position:relative;display:block;min-width:0;width:100%;align-self:stretch;isolation:isolate;overflow:hidden;border-radius:10px;background:#f4f1ea}
.pdp-card-gallery>.pdp-gallery-link{width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;position:relative;overflow:hidden;border-radius:inherit}
.pdp-slides{position:relative;display:block;width:100%;height:100%;min-height:0;overflow:hidden;touch-action:pan-y}
body.family-site .pdp-card-gallery .pdp-slide-image{position:absolute!important;inset:0!important;display:block!important;box-sizing:border-box!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;margin:0!important;padding:0!important;object-fit:contain!important;object-position:center!important;aspect-ratio:auto!important;border-radius:0!important;background:#f4f1ea!important}
.pdp-slide-controls{position:absolute;z-index:3;bottom:0;left:2px;right:2px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0;pointer-events:none}
body.family-site .pdp-slide-controls .pdp-slide-dot{pointer-events:auto;display:grid;place-items:center;flex:0 0 24px;width:24px;min-width:24px;height:24px;min-height:24px;border:0;border-radius:50%;background:transparent;color:#294331;padding:0;margin:0;cursor:pointer;box-shadow:none;font-size:0;line-height:1}
body.family-site .pdp-slide-dot::before{content:"";display:block;box-sizing:border-box;width:6px;height:6px;border:1px solid #596b60;border-radius:50%;background:#f4f1ea;box-shadow:0 0 0 2px #f4f1eacc}
body.family-site .pdp-slide-dot[aria-pressed="true"]::before{width:7px;height:7px;background:#294d3a;border-color:#294d3a}
body.family-site .pdp-slide-dot:focus-visible{outline:2px solid #996c30;outline-offset:-2px}
.pdp-related-gallery{aspect-ratio:1/1;width:86px;float:left;margin:0 10px 8px 0}
body.family-site .homepage-featured-grid .pdp-card-gallery{height:164px;min-height:164px}body.family-site .catalog-product-grid:not(.homepage-featured-grid) .pdp-card-gallery{height:140px;min-height:140px}
body.family-site .search-product-image.pdp-gallery-link{min-height:110px!important}
body.family-site .home-pick .pdp-card-gallery{min-height:142px;height:100%}
/* The wrapper owns the photo size. A square mobile link must not overflow a
   fixed-height gallery; use the same geometry as cards with a single photo. */
body.family-site :is(.catalog-products-panel .catalog-product-grid:not(.homepage-featured-grid) .catalog-product-item,.search-product-item)>.pdp-card-gallery{width:140px!important;height:140px!important;min-height:0!important;aspect-ratio:1;align-self:start;flex:none}
body.family-site :is(.catalog-products-panel .catalog-product-grid:not(.homepage-featured-grid) .catalog-product-item,.search-product-item)>.pdp-card-gallery>.pdp-gallery-link{width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important}
body.family-site .search-products .search-product-grid:has(>:only-child) .search-product-item>.pdp-card-gallery{width:176px!important;height:176px!important}
@media(min-width:768px) and (max-width:1199px){body.family-site :is(.catalog-products-panel .catalog-product-grid:not(.homepage-featured-grid) .catalog-product-item,.search-product-item)>.pdp-card-gallery{width:124px!important;height:124px!important}body.family-site .search-products .search-product-grid:has(>:only-child) .search-product-item>.pdp-card-gallery{width:176px!important;height:176px!important}}
@media(max-width:767px){body.family-site :is(.catalog-products-panel .catalog-product-grid:not(.homepage-featured-grid) .catalog-product-item,.search-product-item)>.pdp-card-gallery,body.family-site .search-products .search-product-grid:has(>:only-child) .search-product-item>.pdp-card-gallery{width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1;align-self:start}}
@media(max-width:700px){body.family-site .catalog-product-page.has-product-photo .papf-product-thumbnail{flex-basis:68px!important;width:68px!important;height:68px!important}}
@media(prefers-reduced-motion:reduce){.pdp-slide-image{animation:none!important;transition:none!important}}
body.family-site .catalog-product-layout .catalog-product-related-grid article.pdp-related-item{display:grid!important;grid-template-columns:86px minmax(0,1fr)!important;gap:8px!important;align-items:center!important;padding:8px!important;background:var(--surface,#fffdf9);border-radius:10px}
body.family-site .catalog-product-layout .catalog-product-related-grid article.pdp-related-item>.pdp-related-gallery{display:block!important;width:86px!important;height:98px!important;margin:0!important;float:none!important}
body.family-site .catalog-product-layout .catalog-product-related-grid article.pdp-related-item>a{display:block!important;padding:0!important;box-shadow:none!important;background:transparent!important}
body.family-site .catalog-product-layout .catalog-product-related-grid .pdp-related-gallery .pdp-slides{display:block!important;height:98px!important}
body.family-site .catalog-product-layout .catalog-product-related-grid .pdp-related-gallery .pdp-slide-controls{display:flex!important}
body.family-site .catalog-product-layout .catalog-product-related-grid .pdp-related-gallery .pdp-gallery-link{display:block!important;padding:0!important;min-height:0!important;height:100%!important;box-shadow:none!important;background:transparent!important}

/* Detail gallery keeps a full, uncropped main frame and highlights its selection. */
body.family-site .catalog-product-photo-button{touch-action:pan-y}
body.family-site .catalog-product-page.has-product-photo .papf-product-thumbnail[aria-pressed="true"]{border-color:#2c5741!important;box-shadow:0 0 0 2px #2c5741!important}
