/* ===========================================
   Modern Effects — Glassmorphism + Neomorphism
   Добавляется additively (cascade last), не ломает палитру.
   Тренды: тонкие внутренние тени (neomorphism),
   полупрозрачные панели с blur (glassmorphism),
   микровзаимодействия.
   =========================================== */

:root {
    /* Neomorphism shadows (light-on-light / dark-on-dark) */
    --neo-shadow-outset: 8px 8px 16px rgba(0, 0, 0, 0.08), -4px -4px 12px rgba(255, 255, 255, 0.55);
    --neo-shadow-inset: inset 3px 3px 6px rgba(0, 0, 0, 0.06), inset -2px -2px 5px rgba(255, 255, 255, 0.7);
    --neo-radius: 14px;
    /* Cream-tinted glass (читающийся поверх тёмного hero) */
    --glass-hero: rgba(248, 246, 240, 0.22);
    --glass-panel: rgba(255, 255, 255, 0.18);
}

/* ---------- HERO panel ---------- */
.hero .hero-content {
    background: linear-gradient(165deg, var(--glass-hero) 0%, rgba(255, 255, 255, 0.06) 100%);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid var(--glass-border);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.14), var(--neo-shadow-inset);
    border-radius: var(--neo-radius);
}

/* ---------- Glass panels / cards ---------- */
.glass-panel,
.modern-glass {
    background: var(--glass-panel);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
    border-radius: var(--neo-radius);
}

/* Calculator form — glass card */
.calc-form {
    padding: 5px 25px;
    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid var(--glass-border);
    box-shadow: 0 10px 36px rgba(0, 0, 0, 0.1), var(--neo-shadow-inset);
    border-radius: calc(var(--neo-radius) + 2px);
}
.calc-form-header {
    margin-top: 15px;
    background: rgba(0, 0, 0, 0.06);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--glass-border);
    border-radius: 8px;
}

/* Type cards — neomorphism base + glass hover */
.calc-type-card {
    background: rgba(13, 51, 33, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--glass-border);
    box-shadow: var(--neo-shadow-outset);
    border-radius: var(--neo-radius);
    transition: var(--transition-fast);
}
.calc-type-card:hover,
.calc-type-card.active {
    background: #0a2619;
    box-shadow: 0 6px 22px rgba(41, 153, 97, 0.22), var(--neo-shadow-inset);
    transform: translateY(-2px);
}

/* Service / banner cards — soft rise */
.service-card,
.banner-card,
.room-card,
.accommodation-card {
    box-shadow: var(--neo-shadow-outset);
    border-radius: var(--neo-radius);
    transition: var(--transition);
}
.service-card:hover,
.banner-card:hover,
.room-card:hover,
.accommodation-card:hover {
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.16), var(--neo-shadow-inset);
    transform: translateY(-3px);
}

/* ---------- Hero badge — glass pill ---------- */
.hero-badge,
.hero .floating-badge {
    background: rgba(201, 162, 39, 0.18);
    border: 1px solid rgba(201, 162, 39, 0.34);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12), var(--neo-shadow-inset);
    border-radius: 999px;
    letter-spacing: 0.04em;
}
.hero-badge:hover { box-shadow: 0 6px 18px rgba(201, 162, 39, 0.32), var(--neo-shadow-inset); transform: translateY(-1px); }

.btn,
.calc-type-card,
.service-card {
    transition: var(--transition-fast);
}
/* Accent focus ring — modern outline */
.btn:focus-visible,
.calc-type-card:focus-within {
    outline: none;
    box-shadow: 0 0 0 3px var(--accent-glow), 0 6px 20px rgba(0, 0, 0, 0.12);
}

