/*
Theme Name: Steelthemes Nest Child
Author: Steelthemes
Description: Nest is a Ecommerce wordpress Theme.
Version: 2.13.1
Template: steelthemes-nest

This is the child theme for Steelthemes Nest theme, generated with Generate Child Theme plugin by catchthemes.

(optional values you can add: Theme URI, Author URI, License, License URI, Tags, Text Domain)
*/

/* Shared Harvestime typography. Icon fonts retain their own theme rules.
   v2.0.0 premium type system:
   - Bricolage Grotesque: distinctive display face for every heading.
   - Manrope: refined, highly legible body/UI face for everything else. */
:root {
    --font-display: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
    --font-heading: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif !important;
    --font-text: "Manrope", "Helvetica Neue", Arial, sans-serif !important;
}

body,
button,
input,
select,
textarea,
.woocommerce,
.woocommerce-page {
    font-family: "Manrope", "Helvetica Neue", Arial, sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif !important;
    font-optical-sizing: auto;
}

.main-menu,
.mobile-menu {
    font-family: "Manrope", "Helvetica Neue", Arial, sans-serif !important;
}

body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
    color: #18352d;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

html,
#page,
.site,
#content,
.site-content,
main {
    max-width: 100%;
}

img,
picture,
video,
canvas,
svg,
iframe {
    max-width: 100%;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
    letter-spacing: -0.025em;
    overflow-wrap: break-word;
}

body p,
body li,
body input,
body select,
body textarea,
body button {
    line-height: 1.65;
}

body input:not([type="checkbox"]):not([type="radio"]),
body select,
body textarea {
    border-radius: 8px;
}

body .main-menu > ul > li > a,
body .main-menu > li > a {
    font-weight: 600;
    letter-spacing: -0.01em;
}

/* The legacy Elementor footer contains an outdated legal identity. */
body .elementor-3502,
body .mobile-header-active .site-copyright {
    display: none !important;
}

.harvestime-site-footer,
.harvestime-site-footer * {
    box-sizing: border-box;
}

.harvestime-site-footer {
    position: relative;
    overflow: hidden;
    background: #0b3026;
    color: #fff;
    font-family: "Manrope", "Helvetica Neue", Arial, sans-serif;
}

.harvestime-footer__accent {
    height: 6px;
    background: linear-gradient(90deg, #a6ce39 0%, #3bbb7f 48%, #f0b342 100%);
}

.harvestime-footer__shell {
    width: min(100% - 48px, 1280px);
    margin-inline: auto;
    padding: 86px 0 34px;
}

.harvestime-footer__intro {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr) auto;
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
    padding-bottom: 62px;
}

.harvestime-footer__logo {
    display: flex;
    min-height: 112px;
    padding: 22px;
    border-radius: 18px;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.harvestime-footer__logo img {
    width: 100%;
    max-width: 190px;
    height: auto;
}

.harvestime-footer__eyebrow {
    margin: 0 0 14px;
    color: #b9df8b;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.17em;
    line-height: 1.45;
    text-transform: uppercase;
}

.harvestime-site-footer h2 {
    max-width: 720px;
    margin: 0;
    color: #fff;
    font-size: clamp(34px, 4vw, 58px);
    font-weight: 600;
    letter-spacing: -0.045em;
    line-height: 1.06;
}

.harvestime-footer__button {
    display: inline-flex;
    min-height: 52px;
    gap: 24px;
    padding: 14px 22px;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #0b3026;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: transform 180ms ease, background 180ms ease;
}

.harvestime-footer__button:hover,
.harvestime-footer__button:focus-visible {
    background: #b9df8b;
    color: #0b3026;
    transform: translateY(-2px);
}

.harvestime-footer__divisions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(255, 255, 255, 0.17);
    border-bottom: 1px solid rgba(255, 255, 255, 0.17);
}

.harvestime-footer__divisions article {
    min-width: 0;
    padding: 44px clamp(26px, 3vw, 46px) 46px 0;
}

.harvestime-footer__divisions article:not(:first-child) {
    padding-left: clamp(26px, 3vw, 46px);
}

.harvestime-footer__divisions article:not(:last-child) {
    border-right: 1px solid rgba(255, 255, 255, 0.17);
}

.harvestime-footer__divisions span,
.harvestime-footer__label {
    display: block;
    margin-bottom: 16px;
    color: #b9df8b;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.15em;
    line-height: 1.45;
    text-transform: uppercase;
}

.harvestime-footer__divisions h3 {
    margin: 0 0 16px;
    color: #fff;
    font-size: clamp(22px, 2vw, 30px);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 1.2;
}

.harvestime-footer__divisions p {
    max-width: 360px;
    margin: 0;
    color: rgba(255, 255, 255, 0.65);
    font-size: 13px;
    line-height: 1.8;
}

.harvestime-footer__details {
    display: grid;
    grid-template-columns: 1.15fr 0.8fr 1fr;
    gap: clamp(36px, 6vw, 88px);
    padding: 58px 0;
}

.harvestime-footer__details > div,
.harvestime-footer__details nav {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
}

.harvestime-footer__details a {
    margin-bottom: 8px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 13px;
    line-height: 1.65;
    text-decoration: none;
}

.harvestime-footer__details a:hover,
.harvestime-footer__details a:focus-visible {
    color: #b9df8b;
}

.harvestime-footer__legal {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 56px;
    padding-top: 28px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.harvestime-footer__legal p {
    margin: 0;
    color: rgba(255, 255, 255, 0.47);
    font-size: 10px;
    line-height: 1.75;
}

@media (max-width: 1040px) {
    .harvestime-footer__intro {
        grid-template-columns: 190px 1fr;
    }

    .harvestime-footer__button {
        grid-column: 2;
        width: max-content;
    }

    .harvestime-footer__divisions {
        grid-template-columns: 1fr;
    }

    .harvestime-footer__divisions article,
    .harvestime-footer__divisions article:not(:first-child) {
        padding: 34px 0;
    }

    .harvestime-footer__divisions article:not(:last-child) {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    }
}

@media (max-width: 700px) {
    .harvestime-footer__shell {
        width: min(100% - 32px, 1280px);
        padding-top: 64px;
    }

    .harvestime-footer__intro {
        grid-template-columns: 1fr;
        gap: 28px;
        padding-bottom: 48px;
    }

    .harvestime-footer__logo {
        width: 190px;
        min-height: 88px;
        padding: 18px;
    }

    .harvestime-footer__button {
        grid-column: auto;
        width: 100%;
    }

    .harvestime-site-footer h2 {
        font-size: clamp(32px, 10vw, 44px);
    }

    .harvestime-footer__details,
    .harvestime-footer__legal {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .harvestime-footer__details {
        padding: 48px 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .harvestime-footer__button {
        transition: none;
    }
}

/* v2.0.0 refresh — premium display face for the shared footer headings
   plus warmer, more legible text on the dark footer. */
.harvestime-site-footer h2,
.harvestime-site-footer h3 {
    font-family: var(--font-display) !important;
    letter-spacing: -0.03em;
    font-optical-sizing: auto;
}

.harvestime-footer__button {
    border-radius: 16px;
    font-family: var(--font-text);
}

.harvestime-footer__divisions p {
    color: rgba(255, 255, 255, 0.74);
}

.harvestime-footer__details a {
    color: rgba(255, 255, 255, 0.88);
}

.harvestime-footer__legal p {
    color: rgba(255, 255, 255, 0.62);
    font-size: 11px;
}

.harvestime-footer__eyebrow,
.harvestime-footer__divisions span,
.harvestime-footer__label {
    color: #c7e79c;
}
