/* === DREAMY — prvky popisků čalouněných postelí  ·  v1 NÁVRH · 2026-10-11 ===
 * Nadstavba nad popisky.css + popisky-dreamy.css + popisky-dreamy-prvky.css + popisky-postele.css
 * (z postelí z masivu bere: bd-pillars, bd-points, bd-two, bd-try, bd-design, bd-more-tones, bd-sizes, bd-models).
 * Záhlaví (za popisky-postele.css): <link rel="stylesheet" href="/user/documents/upload/styles/popisky-calounene.css?v=1">
 * Zápatí: popisky-calounene.js (ateliér látek, plánovač, přepínače, ceny).
 * Prvky:
 *  C1 .cp-atelier   Ateliér látek: interiéry × 150 odstínů × 4 textury (canvas)
 *  C2 .cp-variants  Standard / EasyPack / Lift — tři provedení, kreslený řez
 *  C3 .cp-lift      Lift: zvedněte rošt (přepínač)
 *  C4 .cp-xray      Rentgen: co je uvnitř čela a rámu (posuvník přes fotku)
 *  C5 .cp-warranty  5 let záruka na konstrukční pevnost (pečeť)
 *  C6 .cp-plan      Vejde se mi? Půdorys místnosti s postelí
 *  C7 .cp-fabrics   Kolekce látek a jejich vlastnosti
 *  C8 .cp-dims      Rozměry postele (kóty)
 */

/* ---------- C1 Ateliér látek ---------- */
.dpd--dy .cp-atelier { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 26px; align-items: start; margin-top: 26px !important; padding: 18px; border-radius: 26px; background: linear-gradient(160deg, #fff 0%, var(--blush) 100%); box-shadow: 0 20px 50px -30px rgba(90, 30, 60, .35); }
.dpd--dy .cp-stage { position: relative; border-radius: 18px; overflow: hidden; background: #eee8e3; aspect-ratio: 4 / 3; }
.dpd--dy .cp-stage img.cp-img, .dpd--dy .cp-stage canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; display: block; margin: 0 !important; }
.dpd--dy .cp-stage canvas { opacity: 0; transition: opacity .35s ease; }
.dpd--dy .cp-atelier.cp-live .cp-stage canvas { opacity: 1; }
.dpd--dy .cp-stage::after { content: ""; position: absolute; left: 50%; top: 50%; width: 34px; height: 34px; margin: -17px 0 0 -17px; border-radius: 50%; border: 3px solid rgba(255,255,255,.7); border-top-color: var(--pink); opacity: 0; transition: opacity .2s; animation: cp-spin .8s linear infinite; pointer-events: none; }
.dpd--dy .cp-atelier.cp-loading .cp-stage::after { opacity: 1; }
@keyframes cp-spin { to { transform: rotate(360deg); } }
.dpd--dy .cp-badge { position: absolute; left: 14px; bottom: 14px; z-index: 2; display: flex; align-items: center; gap: 10px; padding: 8px 14px 8px 8px; border-radius: 999px; background: rgba(255,255,255,.92); backdrop-filter: blur(6px); font-size: 13.5px; color: var(--ink); box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.dpd--dy .cp-slider { min-height: 44px; }
.dpd--dy .cp-read-txt { white-space: nowrap; }
.dpd--dy .cp-read-sw { width: 26px; height: 26px; border-radius: 50%; box-shadow: inset 0 0 0 2px rgba(0,0,0,.08); background: #b8b9b6; }
.dpd--dy .cp-atelier:not(.cp-on) .cp-badge, .dpd--dy .cp-atelier:not(.cp-on) .cp-ctrl-js { display: none !important; }
.dpd--dy .cp-ctrl { display: grid; gap: 20px; padding: 6px 4px; }
.dpd--dy .cp-ctrl-h { font-size: 12.5px !important; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted) !important; margin-bottom: 10px !important; }
.dpd--dy .cp-ctrl-h b { color: var(--pink); font-weight: 700; }
/* interiéry */
.dpd--dy .cp-rooms { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.dpd--dy .cp-rooms button { appearance: none; border: 0; padding: 0; background: none; cursor: pointer; text-align: center; font: inherit; font-size: 11.5px; line-height: 1.25; color: var(--muted); }
.dpd--dy .cp-rooms button img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 1; object-fit: cover; border-radius: 12px; margin: 0 0 6px !important; box-shadow: 0 0 0 2px transparent; transition: box-shadow .2s, transform .2s; }
.dpd--dy .cp-rooms button:hover img { transform: translateY(-2px); }
.dpd--dy .cp-rooms button.on { color: var(--ink); font-weight: 600; }
.dpd--dy .cp-rooms button.on img { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--pink); }
/* posuvník */
.dpd--dy .cp-track { position: relative; height: 44px; border-radius: 14px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.06); }
.dpd--dy .cp-range { -webkit-appearance: none; appearance: none; position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; background: transparent; cursor: grab; }
.dpd--dy .cp-range:active { cursor: grabbing; }
.dpd--dy .cp-range::-webkit-slider-runnable-track { height: 44px; background: transparent; }
.dpd--dy .cp-range::-moz-range-track { height: 44px; background: transparent; }
.dpd--dy .cp-range::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 54px; margin-top: -5px; border-radius: 9px; background: #fff; border: 3px solid var(--ink); box-shadow: 0 4px 12px rgba(0,0,0,.25); }
.dpd--dy .cp-range::-moz-range-thumb { width: 14px; height: 50px; border-radius: 9px; background: #fff; border: 3px solid var(--ink); box-shadow: 0 4px 12px rgba(0,0,0,.25); }
.dpd--dy .cp-range:focus-visible { outline: 3px solid var(--pink); outline-offset: 4px; border-radius: 14px; }
.dpd--dy .cp-hint { margin-top: 8px !important; font-size: 12.5px !important; color: var(--muted) !important; }
/* textury */
.dpd--dy .cp-tex { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.dpd--dy .cp-tex button { appearance: none; cursor: pointer; display: grid; justify-items: center; gap: 6px; padding: 10px 4px 8px; border-radius: 14px; border: 1px solid var(--line); background: #fff; font: inherit; font-size: 12px; line-height: 1.2; color: var(--ink); transition: border-color .2s, box-shadow .2s; }
.dpd--dy .cp-tex button.on { border-color: var(--pink); box-shadow: 0 0 0 1px var(--pink); }
.dpd--dy .cp-tex i { display: block; width: 38px; height: 38px; border-radius: 50%; background-color: #b8a99a; }
.dpd--dy .cp-tex .t-hladka i { background-image: linear-gradient(135deg, rgba(255,255,255,.35), rgba(0,0,0,.12)); }
.dpd--dy .cp-tex .t-samet i { background-image: radial-gradient(circle at 30% 25%, rgba(255,255,255,.65), rgba(255,255,255,0) 45%), linear-gradient(135deg, rgba(0,0,0,0), rgba(0,0,0,.35)); }
.dpd--dy .cp-tex .t-struktura i { background-image: repeating-linear-gradient(0deg, rgba(0,0,0,.14) 0 2px, rgba(0,0,0,0) 2px 4px), repeating-linear-gradient(90deg, rgba(255,255,255,.18) 0 2px, rgba(255,255,255,0) 2px 4px); }
.dpd--dy .cp-tex .t-boucle i { background-image: radial-gradient(circle, rgba(255,255,255,.5) 0 1.6px, rgba(255,255,255,0) 2.2px), radial-gradient(circle, rgba(0,0,0,.18) 0 1.6px, rgba(0,0,0,0) 2.2px); background-size: 7px 7px, 9px 9px; background-position: 0 0, 3px 4px; }
/* všech 150 odstínů */
.dpd--dy .cp-gridbtn { appearance: none; border: 0; background: none; padding: 0; cursor: pointer; font: inherit; font-size: 13.5px; font-weight: 600; color: var(--pink); text-decoration: underline; text-underline-offset: 3px; }
.dpd--dy .cp-grid { display: none; grid-template-columns: repeat(15, minmax(0, 1fr)); gap: 4px; margin-top: 12px !important; }
.dpd--dy .cp-atelier.cp-grid-open .cp-grid { display: grid; }
.dpd--dy .cp-chip { appearance: none; border: 0; padding: 0; aspect-ratio: 1; border-radius: 6px; cursor: pointer; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); transition: transform .15s; }
.dpd--dy .cp-chip:hover { transform: scale(1.18); }
.dpd--dy .cp-chip.on { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--ink); }
.dpd--dy .cp-note { font-size: 12.5px !important; line-height: 1.5; color: var(--muted) !important; }
.dpd--dy .cp-note a { color: var(--pink); }

/* ---------- C2 Tři provedení ---------- */
.dpd--dy .cp-variants { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 26px !important; }
.dpd--dy .cp-var { position: relative; display: flex; flex-direction: column; padding: 20px 20px 18px; border-radius: 20px; background: #fff; border: 1px solid var(--line); transition: transform .2s, box-shadow .2s; }
.dpd--dy .cp-var:hover { transform: translateY(-3px); box-shadow: 0 16px 34px -22px rgba(90,30,60,.4); }
.dpd--dy .cp-var.is-current { border-color: var(--pink); box-shadow: 0 0 0 1px var(--pink); background: linear-gradient(180deg, #fff, var(--blush)); }
.dpd--dy .cp-var-tag { position: absolute; top: -11px; left: 18px; padding: 4px 10px; border-radius: 999px; background: var(--pink); color: #fff; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.dpd--dy .cp-var h3 { margin: 4px 0 4px !important; font-size: 21px !important; color: var(--ink); }
.dpd--dy .cp-var .cp-var-sub { font-size: 13.5px !important; font-weight: 600; color: var(--pink) !important; margin-bottom: 10px !important; }
.dpd--dy .cp-var ul { display: grid; gap: 6px; margin: 12px 0 14px !important; font-size: 14px; line-height: 1.45; }
.dpd--dy .cp-var li { position: relative; padding-left: 20px !important; }
.dpd--dy .cp-var li::before { content: "✓" !important; position: absolute; left: 0; top: 0; color: var(--pink); font-weight: 700; }
.dpd--dy .cp-var .cp-price { margin-top: auto !important; font-weight: 600; color: var(--ink); font-size: 15px; }
.dpd--dy .cp-var .dpd-cmp-more { position: absolute; inset: 0; z-index: 1; font-size: 0; }
/* kreslený řez postelí: rám, rošt, úložný prostor */
.dpd--dy .cp-cut { position: relative; height: 112px; margin: 6px 0 4px; border-radius: 14px; background: #f7f3ef; overflow: hidden; }
.dpd--dy .cp-cut > * { position: absolute; display: block; font-style: normal; }
.dpd--dy .cp-cut .c-head { left: 10%; bottom: 14px; width: 9%; height: 82px; border-radius: 8px 8px 2px 2px; background: var(--cp-fab, #b9aa9b); }
.dpd--dy .cp-cut .c-frame { left: 19%; right: 8%; bottom: 14px; height: 34px; border-radius: 3px 6px 6px 3px; background: var(--cp-fab, #b9aa9b); box-shadow: inset 0 -4px 0 rgba(0,0,0,.08); }
.dpd--dy .cp-cut .c-leg { bottom: 4px; width: 5px; height: 10px; border-radius: 2px; background: #c99a62; }
.dpd--dy .cp-cut .c-leg1 { left: 22%; } .dpd--dy .cp-cut .c-leg2 { right: 11%; }
.dpd--dy .cp-cut .c-mat { left: 20%; right: 9%; bottom: 44px; height: 18px; border-radius: 6px; background: #fff; box-shadow: 0 0 0 1.5px #e6dbe1; }
.dpd--dy .cp-cut .c-slat { left: 21%; right: 10%; bottom: 40px; height: 4px; border-radius: 2px; background: repeating-linear-gradient(90deg, #c99a62 0 9px, transparent 9px 13px); }
.dpd--dy .cp-cut .c-box { left: 21%; right: 10%; bottom: 18px; height: 22px; border-radius: 3px; background: repeating-linear-gradient(90deg, rgba(217,0,116,.12) 0 6px, rgba(217,0,116,.05) 6px 12px); box-shadow: inset 0 0 0 1.5px rgba(217,0,116,.35); }
.dpd--dy .cp-cut .c-gas { left: 30%; bottom: 30px; width: 28%; height: 3px; border-radius: 2px; background: #6f7378; transform-origin: left center; transform: rotate(-9deg); }
.dpd--dy .cp-cut .c-q { left: 21%; right: 10%; bottom: 40px; height: 3px; border-top: 2px dashed #cdbfc6; }
.dpd--dy .cp-var-lift .cp-cut .c-mat, .dpd--dy .cp-var-lift .cp-cut .c-slat { transform-origin: 0 100%; transform: rotate(-11deg) translateY(-4px); }
.dpd--dy .cp-cut-lbl { position: absolute; right: 10px; top: 8px; font-size: 11px; font-weight: 600; color: var(--muted); letter-spacing: .04em; }

/* ---------- C3 Lift: zvedněte rošt ---------- */
.dpd--dy .cp-lift { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 30px; align-items: center; margin-top: 26px !important; padding: 26px; border-radius: 24px; background: var(--blush); }
.dpd--dy .cp-lift-art { position: relative; height: 230px; }
.dpd--dy .cp-lift-art > * { position: absolute; display: block; font-style: normal; }
.dpd--dy .cp-lift-art .l-wall { left: 0; right: 0; bottom: 18px; height: 2px; background: #e3d3dc; }
.dpd--dy .cp-lift-art .l-head { left: 6%; bottom: 20px; width: 9%; height: 190px; border-radius: 12px 12px 3px 3px; background: var(--cp-fab, #a7978a); box-shadow: inset -6px 0 0 rgba(0,0,0,.07); }
.dpd--dy .cp-lift-art .l-box { left: 15%; right: 4%; bottom: 30px; height: 62px; border-radius: 4px 10px 10px 4px; background: var(--cp-fab, #a7978a); box-shadow: inset 0 -5px 0 rgba(0,0,0,.08); }
.dpd--dy .cp-lift-art .l-inside { left: 17%; right: 6%; bottom: 36px; height: 50px; border-radius: 4px; background: #3d3337; opacity: 0; transition: opacity .5s; }
.dpd--dy .cp-lift-art .l-stuff { bottom: 40px; height: 30px; border-radius: 6px; opacity: 0; transform: translateY(10px); transition: opacity .5s .25s, transform .5s .25s; }
.dpd--dy .cp-lift-art .l-s1 { left: 22%; width: 22%; background: #e9dfd3; }
.dpd--dy .cp-lift-art .l-s2 { left: 47%; width: 16%; height: 22px; background: #c9b8a6; }
.dpd--dy .cp-lift-art .l-s3 { left: 66%; width: 22%; height: 26px; background: #f3eee8; }
.dpd--dy .cp-lift-art .l-top { left: 15.5%; right: 4.5%; bottom: 92px; height: 34px; transform-origin: 0 100%; transition: transform .9s cubic-bezier(.2,.8,.2,1); }
.dpd--dy .cp-lift-art .l-top i { position: absolute; display: block; }
.dpd--dy .cp-lift-art .l-slat { left: 0; right: 0; bottom: 0; height: 8px; border-radius: 3px; background: repeating-linear-gradient(90deg, #c99a62 0 12px, #b8864e 12px 13px, transparent 13px 17px); }
.dpd--dy .cp-lift-art .l-mat { left: 0; right: 0; bottom: 8px; height: 26px; border-radius: 8px; background: #fff; box-shadow: 0 0 0 1.5px #e6dbe1, inset 0 -6px 0 #f4eef1; }
.dpd--dy .cp-lift-art .l-gas { left: 20%; bottom: 60px; width: 26%; height: 5px; border-radius: 3px; background: linear-gradient(90deg, #4f5459 0 55%, #9aa0a6 55%); transform-origin: 0 50%; transform: rotate(0deg); transition: transform .9s cubic-bezier(.2,.8,.2,1); }
.dpd--dy .cp-lift-art .l-lbl { right: 6%; bottom: 44px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pink); opacity: 0; transition: opacity .4s .4s; }
.dpd--dy .cp-lift[data-state="open"] .l-top { transform: rotate(-17deg); }
.dpd--dy .cp-lift[data-state="open"] .l-gas { transform: rotate(-30deg) scaleX(1.15); }
.dpd--dy .cp-lift[data-state="open"] .l-inside, .dpd--dy .cp-lift[data-state="open"] .l-lbl { opacity: 1; }
.dpd--dy .cp-lift[data-state="open"] .l-stuff { opacity: 1; transform: none; }
.dpd--dy .cp-btns { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px !important; }
.dpd--dy .cp-btns button { appearance: none; cursor: pointer; padding: 10px 16px; border-radius: 999px; border: 1px solid var(--ink); background: #fff; color: var(--ink); font: inherit; font-size: 14px; font-weight: 600; }
.dpd--dy .cp-btns button.on { background: var(--ink); color: #fff; }
.dpd--dy .cp-lift:not(.cp-js-ok) .cp-btns { display: flex; }

/* ---------- C4 Rentgen ---------- */
.dpd--dy .cp-xray { position: relative; --x: 50%; border-radius: 22px; overflow: hidden; aspect-ratio: 4 / 3; background: #eee8e3; margin-top: 22px !important; }
.dpd--dy .cp-xray img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; margin: 0 !important; }
.dpd--dy .cp-xray .cp-xray-in { clip-path: inset(0 0 0 var(--x)); }
.dpd--dy .cp-xray::after { content: ""; position: absolute; top: 0; bottom: 0; left: var(--x); width: 3px; margin-left: -1.5px; background: #fff; box-shadow: 0 0 12px rgba(0,0,0,.35); pointer-events: none; }
.dpd--dy .cp-xray-range { -webkit-appearance: none; appearance: none; position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; background: transparent; cursor: ew-resize; z-index: 3; }
.dpd--dy .cp-xray-range::-webkit-slider-thumb { -webkit-appearance: none; width: 46px; height: 46px; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141118' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l-6 6 6 6M15 6l6 6-6 6'/%3E%3C/svg%3E") center / 22px no-repeat; box-shadow: 0 4px 14px rgba(0,0,0,.3); }
.dpd--dy .cp-xray-range::-moz-range-thumb { width: 46px; height: 46px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 4px 14px rgba(0,0,0,.3); }
.dpd--dy .cp-xray-tag { position: absolute; top: 14px; z-index: 2; padding: 6px 12px; border-radius: 999px; background: rgba(20,17,24,.75); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .04em; pointer-events: none; }
.dpd--dy .cp-xray-tag.l { left: 14px; } .dpd--dy .cp-xray-tag.r { right: 14px; background: var(--pink); }
.dpd--dy .cp-xray:not(.cp-on) .cp-xray-in { clip-path: none; }
.dpd--dy .cp-layers { display: grid; gap: 8px; counter-reset: lay; }
.dpd--dy .cp-layers li { counter-increment: lay; display: grid; grid-template-columns: 34px 1fr; gap: 2px 12px; align-items: start; padding: 12px 14px; border-radius: 14px; background: #fff; border: 1px solid var(--line); }
.dpd--dy .cp-layers li::before { content: counter(lay) !important; grid-row: span 2; display: flex !important; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--blush); color: var(--pink); font-weight: 700; }
.dpd--dy .cp-layers b { color: var(--ink); font-size: 15px; }
.dpd--dy .cp-layers p { font-size: 14px; line-height: 1.5; }

/* ---------- C5 Záruka 5 let na konstrukci ---------- */
.dpd--dy .cp-warranty { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 30px; align-items: center; padding: 30px; border-radius: 26px; background: #141118; color: #e9e2e6; }
.dpd--dy .cp-warranty h2, .dpd--dy .cp-warranty h3 { color: #fff !important; }
.dpd--dy .cp-warranty p { color: #cfc4ca !important; }
.dpd--dy .cp-seal { position: relative; width: 190px; height: 190px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: radial-gradient(circle at 50% 40%, #ff4fa0, var(--pink) 60%, #a10058); box-shadow: 0 0 0 8px rgba(217,0,116,.18), 0 0 0 16px rgba(217,0,116,.08), 0 20px 40px -10px rgba(217,0,116,.6); }
.dpd--dy .cp-seal::before { content: "" !important; position: absolute; inset: 10px; border-radius: 50%; border: 1.5px dashed rgba(255,255,255,.55); }
.dpd--dy .cp-seal b { font-size: 76px; line-height: .9; font-weight: 700; color: #fff; }
.dpd--dy .cp-seal span { font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #fff; }
.dpd--dy .cp-seal small { font-size: 11px; color: rgba(255,255,255,.85); margin-top: 4px; letter-spacing: .04em; }
.dpd.dpd-js .dpd-reveal .cp-seal { transform: scale(.7) rotate(-20deg); opacity: 0; transition: transform .9s cubic-bezier(.2,.9,.25,1.3) .15s, opacity .5s ease .15s; }
.dpd.dpd-js .dpd-reveal.is-in .cp-seal { transform: none; opacity: 1; }
.dpd--dy .cp-warranty ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 18px !important; }
.dpd--dy .cp-warranty li { padding: 14px; border-radius: 14px; background: rgba(255,255,255,.06); font-size: 13.5px; line-height: 1.45; color: #cfc4ca; }
.dpd--dy .cp-warranty li b { display: block; color: #fff; font-size: 15px; margin-bottom: 4px; }

/* ---------- C6 Vejde se mi? ---------- */
.dpd--dy .cp-plan { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 30px; align-items: start; margin-top: 26px !important; padding: 26px; border-radius: 24px; background: #fff; border: 1px solid var(--line); }
.dpd--dy .cp-plan-form { display: grid; gap: 10px; }
.dpd--dy .cp-plan-f { display: grid; grid-template-columns: 1fr 110px 26px; align-items: center; gap: 10px; font-size: 14.5px; color: var(--ink); }
.dpd--dy .cp-plan-f input, .dpd--dy .cp-plan-f select { width: 100%; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); font: inherit; font-size: 15px; color: var(--ink); background: #fff; }
.dpd--dy .cp-plan-f select { grid-column: span 2; }
.dpd--dy .cp-plan-f em { font-style: normal; color: var(--muted); font-size: 13px; }
.dpd--dy .cp-plan-svg { display: block; width: 100%; height: auto; max-height: 420px; margin-top: 4px; }
.dpd--dy .cp-plan-svg .cp-p-room { fill: #faf6f3; stroke: #3f3339; stroke-width: 4; }
.dpd--dy .cp-plan-svg .cp-p-zone { fill: rgba(217,0,116,.07); }
.dpd--dy .cp-plan-svg .cp-p-bed { fill: #cbbcae; stroke: #8f7f72; stroke-width: 2; transition: fill .3s; }
.dpd--dy .cp-plan-svg .cp-p-bed.is-tight { fill: #e7c58f; }
.dpd--dy .cp-plan-svg .cp-p-bed.is-bad { fill: #e9a3a3; }
.dpd--dy .cp-plan-svg .cp-p-head { fill: #8f7f72; }
.dpd--dy .cp-plan-svg .cp-p-pil { fill: #fff; opacity: .85; }
.dpd--dy .cp-plan-svg .cp-pt { font: 600 19px/1 Rubik, system-ui, sans-serif; fill: #7c7079; text-anchor: middle; }
.dpd--dy .cp-plan-svg .cp-pt-bed { fill: #3f3339; font-size: 21px; }
.dpd--dy .cp-plan-svg .cp-pt-dim { font-weight: 500; font-size: 18px; }
.dpd--dy .cp-plan-msg { margin-top: 12px !important; padding: 12px 14px; border-radius: 12px; font-size: 14.5px; line-height: 1.5; background: #eef7ef; color: #24502e !important; }
.dpd--dy .cp-plan-msg.is-tight { background: #fdf4e3; color: #6b4a12 !important; }
.dpd--dy .cp-plan-msg.is-bad { background: #fdecec; color: #7a2323 !important; }
.dpd--dy .cp-plan:not(.cp-on) .cp-plan-ui { display: none; }

/* ---------- C7 Kolekce látek ---------- */
.dpd--dy .cp-fabrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 22px !important; }
.dpd--dy .cp-fabrics li { padding: 14px 14px 12px; border-radius: 16px; background: #fff; border: 1px solid var(--line); }
.dpd--dy .cp-fabrics b { display: block; color: var(--ink); font-size: 15px; }
.dpd--dy .cp-fabrics span { display: block; font-size: 12.5px; color: var(--muted); margin-top: 2px; }
.dpd--dy .cp-fabrics em { display: inline-block; margin-top: 8px; padding: 3px 8px; border-radius: 999px; background: var(--blush); color: var(--pink); font-style: normal; font-size: 11.5px; font-weight: 600; }
.dpd--dy .cp-fab-bar { display: flex; height: 8px; border-radius: 4px; overflow: hidden; margin-top: 10px; }
.dpd--dy .cp-fab-bar i { flex: 1; display: block; font-style: normal; }

/* ---------- C8 Rozměry (kóty) ---------- */
.dpd--dy .cp-dims { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 30px; align-items: center; margin-top: 22px !important; }
.dpd--dy .cp-dim-art { position: relative; height: 200px; border-radius: 20px; background: #f7f3ef; }
.dpd--dy .cp-dim-art > * { position: absolute; display: block; font-style: normal; }
.dpd--dy .cp-dim-art .d-head { left: 12%; bottom: 40px; width: 8%; height: 128px; border-radius: 10px 10px 3px 3px; background: var(--cp-fab, #b9aa9b); }
.dpd--dy .cp-dim-art .d-frame { left: 20%; right: 10%; bottom: 40px; height: 48px; border-radius: 4px 8px 8px 4px; background: var(--cp-fab, #b9aa9b); }
.dpd--dy .cp-dim-art .d-mat { left: 21%; right: 11%; bottom: 88px; height: 18px; border-radius: 6px; background: #fff; box-shadow: 0 0 0 1.5px #e6dbe1; }
.dpd--dy .cp-dim-art .d-leg { bottom: 30px; width: 6px; height: 10px; border-radius: 2px; background: #c99a62; }
.dpd--dy .cp-dim-art .d-leg1 { left: 23%; } .dpd--dy .cp-dim-art .d-leg2 { right: 13%; }
.dpd--dy .cp-dim-art .d-k { font-size: 12.5px; font-weight: 700; color: var(--pink); white-space: nowrap; }
.dpd--dy .cp-dim-art .d-kv { left: 4%; bottom: 40px; height: 128px; width: 2px; background: var(--pink); }
.dpd--dy .cp-dim-art .d-kv-t { left: 1%; bottom: 96px; transform: rotate(-90deg); transform-origin: left top; }
.dpd--dy .cp-dim-art .d-kh { left: 12%; right: 10%; bottom: 16px; height: 2px; background: var(--pink); }
.dpd--dy .cp-dim-art .d-kh-t { left: 45%; bottom: 2px; }
.dpd--dy .cp-dim-art .d-kr { right: 5%; bottom: 40px; height: 48px; width: 2px; background: var(--pink); }
.dpd--dy .cp-dim-art .d-kr-t { right: 1%; bottom: 96px; }
.dpd--dy .cp-dimtab { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.dpd--dy .cp-dimtab td { padding: 9px 0; border-bottom: 1px solid var(--line); }
.dpd--dy .cp-dimtab td:last-child { text-align: right; font-weight: 600; color: var(--ink); white-space: nowrap; }

/* ---------- Mobil ---------- */
@media (max-width: 860px) {
  .dpd--dy .cp-atelier, .dpd--dy .cp-lift, .dpd--dy .cp-plan, .dpd--dy .cp-dims { grid-template-columns: minmax(0, 1fr); }
  .dpd--dy .cp-atelier { padding: 10px; gap: 16px; border-radius: 20px; }
  .dpd--dy .cp-variants { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .dpd--dy .cp-warranty { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; padding: 26px 20px; }
  .dpd--dy .cp-warranty ul { grid-template-columns: minmax(0, 1fr); text-align: left; }
  .dpd--dy .cp-fabrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dpd--dy .cp-grid { grid-template-columns: repeat(10, minmax(0, 1fr)); }
  .dpd--dy .cp-lift-art { height: 190px; }
  .dpd--dy .cp-badge { left: 8px; bottom: 8px; font-size: 12.5px; }
  .dpd--dy .cp-rooms { gap: 6px; }
  .dpd--dy .cp-rooms button { font-size: 10.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .dpd--dy .cp-tex button { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .dpd--dy .cp-lift-art *, .dpd--dy .cp-stage canvas, .dpd--dy .cp-seal { transition: none !important; }
}
