/*!
Theme Name: USA Parking Lot - EWR
Theme URI: https://hachiweb.com/
Author: Hachiweb
Author URI: https://hachiweb.com/
Description: Description
Version: 1.0.4
Tested up to: 6.9
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: The Parking Point Corp
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Parking Point Corp is developed by Hachiweb https://hachiweb.com/, (C) 2023-2026 M/S HACHIWEB.
*/

/* header started here */
#container-fluid-header
{
    padding-left: 10px;
} 

#nav
{
    font-size: 15px;
    justify-content: end;
    /* padding-left: 15rem; */
}       

.nav-item:hover b
{
    color:  black;
}

#Details
{
    text-decoration: none;
    padding-left: 20px;
    color: #000;
}

.vl 
{
    border-left: 2px solid #012970;
    height: 00px;
    padding-right:3px;
    padding-left:px;
    font-size: 15px;
}

.fa-brands
{
    font-size: large;
    color: orange;
}


/*End header here  */
/* seach bar css :start here */
#container-search
{
    color: #012970;
}

.form-select
{
    height: 2.5rem !important;
    border-radius: 7px !important;
    border: #012970 solid 2px !important;
    color:#012970 !important;    
}

.selection
{
    display: block;
    border-radius: 7px !important;
    border: #012970 solid 2px !important;
    color:#012970 !important;    
    width: 100%;
    padding: 0.8rem 2.25rem 0.375rem 0.75rem;
    -moz-padding-start: calc(0.75rem - 3px);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    height:calc(2.25rem + 23px) !important;
}

#row-search
{
    padding-bottom: 1rem;
}

.input-group
{
    border-radius: 7px !important;
    border: solid 2px  #012970 !important;
}
/* search bar css End here */

/* Well css start */
.box-well:hover p,.box-well:hover a,.box-well:hover i,.box-well:hover span,.box-well:hover h2
{
    color: #fff;
}

#box-aqua:hover
{
    text-shadow: none;
    box-sizing: border-box;
    transition: all 0.3s ease;
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    z-index:z;
    background: aqua;
    color:white;
}

#box-green:hover
{
    text-shadow: none;
    box-sizing: border-box;
    transition: all 0.3s ease;
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    z-index:z;
    background: #08da4e;
    color:white;
}

#box-orange:hover
{
    text-shadow: none;
    box-sizing: border-box;
    transition: all 0.3s ease;
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    z-index:z;
    background: orange;
    color:white;
}

.box-well
{
    text-align: center;
    box-shadow: 0px 0 30px rgb(1 41 112 / 8%);
    box-sizing: border-box;
    padding-bottom: 10%;
    border-radius: 5px;         
}

#box-aqua
{
    border-top:aqua solid 3px; ;
    border-bottom: aqua solid 3px;
    color: aqua;
}
#box-green
{
    border-top: #08da4e solid 3px ;
    border-bottom: #08da4e solid 3px;
    color: #08da4e;
}
#box-orange
{
    border-top: orange solid 3px;
    border-bottom: orange solid 3px;
    color: orange;
}
/* well css here */

/* Eight-poinT css Started her */
.service-box-purple,.service-box-blue,.service-box-orange,.service-box-green,.service-box-red,.service-box-pink,.service-box-yellow,.service-box-tomato
{
    box-shadow: 0px 0 30px rgb(1 41 112 / 8%);
    height: 100%;
    padding: 20px 30px;
    text-align: center;
    transition: 0.3s;
    border-radius: 5px;
}

/* for blue box start*/
.service-box-blue
{
    border-bottom: 3px solid #2db6fa;
    text-decoration: none;
}

.service-box-blue h3,.service-box-blue p
{
    color: #444444;
    text-decoration: none;
}

.service-box-blue a,.service-box-blue i
{
    color:#2db6fa;
    text-decoration: none;
}

.service-box-blue:hover a,.service-box-blue:hover p,.service-box-blue:hover h3,.service-box-blue:hover i
{
    color: white;
    text-decoration: none;
}

.service-box-blue:hover
{
    color: #fff;
    background:#2db6fa;
    text-decoration: none;
} 
/* End of blue Box */

/* for Orange box start*/
.service-box-orange
{
    border-bottom: 3px solid orange;
    text-decoration: none;
}
.service-box-orange h3,.service-box-orange p
{
    color: #444444;
    text-decoration: none;
}

.service-box-orange a,.service-box-orange i
{
    color:orange;
    text-decoration: none;
}

.service-box-orange:hover a,.service-box-orange:hover p,.service-box-orange:hover h3,.service-box-orange:hover i
{
    color: white;
}

.service-box-orange:hover
{
    color: #fff;
    background:orange;
    text-decoration: none;
}    
/* End of orange Box */


/* for Green box start*/
.service-box-green
{
    border-bottom: 3px solid #08da4e;
    text-decoration: none;
}
.service-box-green h3,.service-box-green p
{
    color: #444444;
    text-decoration: none;
}
.service-box-green a,.service-box-green i
{
    color:#08da4e;
    text-decoration: none;
}

.service-box-green:hover a,.service-box-green:hover p,.service-box-green:hover h3,.service-box-green:hover i
{
    color: white;
    text-decoration: none;
}
.service-box-green:hover
{
    color: #fff;
    background:#08da4e;
    text-decoration: none;
} 
/* End of Green Box */

.service-box-tomato
{
    border-bottom: 3px solid tomato;
    text-decoration: none;
}
.service-box-tomato h3,.service-box-tomato p
{
    color: #444444;
    text-decoration: none;
}
.service-box-tomato a,.service-box-tomato i
{
    color:tomato;
    text-decoration: none;
}

.service-box-tomato:hover a,.service-box-tomato:hover p,.service-box-tomato:hover h3,.service-box-tomato:hover i
{
    color: white;
    text-decoration: none;
}

.service-box-tomato:hover
{
    color: #fff;
    background:tomato;
    text-decoration: none;
}

/* Red box start*/
.service-box-red
{
    border-bottom: 3px solid#e9222c;
    text-decoration: none;
}
.service-box-red h3,.service-box-red p
{
    color: #444444;
    text-decoration: none;
}
.service-box-red a,.service-box-red i
{
    color:#e9222c;
    text-decoration: none;
}

.service-box-red:hover a,.service-box-red:hover p,.service-box-red:hover h3,.service-box-red:hover i
{
    color: white;
    text-decoration: none;
}
.service-box-red:hover
{
    color: #fff;
    background: #e9222c;
    text-decoration: none;
} 
/* end of Red box */

/* purple box start*/
.service-box-purple
{
    border-bottom: 3px solid #b50edf;
    text-decoration: none;
}
.service-box-purple h3,.service-box-purple p
{
    color: #444444;
    text-decoration: none;
}
.service-box-purple a,.service-box-purple i
{
    color:#b50edf;
    text-decoration: none;
}

.service-box-purple:hover a,.service-box-purple:hover p,.service-box-purple:hover h3,.service-box-purple:hover i
{
    color: white;
    text-decoration: none;
}

.service-box-purple:hover
{
    color: #fff;
    background: #b50edf;
    text-decoration: none;
} 
/* end of purple box */

/*Pink  box start*/
.service-box-pink
{
    border-bottom: 3px solid #f51f9c;
    text-decoration: none;
}
.service-box-pink h3,.service-box-pink p
{
    color: #444444;
    text-decoration: none;
}
.service-box-pink a,.service-box-pink i
{
    color:#f51f9c;
    text-decoration: none;
}

.service-box-pink:hover a,.service-box-pink:hover p,.service-box-pink:hover h3,.service-box-pink:hover i
{
    color: white;
    text-decoration: none;
}

.service-box-pink:hover
{
    color: #fff;
    background: #f51f9c;
    text-decoration: none;
}
/* for yellow pink start*/

/* for yellow box start*/
.service-box-yellow
{
    border-bottom: 3px solid yellow;
    text-decoration: none;
}
.service-box-yellow h3,.service-box-yellow p
{
    color: #444444;
    text-decoration: none;
}
.service-box-yellow a,.service-box-yelloow i
{
    color:yellow;
    text-decoration: none;
}

.service-box-yellow:hover a,.service-box-yellow:hover p,.service-box-yellow:hover h3,.service-box-yellow:hover i
{
    color: white;
    text-decoration: none;
}
.service-box-yellow:hover
{
    color: #fff;
    background:yellow;
    text-decoration: none;
} 
/* End of yellow Box */

.well-h3
{
    font-size: small;
}

/* Eight-poinT css End her */
/* Fiiter Stsrted here */
.footer-h4
{
    font-size: 18px;
    color:  #012970;
} 
.footer-a
{
    text-decoration: none;
    color:black;
}
.footer-ul
{
    list-style: none;
    text-align: start;
    padding-left: 1px;
}
.footer
{
    color: black;
    padding-top: 2rem;
}
.fa-brands
{
    /* padding-left: 25px; */
    font-size: 25px
}
/* .footer-p{
    font-size: small;
} */
/* .footer:hover p{
    color: orange;
}
.footer:hover i{
    color:  #012970;
}
.footer:hover a{
    color:  #012970;
}
.footer-li:hover a{
    color: orange;
} */

/* Filter End here */
.header-container
{
    overflow: hidden;
    position: relative;

    /* background: url('assets/img/header-bg.jpg');
    background-size: cover;
    opacity: 0.5;
    z-index: -1;  */
}
.header-bg
{
    opacity: 0.37;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    /* height: 100%; */
}
.container-header
{
    position: relative;
}
.top-navbar
{
    opacity: 0.88;
    background-color: #ffffff;
}

.loader 
{
	border: 16px solid #f3f3f3; display:none;
	border-radius: 50%;
	border-top: 16px solid #3498db;
	width: 75px;
	height: 75px;
	-webkit-animation: spin 2s linear infinite;
	animation: spin 2s linear infinite;
	margin:auto;
	left:0;
	right:0;
	top:0;
	bottom:0;
	position:fixed;
	z-index: 99999999999;
}
@-webkit-keyframes spin 
{
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

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

.fa-x-twitter:hover
{
    color:#121213 !important;
}
.fa-twitter:hover
{
    color:#121213 !important;
}

.fa-facebook-f:hover,.fa-facebook:hover
{
    color:#3b5998 !important;
}

.fa-instagram:hover
{
    color:#d62976 !important;
}

.fa-linkedin-in:hover,.fa-linkedin:hover
{
    color:#0077b5 !important;
}

.input-lg:not([size]):not([multiple]) 
{
    height: calc(2.25rem + 23px) !important;
}

#navbar-brand
{
    color:orange;
    font-size: 22px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
    top:14px !important;
}
.select2-container
{
    width: 100% !important;
}
.select2-container--default .select2-selection--single
{
    border: 0px !important;
}

/*About Page*/

.card-top-image 
{
    height: 7rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#about-bg
{
    height: 22rem;
    width: 100%;
    opacity: 0.7;
    
}
.about-header
{
    position: relative !important;
}
.centered-about
{
    position: absolute;
    top: 80%;
    left: 21%;
    transform: translate(-50%, -50%);
    
}

.imageAboutPage
{
    margin-top: -150px;
    height: 329px;
    width: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0.3;
}
.head
{
    margin-top: 25px;
}

.person1
{
    max-width: 50%;
    display: block;
    margin: auto;
    border-radius: 25%;
    border: 4px solid orange;
}

.person2
{
    max-width: 50%;
    display: block;
    margin: auto;
    border-radius: 25%;
    border: 4px solid orange;
}
.khalid
{
    color:black;
    font-family: "Times New Roman", Times, serif;
    font-size: x-large;
}
.ejaz
{
    margin: 5px;
    padding-left: 100px;
    color: black;
    font-family:"Times New Roman", Times, serif;

}
#person-2-p
{
    color: #012970;
}


/* reach us css  */
#card-1,#card-2,#card-3,#card-4
{
    border-radius: 15px;
    background:#eeeeee;
}
.text-black
{
    text-decoration: none;
}
/* #text-address{
    font-size: 8px;
} */
.card:hover
{
    text-shadow: none;
    box-sizing: border-box; 
    transition: all 0.3s ease;
    -webkit-transform: scale(0.9);
    -ms-transform: scale(0.9);
    transform: translateY(-6px);
    z-index:z;
}
.mbr-text:hover a
{
    text-decoration: none;
}

 /* css subscribe Form start here  */
.mbr-form
{   
    /* background: orange;
    border-radius: 1.2rem; 
    padding: 2rem;
    width: 80%; */
}
/* .mbr-form:hover
{
    transition: all 0.3s;
    border-radius: 2rem;
    padding: 2rem;
}
.mbr-form:not(:hover) 
{ 
    transition: all 0.3s;
    border-radius: 2rem;
    padding: 2.5rem; 
}  */


.mbr-section-btn .btn 
{
    display: inline-flex;
    border-radius: 2rem;
}
.form-control
{ 
    min-height: 48px;
}
.btn-white,.btn-white:active 
{
    background-color: #fafafa !important;
    border-color: #000000 !important;
    color: #000000 !important;
    box-shadow: 0 2px 2px 0 rgb(0 0 0 / 20%);
}
.btn 
{
    display: flex;
    padding: 0.6rem 1.2rem;
    margin: 0;
    /* border: #000000 2px solid; */
}
.text-center
{
    margin: auto;
}

#reach-us-bg
{
    height: 30rem;
    width: 100%;
    opacity: 0.7;
}
.reachus-header
{
    position: relative !important;
}
.centered-reach
{
    position: absolute;
    top: 80%;
    left: 28%;
    transform: translate(-50%, -50%);
}
.card-top-image 
{
    height: 10rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #012970;
}
/* css reach us Form End here  */

/* css of faq start here */

.accordion-button 
{
    padding: 15px 15px 20px 20px;
    font-weight: 600;
    font-size: 18px;
    color:orange !important;
    text-align: left;  
    box-shadow:none;    

}
.accordion-button:not(.collapsed)
{
    background: none !important;  
    box-shadow:none !important; 
    color: #012970 !important;
}

.tpp-faq-shell
{
    background: #fff;
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.06);
}

.accordion-item
{
    border: 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.08) !important;
    background: transparent !important;
}

.accordion-button
{
    background: transparent !important;
    color: #012970 !important;
    font-weight: 600;
    padding: 22px 10px;
    box-shadow: none !important;
}

.accordion-button:not(.collapsed)
{
    color: #ef8f1f !important;
}

.accordion-body
{
    color: #5d6b7b;
    line-height: 1.7;
    padding-top: 0;
}

.accordion-button:focus
{
    box-shadow:0 0 0 0 !important;
    border-color: white !important;    
}

/* css of faq End here */

.header-slot-1
{
    background: url('assets/img/price-drop.jpg');
    background-size: cover;
    /* opacity: 0.5; */
    z-index: -1; 
}

.specialRate
{
    animation: blinker 1s linear infinite;
    font-weight: bold;
    font-size: 37px;
    color:#074e0e;
}
.highlight-text
{
    font-weight: bold;
    font-size: 16px;
    color:#074e0e;
}

@keyframes blinker 
{
    50% 
    {
        opacity: 0;
    }
}

.logo-color 
{
    color: #012970;
    font-size: 25px;
}

.theme-color
{
    color: #012970;
}
.navbar-logo
{
    max-width: 50px;
}

@media only screen and (max-width: 600px) 
{
    #background-video
    {
        height:420px;
    }
}
#overview 
{
    margin-top:40px;
    /* border: 2px solid gray; */
    text-align: center;
    position: relative;

    overflow: hidden;

    border-radius: 24px;

    transition:
    transform .35s ease,
    box-shadow .35s ease,
    background .35s ease,
    color .35s ease;
}

#overview::before
{
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            135deg,
            #2563eb 0%,
            #4f46e5 45%,
            #7c3aed 100%
        );

    opacity: 0;

    transition:
        opacity .35s ease;

    z-index: 0;
}

#overview:hover 
{
    color: #ffffff;

    transform:
        translateY(-4px);

    box-shadow:
        0 20px 60px rgba(37,99,235,0.28);
}
#overview:hover::before
{
    opacity: 1;
}
#overview > *
{
    position: relative;

    z-index: 1;
}

/* =========================================
   OVERVIEW V2
========================================= */

.tpp-overview-v2
{
    position: relative;

    padding: 100px 0;

    overflow: hidden;
}

/* HERO */

.tpp-overview-hero
{
    position: relative;

    padding: 70px;

    border-radius: 40px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,0.94),
            rgba(248,250,255,0.88)
        );

    border:
        1px solid rgba(255,255,255,0.7);

    box-shadow:
        0 30px 100px rgba(15,23,42,0.08);

    overflow: hidden;
}

/* GLOW */

.tpp-overview-hero::before
{
    content: "";

    position: absolute;

    top: -180px;
    right: -180px;

    width: 420px;
    height: 420px;

    border-radius: 50%;

    background:
        radial-gradient(
            rgba(37,99,235,0.14),
            transparent 70%
        );
}

/* BADGE */

.tpp-mini-badge
{
    display: inline-flex;

    padding: 10px 18px;

    border-radius: 999px;

    background:
        rgba(37,99,235,0.10);

    color: #2563eb;

    font-size: 14px;
    font-weight: 700;

    margin-bottom: 24px;
}

/* TITLE */

.tpp-overview-content h2
{
    font-size:
        clamp(42px,5vw,72px);

    line-height: 1.05;

    font-weight: 900;

    letter-spacing: -3px;

    color: #0f172a;

    margin-bottom: 24px;
}

.tpp-overview-content h2 span
{
    display: block;

    color: #2563eb;
}

/* TEXT */

.tpp-overview-content p
{
    max-width: 620px;

    font-size: 18px;

    line-height: 1.9;

    color: #64748b;
}

/* ACTIONS */

.tpp-overview-actions
{
    display: flex;
    align-items: center;
    gap: 20px;

    margin-top: 38px;

    flex-wrap: wrap;
}

/* BUTTON */

.tpp-primary-btn
{
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 18px 34px;

    border-radius: 18px;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );

    color: #fff;

    text-decoration: none;

    font-weight: 700;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.tpp-primary-btn:hover
{
    transform:
        translateY(-3px);

    color: #fff;

    box-shadow:
        0 20px 50px rgba(37,99,235,0.30);
}

/* TRUST */

.tpp-rating
{
    display: flex;
    align-items: center;
    gap: 10px;

    color: #475569;

    font-weight: 600;
}

/* FLOATING PANEL */

.tpp-floating-panel
{
    padding: 30px;

    border-radius: 30px;

    background:
        #0f172a;

    color: #fff;

    box-shadow:
        0 30px 80px rgba(15,23,42,0.24);
}

/* PRICE */

.tpp-panel-card
{
    text-align: center;

    padding-bottom: 28px;

    border-bottom:
        1px solid rgba(255,255,255,0.08);
}

.tpp-panel-card h3
{
    font-size: 72px;

    font-weight: 900;

    margin: 12px 0;
}

/* MINI GRID */

.tpp-panel-grid
{
    display: grid;

    grid-template-columns:
        repeat(2,1fr);

    gap: 18px;

    margin-top: 28px;
}

/* MINI CARD */

.tpp-mini-card
{
    padding: 20px;

    border-radius: 22px;

    background:
        rgba(255,255,255,0.06);

    text-align: center;
}

.tpp-mini-card i
{
    font-size: 24px;

    margin-bottom: 14px;

    color: #60a5fa;
}

.tpp-mini-card strong
{
    display: block;

    font-size: 18px;

    margin-bottom: 4px;
}

/* STRIP */

.tpp-experience-strip
{
    display: flex;
    flex-wrap: wrap;
    gap: 18px;

    margin-top: 32px;
}

/* STRIP ITEM */

.tpp-strip-item
{
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 14px 20px;

    border-radius: 999px;

    background:
        rgba(255,255,255,0.9);

    box-shadow:
        0 10px 30px rgba(15,23,42,0.06);

    font-weight: 600;

    color: #334155;
}

/* FEATURE CARDS */

.tpp-feature-card
{
    height: 100%;

    padding: 34px;

    border-radius: 30px;

    background:
        #fff;

    box-shadow:
        0 15px 50px rgba(15,23,42,0.06);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.tpp-feature-card:hover
{
    transform:
        translateY(-6px);

    box-shadow:
        0 24px 70px rgba(15,23,42,0.10);
}

/* ICON */

.tpp-feature-icon
{
    width: 70px;
    height: 70px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 22px;

    margin-bottom: 24px;

    font-size: 28px;
}

/* COLORS */

.blue .tpp-feature-icon
{
    background:
        rgba(37,99,235,0.10);

    color: #2563eb;
}

.purple .tpp-feature-icon
{
    background:
        rgba(124,58,237,0.10);

    color: #7c3aed;
}

.dark .tpp-feature-icon
{
    background:
        rgba(15,23,42,0.10);

    color: #0f172a;
}

/* TEXT */

.tpp-feature-card h4
{
    font-size: 28px;

    font-weight: 800;

    margin-bottom: 14px;

    color: #0f172a;
}

.tpp-feature-card p
{
    color: #64748b;

    line-height: 1.9;
}

/* MOBILE */

@media (max-width: 991px)
{
    .tpp-overview-hero
    {
        padding: 34px;

        border-radius: 28px;
    }

    .tpp-overview-content h2
    {
        letter-spacing: -1px;
    }

    .tpp-panel-card h3
    {
        font-size: 52px;
    }

    .tpp-panel-grid
    {
        grid-template-columns: 1fr;
    }

    .tpp-feature-card
    {
        padding: 28px;
    }
}

/* =========================================
   PREMIUM OVERVIEW SECTION
========================================= */

.tpp-premium-overview
{
    position: relative;

    padding: 120px 0;

    overflow: hidden;
}

/* =========================================
   HEADER
========================================= */

.tpp-premium-header
{
    text-align: center;

    max-width: 760px;

    margin:
        0 auto 70px;
}

/* PILL */

.tpp-section-pill
{
    display: inline-flex;

    align-items: center;

    padding: 12px 20px;

    border-radius: 999px;

    background:
        linear-gradient(
            135deg,
            rgba(37,99,235,0.10),
            rgba(124,58,237,0.10)
        );

    color: #2563eb;

    font-size: 14px;

    font-weight: 700;

    margin-bottom: 24px;
}

/* TITLE */

.tpp-premium-header h2
{
    font-size:
        clamp(44px,5vw,74px);

    line-height: 1.05;

    font-weight: 900;

    letter-spacing: -3px;

    color: #0f172a;

    margin-bottom: 24px;
}

.tpp-premium-header h2 span
{
    display: block;

    color: #2563eb;
}

/* TEXT */

.tpp-premium-header p
{
    font-size: 18px;

    line-height: 1.9;

    color: #64748b;
}

/* =========================================
   LARGE EXPERIENCE CARD
========================================= */

.tpp-large-experience-card
{
    position: relative;

    height: 100%;

    padding: 60px;

    border-radius: 40px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #0f172a,
            #111827
        );

    color: #ffffff;

    box-shadow:
        0 35px 100px rgba(15,23,42,0.20);
}

/* GLOW */

.tpp-large-experience-card::before
{
    content: "";

    position: absolute;

    top: -160px;
    right: -160px;

    width: 380px;
    height: 380px;

    border-radius: 50%;

    background:
        radial-gradient(
            rgba(59,130,246,0.30),
            transparent 70%
        );
}

/* CONTENT */

.tpp-large-card-content
{
    position: relative;

    z-index: 2;
}

.tpp-large-card-content small
{
    display: inline-block;

    margin-bottom: 20px;

    color: rgba(255,255,255,0.7);

    text-transform: uppercase;

    letter-spacing: 2px;

    font-weight: 700;
}

.tpp-large-card-content h3
{
    font-size:
        clamp(54px,6vw,92px);

    font-weight: 900;

    line-height: 1;

    margin-bottom: 20px;
}

.tpp-large-card-content p
{
    max-width: 520px;

    color: rgba(255,255,255,0.78);

    line-height: 1.9;

    font-size: 18px;
}

/* =========================================
   FLOATING STATS
========================================= */

.tpp-floating-stats
{
    display: flex;

    gap: 20px;

    flex-wrap: wrap;

    margin-top: 50px;

    position: relative;

    z-index: 2;
}

/* STAT */

.tpp-stat
{
    min-width: 150px;

    padding: 24px;

    border-radius: 24px;

    background:
        rgba(255,255,255,0.08);

    backdrop-filter: blur(10px);
}

.tpp-stat strong
{
    display: block;

    font-size: 28px;

    font-weight: 800;

    margin-bottom: 8px;
}

.tpp-stat span
{
    color: rgba(255,255,255,0.72);

    font-size: 14px;
}

/* =========================================
   SIDE STACK
========================================= */

.tpp-side-stack
{
    display: flex;

    flex-direction: column;

    gap: 24px;

    height: 100%;
}

/* MINI INFO CARD */

.tpp-mini-info-card
{
    display: flex;

    align-items: center;

    gap: 22px;

    padding: 30px;

    border-radius: 30px;

    background:
        rgba(255,255,255,0.88);

    border:
        1px solid rgba(15,23,42,0.05);

    box-shadow:
        0 20px 50px rgba(15,23,42,0.06);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.tpp-mini-info-card:hover
{
    transform:
        translateY(-4px);

    box-shadow:
        0 28px 70px rgba(15,23,42,0.10);
}

/* ICON */

.tpp-mini-info-card i
{
    width: 70px;
    height: 70px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 22px;

    background:
        linear-gradient(
            135deg,
            rgba(37,99,235,0.10),
            rgba(124,58,237,0.10)
        );

    color: #2563eb;

    font-size: 26px;

    flex-shrink: 0;
}

/* TEXT */

.tpp-mini-info-card h5
{
    font-size: 22px;

    font-weight: 800;

    margin-bottom: 8px;

    color: #0f172a;
}

.tpp-mini-info-card p
{
    margin: 0;

    color: #64748b;

    line-height: 1.7;
}

/* =========================================
   ABOUT PANEL
========================================= */

.tpp-about-panel
{
    margin-top: 70px;

    padding: 60px;

    border-radius: 40px;

    background:
        rgba(255,255,255,0.92);

    border:
        1px solid rgba(15,23,42,0.05);

    box-shadow:
        0 25px 70px rgba(15,23,42,0.06);
}

/* ABOUT */

.tpp-about-copy span
{
    display: inline-block;

    color: #2563eb;

    font-weight: 700;

    margin-bottom: 18px;
}

.tpp-about-copy h3
{
    font-size:
        clamp(34px,4vw,54px);

    font-weight: 900;

    line-height: 1.1;

    margin-bottom: 24px;

    color: #0f172a;
}

.tpp-about-copy p
{
    font-size: 17px;

    line-height: 2;

    color: #64748b;
}

/* =========================================
   PRICE NOTE
========================================= */

.tpp-price-note
{
    padding: 40px;

    border-radius: 30px;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );

    color: #ffffff;

    box-shadow:
        0 25px 60px rgba(37,99,235,0.24);
}

.tpp-price-note h4
{
    font-size: 28px;

    font-weight: 800;

    margin-bottom: 28px;
}

.tpp-price-note ul
{
    list-style: none;

    padding: 0;

    margin: 0;
}

.tpp-price-note li
{
    display: flex;

    justify-content: space-between;

    gap: 20px;

    padding: 14px 0;

    border-bottom:
        1px solid rgba(255,255,255,0.12);
}

.tpp-price-note li:last-child
{
    border-bottom: 0;
}

/* =========================================
   AMENITIES
========================================= */

.tpp-amenities-section
{
    margin-top: 80px;
}

/* HEADING */

.tpp-amenities-heading
{
    margin-bottom: 34px;
}

.tpp-amenities-heading h3
{
    font-size:
        clamp(34px,4vw,52px);

    font-weight: 900;

    color: #0f172a;
}

/* GRID */

.tpp-amenities-grid
{
    display: flex;

    flex-wrap: wrap;

    gap: 18px;
}

/* CHIP */

.tpp-amenity-chip
{
    display: inline-flex;

    align-items: center;

    gap: 12px;

    padding: 18px 24px;

    border-radius: 999px;

    background:
        rgba(255,255,255,0.92);

    border:
        1px solid rgba(15,23,42,0.05);

    box-shadow:
        0 12px 34px rgba(15,23,42,0.05);

    font-weight: 700;

    color: #334155;

    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

.tpp-amenity-chip:hover
{
    transform:
        translateY(-3px);

    box-shadow:
        0 18px 40px rgba(15,23,42,0.08);
}

/* ICON */

.tpp-amenity-chip i
{
    color: #2563eb;
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 991px)
{
    .tpp-premium-overview
    {
        padding: 80px 0;
        margin-top: 50px;
    }

    .tpp-premium-header h2
    {
        letter-spacing: -1px;
    }

    .tpp-large-experience-card
    {
        padding: 36px;
    }

    .tpp-about-panel
    {
        padding: 36px;
    }

    .tpp-price-note
    {
        padding: 30px;
    }

    .tpp-floating-stats
    {
        flex-direction: column;
    }

    .tpp-stat
    {
        width: 100%;
    }

    .tpp-mini-info-card
    {
        padding: 24px;
    }
}

.entry-title
{
    text-align: center;
    color:#012970;
}

.site-main
{
    margin-top:107px !important;
    padding-top:50px !important;
}

#place_order
{
    text-align: center;
    background-color:#012970;
}
ul 
{
    list-style-type: none;
}

.select2-results__options 
{
    display: block !important;
    white-space: normal !important;
}

.select2-results__option 
{
    display: block !important;
    white-space: normal !important;
    word-break: break-word !important;
}

/* Modern performance-friendly UI layer */
:root
{
    --tpp-bg: #f3f7fb;
    --tpp-surface: rgba(255, 255, 255, 0.78);
    --tpp-surface-strong: #ffffff;
    --tpp-ink: #0d1b2a;
    --tpp-muted: #5d6b7b;
    --tpp-accent: #ef8f1f;
    --tpp-accent-deep: #d87300;
    --tpp-primary: #0f3460;
    --tpp-primary-soft: #dde9f8;
    --tpp-success: #138a5b;
    --tpp-border: rgba(13, 27, 42, 0.1);
    --tpp-shadow: 0 24px 60px rgba(11, 33, 58, 0.12);
    --tpp-radius: 28px;
}

.tpp-page-shell
{
    background:
        radial-gradient(circle at top left, rgba(15, 52, 96, 0.1), transparent 28%),
        radial-gradient(circle at top right, rgba(239, 143, 31, 0.12), transparent 24%),
        linear-gradient(180deg, #f9fbfd 0%, #eef4fa 100%);
    color: var(--tpp-ink);
}

.tpp-section
{
    padding: 5rem 0;
}

.tpp-section--muted
{
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px);
}

.tpp-section-heading
{
    max-width: 760px;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.tpp-section-heading h2,
.tpp-contact-hero h1,
.tpp-hero__title,
.tpp-map-copy h2,
.tpp-contact-sidebar h2,
.tpp-hero-card h2
{
    font-size: clamp(2rem, 4vw, 3.6rem);
    line-height: 1.05;
    letter-spacing: -0.04em;
    font-weight: 800;
    color: var(--tpp-ink);
    margin-bottom: 1rem;
}

.tpp-section-heading p,
.tpp-hero__copy,
.tpp-map-copy p,
.tpp-contact-sidebar p,
.tpp-contact-card p,
.tpp-feature-card p,
.tpp-process-card p
{
    color: var(--tpp-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.tpp-card-kicker,
.tpp-eyebrow
{
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    font-size: 0.8rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--tpp-primary);
    font-weight: 700;
}

.tpp-eyebrow::before,
.tpp-card-kicker::before
{
    content: "";
    width: 2.8rem;
    height: 1px;
    background: linear-gradient(90deg, var(--tpp-accent), transparent);
}

.tpp-hero,
.tpp-contact-hero
{
    position: relative;
    overflow: hidden;
    padding: 7rem 0 5rem;
}

.tpp-hero__bg,
.tpp-contact-hero__bg
{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tpp-hero::after,
.tpp-contact-hero::after
{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(7, 23, 44, 0.82), rgba(15, 52, 96, 0.64) 45%, rgba(239, 143, 31, 0.2) 100%);
}

.tpp-hero__inner,
.tpp-contact-hero__inner
{
    position: relative;
    z-index: 1;
}

.tpp-hero__title,
.tpp-contact-hero h1,
.tpp-hero__copy,
.tpp-contact-hero p,
.tpp-hero .tpp-eyebrow,
.tpp-contact-hero .tpp-card-kicker
{
    color: #ffffff;
}

.tpp-hero__actions,
.tpp-form-actions
{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1.5rem;
}

.tpp-cta
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.5rem;
    padding: 0.95rem 1.4rem;
    border-radius: 999px;
    border: 1px solid transparent;
    text-decoration: none;
    font-weight: 700;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

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

.tpp-cta--primary
{
    background: linear-gradient(135deg, var(--tpp-accent), var(--tpp-accent-deep));
    color: #ffffff;
    box-shadow: 0 18px 36px rgba(216, 115, 0, 0.24);
}

.tpp-cta--ghost
{
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.25);
    color: #ffffff;
}

.tpp-cta--success
{
    background: linear-gradient(135deg, #139d67, var(--tpp-success));
    color: #ffffff;
}

.tpp-cta--block
{
    width: 100%;
    margin-top: 1.25rem;
}

.tpp-stat-grid
{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2rem;
}

.tpp-stat-card,
.tpp-feature-card,
.tpp-process-card,
.tpp-contact-card,
.tpp-map-copy,
.tpp-contact-sidebar,
.tpp-contact-form-shell,
.tpp-surface-card,
.tpp-hero-card,
.tpp-contact-hero__panel,
.tpp-faq-shell,
.tpp-visual-card,
.tpp-map-card
{
    border: 1px solid var(--tpp-border);
    border-radius: var(--tpp-radius);
    box-shadow: var(--tpp-shadow);
}

.tpp-stat-card
{
    padding: 1.25rem;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(18px);
}

.tpp-stat-card strong
{
    display: block;
    font-size: 1.25rem;
    color: #ffffff;
}

.tpp-stat-card span
{
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.92rem;
}

.tpp-hero-card,
.tpp-contact-hero__panel,
.tpp-contact-form-shell,
.tpp-map-copy,
.tpp-contact-sidebar
{
    padding: 1.5rem;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(18px);
}

.tpp-hero-card__header
{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.tpp-hero-card h2
{
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    margin-bottom: 0;
}

.tpp-pill
{
    display: inline-flex;
    align-items: center;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    background: var(--tpp-primary-soft);
    color: var(--tpp-primary);
    font-size: 0.82rem;
    font-weight: 700;
}

.tpp-stepper
{
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-bottom: 1.25rem;
}

.tpp-stepper__item
{
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    background: #edf3f9;
    color: var(--tpp-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.tpp-stepper__item.is-active
{
    background: var(--tpp-primary);
    color: #ffffff;
}

.tpp-reserve-form .form-control,
.tpp-reserve-form .form-select,
.tpp-contact-form-shell .form-control
{
    min-height: 3.5rem;
    border: 1px solid rgba(13, 27, 42, 0.12) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: none !important;
    color: var(--tpp-ink) !important;
}

.tpp-contact-form-shell textarea.form-control
{
    min-height: 9rem;
    padding-top: 1rem;
}

.tpp-label
{
    display: inline-block;
    margin-bottom: 0.55rem;
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--tpp-ink);
}

.tpp-field-pair
{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    width: 100%;
}
.tpp-field-pair input {
    min-width: 0;
    width: 100%;
}

/* Fix for older form layout */
.input-group.mb-3 {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.5rem;
}

.input-group.mb-3 input {
    flex: 1;
    min-width: 0;
}

.tpp-feature-card,
.tpp-process-card,
.tpp-contact-card,
.tpp-surface-card,
.tpp-faq-shell,
.tpp-visual-card,
.tpp-map-card
{
    background: var(--tpp-surface-strong);
}

.tpp-feature-card,
.tpp-process-card,
.tpp-contact-card
{
    height: 100%;
    padding: 1.5rem;
}

.tpp-feature-card img
{
    width: 100%;
    height: 220px;
    object-fit: contain;
    border-radius: 20px;
    background: linear-gradient(180deg, #f4f7fb 0%, #e9f0f8 100%);
    margin-bottom: 1.25rem;
}

.tpp-feature-card h3,
.tpp-process-card h3,
.tpp-contact-card h3
{
    font-size: 1.28rem;
    margin-bottom: 0.75rem;
    color: var(--tpp-ink);
}

.tpp-process-card__index,
.tpp-contact-card__icon
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: 1rem;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(239, 143, 31, 0.16), rgba(15, 52, 96, 0.1));
    color: var(--tpp-accent-deep);
    font-weight: 800;
}

.tpp-surface-card--reviews
{
    padding: 1.5rem;
}

.tpp-map-copy,
.tpp-contact-sidebar
{
    height: 100%;
}

.tpp-map-card,
.tpp-visual-card
{
    overflow: hidden;
}

.tpp-map-card iframe
{
    display: block;
    width: 100%;
    min-height: 420px;
    border: 0;
}

.tpp-visual-card img
{
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
}

.tpp-faq-shell
{
    padding: 0.75rem 1.25rem;
}

.tpp-faq-shell .accordion-item
{
    border-bottom: 1px solid rgba(13, 27, 42, 0.08);
}

.tpp-faq-shell .accordion-item:last-child
{
    border-bottom: 0;
}

.tpp-faq-shell .accordion-button
{
    padding: 1.25rem 0;
    background: transparent !important;
    color: var(--tpp-ink) !important;
    font-size: 1.05rem;
    font-weight: 700;
}

.tpp-faq-shell .accordion-button:not(.collapsed)
{
    color: var(--tpp-primary) !important;
    box-shadow: none !important;
}

.tpp-faq-shell .accordion-body
{
    padding: 0 0 1.25rem;
    color: var(--tpp-muted);
    line-height: 1.7;
}

.tpp-contact-hero__panel img
{
    max-width: 220px;
    width: 100%;
    margin-bottom: 1.25rem;
}

.tpp-contact-hero__links,
.tpp-contact-card a,
.tpp-contact-card p
{
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    color: var(--tpp-muted);
    text-decoration: none;
}

.tpp-contact-card a,
.tpp-contact-hero__links a
{
    color: var(--tpp-primary);
    font-weight: 600;
}

.tpp-social-row
{
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 0.75rem;
}

.tpp-social-row a
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 999px;
    background: rgba(15, 52, 96, 0.08);
    color: var(--tpp-primary);
}

.tpp-contact-form-shell form
{
    margin: 0;
}

.tpp-contact-form-shell .btn
{
    display: inline-flex;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    padding: 0.95rem 1.4rem;
    min-height: 3.5rem;
    background: linear-gradient(135deg, var(--tpp-accent), var(--tpp-accent-deep)) !important;
    box-shadow: 0 18px 36px rgba(216, 115, 0, 0.24);
}

@media only screen and (max-width: 991px)
{
    .tpp-hero,
    .tpp-contact-hero
    {
        padding: 6rem 0 4rem;
    }

    .tpp-stat-grid
    {
        grid-template-columns: 1fr;
    }
}

@media only screen and (max-width: 767px)
{
    .tpp-section
    {
        padding: 3.5rem 0;
    }

    .tpp-field-pair
    {
        grid-template-columns: 1fr;
    }

    .tpp-hero__actions,
    .tpp-form-actions
    {
        flex-direction: column;
    }

    .tpp-cta,
    .tpp-form-actions .tpp-cta
    {
        width: 100%;
    }

    .tpp-map-card iframe,
    .tpp-visual-card img
    {
        min-height: 300px;
    }
}

.tpp-feature-card,
.tpp-process-card,
.tpp-stat-card,
.tpp-hero-card,
.tpp-visual-card,
.tpp-map-card
{
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}

.tpp-feature-card:hover,
.tpp-process-card:hover,
.tpp-stat-card:hover,
.tpp-hero-card:hover,
.tpp-visual-card:hover,
.tpp-map-card:hover
{
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(0,0,0,0.12);
}

.tpp-form-panel
{
    animation: fadeSlide .35s ease;
}

@keyframes fadeSlide
{
    from
    {
        opacity: 0;
        transform: translateY(10px);
    }

    to
    {
        opacity: 1;
        transform: translateY(0);
    }
}

a:hover 
{
    text-decoration: none;
    color:#0f3460;
}

#prev_btn
{
    background-color : #ffffff;
    color:#000;
}

/* =========================================
   FUTURISTIC FAQ
========================================= */

#faq
{
    position: relative;
    overflow: hidden;
}

#faq::before
{
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at top right,
        rgba(59,130,246,0.12),
        transparent 35%),

        radial-gradient(circle at bottom left,
        rgba(168,85,247,0.14),
        transparent 35%);
    pointer-events: none;
}

.tpp-faq-shell
{
    position: relative;
    z-index: 2;

    padding: 28px;

    border-radius: 32px;

    background:
        rgba(255,255,255,0.72);

    backdrop-filter: blur(18px);

    border:
        1px solid rgba(255,255,255,0.4);

    box-shadow:
        0 20px 80px rgba(15,52,96,0.12);

    overflow: hidden;
}

.tpp-faq-accordion
{
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.tpp-faq-accordion .accordion-item
{
    border: 0 !important;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,0.9),
            rgba(245,248,255,0.78)
        ) !important;

    border-radius: 24px !important;

    overflow: hidden;

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border 0.35s ease;

    border:
        1px solid rgba(15,52,96,0.06) !important;

    box-shadow:
        0 8px 30px rgba(15,52,96,0.06);
}

.tpp-faq-accordion .accordion-item:hover
{
    transform: translateY(-4px);

    box-shadow:
        0 20px 50px rgba(15,52,96,0.12);
}

.tpp-faq-accordion .accordion-button
{
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;

    background: transparent !important;

    padding: 26px 28px;

    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;

    color: #0f3460 !important;
}

.tpp-faq-accordion .accordion-button span
{
    max-width: 90%;
}

.tpp-faq-accordion .accordion-button::after
{
    width: 18px;
    height: 18px;
    background-size: 18px;

    transition:
        transform 0.35s ease;
}

.tpp-faq-accordion .accordion-button:not(.collapsed)
{
    color: #2563eb !important;
}

.tpp-faq-accordion .accordion-button:not(.collapsed)::after
{
    transform: rotate(180deg);
}

.tpp-faq-accordion .accordion-body
{
    padding:
        0 28px 28px 28px;

    color: #5d6b7b;

    font-size: 16px;
    line-height: 1.9;
}

/* REMOVE GLOBAL BUTTON BORDER ISSUE */
.tpp-faq-accordion button
{
    border: 0 !important;
}

/* MOBILE */
@media (max-width: 768px)
{
    .tpp-faq-shell
    {
        padding: 18px;
        border-radius: 24px;
    }

    .tpp-faq-accordion .accordion-button
    {
        padding: 22px 20px;
        font-size: 17px;
    }

    .tpp-faq-accordion .accordion-body
    {
        padding:
            0 20px 22px 20px;
    }
}

/* =========================================
   MODERN FUTURISTIC FAQ
========================================= */

.tpp-faq-shell
{
    position: relative;

    padding: 40px;

    border-radius: 34px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,0.96),
            rgba(245,248,255,0.88)
        );

    backdrop-filter: blur(20px);

    border:
        1px solid rgba(255,255,255,0.5);

    box-shadow:
        0 25px 80px rgba(15,52,96,0.10);

    overflow: hidden;
}

.tpp-faq-shell::before
{
    content: "";

    position: absolute;

    top: -120px;
    right: -120px;

    width: 260px;
    height: 260px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(37,99,235,0.16),
            transparent 70%
        );
}

.tpp-faq-heading
{
    position: relative;
    z-index: 2;

    margin-bottom: 30px;
}

.tpp-faq-badge
{
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 10px 18px;

    border-radius: 999px;

    background:
        linear-gradient(
            135deg,
            rgba(37,99,235,0.12),
            rgba(168,85,247,0.12)
        );

    color: #2563eb;

    font-size: 14px;
    font-weight: 700;

    margin-bottom: 18px;
}

.tpp-faq-heading h3
{
    font-size: 42px;
    font-weight: 800;

    color: #0f172a;

    margin-bottom: 12px;
}

.tpp-faq-heading p
{
    color: #64748b;
    font-size: 17px;
}

.tpp-faq-accordion
{
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.tpp-faq-accordion .accordion-item
{
    border: 0 !important;

    border-radius: 24px !important;

    overflow: hidden;

    background: #ffffff !important;

    box-shadow:
        0 10px 40px rgba(15,52,96,0.06);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.tpp-faq-accordion .accordion-item:hover
{
    transform: translateY(-4px);

    box-shadow:
        0 18px 60px rgba(15,52,96,0.12);
}

.tpp-faq-accordion .accordion-button
{
    border: 0 !important;
    box-shadow: none !important;

    background: transparent !important;

    padding: 28px;

    font-size: 19px;
    font-weight: 700;

    color: #0f172a !important;
}

.tpp-faq-accordion .accordion-button:not(.collapsed)
{
    color: #2563eb !important;
}

.tpp-faq-accordion .accordion-button:focus
{
    box-shadow: none !important;
}

.tpp-faq-accordion .accordion-button::after
{
    flex-shrink: 0;

    width: 42px;
    height: 42px;

    border-radius: 50%;

    background-color: #eef4ff;

    background-position: center;
    background-size: 16px;

    transition:
        transform 0.3s ease,
        background-color 0.3s ease;
}

.tpp-faq-accordion .accordion-button:not(.collapsed)::after
{
    transform: rotate(180deg);

    background-color: #2563eb;
}

.tpp-faq-accordion .accordion-body
{
    padding:
        0 28px 28px 28px;

    color: #64748b;

    line-height: 1.9;

    font-size: 16px;
}

/* FORCE REMOVE GLOBAL BUTTON BORDER */
.tpp-faq-accordion button
{
    border: 0 !important;
}

/* MOBILE */
@media (max-width: 768px)
{
    .tpp-faq-shell
    {
        padding: 22px;
        border-radius: 24px;
    }

    .tpp-faq-heading h3
    {
        font-size: 28px;
    }

    .tpp-faq-accordion .accordion-button
    {
        padding: 22px;
        font-size: 16px;
    }

    .tpp-faq-accordion .accordion-body
    {
        padding:
            0 22px 22px 22px;
    }
}


/* =========================================
   MODERN FUTURISTIC FAQ SECTION
========================================= */

.tpp-section--faq
{
    position: relative;

    overflow: hidden;
}

.tpp-section--faq::before
{
    content: "";

    position: absolute;

    top: -180px;
    right: -120px;

    width: 420px;
    height: 420px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(37,99,235,0.10),
            transparent 70%
        );

    pointer-events: none;
}

.tpp-section--faq::after
{
    content: "";

    position: absolute;

    bottom: -180px;
    left: -120px;

    width: 420px;
    height: 420px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(168,85,247,0.12),
            transparent 70%
        );

    pointer-events: none;
}


/* FAQ SHELL */

.tpp-faq-shell
{
    position: relative;
    z-index: 2;

    padding: 34px;

    border-radius: 34px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,0.96),
            rgba(247,249,255,0.96)
        );

    /* REMOVE THIS */
    /* backdrop-filter: blur(22px); */

    border:
        1px solid rgba(255,255,255,0.45);

    box-shadow:
        0 10px 30px rgba(15,23,42,0.08);

    overflow: hidden;
}

/* ITEM */

.tpp-faq-accordion .accordion-item
{
    border: 0 !important;

    overflow: hidden;

    border-radius: 24px !important;

    background:
        rgba(255,255,255,0.96) !important;

    border:
        1px solid rgba(15,23,42,0.06) !important;

    box-shadow:
        0 4px 14px rgba(15,23,42,0.05);

    transition:
        border-color .20s ease,
        box-shadow .20s ease;
}

/* REMOVE LIFT EFFECT ON MOBILE */

@media (hover:hover)
{
    .tpp-faq-accordion .accordion-item:hover
    {
        transform: translateY(-2px);

        border-color:
            rgba(37,99,235,0.16) !important;

        box-shadow:
            0 12px 28px rgba(15,23,42,0.08);
    }
}

.accordion-collapse
{
    transition: height .22s ease;
    will-change: height;
}
/* HEADING */

.tpp-faq-heading
{
    margin-bottom: 30px;
}

.tpp-faq-badge
{
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 10px 18px;

    border-radius: 999px;

    background:
        linear-gradient(
            135deg,
            rgba(37,99,235,0.12),
            rgba(168,85,247,0.12)
        );

    color: #2563eb;

    font-size: 14px;
    font-weight: 700;

    margin-bottom: 18px;
}

.tpp-faq-badge i
{
    font-size: 14px;
}

.tpp-faq-heading h3
{
    font-size: 40px;
    line-height: 1.2;
    font-weight: 800;

    color: #0f172a;

    margin-bottom: 14px;
}

.tpp-faq-heading p
{
    color: #64748b;

    font-size: 17px;
    line-height: 1.8;

    max-width: 620px;
}

/* ACCORDION */

.tpp-faq-accordion
{
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* FAQ ITEM */

.tpp-faq-accordion .accordion-item
{
    border: 0 !important;

    overflow: hidden;

    border-radius: 24px !important;

    background:
        rgba(255,255,255,0.88) !important;

    border:
        1px solid rgba(15,23,42,0.06) !important;

    box-shadow:
        0 10px 40px rgba(15,23,42,0.05);

    transition:
        transform .20s ease,
        box-shadow .20s ease,
        border-color .20s ease;
}

.tpp-faq-accordion .accordion-item:hover
{
    transform: translateY(-4px);

    border-color:
        rgba(37,99,235,0.16) !important;

    box-shadow:
        0 22px 60px rgba(15,23,42,0.10);
}

/* BUTTON */

.tpp-faq-accordion .accordion-button
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;

    padding: 26px 28px;

    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;

    background: transparent !important;

    color: #0f172a !important;

    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
}

/* REMOVE DEFAULT BS ICON */

.tpp-faq-accordion .accordion-button::after
{
    display: none !important;
}

/* ICON */

.faq-icon
{
    flex-shrink: 0;

    width: 40px;
    height: 40px;

    min-width: 40px;
    min-height: 40px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            rgba(37,99,235,0.10),
            rgba(168,85,247,0.10)
        );

    color: #2563eb;

    font-size: 14px;
    line-height: 1;

    padding: 0;

    transform-origin: center center;

    transition:
        transform .25s ease,
        background .25s ease,
        color .25s ease;
}

/* FIX FONT AWESOME ALIGNMENT */
.faq-icon::before
{
    display: block;

    line-height: 1;

    transform: translateY(-0.5px);
}

/* ACTIVE STATE */

.tpp-faq-accordion
.accordion-button:not(.collapsed)
{
    color: #2563eb !important;
}

.tpp-faq-accordion
.accordion-button:not(.collapsed)
.faq-icon
{
    transform: rotate(45deg);

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );

    color: #ffffff;
}

/* BODY */

.tpp-faq-accordion .accordion-body
{
    padding:
        0 28px 28px 28px;

    color: #64748b;

    font-size: 16px;
    line-height: 1.9;
}

/* IMAGE CARD */

.tpp-visual-card
{
    position: relative;

    overflow: hidden;

    border-radius: 34px;

    background: #ffffff;

    box-shadow:
        0 20px 70px rgba(15,23,42,0.10);

    height: 100%;
}

.tpp-visual-card img
{
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .5s ease;
}

.tpp-visual-card:hover img
{
    transform: scale(1.04);
}

/* MOBILE */

@media (max-width: 991px)
{
    .tpp-faq-shell
    {
        padding: 24px;

        border-radius: 28px;
    }

    .tpp-faq-heading h3
    {
        font-size: 30px;
    }

    .tpp-faq-heading p
    {
        font-size: 15px;
    }

    .tpp-faq-accordion .accordion-button
    {
        padding: 22px;

        font-size: 16px;
    }

    .tpp-faq-accordion .accordion-body
    {
        padding:
            0 22px 22px 22px;
    }

    .faq-icon
    {
        width: 34px;
        height: 34px;
    }

    .tpp-visual-card
    {
        border-radius: 28px;
    }
}

/* =========================================
   FUTURISTIC DISCOUNT MODAL
========================================= */

.tpp-discount-modal .modal-dialog
{
    max-width: 980px;
}

.tpp-discount-modal .modal-content
{
    position: relative;

    overflow: hidden;

    border: 0 !important;

    border-radius: 34px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,0.96),
            rgba(245,247,255,0.92)
        );

    backdrop-filter: blur(24px);

    box-shadow:
        0 30px 120px rgba(15,23,42,0.18);
}

.tpp-discount-glow
{
    position: absolute;

    top: -140px;
    right: -140px;

    width: 340px;
    height: 340px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(37,99,235,0.18),
            transparent 70%
        );

    pointer-events: none;
}

.tpp-discount-content
{
    position: relative;
    z-index: 2;

    padding: 54px;
}

.tpp-discount-badge
{
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 10px 18px;

    border-radius: 999px;

    background:
        linear-gradient(
            135deg,
            rgba(37,99,235,0.12),
            rgba(168,85,247,0.12)
        );

    color: #2563eb;

    font-size: 14px;
    font-weight: 700;

    margin-bottom: 24px;
}

.tpp-discount-content h2
{
    font-size: 48px;
    line-height: 1.1;
    font-weight: 800;

    color: #0f172a;

    margin-bottom: 22px;
}

.tpp-discount-content p
{
    color: #64748b;

    font-size: 17px;
    line-height: 1.9;

    margin-bottom: 32px;
}

.tpp-coupon-box
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    padding: 22px 24px;

    border-radius: 24px;

    background:
        linear-gradient(
            135deg,
            rgba(37,99,235,0.08),
            rgba(168,85,247,0.08)
        );

    border:
        1px dashed rgba(37,99,235,0.25);

    margin-bottom: 34px;
}

.tpp-coupon-box small
{
    display: block;

    color: #64748b;

    font-size: 12px;
    letter-spacing: 1.5px;

    margin-bottom: 6px;
}

.tpp-coupon-box strong
{
    font-size: 34px;
    font-weight: 800;

    letter-spacing: 2px;

    color: #2563eb;
}

.tpp-copy-btn
{
    border: 0;

    padding: 14px 20px;

    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );

    color: #ffffff;

    font-weight: 700;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.tpp-copy-btn:hover
{
    transform: translateY(-2px);

    box-shadow:
        0 16px 40px rgba(37,99,235,0.28);
}

.tpp-discount-meta
{
    display: grid;

    grid-template-columns: repeat(3,1fr);

    gap: 16px;

    margin-bottom: 34px;
}

.tpp-meta-card
{
    padding: 18px;

    border-radius: 20px;

    background:
        rgba(255,255,255,0.75);

    border:
        1px solid rgba(15,23,42,0.06);

    text-align: center;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.tpp-meta-card:hover
{
    transform: translateY(-4px);

    box-shadow:
        0 18px 50px rgba(15,23,42,0.08);
}

.tpp-meta-card strong
{
    display: block;

    font-size: 22px;
    font-weight: 800;

    color: #0f172a;

    margin-bottom: 6px;
}

.tpp-meta-card span
{
    color: #64748b;

    font-size: 14px;
}

.tpp-discount-actions
{
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.tpp-discount-visual
{
    position: relative;

    height: 100%;
    min-height: 100%;

    overflow: hidden;

    border-top-left-radius: 34px;
    border-bottom-left-radius: 34px;
}

.tpp-discount-visual img
{
    width: 100%;
    height: 100%;

    min-height: 100%;

    object-fit: cover;

    display: block;
}
.tpp-floating-card
{
    position: absolute;

    left: 30px;
    bottom: 30px;

    padding: 20px 24px;

    border-radius: 24px;

    background:
        rgba(255,255,255,0.92);

    backdrop-filter: blur(18px);

    box-shadow:
        0 15px 40px rgba(15,23,42,0.14);
}

.tpp-floating-card span
{
    display: block;

    color: #64748b;

    margin-bottom: 8px;
}

.tpp-floating-card strong
{
    font-size: 34px;
    font-weight: 800;

    color: #2563eb;
}

.tpp-modal-close
{
    position: absolute;

    top: 20px;
    right: 20px;

    z-index: 10;

    border-radius: 50%;

    background-color: #ffffff !important;

    opacity: 1;
}

/* MOBILE */

@media (max-width: 991px)
{
    .tpp-discount-content
    {
        padding: 30px;
    }

    .tpp-discount-content h2
    {
        font-size: 34px;
    }

    .tpp-discount-meta
    {
        grid-template-columns: 1fr;
    }

    .tpp-coupon-box
    {
        flex-direction: column;
        align-items: flex-start;
    }

    .tpp-discount-visual
    {
        height: 320px;
    }
}

/* FIX MODAL CLOSE BUTTON */

.tpp-modal-close
{
    position: absolute;

    top: 20px;
    right: 20px;

    z-index: 20;

    width: 42px !important;
    height: 42px !important;

    padding: 0 !important;

    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;

    border-radius: 50% !important;

    background-color: rgba(255,255,255,0.95) !important;

    display: flex;
    align-items: center;
    justify-content: center;

    opacity: 1 !important;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.tpp-modal-close:hover
{
    transform: rotate(90deg);

    box-shadow:
        0 12px 30px rgba(15,23,42,0.12);
}

.tpp-modal-close::before
{
    content: "\f00d";

    font-family: "Font Awesome 6 Free";
    font-weight: 900;

    font-size: 16px;

    color: #0f172a;
}

/* REMOVE DEFAULT BS ICON */
.tpp-modal-close.btn-close
{
    background-image: none !important;
}

/* GHOST BUTTON */

.tpp-cta--ghost
{
    border: 1px solid rgba(15,23,42,0.08);

    background: rgba(255,255,255,0.7);

    color: #0f172a;

    padding: 14px 22px;

    border-radius: 16px;

    font-weight: 700;

    transition:
        transform .3s ease,
        background .3s ease,
        box-shadow .3s ease;
}

.tpp-cta--ghost:hover
{
    transform: translateY(-2px);

    background: #ffffff;

    box-shadow:
        0 12px 30px rgba(15,23,42,0.08);
}

.tpp-discount-glow
{
    animation:
        tppGlowFloat 7s ease-in-out infinite;
}

@keyframes tppGlowFloat
{
    0%
    {
        transform: translateY(0px);
    }

    50%
    {
        transform: translateY(20px);
    }

    100%
    {
        transform: translateY(0px);
    }
}

/* MODAL TRANSITIONS */

.tpp-discount-modal
{
    transition:
        opacity .3s ease;
}

.tpp-discount-modal .modal-dialog
{
    transition:
        transform .35s ease,
        opacity .35s ease;
}

/* =========================================
   MODERN FUTURISTIC NAVBAR
========================================= */

.tpp-navbar
{
    top: 10px;

    padding: 0 20px;

    background: transparent;

    z-index: 999;
}

.tpp-navbar-container
{
    padding:14px 50px;

    border-radius: 24px;

    background:
        rgba(255,255,255,0.82);

    backdrop-filter: blur(20px);

    border:
        1px solid rgba(255,255,255,0.5);

    box-shadow:
        0 20px 60px rgba(15,23,42,0.08);
}

/* LOGO */

.tpp-navbar-brand
{
    display: flex;
    align-items: center;
    gap: 14px;

    text-decoration: none;
}

.tpp-navbar-logo
{
    width: 54px;
    height: 54px;

    object-fit: contain;
}

.tpp-brand-text
{
    display: flex;
    flex-direction: column;

    line-height: 1;
}

.tpp-brand-text span
{
    font-size: 13px;
    font-weight: 700;

    color: #2563eb;

    letter-spacing: 1.4px;
}

.tpp-brand-text strong
{
    font-size: 24px;
    font-weight: 800;

    color: #0f172a;
}

/* NAV LINKS */

.tpp-navbar .navbar-nav
{
    gap: 8px;
}

.tpp-navbar .nav-link
{
    position: relative;

    padding: 12px 18px !important;

    border-radius: 14px;

    color: #0f172a !important;

    font-size: 15px;
    font-weight: 700;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}

.tpp-navbar .nav-link:hover,
.tpp-navbar .nav-link.active
{
    background:
        rgba(37,99,235,0.08);

    color: #2563eb !important;

    transform: translateY(-1px);
}

/* CTA */

.tpp-nav-cta-wrap
{
    margin-left: 10px;
}

.tpp-nav-cta
{
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 14px 22px;

    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );

    color: #ffffff !important;

    font-weight: 700;

    text-decoration: none;

    box-shadow:
        0 16px 40px rgba(37,99,235,0.24);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.tpp-nav-cta:hover
{
    transform: translateY(-2px);

    box-shadow:
        0 22px 60px rgba(37,99,235,0.30);
}

/* TOGGLER */

.tpp-navbar-toggler
{
    border: 0 !important;

    width: 52px;
    height: 52px;

    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            rgba(37,99,235,0.10),
            rgba(168,85,247,0.10)
        );

    box-shadow: none !important;
}

.tpp-navbar-toggler:focus
{
    box-shadow: none !important;
}

.tpp-navbar-toggler .navbar-toggler-icon
{
    background-image:
    url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2815,23,42,0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* DROPDOWN */

.tpp-dropdown-menu
{
    border: 0;

    padding: 12px;

    border-radius: 18px;

    background:
        rgba(255,255,255,0.92);

    backdrop-filter: blur(18px);

    box-shadow:
        0 20px 50px rgba(15,23,42,0.12);
}

.tpp-dropdown-menu .dropdown-item
{
    padding: 12px 14px;

    border-radius: 12px;

    font-weight: 600;

    transition:
        background .25s ease,
        transform .25s ease;
}

.tpp-dropdown-menu .dropdown-item:hover
{
    background:
        rgba(37,99,235,0.08);

    transform: translateX(4px);
}

/* MOBILE */

@media (max-width: 991px)
{
    .tpp-navbar
    {
        top: 10px;

        padding: 0 12px;
    }

    .tpp-navbar-container
    {
        padding:
            12px 16px;

        border-radius: 22px;
    }

    .tpp-brand-text strong
    {
        font-size: 20px;
    }

    .tpp-navbar .navbar-collapse
    {
        margin-top: 18px;

        padding-top: 18px;

        border-top:
            1px solid rgba(15,23,42,0.06);
    }

    .tpp-navbar .navbar-nav
    {
        gap: 10px;
    }

    .tpp-navbar .nav-link
    {
        width: 100%;

        padding: 14px 18px !important;

        background:
            rgba(248,250,252,0.8);
    }

    .tpp-nav-cta-wrap
    {
        margin:
            10px 0 0 0;
    }

    .tpp-nav-cta
    {
        width: 100%;
    }
}

.tpp-navbar.scrolled .tpp-navbar-container
{
    background:
        rgba(255,255,255,0.92);

    box-shadow:
        0 24px 70px rgba(15,23,42,0.12);
}

/* =========================================
   NAVBAR SCROLL EFFECT
========================================= */

.tpp-navbar
{
    transition:
        transform .35s ease;
}

.tpp-navbar .tpp-navbar-container
{
    transition:
        background .35s ease,
        box-shadow .35s ease,
        border .35s ease,
        padding .35s ease;
}

/* SCROLLED STATE */

.tpp-navbar.scrolled .tpp-navbar-container
{
    background:
        rgba(255,255,255,0.94);

    backdrop-filter: blur(26px);

    border:
        1px solid rgba(255,255,255,0.7);

    box-shadow:
        0 24px 80px rgba(15,23,42,0.16);

    padding:
        10px 18px;
}

/* LOGO SHRINK */

.tpp-navbar.scrolled .tpp-navbar-logo
{
    width: 48px;
    height: 48px;
}

/* LINK COMPRESSION */

.tpp-navbar.scrolled .nav-link
{
    padding:
        10px 16px !important;
}

.tpp-navbar-logo,
.nav-link
{
    transition:
        all .35s ease;
}

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

.tpp-footer
{
    position: relative;

    padding:
        120px 0 40px;

    overflow: hidden;
}

.tpp-footer::before
{
    content: "";

    position: absolute;

    top: -180px;
    left: -180px;

    width: 420px;
    height: 420px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(37,99,235,0.10),
            transparent 70%
        );

    pointer-events: none;
}

.tpp-footer::after
{
    content: "";

    position: absolute;

    bottom: -180px;
    right: -180px;

    width: 420px;
    height: 420px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(168,85,247,0.12),
            transparent 70%
        );

    pointer-events: none;
}

.tpp-footer-shell
{
    position: relative;
    z-index: 2;

    padding: 50px;

    border-radius: 36px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,0.92),
            rgba(247,249,255,0.84)
        );

    backdrop-filter: blur(24px);

    border:
        1px solid rgba(255,255,255,0.5);

    box-shadow:
        0 30px 120px rgba(15,23,42,0.10);
}

/* BRAND */

.tpp-footer-logo
{
    display: flex;
    align-items: center;
    gap: 16px;

    margin-bottom: 24px;

    text-decoration: none;
}

.tpp-footer-logo img
{
    width: 64px;
    height: 64px;

    object-fit: contain;
}

.tpp-footer-logo span
{
    display: block;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 1.4px;

    color: #2563eb;
}

.tpp-footer-logo strong
{
    font-size: 28px;
    font-weight: 800;

    color: #0f172a;
}

.tpp-footer-brand p
{
    color: #64748b;

    font-size: 16px;
    line-height: 1.9;

    margin-bottom: 30px;
}

/* SOCIALS */

.tpp-footer-socials
{
    display: flex;
    gap: 14px;
}

.tpp-footer-socials a
{
    width: 46px;
    height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 16px;

    background:
        rgba(255,255,255,0.7);

    border:
        1px solid rgba(15,23,42,0.06);

    color: #0f172a;

    text-decoration: none;

    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease,
        box-shadow .3s ease;
}

.tpp-footer-socials a:hover
{
    transform: translateY(-4px);
    /* background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        ); */

    color: #ffffff;

    box-shadow:
        0 18px 50px rgba(37,99,235,0.24);
}

/* CARDS */

.tpp-footer-card
{
    height: 100%;

    padding: 30px;

    border-radius: 28px;

    background:
        rgba(255,255,255,0.6);

    border:
        1px solid rgba(15,23,42,0.06);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.tpp-footer-card:hover
{
    transform: translateY(-6px);

    box-shadow:
        0 24px 70px rgba(15,23,42,0.10);
}

.tpp-footer-card-icon
{
    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 18px;

    margin-bottom: 22px;

    background:
        linear-gradient(
            135deg,
            rgba(37,99,235,0.10),
            rgba(168,85,247,0.10)
        );

    color: #2563eb;

    font-size: 22px;
}

.tpp-footer-card h4
{
    font-size: 24px;
    font-weight: 800;

    color: #0f172a;

    margin-bottom: 20px;
}

.tpp-footer-card ul
{
    list-style: none;

    padding: 0;
    margin: 0;
}

.tpp-footer-card li
{
    color: #64748b;

    font-size: 15px;
    line-height: 1.9;

    margin-bottom: 10px;
}

/* BOTTOM */

.tpp-footer-bottom
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    margin-top: 50px;

    padding-top: 28px;

    border-top:
        1px solid rgba(15,23,42,0.08);
}

.tpp-footer-bottom p
{
    margin: 0;

    color: #64748b;
}

.tpp-footer-bottom-links
{
    display: flex;
    gap: 20px;
}

.tpp-footer-bottom-links a
{
    color: #64748b;

    text-decoration: none;

    font-weight: 600;

    transition:
        color .3s ease;
}

.tpp-footer-bottom-links a:hover
{
    color: #2563eb;
}

/* MOBILE */

@media (max-width: 991px)
{
    .tpp-footer
    {
        padding:
            90px 0 30px;
    }

    .tpp-footer-shell
    {
        padding: 28px;
    }

    .tpp-footer-bottom
    {
        flex-direction: column;

        align-items: flex-start;
    }

    .tpp-footer-bottom-links
    {
        flex-wrap: wrap;
    }

    .tpp-footer-logo strong
    {
        font-size: 24px;
    }

    .tpp-footer-card
    {
        padding: 24px;
    }
}

/* =========================================
   SMOOTH SCROLL
========================================= */

html
{
    scroll-behavior: smooth;
}

/* =========================================
   MODERN SWEET ALERT
========================================= */

.tpp-swal-popup
{
    border-radius: 28px !important;

    background:
        rgba(255,255,255,0.94) !important;

    backdrop-filter: blur(24px);

    box-shadow:
        0 30px 120px rgba(15,23,42,0.18) !important;

    padding: 28px !important;
}

.swal2-title
{
    font-weight: 800 !important;

    color: #0f172a !important;
}

.swal2-html-container
{
    color: #64748b !important;

    line-height: 1.8 !important;
}

.tpp-swal-button
{
    border-radius: 16px !important;

    padding:
        12px 24px !important;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        ) !important;

    box-shadow:
        0 18px 40px rgba(37,99,235,0.24) !important;

    font-weight: 700 !important;
}


/* DESKTOP FIELD WIDTH FIX */

@media (min-width: 992px)
{
    .tpp-field-pair input
    {
        min-width: 120px !important;

        width: 100% !important;
    }
}

/* =========================================
   FUTURISTIC WOOCOMMERCE CHECKOUT
========================================= */

body.woocommerce-checkout
{
    background:
        linear-gradient(
            180deg,
            #f8fbff 0%,
            #eef4ff 100%
        );
}

/* PAGE TITLE */

.woocommerce-checkout h1,
.wp-block-heading
{
    font-size: 50px !important;

    font-weight: 800 !important;

    text-align: center;

    margin-bottom: 50px !important;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;
}

/* MAIN LAYOUT */

.wc-block-checkout
{
    gap: 32px !important;
}

/* FORM + SUMMARY CARDS */

.wc-block-components-sidebar,
.wc-block-checkout__main
{
    background:
        rgba(255,255,255,0.78);

    backdrop-filter: blur(24px);

    border:
        1px solid rgba(255,255,255,0.6);

    border-radius: 34px;

    padding: 34px !important;

    box-shadow:
        0 30px 100px rgba(15,23,42,0.08);
}

/* SECTION HEADINGS */

.wc-block-components-title,
.wc-block-checkout__main h2
{
    font-size: 28px !important;

    font-weight: 800 !important;

    color: #0f172a !important;

    margin-bottom: 28px !important;
}

/* INPUTS */

.wc-block-components-text-input input,
.wc-block-components-combobox-control input,
.wc-block-components-select select,
.select2-selection--single
{
    height: 62px !important;

    border-radius: 18px !important;

    border:
        1px solid rgba(15,23,42,0.08) !important;

    background:
        rgba(255,255,255,0.92) !important;

    padding:
        0 18px !important;

    font-size: 16px !important;

    font-weight: 600 !important;

    transition:
        border .3s ease,
        box-shadow .3s ease,
        transform .3s ease;
}

/* INPUT FOCUS */

.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus
{
    border-color:
        #2563eb !important;

    box-shadow:
        0 0 0 4px rgba(37,99,235,0.08) !important;

    transform: translateY(-1px);
}

/* LABELS */

.wc-block-components-text-input label,
.wc-block-components-checkout-step__title
{
    color: #0f172a !important;

    font-weight: 700 !important;

    font-size: 15px !important;
}

/* ORDER SUMMARY */

.wc-block-components-order-summary
{
    background: transparent !important;
}

/* PRODUCT CARD */

.wc-block-cart-item
{
    padding-bottom: 24px !important;

    margin-bottom: 24px !important;

    border-bottom:
        1px solid rgba(15,23,42,0.06);
}

/* PRODUCT IMAGE */

.wc-block-components-product-image img
{
    border-radius: 18px !important;
}

/* PRODUCT NAME */

.wc-block-components-product-name
{
    font-weight: 700 !important;

    color: #0f172a !important;

    line-height: 1.7 !important;
}

/* PRICE */

.wc-block-components-product-price
{
    font-weight: 800 !important;

    color: #2563eb !important;
}

/* COUPON */

/* =========================================
   CHECKOUT COUPON PANEL
========================================= */

.wc-block-components-panel
{
    border-radius: 20px !important;

    overflow: hidden;

    border:
        1px solid rgba(15,23,42,0.06) !important;

    background:
        rgba(255,255,255,0.78) !important;

    backdrop-filter: blur(18px);
}

/* BUTTON */

.wc-block-components-panel__button
{
    /* min-height: 68px !important; */

    padding: 18px 18px !important;

    display: flex !important;

    align-items: center !important;

    justify-content: space-between !important;

    font-size: 16px !important;

    font-weight: 700 !important;

    color: #0f172a !important;

    background: transparent !important;

    transition: background .3s ease, padding .3s ease;
}

/* HOVER */

.wc-block-components-panel__button:hover
{
    background: rgba(37,99,235,0.04) !important;
}

/* ICON */

.wc-block-components-panel__button-icon
{
    width: 22px !important;
    height: 22px !important;

    opacity: .8;
}
/* PLACE ORDER BUTTON */

.wc-block-components-checkout-place-order-button
{
    height: 66px !important;

    border: 0 !important;

    border-radius: 22px !important;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        ) !important;

    color: #ffffff !important;

    font-size: 18px !important;

    font-weight: 800 !important;

    box-shadow:
        0 20px 60px rgba(37,99,235,0.24);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

/* BUTTON HOVER */

.wc-block-components-checkout-place-order-button:hover
{
    transform: translateY(-3px);

    box-shadow:
        0 30px 80px rgba(37,99,235,0.30);
}

.wc-block-components-panel__button:hover
{
    transform: translateY(-3px);

    box-shadow:
        0 30px 80px rgba(37,99,235,0.30);
}

/* PAYMENT BOX */

.wc-block-components-radio-control-accordion-option
{
    border-radius: 22px !important;

    border:
        1px solid rgba(15,23,42,0.06) !important;

    margin-bottom: 14px !important;

    overflow: hidden;

    background:
        rgba(255,255,255,0.8);
}

/* TOTALS */

.wc-block-components-totals-wrapper
{
    border-top:
        1px solid rgba(15,23,42,0.06) !important;

    margin-top: 24px;

    padding-top: 24px;
}

/* MOBILE */

@media (max-width: 991px)
{
    .woocommerce-checkout h1,
    .wp-block-heading
    {
        font-size: 40px !important;
    }

    .wc-block-components-sidebar,
    .wc-block-checkout__main
    {
        padding: 24px !important;

        border-radius: 28px;
    }

    .wc-block-components-text-input input,
    .wc-block-components-select select
    {
        height: 58px !important;
    }

    .wc-block-components-checkout-place-order-button
    {
        height: 62px !important;
    }
}

/* =========================================
   CHECKOUT 2 COLUMN LAYOUT
========================================= */

@media (min-width: 992px)
{
    .wc-block-checkout
    {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            420px !important;

        gap: 32px !important;

        align-items: start;
    }

    /* LEFT SIDE */

    .wc-block-checkout__main
    {
        width: 100% !important;

        max-width: 100% !important;

        margin: 0 !important;
    }

    /* RIGHT SIDEBAR */

    .wc-block-components-sidebar
    {
        position: sticky;

        top: 130px;

        width: 100% !important;

        max-width: 420px;

        margin: 0 !important;

        align-self: start;
    }
}

/* STICKY SUMMARY SCROLL EFFECT */

.wc-block-components-sidebar
{
    transition:
        transform .3s ease;
}

.wc-block-components-sidebar:hover
{
    transform: translateY(-2px);
}

/* =========================================
   CENTER CHECKOUT CONTENT
========================================= */

.woocommerce-checkout .entry-content,
.woocommerce-checkout main,
.woocommerce-checkout .wp-block-woocommerce-checkout,
.woocommerce-checkout .wc-block-checkout
{
    max-width: 1280px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}

/* GRID LAYOUT */

/* =========================================
   BETTER CHECKOUT COLUMN PROPORTIONS
========================================= */

@media (min-width: 992px)
{
    .wc-block-checkout
    {
        display: grid !important;

        grid-template-columns:
            minmax(760px, 1fr)
            420px !important;

        /* gap: 42px !important; */

        max-width: 1380px !important;

        margin: 0 auto !important;

        align-items: start;
    }

    /* LEFT SIDE */

    .wc-block-checkout__main
    {
        width: 100% !important;

        max-width: none !important;
    }

    /* RIGHT SIDE */

    .wc-block-components-sidebar
    {
        width: 100% !important;

        max-width: 420px !important;

        position: sticky;

        top: 120px;
    }
}

/* WIDER FORM CARD */

.wc-block-checkout__main
{
    padding: 42px !important;
}

.wc-block-components-sidebar
{
    transform: translateY(-12px);
}

/* =========================================
   CENTER CHECKOUT COMPOSITION
========================================= */

@media (min-width: 992px)
{
    .wc-block-components-sidebar-layout.wc-block-checkout.is-large
    {
        /* margin-left: 80px !important; */
    }
}

/* =========================================
   FUTURISTIC WOOCOMMERCE CART
========================================= */

body.woocommerce-cart
{
    background:
        linear-gradient(
            180deg,
            #f8fbff 0%,
            #eef4ff 100%
        );
}

/* =========================================
   MAIN CART LAYOUT
========================================= */

.wc-block-cart
{
    max-width: 1380px !important;

    margin:
        40px auto !important;

    display: grid !important;

    grid-template-columns:
        minmax(0,1fr)
        420px !important;

    gap: 34px !important;

    align-items: start;
}

/* =========================================
   LEFT CART PANEL
========================================= */

.wc-block-cart__main
{
    background:
        rgba(255,255,255,0.78);

    backdrop-filter: blur(24px);

    border:
        1px solid rgba(255,255,255,0.7);

    border-radius: 34px;

    padding: 34px !important;

    box-shadow:
        0 30px 100px rgba(15,23,42,0.08);
}

/* =========================================
   RIGHT TOTALS SIDEBAR
========================================= */

.wc-block-cart__sidebar
{
    position: sticky;

    top: 120px;

    background:
        rgba(255,255,255,0.82);

    backdrop-filter: blur(24px);

    border:
        1px solid rgba(255,255,255,0.7);

    border-radius: 34px;

    padding: 30px !important;

    box-shadow:
        0 30px 100px rgba(15,23,42,0.08);
}

/* =========================================
   PAGE TITLE
========================================= */

.wp-block-woocommerce-filled-cart-block h1
{
    font-size: 58px !important;

    font-weight: 800 !important;

    text-align: center;

    margin-bottom: 42px !important;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;
}

/* =========================================
   CART TABLE
========================================= */

.wc-block-cart-items
{
    border: 0 !important;
}

/* ROW */

.wc-block-cart-items__row
{
    border-bottom:
        1px solid rgba(15,23,42,0.06) !important;
}

/* =========================================
   PRODUCT IMAGE
========================================= */

.wc-block-cart-item__image img
{
    width: 100px !important;

    height: 100px !important;

    object-fit: contain;

    border-radius: 24px;

    padding: 12px;

    background:
        rgba(255,255,255,0.9);

    box-shadow:
        0 14px 40px rgba(15,23,42,0.08);
}

/* =========================================
   PRODUCT NAME
========================================= */

.wc-block-components-product-name
{
    /* font-size: 22px !important; */

    font-weight: 800 !important;

    line-height: 1.7 !important;

    color: #0f172a !important;

    text-decoration: none !important;
}

/* =========================================
   META
========================================= */

.wc-block-components-product-metadata
{
    margin-top: 12px;

    color: #64748b;

    line-height: 1.8;
}

/* =========================================
   PRICE
========================================= */

.wc-block-components-product-price__value
{
    font-size: 22px !important;

    font-weight: 800 !important;

    color: #2563eb !important;
}

/* =========================================
   QUANTITY SELECTOR
========================================= */

.wc-block-components-quantity-selector
{
    height: 56px;

    border-radius: 18px;

    border:
        1px solid rgba(15,23,42,0.08);

    overflow: hidden;

    background:
        rgba(255,255,255,0.85);
}

/* BUTTONS */

.wc-block-components-quantity-selector__button
{
    width: 54px !important;

    font-size: 22px !important;

    transition:
        background .3s ease;
}

.wc-block-components-quantity-selector__button:hover
{
    background:
        rgba(37,99,235,0.08);
}

/* INPUT */

.wc-block-components-quantity-selector__input
{
    font-size: 18px !important;

    font-weight: 700 !important;
}

/* =========================================
   REMOVE BUTTON
========================================= */

.wc-block-cart-item__remove-link
{
    margin-top: 18px;

    color: #ef4444 !important;

    transition:
        transform .3s ease,
        opacity .3s ease;
}

.wc-block-cart-item__remove-link:hover
{
    transform: scale(1.08);

    opacity: .8;
}

/* =========================================
   TOTALS TITLE
========================================= */

.wc-block-cart__totals-title
{
    font-size: 34px !important;

    font-weight: 800 !important;

    margin-bottom: 28px !important;

    color: #0f172a !important;
}

/* =========================================
   COUPON PANEL
========================================= */

.wc-block-components-panel
{
    border-radius: 22px !important;

    overflow: hidden;

    border:
        1px solid rgba(15,23,42,0.06) !important;

    background:
        rgba(255,255,255,0.7);
}

.wc-block-components-panel__button
{
    min-height: 72px !important;

    padding:
        20px 24px !important;

    display: flex !important;

    align-items: center !important;

    justify-content: space-between !important;

    font-size: 16px !important;

    font-weight: 700 !important;
}

/* =========================================
   COUPON INPUT
========================================= */

.wc-block-components-totals-coupon__input input
{
    height: 58px !important;

    border-radius: 18px !important;

    padding:
        0 18px !important;
}

/* =========================================
   APPLY BUTTON
========================================= */

.wc-block-components-totals-coupon__button
{
    height: 58px !important;

    border-radius: 18px !important;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        ) !important;

    border: 0 !important;

    font-weight: 700 !important;
}

/* =========================================
   TOTALS
========================================= */

.wc-block-components-totals-footer-item
{
    padding-top: 26px !important;

    font-size: 20px !important;

    font-weight: 800 !important;
}

/* =========================================
   CHECKOUT BUTTON
========================================= */

.wc-block-cart__submit-button
{
    height: 68px !important;

    border-radius: 22px !important;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        ) !important;

    border: 0 !important;

    font-size: 18px !important;

    font-weight: 800 !important;

    box-shadow:
        0 24px 70px rgba(37,99,235,0.22);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.wc-block-cart__submit-button:hover
{
    transform: translateY(-3px);

    box-shadow:
        0 34px 90px rgba(37,99,235,0.28);
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 991px)
{
    .wc-block-cart
    {
        grid-template-columns: 1fr !important;
    }

    .wc-block-cart__sidebar
    {
        position: static;
    }

    .wc-block-components-product-name
    {
        font-size: 18px !important;
    }

    .wp-block-woocommerce-filled-cart-block h1
    {
        font-size: 42px !important;
    }
}

.wc-block-components-button__text
{
    color: #fff;
}

.wc-block-components-sidebar-layout .wc-block-components-main 
{
    width: 100% !important;
}

.select2-container--default .select2-selection--single {
    border: none !important;
    background: none !important;
}

.wc-block-components-button__text
{
    /* color: #fff; */
}

/* =========================================
   WOOCOMMERCE THANK YOU PAGE
========================================= */

.woocommerce-order
{
    max-width: 1280px;

    margin:
        50px auto;

    padding:
        0 20px;
}

/* =========================================
   SUCCESS MESSAGE
========================================= */

.woocommerce-notice--success
{
    background:
        linear-gradient(
            135deg,
            rgba(37,99,235,0.08),
            rgba(124,58,237,0.08)
        ) !important;

    border:
        1px solid rgba(37,99,235,0.12) !important;

    border-radius: 28px !important;

    padding:
        28px 34px !important;

    font-size: 22px !important;

    font-weight: 800 !important;

    color: #0f172a !important;

    text-align: center;

    backdrop-filter: blur(18px);

    box-shadow:
        0 24px 80px rgba(15,23,42,0.06);

    margin-bottom: 40px !important;
}

/* SUCCESS ICON */

.woocommerce-notice--success::before
{
    content: '✓';

    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    margin-right: 16px;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #22c55e,
            #16a34a
        );

    color: #ffffff;

    font-size: 22px;

    font-weight: 800;
}

/* =========================================
   ORDER OVERVIEW
========================================= */

.woocommerce-order-overview
{
    display: grid;

    grid-template-columns:
        repeat(auto-fit,minmax(220px,1fr));

    gap: 22px;

    padding: 0;

    margin:
        0 0 42px;

    list-style: none;

    text-align: center;
}

/* CARDS */

.woocommerce-order-overview li
{
    background:
        rgba(255,255,255,0.78);

    backdrop-filter: blur(22px);

    border:
        1px solid rgba(255,255,255,0.6);

    border-radius: 28px;

    padding: 28px;

    box-shadow:
        0 24px 80px rgba(15,23,42,0.06);

    color: #64748b;

    font-size: 14px;

    font-weight: 600;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

/* HOVER */

.woocommerce-order-overview li:hover
{
    transform: translateY(-4px);

    box-shadow:
        0 34px 90px rgba(15,23,42,0.10);
}

/* VALUE */

.woocommerce-order-overview strong
{
    display: block;

    margin-top: 10px;

    color: #0f172a;

    font-size: 20px;

    font-weight: 800;

    line-height: 1.6;
}

/* =========================================
   PAYMENT MESSAGE
========================================= */

.woocommerce-order > p
{
    background:
        rgba(255,255,255,0.72);

    border-radius: 24px;

    padding:
        22px 28px;

    margin-bottom: 36px;

    font-size: 17px;

    font-weight: 600;

    color: #0f172a;

    backdrop-filter: blur(18px);

    border:
        1px solid rgba(15,23,42,0.05);
}

/* =========================================
   SECTION CARDS
========================================= */

.woocommerce-order-details,
.woocommerce-customer-details
{
    background:
        rgba(255,255,255,0.78);

    backdrop-filter: blur(24px);

    border:
        1px solid rgba(255,255,255,0.7);

    border-radius: 34px;

    padding: 36px;

    margin-bottom: 36px;

    box-shadow:
        0 30px 100px rgba(15,23,42,0.08);
}

/* =========================================
   SECTION TITLES
========================================= */

.woocommerce-order-details__title,
.woocommerce-column__title
{
    font-size: 34px !important;

    font-weight: 800 !important;

    margin-bottom: 28px !important;

    color: #0f172a !important;
}

/* =========================================
   TABLE
========================================= */

.shop_table
{
    border: 0 !important;

    border-collapse: separate !important;

    border-spacing: 0 18px !important;
}

/* ROWS */

.shop_table tr
{
    background:
        rgba(248,250,252,0.9);
}

/* CELLS */

.shop_table th,
.shop_table td
{
    padding:
        22px 24px !important;

    border: 0 !important;

    font-size: 16px;
}

/* FIRST CELL */

.shop_table tr th:first-child,
.shop_table tr td:first-child
{
    border-top-left-radius: 18px;
    border-bottom-left-radius: 18px;
}

/* LAST CELL */

.shop_table tr th:last-child,
.shop_table tr td:last-child
{
    border-top-right-radius: 18px;
    border-bottom-right-radius: 18px;
}

/* PRODUCT LINK */

.product-name a
{
    color: #0f172a !important;

    text-decoration: none !important;

    font-weight: 700 !important;

    line-height: 1.8;
}

/* TOTALS */

.product-total,
.woocommerce-Price-amount
{
    font-weight: 800 !important;

    color: #2563eb !important;
}

/* =========================================
   BILLING ADDRESS
========================================= */

.woocommerce-customer-details address
{
    font-style: normal;

    line-height: 2;

    font-size: 16px;

    color: #475569;

    background:
        rgba(248,250,252,0.8);

    border-radius: 24px;

    padding: 28px;
}

/* PHONE + EMAIL */

.woocommerce-customer-details--phone,
.woocommerce-customer-details--email
{
    margin-top: 16px;

    font-weight: 700;

    color: #0f172a;
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 991px)
{
    .woocommerce-order
    {
        padding:
            0 14px;
    }

    .woocommerce-order-overview
    {
        grid-template-columns: 1fr;
    }

    .woocommerce-order-details,
    .woocommerce-customer-details
    {
        padding: 24px;
    }

    .woocommerce-order-details__title,
    .woocommerce-column__title
    {
        font-size: 28px !important;
    }

    .woocommerce-notice--success
    {
        font-size: 18px !important;

        padding:
            22px 24px !important;
    }
}

ul.order_details::before,
ul.order_details::after
{
    display: none !important;

    content: none !important;
}


/* =========================================
   ABOUT PAGE
========================================= */

body.page-template-about
{
    background:
        linear-gradient(
            180deg,
            #f8fbff 0%,
            #eef4ff 100%
        );
}

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

.about-header
{
    position: relative;

    height: 520px;

    overflow: hidden;

    border-radius:
        0 0 48px 48px;
}

/* IMAGE */

#about-bg
{
    width: 100%;

    height: 100%;

    object-fit: cover;

    filter:
        brightness(.45);
}

/* OVERLAY */

.about-header::before
{
    content: '';

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            135deg,
            rgba(15,23,42,.72),
            rgba(37,99,235,.32)
        );
}

/* TITLE */

.centered-about
{
    position: absolute;

    top: 50%;
    left: 50%;

    transform:
        translate(-50%,-50%);

    z-index: 5;

    font-size:
        clamp(58px,8vw,110px) !important;

    font-weight: 900;

    letter-spacing: -4px;

    color: #ffffff !important;

    text-shadow:
        0 24px 60px rgba(0,0,0,.35);
}

/* =========================================
   SECTIONS
========================================= */

#about,
#about-ejaz
{
    background: transparent !important;

    padding:
        100px 0;
}

/* MAIN CARD */

#about .container,
#about-ejaz .container
{
    background:
        rgba(255,255,255,0.76) !important;

    backdrop-filter: blur(24px);

    border:
        1px solid rgba(255,255,255,0.7);

    border-radius: 42px;

    padding:
        56px !important;

    box-shadow:
        0 40px 120px rgba(15,23,42,0.08);
}

/* =========================================
   PROFILE IMAGE
========================================= */

.person1,
.person2
{
    width: 100%;

    max-width: 340px;

    aspect-ratio: 1 / 1;

    object-fit: cover;

    border-radius: 36px;

    display: block;

    margin:
        0 auto 28px;

    box-shadow:
        0 30px 100px rgba(15,23,42,0.18);

    transition:
        transform .4s ease,
        box-shadow .4s ease;
}

/* HOVER */

.person1:hover,
.person2:hover
{
    transform:
        translateY(-8px);

    box-shadow:
        0 50px 140px rgba(15,23,42,0.24);
}

/* =========================================
   NAMES
========================================= */

.khalid,
.ejaz
{
    font-size: 42px !important;

    font-weight: 900;

    line-height: 1.2;

    margin-top: 10px;

    text-align: center;

    background:
        linear-gradient(
            135deg,
            #0f172a,
            #2563eb
        );

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;
}

/* =========================================
   BIO CONTENT
========================================= */

#about p,
#about-ejaz p,
#about li,
#about-ejaz li
{
    font-size: 17px;

    line-height: 2;

    color: #475569;
}

/* LARGE FIRST LETTER */

#about p:first-of-type::first-letter
{
    font-size: 68px;

    line-height: 1;

    font-weight: 900;

    float: left;

    margin-right: 14px;

    color: #2563eb;
}

/* =========================================
   HEADINGS
========================================= */

#about b,
#about-ejaz b
{
    display: inline-block;

    margin-top: 22px;

    margin-bottom: 10px;

    font-size: 22px;

    font-weight: 800;

    color: #0f172a;
}

/* =========================================
   LISTS
========================================= */

#about ul,
#about-ejaz ul
{
    margin:
        18px 0 28px 0;

    padding-left: 0;

    list-style: none;
}

/* LIST ITEM */

#about li,
#about-ejaz li
{
    position: relative;

    background:
        rgba(248,250,252,0.82);

    border:
        1px solid rgba(15,23,42,0.05);

    border-radius: 22px;

    padding:
        18px 22px 18px 56px;

    margin-bottom: 16px;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

/* ICON */

#about li::before,
#about-ejaz li::before
{
    content: '✓';

    position: absolute;

    left: 22px;
    top: 18px;

    width: 22px;
    height: 22px;

    border-radius: 50%;

    display: flex;

    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );

    color: #ffffff;

    font-size: 12px;

    font-weight: 800;
}

/* HOVER */

#about li:hover,
#about-ejaz li:hover
{
    transform:
        translateY(-4px);

    box-shadow:
        0 24px 70px rgba(15,23,42,0.08);
}

/* =========================================
   LINKS
========================================= */

#about a,
#about-ejaz a
{
    color: #2563eb;

    font-weight: 700;

    text-decoration: none;

    transition:
        color .3s ease;
}

#about a:hover,
#about-ejaz a:hover
{
    color: #7c3aed;
}

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

@media (max-width: 991px)
{
    .about-header
    {
        height: 360px;
    }

    #about .container,
    #about-ejaz .container
    {
        padding: 30px !important;
    }

    .khalid,
    .ejaz
    {
        font-size: 32px !important;
    }

    .person1,
    .person2
    {
        max-width: 260px;
    }

    #about p,
    #about-ejaz p,
    #about li,
    #about-ejaz li
    {
        font-size: 15px;
    }

    #about b,
    #about-ejaz b
    {
        font-size: 20px;
    }
}


/* =========================================
   MODERN WORDPRESS PAGES
========================================= */

.page .entry-content,
.single .entry-content
{
    max-width: 1104px;

    margin:
        0px auto;

    padding:
        0 24px;
}

/* =========================================
   MAIN CONTENT WRAPPER
========================================= */

.page .entry-content
{
    position: relative;

    background:
        rgba(255,255,255,0.72);

    backdrop-filter: blur(22px);

    border:
        1px solid rgba(255,255,255,0.7);

    border-radius: 42px;

    padding:
        30px;

    box-shadow:
        0 30px 100px rgba(15,23,42,0.08);
}

/* SOFT GLOW */

.page .entry-content::before
{
    content: '';

    position: absolute;

    top: -120px;
    right: -120px;

    width: 320px;
    height: 320px;

    background:
        radial-gradient(
            rgba(37,99,235,0.10),
            transparent 70%
        );

    pointer-events: none;
}

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

/* =========================================
   REFINED PAGE TYPOGRAPHY
========================================= */

.page h1,
.single h1
{
    font-size:
        clamp(38px,5vw,50px);

    font-weight: 900;

    line-height: 1.12;

    letter-spacing: -2px;

    margin-bottom: 28px;
}

/* H2 */

.page h2,
.single h2
{
    font-size:
        clamp(28px,3vw,40px);

    font-weight: 800;

    line-height: 1.25;

    margin:
        25px 0 22px;
}

/* H3 */

.page h3,
.single h3
{
    font-size:
        clamp(22px,2vw,30px);

    font-weight: 800;

    line-height: 1.35;

    margin:
        38px 0 16px;
}
/* TEXT */

.page p,
.single p,
.page li,
.single li
{
    font-size: 18px;

    line-height: 2;

    color: #475569;
}

/* BETTER SPACING */

.page p,
.single p
{
    margin-bottom: 28px;
}

/* =========================================
   LINKS
========================================= */

.page a,
.single a
{
    color: #2563eb;

    text-decoration: none;

    font-weight: 700;

    transition:
        color .3s ease;
}

.page a:hover,
.single a:hover
{
    color: #7c3aed;
}

/* =========================================
   LISTS
========================================= */

.page ul,
.single ul
{
    padding-left: 24px;

    margin:
        30px 0;
}

.page li,
.single li
{
    margin-bottom: 14px;
}

/* =========================================
   BLOCKQUOTE
========================================= */

.page blockquote,
.single blockquote
{
    position: relative;

    margin:
        50px 0;

    padding:
        40px 50px;

    border-left:
        5px solid #2563eb;

    background:
        linear-gradient(
            135deg,
            rgba(37,99,235,0.05),
            rgba(124,58,237,0.05)
        );

    border-radius: 28px;

    font-size: 24px;

    line-height: 1.8;

    font-weight: 700;

    color: #0f172a;
}

/* =========================================
   IMAGES
========================================= */

.page img,
.single img
{
    border-radius: 30px;

    margin:
        40px 0;

    box-shadow:
        0 30px 100px rgba(15,23,42,0.14);
}

/* =========================================
   TABLES
========================================= */

.page table,
.single table
{
    width: 100%;

    margin:
        40px 0;

    border-collapse: collapse;

    overflow: hidden;

    border-radius: 24px;
}

/* ROWS */

.page table tr:nth-child(odd),
.single table tr:nth-child(odd)
{
    background:
        rgba(248,250,252,0.8);
}

/* CELLS */

.page table td,
.page table th,
.single table td,
.single table th
{
    padding:
        22px 24px;

    border:
        1px solid rgba(15,23,42,0.05);

    text-align: left;
}

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

.wp-block-button__link
{
    border-radius: 22px !important;

    padding:
        18px 34px !important;

    font-weight: 800 !important;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        ) !important;

    box-shadow:
        0 24px 70px rgba(37,99,235,0.22);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

/* HOVER */

.wp-block-button__link:hover
{
    transform:
        translateY(-3px);

    box-shadow:
        0 34px 90px rgba(37,99,235,0.30);
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 991px)
{
    .page .entry-content,
    .single .entry-content
    {
        padding:
            36px 24px;

        margin:
            40px auto;
    }

    .page p,
    .single p,
    .page li,
    .single li
    {
        font-size: 16px;
    }

    .page blockquote,
    .single blockquote
    {
        font-size: 20px;

        padding:
            28px;
    }
}

/* =========================================
   MOBILE OVERFLOW FIX
========================================= */

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

/* Prevent horizontal scroll */

html,
body
{
    overflow-x: hidden;
}

/* CONTENT WRAPPER */

.page .entry-content,
.single .entry-content
{
    width: 100%;
    max-width: 1261px;
}

/* IMAGES */

.page img,
.single img
{
    max-width: 100%;
    height: auto;
    display: block;
}

/* TABLE RESPONSIVE */

.page table,
.single table
{
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* MOBILE */

@media (max-width: 991px)
{
    .page .entry-content,
    .single .entry-content
    {
        padding: 24px 18px;

        border-radius: 24px;

        /* blur causes lag + overflow on phones */
        backdrop-filter: none;
    }

    .page blockquote,
    .single blockquote
    {
        padding: 22px;

        margin: 32px 0;

        border-radius: 18px;
    }

    .page table td,
    .page table th,
    .single table td,
    .single table th
    {
        padding: 14px 16px;
    }

    .page h1,
    .single h1
    {
        letter-spacing: -1px;
    }
}


/* =========================================
   MODERN LINK HOVER UNDERLINE
========================================= */
.tpp-contact-card a, .tpp-footer-bottom-links a
{
    display: inline-block;

    overflow-wrap: break-word;

    word-break: break-word;

    max-width: 100%;
}

.tpp-contact-card
{
    min-width: 0;
}

/* MOBILE CONTACT CARD FIX */

@media (max-width: 767px)
{
    .tpp-contact-card
    {
        display: flex;

        align-items: flex-start;

        gap: 18px;
    }

    .tpp-contact-card__icon
    {
        flex-shrink: 0;
    }

    .tpp-contact-card h3,
    .tpp-contact-card a,
    .tpp-contact-card p
    {
        margin-left: 0 !important;
    }
}

/* =========================================
   CONTACT HERO MOBILE CENTERING
========================================= */

@media (max-width: 991px)
{
    .tpp-contact-hero__panel
    {
        text-align: center;

        display: flex;

        flex-direction: column;

        align-items: center;

        justify-content: center;
    }

    .tpp-contact-hero__panel img
    {
        margin:
            0 auto 24px;

        display: block;
    }

    .tpp-contact-hero__links
    {
        width: 100%;

        display: flex;

        flex-direction: column;

        align-items: center;

        justify-content: center;
    }

    .tpp-contact-hero__links a
    {
        justify-content: center;

        text-align: center;
    }

    .tpp-social-row
    {
        justify-content: center;
    }
}


.tpp-contact-hero__panel
{
    text-align: center;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;
}

.tpp-contact-hero__panel img
{
    margin:
        0 auto 24px;

    display: block;
}

.tpp-contact-hero__links
{
    width: 100%;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;
}

.tpp-contact-hero__links a
{
    justify-content: center;

    text-align: center;
}

.tpp-social-row
{
    justify-content: center;
}

/* =========================================
   SOCIAL ICON ANIMATIONS
========================================= */

.tpp-social-row
{
    display: flex;

    align-items: center;

    gap: 14px;
}

/* ICON LINK */

.tpp-social-row a
{
    position: relative;

    width: 52px;
    height: 52px;

    border-radius: 18px;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    background:
        rgba(255,255,255,0.08);

    border:
        1px solid rgba(255,255,255,0.12);

    backdrop-filter: blur(18px);

    color: #ffffff;

    font-size: 20px;

    text-decoration: none;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border .35s ease,
        background .35s ease;
}

/* GLOW EFFECT */

.tpp-social-row a::before
{
    content: '';

    position: absolute;

    inset: -2px;

    opacity: 0;

    transition:
        opacity .35s ease;

    /* background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        ); */

    z-index: -1;
}

/* ICON */

.tpp-social-row a i
{
    transition:
        transform .35s ease;
}

/* HOVER */

.tpp-social-row a:hover
{
    transform:
        translateY(-6px)
        scale(1.06);

    border-color: rgba(37,99,235,0.35);

    /* background:rgba(255,255,255,0.14); */

    box-shadow: 0 18px 50px rgba(37,99,235,0.28);
}

/* SHOW GLOW */

.tpp-social-row a:hover::before
{
    opacity: 1;
}

/* ICON ANIMATION */

.tpp-social-row a:hover i
{
    transform:
        scale(1.18)
        rotate(-8deg);
}

/* =========================================
   CONTACT CARDS
========================================= */

/* WIDER CARDS */

@media (min-width: 1200px)
{
    .tpp-contact-section .col-xl-3
    {
        width: 33.333333% !important;
    }
}

/* CARD */

.tpp-contact-card
{
    position: relative;

    overflow: hidden;

    height: 100%;

    padding:
        34px 30px;

    border-radius: 32px;

    background:
        rgba(255,255,255,0.72);

    backdrop-filter: blur(22px);

    border:
        1px solid rgba(255,255,255,0.7);

    box-shadow:
        0 24px 80px rgba(15,23,42,0.08);

    transition:
        transform .4s ease,
        box-shadow .4s ease,
        border .4s ease;
}

/* GLOW EFFECT */

.tpp-contact-card::before
{
    content: '';

    position: absolute;

    top: -120px;
    right: -120px;

    width: 240px;
    height: 240px;

    background:
        radial-gradient(
            rgba(37,99,235,0.14),
            transparent 70%
        );

    opacity: 0;

    transition:
        opacity .4s ease;
}

/* HOVER */

.tpp-contact-card:hover
{
    transform:
        translateY(-10px);

    border-color:
        rgba(37,99,235,0.18);

    box-shadow:
        0 40px 120px rgba(15,23,42,0.14);
}

/* SHOW GLOW */

.tpp-contact-card:hover::before
{
    opacity: 1;
}

/* ICON */

.tpp-contact-card__icon
{
    width: 72px;
    height: 72px;

    border-radius: 24px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin-bottom: 24px;

    background:
        linear-gradient(
            135deg,
            rgba(37,99,235,0.12),
            rgba(124,58,237,0.12)
        );

    color: #2563eb;

    font-size: 28px;

    transition:
        transform .4s ease,
        background .4s ease,
        color .4s ease;
}

/* ICON ANIMATION */

.tpp-contact-card:hover .tpp-contact-card__icon
{
    transform:
        scale(1.08)
        rotate(-6deg);

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        );

    color: #ffffff;
}

/* TITLE */

.tpp-contact-card h3
{
    font-size: 28px;

    font-weight: 800;

    color: #0f172a;

    margin-bottom: 18px;
}

/* LINKS + TEXT */

.tpp-contact-card a,
.tpp-contact-card p
{
    display: block;

    color: #475569;

    font-size: 17px;

    line-height: 1.7;

    text-decoration: none;

    transition:
        color .3s ease;
}

/* LINK HOVER */

.tpp-contact-card a:hover
{
    color: #2563eb;
}

/* MOBILE */

@media (max-width: 767px)
{
    .tpp-contact-card
    {
        padding:
            28px 24px;
    }

    .tpp-contact-card h3
    {
        font-size: 24px;
    }

    .tpp-contact-card a,
    .tpp-contact-card p
    {
        font-size: 15px;
    }
}

/* =========================================
   ANIMATED LINK UNDERLINE
========================================= */

.tpp-contact-card a, .tpp-footer-bottom-links a, .nav-item a
{
    position: relative;

    width: fit-content;
}

/* UNDERLINE */

.tpp-contact-card a::after, .tpp-footer-bottom-links a::after, .nav-item a::after
{
    content: '';

    position: absolute;

    left: 0;
    bottom: -3px;

    width: 0;

    height: 2px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #2563eb,
            #7c3aed
        );

    transition:
        width .35s ease;
}

/* HOVER */

.tpp-contact-card a:hover::after, .tpp-footer-bottom-links a:hover::after, .nav-item a:hover::after
{
    width: 100%;
}

input[type="hidden"] + .select2
{
    display: none !important;
}

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

.tpp-contact-form-shell
{
    position: relative;

    max-width: 920px;

    margin:
        0 auto;

    padding:
        48px;

    border-radius: 40px;

    background:
        rgba(255,255,255,0.74);

    backdrop-filter: blur(26px);

    border:
        1px solid rgba(255,255,255,0.7);

    box-shadow:
        0 40px 120px rgba(15,23,42,0.08);

    overflow: hidden;
}

/* GLOW */

.tpp-contact-form-shell::before
{
    content: '';

    position: absolute;

    top: -140px;
    right: -140px;

    width: 320px;
    height: 320px;

    background:
        radial-gradient(
            rgba(37,99,235,0.14),
            transparent 70%
        );

    pointer-events: none;
}

/* =========================================
   FORM GROUP
========================================= */

.tpp-contact-form-shell .form-group
{
    position: relative;
}

/* =========================================
   INPUTS
========================================= */

.tpp-contact-form-shell .form-control
{
    height: 68px;

    border-radius: 22px !important;

    border:
        1px solid rgba(15,23,42,0.08) !important;

    background:
        rgba(255,255,255,0.82) !important;

    backdrop-filter: blur(12px);

    padding:
        0 24px !important;

    font-size: 16px !important;

    color: #0f172a !important;

    box-shadow: none !important;

    transition:
        border .3s ease,
        box-shadow .3s ease,
        transform .3s ease;
}

/* TEXTAREA */

.tpp-contact-form-shell textarea.form-control
{
    min-height: 180px;

    padding-top: 22px !important;

    resize: none;
}

/* PLACEHOLDER */

.tpp-contact-form-shell .form-control::placeholder
{
    color: #94a3b8;
}

/* FOCUS */

.tpp-contact-form-shell .form-control:focus
{
    border-color:
        rgba(37,99,235,0.4) !important;

    box-shadow:
        0 0 0 5px rgba(37,99,235,0.10) !important;

    transform:
        translateY(-2px);
}

/* =========================================
   SUBMIT BUTTON
========================================= */

.tpp-contact-form-shell button[type="submit"]
{
    height: 68px;

    min-width: 240px;

    border: 0 !important;

    border-radius: 22px !important;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        ) !important;

    font-size: 18px !important;

    font-weight: 800 !important;

    letter-spacing: .3px;

    box-shadow:
        0 24px 70px rgba(37,99,235,0.24);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

/* HOVER */

.tpp-contact-form-shell button[type="submit"]:hover
{
    transform:
        translateY(-4px);

    box-shadow:
        0 34px 90px rgba(37,99,235,0.30);
}

/* =========================================
   CENTER BUTTON
========================================= */

.tpp-contact-form-shell .align-center
{
    display: flex;

    justify-content: center;
}

/* =========================================
   RECAPTCHA
========================================= */

.g-recaptcha
{
    transform-origin:
        center !important;
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 991px)
{
    .tpp-contact-form-shell
    {
        padding:
            30px 24px;
    }

    .tpp-contact-form-shell .form-control
    {
        height: 60px;

        font-size: 15px !important;
    }

    .tpp-contact-form-shell textarea.form-control
    {
        min-height: 160px;
    }

    .tpp-contact-form-shell button[type="submit"]
    {
        width: 100%;
    }
}

/* =========================================
   FORM HEADER
========================================= */

.tpp-contact-form-header
{
    text-align: center;

    margin-bottom: 42px;
}

/* BADGE */

.tpp-contact-form-badge
{
    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding:
        12px 18px;

    border-radius: 999px;

    background:
        rgba(37,99,235,0.08);

    color: #2563eb;

    font-size: 14px;

    font-weight: 700;

    margin-bottom: 24px;
}

/* TITLE */

.tpp-contact-form-header h2
{
    font-size:
        clamp(34px,4vw,54px);

    font-weight: 900;

    line-height: 1.1;

    letter-spacing: -2px;

    margin-bottom: 18px;

    background:
        linear-gradient(
            135deg,
            #0f172a,
            #2563eb,
            #7c3aed
        );

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;
}

/* SUBTEXT */

.tpp-contact-form-header p
{
    max-width: 680px;

    margin:
        0 auto;

    font-size: 17px;

    line-height: 1.9;

    color: #64748b;
}

/* =========================================
   LABELS
========================================= */

.tpp-contact-form-shell label
{
    display: block;

    margin-bottom: 12px;

    font-size: 15px;

    font-weight: 700;

    color: #0f172a;
}

/* REQUIRED STAR */

.tpp-contact-form-shell label::after
{
    content: ' *';

    color: #ef4444;
}

/* =========================================
   FORM SPACING
========================================= */

.tpp-contact-form-shell .form-group
{
    margin-bottom: 26px !important;
}



/* =========================================
   FLOATING FIELDS
========================================= */

.tpp-floating-field
{
    position: relative;
}

/* INPUT */

.tpp-floating-field .form-control
{
    height: 72px;

    border-radius: 22px !important;

    padding:
        26px 22px 10px !important;

    background:
        rgba(255,255,255,0.82) !important;

    border:
        1px solid rgba(15,23,42,0.08) !important;

    font-size: 16px !important;

    color: #0f172a !important;

    transition:
        border .3s ease,
        box-shadow .3s ease,
        transform .3s ease;
}

/* TEXTAREA */

.tpp-floating-field textarea.form-control
{
    min-height: 180px;

    padding-top: 34px !important;

    resize: none;
}

/* LABEL */

.tpp-floating-field label
{
    position: absolute;

    left: 22px;
    top: 50%;

    transform:
        translateY(-50%);

    padding:
        0 8px;

    background:
        rgba(255,255,255,0.94);

    color: #94a3b8;

    font-size: 16px;

    font-weight: 600;

    pointer-events: none;

    transition:
        all .25s ease;
}

/* TEXTAREA LABEL */

.tpp-floating-field textarea + label
{
    top: 34px;

    transform: none;
}

/* FLOAT ACTIVE */

.tpp-floating-field .form-control:focus + label,
.tpp-floating-field .form-control:not(:placeholder-shown) + label
{
    top: 0;

    transform:
        translateY(-50%);

    font-size: 13px;

    font-weight: 700;

    color: #2563eb;
}

/* FOCUS */

.tpp-floating-field .form-control:focus
{
    border-color:
        rgba(37,99,235,0.45) !important;

    box-shadow:
        0 0 0 5px rgba(37,99,235,0.10) !important;

    transform:
        translateY(-2px);
}

/* MOBILE */

@media (max-width: 991px)
{
    .tpp-floating-field .form-control
    {
        height: 64px;
    }

    .tpp-floating-field label
    {
        font-size: 15px;
    }
}

/* SUBTLE DROPDOWN ARROW */

.navbar .dropdown-toggle::after
{
    opacity: 0.08;

    transform:
        scale(0.45)
        translateY(1px);

    margin-left: 6px;

    transition:
        opacity .3s ease,
        transform .3s ease;
}

/* HOVER */

.navbar .dropdown-toggle:hover::after
{
    opacity: 0.22;

    transform:
        scale(0.55)
        translateY(1px);
}

.tpp-dropdown-menu .dropdown-item 
{
    display: block;
    width: 100%;
    padding: 12px 16px;
}

.wc-block-grid__product-add-to-cart a
{
    color: #fff;
}

.wc-block-grid__product-add-to-cart a:hover
{
    color: #d7e0e9;
}


/* =========================================================
   MODERN LIGHT FUTURISTIC PRODUCT PAGE
   ONLY SINGLE PRODUCT PAGE
========================================================= */

.single-product .product.type-product {
    background: linear-gradient(145deg, #ffffff 0%, #f4f7fb 100%);
    border-radius: 30px;
    padding: 40px;
    margin: 40px auto;
    max-width: 1400px;
    box-shadow:
        0 10px 40px rgba(15, 23, 42, 0.08),
        0 2px 10px rgba(15, 23, 42, 0.04);
    overflow: hidden;
    position: relative;
}

/* Soft futuristic glow */
.single-product .product.type-product::before {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    background:
        radial-gradient(circle,
        rgba(59,130,246,0.08),
        transparent 70%);
    top: -220px;
    right: -120px;
    pointer-events: none;
}

/* =========================================
   LAYOUT
========================================= */

.single-product div.product {
    display: grid;
    grid-template-columns: 420px 1fr;
    gap: 50px;
    align-items: start;
}

/* =========================================
   GALLERY
========================================= */

.single-product .woocommerce-product-gallery {
    background: #fff;
    border-radius: 26px;
    padding: 28px;
    border: 1px solid #e8edf5;
    box-shadow:
        0 8px 24px rgba(15, 23, 42, 0.06);
    position: sticky;
    top: 100px;
}

.single-product .woocommerce-product-gallery img {
    border-radius: 18px;
    width: 100%;
    object-fit: contain;
    transition: transform .35s ease;
}

.single-product .woocommerce-product-gallery:hover img {
    transform: scale(1.03);
}

.single-product .woocommerce-product-gallery__trigger {
    background: rgba(255,255,255,0.95);
    border-radius: 50%;
    box-shadow: 0 5px 18px rgba(0,0,0,0.08);
}

/* =========================================
   SUMMARY
========================================= */

.single-product .summary.entry-summary {
    background: #fff;
    border-radius: 30px;
    padding: 40px;
    border: 1px solid #e8edf5;
    box-shadow:
        0 10px 30px rgba(15,23,42,0.05);
}

/* Product Title */
.single-product .product_title {
    font-size: 2rem !important;
    line-height: 1.35;
    font-weight: 700;
    color: #0f172a !important;
    margin-bottom: 20px;
    letter-spacing: -0.5px;
}

/* Price */
.single-product .price {
    margin-bottom: 28px !important;
}

.single-product .price .amount {
    font-size: 2.4rem;
    font-weight: 800;
    background: linear-gradient(
        90deg,
        #2563eb,
        #7c3aed
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* =========================================
   DESCRIPTION BOX
========================================= */

.single-product .woocommerce-product-details__short-description {
    background: linear-gradient(
        145deg,
        #f8fbff,
        #f1f5f9
    );
    border-radius: 24px;
    padding: 28px;
    margin-bottom: 35px;
    border: 1px solid #e2e8f0;
}

.single-product .woocommerce-product-details__short-description p {
    margin-bottom: 18px;
    color: #475569;
    line-height: 1.8;
    font-size: 15px;
}

.single-product .woocommerce-product-details__short-description strong {
    color: #2563eb;
    font-weight: 700;
}

/* =========================================
   HIDE QUANTITY
========================================= */

.single-product .quantity {
    display: none !important;
}

/* =========================================
   BUTTON
========================================= */

.single-product .single_add_to_cart_button {
    width: 100%;
    border: none !important;
    border-radius: 18px !important;
    padding: 18px 24px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    background:
        linear-gradient(
            135deg,
            #2563eb 0%,
            #4f46e5 50%,
            #7c3aed 100%
        ) !important;
    color: #fff !important;
    transition: all .35s ease !important;
    box-shadow:
        0 10px 25px rgba(37,99,235,.22);
}

.single-product .single_add_to_cart_button:hover {
    transform: translateY(-3px);
    box-shadow:
        0 18px 40px rgba(79,70,229,.25);
}

/* =========================================
   REMOVE UNNECESSARY ELEMENTS
========================================= */

.single-product .product_meta,
.single-product .related.products,
.single-product .woocommerce-tabs {
    display: none !important;
}

/* Remove duplicate title */
.single-product .entry-header {
    display: none;
}

/* =========================================
   FUTURISTIC LABEL STYLE
========================================= */

.single-product .woocommerce-product-details__short-description strong::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    background: #3b82f6;
    border-radius: 50%;
    margin-left: 8px;
    vertical-align: middle;
}

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

@media (max-width: 991px) {

    .single-product div.product {
        grid-template-columns: 1fr;
    }

    .single-product .woocommerce-product-gallery {
        position: relative;
        top: auto;
    }

    .single-product .summary.entry-summary {
        padding: 28px;
    }

    .single-product .product_title {
        font-size: 1.5rem !important;
    }

    .single-product .price .amount {
        font-size: 1.9rem;
    }

    .single-product .product.type-product {
        padding: 20px;
        border-radius: 22px;
    }
}

.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary 
{
    width: 100%;
}


.woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images
{
    width: 100%;
}




/* Kill WooCommerce fixed widths */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

/* Modern responsive grid */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 32px;

    padding: 0;
    margin: 40px 0;
}

/* Product card */
.woocommerce ul.products li.product {
    background: #fff;
    border-radius: 28px;
    overflow: hidden;

    border: 1px solid #edf2f7;

    box-shadow:
        0 8px 30px rgba(15,23,42,0.05);

    transition: all .35s ease;

    display: flex;
    flex-direction: column;

    min-width: 0;
}

/* Hover */
.woocommerce ul.products li.product:hover {
    transform: translateY(-8px);

    box-shadow:
        0 20px 50px rgba(15,23,42,0.10);
}

/* Image */
.woocommerce ul.products li.product img {
    width: 100%;
    height: 240px;

    object-fit: contain;

    padding: 35px;

    background:
        linear-gradient(
            145deg,
            #f8fbff,
            #eef4ff
        );

    margin: 0 !important;
}

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    padding: 24px;
    font-size: 1rem;
    line-height: 1.6;
    font-weight: 700;

    color: #0f172a;

    word-break: break-word;
}

/* Price */
.woocommerce ul.products li.product .price {
    padding: 0 24px;
    margin-bottom: 20px !important;
}

.woocommerce ul.products li.product .price .amount {
    font-size: 1.5rem;
    font-weight: 800;
    color: #2563eb;
}

/* Button */
.woocommerce ul.products li.product .button {
    margin: auto 24px 24px !important;

    width: calc(100% - 48px);

    border-radius: 16px !important;
    border: none !important;

    padding: 15px 20px !important;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #7c3aed
        ) !important;

    color: #fff !important;

    font-weight: 700 !important;
}

/* Mobile */
@media (max-width: 768px) {

    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: 1fr;
    }

}

h2 ~ .wp-block-product-new {
    display: none !important;
}




/* Always keep form on left */
.wc-block-checkout__main {
    order: 1 !important;
}

/* Always keep summary on right */
.wc-block-checkout__sidebar {
    order: 2 !important;
}

/* Desktop */
.wc-block-components-sidebar-layout 
{
    /* display: flex !important; */
    /* flex-direction: row !important; */
    /* gap: 32px; */
}

/* Mobile */
@media (max-width: 991px) 
{
    .wc-block-components-sidebar-layout 
    {
        flex-direction: column !important;
    }
}
