﻿html,body{min-height:100%}
body.registo-empresa-body{display:block;min-height:100vh;overflow:auto;padding:28px clamp(18px,6vw,76px);background:radial-gradient(circle at 82% -12%,rgba(218,237,252,.9) 0,rgba(218,237,252,.55) 20%,transparent 42%),radial-gradient(circle at 3% 102%,rgba(218,237,252,.62) 0,transparent 31%),#fff;color:#0e1f3d;font-family:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.registo-empresa-body .header_texto{max-width:1180px;margin:0 auto 58px}
.registo-main{max-width:1180px;margin:0 auto}
.registo-intro{margin-bottom:28px;text-align:left}
.registo-intro h1{max-width:850px;margin-bottom:18px;color:#06163a;font-size:clamp(40px,6vw,68px);font-weight:400;line-height:1.06}
.registo-intro p{max-width:820px;color:#35425a;font-size:clamp(17px,2vw,23px);font-weight:500;line-height:1.45}
.registo-note{color:#65738c!important;font-size:14px!important;line-height:1.55!important}
.registo-note a{color:#06163a;font-weight:700;text-decoration:none}
.registo-card{overflow:hidden;border:1px solid #d8e2ee;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 16px 42px rgba(14,31,61,.08)}
.registo-card-title{padding:22px 26px;border-bottom:1px solid #d8e2ee}
.registo-card-title p{margin:0 0 4px;color:#ff8a2a;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.registo-card-title h2{margin:0;color:#06163a;font-size:24px;font-weight:600}
.registo-subtitle{margin-top:24px;border-top:1px solid #eef3f8}
.registo-country-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:26px}
.registo-country{display:flex;flex-direction:column;min-height:218px;padding:24px;border:1px solid #d8e2ee;border-radius:18px;background:#fff;color:#06163a;text-decoration:none;box-shadow:0 8px 24px rgba(14,31,61,.06)}
.registo-country:hover,.registo-country:focus-visible{border-color:#ff8a2a;box-shadow:0 14px 34px rgba(14,31,61,.12);transform:translateY(-1px)}
.registo-country strong{margin-bottom:10px;font-size:28px;font-weight:600}
.registo-country span{color:#65738c;font-size:14px;font-weight:500;line-height:1.55}
.registo-country em{margin-top:auto;padding-top:22px;color:#06163a;font-size:15px;font-style:normal;font-weight:700}
.registo-country em:after{content:" →";color:#ff8a2a}
.registo-form{padding:26px}
.registo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.registo-field{position:relative;display:block;min-width:0}
.registo-field.wide{grid-column:span 2}
.registo-field.full{grid-column:1/-1}
.registo-field.short{max-width:none}
.registo-field span{position:absolute;top:8px;left:14px;z-index:1;color:#65738c;font-size:10px;font-weight:800;pointer-events:none}
.registo-field input,.registo-field select,.registo-field textarea{width:100%;min-height:56px;box-sizing:border-box;padding:23px 14px 8px;border:1px solid #d8e2ee;border-radius:12px;background:#fff;color:#06163a;font-size:14px;font-weight:600;font-family:inherit}
.registo-field textarea{min-height:118px;resize:vertical}
.registo-field input[type=file]{padding-top:25px}
.registo-check{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:9px 13px;border:1px solid #d8e2ee;border-radius:999px;background:#fff;color:#35425a;font-size:13px;font-weight:700}
.registo-check input{accent-color:#ff8a2a}
.registo-message{display:none;margin:0 0 20px;padding:13px 16px;border:1px solid #facaca;border-radius:13px;background:#fff7f7;color:#9b1c1c;font-size:13px;font-weight:700;line-height:1.45}
.registo-message.ok{border-color:#bce4c4;background:#f4fff6;color:#18753c}
.registo-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:26px;padding-top:20px;border-top:1px solid #eef3f8}
.registo-actions button,.registo-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid #d8e2ee;border-radius:999px;background:#fff;color:#06163a;font-size:14px;font-weight:700;text-decoration:none;font-family:inherit;cursor:pointer}
.registo-actions button{border-color:#ff8a2a;background:#ff8a2a;color:#fff}
.registo-actions button:hover{background:#e87519}
body.registo-empresa-body footer{max-width:1180px;margin:40px auto 0}
@media(max-width:900px){body.registo-empresa-body{padding:22px}.registo-country-grid,.registo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){body.registo-empresa-body .header_texto,.registo-actions{align-items:flex-start;flex-direction:column}.registo-country-grid,.registo-grid{grid-template-columns:1fr}.registo-field.wide{grid-column:1/-1}}


.registo-language { display:inline-flex; align-items:center; gap:8px; color:#35425a; font-size:13px; }
.registo-language select { min-height:36px; max-width:190px; padding:6px 28px 6px 10px; border:1px solid #d8e2ee; border-radius:9px; background:#fff; color:#0e1f3d; font:inherit; }
@media (max-width:720px) { .header_texto .registo-language { flex-basis:100%; justify-content:flex-end; } .header_texto .registo-language select { max-width:100%; } }

/* Pro4win registration logo aligned with the homepage */
body.registo-empresa-body .header_texto img{width:66px;max-width:66px;height:66px;max-height:66px;object-fit:contain;flex:0 0 66px}
@media(max-width:640px){body.registo-empresa-body .header_texto img{width:44px;max-width:44px;height:44px;max-height:44px;flex-basis:44px}}

/* Registration step 1: explicit eight-row field layout */
.registo-form:not(.registo-form-no-validation) .registo-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
.registo-form:not(.registo-form-no-validation) .registo-grid .field-taxid,.registo-form:not(.registo-form-no-validation) .registo-grid .field-official-name,.registo-form:not(.registo-form-no-validation) .registo-grid .field-state,.registo-form:not(.registo-form-no-validation) .registo-grid .field-city,.registo-form:not(.registo-form-no-validation) .registo-grid .field-postal,.registo-form:not(.registo-form-no-validation) .registo-grid .field-postal-description,.registo-form:not(.registo-form-no-validation) .registo-grid .field-phone,.registo-form:not(.registo-form-no-validation) .registo-grid .field-email{grid-column:span 6}
.registo-form:not(.registo-form-no-validation) .registo-grid .field-alias,.registo-form:not(.registo-form-no-validation) .registo-grid .field-complement,.registo-form:not(.registo-form-no-validation) .registo-grid .field-contact{grid-column:1/-1}
.registo-form:not(.registo-form-no-validation) .registo-grid .field-registration{grid-column:span 6}
.registo-form:not(.registo-form-no-validation) .registo-grid .field-address{grid-column:span 9}
.registo-form:not(.registo-form-no-validation) .registo-grid .field-number{grid-column:span 3}
@media(max-width:640px){.registo-form:not(.registo-form-no-validation) .registo-grid{grid-template-columns:1fr}.registo-form:not(.registo-form-no-validation) .registo-grid .registo-field{grid-column:1/-1}}

/* Steps 2 and 3: independent form layout; never inherit the step-1 grid. */
body.registo-followup .header_texto{max-width:960px;margin:0 auto 32px;padding:16px 0;gap:18px;flex-wrap:wrap}
body.registo-followup .registo-language select{max-width:230px}
body.registo-followup .registo-main{max-width:960px;padding:0}
body.registo-followup .registo-intro{padding:0;margin:0 0 24px}
body.registo-followup .registo-intro h1{margin:0 0 12px;font-size:clamp(28px,4vw,40px);line-height:1.2}
body.registo-followup .registo-intro p{margin:0 0 10px;font-size:16px;line-height:1.55}
body.registo-followup .registo-card-title{padding:18px 26px}
body.registo-followup .registo-card-title p{margin:0}
.registo-form-no-validation .registo-section{min-width:0;margin:0;padding:0;border:0}
.registo-form-no-validation .registo-section+.registo-section{margin-top:28px;padding-top:24px;border-top:1px solid #eef3f8}
.registo-section legend{float:left;width:100%;box-sizing:border-box;margin-bottom:16px;padding:0;color:#06163a;font-size:18px;font-weight:600;line-height:1.4}
.registo-section legend+.registo-grid,.registo-section legend+.registo-checks{clear:both}
.registo-form-no-validation .registo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.registo-form-no-validation .registo-field.wide{grid-column:auto}
.registo-form-no-validation .registo-field.full{grid-column:1/-1}
.registo-form-no-validation .registo-field span{position:static;display:block;margin:0 0 8px;color:#35425a;font-size:13px;font-weight:600;line-height:1.4}
.registo-form-no-validation .registo-field input,.registo-form-no-validation .registo-field select,.registo-form-no-validation .registo-field textarea{min-height:48px;padding:12px 14px;font-size:14px;font-weight:500}
.registo-form-no-validation .registo-field textarea{min-height:130px}
.registo-form-no-validation .registo-field input[type=file]{padding:10px;overflow:hidden;font-size:13px}
.registo-form-no-validation input[type=file]::file-selector-button{margin-right:12px;padding:8px 10px;border:0;border-radius:6px;background:#edf4fa;color:#173f68;font:inherit;cursor:pointer}
.registo-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.registo-checks .registo-check{min-height:46px;box-sizing:border-box;border-radius:10px;font-weight:500}
.registo-checks .registo-check input{flex:0 0 18px;width:18px;height:18px}
.registo-checks .registo-check:has(input:checked){border-color:#ff8a2a;background:#fff7ed}
body.registo-followup .registo-next-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;box-sizing:border-box;padding:12px 24px;border:1px solid #ff8a2a;border-radius:10px;background:#ff8a2a;color:#fff;font-size:14px;font-weight:700;line-height:1.4;text-decoration:none}
body.registo-followup .registo-next-link:hover{border-color:#e87519;background:#e87519}
body.registo-followup .registo-secondary{border-radius:10px}
body.registo-followup input:focus-visible,body.registo-followup select:focus-visible,body.registo-followup textarea:focus-visible,body.registo-followup a:focus-visible{outline:3px solid #d3e8f8;outline-offset:3px}
@media(max-width:640px){
	body.registo-followup{padding:18px}
	body.registo-followup .header_texto{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;margin-bottom:24px;padding:0}
	body.registo-followup .header_texto>a:first-child{grid-column:1;grid-row:1}
	body.registo-followup .header_texto>span{grid-column:2;grid-row:1;font-size:13px}
	body.registo-followup .header_texto .registo-language{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}
	body.registo-followup .header_texto #AboutLink{grid-column:1/-1;font-size:13px}
	body.registo-followup .registo-card-title{padding:16px 18px}
	body.registo-followup .registo-form{padding:20px 18px}
	.registo-form-no-validation .registo-grid,.registo-checks{grid-template-columns:1fr}
	.registo-form-no-validation .registo-field{grid-column:1/-1}
	body.registo-followup .registo-actions{align-items:stretch}
	body.registo-followup .registo-actions a{width:100%;box-sizing:border-box}
}

/* Localised file controls: preserve native inputs and their accessible field labels. */
.registo-file{position:relative;display:flex;align-items:center;gap:12px;min-width:0;min-height:48px;box-sizing:border-box;padding:10px;border:1px solid #d8e2ee;border-radius:12px;background:#fff}
.registo-field .registo-file-button,.registo-field .registo-file-name{position:static;display:block;min-width:0;margin:0;color:#35425a;font-size:13px;font-weight:500;line-height:1.4}
.registo-field .registo-file-button{flex:0 0 auto;max-width:55%;padding:8px 10px;border-radius:6px;background:#edf4fa;color:#173f68}
.registo-field .registo-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.registo-field .registo-file input[type=file]{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;opacity:0;cursor:pointer}
.registo-file:focus-within{outline:3px solid #d3e8f8;outline-offset:3px}
