/* Pagina pubblica generazione licenza Stilo */
.stilo-lic { --sl-accent: #6c5ce7; --sl-accent2: #00cec9; --sl-ink: #1e2330; color: var(--sl-ink); }
.stilo-lic .container { max-width: 1080px; }

/* HERO: solo banner pubblicitario, a tutta larghezza */
.stilo-lic .sl-hero { display: block; line-height: 0; }
.stilo-lic .sl-hero-img { width: 100%; height: auto; display: block; }

/* SECTIONS */
.stilo-lic .sl-section { padding: 56px 0; }
.stilo-lic .sl-section-tight { padding-top: 12px; }

/* SCREENSHOT */
.stilo-lic .sl-shot { margin: 0; }
.stilo-lic .sl-shot img {
    width: 100%; height: auto; display: block; border-radius: 16px;
    border: 1px solid #e6e8f0; box-shadow: 0 18px 50px rgba(20,22,31,.14);
}
.stilo-lic .sl-shot-main img { box-shadow: 0 24px 60px rgba(20,22,31,.20); }
.stilo-lic .sl-shot-cap {
    text-align: center; color: #5a6172; font-size: 1.02rem; margin-top: 18px;
    max-width: 760px; margin-left: auto; margin-right: auto; line-height: 1.55;
}

/* i18n */
.stilo-lic .sl-i18n {
    display: flex; align-items: flex-start; gap: 18px; max-width: 820px; margin: 0 auto;
    background: linear-gradient(135deg, rgba(108,92,231,.08), rgba(0,206,201,.08));
    border: 1px solid #e6e8f5; border-radius: 16px; padding: 26px 28px;
}
.stilo-lic .sl-i18n-ico { font-size: 2.2rem; line-height: 1; }
.stilo-lic .sl-i18n h3 { font-size: 1.2rem; font-weight: 800; margin: 2px 0 8px; }
.stilo-lic .sl-i18n p { color: #4a5163; margin: 0; line-height: 1.6; }
.stilo-lic .sl-h2 { font-size: 1.9rem; font-weight: 800; text-align: center; margin-bottom: 34px; }
.stilo-lic .sl-lead { text-align: center; color: #5a6172; max-width: 680px; margin: -20px auto 30px; }

/* FEATURES */
.stilo-lic .sl-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.stilo-lic .sl-feature {
    display: flex; align-items: flex-start; gap: 12px; background: #f6f7fb; border: 1px solid #eceef5;
    border-radius: 12px; padding: 16px 18px; font-weight: 600; color: #2b3142;
}
.stilo-lic .sl-check {
    flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center;
    background: linear-gradient(135deg, var(--sl-accent), var(--sl-accent2)); color: #fff; font-weight: 800; font-size: .9rem;
}

/* POLICY */
.stilo-lic .sl-policy { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.stilo-lic .sl-card {
    background: #fff; border: 1px solid #ececf3; border-radius: 16px; padding: 26px 24px;
    box-shadow: 0 6px 26px rgba(20,22,31,.05);
}
.stilo-lic .sl-card-ico { font-size: 2rem; margin-bottom: 10px; }
.stilo-lic .sl-card h3 { font-size: 1.15rem; font-weight: 800; margin-bottom: 10px; }
.stilo-lic .sl-card p { color: #5a6172; margin: 0; line-height: 1.55; }

/* FORM */
.stilo-lic .sl-form {
    max-width: 560px; margin: 0 auto; background: #fff; border: 1px solid #ececf3; border-radius: 18px;
    padding: 32px; box-shadow: 0 12px 40px rgba(20,22,31,.08);
}
.stilo-lic .sl-field { margin-bottom: 18px; display: flex; flex-direction: column; }
.stilo-lic .sl-field label { font-weight: 700; margin-bottom: 7px; font-size: .92rem; }
.stilo-lic .sl-field input, .stilo-lic .sl-field textarea {
    border: 1px solid #d7dbe6; border-radius: 10px; padding: 12px 14px; font-size: 1rem; font-family: inherit;
    transition: border-color .15s ease, box-shadow .15s ease; resize: vertical;
}
.stilo-lic .sl-field input:focus, .stilo-lic .sl-field textarea:focus {
    outline: none; border-color: var(--sl-accent); box-shadow: 0 0 0 3px rgba(108,92,231,.15);
}
.stilo-lic .sl-field .field-validation-error, .stilo-lic .sl-field span.text-danger { color: #d63031; font-size: .85rem; margin-top: 5px; }
.stilo-lic .sl-errors { color: #d63031; font-size: .9rem; margin-bottom: 12px; }
.stilo-lic .sl-errors ul { margin: 0; padding-left: 18px; }
.stilo-lic .sl-submit {
    width: 100%; border: none; cursor: pointer; background: linear-gradient(135deg, var(--sl-accent), var(--sl-accent2));
    color: #fff; padding: 15px; border-radius: 12px; font-weight: 800; font-size: 1.05rem;
    box-shadow: 0 10px 30px rgba(108,92,231,.35); transition: transform .15s ease, box-shadow .15s ease;
}
.stilo-lic .sl-submit:hover { transform: translateY(-2px); box-shadow: 0 14px 38px rgba(108,92,231,.5); }
.stilo-lic .sl-privacy { text-align: center; color: #8a90a2; font-size: .82rem; margin: 16px 0 0; }

/* HOW-TO */
.stilo-lic .sl-howto { max-width: 560px; margin: 26px auto 0; color: #4a5163; }
.stilo-lic .sl-howto h3 { font-size: 1.05rem; font-weight: 800; margin-bottom: 10px; }
.stilo-lic .sl-howto ol { padding-left: 20px; line-height: 1.8; }
.stilo-lic .sl-howto code {
    background: #eef0f6; color: #4b3fb8; padding: 2px 7px; border-radius: 6px; font-size: .9em; font-weight: 700;
}

@media (max-width: 860px) {
    .stilo-lic .sl-features { grid-template-columns: repeat(2, 1fr); }
    .stilo-lic .sl-policy { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .stilo-lic .sl-features { grid-template-columns: 1fr; }
    .stilo-lic .sl-form { padding: 22px; }
}
