/* Scoped compatibility rules for IoSorveglio Transizione 1.3.1. */
.iosmf-mobile-only { display:none; }
.iosmf-hero-copy h1 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.iosmf-desktop-art { display:block; }
.site .pricing-intro::after,.site .features::after,.site .dark-section::after,.site .contact::after { pointer-events:none; }
.site .pricing-intro .back-link { position:relative; z-index:1; min-height:44px; display:inline-flex; align-items:center; }
.site .site-header .header-navigation a { color:#161616; }
.site .site-header .header-navigation .header-demo { color:#fff!important; }
.site .iosmf-contact { grid-template-columns:minmax(0,1fr) minmax(0,480px); align-items:start; }
.site .iosmf-contact > * { min-width:0; position:relative; z-index:1; }
.iosmf-form { box-sizing:border-box; padding:24px; border:1px solid #e4e4e7; border-radius:18px; background:#fff; color:#17191c; width:100%; min-width:0; font:16px/1.5 'DM Sans',Arial,sans-serif; }
.iosmf-form .iosmf-form-heading { color:#17191c; font-weight:700; margin:0 0 16px; font-size:19px; }
.iosmf-form label { display:block; color:#292c31; font-size:14px; font-weight:600; margin:12px 0 5px; }
.iosmf-form input:not([type=hidden]),.iosmf-form select,.iosmf-form textarea { box-sizing:border-box; display:block; width:100%; min-width:0; min-height:48px; border:1px solid #a3a6ac; border-radius:8px; background:#fff; color:#17191c; padding:11px 12px; font:16px/1.5 'DM Sans',Arial,sans-serif; }
.iosmf-form textarea { resize:vertical; }
.iosmf-form :is(input,select,textarea,button,summary):focus-visible { outline:3px solid #b9000b; outline-offset:3px; }
.iosmf-form .button,.site .contact .iosmf-form .button { border:0; border-radius:999px; background:#c90010; color:#fff; font:700 16px/1.4 'DM Sans',Arial,sans-serif; min-height:50px; min-width:0; width:100%; padding:14px 20px; cursor:pointer; display:flex; align-items:center; justify-content:space-between; }
.iosmf-form .button:disabled { opacity:.65; cursor:wait; }
.iosmf-form .iosmf-privacy,.site .contact .iosmf-privacy { font-size:13px; color:#50535a; line-height:1.65; margin:16px 0; }
.iosmf-privacy a,.iosmf-email-alternative a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.iosmf-form .iosmf-status,.site .contact .iosmf-status { color:#14532d; font-size:15px; margin:14px 0 0; overflow-wrap:anywhere; }
.iosmf-form .iosmf-status:empty { margin:0; }
.iosmf-form .iosmf-status.iosmf-error,.site .contact .iosmf-status.iosmf-error { color:#a0000c; }
.iosmf-form .iosmf-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.iosmf-details { margin-top:12px; }
.iosmf-details summary { cursor:pointer; min-height:44px; padding:10px 0; font-size:14px; color:#34363c; }
.iosmf-number-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.price-card .iosmf-form { padding:0; border:0; border-radius:0; }
.price-card .iosmf-plan-button { margin-top:20px; min-height:48px; justify-content:center; }
.site .iosmf-store-note { color:#51545a; font-size:13px; line-height:1.6; margin:12px 0 0; }
.site .dark-section .iosmf-store-note,.site .pro .iosmf-store-note { color:#e0e1e5; }
.site .footer-legal-links a,.site footer > a:not(.brand),.site .legal a { display:inline-flex; align-items:center; min-height:44px; }
.iosmf-success { padding:16px; background:#ecfdf3; border:1px solid #9cdbb4; border-radius:12px; color:#14532d; }
@media(max-width:1050px) {
  .site .iosmf-contact { grid-template-columns:1fr; }
  .site .iosmf-contact .iosmf-form { max-width:650px; }
}
@media(max-width:1050px) {
  .site > .site-header { height:auto; min-height:76px; padding:12px 5%; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 12px; align-items:center; }
  .site-header .brand { min-width:0; gap:8px; font-size:20px; }
  .site-header .brand > span { min-width:0; }
  .site-header .brand small { font-size:8px; letter-spacing:1px; white-space:normal; }
  .site-header .original-logo { width:40px; height:40px; }
  .site-header .menu { display:block; min-height:44px; margin:0; padding:8px 10px; white-space:nowrap; background:#fff; color:#17191c; border:1px solid #ddd; border-radius:5px; font:14px/1.4 'DM Sans',Arial,sans-serif; }
  .site-header .header-navigation { display:none; grid-column:1/-1; position:static; width:100%; margin:0; padding:14px 0 4px; box-shadow:none; }
  .site-header .header-navigation.open { display:flex; }
  .site-header .header-navigation.open,.site-header .header-menu { flex-direction:column; align-items:stretch; }
  .site-header .header-menu { gap:0; }
  .site-header .header-demo { align-self:flex-start; }
  .site-header .header-menu a { min-height:44px; white-space:normal; }
}
@media(max-width:760px) {
  .site .campaign-hero.iosmf-hero { height:auto; min-height:0; padding:38px 6% 34px; background:linear-gradient(145deg,#fff 45%,#fff1f2); overflow:visible; }
  .iosmf-hero .iosmf-desktop-art,.iosmf-hero .campaign-cta { display:none; }
  .iosmf-hero .iosmf-mobile-only { display:block; }
  .iosmf-hero-copy h1 { position:static; width:auto; height:auto; margin:14px 0 18px; overflow:visible; clip:auto; white-space:normal; font-size:clamp(34px,8.5vw,48px); line-height:1.08; letter-spacing:-1px; color:#151719; }
  .iosmf-hero-copy h1 em { color:#c90010; font-style:normal; }
  .iosmf-hero-copy p { font-size:16px; line-height:1.65; color:#50535a; }
  .iosmf-hero .button { display:flex; justify-content:space-between; min-height:52px; margin-top:22px; max-width:340px; }
  .iosmf-hero .iosmf-benefits { display:flex; flex-wrap:wrap; gap:8px 16px; padding:0; list-style:none; font-size:12px; color:#50535a; margin:20px 0 0; }
  .iosmf-benefits li::before { content:'✓ '; color:#b9000b; }
  .site .pricing-intro h1 { font-size:clamp(34px,8.5vw,43px); line-height:1.1; }
  .site .pricing-intro h1 br { display:block; }
  .iosmf-contact .iosmf-form { padding:20px; }
  .site .store-row { flex-wrap:wrap; }
}
@media(max-width:480px) {
  .iosmf-number-fields { grid-template-columns:1fr; gap:0; }
  .site-header .brand small { max-width:150px; font-size:7px; letter-spacing:.6px; }
  .site .iosmf-contact h2 { font-size:32px; }
}
@media(prefers-reduced-motion:reduce) { .iosmf-form *,.iosmf-hero * { scroll-behavior:auto; transition:none; } }
