/* simpletekrc2 — 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) ==================== */

.stkrc2-box {
    border: 1px solid #334155;
    border-radius: 10px;
    padding: 14px 16px;
    margin: 14px 0;
    background: #1e293b;
    color: #fff;
}
.stkrc2-box a {
    color: #6db3e8;
    text-decoration: underline;
}
.stkrc2-box a:hover {
    color: #9fcdf0;
}
.stkrc2-title {
    font-weight: 700;
    font-size: 1.2em;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
}
.stkrc2-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;
}
.stkrc2-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;
}
.stkrc2-info:hover .stkrc2-tip,
.stkrc2-info:focus .stkrc2-tip {
    display: block;
}
.stkrc2-opt {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin-bottom: 10px;
    cursor: pointer;
    line-height: 1.4;
    font-size: 1.08em;
    color: #fff;
}
.stkrc2-opt input {
    margin-top: 4px;
    accent-color: #338cc6;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}
/* scelte come PULSANTI (non radio di form: eviterebbero il refresh del tema) */
.stkrc2-optbtn {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    width: 100%;
    text-align: left;
    margin-bottom: 10px;
    padding: 10px 12px;
    cursor: pointer;
    line-height: 1.4;
    font-size: 1.08em;
    color: #fff;
    background: transparent;
    border: 1px solid #2c3a52;
    border-radius: 8px;
    transition: border-color .15s, background .15s;
}
.stkrc2-optbtn:hover {
    border-color: #338cc6;
}
.stkrc2-optbtn.stkrc2-selected {
    border-color: #338cc6;
    background: rgba(51, 140, 198, 0.14);
}
.stkrc2-radio {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin-top: 2px;
    border-radius: 50%;
    border: 2px solid #6b7a95;
    position: relative;
}
.stkrc2-optbtn.stkrc2-selected .stkrc2-radio {
    border-color: #338cc6;
}
.stkrc2-optbtn.stkrc2-selected .stkrc2-radio::after {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: #338cc6;
}
.stkrc2-price {
    font-weight: 700;
    font-size: 1.12em;
    white-space: nowrap;
}
.stkrc2-muted {
    color: #9fb3d1;
    font-size: 0.95em;
}
.stkrc2-warning {
    margin-top: 8px;
    font-size: 0.95em;
    color: #ffd27a;
    background: rgba(255, 193, 7, 0.12);
    border-radius: 6px;
    padding: 8px 10px;
}
.stkrc2-success {
    margin-top: 8px;
    font-size: 0.85em;
    color: #b7f0c6;
    background: rgba(40, 167, 69, 0.14);
    border-radius: 6px;
    padding: 8px 10px;
}
.stkrc2-loading {
    margin-top: 8px;
    font-size: 0.85em;
    color: #9fb3d1;
}

/* righe-toggle nel box del carrello */
.stkrc2-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;
}
.stkrc2-line-name {
    flex: 1 1 240px;
    color: #fff;
    line-height: 1.3;
}
.stkrc2-line-name small {
    color: #9fb3d1;
    display: block;
}
.stkrc2-line-prices {
    text-align: right;
    flex: 0 0 auto;
}
.stkrc2-line-prices .on {
    color: #b7f0c6;
    font-weight: 700;
}
.stkrc2-line-prices .off {
    color: #fff;
    font-weight: 700;
}
.stkrc2-line-prices small {
    color: #9fb3d1;
    display: block;
}
.stkrc2-switch {
    display: flex;
    gap: 8px;
    align-items: center;
    cursor: pointer;
    color: #fff;
    flex: 0 0 auto;
}
.stkrc2-switch input {
    accent-color: #338cc6;
    width: 18px;
    height: 18px;
}

/* ==================== riga reverse charge INLINE sotto il prodotto del carrello
   (hook displayCartExtraProductActions): appare dentro la riga prodotto, non in
   una sezione separata ==================== */
.stkrc2-cartrow {
    box-sizing: border-box;
    width: 100%;
    margin: 10px 0 2px;
    padding: 12px 14px;
    border: 1px solid #2c3a52;
    border-left: 4px solid #338cc6;
    border-radius: 8px;
    background: #172032;
    color: #fff;
    font-size: 1.02em;
    clear: both;
}
/* quando e' stato spostato in fondo alla .cart-item occupa tutta la riga */
.cart-item > .stkrc2-cartrow--moved {
    display: block;
    flex: 0 0 100%;
    margin-top: 4px;
}
.stkrc2-cartrow .stkrc2-cartrow-title {
    font-weight: 700;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.stkrc2-cartrow label.stkrc2-cartrow-switch {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    margin: 0;
    flex-wrap: wrap;
}
.stkrc2-cartrow label.stkrc2-cartrow-switch input {
    accent-color: #338cc6;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
}
.stkrc2-cartrow .stkrc2-cartrow-prices .on {
    color: #b7f0c6;
    font-weight: 700;
}
.stkrc2-cartrow .stkrc2-cartrow-prices .off {
    color: #fff;
    font-weight: 700;
}
.stkrc2-cartrow .stkrc2-cartrow-note {
    color: #ffd27a;
    font-size: 0.92em;
    margin-top: 6px;
}
.stkrc2-cartrow .stkrc2-cartrow-msg {
    margin-top: 6px;
    font-size: 0.92em;
    color: #fde68a;
}

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

.stkrc2-front {
    color: #fff;
    /* l'header del tema (.l-header) e' position:absolute e trasparente,
       pensato per stare sopra un hero/banner in cima alla pagina. Le nostre
       pagine di servizio non hanno hero, quindi senza questo spazio il menu
       coprirebbe il titolo di sezione e la prima riga della tabella. */
    padding-top: 110px;
}
@media (max-width: 991px) {
    .stkrc2-front {
        padding-top: 80px;
    }
}
.stkrc2-front h2,
.stkrc2-front h3 {
    color: #fff;
}
.stkrc2-front p,
.stkrc2-front label,
.stkrc2-front li {
    color: #fff;
}
.stkrc2-front a {
    color: #6db3e8;
    text-decoration: underline;
}
.stkrc2-front a:hover {
    color: #9fcdf0;
}
.stkrc2-front .stkrc2-hint,
.stkrc2-front small,
.stkrc2-front .text-muted {
    color: #9fb3d1 !important;
}
.stkrc2-front table.table {
    background: #1e293b;
    border: 1px solid #334155;
    border-radius: 10px;
    color: #fff;
}
.stkrc2-front table.table th,
.stkrc2-front table.table td {
    color: #fff;
    border-color: #334155 !important;
    background: transparent;
    padding: 10px 14px;
}
.stkrc2-front table.table th {
    background: #172032;
    white-space: nowrap;
}
.stkrc2-front .stkrc2-form {
    max-width: 700px;
    background: #1e293b;
    border: 1px solid #334155;
    border-radius: 10px;
    padding: 18px 20px;
}
/* la revoca e' solo un bottone: niente box grande vuoto attorno */
.stkrc2-front .stkrc2-revoke-form {
    margin-top: 18px;
}
.stkrc2-front .stkrc2-revoke-form .btn {
    display: inline-block;
    width: auto;
}
.stkrc2-front .form-group {
    margin-bottom: 16px;
}
.stkrc2-front .form-control {
    background: #fff;
    color: #1e293b;
    border: 1px solid #334155;
}
.stkrc2-front input[type="checkbox"],
.stkrc2-front input[type="radio"] {
    accent-color: #338cc6;
}
.stkrc2-front .form-check label {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    line-height: 1.35;
    cursor: pointer;
}
.stkrc2-front .form-check input {
    margin-top: 3px;
}
.stkrc2-front .stkrc2-legal {
    background: #172032;
    border: 1px solid #2c3a52;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 16px;
    max-height: 260px;
    overflow-y: auto;
}
.stkrc2-front .stkrc2-legal h4 {
    color: #fff;
    margin: 0 0 10px;
    font-size: 1em;
    font-weight: 700;
}
.stkrc2-front .stkrc2-legal p,
.stkrc2-front .stkrc2-legal li {
    color: #c9d6e8;
    font-size: 0.88em;
    line-height: 1.5;
    margin-bottom: 10px;
}
.stkrc2-front .btn-primary {
    background: #338cc6;
    border-color: #338cc6;
    color: #fff;
    border-radius: 6px;
    font-weight: 600;
}
.stkrc2-front .btn-primary:hover,
.stkrc2-front .btn-primary:focus {
    background: #2e7db1;
    border-color: #2e7db1;
    color: #fff;
}
.stkrc2-front .badge,
.stkrc2-front .label {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 6px;
    font-weight: 600;
    color: #fff;
    background: #334155;
}
.stkrc2-front .badge-success,
.stkrc2-front .label-success {
    background: #1e8449;
}
.stkrc2-front .badge-info,
.stkrc2-front .label-info {
    background: #338cc6;
}

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

/* nota "N varianti nel carrello": la riga del box aggrega le combinazioni
   dello stesso prodotto, perche' la scelta di reverse charge vale per
   prodotto e non per variante (audit 9) */
.stkrc2-comb {
  display: block;
  margin-top: 2px;
  color: #94a3b8;
  font-size: 11px;
  font-style: italic;
}

/* messaggio di rifiuto del box carrello: prima il server lo componeva e il
   front lo buttava via, quindi il cliente vedeva solo l'interruttore tornare
   indietro senza capire perche' (audit 11) */
.stkrc2-msg {
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 6px;
  background: #422006;
  border: 1px solid #854d0e;
  color: #fde68a;
  font-size: 13px;
  line-height: 1.4;
}
