/* DIGIWS JPG TOOL CSS Design System */
html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body {
    overflow-x: hidden;
    margin: 0;
    padding: 0;
    transition: background-color 0.25s ease, color 0.25s ease;
}

/* GPU Acceleration for ultra-smooth 60/120fps animations */
.tool-card,
.hero-float-card,
.pdf24-interactive-card,
.how-step-card,
.why-card,
.ai-showcase-visual-card {
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

:root {
    --primary-color: #2563eb;
    --primary-hover: #1d4ed8;
    --secondary-color: #475569;
    --bg-surface: #f9f9fb;
    --card-border: #e5e7eb;
    --text-main: #111111;
    --text-muted: #4b5563;
    --accent-badge: #eff6ff;
    --orange: #ff5c28;
    --orange-light: #ffe8df;
    --header-height: 58px;
    --header-bg: rgba(255, 255, 255, 0.70);
    --header-border: #000000;
}


/* ========================================
   DARK MODE VARIABLES
   ======================================== */
html.dark-mode {
    --bg-surface: #0f172a;
    --text-main: #f1f5f9;
    --text-muted: #94a3b8;
    --card-border: #1e293b;
    --header-bg: rgba(15, 23, 42, 0.75);
    --header-border: #1e293b;
}

html.dark-mode body {
    background-color: #0f172a;
    color: #f1f5f9;
}

/* ========================================================
   ARCH-STYLE HEADER — Exact Match to Reference Design
   ======================================================== */

/* Base header — 30% Transparent with Frosted Glass */
.digi-header {
    position: relative;
    background-color: var(--header-bg);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    height: var(--header-height);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 28px;
    position: sticky;
    top: 0;
    z-index: 1030;
    transition: background 0.3s ease, box-shadow 0.3s ease, backdrop-filter 0.3s ease;
    box-shadow: 0 1px 0 rgba(229, 231, 235, 0.6);
}

/* ---- LEFT PANE ---- */
.digi-header-left {
    display: flex;
    align-items: center;
    gap: 16px;
    position: relative;
    z-index: 20;
}

.digi-logo-box {
    width: 36px;
    height: 36px;
    background-color: var(--orange);
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ffffff;
    font-size: 18px;
    text-decoration: none;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(255, 92, 40, 0.35);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.digi-logo-box:hover {
    transform: scale(1.06);
    box-shadow: 0 4px 14px rgba(255, 92, 40, 0.45);
    color: #fff;
}

.digi-brand-name {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 19px;
    font-weight: 900;
    color: #111111;
    letter-spacing: 0.3px;
    white-space: nowrap;
    text-decoration: none;
    transition: opacity 0.15s ease;
}
.digi-brand-name:hover { opacity: 0.8; color: #111111; }
.digi-brand-name span { color: var(--orange); }

.digi-divider {
    width: 1px;
    height: 24px;
    background-color: #d1d5db;
    margin: 0 4px;
    flex-shrink: 0;
}

.digi-all-tools-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 15px;
    border: 1px solid rgba(229, 231, 235, 0.8);
    border-radius: 20px;
    background-color: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    cursor: pointer;
    font-size: 13.5px;
    font-weight: 500;
    color: #4b5563;
    text-decoration: none;
    transition: all 0.18s ease;
    white-space: nowrap;
}
.digi-all-tools-btn i { color: var(--orange); font-size: 13px; }
.digi-all-tools-btn:hover {
    border-color: var(--orange);
    color: var(--orange);
    background-color: var(--orange-light);
}

/* ---- RIGHT PANE ---- */
.digi-header-right {
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 20;
}

/* Search Bar */
.digi-search-bar {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: rgba(248, 250, 252, 0.75);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 7px 10px 7px 14px;
    border-radius: 20px;
    border: 1px solid rgba(229, 231, 235, 0.8);
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
    min-width: 190px;
}
.digi-search-bar:hover {
    background-color: rgba(241, 245, 249, 0.9);
    border-color: #d1d5db;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.digi-search-bar i {
    color: #94a3b8;
    font-size: 14px;
    flex-shrink: 0;
}

.digi-search-text {
    font-size: 14px;
    color: #94a3b8;
    flex: 1;
    text-align: left;
    white-space: nowrap;
}

.digi-shortcut-key {
    background-color: rgba(226, 232, 240, 0.8);
    color: #475569;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 6px;
    border-radius: 4px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Action Buttons (download, dark mode) */
.digi-action-btn {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    border: 1px solid rgba(229, 231, 235, 0.8);
    background-color: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    color: #0f172a;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.18s ease;
    flex-shrink: 0;
}

.digi-action-btn:hover {
    background-color: rgba(241, 245, 249, 0.95);
    border-color: #d1d5db;
    color: #0f172a;
}

.digi-action-primary {
    background-color: #1d4ed8;
    border-color: #1d4ed8;
    color: #ffffff !important;
}

.digi-action-primary:hover {
    background-color: #1e40af;
    border-color: #1e40af;
    color: #ffffff !important;
}

/* ---- BOTTOM ARCH — Upward Curve with Floating Icon ---- */
.digi-bottom-arch-wrapper {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    align-items: flex-end;
    z-index: 10;
    pointer-events: none;
}

.digi-straight-line {
    flex-grow: 1;
    height: 3.5px;
    border: none;
}

/* Left Line (Color 1 - Vibrant Brand Orange) */
.digi-line-left {
    background: linear-gradient(90deg, #ff5c28 0%, #ff6f3c 60%, #ec4899 100%);
    border-radius: 2px 0 0 2px;
}

/* Right Line (Color 2 - Royal Blue / Indigo) */
.digi-line-right {
    background: linear-gradient(90deg, #8b5cf6 0%, #3b82f6 60%, #2563eb 100%);
    border-radius: 0 2px 2px 0;
}

/* Arch Container for Proper Layering */
.digi-arch-container {
    position: relative;
    width: 104px;
    height: 52px;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    pointer-events: none;
}

/* The upward arch curve */
.digi-arch-curve {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 3.5px solid transparent;
    border-bottom: none;
    border-top-left-radius: 52px;
    border-top-right-radius: 52px;
    box-sizing: border-box;
    background: linear-gradient(90deg, #ec4899 0%, #a855f7 50%, #8b5cf6 100%) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

/* Floating halo ring around center logo */
.digi-center-halo {
    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    width: 74px;
    height: 74px;
    background: radial-gradient(circle, rgba(255, 92, 40, 0.25) 0%, rgba(139, 92, 246, 0.15) 60%, rgba(255, 255, 255, 0.95) 100%);
    border: 1.5px solid rgba(255, 92, 40, 0.35);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: all;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    z-index: 25;
    box-shadow: 0 4px 18px rgba(255, 92, 40, 0.3);
}

.digi-center-halo:hover {
    transform: translateX(-50%) scale(1.06);
    box-shadow: 0 6px 24px rgba(255, 92, 40, 0.45);
}

/* Inner center icon circle */
.digi-center-icon {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, #ff5c28, #ff7a45);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ffffff;
    font-size: 20px;
    box-shadow: 0 4px 14px rgba(255, 92, 40, 0.45);
    transition: transform 0.2s ease;
    z-index: 30;
}

.digi-center-halo:hover .digi-center-icon {
    transform: scale(1.06);
}

/* ---- DARK MODE ---- */
html.dark-mode {
    --bg-surface: #0f172a;
    --text-main: #f1f5f9;
    --text-muted: #94a3b8;
    --card-border: #1e293b;
    --header-bg: #0f172a;
    --header-border: #1e293b;
}

html.dark-mode body {
    background-color: #0f172a;
    color: #f1f5f9;
}

html.dark-mode .digi-header {
    background-color: #0f172a;
}

html.dark-mode .digi-brand-name {
    color: #f1f5f9;
}

html.dark-mode .digi-all-tools-btn {
    background-color: #1e293b;
    border-color: #334155;
    color: #94a3b8;
}

html.dark-mode .digi-all-tools-btn:hover {
    background-color: #273548;
    color: var(--orange);
}

html.dark-mode .digi-search-bar {
    background-color: #1e293b;
    border-color: #334155;
}

html.dark-mode .digi-search-bar:hover {
    background-color: #273548;
}

html.dark-mode .digi-action-btn {
    background-color: #1e293b;
    border-color: #334155;
    color: #94a3b8;
}

html.dark-mode .digi-action-btn:hover {
    background-color: #273548;
    color: #f1f5f9;
}

html.dark-mode .digi-center-halo {
    background: radial-gradient(circle, rgba(255, 92, 40, 0.25) 0%, rgba(139, 92, 246, 0.18) 60%, rgba(15, 23, 42, 0.9) 100%);
}

html.dark-mode .digi-divider {
    background-color: #334155;
}

/* ---- RESPONSIVE MOBILE & TABLET ---- */
@media (max-width: 992px) {
    .hero-float-card,
    .hero-float-1,
    .hero-float-2,
    .hero-float-3,
    .hero-float-4 {
        display: none !important;
    }
}

@media (max-width: 768px) {
    .digi-header {
        padding: 0 12px;
        height: 54px;
    }
    .digi-header-left {
        gap: 8px;
    }
    .digi-brand-name {
        font-size: 15px;
        letter-spacing: 0;
    }
    .digi-logo-box {
        width: 32px;
        height: 32px;
        font-size: 16px;
    }
    .digi-all-tools-btn {
        padding: 4px 10px;
        font-size: 12px;
        gap: 5px;
    }
    .digi-header-right {
        gap: 6px;
    }
    .digi-search-text,
    .digi-shortcut-key {
        display: none;
    }
    .digi-search-bar {
        min-width: unset;
        width: 32px;
        height: 32px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
    }
    .digi-search-bar i {
        margin: 0;
        font-size: 13px;
    }
    .digi-action-btn {
        width: 32px;
        height: 32px;
        font-size: 13px;
        border-radius: 8px;
    }
    .digi-divider {
        display: none;
    }
    /* On mobile, hide the overlapping arch cutout & floating halo so header is clean and spacious */
    .digi-arch-container,
    .digi-arch-cutout,
    .digi-center-halo {
        display: none !important;
    }
    .digi-bottom-arch-wrapper {
        height: 3.5px;
    }
    .digi-straight-line {
        height: 3.5px;
    }

    /* Hero section mobile adjustments */
    .hero-container {
        padding: 0 12px 36px 12px;
    }
    .hero-heading {
        font-size: 1.85rem;
        margin-bottom: 8px;
    }
    .hero-subtext {
        font-size: 0.9rem;
        margin-bottom: 18px;
        padding: 0 8px;
    }
    .hero-badge {
        padding: 4px 12px;
        font-size: 11.5px;
        margin-bottom: 14px;
    }
    .hero-search-wrap {
        max-width: 100%;
        margin-bottom: 16px;
    }
    .hero-search-box {
        padding: 4px 6px 4px 14px;
    }
    .hero-search-btn {
        padding: 8px 16px;
        font-size: 13px;
    }
    .hero-quicklinks {
        gap: 6px;
        justify-content: center;
    }
    .hero-ql-tag {
        font-size: 11.5px;
        padding: 4px 10px;
    }
    .hero-trust {
        gap: 6px 14px;
    }
    .hero-trust-item {
        font-size: 11.5px;
    }

    /* Tools filter toolbar mobile swipe */
    .tools-filter-wrapper {
        padding: 4px 6px;
        border-radius: 40px;
    }
    .tools-pill {
        padding: 5px 12px;
        font-size: 12px;
    }
    .simple-tool-box {
        min-height: 120px;
        padding: 14px 6px;
        border-radius: 14px;
    }
    .stb-icon {
        width: 42px;
        height: 42px;
        font-size: 19px;
        margin-bottom: 8px;
    }
    .stb-title {
        font-size: 12px;
    }

    /* Tool workspace mobile optimizations */
    .tool-workspace-header {
        padding-top: 18px;
        margin-bottom: 14px;
    }
    .twh-title {
        font-size: 1.5rem;
        margin-bottom: 4px;
    }
    .twh-desc {
        font-size: 13px;
        padding: 0 10px;
    }
    .upload-box {
        padding: 24px 12px;
        border-radius: 1rem;
    }
    .upload-icon-circle {
        width: 48px;
        height: 48px;
        font-size: 22px;
    }
    .cloud-btn {
        font-size: 12px;
        padding: 6px 12px;
    }
}


/* ========================================================
   BODY & GLOBAL BASE
   ======================================================== */
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background-color: var(--bg-surface);
    color: var(--text-main);
    line-height: 1.6;
    overflow-x: hidden;
}


.tracking-tight {
    letter-spacing: -0.025em;
}

/* ═══════════════════════════════════════════════════
   HERO SECTION — Premium Water Wave Fluid Motion
   ═══════════════════════════════════════════════════ */
.hero-section-premium {
    position: relative;
    background: linear-gradient(125deg, #fff7f4 0%, #fff0eb 25%, #fef2f2 50%, #f0f7ff 75%, #fff5ed 100%);
    background-size: 300% 300%;
    animation: waterGradientShift 14s ease-in-out infinite alternate;
    padding: 36px 0 16px 0;
    overflow: visible;
    min-height: auto;
}

@keyframes waterGradientShift {
    0%   { background-position: 0% 30%; }
    50%  { background-position: 100% 70%; }
    100% { background-position: 0% 30%; }
}

/* Integrated Animated Water Waves Backdrop */
.hero-water-backdrop {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 1;
}

/* Fluid Organic Wave Layers */
.water-wave-layer {
    position: absolute;
    border-radius: 43% 57% 65% 35% / 40% 45% 55% 60%;
    filter: blur(40px);
    opacity: 0.55;
    mix-blend-mode: multiply;
}

/* Wave Layer 1 — Coral/Orange warm surge */
.water-wave-1 {
    width: 750px;
    height: 750px;
    background: radial-gradient(circle, rgba(255, 107, 43, 0.28) 0%, rgba(255, 154, 110, 0.14) 45%, transparent 70%);
    top: -20%;
    left: -10%;
    animation: waterWaveFlow1 16s ease-in-out infinite alternate;
}

/* Wave Layer 2 — Soft Cyan/Sky water ripple */
.water-wave-2 {
    width: 680px;
    height: 680px;
    background: radial-gradient(circle, rgba(96, 165, 250, 0.22) 0%, rgba(167, 139, 250, 0.12) 50%, transparent 72%);
    top: 10%;
    right: -12%;
    animation: waterWaveFlow2 18s ease-in-out infinite alternate;
}

/* Wave Layer 3 — Deep fluid undulating surge */
.water-wave-3 {
    width: 900px;
    height: 520px;
    background: radial-gradient(ellipse at center, rgba(255, 140, 90, 0.20) 0%, rgba(254, 215, 170, 0.15) 50%, transparent 75%);
    bottom: -15%;
    left: 15%;
    animation: waterWaveFlow3 13s ease-in-out infinite alternate;
}

/* Shimmering Fluid Glow */
.water-fluid-glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 80%, rgba(255, 255, 255, 0.5) 0%, transparent 70%);
    pointer-events: none;
}

/* Smooth fluid keyframes */
@keyframes waterWaveFlow1 {
    0% {
        transform: translate(0, 0) rotate(0deg) scale(1);
        border-radius: 43% 57% 65% 35% / 40% 45% 55% 60%;
    }
    50% {
        transform: translate(60px, 40px) rotate(90deg) scale(1.12);
        border-radius: 58% 42% 45% 55% / 55% 60% 40% 45%;
    }
    100% {
        transform: translate(-30px, 60px) rotate(180deg) scale(0.95);
        border-radius: 35% 65% 55% 45% / 45% 35% 65% 55%;
    }
}

@keyframes waterWaveFlow2 {
    0% {
        transform: translate(0, 0) rotate(0deg) scale(1.05);
        border-radius: 50% 50% 40% 60% / 60% 40% 60% 40%;
    }
    50% {
        transform: translate(-70px, 50px) rotate(-100deg) scale(0.92);
        border-radius: 38% 62% 58% 42% / 45% 55% 45% 55%;
    }
    100% {
        transform: translate(40px, -30px) rotate(-190deg) scale(1.1);
        border-radius: 60% 40% 50% 50% / 40% 60% 50% 50%;
    }
}

@keyframes waterWaveFlow3 {
    0% {
        transform: scale(1) translateX(0) rotate(0deg);
    }
    50% {
        transform: scale(1.15, 0.9) translateX(50px) rotate(15deg);
    }
    100% {
        transform: scale(0.95, 1.1) translateX(-40px) rotate(-10deg);
    }
}

/* Seamless bottom fade into tools section */
.hero-section-premium::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 48px;
    background: linear-gradient(to bottom, transparent, rgba(243, 244, 246, 0.6) 60%, #f3f4f6 100%);
    pointer-events: none;
    z-index: 1;
}

.hero-container {
    position: relative;
    z-index: 50;
    text-align: center;
    max-width: 760px;
    margin: 0 auto;
    padding: 0 20px 10px 20px;
}

/* Badge */
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.85);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,92,40,0.2);
    border-radius: 50px;
    padding: 5px 16px;
    font-size: 12.5px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 18px;
    box-shadow: 0 2px 12px rgba(255,92,40,0.1);
}
.hero-badge-dot {
    width: 8px; height: 8px;
    background: #ff5c28;
    border-radius: 50%;
    animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255,92,40,0.5); }
    50% { box-shadow: 0 0 0 6px rgba(255,92,40,0); }
}

/* Heading */
.hero-heading {
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 900;
    color: #111111;
    letter-spacing: -0.03em;
    line-height: 1.15;
    margin-bottom: 14px;
}
.hero-heading-accent {
    background: linear-gradient(135deg, #ff5c28 0%, #e83e8c 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Subtext */
.hero-subtext {
    font-size: 1rem;
    color: #6b7280;
    line-height: 1.65;
    margin-bottom: 24px;
    font-weight: 400;
}

/* Search Bar */
.hero-search-wrap {
    margin-bottom: 18px;
}
.hero-search-box {
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 2px solid #e5e7eb;
    border-radius: 50px;
    padding: 8px 8px 8px 20px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.1);
    max-width: 580px;
    margin: 0 auto;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
}
.hero-search-box:hover,
.hero-search-box:focus-within {
    border-color: #ff5c28;
    box-shadow: 0 8px 32px rgba(255,92,40,0.18);
}
.hero-search-icon {
    color: #ff5c28;
    font-size: 16px;
    flex-shrink: 0;
    margin-right: 12px;
}
.hero-search-box input {
    flex: 1;
    border: none;
    outline: none;
    font-size: 15px;
    color: #374151;
    background: transparent;
    cursor: pointer;
}
.hero-search-box input::placeholder { color: #9ca3af; }
.hero-search-btn {
    background: linear-gradient(135deg, #ff5c28, #e83e0e);
    color: #fff;
    border: none;
    border-radius: 50px;
    padding: 10px 28px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(255,92,40,0.35);
}
.hero-search-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(255,92,40,0.45);
}

/* ── Advanced Search Box & Dropdown (Boxed Tool Cards) ── */
.hero-search-wrap {
    position: relative;
    max-width: 680px;
    margin: 0 auto 20px auto;
    z-index: 1000;
}

.hero-search-box {
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 2px solid #fed7aa;
    border-radius: 50px;
    padding: 6px 8px 6px 18px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(255, 92, 40, 0.06);
    transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.hero-search-box:hover,
.hero-search-box:focus-within {
    border-color: #ff5c28;
    box-shadow: 0 12px 36px rgba(255, 92, 40, 0.22), 0 0 0 4px rgba(255, 92, 40, 0.12);
    transform: translateY(-1px);
}

.hero-search-icon {
    color: #ff5c28;
    font-size: 17px;
    flex-shrink: 0;
    margin-right: 12px;
}

.hero-search-box input {
    flex: 1;
    border: none;
    outline: none;
    font-size: 15px;
    font-weight: 500;
    color: #1f2937;
    background: transparent;
    padding: 6px 0;
}

.hero-search-box input::placeholder {
    color: #9ca3af;
    font-weight: 400;
}

/* Clear Button */
#heroClearBtn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f3f4f6;
    color: #6b7280;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    padding: 0;
    margin-right: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
    box-shadow: none;
}

#heroClearBtn:hover {
    background: #ffedd5;
    color: #ff5c28;
    transform: scale(1.08);
}

/* Main Search Button */
.hero-search-btn {
    background: linear-gradient(135deg, #ff5c28 0%, #ea580c 100%);
    color: #ffffff;
    border: none;
    border-radius: 50px;
    padding: 10px 26px;
    font-size: 14.5px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    box-shadow: 0 4px 14px rgba(255, 92, 40, 0.38);
}

.hero-search-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(255, 92, 40, 0.48);
}

/* ── Dropdown Panel with Boxed Cards ── */
.hero-search-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.99);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1.5px solid rgba(229, 231, 235, 0.95);
    border-radius: 20px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.22), 0 6px 20px rgba(0, 0, 0, 0.08);
    z-index: 10050;
    padding: 14px;
    display: none;
    animation: dropdownFade 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.hero-search-dropdown.active {
    display: block;
}

@keyframes dropdownFade {
    from {
        opacity: 0;
        transform: translateY(-8px) scale(0.99);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Header Inside Dropdown */
.hsd-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2px 6px 10px 6px;
    border-bottom: 1px solid #f1f5f9;
    margin-bottom: 10px;
}

.hsd-header-left {
    display: flex;
    align-items: center;
    gap: 7px;
}

.hsd-badge-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #ff5c28;
    box-shadow: 0 0 0 3px rgba(255, 92, 40, 0.2);
}

.hsd-header-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
    color: #4b5563;
    text-transform: uppercase;
}

.hsd-count {
    font-size: 11.5px;
    font-weight: 600;
    color: #9ca3af;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 2px 8px;
    border-radius: 12px;
}

/* ── Boxed Cards Grid Layout ── */
.hsd-card-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    max-height: 380px;
    overflow-y: auto;
    padding: 2px;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}

.hsd-card-grid::-webkit-scrollbar {
    width: 6px;
}
.hsd-card-grid::-webkit-scrollbar-thumb {
    background-color: #cbd5e1;
    border-radius: 10px;
}

/* Individual Boxed Card */
.hsd-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: #ffffff;
    border: 1.5px solid #f1f5f9;
    border-radius: 14px;
    text-decoration: none;
    color: #111827;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    text-align: left;
}

.hsd-card:hover,
.hsd-card.hsd-card-active {
    background: #fff8f5;
    border-color: #ff5c28;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(255, 92, 40, 0.12);
    color: #111827;
}

/* Card Icon Box */
.hsd-card-icon {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: linear-gradient(135deg, #fff2eb 0%, #ffe5d8 100%);
    color: #ff5c28;
    font-size: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(255, 92, 40, 0.12);
}

.hsd-card:hover .hsd-card-icon,
.hsd-card.hsd-card-active .hsd-card-icon {
    background: linear-gradient(135deg, #ff5c28, #ea580c);
    color: #ffffff;
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(255, 92, 40, 0.3);
}

/* Card Text Body */
.hsd-card-body {
    flex: 1;
    min-width: 0;
}

.hsd-card-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    margin-bottom: 3px;
}

.hsd-card-title {
    font-size: 13.5px;
    font-weight: 700;
    color: #111827;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.25;
}

.hsd-card:hover .hsd-card-title {
    color: #ff5c28;
}

.hsd-card-badge {
    font-size: 10px;
    font-weight: 700;
    color: #64748b;
    background: #f1f5f9;
    padding: 2px 7px;
    border-radius: 10px;
    white-space: nowrap;
    flex-shrink: 0;
}

.hsd-card-desc {
    font-size: 11.5px;
    color: #6b7280;
    margin: 0;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Right Mini Arrow */
.hsd-card-arrow {
    color: #cbd5e1;
    font-size: 11px;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.hsd-card:hover .hsd-card-arrow {
    color: #ff5c28;
    transform: translateX(3px);
}

/* Search Query Text Highlight */
.hsd-highlight {
    background: transparent;
    color: #ff5c28;
    font-weight: 800;
    padding: 0;
}

/* Dropdown Footer */
.hsd-footer {
    padding: 10px 6px 2px 6px;
    border-top: 1px solid #f1f5f9;
    margin-top: 10px;
    text-align: center;
}

.hsd-footer-link {
    font-size: 13px;
    font-weight: 700;
    color: #ff5c28;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 14px;
    border-radius: 20px;
    transition: all 0.15s ease;
}

.hsd-footer-link:hover {
    background: #fff7f4;
    color: #ea580c;
    text-decoration: none;
}

/* Empty State */
.hsd-empty {
    padding: 32px 16px;
    text-align: center;
}

.hsd-empty-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #fef2f2;
    color: #ef4444;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px auto;
}

.hsd-empty h6 {
    font-size: 15px;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 6px;
}

/* Responsive adjustment */
@media (max-width: 680px) {
    .hsd-card-grid {
        grid-template-columns: 1fr;
    }
}



/* Quick Links */
.hero-quicklinks {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 22px;
}

.hero-quicklinks-label {
    font-size: 13px;
    font-weight: 600;
    color: #6b7280;
}
.hero-ql-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(255,255,255,0.85);
    backdrop-filter: blur(6px);
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    padding: 5px 14px;
    font-size: 13px;
    font-weight: 500;
    color: #374151;
    text-decoration: none;
    transition: all 0.18s ease;
}
.hero-ql-tag i { color: #ff5c28; font-size: 12px; }
.hero-ql-tag:hover {
    border-color: #ff5c28;
    color: #ff5c28;
    background: #fff7f4;
    transform: translateY(-2px);
}

/* Trust Badges */
.hero-trust {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px 20px;
}
.hero-trust-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #6b7280;
    font-weight: 500;
}
.hero-trust-item i { color: #10b981; font-size: 14px; }
.hero-trust-sep {
    width: 1px; height: 16px;
    background: #d1d5db;
    display: none;
}
@media (min-width: 576px) { .hero-trust-sep { display: block; } }

/* Floating Decorative Cards */
.hero-float-card {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.9);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.7);
    border-radius: 12px;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
    z-index: 4;
    animation: floatCard 5s ease-in-out infinite;
}
.hero-float-card i { color: #ff5c28; font-size: 18px; }
.hero-float-1 { top: 12%; left: 4%; animation-delay: 0s; }
.hero-float-2 { top: 12%; right: 4%; animation-delay: 1.8s; }
.hero-float-3 { bottom: 10%; left: 4%; animation-delay: 3.5s; }
.hero-float-4 { bottom: 10%; right: 4%; animation-delay: 2.2s; }
@keyframes floatCard {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}
@media (max-width: 900px) { .hero-float-card { display: none; } }

/* Bottom Wave */
.hero-wave {
    position: relative;
    z-index: 2;
    line-height: 0;
    margin-top: -2px;
}
.hero-wave svg {
    width: 100%; height: 80px;
    display: block;
}

/* ═══════════════════════════════════════════════════
   TOOLS GRID SECTION
   ═══════════════════════════════════════════════════ */
.tools-grid-section {
    background: #f3f4f6;
    padding: 24px 0 48px 0;
}

.section-header-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 20px;
    gap: 12px;
    flex-wrap: wrap;
}
.section-title {
    font-size: 1.75rem;
    font-weight: 800;
    color: #111111;
    letter-spacing: -0.02em;
    margin: 0 0 4px 0;
}
.section-sub {
    font-size: 0.95rem;
    color: #6b7280;
    margin: 0;
}
.section-tag {
    display: inline-block;
    background: #fff0eb;
    color: #ff5c28;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 14px;
    border-radius: 20px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.btn-see-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #ff5c28;
    text-decoration: none;
    border: 1.5px solid #ff5c28;
    border-radius: 20px;
    padding: 7px 18px;
    transition: all 0.18s ease;
    flex-shrink: 0;
}
.btn-see-all:hover {
    background: #ff5c28;
    color: #fff;
}

/* ═══════════════════════════════════════════════════
   HOW IT WORKS SECTION
   ═══════════════════════════════════════════════════ */
.hiw-section {
    background: #ffffff;
    padding: 80px 0;
    border-top: 1px solid #f3f4f6;
}
.hiw-card {
    background: #f9fafb;
    border-radius: 20px;
    padding: 36px 28px;
    text-align: center;
    position: relative;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    height: 100%;
}
.hiw-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}
.hiw-step-num {
    position: absolute;
    top: 16px; right: 20px;
    font-size: 2.5rem;
    font-weight: 900;
    color: #e5e7eb;
    line-height: 1;
}
.hiw-icon-wrap {
    width: 64px; height: 64px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    margin: 0 auto 20px auto;
}
.hiw-blue { background: #dbeafe; color: #2563eb; }
.hiw-orange { background: #ffedd5; color: #ff5c28; }
.hiw-green { background: #d1fae5; color: #059669; }
.hiw-title {
    font-size: 1.08rem;
    font-weight: 700;
    color: #111;
    margin-bottom: 10px;
}
.hiw-desc {
    font-size: 0.88rem;
    color: #6b7280;
    line-height: 1.6;
    margin: 0;
}

/* ═══════════════════════════════════════════════════
   CATEGORY CARDS
   ═══════════════════════════════════════════════════ */
.cat-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 24px 16px;
    text-align: center;
    height: 100%;
    transition: all 0.22s ease;
}
.cat-card:hover {
    border-color: #ff5c28;
    background: #fff7f4;
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(255,92,40,0.12);
}
.cat-icon {
    width: 52px; height: 52px;
    background: #fff0eb;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: #ff5c28;
    margin: 0 auto 12px;
    transition: background 0.2s ease;
}
.cat-card:hover .cat-icon { background: #ff5c28; color: #fff; }
.cat-name {
    font-weight: 700;
    color: #111;
    font-size: 0.95rem;
    margin-bottom: 4px;
}
.cat-count { color: #9ca3af; font-size: 0.8rem; }


/* ═══════════════════════════════════════════════════
   SINGLE-LINE CATEGORY TOOLBAR & SIMPLE TOOL BOXES
   ═══════════════════════════════════════════════════ */

/* Single-Line Horizontal Category Toolbar */
.tools-filter-wrapper {
    background: #ffffff;
    border: 1.5px solid #e5e7eb;
    border-radius: 50px;
    padding: 6px 10px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
    position: relative;
    max-width: 100%;
}

.tools-filter-scroll {
    display: flex;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    white-space: nowrap;
    padding: 2px 4px;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
}

.tools-filter-scroll::-webkit-scrollbar {
    display: none;
}

/* Category Pill Tab */
.tools-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border-radius: 30px;
    font-size: 13.5px;
    font-weight: 600;
    color: #4b5563;
    background: transparent;
    text-decoration: none;
    transition: all 0.18s ease;
    flex-shrink: 0;
}

.tools-pill:hover {
    color: #ff5c28;
    background: #fff4ee;
    text-decoration: none;
}

.tools-pill.tools-pill-active {
    background: linear-gradient(135deg, #ff5c28 0%, #ea580c 100%);
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(255, 92, 40, 0.35);
}

.tools-pill-sep {
    width: 1px;
    height: 22px;
    background: #e5e7eb;
    margin: 0 4px;
    flex-shrink: 0;
}

/* ── Simple Tool Box (Icon + Title Only) ── */
.simple-tool-box {
    background: #ffffff;
    border: 1.5px solid #e5e7eb;
    border-radius: 16px;
    padding: 20px 12px;
    text-align: center;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    height: 100%;
    min-height: 135px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
    position: relative;
    overflow: visible !important;
}

.simple-tool-box:hover {
    transform: translateY(-4px);
    border-color: #ff5c28;
    box-shadow: 0 12px 28px rgba(255, 92, 40, 0.14);
    background: #fffdfc;
    text-decoration: none;
    z-index: 100;
}

/* ── Floating Hover Preview Popup Card (Title & Sub-line Only) ── */
.tool-hover-popup {
    position: absolute;
    bottom: calc(100% + 12px);
    left: 50%;
    transform: translateX(-50%) translateY(8px) scale(0.94);
    width: 215px;
    background: #ffffff;
    color: #0f172a;
    padding: 10px 12px;
    border-radius: 12px;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.04);
    border: 1px solid #e2e8f0;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1050;
    text-align: left;
}

.thp-title {
    font-size: 13px;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 2px;
    line-height: 1.25;
}

.thp-desc {
    font-size: 11px;
    color: #64748b;
    line-height: 1.35;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.thp-arrow {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #ffffff;
}

.simple-tool-box:hover .tool-hover-popup {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0px) scale(1);
}

/* ── Dark Mode Hover Popup (Matches Dark Theme) ── */
html.dark-mode .tool-hover-popup {
    background: #131d31 !important;
    border-color: #243048 !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.6) !important;
    color: #f8fafc !important;
}

html.dark-mode .thp-title {
    color: #f8fafc !important;
}

html.dark-mode .thp-desc {
    color: #94a3b8 !important;
}

html.dark-mode .thp-arrow {
    border-top-color: #131d31 !important;
}

/* Tool Icon inside Box */
.stb-icon {
    width: 50px;
    height: 50px;
    border-radius: 13px;
    background: linear-gradient(135deg, #fff2eb 0%, #ffe6d8 100%);
    color: #ff5c28;
    font-size: 23px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    transition: all 0.22s ease;
    box-shadow: 0 2px 8px rgba(255, 92, 40, 0.12);
    flex-shrink: 0;
}

.simple-tool-box:hover .stb-icon {
    background: linear-gradient(135deg, #ff5c28 0%, #ea580c 100%);
    color: #ffffff;
    transform: scale(1.08);
    box-shadow: 0 4px 14px rgba(255, 92, 40, 0.35);
}

/* Tool Title inside Box */
.stb-title {
    font-size: 13.5px;
    font-weight: 700;
    color: #111827;
    margin: 0;
    line-height: 1.3;
    text-align: center;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
    transition: color 0.18s ease;
}

.simple-tool-box:hover .stb-title {
    color: #ff5c28;
}

/* Dark Mode Support */
html.dark-mode .tools-filter-wrapper {
    background: #1e293b;
    border-color: #334155;
}

html.dark-mode .tools-pill {
    color: #94a3b8;
}

html.dark-mode .tools-pill:hover {
    color: #ff5c28;
    background: #0f172a;
}

html.dark-mode .tools-pill-sep {
    background: #334155;
}

html.dark-mode .simple-tool-box {
    background: #1e293b;
    border-color: #334155;
}

html.dark-mode .simple-tool-box:hover {
    background: #0f172a;
    border-color: #ff5c28;
}

html.dark-mode .stb-icon {
    background: #334155;
    color: #ff5c28;
}

html.dark-mode .stb-title {
    color: #f1f5f9;
}

/* ── Tool Workspace & Directory Title Header ── */
.tool-workspace-header {
    padding-top: 50px;
    margin-bottom: 20px;
    text-align: center;
}

.twh-title {
    font-size: clamp(1.8rem, 3.2vw, 2.25rem);
    font-weight: 800;
    color: #111827;
    letter-spacing: -0.03em;
    line-height: 1.2;
    margin-bottom: 8px;
}

.twh-desc {
    font-size: 15px;
    font-weight: 400;
    color: #6b7280;
    line-height: 1.55;
    max-width: 560px;
    margin: 0 auto;
    letter-spacing: -0.01em;
}

html.dark-mode .twh-title {
    color: #f8fafc;
}

html.dark-mode .twh-desc {
    color: #94a3b8;
}



.tool-card {
    background: #ffffff;
    border: 1px solid var(--card-border);
    border-radius: 1rem;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.tool-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px -10px rgba(37, 99, 235, 0.15);
    border-color: #cbd5e1;
}

.tool-card .tool-icon-wrapper {
    width: 54px;
    height: 54px;
    border-radius: 0.75rem;
    background: #eff6ff;
    color: var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    transition: all 0.25s ease;
}

.tool-card:hover .tool-icon-wrapper {
    background: var(--primary-color);
    color: #ffffff;
}

.badge-popular {
    background-color: #fef3c7;
    color: #d97706;
    font-size: 0.75rem;
    font-weight: 600;
}

.badge-ai {
    background-color: #f3e8ff;
    color: #9333ea;
    font-size: 0.75rem;
    font-weight: 600;
}

.badge-pro {
    background-color: #dbeafe;
    color: #1e40af;
    font-size: 0.75rem;
    font-weight: 600;
}

.upload-box {
    border: 2px dashed #cbd5e1;
    background: #ffffff;
    border-radius: 1.25rem;
    transition: all 0.3s ease;
    cursor: pointer;
}

.upload-box:hover, .upload-box.drag-over {
    border-color: var(--primary-color);
    background: #eff6ff;
}

.file-preview-card {
    background: #ffffff;
    border: 1px solid var(--card-border);
    border-radius: 0.75rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.04);
}

.accordion-button:not(.collapsed) {
    background-color: #eff6ff;
    color: var(--primary-color);
    font-weight: 600;
}

.kbd-shortcut {
    background: #e2e8f0;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.8rem;
}

/* Visual PDF Thumbnail Workspace Canvas (Matching iLovePDF / Smallpdf style) */
.upload-icon-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, #fff2eb 0%, #ffe5d8 100%);
    color: #ff5c28;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px auto;
    box-shadow: 0 4px 14px rgba(255, 92, 40, 0.20);
}

.cloud-btn {
    font-size: 13.5px;
    transition: all 0.18s ease;
    background: #ffffff;
}

.cloud-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    border-color: #cbd5e1;
}

.pdf-workspace-canvas {
    background: #f8fafc;
    border: 2px dashed #cbd5e1;
    border-radius: 1.25rem;
    padding: 1.5rem 1.25rem;
    min-height: 260px;
    position: relative;
}

/* Enhanced Preview Card (Matching Reference Screenshot 2) */
.pdf-thumb-card {
    width: 175px;
    background: #ffffff;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
    transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative;
    margin: 0;
}

.pdf-thumb-card:hover {
    transform: translateY(-4px);
    border-color: #ff5c28;
    box-shadow: 0 12px 28px rgba(255, 92, 40, 0.15);
}

/* Card Top: Filename + Size + Delete (✕) Button */
.pdf-thumb-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px;
    background: #ffffff;
    border-bottom: 1px solid #f1f5f9;
    gap: 6px;
}

.pdf-thumb-name-size {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 4px;
}

.pdf-thumb-fname {
    font-size: 12px;
    font-weight: 700;
    color: #111827;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 80px;
}

.pdf-thumb-fsize {
    font-size: 10.5px;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
}

.pdf-thumb-btn-close {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    cursor: pointer;
    transition: all 0.15s ease;
    flex-shrink: 0;
    padding: 0;
}

.pdf-thumb-btn-close:hover {
    background: #fee2e2;
    color: #ef4444;
    border-color: #fca5a5;
    transform: scale(1.12);
}

/* Card Paper Thumbnail */
.pdf-thumb-paper {
    width: 100%;
    height: 180px;
    background: #fafafa;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    padding: 8px;
    cursor: pointer;
}

.pdf-thumb-paper canvas,
.pdf-thumb-paper img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    border-radius: 4px;
    background: #ffffff;
}

.pdf-thumb-zoom-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 20px;
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
}

.pdf-thumb-paper:hover .pdf-thumb-zoom-overlay {
    opacity: 1;
}

/* Card Footer Status */
.pdf-thumb-footer-status {
    padding: 6px 8px;
    background: #ffffff;
    border-top: 1px solid #f1f5f9;
    text-align: center;
    font-size: 11px;
    font-weight: 600;
    color: #059669;
}

/* ── ⊕ Add PDF Files Button Tile (Matching Reference Screenshot 2) ── */
.pdf-add-more-card {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background: #ffffff;
    border: 2px dashed #cbd5e1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    margin: 0 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
    align-self: center;
    flex-shrink: 0;
}

.pdf-add-circle {
    font-size: 24px;
    color: #475569;
    margin-bottom: 4px;
    transition: transform 0.2s ease, color 0.2s ease;
}

.pdf-add-label {
    font-size: 11.5px;
    font-weight: 700;
    color: #334155;
    transition: color 0.2s ease;
    text-align: center;
}

.pdf-add-more-card:hover {
    border-color: #ff5c28;
    background: #fff8f5;
    transform: scale(1.06);
    box-shadow: 0 8px 24px rgba(255, 92, 40, 0.15);
}

.pdf-add-more-card:hover .pdf-add-circle {
    color: #ff5c28;
    transform: scale(1.15);
}

.pdf-add-more-card:hover .pdf-add-label {
    color: #ff5c28;
}

/* ── Multi-Page PDF Page Thumbnail Card ── */
.pdf-page-thumb-card {
    width: 195px;
    background: #ffffff;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
    transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.pdf-page-thumb-card:hover {
    border-color: #ff5c28;
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(255, 92, 40, 0.16);
}

.pdf-card-download-footer {
    background: #f8fafc;
    border-top: 1px solid #f1f5f9;
}

.pdf-card-download-footer .badge {
    font-size: 11px;
    letter-spacing: 0.02em;
}

.pdf-card-download-footer .btn {
    font-size: 11.5px;
    transition: all 0.18s ease;
}

.pdf-card-download-footer .btn:hover {
    transform: scale(1.05);
}

.pdf-page-action-bar {
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 6px 8px;
    background: #f8fafc;
    border-top: 1px solid #f1f5f9;
}

.pdf-page-action-btn {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    color: #475569;
    font-size: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.18s ease;
    padding: 0;
}

.pdf-page-action-btn:hover {
    background: #fff0eb;
    color: #ff5c28;
    border-color: #fed7aa;
    transform: scale(1.1);
}

.pdf-page-deleted {
    opacity: 0.45;
    filter: grayscale(0.9);
    border-color: #fca5a5 !important;
    background: #fef2f2 !important;
}

.pdf-page-deleted::after {
    content: 'DELETED';
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-15deg);
    background: #ef4444;
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    padding: 3px 10px;
    border-radius: 6px;
    letter-spacing: 0.05em;
    pointer-events: none;
    box-shadow: 0 4px 10px rgba(239, 68, 68, 0.4);
    z-index: 10;
}

#viewModeGroup button.active {
    background: #ffffff !important;
    color: #0f172a !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

/* ── 2-Column Workspace Sticky Sidebar & Styles ── */
.workspace-sidebar-sticky {
    position: sticky;
    top: 100px;
    z-index: 10;
}

/* ── Pro Compression Suite UI Styles ── */
.compress-mode-tabs {
    background: #f1f5f9 !important;
}

.compress-tab-btn {
    border: none !important;
    color: #64748b;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.compress-tab-btn.active {
    background: #ffffff !important;
    color: #0f172a !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

.compress-panel-card {
    transition: all 0.2s ease;
    border-color: #e2e8f0 !important;
}

.compress-panel-card:hover {
    border-color: #cbd5e1 !important;
}

/* Custom Gradient Range Slider */
.custom-compress-slider {
    cursor: pointer;
    height: 8px;
    border-radius: 50px;
    background: linear-gradient(90deg, #10b981 0%, #3b82f6 55%, #ef4444 100%) !important;
}

.custom-compress-slider::-webkit-slider-thumb {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #ffffff;
    border: 3px solid #2563eb;
    box-shadow: 0 3px 8px rgba(37, 99, 235, 0.35);
    transition: all 0.15s ease;
}

.custom-compress-slider::-webkit-slider-thumb:hover {
    transform: scale(1.15);
    border-color: #ff5c28;
    box-shadow: 0 4px 12px rgba(255, 92, 40, 0.45);
}

.kb-pill {
    transition: all 0.18s ease;
    font-weight: 600;
    font-size: 0.72rem;
    padding: 3px 9px;
}

.kb-pill:hover {
    transform: translateY(-1px);
}

.kb-pill.active {
    background-color: #2563eb !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.3);
}

html.dark-mode .compress-mode-tabs {
    background: #0f172a !important;
    border-color: #334155 !important;
}

html.dark-mode .compress-tab-btn.active {
    background: #1e293b !important;
    color: #f8fafc !important;
}

html.dark-mode .compress-panel-card {
    background: #1e293b !important;
    border-color: #334155 !important;
}

html.dark-mode .compress-panel-card label,
html.dark-mode .compress-panel-card strong {
    color: #f8fafc !important;
}

html.dark-mode #manualTargetInput,
html.dark-mode #manualTargetUnit,
html.dark-mode #compressionLevelSelect {
    background-color: #0f172a !important;
    border-color: #334155 !important;
    color: #f8fafc !important;
}

.sidebar-icon-box {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #fff2eb;
    color: #ff5c28;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.btn-pdf24-orange {
    background: linear-gradient(135deg, #ff5c28 0%, #ea580c 100%) !important;
    color: #ffffff !important;
    border: none !important;
    font-size: 1.02rem !important;
    letter-spacing: -0.01em;
    transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 8px 20px rgba(234, 88, 12, 0.28) !important;
}

.btn-pdf24-orange:hover {
    background: linear-gradient(135deg, #ff6e3d 0%, #c2410c 100%) !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(234, 88, 12, 0.4) !important;
}

.btn-pdf24-orange:active {
    transform: translateY(0);
}

.btn-apply-settings,
#applySettingsBtn {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
    color: #ffffff !important;
    border: none !important;
    font-size: 0.95rem !important;
    transition: all 0.22s ease !important;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.22) !important;
}

.btn-apply-settings:hover,
#applySettingsBtn:hover {
    background: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%) !important;
    color: #ffffff !important;
    transform: translateY(-1.5px);
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.35) !important;
}

.security-info-strip {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
}

html.dark-mode .security-info-strip {
    background: #1e293b !important;
    border-color: #334155 !important;
    color: #94a3b8 !important;
}

#liveProcessedStatusBar {
    background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%) !important;
    border: 1.5px solid #bbf7d0 !important;
    transition: all 0.25s ease;
}

html.dark-mode #liveProcessedStatusBar {
    background: linear-gradient(135deg, #064e3b 0%, #0f172a 100%) !important;
    border-color: #047857 !important;
}

html.dark-mode #liveProcessedStatusBar h6 {
    color: #f8fafc !important;
}

html.dark-mode #liveProcessedStatusBar p,
html.dark-mode #liveProcessedStatusBar strong.text-dark {
    color: #cbd5e1 !important;
}

html.dark-mode .workspace-sidebar-sticky .card {
    background: #1e293b;
    border-color: #334155 !important;
}

html.dark-mode .workspace-sidebar-sticky .card-header {
    background: #1e293b !important;
    border-bottom-color: #334155 !important;
}

html.dark-mode .sidebar-icon-box {
    background: #334155;
    color: #ff5c28;
}

html.dark-mode .pdf-workspace-canvas {
    background: #0f172a;
    border-color: #334155;
}

html.dark-mode .pdf-thumb-card {
    background: #1e293b;
    border-color: #334155;
}

html.dark-mode .pdf-thumb-card-top {
    background: #1e293b;
    border-bottom-color: #334155;
}

html.dark-mode .pdf-card-download-footer {
    background: #1e293b !important;
    border-top-color: #334155 !important;
}

html.dark-mode .pdf-card-download-footer .badge {
    background: #0f172a !important;
    border-color: #334155 !important;
    color: #e2e8f0 !important;
}

html.dark-mode .pdf-thumb-fname {
    color: #f1f5f9;
}

html.dark-mode .pdf-thumb-paper {
    background: #0f172a;
}

html.dark-mode .pdf-thumb-footer-status {
    background: #1e293b;
    border-top-color: #334155;
}

html.dark-mode .pdf-add-more-card {
    background: #1e293b;
    border-color: #334155;
}

html.dark-mode .pdf-add-circle {
    color: #94a3b8;
}

html.dark-mode .pdf-add-label {
    color: #cbd5e1;
}


/* DIGIWS JPG TOOL Style Theme & Header Extras */
.text-warning-orange {
    color: #ea580c !important;
}

.bg-warning-orange {
    background-color: #ea580c !important;
}

.hover-orange:hover {
    color: #ea580c !important;
    border-color: #fdba74 !important;
    background-color: #fff7ed !important;
}

/* DIGIWS JPG TOOL Tool Grid & Cards (.pdf24-tool-card) */
.pdf24-tool-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 100%;
    position: relative;
    transition: all 0.2s ease-in-out;
    box-shadow: 0 2px 6px rgba(0,0,0,0.03);
    text-decoration: none !important;
}

.pdf24-tool-card:hover {
    background-color: #fff7ed;
    border-color: #fdba74;
    transform: translateY(-4px);
    box-shadow: 0 12px 20px -8px rgba(234, 88, 12, 0.2);
}

.pdf24-tool-card .tool-icon {
    font-size: 2.4rem;
    color: #ea580c;
    margin-bottom: 0.75rem;
    transition: transform 0.2s ease;
}

.pdf24-tool-card:hover .tool-icon {
    transform: scale(1.15);
}

.pdf24-tool-card .tool-label {
    font-weight: 700;
    font-size: 1.05rem;
    color: #1e293b;
    margin-bottom: 0.25rem;
}

.pdf24-tool-card .tool-desc {
    font-size: 0.82rem;
    color: #64748b;
    line-height: 1.35;
}

.pdf24-tool-card .fav-star {
    position: absolute;
    top: 10px;
    right: 12px;
    color: #cbd5e1;
    font-size: 1.1rem;
    cursor: pointer;
    transition: color 0.15s ease;
}

.pdf24-tool-card .fav-star:hover, .pdf24-tool-card .fav-star.active {
    color: #f59e0b;
}

.btn-pdf24-orange {
    background-color: #ff5c28;
    color: #ffffff;
    font-weight: 700;
    border: none;
    border-radius: 50px;
    padding: 0.75rem 2.25rem;
    box-shadow: 0 4px 12px rgba(255, 92, 40, 0.3);
    transition: all 0.2s ease;
}

.btn-pdf24-orange:hover {
    background-color: #e04d1f;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(255, 92, 40, 0.4);
}


/* ═══════════════════════════════════════════════════
   MINIMAL LIGHT FOOTER
   ═══════════════════════════════════════════════════ */
.digi-footer {
    background: #f8fafc;
    border-top: 1px solid #e5e7eb;
    padding: 36px 0 0 0;
    margin-top: 60px;
}

/* Brand section */
.digi-footer-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-bottom: 24px;
}

/* Logo row */
.digi-footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    margin-bottom: 14px;
}
.digi-footer-logo-icon {
    width: 36px;
    height: 36px;
    background: var(--orange);
    color: #fff;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(255,92,40,0.25);
}
.digi-footer-brand-name {
    font-size: 18px;
    font-weight: 900;
    color: #111111;
    letter-spacing: 0.3px;
}
.digi-footer-brand-name span { color: var(--orange); }

/* Description */
.digi-footer-desc {
    font-size: 14px;
    color: #6b7280;
    line-height: 1.65;
    max-width: 480px;
    margin: 0 auto 14px auto;
}

/* Secure badge */
.digi-footer-secure {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 600;
    color: #059669;
    background: #d1fae5;
    border-radius: 20px;
    padding: 5px 14px;
}
.digi-footer-secure i { font-size: 14px; }

/* Divider */
.digi-footer-divider {
    height: 1px;
    background: #e5e7eb;
    margin: 0;
}

/* Bottom bar */
.digi-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    padding: 14px 0;
    font-size: 12.5px;
    color: #9ca3af;
}
.digi-footer-badges {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.digi-footer-badges span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: #9ca3af;
}
.digi-footer-badges i { font-size: 11px; color: #10b981; }

@media (max-width: 576px) {
    .digi-footer-bottom {
        flex-direction: column;
        text-align: center;
    }
    .digi-footer-badges {
        justify-content: center;
    }
}

/* Dark mode footer */
html.dark-mode .digi-footer {
    background: #0a0f1a;
    border-color: #1e293b;
}
html.dark-mode .digi-footer-brand-name { color: #f1f5f9; }
html.dark-mode .digi-footer-desc { color: #64748b; }
html.dark-mode .digi-footer-divider { background: #1e293b; }
html.dark-mode .digi-footer-bottom { color: #475569; }
html.dark-mode .digi-footer-badges span { color: #475569; }


/* ═══════════════════════════════════════════════════
   HERO FLOATING CARDS — Enhanced
   ═══════════════════════════════════════════════════ */

.hero-float-card {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,0.8);
    border-radius: 14px;
    padding: 10px 16px 10px 10px;
    box-shadow: 0 8px 28px rgba(0,0,0,0.10), 0 2px 8px rgba(0,0,0,0.06);
    z-index: 10;
    text-decoration: none;
    color: #111111;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}
.hero-float-card:hover {
    transform: translateY(-4px) scale(1.03) !important;
    box-shadow: 0 16px 40px rgba(0,0,0,0.14);
    color: #111111;
}

/* Icon wrap inside card */
.hfc-icon-wrap {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}
.hfc-red    { background: #fff0eb; color: #ff5c28; }
.hfc-blue   { background: #dbeafe; color: #2563eb; }
.hfc-purple { background: #ede9fe; color: #7c3aed; }
.hfc-green  { background: #d1fae5; color: #059669; }

/* Text stack */
.hfc-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.hfc-label {
    font-size: 13px;
    font-weight: 700;
    color: #111111;
    white-space: nowrap;
    line-height: 1.2;
}
.hfc-sublabel {
    font-size: 11px;
    color: #9ca3af;
    white-space: nowrap;
    line-height: 1.2;
    margin-top: 2px;
}

/* NEW badge */
.hfc-new-badge {
    font-size: 10px;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(135deg, #059669, #34d399);
    border-radius: 6px;
    padding: 2px 6px;
    letter-spacing: 0.05em;
    flex-shrink: 0;
    margin-left: 2px;
    animation: newBadgePulse 2.5s ease-in-out infinite;
}
@keyframes newBadgePulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.7; }
}

/* ── Positions & Individual Animations ── */

/* Float animation 1 — gentle up/down */
@keyframes floatA {
    0%, 100% { transform: translateY(0px); }
    50%       { transform: translateY(-12px); }
}
/* Float animation 2 — slight tilt */
@keyframes floatB {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    33%       { transform: translateY(-10px) rotate(1deg); }
    66%       { transform: translateY(-5px) rotate(-1deg); }
}
/* Float animation 3 — slow drift */
@keyframes floatC {
    0%, 100% { transform: translateY(0px) translateX(0px); }
    50%       { transform: translateY(-8px) translateX(4px); }
}
/* Float animation 4 — bounce */
@keyframes floatD {
    0%, 100% { transform: translateY(0px) scale(1); }
    40%       { transform: translateY(-14px) scale(1.02); }
    60%       { transform: translateY(-10px) scale(0.99); }
}

.hero-float-1 {
    top: 20%;
    left: 4%;
    animation: floatA 5s ease-in-out infinite;
    animation-delay: 0s;
}
.hero-float-2 {
    top: 28%;
    right: 3%;
    animation: floatB 6s ease-in-out infinite;
    animation-delay: 1.2s;
}
.hero-float-3 {
    bottom: 28%;
    left: 3%;
    animation: floatC 7s ease-in-out infinite;
    animation-delay: 2.5s;
}
.hero-float-4 {
    bottom: 22%;
    right: 3%;
    animation: floatD 5.5s ease-in-out infinite;
    animation-delay: 0.8s;
}

/* Hide on small screens */
@media (max-width: 1024px) {
    .hero-float-card,
    .hero-float-1,
    .hero-float-2,
    .hero-float-3,
    .hero-float-4 {
        display: none !important;
    }
}

/* ── 1. Brand Header Logo (Clean Static) ── */
.digi-logo-box {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.digi-logo-box:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 14px rgba(255, 92, 40, 0.45);
}

/* ── 2. Center Arch Halo & Icon (Clean Static) ── */
.digi-center-halo {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.digi-center-halo:hover {
    transform: translateX(-50%) scale(1.05);
    box-shadow: 0 6px 20px rgba(255, 92, 40, 0.4);
}

/* ── 3. Role-Specific Animations for Tool Icons ── */

/* A. Merge / Organize PDF (Clap & Join) */
@keyframes animMergePages {
    0%, 100% { transform: scale(1) rotate(0deg); }
    30% { transform: scale(1.22) rotate(-8deg) translateX(-2px); }
    65% { transform: scale(1.18) rotate(6deg) translateX(2px); }
}
a[href*="merge"]:hover .stb-icon i,
a[href*="merge"]:hover .hsd-card-icon i,
.fa-code-merge:hover,
a[href*="organize"]:hover .stb-icon i {
    animation: animMergePages 0.65s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* B. Compress PDF (Squeeze & Compact) */
@keyframes animCompressSqueeze {
    0%, 100% { transform: scale(1); }
    35% { transform: scale(0.78, 1.25); }
    70% { transform: scale(1.2, 0.82); }
    85% { transform: scale(0.95, 1.05); }
}
a[href*="compress"]:hover .stb-icon i,
a[href*="compress"]:hover .hsd-card-icon i,
.fa-compress:hover,
a[href*="reduce"]:hover .stb-icon i {
    animation: animCompressSqueeze 0.65s ease-in-out;
}

/* C. Split / Extract PDF (Scissors Cut & Snap) */
@keyframes animScissorsCut {
    0%, 100% { transform: rotate(0deg) scale(1); }
    30% { transform: rotate(-25deg) scale(1.2); }
    60% { transform: rotate(15deg) scale(1.1); }
    80% { transform: rotate(-5deg) scale(1.05); }
}
a[href*="split"]:hover .stb-icon i,
a[href*="split"]:hover .hsd-card-icon i,
.fa-scissors:hover,
a[href*="extract"]:hover .stb-icon i {
    animation: animScissorsCut 0.6s ease-in-out;
}

/* D. Rotate PDF (Smooth 360 Spin) */
@keyframes animRotateSpin360 {
    0% { transform: rotate(0deg) scale(1); }
    50% { transform: rotate(180deg) scale(1.2); }
    100% { transform: rotate(360deg) scale(1); }
}
a[href*="rotate"]:hover .stb-icon i,
a[href*="rotate"]:hover .hsd-card-icon i,
.fa-rotate:hover,
.fa-arrows-rotate:hover {
    animation: animRotateSpin360 0.65s cubic-bezier(0.4, 0, 0.2, 1);
}

/* E. Protect / Unlock / Security (Lock Wiggle & Key Turn) */
@keyframes animLockWiggle {
    0%, 100% { transform: rotate(0deg) scale(1); }
    20% { transform: rotate(-14deg) scale(1.15); }
    40% { transform: rotate(14deg) scale(1.15); }
    60% { transform: rotate(-8deg) scale(1.08); }
    80% { transform: rotate(8deg) scale(1.08); }
}
a[href*="protect"]:hover .stb-icon i,
a[href*="unlock"]:hover .stb-icon i,
a[href*="password"]:hover .stb-icon i,
a[href*="security"]:hover .stb-icon i,
.fa-lock:hover,
.fa-shield-halved:hover {
    animation: animLockWiggle 0.6s ease-in-out;
}

/* F. Convert: PDF to Word / Excel / PPT (3D Flip Morph) */
@keyframes animConvert3DFlip {
    0% { transform: rotateY(0deg) scale(1); }
    50% { transform: rotateY(180deg) scale(1.22); }
    100% { transform: rotateY(360deg) scale(1); }
}
a[href*="word"]:hover .stb-icon i,
a[href*="excel"]:hover .stb-icon i,
a[href*="powerpoint"]:hover .stb-icon i,
a[href*="pdf-to"]:hover .stb-icon i,
a[href*="to-pdf"]:hover .stb-icon i,
.fa-file-word:hover,
.fa-file-excel:hover {
    animation: animConvert3DFlip 0.75s ease-in-out;
}

/* G. Image / JPG / PNG to PDF (Zoom Pop & Tilt) */
@keyframes animImagePopTilt {
    0%, 100% { transform: scale(1) rotate(0deg); }
    40% { transform: scale(1.25) rotate(6deg); }
    70% { transform: scale(1.12) rotate(-4deg); }
}
a[href*="jpg"]:hover .stb-icon i,
a[href*="image"]:hover .stb-icon i,
a[href*="png"]:hover .stb-icon i,
.fa-image:hover,
.fa-images:hover {
    animation: animImagePopTilt 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* H. AI & Smart PDF Tools (Magical Sparkle Twinkle) */
@keyframes animAiSparklePulse {
    0%, 100% { transform: scale(1) rotate(0deg); filter: drop-shadow(0 0 2px rgba(236, 72, 153, 0.4)); }
    35% { transform: scale(1.28) rotate(18deg); filter: drop-shadow(0 0 10px rgba(168, 85, 247, 0.9)); }
    70% { transform: scale(1.15) rotate(-10deg); filter: drop-shadow(0 0 6px rgba(59, 130, 246, 0.7)); }
}
a[href*="ai"]:hover .stb-icon i,
a[href*="chat"]:hover .stb-icon i,
a[href*="summary"]:hover .stb-icon i,
a[href*="quiz"]:hover .stb-icon i,
.bi-stars:hover,
.fa-wand-magic-sparkles:hover {
    animation: animAiSparklePulse 0.7s ease-in-out;
}

/* I. Watermark / Stamp / Signature (Stamp Down Impact) */
@keyframes animStampDownImpact {
    0%, 100% { transform: scale(1) translateY(0); }
    30% { transform: scale(1.2) translateY(-6px) rotate(-5deg); }
    60% { transform: scale(0.92) translateY(3px) rotate(2deg); }
    80% { transform: scale(1.05) translateY(-1px); }
}
a[href*="watermark"]:hover .stb-icon i,
a[href*="sign"]:hover .stb-icon i,
a[href*="stamp"]:hover .stb-icon i,
.fa-stamp:hover,
.fa-signature:hover {
    animation: animStampDownImpact 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* J. OCR / Scanner (Scan Pulse Sweep) */
@keyframes animOcrScanSweep {
    0%, 100% { transform: translateY(0) scale(1); }
    25% { transform: translateY(-5px) scale(1.15); }
    75% { transform: translateY(5px) scale(1.15); }
}
a[href*="ocr"]:hover .stb-icon i,
a[href*="scan"]:hover .stb-icon i,
.fa-eye:hover,
.bi-eye-fill:hover {
    animation: animOcrScanSweep 0.65s ease-in-out;
}

/* K. Page Number & Date (Flip & Number Bump) */
@keyframes animPageNumberBump {
    0%, 100% { transform: scale(1) rotate(0deg); }
    40% { transform: scale(1.24) rotate(8deg); }
    70% { transform: scale(1.1) rotate(-6deg); }
}
a[href*="page-number"]:hover .stb-icon i,
a[href*="date"]:hover .stb-icon i,
.fa-hashtag:hover,
.fa-calendar-days:hover {
    animation: animPageNumberBump 0.6s ease;
}

/* L. Default Generic Tool Icons (Spring Hover Lift) */
.simple-tool-box:hover .stb-icon i,
.hsd-card:hover .hsd-card-icon i,
.cat-card:hover .cat-icon i {
    display: inline-block;
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ═══════════════════════════════════════════════════
   VIDEO GUIDE & WALKTHROUGH SECTION
   ═══════════════════════════════════════════════════ */
.guide-section {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    padding: 75px 0;
    position: relative;
    border-top: 1px solid #f1f5f9;
}

.guide-video-wrapper {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.1);
    border: 2px solid rgba(255, 92, 40, 0.15);
}

.guide-video-thumb {
    width: 100%;
    height: 360px;
    background: radial-gradient(circle at center, rgba(255, 92, 40, 0.25) 0%, rgba(15, 23, 42, 0.95) 75%), url('https://images.unsplash.com/photo-1586281380349-632531db7ed4?auto=format&fit=crop&w=1200&q=80') center/cover no-repeat;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.guide-play-btn {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff5c28 0%, #ea580c 100%);
    color: #ffffff;
    border: 4px solid rgba(255, 255, 255, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    box-shadow: 0 8px 30px rgba(255, 92, 40, 0.6);
    cursor: pointer;
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease;
    animation: guidePlayPulse 2.8s ease-in-out infinite;
}

.guide-play-btn:hover {
    transform: scale(1.12);
    box-shadow: 0 12px 40px rgba(255, 92, 40, 0.8);
    color: #ffffff;
}

@keyframes guidePlayPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255, 92, 40, 0.6), 0 8px 30px rgba(255, 92, 40, 0.4); }
    50% { box-shadow: 0 0 0 14px rgba(255, 92, 40, 0), 0 12px 35px rgba(255, 92, 40, 0.6); }
}

.guide-badge-duration {
    position: absolute;
    bottom: 16px;
    right: 16px;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(8px);
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
}

.guide-step-card {
    background: #ffffff;
    border: 1.5px solid #f1f5f9;
    border-radius: 18px;
    padding: 20px 18px;
    transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    height: 100%;
}

.guide-step-card:hover {
    transform: translateY(-4px);
    border-color: #ff5c28;
    box-shadow: 0 12px 30px rgba(255, 92, 40, 0.12);
}

.guide-step-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 12px;
    flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════
   PREMIUM FAQ ACCORDION SECTION
   ═══════════════════════════════════════════════════ */
.faq-section-premium {
    background: #ffffff;
    padding: 80px 0;
    border-top: 1px solid #f1f5f9;
}

.faq-card-item {
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 18px;
    padding: 18px 22px;
    margin-bottom: 14px;
    transition: all 0.22s ease;
}

.faq-card-item:hover,
.faq-card-item.faq-active {
    border-color: #ff5c28;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(255, 92, 40, 0.1);
}

.faq-question-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: transparent;
    border: none;
    padding: 0;
    text-align: left;
    font-size: 16px;
    font-weight: 700;
    color: #1e293b;
    cursor: pointer;
    transition: color 0.18s ease;
}

.faq-card-item:hover .faq-question-btn {
    color: #ff5c28;
}

.faq-chevron {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: #64748b;
    transition: all 0.25s ease;
    flex-shrink: 0;
}

.faq-card-item.faq-active .faq-chevron {
    transform: rotate(180deg);
    background: #ff5c28;
    color: #ffffff;
    border-color: #ff5c28;
}

.faq-answer-text {
    font-size: 14.5px;
    color: #64748b;
    line-height: 1.65;
    padding-top: 12px;
    margin: 0;
}

.faq-line {
    padding: 4px 0;
    line-height: 1.55;
    display: flex;
    align-items: flex-start;
    font-size: 14px;
    color: #4b5563;
}
.faq-line i {
    font-size: 15px;
    margin-top: 2px;
    flex-shrink: 0;
}
html.dark-mode .faq-line {
    color: #94a3b8;
}

/* Dark mode support */
html.dark-mode .guide-section {
    background: #0b1120;
    border-color: #1e293b;
}
html.dark-mode .guide-step-card {
    background: #1e293b;
    border-color: #334155;
    color: #f1f5f9;
}
html.dark-mode .faq-section-premium {
    background: #0f172a;
    border-color: #1e293b;
}
html.dark-mode .faq-card-item {
    background: #1e293b;
    border-color: #334155;
}
html.dark-mode .faq-question-btn {
    color: #f1f5f9;
}
html.dark-mode .faq-answer-text {
    color: #94a3b8;
}
html.dark-mode .faq-chevron {
    background: #0f172a;
    border-color: #334155;
    color: #94a3b8;
}

/* FAQ Category Filter Toolbar & Search */
.faq-tab-btn {
    padding: 7px 18px;
    border-radius: 30px;
    font-size: 13.5px;
    font-weight: 600;
    color: #4b5563;
    background: #f1f5f9;
    border: 1.5px solid transparent;
    transition: all 0.18s ease;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.faq-tab-btn:hover {
    background: #fff0eb;
    color: #ff5c28;
}

.faq-tab-btn.faq-tab-active {
    background: linear-gradient(135deg, #ff5c28 0%, #ea580c 100%);
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(255, 92, 40, 0.35);
}

.faq-search-box {
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 2px solid #e2e8f0;
    border-radius: 50px;
    padding: 6px 16px;
    max-width: 480px;
    margin: 0 auto 24px auto;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.faq-search-box:focus-within {
    border-color: #ff5c28;
    box-shadow: 0 6px 20px rgba(255, 92, 40, 0.18);
}

.faq-search-box input {
    flex: 1;
    border: none;
    outline: none;
    font-size: 14.5px;
    color: #1f2937;
    background: transparent;
    padding: 6px 8px;
}

html.dark-mode .faq-tab-btn {
    background: #1e293b;
    color: #94a3b8;
}
html.dark-mode .faq-tab-btn:hover {
    background: #273548;
    color: #ff5c28;
}
html.dark-mode .faq-search-box {
    background: #1e293b;
    border-color: #334155;
}
html.dark-mode .faq-search-box input {
    color: #f1f5f9;
}

/* ═══════════════════════════════════════════════════
   TOOL WORKSPACE CONTENT, VIDEO & 3-STEP WORKFLOW
   ═══════════════════════════════════════════════════ */
.tool-sections-container {
    margin-top: 76px !important;
    padding-top: 40px !important;
    border-top: 1.5px solid #eef2f6;
}

html.dark-mode .tool-sections-container {
    border-color: #334155;
}

.tool-content-card {
    background: #ffffff;
    border: 1.5px solid #edf2f7;
    margin-bottom: 56px !important;
}

.tool-content-badge-icon {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255,92,40,0.12) 0%, rgba(234,88,12,0.2) 100%);
    color: #ff5c28;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    flex-shrink: 0;
}

.tool-video-card {
    background: linear-gradient(135deg, #ffffff 0%, #fdfdfe 100%);
    border: 1.5px solid #edf2f7;
}

.badge-step-dot {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
}

.tool-workflow-card {
    background: #ffffff;
    border: 1.5px solid #edf2f7;
}

.step-workflow-card {
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 20px;
    padding: 24px 20px;
    text-align: center;
    position: relative;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.step-workflow-card:hover {
    transform: translateY(-4px);
    border-color: #ff5c28;
    box-shadow: 0 12px 30px rgba(255, 92, 40, 0.12);
}

.step-workflow-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #ff5c28;
    background: #fff0eb;
    padding: 3px 10px;
    border-radius: 20px;
}

.step-workflow-graphic {
    border-radius: 16px;
    padding: 24px 16px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 140px;
}

.bg-light-orange {
    background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
}
.bg-light-purple {
    background: linear-gradient(135deg, #faf5ff 0%, #f3e8ff 100%);
}
.bg-light-green {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
}

.mockup-screen {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* Dark mode support */
html.dark-mode .tool-content-card,
html.dark-mode .tool-video-card,
html.dark-mode .tool-workflow-card {
    background: #1e293b;
    border-color: #334155;
}
html.dark-mode .tool-content-card h3,
html.dark-mode .tool-video-card h3,
html.dark-mode .tool-workflow-card h3,
html.dark-mode .step-workflow-card h5 {
    color: #f1f5f9 !important;
}
html.dark-mode .step-workflow-card {
    background: #0f172a;
    border-color: #334155;
}
html.dark-mode .bg-light-orange {
    background: #2a1b12;
}
html.dark-mode .bg-light-purple {
    background: #251833;
}
html.dark-mode .bg-light-green {
    background: #11291f;
}

/* ═══════════════════════════════════════════════════
   PREMIUM RELATED TOOLS SECTION ("You May Also Like")
   ═══════════════════════════════════════════════════ */
.related-tool-card {
    background: #ffffff;
    border: 1.5px solid #eef2f6;
    border-radius: 20px;
    padding: 22px 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02);
}

.related-tool-card:hover {
    border-color: #ff5c28;
    transform: translateY(-5px);
    box-shadow: 0 14px 34px rgba(255, 92, 40, 0.14);
}

.related-tool-icon-wrap {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
    transition: transform 0.25s ease;
}

.related-tool-card:hover .related-tool-icon-wrap {
    transform: scale(1.1) rotate(2deg);
}

.related-tool-title {
    font-size: 16px;
    font-weight: 700;
    color: #1e293b;
    margin-top: 14px;
    margin-bottom: 6px;
    transition: color 0.2s ease;
}

.related-tool-card:hover .related-tool-title {
    color: #ff5c28;
}

.related-tool-desc {
    font-size: 13px;
    color: #64748b;
    line-height: 1.45;
    margin-bottom: 14px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.related-tool-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 12px;
    border-top: 1px dashed #f1f5f9;
    font-size: 12.5px;
    font-weight: 700;
    color: #ff5c28;
}

.related-tool-arrow {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #fff0eb;
    color: #ff5c28;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: all 0.2s ease;
}

.related-tool-card:hover .related-tool-arrow {
    background: #ff5c28;
    color: #ffffff;
    transform: translateX(3px);
}

html.dark-mode .related-tool-card {
    background: #1e293b;
    border-color: #334155;
}
html.dark-mode .related-tool-title {
    color: #f1f5f9;
}
html.dark-mode .related-tool-desc {
    color: #94a3b8;
}
html.dark-mode .related-tool-footer {
    border-color: #334155;
}
html.dark-mode .related-tool-arrow {
    background: #2b394f;
}

.card-featured-active {
    border-color: #ff5c28 !important;
    box-shadow: 0 10px 30px rgba(255, 92, 40, 0.12) !important;
}
.card-featured-active .related-tool-title {
    color: #ff5c28 !important;
}
.card-featured-active .related-tool-arrow {
    background: #ff5c28 !important;
    color: #ffffff !important;
}

/* ═══════════════════════════════════════════════════
   COMPREHENSIVE MASTER DARK MODE RULES (ALL PAGES)
   ═══════════════════════════════════════════════════ */
html.dark-mode {
    color-scheme: dark;
}

html.dark-mode body {
    background-color: #0b0f19 !important;
    color: #f1f5f9 !important;
}

/* Headings & Text */
html.dark-mode h1,
html.dark-mode h2,
html.dark-mode h3,
html.dark-mode h4,
html.dark-mode h5,
html.dark-mode h6,
html.dark-mode .text-dark {
    color: #f8fafc !important;
}

html.dark-mode p.lead,
html.dark-mode .lead {
    color: #94a3b8 !important;
}

/* Cards & Containers */
html.dark-mode .card,
html.dark-mode .tool-content-card,
html.dark-mode .tool-video-card,
html.dark-mode .tool-workflow-card,
html.dark-mode .related-tool-card,
html.dark-mode .simple-tool-box,
html.dark-mode .hiw-card,
html.dark-mode .faq-card-item,
html.dark-mode .guide-step-card {
    background-color: #131d31 !important;
    border-color: #1e293b !important;
    color: #f1f5f9 !important;
}

/* Dropzone & Workspace */
html.dark-mode .upload-box,
html.dark-mode .pdf-dropzone-box {
    background-color: #131d31 !important;
    border-color: #334155 !important;
}

html.dark-mode .cloud-btn,
html.dark-mode .btn-white {
    background-color: #1e293b !important;
    color: #f1f5f9 !important;
    border-color: #334155 !important;
}

html.dark-mode .cloud-btn:hover,
html.dark-mode .btn-white:hover {
    background-color: #334155 !important;
    color: #ffffff !important;
}

/* Badges & Light Elements */
html.dark-mode .bg-light {
    background-color: #1a2438 !important;
    color: #cbd5e1 !important;
    border-color: #2b394f !important;
}

html.dark-mode .badge.bg-light {
    background-color: #1e293b !important;
    color: #cbd5e1 !important;
    border-color: #334155 !important;
}

html.dark-mode .badge.bg-primary-subtle {
    background-color: rgba(37, 99, 235, 0.2) !important;
    color: #60a5fa !important;
}

/* Accordions */
html.dark-mode .accordion-item {
    background-color: transparent !important;
    border-color: #243048 !important;
}

html.dark-mode .accordion-button {
    background-color: transparent !important;
    color: #f8fafc !important;
}

html.dark-mode .accordion-button:not(.collapsed) {
    background-color: rgba(255, 92, 40, 0.08) !important;
    color: #ff5c28 !important;
}

html.dark-mode .accordion-body {
    color: #94a3b8 !important;
}

/* Modals & Inputs */
html.dark-mode .modal-content {
    background-color: #131d31 !important;
    border-color: #243048 !important;
    color: #f8fafc !important;
}

html.dark-mode .modal-header,
html.dark-mode .modal-footer {
    border-color: #243048 !important;
    background-color: #0f172a !important;
}

html.dark-mode .form-control,
html.dark-mode .form-select {
    background-color: #0f172a !important;
    border-color: #243048 !important;
    color: #f8fafc !important;
}

html.dark-mode .form-control:focus,
html.dark-mode .form-select:focus {
    border-color: #ff5c28 !important;
    box-shadow: 0 0 0 3px rgba(255, 92, 40, 0.2) !important;
}

html.dark-mode .input-group-text {
    background-color: #1e293b !important;
    border-color: #243048 !important;
    color: #94a3b8 !important;
}

/* Subtle Step Workflow Cards */
html.dark-mode .step-workflow-card {
    background: #131d31 !important;
    border-color: #243048 !important;
}

html.dark-mode .step-workflow-badge {
    background: #2b1d15 !important;
    color: #ff7a45 !important;
}

html.dark-mode .step-workflow-graphic.bg-light-orange {
    background: #231610 !important;
}
html.dark-mode .step-workflow-graphic.bg-light-purple {
    background: #1e132b !important;
}
html.dark-mode .step-workflow-graphic.bg-light-green {
    background: #10241b !important;
}

/* Tables & Lists */
html.dark-mode .table {
    color: #f1f5f9 !important;
    border-color: #243048 !important;
}
html.dark-mode .table-light,
html.dark-mode .table th {
    background-color: #0f172a !important;
    color: #f8fafc !important;
    border-color: #243048 !important;
}
html.dark-mode .table td {
    border-color: #243048 !important;
}

/* ═══════════════════════════════════════════════════
   HERO SECTION FULL DARK MODE OVERRIDES
   ═══════════════════════════════════════════════════ */
html.dark-mode .hero-section-premium {
    background: linear-gradient(135deg, #070a12 0%, #0b0f19 35%, #111827 70%, #070a12 100%) !important;
    overflow: visible !important;
}

html.dark-mode .hero-water-backdrop {
    opacity: 0.85;
}

html.dark-mode .water-wave-1 {
    background: radial-gradient(circle, rgba(255, 92, 40, 0.22) 0%, rgba(234, 88, 12, 0.08) 50%, transparent 70%) !important;
    mix-blend-mode: screen !important;
}

html.dark-mode .water-wave-2 {
    background: radial-gradient(circle, rgba(99, 102, 241, 0.2) 0%, rgba(139, 92, 246, 0.08) 50%, transparent 70%) !important;
    mix-blend-mode: screen !important;
}

html.dark-mode .water-wave-3 {
    background: radial-gradient(ellipse at center, rgba(255, 92, 40, 0.15) 0%, transparent 70%) !important;
    mix-blend-mode: screen !important;
}

html.dark-mode .water-fluid-glow {
    background: radial-gradient(ellipse at 50% 80%, rgba(15, 23, 42, 0.8) 0%, transparent 70%) !important;
}

html.dark-mode .hero-section-premium::after {
    background: linear-gradient(to bottom, transparent, rgba(11, 15, 25, 0.8) 60%, #0b0f19 100%) !important;
}

html.dark-mode .hero-badge {
    background: rgba(19, 29, 49, 0.85) !important;
    border-color: rgba(255, 92, 40, 0.35) !important;
    color: #e2e8f0 !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.3) !important;
}

html.dark-mode .hero-heading {
    color: #f8fafc !important;
}

html.dark-mode .hero-subtext {
    color: #94a3b8 !important;
}

html.dark-mode .hero-search-box {
    background: #131d31 !important;
    border-color: #2b394f !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.45) !important;
}

html.dark-mode .hero-search-box:hover,
html.dark-mode .hero-search-box:focus-within {
    border-color: #ff5c28 !important;
    box-shadow: 0 12px 36px rgba(255, 92, 40, 0.25), 0 0 0 3px rgba(255, 92, 40, 0.15) !important;
}

html.dark-mode .hero-search-box input {
    color: #f1f5f9 !important;
}

html.dark-mode .hero-search-box input::placeholder {
    color: #64748b !important;
}

html.dark-mode #heroClearBtn {
    background: #1e293b !important;
    color: #94a3b8 !important;
}

html.dark-mode #heroClearBtn:hover {
    background: #2b1d15 !important;
    color: #ff7a45 !important;
}

html.dark-mode .hero-ql-tag {
    background: rgba(19, 29, 49, 0.8) !important;
    border-color: #243048 !important;
    color: #cbd5e1 !important;
}

html.dark-mode .hero-ql-tag:hover {
    background: #1e293b !important;
    color: #ff5c28 !important;
    border-color: #ff5c28 !important;
}

html.dark-mode .hero-trust-item {
    color: #94a3b8 !important;
}

html.dark-mode .hero-trust-sep {
    background: #243048 !important;
}

html.dark-mode .hero-float-card {
    background: rgba(19, 29, 49, 0.85) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    color: #f1f5f9 !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45) !important;
}

html.dark-mode .hero-float-card .hfc-text .hfc-label {
    color: #f8fafc !important;
}

html.dark-mode .hero-float-card .hfc-text .hfc-sublabel {
    color: #94a3b8 !important;
}

html.dark-mode .tools-grid-section,
html.dark-mode .hiw-section,
html.dark-mode .categories-section {
    background-color: #0b0f19 !important;
}

html.dark-mode .section-title {
    color: #f8fafc !important;
}

html.dark-mode .section-sub {
    color: #94a3b8 !important;
}

html.dark-mode .section-tag {
    background: #2b1d15 !important;
    color: #ff7a45 !important;
}

html.dark-mode .btn-see-all {
    color: #ff7a45 !important;
}

html.dark-mode .hero-search-dropdown {
    background: rgba(19, 29, 49, 0.98) !important;
    border-color: #2b394f !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.7), 0 4px 16px rgba(0, 0, 0, 0.4) !important;
    z-index: 10050 !important;
}

html.dark-mode .hsd-header {
    border-color: #243048 !important;
}

html.dark-mode .hsd-header-label {
    color: #94a3b8 !important;
}

html.dark-mode .hsd-count {
    background: #0f172a !important;
    border-color: #243048 !important;
    color: #64748b !important;
}

html.dark-mode .hsd-card {
    background: #131d31 !important;
    border-color: #243048 !important;
    color: #f8fafc !important;
}

html.dark-mode .hsd-card:hover,
html.dark-mode .hsd-card.hsd-card-active {
    background: #1e293b !important;
    border-color: #ff5c28 !important;
}

html.dark-mode .hsd-card-title {
    color: #f8fafc !important;
}

html.dark-mode .hsd-card-desc {
    color: #94a3b8 !important;
}

html.dark-mode .hsd-footer {
    border-color: #243048 !important;
}

/* ═══════════════════════════════════════════════════
   INTERACTIVE CURSOR GLOW SPOTLIGHT (AK GRAF MOUSE AURA)
   ═══════════════════════════════════════════════════ */
.cursor-glow-spotlight {
    position: fixed;
    top: -500px;
    left: -500px;
    width: 480px;
    height: 480px;
    border-radius: 50%;
    pointer-events: none;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(255, 92, 40, 0.14) 0%, rgba(255, 140, 90, 0.05) 45%, transparent 70%);
    filter: blur(50px);
    z-index: 10000;
    opacity: 0;
    transition: opacity 0.3s ease;
    mix-blend-mode: screen;
}

html.dark-mode .cursor-glow-spotlight {
    opacity: 0.85;
    background: radial-gradient(circle, rgba(255, 92, 40, 0.20) 0%, rgba(124, 58, 237, 0.12) 40%, rgba(37, 99, 235, 0.05) 60%, transparent 75%);
}

/* ═══════════════════════════════════════════════════
   CATEGORY CARDS & HOW IT WORKS IN DARK MODE
   ═══════════════════════════════════════════════════ */
html.dark-mode .categories-section,
html.dark-mode section.categories-section {
    background-color: #0b0f19 !important;
    border-color: #1e293b !important;
}

html.dark-mode .cat-card {
    background-color: #131d31 !important;
    border: 1.5px solid #1e293b !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important;
}

html.dark-mode .cat-card:hover {
    background-color: #1a253c !important;
    border-color: #ff5c28 !important;
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(255, 92, 40, 0.22) !important;
}

html.dark-mode .cat-icon {
    background: rgba(255, 92, 40, 0.14) !important;
    color: #ff7a45 !important;
}

html.dark-mode .cat-card:hover .cat-icon {
    background: #ff5c28 !important;
    color: #ffffff !important;
}

html.dark-mode .cat-name {
    color: #f8fafc !important;
}

html.dark-mode .cat-count {
    color: #94a3b8 !important;
}

html.dark-mode .hiw-section {
    background-color: #070a12 !important;
    border-color: #1e293b !important;
}

html.dark-mode .hiw-card {
    background-color: #131d31 !important;
    border: 1.5px solid #1e293b !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important;
}

html.dark-mode .hiw-card:hover {
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4) !important;
}

html.dark-mode .hiw-step-num {
    color: #243048 !important;
}

html.dark-mode .hiw-title {
    color: #f8fafc !important;
}

html.dark-mode .hiw-desc {
    color: #94a3b8 !important;
}

/* ═══════════════════════════════════════════════════
   DROPZONE ERROR SHAKE ANIMATION
   ═══════════════════════════════════════════════════ */
.dropzone-error-shake {
    animation: dropzoneShake 0.65s cubic-bezier(0.36, 0.07, 0.19, 0.97) both !important;
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.25) !important;
}

@keyframes dropzoneShake {
    10%, 90% { transform: translate3d(-2px, 0, 0); }
    20%, 80% { transform: translate3d(4px, 0, 0); }
    30%, 50%, 70% { transform: translate3d(-6px, 0, 0); }
    40%, 60% { transform: translate3d(6px, 0, 0); }
}

/* ═══════════════════════════════════════════════════
   GLOBAL SPOTLIGHT SEARCH MODAL (Ctrl + K)
   ═══════════════════════════════════════════════════ */
.search-modal-content {
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.2), 0 4px 16px rgba(0, 0, 0, 0.06);
}

.search-modal-header {
    background: #f8fafc !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.search-modal-input-wrap {
    background: #ffffff !important;
    border: 1.5px solid #cbd5e1 !important;
    transition: all 0.2s ease;
}

.search-modal-input-wrap:focus-within {
    border-color: #ff5c28 !important;
    box-shadow: 0 0 0 3px rgba(255, 92, 40, 0.15) !important;
}

.modal-tool-card {
    background: #ffffff;
    border: 1.5px solid #f1f5f9;
    transition: all 0.18s ease;
    cursor: pointer;
    width: 100%;
}

.modal-tool-card:hover,
.modal-tool-card.modal-tool-card-active {
    background: #fff8f5;
    border-color: #ff5c28;
    transform: translateX(3px);
    box-shadow: 0 4px 14px rgba(255, 92, 40, 0.12);
}

.modal-tool-icon {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: linear-gradient(135deg, #fff0eb 0%, #ffe5d8 100%);
    color: #ff5c28;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.18s ease;
}

.modal-tool-card:hover .modal-tool-icon,
.modal-tool-card.modal-tool-card-active .modal-tool-icon {
    background: linear-gradient(135deg, #ff5c28, #ea580c);
    color: #ffffff;
    transform: scale(1.05);
}

.modal-tool-title {
    font-size: 14.5px;
    color: #0f172a;
}

.modal-tool-card:hover .modal-tool-title,
.modal-tool-card.modal-tool-card-active .modal-tool-title {
    color: #ff5c28;
}

.modal-tool-desc {
    font-size: 12.5px;
    color: #64748b;
}

.modal-tool-arrow {
    transition: transform 0.18s ease, color 0.18s ease;
}

.modal-tool-card:hover .modal-tool-arrow,
.modal-tool-card.modal-tool-card-active .modal-tool-arrow {
    color: #ff5c28 !important;
    transform: translateX(3px);
}

/* Dark Mode Global Search Modal */
html.dark-mode .search-modal-content {
    background-color: #0f172a !important;
    border-color: #1e293b !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.6) !important;
}

html.dark-mode .search-modal-header,
html.dark-mode .search-modal-footer {
    background: #0b0f19 !important;
    border-color: #1e293b !important;
}

html.dark-mode .search-modal-input-wrap {
    background: #131d31 !important;
    border-color: #243048 !important;
}

html.dark-mode .search-modal-input-wrap input {
    color: #f8fafc !important;
}

html.dark-mode .modal-tool-card {
    background: #131d31;
    border-color: #1e293b;
}

html.dark-mode .modal-tool-card:hover,
html.dark-mode .modal-tool-card.modal-tool-card-active {
    background: #1a253c;
    border-color: #ff5c28;
}

html.dark-mode .modal-tool-title {
    color: #f8fafc;
}

html.dark-mode .modal-tool-desc {
    color: #94a3b8;
}

html.dark-mode .search-modal-footer kbd {
    background: #1e293b !important;
    color: #cbd5e1 !important;
    border-color: #334155 !important;
}

/* ═══════════════════════════════════════════════════
   PREMIUM FAQ ACCORDION SECTION (Ultra-Polished)
   ═══════════════════════════════════════════════════ */
.faq-section-premium {
    padding: 70px 0 90px 0;
    background-color: #f8fafc;
    position: relative;
}

.faq-accordion-wrap {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.faq-card-item {
    background: #ffffff;
    border: 1.5px solid #e2e8f0;
    border-radius: 18px;
    transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
}

.faq-card-item:hover {
    border-color: #cbd5e1;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    transform: translateY(-1px);
}

.faq-card-item.faq-active,
.faq-card-item:has(.faq-question-btn:not(.collapsed)) {
    border-color: #ff5c28;
    box-shadow: 0 10px 30px rgba(255, 92, 40, 0.12);
}

.faq-question-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px;
    background: transparent;
    border: none;
    outline: none;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s ease;
    gap: 14px;
}

.faq-num-badge {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #fff0eb;
    color: #ff5c28;
    font-size: 13px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(255, 92, 40, 0.25);
    transition: all 0.22s ease;
}

.faq-card-item:hover .faq-num-badge,
.faq-card-item.faq-active .faq-num-badge,
.faq-card-item:has(.faq-question-btn:not(.collapsed)) .faq-num-badge {
    background: linear-gradient(135deg, #ff5c28, #ea580c);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(255, 92, 40, 0.35);
}

.faq-q-text {
    font-size: 15.5px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.4;
    transition: color 0.2s ease;
}

.faq-question-btn:hover .faq-q-text,
.faq-question-btn:not(.collapsed) .faq-q-text {
    color: #ff5c28;
}

.faq-chevron {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #f1f5f9;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.2s ease, color 0.2s ease;
    flex-shrink: 0;
}

.faq-question-btn:hover .faq-chevron {
    background: #fff0eb;
    color: #ff5c28;
}

.faq-question-btn:not(.collapsed) .faq-chevron {
    transform: rotate(180deg);
    background: #ff5c28;
    color: #ffffff;
}

.faq-answer-text {
    padding: 0 22px 22px 22px;
    display: flex;
    flex-direction: column;
    gap: 9px;
    border-top: 1px dashed #f1f5f9;
    padding-top: 16px;
    animation: fadeInAnswer 0.25s ease-in-out;
}

@keyframes fadeInAnswer {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

.faq-line {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 14px;
    background: #f8fafc;
    border-radius: 12px;
    border: 1px solid #f1f5f9;
    font-size: 14px;
    line-height: 1.55;
    color: #334155;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.faq-line:hover {
    background: #ffffff;
    border-color: #e2e8f0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.faq-line-icon {
    font-size: 15px;
    margin-top: 2px;
    flex-shrink: 0;
}

.faq-line-content strong {
    color: #0f172a;
    font-weight: 700;
    margin-right: 4px;
}

.faq-bottom-cta {
    background: linear-gradient(135deg, #ffffff 0%, #fff7f4 100%);
    border: 1.5px solid #fed7aa;
    box-shadow: 0 10px 30px rgba(255, 92, 40, 0.08);
}

/* Dark Mode FAQ Section */
html.dark-mode .faq-section-premium {
    background-color: #070a12 !important;
}

html.dark-mode .faq-card-item {
    background-color: #131d31 !important;
    border-color: #1e293b !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
}

html.dark-mode .faq-card-item:hover {
    border-color: #2e3e5c !important;
}

html.dark-mode .faq-card-item.faq-active,
html.dark-mode .faq-card-item:has(.faq-question-btn:not(.collapsed)) {
    border-color: #ff5c28 !important;
    box-shadow: 0 8px 25px rgba(255, 92, 40, 0.2) !important;
}

html.dark-mode .faq-num-badge {
    background: #1e293b !important;
    color: #ff7a45 !important;
    border-color: #2e3e5c !important;
}

html.dark-mode .faq-q-text {
    color: #f8fafc !important;
}

html.dark-mode .faq-question-btn:hover .faq-q-text,
html.dark-mode .faq-question-btn:not(.collapsed) .faq-q-text {
    color: #ff7a45 !important;
}

html.dark-mode .faq-chevron {
    background-color: #1e293b !important;
    color: #94a3b8 !important;
}

html.dark-mode .faq-question-btn:not(.collapsed) .faq-chevron {
    background-color: #ff5c28 !important;
    color: #ffffff !important;
}

html.dark-mode .faq-answer-text {
    border-color: #1e293b !important;
}

html.dark-mode .faq-line {
    background: #0f172a !important;
    border-color: #1e293b !important;
    color: #cbd5e1 !important;
}

html.dark-mode .faq-line:hover {
    background: #151f33 !important;
    border-color: #243048 !important;
}

html.dark-mode .faq-line-content strong {
    color: #f8fafc !important;
}

html.dark-mode .faq-bottom-cta {
    background: #131d31 !important;
    border-color: #1e293b !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
}

html.dark-mode .faq-bottom-cta span {
    color: #f8fafc !important;
}

/* ── ZERO-SCROLL WORKSPACE OPTIMIZATION ── */
body.workspace-active-mode .tool-workspace-header {
    padding-top: 50px !important;
    margin-bottom: 16px !important;
}

body.workspace-active-mode .twh-desc {
    display: none !important;
}

body.workspace-active-mode .twh-title {
    font-size: 1.65rem !important;
    margin-bottom: 4px !important;
}

body.workspace-active-mode .main-workspace-card {
    margin-bottom: 16px !important;
    width: 100% !important;
}

body.workspace-active-mode .main-workspace-card > .card-body {
    padding: 16px 20px !important;
}

#fileListContainer {
    min-height: 290px;
    max-height: 550px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 14px 8px;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 #f8fafc;
}

#fileListContainer::-webkit-scrollbar {
    width: 6px;
}
#fileListContainer::-webkit-scrollbar-track {
    background: #f8fafc;
    border-radius: 4px;
}
#fileListContainer::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}
#fileListContainer::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

.pdf-page-thumb-card {
    width: 220px !important;
    min-height: 290px !important;
    border-radius: 14px !important;
}

.pdf-thumb-card {
    width: 220px !important;
    min-height: 290px !important;
    border-radius: 14px !important;
}

.pdf-thumb-paper {
    height: 215px !important;
    padding: 10px !important;
}

.pdf-add-more-card {
    width: 155px !important;
    height: 155px !important;
}

.compact-tool-panel {
    background: #ffffff;
    border-radius: 1rem;
}

/* ── Modern Compression Profile Grid Buttons ── */
.compression-settings-unified {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
}

.comp-profile-btn {
    background-color: #ffffff;
    border: 1.5px solid #e2e8f0 !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
    cursor: pointer;
}

.comp-profile-btn:hover {
    border-color: #ff5c28 !important;
    background-color: #fff9f6;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(255, 92, 40, 0.08);
}

.comp-profile-btn.active {
    border-color: #ff5c28 !important;
    background-color: #fff5f0 !important;
    box-shadow: 0 0 0 2px rgba(255, 92, 40, 0.18) !important;
}

.comp-profile-btn.active .text-dark {
    color: #ff5c28 !important;
}

.line-height-1 {
    line-height: 1.2 !important;
}

/* ── 70% Canvas / 30% Sidebar Workspace Pro Layout (Full Screen Utilization) ── */
.pdf-workspace-canvas {
    min-height: 540px;
    background: #ffffff;
    border-radius: 1rem !important;
}

@media (min-width: 992px) {
    .workspace-left-canvas-col {
        flex: 0 0 70% !important;
        max-width: 70% !important;
    }
    .workspace-right-sidebar-col {
        flex: 0 0 30% !important;
        max-width: 30% !important;
    }
}

@media (min-width: 1200px) {
    .workspace-left-canvas-col {
        flex: 0 0 70% !important;
        max-width: 70% !important;
    }
    .workspace-right-sidebar-col {
        flex: 0 0 30% !important;
        max-width: 30% !important;
    }
}

@media (min-width: 1400px) {
    .workspace-left-canvas-col {
        flex: 0 0 71% !important;
        max-width: 71% !important;
    }
    .workspace-right-sidebar-col {
        flex: 0 0 29% !important;
        max-width: 29% !important;
    }
}

/* ── Interactive Drag & Drop Reordering for PDF Pages & Files ── */
.pdf-page-thumb-card, .pdf-thumb-card {
    cursor: grab;
    user-select: none;
    transition: transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.2s ease, opacity 0.2s ease;
    touch-action: manipulation;
}

.pdf-page-thumb-card:active, .pdf-thumb-card:active {
    cursor: grabbing !important;
}

.sortable-ghost-card {
    opacity: 0.35 !important;
    transform: scale(0.95) !important;
    border: 2px dashed #ff5c28 !important;
    background: #fff5f0 !important;
    box-shadow: none !important;
}

.sortable-chosen-card {
    box-shadow: 0 16px 32px rgba(255, 92, 40, 0.28), 0 6px 12px rgba(0, 0, 0, 0.12) !important;
    transform: translateY(-4px) scale(1.03) !important;
    z-index: 100 !important;
}

.sortable-drag-card {
    opacity: 0.95 !important;
    cursor: grabbing !important;
}

.drag-handle-icon {
    cursor: grab;
    transition: color 0.15s ease;
}

.drag-handle-icon:hover {
    color: #ff5c28 !important;
}

/* ═══════════════════════════════════════════════════
   PREMIUM INTERACTIVE PDF EDITOR STUDIO
   ═══════════════════════════════════════════════════ */
.pdf-editor-studio-wrapper {
    background: #f8fafc;
    border-radius: 18px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    position: relative;
}

.pdf-editor-main-toolbar {
    background: #ffffff;
    border-bottom: 1px solid #e2e8f0;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    position: sticky;
    top: 0;
    z-index: 20;
}

.editor-tool-btn {
    border: 1px solid transparent;
    background: transparent;
    color: #475569;
    padding: 7px 12px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 9999px;
    transition: all 0.18s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.editor-tool-btn:hover {
    background: #f1f5f9;
    color: #0f172a;
}

.editor-tool-btn.active {
    background: #ff5c28 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(255, 92, 40, 0.35);
    border-color: #ff5c28;
}

.pdf-editor-sub-toolbar {
    background: #f1f5f9;
    border-bottom: 1px solid #e2e8f0;
    padding: 8px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    font-size: 13px;
}

.color-swatch-btn {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid #ffffff;
    box-shadow: 0 0 0 1px #cbd5e1;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    padding: 0;
}

.color-swatch-btn:hover {
    transform: scale(1.2);
}

.color-swatch-btn.active {
    transform: scale(1.25);
    box-shadow: 0 0 0 2px #ff5c28, 0 2px 6px rgba(0, 0, 0, 0.2);
}

/* ═══════════════════════════════════════════════════
   CANVA-STYLE DEDICATED PDF EDITOR STUDIO
   ═══════════════════════════════════════════════════ */
.canva-studio-wrapper {
    background: #ffffff;
    border-radius: 18px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    position: relative;
    min-height: 720px;
}

.canva-studio-topbar {
    background: #0f172a;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    min-height: 54px;
    z-index: 30;
}

.canva-studio-body {
    min-height: 660px;
    position: relative;
    background: #f8fafc;
}

/* Left Vertical Navigation Dock */
.canva-dock {
    width: 72px;
    min-width: 72px;
    background: #ffffff;
    border-right: 1px solid #e2e8f0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    z-index: 25;
}

.canva-dock-btn {
    width: 60px;
    height: 56px;
    border: none;
    background: transparent;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    color: #64748b;
    font-size: 10.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.18s ease;
    padding: 4px 2px;
}

.canva-dock-btn i {
    font-size: 17px;
    transition: transform 0.18s ease;
}

.canva-dock-btn:hover {
    background: #f1f5f9;
    color: #0f172a;
}

.canva-dock-btn:hover i {
    transform: scale(1.15);
}

.canva-dock-btn.active {
    background: #ff5c28;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(255, 92, 40, 0.35);
}

/* Left Expanding Tool Drawer */
.canva-drawer {
    width: 270px;
    min-width: 270px;
    max-width: 270px;
    background: #f8fafc;
    border-right: 1px solid #e2e8f0;
    overflow-y: auto;
    max-height: 80vh;
    z-index: 20;
    transition: width 0.2s ease;
}

.canva-drawer-pane {
    display: none;
}

.canva-drawer-pane.active {
    display: block;
    animation: fadeInPane 0.2s ease;
}

@keyframes fadeInPane {
    from { opacity: 0; transform: translateX(-4px); }
    to { opacity: 1; transform: translateX(0); }
}

.canva-preset-card {
    cursor: pointer;
    transition: all 0.15s ease;
    border: 1px solid #e2e8f0;
}

.canva-preset-card:hover {
    border-color: #ff5c28;
    background: #fff7ed !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 92, 40, 0.12);
}

/* Floating Contextual Property Bar */
.canva-property-bar {
    background: #ffffff;
    border-bottom: 1px solid #e2e8f0;
    min-height: 48px;
    z-index: 15;
}

/* Center Stage Viewport */
.canva-viewport {
    background: #334155;
    padding: 32px 20px;
    min-height: 600px;
    max-height: 82vh;
    overflow: auto;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.3);
}

.canva-stage-card {
    background: #ffffff;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.2);
    border-radius: 4px;
    position: relative;
    user-select: none;
    line-height: 0;
    margin: 0 auto;
    transition: width 0.12s ease, height 0.12s ease;
}

.pdf-editor-canvas-bg {
    display: block;
    border-radius: 4px;
}

.pdf-editor-canvas-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 4px;
    cursor: default;
    touch-action: none;
}

/* Image Upload Drop Area */
.upload-image-drop-area {
    border: 2px dashed #cbd5e1;
    border-radius: 12px;
    transition: all 0.2s ease;
}

.upload-image-drop-area:hover {
    border-color: #ff5c28;
    background: #fff7ed !important;
}

/* Signature Pad Modal Styling */
.signature-pad-box {
    border: 2px dashed #cbd5e1;
    border-radius: 12px;
    background: #ffffff;
    cursor: crosshair;
    touch-action: none;
}

/* ═══════════════════════════════════════════════════
   WATERMARK STUDIO SUITE STYLES (COMPACT & SLEEK)
   ═══════════════════════════════════════════════════ */
.wm-segmented-control {
    display: flex;
    background: #f1f5f9;
    padding: 3px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    gap: 3px;
}

.wm-seg-btn {
    flex: 1;
    border: none;
    background: transparent;
    padding: 6px 10px;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.18s ease;
}

.wm-seg-btn:hover {
    color: #0f172a;
    background: rgba(255, 255, 255, 0.6);
}

.wm-seg-btn.active {
    background: #ffffff !important;
    color: #ff5c28 !important;
    font-weight: 700;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.wm-position-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
    background: #f8fafc;
    padding: 6px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}

.wm-pos-btn {
    height: 32px;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    color: #475569;
    font-size: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.15s ease;
}

.wm-pos-btn:hover {
    background: #fff7ed;
    border-color: #ff5c28;
    color: #ff5c28;
    transform: translateY(-1px);
}

.wm-pos-btn.active {
    background: #ff5c28 !important;
    border-color: #ff5c28 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(255, 92, 40, 0.35);
}

.wm-color-circle {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid #ffffff;
    box-shadow: 0 0 0 1px #cbd5e1;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.wm-color-circle:hover {
    transform: scale(1.15);
}

.wm-color-circle.active {
    transform: scale(1.2);
    box-shadow: 0 0 0 2px #ff5c28, 0 2px 5px rgba(0,0,0,0.25);
}

.wm-angle-pill {
    font-size: 11px !important;
    font-weight: 600;
    padding: 2px 6px !important;
    transition: all 0.15s ease;
}

.wm-angle-pill.active {
    background: #ff5c28 !important;
    border-color: #ff5c28 !important;
    color: #ffffff !important;
}

.wm-tiled-btn {
    font-size: 11.5px !important;
    transition: all 0.15s ease;
}

.wm-tiled-btn:hover, .wm-tiled-btn.active {
    background: #fff7ed !important;
    border-color: #ff5c28 !important;
    color: #ff5c28 !important;
    font-weight: 700;
}

/* ═══════════════════════════════════════════════════
   HEADER AGENCY LEAD BUTTON (DIGIWS.COM)
   ═══════════════════════════════════════════════════ */
.digi-header-agency-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    border: 1px solid rgba(245, 158, 11, 0.4);
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    transition: all 0.2s ease;
}

.digi-header-agency-btn:hover {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    border-color: #f59e0b;
    color: #000000;
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(245, 158, 11, 0.35);
}

.digi-header-agency-btn:hover i {
    color: #000000 !important;
}

/* ═══════════════════════════════════════════════════
   FOOTER LEAD CARD (BUY ANY TYPE OF WEBSITE - DIGIWS.COM)
   ═══════════════════════════════════════════════════ */
.digi-footer-lead-card {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
    border: 1px solid rgba(245, 158, 11, 0.35);
    border-radius: 20px;
    padding: 28px 32px;
    box-shadow: 0 15px 35px -5px rgba(0, 0, 0, 0.25), 0 0 20px rgba(245, 158, 11, 0.1);
    position: relative;
    overflow: hidden;
}

.digi-footer-lead-card::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(245, 158, 11, 0.15) 0%, transparent 70%);
    pointer-events: none;
}

html.dark-mode .digi-footer-lead-card {
    background: linear-gradient(135deg, #090d16 0%, #131d31 50%, #090d16 100%);
    border-color: rgba(245, 158, 11, 0.3);
}

/* ═══════════════════════════════════════════════════
   FOOTER LEGAL NAVIGATION (1-2 Lines)
   ═══════════════════════════════════════════════════ */
.digi-footer-legal-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 14px 0;
}

.digi-footer-legal-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13.5px;
    font-weight: 500;
    color: #4b5563;
    text-decoration: none;
    transition: color 0.18s ease, transform 0.18s ease;
}

.digi-footer-legal-link:hover {
    color: #ff5c28;
    transform: translateY(-1px);
}

.digi-footer-legal-link i {
    font-size: 12px;
    opacity: 0.85;
}

.digi-footer-dot {
    color: #cbd5e1;
    font-size: 11px;
}

html.dark-mode .digi-footer-legal-link {
    color: #94a3b8;
}

html.dark-mode .digi-footer-legal-link:hover {
    color: #ff7849;
}

html.dark-mode .digi-footer-dot {
    color: #334155;
}

/* ═══════════════════════════════════════════════════
   LEGAL PAGES STYLES (Privacy, About, Terms, Security)
   ═══════════════════════════════════════════════════ */
.legal-page-wrapper {
    background: #f8fafc;
    min-height: 85vh;
}

html.dark-mode .legal-page-wrapper {
    background: #0f172a;
    color: #f1f5f9;
}

.legal-hero {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    color: #ffffff;
    padding: 60px 0 50px 0;
    position: relative;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.legal-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.35);
    color: #10b981;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 16px;
}

.legal-title {
    font-size: 2.5rem;
    font-weight: 800;
    letter-spacing: -0.5px;
    margin-bottom: 12px;
}

.legal-subtitle {
    font-size: 1.15rem;
    color: #cbd5e1;
    line-height: 1.6;
    margin-bottom: 20px;
}

.legal-meta {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    font-size: 13px;
    color: #94a3b8;
}

.legal-meta i {
    color: #38bdf8;
    margin-right: 5px;
}

.legal-sidebar {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}

html.dark-mode .legal-sidebar {
    background: #1e293b;
    border-color: #334155;
}

.legal-sidebar-heading {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 700;
    color: #94a3b8;
    letter-spacing: 0.5px;
    margin-bottom: 14px;
}

.legal-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.legal-nav-list li {
    margin-bottom: 8px;
}

.legal-nav-list a {
    display: flex;
    align-items: center;
    font-size: 13.5px;
    color: #475569;
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 8px;
    transition: all 0.15s ease;
}

.legal-nav-list a:hover, .legal-nav-list a.active {
    background: #fff7ed;
    color: #ff5c28;
    font-weight: 600;
}

html.dark-mode .legal-nav-list a {
    color: #94a3b8;
}

html.dark-mode .legal-nav-list a:hover, html.dark-mode .legal-nav-list a.active {
    background: rgba(255, 92, 40, 0.15);
    color: #ff7849;
}

.privacy-highlight-box {
    display: flex;
    align-items: flex-start;
    gap: 22px;
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    border: 1px solid #a7f3d0;
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 10px 25px -5px rgba(16, 185, 129, 0.12);
}

html.dark-mode .privacy-highlight-box {
    background: linear-gradient(135deg, rgba(6, 78, 59, 0.3) 0%, rgba(6, 95, 70, 0.4) 100%);
    border-color: #047857;
}

.privacy-highlight-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: #10b981;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}

.privacy-highlight-text h3 {
    font-size: 1.35rem;
    font-weight: 800;
    color: #065f46;
    margin-bottom: 8px;
}

html.dark-mode .privacy-highlight-text h3 {
    color: #34d399;
}

.privacy-highlight-text p {
    color: #047857;
    font-size: 14.5px;
    line-height: 1.6;
}

html.dark-mode .privacy-highlight-text p {
    color: #a7f3d0;
}

.legal-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 30px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}

html.dark-mode .legal-card {
    background: #1e293b;
    border-color: #334155;
    color: #cbd5e1;
}

.legal-card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f1f5f9;
}

html.dark-mode .legal-card-header {
    border-bottom-color: #334155;
}

.legal-step-num {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #fff7ed;
    color: #ff5c28;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 14px;
    flex-shrink: 0;
}

html.dark-mode .legal-step-num {
    background: rgba(255, 92, 40, 0.15);
    color: #ff7849;
}

.legal-card-header h4 {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 0;
}

.legal-card-body p {
    line-height: 1.7;
    font-size: 14.5px;
}

.privacy-timeline {
    border-left: 2px solid #e2e8f0;
    padding-left: 24px;
    margin-left: 10px;
    margin-top: 20px;
}

html.dark-mode .privacy-timeline {
    border-left-color: #334155;
}

.timeline-step {
    position: relative;
    margin-bottom: 24px;
}

.timeline-step:last-child {
    margin-bottom: 0;
}

.timeline-dot {
    position: absolute;
    left: -37px;
    top: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #3b82f6;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
}

.timeline-info h6 {
    font-weight: 700;
    margin-bottom: 4px;
}

.timeline-info p {
    font-size: 13.5px;
    color: #64748b;
    margin-bottom: 0;
}

html.dark-mode .timeline-info p {
    color: #94a3b8;
}

.security-mini-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 18px;
    height: 100%;
}

html.dark-mode .security-mini-card {
    background: #0f172a;
    border-color: #334155;
}

.security-mini-card i {
    font-size: 24px;
    margin-bottom: 10px;
}

.security-mini-card h6 {
    font-weight: 700;
    margin-bottom: 6px;
}

.security-mini-card p {
    font-size: 13px;
    color: #64748b;
    margin-bottom: 0;
}

html.dark-mode .security-mini-card p {
    color: #94a3b8;
}

.company-contact-badge {
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    padding: 16px 20px;
    font-size: 14px;
    line-height: 1.8;
}

html.dark-mode .company-contact-badge {
    background: #0f172a;
    border-color: #334155;
}

/* About Us Layouts */
.about-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff7ed;
    color: #ea580c;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 13px;
    margin-bottom: 16px;
}

html.dark-mode .about-hero-badge {
    background: rgba(234, 88, 12, 0.15);
    color: #fb923c;
}

.about-stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.about-stat-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}

html.dark-mode .about-stat-card {
    background: #1e293b;
    border-color: #334155;
}

.about-stat-card i {
    font-size: 28px;
    margin-bottom: 12px;
}

.about-stat-card h3 {
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 4px;
}

.about-stat-card p {
    font-size: 13px;
    color: #64748b;
    margin-bottom: 0;
}

.about-developer-card {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    color: #ffffff;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 20px 35px -10px rgba(15, 23, 42, 0.35);
}

.developer-avatar-wrapper {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff5c28 0%, #ea580c 100%);
    padding: 4px;
    margin: 0 auto;
    box-shadow: 0 8px 25px rgba(255, 92, 40, 0.35);
}

.developer-avatar-icon {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #0f172a;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 38px;
    color: #ff5c28;
}

.about-pillar-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 30px;
    height: 100%;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.about-pillar-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.06);
}

html.dark-mode .about-pillar-card {
    background: #1e293b;
    border-color: #334155;
}

.about-pillar-icon {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 20px;
}

/* Contact Page Cards */
.contact-info-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 35px;
}

html.dark-mode .contact-info-card {
    background: #1e293b;
    border-color: #334155;
}

.contact-info-item {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
}

.contact-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}






/* ══════════════════════════════════════════════════════
   DIGIWS JPG TOOLS V2 — ULTRA-PREMIUM DESIGN SYSTEM
   ═══════════════════════════════════════════════════ */

:root {
    --digi-brand-orange: #ff5c28;
    --digi-brand-gradient: linear-gradient(135deg, #ff5c28 0%, #ff8a00 50%, #e11d48 100%);
    --digi-card-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.06), 0 4px 6px -2px rgba(0, 0, 0, 0.03);
    --digi-glow-orange: 0 0 25px rgba(255, 92, 40, 0.35);
}

/* Brand SVG Logo Box */
.digi-logo-svg-wrap {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    box-shadow: 0 6px 16px rgba(255, 92, 40, 0.3);
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    flex-shrink: 0;
}
.digi-logo-svg-wrap:hover {
    transform: scale(1.08) rotate(4deg);
    box-shadow: 0 8px 24px rgba(255, 92, 40, 0.45);
}
.digi-logo-svg-wrap svg {
    width: 100%;
    height: 100%;
}

/* Brand Name Accent */
.digi-brand-name span {
    background: var(--digi-brand-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 900;
}

/* ── Interactive Before / After Split Comparison Slider ── */
:root {
    --slider-pos: 50%;
}

.before-after-container {
    position: relative;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    background: #090d16;
    user-select: none;
    touch-action: none;
    box-sizing: border-box;
}

.before-after-container:fullscreen,
.before-after-container:-webkit-full-screen {
    width: 100vw !important;
    height: 100vh !important;
    max-width: 100vw !important;
    border-radius: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #050811;
}

.before-after-img-wrap {
    position: relative;
    width: 100%;
    height: 480px;
    max-height: 70vh;
    min-height: 280px;
    overflow: hidden;
    /* Subtle modern transparency checkerboard */
    background-color: #0b1120;
    background-image: 
        linear-gradient(45deg, rgba(255,255,255,0.04) 25%, transparent 25%), 
        linear-gradient(-45deg, rgba(255,255,255,0.04) 25%, transparent 25%), 
        linear-gradient(45deg, transparent 75%, rgba(255,255,255,0.04) 75%), 
        linear-gradient(-45deg, transparent 75%, rgba(255,255,255,0.04) 75%);
    background-size: 24px 24px;
    background-position: 0 0, 0 12px, 12px -12px, -12px 0px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.before-after-container:fullscreen .before-after-img-wrap,
.before-after-container:-webkit-full-screen .before-after-img-wrap {
    height: 100vh;
    max-height: 100vh;
}

/* BOTH images must be absolute 100% width and height with identical object-fit and center position */
.before-after-img-wrap img.before-after-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}

.before-after-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 2;
    clip-path: inset(0 calc(100% - var(--slider-pos, 50%)) 0 0);
    -webkit-clip-path: inset(0 calc(100% - var(--slider-pos, 50%)) 0 0);
    pointer-events: none;
}

.before-after-divider-line {
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--slider-pos, 50%);
    width: 2.5px;
    transform: translateX(-50%);
    background: #ffffff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.7), 0 0 8px var(--digi-brand-orange, #ff5c28);
    z-index: 4;
    pointer-events: none;
}

.before-after-slider-handle {
    position: absolute;
    top: 50%;
    left: var(--slider-pos, 50%);
    transform: translate(-50%, -50%);
    width: 44px;
    height: 44px;
    background: #ffffff;
    border: 3px solid var(--digi-brand-orange, #ff5c28);
    border-radius: 50%;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45), 0 0 16px rgba(255, 92, 40, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: ew-resize;
    z-index: 10;
    color: var(--digi-brand-orange, #ff5c28);
    font-size: 15px;
    pointer-events: none;
    transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.15s ease;
}

.before-after-container:hover .before-after-slider-handle,
.before-after-container:active .before-after-slider-handle {
    transform: translate(-50%, -50%) scale(1.12);
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.55), 0 0 24px rgba(255, 92, 40, 0.7);
}

.before-after-badge {
    position: absolute;
    bottom: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 5;
    pointer-events: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    transition: opacity 0.2s ease;
}

.before-after-badge .badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    display: inline-block;
}

.before-after-badge-before {
    left: 14px;
    background: rgba(15, 23, 42, 0.85);
    color: #f8fafc;
    border: 1px solid rgba(255, 255, 255, 0.18);
}
.before-after-badge-before .badge-dot {
    background: #94a3b8;
}

.before-after-badge-after {
    right: 14px;
    background: rgba(255, 92, 40, 0.92);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.3);
}
.before-after-badge-after .badge-dot {
    background: #22c55e;
    box-shadow: 0 0 6px #22c55e;
}

.before-after-range-input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    opacity: 0;
    cursor: ew-resize;
    z-index: 8;
    touch-action: pan-y;
}

/* ── Modern Tool Cards With Glowing Borders ── */
.tool-card {
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.07) !important;
}
.dark-mode .tool-card {
    background: #1e293b !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}
.tool-card:hover {
    transform: translateY(-4px);
    border-color: #3b82f6 !important;
    box-shadow: 0 12px 26px rgba(37, 99, 235, 0.08) !important;
}
.tool-card-icon-box {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    background: #eff6ff;
    border: 1px solid #dbeafe;
    color: #2563eb;
    transition: all 0.2s ease;
    box-shadow: none !important;
}
.tool-card:hover .tool-card-icon-box {
    background: #dbeafe;
    border-color: #bfdbfe;
    color: #1d4ed8;
    transform: translateY(-2px);
    box-shadow: none !important;
}

/* ── Multiple Batch Item Queue Row ── */
.batch-queue-card {
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    padding: 12px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.2s ease;
}
.dark-mode .batch-queue-card {
    background: #1e293b;
    border-color: #334155;
}
.batch-queue-card:hover {
    border-color: var(--digi-brand-orange);
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.batch-thumb-img {
    width: 52px;
    height: 52px;
    border-radius: 10px;
    object-fit: cover;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
}

/* ── Color Palette Swatch Card ── */
.palette-copy-badge {
    cursor: pointer;
    transition: all 0.2s ease;
    border: 1px solid rgba(0,0,0,0.1);
    padding: 8px 12px;
    border-radius: 10px;
    font-weight: 700;
    font-family: monospace;
}
.palette-copy-badge:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* ── Hero 3D Floating Glass Cards ── */
.hero-glass-feature {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.04);
}
.dark-mode .hero-glass-feature {
    background: rgba(30, 41, 59, 0.7);
    border-color: rgba(255, 255, 255, 0.08);
}
/* Fan Rotation Animation for Logo */
@keyframes fanSpinContinuous {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.digi-logo-svg-wrap img,
.digi-center-icon img {
    animation: fanSpinContinuous 6s linear infinite;
    transform-origin: center center;
    transition: animation-duration 0.3s ease;
}

.digi-logo-svg-wrap:hover img,
.digi-center-icon:hover img {
    animation-duration: 1.5s;
}

/* ═══════════════════════════════════════════════════════════════
   PREMIUM REDESIGNED HOME PAGE COMPONENTS & MICRO-ANIMATIONS
   ═══════════════════════════════════════════════════════════════ */

/* ── Classic Tool Card & Icon Box ── */
.tool-card {
    background: #ffffff;
    border: 1.5px solid #e2e8f0;
    border-radius: 18px;
    padding: 20px 18px;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
    text-decoration: none !important;
    color: inherit !important;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
}
.tool-card * {
    text-decoration: none !important;
}
.tool-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.07) !important;
    border-color: #3b82f6 !important;
}
.tool-card-icon-box {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #eff6ff;
    border: 1px solid #dbeafe;
    color: #2563eb;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    transition: all 0.2s ease;
    box-shadow: none !important;
}
.tool-card:hover .tool-card-icon-box {
    background: #dbeafe;
    border-color: #bfdbfe;
    color: #1d4ed8;
    transform: translateY(-2px);
    box-shadow: none !important;
}
.dark-mode .tool-card {
    background: #1e293b;
    border-color: #334155;
}
.dark-mode .tool-card-icon-box {
    background: rgba(37, 99, 235, 0.18);
    border-color: rgba(37, 99, 235, 0.3);
    color: #60a5fa;
}
.dark-mode .tool-card:hover .tool-card-icon-box {
    background: rgba(37, 99, 235, 0.3);
    border-color: rgba(96, 165, 250, 0.5);
    color: #93c5fd;
    box-shadow: none !important;
}

/* ── Animated Modern Tool Card ── */
.tool-card-modern {
    background: #ffffff;
    border: 1.5px solid #e2e8f0;
    border-radius: 20px;
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    overflow: hidden;
    text-decoration: none !important;
    transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
}

.dark-mode .tool-card-modern {
    background: #1e293b;
    border-color: #334155;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

.tool-card-modern:hover {
    transform: translateY(-7px);
    border-color: #3b82f6;
    box-shadow: 0 16px 36px -4px rgba(37, 99, 235, 0.16), 0 6px 16px -2px rgba(0, 0, 0, 0.05);
}

.dark-mode .tool-card-modern:hover {
    border-color: #60a5fa;
    box-shadow: 0 16px 36px -4px rgba(96, 165, 250, 0.2), 0 6px 16px -2px rgba(0, 0, 0, 0.4);
}

/* Top Accent Glow on Hover */
.tool-card-modern::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3.5px;
    background: linear-gradient(90deg, #3b82f6 0%, #8b5cf6 50%, #ec4899 100%);
    opacity: 0;
    transition: opacity 0.28s ease;
}

.tool-card-modern:hover::before {
    opacity: 1;
}

/* Tool Icon Circle with Floating Animation on Hover */
.tool-icon-circle {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
    transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.tool-card-modern:hover .tool-icon-circle {
    transform: scale(1.16) rotate(8deg);
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.25);
}

/* Icon Color Palettes */
.tool-icon-ai {
    background: linear-gradient(135deg, #fef3c7 0%, #fed7aa 100%);
    color: #ea580c;
}
.tool-icon-print {
    background: linear-gradient(135deg, #dbeafe 0%, #e0e7ff 100%);
    color: #2563eb;
}
.tool-icon-compress {
    background: linear-gradient(135deg, #dcfce7 0%, #d1fae5 100%);
    color: #16a34a;
}
.tool-icon-convert {
    background: linear-gradient(135deg, #e0f2fe 0%, #ede9fe 100%);
    color: #0284c7;
}
.tool-icon-edit {
    background: linear-gradient(135deg, #fce7f3 0%, #fae8ff 100%);
    color: #db2777;
}
.tool-icon-privacy {
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
    color: #475569;
}

.dark-mode .tool-icon-ai { background: rgba(234, 88, 12, 0.2); color: #fb923c; }
.dark-mode .tool-icon-print { background: rgba(37, 99, 235, 0.2); color: #60a5fa; }
.dark-mode .tool-icon-compress { background: rgba(22, 163, 74, 0.2); color: #4ade80; }
.dark-mode .tool-icon-convert { background: rgba(2, 132, 199, 0.2); color: #38bdf8; }
.dark-mode .tool-icon-edit { background: rgba(219, 39, 119, 0.2); color: #f472b6; }
.dark-mode .tool-icon-privacy { background: rgba(100, 116, 139, 0.25); color: #cbd5e1; }

.tool-card-arrow {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-size: 13px;
    transition: all 0.25s ease;
    margin-left: auto;
}

.dark-mode .tool-card-arrow {
    background: #334155;
    color: #94a3b8;
}

.tool-card-modern:hover .tool-card-arrow {
    background: #2563eb;
    color: #ffffff;
    transform: translateX(4px);
}

/* ── How It Works Step Cards ── */
.how-step-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    padding: 32px 24px;
    text-align: center;
    position: relative;
    height: 100%;
    transition: all 0.28s ease;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
}

.dark-mode .how-step-card {
    background: #1e293b;
    border-color: #334155;
}

.how-step-card:hover {
    transform: translateY(-6px);
    border-color: #3b82f6;
    box-shadow: 0 16px 36px rgba(37, 99, 235, 0.12);
}

.how-step-num {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);
    color: #ffffff;
    font-weight: 900;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px auto;
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.3);
}

.how-step-icon {
    font-size: 40px;
    margin-bottom: 16px;
    display: inline-block;
    transition: transform 0.3s ease;
}

.how-step-card:hover .how-step-icon {
    transform: scale(1.15);
}

/* ── User Review Testimonial Cards ── */
.review-card-modern {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 24px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.25s ease;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
}

.dark-mode .review-card-modern {
    background: #1e293b;
    border-color: #334155;
}

.review-card-modern:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.08);
    border-color: #cbd5e1;
}

.review-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ffedd5 0%, #fed7aa 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 16px;
    color: #c2410c;
    flex-shrink: 0;
}

/* ── Why Choose Feature Cards ── */
.why-feature-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 26px 22px;
    height: 100%;
    transition: all 0.25s ease;
}

.dark-mode .why-feature-card {
    background: #1e293b;
    border-color: #334155;
}

.why-feature-card:hover {
    transform: translateY(-5px);
    border-color: #2563eb;
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.1);
}

.why-icon-box {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 18px;
    background: #eff6ff;
    color: #2563eb;
    transition: transform 0.3s ease;
}

.why-feature-card:hover .why-icon-box {
    transform: scale(1.12);
    background: #2563eb;
    color: #ffffff;
}

/* ── Custom FAQ Accordion ── */
.accordion-faq-custom .accordion-item {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px !important;
    margin-bottom: 12px;
    overflow: hidden;
    transition: all 0.2s ease;
}

.dark-mode .accordion-faq-custom .accordion-item {
    background: #1e293b;
    border-color: #334155;
}

.accordion-faq-custom .accordion-button {
    font-weight: 700;
    font-size: 16px;
    padding: 18px 22px;
    background: transparent;
    box-shadow: none !important;
    color: #0f172a;
}

.dark-mode .accordion-faq-custom .accordion-button {
    color: #f8fafc;
}

.accordion-faq-custom .accordion-button:not(.collapsed) {
    color: #2563eb;
    background: #f8fafc;
}

.dark-mode .accordion-faq-custom .accordion-button:not(.collapsed) {
    color: #60a5fa;
    background: rgba(30, 41, 59, 0.6);
}

.accordion-faq-custom .accordion-body {
    padding: 18px 22px;
    color: #475569;
    font-size: 15px;
    line-height: 1.65;
    border-top: 1px solid #f1f5f9;
}

.dark-mode .accordion-faq-custom .accordion-body {
    color: #94a3b8;
    border-top-color: #334155;
}

/* ═══════════════════════════════════════════════════════════════
   ULTRA-PREMIUM FOOTER STYLING
   ═══════════════════════════════════════════════════════════════ */
.digi-footer-premium {
    background: #ffffff;
    position: relative;
    border-top-color: #e2e8f0 !important;
}

.dark-mode .digi-footer-premium {
    background: #0f172a;
    border-top-color: #1e293b !important;
}

.footer-top-banner {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.dark-mode .footer-top-banner {
    background: #1e293b;
    border-bottom-color: #334155;
}

.footer-cta-icon-box {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.dark-mode .footer-cta-icon-box {
    background: #0f172a;
    border-color: #334155;
}

.system-status-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.2);
    animation: statusPulse 2s infinite;
}

@keyframes statusPulse {
    0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5); }
    70% { box-shadow: 0 0 0 5px rgba(34, 197, 94, 0); }
    100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

.footer-pill-badge {
    display: inline-flex;
    align-items: center;
    font-size: 11.5px;
    font-weight: 600;
    color: #475569;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    padding: 3px 10px;
    border-radius: 20px;
}

.dark-mode .footer-pill-badge {
    background: #1e293b;
    border-color: #334155;
    color: #94a3b8;
}

.footer-social-btn {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #475569;
    font-size: 15px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.footer-social-btn:hover {
    background: #2563eb;
    color: #ffffff;
    border-color: #2563eb;
    transform: translateY(-2px);
}

.dark-mode .footer-social-btn {
    background: #1e293b;
    border-color: #334155;
    color: #94a3b8;
}

.dark-mode .footer-social-btn:hover {
    background: #3b82f6;
    color: #ffffff;
    border-color: #3b82f6;
}

.footer-col-heading {
    font-size: 12.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #0f172a;
    margin-bottom: 16px;
}

.dark-mode .footer-col-heading {
    color: #f8fafc;
}

.footer-nav-links li {
    margin-bottom: 9px;
}

.footer-nav-links a {
    font-size: 13px;
    color: #64748b;
    text-decoration: none;
    transition: all 0.18s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.footer-nav-links a:hover {
    color: #2563eb;
    transform: translateX(3px);
}

.dark-mode .footer-nav-links a {
    color: #94a3b8;
}

.dark-mode .footer-nav-links a:hover {
    color: #60a5fa;
}

.nav-hot-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ff5c28;
    display: inline-block;
}

.footer-divider {
    border-color: #e2e8f0;
    opacity: 0.7;
}

.dark-mode .footer-divider {
    border-color: #334155;
}

.hover-primary:hover {
    color: #2563eb !important;
}

.dark-mode .hover-primary:hover {
    color: #60a5fa !important;
}

.footer-bottom-bar {
    background: #f8fafc;
    border-top: 1px solid #e2e8f0 !important;
}

.dark-mode .footer-bottom-bar {
    background: #0b1329;
    border-top-color: #1e293b !important;
}

/* ══════════════════════════════════════════════════════
   GLOBAL DARK MODE TEXT CONTRAST OVERRIDES
   ══════════════════════════════════════════════════════ */
html.dark-mode body, .dark-mode body {
    background-color: #0b1329 !important;
    color: #e2e8f0 !important;
}
html.dark-mode h1, html.dark-mode h2, html.dark-mode h3, 
html.dark-mode h4, html.dark-mode h5, html.dark-mode h6,
.dark-mode h1, .dark-mode h2, .dark-mode h3, 
.dark-mode h4, .dark-mode h5, .dark-mode h6,
html.dark-mode .text-dark, .dark-mode .text-dark,
html.dark-mode .dark-text-white, .dark-mode .dark-text-white {
    color: #f8fafc !important;
}
html.dark-mode .text-muted, .dark-mode .text-muted,
html.dark-mode p.text-muted, .dark-mode p.text-muted,
html.dark-mode .small.text-muted, .dark-mode .small.text-muted,
html.dark-mode .extra-small.text-muted, .dark-mode .extra-small.text-muted {
    color: #94a3b8 !important;
}
html.dark-mode .how-step-card, .dark-mode .how-step-card {
    background: #151f38 !important;
    border-color: #263352 !important;
}
html.dark-mode .how-step-card p, .dark-mode .how-step-card p {
    color: #cbd5e1 !important;
}
html.dark-mode .review-card-modern, .dark-mode .review-card-modern {
    background: #151f38 !important;
    border-color: #263352 !important;
}
html.dark-mode .review-card-modern p, .dark-mode .review-card-modern p {
    color: #e2e8f0 !important;
}
html.dark-mode .why-feature-card, .dark-mode .why-feature-card {
    background: #151f38 !important;
    border-color: #263352 !important;
}
html.dark-mode .why-feature-card p, .dark-mode .why-feature-card p {
    color: #cbd5e1 !important;
}
html.dark-mode .tool-card, .dark-mode .tool-card {
    background: #151f38 !important;
    border-color: #263352 !important;
}
html.dark-mode .tool-card p, .dark-mode .tool-card p,
html.dark-mode .tool-card .tool-card-desc-2lines, .dark-mode .tool-card .tool-card-desc-2lines {
    color: #94a3b8 !important;
}
html.dark-mode .accordion-faq-custom .accordion-item,
.dark-mode .accordion-faq-custom .accordion-item {
    background: #151f38 !important;
    border-color: #263352 !important;
}
html.dark-mode .accordion-faq-custom .accordion-button,
.dark-mode .accordion-faq-custom .accordion-button {
    color: #f8fafc !important;
}
html.dark-mode .accordion-faq-custom .accordion-body,
.dark-mode .accordion-faq-custom .accordion-body {
    color: #cbd5e1 !important;
}
html.dark-mode .bg-light, .dark-mode .bg-light {
    background-color: #0e172e !important;
}

/* ── Ambient Mouse Pointer Spotlight Glow (Dark & Light Mode) ── */
.cursor-glow-spotlight {
    position: fixed;
    top: 0;
    left: 0;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    pointer-events: none !important;
    user-select: none !important;
    z-index: 0;
    opacity: 0;
    filter: blur(50px);
    background: radial-gradient(circle, rgba(37, 99, 235, 0.12) 0%, rgba(139, 92, 246, 0.06) 50%, transparent 70%);
    transition: opacity 0.3s ease;
    will-change: transform;
}
html.dark-mode .cursor-glow-spotlight,
.dark-mode .cursor-glow-spotlight {
    background: radial-gradient(circle, rgba(59, 130, 246, 0.25) 0%, rgba(147, 51, 234, 0.14) 50%, transparent 70%) !important;
}
@media (hover: none) or (max-width: 768px) {
    .cursor-glow-spotlight {
        display: none !important;
    }
}

/* ══════════════════════════════════════════════════════
   PDF24 STUDIO MULTI-CARD INTERACTIVE WORKSPACE STYLE
   ══════════════════════════════════════════════════════ */
.pdf24-interactive-card {
    background: #ffffff;
    border: 1.5px solid #e2e8f0;
    border-radius: 18px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    width: 220px;
    flex-shrink: 0;
}
.pdf24-interactive-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(37, 99, 235, 0.12);
    border-color: #93c5fd;
}
.pdf24-interactive-card .card-top-control-bar {
    background: #ffffff;
    border-bottom: 1px solid #f1f5f9;
}
.pdf24-interactive-card .card-middle-canvas-stage {
    background: #e2e8f0;
    position: relative;
    overflow: hidden;
}
.dark-mode .pdf24-interactive-card .card-middle-canvas-stage {
    background: #1e293b;
}
.floating-file-pill-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(15, 23, 42, 0.75);
    color: #ffffff;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    max-width: 90%;
    pointer-events: none;
    backdrop-filter: blur(4px);
    opacity: 0.85;
    transition: opacity 0.2s ease;
}
.pdf24-interactive-card:hover .floating-file-pill-overlay {
    opacity: 1;
}
.pdf24-interactive-card .card-bottom-control-bar {
    background: #ffffff;
    border-top: 1px solid #f1f5f9;
}
.dark-mode .pdf24-interactive-card {
    background: #151f38;
    border-color: #263352;
}
.dark-mode .pdf24-interactive-card .card-top-control-bar,
.dark-mode .pdf24-interactive-card .card-bottom-control-bar {
    background: #151f38;
    border-color: #263352;
}

/* ==========================================================================
   AI BACKGROUND REMOVER HOMEPAGE SHOWCASE SECTION
   ========================================================================== */
.bg-gradient-ai-showcase {
    background: linear-gradient(135deg, rgba(240, 249, 255, 0.75) 0%, rgba(254, 242, 242, 0.45) 50%, rgba(245, 243, 255, 0.7) 100%);
}
.dark-mode .bg-gradient-ai-showcase {
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.95) 0%, rgba(30, 41, 59, 0.85) 100%);
    border-color: #1e293b !important;
}

.home-showcase-compare-wrap {
    position: relative;
    user-select: none;
    overflow: hidden;
    background: #f8fafc;
}
.home-showcase-img-layer {
    position: relative;
    width: 100%;
    height: 320px;
    overflow: hidden;
}
.home-showcase-before-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    clip-path: polygon(0 0, var(--slider-pos, 50%) 0, var(--slider-pos, 50%) 100%, 0 100%);
    -webkit-clip-path: polygon(0 0, var(--slider-pos, 50%) 0, var(--slider-pos, 50%) 100%, 0 100%);
}
.home-showcase-divider {
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--slider-pos, 50%);
    width: 2.5px;
    background: #ff5c28;
    z-index: 10;
    pointer-events: none;
    box-shadow: 0 0 10px rgba(255, 92, 40, 0.5);
}
.home-showcase-handle {
    position: absolute;
    top: 50%;
    left: var(--slider-pos, 50%);
    transform: translate(-50%, -50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff5c28 0%, #ea580c 100%);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    box-shadow: 0 4px 14px rgba(255, 92, 40, 0.45);
    z-index: 12;
    pointer-events: none;
}
.home-showcase-badge {
    position: absolute;
    top: 12px;
    padding: 3px 9px;
    border-radius: 20px;
    font-size: 10.5px;
    font-weight: 700;
    pointer-events: none;
    z-index: 9;
    backdrop-filter: blur(4px);
}
.home-showcase-badge.before-badge {
    left: 12px;
    background: rgba(15, 23, 42, 0.7);
    color: #ffffff;
}
.home-showcase-badge.after-badge {
    right: 12px;
    background: rgba(34, 197, 94, 0.9);
    color: #ffffff;
}
.home-showcase-range {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: ew-resize;
    z-index: 20;
    margin: 0;
    padding: 0;
}

/* Video Player Floating Overlay Controls */
.video-center-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: rgba(255, 92, 40, 0.9);
    color: #ffffff;
    border: 3px solid rgba(255, 255, 255, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    cursor: pointer;
    z-index: 10;
    transition: all 0.25s ease;
    backdrop-filter: blur(6px);
}
.video-center-play-btn:hover {
    transform: translate(-50%, -50%) scale(1.1);
    background: #ff5c28;
    border-color: #ffffff;
}
.video-center-play-btn.playing {
    opacity: 0;
    pointer-events: none;
}
#showcaseVideoStage:hover .video-center-play-btn.playing {
    opacity: 0.85;
    pointer-events: auto;
}
.video-floating-control-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(0deg, rgba(15, 23, 42, 0.9) 0%, transparent 100%);
    z-index: 10;
}