/* Azul elegante: presentación visual; conserva la integración de pagos. */
html,body{background:#f4f8fe;scroll-behavior:smooth}.shell{max-width:1200px;padding:0 30px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
a:focus-visible,button:focus-visible{outline:3px solid #67caff;outline-offset:4px}
.hero{min-height:0;background:#052451 url('/azul-elegante-hero.png') center 58%/cover no-repeat;overflow:visible}
.hero:before{inset:0;width:auto;height:auto;border:0;border-radius:0;box-shadow:none;background:linear-gradient(90deg,#031b42eb 0%,#062a596b 55%,transparent 100%);animation:none}
.hero:after{display:none}.hero-inner{z-index:1}
.nav{padding:22px 0;gap:24px;border-bottom:1px solid #ffffff12}.brand-logo{width:148px;mix-blend-mode:normal}.nav-actions{gap:5px}.nav-link{font-size:13px;font-weight:600;padding:10px 12px;color:#e5eeff}.nav-link:hover{color:white}.nav-pay{background:linear-gradient(#2983ed,#0860ca);color:white;border:1px solid #ffffff3d;border-radius:8px;padding:12px 19px;font-size:13px;box-shadow:0 4px 20px #001a4b33}
.hero-content{display:block;max-width:630px;padding:48px 0 92px}.eyebrow{font-size:11px;letter-spacing:.18em;color:#a7d5ff;margin:0 0 15px}.hero h1{font-size:clamp(42px,5.4vw,68px);line-height:1.03;max-width:590px;letter-spacing:-.045em;margin:0 0 21px}.hero h1 em{color:#fff}.lead{font-size:16px;line-height:1.7;color:#e0eaff;max-width:450px;margin-bottom:22px}.primary,.secondary{border-radius:8px;font-size:13px;min-height:44px;padding:12px 19px}.primary{background:#0966dc;color:#fff;box-shadow:0 5px 20px #001a4b33;border:1px solid #448fe9}.secondary{background:#0729578c;color:#fff;border:1px solid #72b7f5}.actions{gap:10px}
.section{background:linear-gradient(#f7faff,#eff5fd);padding:0 0 28px;position:relative}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;position:relative;top:-34px;margin-bottom:-34px}.card{padding:25px 24px;border-radius:13px;border:1px solid #d7e5f6;background:#fff;box-shadow:0 9px 28px #0a30600a;display:flex;flex-direction:column;align-items:flex-start}.card:hover{transform:translateY(-3px);border-color:#9fbfe6;box-shadow:0 12px 25px #0a306014}.card-icon{background:#eef5ff;color:#0863d6;width:44px;height:44px;border-radius:12px;font-size:25px}.card-icon svg{width:28px;height:28px}.card h3{font-size:21px;letter-spacing:-.02em;margin:16px 0 10px}.card p{font-size:14px;line-height:1.6;color:#506884;margin-bottom:22px}.card button,.card a{font-size:13px}.card:not(.office-card)>button,.card:not(.office-card)>a{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;padding:11px 15px;border-radius:7px;background:#0863d6;color:#fff;font-weight:750}.card:not(.office-card)>button:hover,.card:not(.office-card)>a:hover{background:#064da9}
.office-card{grid-column:1/-1;display:grid;grid-template-columns:.9fr 1.1fr 1.2fr;gap:26px;align-items:center;padding:0;overflow:hidden;scroll-margin-top:20px;background:#fff}.office-visual{height:100%;min-height:210px;display:grid;place-items:center;background:#e8f1fc}.office-visual svg{width:100%;height:100%;max-height:240px}.office-card>div:nth-child(2){padding:24px 0}.office-card>div:nth-child(2)>.card-icon{display:none}.office-card h3{margin:0 0 14px;font-size:22px}.office-card address{font-size:14px;line-height:1.65;color:#506884;margin-bottom:18px}.office-card>div:nth-child(2)>a{background:#0863d6;color:#fff;border-radius:7px;padding:11px 17px;font-size:13px}.office-map{border:0!important;border-radius:0;min-height:235px;height:100%;width:100%;background:#eaf1f7}.office-map iframe{height:100%;min-height:235px}.office-map-label{font-size:11px;right:10px;bottom:10px;padding:8px 10px;box-shadow:0 2px 8px #102a4215}
.footer{background:radial-gradient(ellipse at 80% 100%,#114f8c,#061f41 65%);padding:22px 0;color:#deebfa}.footer .shell{justify-content:center}.footer .brand{display:none}.footer span{font-size:13px}.whatsapp{width:54px;height:54px;right:20px;bottom:20px;box-shadow:0 7px 24px #06362626}.whatsapp svg{width:29px}
@media(max-width:1000px){.desktop-link{display:none}.office-card{grid-template-columns:.8fr 1.2fr}.office-visual{display:none}.office-card>div:nth-child(2){padding:26px}.hero-content{max-width:570px}}
@media(max-width:760px){.shell{padding:0 20px}.nav{padding:18px 0;gap:12px}.brand-logo{width:126px}.nav-pay{padding:11px 14px;font-size:12px}.hero{background-position:65% 50%}.hero:before{background:linear-gradient(90deg,#031b42f2,#062a59ab)}.hero-content{padding:42px 0 74px;max-width:100%}.hero h1{font-size:clamp(42px,10.5vw,60px);max-width:480px}.lead{font-size:15px;max-width:410px}.eyebrow{font-size:10px}.cards{grid-template-columns:1fr;gap:15px;top:-24px;margin-bottom:-24px}.card{padding:23px}.card h3{font-size:22px}.card p{margin-bottom:20px}.card:not(.office-card)>button,.card:not(.office-card)>a{max-width:none}.office-card{padding:0;grid-template-columns:1fr;gap:0}.office-card>div:nth-child(2){padding:25px}.office-map{min-height:220px}.office-map iframe{height:220px;min-height:220px}.office-card h3{font-size:23px}.section{padding-bottom:24px}.footer .shell{align-items:center}.whatsapp{width:50px;height:50px;right:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){html,body{scroll-behavior:auto}}

/* Mantiene alineados los accesos y el botón Clientes agregado por el portal. */
.nav{flex-wrap:nowrap!important;gap:20px!important}.nav-actions{flex-wrap:nowrap!important;gap:4px;min-width:0}.nav-actions>.nav-link{white-space:nowrap;padding:11px 10px!important;font-size:12px;font-weight:650;line-height:1.4;border:0;background:transparent;color:#e5eeff}.staff-access{display:inline-flex;align-items:center}.nav-actions>.nav-pay{flex-shrink:0;white-space:nowrap;margin-left:8px}
@media(max-width:1100px){.nav-actions>.desktop-link{display:none}}
@media(max-width:760px){.nav{flex-wrap:wrap!important;gap:14px!important}.nav-actions{display:grid;grid-template-columns:1fr 1fr auto;width:100%;gap:6px;align-items:center}.nav-actions>.nav-link{display:none}.nav-actions>.staff-access,.nav-actions>[data-open-clients]{display:inline-flex;align-items:center;justify-content:center;padding:10px 4px!important;font-size:11px}.nav-actions>.nav-pay{margin:0;font-size:11px;padding:11px 12px}.staff-access{order:0}.nav-pay{order:0}}
.staff-dialog{width:min(560px,calc(100vw - 28px));max-height:92dvh;padding:0;border:0;border-radius:20px;box-shadow:0 24px 80px #0005;background:#fff;color:#0b2b55}.staff-dialog::backdrop{background:#06172cb3;backdrop-filter:blur(4px)}.staff-dialog-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #e3ebf4}.staff-dialog-bar button{border:0;background:transparent;color:#0b2b55;font-size:30px;padding:0 8px}.staff-dialog iframe{display:block;width:100%;height:min(640px,70dvh);border:0;background:#fff}.staff-dialog-fallback{display:block;text-align:center;padding:13px 16px;color:#285d9f;font-size:13px;border-top:1px solid #e3ebf4}

.staff-dialog{width:min(460px,calc(100vw - 28px));border-radius:18px}.staff-dialog iframe{height:min(480px,65dvh)}.staff-dialog-bar{padding:15px 20px}.staff-dialog-bar strong{font-size:16px}.staff-dialog-bar button{display:grid;place-items:center;width:32px;height:32px;padding:0;border-radius:50%;background:#edf3fa;font-size:23px;line-height:1}.staff-dialog-bar button:focus-visible{outline:2px solid #5380c1;outline-offset:3px}.staff-dialog-fallback{font-size:12px;color:#61758c;padding:12px}
.staff-content{padding:24px}.staff-status{font-size:14px;color:#61758c;line-height:1.6;margin:0 0 18px}.staff-form{display:grid;gap:10px}.staff-form label{font-size:13px;font-weight:650;color:#173a60}.staff-form input:not([type=hidden]){width:100%;min-height:46px;border:1px solid #cbd9e9;border-radius:9px;padding:11px 13px;font:inherit;font-size:16px;color:#102b4e;background:#fff}.staff-form input:focus{outline:2px solid #70a8ed;outline-offset:1px}.staff-form button,.staff-continue{display:block;width:100%;border:0;border-radius:9px;background:#0863d6;color:#fff;font-size:14px;font-weight:700;padding:14px 18px;text-align:center;margin-top:10px}.staff-form label:not(:first-of-type){margin-top:8px}.staff-dialog{height:auto}.staff-dialog .staff-content [hidden]{display:none!important}
.staff-dialog{height:fit-content;min-height:0;margin:auto;overflow-y:auto}

.payment-confirmation h3{font-size:22px;letter-spacing:-.03em;margin:0 35px 12px 0}.payment-confirmation p{font-size:13px;color:#61758c;line-height:1.5}.payment-confirmation iframe{width:100%;height:min(560px,58dvh);border:1px solid #e2eaf4;border-radius:12px;background:#fff;display:block;margin:14px 0}.payment-confirmation>a{display:block;text-align:center;color:#3469af;font-size:12px;margin:12px 0 16px}.payment-panel.confirming-payment{width:min(100%,560px)}

.payment-confirmation iframe[hidden]{display:none!important}.confirmation-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;margin:20px 0;border:1px solid #dce7f3;background:#f7faff;border-radius:12px;padding:8px 16px}.confirmation-details dt,.confirmation-details dd{margin:0;padding:12px 0;font-size:14px;line-height:1.5;overflow-wrap:anywhere;border-bottom:1px solid #e3ebf4}.confirmation-details dt{color:#61758c}.confirmation-details dd{text-align:right;font-weight:700;color:#153555}.confirmation-details dt:nth-last-child(2),.confirmation-details dd:last-child{border-bottom:0}.confirmation-pay{width:100%;margin:2px 0 8px}.confirmation-pay:disabled{opacity:.65;cursor:wait}

:is(.payment-note.is-loading,.payment-loading){position:relative;overflow:hidden;border-radius:10px;background:#f0f5fc;color:#42658f;padding:13px 16px 27px;margin-top:12px;font-size:13px;font-weight:600;text-align:center}:is(.payment-note.is-loading,.payment-loading)::before{content:"";position:absolute;left:16px;right:16px;bottom:12px;height:4px;background:#dce7f6;border-radius:99px}:is(.payment-note.is-loading,.payment-loading)::after{content:"";position:absolute;left:16px;bottom:12px;height:4px;width:32%;border-radius:99px;background:linear-gradient(90deg,#5380c1,#2688e6);animation:billLoading 1.4s ease-in-out infinite}@keyframes billLoading{0%{left:16px;opacity:.5}50%{opacity:1}100%{left:calc(68% - 16px);opacity:.5}}@media(prefers-reduced-motion:reduce){:is(.payment-note.is-loading,.payment-loading)::after{animation:none;left:16px;width:calc(100% - 32px);opacity:.65}}

.confirmation-webpay-logo{display:block;width:110px;max-width:35%;height:auto;margin:0 auto 15px}.payment-confirmation h3{margin:0 28px 12px;text-align:center}.payment-confirmation>p{text-align:center}
#payment-results-title{text-align:center;padding-left:30px;padding-right:30px}#payment-results-message{text-align:center}

/* El acceso se abre cuando el portal ya respondió, sin una ventana previa. */
.staff-dialog-bar strong:focus{outline:none}
.staff-access[aria-busy="true"]{cursor:progress}
.staff-access[aria-busy="true"]::after{content:"";display:inline-block;width:14px;height:14px;margin-left:8px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:staff-loading .8s linear infinite}
@keyframes staff-loading{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.staff-access[aria-busy="true"]::after{animation:none}}
