/* ============================================================
   FREEDOM NIERUCHOMOŚCI — brand styles
   Bazowane bezpośrednio na freedom.pl (Mont font, ametyst headers).
   Wspólny system dla landingów: optin / thank-you / konsultacja
   ============================================================ */

/* ===== MONT FONT (pobrany z freedom.pl) ===== */
@font-face {
  font-family: 'Mont';
  src: url('fonts/Mont-SemiBold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Mont';
  src: url('fonts/Mont-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root{
  /* ===== BRAND COLORS (z faktycznego freedom.pl) ===== */
  --pink:        #E50071;       /* primary CTA / accent */
  --pink-deep:   #701C59;       /* hover, ciemniejszy róż */
  --pink-soft:   #FCE3F0;       /* tła i pill tagi */
  --ametyst:     #4C003D;       /* WSZYSTKIE HEADERY — sygnatura Freedom */
  --ametyst-2:   #701C59;       /* hover/secondary headers */

  /* ===== INK / GRAY SCALE (Tailwind-like, jak na freedom.pl) ===== */
  --ink-900:     #111827;
  --ink-800:     #1F2937;
  --ink-700:     #374151;       /* body text */
  --ink-500:     #6B7280;
  --ink-400:     #9CA3AF;
  --ink-300:     #D1D5DB;
  --ink-200:     #E5E7EB;       /* lines */
  --ink-100:     #F3F4F6;       /* alt section bg */
  --ink-50:      #F9FAFB;       /* light bg */

  --white:       #FFFFFF;
  --bg:          #FFFFFF;
  --bg-soft:     #F9FAFB;
  --line:        #E5E7EB;

  /* aliasy dla zgodności wstecznej (poprzedni CSS) */
  --graphite:    var(--ametyst);
  --plum:        var(--ametyst);

  /* ===== TYPO ===== */
  --font:        'Mont', 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;

  /* ===== RADIUS (na freedom.pl: 8px dominuje, 24px na duże karty) ===== */
  --radius-sm:   6px;
  --radius:      8px;
  --radius-md:   16px;
  --radius-lg:   24px;

  --container:   1280px;
  --shadow-sm:   0 2px 8px rgba(76, 0, 61, 0.05);
  --shadow:      0 8px 24px rgba(76, 0, 61, 0.08);
  --shadow-lg:   0 20px 48px rgba(76, 0, 61, 0.12);
}

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

html,body{
  margin:0; padding:0;
  font-family:var(--font);
  color:var(--ink-700);
  background:var(--bg);
  font-weight:400;
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }

.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 32px;
}

/* ============= NAV ============= */
.fd-nav{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,0.96);
  backdrop-filter: blur(12px);
  border-bottom:1px solid var(--line);
}
.fd-nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 32px;
  max-width:var(--container);
  margin:0 auto;
  gap:24px;
}
.fd-logo{
  display:inline-flex; align-items:center;
  height:26px;
}
.fd-logo img{
  height:24px; width:auto; display:block;
}
.fd-logo.lg img{ height:32px; }
.fd-logo.on-dark img{ filter:brightness(0) invert(1); }

.fd-nav-links{
  display:flex; gap:32px; align-items:center;
  font-size:14px; font-weight:600;
  color:var(--ametyst);
}
.fd-nav-links a{
  opacity:0.85; transition:color .15s, opacity .15s;
}
.fd-nav-links a:hover{ color:var(--pink); opacity:1; }

.fd-nav-right{
  display:flex; align-items:center; gap:16px;
}
.fd-nav-phone{
  display:inline-flex; align-items:center; gap:8px;
  font-size:14px; font-weight:600;
  color:var(--ametyst);
}
.fd-nav-phone svg{ color:var(--pink); }
.fd-nav-cta{
  padding:11px 22px;
  border-radius:var(--radius);
  background:var(--pink); color:var(--white);
  font-weight:700; font-size:14px;
  border:none;
  transition:background .15s, transform .15s;
}
.fd-nav-cta:hover{
  background:var(--pink-deep);
  transform:translateY(-1px);
}

/* ============= EYEBROW & TITLES ============= */
.fd-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:12px; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--pink);
}
.fd-eyebrow::before{
  content:''; width:24px; height:1px; background:var(--pink);
}
.fd-eyebrow.no-line::before{ display:none; }

.fd-h1, .fd-h2, .fd-h3{
  color:var(--ametyst);   /* sygnatura Freedom: headery w ametyście */
  font-weight:700;
  margin:0;
}
.fd-h1{
  font-size:clamp(38px, 5.5vw, 64px);
  line-height:1.1;
  letter-spacing:-0.015em;
}
.fd-h2{
  font-size:clamp(30px, 4vw, 46px);
  line-height:1.15;
  letter-spacing:-0.01em;
}
.fd-h3{
  font-size:22px;
  line-height:1.3;
  letter-spacing:-0.005em;
}
.accent{ color:var(--pink); }

.fd-lead{
  font-size:19px;
  line-height:1.55;
  color:var(--ink-700);
  margin:24px 0 0 0;
  max-width:640px;
}
.on-dark .fd-lead{ color:rgba(255,255,255,0.82); }

/* ============= BUTTONS (rounded rectangle 8px, jak na freedom.pl) ============= */
.fd-btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:16px 28px;
  background:var(--pink); color:var(--white);
  border:none; border-radius:var(--radius);
  font-size:15px; font-weight:700;
  letter-spacing:0;
  transition: background .15s, transform .15s, box-shadow .15s;
  box-shadow: 0 1px 2px rgba(76,0,61,0.06);
}
.fd-btn:hover{
  background:var(--pink-deep);
  transform:translateY(-1px);
  box-shadow: 0 6px 16px rgba(229,0,113,0.25);
}
.fd-btn .arr{
  display:inline-block;
  transition:transform .2s;
}
.fd-btn:hover .arr{ transform:translateX(4px); }

.fd-btn.ghost{
  background:transparent; color:var(--ametyst);
  border:1.5px solid var(--ametyst);
  box-shadow:none;
}
.fd-btn.ghost:hover{
  background:var(--ametyst); color:var(--white);
}

.fd-btn.dark{
  background:var(--ametyst);
}
.fd-btn.dark:hover{
  background:var(--ametyst-2);
  box-shadow:0 6px 16px rgba(76,0,61,0.25);
}

.fd-btn.lg{ padding:20px 36px; font-size:16px; }

/* ============= SECTIONS ============= */
.fd-section{
  position:relative;
  padding:96px 0;
}
.fd-section.tight{ padding:64px 0; }
.fd-section.dark{
  background:var(--ametyst);
  color:var(--white);
}
.fd-section.dark .fd-h1,
.fd-section.dark .fd-h2,
.fd-section.dark .fd-h3{ color:var(--white); }
.fd-section.dark .fd-lead{ color:rgba(255,255,255,0.82); }
.fd-section.pink{
  background:var(--pink);
  color:var(--white);
}
.fd-section.soft{ background:var(--ink-50); }

.on-dark .fd-h1,
.on-dark .fd-h2,
.on-dark .fd-h3{ color:var(--white); }

/* ============= CARDS ============= */
.fd-card{
  background:var(--white);
  border-radius:var(--radius-md);
  padding:32px;
  box-shadow:var(--shadow-sm);
  border:1px solid var(--line);
}
.fd-card.feature{
  background:var(--pink);
  color:var(--white);
  border:none;
}
.fd-card.feature .fd-h3{ color:var(--white); }
.fd-card.dark{
  background:var(--ametyst);
  color:var(--white);
  border:none;
}
.fd-card.dark .fd-h3{ color:var(--white); }

/* ============= STATS ============= */
.fd-stats{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:48px;
  margin-top:64px;
}
.fd-stat .num{
  font-size:72px;
  font-weight:700;
  letter-spacing:-0.03em;
  line-height:0.95;
  color:var(--ametyst);
}
.on-dark .fd-stat .num,
.fd-section.dark .fd-stat .num{ color:var(--white); }
.fd-stat .num .unit{
  font-size:38px;
  margin-left:4px;
  opacity:0.7;
}
.fd-stat .lbl{
  font-size:12px; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--pink);
  margin-top:14px;
}
.fd-stat .desc{
  margin-top:10px; font-size:15px;
  color:var(--ink-500);
  line-height:1.5;
  max-width:280px;
}
.on-dark .fd-stat .desc,
.fd-section.dark .fd-stat .desc{ color:rgba(255,255,255,0.75); }

/* ============= FORM ============= */
.fd-form{
  display:flex; flex-direction:column; gap:20px;
}
.fd-form-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:18px;
}
.fd-field{
  display:flex; flex-direction:column; gap:8px;
}
.fd-field label{
  font-size:13px; font-weight:600;
  color:var(--ametyst);
}
.fd-field input,
.fd-field select,
.fd-field textarea{
  padding:14px 16px;
  background:var(--white);
  border:1.5px solid var(--line);
  border-radius:var(--radius);
  font-family:inherit;
  font-size:15px;
  color:var(--ink-900);
  transition:border-color .15s, box-shadow .15s;
  outline:none;
  width:100%;
}
.fd-field input::placeholder{
  color:var(--ink-400);
}
.fd-field input:focus,
.fd-field select:focus,
.fd-field textarea:focus{
  border-color:var(--pink);
  box-shadow:0 0 0 3px rgba(229,0,113,0.12);
}
.fd-field .hint{
  font-size:13px; color:var(--ink-500); margin-top:2px;
}
.fd-form-disclaimer{
  font-size:12px; color:var(--ink-500); line-height:1.55;
  margin-top:8px;
}
.fd-form-disclaimer a{ text-decoration:underline; color:var(--pink); }

/* Checkbox */
.fd-check{
  display:flex; gap:12px; align-items:flex-start;
  font-size:13px; line-height:1.5;
  color:var(--ink-700);
}
.fd-check input{
  margin:3px 0 0 0; flex-shrink:0;
  width:18px; height:18px;
  accent-color:var(--pink);
}

/* ============= FOOTER ============= */
.fd-footer{
  background:var(--ametyst);
  color:var(--white);
  padding:72px 0 32px;
}
.fd-footer-inner{
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap:48px;
  max-width:var(--container);
  margin:0 auto;
  padding:0 32px;
}
.fd-footer h4{
  font-size:13px; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--pink);
  margin:0 0 20px 0;
}
.fd-footer ul{
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:10px;
}
.fd-footer a{ opacity:0.85; transition:opacity .15s, color .15s; font-size:14px; color:rgba(255,255,255,0.85); }
.fd-footer a:hover{ opacity:1; color:var(--pink); }
.fd-footer-tag{
  font-size:24px; font-weight:700;
  line-height:1.3;
  margin-bottom:20px;
  color:var(--white);
  letter-spacing:-0.01em;
}
.fd-footer-bottom{
  border-top:1px solid rgba(255,255,255,0.15);
  margin-top:56px; padding-top:28px;
  max-width:var(--container);
  margin-left:auto; margin-right:auto;
  padding-left:32px; padding-right:32px;
  display:flex; justify-content:space-between; align-items:center;
  font-size:13px; color:rgba(255,255,255,0.6);
}
.fd-footer-bottom a{ color:rgba(255,255,255,0.7); }

/* ============= STAR RATING (signature freedom.pl) ============= */
.fd-stars{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px;
  background:var(--ink-50);
  border:1px solid var(--line);
  border-radius:var(--radius);
  font-size:13px; font-weight:600;
  color:var(--ametyst);
}
.fd-stars .stars{
  display:inline-flex; gap:1px;
}
.fd-stars .stars svg{ width:14px; height:14px; fill:#FBBF24; }
.fd-stars strong{ color:var(--ametyst); }
.fd-stars .small{ color:var(--ink-500); font-weight:500; }

/* ============= UTILITIES ============= */
.fd-divider{ height:1px; background:var(--line); margin:0; }
.text-center{ text-align:center; }
.mt-16{ margin-top:16px; }
.mt-24{ margin-top:24px; }
.mt-32{ margin-top:32px; }
.mt-48{ margin-top:48px; }
.mt-64{ margin-top:64px; }

/* Legacy: keeping decorative pattern hidden by default (use .show to enable) */
.fd-pattern{ display:none; }
.fd-pattern.show{
  display:block;
  position:absolute; inset:0; pointer-events:none; overflow:hidden;
}
.fd-pattern .sq{
  position:absolute;
  border:1.5px solid rgba(76,0,61,0.08);
  border-radius:6px;
}
.fd-pattern .sq.fill{ background:rgba(76,0,61,0.05); border:none; }
.fd-pattern .sq.pink{ background:var(--pink); border:none; opacity:0.95; }

/* ============= RESPONSIVE ============= */
@media (max-width: 900px){
  .container, .fd-nav-inner, .fd-footer-inner, .fd-footer-bottom{
    padding-left:20px; padding-right:20px;
  }
  .fd-section{ padding:64px 0; }
  .fd-nav-links{ display:none; }
  .fd-nav-phone{ display:none; }
  .fd-stats{ grid-template-columns:1fr; gap:40px; }
  .fd-form-grid{ grid-template-columns:1fr; }
  .fd-footer-inner{ grid-template-columns:1fr 1fr; gap:40px; }
  .fd-footer-bottom{ flex-direction:column; gap:12px; }
}
