/* ============================================================
   КНОПКА — суффикс knopka1
   Скос по диагонали: левый верх + правый низ
   ============================================================ */

.knopka1 {
    /* --- Настройки (можно менять) --- */
    --btn-green:      #00FF41;
    --btn-green-dark: #00AA2A;
    --btn-bg:         rgba(0, 255, 65, 0.06);
    --btn-bg-hover:   #00FF41;
    --btn-text:       #00FF41;
    --btn-text-hover: #000000;
    --btn-chamfer:    12px;   /* размер скоса */
    --btn-border-w:   2px;    /* толщина рамки */
    /* --- Геометрия --- */
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    /* Форма со скосом слева-сверху и справа-снизу */
    clip-path: polygon(
        var(--btn-chamfer) 0,
        100% 0,
        100% calc(100% - var(--btn-chamfer)),
        calc(100% - var(--btn-chamfer)) 100%,
        0 100%,
        0 var(--btn-chamfer)
    );

    /* --- Оформление --- */
    background: var(--btn-bg);
    border: none;
    color: var(--btn-text);
    font-size: 0.9rem;
    letter-spacing: 1.5px;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
    transition: background 0.25s ease, color 0.25s ease, transform 0.15s ease;

    /* --- Рамка через inset-тень по контуру --- */
    box-shadow:
        inset 0 0 0 var(--btn-border-w) var(--btn-green),
        0 0 12px rgba(0, 255, 65, 0.25);
}

/* --- Внутренний «теневой» слой, чтобы обводка идеально легла по скосу --- */
.knopka1::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: var(--btn-green);
    clip-path: polygon(
        var(--btn-chamfer) 0,
        100% 0,
        100% calc(100% - var(--btn-chamfer)),
        calc(100% - var(--btn-chamfer)) 100%,
        0 100%,
        0 var(--btn-chamfer)
    );
    /* Прозрачный центр — работает как «рамка» */
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    padding: var(--btn-border-w);
    transition: background 0.25s ease;
}

/* --- Hover --- */
.knopka1:hover {
    background: var(--btn-bg-hover);
    color: var(--btn-text-hover);
    box-shadow:
        inset 0 0 0 var(--btn-border-w) var(--btn-green),
        0 0 20px rgba(0, 255, 65, 0.75),
        0 0 40px rgba(0, 255, 65, 0.25);
    transform: translateY(-2px);
}

.knopka1:hover::before {
    background: var(--btn-green);
}

/* --- Активное нажатие --- */
.knopka1:active {
    transform: translateY(0);
}

/* --- Фокус для доступности --- */
.knopka1:focus-visible {
    outline: none;
    box-shadow:
        inset 0 0 0 var(--btn-border-w) var(--btn-green),
        0 0 0 2px rgba(0, 255, 65, 0.4),
        0 0 20px rgba(0, 255, 65, 0.55);
}

/* --- Адаптив --- */
@media (max-width: 480px) {
    .knopka1 {
        font-size: 0.8rem;
        letter-spacing: 1px;
        --btn-chamfer: 10px;
    }
}

/* --- Уважение к системным настройкам --- */
@media (prefers-reduced-motion: reduce) {
    .knopka1 { transition: none; }
    .knopka1:hover { transform: none; }
}

/* ============================================================
   RAMKA — суффикс ramka1
   Обводка по периметру + 2 ярких угла (диагональ)
   ============================================================ */

/* Контейнер */
.ramka1 {
    position: relative !important;
    background: transparent;
    border: 1px solid rgba(0, 255, 65, 0.35) !important;
    box-shadow: inset 0 0 18px rgba(0, 255, 65, 0.03);
    box-sizing: border-box;
    /* КРИТИЧНО: чтобы углы не обрезались родителем */
    overflow: visible !important;
}

.ramka1 *,
.ramka1 *::before,
.ramka1 *::after { box-sizing: border-box; }

/* Верхний левый угол */
.ramka1::before {
    content: '' !important;
    position: absolute !important;
    top: -2px !important;
    left: -2px !important;
    width: 16px !important;
    height: 16px !important;
    border-top: 2px solid #00FF41 !important;
    border-left: 2px solid #00FF41 !important;
    background: transparent !important;
    pointer-events: none !important;
    z-index: 999 !important;
    filter: drop-shadow(0 0 5px rgba(0, 255, 65, 0.7));
}

/* Нижний правый угол */
.ramka1::after {
    content: '' !important;
    position: absolute !important;
    bottom: -2px !important;
    right: -2px !important;
    width: 16px !important;
    height: 16px !important;
    border-bottom: 2px solid #00FF41 !important;
    border-right: 2px solid #00FF41 !important;
    background: transparent !important;
    pointer-events: none !important;
    z-index: 999 !important;
    filter: drop-shadow(0 0 5px rgba(0, 255, 65, 0.7));
}

/* Hover — свечение усиливается */
.ramka1:hover {
    border-color: #00FF41 !important;
    box-shadow:
        inset 0 0 20px rgba(0, 255, 65, 0.08),
        0 0 16px rgba(0, 255, 65, 0.25);
}

/* Адаптив */
@media (max-width: 480px) {
    .ramka1 { padding: 14px !important; }
    .ramka1::before,
    .ramka1::after { width: 12px !important; height: 12px !important; }
}


/* ============================================================
   ФОРМА ЗАЯВКИ — Sfera://Kod (адаптивная)
   ============================================================ */

.swd-order {
    --swd-green:  #00FF41;
    --swd-green2: #00AA2A;
    --swd-dim:    #00661A;
    --swd-cyan:   #00D9FF;
    --swd-alert:  #FF3333;
    --swd-card:   #050805;
    --swd-mono:   'Fira Code', 'Courier New', Courier, monospace;

    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    background: var(--swd-card);
    border: 2px solid var(--swd-green);
    box-shadow:
        0 0 10px rgba(0, 255, 65, 0.4),
        0 0 30px rgba(0, 255, 65, 0.15);
    font-family: var(--swd-mono);
    color: var(--swd-green);
    position: relative;
    overflow: hidden;
}

.swd-order *,
.swd-order *::before,
.swd-order *::after { box-sizing: border-box; }

.swd-order::before {
    content: '';
    position: absolute;
    top: 0; left: -40%;
    width: 40%; height: 1px;
    background: linear-gradient(90deg,
        transparent,
        rgba(0, 255, 65, 0.85),
        transparent);
    animation: swdOrderScan 5s linear infinite;
    pointer-events: none;
    z-index: 3;
}

@keyframes swdOrderScan {
    0%   { left: -40%; }
    100% { left: 100%; }
}

.swd-order__head {
    position: relative;
    padding: 16px 20px;
    background: #040d04;
    border-bottom: 1px solid rgba(0, 255, 65, 0.25);
    text-align: center;
}

.swd-order__lead {
    font-size: 0.75rem;
    color: var(--swd-cyan);
    letter-spacing: 0.5px;
    text-align: center;
}

.swd-order__title {
    margin: 4px 0 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--swd-green);
    letter-spacing: 0.3px;
    text-shadow: 0 0 10px rgba(0, 255, 65, 0.5);
    text-align: center;
}

.swd-order__body { padding: 22px; }

.swd-order__badge {
    padding: 8px 12px;
    margin-bottom: 18px;
    background: rgba(0, 255, 65, 0.05);
    border: 1px solid rgba(0, 255, 65, 0.3);
    color: var(--swd-green);
    font-size: 0.8rem;
    line-height: 1.4;
    letter-spacing: 0.3px;
}

.swd-hp {
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

.swd-form__field { margin-bottom: 16px; }

.swd-form__label {
    display: block;
    margin-bottom: 8px;
    color: var(--swd-cyan) !important;
    font-family: var(--swd-mono) !important;
    font-size: 0.82rem;
    letter-spacing: 0.3px;
    font-weight: 400;
}
.swd-form__req { color: var(--swd-alert); }

.swd-order .swd-form__input,
.swd-order .swd-form__textarea,
.swd-order input[type="text"],
.swd-order input[type="tel"],
.swd-order textarea {
    display: block !important;
    width: 100% !important;
    padding: 11px 14px !important;
    background: #020402 !important;
    background-color: #020402 !important;
    border: 1px solid rgba(0, 255, 65, 0.3) !important;
    border-radius: 0 !important;
    color: var(--swd-green) !important;
    font-family: var(--swd-mono) !important;
    font-size: 0.9rem !important;
    line-height: 1.4 !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.swd-order .swd-form__input:focus,
.swd-order .swd-form__textarea:focus,
.swd-order input:focus,
.swd-order textarea:focus {
    border-color: var(--swd-green) !important;
    background: #000 !important;
    background-color: #000 !important;
    box-shadow: 0 0 10px rgba(0, 255, 65, 0.4) !important;
}

.swd-order .swd-form__input::placeholder,
.swd-order .swd-form__textarea::placeholder,
.swd-order input::placeholder,
.swd-order textarea::placeholder {
    color: rgba(0, 170, 42, 0.5) !important;
    opacity: 1 !important;
}

.swd-order .swd-form__textarea,
.swd-order textarea {
    min-height: 100px !important;
    resize: vertical;
}

.swd-form__field--check { margin-bottom: 18px; }

.swd-form__check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.78rem;
    color: var(--swd-green2);
    line-height: 1.5;
    cursor: pointer;
}

.swd-order .swd-form__check input[type="checkbox"] {
    margin-top: 3px;
    accent-color: var(--swd-green);
    flex-shrink: 0;
    width: 14px !important;
    height: 14px !important;
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
    appearance: checkbox;
}

.swd-form__status {
    min-height: 1.2rem;
    margin-bottom: 12px;
    color: var(--swd-cyan);
    font-size: 0.82rem;
}
.swd-form__status.is-error   { color: var(--swd-alert); }
.swd-form__status.is-success { color: var(--swd-green); }

.swd-order .swd-form__submit {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    padding: 14px 24px !important;
    background: rgba(0, 255, 65, 0.12) !important;
    border: 1px solid var(--swd-green) !important;
    border-radius: 0 !important;
    color: var(--swd-green) !important;
    font-family: var(--swd-mono) !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
    box-shadow: 0 0 8px rgba(0, 255, 65, 0.35) !important;
    -webkit-appearance: none;
    appearance: none;
}

.swd-order .swd-form__submit:hover:not(:disabled) {
    background: var(--swd-green) !important;
    color: #000 !important;
    box-shadow:
        0 0 14px rgba(0, 255, 65, 0.7),
        0 0 28px rgba(0, 255, 65, 0.25) !important;
}

.swd-order .swd-form__submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* ---------- Адаптив ---------- */

@media (max-width: 768px) {
    .swd-order__head { padding: 14px 16px; }
    .swd-order__title { font-size: 1.1rem; }
    .swd-order__body { padding: 18px; }
    .swd-form__field { margin-bottom: 14px; }
    .swd-order .swd-form__input,
    .swd-order .swd-form__textarea {
        padding: 10px 12px !important;
        font-size: 0.88rem !important;
    }
}

@media (max-width: 480px) {
    .swd-order__head { padding: 12px 14px; }
    .swd-order__lead { font-size: 0.7rem; }
    .swd-order__title { font-size: 1rem; }
    .swd-order__body { padding: 14px; }
    .swd-order__badge { font-size: 0.74rem; padding: 6px 10px; }
    .swd-form__label { font-size: 0.76rem; }
    .swd-order .swd-form__input,
    .swd-order .swd-form__textarea {
        padding: 9px 12px !important;
        font-size: 0.85rem !important;
    }
    .swd-order .swd-form__submit {
        padding: 12px 16px !important;
        font-size: 0.78rem !important;
        letter-spacing: 0.5px !important;
    }
}