@charset "UTF-8";

/* ==========================================================================
   AnJeBell Lab - Base Styles & Utilities
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Global Variables (Cross-project)
   -------------------------------------------------------------------------- */
:root {
    --radius-max: 9999px;
}

/* --------------------------------------------------------------------------
   2. Reset & Global HTML Settings
   -------------------------------------------------------------------------- */
html {
    scroll-behavior: smooth;
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    -webkit-tap-highlight-color: transparent;
}

/* --------------------------------------------------------------------------
   3. Control Elements Reset (button, input, etc.)
   -------------------------------------------------------------------------- */
button,
input,
select,
textarea {
    padding: 0;
    margin: 0;
    font-family: inherit;
    font-size: 100%;
    line-height: inherit;
    color: inherit;
    background-color: transparent;
    border: none;
}

/* --------------------------------------------------------------------------
   4. Base Body Defaults
   -------------------------------------------------------------------------- */
body {
    overflow-x: hidden;
    font-family: var(--font-main, sans-serif);
    font-size: 1.6rem;
    line-height: 1.6;
    color: var(--text-main, var(--color-text, #333));
    background-color: var(--bg-color, var(--color-bg, #fff));
}

/* --------------------------------------------------------------------------
   5. Global Utilities
   -------------------------------------------------------------------------- */
.hidden {
    display: none !important;
}

.flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

.text-center {
    text-align: center !important;
}

/* --------------------------------------------------------------------------
   6. OOCSS Base Buttons & Skeletal Structures
   -------------------------------------------------------------------------- */
/* 0. Button Base Skeleton */
.btn-base {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    user-select: none;
    transition: color 0.3s ease,
        background-color 0.3s ease,
        border-color 0.3s ease,
        opacity 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 1. Capsule Shape Modifier */
.btn-capsule-base {
    border-radius: var(--radius-max);
}

/* 2. Circle Shape Modifier */
.btn-circle-base {
    aspect-ratio: 1 / 1;
    border-radius: 50%;
}

/* 3. Rounded Square Shape Modifier */
.btn-square-base {
    aspect-ratio: 1 / 1;
}

/* 4. Close Button Modifier */
.btn-close-base {
    padding: 0;
    border-radius: 50%;
}

/* 5. Close Icon Structure */
.btn-close-icon {
    position: relative;
    width: 14px;
    height: 14px;
    transform: rotate(45deg);
}

.btn-close-icon::before,
.btn-close-icon::after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: '';
    background-color: currentColor;
    transform: translate(-50%, -50%);
    transition: background-color 0.3s ease;
}

.btn-close-icon::before {
    width: 100%;
    height: 3px;
}

.btn-close-icon::after {
    width: 3px;
    height: 100%;
}

/* --------------------------------------------------------------------------
   7. Button Hover Effects
   -------------------------------------------------------------------------- */
@media (hover: hover) and (pointer: fine) {
    .fx-hover-scale:hover {
        transform: scale(1.03) !important;
    }
}

/* --------------------------------------------------------------------------
   8. Button Active Effects
   -------------------------------------------------------------------------- */
.fx-press-capsule:active {
    transform: scale(0.98) !important;
}

.fx-press-circle:active {
    transform: scale(0.95) !important;
}

.fx-press-close:active {
    transform: scale(0.92) !important;
}