/* SGI V4 · fresh URL to defeat legacy CSS caches · 2026-11-06
   Only site-owned surfaces. Apple Liquid Glass is emulated in CSS, not native. */

/* Boutique must read as the primary header action in all languages. */
.site-header .header-shop-link {
  font-weight: 800;
}

/* The full image tile is a rounded glass surface, not just its dark caption. */
.menu-dialog .menu-worlds a {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 19px;
  clip-path: inset(0 round 19px);
  border: 1px solid rgba(255,255,255,.32);
  background: rgba(244,244,244,.09);
  box-shadow: 0 13px 32px rgba(0,0,0,.23), inset 0 1px 0 rgba(255,255,255,.4);
  -webkit-backdrop-filter: blur(14px) saturate(135%);
  backdrop-filter: blur(14px) saturate(135%);
}
.menu-dialog .menu-worlds a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(155deg,rgba(255,255,255,.16),transparent 43%,rgba(0,0,0,.24));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), inset 0 -1px 0 rgba(255,255,255,.09);
  -webkit-backdrop-filter: blur(1px) saturate(118%);
  backdrop-filter: blur(1px) saturate(118%);
}
.menu-dialog .menu-worlds img {
  z-index: 0;
  border-radius: inherit;
}
.menu-dialog .menu-worlds span {
  z-index: 2;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 15px;
  color: #fff;
  background: rgba(15,15,15,.47);
  box-shadow: 0 12px 27px rgba(0,0,0,.18), inset 0 1px rgba(255,255,255,.18);
  -webkit-backdrop-filter: blur(24px) saturate(150%);
  backdrop-filter: blur(24px) saturate(150%);
}

/* Declare an unambiguous mobile width, independent of earlier layout rules. */
html:has(.shop-main), body:has(.shop-main) {
  max-width: 100%;
  overflow-x: clip;
}
body:has(.shop-main) { width: 100%; min-width: 0; }
.shop-main {
  display: block;
  width: 100%;
  max-width: 100vw;
  min-width: 0;
  margin: 0;
  overflow-x: clip;
}
.shop-main > section,
.shop-main > .shop-hero {
  width: 100%;
  max-width: 100vw;
  min-width: 0;
  box-sizing: border-box;
}
.shop-main .wrap {
  box-sizing: border-box;
  width: min(1260px, calc(100vw - 48px));
  max-width: calc(100vw - 32px);
  min-width: 0;
  margin-inline: auto;
}
.shop-hero { padding-block: clamp(65px,7vw,108px); }
.shop-hero h1 {
  max-width: 100%;
  font-size: clamp(54px,8.4vw,126px);
  line-height: .98;
  letter-spacing: -.057em;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.shop-hero h1 span { display: block; }
.shop-hero .shop-lead,.shop-hero .shop-note { max-width: 100%; }
.shop-products { min-width: 0; }
.shop-card {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  border-radius: 19px;
  border: 1px solid rgba(255,255,255,.8);
  background: rgba(250,250,249,.88);
  box-shadow: 0 20px 60px rgba(5,5,5,.11), inset 0 1px rgba(255,255,255,.78);
  -webkit-backdrop-filter: blur(20px) saturate(145%);
  backdrop-filter: blur(20px) saturate(145%);
}

/* Essential and Pro get the same deep graphite photographic presentation. */
.shop-card .shop-visual,
.shop-card:nth-child(1) .shop-visual,
.shop-card:nth-child(2) .shop-visual {
  display: block;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: clamp(255px,28vw,420px);
  min-height: 0;
  padding: 0;
  margin: 0;
  overflow: hidden;
  background: #242424;
  color: #fff;
}
.shop-card .shop-product-photo {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-width: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  padding: 0;
  margin: 0;
  filter: none;
}
.shop-card .shop-visual::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg,transparent 54%,rgba(0,0,0,.65));
}
.shop-card .shop-disclaimer {
  z-index: 2;
  bottom: 20px;
  left: 20px;
  right: 12px;
  color: #fff;
  font-size: 10px;
  line-height: 1.3;
}
.shop-card .shop-card-content { min-width: 0; background: rgba(255,255,255,.91); }
.shop-card .shop-card-content h3 { overflow-wrap: anywhere; }
.shop-card .shop-card-content p { max-width: 100%; }
.shop-cart-layout,.shop-cart-sheet,.shop-order-form,.shop-form-double { min-width: 0; }
.shop-cart-table-wrap { max-width: 100%; overflow-x: auto; }
.shop-order-form input,.shop-order-form textarea { max-width: 100%; }
.shop-steps li,.shop-faq details,.shop-cart-sheet,.shop-order-form { border-radius: 16px; }

@media(max-width:980px) {
  .shop-products { grid-template-columns: minmax(0,1fr); }
  .shop-cart-layout { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:680px) {
  .shop-main .wrap { width: calc(100vw - 36px); max-width: calc(100vw - 36px); }
  .shop-main { padding-top: 72px; }
  .shop-hero { padding-block: 56px 60px; }
  .shop-hero h1 { font-size: clamp(37px,9.1vw,54px); line-height: 1.04; letter-spacing: -.051em; }
  .shop-kicker { font-size: 9px; letter-spacing: .13em; }
  .shop-hero .shop-lead { font-size: 15px; margin-top: 25px; }
  .shop-hero .shop-note { font-size: 11px; }
  .shop-section { padding-block: 55px 65px; }
  .shop-section h2 { font-size: clamp(31px,8.3vw,45px); line-height: 1.09; overflow-wrap: anywhere; }
  .shop-products { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .shop-card .shop-visual,.shop-card:nth-child(1) .shop-visual,.shop-card:nth-child(2) .shop-visual { height: clamp(215px,70vw,350px); }
  .shop-card-content { padding: 26px 21px 31px; }
  .shop-card-content h3 { font-size: 28px; }
  .shop-price strong { font-size: 38px; }
  .shop-order-form .shop-form-double { grid-template-columns: minmax(0,1fr); }
  .shop-cart-sheet,.shop-order-form { padding: 19px 16px; }
  .shop-header .header-inner { height: 72px; }
  .shop-header .brand img { width: 71px; }
  .shop-header .header-tools { gap: 5px; }
  .shop-header .header-shop-link { min-height: 37px; padding: 7px 9px; font-size: 10px; }
  .shop-header .lang-picker summary { min-width: 32px; font-size: 10px; }
  .shop-header .shop-mobile-menu summary { min-height: 37px; padding: 7px 9px; font-size: 10px; }
  .menu-dialog .menu-worlds a { border-radius: 17px; clip-path: inset(0 round 17px); }
  .menu-dialog .menu-worlds span { border-radius: 13px; }
}
@media(max-width:420px) {
  .shop-main .wrap { width: calc(100vw - 30px); max-width: calc(100vw - 30px); }
  .shop-hero h1 { font-size: clamp(34px,9.2vw,40px); }
  .shop-hero .shop-lead { font-size: 14px; }
  .shop-card .shop-visual,.shop-card:nth-child(1) .shop-visual,.shop-card:nth-child(2) .shop-visual { height: clamp(210px,72vw,298px); }
  .shop-header .brand img { width: 65px; }
  .shop-header .header-tools { gap: 4px; }
  .shop-header .header-shop-link { padding-inline: 8px; }
}
@media(prefers-reduced-motion:reduce) {
  .shop-card .shop-product-photo { transition: none; }
  .shop-card:hover .shop-product-photo { transform: none; }
}
@media(forced-colors:active) {
  .menu-dialog .menu-worlds a,.menu-dialog .menu-worlds span,.shop-card { border-color: CanvasText; }
  .menu-dialog .menu-worlds a::after { display: none; }
}
