/*=========================================================
ESBC 2.0
STYLE.CSS
Design System
Author: ChatGPT & ESBC
Version: 2.0
=========================================================*/

/*==============================
GOOGLE FONT
==============================*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/*==============================
ROOT VARIABLES
==============================*/
:root{

    /* Brand Colours */

    --bg-color:#3b3337;
    --surface:#4a4045;
    --surface-light:#564a50;

    --heading:#fff9df;
    --text:#eddbab;

    --accent:#d6b870;
    --accent-hover:#e4c988;

    --white:#ffffff;
    --black:#000000;

    /* Layout */

    --container:1280px;
    --header-height:85px;

    /* Radius */

    --radius-sm:10px;
    --radius-md:16px;
    --radius-lg:24px;
    --radius-xl:32px;

    /* Shadows */

    --shadow-sm:0 6px 20px rgba(0,0,0,.12);
    --shadow-md:0 14px 35px rgba(0,0,0,.18);
    --shadow-lg:0 20px 60px rgba(0,0,0,.25);

    /* Spacing */

    --space-xs:8px;
    --space-sm:16px;
    --space-md:24px;
    --space-lg:40px;
    --space-xl:64px;
    --space-2xl:96px;

    /* Animation */

    --transition:.35s ease;

}

/*==============================
RESET
==============================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{

    scroll-behavior:smooth;
    scroll-padding-top:calc(var(--header-height) + 10px);
    overflow-x:hidden;
    max-width:100%;

}

body{

    font-family:'Poppins',sans-serif;

    background:var(--bg-color);

    color:var(--text);

    line-height:1.7;

    word-spacing:0.04em;

    letter-spacing:0.01em;

    overflow-x:hidden;
    width:100%;
    max-width:100%;
    padding-top:var(--header-height);

}

/*==============================
CONTAINER
==============================*/

.container{

    width:min(92%,var(--container));

    margin:auto;

}

/*==============================
IMAGES
==============================*/

img,
video,
svg,
iframe,
canvas,
embed,
object{

    max-width:100%;
    height:auto;
    display:block;

}

img{

    width:100%;

    object-fit:cover;

}

/*==============================
LINKS
==============================*/

a{

    color:inherit;

    text-decoration:none;

}

/*==============================
LISTS
==============================*/

ul{

    list-style:none;

}

/*==============================
SECTIONS
==============================*/

section{

    padding:110px 0;

    position:relative;

}

/*==============================
HEADINGS
==============================*/

h1,
h2,
h3,
h4,
h5,
h6,
p{

    overflow-wrap:anywhere;

}

h1,
h2,
h3,
h4,
h5,
h6{

    color:var(--heading);

    font-weight:700;

    line-height:1.2;

}

h1{

    font-size:clamp(2.8rem,5vw,4.8rem);

}

h2{

    font-size:clamp(2rem,4vw,3.2rem);

}

h3{

    font-size:1.45rem;

}

p{

    color:var(--text);

    margin-top:12px;

}

/*==============================
SECTION TITLE
==============================*/

.section-header{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

}

.section-header span{

    display:inline-block;

    color:var(--accent);

    font-size:.9rem;

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:12px;

}

.section-header h2{

    margin-bottom:18px;

}

.section-header p{

    max-width:650px;

    margin:auto;

}

/*==============================
BUTTONS
==============================*/

.btn{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    min-width:180px;

    padding:16px 34px;

    border:none;

    border-radius:50px;

    cursor:pointer;

    font-weight:600;

    transition:var(--transition);

}

.btn-primary{

    background:var(--accent);

    color:var(--bg-color);

}

.btn-primary:hover{

    background:var(--accent-hover);

    transform:translateY(-4px);

    box-shadow:var(--shadow-md);

}

.btn-secondary{

    background:transparent;

    border:2px solid var(--accent);

    color:var(--heading);

}

.btn-secondary:hover{

    background:var(--accent);

    color:var(--bg-color);

}

/*==============================
CARDS
==============================*/

.card{

    background:var(--surface);

    border-radius:var(--radius-lg);

    padding:32px;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-md);

}

/*==============================
FORM ELEMENTS
==============================*/

input,
textarea,
select{

    width:100%;

    padding:16px 18px;

    background:var(--surface-light);

    color:var(--heading);

    border:2px solid transparent;

    border-radius:14px;

    font-family:inherit;

    font-size:1rem;

    transition:var(--transition);

}

input::placeholder,
textarea::placeholder{

    color:#d5c8a7;

}

input:focus,
textarea:focus,
select:focus{

    outline:none;

    border-color:var(--accent);

}

/*==============================
UTILITY
==============================*/

.text-center{

    text-align:center;

}

.mt-lg{

    margin-top:var(--space-lg);

}

.mb-lg{

    margin-bottom:var(--space-lg);

}

/*==============================
SCROLLBAR
==============================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#2d272b;

}

::-webkit-scrollbar-thumb{

    background:var(--accent);

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--accent-hover);

}

/*==============================
SELECTION
==============================*/

::selection{

    background:var(--accent);

    color:var(--bg-color);

}