/* Folia Core — SADA „Luné Nails" (nehtové studio, elegantní cream/rosé).
   Self-contained. Žádné CDN kromě Google Fonts (jako ostatní témata). */

/* ─── TOKENY ─── */
:root{
  --cream:#fdf8f4;
  --rose:#e8c5c0;
  --rose-deep:#c4847a;
  --rose-dark:#8b4f49;
  --nude:#f5ede7;
  --nude-mid:#e8dbd4;
  --taupe:#9e857d;
  --charcoal:#2a1f1d;
  --white:#fff;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--cream);color:var(--charcoal);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}

/* ─── IKONY ─── */
.ic{display:inline-block;background:currentColor;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat;flex-shrink:0}

/* ─── SCROLL REVEAL ─── */
body.js-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease, transform .8s ease}
body.js-ready .reveal.in{opacity:1;transform:none}
body.js-ready .reveal-l{opacity:0;transform:translateX(-32px);transition:opacity .8s ease, transform .8s ease}
body.js-ready .reveal-l.in{opacity:1;transform:none}
body.js-ready .reveal-r{opacity:0;transform:translateX(32px);transition:opacity .8s ease, transform .8s ease}
body.js-ready .reveal-r.in{opacity:1;transform:none}

/* ─── NAV ─── */
.site-nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 48px;
  transition:background .4s, backdrop-filter .4s, padding .4s;
}
.site-nav.scrolled{
  background:rgba(253,248,244,.92);
  backdrop-filter:blur(12px);
  padding:14px 48px;
  border-bottom:1px solid var(--nude-mid);
}
.nav-logo{font-family:var(--serif);font-size:1.5rem;font-weight:400;letter-spacing:.08em;color:var(--charcoal)}
.nav-logo em{font-style:italic;color:var(--rose-deep)}
.nav-links{display:flex;align-items:center;gap:36px}
.nav-links a{font-size:.82rem;letter-spacing:.15em;text-transform:uppercase;font-weight:500;color:var(--taupe);transition:color .2s}
.nav-links a:hover{color:var(--charcoal)}
.nav-cta{
  background:var(--rose-dark);color:var(--white);
  font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
  padding:11px 24px;border-radius:999px;transition:background .2s;
}
.nav-cta:hover{background:var(--rose-deep)}

/* ─── HERO — ELEGANT SPLIT ─── */
.hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  height:100vh;
  min-height:700px;
}
.hero-left{
  position:relative;
  overflow:hidden;
  display:flex;align-items:flex-end;
}
.hero-left img.hero-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform 8s ease;
}
.hero-left:hover img.hero-bg{transform:scale(1.04)}
.hero-left::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(160deg, rgba(232,197,192,.12) 0%, rgba(42,31,29,.65) 100%);
}
.hero-left-content{
  position:relative;z-index:2;
  padding:56px 52px;
  max-width:520px;
}
.hero-eyebrow{
  font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--rose);font-weight:500;margin-bottom:18px;
  display:flex;align-items:center;gap:10px;
}
.hero-eyebrow::before{content:'';display:block;width:32px;height:1px;background:var(--rose)}
.hero-h1{
  font-family:var(--serif);
  font-size:clamp(2.8rem,4.5vw,5rem);
  font-weight:300;line-height:1.08;
  color:var(--white);
  margin-bottom:22px;
}
.hero-h1 em{font-style:italic;color:var(--rose)}
.hero-sub{
  font-size:.96rem;line-height:1.75;
  color:rgba(255,255,255,.82);
  margin-bottom:36px;
  max-width:360px;
}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.btn-primary{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--white);color:var(--rose-dark);
  font-family:var(--sans);font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:14px 28px;border-radius:999px;transition:.25s;
  border:2px solid transparent;
}
.btn-primary:hover{background:var(--rose-dark);color:var(--white)}
.btn-primary .ic{width:16px;height:16px}
.btn-ghost{
  display:inline-flex;align-items:center;gap:9px;
  background:transparent;color:var(--white);
  font-family:var(--sans);font-size:.8rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  padding:14px 28px;border-radius:999px;border:1.5px solid rgba(255,255,255,.45);transition:.25s;
}
.btn-ghost:hover{border-color:var(--white);background:rgba(255,255,255,.1)}

.hero-right{
  background:var(--nude);
  display:flex;flex-direction:column;justify-content:center;
  padding:80px 60px 60px;
  position:relative;
}
.hero-right::before{
  content:'';position:absolute;
  top:60px;right:60px;
  width:180px;height:180px;
  background:radial-gradient(circle, rgba(232,197,192,.4), transparent 70%);
  border-radius:50%;
  pointer-events:none;
}
.hero-badge{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--white);border:1px solid var(--nude-mid);
  border-radius:12px;padding:12px 18px;
  font-size:.8rem;font-weight:500;color:var(--taupe);
  margin-bottom:40px;width:fit-content;
}
.hero-badge .ic{width:16px;height:16px;color:var(--rose-deep)}
.hero-title-right{
  font-family:var(--serif);
  font-size:clamp(1.1rem,1.8vw,1.4rem);
  font-weight:400;color:var(--taupe);
  letter-spacing:.06em;
  margin-bottom:10px;
}
.hero-stat-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:24px;margin-bottom:40px;
}
.hero-stat{
  background:var(--white);border-radius:16px;
  padding:22px 20px;
  border:1px solid var(--nude-mid);
}
.hero-stat-num{
  font-family:var(--serif);font-size:2.4rem;font-weight:400;
  color:var(--rose-dark);line-height:1;margin-bottom:6px;
}
.hero-stat-label{font-size:.75rem;color:var(--taupe);letter-spacing:.08em}
.hero-photo-mini{width:100%;height:180px;object-fit:cover;border-radius:20px;border:3px solid var(--white);box-shadow:0 12px 40px rgba(139,79,73,.15)}

/* Organický blob dekorace */
.blob-deco{
  position:absolute;bottom:-40px;right:-40px;
  width:220px;height:220px;
  background:radial-gradient(ellipse at 40% 40%, rgba(232,197,192,.35), transparent 65%);
  border-radius:60% 40% 55% 45%/45% 55% 45% 55%;
  pointer-events:none;
}

/* ─── ABOUT — ZIG-ZAG TEXT + FOTO ─── */
.about{padding:100px 48px;max-width:1280px;margin:0 auto}
.about-inner{
  display:grid;grid-template-columns:1fr 1fr;
  gap:80px;align-items:center;
}
.about-label{
  font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--rose-deep);font-weight:600;margin-bottom:16px;
}
.about h2{
  font-family:var(--serif);font-size:clamp(2.2rem,3.5vw,3.8rem);
  font-weight:300;line-height:1.2;margin-bottom:22px;color:var(--charcoal);
}
.about h2 em{font-style:italic;color:var(--rose-deep)}
.about p{
  font-size:.97rem;line-height:1.9;color:var(--taupe);margin-bottom:18px;
}
.about-sign{
  font-family:var(--serif);font-style:italic;
  font-size:1.3rem;color:var(--charcoal);
  margin-top:28px;
}
.about-img-wrap{
  position:relative;
}
.about-img-main{
  width:100%;height:520px;object-fit:cover;
  border-radius:40% 20% 40% 20%/20% 40% 20% 40%;
  border:4px solid var(--white);
  box-shadow:0 30px 80px rgba(139,79,73,.15);
}
.about-img-accent{
  position:absolute;bottom:-32px;right:-24px;
  width:160px;height:160px;
  object-fit:cover;
  border-radius:50%;
  border:4px solid var(--white);
  box-shadow:0 16px 40px rgba(139,79,73,.18);
}

/* ─── GALERIE — HOVER ZOOM GRID ─── */
.gallery-section{padding:80px 0;background:var(--nude)}
.gallery-head{text-align:center;padding:0 48px 56px}
.gallery-head .label{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--rose-deep);font-weight:600;margin-bottom:14px}
.gallery-head h2{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3.4rem);font-weight:300;color:var(--charcoal)}
.gallery-head h2 em{font-style:italic;color:var(--rose-deep)}

.gallery-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:240px 240px;
  gap:8px;
  padding:0 48px;
}
.g-item{
  overflow:hidden;border-radius:16px;cursor:zoom-in;
  position:relative;
}
.g-item:first-child{grid-row:span 2}
.g-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .6s cubic-bezier(.25,.46,.45,.94);
}
.g-item:hover img{transform:scale(1.1)}
.g-item::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(42,31,29,.35) 100%);
  opacity:0;transition:opacity .4s;
  border-radius:16px;
}
.g-item:hover::after{opacity:1}
.g-overlay{
  position:absolute;bottom:16px;left:16px;right:16px;z-index:2;
  opacity:0;transform:translateY(8px);transition:.4s;
}
.g-item:hover .g-overlay{opacity:1;transform:none}
.g-overlay span{
  font-family:var(--serif);font-style:italic;
  color:var(--white);font-size:1.1rem;font-weight:300;
}

/* ─── SLUŽBY ─── */
.services{padding:100px 48px;max-width:1280px;margin:0 auto}
.services-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px}
.services-head .label{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--rose-deep);font-weight:600;margin-bottom:14px}
.services-head h2{font-family:var(--serif);font-size:clamp(2rem,3vw,3.2rem);font-weight:300;line-height:1.2;color:var(--charcoal)}
.services-head h2 em{font-style:italic;color:var(--rose-deep)}
.services-head p{font-size:.95rem;line-height:1.85;color:var(--taupe)}

.svc-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.svc-card{
  background:var(--white);border:1px solid var(--nude-mid);
  border-radius:24px;padding:32px 28px;
  transition:transform .3s, box-shadow .3s, border-color .3s;
  cursor:default;
  position:relative;overflow:hidden;
}
.svc-card::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg, var(--rose), var(--rose-deep));
  opacity:0;transition:opacity .3s;
}
.svc-card:hover::before{opacity:1}
.svc-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 60px rgba(139,79,73,.12);
  border-color:var(--rose);
}
.svc-icon{
  width:52px;height:52px;border-radius:16px;
  background:linear-gradient(135deg, var(--rose) 0%, var(--nude-mid) 100%);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;
  box-shadow:0 4px 12px rgba(196,132,122,.25);
}
.svc-icon .ic{width:24px;height:24px;color:var(--rose-dark)}
.svc-name{
  font-family:var(--serif);font-size:1.3rem;font-weight:500;
  color:var(--charcoal);margin-bottom:8px;
}
.svc-desc{font-size:.87rem;line-height:1.7;color:var(--taupe);margin-bottom:20px}
.svc-price{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:18px;border-top:1px solid var(--nude-mid);
}
.svc-price-num{
  font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--rose-dark);
}
.svc-price-time{
  font-size:.77rem;color:var(--taupe);letter-spacing:.08em;
  display:flex;align-items:center;gap:5px;
}
.svc-price-time .ic{width:13px;height:13px;color:var(--taupe)}

/* ─── ONLINE REZERVACE ─── */
.booking{
  padding:100px 48px;
  background:linear-gradient(135deg, var(--charcoal) 0%, #3d2520 100%);
  position:relative;overflow:hidden;
}
.booking::before{
  content:'';position:absolute;
  top:-80px;right:-80px;
  width:400px;height:400px;
  background:radial-gradient(circle, rgba(232,197,192,.18), transparent 65%);
  border-radius:50%;pointer-events:none;
}
.booking::after{
  content:'';position:absolute;
  bottom:-100px;left:100px;
  width:300px;height:300px;
  background:radial-gradient(circle, rgba(196,132,122,.12), transparent 65%);
  border-radius:50%;pointer-events:none;
}
.booking-inner{max-width:1100px;margin:0 auto;position:relative;z-index:1}
.booking-head{text-align:center;margin-bottom:52px}
.booking-head .label{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--rose);font-weight:600;margin-bottom:14px}
.booking-head h2{
  font-family:var(--serif);font-size:clamp(2rem,3.5vw,3.4rem);
  font-weight:300;color:var(--white);line-height:1.2;
}
.booking-head h2 em{font-style:italic;color:var(--rose)}
.booking-head p{font-size:.93rem;color:rgba(255,255,255,.65);margin-top:14px;max-width:480px;margin-left:auto;margin-right:auto}

.booking-widget{
  display:grid;grid-template-columns:1fr 1fr;
  gap:32px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:28px;
  padding:40px;
}
.bk-step{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;padding:28px;
}
.bk-step-num{
  width:32px;height:32px;border-radius:50%;
  background:var(--rose-deep);
  display:flex;align-items:center;justify-content:center;
  font-size:.8rem;font-weight:600;color:var(--white);
  margin-bottom:16px;
}
.bk-step h3{
  font-family:var(--serif);font-size:1.2rem;color:var(--white);
  margin-bottom:4px;
}
.bk-step p{font-size:.82rem;color:rgba(255,255,255,.5);margin-bottom:20px}

.bk-services{display:flex;flex-direction:column;gap:8px}
.bk-svc-btn{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px;
  background:transparent;border:1.5px solid rgba(255,255,255,.15);
  border-radius:12px;cursor:pointer;
  color:rgba(255,255,255,.8);font-family:var(--sans);font-size:.88rem;
  transition:.2s;text-align:left;
}
.bk-svc-btn:hover{border-color:rgba(232,197,192,.6);color:var(--white)}
.bk-svc-btn.selected{
  border-color:var(--rose);background:rgba(232,197,192,.1);
  color:var(--white);
}
.bk-svc-btn.selected .bk-check{opacity:1}
.bk-svc-end{display:flex;align-items:center;gap:10px}
.bk-check{
  width:20px;height:20px;border-radius:50%;
  background:var(--rose-deep);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .2s;flex-shrink:0;
}
.bk-check::after{content:'✓';font-size:.7rem;color:#fff}
.bk-svc-price{
  font-family:var(--serif);font-size:1rem;color:var(--rose);
  font-weight:400;
}

.bk-right{display:flex;flex-direction:column;gap:16px}
.bk-calendar{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;padding:20px;
}
.bk-cal-days-head{
  display:grid;grid-template-columns:repeat(7,1fr);
  text-align:center;margin-bottom:8px;
}
.bk-cal-days-head span{font-size:.68rem;letter-spacing:.1em;color:rgba(255,255,255,.4);padding:4px 0;text-transform:uppercase}
.bk-cal-days{
  display:grid;grid-template-columns:repeat(7,1fr);
  gap:3px;
}
.bk-day{
  aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  border-radius:50%;font-size:.82rem;color:rgba(255,255,255,.7);
  cursor:pointer;transition:.15s;border:1.5px solid transparent;
}
.bk-day:hover{background:rgba(232,197,192,.15);color:var(--white)}
.bk-day.today{color:var(--rose);font-weight:600}
.bk-day.selected{background:var(--rose-deep);color:var(--white);border-color:var(--rose-deep)}
.bk-day.disabled{opacity:.3;cursor:default;pointer-events:none}
.bk-day.empty{pointer-events:none}

.bk-slots-label{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:10px;margin-top:4px}
.bk-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bk-slot{
  padding:10px 6px;text-align:center;
  background:rgba(255,255,255,.05);
  border:1.5px solid rgba(255,255,255,.12);
  border-radius:10px;cursor:pointer;
  font-size:.83rem;color:rgba(255,255,255,.75);font-family:var(--sans);
  transition:.2s;
}
.bk-slot:hover{border-color:rgba(232,197,192,.5);color:var(--white)}
.bk-slot.picked{background:rgba(232,197,192,.2);border-color:var(--rose);color:var(--white)}
.bk-slot.unavail{opacity:.35;cursor:default;pointer-events:none;text-decoration:line-through}

.bk-confirm{
  background:var(--rose-dark);
  border:0;border-radius:14px;
  padding:16px;width:100%;
  font-family:var(--sans);font-size:.88rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--white);cursor:pointer;transition:.2s;
}
.bk-confirm:hover{background:var(--rose-deep)}
.bk-summary{
  color:rgba(255,255,255,.6);
  text-align:center;margin-top:4px;min-height:1.2em;
  font-style:italic;font-family:var(--serif);font-size:.95rem;
}
.bk-summary .ok{color:var(--rose)}
.bk-success{
  background:rgba(232,197,192,.1);border:1px solid var(--rose-deep);
  border-radius:16px;padding:24px;text-align:center;
}
.bk-success strong{display:block;font-family:var(--serif);font-size:1.3rem;font-style:italic;color:var(--rose);margin-bottom:8px}
.bk-success span{font-size:.85rem;color:rgba(255,255,255,.7);line-height:1.6}

/* ─── RECENZE ─── */
.reviews{padding-top:100px;padding-bottom:0;background:var(--white)}
.reviews-head{text-align:center;padding:0 48px 56px}
.reviews-head .label{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--rose-deep);font-weight:600;margin-bottom:14px}
.reviews-head h2{font-family:var(--serif);font-size:clamp(2rem,3vw,3.2rem);font-weight:300;color:var(--charcoal)}
.reviews-head h2 em{font-style:italic;color:var(--rose-deep)}

.reviews-track-wrap{overflow:hidden;padding:0 0 80px}
.reviews-track{
  display:flex;gap:24px;
  animation:slide-reviews 28s linear infinite;
  width:max-content;
}
.reviews-track:hover{animation-play-state:paused}
@keyframes slide-reviews{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
.review-card{
  background:var(--nude);border:1px solid var(--nude-mid);
  border-radius:20px;padding:28px 28px 24px;
  width:340px;flex-shrink:0;
}
.stars{display:flex;gap:3px;margin-bottom:14px}
.star-ic{width:16px;height:16px;color:var(--rose-deep)}
.review-text{
  font-family:var(--serif);font-style:italic;
  font-size:1.08rem;line-height:1.7;color:var(--charcoal);
  margin-bottom:20px;
}
.review-text::before{content:'"';font-size:2rem;line-height:0;vertical-align:-.4em;color:var(--rose);margin-right:4px}
.review-author{
  display:flex;align-items:center;gap:12px;
  padding-top:16px;border-top:1px solid var(--nude-mid);
}
.review-avatar{
  width:40px;height:40px;border-radius:50%;
  background:var(--rose-deep);display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:1rem;color:var(--white);font-weight:400;flex-shrink:0;
}
.review-name{font-weight:600;font-size:.88rem;color:var(--charcoal)}
.review-date{font-size:.76rem;color:var(--taupe);margin-top:1px}

/* ─── KONTAKT ─── */
.contact{
  padding:100px 48px;
  background:var(--nude);
}
.contact-inner{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;
}
.contact-left .label{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--rose-deep);font-weight:600;margin-bottom:16px}
.contact-left h2{font-family:var(--serif);font-size:clamp(1.8rem,2.8vw,3rem);font-weight:300;line-height:1.25;margin-bottom:28px;color:var(--charcoal)}
.contact-left h2 em{font-style:italic;color:var(--rose-deep)}
.contact-item{
  display:flex;align-items:flex-start;gap:14px;
  margin-bottom:22px;
}
.contact-item-ic{
  width:42px;height:42px;border-radius:50%;
  background:var(--white);border:1px solid var(--nude-mid);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.contact-item-ic .ic{width:18px;height:18px;color:var(--rose-deep)}
.contact-item-text strong{display:block;font-weight:600;font-size:.9rem;margin-bottom:3px;color:var(--charcoal)}
.contact-item-text span{font-size:.87rem;color:var(--taupe);line-height:1.6}

.contact-form{
  background:var(--white);border:1px solid var(--nude-mid);
  border-radius:24px;padding:36px;
}
.contact-form h3{font-family:var(--serif);font-size:1.5rem;font-weight:400;margin-bottom:6px;color:var(--charcoal)}
.contact-form p{font-size:.85rem;color:var(--taupe);margin-bottom:28px}
.cf-row{margin-bottom:18px}
.cf-row label{display:block;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe);font-weight:500;margin-bottom:8px}
.cf-row input,
.cf-row select,
.cf-row textarea{
  width:100%;padding:13px 16px;
  background:var(--nude);border:1.5px solid var(--nude-mid);
  border-radius:12px;font-family:var(--sans);font-size:.92rem;
  color:var(--charcoal);transition:border-color .2s;outline:none;
  appearance:none;
}
.cf-row input::placeholder,
.cf-row textarea::placeholder{color:#bfa99f}
.cf-row input:focus,
.cf-row select:focus,
.cf-row textarea:focus{border-color:var(--rose-deep)}
.cf-row textarea{resize:vertical;min-height:90px}
.cf-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cf-submit{
  width:100%;padding:15px;
  background:var(--rose-dark);color:var(--white);
  border:0;border-radius:14px;cursor:pointer;
  font-family:var(--sans);font-size:.88rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  transition:background .2s;margin-top:4px;
}
.cf-submit:hover{background:var(--rose-deep)}
.cf-success{
  background:var(--nude);border:1px solid var(--rose);
  border-radius:16px;padding:28px;text-align:center;
}
.cf-success strong{display:block;font-family:var(--serif);font-size:1.4rem;font-style:italic;color:var(--rose-dark);margin-bottom:8px}
.cf-success span{font-size:.88rem;color:var(--taupe);line-height:1.6}

/* ─── FOOTER ─── */
.site-footer{
  background:var(--charcoal);
  padding:56px 48px 28px;
}
.footer-inner{
  max-width:1100px;margin:0 auto;
}
.footer-top{
  display:grid;grid-template-columns:2fr 1fr 1fr;
  gap:60px;margin-bottom:48px;
  padding-bottom:40px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.footer-brand-name{font-family:var(--serif);font-size:1.6rem;color:var(--white);font-weight:300;margin-bottom:12px}
.footer-brand-name em{font-style:italic;color:var(--rose)}
.footer-brand-desc{font-size:.87rem;color:rgba(255,255,255,.5);line-height:1.7;max-width:280px}
.footer-social{display:flex;gap:10px;margin-top:20px}
.footer-social a{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.7);font-size:.75rem;font-weight:600;
  transition:.2s;letter-spacing:.02em;
}
.footer-social a:hover{background:var(--rose-deep);color:var(--white);border-color:var(--rose-deep)}
.footer-col h4{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--rose);font-weight:600;margin-bottom:20px}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:10px}
.footer-col li a{font-size:.87rem;color:rgba(255,255,255,.6);transition:color .2s}
.footer-col li a:hover{color:var(--white)}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  font-size:.78rem;color:rgba(255,255,255,.45);
  flex-wrap:wrap;gap:12px;
}
.footer-bottom a{color:rgba(255,255,255,.6);transition:color .2s}
.footer-bottom a:hover{color:var(--white)}
.folia-credit{color:rgba(255,255,255,.45)}
.folia-credit strong{color:var(--rose);font-weight:600}

/* ─── PODPISOVÁ ANIMACE: plovoucí petal ─── */
.petal-float{
  position:fixed;pointer-events:none;z-index:9999;
  width:28px;height:28px;
  background:radial-gradient(ellipse at 40% 30%, rgba(232,197,192,.9), rgba(196,132,122,.4));
  border-radius:65% 35% 50% 50%/35% 65% 35% 65%;
  opacity:0;transition:opacity .5s;
}
@keyframes petal-drift{
  0%{transform:translateY(0) rotate(0deg) scale(1);opacity:.8}
  100%{transform:translateY(-120vh) rotate(360deg) scale(.3);opacity:0}
}

/* ─── EDIT MODE (admin overlay) ─── */
[data-fk]{transition:outline .15s}
body.folia-edit [data-fk]{outline:1px dashed rgba(196,132,122,.5);outline-offset:3px;cursor:text}
body.folia-edit [data-fk]:hover{outline-color:var(--rose-deep);background:rgba(232,197,192,.08)}

/* ─── RESPONZIVITA ─── */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  .reviews-track{animation:none}
}
@media(max-width:1024px){
  .hero{grid-template-columns:1fr}
  .hero-right{display:none}
  .hero-left{height:100vh}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px}
  .gallery-grid .g-item:first-child{grid-row:span 1}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .booking-widget{grid-template-columns:1fr}
  .about-inner{grid-template-columns:1fr}
  .about-img-main{height:360px}
  .contact-inner{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .site-nav{padding:18px 24px}
  .site-nav.scrolled{padding:12px 24px}
  .nav-links{display:none}
  .hero-left-content{padding:40px 28px}
  .about,
  .services,
  .reviews{padding:72px 24px}
  .gallery-section{padding:60px 0}
  .gallery-head{padding:0 24px 40px}
  .gallery-grid{padding:0 24px;grid-template-columns:1fr;grid-template-rows:auto}
  .gallery-grid .g-item{height:200px}
  .gallery-grid .g-item:first-child{height:240px}
  .svc-grid{grid-template-columns:1fr}
  .booking{padding:72px 24px}
  .bk-slots{grid-template-columns:repeat(2,1fr)}
  .contact{padding:72px 24px}
  .cf-row-2{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .site-footer{padding:48px 24px 24px}
  .services-head{grid-template-columns:1fr}
}
