/* Wszystko Dla Duszy – kalkulator numerologiczny */
.wdd-numerologia {
    --wdn-cream: #F7F2EF;
    --wdn-sand: #EDE1DA;
    --wdn-line: #E4D5CC;
    --wdn-copper: #9D6342;
    --wdn-brown: #5E3A26;
    --wdn-ink: #2B1D14;
    --wdn-muted: #7A685C;
    --wdn-night: #0E1224;
    --wdn-gold: #C9A36B;
    --wdn-gold-l: #E6CC98;
    font-family: Jost, 'Segoe UI', sans-serif;
    color: var(--wdn-ink);
    max-width: 1100px;
    margin: 0 auto;
}
.wdd-numerologia *,
.wdd-numerologia *::before,
.wdd-numerologia *::after { box-sizing: border-box; }
.wdd-numerologia [hidden] { display: none !important; }
.wdd-numerologia { margin-top: 18px; }
.wdd-numerologia ul.wdn-chips { padding-left: 0 !important; margin-left: 0 !important; }
.wdd-numerologia ul.wdn-chips li::before { display: none !important; }
.wdd-numerologia .wdn-name,
.wdd-numerologia .wdn-pname { margin-top: 0; }

/* ---------- formularz ---------- */
.wdn-form {
    background: var(--wdn-sand);
    border-radius: 16px;
    padding: 28px 30px 20px;
}
.wdn-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px 26px;
}
.wdn-field { border: 0; margin: 0; padding: 0; min-width: 0; }
.wdn-field legend,
.wdn-field > label,
.wdn-field label {
    display: block;
    font-weight: 500;
    color: var(--wdn-brown);
    margin-bottom: 8px;
    font-size: 15px;
}
.wdn-opt { font-weight: 400; color: var(--wdn-muted); }
.wdn-date-row { display: grid; grid-template-columns: 64px minmax(0, 1fr) 84px; gap: 8px; }
.wdd-numerologia input[type=text],
.wdd-numerologia input[type=email],
.wdd-numerologia select {
    width: 100%;
    height: 46px;
    padding: 0 12px;
    border: 1px solid var(--wdn-line);
    border-radius: 8px;
    background: #fff;
    font: inherit;
    font-size: 16px;
    color: var(--wdn-ink);
    margin-top: 6px;
}
.wdn-date-row input,
.wdn-date-row select { margin-top: 0 !important; }
.wdn-d, .wdn-y { text-align: center; }
.wdd-numerologia input:focus,
.wdd-numerologia select:focus { outline: 2px solid var(--wdn-copper); outline-offset: 1px; border-color: var(--wdn-copper); }
.wdn-hint { display: block; margin-top: 6px; font-size: 13px; color: var(--wdn-muted); line-height: 1.45; }
.wdn-partner { margin: 20px 0 4px; }
.wdn-partner summary {
    cursor: pointer;
    color: var(--wdn-copper);
    font-weight: 500;
    margin-bottom: 14px;
}
.wdn-submit {
    display: inline-block;
    margin-top: 18px;
    padding: 14px 32px;
    border: 0;
    border-radius: 999px;
    background: var(--wdn-copper);
    color: #fff;
    font: inherit;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s;
}
.wdn-submit:hover { background: var(--wdn-brown); }
.wdn-submit:disabled { opacity: .6; cursor: wait; }
.wdn-status { min-height: 1.4em; margin: 10px 0 0; color: var(--wdn-brown); }
.wdn-privacy-note { margin: 4px 0 0; font-size: 13px; color: var(--wdn-muted); }

/* ---------- wyniki ---------- */
.wdn-result { margin-top: 40px; }
.wdn-h {
    font-family: 'Ibarra Real Nova', Georgia, serif;
    font-size: 28px;
    font-weight: 600;
    color: var(--wdn-copper);
    margin: 0 0 18px;
    line-height: 1.25;
}
.wdn-section { margin: 46px 0 0; }
.wdn-sub { color: var(--wdn-muted); font-size: 15px; line-height: 1.6; }

.wdn-hero {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 34px;
    background: radial-gradient(circle at 20% 30%, #1B2140 0%, var(--wdn-night) 60%);
    color: #F4EBDD;
    border-radius: 18px;
    padding: 36px 38px;
}
.wdn-hero-num {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(201, 163, 107, .45);
    border-radius: 50%;
    width: 200px;
    height: 200px;
    align-self: center;
    box-shadow: 0 0 60px rgba(230, 204, 152, .12) inset;
}
.wdn-hero-label { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--wdn-gold); }
.wdn-hero-digit { font-family: 'Ibarra Real Nova', Georgia, serif; font-size: 84px; line-height: 1; color: var(--wdn-gold-l); }
.wdn-hero-comp { font-size: 14px; color: var(--wdn-gold); }
.wdn-master { margin-top: 4px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #F4EBDD; opacity: .8; }
.wdn-hero-body h2 {
    font-family: 'Ibarra Real Nova', Georgia, serif;
    font-size: 34px;
    color: var(--wdn-gold-l);
    margin: 0 0 12px;
    font-weight: 600;
}
.wdn-hero-body p { line-height: 1.7; font-size: 16.5px; margin: 0 0 12px; color: #F4EBDD; }
.wdn-shadow { color: #E9DCCB !important; }
.wdn-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 16px; padding: 0; }
.wdn-chips li { border: 1px solid rgba(201, 163, 107, .5); border-radius: 999px; padding: 3px 12px; font-size: 13px; color: var(--wdn-gold-l); margin: 0; }
.wdn-corr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0 0; }
.wdn-corr div { background: rgba(255, 255, 255, .05); border-radius: 10px; padding: 10px 14px; }
.wdn-corr dt { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--wdn-gold); }
.wdn-corr dd { margin: 2px 0 0; font-size: 15px; }
.wdn-corr a { color: var(--wdn-gold-l); text-decoration: underline; text-underline-offset: 3px; }

.wdn-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.wdn-card {
    background: #fff;
    border: 1px solid var(--wdn-line);
    border-radius: 14px;
    padding: 22px 24px;
}
.wdn-card p { margin: 12px 0 0; line-height: 1.65; font-size: 15.5px; }
.wdn-card-head { display: flex; align-items: center; gap: 14px; }
.wdn-num {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--wdn-night);
    color: var(--wdn-gold-l);
    font-family: 'Ibarra Real Nova', Georgia, serif;
    font-size: 24px;
    font-weight: 600;
}
.wdn-card-title { font-family: 'Ibarra Real Nova', Georgia, serif; font-size: 20px; color: var(--wdn-brown); margin: 0; line-height: 1.2; }
.wdn-arch { font-size: 13px; color: var(--wdn-copper); letter-spacing: .04em; }
.wdn-card--karmic .wdn-num { background: var(--wdn-copper); color: #fff; }
.wdn-mini { margin: 12px 0 0; padding-left: 18px; font-size: 14.5px; line-height: 1.6; }
.wdn-mini li { margin: 4px 0; }
.wdn-note { margin-top: 20px; background: var(--wdn-cream); border-left: 3px solid var(--wdn-copper); border-radius: 0 10px 10px 0; padding: 16px 20px; }
.wdn-note h3 { margin: 0 0 6px; font-size: 18px; color: var(--wdn-brown); font-family: 'Ibarra Real Nova', Georgia, serif; }
.wdn-note p, .wdn-note li { font-size: 15px; line-height: 1.6; }
.wdn-note ul { margin: 6px 0 0; padding-left: 18px; }

/* Kwadrat Pitagorasa */
.wdn-mx { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 30px; align-items: start; }
.wdn-mx-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 2px solid var(--wdn-brown); border-radius: 10px; overflow: hidden; }
.wdn-mx-cell {
    aspect-ratio: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: 1px solid var(--wdn-line);
    background: #fff;
    text-align: center;
    padding: 6px;
}
.wdn-mx-cell.is-strong { background: var(--wdn-sand); }
.wdn-mx-cell.is-empty .wdn-mx-digits { color: var(--wdn-line); }
.wdn-mx-digits { font-family: 'Ibarra Real Nova', Georgia, serif; font-size: 22px; color: var(--wdn-copper); letter-spacing: .06em; word-break: break-all; line-height: 1.1; }
.wdn-mx-name { font-size: 11.5px; color: var(--wdn-muted); line-height: 1.25; }
.wdn-mx-list { margin: 0; padding-left: 18px; font-size: 14.5px; line-height: 1.6; }
.wdn-mx-list li { margin: 0 0 6px; }

/* Oś czasu */
.wdn-tl { list-style: none; margin: 0; padding: 0; position: relative; }
.wdn-tl::before { content: ''; position: absolute; left: 21px; top: 10px; bottom: 10px; width: 2px; background: var(--wdn-line); }
.wdn-tl-item { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; margin: 0 0 18px; }
.wdn-tl-dot {
    width: 44px; height: 44px; border-radius: 50%;
    background: #fff; border: 2px solid var(--wdn-line);
    display: flex; align-items: center; justify-content: center;
    font-weight: 600; color: var(--wdn-muted); position: relative; z-index: 1;
}
.wdn-tl-item.is-current .wdn-tl-dot { background: var(--wdn-copper); border-color: var(--wdn-copper); color: #fff; }
.wdn-tl-body { background: #fff; border: 1px solid var(--wdn-line); border-radius: 12px; padding: 14px 18px; }
.wdn-tl-item.is-current .wdn-tl-body { border-color: var(--wdn-copper); box-shadow: 0 8px 22px rgba(94, 58, 38, .1); }
.wdn-tl-range { font-size: 13px; color: var(--wdn-copper); letter-spacing: .04em; }
.wdn-tl-body p { margin: 6px 0 0; font-size: 15px; line-height: 1.6; }
.wdn-tl-ch { color: var(--wdn-muted); }

/* Dopasowanie */
.wdn-compat { background: #fff; border: 1px solid var(--wdn-line); border-radius: 14px; padding: 24px 26px; }
.wdn-compat-pair { display: flex; align-items: center; justify-content: center; gap: 24px; flex-wrap: wrap; margin-bottom: 14px; }
.wdn-compat-pair > div { display: flex; align-items: center; gap: 10px; color: var(--wdn-brown); }
.wdn-compat-amp { font-family: 'Ibarra Real Nova', Georgia, serif; font-size: 34px; color: var(--wdn-gold); }
.wdn-compat h3 { font-family: 'Ibarra Real Nova', Georgia, serif; font-size: 22px; color: var(--wdn-brown); margin: 6px 0 6px; text-align: center; }
.wdn-compat > p { line-height: 1.65; }
.wdn-stars { color: var(--wdn-gold); letter-spacing: 2px; font-size: 18px; white-space: nowrap; }

/* Portret */
.wdn-portrait { margin-top: 50px; background: var(--wdn-sand); border-radius: 16px; padding: 30px 32px; }
.wdn-portrait > p { line-height: 1.65; max-width: 760px; }
.wdn-portrait-form { margin-top: 14px; }
.wdn-check { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; line-height: 1.5; margin-top: 16px; color: var(--wdn-brown); }
.wdn-check input { margin-top: 3px; }
.wdn-check a { color: var(--wdn-copper); }
.wdn-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.wdn-p-status { min-height: 1.4em; margin: 10px 0 0; }
.wdn-thanks { font-size: 17px; color: var(--wdn-brown); font-weight: 500; }

.wdn-more { margin: 44px 0 10px; text-align: center; }
.wdn-more p { line-height: 1.6; }
.wdn-btn-outline {
    display: inline-block;
    margin: 6px 6px 0;
    padding: 11px 22px;
    border: 1px solid var(--wdn-copper);
    border-radius: 999px;
    color: var(--wdn-copper) !important;
    text-decoration: none !important;
    font-weight: 500;
    transition: background .2s, color .2s;
}
.wdn-btn-outline:hover { background: var(--wdn-copper); color: #fff !important; }
.wdn-sub a, .wdn-more a:not(.wdn-btn-outline) { color: var(--wdn-copper); }

@media (max-width: 900px) {
    .wdn-hero { grid-template-columns: 1fr; padding: 28px 22px; gap: 20px; text-align: center; }
    .wdn-hero-num { margin: 0 auto; width: 170px; height: 170px; }
    .wdn-hero-digit { font-size: 70px; }
    .wdn-chips { justify-content: center; }
    .wdn-hero-body { text-align: left; }
    .wdn-mx { grid-template-columns: 1fr; }
    .wdn-mx-grid { max-width: 360px; margin: 0 auto; width: 100%; }
}
@media (max-width: 700px) {
    .wdn-form { padding: 22px 18px 16px; }
    .wdn-form-grid, .wdn-grid { grid-template-columns: 1fr; }
    .wdn-corr { grid-template-columns: 1fr; }
    .wdn-h { font-size: 24px; }
    .wdn-hero-body h2 { font-size: 28px; }
    .wdn-portrait { padding: 24px 18px; }
    .wdn-submit { width: 100%; }
    .wdn-btn-outline { display: block; margin: 8px 0 0; }
    .wdn-compat-pair { flex-direction: column; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .wdn-submit, .wdn-btn-outline { transition: none; }
}
