/* Static showcase; scoped to the shop, PECCRAM and the home accessory section. */
.boutique-page { max-width: var(--rad-public-max-width); width: min(var(--rad-public-max-width), calc(100% - 32px)); margin: 0 auto; padding: 2rem 0 4rem; }
.boutique-page :is(h1,h2,h3,p,a,button,td,th), .home-boutique :is(h2,h3,p,a) { overflow-wrap: normal; word-break: normal; hyphens: none; letter-spacing: 0; }
.boutique-page h1 { font-size: 2.6rem; line-height: 1.2; margin: 0.5rem 0 1rem; color: #17343a; }
.boutique-page h2, .home-boutique > h2 { font-size: 1.7rem; line-height: 1.35; margin: 0 0 1rem; color: #17343a; }
.boutique-page h3 { font-size: 1.2rem; line-height: 1.4; margin: 0 0 0.6rem; color: #17343a; }
.boutique-page p, .home-boutique p { line-height: 1.7; margin: 0 0 1rem; }
.boutique-page section { margin-top: 2.5rem; }
.boutique-page .boutique-hero { margin-top: 0; padding: 1.5rem 1.6rem; border-left: 6px solid var(--rad-pub-orange, #f88018); border-radius: var(--rad-public-radius); box-shadow: var(--rad-public-shadow); background: #f0f7f8; }
.boutique-hero .boutique-intro { max-width: 800px; font-size: 1.08rem; }
.boutique-page .service-kicker, .home-boutique .service-kicker { color: #29667b; margin-bottom: 0.6rem; letter-spacing: 0; }
.boutique-page .cta-btn, .home-boutique .cta-btn { white-space: normal; text-align: center; letter-spacing: 0; word-break: normal; }
.boutique-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; padding-top: 0.5rem; }
.boutique-page .boutique-breadcrumb, .boutique-page .boutique-family-nav { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; width: auto; gap: 0.6rem 1.3rem; margin: 0 0 1.5rem; }
.boutique-page .boutique-family-nav { margin-top: 1.5rem; padding: 1rem 0; border-top: 1px solid #d4e3e6; border-bottom: 1px solid #d4e3e6; }
.boutique-family-nav a[aria-current="page"] { color: #24505b; font-weight: bold; text-decoration: underline; }
.boutique-heading { max-width: 800px; margin-bottom: 1.3rem; }
.boutique-families, .boutique-products, .boutique-points { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.2rem; }
.boutique-family { display: flex; flex-direction: column; border: 1px solid #d4e3e6; border-bottom: 5px solid var(--rad-pub-blue, #3888a0); background: #fff; border-radius: 8px; overflow: hidden; color: var(--dark); text-decoration: none; box-shadow: 0 8px 26px rgba(7,26,43,0.07); }
.boutique-family:nth-child(2) { border-bottom-color: var(--rad-pub-orange, #f88018); }
.boutique-family:nth-child(3) { border-bottom-color: var(--rad-pub-green, #18a090); }
.boutique-family img { display: block; width: 100%; height: 280px; object-fit: contain; background: #fff; }
.boutique-family div { padding: 1.3rem; display: flex; flex-direction: column; flex: 1; }
.boutique-family h2, .boutique-family h3 { font-size: 1.3rem; margin-bottom: 0.6rem; }
.boutique-family span { margin-top: auto; font-weight: 800; color: #24505b; }
.boutique-family:hover, .boutique-family:focus-visible { border-color: #3888a0; box-shadow: 0 8px 26px rgba(7,26,43,0.14); }
.boutique-family:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.boutique-product, .boutique-point { min-width: 0; border: 1px solid #d4e3e6; border-left: 5px solid var(--rad-pub-blue, #3888a0); border-radius: 8px; background: #fff; padding: 1.1rem; box-shadow: 0 8px 26px rgba(7,26,43,0.07); }
.boutique-product { display: flex; flex-direction: column; gap: 0.7rem; }
.boutique-product img { display: block; width: 100%; height: 220px; object-fit: contain; cursor: zoom-in; }
.boutique-product p { margin: 0; font-size: 0.95rem; }
.boutique-product .cta-btn { margin-top: auto; font-size: 0.95rem; padding: 0.75rem; }
.boutique-point:nth-child(2) { border-left-color: var(--rad-pub-orange, #f88018); }
.boutique-point:nth-child(3) { border-left-color: var(--rad-pub-green, #18a090); }
.boutique-point p { margin-bottom: 0; }
.boutique-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; }
.boutique-gallery figure { min-width: 0; margin: 0; padding: 0.8rem; border: 1px solid #d4e3e6; border-radius: 8px; background: #fff; box-shadow: 0 8px 26px rgba(7,26,43,0.07); }
.boutique-gallery img { display: block; width: 100%; height: 300px; object-fit: contain; background: #fff; cursor: zoom-in; }
.boutique-gallery figcaption { padding-top: 0.75rem; line-height: 1.5; font-size: 0.95rem; }
.boutique-gallery--two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.boutique-gallery--shirts img { height: 300px; }
.boutique-measures table { width: 100%; max-width: 640px; border-collapse: collapse; background: #fff; table-layout: fixed; }
.boutique-measures th, .boutique-measures td { padding: 0.8rem 1rem; text-align: left; border-bottom: 1px solid #d3dfe2; font-size: 1rem; }
.boutique-measures th { background: #edf5f6; }
.boutique-measures p { margin-top: 1rem; }
.boutique-contact { padding: 1.5rem 0 0; border-top: 2px solid var(--rad-pub-orange, #f88018); }
.boutique-proof { max-width: 800px; margin: 1rem 0; }
.boutique-proof img { width: 100%; height: auto; cursor: zoom-in; }
.boutique-proof figcaption { font-size: 0.95rem; padding-top: 0.7rem; }
.home-boutique { max-width: var(--rad-public-max-width); width: calc(100% - 32px); padding: 1.4rem 24px; margin: var(--rad-public-section-gap) auto; border: 1px solid #d4e3e6; border-left: 5px solid var(--rad-pub-blue, #3888a0); border-radius: var(--rad-public-radius); background: #f3fafb; box-shadow: var(--rad-public-shadow); }
.home-boutique > p { max-width: 850px; }
.home-boutique-heading { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 0.8rem 1.5rem; margin-bottom: 1rem; }
.home-boutique-heading > div { flex: 1 1 560px; min-width: 0; }
.home-boutique .home-boutique-heading .cta-btn { flex: 0 1 auto; max-width: 100%; min-height: 44px; padding: 0.6rem 0.9rem; margin: 0; font-size: 0.95rem; line-height: 1.4; }
.boutique-page .boutique-base { padding: 1.4rem; border-left: 5px solid var(--rad-pub-orange, #f88018); background: #f0f7f8; }
.boutique-page .boutique-price strong { font-size: 2rem; color: #17343a; }
.boutique-page .boutique-swatches { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0.8rem; margin: 1rem 0 1.6rem; }
.boutique-page .boutique-swatches figure { margin: 0; text-align: center; }
.boutique-page .boutique-swatches img { width: 100%; max-width: 150px; height: 145px; object-fit: contain; }
.boutique-page .boutique-foam { margin: 1rem 0; }
.boutique-page .boutique-foam img { width: 100%; height: auto; cursor: zoom-in; }
.boutique-page .boutique-price-list { padding: 0; list-style: none; max-width: 800px; }
.boutique-page .boutique-price-list li { display: grid; grid-template-columns: 56px minmax(0,1fr) 70px; gap: 1rem; align-items: center; padding: 0.85rem 0; border-bottom: 1px solid #d4e3e6; line-height: 1.6; }
.boutique-page .boutique-price-list img { width: 56px; height: 56px; object-fit: contain; }
.boutique-page .boutique-swatches figcaption { font-size: 0.95rem; line-height: 1.4; }
.home-boutique .boutique-family { border: 2px solid #d4e3e6; }
.home-boutique .boutique-family-image { overflow: hidden; flex: 0 0 auto; height: 280px; padding: 0; display: block; background: #fff; }
.home-boutique .boutique-family-image img { width: calc(100% - 16px); height: calc(100% - 16px); margin: 8px; object-fit: cover; border: 0; transition: transform 0.2s; }
.home-boutique .boutique-family:hover, .home-boutique .boutique-family:focus-visible { border-color: #d4e3e6; box-shadow: 0 8px 26px rgba(7,26,43,0.07); }
@media (hover: hover) and (pointer: fine) { .home-boutique .boutique-family-image img:hover { transform: scale(1.20); } }
@media (prefers-reduced-motion: reduce) { .home-boutique .boutique-family-image img { transition: none; } }
.boutique-page .boutique-price-list strong { text-align: right; }
.boutique-page .boutique-clip { vertical-align: middle; object-fit: contain; }
.boutique-page .boutique-measure-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
.boutique-page .boutique-measure-gallery img { height: auto; aspect-ratio: 4/3; object-fit: contain; cursor: default; }
.boutique-page .boutique-details { margin: 1.5rem 0; }
.boutique-page .boutique-details summary { font-weight: 700; padding: 0.8rem 0; cursor: pointer; }
@media (max-width: 900px) {
  .boutique-products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .boutique-family img { height: 210px; }
  .home-boutique .boutique-family-image { height: 210px; }
  .boutique-gallery--shirts img { height: 240px; }
}
@media (max-width: 620px) {
  .boutique-page { padding: 1.5rem 0 3rem; }
  .boutique-page h1 { font-size: 2rem; }
  .boutique-page h2, .home-boutique-heading h2 { font-size: 1.5rem; }
  .boutique-page .boutique-hero { padding: 1.2rem; }
  .boutique-page section { margin-top: 2rem; }
  .boutique-families, .boutique-products, .boutique-points, .boutique-gallery, .boutique-gallery--two { grid-template-columns: minmax(0,1fr); }
  .boutique-family img { height: 260px; }
  .home-boutique .boutique-family-image { height: 260px; }
  .boutique-gallery img { height: 280px; }
  .boutique-product img { height: 250px; }
  .boutique-measures th, .boutique-measures td { padding: 0.7rem; }
  .boutique-page .boutique-swatches { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .boutique-page .boutique-measure-gallery { grid-template-columns: minmax(0,1fr); }
  .boutique-page .boutique-price-list li { grid-template-columns: 48px minmax(0,1fr) 62px; gap: 0.65rem; }
  .boutique-page .boutique-price-list img { width: 48px; height: 48px; }
}
