/* RidePup brand layer on Storefront — palette: deep teal + warm amber on warm off-white */
:root {
    --pr-teal: #0e4f4a;
    --pr-teal-dark: #09332f;
    --pr-amber: #e8a33d;
    --pr-amber-dark: #c98421;
    --pr-cream: #faf7f2;
    --pr-ink: #22312e;
    --pr-line: #e5ded2;
}

body { font-family: 'Inter', -apple-system, 'Segoe UI', sans-serif; background: var(--pr-cream); }
h1, h2, h3, h4, .site-title, .pr-footer-logo {
    font-family: 'Fraunces', Georgia, serif;
    letter-spacing: 0;
}
a { color: var(--pr-teal); }

/* ---------- Announcement bar ---------- */
.pr-announce {
    background: var(--pr-teal-dark);
    color: #f5efe3;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 0.55em 1em;
}

/* ---------- Hide duplicate page title on the homepage (hero carries the H1) ---------- */
body.home .entry-header { display: none; }

/* ---------- Hero ---------- */
.pr-hero {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    margin: 0 0 2em;
    background: var(--pr-teal-dark);
}
.pr-hero img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 380px;
    max-height: 520px;
    object-fit: cover;
    object-position: center 38%;
}
.pr-hero-text {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2em;
    max-width: 620px;
    color: #fff;
    background: linear-gradient(90deg, rgba(9, 51, 47, 0.82) 0%, rgba(9, 51, 47, 0.55) 55%, rgba(9, 51, 47, 0) 100%);
}
.pr-eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--pr-amber);
    margin-bottom: 0.6em;
}
.pr-hero-text h1 { color: #fff; font-size: 2.6rem; line-height: 1.08; margin: 0 0 0.35em; }
.pr-hero-text p { font-size: 1.06rem; line-height: 1.5; margin: 0 0 1.2em; color: #f2ede1; }
.pr-hero-ctas { display: flex; flex-wrap: wrap; gap: 0.7em; }
.pr-btn {
    display: inline-block;
    background: var(--pr-amber);
    color: #22312e !important;
    font-weight: 700;
    padding: 0.75em 1.5em;
    border-radius: 999px;
    text-decoration: none;
}
.pr-btn:hover { background: var(--pr-amber-dark); color: #fff !important; }
.pr-btn-ghost {
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.85);
    color: #fff !important;
}
.pr-btn-ghost:hover { background: rgba(255, 255, 255, 0.15); }
.pr-btn-teal { background: var(--pr-teal); color: #fff !important; }
.pr-btn-teal:hover { background: var(--pr-teal-dark); }

/* ---------- Section rhythm ---------- */
.pr-section { margin: 2.6em 0; }
.pr-section > h2 { font-size: 1.9rem; margin: 0 0 0.25em; }
.pr-section-sub { color: #55645f; margin: 0 0 1.3em; max-width: 640px; }

/* ---------- Trust row ---------- */
.pr-trustrow {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1em;
    margin: 0 0 2.2em;
}
.pr-trust {
    background: #fff;
    border: 1px solid var(--pr-line);
    border-radius: 12px;
    padding: 1em 1.1em;
    display: flex;
    gap: 0.8em;
    align-items: flex-start;
}
.pr-trust svg { flex: 0 0 30px; margin-top: 0.15em; }
.pr-trust strong { display: block; font-size: 0.95rem; margin-bottom: 0.15em; }
.pr-trust span { font-size: 0.85rem; color: #55645f; line-height: 1.4; display: block; }

/* ---------- Category tiles / cards ---------- */
.pr-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1em; }
.pr-tile, .pr-card {
    background: #fff;
    border: 1px solid var(--pr-line);
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.pr-tile img, .pr-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.pr-tile-body, .pr-card-body { padding: 1em 1.15em 1.2em; display: flex; flex-direction: column; gap: 0.35em; flex: 1; }
.pr-tile-body h3, .pr-card-body h3 { margin: 0; font-size: 1.12rem; }
.pr-tile-body p, .pr-card-body p { margin: 0; font-size: 0.92rem; color: #55645f; line-height: 1.45; flex: 1; }
.pr-tile-link { font-weight: 700; color: var(--pr-teal); text-decoration: none; }
.pr-tile-link:hover { color: var(--pr-amber-dark); }

/* ---------- Bundle spotlight ---------- */
.pr-bundle {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--pr-teal);
    border-radius: 14px;
    overflow: hidden;
    color: #eef3ee;
}
.pr-bundle img { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 280px; }
.pr-bundle-text { padding: 2em; display: flex; flex-direction: column; justify-content: center; }
.pr-bundle-text h2 { color: #fff; margin: 0 0 0.4em; font-size: 1.9rem; }
.pr-bundle-text p { color: #d9e4dc; line-height: 1.55; }
.pr-bundle-text ul { margin: 0 0 1.3em; padding-left: 1.2em; color: #d9e4dc; line-height: 1.6; }
.pr-bundle-text .pr-btn { align-self: flex-start; }

/* ---------- Why / standards cards ---------- */
.pr-why { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1em; }
.pr-why-item { background: #fff; border: 1px solid var(--pr-line); border-radius: 12px; padding: 1.1em 1.15em; }
.pr-why-item strong { display: block; margin-bottom: 0.3em; font-size: 0.98rem; }
.pr-why-item p { margin: 0; font-size: 0.88rem; color: #55645f; line-height: 1.45; }

/* ---------- Email capture band ---------- */
.pr-email {
    background: #fdf1dc;
    border: 1px solid #f0dcb6;
    border-radius: 14px;
    padding: 2em;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 2em;
    align-items: center;
}
.pr-email h2 { margin: 0 0 0.35em; font-size: 1.8rem; }
.pr-email p { margin: 0; color: #55645f; line-height: 1.55; }
.pr-email .mailpoet_form { padding: 0 !important; }
.pr-email .mailpoet_text { width: 100% !important; border-radius: 8px; border: 1px solid var(--pr-line); padding: 0.7em 0.9em; }
.pr-email .mailpoet_submit {
    background: var(--pr-teal) !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-weight: 700;
    padding: 0.75em 1.6em !important;
    width: 100%;
}

/* ---------- Start-here steps ---------- */
.pr-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1em; }
.pr-step { background: #fff; border: 1px solid var(--pr-line); border-radius: 12px; padding: 1.25em 1.3em; }
.pr-step-num { font-family: 'Fraunces', Georgia, serif; font-size: 1.7rem; font-weight: 700; color: var(--pr-amber-dark); display: block; margin-bottom: 0.25em; }
.pr-step h3 { margin: 0 0 0.35em; font-size: 1.12rem; }
.pr-step p { margin: 0 0 0.7em; font-size: 0.92rem; color: #55645f; line-height: 1.5; }

/* ---------- Guide feature band ---------- */
.pr-guide { background: #fff; border: 1px solid var(--pr-line); color: var(--pr-ink); }
.pr-guide .pr-bundle-text h2 { color: var(--pr-ink); }
.pr-guide .pr-bundle-text p { color: #55645f; }
.pr-email img { border-radius: 10px; width: 100%; display: block; }

/* ---------- Product pages ---------- */
.pr-buy-trust {
    font-size: 0.85rem;
    color: #55645f;
    border-top: 1px solid var(--pr-line);
    padding-top: 0.7em;
    margin-top: 1em;
}
.single-product .product .summary h3 { margin-top: 1.4em; }

/* ---------- Footer ---------- */
.pr-footer-cols {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1.3fr;
    gap: 2em;
    padding: 2.2em 0 1.4em;
    text-align: left;
}
.pr-footer-col h4 { margin: 0 0 0.7em; font-size: 1.05rem; }
.pr-footer-col ul { list-style: none; margin: 0; padding: 0; line-height: 1.9; }
.pr-footer-logo { font-size: 1.6rem; font-weight: 700; margin: 0 0 0.3em; }
.pr-footer-note { font-size: 0.8rem; opacity: 0.75; }
.pr-footer-cta { font-weight: 700; }
.pr-footer-col .mailpoet_form { padding: 0 !important; }
.pr-footer-col .mailpoet_text { width: 100% !important; border-radius: 8px; padding: 0.6em 0.8em; }
.pr-footer-col .mailpoet_submit {
    background: var(--pr-amber) !important;
    color: #22312e !important;
    border-radius: 999px !important;
    font-weight: 700;
    padding: 0.65em 1.4em !important;
    width: 100%;
}
.pr-credit { text-align: center; padding: 1em 0 1.6em; font-size: 0.85rem; opacity: 0.85; }

/* ---------- Mobile ---------- */
@media (max-width: 900px) {
    .pr-steps { grid-template-columns: 1fr; }
    .pr-trustrow { grid-template-columns: repeat(2, 1fr); }
    .pr-tiles { grid-template-columns: repeat(2, 1fr); }
    .pr-why { grid-template-columns: repeat(2, 1fr); }
    .pr-footer-cols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
    .pr-hero img { min-height: 470px; max-height: 470px; }
    .pr-hero-text { padding: 1.15em; background: linear-gradient(180deg, rgba(9, 51, 47, 0.55) 0%, rgba(9, 51, 47, 0.9) 75%); justify-content: flex-end; }
    .pr-hero-text h1, .pr-hero-text p { text-shadow: 0 1px 10px rgba(9, 51, 47, 0.55); }
    .pr-hero-text h1 { font-size: 1.75rem; margin-bottom: 0.3em; }
    .pr-hero-text p { font-size: 0.96rem; margin-bottom: 1em; }
    .pr-hero-ctas { gap: 0.55em; }
    .pr-hero .pr-btn { padding: 0.65em 1.25em; }
    .pr-tiles { grid-template-columns: 1fr; }
    .pr-bundle, .pr-email { grid-template-columns: 1fr; }
    .pr-footer-cols { grid-template-columns: 1fr; }
    /* Sticky buy bar on product pages (pattern: BlendJet mobile PDP) */
    .single-product div.product .summary form.cart {
        position: sticky;
        bottom: 0;
        background: var(--pr-cream);
        padding: 0.6em 0.2em;
        z-index: 40;
        box-shadow: 0 -6px 18px rgba(9, 51, 47, 0.12);
    }
}

/* RidePup SEO fix: the homepage design carries its own H1; hide the theme page-title header there so the page has exactly one H1. */
body.home .entry-header { display: none; }
