/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/
@font-face {
    font-family: 'Black Mango Regular';
    src: url('/wp-content/fonts/black-mango-regular.woff2') format('woff2'),
    url('/wp-content/fonts/black-mango-regular.woff') format('woff');
    font-display: swap;
}
:root {
    /* Typography - Font Sizes  */
    --font-size-xs: 12px;
    --font-size-sm: 14px;
    --font-size-md: 15px;
    --font-size-base: 1rem;
    --font-size-lg: 18px;
    --font-size-xlg: 20px;
    /* Primary Colors */
    --color-obsidian-black: #1D1E18;
    --color-regal-blue: #2B3E88;
    --color-frosted-sky: #E3E8F3;
    --color-leaf-green: #71BE55;
    --color-mossy-gray: #72736f;
    --color-white: #ffffff;
    --color-form-warning: #D32F2F;
    /* Background Colors */
    --bg-color-white: #ffffff;
    --bg-color-pale-ice: #fAfdfb;
    --bg-color-regal-blue: #2B3E88;
    --bg--color-leaf-green: #71BE55;
    --bg--color-frosted-sky: #E3E8F3;
    --bg--color-mossy-gray: #72736f;
    --bg-color-skyline-blue: #7690C7;
    /* Font Weights */
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-middle: 600;
    --font-weight-bold: 700;
    /* Border Radius */
    --border-radius-base: 3px;
    /* Font Family */
}
html {
    font-size: 100%;
}
body {
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    line-height: 1.6;
    color: #222222;
    font-size: 1rem;
    background: var(--bg-color-white)
}
h1, h2, h3, h4, h5, h6 {
    font-family: "Black Mango Regular", "Belleza", "Roboto", sans-serif;
    margin-top: 2.25rem;
    margin-bottom: 1rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.022em;
}
p {
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-size: 18px;
    color: black;

}
small {
    font-size: 0.8rem;
}
h1 {
    font-size: 3.815rem;
}
h2 {
    font-size: 3.052rem;
}
h3 {
    font-size: 2.441rem;
}
h4 {
    font-size: 1.953rem;
}
h5 {
    font-size: 1.563rem;
}
h6 {
    font-size: 1.25rem;
}
@media only screen and (max-width: 1024px) {
    h1 {
        font-size: clamp(2.5rem, 6vw, 3.2rem);
        line-height: 1.15;
    }
    h2 {
        font-size: clamp(2rem, 5.5vw, 2.75rem);
        line-height: 1.2;
    }
    h3 {
        font-size: clamp(1.75rem, 5vw, 2.1rem);
        line-height: 1.25;
    }
    h4 {
        font-size: clamp(1.5rem, 4.5vw, 1.75rem);
        line-height: 1.3;
    }
    h5 {
        font-size: clamp(1.3rem, 4vw, 1.5rem);
        line-height: 1.3;
    }
    h6 {
        font-size: clamp(1.1rem, 3.5vw, 1.25rem);
        line-height: 1.3;
    }
}
/*============================*/
/*========== HEADER ==========/
/*==========================*/
/* .inside-header {
    padding: 40px 0 40px 0;

} */




/*** Desktop Logo ***/
.inside-header .site-logo {
    position: absolute;
    left: 50%;
    top: 60px;
    transform: translate(-50%, -50%);

}
/*======== Sticky Navigation Bar ========*/
.sticky-enabled .main-navigation.is_stuck {
    background: white;
    padding: 0 105px;
    width:100%;               /* shrink with viewport */
    max-width:1920px;         /* hard cap */
    margin:0 auto;            /* centers when < viewport */
    padding: 0 clamp(12px, 4.5vw, 56px);
    box-sizing:border-box;

}


@media only screen and (max-width: 768px) {
    .sticky-enabled .main-navigation.is_stuck {


        padding: 0 clamp(12px, 1.5vw, 56px);

    }


}

.inside-header #sticky-navigation.main-navigation .main-nav ul li a {
    padding-left: 0;

    line-height: 60px;
}
.main-navigation.sticky-navigation-transition .site-logo img {
    height: unset;
    margin-top: 20px;
}


#mobile-header {


    padding-bottom: 0;
    box-shadow: 0 2px 2px -2px rgba(0, 0, 0, .2);
}

.inside-header #sticky-navigation .inside-navigation {
    position: relative
}
.inside-header #sticky-navigation .navigation-branding {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%)
}
.inside-header #sticky-navigation .menu-bar-items {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
/*====  MOBILE HEADER  ====*/
#mobile-header .inside-navigation {
    position: relative;
}
#mobile-header .mobile-header-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
}
#mobile-header .menu-bar-items {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
/* @media only screen and (min-width: 768px) and (max-width: 980px) {
    .inside-header {
        padding: 10px 30px 0px 30px
    }
    .inside-header .site-logo {
        top: 40px;
        max-width: 300px;
    }
} */

@media only screen and (min-width: 768px) and (max-width: 980px) {

    .header-image.is-logo-image {
        max-width: 350px;
    }
}
@media only screen and (max-width: 768px) {
    #mobile-header .is-logo-image {
        top: 20px;
    }
    img.is-logo-image {
        margin-bottom: 50px;
    }
}
@media only screen and (max-width: 480px) {
    #mobile-header .mobile-header-logo {
        top: 20px;
    }
    .mobile-cta-button {
        margin-top: 45px;
    }
    button.menu-toggle {
        margin-top: 28px;
    }
}



.site-logo.mobile-header-logo {
}
/*=====================================*/
/*============  CTA Button  ==========*/
/* Desktop */
.inside-header p.desktop-cta-button {
    font-size: 25px;
}
/* @media only screen and (max-width: 980px) {
    .inside-header p.desktop-cta-button {
        padding-left: 10px;
    }
} */
/* Sticky Desktop */
.inside-header .sticky-cta-button {
    font-size: 18px;
}
.inside-header .sticky-cta-button {
    display: none;
}
.inside-header .navigation-clone .sticky-cta-button {
    display: inline-block;
}


.navigation-stick p.mobile-cta-button {
    font-size: 16px;
    padding-left: 8px;
    /*color: blue;*/
}

p.mobile-cta-button {
    font-size: 16px;
    padding-left: 8px;
    /*color: red;*/
}


/*============  CTA Button  ==========*/
/*=====================================*/
/*=========================*/
/*===== MENU BUTTON  =====*/
/* Desktop */
.main-navigation .menu-bar-item > a {

    padding-right: 0
}
.inside-navigation .gp-icon svg {
    width: 35px;
    height: 1em;
}
.inside-navigation .gp-icon svg path {
    transform-box: fill-box;
    transform-origin: left center;
    transform: scaleX(5);
    color: black;
}
.main-navigation.slideout-navigation .inside-navigation .gp-icon svg path {
    transform: none;
    color: inherit;
}

#mobile-header .menu-toggle {

    padding-right: 10px

}

nav#sticky-navigation .main-navigation .menu-bar-item > a {
    padding-right: 50px !important;
}


/*=== Mobile ===*/
/* @media only screen and (max-width: 980px) {
    .inside-navigation .gp-icon {
        padding-right: 10px;
    }
} */
/* @media only screen and (max-width: 768px) {
    .inside-navigation .gp-icon {
        padding-right: 0;
    }
    nav.main-navigation.has-branding .menu-toggle {
        padding-right: 5px
    }
} */
/*===== MENU BUTTON  =====*/
/*=========================*/
/*  */
/************************* Footer *****************/
.copyright-bar {
    display: none;
}

.card {
    background: #f5f5f5;
    border-radius: 12px;

    padding: 2rem;

    margin: auto;
}
/* on mobile we stack everything */
.card .content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-items: center;
}
/* your text column */
.card .text {
    max-width: 600px;
    /* no positioning needed on mobile */
}
/* the heading, right-aligned within the text column */
.card .text h2 {
    font-family: serif;
    font-size: 2rem;
    text-align: right;
    margin: 0 0 1.5rem;
}
/* paragraphs */
.card .text p {
    margin-bottom: 1rem;
}
/* image block */
.card .image-wrap {
    text-align: center;
}
.card .image-wrap img {
    display: block;
    width: 100%;
    max-width: 300px;
    border-radius: 12px;
    margin: auto;
}
.card .image-wrap .learn-more {
    display: inline-block;
    margin-top: 0.75rem;
    text-decoration: none;
    font-weight: 500;
    color: #333;
}
/* desktop: side-by-side layout */
@media (min-width: 768px) {
    .card .content {
        flex-direction: row;
        align-items: flex-start;
    }
    .card .text {
        flex: 2;
        margin-right: 2rem;
    }
    .card .image-wrap {
        flex: 1;
    }
    /* ensure the H2 keeps right-aligning even in desktop view */
    .card .text h2 {
        text-align: right;
    }
}
.left-border img {
    border-radius: 20px;
}
/*======================================================================================================================================*/
/*===============================================================  DEV  ===============================================================*/




/*===============================*/
/*=====  ABOUT ME SECTION  =====*/

/*---------------------
   Base / Desktop
---------------------*/
.about-me-section {
    position: relative;
    overflow: visible;
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    text-align: right;

    /* columnâ€split */
    --left-width: 65%;
    --right-width: 35%;
}

.about-me-section::before {
    content: "";
    position: absolute;
    top: -45px;
    left: 0;
    width: 180px;
    height: 180px;
    background: url('/wp-content/uploads/2025/07/5.png') no-repeat center/contain;
    pointer-events: none;
    z-index: 0;
}

.about-me-section .left {
    flex: 0 0 var(--left-width);
}

.about-me-section .right {
    flex: 0 0 var(--right-width);
    display: flex;
    justify-content: flex-end;
}

.about-me-section .right img {
    display: block;
    margin-left: auto;
    width: 100%;
    max-width: 75%;
    height: auto;
    border-radius: 20px;
}

/* Underline on the heading */
.about-me-section .left h2 {
    position: relative;
    display: inline-block;
    margin-bottom: 0;
}
.about-me-section h2::after {
    content: "";
    display: block;
    width: 50%;
    height: 1px;
    background: currentColor;
    margin: 12px 0 24px auto;
}

/*-----------------------
   Midâ€‘breakpoint tweaks
-----------------------*/
@media (min-width: 1025px) and (max-width: 1320px) {
    .about-me-section .right img {
        max-width: 90%;
        border-radius: 0.5rem;
        box-shadow: 0 4px 10px rgba(0,0,0,0.08);
        transition: transform 0.3s ease;
    }
}

/*---------------------
    Mobile / Tablet
----------------------*/
@media (max-width: 1025px) {
    .about-me-section {
        flex-direction: column-reverse;
        align-items: center;
        text-align: left;
        gap: 1.5rem;
    }

    .about-me-section::before {
        background: none;
    }

    .about-me-section .left,
    .about-me-section .right {
        flex: 0 0 100%;
    }

    .about-me-section .right img {
        margin: 0 auto;
        max-width: 300px;
    }

    .about-me-section h2::after {
        margin-left: 0; /* drop the auto margin for mobile */
    }
}











/*======================================================================================================================================*/
/*===============================================================  DEV testimonials  ===============================================================*/





/* --------------------------------------------------
   Love Notes Slider Styles
--------------------------------------------------*/
.love-notes {
    position: relative;
}
.love-notes__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.love-notes__heading {
    display: none;
}
.love-notes__carousel {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0;
}
.love-notes__nav {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}
.love-notes__nav svg {
    width: 100px;
    height: 100px;

}
.love-notes__nav--prev {
    margin-right: 1rem;


}
.love-notes__nav--next {
    margin-left: 1rem;
    position: relative;
    left: 20px;
    opacity: 0.6;
}




.love-notes__nav--prev {
    position: relative;
    left: -20px;
    opacity: 0.6;
}
.love-notes__nav--prev:hover,
.love-notes__nav--next:hover {

    opacity: unset;
}

.love-notes__slides {
    position: relative;
    flex: 1;
    overflow-x: hidden;
    overflow-y: visible;
}
.love-notes__slides.slick-initialized .slick-list,
.love-notes__slides.slick-initialized .slick-track {
    display: block;
}
.love-notes__slides .slick-slide {
    display: block;
}
.love-notes__slide .love-notes__layout {
    display: flex;
    align-items: center;
    gap: 2rem;
    width: 100%;
    box-sizing: border-box;
}









.love-notes__image{
    flex: 0 0 350px;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: 20px;
}

.love-notes__image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}






@media (max-width: 1025px) {
    .love-notes__image {
        max-width: none;
        width: 100%;
        flex: unset;
        aspect-ratio: unset;
        flex: 0 0 100%;
    }
}










.love-notes__copy {
    flex: 1;
    min-width: 0;
    overflow-wrap: break-word;
    font-size: 1rem;
    line-height: 1.6;
    color: #000;
}
.love-notes__author {
    margin-top: 1rem;
    font-style: italic;
    font-weight: 600;
    color: black;
    text-align: left;
    font-size: 18px;
}


.full-bleed-section.testimonials-slide {
    position: relative;
}

.full-bleed-section.testimonials-slide::before {
    content: "";
    position: absolute;
    top: 40px;
    left: 60px;

    width: 100px;
    height: 100px;
    background: url('/wp-content/quote.svg') no-repeat center;
    background-size: contain;
    pointer-events: none;

    z-index: 0;
}
/* --------------------------------------------------
   Slick Dots
--------------------------------------------------*/
/* Desktop & up: absolutely centered */
.love-notes__slides .slick-dots {
    position: absolute;
    bottom: -1.5rem;
    left: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
}
.love-notes__slides .slick-dots li {
    display: inline-block;
    margin: 0 6px;
}
.love-notes__slides .slick-dots li button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: none;
    background: #ccc;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color .3s;
    font-size: 0;
    line-height: 0;
}
.love-notes__slides .slick-dots li.slick-active button {
    background: #1C274C;
}
.love-notes__slides .slick-dots {
    position: relative;
    bottom: auto;
    transform: none;
    margin: 1.5rem 0 0;
}

.full-bleed-section.testimonials-slide  h2 {
    margin-top: 0;
    color: black;
    margin-right: 50px;
    display: none;

}
.full-bleed-section.testimonials-slide {

    padding-bottom: 30px;
}

/* -----------------------------------------------------------------
   Responsive: Tablet & Down (max-width: 1025px)
-----------------------------------------------------------------*/
@media (max-width: 1025px) {
    .love-notes {
        width: 100%;
        margin: 0;
        overflow: hidden;
    }
    .love-notes__nav {
        display: none;
    }
    .love-notes__image img {
        max-width: 300px;
        height: auto;
        margin: 0 auto;
        border-radius: 20px;
    }
    /* stack image + text */
    .love-notes__layout {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }
    .love-notes__author {
        text-align: left;
    }
    .love-notes__image {
        width: 100%;
        flex: none;
    }
    .love-notes__slides .slick-slide {
        box-sizing: border-box;
    }
    .love-notes__copy {
        width: 100%;
        max-width: none;
    }
}

@media only screen and (max-width: 1025px) {
    .full-bleed-section.testimonials-slide  h2 {
        margin-top: 0;
        margin-right: 20px;
    }
    .full-bleed-section.testimonials-slide {
        padding-top: 40px;
        padding-bottom: 20px;
    }
    .love-notes__layout {
        margin-top: 20px;
    }
    .full-bleed-section.testimonials-slide::before {
        width: 100px;
        height: 100px;
    }
}



@media only screen and (max-width: 480px) {
    .full-bleed-section.testimonials-slide h2 {
        margin-top: 0;


    }
    .full-bleed-section.testimonials-slide {
        padding-top: 40px;
        padding-bottom: 20px;
    }
    .love-notes__layout {
        margin-top: 20px;
    }
    .full-bleed-section.testimonials-slide::before {
        width: 35px;
        height: 35px;
        top: 10px;
        left: 15px;
    }
}





















/* 1) turn the outer box back into a flexâ€‘column container, allow overflow */
.love-notes__image {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* reuse your original sizing */
    flex: 0 0 350px;
    /* remove the old aspect-ratio + overflow:hidden here */
    /* aspect-ratio: 3 / 4; */
    /* overflow: hidden; */
}

/* 2) clip & round only the inner wrapper */
.love-notes__image-inner {
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: 20px;
}
.love-notes__image-inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 3) style the link */
.love-notes__view-more {
    margin-top: 0.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    color: #1C274C;
    transition: opacity .2s;
}
.love-notes__view-more:hover {
    opacity: .7;
    text-decoration: underline;
}

/* 4) smallâ€‘screen tweak (keep link fullâ€‘width on mobile) */
@media (max-width: 1025px) {
    .love-notes__image {
        flex: none;
        width: 100%;
    }
    .love-notes__view-more {
        font-size: 1rem;
    }
}


/*===============================================================  DEV testimonials  ===============================================================*/
/*======================================================================================================================================*/






















html, body {
    overflow-x: hidden !important;
}
/*img {*/
/*    display: block;*/
/*    max-width: 100% !important;*/
/*    height: auto;*/
/*}*/



















/*======================================================================================================================================*/
/*===============================================================  DEV  ===============================================================*/




/* == Post Gallery Grid ========================== */
.vibe-post-gallery{
    --gap: 2rem;               /* easy global tweak */
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--gap);
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--gap);
    background: #e7dfd5;       /* soft beige backdrop */
    border-radius: 1rem;
}

/* == Individual Card ============================ */
.vibe-gallery-item{
    text-align: center;
    font-family: "Playfair Display", serif;
    transition: transform .25s ease;
}
.vibe-gallery-item:hover{
    transform: translateY(-4px);
}

/* Thumb wrapper keeps perfect square ratio */
.vibe-thumb-wrapper{
    display: block;
    position: relative;
    overflow: hidden;
    padding-top: 100%;         /* 1ÃƒÂ¢Ã¢â€šÂ¬Ã…Â :ÃƒÂ¢Ã¢â€šÂ¬Ã…Â 1 aspect ratio */
    border-radius: 1.25rem;
    background: #fff;
    /* box-shadow: 0 2px 6px rgba(0,0,0,.09); */

    box-shadow:


{}
    border: 5px solid white;


    .vibe-thumb {
        /* ...your existing rules... */

    }

    .vibe-thumb:hover {
        transform: scale(1.03);
        box-shadow:
                0 8px 24px rgba(0,0,0,0.15),
                0 12px 32px rgba(0,0,0,0.1);
    }

}

/* Actual image absolutely fills the wrapper */
.vibe-thumb{
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .35s ease;

}
.vibe-thumb-wrapper:hover .vibe-thumb{
    transform: scale(1.08);
}

/* Title */
.vibe-title{
    margin-top: .85rem;
    font-size: 1.25rem;
    line-height: 1.2;
}
.vibe-title a{
    color: #181818;
    text-decoration: none;
}
.vibe-title a:hover{
    text-decoration: underline;
}

/* == Responsiveness tweaks ====================== */
@media (max-width: 768px){
    .vibe-post-gallery{
        --gap: 1rem;
    }
    .vibe-title{
        font-size: 1rem;
    }
}






.site-header  {
    /* border-bottom: 1px solid red; */
}
#mobile-header {
    /* border-bottom: 1px solid red; */
}





.inside-header {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 35px clamp(12px, 4.5vw, 56px);
    box-sizing: border-box;
    /* border-bottom: 1px solid blue */

}

@media only screen and (max-width: 980px) {
    .inside-header {
        padding-bottom: 0;

    }

}



@media only screen and (min-width: 480px) and (max-width: 768px) {
    .main-navigation.mobile-header-navigation {
        padding: 0 15px;
    }
}
/*---------------------------------------*/
/* 1. Define your defaults as custom props
/*---------------------------------------*/
.full-bleed-section-parent {
    /* gutter = white space outside the band */
    --gutter-min: 8px;
    --gutter-max: 56px;
    --gutter: clamp(var(--gutter-min), 4vw, var(--gutter-max));
    padding-inline: var(--gutter);
}
.full-bleed-section {
    background: #d2d2d2;
    max-width: 1920px;
    margin-inline: auto;
    padding-block: 64px;
    container-type: inline-size;
    border-radius: 20px;
}
.content-inner {
    max-width: 1320px;
    margin-inline: auto;
    /* inner pad = space inside the red box */
    --inner-pad: 12px;
    padding-inline: var(--inner-pad);

}
/*---------------------------------------*/
/* 2. Override both props at your breakpoints
/*---------------------------------------*/
/* tiny phones (up to 479px): super snug */
@media (max-width: 479px) {
    .full-bleed-section-parent {
        --gutter-min: 4px;
    }
    .content-inner {
        --inner-pad: 10px;
    }
}
/* small tablets (480Ã¢â‚¬â€œ767px): a bit more room */
@media (min-width: 480px) and (max-width: 767px) {
    .full-bleed-section-parent {
        --gutter-min: 12px;
    }
    .content-inner {
        --inner-pad: 16px;
    }
}
/* midÃ¢â‚¬â€˜desktop (768Ã¢â‚¬â€œ1600px): fluid inner padding, fixed gutters */
@media (min-width: 768px) and (max-width: 1600px) {
    .full-bleed-section-parent {
        /* keep your original clamp behaviour */
        --gutter-min: 8px;
        --gutter-max: 56px;
        --gutter: clamp(var(--gutter-min), 4vw, var(--gutter-max));
    }
    .content-inner {
        /* fluid up to 32px */
        --inner-pad: clamp(16px, 4vw, 32px);
    }
}
/* largeÃ¢â‚¬â€˜desktop (1601px+): no inner pad, gutters still clamp */
@media (min-width: 1601px) {
    .content-inner {
        --inner-pad: 0;
    }
}
.gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease, filter .3s ease;
    backface-visibility: hidden;
}
.main-navigation.navigation-stick.has-sticky-branding .inside-navigation.grid-container {
    padding-left: 0 !important;
}




/*====================================================*/
/*============  HOME INTRO LARGE IMAGE  =============*/
/*==================================================*/












/*====================================*/
/*============  FOOTER  =============*/
/*==================================*/
/* â€” column width variables â€” */
:root {
    --col1-width: 25%;
    --col2-width: 25%;
}
.full-bleed-section-parent.footer {
}
.footer-container {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start; /* default */
    gap: 2rem;
}
.footer-container .footer-col.col1 {
    flex: 0 0 var(--col1-width);
}
.footer-container .footer-col.col2 {
    flex: 0 0 var(--col2-width);
}
.footer-container .footer-col.col3 {
    margin-left: auto;
    flex: 0 0 auto;
}
/* column headers */
.footer-container .footer-title {
}
.footer-container .footer-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-container .footer-list li {
    margin-bottom: 0.5rem;
}
.footer-container .footer-list a {
    text-decoration: none;
    font-family: sans-serif;
}
.footer-container .contact-phone,
.footer-container .contact-email {
    margin: 0.25rem 0;
}
.footer-container .logo img {
    max-width: 300px;
    display: block;
    height: auto;
    display: block;
    margin-bottom: 3rem;
    margin-top: 32px;
}
.footer-container .social-icons {
    margin: 0 auto;
    display: table;
}
.footer-container .social-icons a img {
    width: 20px;
    height: 20px;
}
.footer-container .social-icons a img:hover {
    filter: brightness(0) invert(1);
}
.footer-container .social-icons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: #c08e3a;
    border-radius: 6px;
    text-decoration: none;
    margin-right: 15px;;
}
.footer-container .social-icons a:last-child {
    margin-right: 0;
}
@media (max-width: 1025px) {
    .footer-container {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .footer-col {
        flex: 0 0 auto !important;
        width: 100% !important;
        margin-left: 0;
    }
    .footer-col.col3 {
        margin-left: unset;
        flex: 0 0 auto;
    }
    .footer-col .logo img {
        width: 350px;
        margin: 0 auto 2rem;
    }
}
@media only screen and (max-width: 480px) {
    .footer-col .logo img {
        width: 240px;
    }
}
/*===============================*/
/*=========  Copyright  ========*/
.full-bleed-section-parent.copyright .full-bleed-section {
    background: white;
    padding-top: 0;
    padding-bottom: 0;
}
.full-bleed-section-parent.copyright p {
    font-size: 15px;
}





/*======================*/
/*===== GENERAL =======*/
/*====================*/
.hide-all-devices {
    /*  */
}


.one-container .site-content {
    padding: 0;

}


.full-bleed-section.intro-img  {
    background: white;
    padding: 0
}

.full-bleed-section-parent.spacing {
    margin-bottom: 80px;
}

@media only screen and (max-width: 1025px) {

    .full-bleed-section-parent.spacing {
        margin-bottom: 70px;
        margin-top: 10px;
    }
}
@media only screen and (max-width: 768px) {

    .full-bleed-section-parent.spacing {

        margin-top: 10px;
    }
}
@media only screen and (max-width: 480px) {

    .full-bleed-section-parent.spacing {
        margin-bottom: 60px;
    }
}





/*=======================================================================================================================================================*/
/*===============================================================  DEV - Category Pages  ===============================================================*/


.full-bleed-section.cat-img-sections {
    padding-block: 0;
}
.content-inner.cat-img-sections {
    max-width: unset;
}
/* ========== Category Card Container ========== */
.category-card {
    position: relative;
    width: 100%;
    max-height: 500px;
    margin: 0 auto;
    border-radius: 16px;
    overflow: hidden;
    background: #000;
    cursor: pointer; /* indicate interactivity */
}
/* ========== Image (DEFAULT: in‑flow) ========== */
.category-card img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
    /* --------- Grayscale → Color on Hover --------- */
    filter: grayscale(100%);
    transition: filter 0.6s ease;
}
.category-card:hover img {
    filter: none;
}
.category-card.color:hover img {
    filter: grayscale(100%);
}
.category-card.color img {
    filter: unset;
}
/* ========== Overlay Text ========== */
.category-card .overlay-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 4rem;
    font-weight: 300;
    font-family: serif;
    pointer-events: none;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
    white-space: nowrap;
    font-family: "Black Mango Regular", "Belleza", "Roboto", sans-serif;
}
/* ========== Responsive Tweaks ========== */
@media (max-width: 800px) {
    .category-card {
        max-height: 400px;
    }
    .category-card .overlay-text {
        font-size: 2.5rem;
    }
}
@media (max-width: 600px) {
    h1 {
        font-size: 2rem;
    }
    h2 {
        font-size: 0.9rem;
    }
    /* aspect‑ratio hack for small screens */
    .category-card {
        height: 0;
        padding-bottom: 56.25%;
        max-height: none;
    }
    .category-card img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    .category-card .overlay-text {
        font-size: 2rem;
    }
}

.page-id-2002 h1.entry-title {
    text-align: center;
    margin-top: 0;

}



























/*==================================================================================================================================================*/
/*===============================================================  DEV SINGLE POST  ===============================================================*/
.full-bleed-section-parent.single-post .full-bleed-section {
    /* background: red !important; */
    padding-top: 40px;
}
.full-bleed-section-parent.single-post .content-inner p {
    font-size: 16px !important;
}
.single-post.one-container .site-content, .inside-page-header {
    padding: 0
}
.single-post-header {
    max-width: 850px;
    margin: 0 auto;
    background: white;
    padding: 0;
    border-radius: 20px;
    background: unset;
}
.single-post-content {
    max-width: 850px;
    margin: 0 auto;
    background: white;
    border-radius: 20px;
    padding: 35px;
}
.single-post-header .wrapper {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    flex-wrap: wrap;
    box-sizing: border-box;
    padding: 1rem;
}
.single-post-header .left-container {
    flex: 0 0 250px;
    max-width: 650px;
}
.single-post-header .left-container img {
    display: block;
    width: 100%;
    border-radius: 20px;
    object-fit: contain;
    height: auto;
    max-height: 280px;
    border: 3px solid #a68877;
}
.single-post-header .wrapper .right-container {
    flex: 1 1 0;
    max-width: var(--right-max);
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: flex-end;
}
.single-post-header .right-container h1 {
    font-family: sans-serif;
    line-height: 60px;
    margin: 0;
}
@media only screen
(
max-width:
768
px
)
{
.single-post-header .wrapper {
    flex-direction: column;
    align-items: stretch;
}
.single-post-header .left-container,
.single-post-header .right-container {
    flex: none;
    width: 100%;
    max-width: 100%;
}
.single-post-header .right-container {
    display: block;
}
}
@media only screen and (max-width: 768px) {
    .single-post-content {
        padding: 10px 20px;
    }
}
@media only screen and (max-width: 480px) {
    .single-post-content {
        padding: 5px 15px;
    }
}

.text-imgages-pattern {
    max-width: 850px;
    margin: 0 auto;
    background: white;
    border-radius: 20px;
}
/* ---- white card ---- */

/*** added to gutenberg ***/
.text-images-pattern .feature-card {
    position: relative;
    max-width: 850px;
    margin: 0 auto;
    background: #fff;
    display: flex;
    align-items: center;
    overflow: visible;

}
.text-images-pattern .feature-body {
    flex: 1 1 0;
}
.text-images-pattern .feature-body.img-right {
    flex: 1 1 0;
    line-height: 1.5;
    margin-right: -80px;
}
.text-images-pattern .feature-body.img-left {
    flex: 1 1 0;
    line-height: 1.5;
    margin-left: -80px;
}
.text-images-pattern .feature-media img {
    display: block;
    width: 100%;
    height: 100%;
}
.text-images-pattern .feature-media.img-right {
    flex: 0 0 280px;
    transform: translateX(50.5%);

    border: 3px solid #a68877;
    border-radius: 20px;

    overflow: hidden;
    box-sizing: border-box;


}
.text-images-pattern .feature-media.img-left {
    flex: 0 0 280px;
    transform: translateX(-50.5%);
    border: 3px solid #a68877;
    border-radius: 20px;
    overflow: hidden;
    box-sizing: border-box;
}
.text-images-pattern .feature-media img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;

}
/* ---- mobile first breakpoint ---- */
@media only screen and (max-width: 1025px) {
    .text-images-pattern .feature-card {
        flex-direction: column;
        align-items: stretch;
    }
    .text-images-pattern .feature-media.img-right {
        order: -1;
        transform: none;
        margin: 20px auto 0;
        max-width: 300px;
        overflow: unset;
    }
    .text-images-pattern .feature-media.img-left {
        order: -1;
        transform: none;
        margin: 0 auto 1.5rem;
        width: 80%;
        max-width: 320px;
    }
    .text-images-pattern .feature-body.img-right {
        flex: 1 1 0;
        line-height: 1.5;
        margin-right: unset;
    }
    .text-images-pattern .feature-body.img-left {
        flex: 1 1 0;
        line-height: 1.5;
        margin-left: unset;
    }
    .text-images-pattern .feature-body {
    }
}





.comments-area {
    max-width: 850px;
    margin: 0 auto;
    background: white;
    padding: 0;
    border-radius: 20px;
    background: unset;
}







/*updated */