/* ========================================== */
/* APPLE-STYLE SMOOTH SHADOWS & TRANSITIONS  */
/* ========================================== */

/* Layered shadow system for floating effect */
.apple-shadow {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), 
                0 2px 4px rgba(0, 0, 0, 0.05),
                0 4px 8px rgba(0, 0, 0, 0.05), 
                0 8px 16px rgba(0, 0, 0, 0.05);
    border-radius: 8px;
}

.apple-shadow-sm {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 
                0 2px 4px rgba(0, 0, 0, 0.04);
    border-radius: 8px;
}

.apple-shadow-md {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 
                0 4px 6px rgba(0, 0, 0, 0.04),
                0 8px 16px rgba(0, 0, 0, 0.03);
    border-radius: 8px;
}

.apple-shadow-lg {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05), 
                0 8px 16px rgba(0, 0, 0, 0.04),
                0 16px 32px rgba(0, 0, 0, 0.03);
    border-radius: 8px;
}

.apple-shadow-xl {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06),
                0 16px 50px rgba(0, 0, 0, 0.04),
                0 24px 80px rgba(0, 0, 0, 0.03);
    border-radius: 8px;
}

/* Apple-style smooth transitions */
.apple-transition {
    transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.apple-transition-fast {
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.apple-transition-slow {
    transition: all 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* Transform and shadow transition utilities */
.apple-transform-transition {
    transition: transform 0.3s cubic-bezier(0.25, 0.1, 0.25, 1),
                box-shadow 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* Hover states with Apple-style lift effect */
.apple-hover:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08),
                0 8px 24px rgba(0, 0, 0, 0.06),
                0 16px 48px rgba(0, 0, 0, 0.04);
}

.apple-hover-subtle:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06),
                0 4px 16px rgba(0, 0, 0, 0.04);
}

.apple-hover-lift:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1),
                0 12px 40px rgba(0, 0, 0, 0.06);
}

/* Button specific Apple-style effects */
.apple-button {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05),
                0 2px 6px rgba(0, 0, 0, 0.04);
    border-radius: 8px;
}

.apple-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08),
                0 8px 24px rgba(0, 0, 0, 0.05);
}

.apple-button:active {
    transform: translateY(0);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* Enhanced button variations */
.apple-button-rounded {
    border-radius: 9999px;
}

.apple-button-pill {
    border-radius: 20px;
}

/* Card specific enhancements */
.apple-card {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 
                0 4px 8px rgba(0, 0, 0, 0.03);
    transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    border-radius: 8px;
}

/* Remove border-radius from specific elements */
.preview-notice,
.hero-gradient {
    border-radius: 0 !important;
}

.apple-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06),
                0 8px 24px rgba(0, 0, 0, 0.04),
                0 16px 48px rgba(0, 0, 0, 0.03);
}

/* Service icon Apple-style effects */
.apple-service-icon {
    transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04),
                0 4px 8px rgba(0, 0, 0, 0.03);
    border-radius: 8px;
}

.apple-service-icon:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08),
                0 12px 32px rgba(0, 0, 0, 0.05);
}

/* Enhanced service icon variations */
.apple-service-icon-rounded {
    border-radius: 9999px;
}

.apple-service-icon-circle {
    border-radius: 50%;
}

/* Focus states with Apple-style rings */
.apple-focus:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(49, 94, 251, 0.1),
                0 2px 8px rgba(0, 0, 0, 0.06);
    border-radius: 8px;
}

/* Scale effects for interactive elements */
.apple-scale:hover {
    transform: scale(1.02);
}

.apple-scale-sm:hover {
    transform: scale(1.01);
}

.apple-scale-lg:hover {
    transform: scale(1.05);
}

/* Floating animation keyframes */
@keyframes apple-float {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-4px);
    }
}

.apple-float {
    animation: apple-float 3s ease-in-out infinite;
}

/* Enhanced existing utility classes with Apple styling */
.custom-shadow {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 
                0 4px 8px rgba(0, 0, 0, 0.03);
    border-radius: 8px;
}

.service-icon-shadow {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04),
                0 4px 8px rgba(0, 0, 0, 0.03);
    border-radius: 8px;
}

/* Update card hover effects */
.card-hover-effect {
    transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    border-radius: 8px;
}

.card-hover-effect:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08),
                0 12px 32px rgba(0, 0, 0, 0.05),
                0 24px 64px rgba(0, 0, 0, 0.03);
}

/* Apple-style input focus */
.apple-input:focus {
    outline: none;
    border-color: #315EFB;
    box-shadow: 0 0 0 3px rgba(49, 94, 251, 0.1),
                0 1px 3px rgba(0, 0, 0, 0.05);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 8px;
}

/* Apple-style input variations */
.apple-input-rounded {
    border-radius: 9999px;
}

.apple-input-pill {
    border-radius: 20px;
}

/* Apple-style dropdown shadows */
.apple-dropdown {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08),
                0 8px 32px rgba(0, 0, 0, 0.06),
                0 16px 64px rgba(0, 0, 0, 0.04);
    border-radius: 8px;
}

.apple-dropdown-rounded {
    border-radius: 8px;
}

/* Apple-style modal shadows */
.apple-modal {
    box-shadow: 0 16px 64px rgba(0, 0, 0, 0.12),
                0 32px 128px rgba(0, 0, 0, 0.08),
                0 64px 256px rgba(0, 0, 0, 0.06);
    border-radius: 8px;
}

.apple-modal-rounded {
    border-radius: 8px;
}

/* Apple-style notification */
.apple-notification {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08),
                0 8px 40px rgba(0, 0, 0, 0.06);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
}

.apple-notification-rounded {
    border-radius: 8px;
}

/* Apple-style search bar */
.apple-search {
    transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04),
                0 2px 6px rgba(0, 0, 0, 0.03);
    border-radius: 50px; /* Fully rounded for search bars */
}

.apple-search:focus-within {
    transform: scale(1.02);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08),
                0 8px 32px rgba(0, 0, 0, 0.05);
}

.apple-search-rounded {
    border-radius: 8px;
}

/* Apple-style tabs */
.apple-tab {
    transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    border-radius: 8px;
}

.apple-tab:hover {
    background-color: #f1f5f9;
    transform: translateY(-1px);
}

.apple-tab.active {
    background-color: #315EFB;
    color: white;
    box-shadow: 0 2px 6px rgba(49, 94, 251, 0.25);
    border-radius: 8px;
}

.apple-tab.active:hover {
    background-color: #2563eb;
}

.apple-tab-rounded {
    border-radius: 8px;
}

.apple-tab-pill {
    border-radius: 8px;
}

/* Apple-style footer */
.apple-footer {
    background-color: white;
    border-top: 1px solid #e2e8f0;
    box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.02);
    border-radius: 0; /* Footer should not have border radius */
}

/* Apple-style card components */
.apple-card {
    border-radius: 8px;
}

.apple-card-rounded {
    border-radius: 8px;
}

/* Post content container style for about, privacy, and press pages */
.page-template-page-about .bg-white,
.page-template-page-privacy .bg-white,
.page-template-page-press .bg-white {
    border-radius: 8px;
}

/* Nepali Calendar Apple-style enhancements */
.nepali-calendar .calendar-day,
.nepali-calendar .day-header,
.nepali-calendar .calendar-navigation a,
.nepali-calendar .panchang-details {
    border-radius: 16px !important;
    transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.nepali-calendar .calendar-day {
    background: linear-gradient(135deg, #ffffff 0%, #f9fafb 100%);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 
                0 2px 6px rgba(0, 0, 0, 0.04),
                0 4px 8px rgba(0, 0, 0, 0.03) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.nepali-calendar .calendar-day:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08),
                0 8px 24px rgba(0, 0, 0, 0.06),
                0 16px 48px rgba(0, 0, 0, 0.04) !important;
    border-color: #9ca3af !important;
}

.nepali-calendar .calendar-day.today {
    background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
    border-color: #3b82f6 !important;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15) !important;
    transform: scale(1.05);
}

.nepali-calendar .calendar-day.festival {
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
    border-color: #f87171 !important;
    box-shadow: 0 4px 12px rgba(248, 113, 113, 0.15) !important;
}

.nepali-calendar .day-header {
    background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
    color: #1f2937 !important;
    font-weight: 600 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 
                0 2px 4px rgba(0, 0, 0, 0.02) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.nepali-calendar .calendar-navigation a {
    background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
    color: #1f2937 !important;
    font-weight: 500 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.nepali-calendar .calendar-navigation a:hover {
    background: linear-gradient(135deg, #e5e7eb 0%, #d1d5db 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

.nepali-calendar .panchang-details {
    background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05) !important;
}

/* Mobile responsive adjustments */
@media (max-width: 640px) {
    .nepali-calendar .calendar-day,
    .nepali-calendar .day-header,
    .nepali-calendar .calendar-navigation a,
    .nepali-calendar .panchang-details {
        border-radius: 12px !important;
    }
    
    .nepali-calendar .calendar-day .tithi {
        display: none !important;
    }
}

/* Ensure consistent border-radius values for Apple-style components */
.apple-shadow {
    border-radius: 0.75rem !important; /* 12px */
}

.apple-shadow-sm {
    border-radius: 0.5rem !important; /* 8px */
}

.apple-shadow-md {
    border-radius: 8px !important;
}

.apple-shadow-lg {
    border-radius: 8px !important;
}

.apple-shadow-xl {
    border-radius: 8px !important;
}

.apple-button {
    border-radius: 8px !important;
}

.apple-card {
    border-radius: 0.75rem !important; /* 12px */
}

.apple-service-icon {
    border-radius: 8px !important;
}

.apple-input {
    border-radius: 8px !important;
}

.apple-dropdown {
    border-radius: 8px !important;
}

.apple-modal {
    border-radius: 8px !important;
}

.apple-notification {
    border-radius: 8px !important;
}

.apple-search {
    border-radius: 50px !important; /* Fully rounded for search bars */
}

.apple-tab {
    border-radius: 8px !important;
}

/* Variations for Apple-style components */
.apple-button-rounded,
.apple-card-rounded,
.apple-service-icon-rounded,
.apple-input-rounded,
.apple-dropdown-rounded,
.apple-modal-rounded,
.apple-notification-rounded,
.apple-tab-rounded {
    border-radius: 9999px !important; /* Fully rounded */
}

.apple-button-pill,
.apple-tab-pill {
    border-radius: 8px !important;
}

.apple-service-icon-circle {
    border-radius: 50% !important; /* Perfect circle */
}

/* Remove border-radius from specific elements */
.preview-notice,
.hero-gradient {
    border-radius: 0 !important;
}

/* Post content container style for about, privacy, and press pages */
.page-template-page-about .bg-white,
.page-template-page-privacy .bg-white,
.page-template-page-press .bg-white {
    border-radius: 8px !important;
}
