/* ==== Пример подключения локальных веб-шрифтов ====
   Положи файлы в assets/fonts/ и пропиши @font-face ниже.
   (woff2 предпочтителен) */

@font-face {
    font-family: "Ganache";
    src: url("../fonts/Ganache.woff2") format("woff2");
    font-display: swap;
}
@font-face {
    font-family: "Balmoral";
    src: url("../fonts/balmoral.woff2") format("woff2");
    font-display: swap;
}
@font-face {
    font-family: "MV Boli";
    src: url("../fonts/mvboli.woff2") format("woff2");
    font-display: swap;
}

/* Контейнер попапа */
.gip-modal {
    max-width: 640px;
    margin: 35px auto;
    background: #fff;
    border-radius: 0;
    padding: 24px;
    position: relative;
    box-shadow: 0 20px 60px rgba(0,0,0,.2);
    font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* Заголовок */
.gip-title {
    margin: 0 0 12px 0;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: .02em;
}

/* Поля */
.gip-field { margin-bottom: 14px; }
.gip-field label {
    display: block;
    font-size: 13px;
    color: #6b6b6b;
    margin-bottom: 6px;
}
.gip-field input,
.gip-field textarea {
    width: 100%;
    background: #f6f6f6;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 14px 16px;
    font-size: 16px;
    outline: none;
}
.gip-field input:focus,
.gip-field textarea:focus {
    border-color: #c8e6c9;
    box-shadow: 0 0 0 3px rgba(76,175,80,.15);
}

/* Блок со шрифтами */
.gip-fonts {
    margin-top: 16px;
    background: #fafafa;
    border-radius: 14px;
    padding: 14px;
    border: 1px solid #eee;
}
.gip-fonts-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 700;
    margin-bottom: 10px;
}
.gip-collapse {
    border: none;
    background: transparent;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}
.gip-font-list {
    display: grid;
    gap: 10px;
}

/* Элемент шрифта (label) */
.gip-font-item {
    position: relative;
    display: block;
    padding: 14px 46px 14px 16px; /* место справа под чек */
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.gip-font-item:hover { border-color: #dfe8da; }
.gip-font-item:focus-within {
    border-color: #a5c592;
    box-shadow: 0 0 0 3px rgba(165,197,146,.25);
}

/* Прячем настоящее радио */
.gip-font-item input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.gip-font-face { font-size: 18px; }

/* НОВЫЙ ВИД “ЧЕКБОКСА” СПРАВА */
.gip-check{
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border-radius: 6px;
    background: #e9f3e7;         /* светло-зелёный фон в неактивном состоянии */
    border: 1px solid #cfe1cb;   /* мягкая рамка */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

/* Белая галочка — псевдоэлемент, появляется только когда выбран */
.gip-check:after{
    content: "";
    width: 9px;
    height: 5px;
    border: 3px solid #fff;
    border-top: 0;
    border-right: 0;
    transform: rotate(-45deg) scale(.6);
    opacity: 0;
    transition: opacity .12s ease, transform .12s ease;
}

/* Состояния при выборе */
.gip-font-item input:checked + .gip-font-face + .gip-check{
    background: #A5C592;     /* основной зелёный */
    border-color: #A5C592;
    box-shadow: 0 6px 16px rgba(165,197,146,.25);
}
.gip-font-item input:checked + .gip-font-face + .gip-check:after{
    opacity: 1;
    transform: rotate(-45deg) scale(1);
}

/* Кнопки */
.gip-actions { margin-top: 18px; }
.gip-submit {
    width: 100%;
    display: inline-block;
    border: none;
    border-radius: 12px;
    padding: 14px 18px;
    font-size: 18px;
    background: #A5C592; /* как просили */
    color: #fff;
    cursor: pointer;
    transition: transform .04s ease, filter .2s;
}
.gip-submit:hover { filter: brightness(0.96); }
.gip-submit:active { transform: translateY(1px); }

/* Кнопка-триггер в каталоге */
.product_slider_1__item .gip-open {
    border-radius: 0 !important;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.product_slider_1__item .gip-go-product {
    border-radius: 0 !important;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
/* Состояние загрузки формы */
.gip-form.is-loading { opacity: .6; pointer-events: none; }

.gip-order-form .button {
    margin: 0;
    max-width: 320px;
    -webkit-appearance: button;
    cursor: pointer;
    text-align: center;
    color: #fff;
    font-weight: bold;
    background: #A5C592;
    border-radius: 5px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 12px 0;
    width: 100%;
    -webkit-box-shadow: none;
    box-shadow: none;
    font-size: 14px;
    border: 0px solid currentColor;
    height: 46px;
    font-family: Futura PT;
}
@media (max-width: 575.98px) {
    .add_to_cart_button, .btn-action {
        order: 5;
    }
    .gip-title {
        font-size: 18px;
    }
}