/* Christian Baby Header */
.cb-hdr, .cb-hdr * { box-sizing: border-box; }
.cb-hdr {
    --teal: #14464c;
    --gold: #b08a3e;
    --cream: #f7f0e1;
    --cream-line: #e6d9b8;
    --banner: #0e7a80;
    font-family: "Inter", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
    width: 100%;
    background: #fff;
}

/* Top strip */
.cb-top {
    display: flex; justify-content: space-between; align-items: center;
    gap: 12px; padding: 10px 56px;
    background: #f6f3ec; color: #3f6f73; font-size: 15px; letter-spacing: .2px;
}
.cb-top a { color: #3f6f73; text-decoration: none; }
.cb-top a:hover { color: var(--teal); }

/* Main row */
.cb-main {
    display: flex; align-items: center; gap: 22px;
    padding: 18px 56px; background: #fff;
}
.cb-logo { display: block; flex: 0 0 auto; line-height: 0; }
.cb-logo img { height: 128px; width: auto; display: block; }
.cb-logo-text { font-family: Georgia, serif; font-size: 22px; color: #0b2a5b; line-height: 1.2; }

.cb-tag {
    display: flex; flex-direction: column; gap: 6px;
    padding: 6px 0 6px 22px; border-left: 1px solid #e3ded2;
}
.cb-tag span {
    color: var(--teal); font-weight: 700; font-size: 13px;
    letter-spacing: 3.2px; text-transform: uppercase; line-height: 1.2;
}

/* Nav */
.cb-nav { margin-left: auto; display: flex; align-items: center; gap: 38px; }
.cb-link {
    color: var(--teal); text-decoration: none; font-weight: 500; font-size: 18px;
    padding: 4px 0; border-bottom: 2px solid transparent; transition: border-color .2s;
}
.cb-link:hover, .cb-link.is-active { border-bottom-color: var(--gold); }
.cb-btn {
    background: var(--cream); color: var(--teal); text-decoration: none;
    border: 1px solid var(--cream-line); border-radius: 8px;
    padding: 16px 28px; font-weight: 600; font-size: 18px; line-height: 1;
    white-space: nowrap; transition: background .2s, transform .2s;
}
.cb-btn:hover { background: #efe3c6; transform: translateY(-1px); }

/* CTA banner */
.cb-banner {
    background: var(--banner); color: #fff; text-align: center;
    padding: 30px 20px; font-size: 20px;
}
.cb-banner a {
    color: #fff; font-weight: 700; text-decoration: none;
    border-bottom: 1px solid #fff; padding-bottom: 2px; margin-left: 4px;
}

/* Tablet */
@media (max-width: 1100px) {
    .cb-top, .cb-main { padding-left: 24px; padding-right: 24px; }
    .cb-main { flex-wrap: wrap; }
    .cb-nav { margin-left: 0; width: 100%; flex-wrap: wrap; gap: 20px 26px; }
}
/* Mobile */
@media (max-width: 640px) {
    .cb-top { flex-direction: column; text-align: center; gap: 4px; font-size: 13px; }
    .cb-logo img { height: 88px; }
    .cb-tag span { font-size: 11px; letter-spacing: 2.4px; }
    .cb-link { font-size: 16px; }
    .cb-btn { padding: 13px 20px; font-size: 16px; }
    .cb-banner { font-size: 16px; padding: 22px 16px; }
}
