.apartman-page {
    --ap-red: #a51d24;
    --ap-dark-red: #7d1117;
    --ap-gold: #c7a66a;
    --ap-ink: #182026;
    --ap-muted: #606b73;
    --ap-line: #e3e7e9;
    --ap-soft: #f5f6f7;
    color: var(--ap-ink);
    background: #fff;
    font-size: 16px;
    line-height: 1.7;
}

.apartman-page *, .apartman-page *::before, .apartman-page *::after { box-sizing: border-box; }
.apartman-page a { transition: .2s ease; }
.apartman-page a:focus-visible, .apartman-page summary:focus-visible { outline: 3px solid rgba(165,29,36,.28); outline-offset: 3px; }
.ap-container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }

.ap-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; padding:0; list-style:none; color:var(--ap-muted); font-size:14px; }
.ap-breadcrumb li + li::before { content:"/"; margin-right:8px; color:#a1a8ad; }
.ap-breadcrumb a { color:var(--ap-red); text-decoration:none; }

.ap-hero {
    position:relative; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); gap:44px; align-items:center;
    overflow:hidden; margin-bottom:28px; padding:clamp(34px,6vw,72px); border-radius:26px; color:#fff;
    background:radial-gradient(circle at 88% 12%,rgba(199,166,106,.25),transparent 28%),linear-gradient(135deg,#151b20,#252e34);
    box-shadow:0 22px 60px rgba(16,25,31,.18);
}
.ap-hero::after { content:""; position:absolute; right:-90px; bottom:-150px; width:330px; height:330px; border:1px solid rgba(255,255,255,.09); border-radius:50%; }
.ap-kicker { display:inline-flex; align-items:center; gap:9px; margin-bottom:14px; color:#ead39f; font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.ap-kicker::before { content:""; width:28px; height:2px; background:var(--ap-gold); }
.ap-hero h2 { max-width:780px; margin:0 0 18px; color:#fff; font-size:clamp(34px,5vw,58px); font-weight:800; line-height:1.08; letter-spacing:-.035em; }
.ap-hero p { max-width:760px; margin:0; color:rgba(255,255,255,.76); font-size:clamp(17px,2vw,20px); line-height:1.7; }
.ap-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.ap-button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; padding:12px 22px; border:1px solid transparent; border-radius:10px; font-weight:800; line-height:1.2; text-decoration:none!important; }
.ap-button-primary { color:#fff!important; background:var(--ap-red); box-shadow:0 10px 24px rgba(165,29,36,.26); }
.ap-button-primary:hover { color:#fff!important; background:#bd252d; transform:translateY(-2px); }
.ap-button-light { border-color:rgba(255,255,255,.34); color:#fff!important; background:rgba(255,255,255,.06); }
.ap-button-light:hover { border-color:rgba(255,255,255,.65); color:#fff!important; background:rgba(255,255,255,.12); }

.ap-hero-stats { position:relative; z-index:1; display:grid; gap:12px; }
.ap-stat { padding:17px 20px; border:1px solid rgba(255,255,255,.11); border-radius:14px; background:rgba(255,255,255,.07); backdrop-filter:blur(8px); }
.ap-stat strong { display:block; color:#fff; font-size:23px; line-height:1.2; }
.ap-stat span { color:rgba(255,255,255,.65); font-size:14px; }

.ap-benefits { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:28px 0 76px; }
.ap-benefit { position:relative; min-height:112px; padding:22px 20px 20px 62px; border:1px solid var(--ap-line); border-radius:15px; background:#fff; box-shadow:0 8px 24px rgba(24,32,38,.05); }
.ap-benefit::before { content:"✓"; position:absolute; top:24px; left:20px; display:grid; width:30px; height:30px; place-items:center; border-radius:50%; color:#fff; background:var(--ap-red); font-weight:900; }
.ap-benefit strong { display:block; margin-bottom:4px; }
.ap-benefit span { color:var(--ap-muted); font-size:14px; line-height:1.45; }

.ap-section { margin:0 0 82px; scroll-margin-top:100px; }
.ap-section-heading { display:grid; grid-template-columns:minmax(0,.8fr) minmax(300px,1.2fr); gap:44px; align-items:end; margin-bottom:30px; }
.ap-eyebrow { display:block; margin-bottom:8px; color:var(--ap-red); font-size:13px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.ap-section h2 { margin:0; color:var(--ap-ink); font-size:clamp(28px,4vw,42px); font-weight:800; line-height:1.18; letter-spacing:-.025em; }
.ap-section-heading p { margin:0; color:var(--ap-muted); font-size:17px; line-height:1.75; }


.ap-guide { padding:clamp(30px,5vw,56px); border-radius:24px; background:var(--ap-soft); }
.ap-guide > h2 { max-width:760px; margin-bottom:28px; }
.ap-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ap-guide-card { padding:26px; border:1px solid rgba(24,32,38,.08); border-radius:15px; background:#fff; }
.ap-guide-card h3 { margin:0 0 10px; color:var(--ap-ink); font-size:20px; font-weight:800; }
.ap-guide-card p { margin:0; color:var(--ap-muted); font-size:15px; line-height:1.7; }

.ap-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:30px; padding:0; list-style:none; counter-reset:step; }
.ap-process li { position:relative; min-height:195px; padding:64px 22px 24px; border:1px solid var(--ap-line); border-radius:16px; counter-increment:step; }
.ap-process li::before { content:"0" counter(step); position:absolute; top:20px; left:22px; color:var(--ap-red); font-size:27px; font-weight:900; line-height:1; }
.ap-process strong { display:block; margin-bottom:8px; color:var(--ap-ink); font-size:18px; }
.ap-process span { color:var(--ap-muted); font-size:14px; line-height:1.6; }
.ap-price-note { margin-top:22px; padding:17px 20px; border-left:4px solid var(--ap-red); border-radius:0 10px 10px 0; color:var(--ap-muted); background:#fff8f8; }
.ap-price-note a { color:var(--ap-red); font-weight:800; }

.ap-faq-list { display:grid; gap:12px; margin-top:28px; }
.ap-faq { overflow:hidden; border:1px solid var(--ap-line); border-radius:13px; background:#fff; }
.ap-faq summary { position:relative; cursor:pointer; padding:20px 58px 20px 22px; color:var(--ap-ink); font-weight:800; list-style:none; }
.ap-faq summary::-webkit-details-marker { display:none; }
.ap-faq summary::after { content:"+"; position:absolute; top:50%; right:20px; width:28px; height:28px; border-radius:50%; color:#fff; background:var(--ap-red); font-size:20px; font-weight:500; line-height:27px; text-align:center; transform:translateY(-50%); }
.ap-faq[open] summary::after { content:"–"; }
.ap-faq p { margin:0; padding:0 22px 22px; color:var(--ap-muted); line-height:1.75; }

.ap-cta { position:relative; overflow:hidden; padding:clamp(36px,6vw,66px); border-radius:24px; color:#fff; background:linear-gradient(135deg,var(--ap-dark-red),var(--ap-red)); text-align:center; }
.ap-cta::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 15% 25%,rgba(255,255,255,.13),transparent 26%); pointer-events:none; }
.ap-cta h2, .ap-cta p, .ap-cta .ap-actions { position:relative; z-index:1; }
.ap-cta h2 { max-width:800px; margin:0 auto 14px; color:#fff; }
.ap-cta p { max-width:760px; margin:0 auto; color:rgba(255,255,255,.78); font-size:17px; }
.ap-cta .ap-actions { justify-content:center; }
.ap-cta .ap-button-primary { color:var(--ap-dark-red)!important; background:#fff; }
.ap-cta .ap-button-primary:hover { color:var(--ap-dark-red)!important; background:#fff6f6; }

@media (max-width:991px) {
    .ap-hero { grid-template-columns:1fr; gap:30px; }
    .ap-hero-stats { grid-template-columns:repeat(3,1fr); }
    .ap-benefits, .ap-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ap-section-heading { grid-template-columns:1fr; gap:14px; }
}

@media (max-width:640px) {
    .ap-container { width:min(100% - 22px,1180px); }
    .ap-hero { gap:24px; padding:30px 22px; border-radius:18px; }
    .ap-hero h2 { font-size:34px; }
    .ap-actions, .ap-actions .ap-button { width:100%; }
    .ap-hero-stats, .ap-benefits, .ap-guide-grid, .ap-process { grid-template-columns:1fr; }
    .ap-stat { padding:14px 17px; }
    .ap-benefits { margin-bottom:60px; }
    .ap-section { margin-bottom:62px; }
    .ap-guide { padding:28px 18px; border-radius:18px; }
    .ap-process li { min-height:0; }
    .ap-cta { padding:38px 22px; border-radius:18px; }
}

@media (prefers-reduced-motion:reduce) {
    .apartman-page *, .apartman-page *::before, .apartman-page *::after { scroll-behavior:auto!important; transition:none!important; }
}

.ap-section { scroll-margin-top: 100px; }
.ap-quick-links { display: flex; flex-wrap: wrap; gap: 12px 22px; margin: 0 0 28px; }
.ap-quick-links a { color: var(--ap-red); font-weight: 700; }
.ap-price-table { margin-top: 22px; border: 1px solid var(--ap-line); border-radius: 14px; }
.ap-price-table > summary { padding: 18px 22px; cursor: pointer; font-weight: 800; color: var(--ap-ink); }
.ap-table-scroll { max-width: 100%; overflow-x: auto; padding: 0 16px 16px; }
.ap-comparison { width: 100%; min-width: 680px; border-collapse: collapse; font-size: 14px; }
.ap-comparison caption { text-align: left; padding: 12px 0; color: var(--ap-muted); caption-side: top; }
.ap-comparison th, .ap-comparison td { padding: 13px 10px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--ap-line); }
.ap-comparison thead th { background: var(--ap-soft); }
.ap-comparison a { color: var(--ap-red); }
.ap-comparison td:last-child { min-width: 190px; font-weight: 700; }
.ap-price-scope { margin: 26px 0 0; padding: 24px; border-radius: 14px; background: var(--ap-soft); scroll-margin-top: 100px; }
.ap-price-scope h3 { font-size: 22px; font-weight: 800; }
.ap-price-scope li + li { margin-top: 8px; }
.ap-price-scope p:last-child { margin-bottom: 0; }
.apartman-page .store-card-description { display: block; overflow: visible; -webkit-line-clamp: unset; }
.apartman-page .catalog-toolbar { margin-top: 0; }
.apartman-page .ap-table-scroll:focus-visible { outline: 3px solid var(--ap-red); outline-offset: -3px; }

