/*
Theme Name: DM Landing
Theme URI: https://dusanmurco.com
Description: Child téma Twenty Nineteen — landing page pre osobný brand Dušana Murča.
Author: Dušan Murčo
Template: twentynineteen
Version: 1.3
Text Domain: dm-landing
*/

/* ===== Tokens ===== */
:root {
  --petrol-950:#022A31; --petrol-900:#033840; --petrol-700:#044E5A; --petrol-500:#0A6B77;
  --mint-300:#BAE1D7; --mint-100:#DDF0E9;
  --terracotta-600:#B85C38; --terracotta-100:#F3E0D6;
  --ink-900:#10181A; --ink-700:#2C3A3D; --ink-500:#5C6B6E; --ink-300:#9AA8AA;
  --paper:#FAFAF8; --paper-warm:#F4F3EE; --border:#E4E6E1;
  --pad:64px;
}

@font-face {
  font-family:"Montra";
  src:url("assets/fonts/Montra-Regular.otf") format("opentype");
  font-weight:400; font-style:normal; font-display:swap;
}

/* ===== Base ===== */
.dm-page *,.dm-page *::before,.dm-page *::after { box-sizing:border-box; }
.dm-page {
  width:100%; background:var(--paper);
  font-family:"Instrument Sans",-apple-system,sans-serif; color:var(--ink-700);
  font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
.dm-page img { max-width:100%; display:block; }
.dm-page a { text-decoration:none; color:var(--petrol-700); }
.dm-page a:hover { color:var(--petrol-500); }
/* Komponentové odkazy musia prebiť generické .dm-page a (rovnaká špecificita nestačí) */
.dm-page a.dm-btn,
.dm-page a.dm-nav__brand,
.dm-page a.dm-link-mint,
.dm-page a.dm-post { color:inherit; }
.dm-page h1,.dm-page h2,.dm-page h3 { font-family:"Montra",sans-serif; font-weight:400; margin:0; }
.dm-label {
  font-size:13px; letter-spacing:0.14em; text-transform:uppercase; font-weight:600;
  color:var(--ink-500); display:flex; align-items:center; gap:12px;
}
.dm-label::before { content:""; width:24px; height:1px; background:currentColor; }
.dm-page a.dm-btn {
  display:inline-block; background:var(--terracotta-600); color:var(--paper);
  font-weight:600; font-size:16px; padding:14px 28px; border-radius:4px;
  transition:filter 160ms ease;
}
.dm-page a.dm-btn:hover { filter:brightness(1.12); color:var(--paper); }
.dm-page a.dm-link-mint { color:var(--mint-300); text-decoration:underline; text-underline-offset:4px; font-weight:500; font-size:16px; }
.dm-page a.dm-link-mint:hover { color:#fff; }

/* ===== Hero ===== */
.dm-hero { background:var(--petrol-950); color:var(--paper); position:relative; overflow:hidden; }
.dm-hero__bg { position:absolute; inset:0; overflow:hidden; }
.dm-hero__bg img {
  width:100%; height:100%; object-fit:cover; object-position:center 55%;
  filter:grayscale(1); mix-blend-mode:luminosity; opacity:0.55;
}
.dm-hero__bg::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,#022A31 0%,rgba(2,42,49,0.92) 22%,rgba(2,42,49,0.55) 58%,rgba(2,42,49,0.25) 100%);
}
.dm-page .dm-nav {
  position:sticky; top:0; z-index:50;
  background-color:var(--petrol-950);
  border-bottom:1px solid rgba(186,225,215,0.12);
  color:var(--paper);
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; padding:18px var(--pad); flex-wrap:wrap;
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .dm-page .dm-nav {
    background-color:rgba(2,42,49,0.92);
    -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  }
}
/* WP admin bar nesmie prekryť sticky header */
.admin-bar .dm-page .dm-nav { top:32px; }
@media screen and (max-width:782px) { .admin-bar .dm-page .dm-nav { top:46px; } }
/* kotvy nesmú skončiť pod headerom */
.dm-page [id] { scroll-margin-top:90px; }
.dm-page a.dm-nav__brand { display:flex; align-items:center; gap:12px; color:var(--paper); font-weight:600; font-size:16px; }
.dm-page a.dm-nav__brand:hover { color:var(--mint-300); }
.dm-nav__brand img { width:34px; height:34px; border-radius:6px; }
.dm-nav__links { display:flex; align-items:center; gap:32px; font-size:15px; flex-wrap:wrap; }
.dm-page .dm-nav__links a { color:var(--paper); }
.dm-page .dm-nav__links a:hover { color:var(--mint-300); }
.dm-nav__lang { font-size:13px; color:var(--mint-300); letter-spacing:0.08em; }
.dm-hero__body { position:relative; padding:110px var(--pad) 240px; }
.dm-hero__body h1 { font-size:104px; line-height:0.98; max-width:1100px; }
.dm-about__grid, .dm-topics, .dm-refs, .dm-proof__inner { max-width:1440px; }
.dm-hero__body h1 span { color:var(--mint-300); }
.dm-hero__lead { font-size:23px; line-height:1.5; color:var(--mint-300); max-width:620px; margin:32px 0 40px; }
.dm-hero__cta { display:flex; gap:14px; align-items:center; flex-wrap:wrap; }

/* ===== Social proof ===== */
.dm-proof { padding:40px var(--pad); border-bottom:1px solid var(--border); }
.dm-proof__inner { display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.dm-proof__label { flex:none; }
.dm-proof__logos { display:flex; gap:40px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.dm-proof__logos span { font-weight:600; font-size:18px; color:var(--ink-300); }

/* ===== O mne ===== */
.dm-about { background:var(--mint-100); padding:88px var(--pad); }
.dm-about__grid { display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:start; }
.dm-about__label { color:var(--petrol-900); margin-bottom:32px; }
.dm-about__photo {
  position:relative; aspect-ratio:4/5; max-width:340px; background:var(--petrol-700);
  border-radius:8px; overflow:hidden;
}
.dm-about__photo img {
  width:100%; height:100%; object-fit:cover; filter:grayscale(1);
  mix-blend-mode:luminosity; opacity:0.85;
}
.dm-about__lead {
  font-family:"Source Serif 4",Georgia,serif; font-size:27px; line-height:1.45;
  color:var(--petrol-900); margin:0 0 24px;
}
.dm-about__text { font-size:17px; line-height:1.6; margin:0 0 32px; }
.dm-stats { display:flex; gap:40px; margin-bottom:32px; flex-wrap:wrap; }
.dm-stats__num { font-family:"Montra",sans-serif; font-size:38px; color:var(--terracotta-600); }
.dm-stats__cap { font-size:14px; }
.dm-now {
  border-top:1px solid rgba(3,56,64,0.28); padding-top:20px;
  display:grid; grid-template-columns:170px 1fr; gap:32px; align-items:start;
}
.dm-now__label {
  display:flex; align-items:center; gap:9px;
  font-size:13px; letter-spacing:0.14em; text-transform:uppercase;
  font-weight:600; color:var(--petrol-900);
}
.dm-now__dot { width:7px; height:7px; border-radius:999px; background:var(--terracotta-600); flex:none; }
.dm-now__list { display:flex; flex-direction:column; gap:14px; }
.dm-now__key {
  font-size:12px; letter-spacing:0.1em; text-transform:uppercase;
  color:rgba(3,56,64,0.6); margin-bottom:3px;
}
.dm-now__val { font-size:17px; font-weight:500; color:var(--petrol-900); }
.dm-now__val span { color:rgba(3,56,64,0.55); font-weight:400; }
.dm-now__rule { height:1px; background:rgba(3,56,64,0.14); }

.dm-hero__credit {
  position:relative; padding:0 var(--pad) 22px; text-align:right;
  font-size:12px; letter-spacing:0.06em; color:rgba(250,250,248,0.5);
}

/* ===== Speaking ===== */
.dm-speaking { padding:88px var(--pad); }
.dm-speaking h2 { font-size:56px; line-height:1.05; color:var(--ink-900); margin:24px 0 16px; max-width:820px; }
.dm-speaking__lead { font-size:18px; line-height:1.6; max-width:640px; margin:0 0 48px; }
.dm-topics { display:flex; flex-direction:column; margin-bottom:56px; }
.dm-topic {
  display:grid; grid-template-columns:88px 1fr 260px; gap:32px; align-items:start;
  border-top:1px solid var(--border); padding:24px 0 28px;
}
.dm-topic:first-child { border-top:2px solid var(--terracotta-600); }
.dm-topic:last-child { border-bottom:1px solid var(--border); }
.dm-topic__num { font-family:"Montra",sans-serif; font-size:44px; line-height:1; color:var(--terracotta-600); }
.dm-topic__head { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.dm-topic__title { font-weight:600; font-size:24px; color:var(--ink-900); }
.dm-topic__badge {
  font-size:12px; letter-spacing:0.12em; text-transform:uppercase; font-weight:600;
  color:var(--terracotta-600); background:var(--terracotta-100); padding:4px 10px; border-radius:999px;
}
.dm-topic__desc { font-size:16px; line-height:1.6; margin:0; max-width:640px; }
.dm-topic__meta { font-size:14px; line-height:1.6; color:var(--ink-500); }

.dm-refs { display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:start; }
.dm-refs__photo {
  position:relative; width:100%; border-radius:8px; overflow:hidden;
  background:var(--petrol-700); aspect-ratio:16/9;
}
.dm-refs__photo img {
  width:100%; height:100%; object-fit:cover; object-position:center 52%;
  filter:grayscale(1); mix-blend-mode:luminosity; opacity:0.85;
}
.dm-refs__quotes { display:flex; flex-direction:column; gap:28px; justify-content:center; }
.dm-refs__quotes figure { margin:0; }
.dm-refs__quotes blockquote {
  margin:0; font-family:"Source Serif 4",Georgia,serif; font-size:21px;
  line-height:1.45; color:var(--ink-900);
}
.dm-refs__quotes figcaption { margin-top:10px; font-size:14px; color:var(--ink-500); }

/* ===== Blog ===== */
.dm-blog { padding:0 var(--pad) 88px; max-width:1312px; }
.dm-blog__head { display:flex; justify-content:space-between; align-items:baseline; gap:24px; margin-bottom:8px; flex-wrap:wrap; }
.dm-blog__head h2 { font-size:40px; color:var(--ink-900); }
.dm-blog__list { display:flex; flex-direction:column; }
.dm-page a.dm-post {
  display:flex; justify-content:space-between; align-items:baseline; gap:24px;
  padding:22px 0; border-bottom:1px solid var(--border);
}
.dm-post__title { font-weight:600; font-size:21px; color:var(--ink-900); }
.dm-post:hover .dm-post__title { color:var(--petrol-700); }
.dm-post__cat { font-size:14px; color:var(--terracotta-600); font-weight:500; flex:none; }

/* ===== Newsletter ===== */
.dm-news {
  margin:0 var(--pad) 72px; background:var(--petrol-900); border-radius:8px;
  padding:56px; color:var(--paper);
  display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center;
}
.dm-news__label { font-size:13px; letter-spacing:0.14em; text-transform:uppercase; font-weight:600; color:var(--mint-300); margin-bottom:14px; }
.dm-news__title { font-family:"Montra",sans-serif; font-size:38px; line-height:1.08; margin-bottom:12px; }
.dm-news__text { font-size:16px; line-height:1.6; color:var(--mint-300); margin:0; }
.dm-news__form { display:flex; flex-direction:column; gap:14px; }
.dm-news__row { display:flex; gap:10px; flex-wrap:wrap; }
.dm-news__row input {
  flex:1; min-width:200px; padding:14px 18px; border-radius:4px;
  border:1px solid rgba(250,250,248,0.3); background:rgba(250,250,248,0.08);
  color:var(--paper); font-family:inherit; font-size:15px; outline:none;
}
.dm-news__row input:focus { border-color:var(--mint-300); }
.dm-news__row input::placeholder { color:rgba(250,250,248,0.5); }
.dm-news__hp {
  position:absolute !important; width:1px; height:1px; margin:0; padding:0;
  overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%);
  white-space:nowrap; border:0;
}
.dm-news__consent {
  display:flex; gap:10px; align-items:flex-start;
  font-size:13px; line-height:1.5; color:rgba(250,250,248,0.7); cursor:pointer;
}
.dm-news__consent input { margin-top:2px; accent-color:var(--terracotta-600); flex:none; }
.dm-news__msg { margin-top:14px; font-size:14px; font-weight:500; }
.dm-news__msg--ok { color:var(--mint-300); }
.dm-news__msg--info { color:rgba(250,250,248,0.8); }
.dm-news__msg--err { color:#F0B49A; }
.dm-news__form button {
  background:var(--terracotta-600); color:var(--paper); border:none; font-weight:600;
  font-size:15px; padding:14px 24px; border-radius:4px; cursor:pointer; font-family:inherit;
}
.dm-news__form button:hover { filter:brightness(1.12); }

/* ===== Footer ===== */
.dm-footer { background:var(--petrol-950); color:var(--paper); padding:64px var(--pad) 32px; }
.dm-footer__top { display:flex; justify-content:space-between; align-items:flex-start; gap:32px; flex-wrap:wrap; }
.dm-footer__title { font-family:"Montra",sans-serif; font-size:36px; margin-bottom:10px; }
.dm-page .dm-footer a { color:var(--mint-300); }
.dm-footer__phone { color:var(--ink-300); font-size:14px; margin-top:6px; }
.dm-footer__social { display:flex; gap:24px; font-size:14px; }
.dm-page .dm-footer__social a { color:var(--paper); }
.dm-page .dm-footer__social a:hover { color:var(--mint-300); }
.dm-footer__legal {
  border-top:1px solid rgba(250,250,248,0.15); margin-top:40px; padding-top:20px;
  font-size:13px; color:var(--ink-300);
}

/* ===== Responsive ===== */
@media (max-width:1100px) {
  :root { --pad:40px; }
  .dm-hero__body h1 { font-size:76px; }
  .dm-hero__body { padding:80px var(--pad) 180px; }
  .dm-speaking h2 { font-size:44px; }
  .dm-topic { grid-template-columns:64px 1fr; }
  .dm-topic__meta { grid-column:2; }
  .dm-refs { grid-template-columns:1fr; gap:32px; }
  .dm-about__grid { grid-template-columns:1fr; gap:40px; }
  .dm-news { grid-template-columns:1fr; gap:32px; padding:40px; }
}
@media (max-width:640px) {
  :root { --pad:24px; }
  .dm-page { font-size:16px; }
  .dm-nav { padding:16px var(--pad); }
  .dm-nav__links { gap:18px; font-size:14px; }
  .dm-hero__body { padding:56px var(--pad) 120px; }
  .dm-hero__body h1 { font-size:52px; }
  .dm-hero__lead { font-size:19px; margin:24px 0 32px; }
  .dm-hero__cta { flex-direction:column; align-items:stretch; }
  .dm-btn { text-align:center; }
  .dm-proof__inner { justify-content:flex-start; }
  .dm-proof__logos { justify-content:flex-start; gap:24px; }
  .dm-proof__logos span { font-size:16px; }
  .dm-about,.dm-speaking { padding:56px var(--pad); }
  .dm-about__lead { font-size:22px; }
  .dm-speaking h2 { font-size:34px; }
  .dm-topic { grid-template-columns:1fr; gap:12px; }
  .dm-topic__meta { grid-column:1; }
  .dm-topic__num { font-size:32px; }
  .dm-topic__title { font-size:20px; }
  .dm-post { flex-direction:column; gap:6px; }
  .dm-now { grid-template-columns:1fr; gap:16px; }
  .dm-hero__credit { text-align:left; font-size:11px; }
  .dm-news { margin:0 var(--pad) 48px; padding:32px; }
  .dm-news__title { font-size:28px; }
  .dm-footer { padding:48px var(--pad) 24px; }
  .dm-footer__title { font-size:28px; }
}
