:root {
  --cream: #fbf7ef; --cream-2: #f3eadc; --white: #ffffff;
  --text: #232323; --muted: #6f6b65; --soft: #8a8378;
  --gold: #c89b3c; --gold-2: #e3bd69; --gold-dark: #9e762a;
  --line: rgba(43,39,33,.12); --shadow: 0 22px 70px rgba(85,64,30,.15); --shadow-soft: 0 12px 35px rgba(85,64,30,.11);
  --radius: 26px;
  --hero-img: url("/images/hero-plastove-okna-presov.webp");
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: Inter, Arial, sans-serif; color: var(--text); background: var(--cream); line-height: 1.5; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
h1, h2, h3, .section-title, .serif { font-family: "Playfair Display", Georgia, "Times New Roman", serif; }
.page { min-height: 100vh; background: radial-gradient(circle at top left, rgba(227,189,105,.22), transparent 32%), linear-gradient(180deg, #fffaf2 0%, #f4eadb 100%); }

/* HEADER */
.header { position: fixed; top: 0; left: 0; z-index: 100; width: 100%; height: 88px; background: rgba(255,250,242,.84); backdrop-filter: blur(24px); border-bottom: 1px solid rgba(60,48,31,.1); }
.nav-wrap { width: min(1440px, calc(100% - 64px)); height: 100%; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.brand { display: flex; align-items: center; gap: 15px; }
.brand-logo { height: 54px; width: auto; display: block; }
.brand-mark { width: 48px; height: 48px; border: 1.6px solid var(--gold); display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 6px; border-radius: 3px; box-shadow: 0 10px 30px rgba(200,155,60,.16); flex: 0 0 auto; }
.brand-mark span { border: 1.4px solid var(--gold); }
.brand-text strong { display: block; color: var(--gold-dark); letter-spacing: 6px; font-size: 15px; line-height: 1.1; font-weight: 900; font-family: Inter, sans-serif; }
.brand-text small { display: block; margin-top: 5px; color: #2b2b2b; font-size: 13px; font-weight: 500; }
.nav { display: flex; align-items: center; gap: 34px; font-size: 15px; font-weight: 700; color: #2d2c2a; }
.nav a { position: relative; transition: .25s ease; }
.nav a:hover, .nav a.active { color: var(--gold-dark); }
.nav a.active::after { content: ""; position: absolute; left: 0; bottom: -17px; width: 30px; height: 2px; background: var(--gold); }
.nav-actions { display: flex; align-items: center; gap: 22px; white-space: nowrap; }
.phone { display: flex; align-items: center; gap: 10px; color: var(--gold-dark); font-weight: 800; }
.phone svg { width: 20px; }
.divider { height: 30px; width: 1px; background: rgba(60,48,31,.18); }
.btn { min-height: 54px; padding: 0 31px; border-radius: 999px; border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; gap: 12px; font-weight: 900; font-size: 15px; cursor: pointer; transition: .25s ease; }
.btn-gold { color: #17130d; background: linear-gradient(135deg, #e9c976 0%, #c99b3d 100%); box-shadow: 0 18px 45px rgba(200,155,60,.27); }
.btn-gold:hover { transform: translateY(-2px); box-shadow: 0 22px 60px rgba(200,155,60,.34); }
.btn-light, .btn-outline { color: #1f1f1f; background: rgba(255,255,255,.74); border-color: rgba(60,48,31,.12); box-shadow: var(--shadow-soft); backdrop-filter: blur(16px); }
.btn-light:hover, .btn-outline:hover { border-color: rgba(200,155,60,.48); color: var(--gold-dark); transform: translateY(-2px); }
.mobile-menu { display: none; width: 46px; height: 46px; border: 1px solid rgba(60,48,31,.12); background: rgba(255,255,255,.65); border-radius: 50%; font-size: 22px; color: var(--text); cursor: pointer; }
.mnav { display: none; position: fixed; top: 88px; left: 0; right: 0; z-index: 99; background: rgba(255,250,242,.97); backdrop-filter: blur(22px); border-bottom: 1px solid var(--line); padding: 14px 0; }
.mnav.open { display: block; }
.mnav a { display: block; width: min(1440px, calc(100% - 64px)); margin: 0 auto; padding: 14px 4px; font-weight: 700; color: #2d2c2a; border-bottom: 1px solid rgba(60,48,31,.07); }

/* HERO */
.hero { position: relative; min-height: 760px; padding-top: 88px; display: flex; align-items: center; isolation: isolate;
  background: linear-gradient(90deg, rgba(255,250,242,.96) 0%, rgba(255,250,242,.88) 32%, rgba(255,250,242,.45) 56%, rgba(255,250,242,.05) 100%), linear-gradient(180deg, rgba(255,250,242,.04) 0%, rgba(255,250,242,.82) 92%, rgba(255,250,242,1) 100%), var(--hero-img);
  background-size: cover; background-position: center right; }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 190px; background: linear-gradient(180deg, transparent, #fffaf2 72%); z-index: -1; pointer-events: none; }
.hero-inner { width: min(1440px, calc(100% - 64px)); margin: 0 auto; padding: 78px 0 64px; position: relative; z-index: 2; }
.hero-content { width: min(690px, 100%); }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px; border-radius: 999px; background: rgba(255,255,255,.78); border: 1px solid rgba(200,155,60,.18); box-shadow: 0 12px 30px rgba(90,65,28,.08); color: var(--gold-dark); font-size: 13px; font-weight: 900; letter-spacing: .7px; text-transform: uppercase; margin-bottom: 24px; backdrop-filter: blur(14px); }
.eyebrow span { font-size: 16px; }
h1 { font-size: clamp(50px, 6.3vw, 88px); line-height: .95; letter-spacing: -3px; font-weight: 600; color: #242424; margin-bottom: 26px; }
h1 em { display: block; color: var(--gold); font-style: normal; }
.lead { max-width: 555px; color: #5f5b55; font-size: clamp(18px, 2vw, 21px); margin-bottom: 32px; }
.hero-buttons { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.micro-note { display: flex; align-items: center; gap: 9px; color: #817a6e; font-size: 15px; margin-bottom: 30px; }
.micro-note svg { width: 18px; color: var(--gold); flex: 0 0 auto; }
.trust-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 36px; }
.trust-card { min-height: 104px; padding: 22px 24px; border-radius: 18px; display: flex; align-items: center; gap: 17px; background: rgba(255,255,255,.74); border: 1px solid rgba(60,48,31,.09); box-shadow: 0 16px 40px rgba(91,70,35,.09); backdrop-filter: blur(18px); transition: .25s ease; }
.trust-card:hover { transform: translateY(-3px); border-color: rgba(200,155,60,.4); }
.trust-icon { width: 46px; height: 46px; border-radius: 13px; border: 1px solid rgba(200,155,60,.45); display: grid; place-items: center; color: var(--gold); font-size: 21px; flex: 0 0 auto; background: rgba(255,250,242,.6); }
.trust-card strong { display: block; color: #2c2b29; font-size: 16px; margin-bottom: 3px; font-family: Inter, sans-serif; font-weight: 700; }
.trust-card small { color: #777066; font-size: 14px; }

/* PAGE HERO (subpages) */
.page-hero { position: relative; padding: 88px 0 0; }
.page-hero-inner { position: relative; min-height: 360px; display: flex; align-items: center; background-size: cover; background-position: center; }
.page-hero-inner::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,250,242,.95) 0%, rgba(255,250,242,.8) 52%, rgba(255,250,242,.4) 100%); }
.page-hero-inner::after { content: ""; position: absolute; inset: auto 0 0; height: 120px; background: linear-gradient(180deg, transparent, #fffaf2); }
.page-hero .container { position: relative; z-index: 2; padding: 70px 0; }
.page-hero h1 { font-size: clamp(40px, 5vw, 66px); margin-bottom: 14px; }
.breadcrumb { color: var(--muted); font-size: 14px; margin-bottom: 18px; }
.breadcrumb a:hover { color: var(--gold-dark); }
.breadcrumb span { color: var(--gold-dark); }

/* SECTION */
.section { padding: 64px 0 96px; background: radial-gradient(circle at top, rgba(227,189,105,.18), transparent 35%), linear-gradient(180deg, #fffaf2 0%, #f3eadc 100%); }
.section.alt { background: #fffaf2; }
.container { width: min(1320px, calc(100% - 64px)); margin: 0 auto; }
.section-head { text-align: center; margin-bottom: 38px; }
.section-kicker, .kicker { color: var(--gold-dark); font-size: 12px; letter-spacing: 4px; font-weight: 900; text-transform: uppercase; margin-bottom: 12px; }
.section-title { font-size: clamp(34px, 4vw, 52px); line-height: 1.06; letter-spacing: -1.5px; font-weight: 600; color: #242424; }
.section-sub { color: var(--muted); max-width: 640px; margin: 14px auto 0; font-size: 17px; }

/* CHOICE CARDS (photo overlay) */
.choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.choice-card { min-height: 260px; border-radius: 24px; overflow: hidden; position: relative; border: 1px solid rgba(60,48,31,.1); box-shadow: var(--shadow-soft); isolation: isolate; transition: .3s ease; }
.choice-card:hover { transform: translateY(-4px); box-shadow: 0 22px 55px rgba(91,70,35,.16); }
.choice-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.0) 30%, rgba(20,15,5,.78) 100%); z-index: 1; }
.choice-card img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; transition: .55s ease; }
.choice-card:hover img { transform: scale(1.06); }
.choice-content { position: absolute; left: 26px; right: 26px; bottom: 24px; z-index: 2; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.choice-content h3 { font-size: 25px; font-weight: 600; color: #fff; margin-bottom: 5px; }
.choice-content p { color: rgba(255,255,255,.82); font-size: 15px; }
.choice-arrow { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.5); display: grid; place-items: center; color: #fff; flex: 0 0 auto; transition: .25s ease; }
.choice-card:hover .choice-arrow { background: var(--gold); border-color: var(--gold); color: #17130d; }

/* MODELS */
.models-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; margin-top: 26px; }
.model-card { display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; border: 1px solid var(--line); background: rgba(255,255,255,.78); box-shadow: var(--shadow-soft); transition: .3s ease; }
.model-card:hover { transform: translateY(-4px); box-shadow: 0 22px 55px rgba(91,70,35,.16); }
.model-card.featured { border-color: rgba(200,155,60,.55); }
.model-media { position: relative; height: 190px; background: #efe7d8; }
.model-media img { width: 100%; height: 100%; object-fit: cover; }
.model-tag { position: absolute; top: 14px; left: 14px; padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.9); border: 1px solid var(--line); color: var(--gold-dark); font-size: 11px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.model-flag { position: absolute; top: 14px; right: 14px; padding: 6px 12px; border-radius: 999px; background: linear-gradient(135deg,#e9c976,#c99b3d); color:#17130d; font-size: 11px; font-weight: 900; letter-spacing: .5px; text-transform: uppercase; }
.model-body { padding: 24px; display: flex; flex-direction: column; flex: 1; }
.model-body h3 { font-size: 23px; font-weight: 600; color: #242424; }
.model-body .tagline { color: var(--muted); font-size: 14px; margin: 6px 0 16px; }
.specs { list-style: none; display: grid; gap: 9px; margin-bottom: 18px; flex: 1; }
.specs li { display: flex; align-items: flex-start; gap: 9px; color: #4a4640; font-size: 14px; }
.specs li::before { content: "✓"; color: var(--gold-dark); font-weight: 800; }
.model-foot { display: flex; align-items: center; justify-content: space-between; padding-top: 16px; border-top: 1px solid var(--line); }
.price { color: #242424; }
.price small { display:block; color: var(--muted); font-size: 12px; font-weight: 600; }
.price b { font-family: "Playfair Display", serif; font-size: 26px; font-weight: 600; color: var(--gold-dark); }
.models-grid .model-card { position: relative; }
.models-grid .model-card:hover { cursor: pointer; }
.model-go::after { content: ""; position: absolute; inset: 0; z-index: 4; }
.model-cta { margin-left: auto; margin-right: 12px; color: var(--gold-dark); font-weight: 800; font-size: 14px; letter-spacing: .2px; }
.model-card:hover .choice-arrow.model-go { background: var(--gold); border-color: var(--gold); color: #17130d; }

/* ===== PROFIL PRODUKTOVÁ STRÁNKA (pp-) ===== */
.pp-hero { position: relative; padding: 64px 0 64px; overflow: hidden; border-bottom: 1px solid var(--line);
  background-size: cover; background-position: center right; }
.pp-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,250,242,.98) 0%, rgba(255,250,242,.92) 40%, rgba(255,250,242,.6) 66%, rgba(255,250,242,.32) 100%); }
.pp-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 180px; background: linear-gradient(180deg, transparent, #fffaf2 84%); pointer-events: none; }
.pp-hero .container { position: relative; z-index: 2; }
.pp-bc { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 13px; font-weight: 600; margin-bottom: 40px; }
.pp-bc a:hover { color: var(--gold-dark); } .pp-bc .cur { color: var(--gold-dark); }
.pp-hero-layout { display: grid; grid-template-columns: 1.02fr 1.05fr .5fr; gap: 32px; align-items: center; }
.pp-kicker { color: var(--gold-dark); text-transform: uppercase; font-size: 13px; letter-spacing: 2.8px; font-weight: 900; margin-bottom: 14px; }
.pp-hero h1 { font-family: "Playfair Display", Georgia, serif; font-size: clamp(44px, 5vw, 74px); line-height: .98; letter-spacing: -2px; font-weight: 600; color: #222; margin-bottom: 20px; }
.pp-hero-text { max-width: 520px; font-size: 18px; color: #5d574f; margin-bottom: 24px; }
.pp-bullets { display: grid; gap: 11px; margin-bottom: 30px; color: #3f3b35; font-size: 15px; font-weight: 600; }
.pp-bullets li { list-style: none; display: flex; align-items: flex-start; gap: 11px; }
.pp-bullets li::before { content: "✓"; width: 21px; height: 21px; border-radius: 50%; display: inline-grid; place-items: center; flex: 0 0 auto; color: var(--gold-dark); border: 1px solid rgba(200,154,60,.5); font-size: 12px; font-weight: 900; margin-top: 1px; }
.pp-hero-buttons { display: flex; flex-wrap: wrap; gap: 14px; }
.pp-visual { position: relative; display: flex; align-items: center; justify-content: center; min-height: 420px; }
.pp-visual::before { content: ""; position: absolute; width: 440px; height: 440px; border-radius: 50%; background: radial-gradient(circle, rgba(229,192,107,.26), transparent 66%); filter: blur(4px); }
.pp-shot { position: relative; z-index: 2; width: min(100%, 460px); background: #fff; border: 1px solid var(--line); border-radius: 28px; padding: 30px; box-shadow: 0 30px 80px rgba(74,55,25,.18); display: grid; place-items: center; }
.pp-shot img { max-height: 380px; width: auto; filter: drop-shadow(0 18px 30px rgba(60,48,31,.16)); }
.pp-panel { padding: 20px; border-radius: 22px; background: rgba(255,255,255,.7); border: 1px solid rgba(62,48,28,.1); box-shadow: var(--shadow-soft); backdrop-filter: blur(18px); display: grid; gap: 20px; }
.pp-fitem { display: flex; gap: 13px; align-items: center; }
.pp-fitem .ic { width: 44px; height: 44px; border-radius: 13px; border: 1px solid rgba(200,154,60,.35); display: grid; place-items: center; color: var(--gold); font-size: 21px; background: rgba(255,255,255,.5); flex: 0 0 auto; }
.pp-fitem strong { display: block; font-size: 14px; color: #2f2b25; font-family: Inter, sans-serif; }
.pp-fitem small { display: block; color: var(--muted); font-size: 12px; }

.pp-stats { position: relative; z-index: 3; margin-top: -34px; }
.pp-stats-box { border-radius: 22px; background: rgba(255,255,255,.82); border: 1px solid rgba(62,48,28,.11); box-shadow: var(--shadow); display: grid; grid-template-columns: repeat(4,1fr); overflow: hidden; backdrop-filter: blur(16px); }
.pp-stat { min-height: 110px; padding: 24px 28px; display: flex; align-items: center; gap: 16px; border-right: 1px solid var(--line); }
.pp-stat:last-child { border-right: 0; }
.pp-stat .ic { width: 42px; height: 42px; border-radius: 14px; border: 1px solid rgba(200,154,60,.36); display: grid; place-items: center; color: var(--gold-dark); font-size: 20px; background: rgba(255,250,242,.65); flex: 0 0 auto; }
.pp-stat strong { font-family: "Playfair Display", serif; display: block; font-size: 27px; line-height: 1; color: #171717; margin-bottom: 6px; }
.pp-stat span { color: var(--muted); font-size: 13px; font-weight: 600; }

.pp-content { padding: 66px 0 92px; }
.pp-grid { display: grid; grid-template-columns: 224px 1fr; gap: 42px; align-items: start; }
.pp-sidenav { position: sticky; top: 104px; border-radius: 18px; overflow: hidden; background: rgba(255,255,255,.7); border: 1px solid var(--line); box-shadow: var(--shadow-soft); }
.pp-sidenav a { display: flex; align-items: center; gap: 11px; min-height: 52px; padding: 0 18px; font-size: 13px; font-weight: 800; color: #615a51; border-bottom: 1px solid var(--line); transition: .2s ease; }
.pp-sidenav a:last-child { border-bottom: 0; }
.pp-sidenav a:hover, .pp-sidenav a.active { color: var(--gold-dark); background: rgba(229,192,107,.14); }
.pp-sidenav .ic { color: var(--gold); font-size: 16px; }
.pp-main { display: grid; gap: 46px; }
.pp-main .section-kicker { text-align: left; }
.pp-h2 { font-family: "Playfair Display", Georgia, serif; font-size: clamp(28px,3.4vw,38px); line-height: 1.08; letter-spacing: -1.2px; font-weight: 600; margin-bottom: 16px; color: #242424; }

.pp-overview { display: grid; grid-template-columns: 1fr .9fr; gap: 42px; align-items: center; }
.pp-overview p { max-width: 620px; color: var(--muted); font-size: 16px; margin-bottom: 16px; }
.pp-ovimg { min-height: 300px; border-radius: 24px; overflow: hidden; box-shadow: var(--shadow-soft); border: 1px solid var(--line); background: #eee; }
.pp-ovimg img { width: 100%; height: 100%; object-fit: cover; }

.pp-tech { display: grid; grid-template-columns: .92fr 1.12fr; gap: 30px; align-items: start; }
.pp-table { border-radius: 22px; overflow: hidden; background: rgba(255,255,255,.7); border: 1px solid var(--line); box-shadow: var(--shadow-soft); }
.pp-table table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pp-table th, .pp-table td { padding: 16px 20px; text-align: left; border-bottom: 1px solid var(--line); }
.pp-table tr:last-child th, .pp-table tr:last-child td { border-bottom: 0; }
.pp-table th { color: #5c554c; width: 50%; background: rgba(247,239,226,.65); font-weight: 700; }
.pp-table td { color: #252525; font-weight: 700; }
.pp-diagram { border-radius: 24px; background: rgba(255,255,255,.7); border: 1px solid var(--line); box-shadow: var(--shadow-soft); padding: 30px; display: grid; grid-template-columns: 1fr .9fr; gap: 26px; align-items: center; }
.pp-diagram .shot { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 16px; display: grid; place-items: center; }
.pp-diagram .shot img { max-height: 330px; width: auto; }
.pp-dlist { display: grid; gap: 12px; }
.pp-dlist li { list-style: none; display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 12px; color: #4d473f; font-size: 14px; font-weight: 700; }
.pp-dlist .n { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: rgba(229,192,107,.19); color: var(--gold-dark); font-weight: 900; }

.pp-colors { border-radius: 24px; background: rgba(255,255,255,.7); border: 1px solid var(--line); box-shadow: var(--shadow-soft); padding: 34px; }
.pp-decor-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 16px; margin-top: 8px; }
.pp-decor { border-radius: 16px; overflow: hidden; background: rgba(255,255,255,.7); border: 1px solid var(--line); box-shadow: 0 10px 24px rgba(60,48,28,.08); }
.pp-decor .sample { height: 64px; border-bottom: 1px solid var(--line); }
.pp-decor strong { display: block; padding: 12px 14px; font-size: 13px; color: #4b453d; font-family: Inter, sans-serif; }
.sample-white { background: #f3f1ec; } .sample-grey { background: linear-gradient(135deg,#252a2e,#555d63); }
.sample-oak { background: linear-gradient(135deg,#b56d16,#7a3e0c); } .sample-walnut { background: linear-gradient(135deg,#6f3517,#2f160b); }
.sample-winch { background: linear-gradient(135deg,#d69a4e,#9b6124); } .sample-more { display: grid; place-items: center; color: var(--gold-dark); font-size: 28px; background: rgba(229,192,107,.15); }

@media (max-width: 1180px) {
  .pp-hero-layout { grid-template-columns: 1fr 1fr; }
  .pp-panel { grid-column: 1 / -1; grid-template-columns: repeat(4,1fr); display: grid; }
  .pp-stats-box, .pp-decor-grid { grid-template-columns: repeat(2,1fr); }
  .pp-grid { grid-template-columns: 1fr; }
  .pp-sidenav { position: static; display: grid; grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 850px) {
  .pp-hero-layout, .pp-overview, .pp-tech, .pp-diagram { grid-template-columns: 1fr; }
  .pp-hero-buttons { flex-direction: column; } .pp-hero-buttons .btn { width: 100%; }
  .pp-panel { grid-template-columns: 1fr 1fr; }
  .pp-stats { margin-top: 22px; } .pp-stats-box { grid-template-columns: 1fr; }
  .pp-stat { border-right: 0; border-bottom: 1px solid var(--line); } .pp-stat:last-child { border-bottom: 0; }
  .pp-sidenav { grid-template-columns: 1fr 1fr; } .pp-decor-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .pp-panel, .pp-sidenav, .pp-decor-grid { grid-template-columns: 1fr; }
}

/* PREMIUM STRIP */
.premium-strip { background: #fffaf2; border-top: 1px solid rgba(60,48,31,.08); border-bottom: 1px solid rgba(60,48,31,.08); padding: 34px 0; }
.strip-inner { width: min(1320px, calc(100% - 64px)); margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.strip-item strong { display: block; font-family: "Playfair Display", serif; font-size: 25px; font-weight: 600; color: #252525; margin-bottom: 4px; }
.strip-item span { color: #756f65; font-size: 14px; }

/* PROCESS */
.process-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.step { padding: 26px 22px; border-radius: 20px; background: rgba(255,255,255,.78); border: 1px solid var(--line); box-shadow: var(--shadow-soft); }
.step .n { width: 42px; height: 42px; border-radius: 12px; background: linear-gradient(135deg,#e9c976,#c99b3d); color:#17130d; font-weight: 900; display: grid; place-items: center; margin-bottom: 18px; }
.step h3 { font-size: 18px; font-weight: 600; margin-bottom: 8px; color: #242424; font-family: Inter, sans-serif; }
.step p { color: var(--muted); font-size: 14px; }

/* FEATURES */
.feature-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.feature { padding: 26px; border-radius: 20px; background: rgba(255,255,255,.78); border: 1px solid var(--line); box-shadow: var(--shadow-soft); }
.feature .ic { width: 48px; height: 48px; border-radius: 12px; border: 1px solid rgba(200,155,60,.45); color: var(--gold-dark); display: grid; place-items: center; font-size: 22px; margin-bottom: 16px; background: rgba(255,250,242,.6); }
.feature h3 { font-size: 18px; font-weight: 600; color: #242424; margin-bottom: 8px; font-family: Inter, sans-serif; }
.feature p { color: var(--muted); font-size: 14px; }

/* GALLERY */
.gallery { columns: 4; column-gap: 14px; }
.gallery a { display: block; margin: 0 0 14px; border-radius: 16px; overflow: hidden; border: 1px solid var(--line); break-inside: avoid; box-shadow: var(--shadow-soft); }
.gallery img { width: 100%; height: auto; transition: .5s ease; }
.gallery a:hover img { transform: scale(1.05); }

/* REVIEWS */
.reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.review-card { padding: 30px; border-radius: 22px; background: rgba(255,255,255,.78); border: 1px solid var(--line); box-shadow: var(--shadow-soft); }
.stars { color: var(--gold); letter-spacing: 3px; margin-bottom: 16px; }
.review-card blockquote { font-size: 17px; line-height: 1.55; color: #3a3833; }
.review-card .who { margin-top: 18px; color: var(--muted); font-weight: 600; }

/* FAQ */
.faq { max-width: 820px; margin: 0 auto; display: grid; gap: 12px; }
.faq details { background: rgba(255,255,255,.78); border: 1px solid var(--line); border-radius: 16px; padding: 18px 22px; box-shadow: var(--shadow-soft); }
.faq summary { cursor: pointer; list-style: none; font-weight: 700; font-size: 17px; display: flex; justify-content: space-between; gap: 16px; color: #242424; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--gold-dark); font-size: 24px; line-height: 1; }
.faq details[open] summary::after { content: "−"; }
.faq p { margin-top: 12px; color: var(--muted); }

/* CENNIK TABLE */
.price-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 16px; }
.price-cell { padding: 26px 20px; border-radius: 18px; background: rgba(255,255,255,.78); border: 1px solid var(--line); text-align: center; box-shadow: var(--shadow-soft); }
.price-cell h3 { font-family: "Playfair Display", serif; font-size: 20px; font-weight: 600; margin-bottom: 6px; color: #242424; }
.price-cell p { color: var(--muted); font-size: 13px; margin-bottom: 14px; }
.price-cell b { font-family: "Playfair Display", serif; font-size: 26px; color: var(--gold-dark); }
.price-cell small { display: block; color: var(--muted); font-size: 12px; }

/* CONTACT */
.contact { padding: 94px 0; background: linear-gradient(135deg, rgba(227,189,105,.18), transparent 42%), #f3eadc; }
.contact-box { border-radius: 34px; padding: 48px; background: rgba(255,255,255,.72); border: 1px solid rgba(60,48,31,.1); box-shadow: var(--shadow); display: grid; grid-template-columns: 1.2fr .8fr; gap: 42px; align-items: center; backdrop-filter: blur(18px); }
.contact-box h2 { font-size: clamp(36px, 4.8vw, 58px); line-height: 1.05; letter-spacing: -1.7px; font-weight: 600; color: #242424; margin-bottom: 16px; }
.contact-box p { color: #6e675d; font-size: 18px; max-width: 650px; }
.contact-actions { display: flex; flex-direction: column; gap: 14px; }
.contact-actions .btn { width: 100%; }
.info-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 22px; }
.info-card { padding: 24px; border-radius: 18px; background: rgba(255,255,255,.78); border: 1px solid var(--line); box-shadow: var(--shadow-soft); }
.info-card .ic { color: var(--gold-dark); font-size: 22px; margin-bottom: 10px; }
.info-card strong { display: block; font-family: Inter, sans-serif; margin-bottom: 4px; color: #242424; }
.info-card a, .info-card span { color: var(--muted); }
.map-wrap { margin-top: 22px; border-radius: 20px; overflow: hidden; border: 1px solid var(--line); box-shadow: var(--shadow-soft); }
.map-wrap iframe { display: block; width: 100%; height: 360px; border: 0; filter: grayscale(.25); }

/* FOOTER */
.footer { background: #fffaf2; border-top: 1px solid rgba(60,48,31,.1); padding: 60px 0 36px; }
.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 40px; }
.footer h4 { color: var(--gold-dark); font-family: Inter, sans-serif; font-size: 14px; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 16px; }
.footer p, .footer a, .footer li { color: var(--muted); font-size: 15px; }
.footer ul { list-style: none; display: grid; gap: 10px; }
.footer a:hover { color: var(--gold-dark); }
.footer-bottom { margin-top: 40px; padding-top: 22px; border-top: 1px solid var(--line); color: var(--soft); font-size: 13px; }

@media (max-width: 1180px) {
  .nav { display: none; }
  .mobile-menu { display: grid; place-items: center; }
  .nav-actions .phone, .nav-actions .divider { display: none; }
  .trust-grid, .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .models-grid, .process-grid, .price-grid { grid-template-columns: repeat(2,1fr); }
  .gallery { columns: 3; }
}
@media (max-width: 800px) {
  .header { height: 76px; }
  .mnav { top: 76px; }
  .nav-wrap, .hero-inner, .container, .strip-inner, .mnav a { width: min(100% - 36px, 100%); }
  .brand { min-width: auto; }
  .brand-logo { height: 44px; }
  .brand-mark { width: 42px; height: 42px; }
  .brand-text strong { font-size: 13px; letter-spacing: 4px; }
  .brand-text small { font-size: 12px; }
  .nav-actions .btn { display: none; }
  .hero { min-height: auto; padding-top: 76px; background: linear-gradient(180deg, rgba(255,250,242,.94) 0%, rgba(255,250,242,.82) 54%, rgba(255,250,242,1) 100%), var(--hero-img); background-size: cover; background-position: center; }
  .hero-inner { padding: 70px 0 46px; }
  .hero-buttons { flex-direction: column; }
  .btn { width: 100%; }
  .trust-grid, .feature-grid, .choice-grid, .models-grid, .process-grid, .reviews-grid, .footer-grid, .info-grid { grid-template-columns: 1fr; }
  .price-grid { grid-template-columns: 1fr 1fr; }
  .strip-inner { grid-template-columns: repeat(2, 1fr); }
  .gallery { columns: 2; }
  .contact-box { grid-template-columns: 1fr; padding: 30px; }
}
@media (max-width: 520px) {
  .eyebrow { font-size: 11px; }
  .strip-inner, .gallery, .price-grid { grid-template-columns: 1fr; }
  .gallery { columns: 1; }
  .section { padding: 54px 0 74px; }
  .contact { padding: 70px 0; }
}

/* ================= FORMULÁR DOPYTU ================= */
.lead-form { display: grid; gap: 12px; }
.lead-form .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lead-form input, .lead-form select, .lead-form textarea { width: 100%; min-height: 54px; padding: 15px 16px; border-radius: 14px; border: 1px solid var(--line); background: rgba(255,255,255,.9); color: var(--text); font: inherit; font-size: 15px; outline: none; transition: .2s ease; }
.lead-form textarea { min-height: 120px; resize: vertical; }
.lead-form input::placeholder, .lead-form textarea::placeholder { color: #a49d92; }
.lead-form select { appearance: none; background-image: linear-gradient(45deg,transparent 50%,var(--gold-dark) 50%),linear-gradient(135deg,var(--gold-dark) 50%,transparent 50%); background-position: calc(100% - 20px) 24px, calc(100% - 15px) 24px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus { border-color: rgba(200,155,60,.6); box-shadow: 0 0 0 4px rgba(200,155,60,.13); background: #fff; }
.lead-form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lead-form .btn { width: 100%; margin-top: 4px; }
.form-note { font-size: 13px; color: var(--muted); text-align: center; }
.form-msg { border-radius: 16px; padding: 18px 20px; margin-bottom: 24px; font-weight: 700; }
.form-msg.ok { background: rgba(120,170,90,.14); border: 1px solid rgba(120,170,90,.45); color: #3d6b28; }
.form-msg.err { background: rgba(200,90,60,.12); border: 1px solid rgba(200,90,60,.45); color: #9c4426; }
@media (max-width: 520px) { .lead-form .row2 { grid-template-columns: 1fr; } }

/* ================= H1 KĽÚČOVÉ SLOVO ================= */
.h1-kw { display: block; font-family: Inter, sans-serif; font-size: clamp(14px,1.4vw,18px); font-weight: 800; letter-spacing: 2.5px; color: var(--gold-dark); text-transform: uppercase; margin-top: 18px; }

/* ================= LOKÁLNY SEO OBSAH ================= */
.local-seo { max-width: 920px; margin: 0 auto; }
.local-seo h2 { font-size: clamp(28px,3.4vw,42px); letter-spacing: -1.2px; color: #242424; margin-bottom: 18px; font-weight: 600; }
.local-seo h3 { font-family: Inter, sans-serif; font-size: 19px; color: #242424; margin: 26px 0 10px; }
.local-seo p { color: var(--muted); font-size: 17px; line-height: 1.75; margin-bottom: 14px; }
.local-seo a { color: var(--gold-dark); font-weight: 700; }
.local-seo a:hover { text-decoration: underline; }
.chip-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.chip { padding: 9px 16px; border-radius: 999px; background: rgba(255,255,255,.82); border: 1px solid var(--line); color: #4a453d; font-size: 14px; font-weight: 600; box-shadow: var(--shadow-soft); }

/* Hliníkové profilové karty — produktové fotky celé (nie orezané) */
.model-media img[src*="profily"]{object-fit:contain;background:#f4f1ea;padding:6px}

/* ==========================================================================
   NAVIGÁCIA v2 — rozbaľovacie menu na desktope, bočný panel na mobile
   Nahrádza pôvodné .nav / .mnav / .mobile-menu (staré pravidlá zostávajú
   v súbore vyššie, ale žiadny prvok ich už nepoužíva).
   ========================================================================== */

/* --- prepis pôvodného .nav: menej položiek, vlastný padding v odkazoch --- */
.header .nav {
  display: flex;
  align-items: center;
  gap: 2px;
  font-size: 15px;
  font-weight: 700;
}

.nav-item { position: relative; display: flex; align-items: center; }

.nav-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 13px;
  border-radius: 12px;
  color: var(--text);
  white-space: nowrap;
  line-height: 1;
  transition: background .18s ease, color .18s ease;
}
.nav-link:hover { background: rgba(200,155,60,.10); color: var(--gold-dark); }
.nav-link.active { color: var(--gold-dark); background: rgba(200,155,60,.13); }

/* šípka pri položke s podmenu */
.chev {
  width: 9px; height: 9px; flex: none;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .2s ease;
  opacity: .55;
}
.nav-item:hover > .nav-link .chev,
.nav-item:focus-within > .nav-link .chev { transform: translateY(1px) rotate(-135deg); opacity: 1; }

/* --- rozbaľovací panel --- */
.dropdown {
  position: absolute;
  top: 100%; left: 50%;
  margin-top: 14px;
  min-width: 268px;
  padding: 9px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow);
  opacity: 0; visibility: hidden;
  transform: translateX(-50%) translateY(9px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
  z-index: 105;
}
/* neviditeľný mostík, aby menu nezmizlo pri prechode myšou cez medzeru */
.dropdown::before { content: ""; position: absolute; top: -16px; left: 0; right: 0; height: 16px; }

.nav-item:hover > .dropdown,
.nav-item:focus-within > .dropdown {
  opacity: 1; visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.dropdown a {
  display: block;
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  transition: background .15s ease, color .15s ease;
}
.dropdown a:hover { background: var(--cream); color: var(--gold-dark); }
.dropdown a.active { color: var(--gold-dark); background: rgba(200,155,60,.12); }

.dropdown .dd-head {
  display: block;
  padding: 6px 14px 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--soft);
}
.dropdown .dd-sep { height: 1px; margin: 7px 10px; background: var(--line); }

/* --- hamburger --- */
.nav-toggle {
  display: none;
  width: 46px; height: 46px;
  flex: none;
  place-items: center;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.7);
  border-radius: 50%;
  cursor: pointer;
  color: var(--text);
  transition: background .18s ease;
}
.nav-toggle:hover { background: var(--white); }
.nav-toggle span {
  position: relative;
  display: block;
  width: 18px; height: 2px;
  background: currentColor;
  border-radius: 2px;
  transition: background .2s ease;
}
.nav-toggle span::before,
.nav-toggle span::after {
  content: ""; position: absolute; left: 0;
  width: 18px; height: 2px;
  background: currentColor; border-radius: 2px;
  transition: transform .25s ease;
}
.nav-toggle span::before { top: -6px; }
.nav-toggle span::after  { top: 6px; }
/* krížik, keď je panel otvorený */
.nav-toggle[aria-expanded="true"] span { background: transparent; }
.nav-toggle[aria-expanded="true"] span::before { transform: translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span::after  { transform: translateY(-6px) rotate(-45deg); }

/* --- prekrytie pozadia --- */
.nav-overlay {
  position: fixed; inset: 0;
  background: rgba(35,35,35,.45);
  opacity: 0; visibility: hidden;
  transition: opacity .3s ease, visibility .3s;
  z-index: 120;
}
.nav-overlay.open { opacity: 1; visibility: visible; }

/* --- bočný panel (mobil / tablet) --- */
.drawer {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(322px, 80vw);
  display: flex;
  flex-direction: column;
  background: var(--cream);
  box-shadow: -24px 0 70px rgba(85,64,30,.22);
  transform: translateX(103%);
  transition: transform .32s cubic-bezier(.4,0,.2,1);
  z-index: 121;
  visibility: hidden;
}
.drawer.open { transform: none; visibility: visible; }

.drawer-top {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
  flex: none;
}
.drawer-top img { height: 34px; width: auto; }
.drawer-close {
  width: 40px; height: 40px; flex: none;
  display: grid; place-items: center;
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 50%;
  font-size: 21px; line-height: 1;
  color: var(--text);
  cursor: pointer;
}

.drawer-body {
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 10px 12px 18px;
}

.drawer-body > a,
.acc-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 13px 12px;
  border: 0;
  background: none;
  border-radius: 13px;
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}
.drawer-body > a.active,
.acc.active > .acc-btn { color: var(--gold-dark); background: rgba(200,155,60,.13); }
.drawer-body > a:active, .acc-btn:active { background: rgba(200,155,60,.1); }

.acc-btn .chev { opacity: .5; transition: transform .25s ease; }
.acc.open > .acc-btn .chev { transform: translateY(1px) rotate(-135deg); opacity: 1; }

.acc-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease;
}
.acc.open > .acc-panel { max-height: 560px; }

.acc-panel a {
  display: block;
  padding: 11px 12px 11px 24px;
  border-radius: 11px;
  font-size: 15px;
  font-weight: 600;
  color: var(--muted);
}
.acc-panel a.active { color: var(--gold-dark); font-weight: 700; }

.drawer-foot {
  flex: none;
  display: grid;
  gap: 9px;
  padding: 14px 16px calc(16px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--line);
  background: var(--white);
}
.drawer-foot .btn { width: 100%; justify-content: center; }
.drawer-foot .drawer-tel {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 15.5px; font-weight: 800;
  color: var(--text);
}
.drawer-foot .drawer-tel svg { width: 17px; height: 17px; }

/* --- prepínanie desktop / panel ---
   Hranica 1150 px: pod ňou sa 7 položiek + logo + tlačidlá už nezmestia. */
@media (max-width: 1150px) {
  .header .nav { display: none; }
  .nav-toggle { display: grid; }
}
@media (min-width: 1151px) {
  .drawer, .nav-overlay { display: none; }
}
/* na užšom desktope uvoľní miesto telefón — zostáva v päte panela a v pätičke */
@media (max-width: 1330px) {
  .nav-link { padding: 9px 10px; font-size: 14.5px; }
  .header .nav-actions .phone,
  .header .nav-actions .divider { display: none; }
}
/* pri otvorenom paneli sa stránka pod ním nehýbe */
body.nav-open { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
  .drawer, .nav-overlay, .dropdown, .acc-panel, .nav-toggle span::before, .nav-toggle span::after {
    transition: none;
  }
}

/* ==========================================================================
   PÁS S KALKULAČKOU — v tele cenníka, hneď za tabuľkou orientačných cien
   ========================================================================== */
.calc-band { padding: 0 0 10px; }

.calc-band-box {
  display: grid;
  grid-template-columns: 1.35fr .85fr;
  gap: 40px;
  align-items: center;
  padding: 40px 44px;
  border: 1px solid rgba(200,154,60,.34);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 88% 12%, rgba(227,189,105,.20), transparent 58%),
    linear-gradient(135deg, #fffdf8 0%, var(--cream-2) 100%);
  box-shadow: var(--shadow-soft);
}

.calc-band h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(27px, 3vw, 37px);
  line-height: 1.08;
  letter-spacing: -.6px;
  font-weight: 600;
  color: #1f1c17;
  margin: 12px 0 14px;
}
.calc-band p { color: #5d574f; font-size: 16.5px; line-height: 1.62; margin-bottom: 20px; }

.calc-band-list { display: grid; gap: 10px; }
.calc-band-list li {
  list-style: none;
  display: flex; align-items: flex-start; gap: 11px;
  font-size: 15px; font-weight: 600; color: #3f3b35;
}
.calc-band-list li::before {
  content: "✓";
  width: 21px; height: 21px; flex: 0 0 auto;
  display: inline-grid; place-items: center;
  margin-top: 1px;
  border: 1px solid rgba(200,154,60,.5);
  border-radius: 50%;
  color: var(--gold-dark);
  font-size: 12px; font-weight: 900;
}

.calc-band-cta { display: grid; gap: 12px; }
.calc-band-cta .btn { width: 100%; justify-content: center; }
.calc-band-note {
  text-align: center;
  font-size: 13px;
  color: var(--soft);
  line-height: 1.5;
}

@media (max-width: 980px) {
  .calc-band-box { grid-template-columns: 1fr; gap: 26px; padding: 32px 26px; }
}
@media (max-width: 520px) {
  .calc-band-box { padding: 26px 20px; border-radius: 20px; }
  .calc-band p { font-size: 15.5px; }
}
