/* ==========================================================================
   Kiwi Double Glazing - Price Promise
   Banner (_PricePromiseBanner.vbhtml) + full page (Home/PricePromise.vbhtml)
   Accent colour: change the two orange values below to match brand orange.
     #e07b2e  accent (borders / rules / button)
     #b35517  text-safe orange for links on light grey (AA contrast)
   ========================================================================== */

/* ---------- Banner (shared) ---------- */
.kdg-pp-banner {
    background: #f3f3f1;
    color: #2b2b2b;
    text-align: center;
    box-sizing: border-box;
}
.kdg-pp-banner *,
.kdg-pp-page * { box-sizing: border-box; }

.kdg-pp-inner {
    max-width: 780px;
    margin: 0 auto;
}

.kdg-pp-eyebrow {
    margin: 0 0 1em;
    font-size: 0.8em;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #555;
}
.kdg-pp-eyebrow::after {
    content: "";
    display: block;
    width: 36px;
    height: 2px;
    margin: 0.75em auto 0;
    background: #e07b2e;
}

.kdg-pp-title {
    margin: 0 0 0.2em;
    font-size: 1.6em;
    font-style: italic;
    line-height: 1.25;
    color: #2b2b2b;
}

.kdg-pp-tagline {
    margin: 0 0 1em;
    font-size: 1em;
    font-weight: 700;
    color: #444;
    font-style: italic;
    font-weight: 400;
}

.kdg-pp-text {
    margin: 0 auto 1.1em;
    font-size: 0.95em;
    line-height: 1.65;
    color: #444;
}
.kdg-pp-text strong { color: #2b2b2b; }

.kdg-pp-link,
.kdg-pp-link:visited {
    display: inline-block;
    font-size: 0.95em;
    font-weight: 700;
    color: #b35517;
    text-decoration: none;
    border-bottom: 1px solid rgba(224, 123, 46, 0.45);
    padding-bottom: 2px;
    transition: color .2s ease, border-color .2s ease;
}
.kdg-pp-link:hover,
.kdg-pp-link:focus {
    color: #8f4212;
    border-bottom-color: #8f4212;
}
.kdg-pp-arrow {
    display: inline-block;
    margin-left: 0.4em;
    transition: transform .2s ease;
}
.kdg-pp-link:hover .kdg-pp-arrow { transform: translateX(3px); }

/* ---------- Variant: under the opening banner (full-width strip) ---------- */
.kdg-pp-banner--hero {
    width: 100%;
    padding: 2.5em 1.5em 2.25em;
    border-top: 3px solid #e07b2e;
    border-bottom: 1px solid #e3e3e0;
}

/* ---------- Variant: under the enquiry form (card) ---------- */
.kdg-pp-banner--form {
    max-width: 767px;
    margin: 2em auto 3em;
    padding: 2em 1.75em 1.75em;
    border-top: 3px solid #e07b2e;
    border-radius: 0 0 4px 4px;
}
.kdg-pp-banner--form .kdg-pp-title { font-size: 1.4em; }

@media (max-width: 568px) {
    .kdg-pp-banner--hero { padding: 2em 16px 1.75em; }
    .kdg-pp-banner--form { margin: 1.5em 16px 2.5em; padding: 1.75em 16px 1.5em; }
    .kdg-pp-title { font-size: 1.35em; }
    .kdg-pp-text  { font-size: 0.92em; }
}

/* ==========================================================================
   Price Promise page
   ========================================================================== */
.kdg-pp-page {
    /* top padding clears the site header - adjust if header height differs */
    padding: 150px 1.5em 4em;
    background: #fff;
    color: #333;
}

.kdg-pp-article {
    max-width: 820px;
    margin: 0 auto;
}

/* Intro band */
.kdg-pp-hero {
    background: #f3f3f1;
    border-top: 3px solid #e07b2e;
    text-align: center;
    padding: 2.75em 1.75em 2.5em;
    margin-bottom: 2.5em;
}
.kdg-pp-hero h1 {
    margin: 0 0 0.25em;
    font-size: 2.2em;
    font-style: italic;
    line-height: 1.2;
    color: #2b2b2b;
}
.kdg-pp-hero .kdg-pp-tagline { font-size: 1.1em; margin-bottom: 0; }

/* Sections */
.kdg-pp-section { margin: 0 0 2.5em; }
.kdg-pp-section h2 {
    margin: 0 0 0.75em;
    font-size: 1.55em;
    font-style: italic;
    line-height: 1.3;
    color: #2b2b2b;
}
.kdg-pp-section h2::after {
    content: "";
    display: block;
    width: 36px;
    height: 2px;
    margin-top: 0.5em;
    background: #e07b2e;
}
.kdg-pp-section p,
.kdg-pp-section li {
    font-size: 1em;
    line-height: 1.7;
    color: #444;
}
.kdg-pp-section p { margin: 0 0 1em; }

.kdg-pp-lead {
    font-weight: 700;
    color: #2b2b2b !important;
}

/* Highlighted promise statement */
.kdg-pp-callout {
    background: #f3f3f1;
    border-left: 3px solid #e07b2e;
    padding: 1.25em 1.5em;
    margin: 0 0 1.25em;
}
.kdg-pp-callout p:last-child { margin-bottom: 0; }
.kdg-pp-callout strong { color: #2b2b2b; }

/* Like-for-like criteria */
.kdg-pp-criteria {
    list-style: none;
    margin: 0 0 1.25em;
    padding: 0;
    border-top: 1px solid #e6e6e3;
}
.kdg-pp-criteria li {
    display: flex;
    gap: 1.5em;
    padding: 0.9em 0;
    border-bottom: 1px solid #e6e6e3;
}
.kdg-pp-criteria .kdg-pp-term {
    flex: 0 0 190px;
    font-weight: 700;
    color: #2b2b2b;
}
.kdg-pp-criteria .kdg-pp-def { flex: 1 1 auto; }

/* Conditions */
.kdg-pp-conditions {
    margin: 0 0 1.25em;
    padding-left: 1.4em;
}
.kdg-pp-conditions li { margin-bottom: 0.6em; padding-left: 0.3em; }
.kdg-pp-conditions li::marker { color: #b35517; font-weight: 700; }

/* Closing + CTA */
.kdg-pp-closing {
    text-align: center;
    background: #f3f3f1;
    padding: 2.25em 1.75em;
    margin: 3em 0 2em;
}
.kdg-pp-closing .kdg-pp-title { font-size: 1.6em; }
.kdg-pp-closing .kdg-pp-tagline { font-style: italic; font-weight: 400; }

.kdg-pp-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75em;
    margin-top: 1.5em;
}
.kdg-pp-btn,
.kdg-pp-btn:visited {
    display: inline-block;
    padding: 0.8em 1.6em;
    font-size: 0.85em;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    border: 2px solid #e07b2e;
    background: #e07b2e;
    color: #fff;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
}
.kdg-pp-btn:hover,
.kdg-pp-btn:focus { background: #c4661f; border-color: #c4661f; color: #fff; }
.kdg-pp-btn--ghost,
.kdg-pp-btn--ghost:visited { background: transparent; color: #b35517; }
.kdg-pp-btn--ghost:hover,
.kdg-pp-btn--ghost:focus { background: #e07b2e; color: #fff; }

.kdg-pp-legal {
    border-top: 1px solid #e6e6e3;
    padding-top: 1.25em;
    font-size: 0.82em;
    font-style: italic;
    line-height: 1.6;
    color: #777;
}

@media (max-width: 640px) {
    .kdg-pp-page { padding: 120px 16px 3em; }
    .kdg-pp-hero { padding: 2em 16px; }
    .kdg-pp-hero h1 { font-size: 1.7em; }
    .kdg-pp-section h2 { font-size: 1.35em; }
    .kdg-pp-criteria li { flex-direction: column; gap: 0.25em; }
    .kdg-pp-criteria .kdg-pp-term { flex-basis: auto; }
    .kdg-pp-callout { padding: 1em 1.1em; }
    .kdg-pp-closing { padding: 1.75em 16px; }
    .kdg-pp-btn { width: 100%; text-align: center; }
}

/* ---------- Form variant inside .contact-box: guard against form/contact styles ---------- */
.contact-box .kdg-pp-banner--form {
    display: block;
    clear: both;
    width: auto;
    margin: 2.5em 0 3em;
    text-align: center;
    letter-spacing: normal;
    word-spacing: normal;
}
.contact-box .kdg-pp-banner--form p { margin-left: auto; margin-right: auto; text-transform: none; }
.contact-box .kdg-pp-banner--form .kdg-pp-eyebrow { margin: 0 0 1em; font-size: 0.8em; text-transform: uppercase; color: #555; }
.contact-box .kdg-pp-banner--form .kdg-pp-title   { margin: 0 0 0.2em; font-size: 1.4em; color: #2b2b2b; }
.contact-box .kdg-pp-banner--form .kdg-pp-tagline { margin: 0 0 1em; font-size: 1em; color: #444; }
.contact-box .kdg-pp-banner--form .kdg-pp-text    { margin: 0 auto 1.1em; font-size: 0.95em; line-height: 1.65; color: #444; }
.contact-box .kdg-pp-banner--form .kdg-pp-link    { color: #b35517; }
.contact-box .kdg-pp-banner--form .kdg-pp-link:hover { color: #8f4212; }

@media (max-width: 568px) {
    .contact-box .kdg-pp-banner--form { margin: 2em 0 2.5em; }
}

/* ---------- Page: guard against site-wide heading / list styles ---------- */
.kdg-pp-wrap { clear: both; }
.kdg-pp-page h1,
.kdg-pp-page h2 {
    text-transform: none;
    letter-spacing: normal;
    font-weight: 400;
    text-align: inherit;
    text-shadow: none;
}
.kdg-pp-hero h1 { text-align: center; }
.kdg-pp-page ul,
.kdg-pp-page ol { text-align: left; }
.kdg-pp-criteria li { list-style: none; margin: 0; }
.kdg-pp-criteria .kdg-pp-term { display: block; }
.kdg-pp-criteria .kdg-pp-def  { display: block; }

/* ---------- Site style guards: fonts + colours ---------- */
/* Set fonts directly (font-lato / font-droid classes don't apply on every page) */
.kdg-pp-banner,
.kdg-pp-page,
.kdg-pp-page p,
.kdg-pp-page li,
.kdg-pp-page a,
.kdg-pp-page strong,
.kdg-pp-page .kdg-pp-def {
    font-family: 'Lato', 'Helvetica Neue', Arial, sans-serif;
}
.kdg-pp-banner .kdg-pp-title,
.kdg-pp-page h1,
.kdg-pp-page h2,
.kdg-pp-page .kdg-pp-title {
    font-family: 'Droid Serif', Georgia, 'Times New Roman', serif;
}

/* Stop site span/link colour rules (white text) leaking in */
.kdg-pp-banner .kdg-pp-link .kdg-pp-arrow { color: inherit; }
.kdg-pp-page .kdg-pp-criteria .kdg-pp-term { color: #2b2b2b; font-size: 1em; font-weight: 700; }
.kdg-pp-page .kdg-pp-criteria .kdg-pp-def  { color: #444; font-size: 1em; line-height: 1.7; }
.kdg-pp-page .kdg-pp-section p,
.kdg-pp-page .kdg-pp-section li { color: #444; }
.kdg-pp-page .kdg-pp-callout strong,
.kdg-pp-page .kdg-pp-lead { color: #2b2b2b; }
.kdg-pp-page .kdg-pp-legal { color: #777; }
