.bg-deep { background-color: #101010; }
.bg-card-dark { background-color: #2A2520; }
.bg-card-darker { background-color: #1A1714; }
.text-soft { color: #D6CEC0; }
.text-accent { color: #DBA179; }
.border-muted { border-color: #4A3E34; }
.hover\:text-accent:hover { color: #DBA179; }
.bg-accent { background-color: #DBA179; }
.bg-accent-hover:hover { background-color: #C58F66; }

.carousel-track {
    display: flex;
    transition: transform 0.5s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}

.carousel-slide {
    min-width: 100%;
    height: 480px;
    background-size: cover;
    background-position: center;
}

@media (max-width: 800px) {
    .carousel-slide {
        height: 320px;
    }
}

.carousel-btn {
    background: rgba(16, 16, 16, 0.85);
    backdrop-filter: blur(4px);
    border: 1px solid #DBA179;
    transition: all 0.2s;
}

.carousel-btn:hover {
    background: #DBA179;
    color: #101010;
}

.dot {
    width: 8px;
    height: 8px;
    background: rgba(214, 206, 192, 0.4);
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.2s;
}

.dot.active {
    width: 28px;
    background: #DBA179;
}

.faq-question {
    transition: background 0.2s;
}

.faq-item.collapsed .faq-answer {
    display: none;
}

.faq-item.collapsed .faq-icon {
    transform: rotate(180deg);
}

.pll-switcher-select {
    background-color: #1A1714;
    border: 1px solid #4A3E34;
    color: #D6CEC0;
    padding: 8px 32px 8px 16px;
    border-radius: 40px;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%23DBA179' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
    transition: all 0.2s;
}

.pll-switcher-select:hover {
    border-color: #DBA179;
    background-color: #2A2520;
}

.pll-switcher-select:focus {
    outline: none;
    border-color: #DBA179;
    box-shadow: 0 0 0 2px rgba(219, 161, 121, 0.3);
}

.pll-switcher-select option {
    background-color: #1A1714;
    color: #D6CEC0;
}

.gallery-item {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.gallery-item:hover {
    transform: translateY(-6px);
}

input, select, textarea {
    font-family: inherit;
}

input:focus, select:focus {
    outline: none;
    border-color: #DBA179;
    ring: 2px solid #DBA179;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

section {
    animation: fadeIn 0.6s ease-out;
}