:root {
    --primary_bg: #101920;
    --secondary_bg: #E5E0E5;
    --primary_text: #EFF3F9;
    --secondary_text: #002740;
    --primary_red: #AE2830;
    --button_shadow: rgba(0, 0, 0, 0.25);
}

/* common styles */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: var(--primary_bg);
    transition: 200ms ease;
}

main {
    position: relative;
    display: flex;
    flex-direction: column;
}

li {
    list-style: none;
}

a {
    text-decoration: none;
}

model-viewer::part(default-progress-bar) {
    display: none;
}

.button {
    display: flex;
    border-radius: 100px;
    padding: 10px 20px;
    background-color: var(--primary_red);
    box-shadow: 0 4px 4px 0 var(--button_shadow);
    color: var(--primary_text);
    font-family: "gilroy-bold";
    font-size: 20px;
    font-weight: 400;
    border: none;
    cursor: pointer;
    width: max-content;
}

.button:hover {
    box-shadow: none;
}

.opacity5 {
    opacity: 0.5;
}

.horizontal-flip {
    transform: scaleX(-1);
}

.display-none {
    display: flex;
}

/* font styles */

@font-face {
    font-family: "satsuma";
    src: url(fonts/Satsuma\ W00\ Regular.ttf);
}

@font-face {
    font-family: "gilroy-regular";
    src: url(fonts/gilroy/Gilroy-Regular.ttf);
}

@font-face {
    font-family: "gilroy-regular-italic";
    src: url(fonts/gilroy/Gilroy-RegularItalic.ttf);
}

@font-face {
    font-family: "gilroy-medium";
    src: url(fonts/gilroy/gilroy-medium.ttf);
}

@font-face {
    font-family: "gilroy-medium-italic";
    src: url(fonts/gilroy/Gilroy-MediumItalic.ttf);
}

@font-face {
    font-family: "gilroy-bold";
    src: url(fonts/gilroy/Gilroy-Bold.ttf);
}

h1 {
    font-size: 128px;
}

h2 {
    font-size: 64px;
    text-align: center;
}

h3 {
    font-size: 48px;
}

h4 {
    font-size: 32px;
}

h5 {
    font-size: 24px;
}

h6 {
    font-size: 20px;
}

p {
    font-size: 16px;
}

span {
    font-size: 12px;
}

/* font styles */

.primary-text {
    color: var(--primary_text);
}

.secondary-text {
    color: var(--secondary_text);
}

/* common styles */

/* header start */

header {
    position: fixed;
    z-index: 100;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 64px 64px 0 64px;
    box-sizing: border-box;
}

.header-logo {
    width: 80px;
}

header nav {
    background-color: var(--secondary_bg);
    border-radius: 100px;
    padding: 12px 24px;
}

nav ul {
    display: flex;
    gap: 24px;
}

.header-icons {
    background-color: var(--secondary_bg);
    border-radius: 100px;
    padding: 12px 24px;
    display: flex;
    gap: 12px;
}

.header-icons-mob {
    background-color: var(--secondary_bg);
    border-radius: 100px;
    padding: 12px 18px;
    display: none;
}

.burger-menu {
    width: 20px;
    height: 20px;
}

header li a {
    color: var(--secondary_text);
    border-radius: 12px;
    padding: 4px 8px;
    font-family: "gilroy-medium";
    font-size: 16px;
}

.active {
    color: var(--primary_text);
    background-color: var(--secondary_text);
}

/* header end */

/* home page start */

/* home hero start */

.home-hero {
    box-sizing: border-box;
    position: relative;
    z-index: 0;
    background-image: url(imgs/hero-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    margin: 32px 32px 0px 32px;
    height: 92vh;
    border: 2px solid var(--secondary_bg);
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: start;
}

#heroTitle1 {
    position: relative;
    left: 36px;
    height: auto;
}

#heroTitle2 {
    position: relative;
    z-index: -1;
    right: 36px;
    height: auto;
    display: flex;
    align-items: end;
}

.home-hero h1 {
    font-family: "satsuma";
    color: var(--primary_text);
    font-weight: 400;
}

.home-hero-content {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

#heroViewer {
    width: 400px;
    height: 400px;
}

.hero-ramen:hover {
    scale: 1.05;
}

.home-hero-text {
    border-radius: 0 22px;
    background-color: var(--secondary_bg);
    color: var(--secondary_text);
    box-shadow: 0 7px 9px 0 var(--button_shadow) inset;
    font-family: "gilroy-bold";
    padding: 24px;
    font-weight: 400;
    width: min-content;
    text-wrap: nowrap;
}

.home-hero-text-mob {
    border-radius:  0  0 22px 22px;
    background-color: var(--secondary_bg);
    color: var(--secondary_text);
    box-shadow: 0 7px 9px 0 var(--button_shadow) inset;
    font-family: "gilroy-bold";
    padding: 12px;
    font-weight: 400;
    width: 100%;
    display: flex;
    justify-content: center;
    text-wrap: nowrap;
}

.hero-arrow {
    width: 60px;
    height: 67px;
}

.home-interactive-text {
    position: absolute;
    right: 200px;
    bottom: 50px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-family: "gilroy-regular";
    color: var(--primary_text);
    font-weight: 400;
    text-align: center;
}

.hero-arrow-mob {
    width: 56px;
    height: 23px;
}

.home-interactive-text-mob {
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-family: "gilroy-medium";
    color: var(--primary_text);
    font-weight: 400;
    text-align: center;
    width: 100%;
    align-items: center;
}

/* home hero start */

/* home visit start */

.home-section {
    display: flex;
    flex-direction: column;
    padding: 100px;
    align-items: center;
    gap: 32px;
}

.home-section h2 {
    font-family: "satsuma";
    font-weight: 400;
}

.home-visit-cont {
    display: flex;
    justify-content: space-between;
    width: 100%;
    gap: 32px;
}

.home-visit-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 24px;
    background-color: var(--secondary_bg);
}

.home-visit-card img {
    border-radius: 24px 24px 0 0;
    width: 100%;
    height: auto;
}

.home-visit-content {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 24px;
}

.home-visit-content h5 {
    font-family: "gilroy-bold";
    color: var(--secondary_text);
    font-weight: 400;
}

.home-visit-card button {
    font-size: 14px;
    font-family: "gilroy-bold";
    padding: 8px 16px;
    background-color: var(--primary_red);
    box-shadow: 0 4px 4px 0 var(--button_shadow);
    border-radius: 100px;
    border: none;
    color: var(--primary_text);
    transition: all 200ms ease;
    cursor: pointer;
}

.home-visit-card button:hover {
    box-shadow: none;
}

/* home visit end */

/* home essence start */

.home-essence {
    padding: 100px;
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: center;
    background-image: url(imgs/section-bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 100%;
}

.home-essence h2 {
    font-family: "satsuma";
    font-weight: 400;
}

.home-essence-cont {
    display: flex;
    justify-content: space-between;
    gap: 32px;
    width: 100%;
}

.decor-card {
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    height: 310px;
    border-radius: 24px;
    border: 4px solid var(--secondary_text);
}

.decor-card h4 {
    font-family: "satsuma";
    font-weight: 400;
    color: var(--secondary_text);
    text-align: center;
}

.decor-card h6 {
    font-family: "gilroy-medium";
    font-weight: 400;
    text-wrap: wrap;
    color: var(--secondary_text);
    text-align: center;
}

.essence-icon1 {
    height: 36px;
}

.essence-icon2 {
    height: 64px;
}

.essence-icon3 {
    height: 45px;
}

/* home essence end */

/* home parallax start */

.home-parallax {
    position: relative;
    z-index: -1;
    padding: 0px 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-image: url(imgs/home-parallax.jpg);
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 100vh;
}

.home-parallax h2 {
    font-family: "satsuma";
    font-weight: 400;
}

/* home parallax end */

/* home about start */

.home-about {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 100px;
    position: relative;
    z-index: 1;
    background-image: url(imgs/section-bg-flipped.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
    height: 705px;
    gap: 32px;
}

.home-about h4 {
    font-family: "gilroy-bold";
    color: var(--secondary_text);
    font-weight: 400;
}

.home-about h6 {
    font-family: "gilroy-regular";
    color: var(--secondary_text);
    font-weight: 400;
}

#homeAboutViewer {
    width: 400px;
    height: 400px;
}

.home-about h2 {
    font-family: "satsuma";
    font-weight: 400;
}

.home-about-cont {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.home-about-content {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 50%;
}

.home-about-logo {
    position: absolute;
    z-index: -1;
    right: 100px;
    bottom: 64px;
    width: 147px;
    height: 155px;
}

/* home about end */


/* home specialties start */

.home-specialties {
    display: flex;
    align-items: center;
    gap: 24px;
}

.side-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 30px;
    padding: 12px;
    height: max-content;
    background-color: var(--primary_red);
}

.side-arrow img {
    width: 16px;
    height: 16px;
}

.home-specialties-card {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.home-specialties-card h6 {
    font-family: "gilroy-bold";
    color: var(--primary_text);
    font-weight: 400;
    text-transform: capitalize;
}

.home-specialties-card p {
    font-family: "gilroy-regular";
    color: var(--primary_text);
    font-weight: 200;
    text-transform: capitalize;
}


.home-specialties-card-top {
    border-radius: 24px;
    box-shadow: 0 6px 40px 0 var(--secondary_text) inset;
    background-color: var(--secondary_bg);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px;
}

.home-specialties-card-top .button {
    font-size: 14px;
    padding: 8px 16px;
    gap: 10px;
    align-items: center;
    justify-content: center;
}

.home-specialties-card-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.specialties-model {
    min-width: 250px;
    min-height: 200px;
}

/* home specialties end */


/* home craft start */


.home-craft {
    position: relative;
    overflow: hidden;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.wave {
    width: 100%;
    height: auto;
}

.home-craft-container {
    background-color: var(--secondary_bg);
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    padding: 32px;
}

.home-craft h2 {
    font-family: "satsuma";
    font-weight: 400;
    text-align: center;
    color: var(--secondary_text);
}

.vertical-flip {
    transform: scaleY(-1);
}

#homeCraftText {
    font-family: "gilroy-regular";
}

#homeCraftViewer1 {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 950px;
    width: 400px;
    height: 400px;
}

#homeCraftViewer2 {
    position: absolute;
    z-index: 1;
    bottom: 0;
    right: 950px;
    width: 400px;
    height: 400px;
}

.home-craft h6 {
    color: var(--secondary_text);
    font-weight: 400;
    text-align: center;
    max-width: 460px;
}

.home-craft-slider {
    display: flex;
    align-items: center;
    gap: 24px;
}

.home-craft-content {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 24px;
}

.home-craft-card {
    box-shadow: 0 6px 40px 0 var(--primary_bg) inset;
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 50px;
    background-color: var(--secondary_text);
}

.saltviewer {
    width: 200px;
    height: 200px;
}

#homeCraftObject1 {
    font-family: "gilroy-bold";
}

/* home craft end */

/* home reviews start */

.home-reviews {
    display: flex;
    gap: 32px;
    align-items: center;
}

.home-reviews-card {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 32px;
    border-radius: 24px;
    min-width: 350px;
    max-height: 250px;
    border: 4px solid var(--primary_text);
}

.review-card-top {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: start;
}

.review-card-star-date {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.review-card-star-date p {
    font-family: "gilroy-regular";
    color: var(--primary_text);
}

.customer-details {
    display: flex;
    align-items: center;
    gap: 20px;
}

.customer-details h6 {
    font-family: "gilroy-bold";
    color: var(--primary_text);
    font-weight: 400;
}

.customer-details img {
    width: 50px;
    height: 50px;
}

.review-card-bottom {
    width: 100%;
}

.review-card-bottom p {
    font-family: "gilroy-medium-italic";
    color: var(--primary_text);
    font-weight: 400;
    text-align: center;
}

/* home reviews end */

/* home page end */


/* menu page start */

/* menu hero start */

.menu-hero {
    margin: 32px 32px 0px 32px;
    border: 2px solid var(--primary_text);
    border-radius: 24px;
    display: flex;
    align-items: center;
    padding-right: 100px;
    height: 80vh;
    justify-content: space-between;
}

.menu-hero img {
    height: 100%;
}

.menu-hero-model-cont {
    position: relative;
    right: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 300px;
    height: 300px;
    background-color: rgba(174, 40, 48, 0.5);
    border-radius: 142px;
}

.menu-hero-model {
    width: 200px;
    height: 200px;
}

.menu-hero-title {
    border: 2px solid var(--primary_red);
    border-radius: 12px;
    padding: 20px;
    width: max-content;
}

.menu-hero h1 {
    font-family: "satsuma";
    color: var(--primary_text);
    font-weight: 400;
}

.menu-hero-content {
    padding-top: 32px;
    display: flex;
    flex-direction: column;
    gap: 32px;
    max-width: 400px;
}

.menu-hero h6 {
    font-family: "gilroy-regular-italic";
    color: var(--primary_text);
    font-weight: 400;
    text-transform: uppercase;
}

/* menu hero end */

/* menu menu start */

.menu-menu {
    position: relative;
    padding: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 64px;
}

.menu-menu-top {
    align-items: flex-start;
    display: flex;
    gap: 32px;
    justify-content: space-between;
}

.menu-menu-filters {
    position: sticky;
    top: 180px;
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 32px;
}

.active-red {
    background-color: var(--primary_red);
}

.menu-menu-filter {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 150px;
    border: 1px solid var(--primary_red);
    border-radius: 100px;
    font-family: "gilroy-bold";
    color: var(--primary_text);
    padding: 8px 16px;
}

.menu-menu-cont {
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: 100%;
}

.menu-menu-cards {
    display: flex;
    gap: 32px;
    width: 100%;
}

.menu-menu-card-price {
    display: flex;
    align-items: center;
    gap: 20px;
}

.menu-menu-card-price p {
    text-wrap: nowrap;
}

.menu-line {
    height: 1px;
    background: var(--primary_text);
    width: 100%;
}

.menu-card-button {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
    padding: 10px 20px;
    background-color: var(--primary_red);
    box-shadow: 0 4px 4px 0 var(--button_shadow);
    color: var(--primary_text);
    font-family: "gilroy-bold";
    font-size: 16px;
    font-weight: 400;
    width: 100%;
    border: none;
    cursor: pointer;
}

.menu-card-button:hover {
    box-shadow: none;
}

.pagination {
    display: flex;
    gap: 16px;
}

.pagination-btn {
    border-radius: 100px;
    border: 1px solid var(--primary_red);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.pagination-btn img {
    width: 12px;
    height: 12px;
}

.pagination-btn p {
    font-family: "gilroy-bold";
    font-weight: 400;
    color: var(--primary_text);
}

/* menu menu start */

/* menu discount start */

.menu-disc {
    padding: 100px;
    display: flex;
    justify-content: space-between;
    gap: 64px;
    background-color: var(--secondary_bg);
}

.menu-disc-left {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.menu-disc h2 {
    font-family: "satsuma";
    text-align: left;
    color: var(--secondary_text);
    font-weight: 400;
    text-transform: capitalize;
}

.menu-disc h1 {
    font-family: "satsuma";
    color: var(--primary_red);
    font-weight: 400;
    text-transform: capitalize;
}

.menu-disc-left img {
    width: 155px;
    height: 155px;
}

/* form */

article {
    display: flex;
    align-items: center;
    background-color: var(--secondary_text);
    padding: 32px 24px;
    border-radius: 24px;
    width: 100%;
}

form {
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: 100%;
}

form h4 {
    color: var(--primary_text);
    font-family: "gilroy-bold";
    font-weight: 400;
}

.form-top {
    display: flex;
    align-items: end;
    justify-content: space-between;
}

.account {
    display: flex;
    gap: 4px;
}

form p {
    font-family: "gilroy-regular";
    font-weight: 400;
    color: var(--primary_text);
}

.underline {
    text-decoration-line: underline;
    text-decoration-skip-ink: none;
    text-decoration-style: solid;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    cursor: pointer;
}

input {
    width: 100%;
    padding: 20px 10px;
    align-items: center;
    background: none;
    border: 1px solid var(--primary_red);
    border-radius: 12px;
    outline: none;
    color: var(--primary_text);
    font-family: "gilroy-regular", sans-serif;
    font-size: 14px;
    font-weight: 400;
}

.inputsubmit {
    display: flex;
    justify-content: center;
    text-align: center;
    align-items: center;
    padding: 12px;
    width: 100%;
    background-color: var(--primary_red);
    border: none;
    color: var(--primary_text);
    font-family: "gilroy-bold";
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    transition: all 200ms ease-in-out;
    cursor: pointer;
}

/* form */


/* menu discount start */


/* menu page end */


/* product details page start */

.product-container {
    padding: 32px;
    background-color: var(--secondary_bg);
    display: flex;
    gap: 32px;
    border-radius: 24px;
    justify-content: space-between;
    margin: 180px 32px 0px 32px;
}

.product-model {
    background-color: var(--secondary_text);
    height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    border-radius: 22px;
}

.product-details {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.product-details h3 {
    color: var(--secondary_text);
    font-weight: 400;
    font-family: "satsuma";
}

.product-details p {
    color: var(--secondary_text);
    font-weight: 400;
    font-family: "gilroy-regular";
}

/* product details page end */

.product-makeit {
    background-color: var(--secondary_bg);
    margin-bottom: 100px;
}

.product-makeit h2 {
    color: var(--secondary_text);
}

.product-makeit-model {
    border-radius: 24px;
    box-shadow: 0 6px 40px 0 var(--primary_bg) inset;
    background-color: var(--secondary_text);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px;
}

.product-makeit h6 {
    font-family: "gilroy-bold";
    font-weight: 400;
    color: var(--secondary_text);
}

.product-makeit p {
    font-family: "gilroy-regular";
    font-weight: 400;
    color: var(--secondary_text);
}

.product-line {
    height: 1px;
    background: var(--secondary_text);
    width: 100%;
}


/* footer start */

footer {
    padding: 32px;
    width: 100%;   
}

footer ul {
    width: 164px;
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 12px;
}

.footer-logo {
    width: 155px;
    height: 163px;
}

.footer-cont {
    background-color: var(--secondary_bg);
    padding: 32px 100px;
    border-radius: 24px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

.footer-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

footer h5 {
    font-family: "satsuma";
    font-weight: 400;
    color: var(--secondary_text);
}

.footer-nav {
    width: 50%;
    justify-content: space-between;
    display: none;
}

.socials {
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.socials-row {
    display: flex;
    gap: 16px;
}

.footer-icon {
    width: 44px;
    height: 44px;
    border-radius: 40px;
    padding: 12px;
    background-color: var(--secondary_text);
}

footer p {
    font-family: "gilroy-regular";
    color: var(--secondary_text);
}

footer li a {
    font-family: "gilroy-medium";
    font-size: 16px;
    color: var(--secondary_text);
}

/* footer end */


/* something is pushing everything after the about section relatively, fix it */