.product-page {
  padding:52px 0 104px
}
.product-page__inner {
  width:min(var(--container-max),calc(100% - var(--page-gutter)*2));
  margin:auto
}
.product-breadcrumbs {
  display:flex;
  gap:9px;
  align-items:center;
  overflow:hidden;
  color:#78827e;
  font-size:12px;
  font-weight:600;
  white-space:nowrap
}
.product-breadcrumbs a {
  color:inherit;
  text-decoration:none
}
.product-breadcrumbs a:hover {
  color:var(--color-brand)
}
.product-breadcrumbs svg {
  width:14px;
  height:14px;
  flex:none;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5
}
.product-breadcrumbs span {
  overflow:hidden;
  text-overflow:ellipsis
}
.product-hero {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(400px,.95fr);
  gap:clamp(42px,6vw,92px);
  margin-top:33px
}
.product-gallery {
  display:grid;
  gap:14px;
  align-self:start
}
.product-gallery__main {
  position:relative;
  min-height:570px;
  overflow:hidden;
  border-radius:20px;
  background:#eee8df
}
.product-gallery__main.is-image-loading::after {
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,#f4f0e9 25%,#fffdf9 43%,#f4f0e9 61%);
  background-size:200% 100%;
  content:"";
  pointer-events:none;
  animation:product-gallery-loading 1.2s ease-in-out infinite;
}
.product-gallery__main.is-image-loading img {
  opacity:0;
}
@keyframes product-gallery-loading {
  to { background-position:-200% 0; }
}
.product-gallery__image-button {
  display:block;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  cursor:zoom-in
}
.product-gallery__main img {
  display:block;
  width:100%;
  height:570px;
  object-fit:contain;
  padding:18px;
  background:#fff
}
.product-gallery__thumbs {
  display:flex;
  gap:12px;
  overflow-x:auto;
  padding:7px 7px 12px;
  scrollbar-color:rgba(20,83,63,.46) rgba(67,52,35,.08);
  scrollbar-width:thin;
  overscroll-behavior-inline:contain;
  touch-action:pan-x
}
.product-gallery__thumbs::-webkit-scrollbar {
  height:7px
}
.product-gallery__thumbs::-webkit-scrollbar-track {
  border-radius:999px;
  background:rgba(67,52,35,.08)
}
.product-gallery__thumbs::-webkit-scrollbar-thumb {
  border-radius:999px;
  background:rgba(20,83,63,.46)
}
.product-gallery__thumbs button {
  width:86px;
  flex:none;
  aspect-ratio:1;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(67,52,35,.1);
  border-radius:12px;
  background:#fff;
  cursor:pointer
}
.product-gallery__thumbs button.is-active {
  border:2px solid var(--color-brand)
}
.product-gallery__thumbs img {
  width:100%;
  height:100%;
  object-fit:contain;
  padding:4px;
  background:#fff
}
.product-badge {
  position:absolute;
  z-index:1;
  top:18px;
  left:18px;
  padding:7px 12px;
  border-radius:999px;
  background:#d78b43;
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em
}
.product-gallery__zoom {
  position:absolute;
  right:16px;
  bottom:16px;
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border:0;
  border-radius:50%;
  background:#fff;
  color:var(--color-text);
  box-shadow:0 5px 16px rgba(23,34,29,.14);
  cursor:pointer
}
.product-gallery__zoom svg,.product-summary__actions svg,.product-order-button svg {
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7
}
.product-summary {
  align-self:start;
  padding-top:3px
}
.product-summary__topline {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px
}
.product-summary__topline>p {
  margin:0;
  color:#7d8782;
  font-size:11px;
  font-weight:700;
  letter-spacing:.05em
}
.product-summary__actions {
  display:flex;
  gap:8px
}
.product-summary__actions button {
  display:grid;
  width:39px;
  height:39px;
  place-items:center;
  border:1px solid rgba(67,52,35,.13);
  border-radius:50%;
  background:rgba(255,253,249,.65);
  color:var(--color-text);
  cursor:pointer
}
.product-summary__actions button:hover,.product-summary__actions button.is-active {
  border-color:var(--color-brand);
  background:var(--color-brand);
  color:#fff
}
.product-summary h1 {
  max-width:540px;
  margin:20px 0 13px;
  font-family:var(--font-display);
  font-size:clamp(42px,4.1vw,64px);
  font-weight:600;
  letter-spacing:-.045em;
  line-height:.95
}
.product-rating {
  display:flex;
  gap:9px;
  align-items:center;
  font-size:13px
}
.product-rating span,.product-reviews__score span,.product-reviews article header>span {
  color:#d78b43;
  letter-spacing:.08em
}
.product-rating strong {
  font-size:12px
}
.product-rating a {
  color:var(--color-text-muted);
  text-underline-offset:3px
}
.product-summary__description {
  max-width:530px;
  margin:24px 0 26px;
  color:#53655e;
  font-size:14px;
  line-height:1.7
}

.prokat-text-red { color:#b43a32; }
.rental-period {
  margin:0;
  padding:20px 0 0;
  border:0;
  border-top:1px solid rgba(67,52,35,.11)
}
.rental-period legend {
  margin-bottom:11px;
  font-size:13px;
  font-weight:800
}
.rental-period__options {
  display:grid;
  gap:8px
}
.rental-period label {
  position:relative;
  cursor:pointer
}
.rental-period input {
  position:absolute;
  opacity:0
}
.rental-period label span {
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  min-height:62px;
  gap:3px 16px;
  padding:10px 14px 10px 42px;
  border:1px solid rgba(67,52,35,.13);
  border-radius:11px;
  background:rgba(255,253,249,.55);
  transition:.2s
}
.rental-period label span::before {
  position:absolute;
  top:50%;
  left:15px;
  width:15px;
  height:15px;
  border:1px solid #80928a;
  border-radius:50%;
  content:"";
  transform:translateY(-50%)
}
.rental-period input:checked+span {
  border-color:var(--color-brand);
  box-shadow:inset 0 0 0 1px var(--color-brand);
  background:#edf3ee
}
.rental-period input:checked+span::before {
  border:5px solid var(--color-brand)
}
.rental-period b {
  font-size:13px
}
.rental-period em {
  color:var(--color-text-muted);
  font-size:11px;
  font-style:normal
}
.rental-period i {
  grid-row:span 2;
  padding:5px 8px;
  border-radius:999px;
  background:#e7f0e8;
  color:#397459;
  font-size:10px;
  font-style:normal;
  font-weight:800;
  white-space:nowrap
}
.product-summary__availability {
  display:flex;
  gap:7px;
  align-items:center;
  margin:18px 0;
  color:#397459;
  font-size:12px;
  font-weight:700
}
.product-summary__availability svg {
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:2
}
.product-order-button {
  display:flex;
  width:100%;
  min-height:54px;
  justify-content:center;
  align-items:center;
  gap:10px;
  border:0;
  border-radius:10px;
  background:var(--color-brand);
  color:#fff;
  cursor:pointer;
  font:800 14px var(--font-sans)
}
.product-delivery {
  display:flex;
  gap:11px;
  margin-top:16px;
  padding:15px 0 0;
  border-top:1px solid rgba(67,52,35,.11)
}
.product-delivery>svg {
  width:24px;
  height:24px;
  flex:none;
  fill:none;
  stroke:#6d8077;
  stroke-width:1.5
}
.product-delivery p {
  display:grid;
  gap:2px;
  margin:0;
  font-size:11px
}
.product-delivery b {
  font-size:12px
}
.product-delivery span {
  color:var(--color-text-muted)
}
.product-details,.product-specifications {
  margin-top:80px;
  padding-top:42px;
  border-top:1px solid rgba(67,52,35,.13)
}
.product-details h2,.product-specifications h2,.product-included h2,.product-reviews h2 {
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(34px,3vw,48px);
  font-weight:600;
  letter-spacing:-.04em;
  line-height:1
}
.product-details {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px
}
.product-details__card,.product-specifications__card {
  padding:22px 25px;
  border:1px solid rgba(67,52,35,.11);
  border-radius:15px;
  background:rgba(255,253,249,.6)
}
.product-details__card h2 {
  margin-bottom:20px;
  font-size:clamp(28px,2.3vw,38px)
}
.product-details__card p,.product-specifications__card>p {
  margin:0;
  color:var(--color-text-muted);
  font-size:12px;
  line-height:1.65
}
.product-specifications__card ul {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none
}
.product-specifications__card li {
  padding:9px 12px;
  border-radius:8px;
  background:#edf3ee;
  color:#285543;
  font-size:12px;
  font-weight:700
}
.product-included {
  display:grid;
  grid-template-columns:.74fr 1.26fr;
  gap:50px;
  margin-top:78px;
  padding:46px 0;
  border-top:1px solid rgba(67,52,35,.13);
  border-bottom:1px solid rgba(67,52,35,.13)
}
.product-section-kicker {
  margin:0 0 11px;
  color:#8b725b;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase
}
.product-included ul {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0 32px;
  margin:0;
  padding:0;
  list-style:none
}
.product-included li {
  display:flex;
  gap:11px;
  align-items:center;
  padding:13px 0;
  border-top:1px solid rgba(67,52,35,.1);
  font-size:13px;
  font-weight:700
}
.product-included li span {
  color:#c29d7a;
  font-family:var(--font-display);
  font-size:20px
}
.product-reviews {
  margin-top:78px
}
.product-reviews__heading,.product-reviews__controls {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px
}
.product-reviews__score {
  display:grid;
  grid-template-columns:auto auto;
  align-items:center;
  column-gap:9px;
  text-align:right
}
.product-reviews__score strong {
  grid-row:span 2;
  font-family:var(--font-display);
  font-size:47px;
  line-height:.8;
  letter-spacing:-.05em
}
.product-reviews__score span {
  font-size:13px
}
.product-reviews__score small {
  color:var(--color-text-muted);
  font-size:10px
}
.product-reviews__viewport {
  margin-top:33px;
  overflow:hidden
}
.product-reviews__list {
  display:grid;
  grid-auto-columns:calc((100% - 18px)/2);
  grid-auto-flow:column;
  gap:18px;
  transition:transform .35s
}
.product-reviews article {
  padding:24px;
  border:1px solid rgba(67,52,35,.1);
  border-radius:15px;
  background:rgba(255,253,249,.65)
}
.product-reviews article header {
  display:flex;
  gap:10px;
  align-items:center
}
.product-reviews article header>span {
  margin-left:auto;
  font-size:11px
}
.review-avatar {
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border-radius:50%;
  background:#dce7dc;
  color:#33634b;
  font-size:10px;
  font-weight:800
}
.product-reviews h3 {
  margin:0;
  font-size:12px
}
.product-reviews header p {
  margin:2px 0 0;
  color:var(--color-text-muted);
  font-size:10px
}
.product-reviews article>p {
  margin:17px 0 0;
  color:#53655e;
  font-size:12px;
  line-height:1.7;
  overflow-wrap:anywhere;
  word-break:break-word
}
.product-reviews__controls {
  align-items:center;
  margin-top:17px;
  color:var(--color-text-muted);
  font-size:11px;
  font-weight:700
}
.product-reviews__controls>div {
  display:flex;
  gap:7px
}
.product-reviews__controls button {
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border:1px solid rgba(67,52,35,.14);
  border-radius:50%;
  background:#fff;
  color:var(--color-text);
  cursor:pointer
}
.product-reviews__controls button:disabled {
  opacity:.35;
  cursor:not-allowed
}
.product-reviews__controls svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8
}
.product-lightbox {
  width:min(920px,calc(100% - 32px));
  max-width:none;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:15px;
  background:transparent
}
.product-lightbox::backdrop {
  background:rgba(12,27,21,.78)
}
.product-lightbox img {
  display:block;
  width:100%;
  max-height:82vh;
  object-fit:contain;
  border-radius:15px;
  background:#fff
}
.product-lightbox button {
  position:absolute;
  z-index:1;
  top:-15px;
  right:-15px;
  display:grid;
  width:35px;
  height:35px;
  place-items:center;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#243b31;
  cursor:pointer;
  font-size:29px
}
.product-notice {
  position:fixed;
  z-index:20;
  right:24px;
  bottom:24px;
  max-width:calc(100% - 48px);
  padding:13px 18px;
  border-radius:10px;
  background:#153e31;
  color:#fff;
  box-shadow:0 8px 28px rgba(15,42,32,.22);
  font-size:13px;
  font-weight:700;
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  transition:.2s
}
.product-notice.is-visible {
  opacity:1;
  transform:translateY(0)
}
.rental-period b {
  grid-column:1
}
.rental-period em {
  grid-column:2
}
.rental-period i {
  grid-column:1/-1;
  justify-self:start;
  padding:4px 8px
}
@media(max-width:1024px) {
  .product-hero {
    grid-template-columns:1fr;
    gap:38px
  }
  .product-gallery__main,.product-gallery__main img {
    min-height:0;
    height:min(62vw,600px)
  }
  .product-summary {
    max-width:720px
  }
  .product-details,.product-specifications,.product-included,.product-reviews {
    margin-top:62px
  }
}
@media(max-width:680px) {
  .product-page {
    padding:28px 0 64px
  }
  .product-breadcrumbs {
    font-size:10px
  }
  .product-breadcrumbs__category,
  .product-breadcrumbs__current,
  .product-breadcrumbs__separator--category,
  .product-breadcrumbs__separator--current {
    display:none
  }
  .product-hero {
    margin-top:26px
  }
  .product-gallery {
    gap:10px
  }
  .product-gallery__thumbs button {
    width:68px
  }
  .product-gallery__main,.product-gallery__main img {
    height:78vw;
    max-height:480px;
    border-radius:14px
  }
  .product-summary h1 {
    margin-top:17px;
    font-size:46px
  }
  .product-summary__description {
    margin:19px 0
  }
  .rental-period label span {
    min-height:58px
  }
  .rental-period i {
    font-size:9px
  }
  .product-details,.product-specifications {
    margin-top:50px;
    padding-top:31px
  }
  .product-details { grid-template-columns:1fr; gap:12px }
  .product-details__card,.product-specifications__card {
    padding:18px
  }
  .product-included {
    grid-template-columns:1fr;
    gap:27px;
    margin-top:48px;
    padding:33px 0
  }
  .product-included ul {
    grid-template-columns:1fr
  }
  .product-reviews {
    margin-top:48px
  }
  .product-reviews__heading {
    align-items:start;
    flex-direction:column
  }
  .product-reviews__score {
    text-align:left
  }
  .product-reviews__viewport {
    margin-top:25px
  }
  .product-reviews__list {
    grid-auto-columns:100%;
    gap:18px
  }
  .product-reviews article {
    padding:19px
  }
  .product-lightbox button {
    top:8px;
    right:8px
  }
  .product-notice {
    right:16px;
    bottom:16px;
    max-width:calc(100% - 32px)
  }
}
@media (prefers-reduced-motion: reduce) {
  .product-gallery__main.is-image-loading::after {
    animation:none;
  }
}

/* Shared overlay rules: the page remains scrollable while a photo is open. */
.rental-period b small { display:block; margin-top:3px; color:#4d826b; font-size:10px; font-weight:800 }
.rental-period label span { grid-template-columns:minmax(0,1fr) auto auto }
.rental-period b { display:grid; grid-column:1; grid-row:1 }
.rental-period em { grid-column:2; grid-row:1; color:var(--color-text); font-weight:800 }
.rental-period i { display:inline-flex; grid-column:3; grid-row:1; align-items:center; justify-content:center; padding:5px 8px; border-radius:999px; background:#e7f0e8; color:#397459; font-size:10px; font-style:normal; font-weight:800; white-space:nowrap }
.rental-period label span,.product-gallery__thumbs button,.product-gallery__zoom,.product-summary__actions button,.product-reviews__controls button { transition:border-color .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease }
.rental-period label:hover span { border-color:rgba(20,83,63,.45); box-shadow:0 4px 13px rgba(20,83,63,.07) }
.product-gallery__thumbs button:hover { border-color:rgba(20,83,63,.5); box-shadow:0 8px 18px rgba(20,83,63,.14); transform:translateY(-2px) }
.product-gallery__zoom:hover { background:var(--color-brand); color:#fff; transform:scale(1.06) }
.product-summary__actions button:hover { transform:translateY(-2px) }
.product-lightbox { position:fixed; z-index:30; inset:0; display:none; width:auto; max-width:none; padding:24px; overflow:visible; border:0; border-radius:0; background:transparent; pointer-events:none }
.product-lightbox.is-open { display:flex; align-items:center; justify-content:center }
.product-lightbox::before { position:absolute; inset:0; background:rgba(12,27,21,.78); content:"" }
.product-lightbox__content { position:relative; z-index:1; width:min(920px,100%); pointer-events:auto }
.product-lightbox img { width:100%; max-height:calc(100vh - 48px); border-radius:15px }
.product-lightbox .ui-modal-close { position:absolute; z-index:2; top:16px; right:16px }
.product-reviews__controls { justify-content:center; gap:18px }
.product-reviews__controls>div { gap:10px }
.product-reviews__controls button { width:43px; height:43px; border-color:rgba(20,83,63,.22); background:#f9f5ee }
.product-reviews__controls button:not(:disabled):hover { border-color:var(--color-brand); background:var(--color-brand); color:#fff; box-shadow:0 7px 18px rgba(20,83,63,.18); transform:translateY(-2px) }
.product-lightbox { position:fixed!important; z-index:9999!important }
.product-lightbox__nav { position:absolute; z-index:2; top:50%; display:grid; width:46px; height:46px; place-items:center; border:1px solid rgba(21,62,49,.14); border-radius:50%; background:rgba(255,255,255,.94); color:var(--color-text); box-shadow:0 5px 17px rgba(20,40,32,.16); cursor:pointer; transform:translateY(-50%); transition:background .22s ease,color .22s ease,box-shadow .22s ease }
.product-lightbox__nav--previous { left:16px }.product-lightbox__nav--next { right:16px }.product-lightbox__nav:hover { background:var(--color-brand); color:#fff; box-shadow:0 8px 21px rgba(20,83,63,.26) }.product-lightbox__nav svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.9 }.product-lightbox__counter { position:absolute; right:16px; bottom:16px; margin:0; padding:6px 10px; border-radius:999px; background:rgba(14,41,31,.72); color:#fff; font-size:11px; font-weight:800 }
@media(max-width:680px) { .product-lightbox { padding:14px }.product-lightbox img { max-height:calc(100vh - 28px) }.product-lightbox__nav { width:38px; height:38px }.product-lightbox__nav--previous { left:8px }.product-lightbox__nav--next { right:8px }.product-lightbox .ui-modal-close { top:9px; right:9px } }

/* Product information follows the calm, card-based composition of the catalogue. */
.product-section-heading { display:grid; grid-template-columns:1fr auto 1fr; gap:34px; align-items:center; margin-bottom:27px }
.product-section-heading span { height:1px; background:rgba(67,52,35,.13) }
.product-section-heading h2 { margin:0; font-family:var(--font-display); font-size:clamp(30px,2.7vw,43px); font-weight:600; letter-spacing:-.045em; line-height:1 }
.product-details { display:block; margin-top:80px; padding-top:0; border:0 }
.product-details__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px }
.product-details__card { min-height:238px; padding:25px; border:1px solid rgba(67,52,35,.12); border-radius:16px; background:rgba(255,253,249,.55) }
.product-details__card h3,.product-description-card h3 { margin:0 0 17px; font-family:var(--font-display); font-size:23px; font-weight:600; letter-spacing:-.03em }
.product-details__card p { color:var(--color-text); font-size:12px; line-height:1.65 }
.product-details__card--specifications p { margin:0; padding:0; border:0; color:var(--color-text); font-size:12px; line-height:1.7 }
.product-details__card--specifications p+p { margin-top:12px }
.product-details__card--included li,.product-details__card--included p { position:relative; padding-left:25px; color:var(--color-text) }
.product-details__card--included li::before,.product-details__card--included p::before { position:absolute; left:0; color:var(--color-brand); content:'✓'; font-weight:900 }
.product-details__card--care { display:grid; align-content:center; gap:21px }
.product-details__card--care>div { display:flex; align-items:center; gap:14px }
.product-details__card--care p { margin:0; color:var(--color-text); font-size:12px; line-height:1.5 }
.product-care__icon { display:grid; width:42px; height:42px; flex:none; place-items:center; border-radius:50%; background:#f1f3ee; color:var(--color-brand) }.product-care__icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.product-description-card { display:grid; grid-template-columns:minmax(0,1fr) 285px; gap:35px; align-items:center; margin-top:17px; padding:25px; overflow:hidden; border:1px solid rgba(67,52,35,.12); border-radius:16px; background:rgba(255,253,249,.55) }
.product-description-card h3 { margin-bottom:15px }
.product-description-card p { margin:0; color:var(--color-text-muted); font-size:13px; line-height:1.72 }
.product-description-card p+p { margin-top:9px }
.product-description-card img { width:100%; height:166px; border-radius:12px; background:#fff; object-fit:contain }
.product-related { margin-top:68px }
.product-related__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px }
.product-related__card { display:grid; grid-template-columns:92px minmax(0,1fr); gap:12px; align-items:center; min-height:139px; padding:14px; border:1px solid rgba(67,52,35,.12); border-radius:15px; background:rgba(255,253,249,.52); color:var(--color-text); text-decoration:none; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease }
.product-related__card:hover { border-color:rgba(20,83,63,.42); box-shadow:0 9px 22px rgba(20,83,63,.08); transform:translateY(-3px) }
.product-related__card>img { width:92px; height:110px; object-fit:contain; mix-blend-mode:multiply }
.product-related__card>span { display:grid; gap:7px; align-content:center }
.product-related__card b { font-size:13px; line-height:1.3 }
.product-related__card small { font-size:10px; font-weight:700; line-height:1.35 }
.product-related__card em { color:var(--color-text-muted); font-size:10px; font-style:normal }
@media(max-width:1024px) { .product-details__grid { grid-template-columns:repeat(2,minmax(0,1fr)) }.product-details__card--care { grid-column:span 2; grid-template-columns:repeat(3,minmax(0,1fr)); min-height:0 }.product-related__grid { grid-template-columns:repeat(2,minmax(0,1fr)) } }
@media(max-width:680px) { .product-details { margin-top:52px }.product-section-heading { gap:16px; margin-bottom:20px }.product-details__grid,.product-related__grid { grid-template-columns:1fr; gap:12px }.product-details__card { min-height:0; padding:20px }.product-details__card--care { grid-column:auto; grid-template-columns:1fr }.product-description-card { grid-template-columns:1fr; gap:19px; padding:20px }.product-description-card img { height:190px }.product-related { margin-top:50px }.product-related__card { grid-template-columns:90px 1fr } }
.product-review-form{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:28px;margin-top:34px;padding:26px;border:1px solid rgba(67,52,35,.12);border-radius:16px;background:rgba(255,253,249,.62)}.product-review-form h2{margin:0;font-family:var(--font-display);font-size:clamp(30px,2.7vw,42px);font-weight:600;letter-spacing:-.04em}.product-review-form>div>p:last-child{margin:11px 0 0;color:var(--color-text-muted);font-size:12px;line-height:1.6}.product-review-form form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.product-review-form label{display:grid;gap:6px;color:var(--color-text-muted);font-size:11px;font-weight:800}.product-review-form input,.product-review-form select,.product-review-form textarea{width:100%;min-height:43px;padding:10px 12px;border:1px solid rgba(67,52,35,.15);border-radius:9px;background:#fffdf9;color:var(--color-text);font:500 13px var(--font-sans)}.product-review-form textarea{min-height:98px;resize:vertical}.product-review-form__text{grid-column:1/-1}.product-review-form button{justify-self:start;display:inline-flex;align-items:center;gap:17px;min-height:44px;padding:0 16px;border:0;border-radius:9px;background:var(--color-brand);color:#fff;font:800 12px var(--font-sans);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.product-review-form button:hover{box-shadow:0 7px 18px rgba(20,83,63,.18);transform:translateY(-2px)}.product-review-form__honeypot{position:absolute!important;left:-9999px}.product-review-form__message{grid-column:1/-1;margin:0;padding:10px 12px;border-radius:9px;background:#f8ece8;color:#8a5547;font-size:12px}.product-review-form__message.is-success{background:#e8f2e9;color:#276044}@media(max-width:680px){.product-review-form{grid-template-columns:1fr;padding:20px}.product-review-form form{grid-template-columns:1fr}.product-review-form__text{grid-column:auto}}
.product-review-form{border:1px solid rgba(20,83,63,.22)}.product-review-form textarea{height:86px;min-height:86px;resize:none}.product-review-select{position:relative;display:grid;gap:6px;color:var(--color-text-muted);font-size:11px;font-weight:800}.product-review-select__trigger{width:100%;justify-content:space-between!important;padding:0 12px!important;border:1px solid rgba(67,52,35,.15)!important;background:#fffdf9!important;color:var(--color-text)!important;font-weight:600!important}.product-review-select__trigger:after{width:7px;height:7px;margin-left:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;content:"";transform:rotate(45deg) translateY(-2px)}.product-review-select__menu{position:absolute;z-index:3;top:calc(100% + 6px);right:0;left:0;display:grid;gap:2px;padding:5px;border:1px solid rgba(67,52,35,.12);border-radius:10px;background:#fffdf9;box-shadow:0 14px 30px rgba(39,49,41,.14);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease}.product-review-select.is-open .product-review-select__menu{opacity:1;pointer-events:auto;transform:none}.product-review-select__menu button{display:block;min-height:0;width:100%;padding:9px 10px;border:0!important;border-radius:7px!important;background:transparent!important;color:var(--color-text)!important;font:700 11px var(--font-sans)!important;text-align:left}.product-review-select__menu button:hover,.product-review-select__menu button[aria-selected="true"]{background:#edf3ee!important;color:var(--color-brand)!important;box-shadow:none!important;transform:none!important}
.product-review-form textarea{height:160px!important;min-height:140px!important;max-height:300px!important;resize:vertical!important;overflow-y:auto}
.product-review-select__trigger{padding-right:18px!important}
.product-review-select__trigger:after{flex:0 0 auto;margin-right:2px;transform-origin:center;transition:transform .18s ease}
.product-review-select.is-open .product-review-select__trigger:after{transform:rotate(225deg) translate(-1px,-1px)}
.product-review-select{grid-template-rows:16.5px 43px}
.product-review-select>span{height:16.5px;min-height:0;line-height:16.5px}
.product-review-select__trigger{box-sizing:border-box;align-self:stretch;height:43px;min-height:43px!important;justify-self:stretch!important}
.product-notice{z-index:1000;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.16);border-radius:14px}
.product-summary__actions [data-add-cart].is-active svg{stroke-width:2.2}
@media(max-width:680px){.product-notice{right:16px;bottom:max(18px,calc(env(safe-area-inset-bottom) + 10px));left:16px;max-width:none;text-align:center}.product-review-form textarea{height:170px!important;min-height:150px!important}}
.product-order-button svg{stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transition:transform .18s ease}
.product-order-button:hover svg{transform:translateX(3px)}
.product-order-button{justify-content:space-between;padding:0 23px 0 26px;gap:18px}
.product-order-button svg{width:32px;height:24px;flex:0 0 32px;stroke-width:2.15}

/* A long specification column is balanced by two compact supporting cards. */
.product-details__grid--long-specifications {
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  align-items: start;
}
.product-details__grid--long-specifications .product-details__card {
  min-height: 0;
}
.product-details__grid--long-specifications .product-details__card--specifications {
  grid-row: 1 / span 2;
}
.product-details__grid--long-specifications .product-details__card--care {
  align-self: stretch;
}
.product-description-card--compact {
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 28px;
  padding-block: 20px;
}
.product-description-card--compact img {
  height: 132px;
}

/* Review text follows the checkout textarea pattern and exposes its limit. */
.product-review-form__text {
  position: relative;
}
.product-review-form__text textarea {
  display: block;
  height: 116px !important;
  min-height: 104px !important;
  max-height: 240px !important;
  padding: 13px 14px 30px;
  outline: 0;
  resize: vertical !important;
}
.product-review-form__text textarea:focus {
  border-color: var(--color-brand);
  box-shadow: 0 0 0 3px rgba(20,83,63,.08);
}
.product-review-form__counter {
  position: absolute;
  right: 13px;
  bottom: 10px;
  color: #9da5a1;
  font-size: 10px;
  font-weight: 500;
  pointer-events: none;
}

/* The gallery owns the complete viewport while open: the header cannot leak
   above it, background scrolling is locked, and every control has one place. */
html.product-lightbox-open,
body.product-lightbox-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}
body.product-lightbox-open .site-header-anchor,
body.product-lightbox-open .site-header {
  z-index: 0 !important;
}
.product-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
  display: none;
  width: auto;
  max-width: none;
  padding: 24px;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: rgba(12,27,21,.82);
  pointer-events: auto;
}
.product-lightbox::before {
  display: none;
}
.product-lightbox.is-open {
  display: flex;
  align-items: center;
  justify-content: center;
}
.product-lightbox__content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(1400px, 100%);
  height: 100%;
  pointer-events: auto;
}
.product-lightbox img {
  display: block;
  width: auto;
  max-width: calc(100% - 136px);
  height: auto;
  max-height: calc(100dvh - 48px);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 18px 70px rgba(0,0,0,.26);
  object-fit: contain;
}
.product-lightbox .ui-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  left: auto;
  z-index: 4;
  width: 42px;
  height: 42px;
}
.product-lightbox .product-lightbox__nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid rgba(21,62,49,.14);
  border-radius: 50%;
  background: #fff;
  color: var(--color-text);
  box-shadow: 0 5px 17px rgba(20,40,32,.2);
  font-size: 23px;
  line-height: 1;
  transform: translateY(-50%);
}
.product-lightbox .product-lightbox__nav--previous {
  right: auto;
  left: 12px;
}
.product-lightbox .product-lightbox__nav--next {
  right: 12px;
  left: auto;
}
.product-lightbox .product-lightbox__nav[hidden] {
  display: none;
}
.product-lightbox__counter {
  position: absolute;
  right: 50%;
  bottom: 10px;
  z-index: 3;
  transform: translateX(50%);
}

@media (max-width: 1024px) {
  .product-details__grid--long-specifications {
    grid-template-columns: 1fr;
  }
  .product-details__grid--long-specifications .product-details__card--specifications {
    grid-row: auto;
  }
  .product-details__grid--long-specifications .product-details__card--care {
    grid-column: auto;
    grid-template-columns: 1fr;
  }
}
@media (max-width: 680px) {
  .product-description-card--compact {
    grid-template-columns: 1fr;
  }
  .product-description-card--compact img {
    height: 180px;
  }
  .product-lightbox {
    padding: 12px;
  }
  .product-lightbox img {
    max-width: 100%;
    max-height: calc(100dvh - 24px);
    border-radius: 11px;
  }
  .product-lightbox .ui-modal-close {
    top: 8px;
    right: 8px;
    width: 38px;
    height: 38px;
  }
  .product-lightbox .product-lightbox__nav {
    width: 40px;
    height: 40px;
  }
  .product-lightbox .product-lightbox__nav--previous {
    left: 8px;
  }
  .product-lightbox .product-lightbox__nav--next {
    right: 8px;
  }
}
.wp-site-blocks > .product-notice {
  /* Override the background layout's relative positioning for direct children. */
  position: fixed;
  width: auto;
}

/* Keep the complete favorite control responsive to taps, including its icon. */
.product-summary__actions button {
  position: relative;
  z-index: 2;
  touch-action: manipulation;
}
.product-summary__actions button svg {
  pointer-events: none;
}
@media (max-width: 680px) {
  .product-summary__actions button {
    width: 44px;
    height: 44px;
  }
}
