/*====================================================
THE BOMBAY LIP CO.
Luxury Responsive Website
====================================================*/

/* Google Fonts */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Poppins:wght@300;400;500;600&display=swap');

/*====================================================
ROOT
====================================================*/

:root{

--primary:#B26A84;
--primary-dark:#97546C;
--cream:#FFFCFA;
--blush:#FAF4F5;
--white:#ffffff;
--text:#2C2628;
--grey:#6F6B6D;
--gold:#C8A96A;
--border:#EFE6E8;

--shadow:
0 18px 45px rgba(0,0,0,.08);

--shadow-hover:
0 28px 70px rgba(0,0,0,.12);

--radius:26px;

--transition:.35s ease;

}

/*====================================================
RESET
====================================================*/

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Poppins',sans-serif;

background:var(--cream);

color:var(--text);

overflow-x:hidden;

line-height:1.8;

}

img{

display:block;

max-width:100%;

height:auto;

}

a{

text-decoration:none;

color:inherit;

}

button{

font-family:inherit;

cursor:pointer;

border:none;

background:none;

}

ul{

list-style:none;

}

/*====================================================
CONTAINER
====================================================*/

.container{

width:min(1220px,92%);

margin:auto;

}

/*====================================================
GLOBAL SPACING
====================================================*/

section{

padding:110px 0;

}

section:first-of-type{

padding-top:150px;

}

/*====================================================
TYPOGRAPHY
====================================================*/

h1,
h2,
h3,
h4{

font-family:'Cormorant Garamond',serif;

font-weight:600;

color:var(--text);

}

h1{

font-size:72px;

line-height:1.05;

margin-bottom:28px;

}

h2{

font-size:56px;

line-height:1.15;

margin-bottom:18px;

}

h3{

font-size:32px;

}

p{

font-size:17px;

color:var(--grey);

}

.small-heading{

display:inline-block;

font-size:12px;

letter-spacing:4px;

font-weight:600;

text-transform:uppercase;

color:var(--primary);

margin-bottom:18px;

}

.section-title{

text-align:center;

margin-bottom:70px;

}

.section-title p{

font-size:12px;

letter-spacing:4px;

font-weight:600;

text-transform:uppercase;

color:var(--primary);

margin-bottom:12px;

}

/*====================================================
PRELOADER
====================================================*/

#preloader{

position:fixed;

inset:0;

display:flex;

justify-content:center;

align-items:center;

background:white;

z-index:999999;

transition:.5s;

}

#preloader img{

width:170px;

animation:pulse 2s infinite;

}

@keyframes pulse{

0%{

transform:scale(.95);

opacity:.5;

}

50%{

transform:scale(1);

opacity:1;

}

100%{

transform:scale(.95);

opacity:.5;

}

}

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

header{

position:fixed;

top:0;

left:0;

width:100%;

background:rgba(255,255,255,.88);

backdrop-filter:blur(18px);

border-bottom:1px solid rgba(0,0,0,.05);

z-index:9999;

transition:var(--transition);

}

header .container{

height:88px;

display:flex;

justify-content:space-between;

align-items:center;

}

.logo img{

height:58px;

transition:.35s;

}

.logo:hover img{

transform:scale(1.04);

}

/*====================================================
NAVIGATION
====================================================*/

nav{

display:flex;

align-items:center;

gap:38px;

}

nav a{

font-size:15px;

font-weight:500;

position:relative;

transition:.3s;

}

nav a:hover{

color:var(--primary);

}

nav a::after{

content:"";

position:absolute;

left:0;

bottom:-8px;

width:0;

height:2px;

background:var(--primary);

transition:.35s;

}

nav a:hover::after{

width:100%;

}

/*====================================================
HAMBURGER
====================================================*/

#menu-btn{

display:none;

width:46px;

height:46px;

}

#menu-btn span{

display:block;

width:28px;

height:2px;

margin:6px auto;

background:var(--text);

transition:.35s;

}

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

.mobile-menu{

position:fixed;

top:0;

right:-100%;

width:320px;

height:100vh;

padding:110px 45px;

background:white;

display:flex;

flex-direction:column;

gap:28px;

box-shadow:-20px 0 60px rgba(0,0,0,.08);

transition:.45s;

z-index:9998;

}

.mobile-menu.active{

right:0;

}

.mobile-menu a{

font-size:18px;

font-weight:500;

}

/*====================================================
BUTTONS
====================================================*/

.btn,
.btn-outline{

display:inline-flex;

justify-content:center;

align-items:center;

height:58px;

padding:0 34px;

border-radius:999px;

font-size:15px;

font-weight:600;

transition:.35s;

}

.btn{

background:var(--primary);

color:white;

box-shadow:

0 14px 35px rgba(178,106,132,.28);

}

.btn:hover{

background:var(--primary-dark);

transform:translateY(-4px);

}

.btn-outline{

border:2px solid var(--primary);

color:var(--primary);

background:white;

}

.btn-outline:hover{

background:var(--primary);

color:white;

}

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

.hero{

background:

linear-gradient(

180deg,

#FFFDFC,

#FFF6F8

);

}

.hero-grid{

display:grid;

grid-template-columns:

1.05fr

0.95fr;

gap:70px;

align-items:center;

}

.hero-content{

max-width:570px;

}

.hero-content p{

margin-bottom:18px;

}

.hero-buttons{

display:flex;

gap:18px;

margin-top:40px;

flex-wrap:wrap;

}

.hero-image{

display:flex;

justify-content:center;

align-items:center;

}

.hero-image img{

width:100%;

max-width:470px;

padding:24px;

background:white;

border-radius:34px;

box-shadow:var(--shadow);

transition:.45s;

}

.hero-image img:hover{

transform:

translateY(-8px)

scale(1.02);

box-shadow:var(--shadow-hover);

}/*====================================================
FEATURE STRIP
====================================================*/

.feature-strip{

background:var(--white);

padding:90px 0;

}

.feature-strip .container{

display:grid;

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

gap:30px;

}

.feature-box{

background:var(--blush);

padding:45px 35px;

border-radius:var(--radius);

text-align:center;

transition:var(--transition);

border:1px solid transparent;

}

.feature-box:hover{

transform:translateY(-8px);

box-shadow:var(--shadow);

border-color:var(--border);

}

.feature-box h3{

margin-bottom:15px;

font-size:30px;

}

.feature-box p{

font-size:15px;

line-height:1.8;

}


/*====================================================
COLLECTION
====================================================*/

#collection{

background:white;

}

.products{

display:grid;

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

gap:38px;

align-items:stretch;

}


/*====================================================
PRODUCT CARD
====================================================*/

.card{

display:flex;

flex-direction:column;

background:white;

border-radius:32px;

overflow:hidden;

border:1px solid var(--border);

box-shadow:var(--shadow);

transition:.4s;

height:100%;

}

.card:hover{

transform:translateY(-10px);

box-shadow:var(--shadow-hover);

}


/*====================================================
IMAGE CONTAINER
====================================================*/

.card-image{

display:flex;

justify-content:center;

align-items:center;

height:340px;

padding:35px;

background:

linear-gradient(

180deg,

#FFFDFD,

#FFF6F8

);

overflow:hidden;

}

.card-image img{

max-width:100%;

max-height:100%;

object-fit:contain;

transition:.45s;

}

.card:hover .card-image img{

transform:scale(1.06);

}


/*====================================================
CARD CONTENT
====================================================*/

.card-content{

display:flex;

flex-direction:column;

flex:1;

padding:34px;

}

.card-content h3{

font-size:32px;

margin-bottom:18px;

min-height:78px;

}

.card-content p{

font-size:16px;

margin-bottom:30px;

flex:1;

}

.card-content a{

display:inline-flex;

align-items:center;

font-weight:600;

color:var(--primary);

transition:.35s;

}

.card-content a:hover{

letter-spacing:1px;

}


/*====================================================
CUSTOM SECTION
====================================================*/

.custom-section{

background:var(--blush);

}

.custom-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:90px;

align-items:center;

}

.custom-image{

display:flex;

justify-content:center;

}

.custom-image img{

width:100%;

max-width:460px;

background:white;

padding:24px;

border-radius:34px;

box-shadow:var(--shadow);

transition:.45s;

}

.custom-image img:hover{

transform:

translateY(-8px)

scale(1.02);

box-shadow:var(--shadow-hover);

}

.custom-content{

max-width:560px;

}

.custom-content h2{

margin:18px 0 28px;

}

.custom-content p{

margin-bottom:22px;

}

.custom-content .btn{

margin-top:18px;

}


/*====================================================
WHY CHOOSE US
====================================================*/

.why-us{

background:white;

}

.why-grid{

display:grid;

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

gap:30px;

}

.why-card{

background:var(--blush);

padding:42px 32px;

border-radius:30px;

transition:.35s;

border:1px solid transparent;

}

.why-card:hover{

transform:translateY(-8px);

border-color:var(--border);

box-shadow:var(--shadow);

}

.number{

font-family:'Cormorant Garamond',serif;

font-size:60px;

color:var(--primary);

margin-bottom:18px;

line-height:1;

}

.why-card h3{

margin-bottom:18px;

font-size:30px;

}

.why-card p{

font-size:15px;

line-height:1.8;

}


/*====================================================
FOUNDER
====================================================*/

.founder{

background:

linear-gradient(

180deg,

#FFFDFC,

#FFF7F8

);

}

.founder-grid{

display:grid;

grid-template-columns:430px 1fr;

gap:90px;

align-items:center;

}

.founder-image{

display:flex;

justify-content:center;

}

.founder-image img{

width:100%;

max-width:430px;

padding:18px;

background:white;

border-radius:36px;

box-shadow:var(--shadow);

transition:.45s;

}

.founder-image img:hover{

transform:

translateY(-8px)

scale(1.02);

box-shadow:var(--shadow-hover);

}

.founder-content{

max-width:650px;

}

.founder-content h2{

margin:18px 0 28px;

}

.founder-content p{

margin-bottom:22px;

}

.founder-content .btn{

margin-top:18px;

}


/*====================================================
QUOTE
====================================================*/

.brand-quote{

background:#2E2428;

padding:130px 0;

}

.brand-quote h2{

max-width:900px;

margin:auto;

text-align:center;

font-size:54px;

line-height:1.4;

font-weight:500;

color:white;

}/*====================================================
TESTIMONIALS
====================================================*/

.testimonials{

background:var(--white);

}

.testimonial-grid{

display:grid;

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

gap:35px;

}

.testimonial{

display:flex;

flex-direction:column;

justify-content:space-between;

background:var(--blush);

padding:42px 36px;

border-radius:30px;

border-top:4px solid var(--primary);

box-shadow:var(--shadow);

transition:.35s;

min-height:320px;

}

.testimonial:hover{

transform:translateY(-8px);

box-shadow:var(--shadow-hover);

}

.testimonial p{

margin:25px 0;

font-style:italic;

flex:1;

}

.testimonial h4{

font-family:'Poppins',sans-serif;

font-size:15px;

font-weight:600;

color:var(--primary);

letter-spacing:.5px;

}


/*====================================================
INSTAGRAM
====================================================*/

.instagram-section{

background:#FFFDFC;

text-align:center;

}

.instagram-wrapper{

max-width:760px;

margin:auto;

}

.instagram-wrapper h2{

margin:18px 0;

}

.instagram-wrapper p{

margin-bottom:40px;

}


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

.faq{

background:var(--blush);

}

.faq-grid{

display:grid;

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

gap:30px;

}

.faq-item{

background:white;

padding:35px;

border-radius:28px;

box-shadow:var(--shadow);

transition:.35s;

cursor:pointer;

}

.faq-item:hover{

transform:translateY(-6px);

}

.faq-item h3{

margin-bottom:16px;

font-size:26px;

}

.faq-item p{

font-size:15px;

}


/*====================================================
CONTACT
====================================================*/

.contact{

background:white;

text-align:center;

}

.contact-text{

max-width:720px;

margin:20px auto 45px;

}

.contact-buttons{

display:flex;

justify-content:center;

gap:18px;

flex-wrap:wrap;

}


/*====================================================
NEWSLETTER
====================================================*/

.newsletter{

background:

linear-gradient(

180deg,

#FFF7F8,

#FFFDFC

);

}

.newsletter-box{

max-width:760px;

margin:auto;

text-align:center;

}

.newsletter-box h2{

margin-bottom:18px;

}

.newsletter-box p{

margin-bottom:35px;

}

.newsletter form{

display:flex;

justify-content:center;

gap:15px;

flex-wrap:wrap;

}

.newsletter input{

width:420px;

height:60px;

padding:0 22px;

border:1px solid var(--border);

border-radius:999px;

font-size:15px;

outline:none;

}

.newsletter input:focus{

border-color:var(--primary);

}

.newsletter button{

height:60px;

padding:0 34px;

background:var(--primary);

color:white;

border:none;

border-radius:999px;

font-weight:600;

transition:.35s;

}

.newsletter button:hover{

background:var(--primary-dark);

}


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

.footer{

background:#2C2327;

padding:90px 0 30px;

color:white;

}

.footer-grid{

display:grid;

grid-template-columns:2fr 1fr 1fr 1fr;

gap:55px;

}

.footer-logo{

width:170px;

margin-bottom:22px;

}

.footer-brand p{

color:#D6D6D6;

max-width:320px;

}

.footer-column h4{

font-size:28px;

margin-bottom:20px;

color:white;

}

.footer-column li{

margin-bottom:15px;

}

.footer-column a{

color:#D6D6D6;

transition:.3s;

}

.footer-column a:hover{

color:white;

padding-left:6px;

}

.footer-bottom{

margin-top:55px;

padding-top:25px;

text-align:center;

border-top:1px solid rgba(255,255,255,.08);

}

.footer-bottom p{

font-size:14px;

color:#CFCFCF;

}


/*====================================================
FLOATING BUTTONS
====================================================*/

.whatsapp{

position:fixed;

right:22px;

bottom:22px;

width:62px;

height:62px;

z-index:999;

transition:.35s;

}

.whatsapp img{

width:100%;

height:100%;

border-radius:50%;

box-shadow:0 18px 45px rgba(0,0,0,.25);

}

.whatsapp:hover{

transform:scale(1.08);

}

#topBtn{

position:fixed;

left:22px;

bottom:22px;

width:52px;

height:52px;

border-radius:50%;

background:var(--primary);

color:white;

font-size:22px;

border:none;

cursor:pointer;

box-shadow:var(--shadow);

transition:.35s;

}

#topBtn:hover{

background:var(--primary-dark);

transform:translateY(-4px);

}


/*====================================================
SCROLL ANIMATION
====================================================*/

.card,
.feature-box,
.why-card,
.testimonial,
.faq-item{

opacity:0;

transform:translateY(40px);

transition:.8s;

}

.show{

opacity:1;

transform:translateY(0);

}


/*====================================================
TEXT SELECTION
====================================================*/

::selection{

background:var(--primary);

color:white;

}


/*====================================================
SCROLLBAR
====================================================*/

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-thumb{

background:var(--primary);

border-radius:20px;

}

::-webkit-scrollbar-track{

background:#FFF7F8;

}


/*====================================================
TABLET
====================================================*/

@media(max-width:1100px){

.hero-grid,
.custom-grid,
.founder-grid{

grid-template-columns:1fr;

text-align:center;

gap:60px;

}

.hero-content,
.custom-content,
.founder-content{

max-width:100%;

margin:auto;

}

.products{

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

}

.why-grid{

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

}

.testimonial-grid{

grid-template-columns:1fr;

}

.faq-grid{

grid-template-columns:1fr;

}

.footer-grid{

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

}

}


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

@media(max-width:768px){

section{

padding:80px 0;

}

header .container{

height:80px;

}

.logo img{

height:50px;

}

nav{

display:none;

}

#menu-btn{

display:block;

}

.mobile-menu{

width:100%;

padding:100px 35px;

}

.hero-grid,
.custom-grid,
.founder-grid{

display:flex;

flex-direction:column;

gap:45px;

text-align:center;

}

.hero-grid{

flex-direction:column-reverse;

}

h1{

font-size:44px;

}

h2{

font-size:38px;

}

.products,
.why-grid,
.feature-strip .container,
.footer-grid{

grid-template-columns:1fr;

}

.card-image{

height:300px;

padding:25px;

}

.hero-image img,
.custom-image img,
.founder-image img{

max-width:340px;

}

.hero-buttons,
.contact-buttons{

flex-direction:column;

align-items:center;

}

.btn,
.btn-outline{

width:260px;

}

.newsletter form{

flex-direction:column;

align-items:center;

}

.newsletter input{

width:100%;

max-width:340px;

}

.newsletter button{

width:220px;

}

.footer{

text-align:center;

}

.footer-brand{

display:flex;

flex-direction:column;

align-items:center;

}

.footer-brand p{

margin:auto;

}

.whatsapp{

width:56px;

height:56px;

right:18px;

bottom:18px;

}

#topBtn{

width:48px;

height:48px;

left:18px;

bottom:18px;

}

}


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

@media(max-width:480px){

.container{

width:92%;

}

h1{

font-size:36px;

}

h2{

font-size:30px;

}

h3{

font-size:26px;

}

p{

font-size:15px;

}

.card-content{

padding:28px;

}

.card-image{

height:260px;

}

.hero-image img,
.custom-image img{

max-width:300px;

}

.founder-image img{

max-width:260px;

}

}


/*====================================================
HAMBURGER
====================================================*/

#menu-btn.active span:nth-child(1){

transform:translateY(8px) rotate(45deg);

}

#menu-btn.active span:nth-child(2){

opacity:0;

}

#menu-btn.active span:nth-child(3){

transform:translateY(-8px) rotate(-45deg);

}/*==========================
WHATSAPP POPUP
==========================*/

.popup-overlay{

position:fixed;

inset:0;

background:rgba(0,0,0,.55);

display:flex;

justify-content:center;

align-items:center;

opacity:0;

visibility:hidden;

transition:.35s;

z-index:999999;

}

.popup-overlay.active{

opacity:1;

visibility:visible;

}

.popup{

background:white;

width:min(420px,92%);

padding:45px 35px;

border-radius:30px;

text-align:center;

position:relative;

animation:popup .35s;

}

@keyframes popup{

from{

transform:translateY(20px);

opacity:0;

}

to{

transform:translateY(0);

opacity:1;

}

}

.popup h2{

margin-bottom:15px;

}

.popup p{

margin-bottom:30px;

}

.popup-close{

position:absolute;

top:15px;

right:20px;

font-size:28px;

background:none;

border:none;

cursor:pointer;

}/*==================================
BEYOND BEAUTY
==================================*/

.beyond-beauty{

background:#fff;

padding:100px 0;

text-align:center;

}

.beyond-beauty h2{

max-width:760px;

margin:15px auto 25px;

}

.beyond-text{

max-width:900px;

margin:auto;

font-size:20px;

line-height:2;

color:var(--grey);

}

.beyond-btn{

margin-top:45px;

}

@media(max-width:768px){

.beyond-text{

font-size:17px;

line-height:1.9;

padding:0 10px;

}

}