/* SLM contact and hours (Phase A, 2026-11-01): call / text buttons, fax, hours lines, holiday notice. */

/* ---------- Call / Text buttons ---------- */
body .slm-contact-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    max-width: 42rem;
}

body .slm-contact-buttons a {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 0.65rem;
    align-items: center;
    min-height: 3.5rem;
    border: 2px solid transparent;
    border-radius: var(--button-radius, 0.5rem);
    padding: 0.6rem 1rem;
    text-decoration: none;
    line-height: 1.2;
}

body .slm-contact-buttons .slm-icon {
    grid-row: 1 / 3;
    width: 1.35rem;
    height: 1.35rem;
}

body .slm-contact-buttons .slm-btn-label {
    font-weight: 700;
    font-size: 1rem;
}

body .slm-contact-buttons .slm-btn-number {
    font-size: 0.95rem;
}

/* Call: solid Desert Rust, white text (4.98:1). */
body .slm-contact-buttons .slm-btn-call {
    border-color: #B5522F;
    background: #B5522F;
    color: #FFFFFF;
}

body .slm-contact-buttons .slm-btn-call:hover,
body .slm-contact-buttons .slm-btn-call:focus-visible {
    border-color: #A82728;
    background: #A82728;
    color: #FFFFFF;
}

/* Text: white fill, Cactus Green outline and text (4.72:1). Keep the white fill: green on sand is only 4.42:1. */
body .slm-contact-buttons .slm-btn-text {
    border-color: #4E7F46;
    background: #FFFFFF;
    color: #4E7F46;
}

body .slm-contact-buttons .slm-btn-text:hover,
body .slm-contact-buttons .slm-btn-text:focus-visible {
    background: #4E7F46;
    color: #FFFFFF;
}

body .slm-contact-buttons a:focus-visible {
    outline: 3px solid #3F6EA5;
    outline-offset: 2px;
}

body .slm-contact-note {
    margin: 0.6rem 0 0;
    color: #4A4038;
    font-size: 0.9rem;
}

/* Contact page: buttons sit above the address and fax rows. */
body .ocf-contact-details .slm-contact-buttons + .slm-contact-note {
    margin-bottom: 0.4rem;
}

/* Phone menu: stacked, full width. */
body .slm-contact-buttons--menu {
    grid-template-columns: 1fr;
    max-width: none;
}

body .slm-contact-buttons--menu a {
    grid-template-columns: auto auto 1fr;
    grid-template-rows: auto;
    justify-content: center;
    min-height: 3rem;
    padding: 0.5rem 1rem;
}

body .slm-contact-buttons--menu .slm-icon {
    grid-row: auto;
    width: 1.1rem;
    height: 1.1rem;
}

body .slm-contact-buttons--menu .slm-btn-number {
    text-align: left;
}

@media (max-width: 599px) {
    body .slm-contact-buttons {
        grid-template-columns: 1fr;
    }
}

/* ---------- Hours box extras (Contact page) ---------- */
body .slm-hours-extras {
    display: grid;
    gap: 0.45rem;
    margin-top: 0.9rem;
    border-top: 1px solid var(--ocf-border-light, #EADCCB);
    padding-top: 0.9rem;
    color: #4A4038;
    font-size: 0.95rem;
}

body .slm-hours-extras p {
    margin: 0;
}

/* ---------- Holiday notice ---------- */
body .slm-holiday-notice {
    font-weight: 700;
}

body .slm-hours-extras .slm-holiday-notice {
    border-left: 4px solid #F2B233;
    background: #FFF6E0;
    padding: 0.45rem 0.7rem;
    color: #3B2A1F;
}

body .site-footer .slm-holiday-notice {
    margin: 0;
    padding-left: 1.65rem;
    color: #F2B233;
}

/* Home page bar, under the fixed header. Gold with dark text (never white on gold). */
body .slm-holiday-bar {
    position: relative;
    z-index: 5;
    background: #F2B233;
    color: #3B2A1F;
}

body .slm-holiday-bar p {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    max-width: 80rem;
    margin: 0 auto;
    padding: 0.5rem 1rem;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.35;
    text-align: center;
}

body .slm-holiday-bar .slm-icon {
    flex: 0 0 auto;
    width: 1.1rem;
    height: 1.1rem;
}

/* ---------- Footer contact column ---------- */
body .slm-nowrap {
    white-space: nowrap;
}

body .site-footer .slm-footer-line {
    display: grid;
    grid-template-columns: 1.1rem minmax(0, 1fr);
    gap: 0.55rem;
    align-items: start;
}

body .site-footer .slm-footer-line .slm-icon {
    width: 1.05rem;
    height: 1.05rem;
    margin-top: 0.16em;
}

@media (max-width: 767px) {
    body .site-footer a.slm-footer-line {
        align-items: center;
        min-height: 44px;
    }

    body .site-footer a.slm-footer-line .slm-icon {
        margin-top: 0;
    }
}

/* ---------- Third button: Request a Quote Online (product pages, /delivery/) ----------
   White on Adobe Brown #6B4A32: 8.6:1. */
body .slm-contact-buttons .slm-btn-quote {
    border-color: #6B4A32;
    background: #6B4A32;
    color: #FFFFFF;
}

body .slm-contact-buttons .slm-btn-quote:hover,
body .slm-contact-buttons .slm-btn-quote:focus-visible {
    border-color: #3B2A1F;
    background: #3B2A1F;
    color: #FFFFFF;
}

@media (min-width: 900px) {
    body .slm-contact-buttons--product {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 600px) and (max-width: 899px) {
    body .slm-contact-buttons--product .slm-btn-quote {
        grid-column: 1 / -1;
    }
}

/* Inside page text (e.g. /delivery/) the buttons keep their own look: the theme's
   ".prose a[href]" underline and link color must not reach them. */
body .slm-contact-buttons a[href] {
    text-decoration: none;
}

body .slm-contact-buttons a.slm-btn-call[href],
body .slm-contact-buttons a.slm-btn-quote[href] {
    color: #FFFFFF;
}

body .slm-contact-buttons a.slm-btn-text[href] {
    color: #4E7F46;
}

body .slm-contact-buttons a.slm-btn-text[href]:hover,
body .slm-contact-buttons a.slm-btn-text[href]:focus-visible {
    color: #FFFFFF;
}

body .entry-content .slm-product-actions,
body .prose .slm-product-actions {
    margin-top: 1.75rem;
}

/* ---------- GHL quote form (Phase C, 2026-11-01) ----------
   GHL's form_embed.js sets the iframe height to fit the form; 747px (its data-height) holds the space until then. */
body .slm-quote-form {
    scroll-margin-top: 110px;
}

body .slm-quote-form iframe {
    display: block;
    min-height: 747px;
}
