/* ====================================================================== */
/* Front-end modals                                                       */
/* ====================================================================== */
.wc-sgt-backdrop {
    position: fixed;
    z-index: 99998;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba( 0, 0, 0, 0.5 );
}
.wc-sgt-modal {
    position: fixed;
    z-index: 99999;
    top: 50%; left: 50%;
    transform: translate( -50%, -50% );
    background: #fff;
    width: 95%;
    max-width: 440px;
    padding: 28px 24px;
    border-radius: 14px;
    box-shadow: 0 20px 45px rgba( 0, 0, 0, 0.25 );
    text-align: center;
}
.wc-sgt-modal-wide {
    max-width: 640px;
    text-align: left;
}
.wc-sgt-close {
    position: absolute;
    top: 10px; right: 14px;
    border: 0;
    background: transparent;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    color: #888;
}
.wc-sgt-close:hover { color: #333; }
.wc-sgt-gift-icon { font-size: 40px; margin-bottom: 10px; }
.wc-sgt-message { font-size: 15px; line-height: 1.5; color: #333; margin-bottom: 18px; }
.wc-sgt-title { margin: 0 0 16px; font-size: 20px; }

.wc-sgt-btn,
.wc-sgt-btn-secondary {
    display: inline-block;
    border: 0;
    border-radius: 8px;
    padding: 11px 22px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}
.wc-sgt-btn { background: #1a1a1a; color: #fff; }
.wc-sgt-btn:hover { background: #000; }
.wc-sgt-btn-secondary { background: #ececec; color: #333; }
.wc-sgt-btn-secondary:hover { background: #ddd; }

.wc-sgt-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 18px;
}
.wc-sgt-form-msg { margin-top: 10px; font-size: 13px; min-height: 18px; }

/* Checkout modal blocks */
.wc-sgt-fixed,
.wc-sgt-choice {
    background: #f7f8fa;
    border: 1px solid #e3e7ec;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 14px;
}
.wc-sgt-fixed h3,
.wc-sgt-choice h3 { margin: 0 0 10px; font-size: 15px; }
.wc-sgt-fixed ul { list-style: none; margin: 0; padding: 0; }
.wc-sgt-fixed li { margin: 4px 0; }
.wc-sgt-check {
    display: inline-flex;
    align-items: center; justify-content: center;
    width: 20px; height: 20px;
    border-radius: 50%;
    background: #0c7c59; color: #fff;
    font-size: 11px;
}
.wc-sgt-fixed-item { margin: 6px 0; }
.wc-sgt-variation { margin: 6px 0 2px 30px; }
.wc-sgt-variation-wrap { margin: 8px 0 2px 30px; }
.wc-sgt-var-select { max-width: 320px; width: 100%; }
.wc-sgt-attr-row { margin: 6px 0; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.wc-sgt-attr-row label { font-size:13px; color:#555; min-width:60px; }
.wc-sgt-attr-select { min-width:180px; }
.wc-sgt-options { display: flex; flex-direction: column; gap: 8px; }
.wc-sgt-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid #e1e4ea;
    border-radius: 8px;
    cursor: pointer;
    background: #fff;
}
.wc-sgt-option:hover { border-color: #bbb; }

/* Checkout summary line */
.wc-sgt-summary {
    margin-top: 14px;
    padding: 12px 14px;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    font-size: 14px;
}
.wc-sgt-link {
    border: 0;
    background: transparent;
    color: #1a6dcc;
    cursor: pointer;
    text-decoration: underline;
    padding: 0;
    margin-left: 8px;
}

/* ====================================================================== */
/* Admin repeater                                                         */
/* ====================================================================== */
.wc-sgt-threshold {
    border: 1px solid #ccd0d4;
    border-radius: 8px;
    padding: 14px 16px;
    margin: 0 0 16px;
    background: #fff;
    max-width: 820px;
}
.wc-sgt-threshold-head {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
    margin-bottom: 12px;
}
.wc-sgt-inline { display: inline-flex; align-items: center; gap: 6px; }
.wc-sgt-gift {
    border: 1px dashed #d0d4d8;
    border-radius: 6px;
    padding: 12px 14px;
    margin-bottom: 10px;
    background: #fafbfc;
}
.wc-sgt-gift-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}
.wc-sgt-remove-threshold,
.wc-sgt-remove-gift,
.wc-sgt-remove-option { color: #b32d2e; }
.wc-sgt-min { width: 110px; }
.wc-sgt-empty { padding: 8px 0; }

.wc-sgt-option-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}
.wc-sgt-option-row .wc-sgt-opt-label { flex: 0 0 220px; }
.wc-sgt-option-row .wc-sgt-opt-product { flex: 1 1 auto; min-width: 240px; }
.wc-sgt-fix-product { max-width: 460px; margin-top: 4px; }
.wc-sgt-fix-product .select2-container,
.wc-sgt-opt-product .select2-container { min-width: 240px; }
