/* TripDonut – redesign veřejného webu. Nadstavba nad Bootstrapem, vše s prefixem td-. */

:root{
  --td-bg:#e9e4ee;
  --td-surface:#fffdfa;
  --td-surface-alt:#f7f3f9;
  --td-band:#ece4f2;
  --td-ink:#1b1420;
  --td-ink-soft:#58495f;
  --td-purple:#6019A0;
  --td-orange:#C04103;
  --td-orange-dark:#9a3402;
  --td-line:#eee3ea;
  --td-line-strong:#e0d6e8;
  --td-badge-bg:#f7ede2;
  --td-badge-line:#f0d9bd;
  --td-num:#e6cfae;
  --td-pad:80px;
}

body.td-body{margin:0;background:var(--td-bg);color:var(--td-ink);
  font-family:"Inter Tight",system-ui,sans-serif;-webkit-font-smoothing:antialiased;}
.td-page{padding:64px;}
.td-shell{max-width:1440px;margin:0 auto;background:var(--td-surface);
  border-radius:20px;overflow:hidden;box-shadow:0 24px 60px rgba(27,20,32,.18);}

h1.td-h1,h2.td-h2,h3.td-h3,.td-display{font-family:"Bricolage Grotesque",system-ui,sans-serif;margin:0;}
.td-h1{font-size:76px;font-weight:800;line-height:.98;letter-spacing:-.035em;text-wrap:balance;}
.td-h2{font-size:46px;font-weight:700;letter-spacing:-.02em;}
.td-h3{font-size:24px;font-weight:700;}
.td-lead{margin:0;font-size:20px;line-height:1.55;color:var(--td-ink-soft);text-wrap:pretty;}
.td-body-text{margin:0;font-size:16px;line-height:1.6;color:var(--td-ink-soft);}
.td-eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--td-purple);}
.td-point{margin:6px 0 0;font-size:17px;font-weight:600;line-height:1.5;color:var(--td-purple);}
a{color:var(--td-orange);text-decoration:none;}
a:hover{color:var(--td-orange-dark);}
.td-link{font-size:16px;font-weight:600;color:var(--td-purple);
  border-bottom:2px solid rgba(96,25,160,.3);padding-bottom:2px;}

/* --- navigace --- */
.td-nav-wrap{position:sticky;top:0;z-index:20;display:flex;justify-content:center;padding:20px 0 0;}
.td-nav{display:flex;align-items:center;gap:40px;background:rgba(255,253,250,.9);
  backdrop-filter:blur(14px);border:1px solid rgba(96,25,160,.12);border-radius:999px;
  padding:10px 10px 10px 22px;box-shadow:0 8px 24px rgba(27,20,32,.08);}
.td-brand{display:flex;align-items:center;gap:10px;font-family:"Bricolage Grotesque",sans-serif;
  font-size:19px;font-weight:700;letter-spacing:-.01em;}
.td-brand img{height:30px;width:auto;}
.td-brand .trip-text{color:var(--td-purple);}
.td-brand .donut-text{color:var(--td-orange);}
.td-nav-toggle{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2827, 20, 32, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");}
.td-nav-links{display:flex;gap:4px;list-style:none;margin:0;padding:0;}
.td-nav-links a{padding:8px 14px;font-size:15px;font-weight:500;color:#4a3d55;border-radius:999px;}
.td-nav-links a:hover{background:rgba(96,25,160,.07);color:var(--td-purple);}
.td-nav-links a.active{background:rgba(96,25,160,.08);color:var(--td-purple);font-weight:600;}

/* --- tlačítka --- */
.td-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 28px;font-size:17px;font-weight:600;border-radius:12px;border:0;cursor:pointer;}
.td-btn-primary{background:var(--td-orange);color:#fff;box-shadow:0 10px 22px rgba(192,65,3,.28);}
.td-btn-primary:hover{background:var(--td-orange-dark);color:#fff;}
.td-btn-outline{background:#fff;color:var(--td-ink);border:1.5px solid var(--td-line-strong);}
.td-btn-outline:hover{border-color:var(--td-purple);color:var(--td-purple);}
.td-btn-dark{background:var(--td-ink);color:#fff;border-radius:999px;padding:10px 20px;font-size:15px;}
.td-btn-dark:hover{background:var(--td-purple);color:#fff;}

/* --- hero --- */
.td-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;
  padding:72px var(--td-pad) 88px;}
.td-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:26px;}
.td-badge{display:inline-flex;align-items:center;gap:8px;background:var(--td-badge-bg);
  border:1px solid var(--td-badge-line);padding:7px 14px;border-radius:999px;
  font-size:14px;font-weight:600;color:#8a4a12;}
.td-badge span{width:7px;height:7px;border-radius:999px;background:var(--td-orange);}
.td-cta-row{display:flex;gap:12px;flex-wrap:wrap;}
.td-hero-media{position:relative;border-radius:24px;overflow:hidden;height:560px;
  box-shadow:0 30px 60px rgba(27,20,32,.22);}
.td-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}

/* --- sekce --- */
.td-section{padding:88px var(--td-pad);}
.td-section-alt{background:var(--td-surface-alt);}
.td-section-band{background:var(--td-band);padding:80px var(--td-pad);}
.td-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:44px;}
.td-section-head-copy{display:flex;flex-direction:column;gap:10px;}

/* --- karty --- */
.td-cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.td-card{background:#fff;border:1px solid var(--td-line);border-radius:18px;padding:28px;
  display:flex;flex-direction:column;gap:12px;}
.td-card:hover{border-color:#d9c6e6;box-shadow:0 12px 28px rgba(27,20,32,.07);}
.td-num{font-family:"Bricolage Grotesque",sans-serif;font-size:34px;font-weight:800;color:var(--td-num);}

/* karta funkce (About) – text + obrázek */
.td-feature{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;
  background:#fff;border:1px solid var(--td-line);border-radius:18px;padding:40px;}
.td-feature-media{border-radius:14px;overflow:hidden;border:1px solid var(--td-line);background:var(--td-surface-alt);}
.td-feature-media img{width:100%;display:block;}
.td-feature.td-flip{grid-template-columns:1.1fr 1fr;}
.td-feature.td-flip .td-feature-media{order:-1;}
.td-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.td-list li{display:flex;gap:10px;font-size:16px;line-height:1.55;color:var(--td-ink);}
.td-list li::before{content:"—";color:var(--td-orange);font-weight:700;}
.td-stack{display:flex;flex-direction:column;gap:20px;}

/* --- náhledy --- */
.td-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.td-tile{box-sizing:border-box;height:200px;display:flex;align-items:center;justify-content:center;
  padding:14px;background:var(--td-surface-alt);border:1px solid var(--td-line);
  border-radius:18px;overflow:hidden;}
.td-tile img{max-width:100%;max-height:100%;width:auto;object-fit:contain;display:block;}

/* --- dvojice karet (registrace / mobil) --- */
.td-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.td-panel{background:#fdfbfe;border:1px solid #ddd0e8;border-radius:24px;padding:40px;
  display:flex;flex-direction:column;gap:16px;}

/* --- kotvy na About --- */
.td-anchors{display:flex;flex-wrap:wrap;gap:8px;padding:22px 0;
  border-top:1px solid var(--td-line);border-bottom:1px solid var(--td-line);}
.td-anchors a{padding:8px 16px;font-size:15px;font-weight:500;color:#4a3d55;
  background:var(--td-surface-alt);border-radius:999px;}
.td-anchors a:hover{background:var(--td-band);color:var(--td-purple);}

/* --- video --- */
.td-video-row{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center;}
.td-video{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;
  box-shadow:0 20px 44px rgba(27,20,32,.16);}
.td-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.td-video-list{display:flex;flex-direction:column;gap:2px;}
.td-video-list a{display:flex;justify-content:space-between;padding:14px 4px;
  border-bottom:1px solid #e6dcec;font-size:17px;font-weight:500;color:var(--td-ink);}
.td-video-list a:hover{color:var(--td-purple);}
.td-video-list .td-soon{padding:14px 4px;font-size:16px;color:#9b8ca3;font-style:italic;}

/* ============ TABLET ============ */
@media (max-width:1199px){
  .td-page{padding:0;}
  .td-shell{max-width:100%;border-radius:0;box-shadow:none;}
  :root{--td-pad:32px;}
  .td-h1{font-size:48px;}
  .td-h2{font-size:36px;}
}

/* ============ <992px : jeden sloupec ============ */
@media (max-width:991px){
  .td-nav-wrap{position:static;padding:12px var(--td-pad) 0;}
  .td-nav{width:100%;border-radius:16px;padding:10px 12px;gap:12px;
    flex-wrap:wrap;justify-content:space-between;}
  .td-nav-toggle{display:inline-flex;align-items:center;justify-content:center;
    width:44px;height:44px;border-radius:12px;border:1px solid var(--td-line-strong);background:#fff;}
  .td-nav-links{flex-direction:column;gap:0;width:100%;}
  .td-nav-links a{padding:0 8px;min-height:48px;display:flex;align-items:center;
    border-radius:0;border-bottom:1px solid var(--td-line);}
  .td-nav .td-btn-dark{width:100%;min-height:48px;}

  .td-hero{grid-template-columns:1fr;gap:28px;padding:32px var(--td-pad) 48px;}
  .td-hero-media{order:-1;height:360px;border-radius:18px;box-shadow:0 16px 32px rgba(27,20,32,.18);}

  .td-section{padding:56px var(--td-pad);}
  .td-section-band{padding:48px var(--td-pad);}
  .td-section-head{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:28px;}
  .td-cards-3{grid-template-columns:1fr;}
  .td-duo{grid-template-columns:1fr;}
  .td-panel{padding:28px;border-radius:18px;}
  .td-feature,.td-feature.td-flip{grid-template-columns:1fr;gap:24px;padding:24px;border-radius:16px;}
  .td-feature.td-flip .td-feature-media{order:0;}
  .td-feature .td-h2{font-size:28px;}
  .td-tiles{grid-template-columns:repeat(2,1fr);}
  .td-tile{height:160px;}
  .td-video-row{grid-template-columns:1fr;gap:24px;}
}

/* ============ MOBIL ============ */
@media (max-width:767px){
  :root{--td-pad:20px;}
  .td-h1{font-size:36px;}
  .td-h2{font-size:28px;}
  .td-h3{font-size:22px;}
  .td-lead{font-size:17px;}
  .td-hero-media{height:260px;}
  .td-cta-row{width:100%;flex-direction:column;gap:10px;}
  .td-cta-row .td-btn{width:100%;min-height:48px;padding:14px 20px;font-size:16px;}
  .td-panel .td-btn{width:100%;}
  .td-tiles{grid-template-columns:1fr;}
  .td-tile{height:auto;max-height:220px;}
  .td-anchors{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;
    -ms-overflow-style:none;scrollbar-width:none;}
  .td-anchors::-webkit-scrollbar{display:none;}
  .td-anchors a{flex:0 0 auto;scroll-snap-align:start;}
  .td-section-band .td-cta-row{align-items:stretch;}
  img{max-width:100%;}
  a{overflow-wrap:anywhere;}
}
