/*
    The public pages (Pages/Site, _PublicLayout): Perkira Logistics' red and black on white, taken
    from the logo. Light only — the logo is drawn on white — so these are plain colours rather than
    the console's light/dark --app-* tokens in theme.css.
*/
:root {
    --pub-red: #d7141a;
    --pub-red-dark: #a80f14;
    --pub-ink: #16181d;
    --pub-muted: #5b6070;
    --pub-line: #e6e7eb;
    --pub-soft: #f6f6f8;
    --pub-surface: #ffffff;
    --pub-footer: #111216;
    --pub-footer-text: #c9cbd2;
}

body.pub {
    background: var(--pub-surface);
    color: var(--pub-ink);
    font-size: 1.02rem;
    line-height: 1.6;
}

.pub a { color: var(--pub-red); }
.pub a:hover { color: var(--pub-red-dark); }

/* Header */
.pub-header {
    background: var(--pub-surface);
    border-bottom: 1px solid var(--pub-line);
    position: sticky;
    top: 0;
    z-index: 10;
}
.pub-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: .5rem;
    padding-bottom: .5rem;
    flex-wrap: wrap;
}
.pub-brand img { height: 56px; width: auto; display: block; }
.pub-links { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; }
.pub-links a { color: var(--pub-ink); text-decoration: none; font-weight: 500; }
.pub-links a:hover { color: var(--pub-red); }

.pub .pub-btn,
.pub .pub-btn:hover {
    background: var(--pub-red);
    border-color: var(--pub-red);
    color: var(--pub-surface);
}
.pub .pub-btn:hover { background: var(--pub-red-dark); border-color: var(--pub-red-dark); }
.pub .pub-btn-outline {
    border: 1px solid var(--pub-ink);
    color: var(--pub-ink);
    background: transparent;
}
.pub .pub-btn-outline:hover { background: var(--pub-ink); color: var(--pub-surface); }

/* Hero */
.pub-hero {
    padding: 4rem 0 3.5rem;
    background: linear-gradient(180deg, var(--pub-soft), var(--pub-surface));
    border-bottom: 1px solid var(--pub-line);
}
.pub-hero h1 { font-weight: 800; font-size: clamp(1.9rem, 4vw, 2.8rem); line-height: 1.15; }
.pub-hero h1 span { color: var(--pub-red); }
.pub-hero .lead { color: var(--pub-muted); max-width: 38rem; }
.pub-hero__logo { max-width: 100%; height: auto; }
.pub-eyebrow {
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .8rem;
    font-weight: 700;
    color: var(--pub-red);
}

/* Sections */
.pub-section { padding: 3.5rem 0; }
.pub-section--soft { background: var(--pub-soft); border-top: 1px solid var(--pub-line); border-bottom: 1px solid var(--pub-line); }
.pub-section h2 { font-weight: 800; margin-bottom: .75rem; }
.pub-section .pub-intro { color: var(--pub-muted); max-width: 44rem; margin-bottom: 2rem; }

.pub-card {
    background: var(--pub-surface);
    border: 1px solid var(--pub-line);
    border-radius: .75rem;
    padding: 1.5rem;
    height: 100%;
}
.pub-card h3 { font-size: 1.1rem; font-weight: 700; margin: .75rem 0 .4rem; }
.pub-card p { color: var(--pub-muted); margin-bottom: 0; }
.pub-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: .6rem;
    background: var(--pub-red);
    color: var(--pub-surface);
    font-size: 1.3rem;
}

.pub-steps { counter-reset: step; list-style: none; padding: 0; margin: 0; }
.pub-steps li {
    counter-increment: step;
    position: relative;
    padding: 0 0 1.25rem 3.25rem;
}
.pub-steps li::before {
    content: counter(step);
    position: absolute;
    left: 0;
    top: 0;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: var(--pub-ink);
    color: var(--pub-surface);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pub-steps strong { display: block; }
.pub-steps span { color: var(--pub-muted); }

/* WhatsApp message mock-up */
.pub-chat {
    background: var(--pub-soft);
    border: 1px solid var(--pub-line);
    border-radius: 1rem;
    padding: 1.25rem;
    max-width: 24rem;
    margin-left: auto;
}
.pub-chat__bubble {
    background: var(--pub-surface);
    border: 1px solid var(--pub-line);
    border-radius: .75rem .75rem .75rem .2rem;
    padding: .75rem .9rem;
    margin-bottom: .75rem;
    font-size: .95rem;
}
.pub-chat__bubble:last-child { margin-bottom: 0; }
.pub-chat__from { font-weight: 700; font-size: .85rem; color: var(--pub-red); }
.pub-chat__time { display: block; text-align: right; font-size: .75rem; color: var(--pub-muted); }

/* Text pages: privacy, terms, data deletion */
.pub-doc { padding: 3rem 0 4rem; }
.pub-doc .container { max-width: 52rem; }
.pub-doc h1 { font-weight: 800; }
.pub-doc h2 { font-size: 1.25rem; font-weight: 700; margin-top: 2rem; }
.pub-doc .pub-updated { color: var(--pub-muted); }

/* Contact */
.pub-contact dt { font-weight: 700; margin-top: 1rem; }
.pub-contact dd { margin-bottom: 0; }

/* Footer */
.pub-footer {
    background: var(--pub-footer);
    color: var(--pub-footer-text);
    padding: 3rem 0 1.5rem;
    font-size: .95rem;
}
.pub-footer a { color: var(--pub-surface); }
.pub-footer a:hover { color: var(--pub-red); }
.pub-footer address { font-style: normal; }
.pub-footer__name { color: var(--pub-surface); font-weight: 800; font-size: 1.15rem; margin-bottom: .5rem; }
.pub-footer__head { color: var(--pub-surface); font-weight: 700; margin-bottom: .5rem; }
.pub-footer__copy { border-top: 1px solid rgba(255, 255, 255, .12); margin: 2rem 0 0; padding-top: 1rem; font-size: .85rem; }
