/*==================================================================================
    SKARDU SPRING - Water Theme Stylesheet
    Modern, Dynamic, Animated Water-Inspired Design
    Version: 2.0
====================================================================================*/

/* ============================================
   CSS VARIABLES - Water Color Palette
============================================ */
:root {
    /* Primary Water Colors */
    --water-deep: #002b55;
    --water-ocean: #003d6b;
    --water-primary: #0077b6;
    --water-bright: #00a8e8;
    --water-aqua: #00d4ff;
    --water-light: #90e0ef;
    --water-foam: #caf0f8;
    --water-crystal: #e8f7fc;
    
    /* Accent Colors */
    --coral-primary: #e23e1d;
    --coral-light: #ff6b4a;
    --coral-dark: #b53115;
    
    /* Gradients */
    --gradient-ocean: linear-gradient(135deg, #0077b6 0%, #00d4ff 50%, #90e0ef 100%);
    --gradient-deep: linear-gradient(180deg, #002b55 0%, #0077b6 100%);
    --gradient-wave: linear-gradient(90deg, #00d4ff 0%, #0077b6 50%, #00d4ff 100%);
    --gradient-bubble: radial-gradient(circle, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 70%);
    
    /* Shadows */
    --shadow-water: 0 10px 40px rgba(0, 119, 182, 0.3);
    --shadow-deep: 0 20px 60px rgba(0, 43, 85, 0.4);
    --shadow-glow: 0 0 30px rgba(0, 212, 255, 0.5);
    
    /* Animation Timings */
    --ease-water: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    --ease-flow: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* ============================================
   GLOBAL WATER EFFECTS & BASE STYLES
============================================ */

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Selection color */
::selection {
    background: var(--water-primary);
    color: #fff;
}

/* ============================================
   ANIMATED BACKGROUND PATTERNS
============================================ */

/* Water Wave Background Pattern */
.water-bg-pattern {
    position: relative;
    overflow: hidden;
}

.water-bg-pattern::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 300%;
    height: 100%;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(0, 212, 255, 0.03) 25%, 
        rgba(0, 119, 182, 0.05) 50%, 
        rgba(0, 212, 255, 0.03) 75%, 
        transparent 100%);
    animation: waterShimmer 8s linear infinite;
    pointer-events: none;
}

@keyframes waterShimmer {
    0% { transform: translateX(0); }
    100% { transform: translateX(33.33%); }
}

/* Floating Bubbles Background */
.bubbles-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

.bubble {
    position: absolute;
    bottom: -100px;
    background: var(--gradient-bubble);
    border-radius: 50%;
    opacity: 0;
    animation: riseBubble linear infinite;
}

@keyframes riseBubble {
    0% {
        transform: translateY(0) scale(0);
        opacity: 0;
    }
    10% {
        opacity: 0.6;
    }
    50% {
        opacity: 0.4;
    }
    100% {
        transform: translateY(-100vh) scale(1);
        opacity: 0;
    }
}

/* ============================================
   WAVE ANIMATIONS
============================================ */

/* SVG Wave Container */
.wave-container {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.wave-svg {
    position: relative;
    width: 200%;
    height: 100px;
    animation: waveFlow 10s linear infinite;
}

@keyframes waveFlow {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* CSS Wave Animation */
.wave-effect {
    position: relative;
}

.wave-effect::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100'%3E%3Cpath fill='%23ffffff' d='M0,50 C150,100 350,0 500,50 C650,100 850,0 1000,50 C1150,100 1350,0 1440,50 L1440,100 L0,100 Z'%3E%3C/path%3E%3C/svg%3E");
    background-size: 1440px 100px;
    background-repeat: repeat-x;
    animation: waveMotion 6s ease-in-out infinite;
}

@keyframes waveMotion {
    0%, 100% { transform: translateX(0) translateY(0); }
    50% { transform: translateX(-25px) translateY(-5px); }
}

/* ============================================
   WATER RIPPLE BUTTON EFFECTS
============================================ */

/* Ripple Effect Container */
.btn-water-ripple {
    position: relative;
    overflow: hidden;
    background: var(--gradient-ocean);
    border: none;
    padding: 16px 40px;
    color: #fff;
    font-weight: 600;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.4s var(--ease-water);
    box-shadow: var(--shadow-water);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.btn-water-ripple::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
}

.btn-water-ripple:hover::before {
    width: 300%;
    height: 300%;
}

.btn-water-ripple:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-glow);
}

.btn-water-ripple:active {
    transform: translateY(-1px);
}

/* Gradient Flow Button */
.btn-gradient-flow {
    position: relative;
    background: linear-gradient(90deg, var(--water-primary), var(--water-aqua), var(--water-primary));
    background-size: 200% 100%;
    border: none;
    padding: 16px 40px;
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.4s var(--ease-water);
    animation: gradientFlow 3s ease infinite;
}

@keyframes gradientFlow {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.btn-gradient-flow:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: var(--shadow-glow);
}

/* ========== WATER DROP BUTTON - Primary Action Button ========== */
.btn-water-drop {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: linear-gradient(135deg, #e23e1d 0%, #ff6b4a 50%, #e23e1d 100%);
    background-size: 200% 200%;
    border: none;
    padding: 18px 45px;
    color: #fff !important;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2px;
    border-radius: 50px;
    cursor: pointer;
    overflow: hidden;
    transition: all 0.4s var(--ease-bounce);
    box-shadow: 
        0 8px 30px rgba(226, 62, 29, 0.4),
        0 0 0 0 rgba(226, 62, 29, 0.4);
    animation: waterDropGradient 3s ease infinite;
    text-decoration: none;
}

@keyframes waterDropGradient {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Water drop icon */
.btn-water-drop::before {
    content: '';
    position: absolute;
    top: -100%;
    right: 15px;
    width: 20px;
    height: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z'/%3E%3C/svg%3E") no-repeat center;
    background-size: contain;
    opacity: 0;
    transition: all 0.5s var(--ease-bounce);
}

/* Shine sweep effect */
.btn-water-drop::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        120deg,
        transparent 0%,
        transparent 40%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 60%,
        transparent 100%
    );
    transition: left 0.6s ease;
}

/* Icon inside button */
.btn-water-drop i {
    font-size: 16px;
    transition: transform 0.4s var(--ease-bounce);
}

.btn-water-drop:hover {
    transform: translateY(-6px) scale(1.03);
    box-shadow: 
        0 18px 45px rgba(226, 62, 29, 0.5),
        0 0 40px rgba(226, 62, 29, 0.3);
    animation: none;
    background-position: 100% 50%;
}

.btn-water-drop:hover::before {
    top: 50%;
    transform: translateY(-50%);
    opacity: 1;
    animation: dropBounce 0.6s ease infinite;
}

.btn-water-drop:hover::after {
    left: 100%;
}

.btn-water-drop:hover i {
    transform: translateX(5px) scale(1.1);
}

@keyframes dropBounce {
    0%, 100% { transform: translateY(-50%); }
    50% { transform: translateY(-60%); }
}

.btn-water-drop:active {
    transform: translateY(-2px) scale(1);
    box-shadow: 0 8px 25px rgba(226, 62, 29, 0.4);
}

/* Pulse effect for emphasis */
.btn-water-drop.pulse {
    animation: waterDropPulse 2s ease-in-out infinite, waterDropGradient 3s ease infinite;
}

@keyframes waterDropPulse {
    0%, 100% {
        box-shadow: 
            0 8px 30px rgba(226, 62, 29, 0.4),
            0 0 0 0 rgba(226, 62, 29, 0.4);
    }
    50% {
        box-shadow: 
            0 8px 30px rgba(226, 62, 29, 0.4),
            0 0 0 15px rgba(226, 62, 29, 0);
    }
}

/* Light version for dark backgrounds */
.btn-water-drop.light {
    background: linear-gradient(135deg, #fff 0%, #f0f8ff 50%, #fff 100%);
    color: #e23e1d !important;
    box-shadow: 
        0 8px 30px rgba(255, 255, 255, 0.3),
        0 0 0 0 rgba(255, 255, 255, 0.3);
}

.btn-water-drop.light:hover {
    background: linear-gradient(135deg, #e23e1d 0%, #ff6b4a 100%);
    color: #fff !important;
    box-shadow: 
        0 18px 45px rgba(226, 62, 29, 0.5),
        0 0 40px rgba(226, 62, 29, 0.3);
}

.btn-water-drop.light::before {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e23e1d'%3E%3Cpath d='M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z'/%3E%3C/svg%3E") no-repeat center;
    background-size: contain;
}

.btn-water-drop.light:hover::before {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z'/%3E%3C/svg%3E") no-repeat center;
    background-size: contain;
}

/* ============================================
   MODERN BUTTON STYLES
============================================ */

/* Primary CTA Button */
.btn-cta-primary {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--coral-primary);
    color: #fff;
    padding: 18px 45px;
    border: none;
    border-radius: 8px;
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    cursor: pointer;
    overflow: hidden;
    transition: all 0.4s var(--ease-water);
    box-shadow: 0 4px 20px rgba(226, 62, 29, 0.3);
}

.btn-cta-primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.5s ease;
}

.btn-cta-primary:hover {
    background: var(--coral-dark);
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(226, 62, 29, 0.4);
}

.btn-cta-primary:hover::before {
    left: 100%;
}

/* Secondary Button */
.btn-cta-secondary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    color: var(--water-deep);
    padding: 16px 40px;
    border: 2px solid var(--water-deep);
    border-radius: 8px;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.4s var(--ease-water);
    position: relative;
    overflow: hidden;
}

.btn-cta-secondary::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: var(--water-deep);
    transition: width 0.4s var(--ease-water);
    z-index: -1;
}

.btn-cta-secondary:hover {
    color: #fff;
    border-color: var(--water-deep);
}

.btn-cta-secondary:hover::before {
    width: 100%;
}

/* ============================================
   LINK ANIMATIONS
============================================ */

/* Animated Underline Links */
.link-animated {
    position: relative;
    color: var(--water-deep);
    text-decoration: none;
    transition: color 0.3s ease;
}

.link-animated::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--gradient-wave);
    background-size: 200% 100%;
    transition: width 0.4s var(--ease-water);
    animation: gradientFlow 2s linear infinite;
}

.link-animated:hover {
    color: var(--water-primary);
}

.link-animated:hover::after {
    width: 100%;
}

/* Wave Underline Links */
.link-wave {
    position: relative;
    color: var(--water-deep);
    text-decoration: none;
    padding-bottom: 4px;
}

.link-wave::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='4' viewBox='0 0 20 4'%3E%3Cpath fill='none' stroke='%230077b6' stroke-width='1' d='M0,2 Q5,0 10,2 T20,2'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: repeat-x;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.4s var(--ease-water);
}

.link-wave:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

/* ============================================
   CARD HOVER EFFECTS
============================================ */

/* Water Glow Card */
.card-water-glow {
    background: #fff;
    border-radius: 16px;
    padding: 30px;
    transition: all 0.5s var(--ease-water);
    border: 1px solid rgba(0, 119, 182, 0.1);
}

.card-water-glow:hover {
    transform: translateY(-10px);
    box-shadow: 
        0 20px 40px rgba(0, 119, 182, 0.15),
        0 0 0 1px rgba(0, 212, 255, 0.2),
        inset 0 0 60px rgba(0, 212, 255, 0.03);
}

/* Ripple Card */
.card-ripple {
    position: relative;
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    overflow: hidden;
    transition: all 0.4s var(--ease-water);
}

.card-ripple::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: radial-gradient(circle, rgba(0, 212, 255, 0.1) 0%, transparent 70%);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
}

.card-ripple:hover::before {
    width: 400%;
    height: 400%;
}

.card-ripple:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-water);
}

/* Floating Card */
.card-float {
    background: #fff;
    border-radius: 16px;
    padding: 30px;
    transition: all 0.5s var(--ease-bounce);
    animation: gentleFloat 6s ease-in-out infinite;
}

@keyframes gentleFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

.card-float:hover {
    animation-play-state: paused;
    transform: translateY(-15px) scale(1.02);
    box-shadow: var(--shadow-deep);
}

/* ============================================
   IMAGE HOVER EFFECTS
============================================ */

/* Water Overlay */
.img-water-overlay {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
}

.img-water-overlay img {
    transition: transform 0.6s var(--ease-water);
}

.img-water-overlay::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, transparent 0%, rgba(0, 43, 85, 0.7) 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.img-water-overlay:hover img {
    transform: scale(1.1);
}

.img-water-overlay:hover::after {
    opacity: 1;
}

/* Shine Effect */
.img-shine {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
}

.img-shine::before {
    content: '';
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
    transform: skewX(-25deg);
    transition: left 0.6s ease;
    z-index: 1;
}

.img-shine:hover::before {
    left: 125%;
}

/* ============================================
   ICON ANIMATIONS
============================================ */

/* Bounce Icon */
.icon-bounce {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: var(--water-foam);
    border-radius: 50%;
    transition: all 0.4s var(--ease-bounce);
}

.icon-bounce:hover {
    transform: scale(1.1);
    background: var(--water-light);
    box-shadow: var(--shadow-glow);
    animation: iconBounce 0.6s ease;
}

@keyframes iconBounce {
    0%, 100% { transform: scale(1.1) translateY(0); }
    50% { transform: scale(1.1) translateY(-10px); }
}

/* Pulse Icon */
.icon-pulse {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: var(--water-primary);
    border-radius: 50%;
    position: relative;
    color: #fff;
}

.icon-pulse::before,
.icon-pulse::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: var(--water-primary);
    opacity: 0.6;
    animation: iconPulse 2s ease-out infinite;
}

.icon-pulse::after {
    animation-delay: 0.5s;
}

@keyframes iconPulse {
    0% { transform: scale(1); opacity: 0.6; }
    100% { transform: scale(1.8); opacity: 0; }
}

/* Rotate Icon */
.icon-rotate {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: var(--gradient-ocean);
    border-radius: 50%;
    transition: all 0.6s var(--ease-water);
    color: #fff;
}

.icon-rotate:hover {
    transform: rotate(360deg) scale(1.1);
    box-shadow: var(--shadow-glow);
}

/* ============================================
   SCROLL REVEAL ANIMATIONS
============================================ */

/* Fade In Up */
.reveal-fade-up {
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.8s var(--ease-water);
}

.reveal-fade-up.revealed {
    opacity: 1;
    transform: translateY(0);
}

/* Fade In Left */
.reveal-fade-left {
    opacity: 0;
    transform: translateX(-50px);
    transition: all 0.8s var(--ease-water);
}

.reveal-fade-left.revealed {
    opacity: 1;
    transform: translateX(0);
}

/* Fade In Right */
.reveal-fade-right {
    opacity: 0;
    transform: translateX(50px);
    transition: all 0.8s var(--ease-water);
}

.reveal-fade-right.revealed {
    opacity: 1;
    transform: translateX(0);
}

/* Scale In */
.reveal-scale {
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.8s var(--ease-bounce);
}

.reveal-scale.revealed {
    opacity: 1;
    transform: scale(1);
}

/* Blur In */
.reveal-blur {
    opacity: 0;
    filter: blur(10px);
    transform: translateY(30px);
    transition: all 1s var(--ease-water);
}

.reveal-blur.revealed {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
}

/* Stagger Children */
.stagger-children > * {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s var(--ease-water);
}

.stagger-children.revealed > *:nth-child(1) { transition-delay: 0.1s; }
.stagger-children.revealed > *:nth-child(2) { transition-delay: 0.2s; }
.stagger-children.revealed > *:nth-child(3) { transition-delay: 0.3s; }
.stagger-children.revealed > *:nth-child(4) { transition-delay: 0.4s; }
.stagger-children.revealed > *:nth-child(5) { transition-delay: 0.5s; }
.stagger-children.revealed > *:nth-child(6) { transition-delay: 0.6s; }

.stagger-children.revealed > * {
    opacity: 1;
    transform: translateY(0);
}

/* ============================================
   WATER DROP LOADER
============================================ */

.water-loader {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 8px;
    height: 60px;
}

.water-loader .drop {
    width: 12px;
    height: 12px;
    background: var(--water-primary);
    border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
    animation: dropBounce 1.4s ease-in-out infinite;
}

.water-loader .drop:nth-child(1) { animation-delay: 0s; }
.water-loader .drop:nth-child(2) { animation-delay: 0.2s; }
.water-loader .drop:nth-child(3) { animation-delay: 0.4s; }

@keyframes dropBounce {
    0%, 100% { 
        transform: translateY(0) scaleY(1);
        background: var(--water-primary);
    }
    50% { 
        transform: translateY(-30px) scaleY(1.2);
        background: var(--water-aqua);
    }
}

/* ============================================
   SECTION DIVIDERS
============================================ */



/* ============================================
   WATER TEXTURE BACKGROUNDS
============================================ */

/* Gradient Water Background */
.bg-water-gradient {
    background: linear-gradient(180deg, 
        var(--water-crystal) 0%, 
        var(--water-foam) 50%, 
        var(--water-light) 100%);
}

/* Animated Water Background */
.bg-water-animated {
    background: linear-gradient(-45deg, 
        var(--water-crystal), 
        var(--water-foam), 
        var(--water-light), 
        var(--water-crystal));
    background-size: 400% 400%;
    animation: gradientShift 15s ease infinite;
}

@keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Ocean Depth Background */
.bg-ocean-depth {
    background: linear-gradient(180deg, 
        var(--water-deep) 0%, 
        var(--water-ocean) 30%, 
        var(--water-primary) 70%, 
        var(--water-bright) 100%);
}

/* ============================================
   FLOATING ELEMENTS
============================================ */

.float-gentle {
    animation: floatGentle 6s ease-in-out infinite;
}

@keyframes floatGentle {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    33% { transform: translateY(-8px) rotate(1deg); }
    66% { transform: translateY(-4px) rotate(-1deg); }
}

.float-slow {
    animation: floatSlow 8s ease-in-out infinite;
}

@keyframes floatSlow {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}

.sway-gentle {
    animation: swayGentle 4s ease-in-out infinite;
}

@keyframes swayGentle {
    0%, 100% { transform: rotate(-2deg); }
    50% { transform: rotate(2deg); }
}

/* ============================================
   COUNTER ANIMATIONS
============================================ */

.counter-box {
    position: relative;
    padding: 40px 30px;
    background: #fff;
    border-radius: 16px;
    text-align: center;
    overflow: hidden;
    transition: all 0.4s var(--ease-water);
}

.counter-box::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--gradient-ocean);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.6s var(--ease-water);
}

.counter-box:hover::before {
    transform: scaleX(1);
}

.counter-box:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-water);
}

/* ============================================
   TESTIMONIAL CARD EFFECTS
============================================ */

.testimonial-water {
    position: relative;
    background: #fff;
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    transition: all 0.5s var(--ease-water);
    overflow: hidden;
}

.testimonial-water::before {
    content: '"';
    position: absolute;
    top: 20px;
    left: 30px;
    font-size: 120px;
    font-family: Georgia, serif;
    color: var(--water-foam);
    line-height: 1;
    z-index: 0;
}

.testimonial-water:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-water);
}

.testimonial-water:hover::before {
    color: var(--water-light);
}

/* ============================================
   NAVIGATION WATER EFFECTS
============================================ */

.nav-water-link {
    position: relative;
    color: #fff;
    text-decoration: none;
    padding: 10px 0;
    transition: color 0.3s ease;
}

.nav-water-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 3px;
    background: var(--water-aqua);
    border-radius: 2px;
    transform: translateX(-50%);
    transition: width 0.4s var(--ease-bounce);
}

.nav-water-link:hover::after,
.nav-water-link.active::after {
    width: 100%;
}

/* ============================================
   HERO SECTION ENHANCEMENTS
============================================ */

.hero-water-overlay {
    position: relative;
}

.hero-water-overlay::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, 
        rgba(0, 43, 85, 0.6) 0%, 
        rgba(0, 119, 182, 0.4) 50%, 
        rgba(0, 43, 85, 0.7) 100%);
    z-index: 1;
}

.hero-water-overlay > * {
    position: relative;
    z-index: 2;
}

/* ============================================
   SCROLL INDICATOR
============================================ */

.scroll-indicator {
    position: absolute;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: #fff;
    animation: scrollBounce 2s ease-in-out infinite;
}

.scroll-indicator .mouse {
    width: 26px;
    height: 40px;
    border: 2px solid #fff;
    border-radius: 20px;
    position: relative;
}

.scroll-indicator .wheel {
    width: 4px;
    height: 8px;
    background: #fff;
    border-radius: 2px;
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    animation: scrollWheel 1.5s ease-in-out infinite;
}

@keyframes scrollBounce {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(10px); }
}

@keyframes scrollWheel {
    0% { transform: translateX(-50%) translateY(0); opacity: 1; }
    100% { transform: translateX(-50%) translateY(12px); opacity: 0; }
}

/* ============================================
   PARALLAX WATER LAYERS
============================================ */

.parallax-water {
    position: relative;
    overflow: hidden;
}

.parallax-layer {
    position: absolute;
    width: 100%;
    left: 0;
    background-repeat: repeat-x;
    background-size: cover;
}

.parallax-layer-1 {
    bottom: 0;
    height: 150px;
    opacity: 0.3;
    animation: parallaxMove 20s linear infinite;
}

.parallax-layer-2 {
    bottom: 0;
    height: 100px;
    opacity: 0.5;
    animation: parallaxMove 15s linear infinite reverse;
}

.parallax-layer-3 {
    bottom: 0;
    height: 70px;
    opacity: 0.7;
    animation: parallaxMove 10s linear infinite;
}

@keyframes parallaxMove {
    0% { background-position: 0 0; }
    100% { background-position: 1000px 0; }
}

/* ============================================
   FORM INPUTS WATER STYLE
============================================ */

.input-water {
    width: 100%;
    padding: 16px 20px;
    border: 2px solid var(--water-foam);
    border-radius: 12px;
    background: #fff;
    font-size: 16px;
    transition: all 0.3s var(--ease-water);
    outline: none;
}

.input-water:focus {
    border-color: var(--water-primary);
    box-shadow: 0 0 0 4px rgba(0, 119, 182, 0.1);
}

.input-water::placeholder {
    color: #adb5bd;
}

/* ============================================
   RESPONSIVE ADJUSTMENTS
============================================ */

@media (max-width: 991.98px) {
    .btn-water-ripple,
    .btn-gradient-flow,
    .btn-water-drop,
    .btn-cta-primary,
    .btn-cta-secondary {
        padding: 14px 30px;
        font-size: 14px;
    }
    
    .icon-bounce,
    .icon-pulse,
    .icon-rotate {
        width: 60px;
        height: 60px;
    }
    
    .testimonial-water {
        padding: 30px;
    }
    
  
}

@media (max-width: 767.98px) {
    .btn-water-ripple,
    .btn-gradient-flow,
    .btn-water-drop,
    .btn-cta-primary,
    .btn-cta-secondary {
        padding: 12px 24px;
        font-size: 13px;
        width: 100%;
        justify-content: center;
    }
    
    .card-float {
        animation: none;
    }
    
    .float-gentle,
    .float-slow {
        animation: none;
    }
}

/* ============================================
   PRINT STYLES - Disable animations
============================================ */

@media print {
    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
    }
}

/* ============================================
   FIJI-STYLE PARTNER CAROUSEL SECTION
============================================ */

.partner-logos-section {
    padding: 60px 0 40px;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
}

.partner-logos-section h2 {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #0a2540;
    margin-bottom: 50px;
}

/* Carousel Container */
.partner-carousel-wrap {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 80px;
}

/* Individual Partner Item - Fiji Style */
.partner-carousel .single-partner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding: 20px 15px 30px;
    text-align: center;
    opacity: 0.6;
    transform: scale(0.85);
    transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}

.partner-carousel .single-partner::before {
    display: none;
}

/* Center/Active Item Highlight */
.partner-carousel .owl-item.center .single-partner,
.partner-carousel .owl-item.active + .owl-item.active .single-partner {
    opacity: 1;
    transform: scale(1);
}

/* Product Image */
.partner-carousel .single-partner img {
    max-height: 350px;
    width: auto;
    object-fit: contain;
    margin-bottom: 25px;
    transition: transform 0.5s ease, filter 0.3s ease;
    filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.1));
}

.partner-carousel .owl-item.center .single-partner img {
    transform: scale(1.05);
    filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.15));
}

/* Text Content */
.partner-carousel .single-partner .text {
    position: relative;
    transform: none;
    opacity: 1;
    padding: 0;
    color: #0a2540;
}

.partner-carousel .single-partner .text h4 {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #0a2540;
    margin-bottom: 8px;
    font-family: inherit;
}

.partner-carousel .single-partner .text p {
    font-size: 14px;
    font-weight: 400;
    color: #546679;
    margin: 0;
    letter-spacing: 0.5px;
}

/* Navigation Arrows - Fiji Style */
.partner-carousel-wrap .owl-nav {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    pointer-events: none;
    z-index: 10;
}

.partner-carousel-wrap .owl-nav button.owl-prev,
.partner-carousel-wrap .owl-nav button.owl-next {
    pointer-events: all;
    width: 50px;
    height: 50px;
    background: transparent !important;
    border: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    position: relative;
}

.partner-carousel-wrap .owl-nav button.owl-prev {
    left: 20px;
}

.partner-carousel-wrap .owl-nav button.owl-next {
    right: 20px;
}

.partner-carousel-wrap .owl-nav button span {
    display: none;
}

.partner-carousel-wrap .owl-nav button::after {
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    border-right: 3px solid #0a2540;
    border-bottom: 3px solid #0a2540;
    transition: all 0.3s ease;
}

.partner-carousel-wrap .owl-nav button.owl-prev::after {
    transform: rotate(135deg);
    margin-left: 8px;
}

.partner-carousel-wrap .owl-nav button.owl-next::after {
    transform: rotate(-45deg);
    margin-right: 8px;
}

.partner-carousel-wrap .owl-nav button:hover::after {
    border-color: #0077b6;
}

/* CTA Buttons Container */
.partner-carousel-cta {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 40px;
    padding: 0 20px;
}

.partner-carousel-cta .btn-primary-fiji {
    padding: 16px 40px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    background: #0a2540;
    color: #fff;
    border: 2px solid #0a2540;
    border-radius: 0;
    transition: all 0.3s ease;
    text-decoration: none;
}

.partner-carousel-cta .btn-primary-fiji:hover {
    background: #1a3a5c;
    border-color: #1a3a5c;
}

.partner-carousel-cta .btn-secondary-fiji {
    padding: 16px 40px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    background: transparent;
    color: #0a2540;
    border: 2px solid #0a2540;
    border-radius: 0;
    transition: all 0.3s ease;
    text-decoration: none;
}

.partner-carousel-cta .btn-secondary-fiji:hover {
    background: #0a2540;
    color: #fff;
}

/* Thumbnail Navigation */
.partner-thumbnails {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 50px;
    padding: 20px 0;
    border-top: 1px solid rgba(10, 37, 64, 0.1);
}

.partner-thumbnails .thumb-item {
    width: 60px;
    height: 80px;
    padding: 5px;
    cursor: pointer;
    opacity: 0.5;
    transition: all 0.3s ease;
    border-bottom: 2px solid transparent;
}

.partner-thumbnails .thumb-item:hover,
.partner-thumbnails .thumb-item.active {
    opacity: 1;
    border-bottom-color: #0a2540;
}

.partner-thumbnails .thumb-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.partner-thumbnails .thumb-label {
    font-size: 11px;
    color: #546679;
    margin-top: 8px;
    text-align: center;
}

/* Dots Navigation - Alternative Style */
.partner-carousel-wrap .owl-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 30px;
}

.partner-carousel-wrap .owl-dots .owl-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(10, 37, 64, 0.2);
    border: none;
    transition: all 0.3s ease;
}

.partner-carousel-wrap .owl-dots .owl-dot.active,
.partner-carousel-wrap .owl-dots .owl-dot:hover {
    background: #0a2540;
    transform: scale(1.2);
}

/* Responsive Adjustments */
@media (max-width: 991px) {
    .partner-carousel .single-partner img {
        max-height: 280px;
    }
    
    .partner-carousel .single-partner .text h4 {
        font-size: 20px;
    }
    
    .partner-carousel-wrap {
        padding: 0 60px;
    }
}

@media (max-width: 768px) {
    .partner-logos-section {
        padding: 40px 0 30px;
    }
    
    .partner-logos-section h2 {
        font-size: 12px;
        margin-bottom: 30px;
    }
    
    .partner-carousel .single-partner img {
        max-height: 220px;
    }
    
    .partner-carousel .single-partner .text h4 {
        font-size: 18px;
    }
    
    .partner-carousel .single-partner .text p {
        font-size: 12px;
    }
    
    .partner-carousel-wrap {
        padding: 0 50px;
    }
    
    .partner-carousel-wrap .owl-nav button::after {
        width: 18px;
        height: 18px;
        border-width: 2px;
    }
    
    .partner-carousel-cta {
        flex-direction: column;
        align-items: center;
    }
    
    .partner-carousel-cta .btn-primary-fiji,
    .partner-carousel-cta .btn-secondary-fiji {
        width: 100%;
        max-width: 280px;
        text-align: center;
    }
    
    .partner-thumbnails {
        flex-wrap: wrap;
    }
    
    .partner-thumbnails .thumb-item {
        width: 50px;
        height: 65px;
    }
}

@media (max-width: 480px) {
    .partner-carousel .single-partner img {
        max-height: 180px;
    }
    
    .partner-carousel-wrap {
        padding: 0 40px;
    }
    
    .partner-carousel-wrap .owl-nav button.owl-prev {
        left: 5px;
    }
    
    .partner-carousel-wrap .owl-nav button.owl-next {
        right: 5px;
    }
}

/* ============================================
   REDUCED MOTION - Accessibility
============================================ */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

