.ck-shop {
  --shop-ink: #171719;
  --shop-muted: #686461;
  --shop-line: #e4ded7;
  --shop-paper: #f6f3ef;
  --shop-blue: #006fc9;
  --shop-accent: #147d89;
  --shop-accent-on-dark: #79c8a4;
  color: var(--shop-ink);
  background: #fff;
  font-size: 17px;
  line-height: 1.5;
}
.ck-shop *, .ck-shop *::before, .ck-shop *::after { box-sizing: border-box; }
.ck-shop h1, .ck-shop h2, .ck-shop p { margin-top: 0; }
.ck-shop h1, .ck-shop h2 { letter-spacing: -.04em; text-wrap: balance; }
.ck-shop a { text-decoration: none; }
.ck-shop :focus-visible { outline: 3px solid var(--shop-blue); outline-offset: 3px; border-radius: 6px; }
.ck-shop-wrap { width: min(1180px, calc(100% - 44px)); margin-inline: auto; }
.ck-shop-eyebrow { margin-bottom: 12px; color: var(--shop-accent); font-size: 12px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.ck-shop-lead { max-width: 57ch; margin-bottom: 0; color: var(--shop-muted); font-size: clamp(17px, 2vw, 21px); }
.ck-shop-highlight { color: var(--shop-blue); font-weight: 600; }

.ck-shop-hero { overflow: hidden; padding: clamp(52px, 8vw, 104px) 0; background: radial-gradient(circle at 78% 18%, rgba(0,111,201,.13), transparent 28%), linear-gradient(125deg, #f7f2eb 0%, #fff 58%); }
.ck-shop-hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(270px, .65fr); gap: clamp(28px, 7vw, 90px); align-items: end; }
.ck-shop-hero h1 { max-width: 11ch; margin-bottom: 20px; font-size: clamp(42px, 7vw, 82px); line-height: .98; }
.ck-shop-hero-note { padding: 25px; border: 1px solid rgba(0,111,201,.2); border-radius: 22px; background: rgba(255,255,255,.78); box-shadow: 0 18px 50px rgba(36,53,66,.08); backdrop-filter: blur(10px); }
.ck-shop-hero-note strong, .ck-shop-hero-note span { display: block; }
.ck-shop-hero-note strong { margin-bottom: 8px; font-size: 18px; }
.ck-shop-hero-note span { color: var(--shop-muted); font-size: 14px; }

.ck-shop-categories, .ck-shop-selection { padding: clamp(52px, 7vw, 92px) 0; }
.ck-shop-categories { background: var(--shop-ink); color: #fff; }
.ck-shop-categories h2, .ck-shop-selection h2 { margin-bottom: 30px; font-size: clamp(32px, 4.5vw, 52px); line-height: 1.05; }
.ck-shop-category-grid, .ck-shop-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.ck-shop-category { min-height: 290px; padding: clamp(24px, 4vw, 42px); display: flex; flex-direction: column; border: 1px solid #39393d; border-radius: 24px; color: #fff; background: linear-gradient(145deg, #242428, #151517); transition: transform .25s ease, border-color .25s ease; }
.ck-shop-category:hover { border-color: #707078; transform: translateY(-4px); }
.ck-shop-category > span { margin-bottom: auto; color: #c7c7cd; font-size: 13px; }
.ck-shop-category strong { margin: 38px 0 8px; font-size: clamp(25px, 3vw, 38px); letter-spacing: -.035em; }
.ck-shop-category p { max-width: 42ch; margin-bottom: 22px; color: #bcbcc2; font-size: 14px; }
.ck-shop-category em { color: #6db9ff; font-size: 14px; font-style: normal; font-weight: 700; }

.ck-shop-selection { background: #fff; }
.ck-vitrine-intro { max-width: 66ch; margin: -12px 0 28px; color: var(--shop-muted); }
.ck-vitrine-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.ck-vitrine-card { overflow: hidden; border: 1px solid var(--shop-line); border-radius: 24px; background: #fff; box-shadow: 0 13px 36px rgba(45,35,27,.06); }
.ck-vitrine-card figure { height: 370px; margin: 0; padding: 18px; background: #fff; }
.ck-vitrine-card figure img { width: 100%; height: 100%; display: block; object-fit: contain; }
.ck-vitrine-card-body { padding: 24px; border-top: 1px solid var(--shop-line); }
.ck-vitrine-card-body h3 { margin: 0 0 9px; font-size: clamp(29px, 3vw, 40px); line-height: 1; }
.ck-vitrine-card-body > p:not(.ck-shop-eyebrow) { min-height: 51px; color: var(--shop-muted); font-size: 14px; }
.ck-vitrine-card-body > .ck-vitrine-profile { min-height: 0; margin: 0 0 18px; color: var(--shop-ink); }
.ck-vitrine-config { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin-top: 20px; }
.ck-vitrine-config label { min-width: 0; }
.ck-vitrine-config label > span { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; }
.ck-vitrine-config label > small { display: block; margin-top: 6px; color: var(--shop-muted); font-size: 11px; line-height: 1.35; }
.ck-vitrine-config select { width: 100%; min-height: 48px; padding: 0 34px 0 11px; border: 1px solid var(--shop-line); border-radius: 10px; color: var(--shop-ink); background: #fff; font: inherit; font-size: 14px; }
.ck-vitrine-config select:disabled { color: #8b8783; background: #f6f3ef; }
.ck-vitrine-glass-choices { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ck-vitrine-glass-choices[hidden] { display: none; }
.ck-vitrine-glass-choices button { min-width: 0; padding: 8px 6px; display: grid; justify-items: center; gap: 5px; border: 1px solid var(--shop-line); border-radius: 10px; color: var(--shop-ink); background: #fff; font: inherit; cursor: pointer; }
.ck-vitrine-glass-choices button.is-selected { border-color: var(--shop-blue); box-shadow: 0 0 0 1px var(--shop-blue); }
.ck-vitrine-glass-choices img { width: 64px; height: 74px; object-fit: contain; background: #fff; }
.ck-vitrine-glass-choices span { max-width: 100%; font-size: 11px; font-weight: 700; overflow-wrap: anywhere; }
.ck-vitrine-price { grid-column: 1 / -1; padding: 14px 16px; display: grid; gap: 2px; border-radius: 14px; background: var(--shop-paper); }
.ck-vitrine-price span { color: var(--shop-muted); font-size: 11px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.ck-vitrine-price strong { font-size: 24px; letter-spacing: -.03em; }
.ck-vitrine-config .ck-product-cta { display: flex; align-items: center; justify-content: center; text-decoration: none; }
.ck-vitrine-config .ck-product-cta.is-disabled { cursor: default; background: #9a9691; }
.ck-lighting-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.ck-lighting-card { overflow:hidden; border:1px solid var(--shop-line); border-radius:24px; background:#fff; box-shadow:0 13px 36px rgba(45,35,27,.06); }
.ck-lighting-card figure { display:flex; align-items:center; height:300px; margin:0; padding:18px; overflow:hidden; background:#fff; }
.ck-lighting-card figure picture { display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.ck-lighting-card figure img { width:100%; height:100%; object-fit:contain; display:block; }
.ck-lighting-card figure, .ck-lighting-card figure picture, .ck-lighting-card figure img { background-color:#fff; }
.ck-lighting-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; grid-column:1/-1; }
.ck-lighting-fields label span { display:block; margin-bottom:6px; font-size:12px; font-weight:700; text-transform:capitalize; }
.ck-lighting-fields select { width:100%; min-height:48px; padding:0 11px; border:1px solid var(--shop-line); border-radius:10px; background:#fff; font:inherit; }
.ck-lighting-accessories-title { margin:42px 0 18px; }
.ck-shop-card { overflow: hidden; border: 1px solid var(--shop-line); border-radius: 24px; background: #fff; box-shadow: 0 13px 36px rgba(45,35,27,.06); }
.ck-shop-card-image { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; background: #fff; }
.ck-shop-card-image picture { width: 100%; height: 100%; display: block; background: #fff; }
.ck-shop-card-image img { width: 100%; height: 100%; display: block; object-fit: cover; background: #fff; transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.ck-shop-card-image-contain img { padding: clamp(22px, 5vw, 52px); object-fit: contain; background: #fff; }
.ck-shop-card-image-contain { background: #fff; }
.ck-shop-card:hover .ck-shop-card-image img { transform: scale(1.025); }
.ck-shop-range-editorial { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr); overflow: hidden; min-height: 520px; border-radius: 28px; color: #fff; background: #18201d; box-shadow: 0 22px 54px rgba(34,28,23,.14); }
.ck-shop-range-editorial picture, .ck-shop-range-editorial img { display: block; width: 100%; height: 100%; }
.ck-shop-range-editorial img { object-fit: cover; object-position: center; }
.ck-shop-range-editorial > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 5vw, 64px); }
.ck-shop-range-editorial .ck-shop-eyebrow { color: var(--shop-accent-on-dark); }
.ck-shop-range-editorial h3 { max-width: 12ch; margin: 0 0 18px; font-size: clamp(32px, 5vw, 58px); line-height: 1; letter-spacing: -.045em; }
.ck-shop-range-editorial p:not(.ck-shop-eyebrow) { max-width: 47ch; margin-bottom: 22px; color: #c6cbc8; }
.ck-shop-range-editorial strong { color: #fff; font-size: 14px; }
.ck-shop-bicolor-editorial { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(240px, .64fr) minmax(0, 1.36fr); overflow: hidden; min-height: 620px; border-radius: 28px; color: #fff; background: #1d2221; box-shadow: 0 22px 54px rgba(34,28,23,.14); }
.ck-shop-bicolor-editorial picture, .ck-shop-bicolor-editorial img { width: 100%; height: 100%; display: block; }
.ck-shop-bicolor-editorial img { object-fit: cover; }
.ck-shop-bicolor-editorial-portrait img { object-position: center; }
.ck-shop-bicolor-editorial > div { min-width: 0; display: grid; grid-template-rows: minmax(280px, .9fr) auto; }
.ck-shop-bicolor-editorial > div > picture { min-height: 280px; }
.ck-shop-bicolor-editorial-copy { padding: clamp(28px, 5vw, 58px); }
.ck-shop-bicolor-editorial .ck-shop-eyebrow { color: var(--shop-accent-on-dark); }
.ck-shop-bicolor-editorial h3 { max-width: 13ch; margin: 0 0 16px; font-size: clamp(31px, 4.5vw, 54px); line-height: 1; letter-spacing: -.045em; }
.ck-shop-bicolor-editorial p:not(.ck-shop-eyebrow) { max-width: 55ch; margin-bottom: 18px; color: #c6cbc8; }
.ck-shop-bicolor-editorial strong { font-size: 14px; }
.ck-shop-boxes-editorial { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); overflow: hidden; border: 1px solid #eadfce; border-radius: 28px; background: #fbf6ed; box-shadow: 0 22px 54px rgba(64,48,31,.10); }
.ck-shop-boxes-editorial picture, .ck-shop-boxes-editorial img { display: block; width: 100%; height: 100%; }
.ck-shop-boxes-editorial img { object-fit: contain; background: #fbf6ed; }
.ck-shop-boxes-editorial > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 4vw, 52px); }
.ck-shop-boxes-editorial h3 { margin: 0 0 16px; font-size: clamp(30px, 4vw, 48px); line-height: 1.02; letter-spacing: -.04em; }
.ck-shop-boxes-editorial p:not(.ck-shop-eyebrow) { margin-bottom: 18px; color: #5d554b; }
.ck-product-placeholder-art { position: absolute; inset: 0; display: block; overflow: hidden; background: #fff; }
.ck-product-placeholder-art svg { width: 100%; height: 100%; display: block; }
.ck-product-finish-visual { width: 100%; height: 100%; padding: 26px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--shop-ink); background: #fff; text-align: center; }
.ck-product-finish-swatch { width: clamp(92px, 40%, 156px); aspect-ratio: 1; margin-bottom: 18px; display: block; border: 1px solid rgba(23,23,25,.16); border-radius: 50%; background: #d6d0c9; box-shadow: inset 0 1px 2px rgba(255,255,255,.65), 0 14px 30px rgba(23,23,25,.11); }
.ck-product-finish-visual strong { max-width: 24ch; font-size: 17px; line-height: 1.2; }
.ck-product-finish-visual small { margin-top: 5px; color: var(--shop-muted); font-size: 12px; }
.ck-product-finish-visual.is-large { min-height: 520px; }
.ck-product-finish-visual.is-large .ck-product-finish-swatch { width: clamp(170px, 45%, 300px); }
.ck-product-finish-visual.is-large strong { font-size: clamp(21px, 3vw, 30px); }
.ck-product-finish-white { background: #f5f3ed; }
.ck-product-finish-black { background: #262629; }
.ck-product-finish-grey { background: #8c9091; }
.ck-product-finish-beige { background: #c7b39b; }
.ck-product-finish-green { background: #82947a; }
.ck-product-finish-blue { background: #426b86; }
.ck-product-finish-red { background: #9b5549; }
.ck-product-finish-yellow { background: #d7ae55; }
.ck-product-finish-wood { background: linear-gradient(105deg, #8f6747, #c29a72 32%, #745038 34%, #b78b64 68%, #815b40 70%); }
.ck-product-finish-metal { background: linear-gradient(135deg, #777b7e, #d1d2d0 46%, #888b8d 52%, #c3b097); }
.ck-product-finish-stone { background: linear-gradient(135deg, #d8d2c8, #eeeae3 42%, #9e958b 44%, #d3cdc5 48%, #b7afa6); }
.ck-product-finish-decor { background: linear-gradient(135deg, #cac3b8, #ece8e1); }
.ck-shop-card-body { padding: 24px; }
.ck-shop-card-body > p { margin-bottom: 7px; color: var(--shop-accent); font-size: 12px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.ck-shop-card h2 { margin-bottom: 7px; font-size: clamp(24px, 3vw, 34px); line-height: 1.08; }
.ck-shop-card h2 a { color: var(--shop-ink); }
.ck-shop-card-body > span { display: block; margin-bottom: 20px; color: var(--shop-muted); font-size: 14px; }
.ck-shop-card-price { display: block; margin: -7px 0 17px; font-size: 21px; letter-spacing: -.025em; }
.ck-shop-link { color: var(--shop-blue); font-size: 14px; font-weight: 700; }

.ck-shop-breadcrumb { border-bottom: 1px solid var(--shop-line); background: #fff; }
.ck-shop-breadcrumb .ck-shop-wrap { min-height: 48px; display: flex; align-items: center; gap: 8px; overflow-x: auto; white-space: nowrap; color: var(--shop-muted); font-size: 12px; }
.ck-shop-breadcrumb a { color: var(--shop-blue); }
.ck-shop-category-hero { padding: clamp(48px, 7vw, 88px) 0; background: linear-gradient(135deg, #f6f2ed, #fff); }
.ck-shop-category-hero-grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(340px, 1.12fr); gap: clamp(30px, 6vw, 72px); align-items: center; }
.ck-shop-category-hero h1 { max-width: 13ch; margin-bottom: 18px; font-size: clamp(42px, 6vw, 72px); line-height: 1; }
.ck-vitrine-frame-details { overflow: hidden; max-width: 520px; margin: 24px 0 0; border-radius: 10px; background: #fff; }
.ck-vitrine-frame-details picture, .ck-vitrine-frame-details img { width: 100%; display: block; }
.ck-vitrine-frame-details img { height: auto; }
.ck-shop-category-visual { min-width: 0; margin: 0; }
.ck-shop-category-visual-frame { overflow: hidden; aspect-ratio: 5 / 4; border-radius: 10px; background: #dededb; }
.ck-shop-category-visual-frame picture { width: 100%; height: 100%; display: block; }
.ck-shop-category-visual-frame img { width: 100%; height: 100%; display: block; object-fit: cover; transform: scale(1.015); }
.ck-shop-category-visual-frame.is-contain { background: #f7f7f5; }
.ck-shop-category-visual-frame.is-contain img { padding: clamp(18px, 4vw, 42px); transform: none; }
.ck-shop-category-visual-frame.is-wide { aspect-ratio: 1448 / 625; background: #fff; }
.ck-shop-category-visual-frame.is-wide img { padding: 0; }
.ck-shop-category-visual figcaption { padding: 11px 2px 0; display: flex; justify-content: space-between; gap: 16px; color: var(--shop-muted); font-size: 11px; line-height: 1.4; }
.ck-shop-category-visual figcaption strong { color: var(--shop-ink); font-weight: 650; }
.ck-shop-category-visual .ck-shop-category-color-labels { display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; }
.ck-hinge-contract-visual { overflow: hidden; max-width: 390px; margin: 24px 0 0; border-radius: 10px; background: #fff; }
.ck-hinge-contract-visual img { width: 100%; height: auto; max-height: 250px; padding: clamp(14px, 3vw, 24px); display: block; object-fit: contain; }
.ck-hinge-ambient-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ck-hinge-ambient-grid picture { overflow: hidden; min-width: 0; border-radius: 10px; background: #e8e5e0; }
.ck-hinge-ambient-grid img { width: 100%; height: 100%; display: block; aspect-ratio: 329 / 395; object-fit: cover; }
.ck-shop-catalog-visual { align-self: center; }
.ck-shop-subcategories { padding: clamp(52px, 7vw, 88px) 0; color: #fff; background: var(--shop-ink); }
.ck-shop-subcategories h2 { max-width: 16ch; margin-bottom: 30px; font-size: clamp(32px, 4.5vw, 52px); line-height: 1.05; }
.ck-shop-subcategory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.ck-shop-subcategory-card { min-height: 230px; padding: 25px; display: flex; flex-direction: column; scroll-margin-top: 72px; border: 1px solid #36363a; border-radius: 20px; background: #202023; }
.ck-shop-subcategory-card > span { color: #9a9aa1; font-size: 11px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.ck-shop-subcategory-card h3 { margin: auto 0 8px; font-size: clamp(22px, 2.5vw, 29px); line-height: 1.08; letter-spacing: -.035em; }
.ck-shop-subcategory-card p { margin-bottom: 0; color: #bcbcc2; font-size: 14px; }
.ck-shop-subcategory-card a { margin-top: 18px; color: #6db9ff; font-size: 14px; font-weight: 750; }
.ck-shop-subcategory-card.is-available { border-color: rgba(109,185,255,.58); background: linear-gradient(145deg, #223342, #1a2026); }
.ck-shop-category-copy { padding: clamp(52px, 7vw, 88px) 0; color: #fff; background: var(--shop-ink); }
.ck-shop-categories .ck-shop-eyebrow, .ck-shop-subcategories .ck-shop-eyebrow, .ck-shop-category-copy .ck-shop-eyebrow { color: var(--shop-accent-on-dark); }
.ck-shop-category-copy-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: clamp(30px, 7vw, 90px); align-items: start; }
.ck-shop-category-copy h2 { max-width: 14ch; margin-bottom: 18px; font-size: clamp(32px, 4.5vw, 52px); line-height: 1.05; }
.ck-shop-category-copy p:not(.ck-shop-eyebrow) { max-width: 64ch; margin-bottom: 0; color: #c5c5ca; }
.ck-shop-category-copy ul { margin: 0; padding: 0; list-style: none; }
.ck-shop-category-copy li { padding: 14px 0; border-bottom: 1px solid #39393d; }
.ck-shop-category-copy li::before { content: "✓"; margin-right: 10px; color: #79c8a4; }

.ck-product { padding-top: clamp(30px, 5vw, 66px); }
.ck-product-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: clamp(30px, 6vw, 76px); align-items: start; }
.ck-product-visual { position: sticky; top: 76px; overflow: hidden; margin: 0; border-radius: 28px; background: #fff; }
.ck-product-visual img { width: 100%; height: auto; display: block; aspect-ratio: 4 / 3; object-fit: cover; }
.ck-product-visual picture { display: block; }
.ck-product-visual-contain img { padding: clamp(20px, 5vw, 54px); object-fit: contain; background: #fff; }
.ck-product-visual-contain { background: #fff; }
.ck-product-visual-contain picture, .ck-product-visual-contain img { background-color:#fff; }
.ck-product-visual-trmax { background: #fff; }
.ck-product-pro-badge { position: absolute; top: 12px; right: 12px; z-index: 3; padding: 4px 7px; border-radius: 999px; color: #fff; background: var(--shop-accent); box-shadow: 0 5px 12px rgba(20,125,137,.16); font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ck-product-gallery-stage > div[hidden] { display: none; }
.ck-product-gallery-stage [data-cekonay-gallery-slide="technical"] picture,
.ck-product-gallery-stage [data-cekonay-gallery-slide="technical"] img { width: 100%; display: block; }
.ck-product-gallery-stage [data-cekonay-gallery-slide="technical"] img { height: auto; aspect-ratio: 4 / 3; padding: clamp(10px, 2vw, 22px); object-fit: contain; background: #fff; }
.ck-product-gallery-tabs { display: flex; gap: 8px; padding: 12px 16px; background: #fff; }
.ck-product-gallery-tabs button { min-height: 38px; padding: 8px 13px; border: 1px solid var(--shop-line); border-radius: 999px; color: var(--shop-muted); background: #fff; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.ck-product-gallery-tabs button.is-active { border-color: var(--shop-blue); color: #fff; background: var(--shop-blue); }
.ck-product-color-badge { position: absolute; top: 16px; right: 16px; z-index: 1; max-width: calc(100% - 32px); min-height: 38px; padding: 7px 11px 7px 8px; display: flex; align-items: center; gap: 8px; border: 1px solid rgba(23,23,25,.13); border-radius: 999px; color: var(--shop-ink); background: rgba(255,255,255,.94); box-shadow: 0 8px 24px rgba(23,23,25,.1); font-size: 12px; font-weight: 750; }
.ck-product-color-badge i { width: 23px; height: 23px; display: block; border: 1px solid rgba(0,0,0,.17); border-radius: 50%; }
.ck-product-color-badge > span { min-width: 0; overflow-wrap: anywhere; }
.ck-product-color-badge-blanc i { background: #f4f3ef; }
.ck-product-color-badge-gris-plomo i { background: #565658; }
.ck-product-color-badge-alum-gris i { background: #aeb4b6; }
.ck-product-visual figcaption { padding: 12px 16px; color: var(--shop-muted); font-size: 12px; background: #f7f5f2; }
.ck-product-technical { display: grid; grid-template-columns: 132px 1fr; gap: 14px; align-items: center; padding: 14px 16px 16px; border-top: 1px solid var(--shop-line); background: #fff; }
.ck-product-technical img { aspect-ratio: 4 / 3; border-radius: 10px; object-fit: cover; background: #fff; }
.ck-product-technical p { margin: 0; color: var(--shop-muted); font-size: 12px; }
.ck-product-technical strong { display: block; margin-bottom: 3px; color: var(--shop-ink); font-size: 13px; }
.ck-product-buy { padding: 10px 0 60px; }
.ck-product-buy h1 { margin-bottom: 17px; font-size: clamp(36px, 5vw, 60px); line-height: 1; }
.ck-product-summary { max-width: 47ch; color: var(--shop-muted); font-size: 18px; }
.ck-product-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 24px 0; }
.ck-product-tags span { padding: 7px 10px; border-radius: 999px; color: #4f4a47; background: var(--shop-paper); font-size: 12px; font-weight: 650; }
.ck-product-sample-link { width: fit-content; margin: -10px 0 24px; display: inline-flex; align-items: center; gap: 7px; color: var(--shop-blue); font-size: 14px; font-weight: 750; }
.ck-product-sample-link:hover { color: #005fae; text-decoration: none; }
.ck-product-sample-link span { font-size: 20px; line-height: 1; }
.ck-product-trust { margin: 0 0 22px; border: 1px solid var(--shop-line); border-radius: 14px; overflow: hidden; }
.ck-product-trust summary { cursor: pointer; list-style: none; padding: 12px 14px; display: flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 650; background: var(--shop-paper); }
.ck-product-trust summary::-webkit-details-marker { display: none; }
.ck-product-trust summary svg:first-child { flex: none; width: 17px; height: 17px; color: #1f7a53; }
.ck-product-trust-chevron { flex: none; margin-left: auto; width: 15px; height: 15px; color: var(--shop-muted); transition: transform .15s; }
.ck-product-trust[open] .ck-product-trust-chevron { transform: rotate(180deg); }
.ck-product-trust-body { display: grid; gap: 10px; padding: 12px 14px 14px; }
.ck-product-trust-item { display: flex; gap: 10px; align-items: flex-start; }
.ck-product-trust-item svg { flex: none; width: 18px; height: 18px; margin-top: 1px; color: #1f7a53; }
.ck-product-trust-item strong { display: block; font-size: 13px; font-weight: 700; }
.ck-product-trust-item span span { display: block; margin-top: 2px; color: var(--shop-muted); font-size: 12.5px; line-height: 1.4; }

.ck-product-config { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 26px; padding: 22px; border: 1px solid var(--shop-line); border-radius: 22px; background: #fff; box-shadow: 0 15px 40px rgba(47,35,25,.07); }
.ck-product-field { min-width: 0; }
.ck-product-field-full { grid-column: 1 / -1; }
.ck-product-dimension-order { margin: 0; color: var(--shop-muted); font-size: 13px; }
.ck-product-dimension-order strong { color: var(--shop-ink); }
.ck-product-field label { display: block; margin-bottom: 7px; font-size: 13px; font-weight: 700; }
.ck-product-field > div { position: relative; }
.ck-product-field input, .ck-product-field select { width: 100%; min-height: 49px; padding: 0 42px 0 12px; border: 1px solid var(--shop-line); border-radius: 10px; color: var(--shop-ink); background: #fff; font: inherit; font-size: 16px; }
.ck-product-field select { padding-right: 12px; }
.ck-product-field > div span { position: absolute; top: 50%; right: 12px; color: var(--shop-muted); font-size: 13px; transform: translateY(-50%); }
.ck-product-colors { min-width: 0; margin: 0; padding: 0; border: 0; }
.ck-product-colors legend { margin-bottom: 8px; padding: 0; font-size: 13px; font-weight: 700; }
.ck-product-colors label { min-height: 48px; padding: 8px 10px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--shop-line); border-radius: 11px; cursor: pointer; }
.ck-product-colors label + label { margin-top: 7px; }
.ck-product-colors label:has(input:checked) { border-color: var(--shop-blue); box-shadow: 0 0 0 1px var(--shop-blue); }
.ck-product-colors input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; pointer-events: none; }
.ck-product-swatch { width: 27px; height: 27px; flex: 0 0 27px; border: 1px solid rgba(0,0,0,.16); border-radius: 50%; box-shadow: inset 0 1px 2px rgba(255,255,255,.35); }
.ck-product-swatch-blanc { background: #f4f3ef; }
.ck-product-swatch-gris-plomo { background: #565658; }
.ck-product-swatch-alum-gris { background: #aeb4b6; }
.ck-product-colors label > span:last-child { font-size: 14px; font-weight: 650; }
.ck-product-options { min-width: 0; margin: 0; padding: 0; border: 0; }
.ck-product-options legend { margin-bottom: 8px; padding: 0; font-size: 13px; font-weight: 700; }
.ck-product-options label { padding: 11px 12px; display: grid; grid-template-columns: 18px 1fr; gap: 10px; align-items: start; border: 1px solid var(--shop-line); border-radius: 11px; cursor: pointer; }
.ck-product-options label + label { margin-top: 7px; }
.ck-product-options label:has(input:checked) { border-color: var(--shop-blue); background: #f4f9fd; box-shadow: 0 0 0 1px var(--shop-blue); }
.ck-product-options input { margin: 4px 0 0; accent-color: var(--shop-blue); }
.ck-product-options strong, .ck-product-options small { display: block; }
.ck-product-options strong { font-size: 14px; }
.ck-product-options small { margin-top: 2px; color: var(--shop-muted); font-size: 12px; }
.ck-product-base, .ck-product-price { grid-column: 1 / -1; display: grid; gap: 3px; padding: 16px; border-radius: 14px; }
.ck-product-base { border: 1px solid #cfe1ee; background: #f2f8fc; }
.ck-product-price { margin-top: 2px; background: var(--shop-paper); }
.ck-product-base > span, .ck-product-price > span { color: var(--shop-muted); font-size: 11px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.ck-product-base strong { color: #075b96; font-size: 20px; }
.ck-product-price strong { font-size: 25px; letter-spacing: -.03em; }
.ck-product-base small, .ck-product-price small { color: var(--shop-muted); font-size: 12px; }
.ck-product-cta { grid-column: 1 / -1; min-height: 52px; border: 0; border-radius: 999px; color: #fff; background: var(--shop-blue); font: inherit; font-size: 15px; font-weight: 750; cursor: pointer; }
.ck-product-cta:hover { background: #005da9; }
.ck-product-demo-message { margin: 12px 0 0; padding: 12px 15px; border-radius: 11px; color: #075b40; background: #edf8f2; font-size: 13px; }
.ck-product-details { padding: clamp(50px, 7vw, 86px) 0; color: #fff; background: var(--shop-ink); }
.ck-product-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(200px, .7fr) minmax(200px, .7fr) minmax(200px, .6fr); gap: clamp(24px, 4vw, 50px); align-items: start; }
.ck-product-details h2 { max-width: 13ch; margin-bottom: 0; font-size: clamp(30px, 4vw, 48px); line-height: 1.05; }
.ck-product-details ul { margin: 0; padding: 0; list-style: none; }
.ck-product-details li { padding: 12px 0; border-bottom: 1px solid #37373b; font-size: 15px; }
.ck-product-details li::before { content: "✓"; margin-right: 9px; color: #79c8a4; }
.ck-product-details aside { padding: 20px; border: 1px solid #3a3a3e; border-radius: 18px; background: #222226; }
.ck-product-details aside strong { font-size: 15px; }
.ck-product-details aside p { margin: 8px 0 0; color: #b9b9bf; font-size: 13px; }
.ck-product-spec h3 { margin: 0 0 4px; font-size: clamp(20px, 2.6vw, 24px); line-height: 1.1; }
.ck-product-spec table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.ck-product-spec tr { border-bottom: 1px solid #37373b; }
.ck-product-spec tr:last-child { border-bottom: 0; }
.ck-product-spec th, .ck-product-spec td { text-align: left; padding: 10px 4px; font-weight: 400; }
.ck-product-spec th { width: 45%; color: #b9b9bf; font-weight: 600; }
.ck-product-detail-technical { grid-column: 1 / -1; max-width: 920px; margin: 10px auto 0; overflow: hidden; border-radius: 18px; background: #fff; }
.ck-product-detail-technical picture, .ck-product-detail-technical img { display: block; width: 100%; background: #fff; }
.ck-product-detail-technical img { height: auto; object-fit: contain; }
.ck-product-detail-technical figcaption { padding: 16px 18px 18px; color: #202226; background: #fff; }
.ck-product-detail-technical figcaption strong, .ck-product-detail-technical figcaption span { display: block; }
.ck-product-detail-technical figcaption span { margin-top: 5px; color: #595d62; font-size: 13px; line-height: 1.5; }

.ck-product-faq { padding: clamp(50px, 7vw, 86px) 0; color: #fff; background: var(--shop-ink); }
.ck-product-faq h2 { max-width: 16ch; margin: 0 0 28px; font-size: clamp(28px, 4vw, 40px); line-height: 1.05; }
.ck-product-faq-list { max-width: 74ch; border-top: 1px solid #37373b; }
.ck-product-faq-item { border-bottom: 1px solid #37373b; padding: 18px 0; }
.ck-product-faq-item h3 { margin: 0 0 7px; font-size: 15px; font-weight: 650; }
.ck-product-faq-item p { margin: 0; color: #b9b9bf; font-size: 13.5px; line-height: 1.55; }
.ck-product-phone { max-width: 74ch; margin-top: 24px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid rgba(105,201,110,.34); border-radius: 16px; background: rgba(105,201,110,.09); }
.ck-product-phone strong, .ck-product-phone span { display: block; }
.ck-product-phone strong { margin-bottom: 4px; color: #fff; font-size: 15px; }
.ck-product-phone span { color: #b9b9bf; font-size: 12px; line-height: 1.45; }
.ck-product-phone a { flex: none; min-height: 42px; padding: 0 16px; display: inline-flex; align-items: center; border-radius: 999px; color: #fff; background: var(--shop-blue); font-size: 13px; font-weight: 750; }

@media (max-width: 900px) {
  .ck-shop-category-hero-grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 26px; }
  .ck-shop-category-visual-frame { aspect-ratio: 4 / 5; }
  .ck-shop-hero-grid, .ck-product-grid, .ck-product-detail-grid, .ck-shop-category-copy-grid { grid-template-columns: 1fr; }
  .ck-shop-subcategory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ck-shop-hero h1 { max-width: 13ch; }
  .ck-shop-hero-note { max-width: 520px; }
  .ck-product-visual { position: relative; top: auto; }
  .ck-product-buy { padding-bottom: 42px; }
  .ck-product-detail-grid { gap: 24px; }
}
@media (max-width: 680px) {
  .ck-shop-wrap { width: min(100% - 32px, 1180px); }
  .ck-shop-category-grid, .ck-shop-product-grid, .ck-shop-subcategory-grid { grid-template-columns: 1fr; }
  .ck-vitrine-grid { grid-template-columns: 1fr; }
  .ck-lighting-grid { grid-template-columns:1fr; }
  .ck-vitrine-card figure { height: 420px; }
  .ck-shop-category { min-height: 250px; }
  .ck-shop-card, .ck-product-visual { border-radius: 18px; }
  .ck-product-grid { width: 100%; gap: 24px; }
  .ck-product-visual { border-radius: 0; }
  .ck-product-color-badge { right: auto; left: 16px; }
  .ck-product-visual figcaption { max-width: 100vw; white-space: normal; overflow-wrap: anywhere; }
  .ck-product-finish-visual.is-large { min-height: 390px; }
  .ck-product-buy { width: calc(100% - 32px); margin-inline: auto; }
  .ck-product-config { padding: 17px; }
  .ck-shop-category-hero-grid { grid-template-columns: 1fr; gap: 24px; }
  .ck-shop-category-visual-frame { margin-inline: -16px; aspect-ratio: 4 / 3; border-radius: 0; }
  .ck-shop-category-visual figcaption { padding-top: 10px; }
  .ck-shop-range-editorial { grid-template-columns: 1fr; min-height: 0; border-radius: 20px; }
  .ck-shop-range-editorial picture { aspect-ratio: 4 / 3; }
  .ck-shop-range-editorial > div { padding: 26px 22px 30px; }
  .ck-shop-bicolor-editorial { grid-template-columns: minmax(120px, .58fr) minmax(0, 1.42fr); min-height: 540px; border-radius: 20px; }
  .ck-shop-bicolor-editorial > div { grid-template-rows: minmax(190px, .7fr) auto; }
  .ck-shop-bicolor-editorial > div > picture { min-height: 190px; }
  .ck-shop-bicolor-editorial-copy { padding: 26px 22px 30px; }
  .ck-shop-boxes-editorial { grid-template-columns: 1fr; border-radius: 20px; }
  .ck-shop-boxes-editorial > div { padding: 26px 22px 30px; }
  .ck-product-phone { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 430px) {
  .ck-vitrine-config { grid-template-columns: 1fr; }
  .ck-lighting-fields { grid-template-columns:1fr; }
  .ck-vitrine-glass-choices, .ck-vitrine-price, .ck-vitrine-config .ck-product-cta { grid-column: 1; }
  .ck-product-config { grid-template-columns: 1fr; }
  .ck-product-field-full, .ck-product-base, .ck-product-price, .ck-product-cta { grid-column: 1; }
  .ck-product-technical { grid-template-columns: 92px 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .ck-shop * { transition: none !important; }
}
.ck-shop-pagination { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 34px; }
.ck-shop-pagination a { min-height: 44px; display: inline-flex; align-items: center; padding: 0 18px; border: 1px solid #1f3c4d; border-radius: 999px; color: #1f3c4d; text-decoration: none; font-weight: 700; }
.ck-shop-pagination span { color: #5b6268; }
