/* ORIGO — Demo submission. Viewport-first editorial form, no changes to form backend. */
.page-demo { background:#f5f4ef; color:#111820; }
.page-demo #contenuto { min-height:calc(100dvh - 64px); }
.page-demo .origo-footer { display:none; }
.page-demo .mobile-app-nav{ display:none!important; }

.page-demo .odemo-screen { max-width:1240px; min-height:calc(100dvh - 64px); display:grid; grid-template-columns:minmax(0, .88fr) minmax(0, 1.12fr); column-gap:clamp(32px,5.4vw,100px); align-items:center; position:relative; padding-top:34px; padding-bottom:54px; }
.odemo-copy { display:flex; flex-direction:column; justify-content:space-between; align-self:stretch; padding:clamp(32px,5vh,55px) 0 clamp(28px,4vh,42px); min-width:0; }
.odemo-eyebrow { display:inline-flex; align-items:center; gap:10px; font-size:10px; font-weight:800; letter-spacing:.155em; color:#59646a; }
.odemo-dot { width:7px; height:7px; border-radius:50%; background:#80968c; }
.odemo-copy h1 { font:normal clamp(47px,4.4vw,74px)/1.06 Georgia,'Times New Roman',serif; letter-spacing:-.055em; margin:25px 0 19px; color:#131719; }
.odemo-copy h1 em { font-weight:normal; font-style:italic; color:#757b7c; }
.odemo-copy-top>p { font-size:clamp(16px,1.25vw,18px); line-height:1.58; max-width:480px; color:#58636b; margin:0; }
.odemo-copy-bottom { max-width:465px; }
.odemo-how { border-top:1px solid #d9dad7; display:flex; gap:20px; align-items:baseline; font-size:13px; padding:11px 0; color:#354149; }
.odemo-how-index { color:#818a8d; font-size:11px; font-weight:700; letter-spacing:.05em; flex:none; }
.odemo-aside-link { font-size:12px; color:#6c777b; margin-top:25px; line-height:1.7; }
.odemo-aside-link a { font-weight:750; color:#18232a; text-decoration:underline; text-underline-offset:4px; margin-left:4px; }
.odemo-panel { background:#fff; border:1px solid #e2e3e0; border-radius:16px; box-shadow:0 18px 65px rgba(13,22,28,.055); padding:clamp(22px,2.4vw,36px); width:100%; min-width:0; }
.odemo-panel-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:20px; }
.odemo-panel-kicker { font-size:10px; font-weight:750; letter-spacing:.12em; color:#879096; }
.odemo-panel-heading h2 { font:normal clamp(24px,2.2vw,32px)/1.13 Georgia,'Times New Roman',serif; letter-spacing:-.035em; margin:8px 0 0; }
.odemo-panel-number { color:#b6bdbe; font-size:12px; letter-spacing:.09em; padding-bottom:5px; white-space:nowrap; }
.odemo-form { display:grid; gap:12px; }
.odemo-form label { display:grid; gap:5px; min-width:0; font-size:11px; font-weight:750; color:#384349; }
.odemo-form .odemo-cols { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
.odemo-form .odemo-cols-links { grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); }
.odemo-form input:not([type=checkbox]), .odemo-form select, .odemo-form textarea { display:block; box-sizing:border-box; width:100%; min-width:0; min-height:39px; border:1px solid #dde1df; border-radius:7px; padding:8px 11px; color:#182129; background:#fcfcfb; outline-offset:2px; font:400 13px/1.4 Arial,'Helvetica Neue',Helvetica,sans-serif; box-shadow:none; }
.odemo-form input::placeholder,.odemo-form textarea::placeholder {color:#a0a6a7;opacity:1}
.odemo-form select {padding-right:20px;appearance:auto;cursor:pointer;}
.odemo-form textarea {min-height:62px;height:62px;resize:vertical;}
.odemo-form input:focus,.odemo-form textarea:focus,.odemo-form select:focus {outline:2px solid #8b9fa7;outline-offset:1px;border-color:#8b9fa7;}
.odemo-optional {font-size:10px;font-weight:400;color:#92999c;}
.odemo-link-hint {font-size:10px;line-height:1.35;color:#889194;margin:-5px 0 0;}
.odemo-legal {border-top:1px solid #e8e9e7; padding-top:10px;display:grid;gap:8px;}
.odemo-form .odemo-consent { display:flex; align-items:flex-start; gap:9px; font-size:10.5px; line-height:1.4; color:#5b666b; font-weight:400; }
.odemo-consent input[type=checkbox] { width:15px; height:15px; margin:0; flex:none; accent-color:#10181e; cursor:pointer; }
.odemo-consent a {text-decoration:underline;text-underline-offset:2px;}
.odemo-consent em {font-weight:400;font-style:normal;color:#939b9e;}
.odemo-submit { border:0; border-radius:8px; background:#111a21; color:#fff; width:100%; min-height:44px; display:flex; align-items:center; justify-content:space-between; padding:11px 15px; font-size:13px; font-weight:750; cursor:pointer; }
.odemo-submit:hover {background:#2e3e48;}
.odemo-submit:focus-visible {outline:3px solid #8198a3;outline-offset:3px;}
.odemo-submit span:last-child {font-size:21px;font-weight:400;line-height:.8;}
.odemo-note {font-size:10px;line-height:1.35;color:#90989b;margin:-4px 0 0;}
.odemo-hidden {position:absolute!important;left:-99999px;top:auto;width:1px;height:1px;overflow:hidden}
.odemo-errors {border:1px solid #dfb7a6;background:#fff6f2;border-radius:8px;padding:10px 12px;margin-bottom:12px;color:#773e2c;font-size:12px;}
.odemo-errors ul {margin:6px 0 0;padding-left:16px;}
.odemo-success {max-width:480px;padding:30px 12px 50px;}
.odemo-success-mark {display:flex;justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:26px;border-radius:50%;background:#e3f1e7;color:#21683a;font-size:24px;}
.odemo-success h2 {font:normal 40px/1.1 Georgia,serif;letter-spacing:-.035em;margin:16px 0 20px;}
.odemo-success p {font-size:14px;line-height:1.7;color:#606b70;}
.odemo-success a {display:inline-block;margin-top:22px;text-decoration:underline;text-underline-offset:4px;font-weight:700;}
.odemo-bottomline {position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:space-between;gap:16px;color:#929a9e;font-size:9px;font-weight:650;letter-spacing:.06em;}
.odemo-bottomline a {text-decoration:none;}
.odemo-bottomline a:hover{text-decoration:underline;}
/* Preserve all inputs and messages on smaller or zoomed viewports. */
@media (min-width:1000px) and (min-height:700px) {
  .page-demo { overflow-x:hidden; }
  .page-demo .odemo-screen {height:calc(100dvh - 64px);min-height:0;}
}
@media (min-width:1000px) and (max-height:760px) {
  .page-demo .odemo-screen{padding-top:14px;padding-bottom:35px;column-gap:4vw;}
  .odemo-copy{padding-top:26px;padding-bottom:20px;}
  .odemo-copy h1{margin:15px 0;font-size:clamp(44px,4vw,65px);}
  .odemo-panel{padding:22px 25px;}
  .odemo-panel-heading{margin-bottom:12px;}
  .odemo-form{gap:9px;}
  .odemo-legal{gap:6px;padding-top:8px;}
  .odemo-how{padding:8px 0;}
}
@media (max-width:999px) {
  .page-demo #contenuto{min-height:0;}
  .page-demo .odemo-screen{display:block;min-height:0;padding-top:28px;padding-bottom:47px;}
  .odemo-copy{display:block;padding:0 0 24px;}
  .odemo-copy h1{font-size:clamp(44px,6.6vw,66px);margin:17px 0 12px;}
  .odemo-copy-top>p{max-width:670px;font-size:15px;}
  .odemo-copy-bottom{display:none;}
  .odemo-panel{max-width:770px;padding:26px;}
  .odemo-bottomline{bottom:12px;}
}
@media (max-width:560px) {
  .page-demo .odemo-screen{width:min(calc(100% - 28px),1240px);padding-top:21px;padding-bottom:47px;}
  .odemo-copy{padding-bottom:19px;}
  .odemo-eyebrow{font-size:9px;}
  .odemo-copy h1{font-size:clamp(36px,10.2vw,48px);line-height:1.09;margin:13px 0 10px;}
  .odemo-copy-top>p{font-size:13px;line-height:1.5;}
  .odemo-panel{padding:20px 18px;border-radius:13px;}
  .odemo-panel-heading{margin-bottom:17px;}
  .odemo-panel-heading h2{font-size:25px;}
  .odemo-panel-number{display:none;}
  .odemo-form{gap:11px;}
  .odemo-form .odemo-cols,.odemo-form .odemo-cols-links{grid-template-columns:1fr;gap:11px;}
  .odemo-form label{font-size:12px;gap:5px;}
  .odemo-form input:not([type=checkbox]),.odemo-form select{min-height:44px;font-size:14px;}
  .odemo-form textarea{min-height:70px;height:70px;font-size:14px;}
  .odemo-form .odemo-consent{font-size:11px;}
  .odemo-bottomline{font-size:9px;}
}
@media (prefers-reduced-motion:reduce) { .odemo-submit {transition:none;} }
/* Home link included in the preceding patch; preserve its understated style. */
.origo-demo-entry {margin-top:16px;font-size:13px;}
.origo-demo-entry a{color:inherit;text-decoration:underline;text-underline-offset:4px;}

/* ORIGO / DEMO — Mobile conversion and cross-browser hardening v2.1
   Native form behavior preserved. Do not lock viewport zoom or page scrolling. */
.page-demo .odemo-form input:not([type=checkbox]),
.page-demo .odemo-form textarea,
.page-demo .odemo-form select { -webkit-appearance: none; appearance: none; }
.page-demo .odemo-form select {
  /* Keep a reliable native select arrow on Safari, Chrome and Instagram webview. */
  -webkit-appearance: menulist; appearance: menulist;
}
.page-demo .odemo-form input:not([type=checkbox]),
.page-demo .odemo-form textarea { -webkit-user-select:text; user-select:text; }
.page-demo .odemo-consent input[type=checkbox] { -webkit-appearance:checkbox;appearance:checkbox; }
.page-demo .odemo-submit:disabled {cursor:progress;opacity:.74;}
.page-demo .odemo-errors:focus {outline:2px solid #8b9fa7;outline-offset:3px;}
.page-demo .odemo-form a:focus-visible,
.page-demo .odemo-aside-link a:focus-visible {outline:2px solid #18232a;outline-offset:4px;}
.page-demo .odemo-submit {touch-action:manipulation;}
@media(max-width:999px) {
  .page-demo .odemo-copy-top>p{max-width:55ch;}
  .page-demo .odemo-form input:not([type=checkbox]),
  .page-demo .odemo-form select,
  .page-demo .odemo-form textarea {font-size:16px;line-height:1.35;min-height:48px;padding:11px 12px;}
  .page-demo .odemo-form textarea {min-height:90px;height:90px;}
  .page-demo .odemo-form label{font-size:13px;}
  .page-demo .odemo-form .odemo-consent{font-size:12.5px;line-height:1.5;gap:11px;padding:3px 0;}
  .page-demo .odemo-consent input[type=checkbox]{width:20px;height:20px;margin-top:0;}
  .page-demo .odemo-link-hint,.page-demo .odemo-note{font-size:12px;line-height:1.45;}
  .page-demo .odemo-submit{min-height:54px;font-size:15px;padding:14px 16px;}
  .page-demo .odemo-panel-kicker{font-size:10px;}
  .page-demo .odemo-form{gap:14px;}
  .page-demo .odemo-legal{gap:10px;}
}
@media(max-width:560px){
  .page-demo{overflow-x:clip;}
  /* Instagram in-app browsers have varying toolbars and keyboard geometry. */
  .page-demo .odemo-screen{padding-top:13px;padding-bottom:calc(43px + env(safe-area-inset-bottom, 0px));}
  .page-demo .odemo-copy{padding:0 0 14px;}
  .page-demo .odemo-eyebrow{font-size:9px;letter-spacing:.12em;}
  .page-demo .odemo-copy h1{font-size:clamp(31px,8.5vw,39px);line-height:1.09;margin:9px 0 7px;}
  .page-demo .odemo-copy-top>p{font-size:13px;line-height:1.45;}
  .page-demo .odemo-panel{padding:19px 15px 18px;border-radius:14px;box-shadow:0 8px 35px rgba(13,22,28,.04);}
  .page-demo .odemo-panel-heading{margin-bottom:14px;}
  .page-demo .odemo-panel-heading h2{font-size:24px;}
  .page-demo .odemo-form{gap:12px;}
  .page-demo .odemo-form .odemo-cols-names{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;}
  .page-demo .odemo-form .odemo-cols:not(.odemo-cols-names){grid-template-columns:minmax(0,1fr);gap:12px;}
  .page-demo .odemo-form input:not([type=checkbox]),
  .page-demo .odemo-form select{min-height:50px;}
  .page-demo .odemo-form textarea{min-height:88px;height:88px;}
  .page-demo .odemo-legal{gap:8px;padding-top:13px;}
  .page-demo .odemo-consent a{display:inline;text-underline-offset:3px;}
  .page-demo .odemo-note{margin:0;}
  .page-demo .odemo-bottomline{bottom:calc(12px + env(safe-area-inset-bottom, 0px));}
}
@media(max-width:360px){
  .page-demo .odemo-screen{width:calc(100% - 24px);}
  .page-demo .odemo-panel{padding:16px 12px;}
  .page-demo .odemo-copy h1{font-size:31px;}
  .page-demo .odemo-panel-heading h2{font-size:22px;}
}
@media (hover:none){
  .page-demo .odemo-submit:hover{background:#111a21;}
}
@media (forced-colors:active){
  .page-demo .odemo-submit{border:1px solid ButtonText;}
  .page-demo .odemo-form input:focus,
  .page-demo .odemo-form textarea:focus,
  .page-demo .odemo-form select:focus{outline:2px solid Highlight;}
}
