/* ============================================================
   RED MEDIA — wspólny plik bazowy
   Tokeny, reset, komponenty bazowe (.rm-section, .rm-btn, .rm-btn-text,
   .rm-placeholder, .rm-eyebrow, .rm-accent, .rm-divider, .rm-hr),
   header i footer. Współdzielone przez wszystkie strony serwisu —
   zmiana tutaj propaguje się wszędzie. Nie dodawać tu CSS specyficznego
   dla pojedynczej podstrony (patrz CLAUDE.md sekcja 11).
   ============================================================ */
:root{
  --rm-red:        #A62B23;
  --rm-red-dark:   #6E1A15;
  --rm-ink:        #232323;
  --rm-body:       #3C3C3C;
  --rm-paper:      #FFFFFF;
  --rm-paper-alt:  #F6F5F4;
  --rm-dark:       #170D0C;
  --rm-dark-2:     #241512;
  --rm-hairline:   #E2DFDD;
  --rm-hairline-dark: rgba(255,255,255,.14);

  --font-display: 'Abril Fatface', Georgia, serif;
  --font-body: 'Lato', -apple-system, sans-serif;

  --section-pad-desktop: 120px;
  --section-pad-mobile: 72px;
  --maxw: 1280px;
  --gutter: 24px;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *{ animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
body{
  margin:0;
  font-family: var(--font-body);
  color: var(--rm-body);
  background: var(--rm-paper);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img,video{ max-width:100%; display:block; }
a{ color: inherit; }
h1,h2,h3{ font-family: var(--font-display); color: var(--rm-ink); margin: 0; line-height: 1.1; }
p{ margin:0; }
button{ font-family: inherit; cursor:pointer; }

.rm-wrap{ max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter); }

.rm-section{ padding: var(--section-pad-desktop) 0; }
.rm-section--alt{ background: var(--rm-paper-alt); }
.rm-section--dark{ background: var(--rm-dark); color: #EDE7E4; }
.rm-section--dark h2, .rm-section--dark h3{ color: #FBF7F5; }
@media (max-width: 860px){ .rm-section{ padding: var(--section-pad-mobile) 0; } }

.rm-eyebrow{
  display:inline-block; font-family: var(--font-body); font-size: 12px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: var(--rm-red); margin-bottom: 18px;
}
.rm-section--dark .rm-eyebrow{ color: #E8776C; }
.rm-accent{ color: var(--rm-red); }
.rm-section--dark .rm-accent{ color: #E8776C; }

.rm-divider{ width: 1px; height: 56px; background: var(--rm-red); margin: 0 auto 28px; position: relative; }
.rm-divider::before{
  content:''; position:absolute; top:-10px; left:50%; width:6px; height:6px;
  background: var(--rm-red); border-radius:50%; transform: translateX(-50%);
}

.rm-hr{ border:none; border-top:1px solid var(--rm-hairline); margin:0; }
.rm-section--dark .rm-hr{ border-top-color: var(--rm-hairline-dark); }

.rm-btn{
  display:inline-flex; align-items:center; gap:10px; padding: 16px 32px;
  background: var(--rm-red); color:#fff; font-family: var(--font-body); font-weight:600;
  font-size:14px; letter-spacing:.04em; text-transform: uppercase; text-decoration:none;
  border:1px solid var(--rm-red); transition: background .25s ease, color .25s ease;
}
.rm-btn:hover{ background: transparent; color: var(--rm-red); }
.rm-section--dark .rm-btn:hover{ color:#fff; border-color:#fff; }
.rm-btn:focus-visible, a:focus-visible, button:focus-visible, [tabindex]:focus-visible{
  outline: 2px solid var(--rm-red); outline-offset: 3px;
}

.rm-btn-text{
  display:inline-block; background:none; border:none; padding:0; color: var(--rm-ink);
  font-weight:600; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--rm-red);
}
.rm-section--dark .rm-btn-text{ color:#fff; }

.rm-placeholder{
  position:relative; background: linear-gradient(135deg, var(--rm-dark) 0%, var(--rm-red-dark) 100%);
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.rm-placeholder__label{
  font-family: var(--font-body); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color: rgba(255,255,255,.55); text-align:center; padding: 8px 14px; border:1px dashed rgba(255,255,255,.3);
}

/* ============================================================
   HEADER
   ============================================================ */
.rm-header{
  position: sticky; top:0; z-index: 40; background: rgba(255,255,255,.92);
  backdrop-filter: blur(6px); border-bottom: 1px solid var(--rm-hairline);
}
.rm-header__inner{
  display:flex; align-items:center; justify-content:space-between; padding: 16px var(--gutter);
  max-width: var(--maxw); margin:0 auto;
}
.rm-logo{ font-family: var(--font-display); font-size:22px; text-decoration:none; color: var(--rm-ink); letter-spacing:-.01em; }
.rm-logo span{ color: var(--rm-red); }
.rm-header nav{ display:flex; align-items:center; gap:28px; font-size:13px; letter-spacing:.06em; text-transform:uppercase; font-weight:500; }
.rm-header nav a{ text-decoration:none; color: var(--rm-ink); }
.rm-header nav a.current{ color: var(--rm-red); }
@media (max-width:900px){ .rm-header nav{ display:none; } }

/* ============================================================
   FOOTER
   ============================================================ */
.rm-footer{ background: var(--rm-ink); color: rgba(255,255,255,.55); padding:0; font-size:13px; }
.rm-footer__inner{ max-width: var(--maxw); margin:0 auto; padding: 40px var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.rm-footer__social{ display:flex; gap:14px; }
.rm-footer__social a{
  width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.7); transition: all .2s ease;
}
.rm-footer__social a:hover{ border-color: var(--rm-red); color: #E8776C; }
.rm-footer__social svg{ width:16px; height:16px; fill:currentColor; }
.rm-footer__inner span a{ color: rgba(255,255,255,.7); }
.rm-footer__inner span a:hover{ color: #E8776C; }
@media (max-width:600px){ .rm-footer__inner{ flex-direction:column; text-align:center; } }
