/* =========================================================
   STUDARIA — FLASHCARDS DECK BUILDER
   Clean • Editorial • Quiet Luxury
   ========================================================= */

/* ------------------------------
   SECTION: Builder Header
------------------------------ */

.builder-header {
    text-align: center;
    margin-bottom: var(--space-xl);
}

.builder-header h2 {
    font-family: var(--serif);
    font-size: 2rem;
    color: var(--espresso);
    margin-bottom: var(--space-sm);
}

.builder-header p {
    font-family: var(--sans);
    color: var(--text-soft);
    font-size: 1rem;
}


/* ------------------------------
   SECTION: Card List
------------------------------ */

.builder-card-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    margin-bottom: var(--space-xl);
    max-width: 700px;
    margin: 0 auto var(--space-xl);
}


/* ------------------------------
   SECTION: Individual Builder Card
------------------------------ */

.builder-card {
    background: var(--bg-soft);
    border: 1px solid var(--sand);
    border-radius: 14px;
    padding: var(--space-lg);

    display: flex;
    flex-direction: column;
    gap: var(--space-md);

    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.builder-card:hover {
    border-color: var(--gold);
    box-shadow: 0 8px 20px rgba(0,0,0,0.06);
    transform: translateY(-2px);
}


/* ------------------------------
   SECTION: Input Row
------------------------------ */

.builder-row {
    display: flex;
    gap: var(--space-md);
    align-items: center;
}

/* Word input */
.builder-input {
    flex: 1;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--sand);
    border-radius: 8px;

    font-family: var(--sans);
    font-size: 1rem;
    color: var(--espresso);

    background: var(--bg-soft);
    transition: border-color 0.25s ease;
}

.builder-input:focus {
    border-color: var(--gold);
    outline: none;
}

/* Language dropdown */
.builder-lang {
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--sand);
    border-radius: 8px;

    font-family: var(--sans);
    font-size: 0.95rem;
    color: var(--espresso);

    background: var(--bg-soft);
    cursor: pointer;
    transition: border-color 0.25s ease;
}

.builder-lang:focus {
    border-color: var(--gold);
    outline: none;
}


/* ------------------------------
   SECTION: Action Buttons
------------------------------ */

.builder-actions {
    display: flex;
    gap: var(--space-md);
}

/* Speak preview */
.builder-speak {
    padding: var(--space-sm) var(--space-md);
    border-radius: 8px;
    border: 1px solid var(--sand);

    background: var(--bg-soft);
    color: var(--espresso);
    font-family: var(--sans);
    cursor: pointer;

    transition: border-color 0.25s ease, background 0.25s ease;
}

.builder-speak:hover {
    border-color: var(--gold);
    background: var(--gold-soft);
}

/* Delete card */
.builder-delete {
    padding: var(--space-sm) var(--space-md);
    border-radius: 8px;
    border: 1px solid #c8a8a8;

    background: #f7eaea;
    color: #7a4a4a;
    font-family: var(--sans);
    cursor: pointer;

    transition: background 0.25s ease, border-color 0.25s ease;
}

.builder-delete:hover {
    background: #f2dcdc;
    border-color: #b86b6b;
}


/* ------------------------------
   SECTION: Add Card + Generate
------------------------------ */

#add-card {
    margin: 0 auto var(--space-xl);
    display: block;
    font-size: 1rem;
    padding: 10px 20px;
}

.builder-controls {
    margin-top: var(--space-lg);
}

.builder-controls .cta-button {
    font-size: 1.1rem;
    padding: 12px 28px;
}

/* ------------------------------
   SECTION: Builder Container
------------------------------ */

#builder-view {
    background: none;
    box-shadow: none;
    padding: var(--space-xl) 0;
}

.builder-phonetic {
    flex: 1;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--sand);
    border-radius: 8px;
    background: var(--bg-soft);
    font-family: var(--sans);
    font-size: 0.95rem;
    color: var(--espresso);
}

