/* =========================================
   RESET
========================================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:#fff8f4;
    color:#2b2b2b;
    overflow-x:hidden;
    position:relative;
}

img{
    width:100%;
    display:block;
}

a{
    text-decoration:none;
}

ul{
    list-style:none;
}

.container{
    width:92%;
    max-width:1400px;
    margin:auto;
}



/* =========================================
   ALPONA
========================================= */

.alpona-top-left,
.alpona-top-right{
    position:absolute;
    top:0;
    width:180px;
    z-index:2;
    pointer-events:none;
}

.alpona-top-left{
    left:0;
}

.alpona-top-right{
    right:0;
    transform:scaleX(-1);
}

.alpona-top-left img,
.alpona-top-right img{
    width:100%;
}

.alpona-divider{
    width:160px;
    margin:0 auto 14px;
}

.alpona-divider img{
    width:100%;
}

.form-alpona{
    width:120px;
    margin:0 auto 18px;
}

.form-alpona img{
    width:100%;
}



/* =========================================
   HEADER
========================================= */
/* =========================================
   PREMIUM GLASS NAVBAR
========================================= */

.header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:9999;

    padding:14px 0;

    background:rgba(255,255,255,.14);

    backdrop-filter:blur(14px);

    -webkit-backdrop-filter:blur(14px);

    border-bottom:
    1px solid rgba(255,255,255,.18);

    box-shadow:
    0 8px 30px rgba(0,0,0,.05);

    transition:.4s ease;
}



/* SCROLL EFFECT */

.header.scrolled{

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(18px);

    box-shadow:
    0 10px 35px rgba(0,0,0,.08);

    padding:10px 0;
}



/* NAVBAR */

.navbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
}



/* =========================================
   LOGO
========================================= */

.logo-area{
    display:flex;
    align-items:center;
    gap:12px;

    padding-left:60px;
}

.logo{
    width:56px;
}

.logo-text h2{
    font-family:'Cinzel',serif;
    font-size:30px;
    color:#8b0027;
    line-height:1;
}

.logo-text p{
    margin-top:3px;
    font-size:11px;
    color:#666;
}



/* =========================================
   MENU
========================================= */

.menu{
    display:flex;
    align-items:center;
    gap:28px;
}

.menu li a{
    position:relative;
    color:#3a3a3a;
    font-size:14px;
    font-weight:500;
    transition:.3s ease;
}



/* MENU HOVER */

.menu li a::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-6px;

    width:0;
    height:2px;

    background:#c60b45;

    transition:.35s;
}

.menu li a:hover{
    color:#97002c;
}

.menu li a:hover::after,
.menu li a.active::after{
    width:100%;
}



/* =========================================
   REGISTER BUTTON
========================================= */

.register-btn{
    position:relative;

    background:
    linear-gradient(to right,#8b0027,#c60b45);

    color:#fff;

    padding:11px 24px;

    border-radius:50px;

    font-size:13px;
    font-weight:600;

    transition:.35s ease;

    box-shadow:
    0 10px 25px rgba(151,0,44,.18);
}

.register-btn:hover{
    transform:translateY(-3px);
}



/* BUTTON ALPONA */

.register-btn::before,
.register-btn::after{

    content:'';

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:18px;
    height:18px;

    background:url('images/alpona-btn.png');

    background-size:contain;
    background-repeat:no-repeat;

    opacity:.85;
}

.register-btn::before{
    left:-8px;
}

.register-btn::after{
    right:-8px;
    transform:translateY(-50%) scaleX(-1);
}


/* =========================================
   HERO SECTION
========================================= */

.hero-section{
    position:relative;
    overflow:hidden;
    padding:60px 0 90px;
}

.hero-section::before{
    content:'';
    position:absolute;
    inset:0;
    background:
    linear-gradient(rgba(255,248,244,.94),
    rgba(255,248,244,.94)),
    url('images/bg-pattern.jpg');
    background-size:cover;
    background-position:center;
    z-index:-1;
}

.hero-grid{
    display:grid;
    grid-template-columns:1fr 1fr 420px;
    align-items:center;
    gap:25px;
}



/* =========================================
   HERO CONTENT
========================================= */

.hero-content{
    position:relative;
    z-index:2;
}

.mini-title{
    display:flex;
    align-items:center;
    gap:6px;
    color:#b21d45;
    text-transform:uppercase;
    font-size:14px;
    font-weight:600;
    letter-spacing:1px;
}

.mini-title::before,
.mini-title::after{
    content:'';
    width:40px;
    height:2px;
    background:#d4a037;
}

.hero-content h1{
    margin-top:22px;
    font-family:'Cinzel',serif;
    font-size:55px;
    line-height:.95;
    letter-spacing:-2px;
    color:#7d0022;
}

.hero-content h1 span{
    color:#d4a037;
}

.hero-content h1 strong{
    color:#97002c;
}

.hero-content p{
    margin-top:28px;
    max-width:540px;
    color:#666;
    line-height:1.9;
}



/* =========================================
   HERO BUTTONS
========================================= */

.hero-buttons{
    display:flex;
    gap:18px;
    margin-top:38px;
}

.primary-btn{
    background:linear-gradient(to right,#8b0027,#c60b45);
    color:#fff;
    padding:17px 34px;
    border-radius:50px;
    font-weight:600;
    transition:.35s;
    box-shadow:0 10px 25px rgba(151,0,44,.15);
}

.primary-btn:hover{
    transform:translateY(-4px);
}

.secondary-btn{
    border:2px solid #d4a037;
    color:#d4a037;
    padding:16px 34px;
    border-radius:50px;
    font-weight:600;
    background:#fff;
}



/* =========================================
   HERO IMAGE
========================================= */

.hero-image-box{
    text-align:center;
    position:relative;
}

.hero-image{
    max-width:650px;
    margin:auto;
}

/* =========================================
   REGISTER FORM
========================================= */

.register-card{
    background:#fff;
    padding:42px;
    border-radius:34px;
    position:relative;
    z-index:2;
    box-shadow:
    0 15px 40px rgba(0,0,0,.06),
    0 5px 15px rgba(212,154,45,.08);
}

.register-card h3{
    text-align:center;
    font-family:'Cinzel',serif;
    color:#97002c;
    font-size:38px;
    margin-bottom:30px;
}

.register-card form{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.register-card input,
.register-card select{
    width:100%;
    height:60px;
    border:1px solid #eadada;
    border-radius:16px;
    padding:0 20px;
    outline:none;
    font-size:15px;
    background:#fff;
    transition:.3s;
}

.register-card input:focus,
.register-card select:focus{
    border-color:#d4a037;
}

.register-card button{
    height:62px;
    border:none;
    border-radius:50px;
    background:linear-gradient(to right,#8b0027,#c60b45);
    color:#fff;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:.35s;
}

.register-card button:hover{
    transform:translateY(-4px);
}

.register-card small{
    display:block;
    text-align:center;
    margin-top:20px;
    color:#777;
}



/* =========================================
   SEARCH BOX
========================================= */

.search-container{
    margin-top:40px;
}

.search-box{
    background:#fff;
    border-radius:34px;
    padding:35px;
    position:relative;
    z-index:5;
    box-shadow:
    0 15px 40px rgba(0,0,0,.06),
    0 5px 15px rgba(212,154,45,.08);
}

.search-title{
    text-align:center;
    margin-bottom:28px;
}

.search-title h3{
    font-family:'Cinzel',serif;
    color:#97002c;
    font-size:34px;
}

.search-fields{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:18px;
}

.search-fields select{
    height:58px;
    border:1px solid #eadada;
    border-radius:16px;
    padding:0 18px;
    outline:none;
    background:#fff;
    transition:.3s;
}

.search-fields select:focus{
    border-color:#d4a037;
}

.search-fields button{
    border:none;
    border-radius:16px;
    background:linear-gradient(to right,#8b0027,#c60b45);
    color:#fff;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:.35s;
}

.search-fields button:hover{
    transform:translateY(-3px);
}



/* =========================================
   STATS SECTION
========================================= */

.stats-section{
    padding:90px 0;
}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.stat-box{
    background:#fff;
    border-radius:26px;
    padding:30px;
    display:flex;
    align-items:center;
    gap:20px;
    transition:.35s;
    box-shadow:
    0 15px 40px rgba(0,0,0,.06),
    0 5px 15px rgba(212,154,45,.08);
}

.stat-box:hover{
    transform:translateY(-8px);
}

.stat-box img{
    width:65px;
}

.stat-box h3{
    font-size:42px;
    color:#97002c;
}

.stat-box p{
    margin-top:4px;
    color:#666;
}



/* =========================================
   SECTION TITLE
========================================= */

.section-title{
    text-align:center;
    margin-bottom:60px;
}

.section-title span{
    color:#d4a037;
    text-transform:uppercase;
    font-weight:600;
    letter-spacing:2px;
    font-size:14px;
}

.section-title h2{
    margin-top:10px;
    font-family:'Cinzel',serif;
    color:#7d0022;
    font-size:56px;
}



/* =========================================
   MEMBERSHIP SECTION
========================================= */

.membership-section{
    padding:90px 0;
}

.membership-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
}



/* =========================================
   MEMBERSHIP CARD
========================================= */

.plan-card{
    background:#fff;
    border-radius:34px;
    padding:50px;
    position:relative;
    text-align:center;
    transition:.4s;
    overflow:hidden;
    box-shadow:
    0 15px 40px rgba(0,0,0,.06),
    0 5px 15px rgba(212,154,45,.08);
}

.plan-card:hover{
    transform:translateY(-10px);
}

.active-plan{
    border:3px solid #d4a037;
}

.tag{
    position:absolute;
    top:-15px;
    left:50%;
    transform:translateX(-50%);
    background:#d4a037;
    color:#fff;
    padding:10px 22px;
    border-radius:50px;
    font-size:14px;
    font-weight:600;
}

.plan-card h3{
    font-family:'Cinzel',serif;
    font-size:42px;
    color:#97002c;
}

.price{
    margin:20px 0;
    font-size:56px;
    font-weight:700;
    color:#a10031;
}

.plan-card ul{
    margin-top:20px;
}

.plan-card ul li{
    margin:16px 0;
    color:#666;
    font-size:15px;
}

.plan-card a{
    display:inline-block;
    margin-top:28px;
    background:linear-gradient(to right,#8b0027,#c60b45);
    color:#fff;
    padding:16px 38px;
    border-radius:50px;
    font-weight:600;
    transition:.35s;
}

.plan-card a:hover{
    transform:translateY(-4px);
}


/* =========================================
   WHY SECTION
========================================= */

.why-section{
    padding:100px 0;
    position:relative;
}

.why-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
}



/* =========================================
   WHY IMAGE
========================================= */

.why-image{
    position:relative;
}

.why-image img{
    border-radius:34px;
    height:560px;
    object-fit:cover;
    box-shadow:
    0 15px 40px rgba(0,0,0,.08),
    0 5px 15px rgba(212,154,45,.08);
}

.play-btn{
    width:95px;
    height:95px;
    background:#fff;
    border-radius:50%;
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:34px;
    color:#97002c;
    cursor:pointer;
    box-shadow:0 10px 30px rgba(0,0,0,.2);
}



/* =========================================
   WHY CONTENT
========================================= */

.sub-heading{
    color:#d4a037;
    text-transform:uppercase;
    font-weight:600;
    letter-spacing:2px;
    font-size:14px;
}

.why-content h2{
    margin-top:16px;
    font-family:'Cinzel',serif;
    font-size:58px;
    line-height:1.1;
    color:#7d0022;
}

.why-content p{
    margin-top:24px;
    color:#666;
    line-height:1.9;
}



/* =========================================
   WHY LIST
========================================= */

.why-list{
    margin-top:40px;
}

.why-item{
    display:flex;
    gap:20px;
    margin-bottom:30px;
    align-items:flex-start;
}

.why-item img{
    width:65px;
}

.why-item h4{
    color:#97002c;
    margin-bottom:8px;
    font-size:22px;
}

.why-item p{
    margin-top:0;
}



/* =========================================
   GALLERY SECTION
========================================= */

.gallery-section{
    padding:100px 0;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.gallery-grid img{
    border-radius:28px;
    height:340px;
    object-fit:cover;
    cursor:pointer;
    transition:.4s;
    box-shadow:
    0 10px 25px rgba(0,0,0,.06),
    0 5px 15px rgba(212,154,45,.06);
}

.gallery-grid img:hover{
    transform:translateY(-8px) scale(1.02);
}



/* =========================================
   STORY SECTION
========================================= */

.story-section{
    padding:100px 0;
}

.story-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
}



/* =========================================
   STORY CARD
========================================= */

.story-card{
    background:#fff;
    border-radius:34px;
    padding:45px;
    text-align:center;
    transition:.4s;
    box-shadow:
    0 15px 40px rgba(0,0,0,.06),
    0 5px 15px rgba(212,154,45,.08);
}

.story-card:hover{
    transform:translateY(-10px);
}

.story-card img{
    width:120px;
    height:120px;
    border-radius:50%;
    object-fit:cover;
    margin:auto;
    border:5px solid #f5e2d4;
}

.story-card h4{
    margin-top:22px;
    font-size:26px;
    color:#97002c;
}

.story-card p{
    margin-top:16px;
    line-height:1.8;
    color:#666;
}



/* =========================================
   CTA SECTION
========================================= */

.cta-section{
    position:relative;
    overflow:hidden;
    padding:110px 0;
    background:linear-gradient(to right,#7d0022,#b60f47);
    text-align:center;
}

.cta-section::before{
    content:'';
    position:absolute;
    left:0;
    bottom:0;
    width:260px;
    height:260px;
    background:url('images/alpona-corner.png');
    background-size:contain;
    background-repeat:no-repeat;
    opacity:.15;
}

.cta-section::after{
    content:'';
    position:absolute;
    right:0;
    top:0;
    width:260px;
    height:260px;
    background:url('images/alpona-corner.png');
    background-size:contain;
    background-repeat:no-repeat;
    transform:scaleX(-1);
    opacity:.15;
}



/* =========================================
   CTA CONTENT
========================================= */

.cta-content{
    position:relative;
    z-index:2;
}

.cta-content h2{
    font-family:'Cinzel',serif;
    color:#fff;
    font-size:68px;
    line-height:1.1;
}

.cta-content p{
    margin-top:20px;
    color:#fff;
    font-size:18px;
    line-height:1.8;
}

.cta-content a{
    display:inline-block;
    margin-top:35px;
    background:#fff;
    color:#97002c;
    padding:18px 44px;
    border-radius:50px;
    font-weight:600;
    transition:.35s;
}

.cta-content a:hover{
    transform:translateY(-4px);
}

/* =========================================
   FOOTER
========================================= */

.footer{
    position:relative;
    background:#fff;
    padding:100px 0 70px;
    overflow:hidden;
}

.footer::before{
    content:'';
    position:absolute;
    left:-40px;
    bottom:-40px;
    width:220px;
    height:220px;
    background:url('images/alpona-corner.png');
    background-size:contain;
    background-repeat:no-repeat;
    opacity:.08;
}

.footer::after{
    content:'';
    position:absolute;
    right:-40px;
    top:-40px;
    width:220px;
    height:220px;
    background:url('images/alpona-corner.png');
    background-size:contain;
    background-repeat:no-repeat;
    transform:scaleX(-1);
    opacity:.08;
}



/* =========================================
   FOOTER GRID
========================================= */

.footer-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:45px;
    position:relative;
    z-index:2;
}



/* =========================================
   FOOTER LOGO
========================================= */

.footer-logo{
    width:90px;
    margin-bottom:18px;
}

.footer-box p{
    color:#666;
    line-height:1.9;
    font-size:15px;
}



/* =========================================
   FOOTER TITLE
========================================= */

.footer-box h3{
    margin-bottom:24px;
    font-size:26px;
    color:#97002c;
    font-family:'Cinzel',serif;
}



/* =========================================
   FOOTER LINKS
========================================= */

.footer-box ul li{
    margin-bottom:16px;
}

.footer-box ul li a{
    color:#666;
    transition:.3s;
}

.footer-box ul li a:hover{
    color:#97002c;
    padding-left:5px;
}



/* =========================================
   NEWSLETTER
========================================= */

.newsletter{
    display:flex;
    margin-top:22px;
}

.newsletter input{
    width:100%;
    height:58px;
    border:1px solid #e5d5c7;
    border-radius:50px 0 0 50px;
    padding:0 20px;
    outline:none;
    background:#fff;
}

.newsletter button{
    width:72px;
    border:none;
    background:linear-gradient(to right,#8b0027,#c60b45);
    color:#fff;
    border-radius:0 50px 50px 0;
    cursor:pointer;
    font-size:20px;
}



/* =========================================
   MOBILE MENU BUTTON
========================================= */

.mobile-menu-btn{
    display:none;
    font-size:32px;
    color:#97002c;
    cursor:pointer;
}



/* =========================================
   GLOBAL HOVER EFFECT
========================================= */

.primary-btn,
.secondary-btn,
.plan-card a,
.cta-content a,
.register-btn{
    transition:.35s ease;
}

.primary-btn:hover,
.secondary-btn:hover,
.plan-card a:hover,
.cta-content a:hover{
    transform:translateY(-4px);
}



/* =========================================
   IMAGE EFFECT
========================================= */

.gallery-grid img,
.story-card,
.plan-card,
.stat-box,
.register-card,
.search-box{
    transition:.4s ease;
}



/* =========================================
   SCROLLBAR
========================================= */

::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:#fff8f4;
}

::-webkit-scrollbar-thumb{
    background:#c60b45;
    border-radius:50px;
}



/* =========================================
   LARGE DEVICE
========================================= */

@media(max-width:1200px){

.hero-grid{
    grid-template-columns:1fr;
    gap:60px;
}

.hero-content{
    text-align:center;
}

.hero-content p{
    margin:auto;
    margin-top:25px;
}

.hero-buttons{
    justify-content:center;
}

.hero-image{
    max-width:500px;
}

.search-fields{
    grid-template-columns:1fr 1fr;
}

.stats-grid{
    grid-template-columns:1fr 1fr;
}

.membership-grid{
    grid-template-columns:1fr;
}

.why-grid{
    grid-template-columns:1fr;
}

.gallery-grid{
    grid-template-columns:1fr 1fr;
}

.story-grid{
    grid-template-columns:1fr;
}

.footer-grid{
    grid-template-columns:1fr 1fr;
}

}



/* =========================================
   MOBILE DEVICE
========================================= */

@media(max-width:768px){

.container{
    width:94%;
}



/* MENU */

.menu{
    position:absolute;
    left:0;
    top:100%;
    width:100%;
    background:#fff;
    padding:30px;
    flex-direction:column;
    gap:22px;
    display:none;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.show-menu{
    display:flex;
}

.mobile-menu-btn{
    display:block;
}

.register-btn{
    display:none;
}



/* HERO */

.hero-section{
    padding:40px 0 70px;
}

.hero-content{
    text-align:center;
}

.hero-content h1{
    font-size:56px;
}

.hero-content p{
    margin:auto;
    margin-top:22px;
}

.hero-buttons{
    justify-content:center;
    flex-wrap:wrap;
}

.hero-image{
    max-width:100%;
}



/* SEARCH */

.search-fields{
    grid-template-columns:1fr;
}



/* SECTION TITLE */

.section-title h2{
    font-size:40px;
}



/* WHY */

.why-content h2{
    font-size:42px;
}

.why-image img{
    height:420px;
}



/* GALLERY */

.gallery-grid{
    grid-template-columns:1fr;
}

.gallery-grid img{
    height:300px;
}



/* CTA */

.cta-content h2{
    font-size:42px;
}



/* FOOTER */

.footer{
    text-align:center;
}

.footer-grid{
    grid-template-columns:1fr;
}

.newsletter{
    justify-content:center;
}



/* CARD PADDING */

.register-card,
.search-box,
.plan-card,
.story-card{
    padding:30px;
}



/* ALPONA */

.alpona-top-left,
.alpona-top-right{
    width:90px;
}

.alpona-divider{
    width:120px;
}

.form-alpona{
    width:90px;
}

}

/* =========================================
   SIDE FLOWERS
========================================= */

/* =========================================
   SIDE FLOWERS
========================================= */

.side-flower{
    position:fixed;

    width:170px;

    z-index:10;

    opacity:.42;

    pointer-events:none;
}



/* LEFT */

.left-flower{
    left:-45px;
    top:180px;
}



/* RIGHT */

.right-flower{
    right:-45px;
    bottom:120px;

    transform:scaleX(-1);
}


@media(max-width:768px){

.side-flower{
    width:85px;
    opacity:.10;
}

.left-flower{
    left:-20px;
    top:240px;
}

.right-flower{
    right:-20px;
    bottom:100px;
}

}

/* =========================================
   FINAL COMPACT DESIGN
========================================= */


/* GLOBAL SECTION SPACING */

.hero-section,
.membership-section,
.why-section,
.gallery-section,
.story-section,
.stats-section{
    padding:60px 0;
}


/* HERO */

.hero-section{
    padding-top:80px;
}

.hero-grid{
    gap:18px;
}

.hero-content h1{
    font-size:64px;
    line-height:.95;
}

.hero-content p{
    margin-top:18px;
    font-size:14px;
    line-height:1.7;
}

.hero-image{
    max-width:430px;
}


/* HERO BUTTONS */

.hero-buttons{
    margin-top:24px;
    gap:12px;
}

.primary-btn,
.secondary-btn{
    padding:12px 22px;
    font-size:13px;
}


/* HEADER */

.header{
    padding:12px 0;
}

.logo{
    width:52px;
}

.logo-text h2{
    font-size:28px;
}

.logo-text p{
    font-size:12px;
}

.menu{
    gap:22px;
}

.menu li a{
    font-size:13px;
}

.register-btn{
    padding:11px 22px;
    font-size:13px;
}


/* REGISTER FORM */

.register-card{
    padding:24px;
    border-radius:26px;
}

.register-card h3{
    font-size:26px;
    margin-bottom:18px;
}

.register-card form{
    gap:12px;
}

.register-card input,
.register-card select{
    height:44px;
    border-radius:10px;
    font-size:13px;
    padding:0 14px;
}

.register-card button{
    height:44px;
    border-radius:40px;
    font-size:13px;
}

.register-card small{
    margin-top:12px;
    font-size:12px;
}


/* SEARCH */

.search-container{
    margin-top:24px;
}

.search-box{
    padding:22px;
    border-radius:24px;
}

.search-title{
    margin-bottom:16px;
}

.search-title h3{
    font-size:24px;
}

.search-fields{
    gap:12px;
}

.search-fields select{
    height:44px;
    border-radius:10px;
    font-size:13px;
    padding:0 12px;
}

.search-fields button{
    height:44px;
    border-radius:10px;
    font-size:13px;
}


/* STATS */

.stats-section{
    padding-top:35px;
}

.stats-grid{
    gap:14px;
}

.stat-box{
    padding:16px;
    border-radius:18px;
    gap:12px;
}

.stat-box img{
    width:42px;
}

.stat-box h3{
    font-size:24px;
}

.stat-box p{
    font-size:12px;
}


/* SECTION TITLE */

.section-title{
    margin-bottom:35px;
}

.section-title span{
    font-size:11px;
}

.section-title h2{
    font-size:42px;
}


/* MEMBERSHIP */

.membership-grid{
    gap:20px;
}

.plan-card{
    padding:30px;
    border-radius:24px;
}

.plan-card h3{
    font-size:32px;
}

.price{
    font-size:42px;
    margin:12px 0;
}

.plan-card ul{
    margin-top:10px;
}

.plan-card ul li{
    margin:10px 0;
    font-size:13px;
}

.plan-card a{
    margin-top:18px;
    padding:11px 22px;
    font-size:13px;
}


/* WHY SECTION */

.why-grid{
    gap:35px;
}

.why-image img{
    height:420px;
    border-radius:24px;
}

.play-btn{
    width:70px;
    height:70px;
    font-size:24px;
}

.why-content h2{
    font-size:42px;
}

.why-content p{
    margin-top:14px;
    font-size:14px;
    line-height:1.8;
}

.why-list{
    margin-top:24px;
}

.why-item{
    gap:14px;
    margin-bottom:18px;
}

.why-item img{
    width:46px;
}

.why-item h4{
    font-size:18px;
}


/* GALLERY */

.gallery-grid{
    gap:16px;
}

.gallery-grid img{
    height:240px;
    border-radius:18px;
}


/* STORIES */

.story-grid{
    gap:20px;
}

.story-card{
    padding:28px;
    border-radius:24px;
}

.story-card img{
    width:80px;
    height:80px;
}

.story-card h4{
    margin-top:14px;
    font-size:20px;
}

.story-card p{
    margin-top:10px;
    font-size:13px;
}


/* CTA */

.cta-section{
    padding:70px 0;
}

.cta-content h2{
    font-size:52px;
}

.cta-content p{
    margin-top:14px;
    font-size:14px;
}

.cta-content a{
    margin-top:24px;
    padding:12px 24px;
    font-size:13px;
}


/* FOOTER */

.footer{
    padding:70px 0 40px;
}

.footer-grid{
    gap:30px;
}

.footer-box h3{
    margin-bottom:16px;
    font-size:22px;
}

.footer-box p,
.footer-box ul li a{
    font-size:13px;
}

.newsletter input{
    height:46px;
    font-size:13px;
}

.newsletter button{
    width:58px;
    font-size:16px;
}



/* MOBILE */

@media(max-width:768px){

.hero-section,
.membership-section,
.why-section,
.gallery-section,
.story-section,
.stats-section{
    padding:45px 0;
}

.hero-content h1{
    font-size:46px;
}

.section-title h2{
    font-size:34px;
}

.why-content h2{
    font-size:34px;
}

.cta-content h2{
    font-size:34px;
}

.gallery-grid img{
    height:220px;
}

.hero-image{
    max-width:300px;
}

.search-box,
.register-card,
.plan-card,
.story-card{
    padding:20px;
}

}


/* MEMBERSHIP EXTRA */

.membership-grid{
    grid-template-columns:repeat(3,1fr);
}

.duration{
    margin-top:10px;
    color:#d4a037;
    font-size:13px;
    font-weight:600;
}

.plan-card ul li{
    position:relative;
    padding-left:18px;
    text-align:left;
    line-height:1.7;
}

.plan-card ul li::before{
    content:'•';
    position:absolute;
    left:0;
    color:#c60b45;
    font-size:18px;
}

@media(max-width:992px){

.membership-grid{
    grid-template-columns:1fr 1fr;
}

}

@media(max-width:768px){

.membership-grid{
    grid-template-columns:1fr;
}

}

/* =========================================
   TOP SCREEN FLORAL
========================================= */

.corner-floral{
    position:fixed;

    top:-20px;

    width:220px;

    z-index:99999;

    pointer-events:none;

    opacity:.55;
}

.corner-floral img{
    width:100%;
    display:block;
}



/* LEFT TOP */

.left-floral{
    left:-20px;
}



/* RIGHT TOP */

.right-floral{
    right:-20px;
    transform:scaleX(-1);
}



/* MOBILE */

@media(max-width:768px){

.corner-floral{
    width:110px;
    top:-10px;
    opacity:.45;
}

.left-floral{
    left:-15px;
}

.right-floral{
    right:-15px;
}

}

/* =========================================
   SEARCH TITLE PREMIUM
========================================= */

.search-title{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:14px;

    margin-bottom:24px;
}



/* SIDE DESIGN */

.search-title img{

    width:34px;

    opacity:.9;
}



/* RIGHT FLIP */

.search-title .right-design{

    transform:scaleX(-1);
}



/* TITLE */

.search-title h3{

    font-family:'Cinzel',serif;

    font-size:28px;

    color:#97002c;

    font-weight:700;

    letter-spacing:.5px;

    text-transform:uppercase;
}



/* MOBILE */

@media(max-width:768px){

.search-title{
    gap:8px;
}

.search-title img{
    width:22px;
}

.search-title h3{
    font-size:18px;
}

}



/* =========================================
   COUPLE IMAGES
========================================= */

.couple-images{

    position:relative;

    width:140px;
    height:90px;

    margin:0 auto 18px;
}



/* BOTH IMAGES */

.couple-images img{

    position:absolute;

    width:78px;
    height:78px;

    border-radius:50%;

    object-fit:cover;

    border:4px solid #fff;

    box-shadow:
    0 8px 20px rgba(0,0,0,.08);
}



/* BRIDE */

.couple-images .bride{

    left:0;
    top:0;

    z-index:2;
}



/* GROOM */

.couple-images .groom{

    right:0;
    top:12px;

    z-index:1;
}



/* MOBILE */

@media(max-width:768px){

.couple-images{
    width:120px;
    height:80px;
}

.couple-images img{
    width:68px;
    height:68px;
}

}


/* =========================================
   PROFILES SECTION
========================================= */

.profiles-section{
    padding:70px 0;
}



/* SCROLL AREA */

.profiles-slider{

    display:flex;

    gap:22px;

    overflow-x:auto;

    padding-bottom:12px;

    scroll-behavior:smooth;
}



/* SCROLLBAR */

.profiles-slider::-webkit-scrollbar{
    height:8px;
}

.profiles-slider::-webkit-scrollbar-thumb{
    background:#c60b45;
    border-radius:20px;
}



/* CARD */

.profile-card{

    min-width:260px;

    background:#fff;

    border-radius:26px;

    padding:22px;

    text-align:center;

    flex-shrink:0;

    transition:.35s ease;

    box-shadow:
    0 12px 35px rgba(0,0,0,.05);
}

.profile-card:hover{

    transform:translateY(-8px);

    box-shadow:
    0 18px 40px rgba(0,0,0,.08);
}



/* IMAGE */

.profile-image{

    position:relative;

    width:100px;
    height:100px;

    margin:0 auto 16px;
}

.profile-image img{

    width:100%;
    height:100%;

    object-fit:cover;

    border-radius:50%;

    border:4px solid #f6e6d6;
}



/* ONLINE DOT */

.online{

    position:absolute;

    right:6px;
    bottom:8px;

    width:16px;
    height:16px;

    background:#2ecc71;

    border-radius:50%;

    border:3px solid #fff;
}



/* TITLE */

.profile-card h3{

    font-size:22px;

    color:#97002c;

    margin-bottom:6px;
}



/* SUBTEXT */

.profile-card p{

    color:#777;

    font-size:13px;
}



/* INFO */

.profile-info{

    display:flex;

    justify-content:center;

    gap:10px;

    margin-top:14px;

    flex-wrap:wrap;
}

.profile-info span{

    background:#fff3ea;

    color:#97002c;

    padding:6px 12px;

    border-radius:30px;

    font-size:12px;

    font-weight:500;
}



/* BUTTON */

.profile-card a{

    display:inline-block;

    margin-top:18px;

    background:
    linear-gradient(to right,#8b0027,#c60b45);

    color:#fff;

    padding:10px 20px;

    border-radius:40px;

    font-size:13px;

    font-weight:600;

    transition:.3s;
}

.profile-card a:hover{
    transform:translateY(-3px);
}



/* MOBILE */

@media(max-width:768px){

.profile-card{
    min-width:220px;
}

}


/* =========================================
   HIDE SCROLLBAR
========================================= */

.profiles-slider{

    scroll-behavior:smooth;

    overflow-x:auto;

    scrollbar-width:none;

    -ms-overflow-style:none;
}



/* CHROME */

.profiles-slider::-webkit-scrollbar{
    display:none;
}




/* =========================================
   ABOUT PAGE FIX
========================================= */

.about-hero{
    padding:140px 0 80px;
    position:relative;
    overflow:hidden;
}

.about-hero::before{
    content:'';
    position:absolute;
    inset:0;
    background:
    linear-gradient(rgba(255,248,244,.95),
    rgba(255,248,244,.95)),
    url('images/bg-pattern.jpg');
    background-size:cover;
    background-position:center;
    z-index:-1;
}

.about-hero-content{
    text-align:center;
    max-width:950px;
}

.about-hero-content span{
    color:#d4a037;
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:14px;
    font-weight:600;
}

.about-hero-content h1{
    margin-top:20px;
    font-family:'Cinzel',serif;
    font-size:70px;
    line-height:1.1;
    color:#7d0022;
}

.about-hero-content p{
    margin-top:24px;
    color:#666;
    font-size:16px;
    line-height:1.9;
}



/* ABOUT SECTION */

.about-section{
    padding:80px 0;
}

.about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
}

.about-image img{
    width:100%;
    height:620px;
    object-fit:cover;
    border-radius:30px;
    box-shadow:
    0 20px 45px rgba(0,0,0,.08);
}

.about-content h2{
    margin-top:16px;
    font-family:'Cinzel',serif;
    font-size:54px;
    line-height:1.2;
    color:#7d0022;
}

.about-content p{
    margin-top:20px;
    color:#666;
    line-height:1.9;
    font-size:15px;
}



/* POINTS */

.about-points{
    margin-top:35px;
}

.point-box{
    display:flex;
    gap:18px;
    align-items:flex-start;
    margin-bottom:28px;
}

.point-box img{
    width:65px;
    flex-shrink:0;
}

.point-box h4{
    color:#97002c;
    font-size:22px;
    margin-bottom:8px;
}

.point-box p{
    margin-top:0;
}



/* JOURNEY */

.journey-section{
    padding:80px 0;
}

.journey-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.journey-card{
    background:#fff;
    padding:40px 25px;
    border-radius:28px;
    text-align:center;
    box-shadow:
    0 15px 40px rgba(0,0,0,.06);
}

.journey-card h3{
    font-size:54px;
    color:#97002c;
    margin-bottom:10px;
}

.journey-card p{
    color:#666;
}



/* WHY ABOUT */

.why-about-section{
    padding:80px 0;
}

.why-about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
}

.why-about-image img{
    width:100%;
    height:520px;
    object-fit:cover;
    border-radius:30px;
}

.why-about-content h2{
    margin-top:16px;
    font-family:'Cinzel',serif;
    font-size:52px;
    line-height:1.2;
    color:#7d0022;
}

.why-about-content p{
    margin-top:20px;
    color:#666;
    line-height:1.9;
}

.why-about-content ul{
    margin-top:30px;
}

.why-about-content ul li{
    margin-bottom:16px;
    color:#444;
    font-size:16px;
}



/* MOBILE */

@media(max-width:992px){

.about-grid,
.why-about-grid{
    grid-template-columns:1fr;
}

.journey-grid{
    grid-template-columns:1fr 1fr;
}

}

@media(max-width:768px){

.about-hero{
    padding:120px 0 60px;
}

.about-hero-content h1{
    font-size:42px;
}

.about-content h2,
.why-about-content h2{
    font-size:36px;
}

.about-image img,
.why-about-image img{
    height:auto;
}

.journey-grid{
    grid-template-columns:1fr;
}

.journey-card h3{
    font-size:40px;
}

.point-box{
    flex-direction:column;
}

.point-box img{
    width:55px;
}

}

/* =========================================
   SUCCESS STORIES BLOCK STYLE
========================================= */

.success-grid{
    display:flex;
    flex-direction:column;
    gap:40px;
}



/* CARD */

.success-card{

    display:grid;

    grid-template-columns:420px 1fr;

    align-items:center;

    gap:40px;

    background:#fff;

    border-radius:34px;

    overflow:hidden;

    padding:25px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.06);

    transition:.35s ease;
}

.success-card:hover{

    transform:translateY(-6px);

    box-shadow:
    0 20px 45px rgba(0,0,0,.08);
}



/* REVERSE */

.success-card:nth-child(even){

    grid-template-columns:1fr 420px;
}

.success-card:nth-child(even) .success-image{

    order:2;
}



/* IMAGE */

.success-image img{

    width:100%;

    height:320px;

    object-fit:cover;

    border-radius:24px;
}



/* CONTENT */

.success-content h3{

    font-size:42px;

    font-family:'Cinzel',serif;

    color:#97002c;

    margin-bottom:8px;
}

.success-content span{

    color:#d4a037;

    font-size:14px;

    font-weight:600;

    text-transform:uppercase;

    letter-spacing:1px;
}

.success-content p{

    margin-top:20px;

    color:#666;

    line-height:2;

    font-size:15px;
}



/* MOBILE */

@media(max-width:992px){

.success-card,
.success-card:nth-child(even){

    grid-template-columns:1fr;
}

.success-card:nth-child(even) .success-image{
    order:0;
}

}



@media(max-width:768px){

.success-card{
    padding:18px;
    gap:20px;
}

.success-image img{
    height:240px;
}

.success-content h3{
    font-size:28px;
}

.success-content p{
    font-size:14px;
    line-height:1.8;
}

}

/* =========================================
   GALLERY PAGE
========================================= */

.gallery-page-section{
    padding:80px 0;
}



/* GRID */

.gallery-masonry{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    grid-auto-rows:250px;

    gap:20px;
}



/* ITEM */

.gallery-item{

    position:relative;

    overflow:hidden;

    border-radius:28px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.06);
}



/* IMAGE */

.gallery-item img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.45s ease;
}

.gallery-item:hover img{

    transform:scale(1.08);
}



/* OVERLAY */

.gallery-overlay{

    position:absolute;

    left:0;
    bottom:0;

    width:100%;

    padding:70px 25px 24px;

    background:
    linear-gradient(to top,
    rgba(0,0,0,.82),
    transparent);
}



/* TITLE */

.gallery-overlay h3{

    color:#fff;

    font-size:24px;

    font-family:'Cinzel',serif;

    line-height:1.3;
}



/* SIZE */

.gallery-item.large{
    grid-column:span 2;
    grid-row:span 2;
}

.gallery-item.wide{
    grid-column:span 2;
}

.gallery-item.tall{
    grid-row:span 2;
}



/* TABLET */

@media(max-width:992px){

.gallery-masonry{

    grid-template-columns:repeat(2,1fr);
}

}



/* MOBILE */

@media(max-width:768px){

.gallery-masonry{

    grid-template-columns:1fr;

    grid-auto-rows:240px;
}

.gallery-item.large,
.gallery-item.wide,
.gallery-item.tall{

    grid-column:span 1;
    grid-row:span 1;
}

.gallery-overlay{
    padding:55px 18px 18px;
}

.gallery-overlay h3{
    font-size:20px;
}

}


/* =========================================
   CONTACT PAGE
========================================= */

.contact-page-section{
    padding:80px 0;
}



/* GRID */

.contact-grid{

    display:grid;

    grid-template-columns:1fr 520px;

    gap:60px;

    align-items:start;
}



/* INFO */

.contact-info h2{

    margin-top:16px;

    font-family:'Cinzel',serif;

    font-size:54px;

    line-height:1.2;

    color:#7d0022;
}

.contact-info p{

    margin-top:20px;

    color:#666;

    line-height:1.9;
}



/* CONTACT BOX */

.contact-box{

    display:flex;

    gap:18px;

    align-items:flex-start;

    margin-top:35px;

    background:#fff;

    padding:24px;

    border-radius:24px;

    box-shadow:
    0 12px 35px rgba(0,0,0,.05);
}



/* ICON */

.contact-icon{

    width:60px;
    height:60px;

    background:
    linear-gradient(to right,#8b0027,#c60b45);

    color:#fff;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:24px;

    flex-shrink:0;
}



/* TITLE */

.contact-box h4{

    color:#97002c;

    font-size:22px;

    margin-bottom:6px;
}

.contact-box p{
    margin-top:0;
}



/* FORM */

.contact-form-card{

    background:#fff;

    padding:40px;

    border-radius:34px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.06);
}

.contact-form-card h3{

    text-align:center;

    margin-bottom:28px;

    font-size:38px;

    color:#97002c;

    font-family:'Cinzel',serif;
}



/* FORM GROUP */

.form-group{
    margin-bottom:18px;
}



/* INPUT */

.contact-form-card input,
.contact-form-card textarea{

    width:100%;

    border:1px solid #eadada;

    border-radius:16px;

    padding:16px 18px;

    outline:none;

    font-size:14px;

    background:#fff;
}

.contact-form-card textarea{

    height:160px;

    resize:none;
}

.contact-form-card input:focus,
.contact-form-card textarea:focus{

    border-color:#d4a037;
}



/* BUTTON */

.contact-form-card button{

    width:100%;

    height:58px;

    border:none;

    border-radius:50px;

    background:
    linear-gradient(to right,#8b0027,#c60b45);

    color:#fff;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    transition:.35s ease;
}

.contact-form-card button:hover{

    transform:translateY(-3px);
}



/* MAP */

.map-section iframe{

    width:100%;

    height:500px;

    border:none;
}



/* TABLET */

@media(max-width:992px){

.contact-grid{
    grid-template-columns:1fr;
}

}



/* MOBILE */

@media(max-width:768px){

.contact-info h2{
    font-size:38px;
}

.contact-form-card{
    padding:24px;
}

.contact-form-card h3{
    font-size:28px;
}

.contact-box{
    padding:18px;
}

.contact-box h4{
    font-size:18px;
}

.map-section iframe{
    height:320px;
}

}


/* =========================================
   PROFILE PAGE
========================================= */

.profile-page-section{
    padding:80px 0;
}



/* WRAPPER */

.profile-wrapper{

    display:grid;

    grid-template-columns:380px 1fr;

    gap:35px;

    align-items:start;
}



/* LEFT */

.profile-left{

    background:#fff;

    padding:30px;

    border-radius:34px;

    position:sticky;

    top:120px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.06);
}



/* IMAGE */

.profile-image-card img{

    width:100%;

    height:420px;

    object-fit:cover;

    border-radius:26px;
}



/* INFO */

.profile-basic-info{

    text-align:center;

    margin-top:24px;
}

.profile-basic-info h2{

    font-size:38px;

    color:#97002c;

    font-family:'Cinzel',serif;
}

.profile-basic-info span{

    display:block;

    margin-top:8px;

    color:#d4a037;

    font-size:13px;

    font-weight:600;
}

.profile-basic-info p{

    margin-top:12px;

    color:#666;
}



/* BUTTONS */

.profile-buttons{

    display:flex;

    gap:12px;

    margin-top:28px;
}

.profile-buttons a{

    flex:1;

    text-align:center;

    background:
    linear-gradient(to right,#8b0027,#c60b45);

    color:#fff;

    padding:14px;

    border-radius:50px;

    font-size:14px;

    font-weight:600;

    transition:.35s ease;
}

.profile-buttons a:hover{

    transform:translateY(-3px);
}



/* RIGHT */

.profile-right{
    display:flex;
    flex-direction:column;
    gap:28px;
}



/* BOX */

.profile-card-box{

    background:#fff;

    padding:34px;

    border-radius:30px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.06);
}



/* TITLE */

.profile-card-box h3{

    margin-bottom:20px;

    font-size:34px;

    color:#97002c;

    font-family:'Cinzel',serif;
}



/* TEXT */

.profile-card-box p{

    color:#666;

    line-height:1.9;
}



/* DETAILS */

.details-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:22px;
}



/* ITEM */

.detail-item{

    background:#fff7f2;

    padding:20px;

    border-radius:18px;
}

.detail-item span{

    color:#999;

    font-size:13px;
}

.detail-item h4{

    margin-top:8px;

    color:#97002c;

    font-size:18px;
}



/* MOBILE */

@media(max-width:992px){

.profile-wrapper{
    grid-template-columns:1fr;
}

.profile-left{
    position:relative;
    top:0;
}

}



@media(max-width:768px){

.profile-left,
.profile-card-box{
    padding:22px;
}

.profile-image-card img{
    height:320px;
}

.profile-basic-info h2{
    font-size:30px;
}

.profile-card-box h3{
    font-size:28px;
}

.details-grid{
    grid-template-columns:1fr;
}

.profile-buttons{
    flex-direction:column;
}

}



/* =========================================
   CREATE PROFILE PAGE
========================================= */

.create-profile-section{

    padding:90px 0;

    background:#faf7f5;
}



/* =========================================
   FORM
========================================= */

.create-profile-form{

    width:100%;

    max-width:1280px;

    margin:auto;
}



/* =========================================
   STEP BAR
========================================= */

.profile-step-bar{

    display:flex;

    align-items:center;

    gap:14px;

    overflow-x:auto;

    padding-bottom:15px;

    margin-bottom:40px;

    scrollbar-width:none;
}

.profile-step-bar::-webkit-scrollbar{
    display:none;
}



/* STEP ITEM */

.step-item{

    min-width:max-content;

    padding:15px 28px;

    border-radius:60px;

    background:#fff;

    border:1px solid #ecd9d1;

    color:#97002c;

    font-size:14px;

    font-weight:600;

    cursor:pointer;

    transition:.35s ease;
}



/* ACTIVE */

.step-item.active{

    background:
    linear-gradient(to right,#8b0027,#c60b45);

    color:#fff;

    border-color:transparent;

    box-shadow:
    0 10px 30px rgba(151,0,44,.18);
}



/* HOVER */

.step-item:hover{

    transform:translateY(-2px);
}



/* =========================================
   STEP FORM
========================================= */

.step-form{

    display:none;
}

.step-form.active-step{

    display:block;
}



/* =========================================
   FORM BOX
========================================= */

.form-box{

    background:#fff;

    padding:40px;

    border-radius:30px;

    margin-bottom:30px;

    border:1px solid #f0dfd7;

    box-shadow:
    0 18px 45px rgba(0,0,0,.05);
}



/* FORM TITLE */

.form-box h2{

    font-size:32px;

    color:#97002c;

    margin-bottom:30px;

    padding-bottom:15px;

    border-bottom:1px solid #f2e3dc;

    font-family:'Cinzel', serif;
}



/* =========================================
   GRID
========================================= */

.form-grid{

    display:grid;

    gap:24px;
}

.one-grid{
    grid-template-columns:1fr;
}

.two-grid{
    grid-template-columns:repeat(2,1fr);
}

.three-grid{
    grid-template-columns:repeat(3,1fr);
}



/* =========================================
   FORM GROUP
========================================= */

.form-group{

    display:flex;

    flex-direction:column;
}



/* LABEL */

.form-group label{

    font-size:14px;

    font-weight:600;

    color:#444;

    margin-bottom:10px;
}



/* =========================================
   INPUT
========================================= */

.form-group input,
.form-group select,
.form-group textarea{

    width:100%;

    border:1px solid #eadada;

    border-radius:18px;

    background:#fff;

    outline:none;

    font-size:14px;

    color:#444;

    transition:.3s ease;
}



/* INPUT HEIGHT */

.form-group input,
.form-group select{

    height:58px;

    padding:0 20px;
}



/* TEXTAREA */

.form-group textarea{

    height:180px;

    padding:18px 20px;

    resize:none;

    line-height:1.8;
}



/* FOCUS */

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{

    border-color:#d4a037;

    box-shadow:
    0 0 0 4px rgba(212,160,55,.10);
}



/* PLACEHOLDER */

::placeholder{
    color:#aaa;
}



/* SELECT */

.form-group select{

    appearance:none;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='%2397002c' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 5.5 8 12l6.5-6.5' stroke='%2397002c' stroke-width='2' fill='none'/%3E%3C/svg%3E");

    background-repeat:no-repeat;

    background-position:right 18px center;

    background-size:14px;
}



/* =========================================
   RADIO
========================================= */

.radio-group{

    display:flex;

    align-items:center;

    gap:25px;

    margin-top:10px;
}

.radio-group label{

    display:flex;

    align-items:center;

    gap:8px;

    font-size:14px;

    font-weight:500;

    cursor:pointer;
}



/* =========================================
   UPLOAD BOX
========================================= */

.upload-box{

    border:2px dashed #e6d2ca;

    border-radius:24px;

    padding:70px 25px;

    background:#fffaf8;

    text-align:center;
}



/* FILE */

.upload-box input{
    display:none;
}



/* UPLOAD LABEL */

.upload-box label{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    height:56px;

    padding:0 35px;

    border-radius:60px;

    background:
    linear-gradient(to right,#8b0027,#c60b45);

    color:#fff;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    transition:.35s ease;
}



/* HOVER */

.upload-box label:hover{

    transform:translateY(-3px);
}



/* =========================================
   BUTTONS
========================================= */

.step-buttons{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:18px;

    margin-top:45px;
}



/* BUTTON */

.prev-btn,
.next-btn,
.submit-btn{

    min-width:190px;

    height:58px;

    border:none;

    outline:none;

    border-radius:60px;

    padding:0 40px;

    font-size:18px;

    font-weight:700;

    cursor:pointer;

    transition:.35s ease;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    background:
    linear-gradient(to right,#8b0027,#c60b45);

    color:#fff;

    box-shadow:
    0 12px 28px rgba(151,0,44,.20);
}



/* PREVIOUS */

.prev-btn{

    background:#ececec;

    color:#444;

    box-shadow:none;
}



/* HOVER */

.prev-btn:hover,
.next-btn:hover,
.submit-btn:hover{

    transform:translateY(-4px);

    box-shadow:
    0 16px 35px rgba(151,0,44,.25);
}



/* SUBMIT */

.submit-btn{
    display:none;
}



/* =========================================
   PROFILE IMAGE PREVIEW
========================================= */

.photo-preview{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

    margin-top:20px;
}

.photo-preview img{

    width:120px;

    height:120px;

    object-fit:cover;

    border-radius:20px;

    border:3px solid #fff;

    box-shadow:
    0 10px 25px rgba(0,0,0,.08);
}



/* =========================================
   MOBILE
========================================= */

@media(max-width:1100px){

.three-grid{
    grid-template-columns:repeat(2,1fr);
}

}



@media(max-width:768px){

.create-profile-section{
    padding:60px 0;
}

.form-box{

    padding:24px;

    border-radius:24px;
}

.form-box h2{

    font-size:24px;

    margin-bottom:24px;
}

.two-grid,
.three-grid{
    grid-template-columns:1fr;
}

.step-buttons{

    flex-direction:column;
}

.prev-btn,
.next-btn,
.submit-btn{

    width:100%;
}

.step-item{

    padding:12px 18px;

    font-size:12px;
}

.upload-box{

    padding:45px 20px;
}

.photo-preview img{

    width:90px;

    height:90px;
}

.radio-group{

    flex-direction:column;

    align-items:flex-start;

    gap:10px;
}

}



/* =========================================
   SEARCH RESULT PAGE
========================================= */

.search-result-section{

    padding:90px 0;

    background:#faf7f5;
}



/* =========================================
   TOPBAR
========================================= */

.result-topbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    margin-bottom:40px;
}



/* TITLE */

.result-topbar h2{

    font-size:38px;

    color:#97002c;

    margin-bottom:8px;

    font-family:'Cinzel',serif;
}



/* TEXT */

.result-topbar p{

    font-size:15px;

    color:#777;
}



/* =========================================
   FILTER
========================================= */

.result-filter select{

    height:55px;

    border:none;

    outline:none;

    padding:0 20px;

    border-radius:18px;

    background:#fff;

    color:#444;

    font-size:14px;

    box-shadow:
    0 10px 30px rgba(0,0,0,.05);
}



/* =========================================
   RESULT GRID
========================================= */

.result-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;
}



/* =========================================
   CARD
========================================= */

.match-card{

    background:#fff;

    border-radius:30px;

    overflow:hidden;

    transition:.4s ease;

    box-shadow:
    0 18px 45px rgba(0,0,0,.05);
}



/* HOVER */

.match-card:hover{

    transform:translateY(-8px);
}



/* =========================================
   IMAGE
========================================= */

.match-image{

    position:relative;

    height:350px;
}



/* IMG */

.match-image img{

    width:100%;

    height:100%;

    object-fit:cover;
}



/* =========================================
   MATCH PERCENT
========================================= */

.match-percent{

    position:absolute;

    top:18px;

    right:18px;

    background:
    linear-gradient(to right,#8b0027,#c60b45);

    color:#fff;

    padding:10px 18px;

    border-radius:50px;

    font-size:13px;

    font-weight:700;

    box-shadow:
    0 10px 20px rgba(151,0,44,.25);
}



/* =========================================
   CONTENT
========================================= */

.match-content{

    padding:28px;
}



/* NAME */

.match-content h3{

    font-size:28px;

    color:#97002c;

    margin-bottom:6px;
}



/* PROFILE ID */

.match-content span{

    font-size:13px;

    color:#888;
}



/* =========================================
   DETAILS LIST
========================================= */

.match-content ul{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    list-style:none;

    padding:0;

    margin:24px 0;
}



/* LIST */

.match-content ul li{

    padding:10px 15px;

    background:#faf3ef;

    border-radius:40px;

    font-size:13px;

    color:#555;
}



/* =========================================
   ABOUT
========================================= */

.match-content p{

    font-size:14px;

    line-height:1.8;

    color:#666;

    margin-bottom:28px;
}



/* =========================================
   BUTTONS
========================================= */

.match-btns{

    display:flex;

    gap:14px;
}



/* BTN */

.match-btns a{

    flex:1;

    height:52px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50px;

    text-decoration:none;

    font-size:14px;

    font-weight:600;

    transition:.35s ease;
}



/* VIEW PROFILE */

.match-btns a:first-child{

    background:
    linear-gradient(to right,#8b0027,#c60b45);

    color:#fff;
}



/* INTEREST */

.match-btns a:last-child{

    background:#f2f2f2;

    color:#444;
}



/* HOVER */

.match-btns a:hover{

    transform:translateY(-3px);
}



/* =========================================
   TABLET
========================================= */

@media(max-width:1100px){

.result-grid{

    grid-template-columns:repeat(2,1fr);
}

}



/* =========================================
   MOBILE
========================================= */

@media(max-width:768px){

.search-result-section{

    padding:60px 0;
}



/* TOPBAR */

.result-topbar{

    flex-direction:column;

    align-items:flex-start;
}



/* TITLE */

.result-topbar h2{

    font-size:28px;
}



/* GRID */

.result-grid{

    grid-template-columns:1fr;
}



/* IMAGE */

.match-image{

    height:280px;
}



/* CONTENT */

.match-content{

    padding:22px;
}



/* NAME */

.match-content h3{

    font-size:24px;
}



/* BUTTON */

.match-btns{

    flex-direction:column;
}

}


/* =========================================
   COMPACT SEARCH FORM
========================================= */

.search-fields{

    display:grid;

    grid-template-columns:
    repeat(5,1fr)
    170px;

    gap:12px;

    align-items:end;

    background:#fff;

    padding:20px;

    border-radius:22px;

    box-shadow:
    0 12px 30px rgba(0,0,0,.05);
}



/* GROUP */

.search-group{

    display:flex;

    flex-direction:column;
}



/* LABEL */

.search-group label{

    font-size:12px;

    font-weight:600;

    color:#666;

    margin-bottom:6px;
}



/* SELECT */

.search-group select{

    width:100%;

    height:48px;

    border:none;

    outline:none;

    background:#faf7f5;

    border-radius:14px;

    padding:0 14px;

    font-size:13px;

    color:#444;

    transition:.3s ease;
}



/* FOCUS */

.search-group select:focus{

    box-shadow:
    0 0 0 3px rgba(151,0,44,.08);
}



/* BUTTON */

.search-btn-group button{

    width:100%;

    height:48px;

    border:none;

    outline:none;

    border-radius:14px;

    background:
    linear-gradient(to right,#8b0027,#c60b45);

    color:#fff;

    font-size:14px;

    font-weight:600;

    cursor:pointer;

    transition:.35s ease;
}



/* HOVER */

.search-btn-group button:hover{

    transform:translateY(-2px);
}



/* TABLET */

@media(max-width:1100px){

.search-fields{

    grid-template-columns:
    repeat(3,1fr);
}

}



/* MOBILE */

@media(max-width:768px){

.search-fields{

    grid-template-columns:1fr;

    padding:18px;
}

}


/* =========================================
   PREMIUM SEARCH LOADER
========================================= */

.premium-search-loader{

    position:fixed;

    inset:0;

    width:100%;

    height:100%;

    background:
    rgba(255,255,255,.92);

    backdrop-filter:blur(10px);

    z-index:99999;

    display:flex;

    align-items:center;

    justify-content:center;

    opacity:0;

    visibility:hidden;

    transition:.4s ease;
}



/* ACTIVE */

.premium-search-loader.active{

    opacity:1;

    visibility:visible;
}



/* BOX */

.loader-box{

    text-align:center;
}



/* RING */

.loader-ring{

    width:120px;

    height:120px;

    border-radius:50%;

    border:5px solid #f3d9e2;

    border-top:5px solid #97002c;

    margin:auto;

    animation:spin 1s linear infinite;

    position:relative;
}



/* HEART */

.loader-heart{

    position:absolute;

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

    font-size:38px;

    color:#c60b45;

    animation:pulse 1.2s infinite;
}



/* TITLE */

.loader-box h3{

    margin-top:35px;

    font-size:32px;

    color:#97002c;

    font-family:'Cinzel',serif;
}



/* TEXT */

.loader-box p{

    margin-top:10px;

    font-size:15px;

    color:#777;
}



/* SPIN */

@keyframes spin{

    100%{
        transform:rotate(360deg);
    }

}



/* HEART */

@keyframes pulse{

    0%{
        transform:translate(-50%,-50%) scale(1);
    }

    50%{
        transform:translate(-50%,-50%) scale(1.2);
    }

    100%{
        transform:translate(-50%,-50%) scale(1);
    }

}


/* =========================================
   TERMS & CONDITIONS PAGE
========================================= */

.terms-section{

    padding:90px 0;

    background:#faf7f5;
}



/* =========================================
   TERMS BOX
========================================= */

.terms-box{

    background:#fff;

    border-radius:35px;

    padding:45px;

    box-shadow:
    0 18px 45px rgba(0,0,0,.05);

    border:1px solid #f1dfd7;
}



/* =========================================
   TERMS ITEM
========================================= */

.terms-item{

    padding-bottom:30px;

    margin-bottom:30px;

    border-bottom:1px solid #f3e5de;
}



/* LAST */

.terms-item:last-child{

    margin-bottom:0;

    padding-bottom:0;

    border-bottom:none;
}



/* =========================================
   TITLE
========================================= */

.terms-item h2{

    font-size:28px;

    color:#97002c;

    margin-bottom:15px;

    font-family:'Cinzel',serif;

    line-height:1.4;
}



/* =========================================
   TEXT
========================================= */

.terms-item p{

    font-size:15px;

    line-height:1.9;

    color:#666;
}



/* =========================================
   MOBILE
========================================= */

@media(max-width:768px){

.terms-section{

    padding:60px 0;
}



/* BOX */

.terms-box{

    padding:25px;

    border-radius:24px;
}



/* TITLE */

.terms-item h2{

    font-size:22px;
}



/* TEXT */

.terms-item p{

    font-size:14px;

    line-height:1.8;
}

}

/* =========================================
   FAQ PAGE
========================================= */

.faq-section{

    padding:90px 0;

    background:#faf7f5;
}



/* WRAPPER */

.faq-wrapper{

    max-width:950px;

    margin:auto;
}



/* =========================================
   FAQ ITEM
========================================= */

.faq-item{

    background:#fff;

    border-radius:24px;

    margin-bottom:20px;

    overflow:hidden;

    border:1px solid #f1dfd7;

    box-shadow:
    0 12px 30px rgba(0,0,0,.04);
}



/* =========================================
   QUESTION
========================================= */

.faq-question{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    padding:25px 30px;

    cursor:pointer;
}



/* TITLE */

.faq-question h3{

    font-size:20px;

    color:#97002c;

    font-family:'Cinzel',serif;

    line-height:1.5;
}



/* ICON */

.faq-question span{

    width:38px;

    height:38px;

    border-radius:50%;

    background:#faf3ef;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:24px;

    color:#97002c;

    flex-shrink:0;
}



/* =========================================
   ANSWER
========================================= */

.faq-answer{

    display:none;

    padding:0 30px 28px;
}



/* ACTIVE */

.faq-item.active .faq-answer{

    display:block;
}



/* TEXT */

.faq-answer p{

    font-size:15px;

    line-height:1.9;

    color:#666;
}



/* =========================================
   MOBILE
========================================= */

@media(max-width:768px){

.faq-section{

    padding:60px 0;
}



/* QUESTION */

.faq-question{

    padding:20px;
}



/* TITLE */

.faq-question h3{

    font-size:17px;
}



/* ANSWER */

.faq-answer{

    padding:0 20px 22px;
}

}

/* =========================================
   PAYMENT PAGE
========================================= */

.payment-section{

    padding:90px 0;

    background:#faf7f5;
}



/* WRAPPER */

.payment-wrapper{

    display:grid;

    grid-template-columns:420px 1fr;

    gap:35px;
}



/* BOX */

.payment-box{

    background:#fff;

    border-radius:30px;

    padding:35px;

    border:1px solid #f0dfd7;

    box-shadow:
    0 18px 45px rgba(0,0,0,.05);
}



/* TITLE */

.payment-box h2{

    font-size:30px;

    color:#97002c;

    margin-bottom:30px;

    font-family:'Cinzel',serif;
}



/* =========================================
   PLAN
========================================= */

.payment-plan{

    padding:25px;

    border-radius:24px;

    background:#faf3ef;

    margin-bottom:30px;
}



/* PLAN TITLE */

.payment-plan h3{

    font-size:24px;

    color:#97002c;

    margin-bottom:8px;
}



/* TEXT */

.payment-plan span{

    color:#777;

    font-size:14px;
}



/* =========================================
   FEATURES
========================================= */

.payment-features{

    list-style:none;

    padding:0;

    margin:0 0 35px;
}



/* LIST */

.payment-features li{

    padding:14px 0;

    border-bottom:1px solid #f3e5de;

    color:#555;

    font-size:15px;
}



/* PRICE */

.payment-price{

    font-size:42px;

    font-weight:700;

    color:#97002c;
}



/* =========================================
   FORM
========================================= */

.payment-form{

    display:flex;

    flex-direction:column;

    gap:22px;
}



/* GROUP */

.form-group{

    display:flex;

    flex-direction:column;
}



/* LABEL */

.form-group label{

    font-size:14px;

    font-weight:600;

    margin-bottom:10px;

    color:#444;
}



/* INPUT */

.form-group input,
.form-group select{

    width:100%;

    height:56px;

    border:1px solid #eadada;

    border-radius:18px;

    outline:none;

    padding:0 18px;

    font-size:14px;

    transition:.35s ease;
}



/* FOCUS */

.form-group input:focus,
.form-group select:focus{

    border-color:#d4a037;

    box-shadow:
    0 0 0 4px rgba(212,160,55,.08);
}



/* BUTTON */

.payment-form button{

    width:100%;

    height:58px;

    border:none;

    border-radius:18px;

    background:
    linear-gradient(to right,#8b0027,#c60b45);

    color:#fff;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    transition:.35s ease;

    margin-top:10px;
}



/* HOVER */

.payment-form button:hover{

    transform:translateY(-3px);
}



/* =========================================
   MOBILE
========================================= */

@media(max-width:992px){

.payment-wrapper{

    grid-template-columns:1fr;
}

}



@media(max-width:768px){

.payment-section{

    padding:60px 0;
}



/* BOX */

.payment-box{

    padding:25px;

    border-radius:24px;
}



/* TITLE */

.payment-box h2{

    font-size:24px;
}



/* PRICE */

.payment-price{

    font-size:34px;
}

}



