/* Table of Contents
----------------------------------


/*------------------------------ (00)-Global CSS ------------------------------*/
/*
0- Global CSS
1- Heading CSS
2- Button CSS
3- Logo Area CSS
4- Page Title CSS
5- Header Area CSS
6- Footer Area CSS
7- Scroll-Top Area CSS
8- Form CSS
9- Dark Form CSS
10- Swiper Pagination CSS
11- Swiper Navigation CSS
12- CheckBox CSS
13- Sidebar Heading CSS
14- Sidebar CSS
*/

/*------------------------------ (01)-Home ------------------------------*/
/*
1- Home
2- Feature
3- Counter
4- Section Slider
5- Home Schedule
6- Speaker Slider
7- Why Choose Us
8- Banner
9- Testimonial
10- Newsletter
11- Latest Blogs
12- Sponsor Slider
*/

/*------------------------------ (02)-About ------------------------------*/

/*--------------- PAGES ---------------*/
/*
1- About Us
2- Why Choose Us
3- Team
4- Team Single
5- Testimonials
6- Faqs
*/

/*------------------------------ (03)-Pages ------------------------------*/

/*--------------- COMPONENTS ---------------*/
/*
01- Tab Information
02- Page Single
03- Page Sidebar
04- Custom Form
*/

/*--------------- PAGES ---------------*/
/*
1- Gallery
2- Tickets
3- Services
4- Service Single
5- Portfolio
6- Portfolio Single
7- Careers
8- Career Single
9- Career Form
10- Venues
11- Venue Single
12- Not Found
13- Privacy Policy
14- Terms & Condition
15- Registration
16- Sponsors
*/


/*------------------------------ (04)-Schedule ------------------------------*/
/*
1- Schedule Tabs
2- Schedule List
3- Schedule Event
4- Schedule Single
*/


/*------------------------------ (05)-Speaker ------------------------------*/
/*
1- Speakers
2- Speaker Single
*/

/*------------------------------ (06)-Blog ------------------------------*/

/*--------------- COMPONENTS ---------------*/
/*
01- Blog-Item
02- Comment 
03- Pages-No
*/

/*--------------- PAGES ---------------*/
/*
1- Blog Grid
2- Blog List
3- Blog Single 
*/

/*------------------------------ (07)-Shop ------------------------------*/

/*--------------- COMPONENTS ---------------*/
/*
01- Filter
02- Shop Header 
03- Quantity Box
04- Product-Item
05- Shop-Title
06- Cart-Summary
07- Radio Button
08- Account-Form
*/

/*--------------- PAGES ---------------*/
/*
1- Shop Grid
2- Shop Standard
3- Product Single
4- Wishlist
5- Cart
6- Checkout
7- Login
8- Register
9- Forgot Password
*/

/*------------------------------ (08)-Contact ------------------------------*/



/*------------------------------ (00)- Global CSS (Start) ------------------------------*/

/*----- 0- Global CSS -----*/
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&family=Syne:wght@400;500;600;700;800&display=swap');

:root{
    --main-color: #38b6ff;
    --accent-color: #5271ff;
    --secondary-color: #ff66c4;
    --black: #000; 
    --white: #fff;
    --light-grey: #E6E6E6;
    --grey: #666; 
    --custom-bg: rgba(0, 0, 0, 0.8);
    --border-radius-1: 0.5rem;
    --border-radius-2: 1rem;
    --border-radius-3: 50%;
    --custom-border: 0.5rem solid var(--main-color);
    --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
}

*{
    font-family: 'Roboto', sans-serif;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0;
    padding: 0; 
    text-decoration: none;
    text-transform: capitalize;
    border: none;
    outline: none;
}

*:not(.portfolio-item){
    -webkit-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
            transition: all 0.2s linear;
}

*::-moz-selection{
    color: var(--white);
    background-color: var(--main-color);
}

*::selection{
    color: var(--white);
    background-color: var(--main-color);
}

body{
    background: #f2f3f8;
    overflow-x: hidden;
    font-size: 1.6rem;
    line-height: 1.5;
}

html{
    font-size: 62.5%;
    overflow-x: hidden;
    scroll-behavior: smooth;
    scroll-padding-top: 7rem;
}

section{
    padding: 3rem 5%;
}

::-webkit-scrollbar{
    width: 0.8rem;
}

::-webkit-scrollbar-track{
    background: var(--black);
}

::-webkit-scrollbar-thumb{
    border-radius: var(--border-radius-2);
    background: var(--main-color);
}

p{
    font-size: 1.6rem;
    line-height: 1.7;
    color: var(--grey);
}

img{
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

/*----- 1- Heading CSS -----*/
.heading{ 
    margin-bottom: 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}

.heading .sub {
    letter-spacing: 0.1rem;
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    color: var(--accent-color);
    background: -webkit-linear-gradient(right, var(--main-color), var(--accent-color));
    background: linear-gradient(270deg, var(--main-color), var(--accent-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 0.5rem;
    position: relative;
    padding-bottom: 0.1rem;
    z-index: 1;
}

.heading .sub:after {
    content: "";
    position: absolute;
    bottom: 0%;
    left: 0%;
    height: 0.4rem;
    width: 100%;
    z-index: -1;
    border-radius: var(--border-radius-2);
    background-image: -webkit-linear-gradient(306deg, var(--main-color), var(--accent-color));
    background-image: linear-gradient(144deg, var(--main-color), var(--accent-color));
}

.heading h2{
    text-align: center;
    font-size: 4rem;  
    font-weight: 600;
    color: var(--black);
    text-shadow: 1px 1px 8px rgba(0,0,0, 0.2);
    letter-spacing: 0.1rem;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.linear-bg .heading h2{
    color: var(--white);
    padding-bottom: 0rem;
}

/*----- 2- Button CSS -----*/
.btn{
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 600;
    padding: 1.5rem 3rem;
    text-align: center;
    color: var(--white);
    background-image: -webkit-linear-gradient(306deg, var(--main-color), var(--accent-color), var(--secondary-color));
    background-image:         linear-gradient(144deg, var(--main-color), var(--accent-color), var(--secondary-color));
    background-size: 300% 100%;
    border-radius: var(--border-radius-1);
    cursor: pointer;
}

.btn:hover{
    background-position: 100% 0px; 
}

/*----- Client Dashboard -----*/
.client-dashboard{
    padding: 5rem 0 6rem;
    background: #f5f6f9;
}

.client-dashboard .dashboard-wrapper{
    max-width: 110rem;
    margin: 0 auto;
    padding: 0 2rem;
}

.client-dashboard .profile-card{
    background: var(--white);
    border-radius: var(--border-radius-1);
    box-shadow: var(--box-shadow);
    padding: 2.4rem;
}

.client-dashboard .profile-card > a.btn-2{
    margin-top: 2rem;
}

.client-dashboard .profile-left{
    display: flex;
    align-items: center;
    gap: 2rem;
}

.client-dashboard .avatar{
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    background: var(--light-grey);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    color: var(--grey);
}

.client-dashboard .profile-name{
    display: flex;
    align-items: center;
    gap: 1rem;
}

.client-dashboard .profile-name h3{
    font-size: 2.4rem;
    font-weight: 600;
    color: var(--black);
}

.client-dashboard .edit-link{
    font-size: 1.6rem;
    color: var(--grey);
}

.client-dashboard .profile-stats{
    margin-top: 0.6rem;
    display: flex;
    gap: 0.8rem;
    color: var(--grey);
    font-size: 1.4rem;
}

.client-dashboard .section-divider{
    height: 0.1rem;
    background: var(--light-grey);
    margin: 2.4rem 0;
}

.client-dashboard .orders-section{
    background: var(--white);
    border-radius: var(--border-radius-1);
    box-shadow: var(--box-shadow);
    padding: 3rem 2.4rem;
}

.client-dashboard .orders-section__header h4{
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--black);
    margin-bottom: 0;
    text-align: center;
}

.client-dashboard .verify-email{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    border: 0.1rem solid var(--light-grey);
    border-radius: var(--border-radius-1);
    padding: 1.6rem 2rem;
    margin-bottom: 2.4rem;
    background: #f9fafc;
}

.client-dashboard .verify-email h5{
    font-size: 1.6rem;
    color: var(--black);
    margin-bottom: 0.4rem;
}

.client-dashboard .verify-email p{
    font-size: 1.4rem;
    color: var(--grey);
}

.client-dashboard .orders-empty{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
    padding: 3rem 1rem;
}

.client-dashboard .ticket-icon{
    width: 7rem;
    height: 7rem;
    border-radius: 50%;
    background: var(--light-grey);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    color: var(--grey);
}

.client-dashboard .orders-empty h5{
    font-size: 1.8rem;
    color: var(--black);
}

.client-dashboard .orders-empty p{
    color: var(--grey);
    font-size: 1.4rem;
}

.client-dashboard .orders-empty .link{
    color: var(--accent-color);
    font-weight: 600;
}

.client-dashboard .table-wrapper{
    margin-top: 2rem;
    overflow-x: auto;
}

.client-dashboard .table-wrapper table{
    width: 100%;
    border-collapse: collapse;
}

/* Client orders table only — planner "Your events" uses .upcoming-table (fluid / wrap) */
.client-dashboard .table-wrapper table:not(.upcoming-table):not(.orders-table){
    min-width: 760px;
}

.client-dashboard .table-wrapper table.orders-table {
    min-width: 760px;
}

.client-dashboard .table-wrapper th,
.client-dashboard .table-wrapper td {
    font-size: 1.45rem;
    line-height: 1.4;
    padding: 1rem 0.8rem;
    text-align: left;
}

.client-dashboard .table-wrapper table:not(.upcoming-table) th,
.client-dashboard .table-wrapper table:not(.upcoming-table) td {
    white-space: nowrap;
}

.client-dashboard .table-wrapper table.upcoming-table th,
.client-dashboard .table-wrapper table.upcoming-table td {
    white-space: normal;
    word-break: break-word;
    vertical-align: top;
}

.client-dashboard .table-wrapper th {
    font-weight: 700;
    border-bottom: 0.1rem solid #eef2f7;
}

.client-dashboard .table-wrapper tbody tr + tr td {
    border-top: 0.1rem solid #f1f5f9;
}

.client-dashboard .interests-section{
    background: var(--white);
    border-radius: var(--border-radius-1);
    box-shadow: var(--box-shadow);
    padding: 1.8rem 2.4rem;
}

.client-dashboard .interests-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--black);
    font-size: 1.6rem;
    font-weight: 600;
}

/*----- Planner Dashboard Enhancements -----*/
.planner-dashboard .profile-stats{
    font-size: 1.6rem;
}

.planner-dashboard .profile-card > .d-flex{
    margin-top: 2rem;
}

.planner-dashboard .planner-metrics{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.6rem;
}

.planner-dashboard .metric-card{
    background: var(--white);
    border-radius: var(--border-radius-1);
    box-shadow: var(--box-shadow);
    padding: 2rem;
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.planner-dashboard .metric-icon{
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 50%;
    background: var(--light-grey);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: var(--main-color);
}

.planner-dashboard .metric-label{
    display: block;
    font-size: 1.4rem;
    color: var(--grey);
}

.planner-dashboard .metric-value{
    font-size: 2.2rem;
    color: var(--black);
    font-weight: 700;
}

.planner-dashboard .planner-section-title{
    font-size: 2.2rem;
    margin-bottom: 2.4rem;
}

.planner-dashboard .table-wrapper{
    max-width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.planner-dashboard .table-wrapper table.upcoming-table{
    width: 100%;
    min-width: 0;
    border-collapse: collapse;
    table-layout: auto;
}

.planner-dashboard .upcoming-table th{
    font-size: 1.5rem;
}

.planner-dashboard .upcoming-table td{
    font-size: 1.5rem;
    font-weight: 500;
}

/* Your events: avoid broken header words; long event titles still wrap in column 2 */
.client-dashboard.planner-dashboard .table-wrapper table.upcoming-table th,
.client-dashboard.planner-dashboard .table-wrapper table.upcoming-table td {
    vertical-align: middle;
}

.client-dashboard.planner-dashboard .upcoming-table th {
    white-space: nowrap;
    word-break: normal;
}

.client-dashboard.planner-dashboard .upcoming-table td:nth-child(2) {
    white-space: normal;
    word-break: break-word;
}

.client-dashboard.planner-dashboard .upcoming-table td:nth-child(3),
.client-dashboard.planner-dashboard .upcoming-table td:nth-child(4),
.client-dashboard.planner-dashboard .upcoming-table td:nth-child(5) {
    white-space: nowrap;
    vertical-align: middle;
}

.client-dashboard.planner-dashboard .planner-tickets-sold-cell {
    text-align: left;
}

.client-dashboard.planner-dashboard .planner-tickets-sold {
    display: inline-block;
    padding: 0.4rem 1rem;
    border-radius: 999px;
    background: -webkit-linear-gradient(135deg, rgba(56, 182, 255, 0.14), rgba(82, 113, 255, 0.1));
    background: linear-gradient(135deg, rgba(56, 182, 255, 0.14), rgba(82, 113, 255, 0.1));
    border: 0.1rem solid rgba(56, 182, 255, 0.28);
    -webkit-box-shadow: 0 0.1rem 0.35rem rgba(15, 23, 42, 0.06);
    box-shadow: 0 0.1rem 0.35rem rgba(15, 23, 42, 0.06);
    font-size: 1.55rem;
    font-weight: 700;
    color: var(--black);
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
    min-width: 1.25ch;
}

.client-dashboard.planner-dashboard .upcoming-table th.planner-events-col-status {
    min-width: 9.5rem;
}

.client-dashboard.planner-dashboard .upcoming-table th.planner-events-col-tickets {
    min-width: 11rem;
}

.client-dashboard.planner-dashboard .upcoming-table th.planner-events-col-export {
    min-width: 10.5rem;
}

.planner-dashboard .planner-event-sold-csv-cell {
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
}

.planner-dashboard .planner-event-sold-csv-btn {
    font-size: 1.35rem;
    font-weight: 600;
    padding: 0.45rem 0.85rem;
    border-radius: 0.45rem;
    white-space: nowrap;
}

.planner-dashboard .event-thumb{
    width: 8rem;
    height: 8rem;
    border-radius: 0.6rem;
    object-fit: cover;
    display: block;
    background: #f2f2f2;
}

/* Planner "Your events": share public event link */
.planner-dashboard .planner-event-share-col {
    width: auto;
    min-width: 9rem;
    white-space: nowrap;
    text-align: left;
    vertical-align: middle;
}

.planner-dashboard .planner-event-share-cell {
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
}

.planner-dashboard .planner-event-share {
    position: relative;
    display: inline-block;
    text-align: left;
}

.planner-dashboard .planner-event-share__toggle {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-width: 0;
    max-width: 100%;
    padding: 0.45rem 0.95rem;
    line-height: 1.2;
    font-weight: 600;
    font-size: 1.35rem;
    white-space: nowrap;
    writing-mode: horizontal-tb;
}

.planner-dashboard .planner-event-share__label {
    display: inline-block;
    white-space: nowrap;
}

.planner-dashboard .planner-event-share__menu {
    position: absolute;
    left: 0;
    right: auto;
    top: calc(100% + 0.35rem);
    min-width: 13rem;
    padding: 0.35rem 0;
    margin: 0;
    list-style: none;
    background: #fff;
    border: 0.1rem solid #e2e8f0;
    border-radius: 0.55rem;
    box-shadow: 0 0.8rem 2.8rem rgba(15, 23, 42, 0.14);
    z-index: 40;
}

.planner-dashboard .planner-event-share__menu[hidden] {
    display: none !important;
}

.planner-dashboard .planner-event-share__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    padding: 0.55rem 1rem;
    border: none;
    background: transparent;
    font-size: 1.35rem;
    font-weight: 500;
    text-align: left;
    color: #0f172a;
    text-decoration: none;
    cursor: pointer;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.planner-dashboard .planner-event-share__item:hover {
    background: #f1f5f9;
}

.planner-dashboard .planner-event-share__item i {
    width: 1.25em;
    text-align: center;
}

.planner-dashboard .status-pill{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.4rem 1rem;
    border-radius: 999px;
    background: #f2f2f2;
    color: var(--black);
    font-size: 1.3rem;
    font-weight: 600;
}

/*----- Public organizer profile -----*/
.organizer-public-profile{
    padding: 2rem 1.5rem 5rem;
    background: #f5f7fb;
}

.organizer-public-profile__inner{
    max-width: 96rem;
    margin: 0 auto;
}

.organizer-public-profile__header{
    display: flex;
    flex-wrap: wrap;
    gap: 2.4rem;
    align-items: flex-start;
    background: var(--white);
    border-radius: var(--border-radius-1);
    box-shadow: var(--box-shadow);
    padding: 2.4rem;
    margin-bottom: 2rem;
}

.organizer-public-profile__avatar-wrap{
    flex-shrink: 0;
}

.organizer-public-profile__avatar{
    width: 14rem;
    height: 14rem;
    border-radius: 1.2rem;
    object-fit: cover;
    display: block;
    background: #eef2f7;
}

.organizer-public-profile__avatar--placeholder{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4rem;
    color: var(--grey);
}

.organizer-public-profile__headline{
    flex: 1;
    min-width: 22rem;
}

.organizer-public-profile__name{
    font-size: 2.8rem;
    font-weight: 700;
    margin: 0 0 0.8rem;
    color: var(--black);
}

.organizer-public-profile__tagline{
    font-size: 1.8rem;
    color: var(--grey);
    margin: 0 0 1.6rem;
}

.organizer-public-profile__actions{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
}

.organizer-public-profile__card{
    background: var(--white);
    border-radius: var(--border-radius-1);
    box-shadow: var(--box-shadow);
    padding: 2.4rem;
    margin-bottom: 2rem;
}

.organizer-public-profile__card-title{
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 1.6rem;
    color: var(--black);
}

.organizer-public-profile__bio{
    font-size: 1.6rem;
    line-height: 1.6;
    color: #334155;
}

.organizer-public-profile__socials{
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem 2rem;
    font-size: 1.6rem;
}

.organizer-public-profile__stats{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: 1.6rem;
}

.organizer-public-profile__stat{
    background: #f8fafc;
    border-radius: 1rem;
    padding: 1.6rem;
    text-align: center;
    border: 0.1rem solid #e2e8f0;
}

.organizer-public-profile__stat--wide{
    grid-column: 1 / -1;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.organizer-public-profile__stat-value{
    display: block;
    font-size: 2.4rem;
    font-weight: 700;
    color: var(--main-color);
}

.organizer-public-profile__stat-label{
    font-size: 1.4rem;
    color: var(--grey);
    font-weight: 600;
}

.organizer-public-profile__stat-hint{
    font-weight: 500;
    color: #64748b;
}

.organizer-public-profile__events{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(26rem, 1fr));
    gap: 1.6rem;
}

.organizer-public-profile__event{
    display: flex;
    gap: 1.2rem;
    align-items: center;
    padding: 1.2rem;
    border-radius: 1rem;
    border: 0.1rem solid #e2e8f0;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.organizer-public-profile__event:hover{
    border-color: var(--main-color);
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.08);
}

.organizer-public-profile__event-thumb{
    width: 8rem;
    height: 8rem;
    flex-shrink: 0;
    border-radius: 0.8rem;
    overflow: hidden;
    background: #f1f5f9;
}

.organizer-public-profile__event-thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.organizer-public-profile__event-body{
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    min-width: 0;
}

.organizer-public-profile__event-title{
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--black);
}

.organizer-public-profile__event-date{
    font-size: 1.4rem;
    color: var(--grey);
}

.cart .quantitly .cart-quantity-form{
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0;
    border: 1px solid #dcdcdc;
    height: 3.6rem;
    width: 11rem;
    border-radius: 0.4rem;
    overflow: hidden;
    background-color: var(--white);
}

.cart .quantitly .cart-quantity-form .minus,
.cart .quantitly .cart-quantity-form .plus{
    width: 3.2rem;
    height: 100%;
    border: none;
    background: #f2f2f2;
    color: var(--black);
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
}

.cart .quantitly .cart-quantity-form .minus:hover,
.cart .quantitly .cart-quantity-form .plus:hover{
    background: var(--main-color);
    color: var(--white);
}

.cart .quantitly .cart-quantity-form .input-text.qty{
    width: 4.6rem;
    height: 100%;
    border-left: 1px solid #dcdcdc;
    border-right: 1px solid #dcdcdc;
    text-align: center;
    font-size: 1.5rem;
    background-color: var(--white);
}

.alert{
    margin: 1rem 0;
    padding: 1rem 1.5rem;
    border-radius: 0.6rem;
    font-size: 1.4rem;
    border: 1px solid transparent;
}

.alert-success{
    background-color: #e8f7ef;
    border-color: #bfe8d1;
    color: #1d6b3a;
}

.alert-danger{
    background-color: #fdeceb;
    border-color: #f5b9b4;
    color: #a1261b;
}

/* Fixed session flash toast (frontend layout) — above header, auto-dismiss */
.flash-toast{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10050;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0.9rem 1.5rem;
    padding-top: max(0.9rem, env(safe-area-inset-top));
    pointer-events: none;
    -webkit-animation: flash-toast-in 0.38s ease-out;
            animation: flash-toast-in 0.38s ease-out;
}

@-webkit-keyframes flash-toast-in{
    from{
        opacity: 0;
        -webkit-transform: translateY(-120%);
                transform: translateY(-120%);
    }
    to{
        opacity: 1;
        -webkit-transform: translateY(0);
                transform: translateY(0);
    }
}

@keyframes flash-toast-in{
    from{
        opacity: 0;
        -webkit-transform: translateY(-120%);
                transform: translateY(-120%);
    }
    to{
        opacity: 1;
        -webkit-transform: translateY(0);
                transform: translateY(0);
    }
}

.flash-toast__inner{
    pointer-events: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    max-width: 52rem;
    width: 100%;
    padding: 1rem 1.4rem;
    border-radius: var(--border-radius-2);
    -webkit-box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.18);
            box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.35);
    text-transform: none;
    text-align: left;
}

[dir="rtl"] .flash-toast__inner{
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    text-align: right;
}

.flash-toast--success .flash-toast__inner{
    background: -webkit-linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    background:         linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    color: #065f46;
}

.flash-toast__icon{
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    font-size: 2.2rem;
    line-height: 1;
    color: #059669;
}

.flash-toast__text{
    font-size: 1.55rem;
    line-height: 1.45;
    font-weight: 500;
}

.flash-toast--hide{
    opacity: 0;
    -webkit-transform: translateY(-130%);
            transform: translateY(-130%);
    -webkit-transition: opacity 0.4s ease, -webkit-transform 0.45s ease;
    transition: opacity 0.4s ease, -webkit-transform 0.45s ease;
    -o-transition: opacity 0.4s ease, transform 0.45s ease;
    transition: opacity 0.4s ease, transform 0.45s ease;
    transition: opacity 0.4s ease, transform 0.45s ease, -webkit-transform 0.45s ease;
}

@media (prefers-reduced-motion: reduce){
    .flash-toast{
        -webkit-animation: none;
                animation: none;
    }

    .flash-toast--hide{
        -webkit-transition: opacity 0.35s ease;
        -o-transition: opacity 0.35s ease;
        transition: opacity 0.35s ease;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none;
    }
}

.payment-option{
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.payment-logo{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 7.2rem;
    height: 3.6rem;
    border-radius: 0.6rem;
    background-color: #f2f4f8;
}

.payment-logo svg{
    width: 100%;
    height: 100%;
    border-radius: 0.6rem;
}

.payment-name{
    font-weight: 600;
}

.payment-card-logos{
    display: flex;
    gap: 0.8rem;
    margin: 0.6rem 0;
}

.payment-card-logos .card-logo{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 2.4rem;
    min-width: 5rem;
    padding: 0 0.8rem;
    border-radius: 0.4rem;
    font-size: 1.1rem;
    font-weight: 700;
    background-color: #f2f4f8;
    color: #1b1b1b;
}

.payment-card-logos .card-logo.visa{
    background-color: #1a1f71;
    color: #fff;
}

.payment-card-logos .card-logo.mastercard{
    background: linear-gradient(90deg, #eb001b 0%, #f79e1b 100%);
    color: #fff;
}

.payment-wallet-logos{
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin: 0.4rem 0 0.6rem;
}

.payment-wallet-logos .wallet-badge{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.4rem;
    padding: 0 0.85rem;
    border-radius: 0.4rem;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.payment-wallet-logos .wallet-badge--apple{
    background-color: #000;
    color: #fff;
}

.payment-wallet-logos .wallet-badge--google{
    background-color: #fff;
    color: #3c4043;
    border: 1px solid #dadce0;
}

.payment-wallet-note{
    margin: 0 0 0.5rem;
    font-size: 1.25rem;
    line-height: 1.45;
    color: #5f6368;
    max-width: 36rem;
}

/* Checkout — modern payment tiles */
.payment-methods--tiles .payment-methods__heading{
    text-align: center;
    margin-bottom: 2rem;
}

.payment-methods--tiles .payment-methods__heading h2{
    text-transform: none;
    letter-spacing: -0.02em;
    font-weight: 700;
    margin-bottom: 0;
}

.payment-methods__sub{
    font-size: 1.45rem;
    color: #5f6368;
    font-weight: 400;
    margin: 0.6rem auto 0;
    max-width: 34rem;
    line-height: 1.5;
}

.payment-methods--tiles .payment-methods__list{
    max-width: 42rem;
    margin: 0 auto;
}

.payment-methods--tiles .payment.payment-method-tile{
    margin-bottom: 1rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.85rem;
    background: linear-gradient(180deg, #fcfcfd 0%, #f9fafb 100%);
    overflow: hidden;
    -webkit-transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    -o-transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.payment-methods--tiles .payment.payment-method-tile:last-child{
    margin-bottom: 0;
}

.payment-methods--tiles .payment-method-tile:has(input:checked){
    border-color: var(--main-color);
    background: #fff;
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 8px 28px rgba(0, 0, 0, 0.07);
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 8px 28px rgba(0, 0, 0, 0.07);
}

.payment-methods--tiles .payment input:focus-visible + .payment-method-tile__label{
    outline: 2px solid var(--main-color);
    outline-offset: 2px;
    border-radius: 0.4rem;
}

.payment-methods--tiles .payment-method-tile__label{
    padding: 1.15rem 1.35rem;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0;
    text-transform: none;
    font-size: 1.65rem;
    font-weight: 600;
    color: #111827;
    gap: 1rem;
}

.payment-methods.payment-methods--tiles .payment input:checked + .payment-method-tile__label{
    color: #111827;
}

.payment-methods--tiles .payment input:checked + .payment-method-tile__label .payment-method-tile__title{
    color: var(--main-color);
}

.payment-methods.payment-methods--tiles .payment .payment-method-tile__label:hover{
    color: #111827;
}

.payment-methods.payment-methods--tiles .payment .payment-method-tile__label:hover .payment-method-tile__title{
    color: var(--main-color);
}

.payment-method-tile__brand{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
}

.payment-method-tile__icon{
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 4.4rem;
    height: 4.4rem;
    border-radius: 0.75rem;
    font-size: 2.2rem;
    line-height: 1;
}

.payment-method-tile__icon--stripe{
    background: linear-gradient(135deg, #635bff 0%, #7a73ff 100%);
    color: #fff;
}

.payment-method-tile__icon--stripe .fa-stripe{
    font-size: 2.6rem;
    -webkit-transform: scale(0.88);
        -ms-transform: scale(0.88);
            transform: scale(0.88);
    -webkit-transform-origin: center;
        -ms-transform-origin: center;
            transform-origin: center;
}

.payment-method-tile__icon--paypal{
    background: #fff;
    border: 1px solid #e0e7ff;
    color: #003087;
}

.payment-method-tile__icon--generic{
    background: #f3f4f6;
    color: #4b5563;
}

.payment-method-tile__title{
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    letter-spacing: 0.01em;
}

.payment-methods--tiles .payment-method-tile__detail{
    margin: 0;
    padding: 0 1.35rem 1.35rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.payment-methods--tiles .payment-method-tile__detail.active{
    display: block;
}

.payment-method-tile__chips{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.55rem;
    margin-bottom: 0.9rem;
}

.payment-chip{
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0.38rem 0.85rem;
    border-radius: 999px;
    font-size: 1.08rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
}

.payment-chip--visa{
    background: #1a1f71;
    color: #fff;
    border-color: #1a1f71;
}

.payment-chip--mastercard{
    background: -webkit-linear-gradient(left, #eb001b 0%, #f79e1b 100%);
    background:         linear-gradient(90deg, #eb001b 0%, #f79e1b 100%);
    color: #fff;
    border: none;
}

.payment-chip--apple{
    background: #000;
    color: #fff;
    border-color: #000;
}

.payment-chip--google{
    background: #fff;
    color: #3c4043;
    border-color: #dadce0;
}

.payment-method-tile__copy{
    font-size: 1.35rem;
    line-height: 1.55;
    color: #4b5563;
    margin: 0;
}

.payment-methods--tiles .payment .payment-body p.payment-method-tile__copy{
    padding-top: 0;
    font-size: 1.35rem;
}

[dir="rtl"] .payment-methods--tiles .payment-method-tile__label{
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
}

.btn-login{
    background-image: none;
    background-color: transparent;
    border: 0.1rem solid var(--white);
    color: var(--white);
}

.btn-login:hover{
    background-color: var(--white);
    color: var(--black);
}

.btn-register{
    background-image: none;
    background-color: var(--secondary-color);
    color: var(--white);
}

.btn-register:hover{
    background-color: var(--accent-color);
}

.nav-auth{
    font-weight: 600;
    color: var(--main-color);
}

/*----- 3- Logo Area CSS -----*/  
.logo{
    z-index: 100000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.4rem;
}

.logo img{
    height: 4.5rem;
    width: auto;
}

.logo h3 {
    font-size: 2.5rem;
    font-weight: 600;
    color: var(--white);
}

.logo p {
    color: var(--main-color);
}

/*----- 4- Page Title CSS -----*/
.page-title{
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.5)), url("../../assets/images/Background/PageTitle.jpg");
    background:         linear-gradient(180deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.5)), url("../../assets/images/Background/PageTitle.jpg");
    background-repeat: no-repeat;  
    background-size: cover;
    background-position: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
        justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.5rem;
    padding: 0rem 5%;
    padding-top: 8rem;
    min-height: 45rem;
    text-align: center;
    position: relative;
}

.page-title .title h2{
    color: var(--white);
    line-height: 1.2;
    font-size: 5rem;
    font-weight: 500;
}

.page-title .link{
    position: absolute;
    bottom: 0;
    right: 0;
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
    -webkit-clip-path: polygon(15% 0%, 100% 0, 100% 100%, 0% 100%);
            clip-path: polygon(15% 0%, 100% 0, 100% 100%, 0% 100%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.5rem;
    font-size: 2rem;
    padding: 2rem 4rem;
    padding-left: 7rem;
}

.page-title .link a{
    font-weight: 600; 
    color: var(--white);
}

.page-title .link a:hover{
    color: var(--black);
}

.page-title .link .icon{
    color: var(--white);
}

.page-title .link span{
    font-weight: 500;
    color: var(--white);
}

/* Breadcrumb strip: hidden on all inner pages (body is not .inner-page only on frontpage) */
.inner-page .page-title > .link{
    display: none;
}

/*----- 5- Header Area CSS -----*/
.header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    -webkit-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}

.header .header-1{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
        align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 5%;
    border-bottom: 0.1rem solid rgba(255, 255, 255, 0.5);
}

.header.active .header-1{
    display: none;
}

.header .header-contacts{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 3rem;
    list-style-type: none;
}

.header .header-contacts li{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; 
    gap: 1rem;
    font-size: 1.6rem;
    color: var(--white);
}

.header .header-contacts li i{
    color: var(--main-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.header .header-contacts span{
    text-transform: none;
}

.header .social-contacts{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 1rem;
    list-style-type: none;
}

.header .social-contacts li a{
    height: 3rem;
    width: 3rem;
    font-size: 1.6rem;
    color: var(--white);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.header .social-contacts li a:hover{
    color: var(--main-color);
}

.header .header-2{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
        align-items: center;
    height: 7rem;
    padding: 0rem 5%;
    gap: 1rem;
}

.header.active .header-2{
    background-color: var(--black);
    border-bottom: 0.2rem solid var(--main-color);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.inner-page .header .header-2{
    background-color: var(--black);
    border-bottom: 0.2rem solid var(--main-color);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.header #menu-btn{
    cursor: pointer;
    display: none;
}

.header .navbar{
    list-style-type: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    gap: 2rem;
}

.mobile-menu{
    display: none;
}

.header .container{
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 2.5rem;
}

.header .dropdown-menu{
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.header .navbar .nav-btn{
    display: inline-block;
    font-size: 1.7rem;
    color: var(--white);
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: none;
    gap: 0.5rem;
}

.header .navbar .nav-btn:hover{
    color: var(--main-color);
}

.header .dropdown-content{
    position: absolute;
    top: 100%;
    left: 0;
    background-color: var(--black);
    width: 20rem;
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    display: none;
    -webkit-transition:  all 0.5s;
    -o-transition:  all 0.5s;
    transition:  all 0.5s;
    z-index: 1000;
}

.header .dropdown-menu:hover .nav-btn{
    color: var(--main-color);
}

.header .dropdown-menu:hover .dropdown-content{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: var(--custom-border);
}

.header .dropdown-content a,
.header .dropdown-content button{
    display: block;
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--white);
    padding: 1rem 1.5rem;
    cursor: pointer;
    background-color: transparent;
    overflow: hidden;
}

.header .dropdown-content a:hover{
    background: var(--main-color);
}

.header .dropdown-content .side-dropdown {
    color: var(--white);
    font-size: 1.2rem;
    padding-right: 1.5rem;
    font-weight: bold;
    cursor: pointer;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.header .dropdown-content .side-dropdown .dropdown-content {
    left: 20rem;
    top: 0;
    display: none !important;
}

.header .dropdown-content .side-dropdown:hover .dropdown-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex !important;
}

.header .dropdown-content .side-dropdown button{
    display: block;
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--white);
    background-color: var(--black);
    padding: 1rem 1.5rem;
    cursor: pointer;
}

.header .dropdown-content .side-dropdown {
    position: relative;
}

.header .dropdown-content .side-dropdown:hover {
    color: var(--white);
    background-color: var(--main-color);
}

.header .dropdown-content .side-dropdown:hover button {
    color: var(--white);
    background-color: var(--main-color);
} 

.header .icon-container{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center; 
    align-items: center;
    gap: 1rem;
}

.header-2 .icon{
    font-size: 1.8rem;
    color: var(--white);
    cursor: pointer;
}

.header-2 .icon:hover{ 
    color: var(--main-color);
}

.header .search-container{
    position: absolute;
    top: 100%;
    right: 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 2rem;
    background: var(--white);
    width: 40rem;
    padding: 1.5rem 2rem;
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    opacity: 0;
    -webkit-transform-origin: right;
    -ms-transform-origin: right;
    transform-origin: right;
    -webkit-transition: -webkit-transform 0.3s ease;
    -o-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    border-radius: 50rem;
    -webkit-transform: translateX(300%);
        -ms-transform: translateX(300%);
            transform: translateX(300%);
}

.header .search-container.active{
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
        transform: translateX(0);
}

.header .search-container input{
    width: 100%;
    height: 100%;
    background: transparent;
    color: var(--black);
    font-size: 1.8rem;
    text-transform: none;
}

.header .search-container button{
    color: var(--black);
    background-color: transparent;
    font-size: 2rem;
    padding-right: 0.5rem;
    padding-left: 1rem;
}

.header .search-container button:hover{
    color: var(--main-color);
    cursor: pointer;
}

/*----- 6- Footer Area CSS -----*/
.footer{
    background: -webkit-linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.7));
    background:         linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.7));
    background-position: center;
    background-size: cover;
}

.footer .box-container{
    margin: 0 auto;
    max-width: 75rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 3rem 5%;
    text-align: center;
}

.footer .logo {
    z-index: 1;
    text-align: left;
    margin-bottom: 1rem;
}

.footer p {
    font-size: 1.6rem;
    color: var(--white);
}

.footer .dark-form {
    padding-top: 2rem;
    padding-bottom: 1rem;
}

.footer .dark-form .input-field {
    width: 40rem;
    margin-bottom: 1rem;
}

.footer .dark-form .alert {
    min-height: 2.5rem;
    display: inline-block;
    font-size: 1.6rem;
    color: var(--white);
    padding-top: 0.6rem;
}

.footer .links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.footer .links a {
    margin: 0 1rem;
    margin-bottom: 1rem;
    font-size: 1.8rem;
    color: var(--white);
}

.footer .links a:hover {
    color: var(--main-color);
}

.footer .content{
    text-align: center;
    padding: 1.5rem 5%;
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 1rem;
}

.footer .content p{
    font-size: 1.8rem;
    color: var(--white);
}

.footer .social{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.8rem;
}

.footer .social a{
    height: 3rem;
    width: 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.footer .social a i{
    color: var(--white);
    font-size: 1.8rem;
}

.footer .social a:hover i{
    color: var(--black);
}


/*----- 7- Scroll-Top Area CSS -----*/
.scroll-top{
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    height: 4.5rem;
    width: 4.5rem;
    font-size: 2rem;
    color: var(--white);
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
    z-index: 900;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: var(--border-radius-3);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.scroll-top:hover{
    background: var(--black);
    cursor: pointer;
}

/*----- 8- Form CSS -----*/
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    color: var(--black) !important;
    -webkit-transition: background-color 5000s ease-in-out 0s;
        -o-transition: background-color 5000s ease-in-out 0s;
            transition: background-color 5000s ease-in-out 0s;
}

.form .input-box{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.form .box{
    width: 100%;
    background-color: transparent;
    font-size: 1.6rem;
    color: var(--black);
    padding: 1rem 1.5rem; 
    border: 0.15rem solid rgba(0, 0, 0, 0.1);
    border-radius: var(--border-radius-1);
    text-transform: none;
}

.form .box::-webkit-input-placeholder{
    text-transform: capitalize;
}
.form .box::-moz-placeholder{
    text-transform: capitalize;
}
.form .box:-ms-input-placeholder{
    text-transform: capitalize;
}
.form .box::placeholder{
    text-transform: capitalize;
}

.form .box:focus{
    border-color: var(--main-color);
}

.form textarea{
    resize: none;
    height: 20rem;
}

.form .btn{
    width: 100%;
    overflow: hidden;
    margin-top: 1rem;
}

/*----- 9- Dark Form CSS -----*/
.dark-form input:-webkit-autofill,
.dark-form input:-webkit-autofill:hover,
.dark-form input:-webkit-autofill:focus,
.dark-form input:-webkit-autofill:active {
    -webkit-text-fill-color: var(--white);
    -webkit-transition: background-color 5000s ease-in-out 0s;
            transition: background-color 5000s ease-in-out 0s;
}

.dark-form .input-box{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.dark-form .input-field{
    border: 0.15rem solid rgba(255, 255, 255, 0.9);
    padding: 1.5rem;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    border-radius: var(--border-radius-1);
}

.dark-form .input-box > .input-field{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 20rem;
        flex: 1 1 20rem; 
}

.dark-form .input-field:hover{
    border-color: var(--main-color);
}

.dark-form .input-field label {
    color: var(--main-color);
    font-size: 1.6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.dark-form .box{
    width: 100%;
    font-size: 1.6rem;
    color: var(--white);
    background-color: transparent;
    text-transform: none;
}

.dark-form .box::-webkit-input-placeholder{
    text-transform: capitalize;
    color: var(--white);
}

.dark-form .box::-moz-placeholder{
    text-transform: capitalize;
    color: var(--white);
}

.dark-form .box:-ms-input-placeholder{
    text-transform: capitalize;
    color: var(--white);
}

.dark-form .box::placeholder{
    text-transform: capitalize;
    color: var(--white);
}

.dark-form textarea{
    height: 15rem;
    resize: none;
}

.dark-form .text-area {
    -webkit-box-align: start;
    -ms-flex-align: start;
    -ms-grid-row-align: flex-start;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.dark-form .select option{
    color: var(--grey);
}

.dark-form .select{
    -webkit-box-flex: 1;
        -ms-flex: 1 1 20rem;
            flex: 1 1 20rem;
    border: 0.15rem solid rgba(255, 255, 255, 0.9);
    border-radius: var(--border-radius-1);
    width: 100%;
}

.dark-form .select-container{
    height: 100%;
    min-width: 100%;
    position: relative;
}

.dark-form .select-box{
    -webkit-appearance: none;
        -moz-appearance: none;
            appearance: none;
    width: 100%;
    color: var(--white);
    background-color: transparent;
    padding: 1.5rem;
    font-size: 1.6rem;
    padding-left: 4.5rem;
}

.dark-form .select-container label{
    position: absolute;
    height: 100%;
    top: 0;
    left: 1.5rem;
    color: var(--main-color);
    font-size: 1.6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.dark-form .select-container .icon-container{
    width: 4rem;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
            pointer-events: none;
}

.dark-form .select-container .icon-container i{
    font-size: 1.6rem;
    color: var(--white);
}

.dark-form ::-webkit-calendar-picker-indicator {
    -webkit-filter: invert(1);
            filter: invert(1);
}

.dark-form .alert {
    min-height: 2.5rem;
    display: inline-block;
    font-size: 1.6rem;
    color: var(--white);
    padding-top: 0.6rem;
}

/*----- 10- Swiper Pagination CSS -----*/
.swiper-pagination-bullet{ 
    height: 1rem;
    width: 1rem;
    border-radius: 0rem;
    background: var(--white);
    opacity: 0.7;
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.swiper-pagination-bullet-active{
    width: 3rem;
    background: var(--main-color) !important;
    opacity: 0.9;
}

/*----- 11- Swiper Navigation CSS -----*/
.swiper-button-next,
.swiper-button-prev{
    background-color: var(--main-color);
    font-size: 1rem;
    height: 6rem;
    width: 6rem;
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.swiper-button-next::after,
.swiper-button-prev::after{
    font-size: 2rem;
    font-weight: bold;
    color: var(--white);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center; 
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
  
.swiper-button-next:hover,
.swiper-button-prev:hover{
    background: var(--black);
}

/*----- 12- CheckBox CSS -----*/
.checkbox-label {
    color: var(--white);
    position: relative;
    padding-left: 2.5rem;
    cursor: pointer;
    font-size: 1.8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.checkbox-label label{
    cursor: pointer;
}

.checkbox-label input{
    position: absolute;
    opacity: 0;
    z-index: -1;
}

.checkbox-indicator{
    position: absolute;
    top: 0.2rem;
    left: 0;
    height: 1.6rem;
    width: 1.6rem;
    background: transparent;
    outline: 0.15rem solid var(--white);
    border-radius: 0.2rem;
}

.checkbox-label input:checked ~ 
.checkbox-indicator {
    background: var(--main-color);
    outline-color: var(--main-color);
}

.checkbox-indicator:after {
    content: '';
    position: absolute;
    left: 0.5rem;
    top: 0.2rem;
    width: 0.3rem;
    height: 0.8rem;
    border: solid var(--white);
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    display: none;
}

.checkbox-label input:checked ~ 
.checkbox-indicator:after {
    display: initial;
}

/*----- 13- Sidebar Heading CSS -----*/
.sidebar-heading h2{
    position: relative;
    font-size: 3rem;
    font-weight: 500;
    word-spacing: 1px; 
    color: var(--black);
    letter-spacing: 0.1rem;
    line-height: 1;
    margin-bottom: 1.5rem;
    padding-bottom: 1.2rem;
}

.sidebar-heading h2:before{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 10rem;
    height: 2px;
    content: "";
    background-color: var(--main-color);
}

/*----- 14- Sidebar CSS -----*/
/*
1- Search
2- Category
3- Recent Items
4- Tags
*/

.sidebar{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 28rem; 
        flex: 1 1 28rem;
}

.sidebar .sidebar-item{
    margin-bottom: 1.5rem;
    background-color: var(--white);
    border-radius: var(--border-radius-1);
    border-bottom: var(--custom-border);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    padding: 1.5rem;
}

/*-- 1- Search --*/
.sidebar .search .input-box{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    border-radius:  var(--border-radius-1);
}

.sidebar .search .input-box input{
    width: 100%;
    padding: 1.5rem; 
    overflow: hidden;
    border: 0.1rem solid rgba(0, 0, 0, 0.5);
    border-top-left-radius: var(--border-radius-1);
    border-bottom-left-radius: var(--border-radius-1);
}

.sidebar .search .input-box input:focus{
    border-color: var(--main-color);
}

.sidebar .search .input-box button{
    color: var(--white);
    background-color: var(--black);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0.5rem 2rem;
    font-size: 1.8rem;
    cursor: pointer;
}

.sidebar .search .input-box button:hover{
    background-color: var(--main-color);
}

/*-- 2- Category --*/
.sidebar .category .item{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: 0.7rem 0;
}

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

.sidebar .category .item span{
    font-size: 1.7rem;
    color: var(--black);
    font-weight: 400;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
}

.sidebar .category .item span i{
    font-size: 1.6rem;
    color: var(--main-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.sidebar .category .item p{
    color: var(--grey);
    font-size: 1.5rem;
}

.sidebar .category a:hover span,
.sidebar .category a:hover p{
    color: var(--main-color);
}

/*-- 3- Post Items --*/
.sidebar .post-item{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

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

.sidebar .post-item img{
    height: 8rem;
    width: 8rem;
    border-radius: var(--border-radius-1);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.sidebar .recent-posts .post-item img{
    width: 10rem;
}

.sidebar .post-item a{
    display: inline-block;
    font-weight: 600;
    font-size: 2rem;
    color: var(--black);
    line-height: 1.2;
}

.sidebar .recent-posts .post-item a{
    font-size: 1.8rem;
}

.sidebar .post-item a:hover{
    color: var(--main-color);
}

.sidebar .post-item .price p{
    font-size: 1.7rem;
    font-weight: bold;
    color: var(--main-color);
}

.sidebar .post-item .price span{
    font-size: 1.3rem;
    font-weight: 400;
    color: var(--grey);
    text-decoration: line-through;
    padding-left: 0.2rem;
}

/*-- 4- Tags --*/
.sidebar .tags .box-container{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.7rem;
}

.sidebar .tag-item{
    color: var(--white);
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
    font-size: 1.7rem;
    padding: 0.8rem 2rem;
    border-radius: var(--border-radius-1);
}

.sidebar .tag-item:hover,
.sidebar .tag-item.active{
    background: -webkit-linear-gradient(45deg, var(--secondary-color), var(--accent-color));
    background: linear-gradient(45deg, var(--secondary-color), var(--accent-color));
    cursor: pointer;
}

/*------------------------------ (00)- Global CSS (End) ------------------------------*/



/*------------------------------ (01)- Home (Start) ------------------------------*/

/*----- 1- Home-----*/
.home{
    padding: 0;
    position: relative;
    height: 70rem;
    overflow: hidden;
}

.home > img,
.home > video{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
    z-index: 0;
}

.home > video{
    pointer-events: none;
}

.home .content{ 
    padding: 7.2rem 4.5% 12rem;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    background: transparent;
}

.home .content .text{
    max-width: 70rem;
    margin-top: 0;
}

.home .content h5 {
    letter-spacing: 0.1rem;
    display: inline-block;
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    color: var(--accent-color);
    background: -webkit-linear-gradient(right, var(--main-color), var(--accent-color));
    background: linear-gradient(270deg, var(--main-color), var(--accent-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 0.5rem;
    position: relative;
    padding-bottom: 0.1rem;
    z-index: 1;
}

.home .content h5:after {
    content: "";
    position: absolute;
    bottom: 0%;
    left: 0%;
    height: 0.4rem;
    width: 100%;
    z-index: -1;
    border-radius: var(--border-radius-2);
    background-image: -webkit-linear-gradient(306deg, var(--main-color), var(--accent-color));
    background-image: linear-gradient(144deg, var(--main-color), var(--accent-color));
}

.home .content h5 i {
    padding-right: 0.5rem;
}

.home .content h1{
    font-size: 6.5rem;
    font-weight: 600;
    margin: 1.5rem 0;
    color: var(--white);
    letter-spacing: 0.1rem;
    line-height: 1.2;
}

.home .content h4 {
    font-size: 2rem;
    color: var(--white);
    margin-bottom: 3rem;
}

.home .content .hero-copy{
    position: absolute;
    right: clamp(3.8rem, 9vw, 13rem);
    top: clamp(7.8rem, 16vh, 13.4rem);
    width: min(50rem, 38vw);
    max-width: min(50rem, 100%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.55rem;
    margin-right: 0;
    text-align: center;
}

.home .content .hero-heading{
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.1rem;
    font-size: clamp(4.2rem, 6.8vw, 9.4rem);
    font-weight: 800;
    line-height: 0.93;
    letter-spacing: -0.018em;
    text-transform: none;
}

.home .content .hero-line{
    display: block;
}

.home .content .hero-line-light{
    color: #e9edf6;
    font-weight: 700;
    font-size: 0.88em;
    text-shadow: 0 1px 0 rgba(0,0,0,0.08);
}

.home .content .hero-line-dark{
    color: #101010;
    font-weight: 800;
}

.home .content .hero-subheading{
    margin: 0;
    max-width: 96%;
    font-size: clamp(3.6rem, 5.8vw, 7.4rem);
    line-height: 0.98;
    letter-spacing: -0.015em;
    color: #3b82f6;
    font-weight: 700;
}

.counter {
    position: absolute;
    bottom: 0;
    right: 0;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; 
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 4rem;
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color), var(--secondary-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color), var(--secondary-color));
    padding: 2rem 5rem;
    border-top-left-radius: var(--border-radius-2);
    overflow: hidden;
}

.counter .counter-item{
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
}

.counter .counter-item h3{
    color: var(--white);
    font-size: 6rem;
    font-weight: 600;
    margin-bottom: 1rem;
    line-height: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-font-feature-settings: "tnum";
            font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
    text-align: center;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
}

/* Fixed digit width so the countdown box does not shift (absolute right anchor). */
.counter .counter-item:first-child h3{
    min-width: 3ch;
}

.counter .counter-item:not(:first-child) h3{
    min-width: 2ch;
}

.counter .counter-item span{
    display: block;
    font-size: 2rem;
    font-weight: 500;
    color: var(--white);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

/*----- 2- Feature -----*/
.feature{
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(25rem, 1fr))[auto-fit];
    grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
    gap: 1rem;
}

.feature-item {
    padding: 3rem;
    border-radius: var(--border-radius-2);
    background-color: var(--black);
    margin-top: 2.5rem;
    padding-top: 7rem;
    position: relative;
}

.feature-item i {
    position: absolute;
    top: 0;
    left: 3rem;
    transform: translateY(-2.5rem);
    color: transparent;
    -webkit-text-stroke: 1.5px var(--white);
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
    -webkit-clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
            clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
    font-size: 3rem;
    width: 8rem;
    height: 8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.feature-item h3 {
    font-size: 2.5rem;
    padding-bottom: 1rem;
    color: var(--white);
}

.feature-item p {
    color: var(--white);
}

/*----- 3- Counter -----*/
.counting{
    padding: 4rem 5%;
    margin: 1rem 0;
    background: -webkit-linear-gradient(180deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.6)), url("../../assets/images/Background/Counter.jpg");
    background:         linear-gradient(180deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.6)), url("../../assets/images/Background/Counter.jpg");
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
}

.counting{
    display: -webkit-box; 
    display: -ms-flexbox; 
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; 
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; 
    gap: 4rem;
}

.counting .box{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 25rem;
        flex: 1 1 25rem;
    text-align: center;
    padding: 3rem 2rem;
}

.counting .box i{
    margin: 0 auto;
    margin-bottom: 1rem;
    color: transparent;
    -webkit-text-stroke: 1.5px var(--white);
    -webkit-clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
            clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 3.5rem;
    width: 9rem;
    height: 9rem;
    background: -webkit-linear-gradient(45deg, var(--accent-color), var(--secondary-color));
    background: linear-gradient(45deg, var(--accent-color), var(--secondary-color));
}

.counting .box .count{
    color: var(--white);
    font-size: 4.5rem;
    font-weight: 500;
}

.counting .box h3{
    font-size: 1.8rem;
    color: var(--white);
    font-weight: 400;
}

/*----- 4- Section Slider -----*/
.section-slider{
    overflow: hidden;
    padding: 0.5rem;
}

/*----- 5- Home Schedule -----*/
.schedule.main {
    background: -webkit-linear-gradient(rgba(0,0,0,0.7),rgba(0,0,0,0.8)),url("../../assets/images/Background/Schedule.jpg");
    background: linear-gradient(rgba(0,0,0,0.7),rgba(0,0,0,0.8)),url("../../assets/images/Background/Schedule.jpg");
    background-position: center;
    background-size: cover;
}

.schedule.main .tab-buttons button {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.schedule.main .tab-buttons button:hover,
.schedule.main .tab-buttons button.active {
    background: -webkit-linear-gradient(45deg, var(--secondary-color),  var(--accent-color));
    background: linear-gradient(45deg, var(--secondary-color),  var(--accent-color));             
    cursor: pointer;
}

.schedule.main .session {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 0.1rem solid rgba(255, 255, 255, 0.2);
}

/*----- 6- Speaker Slider -----*/
.speaker-slider{
    overflow: hidden;
    padding: 0.5rem;
}

/*----- 7- Why Choose Us -----*/
.why-us.main {
    background: -webkit-linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0, 0.8)),url("../../assets/images/Background/WhyUs.jpg");
    background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0, 0.8)),url("../../assets/images/Background/WhyUs.jpg");
    background-position: center;
    background-size: cover;
}

.why-us.main .heading p {
    color: var(--white);
}

/*----- 8- Banner -----*/
.banner{
    width: 100%;
    padding: 8rem 5%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: url("../../assets/images/Background/Banner.jpg");
    background-position: left;
    background-size: cover;
}

.banner .content{
    width: 70rem;
}

.banner .heading {
    -webkit-box-align: start;
        -ms-flex-align: start;
                -ms-grid-row-align: flex-start;
            align-items: flex-start;
}

.banner h2{
    font-size: 4.5rem;
    font-weight: 600;
    line-height: 1.3;
    padding-top: 1rem;
    letter-spacing: 0.1rem;
    color: var(--white);
    text-align: left;
}

/*----- 9- Testimonial -----*/
.testimonial-bg{
    background: -webkit-linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.6)), url("../../assets/images/Background/Testimonials.jpg");
    background:         linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.6)), url("../../assets/images/Background/Testimonials.jpg");
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
}

/*----- 10- Newsletter -----*/
.newsletter-subscribe{
    width: 100%;
    padding: 6rem 5%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-image: url("../../assets/images/Background/Newsletter.jpg");
    background-position: center;
    background-size: cover;
}

.newsletter-subscribe .content{
    width: 70rem;
    text-align: center;
    padding-top: 3rem;
}

.newsletter-subscribe .heading {
    padding: 0;
}

.newsletter-subscribe h2{
    font-size: 4.5rem;
    font-weight: 600;
    color: var(--white);
}

.newsletter-subscribe p{
    letter-spacing: 0.15rem;
    font-weight: 500;
    color: var(--white);
    padding-top: 1rem;
    padding-bottom: 2rem;
}

.newsletter-subscribe .box-container{
    max-width: 60rem;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.5rem;
    padding: 0.5rem;
    background-color: var(--white);
    border-radius: var(--border-radius-2);
}

.newsletter-subscribe input{
    padding: 0rem 1.5rem;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 20rem;
        flex: 1 1 20rem;
    color: var(--black);
    background-color: var(--white);
    text-transform: none;
    font-size: 1.5rem;
}

.newsletter-form .alert {
    display: block;
    font-size: 1.8rem;
    color: var(--white);
    padding-top: 1rem;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
}

/*----- 11- Latest Blogs (frontpage carousel) -----*/
.latest-blog-carousel{
    position: relative;
    width: 100%;
    padding: 0 4.8rem;
}

.latest-blog-carousel__viewport{
    container-type: inline-size;
    container-name: latest-blog-strip;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.latest-blog-carousel__track{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.5rem;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    min-width: 100%;
    padding-bottom: 0.5rem;
}

.latest-blog-carousel__track .blog-item{
    -webkit-box-flex: 0;
        -ms-flex: 0 0 88cqi;
            flex: 0 0 88cqi;
    scroll-snap-align: start;
    min-width: 0;
}

@container latest-blog-strip (min-width: 576px){
    .latest-blog-carousel__track .blog-item{
        -ms-flex: 0 0 calc((100cqi - 1.5rem) / 2);
            flex: 0 0 calc((100cqi - 1.5rem) / 2);
    }
}

@container latest-blog-strip (min-width: 992px){
    .latest-blog-carousel__track .blog-item{
        -ms-flex: 0 0 calc((100cqi - 4.5rem) / 4);
            flex: 0 0 calc((100cqi - 4.5rem) / 4);
    }
}

.latest-blog-carousel__btn{
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 3;
    width: 4.4rem;
    height: 4.4rem;
    border: none;
    border-radius: 50%;
    background-color: var(--white);
    color: var(--main-color);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 1.8rem;
    -webkit-transition: color 0.2s, background-color 0.2s;
    -o-transition: color 0.2s, background-color 0.2s;
    transition: color 0.2s, background-color 0.2s;
}

.latest-blog-carousel__btn:hover{
    background-color: var(--main-color);
    color: var(--white);
}

.latest-blog-carousel__btn--prev{
    left: 0;
}

.latest-blog-carousel__btn--next{
    right: 0;
}

@media (max-width: 575px){
    .latest-blog-carousel{
        padding: 0 3.6rem;
    }

    .latest-blog-carousel__btn{
        width: 3.6rem;
        height: 3.6rem;
        font-size: 1.5rem;
    }
}

/*----- 12- Sponsor Slider -----*/
.sponsors .sponsor-slider{
    overflow: hidden;
}

/*------------------------------ (01)-Home (End) ------------------------------*/



/*------------------------------ (02)-About (Start) ------------------------------*/
.about-us{
    padding: 0;
}

/*----- 1- About Us -----*/
.about{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 4rem;
}

.about .image{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 42rem;
        flex: 1 1 42rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
    position: relative;
}

.about .sub-image{
    height: 48rem;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 15rem;
        flex: 1 1 15rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
}

.about .image img{
    width: 100%;
    border-radius: var(--border-radius-2);
    overflow: hidden;
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.about .sub-image.one img:nth-child(1),
.about .sub-image.two img:nth-child(2){
    height: 55%;
}

.about .sub-image.two img:nth-child(1),
.about .sub-image.one img:nth-child(2){
    height: 45%;
}

.about .image .experience {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 20rem;
    height: 20rem;
    padding: 2rem;
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
    -webkit-clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
            clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    color: var(--white);
    font-size: 2rem;
}

.about .image .experience span {
    font-size: 6rem;
    font-weight: 600;
    color: var(--white);
}

.about .content{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 40rem;
        flex: 1 1 40rem;
}

.about .heading {
    -webkit-box-align: start;
        -ms-flex-align: start;
                -ms-grid-row-align: flex-start;
            align-items: flex-start;
}

.about .heading h2 {
    text-align: left;
}

.about .about-features{
    padding: 1.5rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
}

.about .about-features .box {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.about .about-features .point-item{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.5rem;
    padding-bottom: 1rem;
    font-size: 1.6rem;
}

.about .about-features .point-item .icon{
    color: var(--main-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 2.5rem;
    height: 2.5rem;
}

.about .about-features .point-item span{
    -webkit-box-flex: 1;
        -ms-flex: 1 1 15rem;
            flex: 1 1 15rem;
    color: var(--grey);
}

/*----- 2- Why Choose Us -----*/
.why-us .heading {
    max-width: 70rem;
    margin: 0 auto;
}

.why-us .heading p {
    margin-top: 1rem;
    color: var(--grey);
}

.why-us .box-container {
    text-align: center;
}

.why-us .content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 4rem;
    margin-top: 3rem;
}

.why-us .image {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 24rem;
    flex: 1 1 24rem;
    margin: auto;
}

.whyus-section-points {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 31rem;
    flex: 1 1 31rem;
}

.whyus-section-points li {
    margin-bottom: 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.5rem;
    overflow: hidden;
    padding: 2rem;
    border-radius: var(--border-radius-1);
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
}

.whyus-section-points li:last-child {
    margin-bottom: 0;
}

.whyus-section-points i {
    color: transparent;
    -webkit-text-stroke: 0.1rem var(--white);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 4rem;
    width: 5rem;
    height: 5rem;
}

.whyus-section-points .text {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 15rem;
            flex: 1 1 15rem;
    text-align: left;
}

.whyus-section-points h5 {
    font-size: 2.2rem;
    margin-bottom: 0.5rem;
    color: var(--white);
}

.whyus-section-points p {
    font-size: 1.6rem;
    color: var(--white);
}


/*----- 3- Team -----*/
.team .box-container{
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(25rem, 1fr))[auto-fit];
    grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
    gap: 1rem;
}

.team-item {
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    overflow: hidden;
    border-radius: var(--border-radius-1);
    position: relative;
}

.team-item .image{
    height: 40rem;
    width: 100%;
}

.team-item .content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: hidden;
    -webkit-clip-path: polygon(0 0, 89% 16%, 100% 100%, 0% 100%);
            clip-path: polygon(0 0, 89% 16%, 100% 100%, 0% 100%);
    background: -webkit-linear-gradient(left, var(--main-color), var(--secondary-color));
    background: linear-gradient(90deg, var(--main-color), var(--secondary-color));
    padding-top: 1rem;
}

.team-item .text {
    height: 100%;
    padding: 1.5rem 2rem;
    padding-top: 3rem;
    -webkit-clip-path: polygon(0 0, 84% 19%, 100% 100%, 0% 100%);
            clip-path: polygon(0 0, 84% 19%, 100% 100%, 0% 100%);
    background: -webkit-linear-gradient(left, var(--main-color), var(--accent-color));
    background: linear-gradient(90deg, var(--main-color), var(--accent-color));
}

.team-item .content h3 {
    font-size: 2.5rem;
    font-weight: 600;
    color: var(--white);
}

.team-item .content h3:hover {
    color: var(--black);
}

.team-item .content p {
    font-size: 1.6rem;
    font-weight: 500;
    color: var(--white);
}

.team-item .icon-container{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 0.5rem;
    gap: 0.5rem;
}

.team-item .icon-container a{
    height: 3rem;
    width: 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;  
    font-size: 1.8rem;
    color: var(--white);
}

.team-item .icon-container a:hover{
    color: var(--black);
}

/*----- 4- Team Single -----*/
.team-single .team-intro{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 3rem;
    padding-bottom: 4rem;
    border-bottom: 0.1rem solid rgba(0, 0, 0, 0.1);
}

.team-single .team-image{
    width: 40rem;
    height: 50rem;
    border-radius: var(--border-radius-2);
    overflow: hidden;
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.team-single .information{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 50rem;
        flex: 1 1 50rem;
}

.team-single .information h3{
    color: var(--black);
    font-size: 3rem;
    font-weight: 600;
    padding-bottom: 0.5rem;
}

.team-single .information h5{
    color: var(--main-color);
    font-size: 1.8rem;
    font-weight: 500;
    padding-bottom: 1.5rem;
}

.team-single .information .team-about{
    padding-top: 1.5rem;
    border-top: 0.1rem solid rgba(0, 0, 0, 0.2);
}

.team-single .text{
    font-size: 1.6rem;
    letter-spacing: 0.2px;
    font-weight: 400;
    color: var(--grey);
    line-height: 1.7;
}

.team-single .team-personal-info{
    padding-top: 2rem;
    padding-bottom: 1rem;
}

.team-single .team-personal-info li{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-bottom: 1.5rem;
}

.team-single .team-personal-info .title{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
}

.team-single .team-personal-info i{
    font-size: 1.8rem;
    color: var(--main-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.team-single .team-personal-info h6{
    font-size: 2rem;
    color: var(--black);
}

.team-single .team-personal-info span{
    font-size: 1.8rem;
    font-weight: 500;
    color: var(--grey);
    text-transform: none;
}

.team-single .icon-container{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center; 
    -ms-flex-align: center;
    align-items: center;
    gap: 0.7rem;
}

.team-single .icon-container a{
    height: 4.5rem;
    width: 4.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;  
    font-size: 1.8rem;
    color: var(--white);
    border-radius: var(--border-radius-3);
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
}

.team-single .icon-container a:hover{
    background: -webkit-linear-gradient(45deg, var(--secondary-color), var(--accent-color));
    background: linear-gradient(45deg, var(--secondary-color), var(--accent-color));
}

.team-single .page-info{
    background-color: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
}

.team-single .box-container{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2rem;
    padding-top: 2rem;
}

.team-single h4{
    font-size: 3rem;
    font-weight: 500;
    color: var(--black);
    padding-bottom: 0.5rem;
}

.team-single .sub-section{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 42rem;
        flex: 1 1 42rem;
}

.skills .box{
    padding: 1rem 0;
}

.skills .box h3{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0.7rem 0;
    font-size: 1.7rem;
    color: var(--black);
    font-weight: 400;
}

.skills .box .progress-bar{
    width: 100%;
    background: #ddd;
    overflow: hidden;
    height: 1rem;
    border-radius: 50rem;
}

.skills .box .progress-bar span{
    display: block;
    height: 100%;
    background: var(--main-color);
    border-radius: var(--border-radius-1);
}

/*----- 5- Testimonials -----*/
.testimonial-slider{
    overflow: hidden;
    position: relative;
    padding-bottom: 4rem;
}

.testimonial .swiper-pagination-bullet{
    background: #bbb;
    opacity: 0.9;
}

.testi-item{
    background-color: var(--black);
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-1);
    overflow: hidden;
    border: 0.1rem solid rgba(255, 255, 255, 0.25);
}

.testi-item .detail {
    padding: 4rem;
}

.testi-item p{
    padding-bottom: 2rem;
    color: var(--light-grey);
}

.testi-item .rating i {
    font-size: 1.8rem;
    color: var(--main-color);
}

.testi-item .intro {
    width: 100%;
    padding: 3rem 4rem;
    position: relative;
    z-index: 1; /* create stacking context */
}

.testi-item .intro:before {
    content: "";
    position: absolute;
    bottom: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    -webkit-clip-path: polygon(0 0, 94% 7%, 100% 100%, 0% 100%);
            clip-path: polygon(0 0, 94% 7%, 100% 100%, 0% 100%);
    background: -webkit-linear-gradient(left, var(--main-color), var(--secondary-color));
    background: linear-gradient(90deg, var(--main-color), var(--secondary-color));
    z-index: 0; /* stays behind text */
}

.testi-item .intro:after {
    content: "";
    position: absolute;
    bottom: 0%;
    left: 0%;
    width: 100%;
    height: 95%;
    background: -webkit-linear-gradient(left, var(--main-color), var(--accent-color));
    background: linear-gradient(90deg, var(--main-color), var(--accent-color));
    -webkit-clip-path: polygon(0 0, 91% 14%, 100% 100%, 0% 100%);
            clip-path: polygon(0 0, 91% 14%, 100% 100%, 0% 100%);
    z-index: 0; /* stays behind text */
}

.testi-item h4 {
    font-size: 2.6rem;
    font-weight: 600;
    color: var(--white);
    padding-bottom: 0.5rem;
    position: relative; /* ensure it's on top */
    z-index: 2; /* above pseudo-element */
}

.testi-item h6 {
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--white);
    position: relative;
    z-index: 2;
}

.testi-item img {
    position: absolute;
    top: 0;
    right: 6rem;
    -webkit-transform: translateY(-3rem);
    transform: translateY(-3rem);
    height: 11rem;
    width: 10rem;
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-1);
    z-index: 2;
}

/*----- 6- Faqs -----*/
.faq .box-container{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; 
}

.faq .image{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 30rem;
        flex: 1 1 30rem;
    height: 60rem;
    border-radius: var(--border-radius-2);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    overflow: hidden;
}

.accordion-container{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 55rem;
        flex: 1 1 55rem;
}

.faq .accordion {
    background: var(--white);
    margin-bottom: 1.5rem;
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-1);
    overflow: hidden;
}

.faq .accordion:last-child { 
    margin-bottom: 0rem;  
}

.faq .accordion .accordion-heading {
    padding: 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 1.5rem;
    cursor: pointer;
    font-size: 1.8rem;
    background-color: var(--black);
}

.accordion.active .accordion-heading {
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
}

.faq .accordion .accordion-heading h3 {
    background: -webkit-linear-gradient(left, var(--main-color), var(--accent-color));
    background: linear-gradient(90deg, var(--main-color), var(--accent-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--accent-color);
}

.accordion.active .accordion-heading h3 {
    background: -webkit-linear-gradient(left, var(--white), var(--white));
    background: linear-gradient(90deg, var(--white), var(--white));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--white);
}

.faq .accordion .accordion-heading i {
    height: 4rem;
    width: 4rem;
    border-radius: var(--border-radius-3);
    color: var(--white);
    background: -webkit-linear-gradient(45deg, var(--accent-color), var(--secondary-color));
    background: linear-gradient(45deg, var(--accent-color), var(--secondary-color));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.faq .accordion-content {
    padding: 2rem;
    font-size: 1.5rem;
    line-height: 2;
    color: var(--grey);
    display: none;
}

.faq .accordion.active .accordion-content {
    display: block;
}

/*------------------------------ (02)-About (End) ------------------------------*/



/*------------------------------ (03)-Pages (Start) ------------------------------*/

/*--------------- COMPONENTS ---------------*/

/*----- 01- Tab Information -----*/
.tab-buttons{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    list-style-type: none;
    gap: 1rem;
    margin-bottom: 2rem;
}

.tab-buttons .button{
    font-size: 1.6rem;
    font-weight: 500;
    padding: 1.5rem 3rem;
    color: var(--white);
    background-color: var(--black);
    text-align: center;
    border-radius: var(--border-radius-1);
}

.tab-buttons .button:hover,
.tab-buttons .button.active{
    background: -webkit-linear-gradient(45deg, var(--main-color),  var(--accent-color));
    background: linear-gradient(45deg, var(--main-color),  var(--accent-color));      
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    cursor: pointer;
}

.tab-sections .tab-section{
    display: none;
}

.tab-sections .tab-section.active{
    display: block;
    margin-top: 2rem;
}

/*----- 02- Page Single -----*/
.page-single{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.5rem;
}

.service-single .sidebar .sidebar-item{
    margin-bottom: 0;
}

.page-info{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 75rem; 
        flex: 1 1 75rem;
}

.page-info .image{
    height: 40rem;
    position: relative;
}

.page-single .image img{
    border-radius: var(--border-radius-2);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.page-info .content{
    padding-top: 2rem;
}

.page-info .main-heading{
    display: inline-block;
    font-size: 3.5rem;
    font-weight: 600;
    color: var(--black);
    text-shadow: 1px 1px 8px rgba(0,0,0, 0.2);
    padding-bottom: 1rem;
}

.page-info .important{
    color: var(--black) !important;
    font-weight: 600;
}

.page-info p{
    padding-bottom: 1rem;
}

.page-info .page-gallery{ 
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(25rem, 1fr))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
    gap: 1rem;
    padding: 2rem 0;
}

.page-info .page-gallery img{
    cursor: pointer;
    border-radius: var(--border-radius-1);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.page-info .sub-heading{
    display: inline-block;
    font-size: 2.5rem;
    font-weight: 600;
    color: var(--black);
    padding-bottom: 0.5rem;
}

.page-info .sub-section{
    padding-top: 2rem;
}

.page-info .sub-section p{
    margin-bottom: -1rem;
}

.page-info .sub-section ul li{
    padding-top: 1.5rem;
    font-size: 1.5rem;
    color: var(--grey);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 1rem;
}

.page-info .sub-section ul li p{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.page-info .sub-section strong{
    color: var(--black);
}

.page-info .sub-section ul i{ 
    color: var(--main-color);
    font-size: 1.4rem;
    height: 1.8rem;
    width: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.page-single .reviews h2,
.page-single .comments h2{
    font-size: 3rem; 
    color: var(--black);
    padding-bottom: 2rem;
}

.page-single .leave-reply h3{
    font-size: 3rem; 
    color: var(--black); 
    padding-bottom: 2rem;
}

/*----- 03- Page Sidebar -----*/
.page-sidebar{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 25rem; 
        flex: 1 1 25rem;  
    padding: 4rem;
    border-radius: var(--border-radius-2);
    background: var(--black);
    border-bottom: var(--custom-border);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.page-sidebar .sub-heading{
    display: inline-block;
    font-size: 2.5rem;
    font-weight: 600;
    color: var(--white);
    padding-bottom: 2rem;
    line-height: 1;
}

.page-sidebar .detail-item{
    padding-bottom: 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.8rem;
}

.page-sidebar .detail-item:last-child{
    padding-bottom: 0;
}

.page-sidebar .detail-item i{
    height: 2rem;
    width: 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; 
    font-size: 1.8rem;
    color: var(--main-color);
}

.page-sidebar .detail-item h3{
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--white);
    line-height: 1;
    padding-bottom: 0.8rem;
}

.page-sidebar .detail-item p{
    font-weight: 400;
    color: var(--light-grey);
    line-height: 1.3;
    text-transform: none;
}

.page-sidebar .btn{
    margin-top: 3rem;
}

/*----- 4- Custom Form -----*/
.custom-form .box-container{
    border-radius: var(--border-radius-2);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2rem;
    margin-bottom: 2rem;
    margin-top: 6rem;
}

.custom-form .content{
    -webkit-transform: translateY(-6rem);
            transform: translateY(-6rem);
    width: 70rem;
    margin: 0 auto;
    background-color: var(--black);
    padding: 4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: var(--border-radius-2);
    text-align: center;
}

.custom-form .content form{
    width: 100%;
}

.custom-form form .alert{
    display: inline-block;
    font-size: 2rem;
    color: var(--main-color);
    padding-left: 1rem;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
}

/*--------------- PAGES ---------------*/

/*----- 1- Gallery -----*/
.gallery .box-container{
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr;
        grid-template-columns: 1fr 1fr 1fr;
            grid-auto-rows: 26rem;
    gap: 1.5rem;
    grid-template-areas: 
        "gallery-1 gallery-2 gallery-3"
        "gallery-4 gallery-2 gallery-5"
        "gallery-6 gallery-7 gallery-9"
        "gallery-6 gallery-8 gallery-9";
}

.gallery-item{
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    position: relative;
    cursor: pointer;
    height: 26rem;
    border-radius: var(--border-radius-1);
    overflow: hidden;
}

/* Assign grid areas to Each Category Box */
.gallery-1 {
    grid-area: gallery-1;
}

.gallery-2 {
    grid-area: gallery-2;
    height: auto;
}

.gallery-3 {
    grid-area: gallery-3;
}

.gallery-4 {
    grid-area: gallery-4;
}

.gallery-5 {
    grid-area: gallery-5;
}

.gallery-6 {
    grid-area: gallery-6;
    height: auto;
}

.gallery-7 {
    grid-area: gallery-7;
}

.gallery-8 {
    grid-area: gallery-8;
}

.gallery-9 {
    grid-area: gallery-9;
    height: auto;
}

.gallery-item .content{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center; 
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; 
    -webkit-box-orient: vertical; 
    -webkit-box-direction: normal; 
        -ms-flex-direction: column; 
            flex-direction: column;
    position: absolute;
    left: 10%;
    top: 10%;
    opacity: 0;
    width: 80%;
    height: 80%;
    z-index: 1;
    -webkit-transition: all 0.4s ease-in-out 0s;
    -moz-transition: all 0.4s ease-in-out 0s;
    -o-transition: all 0.4s ease-in-out 0s;
    transition: all 0.4s ease-in-out 0s;
    background: -webkit-linear-gradient(45deg, rgba(56, 182, 255, 0.9), rgba(81, 112, 255, 0.9), rgba(255, 102, 196, 0.9));
    background: linear-gradient(45deg, rgba(56, 182, 255, 0.9), rgba(81, 112, 255, 0.9), rgba(255, 102, 196, 0.9));
    border-radius: var(--border-radius-1);
}

.gallery-item:hover .content{
    opacity: 1;
}

.gallery-item a i{
    scale: 0;
    font-size: 4rem;
    color: var(--white);
}

.gallery-item:hover a i{
    scale: 1;
}

/*----- 2- Tickets -----*/
.tickets .box-container{
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(33rem, 1fr))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(33rem, 1fr));
    gap: 1rem;
}

.ticket-item{
    border-radius: var(--border-radius-2);
    position: relative;
    margin-top: 2.5rem;
}

.ticket-item img{
    height: 52rem;
    border-radius: var(--border-radius-2);
}

.ticket-item .content {
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    border-radius: var(--border-radius-2);
}

.ticket-item .intro {
    padding: 2rem 4rem;
    padding-top: 8.5rem;
}

.ticket-item .intro .icon {
    position: absolute;
    top: 0%;
    left: 4rem;
    -webkit-transform: translateY(-2.5rem);
            transform: translateY(-2.5rem);
    width: 9rem;
    height: 9rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 3.5rem;
    color: transparent;
    -webkit-text-stroke: 1.5px var(--white);
    background: -webkit-linear-gradient(45deg,var(--accent-color), var(--secondary-color));
    background: linear-gradient(45deg,var(--accent-color), var(--secondary-color));
    -webkit-clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
            clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
}

.ticket-item .intro h3{
    color: var(--white);
    font-size: 3.5rem;
    font-weight: 600;
}

.ticket-item .intro .price{
    font-size: 2rem;
    color: var(--white);
    padding-top: 1rem;
}

.ticket-item .intro .price span{
    font-size: 6rem;
    font-weight: 600;
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color), var(--secondary-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color), var(--secondary-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--accent-color);
}

.ticket-item .bottom {
    padding: 2rem 4rem;
    border-top: 0.15rem solid rgba(255, 255, 255, 0.3);
}

.ticket-item ul{ 
    padding-bottom: 2rem;
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.ticket-item ul li{
    padding: 0.8rem 0;
    font-size: 1.6rem;
    color: var(--light-grey);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.7rem;
}

.ticket-item ul li .icon{
    height: 2.5rem;
    width: 2.5rem;
    color: var(--white);
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
    border-radius: var(--border-radius-3);
    font-size: 1.3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

/*----- 3- Services -----*/
.services .box-container{
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(32rem, 1fr))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(32rem, 1fr));
    gap: 1.5rem;
}

.service-item{
    border-radius: var(--border-radius-2);
    overflow: hidden;
    position: relative;
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
}

.service-item .image {
    height: 38rem;
}

.service-item .content{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    padding: 2rem 4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.service-item i{
    font-size: 3.5rem;
    color: transparent;
    -webkit-text-stroke: 1.5px var(--white);
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
    -webkit-clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
            clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
    width: 8rem;
    height: 8rem;
    margin-bottom: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.service-item h3{
    font-size: 2.8rem;
    font-weight: 600;
    color: var(--white);
    padding-bottom: 1rem;
}

.service-item h3:hover{
    color: var(--main-color);
}

.service-item p{
    color: var(--light-grey);
    padding-bottom: 2.5rem;
}

/*----- 4- Service Single -----*/
.service-single .faq .accordion-container{
    padding-top: 0.5rem;
}

/*----- 5- Portfolio -----*/
.portfolio .tab-buttons{
    -webkit-box-pack: center; 
    -ms-flex-pack: center;
    justify-content: center;
}

.portfolio-item{
    width: 33.3%;
    padding: 0.8rem;
}

/* Event listing cards use CSS grid or Bootstrap columns; reset legacy float sizing */
.portfolio-item.event-card{
    width: 100%;
    max-width: 100%;
    padding: 0;
    box-sizing: border-box;
}

.portfolio-content{
    height: 30rem;
    position: relative;
    overflow: hidden;
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-2);
}

.portfolio-item .content{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 90%;
    padding-top: 0.5rem;
    -webkit-clip-path: polygon(0 0, 94% 7%, 100% 100%, 0% 100%);
            clip-path: polygon(0 0, 94% 7%, 100% 100%, 0% 100%);
    background: -webkit-linear-gradient(left, var(--main-color), var(--secondary-color));
    background: linear-gradient(90deg, var(--main-color), var(--secondary-color));
}

.portfolio-item .text {
    padding: 1.5rem 2rem;
    background: -webkit-linear-gradient(left, var(--main-color), var(--accent-color));
    background: linear-gradient(90deg, var(--main-color), var(--accent-color));
    -webkit-clip-path: polygon(0 0, 91% 14%, 100% 100%, 0% 100%);
            clip-path: polygon(0 0, 91% 14%, 100% 100%, 0% 100%);
}

.portfolio-item .text p{
    font-weight: 500;
    font-size: 1.6rem;
    color: var(--white);
    text-transform: uppercase;
}

.portfolio-item .text h3{
    font-size: 2.6rem;
    font-weight: 600;
    color: var(--white);
}

.portfolio-item .event-meta{
    margin-top: 0.8rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    font-size: 1.6rem;
    color: var(--white);
}

.portfolio-item .event-meta i{
    margin-right: 0.4rem;
}

/*----- Event Cards (Frontpage) -----*/
.portfolio .box-container{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2.25rem;
}

.event-card{
    background: var(--white);
    border-radius: 1.6rem;
    box-shadow: var(--box-shadow);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.event-card .event-card-image-wrap{
    position: relative;
    width: 100%;
    aspect-ratio: 2 / 1;
    overflow: hidden;
    background: #f1f5f9;
}

.event-card .event-card-image-wrap .event-card-image{
    display: block;
    width: 100%;
    height: 100%;
}

.event-card .event-card-image{
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #f1f5f9;
}

.event-card .event-card-image-wrap .event-card-image img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.event-card .event-card-image img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.event-wishlist-wrap{
    position: absolute;
    top: 0.8rem;
    right: 0.8rem;
    z-index: 3;
}

.event-wishlist-form{
    margin: 0;
    padding: 0;
    display: inline;
}

.event-wishlist-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.6rem;
    height: 3.6rem;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: var(--main-color);
    box-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.12);
    cursor: pointer;
    text-decoration: none;
    font-size: 1.6rem;
    transition: transform 0.15s ease, background 0.15s ease;
}

.event-wishlist-btn:hover{
    transform: scale(1.06);
    background: var(--white);
    color: var(--main-color);
}

.event-wishlist-btn--saved{
    color: #e11d48;
}

.event-wishlist-wrap--detail{
    position: static;
}

.event-wishlist-wrap--detail .event-wishlist-btn{
    width: auto;
    height: auto;
    min-height: 4.4rem;
    padding: 0 1.6rem;
    border-radius: 0.8rem;
    font-size: 1.45rem;
    font-weight: 600;
    gap: 0.6rem;
}

.event-wishlist-wrap--detail .event-wishlist-btn-label{
    margin-left: 0.5rem;
}

.product-actions-row{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 1.2rem;
}

.product-actions-row .btn-box{
    flex: 1 1 auto;
    min-width: min(100%, 28rem);
}

.product-actions-row .event-wishlist-wrap--detail{
    flex: 0 0 auto;
}

.event-social-share{
    margin-top: 2rem;
    padding-top: 1.6rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.event-social-share__heading{
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: var(--black);
}

.event-social-share__buttons{
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.event-social-share__btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    padding: 0.75rem 1.25rem;
    font-size: 1.35rem;
    font-weight: 600;
    border-radius: 0.5rem;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: opacity 0.2s ease, transform 0.15s ease;
    color: #fff;
}

.event-social-share__btn:hover{
    opacity: 0.92;
    color: #fff;
    transform: translateY(-1px);
}

.event-social-share__btn:focus-visible{
    outline: 2px solid var(--main-color);
    outline-offset: 2px;
}

.event-social-share__btn i{
    font-size: 1.5rem;
}

.event-social-share__btn--facebook{
    background: #1877f2;
}

.event-social-share__btn--instagram{
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}

.event-social-share__btn--tiktok{
    background: #000;
}

.event-social-share__hint{
    margin-top: 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    color: #4b5563;
    max-width: 42rem;
}

.event-social-share__feedback{
    margin-top: 0.75rem;
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--main-color);
}

.event-calendar-add{
    margin-top: 2rem;
    padding-top: 1.6rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.event-calendar-add__heading{
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: var(--black);
}

.event-calendar-add__buttons{
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.event-calendar-add__btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    padding: 0.75rem 1.25rem;
    font-size: 1.35rem;
    font-weight: 600;
    font-family: inherit;
    line-height: 1.2;
    border-radius: 0.5rem;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: opacity 0.2s ease, transform 0.15s ease;
    color: #fff;
    background: none;
}

.event-calendar-add__btn:hover{
    opacity: 0.92;
    color: #fff;
    transform: translateY(-1px);
}

.event-calendar-add__btn:focus-visible{
    outline: 2px solid var(--main-color);
    outline-offset: 2px;
}

.event-calendar-add__btn i{
    font-size: 1.5rem;
}

.event-calendar-add__btn--google{
    background: #4285f4;
}

.event-calendar-add__btn--outlook{
    background: #0078d4;
}

.event-calendar-add__btn--apple{
    background: #1c1c1e;
}

.event-calendar-add__hint{
    margin-top: 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    color: #4b5563;
    max-width: 42rem;
}

.event-card .event-card-body{
    padding: 1.75rem 1.85rem 2rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.event-card .event-card-title h3{
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--black);
    margin-bottom: 0.35rem;
}

.event-card .event-card-date{
    font-size: 1.32rem;
    font-weight: 500;
    line-height: 1.45;
    color: #000;
}

.event-card .event-card-location{
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.45;
    color: #111827;
}

.event-card .event-card-price{
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    color: #1e40af;
    margin-top: 0.35rem;
}

.event-card .event-card-excerpt{
    font-size: 1.28rem;
    font-weight: 400;
    line-height: 1.5;
    color: #000;
    margin: 0.15rem 0 0;
    text-transform: none;
}

.portfolio-section-intro{
    width: min(100%, 92rem);
    margin: 0 auto 2.4rem;
    padding: 0 5%;
    box-sizing: border-box;
    text-align: center;
    font-family: 'Syne', sans-serif;
}

.portfolio-section-intro__title{
    margin: 0 0 0.9rem;
    color: var(--black);
    font-family: 'Syne', sans-serif;
    font-size: clamp(2.6rem, 3.2vw, 3.6rem);
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -0.04em;
    text-transform: none;
}

.portfolio-section-intro__text{
    margin: 0 auto;
    max-width: 74rem;
    color: #1e293b;
    font-family: 'Syne', sans-serif;
    font-size: clamp(1.75rem, 2vw, 2.05rem);
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: -0.02em;
    text-transform: none;
}

/* Mobile type scale — px so sizes stay readable when html rem is reduced (65%/50%). */
@media (max-width: 768px){
    .portfolio-section-intro__title{
        font-size: 23px;
        font-weight: 700;
        letter-spacing: -0.02em;
        line-height: 1.25;
    }

    .portfolio-section-intro__text{
        font-size: 16px;
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 0;
        color: #334155;
    }

    .event-card .event-card-title h3{
        font-size: 18px;
        font-weight: 700;
        line-height: 1.3;
    }

    .event-card .event-card-date,
    .event-card .event-card-location,
    .event-card .event-card-price{
        font-size: 14px;
        font-weight: 500;
        line-height: 1.45;
        color: #000;
    }

    .event-card .event-card-location{
        font-weight: 600;
        color: #111827;
    }

    .event-card .event-card-price{
        font-weight: 700;
        color: #1e40af;
    }

    .event-card .event-card-excerpt{
        font-size: 14px;
        font-weight: 400;
        line-height: 1.5;
        color: #000;
    }

    .portfolio .tab-buttons .button,
    .tab-buttons .button{
        font-size: 15px;
        font-weight: 600;
    }

    .btn,
    .btn-2{
        font-size: 15px;
        font-weight: 600;
    }

    .past-events-strip__badge{
        font-size: 14px;
        font-weight: 600;
    }

    .past-events-strip__link{
        font-size: 15px;
        font-weight: 600;
    }
}

.product-single .event-detail-title{
    font-size: 3.5rem;
    font-weight: 600;
    color: var(--black);
    padding-top: 0.7rem;
    text-transform: none;
}

.product-single .event-page-summary,
.product-single .related-event-excerpt{
    text-transform: none;
}

.product-single .related-event-excerpt{
    margin: 0.6rem 0 0;
    color: #4b5563;
    font-size: 1.35rem;
    line-height: 1.5;
    font-weight: 400;
}

.upcoming-events-strip{
    margin-top: 3rem;
}

.upcoming-events-strip__title{
    margin: 0 0 0.8rem;
    color: var(--black);
    font-size: clamp(2rem, 2.4vw, 2.6rem);
    line-height: 1.25;
    font-weight: 700;
    text-transform: none;
}

.upcoming-events-strip__lead{
    margin: 0 0 2rem;
    max-width: 70rem;
    color: #4b5563;
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: 400;
    text-transform: none;
}

.past-events-strip__card .event-card-image-wrap{
    position: relative;
}

.past-events-strip__badge{
    position: absolute;
    left: 1rem;
    bottom: 1rem;
    z-index: 2;
    padding: 0.45rem 0.9rem;
    border-radius: 0.45rem;
    background: rgba(15, 23, 42, 0.82);
    color: #fff;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.02em;
    pointer-events: none;
}

.past-events-strip__link{
    display: inline-flex;
    align-items: center;
    margin-top: 0.75rem;
    color: var(--main-color, #2563eb);
    font-size: 1.45rem;
    font-weight: 600;
    text-decoration: none;
}

.past-events-strip__link:hover{
    text-decoration: underline;
}

@media (max-width: 768px){
    .past-events-strip .upcoming-events-strip__title{
        font-size: 23px;
        font-weight: 700;
        line-height: 1.25;
    }

    .past-events-strip .upcoming-events-strip__lead{
        font-size: 16px;
        font-weight: 400;
        line-height: 1.5;
    }

    .past-events-strip__badge{
        font-size: 14px;
        font-weight: 600;
        padding: 0.55rem 1rem;
    }

    .past-events-strip__link{
        font-size: 15px;
        font-weight: 600;
        min-height: 44px;
        align-items: center;
    }
}

@media (max-width: 450px){
    .past-events-strip .upcoming-events-strip__title{
        font-size: 23px;
        font-weight: 700;
    }

    .past-events-strip .upcoming-events-strip__lead{
        font-size: 16px;
        font-weight: 400;
        line-height: 1.5;
    }

    .past-events-strip__badge{
        font-size: 14px;
    }

    .past-events-strip__link{
        font-size: 15px;
    }
}

.product-single .event-details{
    margin-top: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    font-size: 1.6rem;
    color: var(--main-color);
}

.product-single .event-details i{
    margin-right: 0.4rem;
}

.product-single .organizer-row{
    display: flex;
    align-items: center;
    gap: 1.2rem;
    flex-wrap: wrap;
}

.product-single .follow-btn{
    padding: 0.8rem 2rem;
    font-size: 1.4rem;
}

.portfolio-item .text h3:hover{
    color: var(--black);
}

.portfolio-item .view{
    position: absolute;
    top: 2rem;
    right: 2rem;
    height: 5rem;
    width: 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: var(--border-radius-3);
    background-image:         -webkit-linear-gradient(306deg, var(--accent-color), var(--secondary-color));
    background-image:         linear-gradient(144deg, var(--accent-color), var(--secondary-color));
    scale: 0;
    cursor: pointer;
}

.portfolio-item .view i{
    font-size: 2rem;
    color: var(--white);
}

.portfolio-item:hover .view{
    scale: 1;
}

.portfolio-item .view:hover {
    background-image: -webkit-linear-gradient(306deg, var(--main-color), var(--accent-color));
    background-image:         linear-gradient(144deg, var(--main-color), var(--accent-color));
}

/*----- 6- Portfolio Single -----*/



/*----- 7- Careers -----*/
.career{
    padding: 0;
}

.career .career-intro{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; 
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 4rem;
    padding: 3rem 5%;
}

.career .content{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 42rem;
        flex: 1 1 42rem;
}

.career-intro .heading{
    -webkit-box-align: start;
    -ms-flex-align: start;
    -ms-grid-row-align: flex-start;
    align-items: flex-start;
}

.career-intro .heading h2{
    text-align: left;
}

.career .content p{
    padding-bottom: 1rem;
}

.career .career-features{
    padding-top: 0.5rem;
}

.career .career-features li{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
    padding-bottom: 1rem;
    font-size: 1.6rem;
}

.career .career-features i{
    color: var(--main-color);
}

.career .career-features span{
    color: var(--grey);
}

.career .image{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 42rem;
        flex: 1 1 42rem;
    border-radius: var(--border-radius-1);
    overflow: hidden;
    height: 45rem;
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.career-benefits{
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(30rem, 1fr))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
    gap: 3rem;
    background: -webkit-linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.7)), url("../../assets/images/Background/Career.jpg");
    background:         linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.7)), url("../../assets/images/Background/Career.jpg");
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    padding: 6rem 5%;
}

.career-benefits .benefit-item {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--border-radius-1);
    overflow: hidden;
    padding: 3rem;
}

.career-benefits .benefit-item i{
    height: 8rem;
    width: 8rem;
    font-size: 3.5rem;
    color: transparent;
    -webkit-text-stroke: 1.5px var(--white);
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
    -webkit-clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
            clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.career-benefits .benefit-item h3{
    font-size: 2.5rem;
    font-weight: 600;
    color: var(--white);
    padding: 1rem 0;
}

.career-benefits .benefit-item p{
    color: var(--light-grey);
}

.career-positions{
    padding: 3rem 5%;
}

.career-positions .box-container{
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(45rem, 1fr))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(45rem, 1fr));
    gap: 1.5rem;
}

.position-item{
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    background-color: var(--black);
    border-radius: var(--border-radius-1);
    border-top: var(--custom-border);
    padding: 3rem;
    padding-top: 4.5rem;
    position: relative;
    margin-top: 3.5rem;
}

.position-item .label{
    position: absolute;
    top: -3rem;
    left: 3rem;
    color: var(--white);
    background-color: #f2f3f8;
    height: 8rem;
    width: 8rem;
    font-size: 1.6rem;
    font-weight: 600;
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
    -webkit-clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
            clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.position-item h3{
    font-size: 2.8rem;
    color: var(--white);
    padding: 2rem 0;
}

.position-item h3:hover{
    color: var(--main-color);
}

.position-item .details {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.5rem;
    margin-bottom: 2.5rem;
}

.position-item h5{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
}

.position-item h5 i{
    font-size: 1.6rem;
    color: var(--main-color);
}

.position-item h5 span{
    font-size: 1.8rem;
    font-weight: 400;
    color: var(--white);
}

/*----- 8- Career Single -----*/


/*----- 9- Career Form -----*/
.career-form .box-container{
    background-image: url("../../assets/images/Background/Career-Form.jpg");
}

.career-form .alert{
    font-size: 2rem;
    color: var(--white);
    padding-left: 1rem;
}

/*----- 10- Venues -----*/
.venues .box-container {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(32rem, 1fr))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(32rem, 1fr));
    gap: 1.5rem;
}

.venue-item{
    background-color: var(--white);
    overflow: hidden;
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-2);
    position: relative;
}

.venue-item .image{
    height: 35rem;
} 

.venue-item .content{
    padding: 2rem;  
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.9));
    background: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.9));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}

.venue-item h4 {
    font-size: 1.6rem;
    background: -webkit-linear-gradient(left, var(--main-color), var(--accent-color));
    background: linear-gradient(90deg, var(--main-color), var(--accent-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--accent-color);
    text-transform: uppercase;
}

.venue-item .main-heading{
    display: block;
    font-size: 2.8rem;
    font-weight: 600;
    color: var(--white);
    line-height: 1.2;
    padding: 0.6rem 0;
}

.venue-item .main-heading:hover{
    color: var(--main-color);
}

.venue-item h3 {
    font-size: 1.8rem;
    font-weight: 500;
    color: var(--white);
}

.venue-item h3 span {
    background: -webkit-linear-gradient(left, var(--main-color), var(--accent-color));
    background: linear-gradient(90deg, var(--main-color), var(--accent-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--accent-color);
    padding-right: 0.6rem;
}

/*----- 11- Venue Single -----*/

/*-- Google Map --*/
.venue-single iframe{
    width: 100%;
    height: 30rem;
    border-radius: var(--border-radius-2);
    margin-top: 1rem;
}

/*----- 12- Not Found -----*/
.not-found {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.not-found .box-container {
    width: 60rem;
    text-align: center;
    margin: 2rem 0;
}

.not-found img {
    width: 40rem;
}

.not-found h5 {
    font-size: 4rem;
    font-weight: 600;
    color: var(--black);
    line-height: 1.4;
    padding: 1rem 0;
}

.not-found h5 span {
    background: -webkit-linear-gradient(left, var(--main-color), var(--accent-color), var(--secondary-color));
    background: linear-gradient(90deg, var(--main-color), var(--accent-color), var(--secondary-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--accent-color);
}

.not-found p {
    padding-bottom: 2rem;
    color: var(--grey);
}

.not-found .btn i {
    padding-left: 1rem;
}

/*----- 13- Privacy Policy -----*/
.policy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 3rem;
}

.policy .policy-tab-buttons {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 15rem;
    flex: 1 1 15rem;
}

.policy .category {
    display: block;
    padding: 2rem 2.5rem;
    font-size: 1.7rem;
    color: var(--white);
    background: -webkit-linear-gradient(45deg, var(--accent-color), var(--main-color));
    background: linear-gradient(45deg, var(--accent-color), var(--main-color));
    font-weight: 500;
    margin-bottom: 0.5rem;
    border-radius: var(--border-radius-1);
}

.policy .category:hover {
    background: -webkit-linear-gradient(45deg, var(--accent-color), var(--secondary-color));
    background: linear-gradient(45deg, var(--accent-color), var(--secondary-color));
}

.policy .category:last-child {
    margin-bottom: 0%;
}

.policy .policy-tabs {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 70rem;
    flex: 1 1 70rem;
}

.policy-item {
    margin-bottom: 1.5rem;
}

.policy-item h3 {
    padding-bottom: 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.5rem;
    font-size: 2.5rem;
    color: var(--black);
}

.policy-item p {
    font-size: 1.5rem;
    line-height: 2;
    color: var(--grey);
}

.policy-item ul {
    list-style: none;
    padding-left: 1rem;
}

.policy-item ul li {
    padding-top: 1rem;
    font-size: 1.5rem;
    color: var(--grey);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
}

.policy-item ul i {
    color: var(--main-color);
    font-size: 1.2rem;
    height: 1.8rem;
    width: 1rem;
    padding-top: 0.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

/*----- 14- Terms & Condition -----*/


/*----- 15- Registration -----*/
.registration .box-container{
    background-image: url("../../assets/images/Background/Registration.jpg");
}

/*----- 16- Sponsors -----*/
.sponsors .box-container{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 4rem;
}

.sponsor-item{
    width: 20rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

/*------------------------------ (03)-Pages (End) ------------------------------*/




/*------------------------------ (04)-Schedule (Start) ------------------------------*/

/*----- 1- Schedule Tabs -----*/
.schedule .tab-buttons{
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 2rem;
}

.schedule .tab-buttons button{
    padding: 1.5rem 3rem;
    letter-spacing: 0.1rem;
    font-size: 2.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.schedule .tab-buttons button span {
    font-size: 1.6rem;
    font-weight: 500;
    padding-top: 0.5rem;
}

.session{
    border-radius: var(--border-radius-1);
    margin-bottom: 2rem;
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    background: var(--black);
}

.session-intro{
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
    padding: 2rem 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 22rem;
            flex: 1 1 22rem;
    text-align: center;
    color: var(--white);
}

.session-intro .session-timing{
    font-size: 1.8rem;
    font-weight: 500;
    padding-bottom: 1rem;
}

.session-intro .session-venue{
    font-size: 2rem;
}

.session .image {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 18rem;
            flex: 1 1 18rem;
    position: relative;
}

.session .number {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    width: 5rem;
    height: 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 2.5rem;
    font-weight: 600;
    padding: 1rem;
    color: var(--white);
    background: -webkit-linear-gradient(45deg, var(--accent-color), var(--secondary-color));
    background: linear-gradient(45deg, var(--accent-color), var(--secondary-color));
    border-radius: var(--border-radius-3);
}

.session .session-topic{
    -webkit-box-flex: 1;
        -ms-flex: 1 1 55rem;
            flex: 1 1 55rem;
    padding: 2rem;
}

.session .session-topic h3{
    font-size: 3rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--white);
    padding-bottom: 0.5rem;
}

.session .session-topic h3:hover{
    color: var(--main-color);
}

.session .session-topic p{
    color: var(--light-grey);
    margin-bottom: 1.5rem;
}

.session-speakers{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 3rem;
}

.session-speaker img{
    height: 5rem;
    width: 5rem;
    border-radius: var(--border-radius-3);
}

.session-speaker{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
}

.session-speaker .text{
    -webkit-box-flex: 1;
        -ms-flex: 1 1 10rem;
            flex: 1 1 10rem;
}

.session-speaker h4{
    font-size: 2rem;
    font-weight: 600;
    color: var(--white);
}

.session-speaker h6{
    font-size: 1.8rem;
    font-weight: 500;
    color: var(--main-color);
}

/*----- 2- Schedule List -----*/


/*----- 3- Schedule Event -----*/
.event-container {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(42rem, 1fr))[auto-fit];
    grid-template-columns: repeat(auto-fit, minmax(42rem, 1fr));
    gap: 1rem;
}

.event-item {
    position: relative;
    border-radius: var(--border-radius-2);
    overflow: hidden;
}

.event-item .image {
    height: 32rem;
}

.event-item .content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    padding: 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}

.event-item .detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2rem;
    padding-bottom: 1rem;
}

.event-item .detail h3 {
    font-size: 1.6rem;
    color: var(--white);
}

.event-item .detail h3 i {
    color: transparent;
    -webkit-text-stroke: 1.5px var(--main-color);
    padding-right: 1rem;
}

.event-item .main-heading {
    display: block;
    font-size: 2.8rem;
    font-weight: 600;
    color: var(--white);
    line-height: 1.2;
    padding-bottom: 1.5rem;
}

.event-item .main-heading:hover {
    color: var(--main-color);
}

/*----- 4- Schedule Single -----*/
.session-info iframe{
    width: 100%;
    height: 30rem;
    border-radius: var(--border-radius-1);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

/*------------------------------ (04)-Schedule (End) ------------------------------*/




/*------------------------------ (05)-Speaker (Start) ------------------------------*/

/*----- 1- Speakers -----*/
.speakers .box-container{
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(25rem, 1fr))[auto-fill];
    grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
    gap: 1.5rem;
}

/*----- 2- Speaker Single -----*/
.speaker-single .speaker-image{
    height: 60rem;
}

.speaker-single .schedule{
    padding-top: 2rem;
}

.speaker-single .day-container{
    padding-top: 1rem;
}

/*------------------------------ (05)-Speaker (End) ------------------------------*/




/*------------------------------ (06)-Blog (Start) ------------------------------*/

/*--------------- COMPONENTS ---------------*/

/*----- 01- Blog-Item -----*/
.blog-item{
    background-color: var(--white);
    overflow: hidden;
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-2);
    position: relative;
}

.blog-item .image{
    position: relative;
    height: 180px;
    overflow: hidden;
}

.blog-item .image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
} 

.blog-item .date{
    position: absolute; 
    top: 2rem;
    right: 2rem;
    width: 8rem;
    height: 8rem;
    color: var(--white);
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
    -webkit-clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
            clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
    font-size: 2rem;
    padding: 2rem;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    z-index: 2;
}

.blog-item .content{
    padding: 2rem;  
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-linear-gradient(rgba(0,0,0,0.2),rgba(0,0,0,0.8));
    background: linear-gradient(rgba(0,0,0,0.2),rgba(0,0,0,0.8));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}

.blog-item .main-heading{
    display: block;
    font-size: 2.8rem;
    font-weight: 600;
    color: var(--white);
    line-height: 1.2;
    padding-bottom: 1rem;
}

.blog-item .main-heading:hover{
    color: var(--main-color);
}

.blog-item .detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2rem;
}

.blog-item .detail h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
    font-size: 1.6rem;
    font-weight: 500;
    color: var(--white);
}

.blog-item .detail h3 i {
    width: 3rem;
    height: 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    color: transparent;
    -webkit-text-stroke: 1px var(--white);
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
    border-radius: var(--border-radius-3);
}

.blog.main .blog-item .content{
    position: static;
    height: auto;
    background: var(--white);
}

.blog.main .blog-item .main-heading{
    color: var(--black);
}

.blog.main .blog-item .detail h3{
    color: var(--grey);
}

.blog.main .blog-item .detail h3 i{
    -webkit-text-stroke: 1px var(--grey);
}

.blog.main .blog-item .blog-footer{
    margin-top: 1.2rem;
}

.blog.main .blog-item .blog-footer p{
    color: var(--grey);
}

.blog.main .blog-item .blog-footer a{
    color: var(--accent-color);
    font-weight: 600;
}

.blog.main .blog-item .blog-footer a.blog-footer__cta{
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.35em;
}

/*----- 02- Comments -----*/
.comment-item{
    padding-bottom: 1rem;
}

.comment-item:last-child{
    padding-bottom: 0;
}

.comment{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    -ms-grid-row-align: flex-start;
    align-items: flex-start;
    gap: 2rem;
    padding-bottom: 2rem;
}

.comment .comment-image{
    height: 10rem;
    width: 10rem;
    border-radius: var(--border-radius-2);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    overflow: hidden;
}

.comment .comment-content { 
    -webkit-box-flex: 1;
    -ms-flex: 1 1 35rem;
        flex: 1 1 35rem;
}

.comment .comment-intro{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1rem;
    padding-bottom: 0.5rem;
}

.comment .comment-text { 
    padding-top: 1rem;
    font-size: 1.5rem;
    color: var(--grey);
    line-height: 1.2;
}

.comment .comment-intro h3 {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--black);
}

.comment .comment-intro h6 {
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--main-color);
    padding: 0.5rem 0;
}

.comment .rating {
    padding-top: 0.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.5rem;
}

.comment .rating i {
    font-size: 1.6rem;
    color: var(--main-color);
}

.comment .rating h5 {
    font-size: 1.6rem;
    color: var(--black);
}

.comment .icon-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.3rem;
    color: var(--white);
    background-color: var(--main-color);
    padding: 0.7rem 1.5rem;
    border-radius: var(--border-radius-1);
    cursor: pointer;
}

.comment .icon-item i {
    color: var(--white);
    font-size: 2rem;
    padding-right: 0.5rem
}

.comment .icon-item span {
    color: var(--white);
    font-size: 1.6rem;
}

.comment .icon-item:hover{
    cursor: pointer;
    color: var(--black);
}

.comment.reply{
    margin-left: 12rem;
}

.comment.reply .comment-content{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 20rem;
        flex: 1 1 20rem;
}

/*----- 03- Pages-No -----*/
.pages-no{
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 2rem;
}

.pages-no .container{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
}

.pages-no .item{
    color: var(--white);
    background-color: var(--black);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    height: 5rem;
    width: 5rem;
    font-size: 2rem;
    border-radius: var(--border-radius-1);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.pages-no .item.active,
.pages-no .item:hover{
    cursor: pointer;
    background-color: var(--main-color);
}

.pages-no .numbers{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
}

/*--------------- PAGES ---------------*/
.blog-container{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 75rem;
        flex: 1 1 75rem;
}

/*----- 1- Blog Grid -----*/
.blog.grid{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 1.5rem;
}

.blog-container.grid .blog-items{
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(32rem, 1fr))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(32rem, 1fr));
    gap: 1.5rem;
}

/*----- 2- Blog List -----*/
.blog.list{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.5rem;
}

.blog-container.list .blog-item{
    width: 100%;
    margin-top: 2rem;
}

.blog-container.list .blog-item:first-child{
    margin-top: 0rem;
}


/*----- 3- Blog Single -----*/
/*
1- Blog Info
2- Comments
3- Leave A Reply
*/

.blog-single{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2rem;
}

/*-- 1- Blog Info --*/
.blog-info .date{
    position: absolute; 
    top: 2rem;
    right: 2rem;
    width: 8rem;
    height: 8rem;
    color: var(--white);
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
    -webkit-clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
            clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
    font-size: 2rem;
    padding: 2rem;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    z-index: 2;
}

.blog-info .details {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 2rem;
    padding-bottom: 2rem;
}

.blog-single .details h5{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; 
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.7rem;
}

.blog-single .details h5 i{
    font-size: 1.8rem;
    color: var(--main-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.blog-single .details h5 span{
    font-size: 1.6rem;
    font-weight: 400;
    color: var(--grey);
}

.blog-single .blog-info .imp{
    padding: 2rem;
    padding-top: 6.5rem;
    font-size: 1.8rem;
    font-weight: 600;
    font-style: italic;
    line-height: 1.8;
    color: var(--light-grey); 
    background-color: var(--black);
    margin-top: 3rem;
    margin-bottom: 2rem;
    border-radius: var(--border-radius-1);
    text-align: center;
    position: relative;
}

.blog-single .blog-info .imp .icon {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, -2.5rem);
            transform: translate(-50%, -2.5rem);
    height: 8rem;
    width: 8rem;
    font-size: 3.5rem;
    color: transparent;
    -webkit-text-stroke: 1.5px var(--white);
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
    -webkit-clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
            clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
    margin: 0 auto;
    margin-bottom: 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.blog-single .blog-info .imp .intro{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    padding-top: 1rem;
}

.blog-single .blog-info .imp .intro span{
    height: 0.2rem;
    width: 2rem;
    background-color: var(--main-color);
}

.blog-single .blog-info .imp .intro h6{
    font-size: 2rem;
    color: var(--main-color);
    font-style: normal;
}

.blog-info .end-details{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-top: 2rem;
    padding-bottom: 1rem;
    border-top: 0.1rem solid rgba(0, 0, 0, 0.1);
}

.blog-info .tags, 
.blog-info .share{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.7rem;
}

.blog-info .tags span{
    color: var(--white);
    background-color: var(--main-color);
    border-radius: var(--border-radius-1);
    font-size: 1.6rem;
    padding: 0.8rem 2rem;
}

.blog-info .tags span:hover{
    background-color: var(--black);
}

.blog-info .share h3{
    color: var(--black);
    font-size: 1.6rem;
    padding-right: 1rem;
}

.blog-info .share i{
    height: 2rem;
    width: 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center; 
    -ms-flex-align: center;
    align-items: center;
    color: var(--grey);
    font-size: 1.6rem;
}

.blog-info .share i:hover{
    color: var(--main-color);
    cursor: pointer;
}

/*-- 2- Comments --*/
.blog-single .comments{
    margin: 3rem 0;
}


/*------------------------------ (07)-Blog (End) ------------------------------*/



/*------------------------------ (08)-Shop (Start) ------------------------------*/

/*--------------- COMPONENTS ---------------*/

/*----- 01- Filter -----*/
.filter .box-container{
    padding-top: 4rem;
}

.filter .slider{
    height: 5px;
    position: relative;
    background: #ddd;
    border-radius: 5px;
}

.filter .slider .progress{
    height: 100%;
    left: 25%;
    right: 25%;
    position: absolute;
    border-radius: 5px;
    background: var(--black);
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
}

.range-input{
    position: relative;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
}

.range-input input{
    position: absolute;
    width: 100%;
    height: 5px;
    top: -5px;
    background: none;
    pointer-events: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input[type="range"]::-webkit-slider-thumb{
    height: 17px;
    width: 17px;
    border-radius: var(--border-radius-3);
    background: var(--black);
    pointer-events: auto;
    -webkit-appearance: none;
    -webkit-box-shadow: 0 0 6px rgba(0,0,0,0.05);
            box-shadow: 0 0 6px rgba(0,0,0,0.05);
}

input[type="range"]::-moz-range-thumb{
    height: 17px;
    width: 17px;
    border: none;
    border-radius: var(--border-radius-3);
    background: var(--black);
    pointer-events: auto;
    -moz-appearance: none;
    -webkit-box-shadow: 0 0 6px rgba(0,0,0,0.05);
            box-shadow: 0 0 6px rgba(0,0,0,0.05);
}

.price-wrap{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    color: #242424;
    font-size: 14px;
    line-height: 1.2em;
    font-weight: 400;
    margin-bottom: 0px;
    margin-top: 3rem;
}

.filter .price-input{
    width: 15rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: 0.1rem solid rgba(0, 0, 0, 0.2);
    padding: 0.5rem;
}

.filter .price-input .field{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.2rem;
    width: 100%;
    height: 3rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.filter .field input{
    width: 100%;
    height: 100%;
    outline: none;
    font-size: 1.5rem;
    text-align: center;
    -moz-appearance: textfield;
    -webkit-appearance: textfield;
            appearance: textfield;
    color: var(--black);
    background-color: transparent;
}

.filter input[type="number"]::-webkit-outer-spin-button,
.filter input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.filter .price-input .separator{
    width: 10rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.8rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

/*----- 02- Shop Header -----*/
.showcase .intro{
    margin-bottom: 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1rem;
    background-color: var(--white);
    border-radius: var(--border-radius-1);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    padding: 1rem 1.5rem;
}

.showcase .intro .showing{
    font-size: 1.6rem;
    color: var(--grey);
}

.showcase .intro .styles{
    list-style-type: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.5rem;
}

.showcase .intro .styles a{
    height: 3rem;
    width: 3rem;
    font-size: 2rem;
    color: var(--grey);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.showcase .intro .styles a:hover{
    color: var(--main-color);
}

.showcase .intro .sorting-type label{
    font-size: 1.6rem;
    color: var(--black);
    margin-right: 0.5rem;
}

.showcase .intro .sorting-type select{
    font-size: 1.4rem;
    color: var(--grey);
    background-color: transparent;
    border: 0.1rem solid rgba(0, 0, 0, 0.1);
    padding: 1rem;
}

/*----- 03- Quantity Box -----*/
.quantity.buttons_added {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border: 1px solid #ccc;
    height: 4rem;
    width: 11rem;
    margin: 0 auto;
}

.quantity.buttons_added .minus,
.quantity.buttons_added .plus {
    width: 3rem;
    color: var(--black);
    cursor:pointer;
    background-color: transparent;
}

.quantity.buttons_added .minus:hover,
.quantity.buttons_added .plus:hover {
    background: var(--main-color); 
    color: var(--white);
}

.quantity .input-text.qty {
    padding: 0 1rem;
    text-align: center;
    background-color: transparent;  
    border-right: 1px solid #ccc; 
    border-left: 1px solid #ccc; 
} 
  
.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0; 
}
    
.quantity.buttons_added .minus:focus,
.quantity.buttons_added .plus:focus {
    outline: none; 
}

/*----- 04- product-item -----*/
.product-item {
    background-color: var(--white);
    border-radius: var(--border-radius-1);
    overflow: hidden;
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.product-item .options {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    transition: opacity 0.5s ease;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    opacity: 0;
}

.product-item:hover .options {
    opacity: 1;
}

.product-item .options a {
    position: relative;
    height: 5rem;
    width: 5rem;
    font-size: 1.6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--white);
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
    border-radius: var(--border-radius-3);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
            transition: opacity 0.3s ease, visibility 0.3s ease;
}

.product-item:hover .options a {
    opacity: 1;
    visibility: visible;
}

.product-item .options a:hover {
    background: -webkit-linear-gradient(45deg, var(--secondary-color), var(--accent-color));
    background: linear-gradient(45deg, var(--secondary-color), var(--accent-color));
}

.product-item .options a::after {
    content: attr(data-tooltip);
    position: absolute;
    top: 120%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    padding: 0.6rem 0.9rem;
    background: var(--white);
    color: var(--black);
    font-size: 1.2rem;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
            transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 1000;
}

.product-item .options a:hover::after {
    opacity: 1;
    visibility: visible;
}

.product-item .image {
    overflow: visible;
    position: relative;
}

.product-item .image img {
    width: 100%;
    height: 25rem;
    -o-object-fit: cover;
       object-fit: cover;
}

.product-item .content {
    padding: 2rem;
    text-align: center;
}

.product-item .rating {
    padding-top: 0.7rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1rem;
}

.product-item .rating .icon {
    font-size: 1.4rem;
    color: var(--main-color);
}

.product-item .rating h5 {
    font-size: 1.5rem;
    color: var(--black);
}

.product-item h3 {
    font-size: 2.2rem;
    font-weight: 600;
    color: var(--black);
}

.product-item h3:hover {
    color: var(--main-color);
}

.product-item .price p {
    font-size: 2rem;
    font-weight: bold;
    color: var(--main-color);
}

.product-item .price span {
    font-size: 1.7rem;
    font-weight: 400;
    text-decoration: line-through;
    color: var(--grey);
    padding-left: 0.2rem;
}

/*----- 05- Shop-Title -----*/
.shoplist-title{
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
    color: var(--white);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 2rem 1.5rem;
    margin-bottom: 1rem;
}

.shoplist-title h3{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 10rem;
        flex: 1 1 10rem;
    font-size: 2rem;
    text-align: center;
}

.shoplist-title h3.product-heading{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 20rem;
        flex: 1 1 20rem;
    text-align: left;
}

/*----- 06- Cart-Summary -----*/
.summary-list{
    padding-top: 1rem;
} 

.summary-item{
    display: -webkit-box;
    display: -ms-flexbox; 
    display: flex; 
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center; 
    -ms-flex-align: center;
    align-items: center;
    padding-bottom: 1.5rem;
    font-size: 2rem;
    color: var(--black); 
}

.summary-item .name{
    font-weight: 600;
}

.summary-item .value{
    font-weight: 500;
    color: var(--main-color);
}

/*----- 07- Radio Button -----*/
.payment input:checked + label, 
.payment label:hover{ 
    color: var(--main-color);
}

.payment input[type="radio"] {
    position: absolute;
    opacity: 0;
}

.payment input[type="radio"] + 
.radio-label:before {
    content: '';
    background: #f4f4f4;
    border-radius: 100%;
    border: 0.1rem solid var(--grey);
    display: inline-block;
    width: 1.6rem;
    height: 1.6rem;
    position: relative;
    top: 0;
    vertical-align: top;
    cursor: pointer;
    text-align: center;
    -webkit-transition: all 250ms ease;
    -o-transition: all 250ms ease;
    transition: all 250ms ease;
}
  
.payment input[type="radio"]:checked + 
.radio-label:before {
    background-color: var(--main-color);
    -webkit-box-shadow: inset 0 0 0 4px #f4f4f4;
            box-shadow: inset 0 0 0 4px #f4f4f4;
    outline: none;
    border-color: var(--main-color);
}

/*----- 08- Account-Form -----*/
.account-form input:-webkit-autofill,
.account-form input:-webkit-autofill:hover,
.account-form input:-webkit-autofill:focus,
.account-form input:-webkit-autofill:active {
    -webkit-text-fill-color: var(--white);
    -webkit-transition: background-color 5000s ease-in-out 0s;
            transition: background-color 5000s ease-in-out 0s;
}

.account-form{
    max-width: 45rem;
    padding: 5rem;
    background: var(--black);
    border-radius: var(--border-radius-2);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    margin: 0rem auto;
    text-align: center;
    border-bottom: var(--custom-border);
}

.account-form h1,
.account-form h3{
    font-size: 3rem;
    line-height: 1.3;
    font-weight: 500;
    padding-bottom: 1.5rem;
    color: var(--white);
    text-transform: uppercase;
}

.account-form .input-field{
    margin-bottom: 1rem;
}

.account-form p{
    padding-top: 2rem;
    color: var(--white);
    text-align: center;
    padding-bottom: 1rem;
}

.account-form .btn{
    width: 100%;
    overflow: hidden;
    margin-top: 1.5rem;
}

.account-form .link{
    font-size: 1.5rem;
    color: var(--main-color);
}

.account-form .link:hover{
    text-decoration: underline;
}

.social-login{
    margin-top: 2rem;
    text-align: center;
    font-size: 1.3rem;
    color: var(--grey);
}

.social-login .social-buttons{
    margin-top: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.social-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    padding: 1.2rem 2rem;
    border-radius: var(--border-radius-1);
    border: 0.1rem solid var(--light-grey);
    color: var(--white);
    background: transparent;
    font-size: 1.4rem;
    font-weight: 600;
}

.social-btn.google{
    border-color: #e0e0e0;
    color: var(--white);
}

.social-btn.facebook{
    border-color: #1877f2;
    color: #1877f2;
}

.social-btn.twitter{
    border-color: #fff;
    color: #fff;
}

.account-form .checkbox-label {
    color: var(--grey);
    position: relative;
    padding-left: 2.5rem;
    cursor: pointer;
    font-size: 1.8rem;
    line-height: 1.4;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.account-form .checkbox-label input{
    position: absolute;
    opacity: 0;
    z-index: -1;
}

.account-form .checkbox-indicator{
    position: absolute;
    top: 0.2rem;
    left: 0;
    height: 1.6rem;
    width: 1.6rem;
    background: transparent;
    outline: 0.15rem solid var(--white);
    border-radius: 0.2rem;
}

.account-form .checkbox-label input:checked ~ 
.checkbox-indicator {
    background: var(--main-color);
    outline-color: var(--main-color);
}

.account-form .checkbox-indicator:after {
    content: '';
    position: absolute;
    left: 0.5rem;
    top: 0.2rem;
    width: 0.3rem;
    height: 0.8rem;
    border: solid var(--light-grey);
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    display: none;
}

.account-form .checkbox-label input:checked ~ 
.checkbox-indicator:after {
    display: initial;
}

/*--------------- PAGES ---------------*/
.shop{
    display: -webkit-box; 
    display: -ms-flexbox;
    display: flex;
    gap: 1.5rem;
}

.shop .shop-container{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 75rem;
        flex: 1 1 75rem;
}

/*----- 1- Shop Grid -----*/
.shop .product-container.grid{
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(25rem, 1fr))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
    gap: 1.5rem;
}

/*----- 2- Shop Standard -----*/
.shop .product-container.list .product-item{
    width: 100%;
    margin-bottom: 1rem;
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox; 
    display: flex; 
    -webkit-box-pack: start; 
        -ms-flex-pack: start; 
            justify-content: flex-start;
    padding: 0; 
} 

.shop .product-container.list .product-item .image{
    min-height: 25rem; 
    min-width: 25rem;
}

.shop .product-container.list .product-item .image img{
    height: 100%;
    width: 25rem;
    -o-object-fit: cover;
       object-fit: cover;
}

.shop .product-container.list .product-item .content{
    text-align: left;
}

.shop .product-container.list .product-item .content > p{
    font-size: 1.6rem;
    padding: 1rem 0;
    line-height: 1.5; 
}

.shop .product-container.list .product-item .rating {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
}

/*----- 3- Product Single -----*/
.product-single .product-des{
    background-color: var(--white);
    border-radius: var(--border-radius-2);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    padding: 2rem;
    margin-bottom: 3.5rem;
}

.product-single .product-des .box-container{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center; 
    -ms-flex-pack: center;
    justify-content: center; 
    -webkit-box-align: start;
    -ms-flex-align: start;
    -ms-grid-row-align: flex-start;
    align-items: flex-start;
    -ms-flex-wrap: wrap; 
        flex-wrap: wrap;
    gap: 2rem;
}

.product-single .product-des .box-container .image{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 35rem;
        flex: 1 1 35rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.product-single .product-des .box-container .image-container{
    max-width: 50rem;
}

.product-single .product-des .box-container .image-container .main{
    width: 100%;
    height: 40rem;
    overflow: hidden;
    border-radius: var(--border-radius-2);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.product-single .product-des .box-container .image .change-btns{
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(7rem, 1fr))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.product-single .product-des .box-container .image .change-btns img{
    border-radius: var(--border-radius-2);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
    cursor: pointer;    
}

.product-single .product-des .image .change-btns img:hover,
.product-single .product-des .image .change-btns img.active{
    border: 0.4rem solid var(--main-color);
}

.product-single .product-des .box-container .content{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 45rem;
        flex: 1 1 45rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 2rem;
}

.product-single .product-des .box-container .content h3{
    font-size: 3.5rem;
    font-weight: 600;
    color: var(--black);
    padding-top: 0.7rem;
}

.product-single .product-des .box-container .content .intro{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.product-single .product-des .box-container .content .intro .rating{
    color: var(--main-color);
    font-size: 1.6rem;
}

.product-single .product-des .box-container .content .intro span{
    color: var(--black);
    font-size: 2rem;
    font-weight: 500;
    padding-left: 1rem;
}

.product-single .product-des .box-container .content .price{
    font-size: 2rem;
    font-weight: bold;
    color: var(--main-color);
    padding-top: 1rem;
}

.product-single .product-des .box-container .content .price span{
    color: var(--grey);
    font-weight: lighter;
    text-decoration: line-through;
}

.product-single .product-des .box-container .content .product-text{
    padding: 2rem 0;
    margin-top: 2rem;
    border-top: 0.1rem solid rgba(0, 0, 0, 0.2);
    border-bottom: 0.1rem solid rgba(0, 0, 0, 0.2);
}

.product-single .btn-box{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2rem;
    margin: 2rem 0;
}

.product-single .qty{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 1rem 0;
    gap: 1rem;
    width: auto;
    min-width: 15rem;
    flex: 0 0 auto;
}

.product-single .ticket-type{
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1 1 100%;
    min-width: 0;
    max-width: 100%;
    padding: 1rem 0 0;
}

.product-single .ticket-type-select{
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    padding: 0.8rem 3.2rem 0.8rem 1.2rem;
    font-size: 1.5rem;
    line-height: 1.3;
    color: var(--black);
    background: var(--white);
    border: 0.1rem solid rgba(0, 0, 0, 0.2);
    border-radius: var(--border-radius-1);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.product-single .wishlist-btn{
    cursor: pointer;
}

.product-single .wishlist-btn i {
    height: 5rem;
    width: 5rem;
    font-size: 2.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--white);
    background: var(--black);
    border-radius: var(--border-radius-1);
    -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
            transition: opacity 0.3s ease, visibility 0.3s ease;
}

.product-single .wishlist-btn i:hover {
    background: var(--main-color);
}

.product-single .categories,
.product-single .tags,
.product-single .sku{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0.5rem 0;
}

.product-single .qty h4,
.product-single .ticket-type h4,
.product-single .categories h4,
.product-single .tags h4,
.product-single .sku h4{
    font-size: 1.8rem;
    color: var(--black);
    font-weight: 600;
    flex-shrink: 0;
    white-space: nowrap;
}

.product-single .categories a,
.product-single .tags a,
.product-single .sku span{
    font-size: 1.6rem;
    font-weight: 400;
    color: var(--main-color);
    padding: 0 0.5rem;
}

.product-single .categories a:hover,
.product-single .tags a:hover{
    color: var(--black);
}

/*-- Product Addtional Information --*/
.product-single .tab-info{
    margin-top: 4rem;
}

.product-info .additional-info .item{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2rem;
    padding-bottom: 1rem;
}

.product-info .additional-info h3{
    width: 20rem;
    font-size: 1.8rem;
    color: var(--black);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.product-info .additional-info h3 i{
    font-size: 0.8rem;
    color: var(--main-color);
    padding-right: 0.7rem;
}

.product-info .additional-info span{
    font-size: 1.6rem;
    color: var(--grey);
}

.product-info h2{
    font-size: 3rem; 
    color: var(--black); 
    padding-bottom: 1rem;
}

.product-info .leave-reply{
    width: 60rem;
}

.related-items .box-container{
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(25rem, 1fr))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

/* Related events reuse shop `.product-item`; city must not use compare-at strikethrough */
.related-items .product-item .price span{
    text-decoration: none;
    color: #374151;
    font-weight: 500;
}

/*----- 4- Wishlist  ------*/
.wishlist-container{
    overflow-x: auto;
    overflow-y: hidden;
    background-color: var(--white);
    border-radius: var(--border-radius-2);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.wishlist-container::-webkit-scrollbar{
    height: 0.8rem;
}

.wishlist .container{
    min-width: 90rem;
}

.wishlist .box-container{
    padding: 0rem 1rem;
}

.wishlist-item{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 1rem 0rem;
    gap: 3rem;
    border-bottom: 0.1rem solid rgba(0, 0, 0, 0.1);
}

.wishlist-item:last-child{
    border: none;
}

.wishlist-item .box{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 20rem;
        flex: 1 1 20rem;
    text-align: center;
    font-size: 2rem;
    font-weight: 500;
}

.wishlist-item .product{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 30rem; 
        flex: 1 1 30rem;  
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: left;
    gap: 1.5rem;
}

.wishlist-item img{
    height: 8rem;
    width: 8rem;
    background-color: #f7f7f7;
    border-radius: var(--border-radius-1);
}

.wishlist-item .name{
    color: var(--black);
    font-weight: 600;
}

.wishlist-item .name:hover{
    color: var(--main-color);
}

.wishlist-item .price{
    color: var(--grey);
    font-weight: 500;
}

.wishlist-item .status.in{
    color: green;
}

.wishlist-item .status.out{
    color: red;
}

.wishlist-item .action{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
}

.wishlist-item a{
    font-size: 2rem;
    cursor: pointer;
}

.wishlist-item a:hover{
    color: var(--main-color);
}

.wishlist-item .delete{
    color: red;
}

.wishlist-item .cart{
    color: var(--black);
}

/*----- 5- Cart  ------*/
.cart .shop-btn{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-bottom: 2rem;
}

.shopping-cart{
    margin-bottom: 2rem;
    overflow-x: auto;
    overflow-y: hidden;
    background-color: var(--white);
    border-radius: var(--border-radius-2);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.cart .container{
    min-width: 90rem;
}

.shopping-cart::-webkit-scrollbar{
    height: 0.8rem;
}

.cart .box-container{
    padding: 0rem 1rem;
}

.cart-item{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 1rem 0rem;
    gap: 3rem;
    border-bottom: 0.1rem solid rgba(0, 0, 0, 0.1);
}

.cart-item:last-child{
    border: none;
}

.cart-item .box{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 15rem;
        flex: 1 1 15rem;
    text-align: center;
    font-size: 2rem;
    font-weight: 400;
}

.cart-item .product{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 25rem; 
        flex: 1 1 25rem;  
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: left;
    gap: 1.5rem;
}

.cart-item img{
    height: 8rem;
    width: 8rem;
    border-radius: var(--border-radius-1);
    background-color:#f7f7f7;
}

.cart-item .name{
    color: var(--black);
    font-weight: 600;
}

.cart-item .name:hover{
    color: var(--main-color);
}

.cart-item .price,
.cart-item .total{
    color: var(--grey);
}

.cart-item .icon{
    font-size: 2rem;
    cursor: pointer;
    color: red;
}

.cart-item .icon:hover{
    color: var(--main-color);
}

.cart .cart-bottom{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    -ms-grid-row-align: flex-start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 5rem;
}

.cart .coupon-container{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 50rem;
        flex: 1 1 50rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
}

.cart .coupon-container .box{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 30rem;
        flex: 1 1 30rem;
    background-color: transparent;
    font-size: 1.6rem;
    color: var(--grey);
    padding: 1.2rem 1.5rem; 
    border: 0.15rem solid rgba(0, 0, 0, 0.1);
    border-radius: var(--border-radius-1);
    text-transform: none;
}

.cart .coupon-container .box::-webkit-input-placeholder{
    text-transform: capitalize;
}

.cart .coupon-container .box::-moz-placeholder{
    text-transform: capitalize;
}

.cart .coupon-container .box:-ms-input-placeholder{
    text-transform: capitalize;
}

.cart .coupon-container .box::placeholder{
    text-transform: capitalize;
}

.cart .coupon-container .box:focus{
    border-color: var(--main-color);
}

.cart .coupon-container .btn{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 15rem;
        flex: 1 1 15rem;
    margin-top: 0;
}

/*-- 2- Cart Total --*/
.cart .cart-summary{
    width: 40rem;
    padding: 1.5rem;
    margin-left: auto;
    border-top: var(--custom-border);
    background-color: var(--white);
    border-radius: var(--border-radius-2);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.cart .cart-summary .btn{
    width: 100%;
    text-align: center;
    margin-top: 1rem;
}

/*----- 6- Checkout -----*/
/*
1- Payment Method
2- Cart Total
*/

/* Checkout: keep API error messages readable (avoid inherited title-case) */
.checkout-page .checkout-alert{
    text-transform: none;
}

/* Payment success / confirmation — centered, no hero banner */
.payment-success-page{
    text-transform: none;
    padding: 4rem 5% 6rem;
    min-height: clamp(48rem, 75vh, 80rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: -webkit-linear-gradient(160deg, rgba(56, 182, 255, 0.08) 0%, rgba(82, 113, 255, 0.06) 45%, rgba(242, 243, 248, 1) 100%);
    background:         linear-gradient(160deg, rgba(56, 182, 255, 0.08) 0%, rgba(82, 113, 255, 0.06) 45%, rgba(242, 243, 248, 1) 100%);
}

.payment-success-inner{
    width: 100%;
    max-width: 56rem;
    margin: 0 auto;
}

.payment-success-card{
    background-color: var(--white);
    border-radius: var(--border-radius-2);
    -webkit-box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.04);
            box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.04);
    padding: 3.5rem 3rem 3rem;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.payment-success-card::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0.45rem;
    background: -webkit-linear-gradient(90deg, var(--main-color), var(--accent-color));
    background:         linear-gradient(90deg, var(--main-color), var(--accent-color));
}

.payment-success-icon-wrap{
    margin-bottom: 2rem;
}

.payment-success-icon{
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 8rem;
    height: 8rem;
    border-radius: var(--border-radius-3);
    font-size: 4rem;
}

.payment-success-icon--ok{
    color: var(--white);
    background: -webkit-linear-gradient(135deg, #22c55e, #16a34a);
    background:         linear-gradient(135deg, #22c55e, #16a34a);
    -webkit-box-shadow: 0 0.8rem 2rem rgba(34, 197, 94, 0.35);
            box-shadow: 0 0.8rem 2rem rgba(34, 197, 94, 0.35);
}

.payment-success-icon--warn{
    color: var(--white);
    background: -webkit-linear-gradient(135deg, #f59e0b, #d97706);
    background:         linear-gradient(135deg, #f59e0b, #d97706);
    -webkit-box-shadow: 0 0.8rem 2rem rgba(245, 158, 11, 0.35);
            box-shadow: 0 0.8rem 2rem rgba(245, 158, 11, 0.35);
}

.payment-success-title{
    font-size: 3.6rem;
    font-weight: 700;
    color: var(--black);
    line-height: 1.2;
    margin-bottom: 1rem;
    letter-spacing: -0.02em;
}

.payment-success-lead{
    font-size: 1.9rem;
    color: var(--grey);
    line-height: 1.5;
    margin-bottom: 2rem;
    font-weight: 400;
}

.payment-success-status{
    display: inline-block;
    text-align: center;
    padding: 1rem 1.5rem;
    border-radius: var(--border-radius-1);
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 2rem;
    max-width: 100%;
}

.payment-success-status--ok{
    background-color: #ecfdf5;
    color: #047857;
    border: 1px solid #a7f3d0;
}

.payment-success-status--bad{
    background-color: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}

.payment-success-order-block{
    margin: 0 auto 2rem;
    padding: 1.5rem 1.75rem;
    background: #f8fafc;
    border: 1px dashed rgba(56, 182, 255, 0.45);
    border-radius: var(--border-radius-1);
    text-align: center;
}

.payment-success-order-label{
    display: block;
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--grey);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.6rem;
}

.payment-success-order-id{
    font-size: 2rem;
    font-weight: 700;
    color: var(--main-color);
    word-break: break-all;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
}

.payment-success-note{
    font-size: 1.65rem;
    color: #444;
    line-height: 1.65;
    margin-bottom: 2.5rem;
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
}

.payment-success-actions{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.2rem;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.payment-success-actions .btn{
    margin-top: 0;
    width: 100%;
    padding: 1.2rem 2rem;
    font-size: 1.6rem;
    font-weight: 600;
}

.payment-success-btn-primary{
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color)) !important;
    background:         linear-gradient(45deg, var(--main-color), var(--accent-color)) !important;
    color: var(--white) !important;
    border: none !important;
}

.payment-success-btn-primary:hover{
    -webkit-filter: brightness(1.05);
            filter: brightness(1.05);
    color: var(--white) !important;
}

.payment-success-btn-secondary{
    background: transparent !important;
    color: var(--main-color) !important;
    border: 0.2rem solid var(--main-color) !important;
}

.payment-success-btn-secondary:hover{
    background: rgba(56, 182, 255, 0.08) !important;
    color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
}

.checkout{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap; 
        flex-wrap: wrap;
    gap: 1.5rem;
}

.checkout h2{
    font-size: 3.5rem;
}

.checkout .box-1{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 55rem;
        flex: 1 1 55rem;  
}

.checkout .box-2{
    -webkit-box-flex: 1;
    -ms-flex: 1 1 35rem;
        flex: 1 1 35rem;
}

.checkout-item{
    margin-bottom: 1.5rem;
    padding: 2rem;
    background-color: var(--white);
    border-radius: var(--border-radius-2);
    -webkit-box-shadow: var(--box-shadow);
            box-shadow: var(--box-shadow);
}

.checkout .box-1 .checkout-item:last-child{
    margin-bottom: 0;   
}

.checkout .checkbox-label {
    color: var(--black) !important;
    margin-bottom: 2rem;
    cursor: pointer;
    line-height: 1.2;
}

.checkout .checkbox-indicator{
    outline: 0.15rem solid var(--grey) !important;
}

.checkout .checkbox-label input:checked ~ 
.checkout .checkbox-indicator {
    outline-color: var(--main-color) !important;
}

/*-- Payment Method --*/
.payment-methods .payment{
    margin-bottom: 1.5rem;
}

.payment-methods .payment label{
    cursor: pointer;
    font-size: 2rem;
    font-weight: 500;
    color: var(--black);
    text-transform: uppercase;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
}

.payment-body{ 
    display: none;
}

.payment-body.active{
    display: block;
}

.payment-methods .payment .payment-body p{
    font-size: 1.4rem;
    padding-top: 1rem;
}

.checkout .btn-container{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.checkout .btn{
    width: 100%;
    text-align: center;
}

/*----- 7- Login -----*/
.login form .info{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; 
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 2rem 0;
}
  
.login form label{
    font-size: 1.5rem;
    color: var(--white);
    cursor: pointer;
}

/*----- 8- Register -----*/
.register form .checkbox-label{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 2rem 0;
}
  
.register form label{
    font-size: 1.5rem;
    color: var(--white);
    cursor: pointer;
}
  
.register form label span{
    color: var(--main-color);
}

/*------------------------------ (08)-Shop (End) ------------------------------*/



/*------------------------------ (09)-Contact (Start) ------------------------------*/
.contact .box-container{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.contact-info{
    -webkit-box-flex: 1;
        -ms-flex: 1 1 45rem;
            flex: 1 1 45rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 1.5rem
}

.contact-info .info-item{
    -webkit-box-flex: 1;
    -ms-flex:1 1 20rem;
        flex:1 1 20rem;
    text-align: center;
    padding: 3rem 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-radius: var(--border-radius-2);
}

.contact-info .info-item:nth-child(1) {
    background: -webkit-linear-gradient(325deg, var(--main-color), var(--accent-color));
    background: linear-gradient(125deg, var(--main-color), var(--accent-color));
}

.contact-info .info-item:nth-child(2) {
    background: -webkit-linear-gradient(45deg, var(--accent-color), var(--main-color));
    background: linear-gradient(45deg, var(--accent-color), var(--main-color));
}

.contact-info .info-item:nth-child(3) {
    background: -webkit-linear-gradient(45deg, var(--main-color), var(--accent-color));
    background: linear-gradient(45deg, var(--main-color), var(--accent-color));
}

.contact-info .info-item:nth-child(4) {
    background: -webkit-linear-gradient(325deg, var(--accent-color), var(--main-color));
    background: linear-gradient(125deg, var(--accent-color), var(--main-color));
}

.contact-info .info-item i{
    height: 5rem;
    width: 5rem;
    margin-bottom: 1rem;
    font-size: 5rem;
    color: transparent;
    -webkit-text-stroke: 1.5px var(--white);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.contact-info .info-item h3{
    font-size: 2.5rem;
    color: var(--white);
    padding: 1rem 0rem;
}

.contact-info .info-item p{
    text-transform: none;
    color: var(--light-grey);
}

/*-- Contact Form --*/
.contact form{
    -webkit-box-flex: 1;
        -ms-flex: 1 1 45rem;
            flex: 1 1 45rem;
    text-align: center;
    background:         -webkit-linear-gradient(top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url("../../assets/images/Contact/Contact.jpg");
    background:         linear-gradient(180deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url("../../assets/images/Contact/Contact.jpg");
    background-repeat: no-repeat;  
    background-size: cover;
    background-position: center;
    padding: 3rem;
    border-radius: var(--border-radius-2);
    overflow: hidden;
}

.contact form .alert{
    display: block;
    font-size: 2rem;
    color: var(--main-color);
    padding-top: 1rem;
}

/*-- Google Map --*/
.contact iframe{
    width: 100%;
    height: 40rem;
    border-radius: var(--border-radius-2);
}

/*------------------------------ (09)-Contact (End) ------------------------------*/