/* ================================
   GYMANATHI - MAIN STYLESHEET
   ================================ */

:root {
    /* Colors */
    --primary: #0E9B8A;
    --primary-dark: #077059;
    --accent: #FF6A00;
    --accent-light: #FF8533;
    --secondary-cta: #00A651;
    --neutral-light: #f9f9f9;
    --neutral-gray: #d0d0d0;
    --text-dark: #1a1a1a;
    --text-light: #555555;
    --border: #e5e5e5;
    --success: #00A651;
    --warning: #f39c12;
    --error: #e74c3c;
    --dark-overlay: rgba(0, 0, 0, 0.5);
    
    /* Typography */
    --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Helvetica Neue', sans-serif;
    --font-mono: 'Courier New', monospace;
    
    /* Spacing */
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 1.5rem;
    --spacing-lg: 2rem;
    --spacing-xl: 3rem;
    --spacing-2xl: 4rem;
    
    /* Transitions */
    --transition: all 0.3s ease;
    --transition-slow: all 0.5s ease;
}

/* Reset & Baseline */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-sans);
    color: var(--text-dark);
    background-color: #ffffff;
    line-height: 1.6;
}

a {
    color: var(--accent);
    text-decoration: none;
    transition: var(--transition);
}

a:hover {
    color: var(--accent-light);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Container */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: var(--spacing-md);
    color: var(--primary);
}

h1 {
    font-size: 3rem;
}

h2 {
    font-size: 2.5rem;
}

h3 {
    font-size: 1.75rem;
}

h4 {
    font-size: 1.5rem;
}

p {
    margin-bottom: var(--spacing-md);
    color: var(--text-light);
}

/* Buttons */
.btn {
    display: inline-block;
    padding: var(--spacing-sm) var(--spacing-lg);
    border: 2px solid transparent;
    border-radius: 4px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-primary {
    background-color: var(--accent);
    color: #ffffff;
    border-color: var(--accent);
}

.btn-primary:hover:not(:disabled) {
    background-color: var(--accent-light);
    border-color: var(--accent-light);
    transform: translateY(-2px);
}

.btn-secondary {
    background-color: transparent;
    color: var(--accent);
    border-color: var(--accent);
}

.btn-secondary:hover {
    background-color: var(--accent);
    color: #ffffff;
}

.btn-outline {
    background-color: transparent;
    color: var(--text-dark);
    border-color: var(--border);
}

.btn-outline:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.btn-small {
    padding: var(--spacing-xs) var(--spacing-md);
    font-size: 0.9rem;
}

.btn-large {
    padding: var(--spacing-md) var(--spacing-xl);
    font-size: 1.1rem;
}

.btn-full {
    width: 100%;
}

/* Navbar */
.navbar {
    position: sticky;
    top: 0;
    background-color: var(--primary);
    color: #ffffff;
    padding: var(--spacing-md) 0;
    z-index: 1000;
    box-shadow: 0 4px 15px rgba(14, 155, 138, 0.15);
}

.navbar-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.navbar-brand {
    flex-shrink: 0;
}

.logo {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--accent);
    letter-spacing: 2px;
}

.nav-menu {
    display: flex;
    list-style: none;
    gap: var(--spacing-lg);
    align-items: center;
}

.nav-item {
    position: relative;
}

.nav-link {
    color: #ffffff;
    font-weight: 500;
    transition: var(--transition);
    position: relative;
    padding-bottom: var(--spacing-xs);
}

.nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: -4px;
    left: 0;
    background-color: var(--accent);
    transition: width 0.3s ease;
}

.nav-link:hover::after,
.nav-link.active::after {
    width: 100%;
}

.nav-cta {
    background-color: var(--secondary-cta);
    color: #ffffff !important;
    padding: var(--spacing-sm) var(--spacing-lg);
    border-radius: 4px;
    font-weight: 600;
}

.nav-cta:hover {
    background-color: #009244;
    transform: translateY(-2px);
}

.nav-cta::after {
    display: none;
}

.hamburger {
    display: none;
    flex-direction: column;
    cursor: pointer;
    gap: 5px;
}

.hamburger span {
    width: 25px;
    height: 3px;
    background-color: #ffffff;
    border-radius: 2px;
    transition: var(--transition);
}

.hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(10px, 10px);
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
}

.hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(8px, -8px);
}

/* Hero Section */
.hero {
    position: relative;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #ffffff;
    overflow: hidden;
}

.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--dark-overlay);
    z-index: 1;
}

.hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;

}

.hero-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.hero-content {
    z-index: 2;
    max-width: 800px;
    padding: var(--spacing-2xl);
}

.hero-title {
    color: #ffffff;
    font-size: 3.5rem;
    margin-bottom: var(--spacing-lg);
    line-height: 1.1;
    font-weight: 800;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
}

.hero-subtitle {
    font-size: 1.3rem;
    color: #ffffff;
    margin-bottom: var(--spacing-lg);
    font-weight: 500;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
}

.hero-ctas {
    display: flex;
    gap: var(--spacing-md);
    flex-wrap: wrap;
    justify-content: center;
}

/* Announcement Banner */
.announcement {
    background: linear-gradient(135deg, var(--primary) 0%, #0D7B72 100%);
    color: #ffffff;
    padding: var(--spacing-md);
    text-align: center;
}

.announcement-content {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md);
}

.announcement-text {
    font-weight: 500;
}

/* Sections */
.section-title {
    text-align: center;
    margin-bottom: var(--spacing-xl);
    font-size: 2.5rem;
}

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-lg);
}

.view-all {
    color: var(--accent);
    font-weight: 600;
    transition: var(--transition);
}

.view-all:hover {
    color: var(--accent-light);
    text-decoration: underline;
}

/* Welcome Section */
.welcome-section {
    padding: var(--spacing-2xl) 0;
    background-color: var(--neutral-light);
}

.welcome-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: var(--spacing-xl);
    align-items: center;
}

.welcome-text {
    font-size: 1.1rem;
    line-height: 1.8;
}

.welcome-stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
}

.stat-card {
    background-color: #ffffff;
    padding: var(--spacing-lg);
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.stat-card h3 {
    font-size: 2rem;
    color: var(--accent);
    margin-bottom: var(--spacing-sm);
}

.stat-card p {
    color: var(--text-light);
    margin: 0;
}

/* Service Cards */
.services-grid,
.blog-grid,
.shop-grid,
.updates-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
}

.service-card,
.blog-card,
.shop-card,
.trainer-card,
.update-card {
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    transition: var(--transition);
    border: 1px solid var(--border);
}

.service-card {
    padding: var(--spacing-lg);
    text-align: center;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.service-icon {
    font-size: 3rem;
    margin-bottom: var(--spacing-md);
}

.service-card h3 {
    margin-bottom: var(--spacing-md);
}

.service-link {
    color: var(--accent);
    font-weight: 600;
    display: inline-block;
}

.service-link:hover {
    text-decoration: underline;
}

/* Featured Services Section */
.featured-services {
    padding: var(--spacing-2xl) 0;
}

/* Pricing Cards */
.pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
}

.pricing-card {
    background-color: #ffffff;
    border: 2px solid var(--border);
    border-radius: 8px;
    padding: var(--spacing-xl);
    text-align: center;
    transition: var(--transition);
    position: relative;
}

.pricing-card.featured {
    border-color: var(--accent);
    transform: scale(1.05);
    box-shadow: 0 10px 30px rgba(255, 107, 53, 0.15);
}

.pricing-card:hover {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.popular-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--accent);
    color: #ffffff;
    padding: var(--spacing-xs) var(--spacing-md);
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
}

.pricing-card h3 {
    font-size: 1.5rem;
    margin-bottom: var(--spacing-md);
}

.price {
    font-size: 2.5rem;
    color: var(--accent);
    margin-bottom: var(--spacing-sm);
    font-weight: 800;
}

.price span {
    font-size: 1rem;
    color: var(--text-light);
}

.features-list {
    list-style: none;
    margin: var(--spacing-lg) 0;
    text-align: left;
}

.features-list li {
    padding: var(--spacing-sm) 0;
    border-bottom: 1px solid var(--border);
    color: var(--text-light);
}

.features-list li:last-child {
    border-bottom: none;
}

/* ===========================
   FOUNDERS SECTION
=========================== */


.trainers-section{
    padding:90px 20px;
    background:#fff;
}

.trainers-section .section-title{
    text-align:center;
    font-size:3rem;
    font-weight:700;
    color:#0b9a92;
    margin-bottom:60px;
    text-transform:uppercase;
}

/* GRID */


.trainers-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,340px));
    justify-content:center;
    gap:35px;
}

/* CARD */

.trainer-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
    transition:.35s ease;
    text-align:center;
}

.trainer-card:hover{
    transform:translateY(-12px);
    box-shadow:0 20px 45px rgba(0,0,0,.15);
}

/* IMAGE */

.trainer-card img{
    width:100%;
    height:auto;
    display:block;

    /* Shows the FULL image */
    object-fit:contain;

    background:#f5f5f5;
}

/* CONTENT */

.trainer-card h3{
    margin-top:25px;
    font-size:2rem;
    color:#00897b;
    font-weight:700;
}

.trainer-specialty{
    margin:12px 0;
    color:#ff6200;
    font-size:1.1rem;
    font-weight:600;
}

.trainer-bio{
    padding:0 25px 30px;
    color:#666;
    line-height:1.8;
    font-size:1rem;
}

/* Responsive */

@media(max-width:768px){

.trainers-section{
    padding:70px 20px;
}

.trainers-section .section-title{
    font-size:2.2rem;
}

.trainers-grid{
    grid-template-columns:1fr;
}

.trainer-card{
    max-width:360px;
    width:100%;
    margin:auto;
}

}
/* Testimonials */
.testimonials-section {
    padding: var(--spacing-2xl) 0;
    background-color: var(--neutral-light);
}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--spacing-lg);
}

.testimonial-card {
    background-color: #ffffff;
    padding: var(--spacing-lg);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.stars {
    color: var(--accent);
    font-size: 1.2rem;
    margin-bottom: var(--spacing-md);
}

.testimonial-text {
    font-style: italic;
    color: var(--text-light);
    margin-bottom: var(--spacing-md);
}

.testimonial-author {
    font-weight: 600;
    color: var(--text-dark);
    margin: 0;
}

/* ===========================
   SHOP PREVIEW SECTION
=========================== */

.shop-preview{
    padding:90px 20px;
    background:linear-gradient(180deg,#ffffff,#f7fbfb);
}

.shop-preview .container{
    max-width:1200px;
    margin:auto;
}

/* HEADER */

.section-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:50px;
    flex-wrap:wrap;
    gap:15px;
}

.section-title{
    font-size:2.8rem;
    color:#0b9a92;
    font-weight:700;
}

.view-all{
    text-decoration:none;
    color:#0b9a92;
    font-weight:600;
    font-size:1rem;
    transition:.3s;
}

.view-all:hover{
    color:#ff6600;
}

/* GRID */

.shop-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,320px));
    justify-content:center;
    gap:35px;
}

/* CARD */

.shop-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 12px 30px rgba(0,0,0,.08);
    transition:.35s ease;
    text-align:center;
    padding-bottom:25px;
}

.shop-card:hover{
    transform:translateY(-12px);
    box-shadow:0 18px 40px rgba(0,0,0,.15);
}

/* IMAGE */

.shop-card img{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;
    transition:.4s;
}

.shop-card:hover img{
    transform:scale(1.05);
}

/* PRODUCT NAME */

.shop-card h3{
    margin:22px 0 10px;
    font-size:1.5rem;
    color:#00897b;
    font-weight:700;
}

/* PRICE */

.price{
    font-size:1.4rem;
    font-weight:700;
    color:#ff6200;
    margin-bottom:25px;
}

/* BUTTON */

.shop-card .btn{
    padding:14px 30px;
    border:none;
    border-radius:50px;
    background:#0b9a92;
    color:#fff;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}

.shop-card .btn:hover{
    background:#ff6600;
    transform:translateY(-3px);
}

/* RESPONSIVE */

@media(max-width:768px){

.shop-preview{
    padding:70px 20px;
}

.section-header{
    flex-direction:column;
    text-align:center;
}

.section-title{
    font-size:2.2rem;
}

.shop-grid{
    grid-template-columns:1fr;
}

.shop-card{
    max-width:350px;
    width:100%;
    margin:auto;
}

.shop-card img{
    height:260px;
}

}
/* Updates & Blog Grid */
.updates-grid,
.blog-grid-full {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
}

.update-card {
    padding: var(--spacing-lg);
    transition: var(--transition);
}

.update-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateX(5px);
}

.update-date {
    display: inline-block;
    color: var(--accent);
    font-weight: 600;
    margin-bottom: var(--spacing-sm);
    font-size: 0.9rem;
}

.update-category {
    display: inline-block;
    background-color: var(--neutral-light);
    color: var(--text-dark);
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 600;
    margin-left: var(--spacing-md);
}

/* Blog */
.blog-featured {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
    align-items: center;
    background-color: var(--neutral-light);
    padding: var(--spacing-xl);
    border-radius: 8px;
    margin-bottom: var(--spacing-xl);
}

.blog-featured img {
    border-radius: 8px;
    height: 350px;
    object-fit: cover;
}

.featured-content h2 {
    margin-bottom: var(--spacing-md);
}

.blog-category {
    display: inline-block;
    background-color: var(--accent);
    color: #ffffff;
    padding: var(--spacing-xs) var(--spacing-md);
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: var(--spacing-md);
}

.blog-card {
    overflow: hidden;
}

.blog-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    transition: var(--transition);
}

.blog-card:hover img {
    transform: scale(1.05);
}

.blog-card h3,
.blog-card .blog-category {
    margin: var(--spacing-md);
}

.blog-card h3 {
    margin-bottom: var(--spacing-sm);
}

.blog-card p {
    margin: 0 var(--spacing-md) var(--spacing-md);
    color: var(--text-light);
}

.blog-meta {
    margin: 0 var(--spacing-md) var(--spacing-md);
    color: var(--text-light);
    font-size: 0.9rem;
}

.read-more {
    display: inline-block;
    margin: 0 var(--spacing-md) var(--spacing-md);
    color: var(--accent);
    font-weight: 600;
    transition: var(--transition);
}

.read-more:hover {
    text-decoration: underline;
}

/* Shop */
.shop-section {
    padding: var(--spacing-2xl) 0;
}

.shop-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
    flex-wrap: wrap;
}

.filter-dropdown {
    padding: var(--spacing-sm) var(--spacing-md);
    border: 1px solid var(--border);
    border-radius: 4px;
    font-size: 1rem;
    cursor: pointer;
    transition: var(--transition);
}

.filter-dropdown:hover {
    border-color: var(--accent);
}

.cart-indicator {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.cart-count {
    background-color: var(--accent);
    color: #ffffff;
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: 50%;
    min-width: 25px;
    text-align: center;
    font-weight: 600;
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
}

.product-card {
    background-color: #ffffff;
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
    transition: var(--transition);
}

.product-card:hover {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    transform: translateY(-5px);
}

.product-image {
    position: relative;
    overflow: hidden;
    height: 200px;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.product-card:hover .product-image img {
    transform: scale(1.1);
}

.product-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: var(--accent);
    color: #ffffff;
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
}

.product-badge.sale {
    background-color: var(--error);
}

.product-badge.new {
    background-color: var(--success);
}

.product-info {
    padding: var(--spacing-lg);
}

.product-info h3 {
    font-size: 1.1rem;
    margin-bottom: var(--spacing-sm);
}

.product-description {
    font-size: 0.9rem;
    color: var(--text-light);
    margin-bottom: var(--spacing-md);
}

.product-price {
    font-size: 1.5rem;
    color: var(--accent);
    font-weight: 700;
    margin-bottom: var(--spacing-sm);
}

.original-price {
    text-decoration: line-through;
    color: var(--text-light);
    font-size: 0.9rem;
    margin-right: var(--spacing-sm);
}

.product-rating {
    color: var(--text-light);
    font-size: 0.9rem;
    margin-bottom: var(--spacing-md);
}

.product-colors {
    display: flex;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-md);
}

.color-option {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 2px solid var(--border);
    cursor: pointer;
    transition: var(--transition);
}

.color-option:hover {
    border-color: var(--accent);
    transform: scale(1.1);
}

.product-options {
    margin-bottom: var(--spacing-md);
}

.option-select {
    width: 100%;
    padding: var(--spacing-sm);
    border: 1px solid var(--border);
    border-radius: 4px;
    font-size: 0.95rem;
    cursor: pointer;
}

/* CTA Section */
.cta-section {
    background-color: var(--primary);
    color: #ffffff;
    padding: var(--spacing-2xl);
    text-align: center;
    margin: var(--spacing-2xl) 0 0 0;
}

.cta-section h2 {
    color: #ffffff;
    font-size: 2.5rem;
    margin-bottom: var(--spacing-md);
}

.cta-section p {
    font-size: 1.1rem;
    color: var(--neutral-gray);
    margin-bottom: var(--spacing-lg);
}

/* Footer */
.footer {
    background-color: var(--primary);
    color: #ffffff;
    padding: var(--spacing-2xl) 0 var(--spacing-lg);
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
    padding-bottom: var(--spacing-xl);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-section h4 {
    color: #ffffff;
    margin-bottom: var(--spacing-md);
    font-size: 1rem;
}

.footer-section ul {
    list-style: none;
}

.footer-section li {
    margin-bottom: var(--spacing-sm);
}

.footer-section a {
    color: var(--neutral-gray);
    transition: var(--transition);
}

.footer-section a:hover {
    color: var(--accent);
}

.footer-section p {
    margin-bottom: var(--spacing-sm);
    color: var(--neutral-gray);
}

.social-links {
    display: flex;
    gap: var(--spacing-md);
    margin-top: var(--spacing-md);
}

.social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    background-color: var(--accent);
    color: #ffffff;
    border-radius: 50%;
    font-weight: 600;
    transition: var(--transition);
}

.social-links a:hover {
    background-color: var(--accent-light);
    transform: translateY(-3px);
}

.footer-newsletter {
    margin-bottom: var(--spacing-lg);
}

.footer-newsletter h4 {
    color: #ffffff;
    margin-bottom: var(--spacing-md);
}

.newsletter-form {
    display: flex;
    gap: var(--spacing-md);
    max-width: 400px;
}

.newsletter-form input {
    flex: 1;
    padding: var(--spacing-sm);
    border: 1px solid var(--border);
    border-radius: 4px;
    font-size: 0.9rem;
}

.newsletter-form .btn {
    white-space: nowrap;
}

.footer-bottom {
    text-align: center;
    padding-top: var(--spacing-lg);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--neutral-gray);
    font-size: 0.9rem;
}

/* Page Header */
.page-header {
    background-color: var(--primary);
    color: #ffffff;
    padding: var(--spacing-2xl) 0;
    text-align: center;
}

.page-header h1 {
    color: #ffffff;
    font-size: 3rem;
    margin-bottom: var(--spacing-md);
}

.page-header p {
    color: var(--neutral-gray);
    font-size: 1.1rem;
}

/* About Section Styles */
.about-section,
.mission-vision,
.values-section,
.facilities-section,
.staff-section,
.achievements-section,
.why-choose-us {
    padding: var(--spacing-2xl) 0;
}

.service-detail.alternate {
    background-color: var(--neutral-light);
}

.about-section,
.welcome-section,
.featured-services,
.membership-section,
.testimonials-section,
.blog-section,
.categories-section,
.subscribe-section {
    padding: var(--spacing-2xl) 0;
}

/* Form Styles */
.contact-form,
.registration-form,
form {
    display: grid;
    gap: var(--spacing-md);
}

.form-group {
    display: grid;
    gap: var(--spacing-sm);
}

.form-group label {
    font-weight: 600;
    color: var(--text-dark);
}

.form-group input,
.form-group textarea,
.form-group select {
    padding: var(--spacing-sm);
    border: 1px solid var(--border);
    border-radius: 4px;
    font-family: var(--font-sans);
    font-size: 1rem;
    transition: var(--transition);
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.1);
}

.form-group.checkbox {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--spacing-sm);
}

.form-group.checkbox input {
    margin-top: 4px;
}

.checkbox-group {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--spacing-md);
}

.checkbox-item {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
    font-weight: normal;
}

.checkbox-item input {
    width: 20px;
    height: 20px;
    cursor: pointer;
}

/* About Page - Mission/Vision Cards */
.mv-grid,
.values-grid,
.reasons-grid,
.facilities-grid,
.achievements-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
}

.mv-card,
.value-card,
.reason-item,
.facility-card,
.achievement-card {
    background-color: #ffffff;
    padding: var(--spacing-lg);
    border-radius: 8px;
    transition: var(--transition);
    border: 1px solid var(--border);
}

.mv-card:hover,
.value-card:hover,
.facility-card:hover,
.achievement-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(14, 155, 138, 0.15);
}

.mv-card h3,
.value-card h3,
.reason-item h3,
.facility-card h3,
.achievement-card {
    color: var(--primary);
    font-size: 1.3rem;
    margin-bottom: var(--spacing-md);
}

.facility-card img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: var(--spacing-md);
}

.achievement-number {
    display: block;
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--accent);
    margin-bottom: var(--spacing-sm);
}

/* About Content */
.about-content {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.about-content p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--text-light);
}

/* Services Page */
.service-detail {
    padding: var(--spacing-2xl) 0;
}

.service-detail.alternate {
    background-color: var(--neutral-light);
}

.service-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl);
    align-items: center;
    margin-bottom: var(--spacing-xl);
}

.service-content img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    border-radius: 8px;
}

.service-content h2 {
    color: var(--text-dark);
    font-size: 2rem;
    margin-bottom: var(--spacing-md);
}

.service-content ul {
    list-style: none;
    margin: var(--spacing-lg) 0;
}

.service-content li {
    padding: var(--spacing-sm) 0;
    color: var(--text-light);
    font-weight: 500;
}

.service-content li:before {
    content: '✓ ';
    color: var(--primary);
    font-weight: 800;
    margin-right: var(--spacing-sm);
}

.package-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--spacing-lg);
    margin-top: var(--spacing-lg);
}

.package-card {
    background-color: #ffffff;
    border: 2px solid var(--border);
    border-radius: 8px;
    padding: var(--spacing-lg);
    text-align: center;
    transition: var(--transition);
}

.package-card:hover {
    border-color: var(--primary);
    box-shadow: 0 8px 20px rgba(14, 155, 138, 0.15);
}

.package-card h3 {
    color: var(--primary);
    font-size: 1.3rem;
    margin-bottom: var(--spacing-md);
}

/* Blog and Updates Grid Styles */
.blog-grid,
.updates-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: var(--spacing-lg);
}

.blog-card,
.update-card {
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    transition: var(--transition);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.blog-card:hover,
.update-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 24px rgba(14, 155, 138, 0.15);
}

/* Contact Page */
.contact-info-section {
    padding: var(--spacing-2xl) 0;
    background-color: var(--neutral-light);
}

.contact-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
}

.contact-card {
    background-color: #ffffff;
    padding: var(--spacing-lg);
    border-radius: 8px;
    text-align: center;
    border-left: 4px solid var(--primary);
}

.contact-card h3 {
    color: var(--primary);
    margin-bottom: var(--spacing-md);
}

.contact-card p {
    color: var(--text-light);
}

.contact-form-section {
    padding: var(--spacing-2xl) 0;
}

.contact-form-wrapper {
    max-width: 600px;
    margin: 0 auto;
}

.contact-form-wrapper form {
    background-color: var(--neutral-light);
    padding: var(--spacing-xl);
    border-radius: 8px;
}

.contact-map {
    width: 100%;
    height: 400px;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: var(--spacing-xl);
}

/* Join Page */
.membership-plans {
    padding: var(--spacing-2xl) 0;
}

.registration-section {
    padding: var(--spacing-2xl) 0;
    background-color: var(--neutral-light);
}

.registration-form-wrapper {
    max-width: 800px;
    margin: 0 auto;
}

.registration-form-wrapper form {
    background-color: #ffffff;
    padding: var(--spacing-xl);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* Updates Page */
.events-section {
    padding: var(--spacing-2xl) 0;
}

.event-card {
    background-color: #ffffff;
    padding: var(--spacing-lg);
    border-radius: 8px;
    border-left: 5px solid var(--primary);
    transition: var(--transition);
}

.event-card:hover {
    box-shadow: 0 8px 20px rgba(14, 155, 138, 0.15);
}

.event-date {
    color: var(--accent);
    font-weight: 700;
    font-size: 1.1rem;
    margin-bottom: var(--spacing-sm);
}

.event-title {
    color: var(--text-dark);
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: var(--spacing-sm);
}

.schedule-section {
    padding: var(--spacing-2xl) 0;
    background-color: var(--neutral-light);
}

.schedule-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.schedule-table th {
    background-color: var(--primary);
    color: #ffffff;
    padding: var(--spacing-md);
    text-align: left;
    font-weight: 600;
}

.schedule-table td {
    padding: var(--spacing-md);
    border-bottom: 1px solid var(--border);
}

.schedule-table tr:hover {
    background-color: var(--neutral-light);
}

/* FAQ Section */
.faq-section,
.join-faq {
    padding: var(--spacing-2xl) 0;
}

.faq-item {
    background-color: #ffffff;
    padding: var(--spacing-lg);
    border-radius: 8px;
    margin-bottom: var(--spacing-md);
    border: 1px solid var(--border);
    cursor: pointer;
    transition: var(--transition);
}

.faq-item:hover {
    box-shadow: 0 4px 12px rgba(14, 155, 138, 0.1);
}

.faq-item h3 {
    color: var(--primary);
    font-size: 1.1rem;
    margin: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.faq-item.active h3 {
    color: var(--accent);
}

.faq-toggle {
    color: var(--primary);
    font-weight: 600;
    font-size: 1.3rem;
    transition: var(--transition);
}

.faq-item.active .faq-toggle {
    color: var(--accent);
    transform: rotate(45deg);
}

.faq-answer {
    display: none;
    margin-top: var(--spacing-md);
    color: var(--text-light);
    line-height: 1.8;
    padding-top: var(--spacing-md);
    border-top: 1px solid var(--border);
}

.faq-item.active .faq-answer {
    display: block;
    animation: fadeInUp 0.3s ease-out;
}

/* Service Details */
.service-list {
    list-style: none;
    margin: var(--spacing-lg) 0;
}

.service-list li {
    padding: var(--spacing-sm) 0;
    padding-left: var(--spacing-md);
    color: var(--text-light);
    position: relative;
}

.service-list li:before {
    content: '→';
    position: absolute;
    left: 0;
    color: var(--primary);
    font-weight: 700;
}

.service-pricing {
    color: var(--accent);
    font-size: 1.2rem;
    margin: var(--spacing-lg) 0;
}

.service-image {
    overflow: hidden;
    border-radius: 8px;
}

.service-image img {
    width: 100%;
    height: 400px;
    object-fit: cover;
}

/* Scroll Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in {
    animation: fadeInUp 0.6s ease-out forwards;
}

/* Utility Classes */
.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.mt-lg {
    margin-top: var(--spacing-lg);
}

.mb-lg {
    margin-bottom: var(--spacing-lg);
}

.hidden {
    display: none;
}

.empty-cart {
    text-align: center;
    padding: var(--spacing-xl);
    color: var(--text-light);
}

/*=========================
HERO SLIDER
==========================*/

.hero-slider{
    position:relative;
    width:100%;
    height:100vh;
    overflow:hidden;
}

.slider{
    width:100%;
    height:100%;
    position:relative;
}

.slide{
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

    opacity:0;
    visibility:hidden;

    transition:opacity 1.2s ease;
}

.slide.active{
    opacity:1;
    visibility:visible;
}

.overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.55);
}

.hero-content{

    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    width:90%;
    max-width:900px;

    text-align:center;

    color:white;

    z-index:10;

}

.hero-content h1{

    font-size:4rem;

    margin-bottom:25px;

    line-height:1.2;

    animation:fadeDown 1s;

}

.hero-content p{

    font-size:1.25rem;

    line-height:1.8;

    margin-bottom:40px;

    animation:fadeUp 1s;

}

.hero-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.primary-btn{

    background:#00a693;

    color:white;

}

.secondary-btn{

    background:white;

    color:#00a693;

}

.hero-buttons .btn{

    padding:16px 40px;

    border-radius:50px;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.hero-buttons .btn:hover{

    transform:translateY(-5px);

}

@keyframes fadeDown{

from{

opacity:0;

transform:translateY(-40px);

}

to{

opacity:1;

transform:translateY(0);

}

}

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/*=========================
RESPONSIVE
==========================*/

@media(max-width:992px){

.hero-content h1{

font-size:3rem;

}

.hero-content p{

font-size:1.1rem;

}

}

@media(max-width:768px){

.hero-slider{

height:100vh;

}

.hero-content h1{

font-size:2.3rem;

}

.hero-content p{

font-size:1rem;

}

.hero-buttons{

flex-direction:column;

align-items:center;

}

.hero-buttons .btn{

width:220px;

text-align:center;

}

}

@media(max-width:480px){

.hero-content h1{

font-size:1.8rem;

}

.hero-content p{

font-size:.95rem;

}

} 

.welcome{
    color: white;
    text-align: center;
    margin-top: 10px;
    font-size: 80px;
}

/*=========================
ABOUT HERO
==========================*/

.about-hero{

height:80vh;

background:url("images/about-banner.jpg") center center/cover no-repeat;

position:relative;

display:flex;

align-items:center;

color:#fff;

}

.hero-overlay{

position:absolute;

inset:0;

background:rgba(0,0,0,.65);

}

.hero-content{

position:relative;

max-width:700px;

z-index:2;

}

.subtitle{

display:inline-block;

background:#00a693;

padding:8px 18px;

border-radius:30px;

font-size:.9rem;

margin-bottom:25px;

letter-spacing:1px;

}

.hero-content h1{

font-size:4rem;

line-height:1.2;

margin-bottom:25px;

font-weight:700;

}

.hero-content p{

font-size:1.15rem;

line-height:1.9;

color:#eee;

}


/*=========================
ABOUT SECTION
==========================*/

.about-section{

padding:100px 0;

background:#fff;

}

.about-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.about-image img{

width:100%;

border-radius:20px;

box-shadow:0 20px 50px rgba(0,0,0,.15);

}

.small-title{

color:#00a693;

font-weight:700;

letter-spacing:2px;

}

.about-text h2{

font-size:2.8rem;

margin:15px 0 25px;

color:#222;

}

.about-text p{

line-height:2;

font-size:1.05rem;

color:#666;

margin-bottom:20px;

}


/*=========================
MISSION
==========================*/

.mission-vision{

padding:100px 0;

background:#f7f9fa;

}

.mv-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:40px;

margin-top:60px;

}

.mv-card{

background:#fff;

padding:45px;

border-radius:18px;

box-shadow:0 15px 35px rgba(0,0,0,.08);

transition:.35s;

text-align:center;

}

.mv-card:hover{

transform:translateY(-10px);

}

.icon{

width:80px;

height:80px;

margin:auto;

border-radius:50%;

background:#00a693;

display:flex;

align-items:center;

justify-content:center;

font-size:2rem;

margin-bottom:25px;

}

.mv-card h3{

margin-bottom:20px;

font-size:1.7rem;

color:#00897b;

}

.mv-card p{

line-height:1.9;

color:#666;

}


/*=========================
RESPONSIVE
==========================*/

@media(max-width:992px){

.about-grid{

grid-template-columns:1fr;

}

.hero-content h1{

font-size:3rem;

}

}

@media(max-width:768px){

.about-hero{

height:65vh;

text-align:center;

}


.about-text{

text-align:center;

}

.section-title{

font-size:2rem;

}

}

.mv-card ul{
    list-style:none;
    padding:0;
    margin-top:20px;
    text-align:left;
}

.mv-card ul li{
    position:relative;
    padding-left:30px;
    margin-bottom:18px;
    line-height:1.8;
    color:#555;
}

.mv-card ul li::before{
    content:"✔";
    position:absolute;
    left:0;
    color:#00a693;
    font-weight:bold;
    font-size:1rem;
}

/*==============================
SERVICES HERO
===============================*/

.services-hero{

height:60vh;

background:url("images/services-banner.jpg") center/cover;

position:relative;

display:flex;

align-items:center;

color:#fff;

}

.hero-overlay{

position:absolute;

inset:0;

background:rgba(0,0,0,.65);

}

.services-hero .hero-content{

position:relative;

max-width:700px;

z-index:2;

}

.hero-content span{

display:inline-block;

background:#00a693;

padding:8px 20px;

border-radius:40px;

margin-bottom:20px;

font-size:.9rem;

font-weight:600;

}



/*==============================
SERVICES
===============================*/

.services{

padding:100px 0;

background:#f7fafb;

}

.service-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:35px;

margin-top:60px;

}

.service-card{

background:#fff;

padding:40px;

border-radius:20px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.35s;

text-align:center;

}

.service-card:hover{

transform:translateY(-10px);

}

.service-icon{

font-size:3rem;

margin-bottom:20px;

}

.service-card h3{

font-size:1.6rem;

color:#00897b;

margin-bottom:10px;

}

.service-day{

display:inline-block;

background:#00a693;

color:#fff;

padding:8px 18px;

border-radius:30px;

margin-bottom:20px;

font-size:.9rem;

}

.service-card p{

line-height:1.8;

color:#666;

}


/*==============================
PRICING
===============================*/

.pricing{

padding:100px 0;

background:#fff;

}

.pricing-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(330px,380px));

justify-content:center;

gap:40px;

margin-top:60px;

}

.price-card{

background:#fff;

border-radius:20px;

padding:45px;

box-shadow:0 15px 45px rgba(0,0,0,.1);

position:relative;

transition:.35s;

text-align:center;

}

.price-card:hover{

transform:translateY(-10px);

}

.featured{

background:#00897b;

color:#fff;

}

.badge{

position:absolute;

top:-15px;

right:25px;

background:#ff9800;

padding:8px 18px;

border-radius:30px;

font-size:.8rem;

font-weight:600;

}

.price{

font-size:3rem;

font-weight:bold;

margin:25px 0;

}

.price span{

font-size:1rem;

font-weight:400;

}

.price-card ul{

list-style:none;

padding:0;

margin:30px 0;

text-align:left;

}

.price-card li{

margin-bottom:15px;

}

.price-btn{

display:inline-block;

padding:15px 35px;

background:#00a693;

color:#fff;

text-decoration:none;

border-radius:40px;

font-weight:600;

transition:.3s;

}

.featured .price-btn{

background:#fff;

color:#00897b;

}

.price-btn:hover{

transform:translateY(-4px);

}


/*==============================
RESPONSIVE
===============================*/

@media(max-width:768px){

.services-hero{

height:50vh;

text-align:center;

}



.service-grid{

grid-template-columns:1fr;

}

.pricing-grid{

grid-template-columns:1fr;

}

}

/*=========================
GENERAL
==========================*/

.gallery-hero{

height:70vh;

background:url(images/gallery/banner.jpg) center/cover;

display:flex;

align-items:center;

position:relative;

color:#fff;

}

.gallery-overlay{

position:absolute;

inset:0;

background:rgba(0,0,0,.6);

}

.gallery-hero-content{

position:relative;

max-width:700px;

z-index:2;

}

.gallery-hero-content span{

display:inline-block;

padding:8px 18px;

background:#00a693;

border-radius:30px;

margin-bottom:20px;

font-weight:600;

}

.gallery-hero-content h1{

font-size:4rem;

margin-bottom:20px;

}

.gallery-hero-content p{

font-size:1.1rem;

line-height:1.8;

}

/*=========================
INTRO
==========================*/

.gallery-intro{

padding:90px 20px;

text-align:center;

}

.gallery-intro p{

max-width:700px;

margin:auto;

line-height:1.8;

color:#666;

}

/*=========================
FILTER
==========================*/

.gallery-filter{

padding-bottom:50px;

text-align:center;

}

.gallery-filter button{

padding:12px 30px;

margin:8px;

border:none;

border-radius:30px;

background:#ececec;

cursor:pointer;

transition:.3s;

font-weight:600;

}

.gallery-filter button.active,

.gallery-filter button:hover{

background:#00a693;

color:#fff;

}

/*=========================
GRID
==========================*/

.gallery{

padding-bottom:100px;

}

.gallery-grid{

display:grid;

grid-template-columns:repeat(auto-fill,minmax(300px,1fr));

gap:25px;

}

.gallery-item{

position:relative;

overflow:hidden;

border-radius:20px;

cursor:pointer;

}

.gallery-item img{

width:100%;

height:320px;

object-fit:cover;

transition:.5s;

display:block;

}

.gallery-item:hover img{

transform:scale(1.1);

}

.gallery-overlay-content{

position:absolute;

inset:0;

display:flex;

align-items:flex-end;

padding:30px;

background:linear-gradient(transparent,rgba(0,0,0,.85));

opacity:0;

transition:.4s;

}

.gallery-item:hover .gallery-overlay-content{

opacity:1;

}

.gallery-overlay-content h3{

color:#fff;

}

/*=========================
STATS
==========================*/

.gallery-stats{

background:#00a693;

padding:80px 20px;

}

.stats-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:30px;

text-align:center;

color:#fff;

}

.stat-box h2{

font-size:3rem;

margin-bottom:10px;

}

/*=========================
CTA
==========================*/

.gallery-cta{

padding:100px 20px;

text-align:center;

background:#f8f8f8;

}

.gallery-cta h2{

font-size:2.8rem;

margin-bottom:20px;

}

.gallery-cta p{

max-width:650px;

margin:auto;

line-height:1.8;

margin-bottom:35px;

color:#666;

}

.cta-btn{

display:inline-block;

padding:16px 40px;

background:#00a693;

color:#fff;

border-radius:50px;

text-decoration:none;

font-weight:600;

transition:.3s;

}

.cta-btn:hover{

background:#00897b;

transform:translateY(-5px);

}

/*=========================
RESPONSIVE
==========================*/

@media(max-width:992px){

.gallery-hero-content h1{

font-size:3rem;

}

}

@media(max-width:768px){

.gallery-hero{

height:60vh;

text-align:center;

}

.gallery-hero-content{

margin:auto;

}

.gallery-hero-content h1{

font-size:2.3rem;

}

.gallery-grid{

grid-template-columns:1fr;

}

.gallery-item img{

height:260px;

}

.gallery-cta h2{

font-size:2rem;

}

}

@media(max-width:480px){

.gallery-hero-content h1{

font-size:1.8rem;

}

.gallery-filter button{

width:100%;

max-width:250px;

}

}

.contact-hero{

height:60vh;

background:url(images/contact-banner.jpg) center center/cover;

position:relative;

display:flex;

align-items:center;

color:#fff;

}

.contact-hero .hero-overlay{

position:absolute;

inset:0;

background:rgba(0,0,0,.6);

}

.contact-hero .hero-content{

position:relative;

max-width:700px;

z-index:2;

}

.contact-hero span{

display:inline-block;

padding:8px 18px;

background:#00a693;

border-radius:30px;

margin-bottom:20px;

font-weight:600;

}

.contact-hero h1{

font-size:3.8rem;

margin-bottom:20px;

}

.contact-hero p{

font-size:1.15rem;

line-height:1.8;

}
.contact-info-section{

padding:100px 20px;

background:#f7f9fb;

}

.contact-info-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:30px;

margin-top:60px;

}

.contact-info-card{

background:#fff;

padding:40px;

border-radius:20px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

text-align:center;

transition:.35s;

}

.contact-info-card:hover{

transform:translateY(-10px);

}

.contact-icon{

width:80px;

height:80px;

margin:auto;

background:#00a693;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:2rem;

margin-bottom:20px;

}

.contact-info-card h3{

margin-bottom:15px;

color:#00897b;

}

.contact-info-card p{

line-height:1.8;

color:#666;

margin-bottom:15px;

}

.contact-link{

text-decoration:none;

color:#00a693;

font-weight:600;

}
.contact-form-section{

padding:100px 20px;

background:#fff;

}

.form-container{

display:grid;

grid-template-columns:2fr 1fr;

gap:50px;

align-items:start;

}

.contact-form{

background:#fff;

padding:40px;

border-radius:20px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

}

.form-group{

display:flex;

flex-direction:column;

}

.form-group:nth-child(5),

.form-group.checkbox,

.contact-form button{

grid-column:1/-1;

}

.contact-form label{

margin-bottom:8px;

font-weight:600;

color:#333;

}

.contact-form input,

.contact-form select,

.contact-form textarea{

padding:15px;

border:1px solid #ddd;

border-radius:10px;

font-size:1rem;

transition:.3s;

}

.contact-form input:focus,

.contact-form select:focus,

.contact-form textarea:focus{

border-color:#00a693;

outline:none;

box-shadow:0 0 10px rgba(0,166,147,.2);

}

.contact-form textarea{

resize:vertical;

}

.btn-large{

padding:16px;

background:#00a693;

color:#fff;

border:none;

border-radius:50px;

font-size:1rem;

font-weight:600;

cursor:pointer;

transition:.3s;

}

.btn-large:hover{

background:#00897b;

transform:translateY(-3px);

}
.map-card{

height:100%;

border-radius:20px;

overflow:hidden;

box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.map-card iframe{

width:100%;

height:100%;

min-height:650px;

border:0;

}
/*==================================
FAQ
===================================*/

.faq-section{

padding:100px 20px;

background:#f7fafb;

}

.faq-section .section-title{

text-align:center;

font-size:2.8rem;

color:#00897b;

margin-bottom:60px;

}

.faq-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(450px,1fr));

gap:25px;

}

.faq-item{

background:#fff;

padding:30px;

border-radius:18px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.35s;

position:relative;

overflow:hidden;

}

.faq-item::before{

content:"?";

position:absolute;

top:20px;

right:25px;

font-size:3rem;

font-weight:bold;

color:rgba(0,166,147,.08);

}

.faq-item:hover{

transform:translateY(-8px);

box-shadow:0 20px 40px rgba(0,0,0,.12);

}

.faq-item h3{

font-size:1.3rem;

margin-bottom:15px;

color:#00897b;

}

.faq-item p{

line-height:1.8;

color:#666;

}
/*==================================
SOCIAL SECTION
===================================*/

.social-section{

padding:100px 20px;

background:linear-gradient(180deg,#ffffff,#f5fdfc);

}

.social-section .section-title{

text-align:center;

font-size:2.8rem;

margin-bottom:20px;

color:#00897b;

}

.social-section .section-subtitle{

max-width:700px;

margin:0 auto 60px;

text-align:center;

line-height:1.8;

color:#666;

}

.social-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

}

.social-card{

position:relative;

padding:40px 35px;

border-radius:20px;

background:#fff;

overflow:hidden;

text-decoration:none;

color:#222;

box-shadow:0 15px 35px rgba(0,0,0,.08);

transition:.4s;

}

.social-card::before{

content:"";

position:absolute;

top:0;

left:0;

width:5px;

height:100%;

transition:.4s;

}

.social-card:hover{

transform:translateY(-12px);

box-shadow:0 25px 50px rgba(0,0,0,.15);

}

.social-card h3{

font-size:1.6rem;

margin-bottom:15px;

}

.social-card p{

line-height:1.8;

color:#666;

margin-bottom:25px;

}

.social-card span{

font-weight:600;

color:#00897b;

}

/* Brand Colors */

.facebook::before{

background:#1877F2;

}

.instagram::before{

background:linear-gradient(180deg,#833AB4,#FD1D1D,#FCAF45);

}

.twitter::before{

background:#1DA1F2;

}

.youtube::before{

background:#FF0000;

}

.facebook:hover{

background:#1877F2;

color:#fff;

}

.instagram:hover{

background:linear-gradient(135deg,#833AB4,#FD1D1D,#FCAF45);

color:#fff;

}

.twitter:hover{

background:#1DA1F2;

color:#fff;

}

.youtube:hover{

background:#FF0000;

color:#fff;

}

.social-card:hover p,

.social-card:hover span{

color:#fff;

}
@media(max-width:768px){

.social-section,
.faq-section{

padding:70px 20px;

}

.social-section .section-title,
.faq-section .section-title{

font-size:2.2rem;

}

.social-grid{

grid-template-columns:1fr;

}

.faq-grid{

grid-template-columns:1fr;

}

.social-card{

padding:30px;

}

.faq-item{

padding:25px;

}

}

/*==================================
WHY JOIN GYMA-NATHI
===================================*/

.benefits-section{
    padding:100px 20px;
    background:linear-gradient(180deg,#f8fbfc 0%,#ffffff 100%);
}

.benefits-section .container{
    max-width:1200px;
    margin:auto;
}

.benefits-section .section-title{
    text-align:center;
    font-size:3rem;
    font-weight:700;
    color:#00897b;
    margin-bottom:15px;
}

.benefits-section .section-subtitle{
    max-width:700px;
    margin:0 auto 60px;
    text-align:center;
    color:#666;
    line-height:1.8;
    font-size:1.05rem;
}

/*==========================
GRID
===========================*/

.benefits-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:35px;

}

/*==========================
CARD
===========================*/

.benefit-card{

    background:#fff;

    border-radius:20px;

    padding:40px 35px;

    text-align:center;

    position:relative;

    overflow:hidden;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    transition:.4s ease;

    border-top:5px solid #00a693;

}

.benefit-card:hover{

    transform:translateY(-12px);

    box-shadow:0 25px 50px rgba(0,0,0,.15);

}

/* Decorative Circle */

.benefit-card::before{

    content:"";

    position:absolute;

    width:180px;

    height:180px;

    background:rgba(0,166,147,.06);

    border-radius:50%;

    top:-90px;

    right:-90px;

}

/*==========================
ICON
===========================*/

.benefit-card h3{

    font-size:1.5rem;

    color:#00897b;

    margin-bottom:18px;

    font-weight:700;

    line-height:1.4;

}

.benefit-card p{

    color:#666;

    font-size:1rem;

    line-height:1.9;

}

/*==========================
HOVER EFFECT
===========================*/

.benefit-card:hover h3{

    color:#ff7b00;

}

.benefit-card:hover::before{

    background:rgba(255,123,0,.08);

}

/*==========================
RESPONSIVE
===========================*/

@media(max-width:992px){

.benefits-section{

padding:80px 20px;

}

.benefits-section .section-title{

font-size:2.5rem;

}

}

@media(max-width:768px){

.benefits-grid{

grid-template-columns:1fr;

}

.benefits-section .section-title{

font-size:2.2rem;

}

.benefit-card{

padding:35px 25px;

}

.benefit-card h3{

font-size:1.3rem;

}

}

@media(max-width:480px){

.benefits-section{

padding:60px 15px;

}

.benefits-section .section-title{

font-size:1.9rem;

}

.benefit-card{

padding:30px 20px;

}

}

/*==================================
REGISTRATION SECTION
===================================*/

.registration-section{
    padding:100px 20px;
    background:linear-gradient(180deg,#f7fbfc,#ffffff);
}

.registration-section .container{
    max-width:1200px;
    margin:auto;
}

.registration-section .section-title{
    text-align:center;
    font-size:3rem;
    font-weight:700;
    color:#00897b;
    margin-bottom:60px;
}

/*==================================
FORM CONTAINER
===================================*/

.registration-container{
    display:flex;
    justify-content:center;
}

.form-column{
    width:100%;
    max-width:950px;
    background:#fff;
    border-radius:25px;
    padding:50px;
    box-shadow:0 20px 45px rgba(0,0,0,.08);
}

/*==================================
SECTION HEADINGS
===================================*/

.form-column h3{
    color:#00897b;
    font-size:1.7rem;
    margin:40px 0 25px;
    padding-bottom:10px;
    border-bottom:2px solid #e8f5f4;
}

.form-column h3:first-child{
    margin-top:0;
}

/*==================================
FORM GRID
===================================*/

.registration-form{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
}

.form-group{
    display:flex;
    flex-direction:column;
}

.form-group label{
    font-weight:600;
    margin-bottom:8px;
    color:#333;
}

/* Full Width Items */

.registration-form h3,
.checkbox-group,
.form-group.checkbox,
.registration-form button{
    grid-column:1/-1;
}

/*==================================
INPUTS
===================================*/

.registration-form input,
.registration-form select,
.registration-form textarea{

    width:100%;

    padding:15px 18px;

    border:1px solid #d9e3e2;

    border-radius:12px;

    font-size:1rem;

    transition:.3s;

    background:#fafafa;

}

.registration-form input:focus,
.registration-form select:focus,
.registration-form textarea:focus{

    outline:none;

    border-color:#00a693;

    background:#fff;

    box-shadow:0 0 0 4px rgba(0,166,147,.12);

}

/*==================================
CHECKBOXES
===================================*/

.checkbox-group{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:15px;

    margin-top:10px;

}

.checkbox-item{

    display:flex;

    align-items:center;

    gap:10px;

    padding:14px;

    border:1px solid #ddd;

    border-radius:12px;

    cursor:pointer;

    transition:.3s;

    background:#fff;

}

.checkbox-item:hover{

    border-color:#00a693;

    background:#f5fffd;

}

.checkbox-item input{

    width:auto;

}

.form-group.checkbox{

    display:flex;

    flex-direction:row;

    align-items:flex-start;

    gap:15px;

    margin-top:10px;

}

.form-group.checkbox input{

    margin-top:5px;

    width:auto;

}

/*==================================
BUTTON
===================================*/

.btn-large{

    margin-top:20px;

    padding:18px;

    border:none;

    border-radius:50px;

    background:#00a693;

    color:#fff;

    font-size:1rem;

    font-weight:700;

    cursor:pointer;

    transition:.3s;

}

.btn-large:hover{

    background:#00897b;

    transform:translateY(-4px);

    box-shadow:0 10px 25px rgba(0,166,147,.25);

}

/*==================================
RESPONSIVE
===================================*/

@media(max-width:992px){

.form-column{

padding:40px;

}

}

@media(max-width:768px){

.registration-section{

padding:70px 20px;

}

.registration-section .section-title{

font-size:2.3rem;

}

.registration-form{

grid-template-columns:1fr;

}

.form-column{

padding:30px;

}

.checkbox-group{

grid-template-columns:1fr;

}

}

@media(max-width:480px){

.registration-section .section-title{

font-size:2rem;

}

.form-column{

padding:25px 20px;

}

}

/*==================================
HERO CONTENT
===================================*/

.heros-content{
    position:relative;
    z-index:10;

    width:90%;
    max-width:900px;

    margin:0 auto;
    text-align:center;

    color:#fff;

    animation:fadeUp 1.2s ease;
}

/* Main Heading */

.heros-title{

    font-size:clamp(2.8rem,6vw,5rem);

    font-weight:800;

    line-height:1.15;

    letter-spacing:-1px;

    margin-bottom:25px;

    text-transform:uppercase;

    text-shadow:0 5px 20px rgba(0,0,0,.45);

}

/* Subtitle */

.heros-subtitle{

    max-width:700px;

    margin:0 auto 40px;

    font-size:clamp(1rem,2vw,1.35rem);

    line-height:1.9;

    color:rgba(255,255,255,.92);

    text-shadow:0 2px 10px rgba(0,0,0,.35);

}

/* Buttons */

.heros-ctas{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:20px;

    flex-wrap:wrap;

}

/* Base Button */

.heros-ctas .btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:210px;

    padding:16px 35px;

    border-radius:50px;

    font-size:1rem;

    font-weight:700;

    text-decoration:none;

    transition:all .35s ease;

}

/* Primary */

.heros-ctas .btn-primary{

    background:#00a693;

    color:#fff;

    box-shadow:0 10px 25px rgba(0,166,147,.35);

}

.heros-ctas .btn-primary:hover{

    background:#00897b;

    transform:translateY(-5px);

    box-shadow:0 18px 35px rgba(0,166,147,.45);

}

/* Secondary */

.heros-ctas .btn-secondary{

    background:rgba(255,255,255,.12);

    color:#fff;

    border:2px solid rgba(255,255,255,.45);

    backdrop-filter:blur(10px);

}

.heros-ctas .btn-secondary:hover{

    background:#fff;

    color:#00897b;

    border-color:#fff;

    transform:translateY(-5px);

}

/*==================================
ANIMATION
===================================*/

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*==================================
RESPONSIVE
===================================*/

@media (max-width:768px){

.heros-content{

    width:95%;

}

.heros-title{

    margin-bottom:20px;

}

.heros-subtitle{

    margin-bottom:30px;

    line-height:1.7;

}

.heros-ctas{

    flex-direction:column;

    gap:15px;

}

.heros-ctas .btn{

    width:100%;

    max-width:300px;

}

}

@media (max-width:480px){

.heros-title{

    font-size:2.2rem;

}

.heros-subtitle{

    font-size:1rem;

}

}

/*==================================
PROMO MODAL
==================================*/

.promo-modal{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:rgba(0,0,0,.75);

backdrop-filter:blur(8px);

display:flex;

justify-content:center;

align-items:center;

opacity:0;

visibility:hidden;

transition:.5s;

z-index:99999;

}

.promo-modal.show{

opacity:1;

visibility:visible;

}

/*==============================*/

.promo-box{

position:relative;

width:90%;

max-width:700px;

background:#fff;

border-radius:20px;

overflow:hidden;

box-shadow:0 30px 60px rgba(0,0,0,.3);

animation:popup .5s ease;

}

/*==============================*/

@keyframes popup{

from{

transform:scale(.8);

opacity:0;

}

to{

transform:scale(1);

opacity:1;

}

}

/*==============================*/

.close-btn{

position:absolute;

top:15px;

right:15px;

width:45px;

height:45px;

border:none;

border-radius:50%;

background:#fff;

cursor:pointer;

font-size:18px;

font-weight:bold;

z-index:20;

box-shadow:0 5px 20px rgba(0,0,0,.2);

transition:.3s;

}

.close-btn:hover{

background:#00a693;

color:#fff;

}

/*==============================*/

.promo-slider{

position:relative;

width:100%;

height:500px;

overflow:hidden;

}

/*==============================*/

.slide{

position:absolute;

top:0;

left:0;

width:100%;

height:100%;

opacity:0;

transition:opacity .8s ease;

}

.slide.active{

opacity:1;

z-index:2;

}

.slide img{

width:100%;

height:100%;

object-fit:cover;

display:block;

}

/*==============================*/

.promo-caption{

position:absolute;

left:0;

bottom:0;

width:100%;

padding:40px;

background:linear-gradient(transparent,rgba(0,0,0,.85));

color:#fff;

z-index:5;

}

.promo-caption h2{

font-size:2rem;

margin-bottom:10px;

}

.promo-caption p{

line-height:1.7;

margin-bottom:20px;

}

.promo-caption a{

display:inline-block;

padding:12px 28px;

background:#00a693;

color:#fff;

text-decoration:none;

border-radius:40px;

font-weight:600;

transition:.3s;

}

.promo-caption a:hover{

background:#00897b;

}

/*==============================*/

@media(max-width:768px){

.promo-box{

width:95%;

}

.promo-slider{

height:400px;

}

.promo-caption{

padding:25px;

}

.promo-caption h2{

font-size:1.5rem;

}

}

@media(max-width:480px){

.promo-slider{

height:320px;

}

.close-btn{

width:40px;

height:40px;

}

.promo-caption h2{

font-size:1.2rem;

}

}
/*==================================
TABLET RESPONSIVE
==================================*/

@media screen and (max-width: 992px){

    .contact-hero{
        height:50vh;
        padding:0 20px;
        text-align:center;
    }

    .contact-hero h1{
        font-size:2.8rem;
    }

    .contact-hero p{
        font-size:1.05rem;
    }

    .contact-info-grid{
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }

    .form-container{
        grid-template-columns:1fr;
        gap:40px;
    }

    .contact-form{
        grid-template-columns:repeat(2,1fr);
    }

    .map-card{
        height:450px;
    }

    .map-card iframe{
        min-height:450px;
    }

}


/*==================================
MOBILE RESPONSIVE
==================================*/

@media screen and (max-width:768px){

    .contact-hero{
        height:45vh;
        padding:0 20px;
    }

    .contact-hero h1{
        font-size:2.2rem;
        line-height:1.2;
    }

    .contact-hero p{
        font-size:1rem;
    }

    .contact-info-grid{
        grid-template-columns:1fr;
    }

    .contact-info-card{
        padding:30px 25px;
        text-align:center;
    }

    .contact-form{
        grid-template-columns:1fr;
        padding:30px 25px;
    }

    .form-group{
        width:100%;
    }

    .contact-form input,
    .contact-form select,
    .contact-form textarea{
        width:100%;
        font-size:16px;
        padding:14px;
    }

    .btn-large{
        width:100%;
    }

    .map-card{
        height:350px;
    }

    .map-card iframe{
        min-height:350px;
    }

}


/*==================================
SMALL MOBILE
==================================*/

@media screen and (max-width:480px){

    .contact-hero{
        height:40vh;
    }

    .contact-hero h1{
        font-size:1.8rem;
    }

    .contact-hero p{
        font-size:.95rem;
    }

    .contact-info-card{
        padding:25px 20px;
    }

    .contact-icon{
        width:65px;
        height:65px;
        font-size:1.5rem;
    }

    .contact-form{
        padding:25px 18px;
    }

    .contact-form label{
        font-size:.95rem;
    }

    .contact-form input,
    .contact-form select,
    .contact-form textarea{
        padding:12px;
        font-size:.95rem;
    }

    .btn-large{
        padding:15px;
        font-size:1rem;
    }

}