/* Scoped to contact UI; no changes to the site's content, navigation or theme files. */
.gcu-form { --gcu-accent:#447780; --gcu-ink:#203e48; font-family:Arial,sans-serif; text-align:left; }
.gcu-form .cf_title { margin:0 0 10px!important; font:600 26px/1.25 Arial,sans-serif!important; text-align:left!important; }
.gcu-form .cf_title p { margin:0!important; }
.gcu-form .gcu-intro { margin:0 0 22px!important; font-size:15px; line-height:1.55; opacity:.9; }
.gcu-form p { margin-top:0; margin-bottom:16px; }
.gcu-form .gcu-label { display:block; margin:0 0 7px; font:600 14px/1.4 Arial,sans-serif; text-align:left; }
.gcu-form input[type="text"], .gcu-form input[type="tel"], .gcu-form input[type="email"], .gcu-form textarea, .gcu-form select {
  box-sizing:border-box; width:100%!important; max-width:100%; min-height:50px; padding:12px 14px!important;
  border:1px solid #c9d9dc!important; border-radius:7px!important; background:#fff!important; color:#203e48!important;
  font:400 16px/1.45 Arial,sans-serif!important; text-align:left!important; box-shadow:none;
}
.gcu-form textarea { min-height:108px; height:auto!important; resize:vertical; }
.gcu-form input::placeholder,.gcu-form textarea::placeholder { color:#657d84!important; opacity:1; }
.gcu-form :is(input,textarea,select,button,a):focus-visible, .gcu-contact-dock :focus-visible {
  outline:3px solid #36baca!important; outline-offset:3px;
}
.gcu-form .gcu-hint { display:block; margin:6px 0 0; font:400 12px/1.45 Arial,sans-serif; opacity:.85; }
.gcu-form .privacy-div { margin:18px 0 8px!important; text-align:left!important; }
.gcu-form .wpcf7-list-item { margin:0!important; }
.gcu-form .wpcf7-acceptance label { display:flex; align-items:flex-start; gap:10px; text-align:left; cursor:pointer; }
.gcu-form input[type="checkbox"] { appearance:auto; flex:0 0 20px; width:20px!important; height:20px!important; margin:1px 0 0!important; accent-color:#447780; }
.gcu-form .privacy-div p { margin:0 0 8px!important; }
.gcu-form .privacy-div, .gcu-form .privacy-div a, .gcu-form .form-privacy-note { font:400 13px/1.5 Arial,sans-serif!important; }
.gcu-form .privacy-policy-note { padding-left:30px; }
.gcu-form .gcu-submit-hint { margin:8px 0 14px!important; font:400 12px/1.45 Arial,sans-serif; opacity:.85; }
.gcu-form input[type="submit"] {
  width:100%!important; min-height:50px; padding:13px 20px!important; border:0!important; border-radius:7px!important;
  background:#447780!important; color:#fff!important; font:600 16px/1.4 Arial,sans-serif!important;
  text-transform:none!important; cursor:pointer; transition:background .15s ease;
}
.gcu-form input[type="submit"]:hover:not(:disabled) { background:#285d68!important; }
.gcu-form input[type="submit"]:disabled { background:#55737d!important; opacity:.7; cursor:not-allowed; }
.gcu-form[aria-busy="true"] input[type="submit"] { pointer-events:none; opacity:.7; }
.gcu-form .wpcf7-spinner, .gcu-form.submitting .wpcf7-spinner { display:none!important; }
.gcu-form .wpcf7-not-valid-tip { color:#a12424!important; background:#fff0ed; padding:6px 9px; border-radius:4px; font:400 13px/1.4 Arial,sans-serif!important; margin-top:6px; }
.gcu-form [aria-invalid="true"]:not([type="hidden"]) { border-color:#b63636!important; }
.gcu-form .wpcf7-response-output { margin:16px 0!important; border-radius:7px; padding:12px 14px!important; font:400 14px/1.5 Arial,sans-serif; }
.gcu-form.sent .wpcf7-response-output { background:#e5f5ef; color:#1c5d46; border-color:#84b8a3!important; }
.gcu-form.gcu-clean-response .wpcf7-response-output { display:none!important; }
.gcu-form .cf_line_input { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(170px,.65fr); gap:16px; align-items:start; }
.gcu-form .cf_line_input > p { margin:0!important; }
.gcu-form .cf_line_input > div { padding-top:27px; }
.gcu-form .cf_line_input > div p { margin:0!important; }
.gcu-form .cf_line { width:100%; max-width:100%; }
.gcu-alternatives { margin-top:20px; padding-top:16px; border-top:1px solid #9fb9bf66; }
.gcu-alternatives-title { margin:0 0 10px!important; font:400 13px/1.4 Arial,sans-serif; }
.gcu-channels { display:flex; gap:8px; flex-wrap:wrap; align-items:stretch; font-family:Arial,sans-serif; }
.gcu-channels .gcu-channel { box-sizing:border-box; min-height:44px; display:inline-flex; justify-content:center; align-items:center; gap:7px; padding:10px 13px; border:1px solid #b6cdd2; border-radius:7px; background:#f4f9fa; color:#28535e; font:600 14px/1.3 Arial,sans-serif; text-decoration:none; text-transform:none; }
.gcu-channels a.gcu-channel:hover { background:#e3f0ed; border-color:#447780; }
.gcu-channels .gcu-placeholder { cursor:default; background:#f1f5f6; color:#536b72; border-style:dashed; }
.gcu-channel small { font:400 10px/1.2 Arial,sans-serif; padding:3px 4px; border-radius:3px; background:#e1eaed; color:#50666d; }
.gcu-form .gcu-channels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.gcu-form .gcu-channel { padding:10px 5px; flex-wrap:wrap; }
.social-link { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.social-link .gcu-compact { display:inline-flex; gap:5px; }
.social-link .gcu-channel { min-height:32px; padding:5px 7px; font-size:11px; gap:4px; }
.header-bottom-whatsapp .gcu-channels { margin-top:8px; }
:is(.gcu-popup,.pum:has(form.gcu-form)) .pum-container { box-sizing:border-box; width:min(600px,calc(100vw - 32px))!important; max-width:600px!important; padding:32px!important; border-radius:12px!important; max-height:calc(100dvh - 48px); overflow-y:auto; }
:is(.gcu-popup,.pum:has(form.gcu-form)) .pum-close { min-width:36px; min-height:36px; border-radius:50%; top:8px!important; right:8px!important; }
.admin-bar :is(.gcu-popup,.pum:has(form.gcu-form)) .pum-close { top:40px!important; }
:is(.gcu-popup,.pum:has(form.gcu-form)) .gcu-form { color:#fff; }
:is(.gcu-popup,.pum:has(form.gcu-form)) .gcu-form a.polit_link { color:#b8e1e7!important; }
.gcu-replaced-floating { display:none!important; }
.gcu-contact-dock { position:fixed; z-index:990; right:20px; bottom:20px; font-family:Arial,sans-serif; }
.gcu-contact-toggle { display:block; list-style:none; cursor:pointer; border:1px solid #86bdc6; border-radius:28px; padding:14px 20px; background:#285d68; color:#fff; font-size:15px; font-weight:600; box-shadow:0 4px 20px #173b4933; }
.gcu-contact-toggle::-webkit-details-marker { display:none; }
.gcu-contact-panel { position:absolute; right:0; bottom:62px; width:min(290px,calc(100vw - 32px)); padding:18px; box-sizing:border-box; border:1px solid #d2e2e5; border-radius:12px; background:white; color:#203e48; box-shadow:0 6px 25px #173b4926; }
.gcu-contact-panel > p { margin:0 0 12px; font-weight:600; }
.gcu-contact-panel .gcu-channels { flex-direction:column; }
html.pum-open .gcu-contact-dock { display:none; }
@media(max-width:600px) {
  .admin-bar :is(.gcu-popup,.pum:has(form.gcu-form)) .pum-close { top:54px!important; }
  :is(.gcu-popup,.pum:has(form.gcu-form)) .pum-container { padding:34px 20px 22px!important; }
  .gcu-form .cf_title { font-size:22px!important; }
  .gcu-form .gcu-intro { font-size:14px; margin-bottom:18px!important; }
  .gcu-form .cf_line_input { grid-template-columns:minmax(0,1fr); gap:12px; }
  .gcu-form .cf_line_input > div { padding-top:0; }
  .gcu-form .gcu-channel { flex-direction:column; gap:4px; font-size:13px; }
  .gcu-contact-dock { right:12px; bottom:12px; }
  .gcu-form .privacy-policy-note { padding-left:0; }
}
@media(prefers-reduced-motion:reduce) { .gcu-form input[type="submit"] { transition:none; } }

/* 1.1 — consistent alignment and reserved validation space. */
.gcu-form p, .gcu-form .privacy-policy-note { text-align:left!important; }
.gcu-form .cf_title, .gcu-form .cf_title p, .gcu-form .gcu-intro, .gcu-form .gcu-alternatives-title { text-align:center!important; }
.gcu-form .gcu-intro { margin:0 auto 22px!important; max-width:48ch; }
.gcu-form .gcu-field-wrap { display:block; position:relative; padding-bottom:25px; }
.gcu-form .gcu-field-wrap .wpcf7-not-valid-tip { position:absolute!important; bottom:0; left:0; right:0; margin:0; padding:2px 0; background:none; font-size:12px!important; line-height:19px!important; }
:is(.gcu-popup,.pum:has(form.gcu-form)) .pum-content, :is(.gcu-popup,.pum:has(form.gcu-form)) .gcu-form { display:block!important; width:100%!important; box-sizing:border-box; }
:is(.gcu-popup,.pum:has(form.gcu-form)) .gcu-field-wrap .wpcf7-not-valid-tip { color:#ffc8bb!important; }
.gcu-form .privacy-div { margin:0 0 16px!important; }
.gcu-form .privacy-policy-note { padding-left:30px; }
.gcu-form .wpcf7-response-output, .gcu-form.gcu-clean-response .wpcf7-response-output {
  display:block!important; box-sizing:border-box; height:68px; margin:10px 0 0!important;
  padding:8px 10px!important; overflow:auto; visibility:hidden; font-size:13px; line-height:1.5;
}
.gcu-form:is(.sent,.invalid,.failed,.unaccepted,.spam,.aborted):not(.gcu-clean-response) .wpcf7-response-output { visibility:visible; }
.gcu-form .gcu-alternatives { margin-top:0; padding-top:14px; }
.gcu-channels .gcu-placeholder { background:#f4f9fa; color:#28535e; border-style:solid; }
.gcu-channels .gcu-channel { gap:8px; min-height:46px; white-space:nowrap; }
.gcu-icon { width:22px; height:22px; display:block; flex:0 0 22px; }
.gcu-icon-whatsapp { color:#20874d; }
.gcu-icon-telegram { color:#208bbd; }
.gcu-icon-max { color:#6556c8; }
.social-link .gcu-compact .gcu-channel { padding:5px; min-height:32px; }
.social-link .gcu-compact .gcu-channel > span { display:none; }
.social-link .gcu-compact .gcu-icon { width:22px; height:22px; }
@media(max-width:600px) {
  .gcu-form .gcu-channel { flex-direction:row; gap:5px; font-size:12px; }
  .gcu-form .gcu-icon { width:19px; height:19px; flex-basis:19px; }
  .gcu-form .privacy-policy-note { padding-left:30px; }
}

/* 1.2: compact forms, one clear action, consistent header/footer icons. */
.gcu-form .gcu-field-wrap .wpcf7-not-valid-tip { top:auto!important; }
.gcu-form .wpcf7-response-output,
.gcu-form.gcu-clean-response .wpcf7-response-output {
  display:none!important; height:auto; min-height:0; margin:0!important;
}
.gcu-form:is(.sent,.failed,.spam,.aborted):not(.gcu-clean-response) .wpcf7-response-output {
  display:block!important; visibility:visible; margin:12px 0!important;
}
.gcu-form .gcu-alternatives { margin-top:20px; }
.gcu-inline-form { display:block!important; width:100%!important; max-width:560px!important; margin:0 auto!important; }
.gcu-inline-form .cf_line,
.gcu-inline-form .cf_line_input { display:block!important; width:100%!important; padding:0!important; margin:0!important; }
.gcu-inline-form .cf_line_input > p { width:100%!important; margin:0!important; }
.gcu-inline-form input[type="tel"], .gcu-inline-form input[type="submit"] { margin:0!important; animation:none!important; }
.gcu-inline-submit { width:100%!important; margin-top:16px; }
.gcu-form input[type="submit"] { max-width:100%!important; box-sizing:border-box!important; }
:is(.gcu-inline-card,.scons:has(form.gcu-form)) { gap:28px; }
:is(.gcu-inline-card,.scons:has(form.gcu-form)) .scons_left { flex:1 1 0; min-width:0; }
:is(.gcu-inline-card,.scons:has(form.gcu-form)) .scons_right { flex:0 1 35%; min-width:0; }
:is(.gcu-inline-card,.scons:has(form.gcu-form)):is(.gcu-stacked-card,.scons.style_2:has(form.gcu-form)) {
  display:grid!important; grid-template-columns:minmax(0,1fr); gap:16px!important;
  max-width:760px; margin:24px auto 40px!important; padding:28px!important; box-sizing:border-box;
}
:is(.gcu-stacked-card,.scons.style_2:has(form.gcu-form)) > .style_2_item1 { background:none!important; color:#203e48!important; padding:0!important; text-align:center!important; font-weight:600; }
:is(.gcu-stacked-card,.scons.style_2:has(form.gcu-form)) > .style_2_item2 { min-width:0; width:100%!important; padding:0!important; }
:is(.gcu-stacked-card,.scons.style_2:has(form.gcu-form)) .style_2_item1 p { margin:0!important; }
.gcu-hero-actions { display:flex!important; justify-content:center!important; align-items:center!important; gap:0!important; width:100%; }
.gcu-hero-actions .header-bottom-button { margin:0!important; padding:0!important; }
.gcu-hero-actions .header-bottom-button a { display:inline-block; max-width:100%; box-sizing:border-box; white-space:normal; text-align:center; }
.social-link .gcu-compact { gap:6px!important; align-items:center; }
.social-link .gcu-compact .gcu-channel {
  display:inline-flex!important; width:40px!important; height:40px!important; min-height:40px!important;
  padding:6px!important; margin:0!important; border:0!important; border-radius:50%!important;
  background:transparent!important; box-shadow:none!important;
}
.social-link .gcu-compact .gcu-icon { width:28px!important; height:28px!important; flex-basis:28px!important; }
.social-link .gcu-compact a.gcu-channel:hover { background:#e5eff0!important; }
@media(max-width:700px) {
  :is(.gcu-inline-card,.scons:has(form.gcu-form)) { display:block; }
  :is(.gcu-inline-card,.scons:has(form.gcu-form)):is(.gcu-stacked-card,.scons.style_2:has(form.gcu-form)) { padding:22px 16px!important; }
  :is(.gcu-inline-card,.scons:has(form.gcu-form)) .scons_right { display:none; }
  .gcu-hero-actions .header-bottom-button { width:100%; }
  .gcu-hero-actions .header-bottom-button a { width:100%; }
}

/* Follow-along navigation only. The full header stays at the top of the page. */
#masthead.gcu-header-fixed {
  position:fixed!important; top:var(--gcu-admin-offset,0px)!important; left:0; right:0;
  width:100%; z-index:1000; background:#fff; box-shadow:0 3px 14px #173b4920;
}
#masthead.gcu-header-fixed > :not(.topmenu) { display:none!important; }
html { scroll-padding-top:var(--gcu-header-offset,12px); }
.gcu-back-top {
  position:fixed; left:auto; right:20px; bottom:20px; z-index:990;
  display:flex; align-items:center; justify-content:center; width:48px; height:48px;
  padding:12px; border:1px solid #86bdc6; border-radius:50%; background:#285d68;
  color:#fff; box-shadow:0 4px 20px #173b4933; cursor:pointer;
}
.gcu-back-top[hidden], html.pum-open .gcu-back-top { display:none!important; }
.gcu-back-top svg { display:block; width:24px; height:24px; }
.gcu-back-top:hover { background:#203e48; }
.gcu-back-top:focus-visible { outline:3px solid #36baca; outline-offset:3px; }
@media(max-width:890px) {
  #masthead.gcu-header-fixed > .container { display:none!important; }
  #masthead.gcu-header-fixed .site-branding { display:flex!important; align-items:center; justify-content:space-between; gap:12px; padding:8px 0!important; margin:0!important; }
  #masthead.gcu-header-fixed .site-branding-left { display:flex!important; align-items:center; gap:8px; width:auto!important; margin:0!important; padding:0!important; }
  #masthead.gcu-header-fixed .custom-logo { width:36px!important; height:auto!important; }
  #masthead.gcu-header-fixed .site-title { font-size:18px!important; letter-spacing:2px!important; margin:0!important; }
  #masthead.gcu-header-fixed .site-description,
  #masthead.gcu-header-fixed .site-branding-right { display:none!important; }
  #masthead.gcu-header-fixed .site-branding-center { display:block!important; width:auto!important; margin:0!important; padding:0!important; }
  #masthead.gcu-header-fixed .site-branding-center .popcf { display:block; font-size:11px!important; padding:9px 10px!important; margin:0!important; white-space:nowrap; }
  .gcu-back-top { left:auto; right:12px; bottom:12px; width:44px; height:44px; padding:10px; }
}
.gcu-contact-dock { right:20px; bottom:88px; }
@media(max-width:600px) {
  .gcu-contact-dock { right:12px; bottom:72px; }
  .gcu-contact-panel { width:min(290px,calc(100vw - 24px)); }
}
/* Pointer clicks need no persistent outline; keyboard focus remains visible. */
a.custom-logo-link:focus:not(:focus-visible) { outline:none!important; }
a.custom-logo-link:focus-visible { outline:2px solid #36baca!important; outline-offset:4px; border-radius:4px; }

/* Equal review cards; full text is readable in an accessible native dialog. */
.gcu-reviews .wpmslider-viewport { height:300px!important; }
.gcu-reviews .wpmtst-testimonial { height:298px!important; box-sizing:border-box!important; border:1px solid #d8e4e6!important; border-radius:10px; background:#fff; }
.gcu-reviews .testimonial-inner { display:flex!important; flex-direction:column; height:100%!important; padding:22px!important; box-sizing:border-box; }
.gcu-reviews .testimonial-heading { margin:0 0 14px!important; color:#203e48; font:600 19px/1.35 Arial,sans-serif!important; }
.gcu-reviews .testimonial-content { display:-webkit-box!important; -webkit-box-orient:vertical; -webkit-line-clamp:6; overflow:hidden!important; max-height:150px; font:400 16px/25px Arial,sans-serif!important; text-align:left; }
.gcu-reviews .testimonial-content p { margin:0 0 8px!important; font:inherit!important; }
.gcu-reviews .testimonial-inner > .clear { display:none; }
.gcu-review-more { align-self:flex-start; margin-top:auto; padding:8px 0 0; border:0; background:none; color:#285d68; font:600 14px/1.4 Arial,sans-serif; text-decoration:underline; cursor:pointer; }
.gcu-review-dialog { width:min(640px,calc(100vw - 32px)); max-height:80dvh; box-sizing:border-box; padding:28px; border:1px solid #d8e4e6; border-radius:12px; background:#fff; color:#203e48; }
.gcu-review-dialog::backdrop { background:#172d37b3; }
.gcu-review-dialog h2 { margin:0 0 20px; font:600 22px/1.35 Arial,sans-serif; }
.gcu-review-full { font:400 16px/1.65 Arial,sans-serif; }
.gcu-review-full p { margin:0 0 16px; }
.gcu-review-close { border:0; border-radius:7px; background:#285d68; color:white; padding:12px 24px; cursor:pointer; font:600 15px/1.4 Arial,sans-serif; }
.gcu-review-more:focus-visible,.gcu-review-close:focus-visible { outline:3px solid #36baca; outline-offset:3px; }
html { scrollbar-gutter:stable; }
html.gcu-review-open { overflow:hidden; }
.gcu-review-dialog { overscroll-behavior:contain; }
@media(max-width:600px) { .gcu-reviews .testimonial-inner { padding:18px!important; } .gcu-review-dialog { padding:22px; } }

/* 1.6: permanent presentation applies before the first paint. */
footer .meta-disclaimer, a:has(> .whatsapp-button) { display:none!important; }
.gcu-review-more { visibility:hidden; }
.gcu-contact-toggle, .gcu-back-top {
  box-sizing:border-box; display:flex; align-items:center; justify-content:center;
  width:64px; height:64px; min-width:64px; min-height:64px; padding:15px; border-radius:50%;
}
.gcu-contact-toggle svg, .gcu-back-top svg { display:block; width:32px; height:32px; flex:0 0 32px; }
.gcu-contact-dock { bottom:100px; }
.gcu-contact-panel { bottom:78px; }
.gcu-contact-toggle:hover { background:#203e48; }
.gcu-back-top, .gcu-back-top:hover, .gcu-back-top:focus, .gcu-back-top:active {
  background:transparent; color:#527582; border:1px solid #8ba5ad; box-shadow:none;
}
.gcu-back-top:hover { color:#203e48; border-color:#527582; }
@media(max-width:600px) {
  .gcu-contact-toggle, .gcu-back-top { width:56px; height:56px; min-width:56px; min-height:56px; padding:12px; }
  .gcu-contact-toggle svg, .gcu-back-top svg { width:30px; height:30px; flex-basis:30px; }
  .gcu-contact-dock { bottom:82px; }
  .gcu-contact-panel { bottom:70px; }
}
.gcu-reviews:not(.gcu-reviews-grid):not(:has(.wpmslider-viewport)) .strong-content {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px;
  height:300px; overflow:hidden;
}
@media(max-width:600px) {
  .gcu-reviews:not(.gcu-reviews-grid):not(:has(.wpmslider-viewport)) .strong-content { grid-template-columns:minmax(0,1fr); }
}
#primary:has(.gcu-reviews-grid) { width:100%; }
.gcu-reviews-grid .strong-content { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; height:auto!important; overflow:visible; }
.gcu-reviews-grid .strong-content::before, .gcu-reviews-grid .strong-content::after { display:none!important; }
.gcu-reviews-grid .wpmtst-testimonial { position:static!important; width:100%!important; margin:0!important; min-width:0; }
.gcu-payment-intro.wp-block-media-text { display:block; min-height:0; margin:24px 0; border-radius:10px; }
.gcu-payment-intro .wp-block-media-text__content { padding:28px!important; }
.gcu-payment-intro p { margin:0; }
@media(max-width:700px) { .gcu-reviews-grid .strong-content { grid-template-columns:minmax(0,1fr); } }
