/* Static showcase; scoped to the shop, PECCRAM and the home accessory section. */
.boutique-page { max-width: 1160px; margin: 0 auto; padding: 2rem 24px 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 #f88018; 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 #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: #f88018; }
.boutique-family:nth-child(3) { border-bottom-color: #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 #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: #f88018; }
.boutique-point:nth-child(3) { border-left-color: #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 #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: 1200px; padding: 2.5rem 24px; margin: 0 auto; }
.home-boutique > p { max-width: 850px; }
.home-boutique .boutique-actions { margin-top: 1.3rem; }
@media (max-width: 900px) {
  .boutique-products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .boutique-family img { height: 210px; }
  .boutique-gallery--shirts img { height: 240px; }
}
@media (max-width: 620px) {
  .boutique-page { padding: 1.5rem 18px 3rem; }
  .boutique-page h1 { font-size: 2rem; }
  .boutique-page h2, .home-boutique > 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; }
  .boutique-gallery img { height: 280px; }
  .boutique-product img { height: 250px; }
  .boutique-measures th, .boutique-measures td { padding: 0.7rem; }
}
