/** Apartman single — Figma 1738:4477. Values taken from the frame, per breakpoint. */
.pnr-apt-page { background: #faf8f4; color: #1d1b18; }

/* Hero: 1920x799, photo + scrim, centred copy block 550 wide. */
.pnr-apt-hero { position: relative; height: 799px; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 63px; color: #fff; background: var(--apt-hero) center/cover no-repeat; overflow: hidden; }
.pnr-apt-hero__scrim { position: absolute; inset: 0; background:
	/* Apartment heroes are bright interiors, so the band under the header is
	   stronger than on the darker landscape heroes — the logo must separate. */
	linear-gradient(180deg, rgba(20,16,12,.72), rgba(20,16,12,.34) 138px, rgba(20,16,12,0) 300px),
	linear-gradient(180deg, transparent calc(100% - 579px), rgba(20,16,12,.65) calc(100% - 285px), rgba(20,16,12,.84)); }
.pnr-apt-hero__copy { position: relative; z-index: 1; max-width: min(100%, 1100px); display: flex; flex-direction: column; align-items: center; gap: 19px; text-align: center; }
.pnr-apt-hero__copy > span, .pnr-apt-hero__copy > p { max-width: 550px; }
.pnr-apt-hero__copy h1 { margin: 0; width: max-content; max-width: 1100px; font: 200 96px/91px var(--font-display); letter-spacing: -4.2px; }
.pnr-apt-hero__copy > span { color: rgba(232,183,90,.92); font: 300 16px/20px var(--font-display); letter-spacing: 7.48px; text-transform: uppercase; }
.pnr-apt-hero__subtitle { color: #fff; font: 300 18px/24px var(--font-body); }
.pnr-apt-hero__copy > p { margin: 0; color: rgba(255,255,255,.92); font: 300 20px/26px var(--font-body); }
.pnr-apt-hero__actions { display: flex; gap: 28px; }
.pnr-apt-hero__btn { min-height: 53px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 17px 36px; border-radius: 2px; color: #fff; font: 400 13px/19px var(--font-body); letter-spacing: 1.82px; text-transform: uppercase; transition: background-color 180ms ease, border-color 180ms ease; }
.pnr-apt-hero__btn span { white-space: nowrap; }
.pnr-apt-hero__btn svg { flex: none; }
.pnr-apt-hero__btn--solid { background: #be812b; }
.pnr-apt-hero__btn--solid:hover, .pnr-apt-hero__btn--solid:focus-visible { background: #a76e21; }
.pnr-apt-hero__btn--ghost { border: 1px solid rgba(255,255,255,.9); }
.pnr-apt-hero__btn--ghost:hover, .pnr-apt-hero__btn--ghost:focus-visible { background: rgba(255,255,255,.12); }

/* 1200–1919: the frame scales with the viewport, like the other pages. */
@media (min-width: 1200px) and (max-width: 1919px) {
	.pnr-apt-hero { height: 41.614583vw; }
	.pnr-apt-hero__copy > span, .pnr-apt-hero__copy > p { max-width: 28.645833vw; }
	.pnr-apt-hero__copy h1 { font-size: max(11px, 5vw); line-height: 4.75vw; letter-spacing: -.21875vw; }
	.pnr-apt-hero__copy > span { margin-top: .989583vw; font-size: max(11px, .833333vw); letter-spacing: .389583vw; }
	.pnr-apt-hero__subtitle { font-size: max(11px, .9375vw); line-height: 1.25; }
	.pnr-apt-hero__copy > p { margin-top: 1.197917vw; font-size: max(11px, 1.041667vw); line-height: 1.354167vw; }
	.pnr-apt-hero__actions { gap: 1.458333vw; margin-top: 2.864583vw; }
	.pnr-apt-hero__actions a { min-height: 2.760417vw; padding-inline: 1.875vw; font-size: max(11px, .677083vw); }
}

@media (max-width: 1199px) {
	.pnr-apt-hero__copy h1 { font-size: clamp(40px, 7vw, 76px); line-height: 1.02; letter-spacing: -.03em; }
}

@media (max-width: 760px) {
	.pnr-apt-hero { height: auto; min-height: 620px; padding: 120px 20px 56px; align-items: flex-end; }
	.pnr-apt-hero__copy > span, .pnr-apt-hero__copy > p { max-width: 100%; }
	.pnr-apt-hero__copy h1 { font-size: 40px; line-height: 1.05; letter-spacing: -.02em; }
	.pnr-apt-hero__copy > span { margin-top: 14px; font-size: 11px; letter-spacing: 4px; }
	.pnr-apt-hero__subtitle { font-size: 14px; line-height: 1.4; }
	.pnr-apt-hero__copy > p { margin-top: 16px; font-size: 16px; line-height: 1.5; }
	.pnr-apt-hero__actions { flex-direction: column; align-self: stretch; gap: 10px; margin-top: 28px; }
	.pnr-apt-hero__actions a { min-height: 48px; }
}

/* Body — keep the shared site container intact. The 1432px Figma grid is
   centred inside the regular 1600px content area (84px remain on each side). */
.pnr-apt-body { padding-block: 53px 0; }
.pnr-apt-body__grid { display: grid; grid-template-columns: 940px 396px; gap: 96px; align-items: start; justify-content: center; }
.pnr-apt-main { min-width: 0; }

/* Intro: vertical stack, gap 24, 44 below; rule 60x1; lead 749, note 611 wide. */
.pnr-apt-intro { display: flex; flex-direction: column; gap: 24px; padding-bottom: 44px; }
.pnr-apt-section__eyebrow { margin-bottom: 12px; color: #be812b; }
.pnr-apt-intro h2 { margin: 0; color: #1a1714; font: 300 52px/56px var(--font-display); letter-spacing: -.02em; }
.pnr-apt-intro__rule { width: 60px; height: 1px; background: rgba(20,16,12,.2); }
.pnr-apt-intro__lead { max-width: 749px; margin: 0; color: #4a443b; font: 300 18px/1.6 var(--font-body); }
.pnr-apt-intro__note { max-width: 611px; margin: 0; color: #6e655a; font: 300 16px/1.65 var(--font-body); }

/* Facts strip: 34 padding, four 212 columns, 30 gap, icon 20 above the label. */
.pnr-apt-facts { display: grid; grid-template-columns: repeat(4, 212px); gap: 30px; margin: 0; padding-block: 34px; border-block: 1px solid rgba(20,16,12,.12); }
.pnr-apt-facts div { display: flex; flex-direction: column; }
.pnr-apt-facts__icon { width: 20px; height: 20px; display: block; margin-bottom: 11px; color: #a87631; }
.pnr-apt-facts__icon svg { display: block; width: 20px; height: 20px; }
.pnr-apt-facts dt { color: #8a7f6b; font: 400 14px/18px var(--font-body); letter-spacing: .12em; text-transform: uppercase; }
.pnr-apt-facts dd { margin: 5px 0 0; color: #1a1714; font: 300 20px/27px var(--font-display); }

/* Sections carry their own 58 padding — the column itself has no gaps. */
.pnr-apt-section { padding-block: 58px; border-top: 1px solid rgba(20,16,12,.12); }
.pnr-apt-section:first-of-type { border-top: 0; }
.pnr-apt-section--flush { padding-bottom: 0; }
.pnr-apt-section__title { margin: 0; color: #1a1714; font: 300 34px/38px var(--font-display); letter-spacing: -.01em; }
.pnr-apt-section__lead { max-width: 760px; margin: 18px 0 0; color: #4a443b; font: 300 16px/1.65 var(--font-body); }
.pnr-apt-section__note { max-width: 760px; margin: 24px 0 0; color: #6e655a; font: 300 14px/1.6 var(--font-body); }

/* Raspored prostora: plan 506 + list 390, gap 44, heading gap 30. */
.pnr-apt-layout__grid { display: grid; grid-template-columns: 506px 390px; gap: 44px; align-items: start; margin-top: 30px; }
.pnr-apt-layout__plan { min-height: 347px; padding: 28px; border: 1px solid rgba(20,16,12,.10); background: #f4eee4; }
.pnr-apt-layout__list { display: flex; flex-direction: column; gap: 9px; margin: 0; padding: 0; list-style: none; }
.pnr-apt-layout__list li { min-height: 53px; display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid rgba(20,16,12,.12); color: #4a443b; font: 300 16px/23px var(--font-body); }
.pnr-apt-layout__list i { width: 8px; height: 8px; flex: none; border-radius: 4px; background: rgba(20,16,12,.2); }

.pnr-apt-amenities { display: grid; grid-template-columns: repeat(2, 435px); gap: 0 70px; margin-top: 28px; }
.pnr-apt-amenities div { min-height: 113px; display: flex; gap: 20px; padding: 20px 6px; border-bottom: 1px solid rgba(20,16,12,.1); }
.pnr-apt-amenities__icon { width: 21px; height: 21px; flex: none; color: #a87631; }
.pnr-apt-amenities__icon svg { display: block; width: 21px; height: 21px; }
.pnr-apt-amenities__copy { min-width: 0; }
.pnr-apt-amenities strong { display: block; color: #8a7f6b; font: 400 14px/18px var(--font-body); letter-spacing: .12em; text-transform: uppercase; }
.pnr-apt-amenities p { margin: 7px 0 0; color: #4a443b; font: 300 16px/1.6 var(--font-body); }

/* Specifikacija: full-width rows 51 tall, 15 padding. Pravila: two columns, rows 50. */
.pnr-apt-specs { margin: 26px 0 0; }
.pnr-apt-rules { display: grid; grid-template-columns: repeat(2, 435px); gap: 0 70px; margin: 26px 0 0; }
.pnr-apt-specs div, .pnr-apt-rules div { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; padding-block: 15px; border-bottom: 1px solid rgba(20,16,12,.1); }
.pnr-apt-specs div { min-height: 51px; }
.pnr-apt-rules div { min-height: 50px; }
.pnr-apt-specs dt, .pnr-apt-rules dt { color: #6e655a; font: 300 16px/1.5 var(--font-body); }
.pnr-apt-rules dt { display: flex; align-items: center; gap: 12px; }
.pnr-apt-rules dt svg { width: 17px; height: 17px; flex: none; color: #a87631; }
.pnr-apt-specs dd, .pnr-apt-rules dd { margin: 0; color: #1a1714; font: 400 16px/1.5 var(--font-body); text-align: right; }

.pnr-apt-faq header { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; }
.pnr-apt-faq header > span { min-width: 0; }
.pnr-apt-faq header a { color: #9f7130; font: 400 14px/18px var(--font-body); letter-spacing: .1em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; }
.pnr-apt-faq details { border-bottom: 1px solid rgba(20,16,12,.1); }
.pnr-apt-faq details:first-of-type { margin-top: 28px; border-top: 1px solid rgba(20,16,12,.1); }
.pnr-apt-faq summary { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; cursor: pointer; color: #1a1714; font: 400 18px/1.4 var(--font-body); list-style: none; }
.pnr-apt-faq summary::-webkit-details-marker { display: none; }
.pnr-apt-faq summary i { position: relative; width: 22px; height: 22px; flex: none; border: 1px solid rgba(190,129,43,.5); border-radius: 50%; }
.pnr-apt-faq summary i::before, .pnr-apt-faq summary i::after { content: ""; position: absolute; top: 10px; left: 5px; width: 10px; height: 1px; background: #b58136; }
.pnr-apt-faq summary i::after { transform: rotate(90deg); transition: transform .25s ease; }
.pnr-apt-faq details[open] summary i::after { transform: rotate(0); }
.pnr-apt-faq details p { margin: -6px 40px 24px 0; color: #6e655a; font: 300 16px/1.65 var(--font-body); }

/* Aside: stack gap 14; card 32 padding, gap 20; CTA 56 tall. */
.pnr-apt-aside { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 14px; }
.pnr-apt-book { display: flex; flex-direction: column; gap: 20px; padding: 32px; border: 1px solid rgba(20,16,12,.14); background: #fdfbf8; box-shadow: 0 18px 50px rgba(20,16,12,.09); }
.pnr-apt-book__price { display: none; align-items: baseline; gap: 9px; padding-bottom: 16px; }
.pnr-apt-book__price small { color: #6f6558; font: 300 14px/18px var(--font-body); }
.pnr-apt-book__price strong { color: #1a1714; font: 400 28px/28px var(--font-display); }
.pnr-apt-book__price em { color: #6f6558; font: 300 14px/18px var(--font-body); font-style: normal; }
.pnr-apt-book__badge { margin-left: auto; color: #be812b; font: 400 10px/13px var(--font-body); letter-spacing: .06em; text-transform: uppercase; }
.pnr-apt-book__form { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid rgba(20,16,12,.18); }
.pnr-apt-book__form > p { display: contents; margin: 0; }
.pnr-apt-book__form label { display: flex; min-width: 0; flex-direction: column; gap: 5px; padding: 15px 17px; }
.pnr-apt-book__form label:nth-of-type(2) { border-left: 1px solid rgba(20,16,12,.18); }
.pnr-apt-book__form label:nth-of-type(3) { grid-column: 1 / -1; border-top: 1px solid rgba(20,16,12,.18); }
.pnr-apt-book__form label span { color: #8a7f6b; font: 400 9.5px/12px var(--font-body); letter-spacing: .1em; text-transform: uppercase; }
.pnr-apt-book__form input, .pnr-apt-book__form select { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; background: transparent; color: #1a1714; font: 300 15.5px/20px var(--font-body); }
.pnr-apt-book__form select { appearance: none; cursor: pointer; }
.pnr-apt-book__submit { grid-column: 1 / -1; min-height: 56px; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 20px 24px; border: 0; border-radius: 2px; background: #be812b; color: #fff; font: 400 13.5px/17px var(--font-body); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: background-color 180ms ease; }
.pnr-apt-book__submit:hover, .pnr-apt-book__submit:focus-visible { background: #a76e21; }
.pnr-apt-book__note { margin: 0; color: #8a7f6b; font: 300 13px/16px var(--font-body); text-align: center; }
.pnr-apt-book__rows { display: flex; flex-direction: column; gap: 2px; margin: 0; padding-top: 16px; border-top: 1px solid rgba(20,16,12,.12); }
.pnr-apt-book__rows div { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-block: 9px; }
.pnr-apt-book__rows dt { color: #4a443b; font: 300 14.5px/18px var(--font-body); }
.pnr-apt-book__rows dd { margin: 0; color: #1a1714; font: 400 14.5px/18px var(--font-body); }
.pnr-apt-book__total { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-top: 8px; padding-top: 14px; border-top: 1px solid rgba(20,16,12,.12); }
.pnr-apt-book__total strong { color: #1a1714; font: 400 16px/20px var(--font-body); }
.pnr-apt-book__total b { color: #1a1714; font: 400 20px/25px var(--font-display); }
.pnr-apt-direct { display: flex; flex-direction: column; gap: 14px; padding: 26px; background: #16130f; }
.pnr-apt-direct strong { color: #e8b75a; font: 400 10.5px/13px var(--font-body); letter-spacing: .12em; text-transform: uppercase; }
.pnr-apt-direct p { margin: 0; color: #cfc6b3; font: 300 16px/25px var(--font-body); }
.pnr-apt-direct__links { display: flex; flex-direction: column; gap: 10px; padding-top: 12px; border-top: 1px solid rgba(233,224,207,.16); }
.pnr-apt-direct a { color: #f1e9d8; font: 300 14.5px/18px var(--font-body); }
.pnr-apt-direct a:hover { color: #e8b75a; }

/* Other categories (1738:4970): cream band, two 790x411 bordered cards,
   image 230 tall on top, copy below with a rule above the meta row. */
.pnr-apt-others { padding: 108px 0; background: #f4eee4; }
.pnr-apt-others__head { display: flex; flex-direction: column; gap: 12px; }
.pnr-apt-others__head .pnr-eyebrow { color: #be812b; font: 400 14px/18px var(--font-body); letter-spacing: 3.45px; text-transform: uppercase; }
.pnr-apt-others__head .pnr-title { color: #1a1714; font: 300 60px/63px var(--font-display); letter-spacing: -1.2px; }
.pnr-apt-others__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 40px; }
.pnr-apt-other { display: flex; flex-direction: column; border: 1px solid rgba(20,16,12,.11); background: #faf8f4; }
.pnr-apt-other__image { position: relative; height: 230px; display: block; overflow: hidden; background: #e9e0cf; }
.pnr-apt-other__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 600ms ease; }
.pnr-apt-other__image::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.04); }
.pnr-apt-other:hover .pnr-apt-other__image img { transform: scale(1.03); }
.pnr-apt-other__body { display: flex; flex-direction: column; gap: 11px; padding: 30px; }
.pnr-apt-other__body strong { color: #1a1714; font: 300 27px/31px var(--font-display); letter-spacing: -.41px; }
.pnr-apt-other__body em { color: #6f6558; font: 300 15px/26px var(--font-body); font-style: normal; }
.pnr-apt-other__foot { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 8px; padding-top: 14px; border-top: 1px solid rgba(20,16,12,.10); }
.pnr-apt-other__foot small { color: #8a7f6b; font: 300 13.5px/17px var(--font-body); }
.pnr-apt-other__more { display: inline-flex; align-items: center; gap: 10px; color: #be812b; font: 400 11.5px/14px var(--font-body); letter-spacing: 1.84px; text-transform: uppercase; }
.pnr-apt-other__more svg { flex: none; }
.pnr-apt-page .pnr-taste-related { padding-block: 96px 144px; border-top: 1px solid rgba(20,16,12,.08); background: #faf8f4; }
@media (max-width: 760px) {
	.pnr-apt-others { padding-top: 56px; }
	.pnr-apt-others__head .pnr-title { font-size: 32px; }
	.pnr-apt-others__grid { grid-template-columns: 1fr; gap: 16px; margin-top: 32px; }
	.pnr-apt-other { min-height: 360px; }
	.pnr-apt-other__copy { left: 20px; right: 20px; bottom: 66px; }
	.pnr-apt-other__link { left: 20px; right: auto; bottom: 26px; }
	.pnr-apt-page .pnr-taste-related { padding-block: 56px 64px; }
}

/* ── Responsive cascade. The body grid is 940+396 with an 84 inset only while
   the 1600 container fits; below that everything is fluid. ── */
@media (max-width: 1599px) {
	.pnr-apt-body__grid { grid-template-columns: minmax(0, 1fr) 396px; gap: 56px; }
	.pnr-apt-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.pnr-apt-layout__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
	.pnr-apt-layout__plan { min-height: 280px; }
	.pnr-apt-amenities, .pnr-apt-rules { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
}
@media (max-width: 1100px) {
	.pnr-apt-body__grid { grid-template-columns: minmax(0, 1fr); gap: 48px; }
	.pnr-apt-aside { position: static; max-width: 460px; }
	.pnr-apt-others__grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
@media (max-width: 860px) {
	.pnr-apt-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
	.pnr-apt-layout__grid, .pnr-apt-amenities, .pnr-apt-rules { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.pnr-apt-amenities div { min-height: 0; }
}
@media (max-width: 640px) {
	.pnr-apt-body { padding-top: 24px; }
	.pnr-apt-aside { max-width: none; }
	.pnr-apt-book, .pnr-apt-direct { padding: 20px; }
	.pnr-apt-book__form { grid-template-columns: 1fr; }
	.pnr-apt-book__form label:nth-of-type(2) { border-left: 0; border-top: 1px solid rgba(20,16,12,.18); }
	.pnr-apt-other__body { padding: 20px; }
	.pnr-apt-other__foot { flex-direction: column; align-items: flex-start; gap: 10px; }
	.pnr-apt-others { padding: 56px 0; }
	.pnr-apt-others__head .pnr-title { font-size: 32px; line-height: 1.1; }
	.pnr-apt-page .pnr-taste-related { padding-block: 56px 64px; }
}
@media (max-width: 860px) {
	.pnr-apt-hero__actions { flex-wrap: wrap; }
	.pnr-apt-hero__actions > a { flex: 0 0 auto; }
}
@media (max-width: 560px) {
	.pnr-apt-hero__actions > a { flex: 1 1 100%; justify-content: center; }
}

/* No floor plan uploaded yet — the list takes the full row instead of leaving
   an empty panel. */
.pnr-apt-layout__grid--noplan { grid-template-columns: minmax(0, 1fr); }

@media (max-width: 640px) {
	.pnr-apt-others { padding-inline: 20px; }
	.pnr-apt-others__grid { padding-inline: 0; }
}
