/* =========================================================
   ALBA & CO — PREMIUM DIVI GLOBAL CSS
   Compatible: Divi 4.27.4
========================================================= */

:root{
    --alba-bg:#0A0A0A;
    --alba-surface:#1F1F1D;
    --alba-text:#F8F8F6;
    --alba-gold:#C6A667;
    --alba-red:#C1282C;
    --alba-border:rgba(232,228,217,.10);
}

/* =========================================================
   GLOBAL
========================================================= */

html{
    scroll-behavior:smooth;
}

body{
    background:var(--alba-bg);
    color:var(--alba-text);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

/* =========================================================
   TYPOGRAPHY
========================================================= */

h1,h2,h3,h4,h5,h6{
    font-family:'Oswald',sans-serif!important;
    text-transform:uppercase;
    letter-spacing:-0.02em;
}

.et_pb_text,
.et_pb_blurb_description,
.et_pb_module p{
    font-family:'PT Serif',serif;
}

.et_pb_button,
.et_pb_menu a{
    font-family:'Inter',sans-serif!important;
    text-transform:uppercase;
    letter-spacing:.18em;
}

/* =========================================================
   HERO
========================================================= */

.hero-outline h1{
    -webkit-text-stroke:1px var(--alba-gold);
    color:transparent!important;
}

.et_pb_section:first-child{
    position:relative;
}

.et_pb_section:first-child:before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(
        180deg,
        rgba(10,10,10,.45) 0%,
        rgba(10,10,10,.25) 40%,
        rgba(10,10,10,.82) 100%
    );
    pointer-events:none;
    z-index:1;
}

.et_pb_section:first-child .et_pb_row{
    position:relative;
    z-index:2;
}

/* =========================================================
   BUTTONS
========================================================= */

.et_pb_button{
    transition:all .35s ease!important;
}

.et_pb_button:hover{
    transform:translateY(-2px);
}

.et_pb_button:after{
    display:none!important;
}

/* =========================================================
   MENU
========================================================= */

.et_pb_menu .et-menu-nav li a{
    transition:all .25s ease;
}

.et_pb_menu .et-menu-nav li a:hover{
    color:var(--alba-gold)!important;
}

/* =========================================================
   PRODUCT CARDS
========================================================= */

.product-card{
    overflow:hidden;
}

.product-card img{
    transition:transform 1.2s ease;
}

.product-card:hover img{
    transform:scale(1.08);
}

.product-card .et_pb_text{
    transition:all .35s ease;
}

.product-card:hover .et_pb_text{
    background:rgba(10,10,10,.82)!important;
}

/* =========================================================
   BLURBS
========================================================= */

.et_pb_blurb{
    transition:all .35s ease;
}

.et_pb_blurb:hover{
    transform:translateY(-4px);
}

/* =========================================================
   ACCORDION
========================================================= */

.et_pb_accordion_item{
    border:1px solid var(--alba-border)!important;
    background:#111111!important;
    margin-bottom:12px!important;
}

.et_pb_accordion_item_active{
    border-color:rgba(198,166,103,.4)!important;
}

.et_pb_accordion .et_pb_toggle_title:before{
    color:var(--alba-gold)!important;
}

/* =========================================================
   CONTACT FORM
========================================================= */

.et_pb_contact_form input,
.et_pb_contact_form textarea{
    background:transparent!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.15)!important;
    color:var(--alba-text)!important;
    padding:16px 0!important;
}

.et_pb_contact_form input:focus,
.et_pb_contact_form textarea:focus{
    border-color:var(--alba-gold)!important;
}

.et_pb_contact_submit{
    width:100%;
}

/* =========================================================
   MAP
========================================================= */

.et_pb_map{
    filter:grayscale(1) invert(.92) saturate(.4);
}

/* =========================================================
   FOOTER
========================================================= */

footer,
.et_pb_section:last-child{
    border-top:1px solid var(--alba-border);
}

/* =========================================================
   GRAIN EFFECT
========================================================= */

body:after{
    content:'';
    position:fixed;
    inset:0;
    pointer-events:none;
    opacity:.035;
    z-index:9999;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:980px){

    h1{
        font-size:72px!important;
    }

    h2{
        font-size:54px!important;
    }

    .et_pb_row{
        width:90%!important;
    }

    .et_pb_button{
        width:100%;
        text-align:center;
        margin-left:0!important;
    }

}

@media(max-width:767px){

    h1{
        font-size:52px!important;
        line-height:1em!important;
    }

    h2{
        font-size:42px!important;
        line-height:1em!important;
    }

    .et_pb_section{
        padding-top:90px!important;
        padding-bottom:90px!important;
    }

    .et_pb_row{
        width:92%!important;
    }

    .product-card .et_pb_text{
        padding:24px!important;
    }

}
