/**
 * SkyDonate Fundraising Public Styles
 * Aligned with SkyDonate base plugin design system
 *
 * @package SkyDonate_Fundraising
 * @since 1.0.0
 */

/* ========================================
   CSS VARIABLES - SkyDonate Design System
   ======================================== */

:root {
    /* Primary Colors - Aligned with SkyDonate */
    --sky-primary: #4f46e5;
    --sky-primary-hover: #4338ca;
    --sky-primary-light: #eef2ff;
    --sky-primary-rgb: 79, 70, 229;

    /* Accent Colors - SkyDonate Pattern */
    --accent-color: #4f46e5;
    --accent-dark-color: #4338ca;
    --accent-light-color: #eef2ff;
    --sky-accent: #ec4899;
    --sky-accent-light: #fce7f3;
    --sky-accent-rgb: 236, 72, 153;
    --danger-color: #ef4444;
    --btn-danger-color-hover: #b91c1c;

    /* Status Colors */
    --sky-success: #22c55e;
    --sky-success-light: #dcfce7;
    --sky-warning: #f59e0b;
    --sky-warning-light: #fef3c7;
    --sky-error: #ef4444;
    --sky-error-light: #fee2e2;

    /* Gray Scale - SkyDonate Pattern */
    --sky-gray-50: #f9fafb;
    --sky-gray-100: #f3f4f6;
    --sky-gray-200: #e5e7eb;
    --sky-gray-300: #d1d5db;
    --sky-gray-400: #9ca3af;
    --sky-gray-500: #6b7280;
    --sky-gray-600: #4b5563;
    --sky-gray-700: #374151;
    --sky-gray-800: #1f2937;
    --sky-gray-900: #111827;

    /* Text Colors */
    --sky-text: #111827;
    --sky-text-secondary: #4b5563;
    --sky-text-muted: #9ca3af;

    /* Border & Background */
    --sky-border: #e5e7eb;
    --sky-border-light: #f3f4f6;
    --sky-bg: #f9fafb;
    --sky-bg-card: #ffffff;
    --brdcolor-gray-300: #d1d5db;

    /* Spacing - SkyDonate Pattern */
    --sky-space-xs: 4px;
    --sky-space-sm: 8px;
    --sky-space-md: 16px;
    --sky-space-lg: 24px;
    --sky-space-xl: 32px;
    --sky-space-2xl: 48px;

    /* Border Radius - SkyDonate Pattern */
    --sky-radius-sm: 6px;
    --sky-radius: 8px;
    --sky-radius-md: 10px;
    --sky-radius-lg: 12px;
    --sky-radius-xl: 16px;
    --sky-radius-2xl: 24px;
    --sky-radius-full: 9999px;

    /* Shadows - SkyDonate Pattern */
    --sky-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --sky-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --sky-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --sky-shadow-md: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --sky-shadow-lg: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --sky-shadow-xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --sky-shadow-glow: 0 0 30px rgba(79, 70, 229, 0.15);

    /* Transitions */
    --sky-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --sky-transition-fast: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);

    /* Gradients - SkyDonate Pattern */
    --sky-gradient: linear-gradient(135deg, var(--sky-primary) 0%, var(--sky-accent) 100%);
    --sky-gradient-subtle: linear-gradient(135deg, var(--sky-primary-light) 0%, var(--sky-accent-light) 100%);

    /* Button Variables - SkyDonate Pattern */
    --btn-transform: capitalize;
    --btn-font-weight: 600;
    --btn-accented-color: #ffffff;
    --btn-accented-color-hover: #ffffff;
    --btn-accented-brd-radius: 8px;
    --btn-accented-box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
    --btn-accented-box-shadow-hover: 0 6px 20px rgba(79, 70, 229, 0.4);

    /* Select Arrow - SkyDonate Pattern */
    --sky-select-arrow: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNSIgaGVpZ2h0PSIyNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2U9IiNiYmIiPjxwYXRoIGQ9Ik02IDlsNiA2IDYtNiIvPjwvc3ZnPg==");
    --sky-check: url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.9259 3.92578L5.77778 12.0739L2.07407 8.37023" stroke="%234f46e5" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg>');
}

/* ========================================
   BASE STYLES
   ======================================== */

.skydonate-fundraising-page,
.skydonate-page-wrapper,
.skydonate-my-fundraising {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--sky-text);
}

/* Page Wrapper */
.skydonate-page-wrapper {
    max-width: 1280px;
    margin: 0 auto;
    padding: var(--sky-space-xl) var(--sky-space-lg);
}

/* ========================================
   FUNDRAISING PAGE LAYOUT
   ======================================== */

.skydonate-page-container {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: var(--sky-space-2xl);
    align-items: start;
}

.skydonate-page-main {
    min-width: 0;
}

.skydonate-page-sidebar {
    position: sticky;
    top: var(--sky-space-lg);
}

/* ========================================
   PAGE HEADER
   ======================================== */

.skydonate-page-header {
    margin-bottom: var(--sky-space-xl);
}

.skydonate-page-title {
    font-size: 36px;
    font-weight: 700;
    color: var(--sky-text);
    line-height: 1.2;
    margin: 0 0 var(--sky-space-md);
    letter-spacing: -0.02em;
}

.skydonate-page-fundraiser {
    display: inline-flex;
    align-items: center;
    gap: var(--sky-space-sm);
    font-size: 15px;
    color: var(--sky-text-secondary);
    margin: 0;
    padding: var(--sky-space-sm) var(--sky-space-md);
    background: var(--sky-bg);
    border-radius: var(--sky-radius-full);
}

.skydonate-page-fundraiser::before {
    content: '';
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--sky-gradient);
}

/* ========================================
   FEATURED IMAGE
   ======================================== */

.skydonate-page-image {
    position: relative;
    border-radius: var(--sky-radius-lg);
    overflow: hidden;
    margin-bottom: var(--sky-space-xl);
    aspect-ratio: 16 / 9;
    box-shadow: var(--sky-shadow-md);
}

.skydonate-page-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.skydonate-page-image:hover img {
    transform: scale(1.02);
}

.skydonate-page-image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 60%, rgba(0, 0, 0, 0.1) 100%);
    pointer-events: none;
}

/* ========================================
   PROGRESS SECTION
   ======================================== */

.skydonate-page-progress {
    background: var(--sky-bg-card);
    border: 1px solid var(--sky-border-light);
    border-radius: var(--sky-radius-lg);
    padding: var(--sky-space-lg);
    margin-bottom: var(--sky-space-xl);
    box-shadow: var(--sky-shadow-sm);
}

.skydonate-progress-amounts {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: var(--sky-space-md);
}

.skydonate-raised {
    font-size: 32px;
    font-weight: 700;
    color: var(--sky-text);
    letter-spacing: -0.02em;
}

.skydonate-raised .currency {
    font-size: 22px;
    font-weight: 600;
}

.skydonate-target {
    font-size: 14px;
    color: var(--sky-text-muted);
}

.skydonate-progress-bar {
    height: 10px;
    background: var(--sky-gray-200);
    border-radius: var(--sky-radius-full);
    overflow: hidden;
    margin-bottom: var(--sky-space-md);
    position: relative;
}

.skydonate-progress-fill {
    height: 100%;
    background: var(--sky-gradient);
    border-radius: var(--sky-radius-full);
    transition: width 1s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    min-width: 20px;
}

.skydonate-progress-fill::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg,
            transparent 0%,
            rgba(255, 255, 255, 0.4) 50%,
            transparent 100%);
    animation: shimmer 2.5s infinite;
}

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

    100% {
        transform: translateX(100%);
    }
}

.skydonate-stats {
    display: flex;
    gap: var(--sky-space-xl);
}

.skydonate-stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.skydonate-stat strong {
    font-size: 18px;
    font-weight: 700;
    color: var(--sky-text);
}

.skydonate-stat span:last-child {
    font-size: 12px;
    color: var(--sky-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ========================================
   PAGE CONTENT
   ======================================== */

.skydonate-page-content {
    font-size: 16px;
    line-height: 1.75;
    color: var(--sky-text-secondary);
    margin-bottom: var(--sky-space-xl);
}

.skydonate-page-content p {
    margin-bottom: var(--sky-space-md);
}

.skydonate-page-content h2,
.skydonate-page-content h3,
.skydonate-page-content h4 {
    color: var(--sky-text);
    margin-top: var(--sky-space-xl);
    margin-bottom: var(--sky-space-md);
}

/* ========================================
   GALLERY - SkyDonate Pattern
   ======================================== */

.skydonate-page-gallery {
    margin-bottom: var(--sky-space-xl);
}

.skydonate-page-gallery h3 {
    font-size: 18px;
    font-weight: 600;
    color: var(--sky-text);
    margin: 0 0 var(--sky-space-md);
}

.skydonate-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: var(--sky-space-sm);
}

.skydonate-gallery-item {
    display: block;
    border-radius: var(--sky-radius);
    overflow: hidden;
    position: relative;
    aspect-ratio: 1;
    cursor: pointer;
}

.skydonate-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--sky-transition);
}

.skydonate-gallery-item::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.3) 100%);
    opacity: 0;
    transition: var(--sky-transition);
    z-index: 1;
}

.skydonate-gallery-item:hover img {
    transform: scale(1.1);
}

.skydonate-gallery-item:hover::before {
    opacity: 1;
}

/* Lightbox */
.skydonate-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.9);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999999;
    padding: var(--sky-space-xl);
}

.skydonate-lightbox-content {
    position: relative;
    max-width: 90vw;
    max-height: 90vh;
}

.skydonate-lightbox-content img {
    max-width: 100%;
    max-height: 90vh;
    border-radius: var(--sky-radius-lg);
    box-shadow: var(--sky-shadow-xl);
}

.skydonate-lightbox-close {
    position: absolute;
    top: -44px;
    right: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    color: #fff;
    font-size: 20px;
    cursor: pointer;
    transition: var(--sky-transition);
}

.skydonate-lightbox-close:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: rotate(90deg);
}

/* ========================================
   RECENT DONATIONS
   ======================================== */

.skydonate-page-donations {
    margin-bottom: var(--sky-space-xl);
}

.skydonate-page-donations h3 {
    font-size: 18px;
    font-weight: 600;
    color: var(--sky-text);
    margin: 0 0 var(--sky-space-md);
}

.skydonate-donations-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.skydonate-donation-item {
    display: flex;
    align-items: center;
    gap: var(--sky-space-md);
    padding: var(--sky-space-md);
    background: var(--sky-bg-card);
    border: 1px solid var(--sky-border-light);
    border-radius: var(--sky-radius);
    margin-bottom: var(--sky-space-sm);
    transition: var(--sky-transition);
}

.skydonate-donation-item:hover {
    border-color: var(--sky-border);
    box-shadow: var(--sky-shadow-sm);
    transform: translateX(4px);
}

.skydonate-donation-item:last-child {
    margin-bottom: 0;
}

.skydonate-donor-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--sky-gradient);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(var(--sky-primary-rgb), 0.3);
}

.skydonate-donor-info {
    flex: 1;
    min-width: 0;
}

.skydonate-donor-name {
    display: block;
    font-weight: 600;
    color: var(--sky-text);
    margin-bottom: 2px;
}

.skydonate-donation-date {
    font-size: 13px;
    color: var(--sky-text-muted);
}

.skydonate-donation-amount {
    font-size: 16px;
    font-weight: 600;
    color: var(--accent-color);
    background: var(--accent-light-color);
    padding: var(--sky-space-sm) var(--sky-space-md);
    border-radius: var(--sky-radius-full);
}

.skydonate-donation-amount.hidden {
    font-size: 13px;
    font-weight: 500;
    color: var(--sky-text-muted);
    background: var(--sky-bg);
    font-style: italic;
}

/* ========================================
   DONATION WIDGET (SIDEBAR) - SkyDonate Pattern
   ======================================== */

.skydonate-donation-widget {
    background: var(--sky-bg-card);
    border-radius: var(--sky-radius-lg);
    padding: var(--sky-space-lg);
    box-shadow: var(--sky-shadow-md), var(--sky-shadow-glow);
    border: 1px solid var(--sky-border-light);
    position: relative;
    overflow: hidden;
}

.skydonate-donation-widget::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--sky-gradient);
}

.skydonate-donation-widget h3 {
    font-size: 20px;
    font-weight: 600;
    color: var(--sky-text);
    margin: 0 0 var(--sky-space-lg);
    text-align: center;
}

/* Preset Amounts - SkyDonate Donation Form Pattern */
.skydonate-preset-amounts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sky-space-sm);
    margin-bottom: var(--sky-space-md);
}

.skydonate-preset-btn {
    padding: 12px var(--sky-space-sm);
    border: 1px solid #c7cdd6;
    border-radius: var(--sky-radius);
    background: var(--sky-bg-card);
    font-size: 15px;
    font-weight: 600;
    color: var(--sky-text);
    cursor: pointer;
    transition: var(--sky-transition);
    position: relative;
    overflow: hidden;
    min-height: 44px;
    z-index: 1;
}

.skydonate-preset-btn::after {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    transition: 0.3s;
    border-radius: var(--sky-radius);
    background-color: var(--accent-light-color);
    border: 2px solid var(--accent-color);
    z-index: -1;
    opacity: 0;
}

.skydonate-preset-btn span {
    position: relative;
    z-index: 1;
}

.skydonate-preset-btn:hover,
.skydonate-preset-btn.active {
    color: var(--accent-color);
}

.skydonate-preset-btn:hover::after,
.skydonate-preset-btn.active::after {
    opacity: 1;
}

.skydonate-preset-btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--sky-shadow-sm);
}

/* Custom Amount - SkyDonate Pattern */
.skydonate-custom-amount {
    margin-bottom: var(--sky-space-lg);
}

.skydonate-custom-amount label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: var(--sky-text-secondary);
    margin-bottom: var(--sky-space-sm);
}

.skydonate-input-group {
    display: flex;
    align-items: stretch;
    border: 1px solid #c7cdd6;
    border-radius: var(--sky-radius);
    overflow: hidden;
    transition: var(--sky-transition);
    background: var(--sky-bg-card);
    position: relative;
    z-index: 1;
}

.skydonate-input-group:focus-within {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(var(--sky-primary-rgb), 0.1);
}

.skydonate-currency {
    display: flex;
    align-items: center;
    padding: 0 var(--sky-space-md);
    background: var(--sky-bg-card);
    color: var(--accent-color);
    font-weight: 600;
    font-size: 20px;
    min-width: 50px;
    justify-content: center;
}

.skydonate-input-group input {
    flex: 1;
    border: none;
    padding: var(--sky-space-md);
    font-size: 24px;
    font-weight: 400;
    color: var(--accent-color);
    background: transparent;
    outline: none;
    min-width: 0;
    height: 56px;
}

.skydonate-input-group input::placeholder {
    color: #ededed;
}

/* Donor Options */
.skydonate-donor-options {
    background: var(--sky-bg);
    border-radius: var(--sky-radius);
    padding: var(--sky-space-md);
    margin-bottom: var(--sky-space-lg);
}

.skydonate-donor-options h4 {
    font-size: 13px;
    font-weight: 600;
    color: var(--sky-text);
    margin: 0 0 var(--sky-space-md);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.skydonate-field {
    margin-bottom: var(--sky-space-md);
}

.skydonate-field:last-child {
    margin-bottom: 0;
}

.skydonate-field>label {
    display: block;
    font-size: 13px;
    color: var(--sky-text-secondary);
    margin-bottom: var(--sky-space-sm);
}

.skydonate-field select {
    width: 100%;
    padding: 10px var(--sky-space-md);
    border: 1px solid var(--sky-border);
    border-radius: var(--sky-radius-sm);
    font-size: 14px;
    color: var(--sky-text);
    background: var(--sky-bg-card) var(--sky-select-arrow) no-repeat right 10px center / 18px 18px;
    cursor: pointer;
    transition: var(--sky-transition);
    appearance: none;
    padding-right: 40px;
}

.skydonate-field select:focus {
    outline: none;
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(var(--sky-primary-rgb), 0.1);
}

.skydonate-checkbox {
    display: flex;
    align-items: center;
    gap: var(--sky-space-sm);
    font-size: 14px;
    color: var(--sky-text-secondary);
    cursor: pointer;
    padding: var(--sky-space-sm) 0;
}

.skydonate-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    border: 2px solid var(--sky-border);
    border-radius: var(--sky-radius-sm);
    cursor: pointer;
    accent-color: var(--accent-color);
}

/* Donate Button - SkyDonate Primary Button Pattern */
.skydonate-donate-btn,
button.form-submit-button {
    width: 100%;
    padding: var(--sky-space-md) var(--sky-space-lg);
    background: var(--accent-color);
    color: var(--btn-accented-color);
    border: none;
    border-radius: var(--sky-radius);
    font-size: 16px;
    font-weight: var(--btn-font-weight);
    text-transform: var(--btn-transform);
    cursor: pointer;
    transition: var(--sky-transition);
    position: relative;
    overflow: hidden;
    box-shadow: var(--btn-accented-box-shadow);
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.skydonate-donate-btn:hover,
button.form-submit-button:hover {
    background: var(--accent-dark-color);
    color: var(--btn-accented-color-hover);
    transform: translateY(-2px);
    box-shadow: var(--btn-accented-box-shadow-hover);
}

.skydonate-donate-btn:active,
button.form-submit-button:active {
    transform: translateY(-1px);
}

.skydonate-donate-btn.loading,
button.form-submit-button.loading {
    pointer-events: none;
    opacity: 0.8;
}

/* Loading Animation - SkyDonate Pattern */
.loading {
    position: relative;
}

.loading:after {
    content: "";
    display: block;
    width: 14px;
    min-width: 14px;
    height: 14px;
    border: 2px solid currentColor;
    border-top: 2px solid transparent;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-left: 5px;
    position: absolute;
    right: 15px;
    top: calc(50% - 8px);
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* ========================================
   SHARE WIDGET
   ======================================== */

.skydonate-share-widget {
    background: var(--sky-bg-card);
    border: 1px solid var(--sky-border-light);
    border-radius: var(--sky-radius-lg);
    padding: var(--sky-space-lg);
    margin-top: var(--sky-space-md);
}

.skydonate-share-widget h3 {
    font-size: 15px;
    font-weight: 600;
    color: var(--sky-text);
    margin: 0 0 var(--sky-space-md);
}

.skydonate-share-buttons {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sky-space-sm);
    margin-bottom: var(--sky-space-md);
}

.skydonate-share-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--sky-space-sm);
    padding: 10px var(--sky-space-md);
    border-radius: var(--sky-radius);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: var(--sky-transition);
    border: none;
}

.skydonate-share-btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--sky-shadow-sm);
}

.skydonate-share-btn.facebook {
    background: #1877f2;
    color: #fff;
}

.skydonate-share-btn.twitter {
    background: #000;
    color: #fff;
}

.skydonate-share-btn.whatsapp {
    background: #25d366;
    color: #fff;
}

.skydonate-share-btn.email {
    background: var(--sky-bg);
    color: var(--sky-text);
    border: 1px solid var(--sky-border);
}

.skydonate-copy-link {
    display: flex;
    gap: var(--sky-space-sm);
}

.skydonate-copy-link input {
    flex: 1;
    padding: 10px var(--sky-space-md);
    border: 1px solid var(--sky-border);
    border-radius: var(--sky-radius-sm);
    font-size: 13px;
    color: var(--sky-text-secondary);
    background: var(--sky-bg);
    min-width: 0;
}

.skydonate-copy-link button {
    padding: 10px var(--sky-space-md);
    background: var(--sky-gray-800);
    color: #fff;
    border: none;
    border-radius: var(--sky-radius-sm);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--sky-transition);
    white-space: nowrap;
}

.skydonate-copy-link button:hover {
    background: var(--accent-color);
}

.skydonate-copy-link button.copied {
    background: var(--sky-success);
}

/* ========================================
   PAGE CARDS GRID (SHORTCODE)
   ======================================== */

.skydonate-pages-grid {
    display: grid;
    gap: var(--sky-space-lg);
}

.skydonate-pages-grid.columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

.skydonate-pages-grid.columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.skydonate-pages-grid.columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

/* Page Card */
.skydonate-page-card {
    background: var(--sky-bg-card);
    border-radius: var(--sky-radius-lg);
    box-shadow: var(--sky-shadow-sm);
    overflow: hidden;
    transition: var(--sky-transition);
    border: 1px solid var(--sky-border-light);
    position: relative;
}

.skydonate-page-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--sky-shadow-lg);
    border-color: transparent;
}

.skydonate-page-card .card-image {
    display: block;
    height: 180px;
    overflow: hidden;
    position: relative;
}

.skydonate-page-card .card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.skydonate-page-card:hover .card-image img {
    transform: scale(1.08);
}

.skydonate-page-card .card-content {
    padding: var(--sky-space-lg);
}

.skydonate-page-card .card-title {
    margin: 0 0 var(--sky-space-md);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
}

.skydonate-page-card .card-title a {
    color: var(--sky-text);
    text-decoration: none;
    transition: var(--sky-transition);
}

.skydonate-page-card .card-title a:hover {
    color: var(--accent-color);
}

.skydonate-page-card .card-progress {
    height: 6px;
    background: var(--sky-gray-200);
    border-radius: var(--sky-radius-full);
    margin-bottom: var(--sky-space-md);
    overflow: hidden;
    position: relative;
}

.skydonate-page-card .card-progress::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: var(--progress, 0%);
    background: var(--sky-gradient);
    border-radius: var(--sky-radius-full);
    transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.skydonate-page-card .card-stats {
    margin-bottom: var(--sky-space-md);
}

.skydonate-page-card .card-stats .raised {
    font-size: 20px;
    font-weight: 700;
    color: var(--sky-text);
}

.skydonate-page-card .card-stats .target {
    font-size: 13px;
    color: var(--sky-text-muted);
    margin-left: 4px;
}

.skydonate-page-card .card-button {
    display: block;
    text-align: center;
    padding: 12px var(--sky-space-lg);
    background: var(--accent-color);
    color: #fff;
    text-decoration: none;
    border-radius: var(--sky-radius);
    font-weight: 600;
    font-size: 14px;
    transition: var(--sky-transition);
    box-shadow: 0 4px 10px rgba(var(--sky-primary-rgb), 0.25);
}

.skydonate-page-card .card-button:hover {
    background: var(--accent-dark-color);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(var(--sky-primary-rgb), 0.35);
}

/* ========================================
   MY ACCOUNT INTEGRATION
   ======================================== */

.skydonate-my-fundraising .skydonate-my-fundraising-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--sky-space-lg);
    flex-wrap: wrap;
    gap: var(--sky-space-md);
}

.skydonate-my-fundraising .skydonate-my-fundraising-header h2 {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: var(--sky-text);
}

.skydonate-my-fundraising .button {
    display: inline-flex;
    align-items: center;
    gap: var(--sky-space-sm);
    padding: 10px var(--sky-space-lg);
    background: var(--accent-color);
    color: #fff;
    border: none;
    border-radius: var(--sky-radius);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: var(--sky-transition);
    box-shadow: var(--btn-accented-box-shadow);
}

.skydonate-my-fundraising .button:hover {
    background: var(--accent-dark-color);
    transform: translateY(-2px);
    box-shadow: var(--btn-accented-box-shadow-hover);
    color: #fff;
}

.skydonate-mini-progress {
    height: 5px;
    background: var(--sky-gray-200);
    border-radius: var(--sky-radius-full);
    overflow: hidden;
    margin-bottom: 4px;
}

.skydonate-mini-bar {
    height: 100%;
    background: var(--sky-gradient);
    border-radius: var(--sky-radius-full);
    transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.skydonate-pages-table .actions,
.skydonate-table-actions {
    display: flex;
    gap: var(--sky-space-xs);
    flex-wrap: wrap;
    justify-content: flex-end;
}

.skydonate-pages-table .button-small {
    padding: var(--sky-space-sm) var(--sky-space-md);
    font-size: 12px;
    border-radius: var(--sky-radius-sm);
}

/* Table Action Buttons */
.skydonate-table-actions .action-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    font-size: 12px;
    font-weight: 500;
    text-decoration: none;
    border-radius: var(--sky-radius);
    transition: var(--sky-transition);
    white-space: nowrap;
}

.skydonate-table-actions .action-btn svg {
    flex-shrink: 0;
}

.skydonate-table-actions .action-view {
    background: var(--sky-success-light);
    color: #16a34a;
    border: 1px solid transparent;
}

.skydonate-table-actions .action-view:hover {
    background: #16a34a;
    color: #fff;
}

.skydonate-table-actions .action-edit {
    background: var(--accent-light-color);
    color: var(--accent-color);
    border: 1px solid transparent;
}

.skydonate-table-actions .action-edit:hover {
    background: var(--accent-color);
    color: #fff;
}

.skydonate-table-actions .action-details {
    background: var(--sky-bg);
    color: var(--sky-text-muted);
    border: 1px solid var(--sky-border);
}

.skydonate-table-actions .action-details:hover {
    background: var(--sky-gray-100);
    color: var(--sky-text);
    border-color: var(--sky-gray-300);
}

.skydonate-table-actions .action-disabled {
    background: var(--sky-gray-100) !important;
    color: var(--sky-gray-400) !important;
    border-color: var(--sky-gray-200) !important;
    cursor: not-allowed;
    opacity: 0.6;
}

.skydonate-table-actions .action-disabled:hover {
    background: var(--sky-gray-100) !important;
    color: var(--sky-gray-400) !important;
}

/* Status Badges - SkyDonate Pattern */
.skydonate-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    border-radius: var(--sky-radius-full);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.skydonate-status.status-pending {
    background: var(--sky-warning-light);
    color: #b45309;
}

.skydonate-status.status-pending::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #f59e0b;
    animation: pulse 2s infinite;
}

.skydonate-status.status-approved {
    background: var(--sky-success-light);
    color: #15803d;
}

.skydonate-status.status-approved::before {
    content: '';
    width: 14px;
    height: 14px;
    background: var(--sky-check) no-repeat center / contain;
}

.skydonate-status.status-declined {
    background: var(--sky-error-light);
    color: #b91c1c;
}

.skydonate-status.status-declined::before {
    content: '\00d7';
    font-size: 12px;
    font-weight: 700;
}

.skydonate-status.status-under_review {
    background: #e0f2fe;
    color: #0369a1;
}

.skydonate-status.status-under_review::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #0ea5e9;
    animation: pulse 2s infinite;
}

.fundraising-header .button {
    margin-left: auto;
}

.fundraising-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 12px;
}

@keyframes pulse {

    0%,
    100% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.5;
        transform: scale(0.8);
    }
}

/* ========================================
   FORMS
   ======================================== */

.skydonate-create-page,
.skydonate-edit-page {
    max-width: 800px;
}

/* WYSIWYG Editor Wrapper */
.skydonate-editor-wrapper {
    margin-bottom: var(--sky-space-lg);
}

.skydonate-editor-wrapper>label {
    display: block;
    font-weight: 500;
    color: var(--sky-text);
    margin-bottom: var(--sky-space-sm);
    font-size: 14px;
}

.skydonate-editor-wrapper .wp-editor-wrap {
    border: 2px solid var(--sky-border);
    border-radius: var(--sky-radius);
    overflow: hidden;
}

.skydonate-editor-wrapper .wp-editor-wrap:focus-within {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(var(--sky-primary-rgb), 0.1);
}

.skydonate-editor-wrapper .wp-editor-tools {
    border-bottom: 1px solid var(--sky-border);
    background: var(--sky-bg);
    display: flex;
    align-items: center;
    gap: var(--sky-space-sm);
    padding: var(--sky-space-sm);
}

.skydonate-editor-wrapper .wp-editor-tabs {
    display: flex;
    gap: var(--sky-space-xs);
    margin-left: auto;
    margin-right: 0px;
}

.skydonate-editor-wrapper .wp-editor-tools:after {
    display: none;
}

.skydonate-editor-wrapper .wp-editor-tools .wp-media-buttons .button,
.skydonate-editor-wrapper .wp-switch-editor {
    background: var(--sky-bg-card);
    border: 1px solid var(--sky-border);
    border-radius: var(--sky-radius-sm);
    padding: var(--sky-space-xs) var(--sky-space-sm);
    font-size: 13px;
    color: var(--sky-text-secondary);
    transition: var(--sky-transition);
    margin: 0px;
}

.skydonate-editor-wrapper .wp-switch-editor[aria-pressed="true"],
.skydonate-editor-wrapper .wp-switch-editor:hover,
.skydonate-editor-wrapper .wp-switch-editor.switch-tmce:focus,
.skydonate-editor-wrapper .wp-switch-editor.switch-html:focus {
    background: var(--accent-light-color);
    border-color: var(--accent-color);
    color: var(--accent-color);
}

.skydonate-editor-wrapper .mce-toolbar-grp {
    background: var(--sky-bg) !important;
    border-bottom: 1px solid var(--sky-border) !important;
}

.skydonate-editor-wrapper .mce-btn {
    background: var(--sky-bg-card) !important;
    border-color: var(--sky-border) !important;
}

.skydonate-editor-wrapper .mce-btn:hover {
    background: var(--accent-light-color) !important;
    border-color: var(--accent-color) !important;
}

.skydonate-editor-wrapper .mce-btn.mce-active {
    background: var(--accent-light-color) !important;
    border-color: var(--accent-color) !important;
}

.skydonate-editor-wrapper .wp-editor-container {
    border: none;
}

.skydonate-editor-wrapper .wp-editor-container textarea.wp-editor-area {
    border: none;
    padding: var(--sky-space-md);
    font-size: 14px;
    line-height: 1.6;
}

.skydonate-editor-wrapper .description {
    font-size: 12px;
    color: var(--sky-text-muted);
    margin-top: var(--sky-space-sm);
}

.skydonate-editor-wrapper .wp-editor-tabs .wp-switch-editor {
    padding: 10px 16px;
    height: auto;
    min-height: inherit;
    border: 1px solid #ededed;

}

.media-frame input[type=color],
.media-frame input[type=date],
.media-frame input[type=datetime-local],
.media-frame input[type=datetime],
.media-frame input[type=email],
.media-frame input[type=month],
.media-frame input[type=number],
.media-frame input[type=password],
.media-frame input[type=search],
.media-frame input[type=tel],
.media-frame input[type=text],
.media-frame input[type=time],
.media-frame input[type=url],
.media-frame input[type=week],
.media-frame select,
.media-frame textarea {
    width: auto;
    height: auto;
    min-height: inherit;
}

.media-router .media-menu-item {
    min-height: inherit;
}

/* Select Dropdown - Base Product */
.skydonate-form input.input-text,
.skydonate-form select.input-select,
.skydonate-create-page select,
.skydonate-edit-page select {
    width: 100%;
    padding: 12px var(--sky-space-md);
    border: 2px solid var(--sky-border);
    border-radius: var(--sky-radius);
    font-size: 14px;
    color: var(--sky-text);
    transition: var(--sky-transition);
    appearance: none;
    padding-right: 44px;
    height: auto;
}

.skydonate-form input.input-text:focus,
.skydonate-form select.input-select:focus,
.skydonate-create-page select:focus,
.skydonate-edit-page select:focus {
    outline: none;
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(var(--sky-primary-rgb), 0.1);
}

.skydonate-form input.input-text {
    text-align: left;
}

.skydonate-create-page h2,
.skydonate-edit-page h2 {
    font-size: 26px;
    font-weight: 700;
    color: var(--sky-text);
    margin: 0 0 var(--sky-space-xl);
}

.skydonate-form-section {
    background: var(--sky-bg-card);
    border: 1px solid var(--sky-border-light);
    border-radius: var(--sky-radius-lg);
    padding: var(--sky-space-lg);
    margin-bottom: var(--sky-space-lg);
    box-shadow: var(--sky-shadow-sm);
}

.skydonate-form-section h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--sky-text);
    margin: 0 0 var(--sky-space-md);
    padding-bottom: var(--sky-space-md);
    border-bottom: 1px solid var(--sky-border-light);
}

.skydonate-form-section .form-row {
    margin-bottom: var(--sky-space-md);
}

.skydonate-form-section .form-row:last-child {
    margin-bottom: 0;
}

.skydonate-form-section label {
    display: block;
    font-weight: 500;
    color: var(--sky-text);
    margin-bottom: var(--sky-space-sm);
    font-size: 14px;
}

.skydonate-form-section .required {
    color: var(--sky-error);
}

.skydonate-form-section input[type="text"],
.skydonate-form-section input[type="number"],
.skydonate-form-section input[type="email"],
.skydonate-form-section textarea,
.skydonate-form-section select {
    width: 100%;
    padding: 12px var(--sky-space-md);
    border: 2px solid var(--sky-border);
    border-radius: var(--sky-radius);
    font-size: 14px;
    color: var(--sky-text);
    background: var(--sky-bg-card);
    transition: var(--sky-transition);
}

.skydonate-form-section input:focus,
.skydonate-form-section textarea:focus,
.skydonate-form-section select:focus {
    outline: none;
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(var(--sky-primary-rgb), 0.1);
}

.skydonate-form-section textarea {
    resize: vertical;
    min-height: 140px;
    line-height: 1.6;
}

.skydonate-form-section .description {
    font-size: 12px;
    color: var(--sky-text-muted);
    margin-top: var(--sky-space-sm);
}

.skydonate-slug-prefix,
.skydonate-currency-prefix {
    display: inline-block;
    padding: 12px var(--sky-space-md);
    background: var(--sky-bg);
    border: 2px solid var(--sky-border);
    border-right: none;
    border-radius: var(--sky-radius) 0 0 var(--sky-radius);
    color: var(--sky-text-secondary);
    font-size: 14px;
}

.skydonate-form-section .skydonate-slug-prefix+input,
.skydonate-form-section .skydonate-currency-prefix+input {
    border-radius: 0 var(--sky-radius) var(--sky-radius) 0;
    width: auto;
    flex: 1;
}

.skydonate-form-actions {
    display: flex;
    gap: var(--sky-space-sm);
    flex-wrap: wrap;
}

.skydonate-form-actions .button {
    padding: 12px var(--sky-space-lg);
    font-size: 14px;
    font-weight: 600;
    border-radius: var(--sky-radius);
    cursor: pointer;
    transition: var(--sky-transition);
}

.skydonate-form-actions .button-secondary {
    background: var(--sky-bg);
    border: 1px solid var(--sky-border);
    color: var(--sky-text);
}

.skydonate-form-actions .button-secondary:hover {
    background: var(--sky-bg-card);
    border-color: var(--accent-color);
    color: var(--accent-color);
}

.skydonate-form-note {
    font-size: 13px;
    color: var(--sky-text-muted);
    margin-top: var(--sky-space-md);
    padding: var(--sky-space-md);
    background: var(--sky-bg);
    border-radius: var(--sky-radius);
    text-align: center;
}

/* Edit Page Status */
.skydonate-page-status-info {
    display: flex;
    align-items: center;
    gap: var(--sky-space-md);
    margin-bottom: var(--sky-space-lg);
    flex-wrap: wrap;
}

.skydonate-pending-notice {
    padding: var(--sky-space-sm) var(--sky-space-md);
    background: var(--sky-warning-light);
    color: #92400e;
    border-radius: var(--sky-radius-full);
    font-size: 13px;
    font-weight: 500;
}

.skydonate-current-stats {
    display: flex;
    gap: var(--sky-space-lg);
    margin-bottom: var(--sky-space-md);
}

.skydonate-current-stats .stat {
    padding: var(--sky-space-md);
    background: var(--sky-bg);
    border-radius: var(--sky-radius);
}

.skydonate-current-stats .stat .label {
    font-size: 12px;
    color: var(--sky-text-muted);
    margin-right: var(--sky-space-sm);
}

.skydonate-current-stats .stat .value {
    font-size: 16px;
    font-weight: 700;
    color: var(--sky-text);
}

.skydonate-current-image {
    margin-bottom: var(--sky-space-md);
}

.skydonate-current-image label {
    display: block;
    font-weight: 500;
    color: var(--sky-text);
    margin-bottom: var(--sky-space-sm);
}

.skydonate-current-image img {
    border-radius: var(--sky-radius);
    box-shadow: var(--sky-shadow-sm);
}

.current-image-preview {
    margin-bottom: var(--sky-space-md);
    padding: var(--sky-space-md);
    background: var(--sky-bg);
    border-radius: var(--sky-radius);
    border: 1px solid var(--sky-border);
}

.current-image-preview img {
    max-width: 300px;
    height: auto;
    border-radius: var(--sky-radius);
    box-shadow: var(--sky-shadow-sm);
    display: block;
    margin-bottom: var(--sky-space-sm);
}

.current-image-preview .description {
    margin: 0;
    font-size: 13px;
    color: var(--sky-text-muted);
}

/* Image Upload Box */
.skydonate-image-upload-box {
    border: 2px dashed var(--sky-border);
    border-radius: var(--sky-radius-lg);
    padding: var(--sky-space-lg);
    background: var(--sky-bg);
    transition: var(--sky-transition);
}

.skydonate-image-upload-box:hover {
    border-color: var(--accent-color);
    background: var(--accent-light-color);
}

.skydonate-image-upload-box .image-preview {
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--sky-space-md);
    border-radius: var(--sky-radius);
    overflow: hidden;
    background: var(--sky-bg-card);
}

.skydonate-image-upload-box .image-preview.has-image {
    min-height: auto;
    background: transparent;
}

.skydonate-image-upload-box .image-preview img {
    max-width: 100%;
    max-height: 300px;
    height: auto;
    border-radius: var(--sky-radius);
    box-shadow: var(--sky-shadow-sm);
    object-fit: cover;
}

.skydonate-image-upload-box .no-image {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--sky-space-sm);
    color: var(--sky-gray-400);
    padding: var(--sky-space-xl);
}

.skydonate-image-upload-box .no-image svg {
    opacity: 0.5;
}

.skydonate-image-upload-box .no-image span {
    font-size: 14px;
}

.skydonate-image-upload-box .image-actions {
    display: flex;
    gap: var(--sky-space-sm);
    justify-content: center;
    flex-wrap: wrap;
}

.skydonate-image-upload-box .image-actions .button {
    display: inline-flex;
    align-items: center;
    gap: var(--sky-space-xs);
    padding: 10px var(--sky-space-md);
    font-size: 13px;
    font-weight: 500;
    border-radius: var(--sky-radius);
    cursor: pointer;
    transition: var(--sky-transition);
}

.skydonate-image-upload-box .select-image-btn {
    background: var(--accent-color);
    color: #fff;
    border: none;
}

.skydonate-image-upload-box .select-image-btn:hover {
    background: var(--accent-dark-color);
    color: white;
}

.skydonate-image-upload-box .remove-image-btn {
    background: var(--sky-bg-card);
    color: var(--sky-error);
    border: 1px solid var(--sky-error);
}

.skydonate-image-upload-box .remove-image-btn:hover {
    background: var(--sky-error);
    color: #fff;
}

/* Gallery Upload Box */
.skydonate-gallery-upload-box {
    border: 2px dashed var(--sky-border);
    border-radius: var(--sky-radius-lg);
    padding: var(--sky-space-lg);
    background: var(--sky-bg);
    transition: var(--sky-transition);
}

.skydonate-gallery-upload-box:hover {
    border-color: var(--accent-color);
    background: var(--accent-light-color);
}

.skydonate-gallery-upload-box .gallery-preview {
    min-height: 120px;
    display: flex;
    flex-direction: column;
    gap: var(--sky-space-md);
    margin-bottom: var(--sky-space-md);
}

.skydonate-gallery-upload-box .gallery-images {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sky-space-sm);
}

.skydonate-gallery-upload-box .gallery-item {
    position: relative;
    width: 100px;
    height: 100px;
    border-radius: var(--sky-radius);
    overflow: hidden;
    box-shadow: var(--sky-shadow-sm);
}

.skydonate-gallery-upload-box .gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.skydonate-gallery-upload-box .gallery-item .remove-gallery-item {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: var(--sky-transition-fast);
}

.skydonate-gallery-upload-box .gallery-item:hover .remove-gallery-item {
    opacity: 1;
}

.skydonate-gallery-upload-box .gallery-item .remove-gallery-item:hover {
    background: var(--sky-error);
}

.skydonate-gallery-upload-box .no-gallery {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--sky-space-sm);
    color: var(--sky-gray-400);
    padding: var(--sky-space-lg);
}

.skydonate-gallery-upload-box .no-gallery svg {
    opacity: 0.5;
}

.skydonate-gallery-upload-box .no-gallery span {
    font-size: 14px;
}

.skydonate-gallery-upload-box .gallery-actions {
    display: flex;
    gap: var(--sky-space-sm);
    justify-content: center;
}

.skydonate-gallery-upload-box .gallery-actions .button {
    display: inline-flex;
    align-items: center;
    gap: var(--sky-space-xs);
    padding: 10px var(--sky-space-md);
    font-size: 13px;
    font-weight: 500;
    border-radius: var(--sky-radius);
    cursor: pointer;
    transition: var(--sky-transition);
}

.skydonate-gallery-upload-box .add-gallery-btn {
    background: var(--accent-color);
    color: #fff;
    border: none;
}

.skydonate-gallery-upload-box .add-gallery-btn:hover {
    background: var(--accent-dark-color);
}

/* ========================================
   NOTICES & MESSAGES - SkyDonate Pattern
   ======================================== */

.skydonate-notice,
.skydonate-form-message {
    padding: var(--sky-space-md);
    border-radius: var(--sky-radius);
    margin-bottom: var(--sky-space-md);
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: var(--sky-space-sm);
}

.skydonate-notice-success,
.skydonate-form-message.success {
    background: var(--sky-success-light);
    border: 1px solid var(--sky-success);
    color: #166534;
}

.skydonate-notice-warning {
    background: var(--sky-warning-light);
    border: 1px solid var(--sky-warning);
    color: #92400e;
}

.skydonate-notice-error,
.skydonate-form-message.error {
    background: var(--sky-error-light);
    border: 1px solid var(--sky-error);
    color: #991b1b;
}

.skydonate-field-error {
    display: block;
    color: var(--sky-error);
    font-size: 12px;
    margin-top: 5px;
}

.has-error input,
.has-error textarea,
.has-error select {
    border-color: var(--sky-error) !important;
}

/* Toast Notification - SkyDonate Pattern */
.skydonate-toast {
    position: fixed;
    bottom: var(--sky-space-lg);
    left: 50%;
    transform: translateX(-50%) translateY(100px);
    background: var(--sky-gray-800);
    color: #fff;
    padding: 12px var(--sky-space-lg);
    border-radius: var(--sky-radius-full);
    font-size: 14px;
    font-weight: 500;
    box-shadow: var(--sky-shadow-lg);
    z-index: 99999;
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.skydonate-toast.visible {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

/* Notification Popup - SkyDonate Pattern */
.skydonate-notification {
    position: fixed;
    bottom: 20px;
    left: 20px;
    padding: 10px 13px;
    border-radius: var(--sky-radius);
    max-width: calc(100% - 40px);
    width: 360px;
    z-index: 9999;
    background: #ffffff;
    color: #212830;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 10px;
}

.skydonate-notification .name {
    font-weight: 700;
    color: var(--accent-color);
    font-size: 16px;
}

.skydonate-notification .donate-button {
    float: right;
    border: 1px solid var(--accent-color);
    color: var(--accent-color);
    padding: 4px 16px;
    border-radius: var(--sky-radius-full);
    font-weight: 600;
    font-size: 16px;
    margin-top: 5px;
}

.skydonate-notification .donate-button:hover {
    background-color: var(--accent-color);
    color: white;
}

/* ========================================
   IMAGE PREVIEW
   ======================================== */

.skydonate-image-preview {
    margin-top: var(--sky-space-sm);
    border-radius: var(--sky-radius);
    overflow: hidden;
    max-width: 280px;
    box-shadow: var(--sky-shadow-sm);
}

.skydonate-image-preview img {
    display: block;
    width: 100%;
    height: auto;
}

/* ========================================
   DONATION CLOSED STATE - SkyDonate Pattern
   ======================================== */

.donation-form-wrapper .donation-closed {
    text-align: center;
    background-color: var(--accent-light-color);
    padding: var(--sky-space-xl);
    border-radius: var(--sky-radius-lg);
}

.donation-form-wrapper .donation-closed .closing-img {
    width: 120px;
    display: inline-block;
    margin-bottom: var(--sky-space-sm);
}

.donation-form-wrapper .donation-closed h4 {
    margin: 0 0 var(--sky-space-sm) 0;
}

/* Zakat Applicable Badge - SkyDonate Pattern */
.donation-form-wrapper .zakat-applicable {
    text-align: center;
    padding: var(--sky-space-sm);
    background-color: var(--accent-light-color);
    color: var(--accent-color);
    border-radius: var(--sky-radius-full);
    margin-top: var(--sky-space-md);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--sky-space-sm);
}

.donation-form-wrapper .zakat-applicable i {
    font-size: 18px;
}

.media-modal button.media-modal-close {
    float: right;
    background: none;
    padding: inherit;
    margin: inherit;
    min-height: inherit;
}

/* ========================================
   VIEW PAGE - Modern Dashboard Style
   ======================================== */

.skydonate-view-page {
    max-width: 900px;
}

/* Hero Section */
.view-page-hero {
    position: relative;
    border-radius: var(--sky-radius-xl);
    overflow: hidden;
    margin-bottom: var(--sky-space-lg);
    background: var(--sky-gradient);
    min-height: 200px;
}

.view-page-hero .hero-image {
    position: absolute;
    inset: 0;
}

.view-page-hero .hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.view-page-hero .hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.7) 100%);
}

.view-page-hero .hero-content {
    position: relative;
    z-index: 1;
    padding: var(--sky-space-xl);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 200px;
    color: #fff;
}

.view-page-hero .hero-status {
    margin-bottom: var(--sky-space-sm);
}

.view-page-hero .hero-title {
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 var(--sky-space-sm);
    color: #fff;
    text-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.view-page-hero .hero-link {
    display: inline-flex;
    align-items: center;
    gap: var(--sky-space-xs);
    color: rgba(255,255,255,0.9);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: var(--sky-transition);
}

.view-page-hero .hero-link:hover {
    color: #fff;
}

/* Status Alerts */
.view-page-alert {
    display: flex;
    align-items: flex-start;
    gap: var(--sky-space-md);
    padding: var(--sky-space-md) var(--sky-space-lg);
    border-radius: var(--sky-radius-lg);
    margin-bottom: var(--sky-space-lg);
}

.view-page-alert svg {
    flex-shrink: 0;
    margin-top: 2px;
}

.view-page-alert .alert-content strong {
    display: block;
    margin-bottom: 4px;
}

.view-page-alert .alert-content p {
    margin: 0;
    font-size: 14px;
    opacity: 0.9;
}

.view-page-alert.alert-info {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
}

.view-page-alert.alert-info svg {
    color: #3b82f6;
}

.view-page-alert.alert-warning {
    background: var(--sky-warning-light);
    border: 1px solid #fcd34d;
    color: #92400e;
}

.view-page-alert.alert-warning svg {
    color: var(--sky-warning);
}

.view-page-alert.alert-error {
    background: var(--sky-error-light);
    border: 1px solid #fca5a5;
    color: #991b1b;
}

.view-page-alert.alert-error svg {
    color: var(--sky-error);
}

/* Stats Grid */
.view-page-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--sky-space-md);
    margin-bottom: var(--sky-space-lg);
}

.view-page-stats .stat-card {
    background: var(--sky-bg-card);
    border: 1px solid var(--sky-border-light);
    border-radius: var(--sky-radius-lg);
    padding: var(--sky-space-lg);
    display: flex;
    align-items: center;
    gap: var(--sky-space-md);
    transition: var(--sky-transition);
}

.view-page-stats .stat-card:hover {
    border-color: var(--sky-border);
    box-shadow: var(--sky-shadow-sm);
    transform: translateY(-2px);
}

.view-page-stats .stat-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--sky-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.view-page-stats .stat-raised .stat-icon {
    background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
    color: #16a34a;
}

.view-page-stats .stat-target .stat-icon {
    background: linear-gradient(135deg, #e0e7ff 0%, #c7d2fe 100%);
    color: var(--accent-color);
}

.view-page-stats .stat-progress .stat-icon {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
    color: #d97706;
}

.view-page-stats .stat-donors .stat-icon {
    background: linear-gradient(135deg, #fce7f3 0%, #fbcfe8 100%);
    color: #db2777;
}

.view-page-stats .stat-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.view-page-stats .stat-value {
    font-size: 20px;
    font-weight: 700;
    color: var(--sky-text);
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.view-page-stats .stat-label {
    font-size: 12px;
    color: var(--sky-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 2px;
}

/* Progress Section */
.view-page-progress {
    background: var(--sky-bg-card);
    border: 1px solid var(--sky-border-light);
    border-radius: var(--sky-radius-lg);
    padding: var(--sky-space-lg);
    margin-bottom: var(--sky-space-lg);
}

.view-page-progress .progress-header {
    display: flex;
    align-items: baseline;
    gap: var(--sky-space-sm);
    margin-bottom: var(--sky-space-md);
}

.view-page-progress .progress-raised {
    font-size: 24px;
    font-weight: 700;
    color: var(--sky-text);
}

.view-page-progress .progress-target {
    font-size: 14px;
    color: var(--sky-text-muted);
}

.view-page-progress .progress-bar-wrapper {
    height: 12px;
    background: var(--sky-gray-200);
    border-radius: var(--sky-radius-full);
    overflow: hidden;
    margin-bottom: var(--sky-space-sm);
}

.view-page-progress .progress-bar-fill {
    height: 100%;
    background: var(--sky-gradient);
    border-radius: var(--sky-radius-full);
    transition: width 1s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.view-page-progress .progress-bar-fill::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.4) 50%, transparent 100%);
    animation: shimmer 2.5s infinite;
}

.view-page-progress .progress-footer {
    text-align: right;
}

.view-page-progress .progress-percent {
    font-size: 13px;
    font-weight: 600;
    color: var(--accent-color);
}

/* Share Section */
.view-page-share {
    background: var(--sky-bg-card);
    border: 1px solid var(--sky-border-light);
    border-radius: var(--sky-radius-lg);
    padding: var(--sky-space-lg);
    margin-bottom: var(--sky-space-lg);
}

.view-page-share h3 {
    display: flex;
    align-items: center;
    gap: var(--sky-space-sm);
    font-size: 16px;
    font-weight: 600;
    color: var(--sky-text);
    margin: 0 0 var(--sky-space-md);
}

.view-page-share h3 svg {
    color: var(--accent-color);
}

.view-page-share .share-url-box {
    display: flex;
    gap: var(--sky-space-sm);
    margin-bottom: var(--sky-space-md);
}

.view-page-share .share-url-box input {
    flex: 1;
    padding: 12px var(--sky-space-md);
    border: 2px solid var(--sky-border);
    border-radius: var(--sky-radius);
    font-size: 14px;
    color: var(--sky-text-secondary);
    background: var(--sky-bg);
    min-width: 0;
}

.view-page-share .copy-url-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--sky-space-xs);
    padding: 12px var(--sky-space-lg);
    background: var(--sky-gray-800);
    color: #fff;
    border: none;
    border-radius: var(--sky-radius);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--sky-transition);
    white-space: nowrap;
}

.view-page-share .copy-url-btn:hover {
    background: var(--accent-color);
}

.view-page-share .copy-url-btn.copied {
    background: var(--sky-success);
}

.view-page-share .share-social {
    display: flex;
    gap: var(--sky-space-sm);
}

.view-page-share .social-btn {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--sky-radius);
    color: #fff;
    transition: var(--sky-transition);
}

.view-page-share .social-btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--sky-shadow-sm);
}

.view-page-share .social-btn.facebook {
    background: #1877f2;
}

.view-page-share .social-btn.twitter {
    background: #000;
}

.view-page-share .social-btn.whatsapp {
    background: #25d366;
}

.view-page-share .social-btn.email {
    background: var(--sky-gray-600);
}

/* Donations List */
.view-page-donations {
    background: var(--sky-bg-card);
    border: 1px solid var(--sky-border-light);
    border-radius: var(--sky-radius-lg);
    padding: var(--sky-space-lg);
    margin-bottom: var(--sky-space-lg);
}

.view-page-donations h3 {
    display: flex;
    align-items: center;
    gap: var(--sky-space-sm);
    font-size: 16px;
    font-weight: 600;
    color: var(--sky-text);
    margin: 0 0 var(--sky-space-md);
}

.view-page-donations h3 svg {
    color: var(--accent-color);
}

.view-page-donations .donations-list {
    display: flex;
    flex-direction: column;
    gap: var(--sky-space-sm);
}

.view-page-donations .donation-item {
    display: flex;
    align-items: center;
    gap: var(--sky-space-md);
    padding: var(--sky-space-md);
    background: var(--sky-bg);
    border-radius: var(--sky-radius);
    transition: var(--sky-transition);
}

.view-page-donations .donation-item:hover {
    background: var(--sky-gray-100);
}

.view-page-donations .donor-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--sky-gradient);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    flex-shrink: 0;
}

.view-page-donations .donor-info {
    flex: 1;
    min-width: 0;
}

.view-page-donations .donor-name {
    display: block;
    font-weight: 600;
    color: var(--sky-text);
    font-size: 14px;
}

.view-page-donations .donation-date {
    font-size: 12px;
    color: var(--sky-text-muted);
}

.view-page-donations .donation-amount {
    font-size: 15px;
    font-weight: 600;
    color: var(--accent-color);
    background: var(--accent-light-color);
    padding: var(--sky-space-xs) var(--sky-space-md);
    border-radius: var(--sky-radius-full);
}

.view-page-donations .donation-amount.hidden-amount {
    background: var(--sky-bg);
    color: var(--sky-text-muted);
    font-style: italic;
    font-weight: 500;
}

/* No Donations State */
.view-page-no-donations {
    text-align: center;
    padding: var(--sky-space-2xl);
    background: var(--sky-bg);
    border-radius: var(--sky-radius-lg);
    margin-bottom: var(--sky-space-lg);
}

.view-page-no-donations svg {
    color: var(--sky-gray-300);
    margin-bottom: var(--sky-space-md);
}

.view-page-no-donations p {
    margin: 0;
    color: var(--sky-text-muted);
    font-size: 15px;
}

/* Action Buttons */
.view-page-actions {
    display: flex;
    gap: var(--sky-space-sm);
    flex-wrap: wrap;
}

.view-page-actions .button {
    display: inline-flex;
    align-items: center;
    gap: var(--sky-space-sm);
    padding: 12px var(--sky-space-lg);
    border-radius: var(--sky-radius);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: var(--sky-transition);
    cursor: pointer;
}

.view-page-actions .primary-button {
    background: var(--accent-color);
    color: #fff;
    border: none;
    box-shadow: 0 4px 12px rgba(var(--sky-primary-rgb), 0.3);
}

.view-page-actions .primary-button:hover {
    background: var(--accent-dark-color);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(var(--sky-primary-rgb), 0.4);
}

.view-page-actions .secondary-button {
    background: var(--sky-bg-card);
    color: var(--sky-text);
    border: 2px solid var(--sky-border);
}

.view-page-actions .secondary-button:hover {
    border-color: var(--accent-color);
    color: var(--accent-color);
    background: var(--accent-light-color);
}

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

@media screen and (max-width: 1024px) {
    .skydonate-page-container {
        grid-template-columns: 1fr;
        gap: var(--sky-space-xl);
    }

    .skydonate-page-sidebar {
        position: static;
        order: -1;
    }

    .skydonate-pages-grid.columns-4 {
        grid-template-columns: repeat(3, 1fr);
    }

    /* View Page Responsive - Tablet */
    .view-page-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .view-page-hero .hero-content {
        padding: var(--sky-space-lg);
    }

    .view-page-hero .hero-title {
        font-size: 24px;
    }
}

@media screen and (max-width: 768px) {
    .skydonate-page-wrapper {
        padding: var(--sky-space-lg) var(--sky-space-md);
    }

    .skydonate-page-title {
        font-size: 26px;
    }

    .skydonate-page-image {
        border-radius: var(--sky-radius);
    }

    .skydonate-pages-grid.columns-3,
    .skydonate-pages-grid.columns-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .skydonate-share-buttons {
        grid-template-columns: 1fr;
    }

    .skydonate-my-fundraising .skydonate-my-fundraising-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .skydonate-pages-table {
        font-size: 13px;
    }

    .skydonate-pages-table thead th,
    .skydonate-pages-table tbody td {
        padding: var(--sky-space-sm);
    }

    .skydonate-current-stats {
        flex-direction: column;
        gap: var(--sky-space-sm);
    }

    .skydonate-notification {
        bottom: 80px;
        width: calc(100% - 40px) !important;
    }

    /* View Page Responsive - Mobile */
    .view-page-hero {
        height: 200px;
    }

    .view-page-hero .hero-content {
        padding: var(--sky-space-md);
    }

    .view-page-hero .hero-title {
        font-size: 20px;
    }

    .view-page-hero .hero-meta {
        flex-direction: column;
        gap: var(--sky-space-xs);
    }

    .view-page-alert {
        flex-direction: column;
        text-align: center;
        gap: var(--sky-space-sm);
    }

    .view-page-stats .stat-card {
        padding: var(--sky-space-md);
    }

    .view-page-stats .stat-icon {
        width: 40px;
        height: 40px;
    }

    .view-page-stats .stat-icon svg {
        width: 20px;
        height: 20px;
    }

    .view-page-stats .stat-value {
        font-size: 18px;
    }

    .view-page-share-url {
        flex-direction: column;
    }

    .view-page-share-url input {
        border-radius: var(--sky-radius);
    }

    .view-page-share-url .copy-url-btn {
        border-radius: var(--sky-radius);
        padding: 10px var(--sky-space-lg);
    }

    .view-page-social-share {
        flex-wrap: wrap;
    }

    .view-page-social-share a {
        flex: 1;
        min-width: 100px;
        justify-content: center;
    }

    .view-page-donations .donation-item {
        flex-wrap: wrap;
        gap: var(--sky-space-sm);
    }

    .view-page-donations .donation-amount {
        margin-left: auto;
    }

    .view-page-actions {
        flex-direction: column;
    }

    .view-page-actions .button {
        width: 100%;
        justify-content: center;
    }
}

@media screen and (max-width: 480px) {
    .skydonate-page-title {
        font-size: 22px;
    }

    .skydonate-raised {
        font-size: 26px;
    }

    .skydonate-pages-grid.columns-2,
    .skydonate-pages-grid.columns-3,
    .skydonate-pages-grid.columns-4 {
        grid-template-columns: 1fr;
    }

    .skydonate-preset-amounts {
        grid-template-columns: repeat(2, 1fr);
    }

    .skydonate-donation-widget {
        padding: var(--sky-space-md);
    }

    .skydonate-copy-link {
        flex-direction: column;
    }

    .skydonate-copy-link button {
        width: 100%;
    }

    .skydonate-form-actions {
        flex-direction: column;
    }

    .skydonate-form-actions .button {
        width: 100%;
        text-align: center;
    }

    /* View Page Responsive - Small Mobile */
    .view-page-hero {
        height: 180px;
    }

    .view-page-hero .hero-title {
        font-size: 18px;
    }

    .view-page-stats {
        grid-template-columns: 1fr;
    }

    .view-page-stats .stat-card {
        flex-direction: row;
        justify-content: flex-start;
    }

    .view-page-stats .stat-info {
        text-align: left;
    }

    .view-page-section-title {
        font-size: 16px;
    }

    .view-page-social-share a {
        min-width: calc(50% - var(--sky-space-xs));
        padding: 10px;
        font-size: 12px;
    }

    .view-page-social-share a svg {
        width: 16px;
        height: 16px;
    }
}