.apartment-overview-grid { display: grid; grid-template-columns: 1fr 1fr; }
.apartment-plan-col { position: relative; display: flex; min-width: 0; align-items: center; justify-content: center; padding: 7.8rem 5rem 14rem; }
.apartment-image-map { position: relative; width: 100%; max-width: 60rem; line-height: 0; }
.apartment-image-map > img { width: 100%; height: auto; }
.room-shape { position: absolute; z-index: 2; display: block; cursor: default; outline: none; }
.room-shape svg { width: 100%; height: 100%; }
.room-shape path, .room-shape polygon { fill: #8bd131; fill-opacity: .18; stroke: #89d723; stroke-opacity: .2; transition: .2s ease; vector-effect: non-scaling-stroke; }
.room-shape:hover path, .room-shape:hover polygon, .room-shape.active path, .room-shape.active polygon, .room-shape:focus-visible path, .room-shape:focus-visible polygon { fill-opacity: .62; stroke: #111; stroke-opacity: 1; }
.room-tooltip { position: absolute; z-index: 4; left: 50%; bottom: calc(100% + 10px); width: max-content; padding: 9px 12px; background: #000; color: #fff; font-family: Poppins,sans-serif; font-size: 14px; line-height: 1.4; opacity: 0; visibility: hidden; transform: translate(-50%,5px); transition: .2s ease; pointer-events: none; }
.room-shape:hover .room-tooltip, .room-shape.active .room-tooltip, .room-shape:focus-visible .room-tooltip { opacity: 1; visibility: visible; transform: translate(-50%,0); }
.apartment-compass { position: absolute; right: 5rem; bottom: 5rem; width: 40px; }
.apartment-table-col { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; padding: 7rem 5% 7rem 6rem; color: #fff; background: linear-gradient(rgba(104,168,36,.96),rgba(106,168,36,.93)),url('/assets/rezidence_susicka_hero-scaled.webp') center/cover; }
.apartment-table-col h1, .apartment-mobile-heading { margin: 0 0 2rem; font-family: Sora,sans-serif; font-size: 5rem; line-height: 1.15; }
.apartment-table-col h1 { color: #fff; }
.apartment-table-col h1 span, .apartment-mobile-heading span { display: inline-block; padding: .6rem 1rem; border-radius: .4rem; background: var(--primary-dark,#195710); font-size: 2rem; font-weight: 400; }
.apartment-table-col h1 i, .apartment-mobile-heading i, .apartment-price i { margin: 0 1rem; opacity: .5; font-style: normal; font-weight: 300; }
.apartment-mobile-heading { display: none; color: #111; }
.apartment-price { margin: 0 0 2rem; font-size: 2.1rem; }
.apartment-price small { font-size: 1.6rem; font-weight: 400; }
.room-table { width: 100%; max-width: 70%; border-collapse: collapse; color: #fff; font-size: 1.6rem; }
.room-table th,.room-table td { padding: 10px; border-bottom: 1px solid #fff; text-align: left; }
.room-table tr { transition: .2s ease; }
.room-table tbody tr.active,.room-table tbody tr:hover,.room-table tbody tr:focus { background: #fff; color: #000; outline: none; }
.original-inquiry-button { margin-top: 2.8rem; padding: 1.8rem 3.2rem; border-radius: 4rem; background: var(--primary-dark,#195710); color: #fff; font-size: 1.8rem; font-weight: 500; }
.apartment-technical { padding: 0; background: #fff; }
.technical-grid { display: grid; grid-template-columns: 1fr 1fr; width: 100%; min-height: 70rem; }
.technical-panel { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 7rem 10% 7rem max(5%,calc((100vw - 1300px)/2)); color: #fff; background: linear-gradient(rgba(104,168,36,.94),rgba(104,168,36,.94)),url('/assets/image_52-960x514.webp') center/cover no-repeat; }
.technical-grid h2 { margin: 0 0 3.6rem; color: #fff; font-size: 3.3rem; }
.info-rows { width: min(55rem,100%); }
.info-rows > div { display: flex; justify-content: space-between; gap: 2rem; padding: 1.25rem 0; border-bottom: 1px solid rgba(255,255,255,.9); font-size: 1.7rem; }
.info-rows strong { text-align: right; }
.apartment-download { display: inline-flex; align-items: center; gap: 1rem; margin-top: 2.8rem; padding: 1.45rem 2.8rem; border-radius: 4rem; background: #fff; color: #222; font-size: 1.7rem; font-weight: 500; }
.apartment-download svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.apartment-download svg text { fill: currentColor; stroke: none; font-family: Arial,sans-serif; font-size: 5px; font-weight: 700; }
.apartment-slider { position: relative; min-width: 0; min-height: 70rem; overflow: hidden; background: #e6e7e8; }
.apartment-slider-track { position: absolute; inset: 0; display: flex; height: 100%; will-change: transform; transition: transform .7s cubic-bezier(.65,0,.35,1); }
.apartment-slide { flex: 0 0 100%; height: 100%; margin: 0; }
.apartment-slide img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.apartment-slide img:hover { transform: scale(1.03); }
.slider-arrow { position: absolute; z-index: 2; top: 50%; display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; padding: 0; border: 0; border-radius: 50%; background: var(--primary,#8bd131); color: #fff; cursor: pointer; transform: translateY(-50%); transition: background .2s ease; }
.slider-arrow svg { display: block; width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.slider-arrow:hover { background: var(--primary-hover,#69ad1d); }
.slider-prev { left: 10px; }
.slider-next { right: 10px; }
.apartment-interest { padding: 10rem 5% 4.5rem; background: #fff; }
.interest-inner { width: min(56rem,100%); margin: auto; }
.apartment-interest h2 { margin: 0 0 2rem; color: #292929; font-size: 4.8rem; line-height: 1.08; }
.apartment-interest h2 span { background: transparent; box-shadow: none; }
.interest-badge { display: inline-block; margin: 0 0 1.8rem; padding: .7rem 1rem; border-radius: .4rem; background: var(--primary,#8bd131); color: #fff; font-size: 2rem; }
.interest-badge i { margin: 0 1rem; opacity: .6; font-style: normal; }
.interest-price { margin: 0 0 2.5rem; font-size: 2.3rem; }
.interest-price small { font-size: 1.4rem; font-weight: 400; }
.apartment-interest p:last-child { font-size: 1.8rem; }
.apartment-form-section { padding: 5rem 5% 9rem; background: #65b61c; }
.apartment-form { display: grid; gap: 1.7rem; width: min(56rem,100%); margin: auto; color: #fff; font-size: 1.5rem; }
.apartment-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.apartment-form label { display: grid; gap: .5rem; }
.apartment-form label,.apartment-form p { color: #fff !important; }
.apartment-form input,.apartment-form textarea { width: 100%; padding: 1.25rem; border: 0; border-radius: .3rem; background: #fff; color: #222; font: inherit; }
.apartment-form textarea { min-height: 12rem; resize: vertical; }
.apartment-form p { margin: 0; }
.apartment-form a { color: #fff; text-decoration: underline; }
.apartment-form button { justify-self: start; padding: 1.5rem 3.2rem; border: 0; border-radius: 4rem; background: #175d0b; color: #fff; font-size: 1.6rem; font-weight: 700; cursor: pointer; }
.apartment-form-note { color: #3f7810; font-weight: 600; }
.new-apartment-plan { position: relative; display: block; width: 100%; height: auto; }
.new-apartment-plan > img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: fill; clip-path: inset(0 1% 1.8% 0); }
.new-apartment-plan > .apartment-full-svg { position: absolute; inset: 0; display: block; width: 100%; height: 100%; clip-path: inset(0 1% 1.8% 0); }
.apartment-room-overlay { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; overflow: visible; }
.apartment-room-shape { cursor: pointer; outline: none; }
.apartment-room-shape { fill: #8bd131 !important; fill-opacity: .2 !important; stroke: #89d723; stroke-opacity: .18; vector-effect: non-scaling-stroke; pointer-events: all; transition: fill-opacity .2s ease,stroke-opacity .2s ease; }
.apartment-room-shape:hover,.apartment-room-shape.active,.apartment-room-shape:focus-visible { fill-opacity: .62 !important; stroke: #111; stroke-opacity: 1; stroke-width: 2px; }
.apartment-room-live-tooltip { position: absolute; z-index: 5; display: block; width: max-content; max-width: 260px; padding: 12px 14px; border-radius: 0; background: #000; color: #fff; font-family: Poppins,sans-serif; font-size: 14px; line-height: 1.5; opacity: 0; visibility: hidden; transform: translate(-50%,calc(-100% - 13px)); pointer-events: none; transition: opacity .18s ease,visibility .18s ease; }
.apartment-room-live-tooltip::after { content: ""; position: absolute; top: 100%; left: 50%; border: 7px solid transparent; border-top-color: #000; transform: translateX(-50%); }
.apartment-room-live-tooltip strong { font-size: 18px; }
.apartment-room-live-tooltip .tooltip-status { color: #8bd131; }
.apartment-room-live-tooltip span { color: #9e9e9e; }
.apartment-room-live-tooltip.visible { opacity: 1; visibility: visible; }
@media(max-width:767px){.apartment-overview-grid,.technical-grid{grid-template-columns:1fr}.apartment-plan-col{flex-direction:column;padding:5rem 5% 7rem}.apartment-mobile-heading{display:block;font-size:3.2rem;text-align:center}.apartment-table-col h1{display:none}.apartment-table-col{padding:5rem 5%}.room-table{max-width:100%;font-size:1.3rem}.room-table thead{display:none}.apartment-compass{right:2rem;bottom:2rem}.technical-panel{padding:6rem 5%}.technical-grid h2{font-size:3.5rem}.apartment-slider{min-height:40rem}.apartment-interest{padding:7rem 5% 4rem}.apartment-interest h2{font-size:3.7rem}.apartment-form .form-row{grid-template-columns:1fr}.room-tooltip{display:none}}
@media(max-width:767px){.apartment-room-live-tooltip{display:none}}
