/* Jeannie's unified, photo-first boutique gallery. Images are mood inspiration,
   never representations of the exact linked merchandise. */
:root { --shop-paper:#fffdfa; --shop-blush:#f5eae7; --shop-ink:#443a39; --shop-rose:#ad7a80; }
html { scroll-behavior:smooth; }
body { background:var(--shop-paper); }
.site-header { border-bottom:1px solid #f0e5e1; }
.shop-image-link { position:relative; display:block; width:100%; aspect-ratio:4/5; overflow:hidden; background:#efe6e0; isolation:isolate; color:var(--shop-ink); text-decoration:none; }
.shop-image-link img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease, filter .35s ease; }
.shop-image-link:hover img, .shop-image-link:focus-visible img { transform:scale(1.045); filter:saturate(1.05); }
.shop-image-link:focus-visible { outline:3px solid #ad7a80; outline-offset:3px; }
.shop-image-link::before { content:""; position:absolute; right:15px; top:15px; width:40px; height:40px; background:rgba(255,253,249,.94); box-shadow:0 4px 15px #2b1e181a; z-index:3; }
.shop-image-link::after { content:""; position:absolute; right:28px; top:29px; width:13px; height:12px; border:1.6px solid #4e3f3c; border-radius:2px; z-index:4; }
.shop-image-link .shop-bag-handle { position:absolute; z-index:5; top:24px; right:32px; width:6px; height:7px; border:1.5px solid #4e3f3c; border-bottom:0; border-radius:6px 6px 0 0; }
.shop-photo-note { position:absolute; left:10px; right:10px; bottom:10px; z-index:4; display:block; padding:8px 9px; background:rgba(255,253,249,.95); color:#725d59; font:700 9px/1.35 "DM Sans",sans-serif; letter-spacing:.055em; text-align:center; }

/* The same graceful product tiles on outfit, bathroom, holiday and retro pages. */
.outfit-product-grid, .retro-product-grid, .holiday-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:23px; }
.outfit-product-grid .outfit-item, .retro-product-grid .retro-product, .holiday-product-grid .holiday-product { display:flex; flex-direction:column; min-width:0; min-height:0; background:#fff; border:1px solid #eee4df; border-radius:0; overflow:hidden; box-shadow:none; }
.outfit-product-grid .outfit-item .shop-image-link, .retro-product-grid .retro-product .shop-image-link, .holiday-product-grid .holiday-product .shop-image-link { flex:0 0 auto; }
.outfit-product-grid .outfit-item .outfit-item-copy, .retro-product-grid .retro-product .retro-product-content { padding:22px 18px 23px; display:flex; flex-direction:column; align-items:flex-start; flex:1; max-width:none; }
.outfit-product-grid .outfit-item h3, .retro-product-grid .retro-product h3, .holiday-product-grid .holiday-product h3 { font:400 clamp(22px,2.25vw,30px)/1.12 "DM Serif Display",Georgia,serif; margin:11px 0 12px; letter-spacing:-.018em; color:var(--shop-ink); }
.outfit-product-grid .outfit-item p, .retro-product-grid .retro-product p, .holiday-product-grid .holiday-product p { font-size:12px; line-height:1.68; color:#746966; margin-bottom:21px; flex:1; }
.outfit-product-grid .outfit-item .button, .retro-product-grid .retro-product .button, .holiday-product-grid .holiday-product .button { margin-top:auto; font-size:10px; padding:12px 15px; white-space:normal; }
.outfit-product-grid .outfit-item small, .retro-product-grid .retro-product .retro-paid-label, .holiday-product-grid .holiday-product small { font-size:9px; line-height:1.45; }
.outfit-product-grid .outfit-item .outfit-item-kicker, .retro-product-grid .retro-product .retro-product-meta, .holiday-product-grid .holiday-product .holiday-product-meta { color:var(--shop-rose); font-size:9px; }
.retro-product-grid .retro-product .retro-product-meta, .holiday-product-grid .holiday-product .holiday-product-meta { width:100%; flex-wrap:wrap; }
.holiday-product-grid .holiday-product { padding:0; }
.holiday-product-grid .holiday-product > :not(.shop-image-link) { margin-left:17px; margin-right:17px; }
.holiday-product-grid .holiday-product > .holiday-product-meta { margin-top:20px; }
.holiday-product-grid .holiday-product > h3 { margin-top:14px; }
.holiday-product-grid .holiday-product > small { margin-bottom:22px; }
.retro-product-grid .retro-product .shop-image-link, .outfit-product-grid .outfit-item .shop-image-link { margin:0; height:auto; background-image:none; }
.retro-product-grid .retro-product .shop-image-link::after, .outfit-product-grid .outfit-item .shop-image-link::after { border:1.6px solid #4e3f3c; }
.bathroom-page .bath-featured-item { grid-column:auto; }
.bathroom-page .bath-featured-item .outfit-item-copy { max-width:none; }

/* Homepage's short shopping list, collections and link hub. */
.home-picks-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-pick { display:flex; flex-direction:column; border-radius:0; border:1px solid #eee4df; box-shadow:none; }
.home-pick .shop-image-link { height:auto; margin:0; border-radius:0; background-image:none; }
.home-pick .home-pick-content { padding:23px 20px 25px; flex:1; display:flex; flex-direction:column; }
.home-pick .home-pick-content h3 { font-size:clamp(23px,2.5vw,30px); }
.home-pick .home-pick-content .button { margin-top:auto; }
.home-pick:last-child .shop-image-link { height:auto; min-height:0; margin:0; }
.category-card { border-radius:0; }
.category-art { border-radius:0; margin:0 0 16px; height:auto; aspect-ratio:4/5; }
.fw-grid .fw-card { border-radius:0; box-shadow:none; }
.fw-grid .fw-card .fw-art-photo { aspect-ratio:4/5; }
.fw-grid .fw-card .fw-body { padding:23px 18px 22px; }
.hub-header { min-height:0; padding-bottom:48px; }
.hub-edits-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.hub-edit-card .edit-photo { height:auto; aspect-ratio:4/5; position:relative; }
.hub-edit-card .edit-photo::after { content:"SHOP COLLECTION ↗"; position:absolute; left:10px; right:10px; bottom:10px; padding:10px 12px; font:700 10px/1.2 "DM Sans",sans-serif; color:#59433f; background:#fffdf9ee; letter-spacing:.09em; text-align:center; }
.hub-edit-card h3 { min-height:0; font-size:clamp(22px,2.45vw,30px); }
.hub-edit-card .edit-index { margin-top:18px; }
.hub-editorial { min-height:430px; }
.hub-editorial-panel { padding:38px 33px; }

@media(max-width:1080px){
  .outfit-product-grid, .retro-product-grid, .holiday-product-grid, .hub-edits-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-picks-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px){
  .outfit-product-grid, .retro-product-grid, .holiday-product-grid, .home-picks-grid, .hub-edits-grid { grid-template-columns:1fr; gap:28px; }
  .outfit-product-grid .outfit-item .shop-image-link, .retro-product-grid .retro-product .shop-image-link, .holiday-product-grid .holiday-product .shop-image-link, .home-pick .shop-image-link { aspect-ratio:4/4.2; }
  .hub-edits { padding:60px 22px; }
  .hub-edit-card { max-width:460px; margin:0 auto; width:100%; }
  .hub-editorial { min-height:510px; }
  .hub-editorial-panel { padding:30px 26px; }
  .outfit-product-grid .outfit-item .outfit-item-copy { padding:24px 22px; }
}
