.shop-page { padding-block: 26px 60px; }
.shop-page .breadcrumb { margin: 0 0 18px; }
.shop-page .breadcrumb a { text-decoration: underline; text-underline-offset: 3px; }
.shop-hero { display: grid; grid-template-columns: 1.15fr 1fr; overflow: hidden; border-radius: 18px; background: #30231f; color: #fff9ed; }
.shop-hero-copy { padding: clamp(26px,4.5vw,64px); align-self: center; }
.shop-page h1 { margin: 0; font-size: clamp(38px,5vw,70px); line-height: 1.02; letter-spacing: -.055em; color: inherit; }
.shop-hero-copy p { margin: 18px 0 23px; font-size: clamp(16px,1.6vw,19px); color: #f4e8da; max-width: 35em; }
.shop-hero-photo { position: relative; min-height: 300px; background: #bc7141; }
.shop-hero-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 37%; }
.shop-hero-kids .shop-hero-photo img { object-position: center; }
.shop-jumps { display:flex; flex-wrap:wrap; gap:8px; }
.shop-jumps a { display: inline-flex; align-items:center; gap:10px; min-height:42px; padding:8px 14px; border:1px solid #baa899; border-radius: 6px; color:#fff9ed; font-size:14px; font-weight:700; }
.shop-jumps a:first-child { background:#ffd6a0; border-color:#ffd6a0; color:#342116; }
.shop-jumps a:hover,.shop-jumps a:focus-visible { background:#fff8ee; color:#322016; }
.shop-disclosure,.shop-note { font-size:13px; line-height:1.6; color:var(--muted); max-width:95ch; }
.shop-disclosure { margin:16px 0 0; }
.shop-section { margin-top:clamp(38px,6vw,70px); }
.shop-section h2,.tool-group h2 { color:var(--ink); margin:0 0 18px; font-size:clamp(27px,3.2vw,43px); }
.shop-section h2.shop-subhead { margin-top:48px; }
.shop-family-note { margin:-3px 0 22px; max-width:72ch; font-size:16px; }
.shop-grid { display:grid; align-items:start; gap:16px; }
.kids-grid,.books-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); }
.shop-card { display:flex; flex-direction:column; align-self:stretch; min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:#fffdf8; }
.shop-card-photo,.book-photo,.pack-photo { overflow:hidden; }
.shop-card-photo { aspect-ratio:1; }
.shop-card-photo img,.pack-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.shop-card-text { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:16px; }
.shop-card h3,.tool-card h3 { margin:0; font-size:20px; font-weight:700; line-height:1.14; letter-spacing:-.035em; color:var(--ink); }
.shop-card p { font-size:14px; line-height:1.55; color:#62564c; margin:9px 0 15px; }
.shop-buy,.shop-more { display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:6px; min-height:42px; padding:7px 12px; font-size:13px; font-weight:700; white-space:nowrap; }
.shop-buy { background:var(--orange); color:white; margin-top:auto; }
.shop-buy:hover,.shop-more:hover { background:var(--ink); color:white; }
.shop-more { background: #30231f; color:white; padding-inline:18px; margin-top:18px; }
.book-photo { height:205px; padding:16px; background:#f0e7d9; }
.book-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.book-card .book-author { font-weight:600; font-size:12px; margin:0 0 7px; }
.book-card h3 { margin-bottom:10px; }
.pack-grid,.tool-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pack-photo { aspect-ratio: 1.75; }
.pack-photo img { object-fit:contain; background:#f2ebdf; }
.pack-price { font-size:21px; margin:3px 0 9px; }
.kit-feature { display:grid; grid-template-columns:min(30%,160px) 1fr; align-items:center; margin-bottom:16px; }
.kit-feature > img { width:100%; height:auto; }
.pack-card details,.tool-card details { width:100%; border-top:1px solid var(--line); margin-top:auto; }
.shop-page summary { cursor:pointer; font-size:14px; line-height:1.4; font-weight:700; padding:13px 0 9px; }
.shop-page details ul { padding:0; margin:0 0 4px; list-style:none; }
.shop-page details li { border-top:1px solid #eee6db; font-size:14px; padding:6px 0; line-height:1.55; overflow-wrap:anywhere; }
.shop-page details li a,.tool-buy { color:#90320d; text-decoration:underline; text-underline-offset:3px; }
.shop-catalogue-link { border-top:1px solid var(--line); padding-top:28px; }
.shop-catalogue-heading { padding-block:20px 0; max-width:850px; }
.shop-catalogue-heading p { line-height:1.6; font-size:17px; margin:16px 0; }
.tool-filter { margin-block:30px; }
.tool-filter label { display:block; font-weight:700; margin-bottom:8px; }
.tool-filter input { display:block; width:min(100%,570px); border:1px solid #938276; border-radius:7px; padding:12px 15px; background:#fff; color:var(--ink); }
.tool-filter p { color:var(--muted); margin-top:6px; font-size:14px; }
.tool-group { margin-block:35px; }
.tool-group h2 { font-size:clamp(24px,2.8vw,34px); }
.tool-card { background:#fffdf8; padding:16px; border:1px solid var(--line); border-radius:12px; min-width:0; }
.tool-title { display:flex; align-items:center; gap:12px; }
.tool-title img { flex:none; border-radius:5px; }
.tool-buy { display:inline-block; margin-block:10px; font-size:14px; font-weight:700; }
@media (max-width:850px) { .tool-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:680px) {
 .shop-hero { grid-template-columns:1fr; }
 .shop-hero-photo { min-height:150px; height: min(47vw,215px); }
 .shop-hero-copy { padding:24px; }
 .shop-hero-photo img { object-position:50% 37%; }
 .shop-hero-kids .shop-hero-photo img { object-position:center 47%; }
 .pack-grid { grid-template-columns:1fr; }
 .pack-photo { max-height:220px; }
 .kids-grid,.books-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .shop-card-text { padding:12px; }
 .shop-card h3 { font-size:17px; }
 .shop-buy { gap:5px; min-height:42px; padding:7px 9px; font-size:12px; }
 .book-photo { height:155px; padding:12px; }
}
@media (max-width:480px) { .tool-grid { grid-template-columns:1fr; } }
@media (max-width:365px) { .kids-grid,.books-grid { grid-template-columns:1fr; } }
