/* Composition only. Circe, palette, controls and cards come from site/styles.css. */
.catalog-pages{background:var(--ivory);color:var(--ink);color-scheme:light}
.catalog-pages main{padding-top:80px}
.catalog-pages h1{text-shadow:none}
.catalog-pages .navbar{color:var(--ink)}
.catalog-pages .product-catalog{border-radius:0;background:var(--ivory);padding-top:40px}
.catalog-pages .site-footer{color:#fff}
.catalog-pages .catalog-menu h2{text-shadow:none}

/* The transparent photograph shares the page's ivory surface. */
.catalog-hero{height:calc(100svh - 80px);min-height:620px;max-height:900px;position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--line)}
.catalog-hero-copy{position:relative;z-index:2;padding:50px var(--gutter) 0;width:47%;pointer-events:none}
.catalog-hero-copy h1{font-size:clamp(48px,4.6vw,72px);line-height:1.05;white-space:nowrap}
.catalog-hero-copy>p{font-size:18px;line-height:1.5;margin-top:24px;max-width:370px}
.catalog-hero-image{position:absolute;z-index:0;right:-1%;bottom:0;width:76%;height:100%;object-fit:contain;object-position:right bottom}
.catalog-offer{margin-top:36px;pointer-events:auto;width:max-content;max-width:100%}
.catalog-offer>div{display:flex;align-items:baseline;gap:14px}
.catalog-offer strong{font-size:36px;font-weight:400;letter-spacing:-.02em;line-height:1;color:var(--accent)}
.catalog-offer p{font-size:16px;line-height:1.3}
.catalog-offer .button{margin-top:18px;min-width:150px}
.catalog-hero-link{position:absolute;z-index:2;bottom:32px;left:var(--gutter);display:flex;gap:28px;align-items:center;font-size:16px;padding-bottom:8px;border-bottom:1px solid var(--ink)}
.catalog-hero-link .icon{width:18px}
.catalog-hero-link:hover{color:var(--accent)}

/* Product v3: a quiet white information column and edge-to-edge photography. */
.product-stage{display:grid;grid-template-columns:minmax(360px,36%) minmax(0,1fr);min-height:620px;height:calc(100svh - 80px);background:#fff}
.product-summary{min-width:0;width:100%;max-width:520px;margin:auto;padding:24px 40px;display:flex;flex-direction:column;gap:14px}
.product-back{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted);width:max-content;margin-bottom:4px}
.product-back .icon{width:15px;height:15px;transform:rotate(180deg)}
.product-summary h1{font-size:28px;line-height:1.13;font-weight:400;letter-spacing:-.02em;text-wrap:balance;text-align:center}
.product-small-photo{display:flex;align-items:center;justify-content:center;width:100%;height:clamp(150px,24svh,250px);background:var(--ivory);overflow:hidden;border-radius:14px}
.product-small-photo img{display:block;height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply}
.product-price-line{display:flex;align-items:center;justify-content:space-between;gap:12px}
.detail-price{font-size:24px;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}
.product-price-line>a{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.product-price-line .icon{width:12px;height:12px;transform:rotate(90deg)}
.product-key-facts{display:flex;justify-content:space-between;gap:16px;margin:0;font-size:14px}
.product-key-facts>div{display:flex;gap:8px}
.product-key-facts dt,.product-size-line>span:first-child{color:var(--muted)}
.product-key-facts dd{margin:0}
.product-size-line{display:flex;align-items:center;justify-content:space-between;font-size:14px;gap:16px;padding-top:12px;border-top:1px solid var(--line)}
.product-material{font-size:13px;line-height:1.45;color:var(--muted)}
.detail-actions{display:flex;gap:10px;align-items:center;margin-top:2px}
.detail-actions .button{padding:11px 15px;gap:8px;font-size:14px;white-space:nowrap;min-height:44px}
.detail-actions .detail-add{flex:1;background:var(--ink);color:#fff;border:0}
.detail-actions .catalog-all{padding:10px 16px}
.product-availability{font-size:12px;line-height:1.4;color:var(--muted)}
.product-editorial{position:relative;min-width:0;height:100%;margin:0;overflow:hidden}
.product-editorial>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 8%}
.editorial-photo-link{position:absolute;right:24px;bottom:24px;display:flex;align-items:center;gap:12px;padding:10px 15px;background:var(--ivory);color:var(--ink);border-radius:999px;font-size:12px}
.editorial-photo-link .icon{width:14px;height:14px;transform:rotate(-45deg)}
.product-details{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:64px var(--gutter);scroll-margin-top:80px}
.product-details h2,.product-page .product-catalog>.related-title{font-size:28px;line-height:1.2;text-shadow:none;letter-spacing:-.02em}
.product-details-intro>p{font-size:16px;margin:16px 0 24px;max-width:320px;line-height:1.5;color:var(--muted)}
.detail-description details{border-top:1px solid var(--line);padding:16px 0}
.detail-description details:last-child{border-bottom:1px solid var(--line)}
.detail-description summary{display:flex;align-items:center;justify-content:space-between;font-size:16px;min-height:24px}
.detail-description summary .icon{width:16px;height:16px;transform:rotate(90deg)}
.detail-description details[open] summary .icon{transform:rotate(-90deg)}
.detail-description p{font-size:16px;line-height:1.65;padding-top:18px;max-width:65ch}
.detail-description dl{margin:18px 0 0}
.detail-description dl>div{display:grid;grid-template-columns:1fr 2fr;gap:24px;padding:10px 0;font-size:16px;line-height:1.5}
.detail-description dt{color:var(--muted)}
.detail-description dd{margin:0}
.product-page .product-catalog>.related-title{margin-bottom:24px}
@media(min-width:1101px) and (max-width:1350px){.catalog-hero-copy>p{max-width:300px}}
@media(min-width:1101px) and (max-height:800px){.product-summary{padding:18px 32px;gap:11px}.product-summary h1{font-size:24px}.product-small-photo{height:160px}.product-stage{min-height:580px}}
@media(max-width:1100px){.catalog-hero-copy{width:52%;padding-top:40px}.catalog-hero-copy>p{font-size:16px;max-width:310px}.catalog-hero-image{width:78%;right:-8%}.catalog-offer>div{gap:10px}.catalog-offer p{font-size:14px}.catalog-offer strong{font-size:32px}.product-stage{grid-template-columns:minmax(340px,42%) minmax(0,1fr)}.product-summary{padding:24px;gap:12px}.product-summary h1{font-size:24px}.detail-actions .button{font-size:13px;padding:10px 12px}.detail-actions .icon{width:15px;height:15px}.product-editorial>img{object-position:50% 3%}}
@media(max-width:768px){.catalog-hero{height:auto;min-height:760px;max-height:none}.catalog-hero-copy{width:100%;padding-top:32px}.catalog-hero-copy h1{font-size:48px}.catalog-hero-copy>p{margin-top:16px;font-size:16px}.catalog-offer{margin-top:24px}.catalog-offer>div{gap:14px}.catalog-hero-image{width:100%;height:390px;right:0;bottom:45px;object-position:center}.catalog-hero-link{bottom:24px;font-size:14px}.catalog-offer .button{margin-top:12px}.product-stage{height:auto;min-height:0;grid-template-columns:1fr}.product-summary{max-width:540px;padding:24px var(--gutter);gap:14px}.product-summary h1{font-size:28px}.product-small-photo{height:240px}.product-editorial{height:75svh;min-height:450px}.product-editorial>img{object-position:50% 6%}.product-details{grid-template-columns:1fr;gap:28px;padding:40px var(--gutter)}.product-details h2,.product-page .product-catalog>.related-title{font-size:24px}.product-details-intro>p{margin-top:12px;margin-bottom:16px}}
@media(max-width:600px){.catalog-pages main{padding-top:70px}.catalog-hero-copy h1{font-size:44px}.catalog-hero{min-height:700px}.catalog-hero-image{bottom:60px;height:320px}.catalog-pages .product-catalog{padding-top:28px}.product-summary h1{font-size:24px}.product-small-photo{height:220px}.detail-actions .button{font-size:14px}.product-key-facts{font-size:13px}.detail-description dl>div{grid-template-columns:1fr;gap:5px}}
@media(max-width:360px){.catalog-hero-copy h1{font-size:40px}.catalog-hero-copy>p{font-size:14px}.catalog-offer p{font-size:13px}.catalog-offer strong{font-size:28px}.detail-actions .button{font-size:12px;padding:10px 12px}.product-small-photo{height:190px}.product-key-facts{gap:8px}.product-key-facts>div{gap:5px}}

/* New first screens: homepage badge/card language and editorial image placement. */
.catalog-hero{max-height:940px}
.catalog-hero-word{position:absolute;z-index:0;top:3%;left:50%;width:max-content;transform:translateX(-50%);color:#fff;font-size:clamp(140px,24vw,390px);font-weight:400;line-height:1;letter-spacing:-.07em;white-space:nowrap;pointer-events:none}
.catalog-hero-image{z-index:1;left:0;right:auto;bottom:-2%;width:100%;height:auto;min-height:100%;object-fit:cover;object-position:center bottom;transform:translate3d(0,var(--parallax-y,0px),0);will-change:transform}
.catalog-hero-content{position:absolute;z-index:2;left:var(--gutter);right:var(--gutter);bottom:34px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px}
.catalog-hero-heading{min-width:0;max-width:60%}
.catalog-hero-heading .badge{border-left-color:var(--ink);background:#ffffffb8;color:var(--ink);margin-bottom:18px}
.catalog-hero-heading h1{font-size:clamp(42px,5.1vw,82px);line-height:1.04;letter-spacing:-.025em;white-space:normal}
.catalog-offer.fitting-card{width:min(365px,38%);flex-shrink:0;background:#292724bb;color:#fff;align-items:center;margin:0}
.catalog-offer.fitting-card>img{width:88px;height:112px}
.catalog-offer.fitting-card>div{display:block;align-items:normal;gap:0}
.catalog-offer.fitting-card p{font-size:17px;line-height:1.2;white-space:normal}
.catalog-offer.fitting-card .card-label{white-space:normal;margin:3px 0 10px}
.catalog-offer.fitting-card .button{width:100%;margin:0;white-space:nowrap}
.product-stage{height:calc(100svh - 80px);min-height:600px;overflow:hidden;background:var(--ivory)}
.product-stage--two{grid-template-columns:36% 38% 26%}
.product-stage--single{grid-template-columns:58% 42%}
.product-summary{max-width:none;height:100%;margin:0;padding:26px clamp(24px,3vw,58px) 28px;gap:0;display:flex;flex-direction:column;background:var(--ivory)}
.product-summary-main{width:100%;max-width:500px;margin:auto;display:grid;justify-items:center;text-align:center;gap:22px}
.product-summary h1{font-size:clamp(25px,2.3vw,34px);line-height:1.12}
.detail-price{font-size:30px;line-height:1}
.detail-actions{justify-content:center;flex-wrap:wrap;width:100%}
.detail-actions .detail-add{flex:0 1 auto;min-width:210px}
.product-summary-bottom{width:100%;margin-top:auto}
.product-key-facts{justify-content:flex-start;gap:18px;flex-wrap:wrap;margin:0 0 8px}
.product-key-facts>div{gap:6px}
.product-size-line{justify-content:flex-start;gap:8px;padding:0;border:0}
.product-material{margin-top:8px}
.product-tabs{display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:20px;padding-top:14px;font-size:14px}
.product-tabs a{text-underline-offset:4px}
.product-tabs a:hover{text-decoration:underline}
.product-photo-panel{display:block;min-width:0;height:100%;overflow:hidden;background:#fff}
.product-photo-panel img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.product-packshot img{object-fit:contain;background:#fff}
.product-model img{object-position:center top}
.detail-description details{scroll-margin-top:90px}
@media(max-width:1100px){.catalog-hero-heading h1{font-size:clamp(40px,5.7vw,66px)}.catalog-offer.fitting-card{width:320px}.product-stage--two{grid-template-columns:37% 36% 27%}.product-summary{padding:24px}.product-summary h1{font-size:26px}.detail-actions .button{min-width:0}}
@media(max-width:768px){.catalog-hero{min-height:680px}.catalog-hero-word{top:15%;font-size:27vw}.catalog-hero-image{width:135%;left:-18%;height:82%;min-height:0;bottom:11%;object-fit:contain}.catalog-hero-content{bottom:24px;align-items:flex-start;flex-direction:column;gap:22px}.catalog-hero-heading{max-width:100%}.catalog-hero-heading h1{font-size:clamp(38px,6vw,58px)}.catalog-offer.fitting-card{width:min(100%,390px)}.product-stage,.product-stage--two,.product-stage--single{height:auto;min-height:0;overflow:visible;grid-template-columns:1fr 1fr}.product-summary{grid-column:1/-1;min-height:490px;gap:28px}.product-summary-main{margin:22px auto}.product-photo-panel{height:65svh;min-height:380px}.product-stage--single .product-model{grid-column:1/-1;height:75svh}.product-details{grid-template-columns:1fr;gap:28px;padding:40px var(--gutter)}}
@media(max-width:600px){.catalog-hero{height:calc(100svh - 70px);min-height:670px;max-height:none}.catalog-hero-word{top:23%;font-size:29vw}.catalog-hero-image{width:180%;left:-40%;height:72%;bottom:28%}.catalog-hero-content{left:var(--gutter);right:var(--gutter);bottom:18px;gap:14px}.catalog-hero-heading .badge{margin-bottom:10px;font-size:10px}.catalog-hero-heading h1{font-size:clamp(34px,9vw,46px)}.catalog-offer.fitting-card{width:100%;max-width:350px;padding:9px;gap:10px}.catalog-offer.fitting-card>img{width:64px;height:86px}.catalog-offer.fitting-card p{font-size:14px}.catalog-offer.fitting-card .card-label{font-size:11px;margin:2px 0 6px}.catalog-offer.fitting-card .button{min-height:34px;padding:8px;font-size:12px}.product-summary{padding:20px var(--gutter);min-height:470px}.product-summary h1{font-size:25px}.detail-price{font-size:26px}.detail-actions .button{font-size:13px}.product-tabs{gap:18px}.product-photo-panel{height:46svh;min-height:260px}.product-stage--single .product-model{height:76svh}}
@media(max-width:360px){.catalog-hero-heading h1{font-size:32px}.product-summary h1{font-size:23px}.product-summary-main{gap:15px}.detail-actions{gap:7px}.detail-actions .button{font-size:12px;padding:9px 12px}.product-tabs{gap:12px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.catalog-hero-image{transform:none;will-change:auto}}

@media(min-width:601px) and (max-width:768px){.catalog-hero-image{width:110%;left:-5%;height:60%;bottom:40%}}
/* Reference corrections: vertical facts, one action, quiet sale marker. */
.product-stage{border-bottom:1px solid var(--line)}
.product-topline{display:flex;align-items:center;justify-content:space-between;gap:14px}
.product-sku{font-size:14px;color:var(--muted);white-space:nowrap}
.detail-actions{margin-top:0}
.product-summary-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.product-parameters{flex:1;min-width:0}
.product-key-facts{display:flex;flex-direction:column;gap:3px;margin:0 0 3px}
.product-key-facts>div{display:flex;gap:5px}
.product-size-line{font-size:14px}
.product-material{color:var(--ink);font-size:14px;line-height:1.35;margin-top:12px}
.product-material span{color:var(--muted)}
.product-availability{font-size:13px;line-height:1.35;color:var(--muted);margin-top:15px}
.product-discount{width:82px;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right}
.product-discount strong{font-size:50px;font-weight:400;letter-spacing:-.035em;line-height:1;color:var(--accent)}
.product-discount span{font-size:16px}
.catalog-hero-word{font-size:clamp(180px,30vw,470px)}
.catalog-hero-image{left:7%;bottom:0;width:86%;height:92%;min-height:0;object-fit:contain;object-position:center bottom}
.catalog-hero-heading h1{font-size:clamp(40px,4.2vw,64px)}
.catalog-offer.fitting-card{background:#ffffffbb;color:var(--ink)}
.catalog-offer.fitting-card .card-label{color:var(--muted)}
.catalog-offer.fitting-card .button{background:#fff;color:var(--ink);border:1px solid var(--line)}
@media(max-width:768px){.catalog-hero-word{font-size:32vw}.catalog-hero-image{width:100%;left:0;height:60%;bottom:40%}.catalog-hero-heading h1{font-size:clamp(34px,5vw,48px)}}
@media(max-width:600px){.catalog-hero-word{font-size:40vw}.catalog-hero-image{width:100%;left:0;height:auto;bottom:31%}.catalog-hero-heading h1{font-size:clamp(30px,7.5vw,40px)}.product-sku{font-size:12px}.product-discount strong{font-size:38px}.product-discount span{font-size:13px}.product-key-facts,.product-size-line,.product-material{font-size:13px}.product-availability{font-size:12px}}
@media(max-width:360px){.product-sku{font-size:11px}.product-discount{width:64px}.product-discount strong{font-size:34px}}
@media(prefers-reduced-motion:reduce){.catalog-hero-image{transform:none;will-change:auto}}


/* First-screen refinements. */
.catalog-hero-word{top:0;font-size:24vw;line-height:.9}
.catalog-hero-image{bottom:4%}
.catalog-hero{border-bottom:0}
.catalog-pages .product-catalog{padding-top:68px}
.catalog-offer.fitting-card .button{background:var(--ink);border-color:var(--ink);color:#fff}
.catalog-offer.fitting-card .button:hover{background:var(--accent);border-color:var(--accent)}
.detail-price{font-size:24px;color:var(--accent)}
.product-discount strong{font-size:36px}
.product-discount span{font-size:14px}
@media(min-width:769px){.product-discount strong{font-size:24px;line-height:1;letter-spacing:normal}}
.product-parameters{flex:0 1 230px;max-width:230px}
.detail-actions .detail-add{transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease;will-change:transform}
.detail-actions .detail-add:hover{background:var(--accent);transform:translateY(-2px);box-shadow:0 8px 18px #29272426}
.detail-actions .detail-add:active{transform:scale(.97)}
.detail-actions .detail-add.is-added{background:var(--accent);animation:cart-confirm .35s ease both}
@keyframes cart-confirm{0%{transform:scale(.97)}55%{transform:scale(1.04)}100%{transform:scale(1)}}

.product-lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--ivory);color:var(--ink);overflow:hidden}
.product-lightbox::backdrop{background:#171512d9}
.product-lightbox[open]{display:flex;flex-direction:column}
.lightbox-toolbar{height:70px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 var(--gutter);border-bottom:1px solid var(--line)}
.lightbox-toolbar p{font-size:14px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lightbox-controls{display:flex;align-items:center;gap:9px}
.lightbox-controls button,.lightbox-arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);cursor:pointer}
.lightbox-controls button:hover,.lightbox-arrow:hover{background:var(--ink);color:#fff}
.lightbox-controls svg,.lightbox-arrow svg{width:19px;height:19px}
.lightbox-view{position:relative;min-height:0;flex:1;display:grid;place-items:center;overflow:hidden}
.lightbox-view img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;cursor:zoom-in;transition:transform .22s ease;transform-origin:var(--zoom-x,50%) var(--zoom-y,50%)}
.product-lightbox.is-zoomed .lightbox-view img{transform:scale(2);cursor:zoom-out}
.lightbox-arrow{position:absolute;z-index:1;top:50%;transform:translateY(-50%)}
.product-lightbox [hidden]{display:none}
.lightbox-prev{left:var(--gutter)}
.lightbox-next{right:var(--gutter)}
.lightbox-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);padding:7px 12px;border-radius:999px;background:#ffffffd9;font-size:12px}
@media(max-width:768px){.catalog-hero-word{top:0;font-size:24vw}.catalog-hero-image{bottom:44%}.catalog-pages .product-catalog{padding-top:56px}}
@media(max-width:600px){.catalog-hero-word{top:6px;font-size:24vw}.catalog-hero-image{bottom:39%}.detail-price{font-size:22px}.product-discount strong{font-size:30px}.product-discount span{font-size:12px}.product-parameters{max-width:205px}.lightbox-toolbar{height:60px}.lightbox-controls button,.lightbox-arrow{width:36px;height:36px}.lightbox-prev{left:8px}.lightbox-next{right:8px}}
@media(max-width:360px){.product-discount strong{font-size:27px}.product-parameters{max-width:195px}}
@media(prefers-reduced-motion:reduce){.detail-actions .detail-add,.lightbox-view img{transition:none;animation:none}.detail-actions .detail-add:hover,.detail-actions .detail-add:active{transform:none}}

/* The wrappers leave the established desktop composition intact. */
.product-photo-gallery,.product-photos{display:contents}
.product-photo-extra,.product-photo-dots,.product-discount-mobile{display:none}

@media(max-width:600px){
  .catalog-hero-word{top:14%;text-shadow:none}
  .catalog-hero-image{bottom:48%}
  .catalog-hero-content{bottom:0;gap:36px}
  .catalog-hero-heading{transform:none}
  .catalog-hero-heading .badge{margin-bottom:36px;font-size:14px;letter-spacing:.09em}
  .catalog-offer.fitting-card{display:grid;grid-template-columns:62px minmax(0,1fr);width:100vw;max-width:none;margin-left:calc(-1 * var(--gutter));padding:12px var(--gutter);gap:12px;border-radius:0;background:#fff}
  .catalog-offer.fitting-card>img{width:62px;height:76px}
  .catalog-offer.fitting-card>div{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:9px;padding:0}
  .catalog-offer.fitting-card p{grid-column:1;grid-row:1;font-size:16px}
  .catalog-offer.fitting-card .card-label{grid-column:1;grid-row:2;margin:0;font-size:14px;line-height:1.25}
  .catalog-offer.fitting-card .button{grid-column:2;grid-row:1/3;width:auto;min-height:44px;padding:10px 12px;font-size:14px}
  .product-summary{min-height:430px;padding:20px var(--gutter) 24px;gap:0}
  .product-topline{flex-direction:column;align-items:flex-start;gap:7px}
  .product-back,.product-sku{font-size:14px;white-space:normal}
  .product-summary-main{max-width:none;margin:24px 0 auto;justify-items:start;text-align:left;gap:16px}
  .product-summary h1{font-size:24px;text-align:left;text-wrap:normal;line-height:1.16}
  .detail-actions{justify-content:flex-start;width:auto}
  .detail-actions .detail-add{min-width:0;padding:12px 18px;font-size:14px}
  .product-summary-bottom{justify-content:flex-start}
  .product-parameters{flex:1;max-width:none}
  .product-key-facts,.product-size-line,.product-material,.product-availability{font-size:14px}
  .product-availability{margin-top:9px}
  .product-summary-bottom .product-discount{display:none}
  .product-photo-gallery{position:relative;display:block;grid-column:1/-1;height:70svh;min-height:420px;overflow:hidden}
  .product-stage--single .product-photo-gallery{height:76svh}
  .product-photos{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}
  .product-photos::-webkit-scrollbar{display:none}
  .product-photos .product-photo-panel,.product-stage--single .product-photos .product-model{display:block;flex:0 0 100%;width:100%;height:100%;min-height:0;grid-column:auto;scroll-snap-align:start;scroll-snap-stop:always}
  .product-photos .product-photo-extra{display:block}
  .product-photo-dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;align-items:center;gap:4px;padding:5px 8px;border-radius:99px;background:#ffffffe0;backdrop-filter:blur(8px)}
  .product-photo-dot{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;background:transparent}
  .product-photo-dot::before{content:'';width:9px;height:9px;border:1px solid var(--ink);border-radius:50%;background:transparent}
  .product-photo-dot[aria-current=true]::before{background:var(--ink)}
  .product-discount-mobile{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-start;gap:20px;width:100%;min-height:78px;padding:16px var(--gutter);background:#fff;color:var(--ink);font-size:16px}
  .product-discount-mobile strong{font-size:32px;font-weight:400;line-height:1;color:var(--accent)}
  .product-discount-mobile span{text-align:left}
  .lightbox-toolbar p,.lightbox-count{font-size:14px}
}
@media(max-width:600px){
  .product-summary{height:auto;min-height:0}
  .product-topline{order:0;flex-direction:row;align-items:center;justify-content:space-between}
  .product-sku{margin-left:auto;text-align:right;white-space:nowrap}
  .product-summary-main{display:contents}
  .product-summary h1{order:1;margin-top:24px}
  .detail-price{order:2;margin-top:16px}
  .product-summary-bottom{order:3;margin-top:24px}
  .detail-actions{order:4;width:100%;margin-top:20px}
}
@media(min-width:769px){.catalog-hero-image{left:4%;width:92%;height:calc(100% - 40px);bottom:32px}}
@media(max-width:360px){
  .catalog-offer.fitting-card{grid-template-columns:56px minmax(0,1fr)}
  .catalog-offer.fitting-card>img{width:56px;height:100%}
  .catalog-offer.fitting-card>div{display:flex;flex-direction:column;align-items:stretch;gap:5px}
  .catalog-offer.fitting-card .button{width:100%;margin-top:3px}
}

/* Match the opening columns on the homepage. */
.catalog-pages:not(.product-page) main{position:relative}
.catalog-feature-top{position:absolute;z-index:3;top:112px;left:var(--gutter);right:var(--gutter);color:var(--ink);pointer-events:none}
.catalog-feature-top .label,.catalog-feature-top .intro{text-shadow:none}
.catalog-feature-top .intro p{margin:0}
@media(max-width:768px){
  .catalog-feature-top{top:112px;right:var(--gutter);display:block}
  .catalog-feature-details{display:none}
  .catalog-feature-names{max-width:none;text-align:left}
  .catalog-feature-names .hero-intro-lines{display:grid;gap:9px;font-size:14px;line-height:1.2;letter-spacing:.15em;text-transform:uppercase}
  .catalog-feature-names .hero-intro-lines>span{white-space:normal}
  .catalog-feature-names .hero-intro-lines>span::before{content:'/ '}
  .catalog-hero-word{top:calc(14% + var(--catalog-art-shift));text-shadow:none}
  .catalog-hero-image{bottom:calc(48% - var(--catalog-art-shift));width:min(100%,390px);left:calc((100% - min(100%,390px))/2);height:auto}
}
@media(min-width:601px) and (max-width:768px){
  .catalog-hero{height:calc(100svh - 80px);min-height:820px}
  .catalog-hero{--catalog-art-shift:52px}
}
@media(max-width:600px){
  .catalog-hero{--catalog-art-shift:clamp(48px,calc(33.33svh - 217px),64px)}
}
@media(max-width:600px) and (max-height:700px){
  .catalog-hero-word{top:calc(14% + 60px);font-size:20vw}
  .catalog-hero-image{width:min(75%,270px);left:calc((100% - min(75%,270px))/2);bottom:calc(48% + 16px)}
}
@media(min-width:361px) and (max-width:600px) and (max-height:700px){
  .catalog-hero-word{top:calc(14% + 80px)}
  .catalog-hero-image{bottom:calc(48% - 10px)}
}
@media(max-width:600px){
  .product-parameters{display:grid;gap:9px}
  .product-key-facts{gap:9px;margin:0}
  .product-key-facts>div,.product-size-line{gap:6px}
  .product-material,.product-availability{margin:0}
}

.favorites-page .favorites-catalog{min-height:calc(100svh - 80px);padding-top:60px}
.favorites-catalog>h1{margin-bottom:36px}
.favorites-empty{font-size:20px;line-height:1.5}
.favorites-empty a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.favorites-page .favorites-catalog{min-height:calc(100svh - 72px);padding-top:40px}.favorites-catalog>h1{margin-bottom:28px}.favorites-empty{font-size:17px}}
