@charset "UTF-8";
/* ---------------------------------------------------------
    * Name: 
    * Version: 1.0.0
	* Abstracts variable

    * Reset css styles

    * Components

    * section

    * dashboard

    * Responsive
 ------------------------------------------------------------------------------ */
/*--------- Abstracts variable ---------- */
:root {
    --Primary: #c6ac83;
    --Secondary: #6d1815;
    --bg-main: #0f0e0f;
    --bg-2: #141314;
    --bg-3: #181818;
    --bg-input: #2e2d2e;
    --bg-input-2: rgba(255, 255, 255, 0.13);
    --Black: #111111;
    --White: #ffffff;
    --Border: rgba(255, 255, 255, 0.13);
    --Border-2: rgba(198, 172, 131, 0.13);
    --Border-3: rgba(198, 172, 131, 0.2);
    --Border-4: rgba(198, 172, 131, 0.35);
    --Border-5: rgba(198, 172, 131, 0.15);
    --color-text: #848484;
    --color-text-2: #9e9e9e;
    --color-text-3: #cfcfcf;
    --color-text-4: #b3b3b3;
    --color-text-5: #d0d0d0;
    --color-text-6: #727272;
    --color-icon: #e0e6e2;
}

/*---------- Reset css styles ----------- */
/* Reset Browsers
-------------------------------------------------------------- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font: inherit;
    vertical-align: baseline;
    font-family: inherit;
    font-size: 100%;
    font-style: inherit;
    font-weight: inherit;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

html {
    margin-right: 0 !important;
    font-size: 62.5%;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    background: white;
    line-height: 1;
    padding: 0 !important;
    margin-right: 90px; /* Account for sidebar width */
}
body::-webkit-scrollbar {
    width: 0px;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section {
    display: block;
}

ol,
ul {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption,
th,
td {
    font-weight: normal;
    text-align: left;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
}

blockquote,
q {
    quotes: none;
}

a img {
    border: 0;
}

img {
    max-width: 100%;
    height: auto;
}

select {
    max-width: 100%;
}

/* General
-------------------------------------------------------------- */
body,
button,
input,
select,
textarea {
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: var(--body-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    /* overflow-x removed - was preventing position: sticky from working */
    overflow-y: auto;
}

img {
    height: auto;
    max-width: 100%;
    vertical-align: middle;
    -ms-interpolation-mode: bicubic;
}

p {
    font-weight: 400;
    font-size: 15px;
    line-height: 25px;
}

strong,
b,
cite {
    font-weight: bold;
}

dfn,
cite,
em,
i,
blockquote {
    font-style: italic;
}

abbr,
acronym {
    border-bottom: 1px dotted #e0e0e0;
    cursor: help;
}

.btn-link:focus,
.btn-link:hover,
mark,
ins {
    text-decoration: none;
}

sup,
sub {
    font-size: 75%;
    height: 0;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

small {
    font-size: 75%;
}

big {
    font-size: 125%;
}

address {
    font-style: italic;
    margin: 0 0 20px;
}

code,
kbd,
tt,
var,
samp,
pre {
    margin: 20px 0;
    padding: 4px 12px;
    background: #f5f5f5;
    border: 1px solid #e0e0e0;
    overflow-x: auto;
    -webkit-hyphens: none;
    -moz-hyphens: none;
    hyphens: none;
    border-radius: 0;
    height: auto;
}

svg,
svg path {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

/* Elements
-------------------------------------------------------------- */
html {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

hr {
    margin-bottom: 20px;
    border: dashed 1px #ccc;
}

/* List */
ul,
ol {
    padding: 0;
}

ul {
    list-style: disc;
}

ol {
    list-style: decimal;
}

li > ul,
li > ol {
    margin-bottom: 0;
}

li {
    list-style: none;
}

ul li,
ol li {
    padding: 0;
}

dl,
dd {
    margin: 0 0 20px;
}

dt {
    font-weight: bold;
}

del,
.disable {
    text-decoration: line-through;
    filter: alpha(opacity=50);
    opacity: 0.5;
}

/* Table */
table,
th,
td {
    border: none;
}

table {
    border-collapse: separate;
    border-spacing: 0;
    border-width: 1px 0 0 1px;
    margin: 0 0 30px;
    table-layout: fixed;
    width: 100%;
}

caption,
th,
td {
    font-weight: normal;
    text-align: left;
}

th {
    border-width: 0 1px 1px 0;
    font-weight: bold;
}

td {
    border-width: 0 1px 1px 0;
}

th,
td {
    padding: 8px 12px;
}

/* Media */
embed,
object,
video {
    margin-bottom: 20px;
    max-width: 100%;
    vertical-align: middle;
}

p > embed,
p > iframe,
p > object,
p > video {
    margin-bottom: 0;
}

/* Forms
-------------------------------------------------------------- */
/* Fixes */
button,
input {
    line-height: normal;
}

button,
input,
select,
textarea {
    font-size: 100%;
    line-height: inherit;
    margin: 0;
    vertical-align: baseline;
}

textarea {
    overflow: auto;
    /* Removes default vertical scrollbar in IE6/7/8/9 */
    vertical-align: top;
    /* Improves readability and alignment in all browsers */
}

input[type="checkbox"] {
    display: inline;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    line-height: 1;
    cursor: pointer;
    -webkit-appearance: button;
    border: 0;
}

input[type="checkbox"],
input[type="radio"] {
    padding: 0;
    width: 20px;
    height: 20px;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0);
    cursor: pointer;
    vertical-align: sub;
    /* Addresses excess padding in IE8/9 */
}

input[type="search"] {
    -webkit-appearance: textfield;
    /* Addresses appearance set to searchfield in S5, Chrome */
}

input[type="search"]::-webkit-search-decoration {
    /* Corrects inner padding displayed oddly in S5, Chrome on OSX */
    -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/* Remove chrome yellow autofill */
input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #f7f7f7 inset;
}

/* Reset search styling */
input[type="search"] {
    outline: 0;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    display: none;
}

/* Placeholder color */
::-webkit-input-placeholder {
    color: #171412;
}

::-moz-placeholder {
    color: #171412;
    opacity: 1;
}

/* Since FF19 lowers the opacity of the placeholder by default */
:-ms-input-placeholder {
    color: #171412;
}

/* Typography
-------------------------------------------------------------- */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-family: "DM Sans", sans-serif;
    color: var(--Primary);
    margin: 0;
    text-rendering: optimizeLegibility;
}

h1,
.h1 {
    font-size: 75px;
    line-height: 90px;
}

h2,
.h2 {
    font-size: 40px;
    line-height: 60px;
}

h3,
.h3 {
    font-size: 30px;
    line-height: 60px;
}

h4,
.h4 {
    font-size: 25px;
    line-height: 43px;
}

h5,
.h5 {
    font-size: 20px;
    line-height: 30px;
}

h6,
.h6 {
    font-size: 16px;
    line-height: 28px;
}

/* link style
-------------------------------------------------------------- */
a {
    text-decoration: none;
    color: var(--Primary);
    cursor: pointer;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
a:hover,
a:focus {
    color: var(--Secondary);
    outline: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

/* tf-container
-------------------------------------------------------------- */
.tf-container {
    position: relative;
    border-radius: 150px;
    max-width: 100%;
    height: 50%;
}
.tf-container.full {
    width: 100%;
}

.tf-container.w-1850 {
    height: 100%;
    /*width: 1850px;*/
}

/* Extra classes
-------------------------------------------------------------- */
#wrapper {
    width: 100vw;
}

.hidden {
    display: none;
}

.block {
    display: block;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.fixed {
    position: fixed !important;
}

.position-unset {
    position: unset !important;
}

.z-5 {
    z-index: 5;
}

.flex {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}

.justify-center {
    justify-content: center !important;
}

.item-center {
    align-items: center;
}

.left-11 {
    left: 11%;
}

.pb-30 {
    padding-bottom: 30px !important;
}

.pb-34 {
    padding-bottom: 34px !important;
}

.pb-43 {
    padding-bottom: 43px !important;
}

.pb-15 {
    padding-bottom: 15px !important;
}

.pb-11 {
    padding-bottom: 11px !important;
}

.pb-39 {
    padding-bottom: 39px !important;
}

.pb-46 {
    padding-bottom: 46px !important;
}

.pb-25 {
    padding-bottom: 25px !important;
}

.pb-28 {
    padding-bottom: 28px !important;
}

.gap-30 {
    gap: 30px !important;
}

.gap-48 {
    gap: 48px !important;
}

.ml-5 {
    margin-left: 5px !important;
}

.ml--3 {
    margin-left: -3px !important;
}

.pb-49 {
    padding-bottom: 49px !important;
}

.pb-48 {
    padding-bottom: 48px !important;
}

.pb-60 {
    padding-bottom: 60px !important;
}

/*------------ Components ---------------- */
/*------------ header ---------------- */
.header {
    position: absolute;
    z-index: 999;
    width: 100%;
}

.top-bar .top-bar-inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 28px 0;
    border-bottom: 1px solid var(--Border);
    gap: 10px;
    max-width: 1465px;
    margin-left: auto;
    margin-right: auto;
    flex-wrap: wrap;
}
.top-bar .top-bar-inner i {
    padding-right: 9px;
}
.top-bar .top-bar-inner span,
.top-bar .top-bar-inner a {
    line-height: 16px;
    color: var(--White);
    font-weight: 300;
    letter-spacing: 0.15px;
}
.top-bar .top-bar-inner .top-bar-right {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    gap: 25px;
}

.header-innner-wrap {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1465px;
    margin-left: auto;
    margin-right: auto;
}
.header-innner-wrap .header-right {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    gap: 56px;
}
.header-innner-wrap .header-right .header-icon {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    gap: 20px;
}
.header-innner-wrap .header-right .header-icon i {
    font-size: 30px;
    line-height: 35px;
    color: var(--White);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    cursor: pointer;
}
.header-innner-wrap .header-right .header-icon i:hover {
    color: var(--Primary);
}
.header-innner-wrap .header-right .header-icon .line {
    width: 1px;
    height: 80%;
    background-color: var(--Border);
    transform: rotate(160deg);
}

.site-logo {
    position: absolute;
    top: 31px;
    left: 53px;
}

.menu-primary-menu {
    display: flex;
    gap: 39px;
}
.menu-primary-menu .menu-item a {
    line-height: 100px;
}
.menu-primary-menu > li {
    position: relative;
}
.menu-primary-menu > li a {
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 45px;
    position: relative;
    color: var(--White);
    font-family: "Marcellus";
}
.menu-primary-menu > li a::after {
    position: absolute;
    content: "";
    top: -40px;
    left: auto;
    right: 0;
    width: 0;
    height: 3px;
    background-color: var(--White);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.menu-primary-menu > li a:focus,
.menu-primary-menu > li a:hover {
    color: var(--Primary);
}
.menu-primary-menu > li a:focus::after,
.menu-primary-menu > li a:hover::after {
    width: 100%;
    right: 0px;
    left: auto;
}

.menu-primary-menu li:hover .sub-menu {
    top: 100%;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.sub-menu {
    position: absolute;
    background-color: var(--White);
    min-width: 220px;
    left: 0%;
    top: 110%;
    opacity: 0;
    visibility: hidden;
    z-index: 99999;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    pointer-events: none;
}
.sub-menu li {
    padding: 10px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.sub-menu li a {
    line-height: 28px !important;
    color: var(--Black);
}
.sub-menu li a::after {
    display: none;
}

/* Mobile Menu Button */
.mobile-button {
    display: none;
    width: 26px;
    top: 61%;
    right: 15px;
    background-color: transparent;
    cursor: pointer;
    margin-right: 9px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
}
.mobile-button::after,
.mobile-button::before,
.mobile-button span {
    background-color: var(--White);
    -webkit-transition: all ease 0.3s;
    -moz-transition: all ease 0.3s;
    transition: all ease 0.3s;
}
.mobile-button::after,
.mobile-button::before {
    content: "";
    position: absolute;
    top: 0;
    height: 2px;
    width: 100%;
    top: 50%;
    left: 0;
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
}
.mobile-button span {
    position: absolute;
    width: 100%;
    height: 2px;
    left: 0;
    top: 50%;
    overflow: hidden;
    text-indent: 200%;
}
.mobile-button::before {
    -webkit-transform: translate3d(0, -7px, 0);
    -moz-transform: translate3d(0, -7px, 0);
    transform: translate3d(0, -7px, 0);
}
.mobile-button::after {
    -webkit-transform: translate3d(0, 7px, 0);
    -moz-transform: translate3d(0, 7px, 0);
    transform: translate3d(0, 7px, 0);
}
.tff-container {
    width:100%;
}
/* mobile header */
.mobile-nav-wrap .overlay-mobile-nav {
    content: "";
    position: fixed;
    left: 0;
    top: 0;
    background: linear-gradient(
        0deg,
        rgba(0, 0, 0, 0.8) 0%,
        rgba(0, 0, 0, 0.8) 100%
    );
    width: 100%;
    height: 100%;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.mobile-nav-wrap.active .overlay-mobile-nav {
    opacity: 1;
    visibility: visible;
}
.mobile-nav-wrap.active .overlay-mobile-nav i {
    font-size: 25px;
    margin-right: 20px;
    color: var(--White);
}
.mobile-nav-wrap.active .inner-mobile-nav {
    left: 0px;
}
.mobile-nav-wrap .inner-mobile-nav {
    padding: 20px;
    width: 320px;
    height: 100%;
    top: 0;
    left: -100%;
    position: fixed;
    background-color: var(--Secondary);
    z-index: 999999;
    overflow-y: auto;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -ms-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}
.mobile-nav-wrap .inner-mobile-nav .mobile-nav-close {
    padding: 10px;
    border-radius: 50%;
}
.mobile-nav-wrap .inner-mobile-nav .top-header-mobi {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 20px;
}
.mobile-nav-wrap .inner-mobile-nav .top-header-mobi a img {
    max-width: 162px;
}
.mobile-nav-wrap .inner-mobile-nav a {
    color: var(--White);
}

#menu-mobile {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 0px;
}
#menu-mobile > li {
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 15px 0;
    cursor: pointer;
    text-transform: capitalize;
}
#menu-mobile > li:first-child {
    border-top: none;
}
#menu-mobile > li .sub-menu-mobile li:last-child {
    border: none;
}
#menu-mobile > li .sub-menu-mobile {
    border-radius: 8px;
    display: none;
    text-align: start;
    overflow: hidden;
}
#menu-mobile > li .sub-menu-mobile li {
    padding: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    cursor: pointer;
}
#menu-mobile li a {
    font-family: "CormorantInfant", serif;
    font-size: 16px;
    line-height: 22px;
    font-weight: 500;
}
#menu-mobile li.menu-item-has-children-mobile > a::after {
    content: "\e921";
    position: absolute;
    font-family: "icomoon";
    font-weight: 300;
    position: absolute;
    font-size: 20px;
    right: 0;
    top: 17px;
    line-height: 16px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
#menu-mobile li.active a::after {
    transform: rotate(-180deg);
}

.current-menu-item > a::after {
    width: 100% !important;
    right: 0px !important;
    left: auto !important;
}

.current-item > a {
    color: var(--Primary) !important;
}

#header_main.is-fixed .header-inner {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    top: -100px;
    left: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    width: 100%;
    margin: 0 !important;
    min-height: 75px;
    background-color: var(--Secondary);
}
#header_main.is-fixed .header-inner .top-bar {
    display: none;
}
#header_main.is-fixed .header-inner .site-logo {
    top: 7px;
    left: 27px;
}
#header_main.is-fixed .header-inner .site-logo img {
    width: 70%;
}
#header_main.is-fixed .header-inner .header-innner-wrap {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    max-width: 100vw;
}
#header_main.is-fixed.is-fixed.is-small .header-inner {
    opacity: 1;
    visibility: visible;
    top: -1px;
}
#header_main.is-fixed.is-fixed.is-small .header-inner .header-innner-wrap {
    padding: 0 20px 0 150px;
}
#header_main.is-fixed.is-fixed.is-small
    .header-inner
    .header-innner-wrap
    .mobile-button {
    top: 50% !important;
}

/*------------ footer ---------------- */
.footer {
    background-color: var(--bg-2);

    border-radius: 150px;
}

.footer-top {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 71px;
    border-bottom: 1px solid var(--Border-2);
}
.footer-top .title-footer h2 a {
    font-family: "Marcellus";
}
.footer-top .title-footer h2 a:hover {
    color: var(--Primary);
}
.footer-top .social-list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    gap: 17px;
    padding: 0 10px;
}
.footer-top .social-list .social-item {
    position: relative;
}
.footer-top .social-list .social-item a {
    text-transform: uppercase;
    color: var(--color-text);
    font-size: 13px;
    font-weight: 300;
    line-height: 50px;
    letter-spacing: 1.8px;
}
.footer-top .social-list .social-item a:hover {
    color: var(--White);
}
.footer-top .social-list .social-item.fb::before {
    content: "\e904";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-family: "icomoon";
    top: 10px;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: var(--Primary);
}
.footer-top .social-list .social-item.tw::before {
    content: "\ea96";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-family: "icomoon";
    top: 10px;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: var(--Primary);
}
.footer-top .social-list .social-item.yt::before {
    content: "\e907";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-family: "icomoon";
    top: 10px;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: var(--Primary);
}
.footer-top .social-list .social-item.int::before {
    content: "\ea92";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-family: "icomoon";
    top: 10px;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: var(--Primary);
}
.footer-top .social-list .social-item:hover::before {
    opacity: 1;
    visibility: visible;
    top: -10px;
}

.footer-middel {
    padding: 55px;
    border-bottom: 1px solid var(--Border-2);
}
.footer-middel .footer-menu-list .title {
    font-family: "Marcellus";
    padding-bottom: 10px;
    color: var(--White);
    letter-spacing: 0.8px;
}
.footer-middel .footer-menu-list ul {
    padding-bottom: 27px;
}
.footer-middel .footer-menu-list ul li {
    color: var(--White);
    font-weight: 300;
    line-height: 28px;
}
.footer-middel .footer-menu-list .text {
    color: var(--White);
    line-height: 28px;
    padding-bottom: 27px;
}

.footer-bottom {
    padding: 30px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
}
.footer-bottom p {
    color: var(--White);
    font-weight: 300;
    line-height: 27px;
}
.footer-bottom .footer-bottom-list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    gap: 24px;
}
.footer-bottom .footer-bottom-list .item a {
    color: var(--color-text);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    letter-spacing: 0.3px;
}
.footer-bottom .footer-bottom-list .item:hover a {
    color: var(--White);
}

/*------------ tabs ---------------- */
.widget-tabs.style-small .widget-menu-tab {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 69px;
    border-bottom: 1px solid var(--Border-2);
}
.widget-tabs.style-small .widget-menu-tab .item-title {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
    padding-bottom: 29px;
    flex-shrink: 0;
    font-size: 20px;
    line-height: 26px;
    font-weight: 500;
    color: var(--White);
    text-transform: capitalize;
    font-family: "Marcellus";
}
.widget-tabs.style-small .widget-menu-tab .item-title::after {
    position: absolute;
    content: "";
    bottom: 0px;
    left: auto;
    right: 0;
    width: 0;
    height: 2px;
    background-color: var(--White);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.widget-tabs.style-small .widget-menu-tab .item-title.active,
.widget-tabs.style-small .widget-menu-tab .item-title:hover {
    color: var(--White);
}
.widget-tabs.style-small .widget-menu-tab .item-title.active::after,
.widget-tabs.style-small .widget-menu-tab .item-title:hover::after {
    width: 100%;
    left: 0px;
    right: auto;
}
.widget-tabs.style-small .widget-menu-tab.style-2 {
    justify-content: start;
    gap: 72px;
}
.widget-tabs.style-small .widget-menu-tab.style-2 .item-title {
    font-size: 25px;
    line-height: 60px;
    padding-bottom: 9px;
    letter-spacing: 0.5px;
}
.widget-tabs.style-small .widget-content-tab {
    padding-top: 35px;
}
.widget-tabs.style-small .widget-content-tab p {
    color: var(--color-text-3);
    letter-spacing: 0.09px;
    line-height: 26px;
}
.widget-tabs.style-small.type-left .widget-menu-tab {
    justify-content: flex-start;
}
.widget-tabs.style-small.type-center .widget-menu-tab {
    justify-content: center;
}
.widget-tabs.style-img .widget-menu-tab {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 62px;
}
.widget-tabs.style-img .widget-menu-tab .item-title {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
    filter: grayscale(100%);
    opacity: 0.7;
    border: 1px solid transparent;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    width: max-content;
    padding: 13px 13px 9px;
}
.widget-tabs.style-img .widget-menu-tab .item-title.active,
.widget-tabs.style-img .widget-menu-tab .item-title:hover {
    opacity: 1;
    filter: grayscale(0%);
    border: 1px solid var(--Primary);
}
/*------------ button ---------------- */
.tf-btn {
    position: relative;
    text-transform: uppercase;
    color: var(--Black);
    background-size: 300%;
    font-size: 14px;
    font-family: "Marcellus";
    letter-spacing: 2px;
}
.tf-btn.style-1 {
    line-height: 56px;
    padding: 0px 44px 0 44px;
    background-position: 100%;
    background-image: linear-gradient(-150deg, #fff 50%, #e6c9a2 50%);
    display: inline-block;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.tf-btn.style-1:hover {
    background-position: 0%;
}
.tf-btn.style-2 {
    line-height: 56px;
    margin-bottom: 5%;
    padding: 0 43px;
    border: 1px solid var(--Border-3);
    background-position: 95%;
    background-image: linear-gradient(
        -138deg,
        transparent 50%,
        var(--Primary) 50%
    );
    color: var(--White);
    display: inline-block;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    background-repeat: no-repeat;
}
.tf-btn.style-2::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-left: 15px solid var(--Primary);
    border-top: 15px solid transparent;
}
.tf-btn.style-2:hover {
    background-position: 0%;
    color: var(--Black);
    border-color: var(--Primary);
}

.tf-btn-default {
    color: var(--White);
    text-transform: uppercase;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--Primary);
    position: relative;
    letter-spacing: 1.6px;
    font-family: "Marcellus";
}
.tf-btn-default i {
    content: "\ea3c";
    font-family: "icomoon";
    right: 0;
    color: var(--White);
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    margin-left: -20px;
}
.tf-btn-default:hover {
    color: var(--White);
}
.tf-btn-default:hover i {
    visibility: visible;
    opacity: 1;
    margin-left: 8px;
}
.tf-btn-default.style-2 {
    font-size: 13px;
    letter-spacing: 2.8px;
    padding-bottom: 10px;
}

.tf-btn-reply {
    background-color: var(--Secondary);
    padding: 10px 18px;
    color: var(--White);
    font-size: 13px;
}
.tf-btn-reply:hover {
    color: var(--Primary);
}

/*------------ range slider ---------------- */
/*------------ form ---------------- */
form {
    position: relative;
    z-index: 30;
}
form textarea,
form input[type="text"],
form input[type="password"],
form input[type="datetime"],
form input[type="datetime-local"],
form input[type="date"],
form input[type="month"],
form input[type="time"],
form input[type="week"],
form input[type="number"],
form input[type="email"],
form input[type="url"],
form input[type="search"],
form input[type="tel"],
form input[type="color"] {
    outline: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    width: 100%;
    padding: 8px 19px;
    font-size: 14px;
    font-weight: 400;
    line-height: 28px;
    background-color: var(--White);
    border: 1px solid #d4c5b9;
    border-radius: 4px;
    color: var(--Soft-Text);
    overflow: hidden;
    margin-bottom: 0;
}
form textarea:focus,
form input[type="text"]:focus,
form input[type="password"]:focus,
form input[type="datetime"]:focus,
form input[type="datetime-local"]:focus,
form input[type="date"]:focus,
form input[type="month"]:focus,
form input[type="time"]:focus,
form input[type="week"]:focus,
form input[type="number"]:focus,
form input[type="email"]:focus,
form input[type="url"]:focus,
form input[type="search"]:focus,
form input[type="tel"]:focus,
form input[type="color"]:focus {
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    box-shadow: 0px 1px 11.05px 1.95px rgba(0, 0, 0, 0.15);
}
form textarea::placeholder,
form input[type="text"]::placeholder,
form input[type="password"]::placeholder,
form input[type="datetime"]::placeholder,
form input[type="datetime-local"]::placeholder,
form input[type="date"]::placeholder,
form input[type="month"]::placeholder,
form input[type="time"]::placeholder,
form input[type="week"]::placeholder,
form input[type="number"]::placeholder,
form input[type="email"]::placeholder,
form input[type="url"]::placeholder,
form input[type="search"]::placeholder,
form input[type="tel"]::placeholder,
form input[type="color"]::placeholder {
    font-size: 14px;
    font-weight: 400;
    line-height: 28px;
    color: var(--Soft-Text);
}
form textarea.style-default,
form input[type="text"].style-default,
form input[type="password"].style-default,
form input[type="datetime"].style-default,
form input[type="datetime-local"].style-default,
form input[type="date"].style-default,
form input[type="month"].style-default,
form input[type="time"].style-default,
form input[type="week"].style-default,
form input[type="number"].style-default,
form input[type="email"].style-default,
form input[type="url"].style-default,
form input[type="search"].style-default,
form input[type="tel"].style-default,
form input[type="color"].style-default {
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    background-color: transparent;
}
form textarea.style-1,
form input[type="text"].style-1,
form input[type="password"].style-1,
form input[type="datetime"].style-1,
form input[type="datetime-local"].style-1,
form input[type="date"].style-1,
form input[type="month"].style-1,
form input[type="time"].style-1,
form input[type="week"].style-1,
form input[type="number"].style-1,
form input[type="email"].style-1,
form input[type="url"].style-1,
form input[type="search"].style-1,
form input[type="tel"].style-1,
form input[type="color"].style-1 {
    font-size: 15px;
    border-radius: 0;
    padding: 18px 0 3px;
    border: 0;
    border-bottom: 2px solid var(--Border);
    color: var(--Soft-Text);
}
form button,
form input[type="button"],
form input[type="reset"],
form input[type="submit"] {
    background-color: transparent;
    overflow: hidden;
    padding: 0;
}
form textarea {
    height: 140px;
}

.post-comment-wrap p {
    color: var(--White);
    letter-spacing: 0.2px;
    padding-bottom: 44px;
}
.post-comment-wrap input[type="text"],
.post-comment-wrap input[type="email"] {
    padding: 14px 19px;
    background-color: var(--bg-input);
    color: var(--White);
    border: none;
    border-radius: unset;
}
.post-comment-wrap input[type="text"]:focus,
.post-comment-wrap input[type="email"]:focus {
    color: var(--Black);
}
.post-comment-wrap textarea {
    padding: 14px 19px 200px;
    background-color: var(--bg-input);
    color: var(--White);
    border: none;
    border-radius: unset;
}
.post-comment-wrap textarea:focus {
    color: var(--Black);
}
.post-comment-wrap input[type="number"]::-webkit-outer-spin-button,
.post-comment-wrap input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.cols {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding-bottom: 15px;
}
.cols fieldset {
    width: 100%;
}

#form-book h5 {
    color: var(--White);
    padding-bottom: 30px;
    font-family: "Marcellus";
}
#form-book fieldset {
    max-width: 100%;
}
#form-book .cols {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding-bottom: 15px;
}
#form-book input[type="number"]::-webkit-outer-spin-button,
#form-book input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
#form-book input[type="text"],
#form-book input[type="email"] {
    border: none;
    border-radius: unset;
}
#form-book input[type="text"]:focus,
#form-book input[type="email"]:focus {
    color: var(--Black);
}

#form-contact-us {
    margin: 0 auto;
}
#form-contact-us select,
#form-contact-us input[type="text"],
#form-contact-us input[type="email"] {
    padding: 14px 19px;
    background-color: var(--bg-input);
    color: var(--White);
    border: none;
    border-radius: unset;
}
#form-contact-us select:focus,
#form-contact-us input[type="text"]:focus,
#form-contact-us input[type="email"]:focus {
    background-color: var(--White);
    color: var(--Black);
}
#form-contact-us select {
    width: 100%;
    height: 56px;
}
#form-contact-us textarea {
    padding: 14px 19px 200px;
    background-color: var(--bg-input);
    color: var(--White);
    border: none;
    border-radius: unset;
}
#form-contact-us textarea:focus {
    background-color: var(--White);
    color: var(--Black);
}
#form-contact-us input[type="number"]::-webkit-outer-spin-button,
#form-contact-us input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.select {
    position: relative;
}
.select select {
    appearance: none;
}
.select::after {
    content: "\e921";
    font-family: "icomoon";
    position: absolute;
    font-size: 17px;
    right: 12px;
    top: 30%;
    color: var(--White);
}
.select:focus-within::after {
    color: var(--Black);
}

/*------------ slider ---------------- */
.slide-home {
    position: relative;
}

.swiper-button-disabled {
    opacity: 0.5;
    pointer-events: none;
}

.arrow-slider-btn {
    position: absolute;
    top: 50%;
    z-index: 2;
}
.arrow-slider-btn i {
    color: var(--Primary);
    font-size: 40px;
    width: 40px;
    height: 40px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.arrow-slider-btn:hover i {
    color: var(--White);
}
.arrow-slider-btn.style-2 {
    top: 42%;
    width: 81px;
    height: 81px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--White);
    z-index: 99;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.arrow-slider-btn.style-2 i {
    color: var(--Black);
    font-size: 20px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}
.arrow-slider-btn.style-2:hover {
    background-color: var(--Primary);
}

.slider-page-title-home-prev {
    left: 54px;
}

.slider-page-title-home-next {
    right: 54px;
}

.slider-discover-prev {
    top: 20% !important;
    left: 4%;
}

.slider-discover-next {
    top: 20% !important;
    right: 4%;
}

.slider-recommended-next {
    right: -12%;
    top: 50%;
}

.slider-recommended-prev {
    left: -12%;
    top: 50%;
}

.discover-item {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 0 60px;
}
.discover-item .image {
    height: 244px;
}
.discover-item .name {
    padding-bottom: 11px;
}
.discover-item .name a {
    color: var(--White);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-family: "Marcellus";
    letter-spacing: 0.5px;
    cursor: pointer;
}
.discover-item .name a:hover {
    color: var(--Primary);
}
.discover-item .text {
    color: var(--color-text-3);
    line-height: 26px;
}

.recommended-item {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.recommended-item .price {
    font-family: "Marcellus";
    color: var(--White);
    text-align: center;
}
.recommended-item .title-recommended {
    font-family: "Marcellus";
    color: var(--White);
    line-height: 56.5px;
    padding-bottom: 4px;
    text-align: center;
}
.recommended-item .text {
    color: var(--Primary);
    font-family: "Marcellus";
    padding-bottom: 30px;
    text-align: center;
    line-height: 26px;
    letter-spacing: 0.3px;
}
.recommended-item .icon {
    padding-bottom: 14px;
}
.recommended-item p {
    color: var(--color-text-5);
}

.gallery-swiper .gallery-item {
    padding-right: 29px;
}

/*------------ off canvas ---------------- */
.offcanvas-search {
    height: max-content !important;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-100px) !important;
    z-index: 9999;
}
.offcanvas-search.show {
    transform: translateY(0px) !important;
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.offcanvas-search > .btn-close-search {
    position: absolute;
    right: 10px;
    top: 10px;
    background-color: var(--White);
    width: 30px;
    height: 30px;
    font-size: 22px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    z-index: 1;
}
.offcanvas-search .offcanvas-body {
    padding: 60px 0;
}
.offcanvas-search .form-search-courses input {
    border: 1px solid;
    border-radius: 4px;
}
.offcanvas-search .form-search-courses .button-submit button {
    border-radius: 8px;
    position: absolute;
    top: 10px;
    right: 10px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.offcanvas-search .form-search-courses .button-submit button i {
    font-size: 30px;
}
.offcanvas-search .form-search-courses .button-submit button:hover {
    color: var(--Primary);
}

.offcanvas-search .search-results {
    margin-top: 18px;
    display: none;
}

.offcanvas-search .search-results.active {
    display: block;
}

.offcanvas-search .search-results-status {
    color: var(--color-text-4);
    font-size: 13px;
    margin-bottom: 10px;
}

.offcanvas-search .search-results-list {
    display: grid;
    gap: 10px;
    max-height: 360px;
    overflow-y: auto;
    padding-right: 6px;
}

.offcanvas-search .search-result-item {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid var(--Border);
    background: var(--bg-2);
    color: var(--White);
    text-decoration: none;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.offcanvas-search .search-result-item:hover {
    border-color: var(--Primary);
    transform: translateY(-1px);
}

.offcanvas-search .search-result-image {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 6px;
    overflow: hidden;
    background: #222;
}

.offcanvas-search .search-result-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.offcanvas-search .search-result-details {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.offcanvas-search .search-result-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--White);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.offcanvas-search .search-result-price {
    font-size: 12px;
    color: var(--color-text-4);
}

.offcanvas-book-table {
    height: 100vh !important;
    max-width: 970px;
    margin: 0 auto;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-100px) !important;
    background-color: transparent;
}
.offcanvas-book-table.show {
    transform: translateY(0px) !important;
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    z-index: 9999 !important;
}
.offcanvas-book-table .offcanvas-body {
    padding: 60px 0;
}

/*------------ product ---------------- */
/*------------ blog ---------------- */
.wg-blog {
    cursor: pointer;
    margin-bottom: 88px;
}
.wg-blog:hover p::before {
    width: 100% !important;
}
.wg-blog:hover .blog-img img {
    transform: scale(1.2) !important;
}
.wg-blog .blog-img {
    position: relative;
    overflow: hidden;
}
.wg-blog .blog-img img {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    width: 100%;
}
.wg-blog .blog-img .date-time {
    position: absolute;
    top: 13px;
    left: 13px;
    width: max-content;
    background-color: var(--Secondary);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 18px 16px 11px 14px;
}
.wg-blog .blog-img .date-time .entry-day {
    font-size: 35px;
    line-height: 35px;
    font-family: "Marcellus";
    color: var(--Primary);
}
.wg-blog .blog-img .date-time .entry-month {
    font-size: 13px;
    color: var(--White);
}
.wg-blog .content {
    padding: 28px 0px 0px;
}
.wg-blog .content .meta-blog {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 2px 16px;
    margin-bottom: 21px;
    flex-wrap: wrap;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.2px;
}
.wg-blog .content .meta-blog .entry-author,
.wg-blog .content .meta-blog .entry-type {
    color: var(--Primary);
    position: relative;
    padding-left: 12px;
}
.wg-blog .content .meta-blog .entry-author::before,
.wg-blog .content .meta-blog .entry-type::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: var(--White);
}
.wg-blog .content .meta-blog .entry-author a,
.wg-blog .content .meta-blog .entry-type a {
    color: var(--Primary);
}
.wg-blog .content h5 {
    margin-bottom: 18px;
    position: relative;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    /* Giới hạn số dòng hiển thị */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    font-family: "Marcellus";
}
.wg-blog .content h5 a {
    color: var(--White);
}
.wg-blog .content p {
    border-top: 1px solid var(--Border-3);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    padding-top: 18px;
    margin-bottom: 31px;
    position: relative;
    color: var(--White);
    letter-spacing: 0.3px;
}
.wg-blog .content p::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 0%;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    height: 2px;
    background-color: var(--Primary);
}

.wg-pagination ul {
    gap: 10px;
}
.wg-pagination ul a,
.wg-pagination ul li {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px;
    background-color: var(--bg-3);
    cursor: pointer;
    color: var(--White);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.wg-pagination ul a:hover,
.wg-pagination ul li:hover {
    background: var(--Primary);
}
.wg-pagination ul a.active,
.wg-pagination ul li.active {
    background: transparent;
    border: 1px solid var(--Primary);
}

.meta {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px 34px;
    padding-bottom: 16px;
}
.meta .meta-item {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    gap: 14px;
}
.meta .meta-item .icon {
    width: 32px;
    height: 32px;
    background-color: var(--Secondary);
    border-radius: 50%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}
.meta .meta-item .icon i {
    color: var(--Primary);
    font-size: 12px;
}
.meta .meta-item .text {
    color: var(--White);
}

.blog-details {
    padding-bottom: 57px;
}
.blog-details .image {
    padding-bottom: 43px;
}
.blog-details .image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.blog-details p {
    color: var(--color-text-3);
    letter-spacing: 0.1px;
}
.blog-details .title-small h4 {
    color: var(--White);
    font-family: "Marcellus";
    letter-spacing: 0.5px;
    padding-bottom: 8px;
}
.blog-details .title-small.style-2 {
    margin-top: -5px;
    margin-left: -3px;
}
.blog-details .title-small.style-2 h4 {
    padding-bottom: 10px;
}
.blog-details .quote {
    padding: 41px 62px 36px;
    background-color: var(--Secondary);
    margin-bottom: 27px;
}
.blog-details .quote .text {
    line-height: 28px;
    letter-spacing: 0.3px;
    font-family: "Marcellus";
    padding-bottom: 20px;
}
.blog-details .quote .quote-bottom {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
}
.blog-details .quote .quote-bottom .wikipedia {
    font-size: 17px;
    line-height: 26px;
    font-family: "CormorantInfant", serif;
    text-transform: uppercase;
    color: var(--White);
    font-weight: bold;
    letter-spacing: 1.8px;
}

.title-blog-details {
    line-height: 30px;
    font-family: "Marcellus";
    letter-spacing: 0.7px;
    color: var(--White);
    padding-bottom: 33px;
}

.widget-video {
    position: relative;
    overflow: hidden;
}
.widget-video img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.widget-video .popup-youtube {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    height: 91px;
    width: 91px;
    border-radius: 50%;
    background-color: transparent;
    color: var(--Black);
    border: 1px solid var(--Border-4);
}
.widget-video .popup-youtube i {
    font-size: 32.65px;
    color: var(--White);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.widget-video .popup-youtube:hover i {
    color: var(--Primary);
}
.widget-video .wave {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 150px;
    height: 150px;
    border-radius: 50%;
    animation: ripple 2s infinite;
}

.blog-single-bottom {
    padding: 14px 0px 16px 0px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--Border-5);
    border-bottom: 1px solid var(--Border-5);
    flex-wrap: wrap;
    gap: 20px;
    margin-right: -12px;
}
.blog-single-bottom .icon {
    padding-right: 5px;
}
.blog-single-bottom .icon i {
    color: var(--Primary);
}
.blog-single-bottom .tags {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}
.blog-single-bottom .tags img {
    flex-shrink: 0px;
}
.blog-single-bottom .tags span {
    color: var(--White);
}
.blog-single-bottom .tags ul {
    display: flex;
}
.blog-single-bottom .tags ul li a {
    color: var(--color-text-4);
}

.social {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}
.social li {
    height: 42px;
    width: 42px;
    background-color: transparent;
    border-radius: 50%;
    cursor: pointer;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.social li.none-style {
    height: 100%;
    width: max-content;
    pointer-events: none;
}
.social li:hover {
    background-color: var(--Secondary);
}
.social li:hover i {
    color: var(--Primary) !important;
}
.social li a i {
    font-size: 15px;
    color: var(--color-icon);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.social .none-style {
    padding-right: 20px;
    gap: 4px;
}

.comment-wrap {
    padding-bottom: 38px;
    border-bottom: 1px solid var(--Border-5);
    margin-bottom: 59px;
}
.comment-wrap .comment-item {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 17px;
}
.comment-wrap .author {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    gap: 0 21px;
}
.comment-wrap .author .image {
    max-width: 68px;
}
.comment-wrap .author .image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.comment-wrap .author .content .name {
    color: var(--White);
    font-size: 17px;
    line-height: 28px;
    font-family: "Marcellus";
}
.comment-wrap .author .content .time {
    color: var(--Primary);
    font-size: 13px;
    line-height: 25px;
    font-weight: 300;
}
.comment-wrap .comment {
    color: var(--White);
    letter-spacing: 0.09px;
}

/*------------ testimonial ---------------- */
.wg-testimonial {
    background-color: var(--Secondary);
    margin-top: 100px;
}

.slider-testimonial-prev {
    left: -12%;
    top: 46%;
}

.slider-testimonial-next {
    right: -12%;
    top: 46%;
}

.testimonial-item {
    padding: 75px 0 72px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.testimonial-item .icon {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 50px;
    width: 100%;
    border-bottom: 1px solid var(--Border-3);
    margin-bottom: 39px;
}
.testimonial-item .text {
    padding: 0 60px;
    color: var(--White);
    padding-bottom: 37px;
    letter-spacing: 0.35px;
    font-size: 17px;
    line-height: 35px;
    font-family: "Marcellus";
}
.testimonial-item .name {
    padding: 15px 15px 7px 15px;
}
.testimonial-item .name a {
    font-family: "Marcellus";
}
.testimonial-item .name a:hover {
    color: var(--Primary);
}
.testimonial-item span {
    color: var(--White);
}

/*------------ accordion ---------------- */
.flat-accordion .flat-toggle {
    padding: 21px 0 12px;
    border-bottom: 1px solid var(--Border-2);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.flat-accordion .flat-toggle .toggle-title {
    font-family: "Marcellus";
    position: relative;
    cursor: pointer;
    padding-bottom: 18px;
    color: var(--White);
}
.flat-accordion .flat-toggle .toggle-content {
    display: none;
}
.flat-accordion .flat-toggle .toggle-content p {
    color: var(--White);
    padding-bottom: 40px;
}
.flat-accordion .flat-toggle .toggle-content .btn-accordion {
    padding-bottom: 36px;
}
.flat-accordion
    .flat-toggle
    .toggle-content
    .btn-accordion
    .tf-btn-default.style-2 {
    padding-bottom: 7px;
}

/*------------ shop ---------------- */
/*------------ map ---------------- */
#map {
    width: 100%;
    height: 100%;
}
#map .marker {
    background-image: url("../icons/marker.svg");
    background-size: cover;
    width: 35px;
    height: 50px;
    cursor: pointer;
}

#map1 {
    width: 100%;
    height: 100%;
    border-radius: 50%;
}
#map1 .marker {
    background-image: url("../icons/marker-1.svg");
    background-size: cover;
    width: 35px;
    height: 50px;
    cursor: pointer;
}

.mapboxgl-ctrl-attrib a,
.mapboxgl-ctrl-attrib.mapboxgl-compact,
a.mapboxgl-ctrl-logo {
    display: none !important;
}

.box-map {
    max-width: 100%;
    height: 495px;
}
.box-map.style-2 {
    width: 409px;
    height: 409px;
}

/*------------ map ---------------- */
@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
@keyframes ripple {
    0% {
        width: 124px;
        height: 124px;
        opacity: 1;
    }
    100% {
        width: 160px;
        height: 160px;
        opacity: 0;
        background-color: rgba(198, 172, 131, 0.6);
    }
}
@keyframes tf-preload {
    0% {
        transform: scale(0.8);
    }
    50% {
        transform: scale(1);
        background: transparent;
    }
    100% {
        transform: scale(0.8);
        background: transparent;
    }
}
/*------------ widgets ---------------- */
.box-icon {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 0 15px;
}
.box-icon .icon {
    padding-bottom: 31px;
    /* max-width: 50px;*/
}
.box-icon .title-box-icon {
    line-height: 26px;
    padding-bottom: 22px;
    text-align: center;
    letter-spacing: 0.2px;
}
.box-icon .title-box-icon a {
    font-family: "Marcellus";
    color: var(--White);
}
.box-icon .title-box-icon a:hover {
    color: var(--Primary);
}
.box-icon .text {
    color: var(--color-text-5);
    line-height: 26px;
}

.box-item {
    padding: 50px 50px 60px;
    border: 1px solid var(--Border-2);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.box-item .box-item-inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.box-item .box-item-inner .icon {
    padding-bottom: 36px;
    transform: rotateY(0deg);
    transition: transform 0.5s;
}
.box-item .box-item-inner .title-box-item {
    padding-bottom: 10px;
}
.box-item .box-item-inner .title-box-item a {
    font-family: "Marcellus";
    color: var(--White);
    line-height: 26px;
    padding-bottom: 18px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.box-item .box-item-inner .title-box-item a:hover {
    color: var(--Primary);
}
.box-item .box-item-inner .text {
    color: var(--White);
    padding-bottom: 29px;
    line-height: 26px;
}
.box-item .box-item-inner .box-item-bottom .tf-btn-default.style-2 {
    padding-bottom: 8px;
}
.box-item:hover {
    border-color: var(--Primary);
}
.box-item:hover .icon {
    transform: rotateY(360deg);
}

.content-discover {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.discover {
    position: relative;
}

.gallery-box {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    gap: 29px;
}
.gallery-box .gallery-item {
    position: relative;
    flex-grow: 1;
}
.gallery-box .gallery-item .image {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    width: 100%;
    object-fit: cover;
    max-height: 521px;
    overflow: hidden;
}
.gallery-box .gallery-item .image img {
    width: 100%;
    object-fit: cover;
    height: auto;
}
.gallery-box .gallery-item .image::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 0%;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    background-color: rgba(0, 0, 0, 0.35);
}
.gallery-box .gallery-item:hover .image {
    filter: blur(3px);
}
.gallery-box .gallery-item:hover .image::before {
    opacity: 1;
    visibility: visible;
    height: 100%;
}
.gallery-box .gallery-item:hover .content {
    top: 49.5%;
    left: 49.5%;
    opacity: 1;
    visibility: visible;
}
.gallery-box .content {
    opacity: 0;
    visibility: visible;
    position: absolute;
    top: 100%;
    transform: translate(-50%, -50%);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    left: 49.5%;
}
.gallery-box .content .plus-icon {
    width: 2px;
    height: 34px;
    background-color: var(--Primary);
    position: absolute;
    left: 0;
    top: -16px;
}
.gallery-box .content .plus-icon-2 {
    position: absolute;
    left: -15px;
    height: 2px;
    width: 34px;
    background-color: var(--Primary);
}
.gallery-box.style-2 {
    grid-gap: 30px;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
    display: grid;
    position: relative;
    grid-template-areas: "aa bb cc " "dd dd ee " "ff gg gg ";
}
.gallery-box.style-2 .gallery-item .image {
    max-height: 100%;
}
.gallery-box.style-2 .gallery-item .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.gallery-box.style-2 .gallery-item-1 {
    grid-area: aa;
}
.gallery-box.style-2 .gallery-item-2 {
    grid-area: bb;
}
.gallery-box.style-2 .gallery-item-3 {
    grid-area: cc;
}
.gallery-box.style-2 .gallery-item-4 {
    grid-area: dd;
}
.gallery-box.style-2 .gallery-item-5 {
    grid-area: ee;
}
.gallery-box.style-2 .gallery-item-6 {
    grid-area: ff;
}
.gallery-box.style-2 .gallery-item-7 {
    grid-area: gg;
}
.gallery-box.style-2 .gallery-item-8 {
    display: none;
    grid-area: hh;
}

.form-book {
    background-color: var(--Secondary);
    padding: 50px 85px;
    overflow-y: auto;
    position: relative;
}
.form-book > .btn-close-book-table {
    position: absolute;
    background-color: var(--Secondary);
    right: 3%;
    top: 3%;
    width: 30px;
    height: 30px;
    font-size: 22px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    z-index: 1;
}
.form-book > .btn-close-book-table i {
    color: var(--Primary);
}
.form-book .title-form-book {
    text-align: center;
    padding-bottom: 40px;
}
.form-book .title-form-book .title {
    font-size: 35px;
    list-style: 45px;
    color: var(--White);
    font-family: "Marcellus";
    padding-bottom: 10px;
}
.form-book .title-form-book .text {
    color: var(--White);
}
.form-book .form-book-inner {
    padding-bottom: 40px;
}
.form-book .form-book-inner textarea,
.form-book .form-book-inner select,
.form-book .form-book-inner input[type="text"],
.form-book .form-book-inner input[type="number"],
.form-book .form-book-inner input[type="date"],
.form-book .form-book-inner input[type="time"],
.form-book .form-book-inner input[type="email"] {
    padding: 14px 19px;
    background-color: var(--bg-input-2);
    color: var(--White);
    border: none;
    border-radius: unset;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.form-book .form-book-inner textarea:focus,
.form-book .form-book-inner select:focus,
.form-book .form-book-inner input[type="text"]:focus,
.form-book .form-book-inner input[type="number"]:focus,
.form-book .form-book-inner input[type="date"]:focus,
.form-book .form-book-inner input[type="time"]:focus,
.form-book .form-book-inner input[type="email"]:focus {
    color: var(--Black);
    background-color: var(--White);
}
.form-book .form-book-inner select {
    width: 100%;
}
.form-book .form-book-inner select:focus {
    color: var(--Black);
    outline: none;
    border: none;
}
.form-book .form-book-inner fieldset {
    margin-bottom: 15px;
}
.form-book.style-2 {
    background: transparent;
    padding: 0 !important;
}
.form-book.style-2 .form-book-inner {
    padding: 0 !important;
}
.form-book.style-2 .bottom {
    padding-top: 37px;
}

.wg-shop-detail {
    padding-bottom: 52px;
}
.wg-shop-detail .image-wrap .image-top {
    margin-bottom: 29px;
}
.wg-shop-detail .image-wrap .image-top img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.wg-shop-detail .image-wrap .image-bottom {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    gap: 30px;
}
.wg-shop-detail .image-wrap .image-bottom img {
    max-width: 170px;
    max-height: 170px;
    object-fit: cover;
}
.wg-shop-detail .content {
    padding: 15px 0 0 26px;
    width: 100%;
    margin-left: auto;
}
.wg-shop-detail .content .title {
    font-size: 35px;
    margin-bottom: 8px;
    font-family: "Marcellus";
    font-size: 35px;
    line-height: 70px;
    color: var(--White);
    letter-spacing: 0.4px;
}
.wg-shop-detail .content .price {
    color: var(--Primary);
    margin-bottom: 20px;
    font-size: 20px;
    font-family: "Marcellus";
}
.wg-shop-detail .content .ratings {
    position: relative;
    padding-bottom: 29px;
    border-bottom: 1px solid var(--Border-2);
    margin-bottom: 23px;
    display: flex;
}
.wg-shop-detail .content .ratings i {
    font-size: 18px;
    color: var(--Primary);
}
.wg-shop-detail .content .desc {
    position: relative;
    padding-bottom: 23px;
    margin-bottom: 19px;
    border-bottom: 1px solid var(--Border-2);
    color: var(--White);
    letter-spacing: 0.25px;
}
.wg-shop-detail .content .title-quantity {
    margin-bottom: 16px;
    font-family: "Marcellus";
    color: var(--White);
}
.wg-shop-detail .content .add-wishlist {
    padding-bottom: 23px;
    border-bottom: 1px solid var(--Border-2);
    margin-bottom: 28px;
    cursor: pointer;
}
.wg-shop-detail .content .add-wishlist span {
    color: var(--White);
}
.wg-shop-detail .content .add-wishlist i {
    padding-right: 3px;
    color: var(--Primary);
}
.wg-shop-detail .content .add-wishlist i.active {
    color: var(--Primary);
}
.wg-shop-detail .content .more-infor {
    padding-bottom: 29px;
    border-bottom: 1px solid var(--Border-2);
    margin-bottom: 27px;
}
.wg-shop-detail .content .more-infor .list .item {
    color: var(--White);
}
.wg-shop-detail .content .more-infor .list .item span {
    color: var(--color-text-4);
    padding-left: 3px;
}
.wg-shop-detail .content .more-infor .list .item a {
    color: var(--color-text-4);
}
.wg-shop-detail .content .more-infor .list .item:not(:last-child) {
    margin-bottom: 10px;
}
.wg-shop-detail .content .social {
    justify-content: flex-start;
    margin-bottom: 20px;
    padding-left: 19px;
}
.wg-shop-detail .content .social h3 {
    padding-right: 20px;
}
.wg-shop-detail .content h4 {
    font-family: "Marcellus";
    color: var(--White);
    line-height: 40px;
}

.wg-quantity {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 14px;
    margin-bottom: 27px;
}
.wg-quantity .quantity {
    width: 66px;
    background-color: transparent;
    position: relative;
}
.wg-quantity .quantity input {
    color: var(--White) !important;
    background-color: var(--Secondary);
    line-height: 40px;
}
.wg-quantity .quantity input:focus {
    background-color: var(--Secondary);
}
.wg-quantity .quantity .plus-btn {
    position: absolute;
    top: 13px;
    right: 15px;
    font-size: 15px;
    color: var(--White);
    transform: rotate(180deg);
    cursor: pointer;
}
.wg-quantity .quantity .minus-btn {
    position: absolute;
    bottom: 7px;
    right: 15px;
    font-size: 15px;
    color: var(--White);
    cursor: pointer;
}
.wg-quantity .btn-add {
    padding: 10px 30px;
}

.shop-item {
    overflow-x: auto;
    background-color: white;
    border: 2px solid white;
    margin-bottom: 20px;
    border-radius: 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 380px;
    min-height: 560px;
}
.shop-item .image {
    position: relative;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.shop-item .image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.shop-item .image .icon {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    position: absolute;
    right: 0%;
    bottom: 0%;
    left: 0%;
    padding: 0px;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.shop-item .image .icon .info-button {
    display: flex;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border-radius: 60px;
    padding: 0 8px;
    align-items: center;
    justify-content: center;
}

.shop-item .image .icon .info-button a {
    width: 49px;
    height: 49px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    text-decoration: none;
    cursor: pointer;
}

.shop-item .image .icon .info-button a .info-text {
    color: var(--White);
    font-size: 12px;
    font-weight: 600;
    text-transform: lowercase;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.shop-item .image .icon .info-button a:hover .info-text {
    color: var(--Secondary);
}

.shop-item .image .icon .icon-container {
    display: flex;
    gap: 6px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border-radius: 60px;

    align-items: center;
}

.shop-item .image .icon .icon-action {
    display: flex;
}

.shop-item .image .icon a {
    width: 49px;
    height: 49px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
}
.shop-item .image .icon a i {
    color: var(--White);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.shop-item .image .icon a:hover {
    background-color: transparent;
}
.shop-item .image .icon a:hover i {
    color: var(--Secondary);
}

/* Price + Tags row */
.price-tags {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.price-tags .price {
    margin: 0;
}

.product-tags {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0px 15px 3px 15px;
}

.product-tags img {
    width: 24px;
    height: 24px;
    object-fit: cover;
    border-radius: 4px;
}
.shop-item.sale-off .image::after {
    position: absolute;
    content: "SALE OFF";
    top: 20px;
    right: 20px;
    width: 97px;
    height: 34px;
    background-color: var(--Secondary);
    font-size: 13px;
    line-height: 26px;
    color: var(--White);
    letter-spacing: 1px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}
.shop-item.new .image::after {
    position: absolute;
    content: "NEW";
    top: 18px;
    right: 21px;
    width: 97px;
    height: 34px;
    background-color: var(--Secondary);
    font-size: 13px;
    line-height: 26px;
    color: var(--White);
    letter-spacing: 1px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}
.shop-item .content {
    
    padding-top: 0 !important;
    text-align: center;
    background-color: white;
}
.shop-item .content .price {
    font-size: 20px;
    line-height: 50px;
    font-weight: 500;
    color: black;
    padding-bottom: 3px;
    font-family: "Marcellus";
}
.shop-item .content .price span {
    color: var(--color-text-6);
}
.shop-item .content .name {
    font-family: "Marcellus";
    letter-spacing: 0.7px;
}
.shop-item .content .name a {
    color: black;
}
.shop-item .content .type {
    color: var(--White);
    padding-bottom: 7px;
}
.shop-item .content .type a {
    color: black;
}
.shop-item .content .type a:hover {
    color: var(--Primary);
}
.shop-item .content .rating i {
    font-size: 17px;
    color: var(--Primary);
    margin: 0 -3px;
}
.shop-item:hover .image .icon {
    opacity: 1;
    visibility: visible;
}
.shop-item:hover .name a {
    color: var(--Primary);
}

.hover-img .image {
    overflow: hidden;
}
.hover-img .image img {
    width: 100%;
    height: 100%;
    min-height: 292px;
    object-fit: fill;
    -webkit-transition: all 2s cubic-bezier(0.3, 1, 0.35, 1) 0s;
    transition: all 2s cubic-bezier(0.3, 1, 0.35, 1) 0s;
}
.hover-img:hover .image img {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
}

.tf-sort {
    margin:10px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

/* ===== Sidebar Logo + Hotline (public pages) ===== */
.sidebar-logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    padding: 12px 20px;
}

.sidebar-logo img {
    display: block;
    max-width: 56px;
    height: auto;
}

.sidebar-logo .sidebar-hotline {
    display: none;
    color: var(--White);
    font-weight: 700;
    letter-spacing: 0.5px;
    background: rgba(255, 255, 255, 0.12);
    padding: 6px 12px;
    border-radius: 12px;
    white-space: nowrap;
}

/* Show hotline when sidebar is active (expanded) */
#fixedSidebar.active .sidebar-logo .sidebar-hotline {
    display: inline-block;
}
/* Backward compatibility: show hotline when using 'expanded' class */
#fixedSidebar.expanded .sidebar-logo .sidebar-hotline {
    display: inline-block;
}
.tf-sort .text {
    color: var(--White);
    font-family: "Marcellus";
    font-size: 17px;
    line-height: 35px;
    letter-spacing: 0.4px;
}

.tf-control-sorting .tf-dropdown-sort {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    position: relative;
    cursor: pointer;
    z-index: 1;
    min-width: 250px;
}
.tf-control-sorting .tf-dropdown-sort .tf-btn {
    padding: 20px 35px 20px 42px;
    background-color: var(--Primary);
}
.tf-control-sorting .tf-dropdown-sort .tf-btn i,
.tf-control-sorting .tf-dropdown-sort .tf-btn span {
    font-size: 13px;
    color: var(--White);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    letter-spacing: 2.8px;
}
.tf-control-sorting .tf-dropdown-sort .tf-btn:hover i,
.tf-control-sorting .tf-dropdown-sort .tf-btn:hover span {
    color: var(--Secondary);
}
.tf-control-sorting .tf-dropdown-sort .dropdown-menu {
    width: 100%;
    border: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    z-index: 10000;
}
.tf-control-sorting .tf-dropdown-sort .dropdown-menu .select-item {
    overflow-x: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.tf-control-sorting .tf-dropdown-sort .select-item {
    cursor: pointer;
    font-size: 15px;
    font-weight: 400;
    color: var(--text);
    padding: 0 20px;
    line-height: 30px;
    width: 100%;
    margin-right: 5px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    position: relative;
}
.tf-control-sorting
    .tf-dropdown-sort
    .select-item.active
    .text-value-item::before,
.tf-control-sorting
    .tf-dropdown-sort
    .select-item:hover
    .text-value-item::before {
    opacity: 1;
    visibility: visible;
    height: 100%;
}
.tf-control-sorting .tf-dropdown-sort .text-value-item::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: 0;
    background-color: var(--Secondary);
    position: absolute;
    left: 0;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.wg-404 {
    background-image: url(../image/bg/404.jpg);
    height: 100vh;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.wg-404 .content {
    padding: 190px 0;
    text-align: center;
    overflow-x: hidden;
}
.wg-404 .content .title {
    margin-bottom: 68px;
    position: relative;
}
.wg-404 .content .title .img {
    position: relative;
    margin-top: -14px;
}
.wg-404 .content .title::after {
    position: absolute;
    content: "4";
    font-weight: 400;
    top: 33px;
    left: 48.5%;
    transform: translateX(-330px);
    font-size: 262.24px;
    color: var(--White);
    line-height: 259.51px;
    font-family: "Marcellus";
}
.wg-404 .content .title::before {
    position: absolute;
    content: "4";
    top: 33px;
    right: 49%;
    font-weight: 400;
    color: var(--White);
    transform: translateX(338px);
    font-size: 262.24px;
    line-height: 259.51px;
    font-family: "Marcellus";
}
.wg-404 .content .sub-title {
    font-size: 50px;
    font-family: "Marcellus";
    color: var(--White);
    margin-bottom: 27px;
    letter-spacing: 1px;
}
.wg-404 .content p {
    font-size: 17px;
    color: var(--White);
    line-height: 28px;
    margin-bottom: 40px;
}
.wg-404 .content .tf-btn.style-2 {
    font-size: 14px;
}

.slider-perview-3 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}
.slider-perview-3 .shop-item-swiper {
    overflow: hidden;
}
.slider-perview-3 .shop-item {
    padding: 0 !important;
}
.slider-perview-3 .slider-perview-3-button {
    position: absolute;
}
.slider-perview-3 .arrow-slider-btn i {
    font-size: 55px !important;
}
.slider-perview-3 .slider-perview-3-prev {
    left: -117px;
    top: 251px;
}
.slider-perview-3 .slider-perview-3-next {
    right: -117px;
    top: 251px;
}

.preload-container {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 999999999999999;
    height: 100%;
    width: 100%;
    background-color: #000;
}
.preload-container .middle {
    top: 50%;
    left: 50%;
    position: absolute;
    width: 100px;
    height: 100px;
    z-index: 100;
    margin: -50px 0 0 -50px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    content: url(../image/preload.png);
    animation: tf-preload 1.2s linear infinite alternate;
}

.progress-wrap {
    position: fixed;
    bottom: 30px;
    right: 30px;
    margin-right:70px;
    height: 50px;
    width: 50px;
    cursor: pointer;
    display: block;
    border-radius: 30px;
    -webkit-box-shadow: inset 0 0 0 2px rgba(130, 130, 130, 0.2);
    box-shadow: inset 0 0 0 2px rgba(130, 130, 130, 0.2);
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
    -webkit-transition: all 300ms linear;
    -o-transition: all 300ms linear;
    transition: all 300ms linear;
    background: var(--Secondary);
}
.progress-wrap::after {
    position: absolute;
    content: "\e921";
    font-family: "icomoon";
    text-align: center;
    line-height: 50px;
    font-size: 16px;
    color: var(--White);
    left: 0;
    top: 0;
    height: 50px;
    width: 50px;
    transform: rotate(180deg);
    cursor: pointer;
    display: block;
    z-index: 1;
    -webkit-transition: all 400ms linear;
    -o-transition: all 400ms linear;
    transition: all 400ms linear;
}
.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}
.progress-wrap svg path {
    fill: none;
}
.progress-wrap svg.progress-circle path {
    box-sizing: border-box;
    stroke: var(--Primary);
    stroke-width: 5;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    transition-duration: 0.4s;
    transition-timing-function: linear;
}

/*------------ sections ---------------- */
.tf-spacing-1 {
    padding-top: 1px;
    padding-bottom: 135px;
}

.tf-spacing-2 {
    padding-top: 0;
    padding-bottom: 121px;
}

.tf-spacing-3 {
    padding-top: 0;
    padding-bottom: 77px;
}

.tf-spacing-4 {
    padding-top: 0;
    padding-bottom: 135px;
}

.tf-spacing-5 {
    margin-top: 0;
    /*margin-bottom: 135px;*/
}

.tf-spacing-6 {
    padding-top: 0;
    padding-bottom: 133px;
}

.tf-spacing-7 {
    margin-top: 0;
    margin-bottom: 50px;
}

.tf-spacing-8 {
    padding-top: 0;
    padding-bottom: 124px;
}

.tf-spacing-9 {
    margin-bottom: 0px;
    margin-top: 0;
}

.tf-spacing-10 {
    margin-top: 0;
    margin-bottom: 127px;
}

.tf-spacing-11 {
    padding-top: 0;
    padding-bottom: 76px;
}

.tf-spacing-12 {
    padding-top: 0;
    padding-bottom: 129px;
}

.tf-spacing-13 {
    padding-top: 133px;
    padding-bottom: 0;
}

.tf-spacing-14 {
    padding-top: 0;
    padding-bottom: 102px;
}

.tf-spacing-15 {
    padding-top: 0;
    padding-bottom: 49px;
}

.tf-spacing-16 {
    padding-top: 0;
    padding-bottom: 99px;
}

.tf-spacing-17 {
    padding-top: 124px;
    padding-bottom: 135px;
}

.tf-spacing-18 {
    padding-top: 135px;
    padding-bottom: 118px;
}

.tf-spacing-19 {
    padding-top: 124px;
    padding-bottom: 135px;
}

.tf-spacing-20 {
    padding-top: 0;
    padding-bottom: 191px;
}

.tf-spacing-21 {
    padding-top: 0;
    padding-bottom: 215px;
}

.tf-spacing-22 {
    padding-top: 0;
    padding-bottom: 122px;
}

.tf-spacing-23 {
    padding-top: 0;
    padding-bottom: 138px;
}

.page-title {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}
.page-title::before {
    content: "";
    background-color: rgba(0, 0, 0, 0.3);
    position: absolute;
    width: 100%;
    height: 100%;
}
.page-title .overlay {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.page-title .overlay img {
    width: 100%;
    height: 100%;
    object-fit: fill;
    display: block;
}
.page-title .page-title-content {
    padding: 297px 0 33px;
    position: relative;
}
.page-title .page-title-content .title {
    color: var(--White);
    padding-bottom: 83px;
    font-family: "Marcellus";
    margin-left: -3px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.page-title .page-title-content .text {
    color: var(--White);
    text-transform: uppercase;
    font-family: "Marcellus";
    letter-spacing: 0.5px;
}
.page-title .page-title-content .text a {
    color: var(--color-text-2);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.page-title .page-title-content .text a:hover {
    color: var(--Primary);
}
.page-title.style-1 {
    background-image: url("../image/page-title/blog-page-title.jpg");
}
.page-title.style-2 {
    background-image: url("../image/page-title/about-us-page-title.jpg");
}
.page-title.style-3 {
    background-image: url("../image/page-title/contact-us-page-title.jpg");
}
.page-title.style-4 {
    background-image: url("../image/page-title/meet-the-team-page-title.jpg");
}
.page-title.style-5 {
    background-image: url("../image/page-title/our-menus-page-title.jpg");
}
.page-title.style-6 {
    background-image: url("../image/page-title/private-dinner-page-title.jpg");
}
.page-title.style-7 {
    background-image: url("../image/page-title/shop-page-title.jpg");
}
.page-title.style-8 {
    background-image: url("../image/page-title/special-event-page-title.jpg");
}

.page-title-home {
    background-color: var(--Secondary);
}
.page-title-home .content {
    overflow: hidden;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    padding: 246px 0 0;
}
.page-title-home .content .left .title {
    color: var(--White);
    font-family: "Marcellus";
    padding: 21px 0 100px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.page-title-home .content .right {
    margin-right: -20px;
}
.page-title-home .content .right img {
    width: 100%;
    height: auto;
    object-fit: cover;
    margin-bottom: -50px;
}
.page-title-home .image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.section-box-text .section-box-text-inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    padding: 61px 0 68px;
    border-bottom: 1px solid var(--bg-input-2);
    gap: 70px;
}
.section-box-text .section-box-text-inner.style-2 {
    border: unset;
    padding: 124px 0 126px;
    gap: 60px;
}
.section-box-text .section-box-text-inner .box-text .title {
    font-family: "Marcellus";
    padding-bottom: 17px;
    letter-spacing: 0.3px;
}
.section-box-text .section-box-text-inner .box-text .text {
    font-size: 17px;
    color: var(--color-text-5);
    letter-spacing: 0.1px;
}

.section-contact .contact-inner {
    padding: 62px 0 0;
}
.section-contact .contact-inner p {
    color: var(--White);
    font-size: 17px;
    line-height: 38px;
    font-family: "Marcellus";
    letter-spacing: 0.3px;
}

.section-about {
    position: relative;
}
.section-about .image {
    margin-left: -320px;
    margin-right: -30px;
}
.section-about .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.content-section .title {
    font-size: 50px;
    line-height: 60px;
    color: var(--White);
    font-family: "Marcellus";
    padding-bottom: 25px;
}
.content-section .text {
    padding-bottom: 42px;
    color: var(--color-text-3);
    letter-spacing: 0.3px;
    font-family: "Marcellus";
}
.content-section .text p {
    color: var(--color-text-3);
}
.content-section.style-2 {
    text-align: center;
}
.content-section.style-2 .top {
    color: var(--Primary);
    text-transform: uppercase;
    letter-spacing: 2.5px;
    padding-bottom: 22px;
}
.content-section.style-3 p {
    color: var(--White);
    font-size: 17px;
    line-height: 38px;
    font-family: "Marcellus";
    letter-spacing: 0.4px;
}
.content-section.style-3 ul li {
    color: var(--White);
    font-size: 17px;
    line-height: 38px;
    font-family: "Marcellus";
    letter-spacing: 0.4px;
}

.about-content {
    padding: 50px 0px 50px 72px;
}

.about-2-inner .flat-accordion {
    padding: 67px 68px 67px 0px;
}
.about-2-inner .image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.section-2 {
    position: relative;

    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.section-2 .section-2-item {
    position: absolute;
    right: 3.5%;
    top: 10%;
    animation: rotate 5s linear infinite;
}
.section-2 .section-2-content {
    padding-bottom: 56px;
}

.list-icon {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    padding: 0px 160px;
    justify-content: center;
    gap: 42px;
}


.section-3 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;

    background-color: var(--bg-2);
}

.section-3-inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}
.section-3-inner .section-3-left {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    gap: 48px;
}
.section-3-inner .section-3-left .image {
    position: relative;
}
.section-3-inner .section-3-left .image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    position: relative;
}
.section-3-inner .section-3-left .image::before {
    content: "";
    position: absolute;
    left: 33%;
    top: 11%;
    width: 149px;
    height: 383px;
    filter: blur(80px);
    background-color: var(--White);
}
.section-3-inner .section-3-left .section-3-content {
    padding: 40px 0 0 0;
}
.section-3-inner .section-3-left .section-3-content .text {
    padding-bottom: 48px;
}
.section-3-inner .section-3-left .section-3-content .text .steak-level {
    font-family: "Marcellus";
    color: var(--White);
    padding-bottom: 10px;
    letter-spacing: 0.4px;
}
.section-3-inner .section-3-left .section-3-content .text .text-1 {
    color: var(--White);
    font-size: 17px;
    font-family: "Marcellus";
    letter-spacing: 0.4px;
}
.section-3-inner .line {
    width: 1px;
    height: 613px;
    background-color: var(--Border-2);
}

.section-3-inner .section-3-right .section-3-right-content {
    text-align: center;
    padding: 56px 0 32px;
}
.section-3-inner .section-3-right .section-3-right-content .title {
    font-size: 50px;
    line-height: 60px;
    color: var(--White);
    font-family: "Marcellus";
    padding-bottom: 18px;
}
.section-3-inner .section-3-right .section-3-right-content .text {
    color: var(--color-text-3);
    line-height: 25px;
}

.section-special-menu .title {
    padding-bottom: 11px;
}
.section-special-menu .recommended {
    position: relative;
}
.section-special-menu .image {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 75px 0 38px;
}
.section-special-menu .line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 2px;
    height: 100%;
    background-color: var(--Border-2);
}
.section-special-menu .special-menu-content {
    padding-bottom: 26px;
    border-bottom: 2px solid var(--Border-2);
}
.section-special-menu .recommended-item {
    padding: 100px 0 0;
}
.section-special-menu .bottom-btn {
    padding-top: 86px;
}

.section-banner {
    background-image: url("../image/bg/banner-bg.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}
.section-banner .banner-content {
    padding: 120px 0 133px;
}
.section-banner .banner-content .title {
    line-height: 85px;
    color: var(--White);
    font-family: "Marcellus";
    padding-bottom: 33px;
}

.section-4 .section-4-inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    background-color: var(--bg-2);
}
.section-4 .section-4-inner .image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.section-4 .section-4-inner .section-4-content {
    padding: 124px 0 0 168px;
}
.section-4 .section-4-inner .section-4-content .title {
    font-size: 50px;
    line-height: 60px;
    font-family: "Marcellus";
    color: var(--White);
    padding-bottom: 59px;
}
.section-4 .section-4-inner .section-4-content .top {
    color: var(--Primary);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding-bottom: 12px;
}
.section-4 .section-4-inner .section-4-content .name {
    color: var(--White);
    font-family: "Marcellus";
    letter-spacing: 0.3px;
    padding-bottom: 36px;
}
.section-4 .section-4-inner.style-2 {
    background-color: unset;
}
.section-4 .section-4-inner.style-2 .section-4-content {
    padding: 105px 0 0 103px;
}
.section-4 .section-4-inner.style-2 .section-4-content .title {
    line-height: 50px;
    padding-bottom: 62px;
}

.section-4-2 .section-4-2-inner {
    background-color: var(--bg-2);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
}
.section-4-2 .section-4-2-inner .image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.section-4-2 .section-4-2-inner .section-4-2-content {
    padding: 165px 0 0 168px;
}
.section-4-2 .section-4-2-inner .section-4-2-content .title {
    font-size: 50px;
    line-height: 60px;
    font-family: "Marcellus";
    color: var(--White);
    padding-bottom: 25px;
}
.section-4-2 .section-4-2-inner .section-4-2-content .text {
    color: var(--color-text-3);
    line-height: 26px;
    padding-left: 5px;
    padding-bottom: 39px;
    letter-spacing: 0.25px;
}

.section-contact-2 .contact-inner-2 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: space-around;
}
.section-contact-2 .contact-inner-2 .image {
    padding: 20px;
    border: 1px solid var(--Border-2);
    border-radius: 50%;
    margin-left: -19px;
}
.section-contact-2 .contact-inner-2 .image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 50%;
}
.section-contact-2 .contact-inner-2 .wg-map {
    padding: 20px;
    border: 1px solid var(--Border-2);
    border-radius: 50%;
    margin-right: -19px;
}
.section-contact-2 .contact-inner-2 .section-contact-2-content {
    text-align: center;
}
.section-contact-2 .contact-inner-2 .section-contact-2-content .title {
    font-size: 50px;
    line-height: 60px;
    font-family: "Marcellus";
    color: var(--White);
    padding-bottom: 36px;
}
.section-contact-2 .contact-inner-2 .section-contact-2-content .icon {
    padding-bottom: 36px;
}
.section-contact-2 .contact-inner-2 .section-contact-2-content ul {
    padding-bottom: 23px;
}
.section-contact-2 .contact-inner-2 .section-contact-2-content ul li {
    color: var(--White);
    font-size: 17px;
    line-height: 38px;
    font-family: "Marcellus";
    letter-spacing: 0.4px;
}
.section-contact-2 .contact-inner-2 .section-contact-2-content .number-contact {
    padding-bottom: 42px;
}
.section-contact-2
    .contact-inner-2
    .section-contact-2-content
    .number-contact
    .text {
    color: var(--White);
    font-size: 17px;
    line-height: 38px;
    font-family: "Marcellus";
    padding-bottom: 11px;
    letter-spacing: 0.4px;
}
.section-contact-2
    .contact-inner-2
    .section-contact-2-content
    .number-contact
    .number-phone {
    color: var(--Primary);
    font-size: 35px;
    line-height: 38px;
    font-family: "Marcellus";
    letter-spacing: 0.4px;
}
.section-contact-2 .line {
    max-width: 1170px;
    height: 1px;
    background-color: var(--Border-3);
    margin: 0 auto;
}

.section-gallery .section-gallery-inner .title {
    font-size: 50px;
    line-height: 60px;
    font-family: "Marcellus";
    color: var(--White);
    margin-left: -15px;
    padding-bottom: 63px;
}

.section-about-us .section-about-us-inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}
.section-about-us .section-about-us-inner .widget-video {
    width: 50%;
}
.section-about-us .section-about-us-inner .widget-video .popup-youtube {
    width: 124px;
    height: 124px;
}
.section-about-us .section-about-us-inner .widget-video img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.section-about-us .section-about-us-inner .section-about-us-content {
    width: 50%;
    border: 1px solid var(--Border);
    padding: 94px 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    flex-direction: column;
}
.section-about-us .section-about-us-inner .section-about-us-content .title {
    padding-bottom: 62px;
}
.section-about-us .section-about-us-inner .section-about-us-content .icon {
    max-width: 216px;
    height: auto;
    padding-bottom: 69px;
}
.section-about-us .section-about-us-inner .section-about-us-content .text {
    padding-bottom: 53px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
}
.section-about-us .section-about-us-inner .section-about-us-content .text span {
    line-height: 25px;
    letter-spacing: 0.2px;
}
.section-about-us .section-about-us-inner .section-about-us-content .line {
    width: 215px;
    height: 1px;
    background-color: var(--Primary);
}

.contact-us-content {
    padding: 124px 0 60px;
}
.contact-us-content .title {
    padding-bottom: 37px;
}
.contact-us-content .icon {
    padding-bottom: 37px;
}
.contact-us-content ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

.content-us-form .title {
    padding-bottom: 15px;
}
.content-us-form .text p {
    letter-spacing: 0.3px;
    font-family: "Marcellus";
}

.secition-meet-the-team-1-inner {
    background-image: url(/image/bg/bg-meet-the-team.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    gap: 86px;
}
.secition-meet-the-team-1-inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgb(0, 0, 0), rgba(0, 0, 0, 0.88));
}
.secition-meet-the-team-1-inner .meet-the-team-1-left {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    position: relative;
    width: 27.5%;
}
.secition-meet-the-team-1-inner .meet-the-team-1-left .image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.secition-meet-the-team-1-inner .meet-the-team-1-right {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    gap: 67px;
    position: relative;
    padding: 157px 0 0 0;
    width: 68%;
    overflow: hidden;
}
.secition-meet-the-team-1-inner .meet-the-team-1-right .personal-information {
    padding: 0 33px 0 0;
    position: relative;
    width: 37.8%;
}
.secition-meet-the-team-1-inner
    .meet-the-team-1-right
    .personal-information::before {
    content: "";
    position: absolute;
    top: -9%;
    right: 0;
    width: 1px;
    height: 500px;
    background-color: var(--Border-3);
}
.secition-meet-the-team-1-inner
    .meet-the-team-1-right
    .personal-information
    .name {
    color: var(--White);
    font-family: "Marcellus";
    letter-spacing: 0.3px;
    padding-bottom: 9px;
}
.secition-meet-the-team-1-inner
    .meet-the-team-1-right
    .personal-information
    .text-color-primary {
    color: var(--Primary);
    text-align: end;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding-bottom: 55px;
}
.secition-meet-the-team-1-inner
    .meet-the-team-1-right
    .personal-information
    .text {
    color: var(--White);
    font-family: "Marcellus";
    line-height: 40px;
    padding-bottom: 60px;
}
.secition-meet-the-team-1-inner .meet-the-team-1-right .wg-bio {
    width: 50%;
}
.secition-meet-the-team-1-inner .meet-the-team-1-right .wg-bio .title {
    color: var(--White);
    font-family: "Marcellus";
    padding-bottom: 27px;
}
.secition-meet-the-team-1-inner .meet-the-team-1-right .wg-bio p {
    color: var(--color-text-3);
    font-weight: 300;
    letter-spacing: 0.1px;
    line-height: 26px;
}

.section-meet-the-team-2 .heading-section {
    max-width: 930px;
    margin: 0px auto;
}
.section-meet-the-team-2 .heading-section .title {
    padding-bottom: 10px;
}
.section-meet-the-team-2 .heading-section .title a {
    font-size: 35px;
    color: var(--White);
    font-family: "Marcellus";
}
.section-meet-the-team-2 .heading-section .title a:hover {
    color: var(--Primary);
}
.section-meet-the-team-2 .heading-section .sub-title {
    margin-bottom: 25px;
    color: var(--Primary);
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding-left: 8px;
}
.section-meet-the-team-2 .heading-section .text {
    color: var(--color-text-4);
    margin-bottom: 20px;
}
.section-meet-the-team-2 .heading-section .text-2 {
    color: var(--color-text-4);
}

.dowload-menu {
    padding-bottom: 88px;
}
.dowload-menu p {
    color: var(--color-text-3);
    padding: 34px 0 42px;
    letter-spacing: 0.2px;
}

.our-menu-list {
    padding: 0 31px;
}
.our-menu-list .title {
    font-family: "Marcellus";
    color: var(--White);
    padding-bottom: 29px;
}
.our-menu-list .our-menu-item .line {
    flex-grow: 1;
    height: 1px;
    margin: auto 40px 10px;
    border-bottom: 1px solid var(--Border-2);
}
.our-menu-list .our-menu-item h5 {
    color: var(--White);
    font-family: "Marcellus";
    padding-bottom: 8px;
}
.our-menu-list .our-menu-item .menu-item {
    padding-bottom: 25px;
}
.our-menu-list .our-menu-item .menu-item .text-color-primary {
    font-family: "Marcellus";
    color: var(--Primary);
    letter-spacing: -0.15px;
    line-height: 25px;
}

.note {
    padding: 63px 165px;
    border: 1px solid var(--Border-5);
}
.note .text {
    color: var(--White);
    font-family: "Marcellus";
    letter-spacing: 0.4px;
    line-height: 35px;
}

.title-private-dinner .title {
    font-family: "Marcellus";
    font-size: 35px;
    line-height: 50px;
    color: var(--White);
    padding-bottom: 37px;
}

.section-private-dinner-inner {
    background-color: var(--Secondary);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
}
.section-private-dinner-inner.style-2 {
    justify-content: unset;
}
.section-private-dinner-inner .image {
    width: 50%;
}
.section-private-dinner-inner .image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.section-private-dinner-inner .section-private-dinner-content {
    padding: 123px 0 0 169px;
    width: 50%;
}
.section-private-dinner-inner .section-private-dinner-content .title {
    font-size: 50px;
    line-height: 60px;
    font-family: "Marcellus";
    color: var(--White);
    padding-bottom: 26px;
}
.section-private-dinner-inner .section-private-dinner-content .text {
    color: var(--color-text-3);
    font-weight: 300;
    padding-left: 5px;
    letter-spacing: 0.13px;
    padding-bottom: 21px;
}
.section-private-dinner-inner .section-private-dinner-content ul {
    padding-bottom: 35px;
}
.section-private-dinner-inner .section-private-dinner-content ul li {
    font-size: 17px;
    line-height: 38px;
    color: var(--White);
    font-family: "Marcellus";
    padding-left: 5px;
    letter-spacing: 0.3px;
}

.reservation-content {
    padding: 124px 0 60px;
}
.reservation-content .title {
    padding-bottom: 37px;
}
.reservation-content .icon {
    padding-bottom: 37px;
}
.reservation-content ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

.section-reservation .section-reservation-inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    gap: 128px;
}
.section-reservation .section-reservation-inner .image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 50%;
    padding: 20px;
    border: 1px solid var(--Border-5);
}
.section-reservation .section-reservation-inner .image-1 {
    margin-left: -20px;
    margin-top: -20px;
}
.section-reservation .section-reservation-inner .image-2 {
    margin-right: -20px;
    margin-top: -20px;
}
.section-reservation .section-reservation-inner .form-book {
    width: 34%;
}

.content-section-slide-3 {
    padding: 0 0 68px;
}
.content-section-slide-3 .top {
    letter-spacing: 3px !important;
}
.content-section-slide-3 .title {
    padding-bottom: 14px !important;
}
.content-section-slide-3 .text {
    padding: 0 !important;
}

.section-special-event-1-title h4 {
    color: var(--White);
    font-family: "Marcellus";
    letter-spacing: 0.5px;
    line-height: 45px;
    padding-bottom: 120px;
}

.section-special-event .image {
    position: relative;
}
.section-special-event .image .image-1 {
    overflow: hidden;
    position: relative;
}
.section-special-event .image .image-1 img {
    -webkit-transition: transform 1.5s cubic-bezier(0, 0, 0.44, 1.18);
    transition: transform 1s cubic-bezier(0, 0, 0.44, 1.18);
}
.section-special-event .image .image-1:hover {
    z-index: 9;
}
.section-special-event .image .image-1:hover img {
    -webkit-transform: scale(1.06);
    transform: scale(1.06);
}
.section-special-event .image .image-2 {
    position: absolute;
    top: 13%;
    left: 30%;
    overflow: hidden;
    z-index: 2;
}
.section-special-event .image .image-2 img {
    -webkit-transition: transform 2s cubic-bezier(0, 0, 0.44, 1.18);
    transition: transform 1.5s cubic-bezier(0, 0, 0.44, 1.18);
}
.section-special-event .image .image-2:hover img {
    -webkit-transform: scale(1.06);
    transform: scale(1.06);
}
.section-special-event .image.style-2 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: end;
}
.section-special-event .image.style-2 .image-2 {
    left: 0%;
}
.section-special-event .special-event-content .text {
    letter-spacing: 0.1px;
    padding-bottom: 21px;
}
.section-special-event .special-event-content ul li {
    font-family: "Marcellus";
    color: var(--color-text-3);
    letter-spacing: 0.3px;
    line-height: 38px;
}
.section-special-event .special-event-content ul li:last-child {
    padding-bottom: 0 !important;
}
.section-special-event .special-event-content ul li i {
    color: var(--Primary);
    padding-right: 15px;
}

.special-event-1-content {
    padding: 129px 0 0 67px;
}

.special-event-2-content {
    padding: 129px 0 0 0;
}

.section-icon-special-event-inner {
    background-image: url("../image/bg/section-2-page-special.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 124px 0;
}
.section-icon-special-event-inner .content .title {
    padding-bottom: 79px;
}
.section-icon-special-event-inner .list-icon {
    gap: 63px;
}
.section-icon-special-event-inner .list-icon .box-icon .icon {
    padding-bottom: 34px;
}

.section-special-event-contact .inner {
    background-image: url("../image/bg/contact-page-special.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    padding: 176px 0 133px;
    background-attachment: fixed;
}
.section-special-event-contact .inner::before {
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
}
.section-special-event-contact .inner h2 {
    position: relative;
    color: var(--White);
    font-family: "Marcellus";
    padding-bottom: 35px;
    padding-left: 88px;
    line-height: 55px !important;
}
.section-special-event-contact .inner h2 span {
    color: var(--Primary);
}

/* ===== RESERVATION STEP FORM STYLES ===== */

.reservation-form-card {
    background-color: #2a2a2a;
    border: 1px solid #3d3d3d;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.reservation-title {
    color: var(--Primary);
    font-size: 32px;
    font-family: "Marcellus";
    text-align: center;
    margin-bottom: 40px;
    letter-spacing: 0.5px;
}

/* ===== Step Indicators ===== */
.step-indicators {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 50px;
    gap: 30px;
}

.step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    position: relative;
}

.step-number {
    width: 50px;
    height: 50px;
    background-color: #3d3d3d;
    border: 2px solid #555;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--White);
    font-size: 20px;
    font-weight: bold;
    font-family: "Marcellus";
    transition: all 0.3s ease;
}

.step.active .step-number {
    background-color: var(--Primary);
    border-color: var(--Primary);
    color: var(--Black);
    transform: scale(1.1);
}

.step.completed .step-number {
    background-color: var(--Secondary);
    border-color: var(--Secondary);
    color: var(--White);
}

.step-label {
    color: #888;
    font-size: 14px;
    font-family: "DM Sans";
    letter-spacing: 0.3px;
    transition: all 0.3s ease;
}

.step.active .step-label {
    color: var(--Primary);
    font-weight: 600;
}

.step.completed .step-label {
    color: #198754;
}

.step-line {
    width: 60px;
    height: 2px;
    background-color: #3d3d3d;
    transition: all 0.3s ease;
}

/* ===== Step Content ===== */
.step-content {
    display: none;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s ease;
    pointer-events: none;
}

.step-content.active {
    display: block;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* ===== Step 1: Type Selection ===== */
.reservation-types {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 30px;
}

.type-option {
    cursor: pointer;
    transition: all 0.3s ease;
}

.type-card {
    background-color: #3d3d3d;
    border: 2px solid #555;
    border-radius: 8px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s ease;
}

.type-option input[type="radio"] {
    cursor: pointer;
    width: 20px;
    height: 20px;
    accent-color: var(--Primary);
}

.type-card:hover {
    border-color: var(--Primary);
    background-color: #4a4a4a;
}

.type-option input[type="radio"]:checked ~ .type-card,
.type-card.selected {
    background-color: rgba(198, 172, 131, 0.1);
    border-color: var(--Primary);
    box-shadow: inset 0 0 0 1px var(--Primary);
}

.type-icon {
    font-size: 24px;
    color: var(--Primary);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: rgba(198, 172, 131, 0.2);
    border-radius: 8px;
    flex-shrink: 0;
}

.type-content {
    flex: 1;
}

.type-content .type-title {
    color: var(--White);
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 4px;
    font-family: "Marcellus";
}

.type-content .type-description {
    color: #999;
    font-size: 13px;
    line-height: 1.5;
}

/* ===== Sub-Options ===== */
.sub-options {
    display: none;
    margin-top: 15px;
    margin-left: 50px;
    animation: slideDown 0.3s ease;
}

.sub-options.active {
    display: block;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
        max-height: 0;
    }
    to {
        opacity: 1;
        transform: translateY(0);
        max-height: 1000px;
    }
}

.sub-option {
    margin-bottom: 12px;
}

.sub-option-card {
    background-color: #2a2a2a;
    border: 1px solid #3d3d3d;
    border-radius: 6px;
    padding: 15px;
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.sub-option input[type="radio"] {
    cursor: pointer;
    width: 18px;
    height: 18px;
    accent-color: var(--Primary);
}

.sub-option-card:hover {
    background-color: #353535;
    border-color: var(--Primary);
}

.sub-option input[type="radio"]:checked ~ .sub-option-card,
.sub-option-card.selected {
    background-color: rgba(198, 172, 131, 0.1);
    border-color: var(--Primary);
}

.sub-option-icon {
    font-size: 16px;
    color: var(--Primary);
    flex-shrink: 0;
}

.sub-option-card .sub-option-title {
    flex: 1;
    color: var(--White);
    font-size: 14px;
    font-weight: 500;
}

.sub-option-card .sub-option-desc {
    color: #888;
    font-size: 12px;
}

/* ===== Step 2: Form Fields ===== */
.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    color: #cfcfcf;
    font-size: 14px;
    margin-bottom: 8px;
    font-weight: 500;
    font-family: "Marcellus";
}

.form-control,
.form-select {
    width: 100%;
    padding: 12px 14px;
    background-color: #3d3d3d;
    border: 1px solid #555;
    border-radius: 6px;
    color: #cfcfcf;
    font-size: 14px;
    font-family: "DM Sans";
    transition: all 0.3s ease;
}

.form-control::placeholder {
    color: #888;
}

.form-control:focus,
.form-select:focus {
    outline: none;
    background-color: #4a4a4a;
    border-color: var(--Primary);
    box-shadow: 0 0 0 3px rgba(198, 172, 131, 0.1);
    color: var(--White);
}

.form-select option {
    background-color: #2a2a2a;
    color: #cfcfcf;
}

/* ===== Button Group ===== */
.button-group {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    margin-top: 30px;
    flex-wrap: wrap;
}

.btn-next,
.btn-back,
.btn-complete {
    padding: 12px 28px;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: "Marcellus";
}

.btn-next,
.btn-complete {
    background-color: var(--Primary);
    color: var(--Black);
}

.btn-next:hover:not(:disabled),
.btn-complete:hover {
    background-color: #b39a72;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(198, 172, 131, 0.3);
}

.btn-next:active:not(:disabled),
.btn-complete:active {
    transform: translateY(0);
}

.btn-next:disabled {
    background-color: #555;
    color: #888;
    cursor: not-allowed;
    opacity: 0.6;
}

.btn-back {
    background-color: transparent;
    color: var(--Primary);
    border: 1px solid var(--Primary);
}

.btn-back:hover {
    background-color: rgba(198, 172, 131, 0.1);
    transform: translateY(-2px);
}

.btn-back:active {
    transform: translateY(0);
}

/* ===== Loading Overlay ===== */
.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.8);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.loading-overlay.active {
    display: flex;
}

.spinner {
    width: 50px;
    height: 50px;
    border: 4px solid rgba(198, 172, 131, 0.2);
    border-top-color: var(--Primary);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.spinner::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 14px;
    color: var(--White);
}

/* ========== Infinite Scroll Styles ========== */

/* Loading Indicator */
.loading-indicator {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    gap: 15px;
    width: 100%;
    text-align: center;
}

.loading-indicator.active {
    display: flex !important;
}

/* Spinner animation */
.spinner {
    width: 40px;
    height: 40px;
    border: 4px solid rgba(0, 0, 0, 0.2);
    border-top-color: black;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    margin: 0 auto;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.loading-indicator p {
    color: black;
    font-size: 14px;
    margin: 0;
}

/* Product Item Container */
.product-item {
    animation: fadeInUp 0.6s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Category Filter Container */
.shop-categories-filter-container {
    width: 100%;
    background: rgb(7, 7, 7);
    padding: 20px 0;
    margin-bottom: 0px;
    border-bottom: 1px solid #c6ac83;
    position: sticky !important;
    top: var(--shop-status-bar-height, 0px) !important;
    z-index: 999 !important;
}

.categories-scroll-wrapper {
    width: 100%;

    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    display: block;
    scroll-padding-left: 20px;
    scroll-padding-right: 20px;
    overscroll-behavior-x: contain;
}

.categories-scroll {
    display: inline-flex;
    flex-wrap: nowrap;
    gap: 15px;
    padding: 0 20px;
    width: max-content;
    min-width: 100%;
    justify-content: flex-start;
    align-items: center;
    box-sizing: border-box;
}

.category-filter-btn {
    white-space: nowrap;
    padding: 10px 20px;
    border: none;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: #fff;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 0;
    font-size: clamp(12px, 1.2vw, 14px);
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    width: auto;
    max-width: none;
    overflow: visible;
}

.category-filter-btn:hover {
    border-color: var(--Primary);
    color: var(--Primary);
}

/* ===== CATEGORY BAR INNER LAYOUT ===== */
.categories-bar-inner {
    display: flex;
    align-items: center;
    width: 100%;
}

/* ===== TAG FILTER TOGGLE BUTTON ===== */
.tag-filter-toggle-btn {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    min-width: 42px;
    border: none;
    background: transparent;
    cursor: pointer;
    color: #ffffff;
    padding: 8px;
    margin-left: 10px;
    margin-right: 2px;
    transition: color 0.3s ease;
    position: relative;
    z-index: 2;
}

html[dir="rtl"] .tag-filter-toggle-btn {
    margin-left: 2px;
    margin-right: 10px;
}

.tag-filter-toggle-btn svg {
    width: 20px;
    height: 20px;
}

.tag-filter-toggle-btn:hover,
.tag-filter-toggle-btn.active {
    color: #d4af7a;
}

/* ===== TAG FILTER BAR ===== */
.shop-tag-filter-bar {
    width: 100%;
    background: rgb(3, 3, 3);
    padding: 15px 0;
    border-bottom: 1px solid #ffffff;
    position: sticky !important;
    top: calc(var(--shop-status-bar-height, 0px) + 83px) !important;
    z-index: 998 !important;
}

.tag-filter-bar-inner {
    padding: 0 20px;
}

.tag-filter-dropdowns {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.tag-filter-group {
    flex: 0 0 auto;
    min-width: 140px;
    max-width: 220px;
}

.tag-filter-select {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #333;
    background: #fafafa;
    cursor: pointer;
    transition: border-color 0.3s ease;
    appearance: auto;
}

.tag-filter-select:focus {
    outline: none;
    border-color: #d4af7a;
}

.tag-filter-apply-row {
    display: flex;
    justify-content: center;
    margin-top: 14px;
}

.tag-filter-apply-btn {
    padding: 9px 32px;
    border: none;
    border-radius: 6px;
    background: #c6ac83;
    color: #000000;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease;
    letter-spacing: 0.3px;
}

.tag-filter-apply-btn:hover {
    background: #d4af7a;
    color: #000;
}

/* ===== CANCEL FILTER BUTTON ===== */
.cancel-tag-filter-btn {
    display: inline-block;
    padding: 6px 18px;
    border: 1px solid #fb3a05;
    border-radius: 6px;
    background: transparent;
    color: #fb3a05;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-left: 12px;
    vertical-align: middle;
}

html[dir="rtl"] .cancel-tag-filter-btn {
    margin-left: 0;
    margin-right: 12px;
}

.cancel-tag-filter-btn:hover {
    background: #d4af7a;
    color: #000;
}

.tf-sort-left {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

@media (max-width: 768px) {
    .tag-filter-toggle-btn {
        width: 36px;
        height: 36px;
        min-width: 36px;
        padding: 6px;
        margin-left: 6px;
        margin-right: 0;
    }

    html[dir="rtl"] .tag-filter-toggle-btn {
        margin-left: 0;
        margin-right: 6px;
    }

    .tag-filter-toggle-btn svg {
        width: 18px;
        height: 18px;
    }

    .tag-filter-group {
        min-width: 120px;
        max-width: 180px;
    }

    .tag-filter-select {
        font-size: 12px;
        padding: 7px 10px;
    }

    .tag-filter-apply-btn {
        padding: 8px 24px;
        font-size: 12px;
    }
}

@media (max-width: 480px) {
    .tag-filter-dropdowns {
        gap: 8px;
    }

    .tag-filter-group {
        min-width: 100px;
        flex: 1 1 calc(50% - 8px);
        max-width: none;
    }
}

/* Overview Squares */
.shop-overview-cards {
    position: absolute;
    top: 75%;
    z-index: 10;
    width: 100%;
    display: flex;
    justify-content: center;
    pointer-events: none;
}

.shop-overview-cards .overview-square {
    width: 50%;
    height: 300px;
    border-radius: 45px;
    background: var(--White);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    padding: 24px;
    pointer-events: auto;
}

.overview-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 20px;
    width: 100%;
    height: 100%;
}

.overview-item {
    border-radius: 45px;
    background: #fafafa;
    box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.overview-item-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
}

.overview-title {
    color: #999;
    font-size: 11px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.overview-value {
    color: #333;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}

#no-more-products {
    color: black;
    font-size: 14px;
    font-style: italic;
}

/* Notification Styles */
.notification {
    position: fixed;
    top: 20px;
    right: 20px;
    background: #4caf50;
    color: white;
    padding: 16px 24px;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    z-index: 9999;
    opacity: 0;
    transform: translateY(-20px);
    transition: all 0.3s ease;
    font-size: 14px;
}

.notification.show {
    opacity: 1;
    transform: translateY(0);
}

.notification-error {
    background: #f44336;
}

/* Description Overlay Styles */
.description-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    padding: 20px;
}

.description-content {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

.description-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
    gap: 20px;
}

.description-header h3 {
    margin: 0;
    font-size: 18px;
    color: #333;
    flex: 1;
}

.close-description {
    background: none;
    border: none;
    font-size: 24px;
    color: #333;
    cursor: pointer;
    padding: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.close-description:hover {
    color: #666;
}

.description-body {
    flex: 1;
    color: #555;
    font-size: 14px;
    line-height: 1.6;
    word-wrap: break-word;
}

/* ========== View Toggle Styles ========== */
.view-toggle {
    display: flex;
    gap: 8px;
    align-items: center;
}

.view-btn {
    width: 40px;
    height: 40px;
    background: transparent;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 18px;
    position: relative;
}

.view-btn[data-view="grid"]::before {
    content: "☷";
    color: var(--White);
    font-size: 20px;
    font-weight: bold;
    transition: all 0.3s ease;
}

.view-btn[data-view="list"]::before {
    content: "☰";
    color: var(--White);
    font-size: 20px;
    font-weight: bold;
    transition: all 0.3s ease;
}

.view-btn:hover {
    background: black;
    border-color: var(--Primary);
}

.view-btn:hover::before {
    color: var(--White);
}

.view-btn.active {
    background: black;
    border-color: var(--Primary);
}

.view-btn.active::before {
    color: var(--White);
}

.view-btn:hover::before {
    color: var(--Primary);
}

/* ========== List View Styles ========== */
/* Hide description text in grid view */
.product-item:not(.list-view) .shop-item .content .product-description {
    display: none;
}

/* List view layout */
.product-item.list-view {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

.product-item.list-view .shop-item {
    flex-direction: row;
    min-height: auto;
}

/* Content section takes left side */
.product-item.list-view .shop-item .content {
    flex: 1;
    text-align: left;
    order: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    padding: 0 0 0 20px;
}

/* Image section on right side */
.product-item.list-view .shop-item .image {
    width: 35%;
    min-width: 200px;
    height: auto;
    order: 2;
    flex-shrink: 0;
}

.product-item.list-view .shop-item .image img {
    width: 100%;
    height: 100%;
    object-fit: fill;
}

/* Hide info button in list view */
.product-item.list-view .shop-item .icon .info-button {
    display: none !important;
}

/* Adjust icon container position for list view */
.product-item.list-view .shop-item .icon .icon-container {
    position: absolute;
    bottom: 10px;
    right: 10px;
}

/* Show description in list view */
.product-item.list-view .shop-item .content .product-description {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: #555;
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 50.4px;
    max-height: 50.4px;
}

/* Adjust text alignment */
.product-item.list-view .shop-item .content .name {
    text-align: left;
}

.product-item.list-view .shop-item .content .price {
    text-align: left;
    line-height: 1.5;
}

.product-item.list-view .shop-item .content .product-tags {
    justify-content: flex-start;
}

/* List view RTL (Arabic) - reverse row direction */
.lang-ar .product-item.list-view .shop-item {
    flex-direction: row-reverse;
}

.lang-ar .product-item.list-view .shop-item .content {
    text-align: right;
    padding: 0 20px 0 0;
}

.lang-ar .product-item.list-view .shop-item .content .name {
    text-align: right;
}

.lang-ar .product-item.list-view .shop-item .content .price {
    text-align: right;
}

.lang-ar .product-item.list-view .shop-item .content .product-tags {
    justify-content: flex-end;
}

.lang-ar .product-item.list-view .shop-item .icon .icon-container {
    right: auto;
    left: 10px;
}

/* ========== QUICK ADD MODAL STYLES ========== */

/* Quick Add Modal Container */
.quick-add-modal {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    z-index: 9999;
    display: none;
}

.quick-add-modal.active {
    display: flex;
    flex-direction: column;
}

/* Loading Spinner */
.quick-add-loading-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10002;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.quick-add-loading-spinner .spinner {
    width: 50px;
    height: 50px;
    border: 4px solid rgba(255, 255, 255, 0.2);
    border-top: 4px solid var(--Primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.quick-add-loading-spinner p {
    color: var(--White);
    font-size: 16px;
    margin: 0;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Overlay */
.quick-add-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: -1;
}

/* Quick Add Container - Narrower, centered */
.quick-add-container {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    top: 25%;
    background-color: var(--bg-main);
    border-radius: 20px 20px 0 0;
    display: flex;
    flex-direction: column;
    z-index: 10000;
    box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.3);
    width: 100%;
    max-height: 75vh;
}

/* Close Button */
.quick-add-close-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    background: none;
    border: none;
    font-size: 28px;
    color: var(--White);
    cursor: pointer;
    z-index: 10001;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.quick-add-close-btn:hover {
    color: var(--Primary);
    transform: rotate(90deg);
}

/* Content Wrapper */
.quick-add-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 30px 30px 0 30px;
    position: relative;
    background-color: #212121;
}

/* Header Section - Image and Info */
.quick-add-header {
    display: flex;
    gap: 30px;
    margin-bottom: 30px;
    flex-shrink: 0;
}

/* Product Image Wrapper */
.quick-add-image-wrapper {
    flex-shrink: 0;
    width: 200px;
    border-radius: 10px;
    background-color: var(--bg-2);
}

.quick-add-image-wrapper .qa-carousel {
    height: 200px;
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

/* Carousel Track - Contains all slides */
.qa-carousel-track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.3s ease;
    will-change: transform;
}

/* Carousel Slide - Each image slide */
.qa-carousel-slide {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.qa-carousel-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    -webkit-user-select: none;
    user-select: none;
}

/* Carousel Dots Container */
.qa-carousel-dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    padding: 8px;
}

/* Carousel Dot Button */
.qa-carousel-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background-color: rgba(255, 255, 255, 0.3);
    cursor: pointer;
    padding: 0;
    transition: background-color 0.3s ease;
    -webkit-tap-highlight-color: transparent;
}

.qa-carousel-dot:active,
.qa-carousel-dot:focus {
    outline: none;
}

.qa-carousel-dot.active {
    background-color: rgba(255, 255, 255, 0.8);
}

.qa-carousel-dot:not(.active):hover {
    background-color: rgba(255, 255, 255, 0.5);
}

.quick-add-product-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Product Info Wrapper */
.quick-add-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.quick-add-product-name {
    font-size: 32px;
    font-weight: bold;
    color: var(--White);
    margin: 0;
    line-height: 1.2;
}

.quick-add-product-price {
    font-size: 24px;
    color: var(--Primary);
    margin: 0;
    font-weight: 600;
}

.quick-add-product-description {
    font-size: 14px;
    color: var(--color-text-3);
    line-height: 1.6;
    margin: 0;
}

/* Product Tags */
.quick-add-product-tags {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.quick-add-product-tags img {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid var(--Border);
}

/* Body - Scrollable Content */
.quick-add-body {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 10px;
}

.quick-add-body::-webkit-scrollbar {
    width: 6px;
}

.quick-add-body::-webkit-scrollbar-track {
    background: var(--bg-2);
    border-radius: 10px;
}

.quick-add-body::-webkit-scrollbar-thumb {
    background: var(--Primary);
    border-radius: 10px;
}

.quick-add-body::-webkit-scrollbar-thumb:hover {
    background: var(--Secondary);
}

/* Sections */
.quick-add-section {
    border-bottom: 1px solid var(--Border);
}

.quick-add-section h3 {
    font-size: 18px;
    font-weight: 600;
    color: var(--White);
    margin: 0 0 15px 0;
}

/* Attributes Section */
.quick-add-attributes {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.attribute-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.attribute-group label {
    font-size: 14px;
    color: var(--color-text-3);
    font-weight: 500;
}

.attribute-group select,
.attribute-group input {
    padding: 10px 15px;
    background-color: var(--bg-input);
    border: 1px solid var(--Border);
    border-radius: 6px;
    color: var(--White);
    font-size: 14px;
}

.attribute-group select:focus,
.attribute-group input:focus {
    outline: none;
    border-color: var(--Primary);
    box-shadow: 0 0 0 3px rgba(198, 172, 131, 0.1);
}

/* Variants/Options */
.variant-options {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.variant-option {
    padding: 8px 15px;
    background-color: var(--bg-2);
    border: 1px solid var(--Border);
    border-radius: 6px;
    cursor: pointer;
    color: var(--color-text-3);
    transition: all 0.3s ease;
}

.variant-option:hover {
    border-color: var(--Primary);
    color: var(--Primary);
}

.variant-option.selected {
    background-color: var(--Primary);
    border-color: var(--Primary);
    color: var(--Black);
}

/* Add-ons Section */
.quick-add-addons {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.addon-item {
    display: flex;
    gap: 12px;
    padding: 12px;
    background-color: var(--bg-2);
    border-radius: 6px;
    align-items: center;
}

.addon-checkbox {
    width: 20px;
    height: 20px;
    cursor: pointer;
    accent-color: var(--Primary);
}

.addon-info {
    flex: 1;
}

.addon-name {
    font-size: 14px;
    color: var(--White);
    margin: 0;
}

.addon-price {
    font-size: 12px;
    color: var(--Primary);
    margin: 5px 0 0 0;
}

/* Tags Section */
.quick-add-tags-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(50px, 1fr));
    gap: 12px;
}

.tag-item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    background-color: var(--bg-2);
    border-radius: 8px;
    border: 1px solid var(--Border);
    transition: all 0.3s ease;
    cursor: pointer;
}

.tag-item:hover {
    border-color: var(--Primary);
    transform: scale(1.05);
}

.tag-image {
    width: 100%;
    height: 100%;
    max-width: 40px;
    max-height: 40px;
    object-fit: contain;
    border-radius: 4px;
}

/* Item Comment Section */
.quick-add-comment-input {
    width: 100%;
    padding: 10px 15px;
    background-color: var(--bg-input);
    border: 1px solid var(--Border);
    border-radius: 6px;
    color: var(--White);
    font-size: 14px;
    resize: vertical;
    min-height: 50px;
    max-height: 120px;
    font-family: inherit;
}

.quick-add-comment-input:focus {
    outline: none;
    border-color: var(--Primary);
    box-shadow: 0 0 0 3px rgba(198, 172, 131, 0.1);
}

.quick-add-comment-input::placeholder {
    color: var(--color-text-3);
    opacity: 0.6;
}

/* Related Products Section - Clean Card Design */
.quick-add-related-products {
    display: flex;
    overflow-x: auto;
    gap: 12px;
    padding-bottom: 10px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}

.quick-add-related-products::-webkit-scrollbar {
    height: 4px;
}

.quick-add-related-products::-webkit-scrollbar-track {
    background: transparent;
}

.quick-add-related-products::-webkit-scrollbar-thumb {
    background: var(--color-text-3);
    border-radius: 4px;
}

.related-product-card {
    flex: 0 0 auto;
    width: 160px;
    aspect-ratio: 3 / 4;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    scroll-snap-align: start;
    background: var(--bg-2);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: 1px solid var(--Border);
}

.related-product-card:hover {
    transform: scale(1.03);
    box-shadow: 0 4px 16px rgba(0,0,0,0.25);
}

.related-product-card:active {
    transform: scale(0.97);
}

.related-product-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.related-card-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 30px 10px 10px;
    background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.35) 60%, transparent 100%);
    color: #fff;
    pointer-events: none;
}

.related-card-name {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}

.related-card-price {
    font-size: 12px;
    font-weight: 500;
    margin: 3px 0 0;
    opacity: 0.9;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}

/* Footer Section - Sticky at Bottom */
.quick-add-footer {
    display: flex;
    flex-direction: row-reverse;
    gap: 15px;
    justify-content: center;
    padding: 20px 0 0 0;
    border-top: 1px solid var(--Border);
    flex-shrink: 0;
    position: sticky;
    bottom: 0;
    background-color: var(--bg-main);
    padding-bottom: 10px;
}

/* Price Display */
.footer-price-display {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 15px;
    background-color: var(--bg-2);
    border-radius: 6px;
    border: 1px solid var(--Border);
    white-space: nowrap;
    width: 15%;
    justify-content: center;
}

.price-label {
    color: var(--color-text-3);
    font-size: 13px;
    font-weight: 500;
}

.price-value {
    color: var(--Primary);
    font-size: 18px;
    font-weight: 700;
}

.price-currency {
    color: var(--color-text-3);
    font-size: 12px;
}

/* Quantity Selector */
.quantity-selector {
    display: flex;
    align-items: center;
    border: 1px solid var(--Border);
    border-radius: 6px;
    background-color: var(--bg-2);
    overflow: hidden;
    flex-shrink: 0;
    width: 15%;
    justify-content: space-around;
}

.qty-btn {
    background: none;
    border: none;
    color: var(--Primary);
    cursor: pointer;
    padding: 10px 12px;
    font-size: 18px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    line-height: 1;
}

.qty-btn:hover {
    background-color: var(--bg-3);
    color: var(--Secondary);
}

.qty-input {
    width: 45px;
    border: none;
    background: none;
    text-align: center;
    color: var(--White);
    padding: 10px 0;
    font-size: 16px;
    font-weight: 600;
}

.qty-input:focus {
    outline: none;
}

/* Add to Cart Button - Narrower */
.quick-add-cart-btn {
    padding: 10px 20px;
    background-color: var(--Primary);
    color: var(--Black);
    border: none;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    flex-shrink: 0;
    width: 15%;
}

.quick-add-cart-btn:hover {
    background-color: var(--Secondary);
    color: var(--Primary);
}

.quick-add-cart-btn:active {
    transform: scale(0.98);
}

/* Button Spinner Styles */
.quick-add-cart-btn .btn-spinner {
    display: inline-block;
    margin-right: 8px;
    vertical-align: middle;
}

.quick-add-cart-btn .spinner-dots {
    display: inline-flex;
    gap: 4px;
}

.quick-add-cart-btn .spinner-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--Black);
    animation: spinnerBounce 1.4s infinite;
}

.quick-add-cart-btn .spinner-dot:nth-child(1) {
    animation-delay: -0.32s;
}

.quick-add-cart-btn .spinner-dot:nth-child(2) {
    animation-delay: -0.16s;
}

@keyframes spinnerBounce {
    0%,
    80%,
    100% {
        transform: scale(0.8);
        opacity: 0.7;
    }
    40% {
        transform: scale(1);
        opacity: 1;
    }
}

.quick-add-cart-btn:disabled {
    opacity: 0.8;
    cursor: not-allowed;
}

.quick-add-cart-btn .btn-text {
    transition: opacity 0.2s ease;
}

/* RTL Support for Quick Add Modal - ONLY within RTL quick-add container */
#quickAddModal[dir="rtl"] .quick-add-close-btn {
    right: auto;
    left: 20px;
}

#quickAddModal[dir="rtl"] .quick-add-header {
    flex-direction: row-reverse;
}

#quickAddModal[dir="rtl"] .quick-add-image-wrapper {
    order: 2;
}

#quickAddModal[dir="rtl"] .quick-add-info {
    order: 1;
}

#quickAddModal[dir="rtl"] .quick-add-product-name {
    text-align: right;
}

#quickAddModal[dir="rtl"] .quick-add-product-price {
    text-align: right;
}

#quickAddModal[dir="rtl"] .quick-add-product-description {
    text-align: right;
}

#quickAddModal[dir="rtl"] .quick-add-product-tags {
    justify-content: flex-end;
}

#quickAddModal[dir="rtl"] .quick-add-body {
    padding-right: 0;
    padding-left: 10px;
}

#quickAddModal[dir="rtl"] .quick-add-section h3 {
    text-align: right;
}

#quickAddModal[dir="rtl"] .attribute-group label {
    text-align: right;
}

#quickAddModal[dir="rtl"] .attribute-group select,
#quickAddModal[dir="rtl"] .attribute-group input {
    text-align: right;
    direction: rtl;
}

#quickAddModal[dir="rtl"] .quick-add-comment-input {
    text-align: right;
    direction: rtl;
}

#quickAddModal[dir="rtl"] .addon-name {
    text-align: right;
}

#quickAddModal[dir="rtl"] .addon-item {
    flex-direction: row-reverse;
}

#quickAddModal[dir="rtl"] .footer-price-display {
    direction: rtl;
    flex-direction: row;
    text-align: right;
}

#quickAddModal[dir="rtl"] .quick-add-footer {
    flex-direction: row;
    justify-content: center;
}

/*# sourceMappingURL=styles.css.map */
#wrapper3 {
    background: #f6f7fb;
}
.cart-page-section {
    padding: 48px 20px;
    min-height: 100%;
}

.icon-inline {
    width: 20px;
    height: 20px;
    fill: currentColor;
    display: inline-block;
    vertical-align: middle;
}

.icon-inline-lg {
    width: 28px;
    height: 28px;
}

.cart-header {
    margin-bottom: 32px;
    text-align: left;
}

.cart-header h1 {
    font-size: 2.3rem;
    font-weight: 750;
    color: #1f1f1f;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 12px;
    letter-spacing: 0.01em;
}

.cart-header i {
    font-size: 2.4rem;
    color: #a83232;
}

.cart-subtitle {
    color: #3a3a3a;
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
}

/* Cart Items Container */
.cart-items-container {
    background-color: transparent;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* Empty Cart */
.empty-cart-message {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 60px 40px;
    text-align: center;
}

.empty-cart-message i {
    font-size: 4rem;
    color: #ddd;
    margin-bottom: 20px;
}

.empty-cart-message h2 {
    font-size: 1.8rem;
    color: #212121;
    margin-bottom: 10px;
}

.empty-cart-message p {
    color: #ffffff;
    margin-bottom: 30px;
}

/* Individual Cart Item */
.cart-item {
    display: flex;
    gap: 20px;
    padding: 20px;
    border: 1px solid #e7e7e7;
    transition: all 0.2s ease;
    background-color: #ffffff;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}

.cart-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.06);
}

.cart-item-image {
    width: 120px;
    height: 120px;
    border-radius: 10px;
    object-fit: contain;
    background-color: #f0f0f0;
    flex-shrink: 0;
}

.cart-item-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.cart-item-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: #151515;
    margin: 0 0 12px 0;
}

.pill {
    display: inline-block;
    background: #f1f1f1;
    color: #444;
    border-radius: 999px;
    padding: 7px 14px;
    font-size: 0.9rem;
    margin: 0 6px 8px 0;
    line-height: 1.25;
}

.cart-item-attrs,
.cart-item-addons {
    font-size: 1rem;
    color: #4a4a4a;
    margin-bottom: 10px;
}

.cart-item-price {
    font-size: 1.25rem;
    font-weight: 750;
    color: #a83232;
}

.cart-item-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cart-qty-wrapper {
    display: flex;
    align-items: center;
    gap: 0;
    background-color: #f7f7f7;
    border: 1px solid #e2e2e2;
    border-radius: 8px;
    overflow: hidden;
}

.cart-qty-btn {
    width: 44px;
    height: 44px;
    border: none;
    background-color: transparent;
    color: #444;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    font-weight: 750;
    transition: all 0.2s ease;
    padding: 0;
}

.cart-qty-btn:hover {
    background-color: #ececec;
    color: #a83232;
}

.cart-qty-input {
    width: 58px;
    padding: 9px 0;
    border: none;
    background-color: #ffffff;
    text-align: center;
    font-size: 1.05rem;
    font-weight: 750;
    color: #1f1f1f;
}

.cart-qty-input::-webkit-outer-spin-button,
.cart-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.cart-qty-input[type="number"] {
    -moz-appearance: textfield;
}

/* Edit button for cart items */
.cart-edit-btn {
    background: none;
    border: none;
    color: #888;
    cursor: pointer;
    padding: 8px 10px;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 6px;
}

.cart-edit-btn:hover {
    color: var(--Primary);
    transform: scale(1.02);
}

.cart-edit-icon {
    width: 22px;
    height: 22px;
    fill: currentColor;
    display: block;
}

.remove-item-btn {
    background: none;
    border: none;
    color: #888;
    cursor: pointer;
    padding: 8px 10px;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.remove-item-btn:hover {
    color: #a83232;
    transform: scale(1.02);
}

.remove-item-icon {
    width: 22px;
    height: 22px;
    fill: currentColor;
    display: block;
}

/* Cart Summary */
.cart-summary-card {
    background-color: #ffffff;
    border-radius: 14px;
    padding: 24px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.06);
    position: sticky;
    top: 90px;
    width: 100%;
    border: 1px solid #e7e7e7;
}

.cart-summary-card h3 {
    font-size: 1.2rem;
    font-weight: 750;
    color: #151515;
    margin-bottom: 18px;
}

.summary-section {
    margin-bottom: 25px;
}

.summary-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    color: #2c2c2c;
    font-size: 1.05rem;
}

.summary-row span:last-child {
    text-align: right;
}

.summary-divider {
    height: 1px;
    background-color: #ececec;
    margin: 12px 0;
}

.total-row {
    font-weight: 850;
    color: #a83232;
    font-size: 1.35rem;
    padding-top: 6px;
}

/* Coupon Section */
.coupon-section {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}

.coupon-input {
    flex: 1;
    padding: 12px 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
}

.coupon-input:focus {
    outline: none;
    border-color: #a83232;
    box-shadow: 0 0 0 3px rgba(168, 50, 50, 0.1);
}

.btn-apply-coupon {
    padding: 12px 16px;
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
    font-size: 0.98rem;
}

.btn-apply-coupon:hover {
    background-color: #ededed;
}

.coupon-hint {
    margin: 4px 0 14px 2px;
    color: #666;
    font-size: 0.92rem;
    font-weight: 500;
}

/* Checkout Button */
.btn-checkout-full {
    width: 100%;
    padding: 15px;
    background-color: #a83232;
    color: white;
    border: none;
    border-radius: 10px;
    font-weight: 750;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 14px;
    font-size: 1.05rem;
    letter-spacing: 0.01em;
}

.btn-checkout-full:hover {
    background-color: #8b0000;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(168, 50, 50, 0.3);
}

.btn-continue-shopping {
    display: block;
    text-align: center;
    padding: 12px;
    color: #212121;
    text-decoration: none;
    border: 1px solid #ddd;
    border-radius: 10px;
    transition: all 0.2s ease;
    margin-bottom: 18px;
    font-weight: 650;
    font-size: 1rem;
}

.btn-continue-shopping:hover {
    background-color: #f0f0f0;
    border-color: #a83232;
    color: #a83232;
}

/* Delivery Info */
.delivery-info {
    background-color: #f8f8f8;
    border-radius: 10px;
    padding: 14px 16px;
    border: 1px solid #e8e8e8;
}

.info-item {
    display: flex;
    gap: 12px;
    margin-bottom: 15px;
}

.info-item:last-child {
    margin-bottom: 0;
}

.info-item i {
    font-size: 1.3rem;
    color: #a83232;
    flex-shrink: 0;
    margin-top: 2px;
}

.info-title {
    font-weight: 700;
    color: #212121;
    margin: 0 0 2px 0;
    font-size: 1rem;
}

.info-text {
    color: #666;
    margin: 0;
    font-size: 0.92rem;
}

/* Cart Page RTL (Arabic only): keep main columns order, flip card/content direction */
html[lang="ar"] .cart-page-section {
    direction: rtl;
    text-align: right;
}

/* Keep products column on the left and summary/checkout on the right */
html[lang="ar"] .cart-page-section .row {
    direction: ltr;
}

html[lang="ar"] .cart-page-section .col-lg-8,
html[lang="ar"] .cart-page-section .col-lg-4 {
    direction: rtl;
}

html[lang="ar"] .cart-header {
    text-align: right;
}

html[lang="ar"] .cart-header h1 {
    flex-direction: row-reverse;
    justify-content: flex-end;
}

html[lang="ar"] .cart-item {
    flex-direction: row-reverse;
    text-align: right;
}

html[lang="ar"] .cart-item-details {
    text-align: right;
}

html[lang="ar"] .cart-item-actions {
    flex-direction: row-reverse;
}

html[lang="ar"] .pill {
    margin: 0 0 8px 6px;
}

html[lang="ar"] .cart-summary-card,
html[lang="ar"] .cart-summary-card h3,
html[lang="ar"] .summary-row,
html[lang="ar"] .btn-checkout-full {
    text-align: right;
}

html[lang="ar"] .btn-checkout-full,
html[lang="ar"] .btn-continue-shopping {
    flex-direction: row-reverse;
}

html[lang="ar"] .cart-item-comment i {
    margin-right: 0 !important;
    margin-left: 4px !important;
}

.mini-cart {
    position: fixed;
    left: 0;
    right: auto;
    top: 0;
    width: 450px;
    height: 100vh;
    background-color: #f8f8f8;
    box-shadow: 2px 0 15px rgba(0, 0, 0, 0.1);
    z-index: 1020;
    display: flex;
    flex-direction: column;
    transform: translate3d(-100%, 0, 0);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.mini-cart.active {
    transform: translate3d(0, 0, 0);
}

.mini-cart-header {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #e0e0e0;
    background-color: white;
}

.mini-cart-header h2 {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: #212121;
}

.mini-cart-close-btn {
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: #666;
    transition: all 0.3s ease;
    padding: 5px;
}

.mini-cart-close-btn:hover {
    color: #a83232;
    transform: rotate(90deg);
}

.mini-cart-items-wrapper {
    flex: 1;
    overflow-y: auto;
    background-color: #212121;
}

.mini-cart-free-delivery {
    display: none;
    padding: 12px 14px;
    background: #f7f1ea;
    border-radius: 0;
    margin: 0;
    border: 5px solid transparent;
}

.mini-cart-free-delivery-text {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 8px;
}

.mini-cart-free-delivery-icon {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    object-fit: contain;
}

.mini-cart-progress {
    height: 8px;
    background: #e5d8c8;
    border-radius: 6px;
    overflow: hidden;
}

.mini-cart-progress-bar {
    width: 0;
    height: 100%;
    transition: width 0.25s ease, background-color 0.25s ease;
}

.mini-cart-progress-bar.progress-red {
    background: #a83333;
}

.mini-cart-progress-bar.progress-orange {
    background: #d9782b;
}

.mini-cart-progress-bar.progress-yellow {
    background: #e5bf42;
}

.mini-cart-progress-bar.progress-green {
    background: #4c9a4f;
}

.mini-cart-free-delivery.flash-empty-border {
    animation: miniCartFreeDeliveryFlashEmpty 1s ease-in-out infinite;
}

.mini-cart-free-delivery.flash-success-border {
    animation: miniCartFreeDeliveryFlashSuccess 1s ease-in-out infinite;
}

@keyframes miniCartFreeDeliveryFlashEmpty {
    0%,
    100% {
        border-color: transparent;
        box-shadow: none;
    }
    50% {
        border-color: #a83333;
        box-shadow: 0 0 0 1px rgba(168, 51, 51, 0.2);
    }
}

@keyframes miniCartFreeDeliveryFlashSuccess {
    0%,
    100% {
        border-color: transparent;
        box-shadow: none;
    }
    50% {
        border-color: #9fd68a;
        box-shadow: 0 0 0 1px rgba(159, 214, 138, 0.25);
    }
}

.mini-cart-items {
    padding: 0;
}

.empty-cart-message {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    text-align: center;
    color: #999;
    padding: 40px 20px;
}

.empty-cart-message i {
    font-size: 3rem;
    color: #ddd;
    margin-bottom: 20px;
}

.empty-cart-message p {
    margin: 5px 0;
}

.empty-cart-message .text-muted {
    font-size: 0.9rem;
}

/* Individual Cart Item */
.mini-cart-item {
    background-color: white;
    padding: 15px 5px;
    border-radius: 0px;
    display: flex;
    gap: 12px;
    border: 1px solid #eee;
    transition: all 0.3s ease;
}

.mini-cart-item:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.mini-cart-item-image {
    width: 80px;
    height: 80px;
    border-radius: 6px;
    object-fit: contain;
    background-color: #f0f0f0;
}

.mini-cart-item-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.mini-cart-item-name {
    font-weight: 600;
    font-size: 0.95rem;
    color: #212121;
    margin: 0 0 5px 0;
    line-height: 1.3;
    max-height: 2.6em;
    overflow: hidden;
}

.mini-cart-item-attrs {
    font-size: 11px;
    color: #666;
    margin: 3px 0;
}

.mini-cart-item-price {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: #a83232;
    font-size: 0.95rem;
}

.mini-cart-total-display {
    display: flex;
    align-items: center;
    gap: 6px;
}

.mini-cart-item-controls {
    display: flex;
    gap: 0;
    align-items: center;
    justify-content: flex-end;
}

.mini-cart-qty-wrapper {
    display: flex;
    align-items: center;
    gap: 0;
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
}

.mini-cart-qty-btn {
    width: 28px;
    height: 28px;
    border: none;
    background-color: transparent;
    color: #666;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    font-weight: 600;
    transition: all 0.3s ease;
    padding: 0;
}

.mini-cart-qty-btn:hover {
    background-color: #e8e8e8;
    color: #a83232;
}

.mini-cart-qty-input {
    width: 35px;
    padding: 4px 0;
    border: none;
    background-color: white;
    text-align: center;
    font-size: 0.85rem;
    font-weight: 600;
    color: #212121;
}

.mini-cart-qty-input::-webkit-outer-spin-button,
.mini-cart-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.mini-cart-qty-input[type="number"] {
    -moz-appearance: textfield;
}

.mini-cart-remove-btn {
    background: none;
    border: none;
    color: #999;
    cursor: pointer;
    padding: 6px 8px;
    transition: all 0.3s ease;
    font-size: 1.1rem;
    margin-left: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Edit button for mini-cart items */
.mini-cart-edit-btn {
    background: none;
    border: none;
    color: #999;
    cursor: pointer;
    padding: 6px 8px;
    transition: all 0.3s ease;
    font-size: 1.1rem;
    margin-right: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mini-cart-edit-btn:hover {
    color: var(--Primary);
    transform: scale(1.15);
}

.mini-cart-edit-icon {
    width: 18px;
    height: 18px;
    fill: currentColor;
    display: block;
}

.mini-cart-remove-btn:hover {
    color: #a83232;
    transform: scale(1.15);
}

.mini-cart-remove-icon {
    width: 18px;
    height: 18px;
    fill: currentColor;
    display: block;
}

/* Cart Summary */
.mini-cart-summary {
    padding: 15px 20px;
    background-color: white;
    border-top: 1px solid #e0e0e0;
    font-size: 0.95rem;
}

.summary-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    color: #666;
}

.summary-row span:last-child {
    text-align: right;
}

.summary-total {
    font-weight: 600;
    color: #212121;
    font-size: 1.05rem;
    padding-top: 8px;
    border-top: 1px solid #e0e0e0;
}

/* Footer Buttons */
.mini-cart-footer {
    padding: 15px;
    background-color: white;
    border-top: 1px solid #e0e0e0;
    display: flex;
    gap: 10px;
}

.btn-checkout,
.btn-view-cart {
    flex: 1;
    padding: 12px;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 0.9rem;
}

.btn-checkout {
    background-color: #a83232;
    color: white;
}

.btn-checkout:hover {
    background-color: #8b0000;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(168, 50, 50, 0.3);
}

.btn-checkout.is-disabled {
    background-color: #b8b8b8;
    color: #f4f4f4;
    cursor: not-allowed;
    pointer-events: none;
    transform: none;
    box-shadow: none;
}

#miniCart[dir="rtl"] .mini-cart-item-price,
#miniCart[dir="rtl"] .mini-cart-total-display {
    direction: rtl;
    flex-direction: row;
    text-align: right;
}

.btn-view-cart {
    background-color: #f0f0f0;
    color: #212121;
    border: 1px solid #ddd;
}

.btn-view-cart:hover {
    background-color: #e0e0e0;
    transform: translateY(-2px);
}

/* Scrollbar Styling */
.mini-cart-items-wrapper::-webkit-scrollbar {
    width: 6px;
}

.mini-cart-items-wrapper::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.mini-cart-items-wrapper::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 3px;
}

.mini-cart-items-wrapper::-webkit-scrollbar-thumb:hover {
    background: #999;
}

@media (max-width: 768px) {
    .mini-cart-free-delivery-text {
        font-size: 13px;
        gap: 6px;
    }

    .mini-cart-free-delivery-icon {
        width: 20px;
        height: 20px;
        flex-basis: 20px;
    }
}

@media (max-width: 480px) {
    .mini-cart-free-delivery-text {
        font-size: 12px;
    }

    .mini-cart-free-delivery-icon {
        width: 18px;
        height: 18px;
        flex-basis: 18px;
    }
}

.reservation-form-section {
    padding: 80px 0;
    min-height: calc(100vh - 100px);
}
.reservation-form-card {
    background-color: #2a2a2a;
    border-radius: 10px;
    padding: 40px;
    box-shadow: 0 5px 20px rgba(198, 172, 131, 0.1);
}
.reservation-title {
    color: #c6ac83;
    font-size: 2.5rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 40px;
    text-transform: uppercase;
    letter-spacing: 2px;
}
.form-label {
    color: #c6ac83;
    font-weight: 600;
    margin-bottom: 8px;
}
.form-control,
.form-select {
    background-color: #1a1a1a;
    border: 1px solid #c6ac83;
    color: #ffffff;
    padding: 12px 15px;
    border-radius: 5px;
}
.form-control:focus,
.form-select:focus {
    background-color: #1a1a1a;
    border-color: #c6ac83;
    color: #ffffff;
    box-shadow: 0 0 0 0.25rem rgba(198, 172, 131, 0.25);
}
.form-control::placeholder {
    color: #888;
}
.btn-complete-reservation {
    background-color: #c6ac83;
    color: #1a1a1a;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 15px 50px;
    border: none;
    border-radius: 5px;
    transition: all 0.3s ease;
}
.btn-complete-reservation:hover {
    background-color: #b39a72;
    color: #000;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(198, 172, 131, 0.3);
}
.alert {
    border-radius: 5px;
    margin-bottom: 25px;
}
.section-divider {
    border-bottom: 2px solid #c6ac83;
    padding-bottom: 10px;
    margin-bottom: 25px;
    color: #c6ac83;
    font-size: 1.3rem;
    font-weight: 600;
}
.required-asterisk {
    color: #ff6b6b;
}
.form-text {
    color: #c6ac83;
    font-size: 0.9rem;
}
.text-danger {
    color: #ff6b6b !important;
}
.text-warning {
    color: #ffc107 !important;
}
.invalid-feedback {
    color: #ff6b6b;
}
option {
    background-color: #1a1a1a;
    color: #ffffff;
}
option:disabled {
    color: #666;
}
.loading-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.8);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}
.spinner-container {
    text-align: center;
}
.spinner-border {
    width: 50px;
    height: 50px;
    border: 4px solid rgba(198, 172, 131, 0.3);
    border-top-color: #c6ac83;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* ===== RESERVATION STEP FORM STYLES ===== */

/* Step Indicators */
.step-indicators {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    margin-bottom: 30px;
}

.step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    flex: 1;
}

.step-number {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #333;
    color: #888;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 16px;
    border: 2px solid #555;
    margin-bottom: 8px;
    transition: all 0.3s ease;
}

.step.active .step-number {
    background-color: #c6ac83;
    color: #1a1a1a;
    border-color: #c6ac83;
}

.step.completed .step-number {
    background-color: #c6ac83;
    color: #1a1a1a;
    border-color: #c6ac83;
}

.step.completed .step-number::after {
    content: "✓";
    color: #198754;
    font-size: 18px;
}

.step-label {
    font-size: 13px;
    color: #888;
    text-transform: uppercase;
    font-weight: 600;
}

.step.active .step-label {
    color: #c6ac83;
}

.step-line {
    flex: 1;
    height: 2px;
    background-color: #333;
    margin: 0 15px;
    position: relative;
}

/* Step Content */
.step-content {
    display: none;
    animation: fadeIn 0.3s ease-in;
}

.step-content.active {
    display: block;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.step-title {
    color: #c6ac83;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 25px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Reservation Type Options */
.reservation-types {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.type-option {
    cursor: pointer;
    margin-bottom: 0;
}

.type-option input[type="radio"] {
    display: none;
}

.type-card {
    padding: 20px;
    border: 2px solid #333;
    border-radius: 8px;
    background-color: #1a1a1a;
    transition: all 0.3s ease;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    cursor: pointer;
}

.type-option input[type="radio"]:checked ~ .type-card {
    border-color: #c6ac83;
    background-color: rgba(198, 172, 131, 0.1);
}

.type-option input[type="radio"]:checked ~ .type-card .type-content h4 {
    color: #000;
}

.type-option:hover .type-card {
    border-color: #c6ac83;
    transform: translateY(-2px);
}

.type-icon {
    font-size: 28px;
    color: #c6ac83;
    min-width: 35px;
    text-align: center;
}

.type-content {
    flex: 1;
}

.type-content h4 {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
}

.type-content p {
    color: #888;
    font-size: 13px;
    margin: 0;
    line-height: 1.5;
}

/* Sub-options */
.sub-options {
    background-color: rgba(198, 172, 131, 0.05);
    border-left: 3px solid #c6ac83;
    padding: 20px;
    margin: 20px 0;
    border-radius: 5px;
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        opacity: 0;
        max-height: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        max-height: 500px;
        transform: translateY(0);
    }
}

.sub-option-label {
    color: #c6ac83;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.sub-option {
    cursor: pointer;
    margin-bottom: 15px;
    display: block;
}

.sub-option input[type="radio"] {
    display: none;
}

.sub-option-card {
    padding: 15px;
    border: 2px solid #333;
    border-radius: 6px;
    background-color: #1a1a1a;
    transition: all 0.3s ease;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}

.sub-option input[type="radio"]:checked ~ .sub-option-card {
    border-color: #c6ac83;
    background-color: rgba(198, 172, 131, 0.1);
}

.sub-option input[type="radio"]:checked ~ .sub-option-card h5 {
    color: #000;
}

.sub-option:hover .sub-option-card {
    border-color: #c6ac83;
}

.sub-option-icon {
    font-size: 20px;
    color: #c6ac83;
    min-width: 25px;
    text-align: center;
}

.sub-option-card h5 {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 4px;
}

.sub-option-card p {
    color: #888;
    font-size: 12px;
    margin: 0;
}

/* Buttons */
.button-group {
    display: flex;
    gap: 15px;
    justify-content: flex-end;
    margin-top: 30px;
}

.btn-next,
.btn-back,
.btn-complete {
    padding: 12px 30px;
    font-size: 14px;
    font-weight: 600;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.btn-next,
.btn-complete {
    background-color: #c6ac83;
    color: #1a1a1a;
    width: 50%;
}

.btn-next:hover:not(:disabled),
.btn-complete:hover {
    background-color: #b39a72;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(198, 172, 131, 0.3);
}

.btn-next:disabled {
    background-color: #555;
    color: #888;
    cursor: not-allowed;
    opacity: 0.6;
}

.btn-back {
    background-color: transparent;
    color: #c6ac83;
    border: 2px solid #c6ac83;
}

.btn-back:hover {
    background-color: rgba(198, 172, 131, 0.1);
    transform: translateY(-2px);
}

/* Reservation Form Section */

.reservation-form-card {
    background-color: #2a2a2a;
    border: 1px solid rgba(198, 172, 131, 0.2);
    border-radius: 10px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}

.reservation-title {
    color: #c6ac83;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 30px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Form Fields */
.form-group {
    margin-bottom: 20px;
}

.form-group label {
    color: #c6ac83;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    display: block;
}

.form-control {
    border: 2px solid #333;
    border-color: #c6ac83;
    color: #ffffff;
    padding: 12px 15px;
    border-radius: 5px;
    font-size: 13px;
    transition: all 0.3s ease;
}

.form-control:focus {
    border-color: #c6ac83;
    color: #ffffff;
    box-shadow: 0 0 10px rgba(198, 172, 131, 0.2);
}

.form-control::placeholder {
    color: #666;
}

.form-select {
    border: 2px solid #333;
    color: #fff;
    padding: 12px 15px;
    border-radius: 5px;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.form-select:focus {
    border-color: #c6ac83;
    box-shadow: 0 0 10px rgba(198, 172, 131, 0.2);
}

.form-select option {
    color: #fff;
}

/* Loading Overlay */
.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.85);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 2000;
}

.loading-overlay.show {
    display: flex;
}

.spinner {
    width: 50px;
    height: 50px;
    border: 4px solid rgba(198, 172, 131, 0.3);
    border-top-color: #c6ac83;
    border-radius: 50%;
    animation: spinnerRotate 1s linear infinite;
}

@keyframes spinnerRotate {
    to {
        transform: rotate(360deg);
    }
}

.customer-spa-wrapper {
    min-height: calc(100vh - 250px);
    padding: 30px 15px;
}

.customer-spa-container {
    max-width: 80%;
    margin: 0 auto;
}

.customer-sidebar {
    min-width: 280px;
}

.sidebar-card {
    border-radius: 12px;
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.profile-section {
    text-align: center;
    padding: 24px 16px;
    border-bottom: 1px solid #e8e8e8;
    background: linear-gradient(135deg, #c6ac83 0%, #d4c4a8 100%);
    color: #212529;
}

.profile-avatar {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid rgba(255, 255, 255, 0.3);
    margin-bottom: 12px;
}

.profile-name {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 4px;
}

.profile-phone {
    font-size: 12px;
    opacity: 0.9;
    margin-bottom: 12px;
}

.loyalty-badge {
    display: inline-block;
    background-color: rgba(255, 255, 255, 0.9);
    color: #d4c4a8;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.nav-menu {
    padding: 12px;
}

.customer-nav-item {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    margin-bottom: 6px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    background: none;
    width: 100%;
    text-align: left;
    color: #555;
    font-size: 13px;
    font-weight: 500;
    font-family: inherit;
}

.customer-nav-item:hover:not(.logout-btn) {
    background-color: #e8eaf6;
    color: #d4c4a8;
    padding-left: 20px;
}

.customer-nav-item.active {
    background: linear-gradient(135deg, #1a1a1a 0%, #000 100%);
    color: white;
}

.customer-nav-item.logout-btn {
    color: #dc3545;
}

.customer-nav-item.logout-btn:hover {
    background-color: #fff5f5;
}

.customer-nav-item i {
    width: 18px;
    margin-right: 12px;
    text-align: center;
    font-size: 14px;
}

.customer-content {
    flex: 1;
}

.welcome-card {
    border-radius: 12px;
    border: none;
    background: linear-gradient(135deg, #1a1a1a 0%, #000 100%);
    color: white;
    margin-bottom: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.welcome-card .card-body {
    padding: 30px;
}

.welcome-card h3 {
    font-size: 1.6rem;
    margin-bottom: 10px;
    font-weight: 700;
}

.welcome-card p {
    font-size: 14px;
    opacity: 0.95;
    margin: 0;
}

.stats-card {
    border-radius: 12px;
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    height: 100%;
}

.stats-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.stats-card .card-body {
    padding: 24px 16px;
}

.stats-card-icon {
    font-size: 2.2rem;
    margin-bottom: 12px;
}

.stats-card-value {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 8px;
    color: #333;
}

.stats-card-label {
    font-size: 11px;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.content-card {
    border-radius: 12px;
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.content-card .card-header {
    background: white;
    border: none;
    padding: 20px 24px;
    border-bottom: 1px solid #e8e8e8;
}

.content-card .card-body {
    padding: 24px;
}

.tracking-card {
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 16px;
    background: #fff;
}

.tracking-card-header {
    width: 100%;
    border: 0;
    background: #fafafa;
    padding: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
}

.tracking-number {
    font-weight: 700;
    font-size: 15px;
}

.tracking-sub {
    font-size: 12px;
    color: #777;
}

.tracking-card-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    padding: 0 16px;
}

.tracking-card-body.is-open {
    max-height: 2500px;
    padding-bottom: 16px;
}

.tracking-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin: 16px 0;
}

.detail-label {
    font-size: 11px;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.detail-value {
    font-size: 13px;
    color: #333;
}

.status-steps {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 8px 4px 12px;
}

.status-step {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    padding-left: 2px;
}

.step-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ddd;
    margin-top: 2px;
    flex: 0 0 auto;
}

.step-label {
    font-size: 11px;
    color: #666;
    line-height: 1.2;
}

.step-bar {
    position: absolute;
    top: 14px;
    left: 5px;
    width: 3px;
    height: 22px;
    background: #e0e0e0;
}

.status-step.completed .step-dot,
.status-step.active .step-dot {
    background: #28a745;
}

.status-step.completed .step-bar {
    background: #28a745;
}

.tracking-items {
    border-top: 1px solid #eee;
    margin-top: 12px;
    padding-top: 12px;
}

.table-responsive {
    border-radius: 0 0 12px 12px;
    overflow: hidden;
}

.table {
    margin-bottom: 0;
}

.table thead {
    background-color: #f5f5f5;
    font-weight: 600;
    font-size: 12px;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.table thead th {
    border: none;
    padding: 14px 12px;
}

.table tbody tr {
    border-bottom: 1px solid #e8e8e8;
    transition: background-color 0.2s ease;
}

.table tbody tr:hover {
    background-color: #f9f9f9;
}

.table td {
    padding: 14px 12px;
    vertical-align: middle;
    font-size: 13px;
}

.badge {
    padding: 6px 10px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.btn-sm {
    padding: 6px 12px;
    font-size: 12px;
    border-radius: 6px;
}

.no-content {
    text-align: center;
    padding: 80px 40px;
    color: #999;
}

.no-content-icon {
    font-size: 4rem;
    color: #ddd;
    margin-bottom: 20px;
}

.no-content-text {
    font-size: 16px;
    margin-bottom: 30px;
}


.content-section.active {
    display: block;
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.loading-state {
    text-align: center;
    padding: 60px 30px;
}

.spinner {
    display: inline-block;
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #667eea;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.spinner-text {
    margin-top: 15px;
    font-size: 14px;
    color: #999;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .welcome-card .card-body {
        padding: 24px;
    }

    .welcome-card h3 {
        font-size: 1.4rem;
    }

    .stats-card-icon {
        font-size: 1.8rem;
    }

    .stats-card-value {
        font-size: 1.4rem;
    }
}

@media (max-width: 768px) {
    .customer-spa-wrapper {
        padding: 20px 10px;
    }

    .customer-sidebar {
        min-width: auto;
        margin-bottom: 30px;
    }

    .profile-section {
        padding: 20px 16px;
    }

    .profile-avatar {
        width: 70px;
        height: 70px;
    }

    .profile-name {
        font-size: 14px;
    }

    .customer-nav-item {
        padding: 10px 14px;
        font-size: 12px;
    }

    .customer-nav-item i {
        width: 16px;
        margin-right: 10px;
    }

    .stats-card .card-body {
        padding: 20px 12px;
    }

    .stats-card-icon {
        font-size: 1.6rem;
    }

    .stats-card-value {
        font-size: 1.2rem;
    }

    .welcome-card .card-body {
        padding: 20px;
    }

    .welcome-card h3 {
        font-size: 1.2rem;
    }

    .table td,
    .table th {
        padding: 10px 6px;
        font-size: 12px;
    }

    .no-content {
        padding: 60px 20px;
    }
}

@media (max-width: 480px) {
    .customer-spa-wrapper {
        padding: 15px 8px;
    }

    .profile-avatar {
        width: 60px;
        height: 60px;
    }

    .profile-section {
        padding: 16px 12px;
    }

    .profile-name {
        font-size: 13px;
    }

    .customer-nav-item {
        padding: 8px 12px;
        font-size: 11px;
    }

    .welcome-card h3 {
        font-size: 1rem;
    }

    .welcome-card .card-body {
        padding: 16px;
    }

    .stats-card-value {
        font-size: 1rem;
    }

    .table {
        font-size: 11px;
    }

    .table td,
    .table th {
        padding: 8px 4px;
    }
}
.list-group-item-action.active {
    background: linear-gradient(45deg, #667eea 0%, #764ba2 100%) !important;
    border: none;
}

.list-group-item-action:hover {
    background-color: #f8f9fa;
}

.card {
    transition: transform 0.3s ease;
}

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