/* GAESTOPAS Cuentas del configurador. Todo bajo .ggcta: se monta dentro de #ggcfg y usa sus variables
   (colores, tipografías, modo oscuro). Fuera del configurador (.ggcta-solo) se definen valores propios. */
.ggcta-solo{--bg:#EDEDED;--surface:#FFFFFF;--ink:#3C3C3B;--muted:#6F6F6E;--line:#DADADA;--accent:#E0004D;--accent-h:#BF0042;--accent-ink:#FFFFFF;--brand:#0090A0;--ok:#1C7F52;--bad:#C0262D;--body:"Inter",system-ui,sans-serif;--display:"Poppins",system-ui,sans-serif;--gr:16px}
#ggcfg .ggcta,.ggcta{font:15px/1.5 var(--body,system-ui,sans-serif);color:var(--ink,#3C3C3B)}
#ggcfg .ggcta *,.ggcta *{box-sizing:border-box}
#ggcfg .ggcta [hidden],.ggcta [hidden]{display:none!important}

/* ventana */
#ggcfg .ggcta-ov,.ggcta-ov{position:fixed;inset:0;z-index:100080;background:rgba(10,28,40,.62);display:flex;align-items:flex-start;justify-content:center;padding:max(16px,4vh) 16px 16px;overflow-y:auto;overscroll-behavior:contain}
#ggcfg .ggcta-box,.ggcta-box{background:var(--surface,#fff);color:var(--ink,#3C3C3B);width:100%;max-width:520px;border-radius:12px;box-shadow:0 18px 48px rgba(0,0,0,.35);margin:auto 0}
#ggcfg .ggcta-box.wide,.ggcta-box.wide{max-width:760px}
#ggcfg .ggcta-head,.ggcta-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 0}
#ggcfg .ggcta-h,.ggcta-h{font:600 20px/1.3 var(--display,system-ui,sans-serif);margin:0;color:var(--ink,#3C3C3B)}
#ggcfg .ggcta-h3,.ggcta-h3{font:600 16px/1.3 var(--display,system-ui,sans-serif);margin:18px 0 8px;color:var(--ink,#3C3C3B)}
#ggcfg .ggcta-x,.ggcta-x{border:0;background:transparent;color:var(--muted,#6F6F6E);font-size:26px;line-height:1;padding:4px 8px;cursor:pointer;border-radius:6px}
#ggcfg .ggcta-x:hover,.ggcta-x:hover{color:var(--ink,#3C3C3B)}
#ggcfg .ggcta-body,.ggcta-body{padding:8px 20px 20px}
#ggcfg .ggcta-p,.ggcta-p{margin:8px 0;font-size:15px;line-height:1.55}
#ggcfg .ggcta-motivo,.ggcta-motivo{background:var(--accent-soft,#FBE1ED);color:var(--ink,#3C3C3B);border-radius:8px;padding:8px 12px}
#ggcfg .ggcta-help,.ggcta-help{color:var(--muted,#6F6F6E);font-size:13px;margin:4px 0}
#ggcfg .ggcta-legal,.ggcta-legal{color:var(--muted,#6F6F6E);font-size:12px;line-height:1.5;margin:14px 0 8px;padding:10px 12px;border:1px solid var(--line,#DADADA);border-radius:8px}
#ggcfg .ggcta-ok,.ggcta-ok{color:var(--ok,#1C7F52);font-size:14px;margin:6px 0;min-height:0}
#ggcfg .ggcta-err,.ggcta-err{color:var(--bad,#C0262D);font-size:13px;margin:4px 0 0;min-height:0}
#ggcfg .ggcta-err:empty,.ggcta-err:empty,#ggcfg .ggcta-ok:empty,.ggcta-ok:empty{display:none}
#ggcfg .ggcta-form-err,.ggcta-form-err{font-size:14px;margin:10px 0}

/* formularios */
#ggcfg .ggcta fieldset,.ggcta fieldset{border:0;padding:0;margin:12px 0 0;min-width:0}
#ggcfg .ggcta legend,.ggcta legend{font:600 14px var(--display,system-ui,sans-serif);color:var(--brand,#0090A0);padding:0;margin:0 0 4px;text-transform:none}
#ggcfg .ggcta-row,.ggcta-row{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
#ggcfg .ggcta-row>.ggcta-fld:not(.half),.ggcta-row>.ggcta-fld:not(.half){grid-column:1/-1}
@media (max-width:560px){#ggcfg .ggcta-row,.ggcta-row{grid-template-columns:1fr}}
#ggcfg .ggcta-fld,.ggcta-fld{margin:8px 0 0}
#ggcfg .ggcta-fld label,.ggcta-fld label{display:block;font-weight:600;font-size:14px;margin:0 0 4px;color:var(--ink,#3C3C3B)}
#ggcfg .ggcta input[type=text],#ggcfg .ggcta input[type=email],#ggcfg .ggcta input[type=password],#ggcfg .ggcta input[type=tel],#ggcfg .ggcta input[type=url],#ggcfg .ggcta select,#ggcfg .ggcta textarea,
.ggcta input[type=text],.ggcta input[type=email],.ggcta input[type=password],.ggcta input[type=tel],.ggcta input[type=url],.ggcta select,.ggcta textarea{display:block;width:100%;font:15px/1.4 var(--body,system-ui,sans-serif);color:var(--ink,#3C3C3B);background:var(--surface,#fff);border:1px solid var(--line,#DADADA);border-radius:8px;padding:9px 11px;margin:0;min-height:42px;appearance:auto}
#ggcfg .ggcta textarea,.ggcta textarea{min-height:72px;resize:vertical}
#ggcfg .ggcta input:focus,#ggcfg .ggcta select:focus,#ggcfg .ggcta textarea:focus,.ggcta input:focus,.ggcta select:focus,.ggcta textarea:focus{outline:2px solid var(--brand,#0090A0);outline-offset:1px;border-color:var(--brand,#0090A0)}
#ggcfg .ggcta [aria-invalid=true],.ggcta [aria-invalid=true]{border-color:var(--bad,#C0262D)}
#ggcfg .ggcta-pw,.ggcta-pw{display:flex;gap:6px;align-items:stretch}
#ggcfg .ggcta-pw input,.ggcta-pw input{flex:1}
#ggcfg .ggcta-show,.ggcta-show{border:1px solid var(--line,#DADADA);background:var(--surface,#fff);color:var(--ink,#3C3C3B);border-radius:8px;padding:0 12px;font:600 13px var(--body,system-ui,sans-serif);cursor:pointer}
#ggcfg .ggcta-reqs,.ggcta-reqs{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;color:var(--muted,#6F6F6E)}
#ggcfg .ggcta-reqs li,.ggcta-reqs li{margin:0;padding:0 0 0 18px;position:relative}
#ggcfg .ggcta-reqs li::before,.ggcta-reqs li::before{content:"";position:absolute;left:2px;top:.45em;width:9px;height:9px;border-radius:50%;border:1.5px solid currentColor}
#ggcfg .ggcta-reqs li.ok,.ggcta-reqs li.ok{color:var(--ok,#1C7F52)}
#ggcfg .ggcta-reqs li.ok::before,.ggcta-reqs li.ok::before{background:currentColor}
#ggcfg .ggcta-chk,.ggcta-chk{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin:10px 0 0}
#ggcfg .ggcta-chk input,.ggcta-chk input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--brand,#0090A0)}
#ggcfg .ggcta-chk label,.ggcta-chk label,#ggcfg .ggcta-chk-l,.ggcta-chk-l{flex:1;font-size:14px;line-height:1.45;font-weight:400}
#ggcfg .ggcta-chk .ggcta-err,.ggcta-chk .ggcta-err{flex-basis:100%;margin-left:26px}
#ggcfg .ggcta-hp,.ggcta-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

/* botones y enlaces */
#ggcfg .ggcta-acts,.ggcta-acts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
#ggcfg .ggcta-acts.center,.ggcta-acts.center{justify-content:center}
#ggcfg .ggcta-btn,.ggcta-btn{display:inline-block;border:1px solid var(--accent,#E0004D);background:var(--accent,#E0004D);color:var(--accent-ink,#fff);border-radius:8px;padding:10px 16px;font:700 15px/1.2 var(--body,system-ui,sans-serif);cursor:pointer;text-decoration:none}
#ggcfg .ggcta-btn:hover,.ggcta-btn:hover{background:var(--accent-h,#BF0042);border-color:var(--accent-h,#BF0042)}
#ggcfg .ggcta-btn.quiet,.ggcta-btn.quiet{background:var(--surface,#fff);border-color:var(--line,#DADADA);color:var(--ink,#3C3C3B)}
#ggcfg .ggcta-btn.quiet:hover,.ggcta-btn.quiet:hover{border-color:var(--ink,#3C3C3B)}
#ggcfg .ggcta-btn.danger,.ggcta-btn.danger{background:var(--bad,#C0262D);border-color:var(--bad,#C0262D);color:#fff}
#ggcfg .ggcta-btn.quiet.danger,.ggcta-btn.quiet.danger{background:var(--surface,#fff);color:var(--bad,#C0262D);border-color:var(--line,#DADADA)}
#ggcfg .ggcta-btn.sm,.ggcta-btn.sm{padding:6px 10px;font-size:13px}
#ggcfg .ggcta-btn[disabled],.ggcta-btn[disabled]{opacity:.55;cursor:default}
#ggcfg .ggcta-links,.ggcta-links{margin:12px 0 0;font-size:14px;display:flex;flex-wrap:wrap;gap:6px 16px}
#ggcfg .ggcta-link,.ggcta-link{border:0;background:transparent;padding:0;color:var(--brand,#0090A0);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
#ggcfg .ggcta :focus-visible,.ggcta :focus-visible{outline:2px solid var(--brand,#0090A0);outline-offset:2px}

/* verificación */
#ggcfg .ggcta-verif,.ggcta-verif{text-align:left}
#ggcfg .ggcta-mail-ico,.ggcta-mail-ico{display:block;width:52px;height:40px;margin:6px 0 8px;color:var(--brand,#0090A0)}
#ggcfg .ggcta-mail-ico svg,.ggcta-mail-ico svg{display:block;width:100%;height:100%}
#ggcfg .ggcta-corregir,.ggcta-corregir{margin:8px 0}

/* mi cuenta */
#ggcfg .ggcta-sec,.ggcta-sec{border-top:1px solid var(--line,#DADADA);margin-top:18px}
#ggcfg .ggcta-det,.ggcta-det{border:1px solid var(--line,#DADADA);border-radius:8px;padding:10px 12px;margin:10px 0}
#ggcfg .ggcta-det summary,.ggcta-det summary{cursor:pointer;font-weight:600}
#ggcfg .ggcta-det.danger summary,.ggcta-det.danger summary{color:var(--bad,#C0262D)}
#ggcfg .ggcta-logo-img,.ggcta-logo-img{display:block;max-width:240px;max-height:100px;background:#fff;border:1px solid var(--line,#DADADA);border-radius:6px;padding:6px}
#ggcfg .ggcta-file,.ggcta-file{display:none!important}
#ggcfg .ggcta-pct,.ggcta-pct{display:inline-block!important;width:80px!important;text-align:right;min-height:34px!important;padding:5px 8px!important}

/* tablas */
#ggcfg .ggcta-scroll,.ggcta-scroll{overflow-x:auto}
#ggcfg .ggcta-tbl,.ggcta-tbl{width:100%;border-collapse:collapse;font-size:14px}
#ggcfg .ggcta-tbl th,#ggcfg .ggcta-tbl td,.ggcta-tbl th,.ggcta-tbl td{border-bottom:1px solid var(--line,#DADADA);padding:8px 6px;text-align:left;vertical-align:middle}
#ggcfg .ggcta-tbl th,.ggcta-tbl th{font-size:12px;color:var(--muted,#6F6F6E);font-weight:600}
#ggcfg .ggcta-tbl .r,.ggcta-tbl .r{text-align:right;white-space:nowrap}
#ggcfg .ggcta-tbl .acc,.ggcta-tbl .acc{white-space:nowrap}
#ggcfg .ggcta-tbl .acc .ggcta-btn,.ggcta-tbl .acc .ggcta-btn{margin:2px}
#ggcfg .ggcta-ren,.ggcta-ren{display:inline-block!important;width:auto!important;min-width:160px;min-height:32px!important;padding:4px 8px!important;margin-right:6px!important}
@media (max-width:640px){
  #ggcfg .ggcta-tbl.proy thead,.ggcta-tbl.proy thead{display:none}
  #ggcfg .ggcta-tbl.proy tr,.ggcta-tbl.proy tr{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--line,#DADADA);padding:6px 0}
  #ggcfg .ggcta-tbl.proy td,.ggcta-tbl.proy td{border:0;padding:2px 4px}
  #ggcfg .ggcta-tbl.proy td.nm,.ggcta-tbl.proy td.nm{grid-column:1/-1;font-weight:600}
  #ggcfg .ggcta-tbl.proy td.acc,.ggcta-tbl.proy td.acc{grid-column:1/-1;white-space:normal}
}
#ggcfg .ggcta-ol,.ggcta-ol{margin:4px 0 8px;padding-left:22px}
#ggcfg .ggcta-ol li,.ggcta-ol li{margin:2px 0}

/* menú de cuenta */
#ggcfg .ggcta-menu-slot,.ggcta-menu-slot{display:inline-flex;align-items:center}
#ggcfg .ggcta-menu,.ggcta-menu{position:relative}
#ggcfg .ggcta-menu-btn,.ggcta-menu-btn{border:1px solid var(--line,#DADADA);background:var(--surface,#fff);color:var(--ink,#3C3C3B);border-radius:8px;padding:7px 12px;font:600 14px var(--body,system-ui,sans-serif);cursor:pointer;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#ggcfg .ggcta-menu-btn.on::after,.ggcta-menu-btn.on::after{content:"";display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 0 3px 8px}
#ggcfg .ggcta-menu-list,.ggcta-menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:100075;background:var(--surface,#fff);border:1px solid var(--line,#DADADA);border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.18);min-width:190px;padding:4px}
#ggcfg .ggcta-menu-list[hidden],.ggcta-menu-list[hidden]{display:none}
#ggcfg .ggcta-menu-list button,.ggcta-menu-list button{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--ink,#3C3C3B);font:15px var(--body,system-ui,sans-serif);padding:9px 12px;border-radius:6px;cursor:pointer}
#ggcfg .ggcta-menu-list button:hover,#ggcfg .ggcta-menu-list button:focus,.ggcta-menu-list button:hover,.ggcta-menu-list button:focus{background:var(--bg,#EDEDED)}

/* muro */
#ggcfg .ggcta-wall,.ggcta-wall{max-width:520px;margin:24px auto;background:var(--surface,#fff);border:1px solid var(--line,#DADADA);border-radius:12px;box-shadow:0 12px 36px rgba(0,0,0,.14);padding:22px 22px 18px;text-align:center}
#ggcfg .ggcta-wall-t,.ggcta-wall-t{font:600 22px/1.3 var(--display,system-ui,sans-serif);margin:0 0 6px;color:var(--ink,#3C3C3B)}
#ggcfg .ggcta-wall-datos,.ggcta-wall-datos{font:600 15px var(--body,system-ui,sans-serif);color:var(--brand,#0090A0);margin:0 0 6px}

/* aviso breve */
#ggcfg .ggcta-toast,.ggcta-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);opacity:0;z-index:100090;background:var(--ink,#3C3C3B);color:var(--bg,#EDEDED);padding:10px 16px;border-radius:8px;font-size:14px;max-width:min(560px,calc(100vw - 32px));box-shadow:0 6px 24px rgba(0,0,0,.2);transition:opacity .2s ease,transform .2s ease;pointer-events:none}
#ggcfg .ggcta-toast.on,.ggcta-toast.on{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){#ggcfg .ggcta-toast,.ggcta-toast{transition:none}}

/* banda «Enviar al cliente» (equipo comercial): teal de la marca, distinta del resto de botones */
#ggcfg .ggcta-banda,.ggcta-banda{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;background:var(--brand-btn,#0090A0);color:#fff;border-radius:10px;padding:12px 16px;margin:12px 0}
#ggcfg .ggcta-banda-btn,.ggcta-banda-btn{display:inline-flex;align-items:center;gap:8px;border:2px solid #fff;background:#fff;color:#03454D;border-radius:8px;padding:10px 18px;font:700 16px/1.2 var(--body,system-ui,sans-serif);cursor:pointer}
#ggcfg .ggcta-banda-btn:hover,.ggcta-banda-btn:hover{background:#CCEAE9;border-color:#CCEAE9}
#ggcfg .ggcta-banda-txt,.ggcta-banda-txt{margin:0;flex:1;min-width:200px;font-size:14px;line-height:1.4;color:#fff}
#ggcfg .ggcta-ico-env,.ggcta-ico-env{display:inline-block;width:18px;height:18px}
#ggcfg .ggcta-ico-env svg,.ggcta-ico-env svg{display:block;width:100%;height:100%}
#ggcfg .ggcta-btn.brand,.ggcta-btn.brand{background:var(--brand-btn,#0090A0);border-color:var(--brand-btn,#0090A0);color:var(--brand-btn-ink,#fff)}
#ggcfg .ggcta-btn.brand:hover,.ggcta-btn.brand:hover{background:var(--brand-btn-h,#03454D);border-color:var(--brand-btn-h,#03454D)}
#ggcfg .ggcta-aviso-cliente,.ggcta-aviso-cliente{font-size:13px;color:var(--ink,#3C3C3B)}

/* Mi cuenta: menú lateral */
#ggcfg .ggcta-cta,.ggcta-cta{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:start}
#ggcfg .ggcta-cta-nav,.ggcta-cta-nav{display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--line,#DADADA);padding-right:12px}
#ggcfg .ggcta-cta-tab,.ggcta-cta-tab{appearance:none;background:none;border:0;border-left:3px solid transparent;border-radius:0 6px 6px 0;text-align:left;font:inherit;font-size:15px;color:var(--ink,#3C3C3B);padding:9px 12px;cursor:pointer}
#ggcfg .ggcta-cta-tab:hover,.ggcta-cta-tab:hover{background:rgba(0,0,0,.05)}
#ggcfg .ggcta-cta-tab.on,.ggcta-cta-tab.on{border-left-color:var(--brand,#0090A0);background:rgba(0,144,160,.09);font-weight:600}
#ggcfg .ggcta-cta-tab:focus-visible,.ggcta-cta-tab:focus-visible{outline:2px solid var(--brand,#0090A0);outline-offset:1px}
#ggcfg .ggcta-cta-pane[hidden],.ggcta-cta-pane[hidden]{display:none}
#ggcfg .ggcta-cta-pane>.ggcta-h3:first-child,.ggcta-cta-pane>.ggcta-h3:first-child{margin-top:0}
@media (max-width:640px){
  #ggcfg .ggcta-cta,.ggcta-cta{grid-template-columns:1fr;gap:14px}
  #ggcfg .ggcta-cta-nav,.ggcta-cta-nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line,#DADADA);padding:0 0 4px;gap:4px;-webkit-overflow-scrolling:touch}
  #ggcfg .ggcta-cta-tab,.ggcta-cta-tab{white-space:nowrap;border-left:0;border-bottom:3px solid transparent;border-radius:6px 6px 0 0;padding:9px 12px}
  #ggcfg .ggcta-cta-tab.on,.ggcta-cta-tab.on{border-bottom-color:var(--brand,#0090A0)}
}

/* Mi cuenta: caja de tamaño fijo, con desplazamiento interno en cada sección */
#ggcfg .ggcta-box.fija,.ggcta-box.fija{display:flex;flex-direction:column;height:min(640px,calc(100vh - max(16px,4vh) - 16px));margin:auto 0}
#ggcfg .ggcta-box.fija .ggcta-head,.ggcta-box.fija .ggcta-head{flex:none}
#ggcfg .ggcta-box.fija .ggcta-body,.ggcta-box.fija .ggcta-body{flex:1;min-height:0;display:flex;flex-direction:column;padding-bottom:16px}
#ggcfg .ggcta-box.fija .ggcta-cta,.ggcta-box.fija .ggcta-cta{flex:1;min-height:0;margin-top:14px}
#ggcfg .ggcta-box.fija .ggcta-cta-nav,.ggcta-box.fija .ggcta-cta-nav{align-self:stretch}
#ggcfg .ggcta-box.fija .ggcta-cta-panes,.ggcta-box.fija .ggcta-cta-panes{height:100%;min-height:0;overflow-y:auto;padding-right:6px;overscroll-behavior:contain}
@media (max-width:640px){
  #ggcfg .ggcta-box.fija,.ggcta-box.fija{height:calc(100vh - max(16px,4vh) - 16px)}
  #ggcfg .ggcta-box.fija .ggcta-cta,.ggcta-box.fija .ggcta-cta{grid-template-rows:auto minmax(0,1fr)}
}
