/* Scoped to this component. The existing Elementor section keeps its layout. */
.kdz-page .aesthetic .result-placeholder:has(.kdz-cases){height:330px;display:block;background:none;border:0}
.kdz-page .aesthetic .result-placeholder:has(.kdz-cases)>.elementor-widget-container{height:100%}
.kdz-cases{--kc-ink:#23211e;--kc-gold:#bda174;--kc-bronze:#715938;--kc-line:#d9cdbb;--kc-paper:#f7f3ec;box-sizing:border-box;width:100%;height:330px;overflow:hidden;display:flex;flex-direction:column;background:#eee7dc;border:1px solid var(--kc-line);color:var(--kc-ink);font-family:"Open Sans",Arial,sans-serif;text-align:left;position:relative;isolation:isolate;box-shadow:0 14px 36px -24px #4c382640}
.kdz-cases *{box-sizing:border-box}
.kdz-cases [hidden]{display:none!important}
.kdz-cases-head{height:48px;flex:0 0 48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--kc-bronze)}
.kdz-cases-count{white-space:nowrap;letter-spacing:1px;font-variant-numeric:tabular-nums;font-size:11px}
.kdz-cases-count b{font-weight:600;color:var(--kc-ink)}
.kdz-cases-stage{position:relative;flex:1;min-height:0;margin:0 12px;touch-action:pan-y;overflow:hidden}
.kdz-case-slide{position:absolute;inset:0;opacity:1;transition:opacity .24s ease,transform .24s ease}
.kdz-case-slide.kdz-enter{opacity:0;transform:translateX(8px)}
.kdz-case-slide.kdz-leave{opacity:0;transform:translateX(-8px);pointer-events:none}
.kdz-case-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;height:100%;align-items:center}
.kdz-case-pair.kdz-case-single{grid-template-columns:minmax(0,1fr)}
.kdz-cases .kdz-case-figure{margin:0;min-width:0;align-self:center}
.kdz-case-photo-frame{position:relative;overflow:hidden;background:#e3d8ca;aspect-ratio:3/2;line-height:0}
.kdz-cases .kdz-case-photo,.kdz-page .result-placeholder .kdz-case-photo{display:block;width:100%;height:100%;max-width:none;aspect-ratio:3/2;object-fit:cover;object-position:center;border:0;border-radius:0;filter:none;transform:none}
.kdz-case-single .kdz-case-photo-frame{aspect-ratio:auto;height:190px}
.kdz-case-single .kdz-case-photo{object-fit:contain!important;background:#e3d8ca}
.kdz-cases .kdz-case-label{margin:0;padding:10px 4px 0;color:var(--kc-bronze);text-transform:uppercase;letter-spacing:1.2px;font-size:9px;line-height:1.5;text-align:left;font-style:normal}
.kdz-cases-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 62px;min-height:62px;padding:0 12px 0 18px}
.kdz-cases-caption{min-width:0;line-height:1.3}
.kdz-cases-caption>[data-case-title]{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:22px;line-height:1.15;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kdz-cases-caption small{font-size:10px;line-height:1.4;display:block;color:#5e584f;max-width:220px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kdz-cases-nav,.kdz-cases-dots{display:flex;align-items:center;justify-content:center;flex:none;gap:1px}
.kdz-cases button{appearance:none;font:inherit;box-shadow:none;border:0;background:none;padding:0;margin:0;color:var(--kc-bronze);cursor:pointer;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:0;transition:color .18s,background-color .18s;touch-action:manipulation}
.kdz-cases button:hover{color:var(--kc-ink);background:#e4dacb}
.kdz-cases button:focus-visible{outline:2px solid var(--kc-bronze);outline-offset:-3px;background:#e4dacb}
.kdz-cases button[aria-disabled="true"]{cursor:wait;opacity:.5}
.kdz-cases button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3}
.kdz-cases-dots button{min-width:26px;width:26px}
.kdz-cases-dots button span{display:block;width:5px;height:5px;border-radius:50%;background:#a39178;transition:width .24s,background-color .24s}
.kdz-cases-dots button[aria-current="true"] span{width:17px;border-radius:4px;background:var(--kc-bronze)}
.kdz-cases[data-many="true"] .kdz-cases-dots{display:none}
.kdz-cases:not(.is-ready) .kdz-cases-nav{visibility:hidden}
.kdz-case-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.kdz-page .kdz-cases-disclaimer{margin:10px 0 0;font-size:11px;line-height:1.6;color:#655d52}
@container(max-width:700px){.kdz-page .aesthetic .result-placeholder:has(.kdz-cases),.kdz-cases{height:270px}.kdz-cases-head{padding:0 12px;height:40px;flex-basis:40px;font-size:8px;letter-spacing:.8px}.kdz-cases-stage{margin:0 9px}.kdz-case-pair{gap:6px}.kdz-cases-footer{padding:0 6px 0 12px;flex-basis:60px;min-height:60px}.kdz-cases-caption>[data-case-title]{font-size:20px;max-width:115px}.kdz-cases-caption small{max-width:115px}.kdz-cases .kdz-case-label{font-size:8px;letter-spacing:.6px;padding-top:8px}.kdz-case-single .kdz-case-photo-frame{height:145px}.kdz-cases-dots button{width:24px;min-width:24px}.kdz-cases button[data-case-prev],.kdz-cases button[data-case-next]{width:38px;min-width:38px}}
@media(max-width:700px){.kdz-cases{height:270px}}
@media(prefers-reduced-motion:reduce){.kdz-case-slide,.kdz-cases button,.kdz-cases-dots button span{transition:none!important}.kdz-case-slide.kdz-enter,.kdz-case-slide.kdz-leave{transform:none}}
