/* ==========================================================================
   TIAMI - landing page "Provázkové náramky"
   Nahrát do globálního CSS Shoptetu (Vzhled a obsah > Editor vzhledu > CSS)
   Vše je prefixované .tnp- , takže nic jiného na e-shopu neovlivní.
   ========================================================================== */

.tnp {
  --tnp-gold: #8c734b;
  --tnp-gold-dark: #6f5a37;
  --tnp-gold-light: #c9b78f;
  --tnp-ink: #2b2824;
  --tnp-body: #6f6a5f;
  --tnp-cream: #f9f6ef;
  --tnp-line: #ece5d7;
  --tnp-line-strong: #e3d6bd;
  --tnp-swatch-border: #d9cbae;

  width: 100%;
  box-sizing: border-box;
  color: var(--tnp-ink);
  font-family: 'Roboto', Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

.tnp *,
.tnp *::before,
.tnp *::after { box-sizing: border-box; }

.tnp img { display: block; max-width: 100%; }

.tnp a { color: var(--tnp-gold); text-decoration: none; }
.tnp a:hover { color: var(--tnp-gold-dark); text-decoration: underline; }

.tnp h1, .tnp h2, .tnp h3, .tnp h4, .tnp p { margin: 0; }

/* ---------- layout ---------- */
.tnp__wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 56px);
}
.tnp__section { padding: clamp(48px, 6vw, 80px) 0; }
.tnp__section--cream {
  background: var(--tnp-cream);
  border-top: 1px solid var(--tnp-line);
  border-bottom: 1px solid var(--tnp-line);
}
.tnp__section--dark { background: var(--tnp-ink); color: #fff; }
.tnp__section--narrow { max-width: 900px; margin: 0 auto; }
.tnp__section--anchor { scroll-margin-top: 64px; }

.tnp__cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: clamp(28px, 4vw, 52px);
}
.tnp__cols--middle { align-items: center; }

/* ---------- typografie ---------- */
.tnp__eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .2em;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--tnp-gold);
}
.tnp__eyebrow svg { flex: none; }
.tnp__section--dark .tnp__eyebrow { color: var(--tnp-gold-light); }

.tnp__h1 {
  font-size: clamp(30px, 3.6vw, 46px);
  font-weight: 300;
  line-height: 1.14;
  letter-spacing: -.01em;
  text-wrap: pretty;
}
.tnp__h2 {
  font-size: clamp(26px, 2.6vw, 34px);
  font-weight: 300;
  line-height: 1.2;
  text-wrap: pretty;
}
.tnp__section--dark .tnp__h2 { color: #fff; }
.tnp__h3 { font-size: 24px; font-weight: 500; line-height: 1.35; }
.tnp__h4 { font-size: 20px; font-weight: 500; line-height: 1.35; }

.tnp__tagline {
  margin-top: 20px;
  font-size: clamp(18px, 1.6vw, 22px);
  line-height: 1.5;
  color: var(--tnp-gold);
  text-wrap: pretty;
}
.tnp__lead {
  margin-top: 10px;
  font-size: clamp(16px, 1.4vw, 18px);
  line-height: 1.65;
  color: var(--tnp-body);
  text-wrap: pretty;
}
.tnp__text {
  margin-top: 18px;
  font-size: 16px;
  line-height: 1.7;
  color: var(--tnp-body);
  text-wrap: pretty;
}
.tnp__text + .tnp__text { margin-top: 14px; }
.tnp__section--dark .tnp__text { color: #c8c1b3; }
.tnp__note { margin-top: 16px; font-size: 14px; line-height: 1.6; color: var(--tnp-body); }

/* ---------- tlačítka ---------- */
.tnp__btns { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.tnp__btn {
  display: inline-block;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 17px 32px;
  background: var(--tnp-gold);
  color: #fff;
  border: 1px solid var(--tnp-gold);
}
.tnp__btn:hover { background: var(--tnp-gold-dark); border-color: var(--tnp-gold-dark); color: #fff; text-decoration: none; }
.tnp__btn--ghost { background: none; color: var(--tnp-gold); }
.tnp__btn--ghost:hover { background: var(--tnp-cream); color: var(--tnp-gold-dark); }
.tnp__btn--light { background: none; color: #e6d9bd; border-color: #e6d9bd; }
.tnp__btn--light:hover { background: rgba(255,255,255,.08); color: #fff; border-color: #fff; }

/* ---------- hero ---------- */
.tnp__hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: clamp(340px, 44vw, 560px);
  overflow: hidden;
}
.tnp__hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tnp__hero-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.82) 40%, rgba(255,255,255,.12) 82%);
}
.tnp__hero-body { position: relative; width: 100%; }
.tnp__hero-body .tnp__wrap { padding-top: clamp(36px, 5vw, 48px); padding-bottom: clamp(36px, 5vw, 48px); }
.tnp__hero-copy { max-width: 560px; }

/* ---------- pruh výhod ---------- */
.tnp__usp {
  background: var(--tnp-cream);
  border-top: 1px solid var(--tnp-line-strong);
  border-bottom: 1px solid var(--tnp-line-strong);
}
.tnp__usp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.tnp__usp-item {
  padding: 22px 18px;
  text-align: center;
  border-right: 1px solid var(--tnp-line);
}
.tnp__usp-item:last-child { border-right: 0; }
.tnp__usp-value { font-size: 20px; font-weight: 500; line-height: 1.3; color: var(--tnp-gold); }
.tnp__usp-label { margin-top: 5px; font-size: 14px; line-height: 1.45; color: var(--tnp-body); }

/* ---------- rychlá navigace ---------- */
.tnp__nav {
  position: sticky;
  top: 0;
  z-index: 20;
  background: #fff;
  border-bottom: 1px solid var(--tnp-line-strong);
}
.tnp__nav .tnp__wrap {
  display: flex;
  align-items: center;
  gap: clamp(16px, 3vw, 38px);
  overflow-x: auto;
}
.tnp__nav-link {
  flex: none;
  padding: 16px 0;
  font-size: 15px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--tnp-body);
  border-bottom: 2px solid transparent;
}
.tnp__nav-link:hover { color: var(--tnp-gold); border-bottom-color: var(--tnp-line-strong); text-decoration: none; }
.tnp__nav-link--active { font-weight: 500; color: var(--tnp-gold); border-bottom-color: var(--tnp-gold); }
.tnp__nav-cta {
  flex: none;
  margin-left: auto;
  padding: 11px 22px;
  background: var(--tnp-gold);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tnp__nav-cta:hover { background: var(--tnp-gold-dark); color: #fff; text-decoration: none; }

/* ---------- fotokoláž ---------- */
.tnp__collage { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; min-width: 0; }
.tnp__collage img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.tnp__collage img.tnp--wide { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
.tnp__img { width: 100%; object-fit: cover; min-width: 0; }
.tnp__img--sq { aspect-ratio: 1 / 1; }
.tnp__img--wide { aspect-ratio: 16 / 10; }
.tnp__img--tall { aspect-ratio: 4 / 5; }

/* ---------- zoom na vybraných fotkách ----------
   Použití: obrázek zabalte do <div class="tnp__zoom">…</div>
   Funguje na hover i na dotyk (aktivní stav).                            */
.tnp__zoom { overflow: hidden; min-width: 0; cursor: zoom-in; }
.tnp__zoom img { display: block; width: 100%; transition: transform .5s ease; }
.tnp__zoom:hover img,
.tnp__zoom:active img { transform: scale(1.12); }
@media (prefers-reduced-motion: reduce) {
  .tnp__zoom img { transition: none; }
}

/* ---------- odrážkový pruh (Sprcha / Sauna / Moře / Sport) ---------- */
.tnp__tags {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 26px;
  background: var(--tnp-line);
  border: 1px solid var(--tnp-line);
}
.tnp__tags > span {
  background: #fff;
  padding: 14px 16px;
  text-align: center;
  font-size: 14px;
  line-height: 1.45;
}

/* ---------- blok o šňůrce ---------- */
.tnp__cord-box {
  margin-top: 14px;
  padding: 20px 22px;
  background: var(--tnp-cream);
  border: 1px solid var(--tnp-line);
  border-left: 2px solid var(--tnp-gold);
}
.tnp__cord-title { font-size: 17px; font-weight: 500; line-height: 1.4; }
.tnp__cord-sub { margin: 6px 0 16px; font-size: 15px; line-height: 1.6; color: var(--tnp-body); text-wrap: pretty; }
.tnp__cord-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; }
.tnp__cord-item { display: flex; gap: 11px; align-items: flex-start; font-size: 15px; line-height: 1.55; color: var(--tnp-body); }
.tnp__cord-item svg { flex: none; }
.tnp__cord-item b { display: block; font-weight: 500; color: var(--tnp-ink); }

/* ---------- číslované kroky ---------- */
.tnp__step { margin-top: clamp(32px, 4vw, 48px); padding-top: 28px; border-top: 1px solid var(--tnp-line-strong); }
.tnp__step-head { display: flex; align-items: baseline; gap: 14px; margin-bottom: 22px; }
.tnp__step-num { font-size: 14px; font-weight: 500; letter-spacing: .16em; color: var(--tnp-gold); }

/* ---------- karty ---------- */
.tnp__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
}
.tnp__card {
  background: #fff;
  border: 1px solid var(--tnp-line);
  border-top: 2px solid var(--tnp-gold);
}
.tnp__card--plain { border-top-width: 1px; border-top-color: var(--tnp-line); }
.tnp__card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.tnp__card--tall img { aspect-ratio: 1 / 1; }
.tnp__card-body { padding: 22px 24px 26px; }
.tnp__card-body .tnp__text { margin-top: 10px; font-size: 16px; line-height: 1.65; }

.tnp__panel {
  border: 1px solid var(--tnp-line);
  border-top: 2px solid var(--tnp-gold);
  padding: clamp(26px, 3vw, 34px);
}
.tnp__panel--cream { background: var(--tnp-cream); }
.tnp__panel .tnp__text:first-of-type { margin-top: 16px; }

.tnp__badge {
  display: inline-block;
  margin-bottom: 16px;
  padding: 6px 12px;
  background: var(--tnp-gold);
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* ---------- video ---------- */
.tnp__video-card {
  margin-top: 20px;
  padding: clamp(20px, 3vw, 28px);
  background: #fff;
  border: 1px solid var(--tnp-line);
  border-top: 2px solid var(--tnp-gold);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
}
.tnp__video { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: clamp(28px, 4vw, 52px); align-items: center; }
.tnp__video-frame { border: 1px solid var(--tnp-line); min-width: 0; }
.tnp__video-frame--sm { max-width: 280px; }
.tnp__video-ratio { position: relative; width: 100%; aspect-ratio: 9 / 16; background: #f2ede3; }
.tnp__video-ratio iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- seznam s oddělovači ---------- */
.tnp__list {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--tnp-line);
  border: 1px solid var(--tnp-line);
}
.tnp__list--strong { background: var(--tnp-line-strong); border-color: var(--tnp-line-strong); }
.tnp__list-item { background: #fff; padding: 16px 18px; display: flex; gap: 14px; align-items: center; }
.tnp__list-item--block { display: block; padding: 18px 20px; }
.tnp__list-name { font-size: 16px; font-weight: 500; color: var(--tnp-ink); }
.tnp__list-desc { margin-top: 4px; font-size: 15px; line-height: 1.6; color: var(--tnp-body); }
.tnp__list-item b { font-weight: 500; color: var(--tnp-ink); }
.tnp__list-item span.tnp__muted { color: var(--tnp-body); }

/* ---------- vzorky ---------- */
.tnp__gem {
  width: 22px;
  height: 22px;
  flex: none;
  border: 1px solid var(--tnp-swatch-border);
}
.tnp__gem--clear { background: radial-gradient(circle at 34% 30%, #fff, #eef1f3 60%, #dfe4e7); }
.tnp__gem--pink  { background: radial-gradient(circle at 34% 30%, #fff, #f0c9d2 55%, #dda9b6); }
.tnp__gem--blue  { background: radial-gradient(circle at 34% 30%, #fff, #6f92bd 55%, #3f628f); }
.tnp__gem--black { background: radial-gradient(circle at 34% 30%, #8d8d8d, #2f2f2f 55%, #111); }

.tnp__golds {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 22px;
  background: var(--tnp-line);
  border: 1px solid var(--tnp-line);
}
.tnp__gold-item { background: #fff; padding: 18px 12px; text-align: center; }
.tnp__gold-swatch {
  display: block;
  width: 34px;
  height: 34px;
  margin: 0 auto 10px;
  border: 1px solid var(--tnp-swatch-border);
}
.tnp__gold-swatch--yellow { background: linear-gradient(135deg, #f6e3b0, #d4ad5e); }
.tnp__gold-swatch--white  { background: linear-gradient(135deg, #f4f5f6, #c9ced3); }
.tnp__gold-swatch--rose   { background: linear-gradient(135deg, #f7ddd0, #dda887); }
.tnp__gold-label { font-size: 14px; line-height: 1.4; }

/* barvy provázků - odečteno z fotografie skutečných špulek */
.tnp__cords { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 24px; }
.tnp__cord { width: 34px; height: 34px; border: 1px solid var(--tnp-swatch-border); }
.tnp__cord--cream    { background: #ceb8a5; }
.tnp__cord--teal     { background: #337884; }
.tnp__cord--ochre    { background: #b46212; }
.tnp__cord--plum     { background: #41254f; }
.tnp__cord--wine     { background: #793f4d; }
.tnp__cord--black    { background: #262421; }
.tnp__cord--khaki    { background: #524528; }
.tnp__cord--navy     { background: #2c2f3a; }
.tnp__cord--coral    { background: #de7282; }
.tnp__cord--red      { background: #b6101a; }
.tnp__cord--emerald  { background: #0d705b; }
.tnp__cord-more {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  padding: 0 14px;
  border: 1px solid var(--tnp-gold);
  font-size: 14px;
  line-height: 1.4;
}
.tnp__cord-more:hover { background: var(--tnp-cream); text-decoration: none; }

/* ---------- zvýrazněný box ---------- */
.tnp__callout {
  margin-top: 28px;
  padding: 22px 24px;
  background: var(--tnp-cream);
  border: 1px solid var(--tnp-line);
  border-left: 2px solid var(--tnp-gold);
}
.tnp__callout-title { font-size: 20px; font-weight: 500; line-height: 1.35; }
.tnp__callout .tnp__text { margin-top: 8px; font-size: 16px; line-height: 1.65; }
.tnp__contact { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 14px; font-size: 16px; line-height: 1.6; }

.tnp__link-box {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid var(--tnp-line-strong);
  border-left: 2px solid var(--tnp-gold);
  font-size: 16px;
  line-height: 1.6;
  color: var(--tnp-body);
}
.tnp__link-box:hover { background: #fdfbf7; color: var(--tnp-body); text-decoration: none; }
.tnp__link-box svg { flex: none; }
.tnp__link-box b { font-weight: 500; color: var(--tnp-gold); }

/* ---------- tmavá sekce: kroky ---------- */
.tnp__knots {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 26px;
  background: #413c35;
  border: 1px solid #413c35;
}
.tnp__knot { background: var(--tnp-ink); padding: 20px 14px; text-align: center; }
.tnp__knot-num { font-size: 14px; letter-spacing: .14em; color: #8f8878; }
.tnp__knot-label { margin-top: 6px; font-size: 18px; font-weight: 500; line-height: 1.35; color: #e6d9bd; }

.tnp__dark-box { margin-top: 24px; padding: 20px 22px; border: 1px solid #413c35; }
.tnp__dark-box-title { font-size: 18px; font-weight: 500; line-height: 1.35; color: #fff; }
.tnp__dark-box p { margin-top: 8px; font-size: 15px; line-height: 1.65; color: #b6ad9c; text-wrap: pretty; }

/* ---------- produkty ---------- */
.tnp__head-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: clamp(24px, 3vw, 36px);
}
.tnp__head-link { font-size: 16px; font-weight: 500; border-bottom: 1px solid var(--tnp-swatch-border); }
.tnp__head-link:hover { text-decoration: none; border-bottom-color: var(--tnp-gold); }

/* ---------- FAQ ---------- */
.tnp__faq { border-top: 1px solid var(--tnp-line); }
.tnp__faq details { border-bottom: 1px solid var(--tnp-line); }
.tnp__faq summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 2px;
  cursor: pointer;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.45;
  list-style: none;
}
.tnp__faq summary::-webkit-details-marker { display: none; }
.tnp__faq summary:hover { background: #fdfbf7; }
.tnp__faq summary::after {
  content: '+';
  flex: none;
  width: 22px;
  text-align: center;
  font-size: 22px;
  font-weight: 300;
  line-height: 1.2;
  color: var(--tnp-gold);
}
.tnp__faq details[open] summary::after { content: '\2013'; }
.tnp__faq-answer { padding: 0 44px 24px 2px; font-size: 16px; line-height: 1.7; color: var(--tnp-body); text-wrap: pretty; }

/* ---------- závěrečné CTA ---------- */
.tnp__cta { position: relative; }
.tnp__cta > img { width: 100%; height: clamp(300px, 34vw, 420px); object-fit: cover; }
.tnp__cta-veil { position: absolute; inset: 0; background: rgba(43, 40, 36, .62); }
.tnp__cta-body {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.tnp__cta-inner { max-width: 640px; padding: 0 clamp(20px, 5vw, 40px); }
.tnp__cta-inner .tnp__h2 { color: #fff; font-size: clamp(26px, 2.8vw, 36px); }
.tnp__cta-sub { margin: 14px 0 26px; font-size: 16px; line-height: 1.65; color: #ddd5c6; }
.tnp__cta-body .tnp__btns { justify-content: center; margin-top: 0; }

/* ---------- zakladatelka ---------- */
.tnp__founder {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 22px;
  padding: 26px 28px;
  background: #fff;
  border: 1px solid var(--tnp-line);
  border-top: 2px solid var(--tnp-gold);
}
.tnp__founder-person { display: flex; align-items: center; gap: 16px; flex: 1 1 260px; min-width: 0; }
.tnp__founder-photo { width: 88px; height: 88px; flex: none; object-fit: cover; }
.tnp__founder-eyebrow {
  margin-bottom: 6px;
  font-size: 13px;
  letter-spacing: .14em;
  line-height: 1.4;
  text-transform: uppercase;
  color: #7d766a;
}
.tnp__founder-name { font-size: 18px; font-weight: 500; line-height: 1.35; }
.tnp__founder-role { margin-top: 2px; font-size: 14px; line-height: 1.5; color: var(--tnp-body); }
.tnp__founder-contact { flex: 0 1 auto; min-width: 180px; font-size: 14px; line-height: 1.7; }
.tnp__founder-hours { margin-top: 4px; font-size: 13px; line-height: 1.5; color: var(--tnp-body); }

/* ==========================================================================
   Užší prostor a mobil
   ========================================================================== */
@media (max-width: 900px) {
  .tnp__video { grid-template-columns: minmax(0, 1fr); }
  .tnp__video-frame { max-width: 320px; }
}

@media (max-width: 700px) {
  .tnp__hero-veil { background: linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.88) 60%, rgba(255,255,255,.6) 100%); }
  .tnp__usp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tnp__usp-item { border-bottom: 1px solid var(--tnp-line); }
  .tnp__usp-item:nth-child(2n) { border-right: 0; }
  .tnp__tags { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tnp__faq-answer { padding-right: 2px; }
  .tnp__cta > img { height: 380px; }
}

@media (max-width: 480px) {
  .tnp__collage { grid-template-columns: 1fr; }
  .tnp__collage img.tnp--wide { aspect-ratio: 1 / 1; }
  .tnp__knots { grid-template-columns: minmax(0, 1fr); }
  .tnp__golds { grid-template-columns: minmax(0, 1fr); }
  .tnp__btn { width: 100%; text-align: center; }
}
