/* IARiDE demo form: native extension of the marine visual identity. */
body.galion-iaride .demo { scroll-margin-top:100px; }
body.galion-iaride .demo-layout { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:64px; align-items:start; }
body.galion-iaride .demo-intro { position:sticky; top:112px; }
body.galion-iaride .demo-intro h2 { color:#fff; font-size:clamp(32px,3.4vw,48px); line-height:1.15; margin:0 0 26px; }
body.galion-iaride .demo-lead { color:#bdcce3; font-size:18px; line-height:1.7; }
body.galion-iaride .demo-facts { margin:36px 0; }
body.galion-iaride .demo-facts>div { padding:20px 0; border-top:1px solid #344360; }
body.galion-iaride .demo-facts dt { color:#fff; font-size:16px; font-weight:700; margin-bottom:7px; }
body.galion-iaride .demo-facts dd { margin:0; color:#bdcce3; font-size:15px; line-height:1.7; }
body.galion-iaride .demo-direct { font-size:14px; color:#bdcce3; line-height:1.9; }
body.galion-iaride .demo a { color:#dce8fa; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
body.galion-iaride .demo a:hover { color:#edf000; }
body.galion-iaride .demo-panel { background:#0a1935; border:1px solid #344360; border-radius:12px; padding:36px; min-width:0; }
body.galion-iaride .demo h3 { color:#fff; font-size:26px; line-height:1.3; margin:0 0 10px; }
body.galion-iaride .demo-form-heading { margin-bottom:30px; }
body.galion-iaride .demo-form-heading p { font-size:13px; color:#bdcce3; margin:0; padding:0; }
body.galion-iaride .demo fieldset { border:0; padding:0; margin:0 0 30px; min-width:0; }
body.galion-iaride .demo legend { width:100%; padding:0 0 14px; margin-bottom:18px; border-bottom:1px solid #344360; color:#fff; font-size:18px; font-weight:700; }
body.galion-iaride .demo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
body.galion-iaride .demo-full { grid-column:1/-1; }
body.galion-iaride .demo-field { min-width:0; }
body.galion-iaride .demo label { display:block; color:#fff; font-weight:600; font-size:14px; line-height:1.5; margin-bottom:8px; }
body.galion-iaride .demo label>span { color:#edf000; }
body.galion-iaride .demo label small { color:#bdcce3; font-weight:400; margin-left:6px; }
body.galion-iaride .demo :is(input,textarea,select) { width:100%; max-width:100%; min-width:0; min-height:48px; padding:12px 13px; border:1px solid #6b7e9e; border-radius:5px; background:#07132b; color:#fff; font:400 16px/1.5 var(--sans); box-sizing:border-box; color-scheme:dark; }
body.galion-iaride .demo textarea { resize:vertical; min-height:145px; }
body.galion-iaride .demo input::placeholder { color:#aabbd6; opacity:1; }
body.galion-iaride .demo :is(input,textarea,select):focus { border-color:#edf000; outline:2px solid #edf000; outline-offset:3px; }
body.galion-iaride .demo [aria-invalid=true] { border-color:#ffb4b4; }
body.galion-iaride .demo-field>small,body.galion-iaride .demo-help { display:block; color:#bdcce3; font-size:13px; line-height:1.65; margin:7px 0 12px; padding:0; }
body.galion-iaride .demo-error { display:block; color:#ffb4b4; font-size:13px; line-height:1.5; margin-top:6px; }
body.galion-iaride .demo-error:empty { display:none; }
body.galion-iaride .demo-privacy { color:#bdcce3; font-size:12px; line-height:1.75; margin:0 0 24px; padding:0; }
body.galion-iaride .demo :is(.demo-primary,.demo-secondary) { display:inline-flex; justify-content:center; align-items:center; gap:18px; min-height:50px; padding:13px 22px; border:1px solid #edf000; border-radius:5px; background:#edf000; color:#000d30; font:700 15px/1.5 var(--sans); cursor:pointer; transition:background .18s,color .18s; }
body.galion-iaride .demo .demo-primary:hover { background:#fff; border-color:#fff; }
body.galion-iaride .demo .demo-secondary { background:transparent; color:#fff; border-color:#6b7e9e; }
body.galion-iaride .demo .demo-secondary:hover { background:#243652; }
body.galion-iaride .demo button:disabled { cursor:wait; opacity:.7; }
body.galion-iaride .demo-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
body.galion-iaride .demo-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
body.galion-iaride .demo [hidden] { display:none!important; }
body.galion-iaride #demo-summary { margin:24px 0; }
body.galion-iaride #demo-summary>div { padding:13px 0; border-bottom:1px solid #344360; }
body.galion-iaride #demo-summary dt { color:#bdcce3; font-size:12px; margin-bottom:5px; }
body.galion-iaride #demo-summary dd { color:#fff; margin:0; font-size:15px; overflow-wrap:anywhere; white-space:pre-wrap; line-height:1.6; }
body.galion-iaride .demo-slot-notice { color:#edf000; font-size:14px; line-height:1.7; padding:0; }
body.galion-iaride #demo-status { color:#ffb4b4; font-size:14px; line-height:1.7; padding:0; margin-top:18px; }
body.galion-iaride #demo-status:empty { display:none; }
body.galion-iaride #demo-success { color:#bdcce3; line-height:1.75; }
body.galion-iaride #demo-success svg { color:#edf000; margin-bottom:25px; }
body.galion-iaride #demo-success h3 { font-size:30px; margin-bottom:22px; }
body.galion-iaride #demo-reference { font-size:13px; color:#bdcce3; }
@media(max-width:1000px) {
 body.galion-iaride .demo-layout { grid-template-columns:1fr; gap:32px; }
 body.galion-iaride .demo-intro { position:static; }
 body.galion-iaride .demo-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:24px 0; }
}
@media(max-width:600px) {
 body.galion-iaride .demo-panel { padding:24px 18px; }
 body.galion-iaride .demo-grid { grid-template-columns:1fr; }
 body.galion-iaride .demo-facts { display:block; }
 body.galion-iaride .demo :is(.demo-primary,.demo-secondary) { width:100%; }
 body.galion-iaride .demo-actions { flex-direction:column-reverse; }
}
@media(prefers-reduced-motion:reduce) { body.galion-iaride .demo * { scroll-behavior:auto; transition:none; } }

body.galion-iaride :is(#demo-review,#demo-success,.demo input,.demo textarea,.demo select) { scroll-margin-top:110px; }
