/* simpletekrc — stili front allineati al linguaggio grafico del sito
   (stessa palette dei moduli simpletekddp/simpletekvies: card scure #1e293b,
   bordo #334155, testo bianco, accento #338cc6, muted #9fb3d1, warning
   #ffd27a, radius 10px; font ereditato dal tema). */

/* ==================== box toggle (pagina prodotto + carrello) ==================== */

.stkrc-box {
    border: 1px solid #334155;
    border-radius: 10px;
    padding: 14px 16px;
    margin: 14px 0;
    background: #1e293b;
    color: #fff;
}
.stkrc-box a {
    color: #6db3e8;
    text-decoration: underline;
}
.stkrc-box a:hover {
    color: #9fcdf0;
}
.stkrc-title {
    font-weight: 600;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
}
.stkrc-info {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #338cc6;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    cursor: help;
    flex: 0 0 18px;
    line-height: 1;
}
.stkrc-tip {
    display: none;
    position: absolute;
    bottom: 140%;
    left: 50%;
    transform: translateX(-50%);
    width: 420px;
    max-width: 80vw;
    background: #338cc6;
    color: #fff;
    font-weight: 400;
    font-size: 1em;
    line-height: 1.45;
    padding: 14px 16px;
    border-radius: 8px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
    z-index: 1000;
}
.stkrc-info:hover .stkrc-tip,
.stkrc-info:focus .stkrc-tip {
    display: block;
}
.stkrc-opt {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin-bottom: 8px;
    cursor: pointer;
    line-height: 1.35;
    color: #fff;
}
.stkrc-opt input {
    margin-top: 3px;
    accent-color: #338cc6;
}
.stkrc-price {
    font-weight: 700;
    white-space: nowrap;
}
.stkrc-muted {
    color: #9fb3d1;
    font-size: 0.85em;
}
.stkrc-warning {
    margin-top: 8px;
    font-size: 0.85em;
    color: #ffd27a;
    background: rgba(255, 193, 7, 0.12);
    border-radius: 6px;
    padding: 8px 10px;
}
.stkrc-success {
    margin-top: 8px;
    font-size: 0.85em;
    color: #b7f0c6;
    background: rgba(40, 167, 69, 0.14);
    border-radius: 6px;
    padding: 8px 10px;
}
.stkrc-loading {
    margin-top: 8px;
    font-size: 0.85em;
    color: #9fb3d1;
}

/* righe-toggle nel box del carrello */
.stkrc-line {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid #2c3a52;
    border-radius: 8px;
    background: #172032;
    margin-bottom: 8px;
    flex-wrap: wrap;
}
.stkrc-line-name {
    flex: 1 1 240px;
    color: #fff;
    line-height: 1.3;
}
.stkrc-line-name small {
    color: #9fb3d1;
    display: block;
}
.stkrc-line-prices {
    text-align: right;
    flex: 0 0 auto;
}
.stkrc-line-prices .on {
    color: #b7f0c6;
    font-weight: 700;
}
.stkrc-line-prices .off {
    color: #fff;
    font-weight: 700;
}
.stkrc-line-prices small {
    color: #9fb3d1;
    display: block;
}
.stkrc-switch {
    display: flex;
    gap: 8px;
    align-items: center;
    cursor: pointer;
    color: #fff;
    flex: 0 0 auto;
}
.stkrc-switch input {
    accent-color: #338cc6;
    width: 18px;
    height: 18px;
}

/* ==================== banner invito ==================== */

.stkrc-banner {
    background: #1e293b;
    border-bottom: 1px solid #334155;
    color: #fff;
    font-size: 14px;
}
.stkrc-banner-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 9px 12px;
    flex-wrap: wrap;
}
.stkrc-banner a.stkrc-banner-link {
    color: #fff;
    background: #338cc6;
    border-radius: 6px;
    padding: 5px 14px;
    text-decoration: none;
    font-weight: 600;
    white-space: nowrap;
}
.stkrc-banner a.stkrc-banner-link:hover {
    background: #2e7db1;
    color: #fff;
}
.stkrc-banner-close {
    background: none;
    border: none;
    color: #9fb3d1;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    padding: 0 6px;
}
.stkrc-banner-close:hover {
    color: #fff;
}

/* ==================== pagina richiesta (form + stato) ==================== */

.stkrc-front {
    color: #fff;
}
.stkrc-front h2,
.stkrc-front h3 {
    color: #fff;
}
.stkrc-front p,
.stkrc-front label,
.stkrc-front li {
    color: #fff;
}
.stkrc-front a {
    color: #6db3e8;
    text-decoration: underline;
}
.stkrc-front a:hover {
    color: #9fcdf0;
}
.stkrc-front .stkrc-hint,
.stkrc-front small,
.stkrc-front .text-muted {
    color: #9fb3d1 !important;
}
.stkrc-front table.table {
    background: #1e293b;
    border: 1px solid #334155;
    border-radius: 10px;
    color: #fff;
}
.stkrc-front table.table th,
.stkrc-front table.table td {
    color: #fff;
    border-color: #334155 !important;
    background: transparent;
    padding: 10px 14px;
}
.stkrc-front table.table th {
    background: #172032;
    white-space: nowrap;
}
.stkrc-front .stkrc-form {
    max-width: 700px;
    background: #1e293b;
    border: 1px solid #334155;
    border-radius: 10px;
    padding: 18px 20px;
}
.stkrc-front .form-group {
    margin-bottom: 16px;
}
.stkrc-front .form-control {
    background: #fff;
    color: #1e293b;
    border: 1px solid #334155;
}
.stkrc-front input[type="checkbox"],
.stkrc-front input[type="radio"] {
    accent-color: #338cc6;
}
.stkrc-front .form-check label {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    line-height: 1.35;
    cursor: pointer;
}
.stkrc-front .form-check input {
    margin-top: 3px;
}
.stkrc-front .stkrc-legal {
    background: #172032;
    border: 1px solid #2c3a52;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 16px;
    max-height: 260px;
    overflow-y: auto;
}
.stkrc-front .stkrc-legal h4 {
    color: #fff;
    margin: 0 0 10px;
    font-size: 1em;
    font-weight: 700;
}
.stkrc-front .stkrc-legal p,
.stkrc-front .stkrc-legal li {
    color: #c9d6e8;
    font-size: 0.88em;
    line-height: 1.5;
    margin-bottom: 10px;
}
.stkrc-front .btn-primary {
    background: #338cc6;
    border-color: #338cc6;
    color: #fff;
    border-radius: 6px;
    font-weight: 600;
}
.stkrc-front .btn-primary:hover,
.stkrc-front .btn-primary:focus {
    background: #2e7db1;
    border-color: #2e7db1;
    color: #fff;
}
.stkrc-front .badge,
.stkrc-front .label {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 6px;
    font-weight: 600;
    color: #fff;
    background: #334155;
}
.stkrc-front .badge-success,
.stkrc-front .label-success {
    background: #1e8449;
}
.stkrc-front .badge-info,
.stkrc-front .label-info {
    background: #338cc6;
}

/* avvisi generici */
.stkrc-front .alert,
.stkrc-alert {
    border: 1px solid #334155;
    border-radius: 10px;
    padding: 12px 16px;
    margin-bottom: 14px;
    background: #1e293b;
    color: #fff;
}
.stkrc-front .alert a,
.stkrc-alert a {
    color: #6db3e8;
}
.stkrc-front .alert-success,
.stkrc-alert-success {
    color: #b7f0c6;
    background: rgba(40, 167, 69, 0.14);
    border-color: rgba(40, 167, 69, 0.45);
}
.stkrc-front .alert-warning,
.stkrc-alert-warning {
    color: #ffd27a;
    background: rgba(255, 193, 7, 0.12);
    border-color: rgba(255, 193, 7, 0.4);
}
.stkrc-front .alert-danger,
.stkrc-alert-danger {
    color: #ffb3ab;
    background: rgba(220, 53, 69, 0.14);
    border-color: rgba(220, 53, 69, 0.45);
}
.stkrc-front .alert-info,
.stkrc-alert-info {
    color: #cfe8fb;
    background: rgba(51, 140, 198, 0.16);
    border-color: rgba(51, 140, 198, 0.5);
}
