:root{
  --black:#0B0B0B;
  --gold:#C9A35C;
  --gold-light:#E5C98B;
  --white:#F5F5F5;
  --muted:#B8B8B8;
  --border:rgba(201,163,92,.35);
  --card:#111111;
}

*{ box-sizing:border-box; }

html, body{
  height:100%;
  width:100%;
  max-width:100%;
  overflow-x: clip;
}

@supports not (overflow-x: clip){
  html, body{ overflow-x:hidden; }
}

body{
  margin:0;
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--black);
  color: var(--white);
  line-height:1.6;
}

a{ 
  color: var(--gold);
  text-decoration:none;
}

img, svg{
  max-width:100%;
  height:auto;
  display:block;
}

.container{
  width: min(1000px, 92%);
  margin: 0 auto;
}

/* ================= BUTTONS ================= */

.btn{
  display:inline-block;
  padding:12px 20px;
  border-radius:999px;
  text-decoration:none;
  border:1px solid var(--gold);
  background:transparent;
  color: var(--gold);
  transition: all .2s ease;
}

.btn:hover{
  background: var(--gold);
  color: var(--black);
  transform: translateY(-1px);
}

.btn--primary{
  background:var(--gold);
  color:var(--black);
  border-color:var(--gold);
}

.btn--primary:hover{
  background:var(--gold-light);
}

/* ================= HOME / HERO ================= */

body.home{
  min-height: 100svh;
  display:flex;
  flex-direction:column;
}

.home-main{
  flex:1;
  width: min(1100px, calc(100% - 32px));
  margin:0 auto;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:48px;
  align-items:center;
  padding:60px 0;
}

.home-left,
.home-right{ min-width:0; }

.home-left{ text-align:center; }

.home-logo{
  width:100%;
  max-width:440px;
  margin: 0 auto 28px;
}

.home-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:center;
}

.home-photo{
  width:100%;
  border-radius:12px;
  box-shadow:0 20px 80px rgba(0,0,0,.6);
  border:1px solid rgba(201,163,92,.2);
}

/* ================= TOPBAR ================= */

.topbar{ 
  padding:18px 0; 
  border-bottom:1px solid rgba(201,163,92,.15);
}

.topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.brand-logo{
  width:140px;
  display:block;
}

.nav{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.nav-link{
  text-decoration:none;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid transparent;
  transition: all .2s ease;
  color: var(--white);
}

.nav-link:hover{ 
  color: var(--gold);
  border-color: rgba(201,163,92,.3);
}

.nav-link--active{
  border-color: var(--gold);
  color: var(--gold);
}

/* ================= PAGES ================= */

.page{ padding:28px 0 54px; }

h1{
  margin:10px 0 22px;
  font-size: clamp(1.8rem, 3.6vw, 2.6rem);
  color: var(--gold);
}

h2{
  margin:0 0 12px;
  font-size:1.4rem;
  color: var(--gold);
}

.card{
  background: var(--card);
  border: 1px solid rgba(201,163,92,.2);
  border-radius:12px;
  padding:24px;
  margin:20px 0;
  overflow:hidden;
  box-shadow: 0 10px 40px rgba(0,0,0,.4);
}

.steps{
  margin:0;
  padding-left:18px;
}

.cta-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}

.contact-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:22px;
}

.contact-title{
  margin:0 0 6px;
  font-weight:700;
}

.muted{ color: var(--muted); }

/* ================= FOOTER ================= */

.footer{
  padding:26px 0;
  border-top:1px solid rgba(201,163,92,.15);
  color: var(--muted);
  text-align:center;
}

/* ================= RESPONSIVE ================= */

@media (max-width: 1100px){
  .ig-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px){
  .home-main{
    grid-template-columns: 1fr;
    padding:36px 0;
  }

  .home-right{ order: 0; }
  .home-left{ order: -1; }
  .contact-grid{ grid-template-columns: 1fr; }
}

@media (max-width: 700px){
  .ig-grid{ grid-template-columns: 1fr; }
}

@media (max-width: 480px){
  .home-actions{
    flex-direction:column;
    gap:10px;
  }

  .btn{
    width:100%;
    text-align:center;
  }
}

/* ================= NABÍDKA (NOVÉ) ================= */

.page.page--nabidka{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:24px;
  
}

/* nadpis přes celou šířku */
.page.page--nabidka > h1{
  grid-column: 1 / -1;
}

/* karty bez marginu (jen tady) */
.page.page--nabidka .card{
  margin:0;
}

/* první 3 balíčky vedle sebe, zbytek full width */
.page.page--nabidka .card:nth-of-type(n+4){
  grid-column: 1 / -1;
}
.page.page--nabidka .card{
  text-align: left;
}

.page.page--nabidka .card h2,
.page.page--nabidka .card strong,
.page.page--nabidka .card .price,
.page.page--nabidka .card .btn{
  text-align: center;
  display: block;
}
.page.page--nabidka .card ul{
  padding-left: 18px;
  margin: 12px 0;
}
/* šedivý text pod nadpisem */
.page.page--nabidka .card p{
  text-align: center;
}

/* délka (počet hodin) */
.page.page--nabidka .card strong{
  display: block;
  text-align: center;
}

/* cena */
.page.page--nabidka .card .price{
  display: block;
  text-align: center;
}

/* tlačítko */
.page.page--nabidka .card .btn{
  margin: 0 auto;
  display: block;
}
/* mobil */
@media (max-width: 800px){
  .page.page--nabidka{
    grid-template-columns: 1fr;
  }
  
}