/* =========================================================
   RESET
========================================================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Poppins', sans-serif;
    color: #0d2c4a;
    overflow-x: hidden;
    background: #fff;
}

img {
    max-width: 100%;
    display: block;
}

a {
    text-decoration: none;
}

/* =========================================================
   CONTAINER
========================================================= */
.container {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    padding: 15px 15px;
}

/* =========================================================
   GRID SYSTEM
========================================================= */
.row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -10px;
    margin-right: -10px;
}

[class*="col-"] {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
}

/* MOBILE DEFAULT */
.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,
.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,
.col-s-1,.col-s-2,.col-s-3,.col-s-4,.col-s-5,.col-s-6,
.col-s-7,.col-s-8,.col-s-9,.col-s-10,.col-s-11,.col-s-12 {
    width: 100%;
}

/* TABLET */
@media only screen and (min-width: 600px) {

    .col-s-1 {width:8.33%;}
    .col-s-2 {width:16.66%;}
    .col-s-3 {width:25%;}
    .col-s-4 {width:33.33%;}
    .col-s-5 {width:41.66%;}
    .col-s-6 {width:50%;}
    .col-s-7 {width:58.33%;}
    .col-s-8 {width:66.66%;}
    .col-s-9 {width:75%;}
    .col-s-10 {width:83.33%;}
    .col-s-11 {width:91.66%;}
    .col-s-12 {width:100%;}
}

/* DESKTOP */
@media only screen and (min-width: 768px) {

    .col-1 {width:8.33%;}
    .col-2 {width:16.66%;}
    .col-3 {width:25%;}
    .col-4 {width:33.33%;}
    .col-5 {width:41.66%;}
    .col-6 {width:50%;}
    .col-7 {width:58.33%;}
    .col-8 {width:66.66%;}
    .col-9 {width:75%;}
    .col-10 {width:83.33%;}
    .col-11 {width:91.66%;}
    .col-12 {width:100%;}
}

/* =========================================================
   UTILITIES
========================================================= */
.text-center {
    text-align: center;
}

.align-center {
    align-items: center;
}

.justify-between {
    justify-content: space-between;
}

.justify-center {
    justify-content: center;
}

.mt-20 {
    margin-top: 20px;
}

.mb-20 {
    margin-bottom: 20px;
}

.py-80 {
    padding-top: 80px;
    padding-bottom: 80px;
}

/* =========================================================
   POPUP
========================================================= */
.popup {
    position: fixed;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);

    display: flex;
    justify-content: center;
    align-items: center;

    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease;

    z-index: 9999;
}

.popup.show {
    opacity: 1;
    visibility: visible;
}

.popup-box {
    position: relative;
    background: white;
    padding: 20px;
    border-radius: 12px;
    text-align: center;
    width: 90%;
    max-width: 400px;

    transform: scale(0.7);
    transition: all 0.4s ease;
}

.popup.show .popup-box {
    transform: scale(1);
}

.popup-box img {
    width: 100%;
    border-radius: 10px;
}

.close-btn {
    position: absolute;
    top: 8px;
    right: 12px;
    cursor: pointer;
    font-size: 20px;
}

/* =========================================================
   NAVBAR
========================================================= */
.navbar {
    background: #0d2c4a;
    padding: 18px 0;
    position: sticky;
    top: 0;
    z-index: 999;
}

.logo {
    height: 48px;
    width: auto;
    display: block;
}
.navbar .row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.navbar .col-3,
.navbar .col-9 {
    display: flex;
    align-items: center;
}
.navbar .col-9 {
    justify-content: flex-end;
}
nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.navbar nav a {
    color: white;
    margin-left: 25px;
    font-size: 14px;
    transition: 0.3s;
}

.navbar nav a:hover {
    color: #2ec4b6;
}

.navbar .btn {
    background: #2ec4b6;
    padding: 8px 14px;
    border-radius: 6px;
}

/* =========================================================
   HAMBURGER
========================================================= */
.menu-toggle {
    display: none;
    font-size: 28px;
    color: white;
    cursor: pointer;
}

/* =========================================================
   HERO
========================================================= */
.hero {
    min-height: 95vh;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    padding: 80px 0;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url('../images/hero.jpg') center/cover no-repeat;
    z-index: 1;
}

.hero::after {
    content: "";
    position: absolute;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        to right,
        rgba(255,255,255,0.95),
        rgba(255,255,255,0.7),
        transparent
    );
    z-index: 2;
}

.hero-content {
    position: relative;
    z-index: 3;
}

.hero-left {
    max-width: 550px;
    animation: fadeUp 1s ease forwards;
}

.hero h1 {
    font-size: 52px;
    font-weight: 700;
    line-height: 1.2;
}

.hero-buttons {
    margin-top: 25px;
}

.btn-dark {
    background: #0d2c4a;
    color: white;
    padding: 12px 22px;
    border-radius: 6px;
    margin-right: 10px;
    transition: 0.3s;
    display: inline-block;
}

.btn-green {
    background: #2ec4b6;
    color: white;
    padding: 12px 22px;
    border-radius: 6px;
    transition: 0.3s;
    display: inline-block;
}

.btn-dark:hover {
    background: #081c33;
}

.btn-green:hover {
    background: #1da89b;
}

/* =========================================================
   SERVICES
========================================================= */
.services {
    text-align: center;
    padding: 70px 0;
}

.services h2 {
    font-size: 28px;
    margin-bottom: 40px;
}

.card {
    width: 100%;
    padding: 25px;
    border-radius: 12px;
    transition: all 0.3s ease;
    background: white;
    height: 100%;
    margin-bottom: 20px;
}

.card i {
    font-size: 40px;
    color: #2ec4b6;
    margin-bottom: 10px;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}

/* =========================================================
   "why-claww fade-section
========================================================= */
.why-claww {
    background: #f5f7fa;
    padding: 70px 0;
    text-align: center;
}

.step {
    margin-bottom: 20px;
}

.step span {
    display: block;
    background: #2ec4b6;
    width: 45px;
    height: 45px;
    line-height: 45px;
    border-radius: 50%;
    color: white;
    margin: auto;
    margin-bottom: 10px;
}

/* =========================================================
   CTA SECTION
========================================================= */
.cta-section {
    text-align: center;
}

.about p {
    max-width: 700px;
    margin: auto;
    line-height: 1.6;
}

/* =========================================================
   BOOKING
========================================================= */
.booking {
    background: #f9f9f9;
    padding: 70px 0;
}

.booking form {
    max-width: 700px;
    margin: auto;
}

.booking input,
.booking textarea {
    width: 100%;
    padding: 12px;
    margin-bottom: 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
}

.checkbox-group {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

button {
    background: #0d2c4a;
    color: white;
    padding: 12px;
    border-radius: 6px;
    border: none;
    width: 100%;
    cursor: pointer;
}

/* =========================================================
   FOOTER
========================================================= */
.footer {
    background: #0d2c4a;
    color: white;
    padding: 40px 0;
    text-align: center;
}
/* ==========================================
   FOOTER
========================================== */

.footer{

    background:#0d2c4a;

    color:white;

    padding-top:60px;
}

.footer-grid{

    display:grid;

    grid-template-columns:
        2fr
        1fr
        1fr
        1.5fr;

    gap:40px;
}

.footer-column h3{

    margin-bottom:20px;

    color:#2ec4b6;
}

.footer-column p{

    color:#d8e1ea;

    line-height:1.8;

    margin-bottom:10px;
}

.footer-column ul{

    list-style:none;
}

.footer-column ul li{

    margin-bottom:12px;
}

.footer-column ul li a{

    color:#d8e1ea;

    transition:.3s;
}

.footer-column ul li a:hover{

    color:#2ec4b6;
}

.footer-logo{

    max-width:180px;

    margin-bottom:20px;
}

.footer-bottom{

    margin-top:50px;

    border-top:1px solid rgba(255,255,255,.15);

    padding:25px 0;

    text-align:center;
}

.footer-bottom p{

    color:#d8e1ea;
}

/* ==========================================
   MOBILE
========================================== */

@media(max-width:768px){

    .footer-grid{

        grid-template-columns:1fr;

        gap:30px;

        text-align:center;
    }

    .footer-logo{

        margin:0 auto 20px;
    }

}
/* =========================================================
   ANIMATION
========================================================= */
@keyframes fadeUp {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================================================
   SCROLL ANIMATION
========================================================= */
.fade-section {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.6s ease;
}

.fade-section.active {
    opacity: 1;
    transform: translateY(0);
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width: 768px) {

    .hero {
        min-height: auto;
        padding: 80px 0;
        text-align: center;
    }

    .hero::after {
        width: 100%;
        background: rgba(255,255,255,0.9);
    }

    .hero h1 {
        font-size: 34px;
    }

    .hero-left {
        max-width: 100%;
    }

    .menu-toggle {
        display: block;
    }

    nav {
        display: none;
        flex-direction: column;
        width: 100%;
        background: #0d2c4a;
        margin-top: 10px;
        padding: 10px;
    }

    nav.active {
        display: flex;
    }

    nav a {
        padding: 10px 0;
        border-top: 1px solid rgba(255,255,255,0.2);
        margin-left: 0 !important;
    }
}
/* =========================================================
   PLAN PREVIEW
========================================================= */
.membership-preview
{
    padding: 20px;
}

.plan-card{
    background:#fff;
    padding:25px;
    border-radius:12px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
    height:100%;
    transition:.3s;
}

.plan-card:hover{
    transform:translateY(-5px);
}

/* =========================================================
   FLOATING WHATSAPP
========================================================= */
.whatsapp-float{

    position:fixed;

    right:20px;
    bottom:20px;

    width:65px;
    height:65px;

    border-radius:50%;

    background:#25D366;

    color:white;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:30px;

    box-shadow:0 5px 20px rgba(0,0,0,.2);

    z-index:9999;

    transition:.3s;
}

.whatsapp-float:hover{

    transform:scale(1.1);
}