/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/app/packs/[handle]/page.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
.page_page__2nLYL {
  background: var(--smb-cream);
  min-height: calc(100svh - 300px);
  padding: 40px var(--smb-gutter-mobile) 90px;
}
@media (min-width: 768px) {
  .page_page__2nLYL {
    padding: 70px var(--smb-gutter-desktop) 120px;
  }
}
.page_inner__M7GVw {
  max-width: 1120px;
  margin: 0 auto;
}
.page_back__K84gd {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-family: var(--smb-font-mono);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--smb-text-muted-card);
  text-decoration: none;
  margin-bottom: 18px;
}
.page_layout__Q1RP1 {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (min-width: 900px) {
  .page_layout__Q1RP1 {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    align-items: start;
    grid-gap: 56px;
    gap: 56px;
  }
}
.page_galleryCol__vLBk_ {
  min-width: 0;
}
.page_details__g9myG {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}
.page_badge__DEwXD {
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--smb-pink);
  color: var(--smb-ink);
  font-family: var(--smb-font-display);
  font-size: 12px;
  text-transform: uppercase;
}
.page_h1___Uale {
  margin: 0;
  font-family: var(--smb-font-display);
  font-size: clamp(32px, 5vw + 6px, 54px);
  line-height: 0.95;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: var(--smb-ink);
}
.page_spec__u_yns {
  font-family: var(--smb-font-mono);
  font-size: 13px;
  color: var(--smb-text-muted-card);
}
.page_copy__AaqgT {
  margin: 0;
  font-size: 17px;
  line-height: 1.5;
  color: var(--smb-text-body-card);
}
.page_price__sROln {
  font-family: var(--smb-font-display);
  font-size: 32px;
  letter-spacing: -0.03em;
  color: var(--smb-ink);
}
.page_price__sROln.page_placeholder__i8EMB {
  border-bottom: 2px dashed var(--smb-placeholder-border);
}
.page_included__32cpz {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  border-radius: var(--smb-radius-md);
  background: var(--smb-white);
}
.page_includedHeading__uq_Jh {
  font-family: var(--smb-font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--smb-text-muted-card);
}
.page_included__32cpz ul {
  margin: 0;
  padding: 0 0 0 18px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--smb-text-body-card);
}
.page_notes__xbmLx {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.page_notes__xbmLx p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--smb-text-body-card);
}
.page_notes__xbmLx a {
  color: var(--smb-ink);
  font-weight: 700;
}

/*!************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/components/Button.module.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************/
.Button_button__aJ0V6 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--smb-min-touch-target, 44px);
  padding: 0 24px;
  border-radius: var(--smb-radius-md);
  border: 0;
  font-family: var(--smb-font-display);
  font-size: 15px;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: transform 120ms ease;
}
.Button_button__aJ0V6:hover {
  transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
  .Button_button__aJ0V6:hover {
    transform: none;
  }
}

.Button_solid-lime__RIX0d    { background: var(--smb-lime);     color: var(--smb-ink); }
.Button_solid-tangerine__Z_Q_c { background: var(--smb-tangerine); color: var(--smb-ink); }
.Button_solid-ink__eyXy5     { background: var(--smb-ink);      color: var(--smb-white); }

.Button_outline-ink__iESEU {
  background: transparent;
  border: 2px solid var(--smb-ink);
  color: var(--smb-ink);
  font-family: var(--smb-font-body);
  font-weight: 700;
  text-transform: none;
  font-size: 17px;
}
.Button_outline-white__mbDvD {
  background: transparent;
  border: 2px solid var(--smb-white);
  color: var(--smb-white);
  font-family: var(--smb-font-body);
  font-weight: 700;
  text-transform: none;
  font-size: 15px;
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/components/AddToBasketButton.module.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************/
.AddToBasketButton_sizeSelect__48eHs {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 13px;
  font-weight: 700;
  color: var(--smb-ink);
  max-width: 220px;
}
.AddToBasketButton_sizeSelect__48eHs select {
  height: 44px;
  border-radius: var(--smb-radius-md);
  border: 2px solid var(--smb-placeholder-border);
  padding: 0 12px;
  font-family: var(--smb-font-body);
  font-size: 15px;
  font-weight: 400;
  color: var(--smb-ink);
}
.AddToBasketButton_error__mqsMf {
  margin: 8px 0 0;
  font-size: 13px;
  font-weight: 700;
  color: #b3261e;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/components/PackGallery.module.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************/
.PackGallery_gallery__gLfjE {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}
.PackGallery_main__7dCTi {
  margin: 0;
}
/* Fixed 4:3 stage so switching photos never shifts the layout; each photo
   sits inside it at its own shape (never cropped) with its own rounded
   corners. Sized with padding-top rather than aspect-ratio — WebKit let
   the tall studio shot stretch an aspect-ratio frame to 354x443. The
   absolutely positioned .stage has a definite size, so the image's
   max-width/max-height percentages resolve the same in every engine. */
.PackGallery_frame___dlI4 {
  position: relative;
  height: 0;
  padding-top: 75%;
}
.PackGallery_stage__ZPxnF {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.PackGallery_stage__ZPxnF picture {
  display: contents;
}
.PackGallery_image__p_BuU {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  border-radius: var(--smb-radius-xl);
  box-shadow: 0 10px 30px rgba(22, 20, 15, 0.12);
}
.PackGallery_arrow__sTgFR {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: rgba(22, 20, 15, 0.72);
  color: var(--smb-white);
  font-size: 18px;
  cursor: pointer;
}
.PackGallery_prev__0HnUX {
  left: 10px;
}
.PackGallery_next__5lgwn {
  right: 10px;
}
.PackGallery_caption__4lbeu {
  margin-top: 8px;
  font-family: var(--smb-font-mono);
  font-size: 12px;
  color: var(--smb-text-muted-card);
}
.PackGallery_thumbs__ut_3Q {
  display: flex;
  gap: 10px;
  overflow-x: auto;
}
.PackGallery_thumb__PGtvl {
  flex: 0 0 auto;
  width: 88px;
  padding: 0;
  border: 3px solid transparent;
  border-radius: var(--smb-radius-md);
  background: var(--smb-white);
  overflow: hidden;
  cursor: pointer;
}
.PackGallery_thumb__PGtvl img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.PackGallery_thumbActive__Da3V0 {
  border-color: var(--smb-ink);
}
@media (min-width: 768px) {
  .PackGallery_thumb__PGtvl {
    width: 104px;
  }
}

