/* Front-end styles for DrDisk Buttons Pro */

.drdisk-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0.5em 1.4em;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 600;
    line-height: 1.2;
    border: none;
    cursor: pointer;
    transition: transform 0.12s ease-out, box-shadow 0.12s ease-out, background 0.12s ease-out, color 0.12s ease-out;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    margin: 0.25em 0;
}

.drdisk-btn .drdisk-btn-icon {
    font-size: 1.1em;
}

.drdisk-btn .drdisk-btn-text {
    display: inline-block;
}

/* Sizes */
.drdisk-btn-size-xs {
    font-size: 11px;
    padding: 0.25em 0.8em;
}

.drdisk-btn-size-sm {
    font-size: 13px;
    padding: 0.35em 1em;
}

.drdisk-btn-size-md {
    font-size: 14px;
    padding: 0.5em 1.4em;
}

.drdisk-btn-size-lg {
    font-size: 16px;
    padding: 0.7em 1.8em;
}

.drdisk-btn-size-xl {
    font-size: 18px;
    padding: 0.9em 2.2em;
}

/* Shapes */
.drdisk-btn-shape-rounded {
    border-radius: 0.7em;
}

.drdisk-btn-shape-square {
    border-radius: 0.25em;
}

.drdisk-btn-shape-pill {
    border-radius: 999px;
}

/* Base style fallback */
.drdisk-btn-style-minimal {
    background: #2271b1;
    color: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}

.drdisk-btn-style-minimal:hover,
.drdisk-btn-style-minimal:focus {
    background: #135e96;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

/* Neon */
.drdisk-btn-style-neon {
    background: #0ff;
    color: #001018;
    box-shadow: 0 0 10px rgba(0,255,255,0.7), 0 0 20px rgba(0,255,255,0.6);
}

.drdisk-btn-style-neon:hover,
.drdisk-btn-style-neon:focus {
    box-shadow: 0 0 16px rgba(0,255,255,0.9), 0 0 26px rgba(0,255,255,0.8);
    transform: translateY(-1px);
}

/* Gold Foil */
.drdisk-btn-style-gold {
    background: linear-gradient(135deg, #f9e29c, #f1c15d, #fbe7ac);
    color: #4b320a;
    box-shadow: 0 2px 6px rgba(0,0,0,0.25);
}

.drdisk-btn-style-gold:hover,
.drdisk-btn-style-gold:focus {
    background: linear-gradient(135deg, #ffe9a3, #f7c96a, #fff1c3);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

/* 7-Segment Digital */
.drdisk-btn-style-digital {
    background: #000000;
    color: #11ff4c;
    font-family: "Courier New", Courier, monospace;
    letter-spacing: 0.05em;
    box-shadow: 0 0 10px rgba(17,255,76,0.6);
}

.drdisk-btn-style-digital:hover,
.drdisk-btn-style-digital:focus {
    box-shadow: 0 0 14px rgba(17,255,76,0.9);
}

/* Sci-Fi Hologram */
.drdisk-btn-style-hologram {
    background: radial-gradient(circle at 0% 0%, #5ef0ff, #3b82f6 40%, #a855f7 80%);
    color: #e5f2ff;
    box-shadow: 0 0 14px rgba(59,130,246,0.8);
}

.drdisk-btn-style-hologram:hover,
.drdisk-btn-style-hologram:focus {
    transform: translateY(-1px);
    box-shadow: 0 0 20px rgba(59,130,246,0.9);
}

/* Arcade Pixel */
.drdisk-btn-style-pixel {
    background: #111827;
    color: #fbbf24;
    border-radius: 0;
    box-shadow: 0 0 0 2px #fbbf24, 4px 4px 0 #000;
    text-transform: uppercase;
    font-family: "Press Start 2P", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 10px;
    padding: 0.8em 1.4em;
}

.drdisk-btn-style-pixel:hover,
.drdisk-btn-style-pixel:focus {
    transform: translate(-2px, -2px);
    box-shadow: 0 0 0 2px #fbbf24, 6px 6px 0 #000;
}

/* Bubble Cartoon */
.drdisk-btn-style-bubble {
    background: #fb7185;
    color: #fff7f9;
    border-radius: 999px;
    box-shadow: 0 8px 0 #e11d48;
}

.drdisk-btn-style-bubble:hover,
.drdisk-btn-style-bubble:focus {
    transform: translateY(-2px);
    box-shadow: 0 10px 0 #e11d48;
}

/* Glassmorphism */
.drdisk-btn-style-glass {
    background: rgba(255,255,255,0.18);
    color: #0f172a;
    border: 1px solid rgba(255,255,255,0.6);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 8px 24px rgba(15,23,42,0.18);
}

.drdisk-btn-style-glass:hover,
.drdisk-btn-style-glass:focus {
    background: rgba(255,255,255,0.3);
    transform: translateY(-1px);
    box-shadow: 0 12px 32px rgba(15,23,42,0.24);
}

/* Accessibility focus */
.drdisk-btn:focus-visible {
    outline: 2px solid #111827;
    outline-offset: 2px;
}
