/* assets/css/style.css */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Inter:wght@300;400;500;600&display=swap');

:root{
  --serif: "Playfair Display", serif;
  --sans: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  --black:#0a0a0a;
  --white:#ffffff;

  --gold:#b98a18;     /* podobné jako na screenshotu */
  --gold2:#c59a26;

  --accent:#b14c5e;   /* jemná vínová pro nadpisy na bílé */
  --muted:#777;
}

body{
  font-family: var(--sans);
  background: var(--white);
  color: #111;
}

html, body {
  overflow-x: hidden;
}
body {
  position: relative
}

html{ 
  scroll-behavior:smooth;
}

/* VÝŠKA + MODERNÍ VZHLED */
.nav-modern{
  min-height: 88px;                 /* vyšší menu */
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.nav-modern .container{
  min-height: 88px;
}

/* LOGO / NÁZEV */
.brand-modern{
  font-family: "Playfair Display", serif;
  font-size: 2rem;
  letter-spacing: .04em;
}

/* ODKAZY */
.nav-link-modern{
  position: relative;
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 14px 0;
  color: rgba(255,255,255,.85);
}

/* jemná linka pod odkazem */
.nav-link-modern::after{
  content:"";
  position:absolute;
  left:0;
  bottom:4px;
  width:0;
  height:1px;
  background:var(--accent);              /* zlatý akcent */
  transition: width .25s ease;
}

.nav-link-modern:hover::after{
  width:100%;
}

/* CTA TLAČÍTKO */
.btn-register{
  background: #b14c5e;
  color:white;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding: 12px 18px;
  border-radius: 999px;
  border:0;
}

.btn-register:hover{
  background: #ffbdc9;
  color:#111;
}

/* MOBILE ÚPRAVA */
@media (max-width: 991px){
  .nav-modern{
    min-height:auto;
  }
  .nav-link-modern{
    padding: 10px 0;
  }
}

/* HERO */
.hero{
  position: relative;
  min-height: 666px;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.hero-bg{
  position: absolute;
  inset: 0;

  /* obrázek se vždy přizpůsobí velikosti */
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;

  /* zachováno – posun nahoru */
  background-position-y: -400px;

  transform: scale(1.03);
}

/* menší obrazovky – posun se plynule vrací */
@media (max-width: 1200px){
  .hero-bg{
    background-position-y: 0px;
  }
}

.hero-overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.25));
}

.hero-inner{
  position: relative;
  padding: 64px 0;
  color: #fff;
}

.hero-title{
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: .5px;
  font-size: 5rem;
  margin: 0;
}

.hero-subtitle{
  font-family: var(--serif);
  margin-top: 10px;
  font-size: 18px;
  letter-spacing: .22em;
  opacity: .9;
}

/* TITLES */
.section-title{
  font-family: var(--serif);
  color: var(--accent);
  font-weight: 600;
  font-size: 3rem;
  margin: 0;
}

/* ORGANIZÁTORKY */
.org-card{
  padding: 10px 10px 0;
}

.org-photo-wrap{
  width: 300px;
  height: 300px;
  border-radius: 999px;
  overflow: hidden;
  background: #eee;
}

.org-photo{
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
  object-position: top;
}

.org-name{
  font-family: var(--serif);
  color: var(--accent);
  font-size: 25px;
  margin-top: 6px;
  margin-bottom: 8px;
}

.org-text{
  font-size: 15px;
  line-height: 1.55;
  color: #444;
  max-width: 420px;
  margin: 0 auto 10px;
}

/* DARK BANDS */
.dark-band{
  position: relative;
  background: var(--black);
  color: #fff;
  overflow: hidden;
  align-content: center;
  height: 600px;
}

@media (max-width: 575px){
.dark-band{
  height: 800px;
}

}

.dark-bg{
  position:absolute;
  inset:0;
  background-size: cover;
  background-position: center;
  filter: blur(0px);
  transform: scale(1.03);
  opacity: .55;
}

.dark-overlay{
  position:absolute;
  inset:0;
/*   background: rgba(0,0,0,.72); */
}

.dark-overlay-soft{
  background: rgba(0,0,0,.62);
}

.dark-text{
  position: relative;
  font-family: var(--serif);
  font-size: 2.2rem;
  line-height: 1.6;
  max-height: 900px;
  opacity: .95;
}

/* INFO + PARTNEŘI */
.bg-black{
  background: var(--black) !important;
}

.event-info{
  font-family: var(--serif);
}

.event-date{
  font-size: 100px;
  opacity: .9;
  color: #ff9daf;
}

.event-place{
  margin-top: 10px;
  font-size: 40px;
  line-height: 1.5;
  opacity: .9;
}

.venue-photo{
  display: inline-block;
  width: 350px;
  max-width: 100%;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
}

.venue-photo img{
  width: 100%;
  height: auto;
  display: block;
}

.partners-title{
  font-family: var(--serif);
  font-size: 40px;
  letter-spacing: .15em;
  opacity: .8;
}

.partner-main{
  margin-top: 6px;
  font-family: var(--serif);
  font-size: clamp(2rem, 3.5vw, 3rem);
  color: #b018b0; /* KM Beauty na screenshotu bylo fialové */
}

.partner-logo{
  width: auto;
  max-width: auto;
  height: auto;
  opacity: .95;
  filter: saturate(1.05);
  max-height: 200px;
}

.partner-logo-main{
  width: 100%;
  max-width: 900px;
  height: auto;
  opacity: .95;
  filter:
    drop-shadow(0 0 6px rgba(255,255,255,.55))
    drop-shadow(0 0 14px rgba(255,255,255,.45))
    drop-shadow(0 0 30px rgba(255,255,255,.25));
}

/* CO ZÍSKÁŠ */
.big-left-title{
  font-family: var(--serif);
  font-size: 3rem;
  z-index: 99;
  position: relative;
}

.gain-list{
  margin: 0;
  padding-left: 18px;
  color: rgba(255,255,255,.85);
  font-size: 25px;
  line-height: 1.7;
  z-index: 99;
  position: relative;
}

/* SPEAKERS */
.speaker-img{
  width: 100%;
  max-width: 290px;
  height: auto;
  display: block;
  margin: 0 auto 10px;
}

.speaker-name{
  font-size: 24px;
  font-weight: 600;
  color: #111;
}

.speaker-role{
  font-size: 17px;
  color: #555;
}

.speaker-desc{
  font-size: 17px;
  color: #444;
  margin-top: 6px;
  max-width: 260px;
  margin-left: auto;
  margin-right: auto;
}

/* DRESS CODE – KOLÁŽ */
.dress-title{
  font-family: var(--serif);
  letter-spacing: .14em;
  font-size: 3rem;
}

/* grid jako koláž */
.collage-grid{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 160px;
  gap: 14px;
  position: relative;
}

/* základ obrázků */
.collage-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.08);
  transition: transform .4s ease, box-shadow .4s ease;
}

/* jemný „fashion“ chaos */
.collage-img:hover{
  transform: scale(1.03);
  box-shadow: 0 20px 50px rgba(0,0,0,.45);
}

/* ROZLOŽENÍ – desktop */
.img-1{ grid-column: 1 / span 4;  grid-row: 1 / span 3; }
.img-2{ grid-column: 5 / span 3;  grid-row: 1 / span 2; }
.img-3{ grid-column: 8 / span 5;  grid-row: 1 / span 3; }

.img-4{ grid-column: 1 / span 3;  grid-row: 4 / span 2; }
.img-5{ grid-column: 4 / span 4;  grid-row: 3 / span 3; }
.img-6{ grid-column: 8 / span 3;  grid-row: 4 / span 2; }
.img-7{ grid-column: 11 / span 2; grid-row: 4 / span 2; }

/* TABLET */
@media (max-width: 991px){
  .collage-grid{
    grid-template-columns: repeat(8, 1fr);
    grid-auto-rows: 150px;
  }

  .img-1{ grid-column: 1 / span 4; grid-row: 1 / span 3; }
  .img-2{ grid-column: 5 / span 4; grid-row: 1 / span 2; }
  .img-3{ grid-column: 1 / span 8; grid-row: 4 / span 3; }

  .img-4{ grid-column: 1 / span 4; grid-row: 7 / span 2; }
  .img-5{ grid-column: 5 / span 4; grid-row: 7 / span 2; }
  .img-6{ grid-column: 1 / span 4; grid-row: 9 / span 2; }
  .img-7{ grid-column: 5 / span 4; grid-row: 9 / span 2; }
}

/* MOBIL – pořád koláž, ale čitelná */
@media (max-width: 575px){
  .collage-grid{
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 190px;
  }

  .collage-img{
    grid-column: auto !important;
    grid-row: auto !important;
  }
}


/* REGISTRACE */
.register{
  background: linear-gradient(180deg, var(--gold2), var(--gold));
  color: #111;
}

.register-title{
  font-family: var(--serif);
  font-weight: 700;
  letter-spacing: .08em;
  font-size: 3rem;
}

.register-sub{
  font-size: 25px;
  opacity: .9;
}

.register-list{
  font-size: 25px;
  line-height: 1.75;
}

.qr-box{
  background: rgba(255,255,255,.35);
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 6px;
  padding: 12px;
}

.qr-box img{
  width: 100%;
  height: auto;
  display: block;
}

.register-ig{
  font-size: 30px;
  background: white;
  padding: 20px;
  border-radius: 4px;
}

.register-ig a{
  font-size: 30px;
  background: white;
  text-decoration: none;
}

.register-last{
  font-family: var(--serif);
  font-size: 3rem;
}

@media (max-width: 575px){
  .register-last{
    font-family: var(--serif);
    font-size: 2rem;
}

}


/* =========================
   TICKETS / E-SHOP (CLEAN)
   ========================= */

/* SEKCE – žluté pozadí ZŮSTÁVÁ */
.tickets-section{
  background: linear-gradient(180deg, var(--gold2), var(--gold));
  color: #111; /* výchozí barva textu černá */
}

/* TEXTY */
.tickets-title{
  font-family: var(--serif);
  font-size: 3rem;
  color: #111;
}

.tickets-lead{
  font-family: var(--serif);
  font-size: clamp(1.2rem, 2.4vw, 1.6rem);
  line-height: 1.4;
  color: #111;
  max-width: 520px;
}

.tickets-text{
  font-size: 14px;
  line-height: 1.7;
  color: rgba(0,0,0,.85);
  max-width: 520px;
}

/* TLAČÍTKO */
.btn-ticket{
  display: inline-block;
  padding: 14px 26px;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;

  color: #fff;
  background: #111;               /* kontrast k žluté */
  border-radius: 999px;

  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

.btn-ticket:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
  background: #b14c5e;
  color: #fff;
}

/* =========================
   PLOVOUCÍ KARTA
   ========================= */

.ticket-float-wrap{
  perspective: 1100px;
}

.ticket-card{
  position: relative;
  width: 400px;
  height: 500px;
  border-radius: 18px;
  background: #0c0c0c;
  border: 1px solid rgba(255,255,255,.16);
  overflow: hidden;

  transform-style: preserve-3d;

  /* základní naklopení (Y + Z) */
  transform: rotateZ(-2.5deg) rotateY(9deg);

  box-shadow: 0 40px 80px rgba(0,0,0,.55);
  transition: transform .5s ease, box-shadow .5s ease;
}

/* plastické světlo */
.ticket-card::before{
  content:"";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(120% 70% at 50% -10%, rgba(255,255,255,.22), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.10), transparent 35%);
  mix-blend-mode: screen;
}

/* stín pod kartou */
.ticket-card::after{
  content:"";
  position: absolute;
  left: 7%;
  right: 7%;
  bottom: -18px;
  height: 34px;
  background: radial-gradient(50% 100%, rgba(0,0,0,.55), transparent 70%);
  filter: blur(10px);
  pointer-events: none;
  z-index: -1;
}

/* hover */
.ticket-float-wrap:hover .ticket-card{
  transform: rotateZ(-3.5deg) rotateY(-12deg) rotateX(6deg) translateY(-14px);
  box-shadow: 0 60px 120px rgba(0,0,0,.65);
}

/* OBRÁZEK */
.ticket-img{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  /* jemná bílá kontura kolem PNG */
  filter:
    drop-shadow(0 0 6px rgba(255,255,255,.45))
    drop-shadow(0 0 18px rgba(255,255,255,.25));
}

/* MOBILE */
@media (max-width: 991px){
  .ticket-card{
    width: 280px;
    height: 380px;
    transform: rotateZ(-1.5deg) rotateY(-3deg);
  }
}


/* TEST */
.fanda-test{
  text-align: center;
}