/* ══════════════════════════════════════════════════════════════
   Duliński Stolarstwo — style autorskie
   Paleta: #F442D6 akcent · #71808F struktura · #CCCACE tła · #1A202C tekst
   ══════════════════════════════════════════════════════════════ */

:root{
  --accent:#F442D6;
  --accent-deep:#D42BB6;
  --slate:#71808F;
  --french:#CCCACE;
  --ink:#1A202C;
}

html{ scroll-behavior:smooth; scroll-padding-top:96px; }
body{ color:var(--ink); background:#fff; -webkit-font-smoothing:antialiased; }

a,button,input,select,textarea,.card,img{
  transition:color .3s ease, background-color .3s ease, border-color .3s ease,
             box-shadow .3s ease, transform .3s ease, opacity .3s ease;
}

/* ─── Skip link ─── */
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--accent);color:#fff;
      padding:12px 20px;border-radius:0 0 10px 0;font-size:14px;font-weight:600}
.skip:focus{left:0}

/* ─── PRZYCISKI ─── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:52px;padding:.85rem 1.6rem;border-radius:999px;
  font-size:14.5px;font-weight:600;line-height:1.25;text-align:center;
  border:2px solid transparent;cursor:pointer;text-decoration:none;
}
.btn-sm{min-height:46px;padding:.7rem 1.25rem;font-size:13.5px}
.btn-block{width:100%}

.btn-accent{background:var(--accent);color:#fff;box-shadow:0 14px 34px -10px rgba(244,66,214,.45)}
.btn-accent:hover{background:var(--accent-deep);color:#fff;transform:translateY(-2px)}

.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#000;color:#fff;transform:translateY(-2px)}

.btn-outline{border-color:rgba(113,128,143,.5);color:#5A6773;background:#fff}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}

.btn-outline-dark{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-outline-dark:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}

.btn-ghost-light{border-color:rgba(255,255,255,.45);color:#fff;background:transparent}
.btn-ghost-light:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}

/* ─── Nawigacja ─── */
.dropdown-menu{opacity:0;visibility:hidden;transform:translateY(10px);
               transition:opacity .25s ease, transform .25s ease, visibility .25s}
.dropdown:hover .dropdown-menu,
.dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}

.link-underline{position:relative}
.link-underline::after{content:'';position:absolute;left:0;bottom:22px;height:2px;width:0;
                       background:var(--accent);transition:width .3s ease}
.link-underline:hover::after{width:100%}

details > summary::-webkit-details-marker{display:none}
details > summary{list-style:none}

/* ─── Animacja wejścia ─── */
.reveal{opacity:0;transform:translateY(26px)}
.reveal.in{opacity:1;transform:none;transition:opacity .7s ease, transform .7s ease}

/* ─── Karty ─── */
.card{overflow:hidden}
.card:hover{transform:translateY(-6px)}
.card:hover .card-img{transform:scale(1.06)}
.card-media{overflow:hidden}
.card-img{width:100%;height:100%;object-fit:cover;transform:scale(1)}

/* ─── Zakładki oferty ─── */
.tab-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ─── Oś czasu ─── */
.timeline-line{background:linear-gradient(to bottom,var(--french),var(--accent),var(--french))}

/* ─── Formularze ─── */
input,textarea,select{outline:none}
input:focus,textarea:focus,select:focus{
  border-color:var(--accent);box-shadow:0 0 0 4px rgba(244,66,214,.12)
}
.dul-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* ─── Osadzony stream ─── */
.dul-embed iframe,.dul-embed video{width:100%;height:100%;border:0;display:block}

/* ─── Kropka LIVE ─── */
.live-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);
          box-shadow:0 0 0 0 rgba(244,66,214,.7);animation:pulse 2s infinite;flex:0 0 auto}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(244,66,214,0)}100%{box-shadow:0 0 0 0 rgba(244,66,214,0)}}

/* ─── Treść z edytora ─── */
::selection{background:rgba(244,66,214,.22)}
.prose-dul p{margin-bottom:1rem;line-height:1.75}
.prose-dul strong{color:var(--ink)}
.prose-dul h2{font-family:"Playfair Display",Georgia,serif;font-size:1.7rem;margin:1.6rem 0 .8rem;color:var(--ink)}
.prose-dul h3{font-family:"Playfair Display",Georgia,serif;font-size:1.35rem;margin:1.4rem 0 .6rem;color:var(--ink)}
.prose-dul ul{list-style:disc;padding-left:1.25rem;margin-bottom:1rem}
.prose-dul ol{list-style:decimal;padding-left:1.25rem;margin-bottom:1rem}
.prose-dul li{margin-bottom:.35rem}
.prose-dul a{color:var(--accent);text-decoration:underline}

/* ─── Paginacja ─── */
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 12px;border-radius:999px;border:1px solid var(--french);
  color:#5A6773;font-size:14px;font-weight:600;margin-right:8px;text-decoration:none}
.pagination .page-numbers.current,
.pagination .page-numbers:hover{background:var(--accent);border-color:var(--accent);color:#fff}

/* ─── Pasek administratora ─── */
body.admin-bar #site-header{top:32px}
@media screen and (max-width:782px){body.admin-bar #site-header{top:46px}}

@media (prefers-reduced-motion: reduce){
  *{transition:none !important;animation:none !important}
  .reveal{opacity:1;transform:none}
}
