/* GESTOR CLEAN | Checkout QA Visual v2 — themeable and mobile-first */
body.gc-checkout-preview-mode{overflow:hidden!important}
#gc-checkout-preview{
  position:fixed;inset:0;z-index:2147483500;overflow-y:auto;
  overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  background:var(--gc-bg,#102d29);color:var(--gc-text,#12372f);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.5;
}
#gc-checkout-preview *,#gc-checkout-preview *::before,
#gc-checkout-preview *::after{box-sizing:border-box}
#gc-checkout-preview [hidden]{display:none!important}
#gc-checkout-preview button{font:inherit}
#gc-checkout-preview .gc-cp-container{
  max-width:1080px;margin:0 auto;
  padding:24px clamp(16px,3.8vw,40px) calc(42px + env(safe-area-inset-bottom))
}
/* Brand/header */
#gc-checkout-preview .gc-cp-topline{
  display:flex;align-items:center;justify-content:space-between;gap:12px
}
#gc-checkout-preview .gc-cp-company{
  min-width:0;display:flex;align-items:center;gap:11px;
  font-size:14px;letter-spacing:-.012em;font-weight:780
}
#gc-checkout-preview .gc-cp-company>strong{
  overflow-wrap:anywhere;color:#f1fff8;-webkit-text-fill-color:#f1fff8
}
#gc-checkout-preview .gc-cp-company-mark{
  display:grid;place-items:center;flex:none;width:44px;height:44px;
  overflow:hidden;border:1px solid rgba(255,255,255,.22);
  border-radius:13px;background:rgba(255,255,255,.07);
  color:#f2fffa;font-size:14px;font-weight:850
}
#gc-checkout-preview .gc-cp-company-mark img{
  width:100%;height:100%;display:block;object-fit:contain
}
#gc-checkout-preview .gc-cp-sandbox-pill{
  flex:none;font-size:10px;font-weight:850;letter-spacing:.065em;
  border-radius:100px;background:#fff4d9;color:#825b18;border:1px solid #efd7a5;
  padding:8px 11px;white-space:nowrap
}
#gc-checkout-preview .gc-cp-heading{margin:29px 0 22px}
#gc-checkout-preview .gc-cp-eyebrow{
  display:block;font-size:11px;font-weight:820;letter-spacing:.1em;
  color:#89e3c0;-webkit-text-fill-color:#89e3c0
}
#gc-checkout-preview .gc-cp-heading h1{
  margin:7px 0 7px;font-size:clamp(25px,3.6vw,39px);
  line-height:1.19;font-weight:850;letter-spacing:-.043em;
  color:#f7fff9;-webkit-text-fill-color:#f7fff9
}
#gc-checkout-preview .gc-cp-heading p{
  margin:0;max-width:580px;font-size:14px;line-height:1.5;
  color:#bcdad0;-webkit-text-fill-color:#bcdad0
}
#gc-checkout-preview[data-surface-tone="light"] .gc-cp-company>strong,
#gc-checkout-preview[data-surface-tone="light"] .gc-cp-heading h1{
  color:#17382f;-webkit-text-fill-color:#17382f
}
#gc-checkout-preview[data-surface-tone="light"] .gc-cp-heading p{
  color:#4d665d;-webkit-text-fill-color:#4d665d
}
#gc-checkout-preview[data-surface-tone="light"] .gc-cp-eyebrow{
  color:#087b66;-webkit-text-fill-color:#087b66
}
#gc-checkout-preview[data-surface-tone="light"] .gc-cp-company-mark{
  background:#e9f6f1;border-color:#c9ddd3;color:#185647
}
/* Composition */
#gc-checkout-preview .gc-cp-main{
  display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.83fr);
  gap:18px;align-items:start
}
#gc-checkout-preview .gc-cp-aside{min-width:0;display:grid;gap:14px}
#gc-checkout-preview .gc-cp-card{
  min-width:0;margin:0;background:var(--gc-surface,#fff);
  border:1px solid rgba(15,55,40,.075);border-radius:21px;
  box-shadow:0 10px 30px rgba(0,18,11,.075);padding:22px;
  color:var(--gc-text,#14372f)
}
/* Payment: prominent first for desktop and mobile */
#gc-checkout-preview .gc-cp-payment-card{padding:24px}
#gc-checkout-preview .gc-cp-payment-top{
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:8px;margin-bottom:20px
}
#gc-checkout-preview .gc-cp-pix-badge{
  display:inline-flex;gap:7px;align-items:center;font-size:15px;
  font-weight:850;color:var(--gc-text,#16372d)
}
#gc-checkout-preview .gc-cp-pix-badge>span:first-child{
  color:var(--gc-primary,#087b66);font-size:19px;line-height:1
}
#gc-checkout-preview .gc-cp-pix-badge [data-cp-method-label]{
  font-size:15px;line-height:1.2;color:var(--gc-text,#16372d);
}
#gc-checkout-preview .gc-cp-state{
  font-size:11px;font-weight:830;padding:7px 11px;
  border-radius:100px;background:#fff3dc;color:#825815
}
#gc-checkout-preview .gc-cp-payment-amount{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;
  padding-bottom:17px;border-bottom:1px solid #e7eeea
}
#gc-checkout-preview .gc-cp-payment-amount>small{
  color:#60766c;font-size:13px;font-weight:680
}
#gc-checkout-preview .gc-cp-payment-amount>strong{
  color:#14382e;font-size:clamp(32px,4.3vw,44px);font-weight:870;
  letter-spacing:-.053em;line-height:1.18;font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere
}
#gc-checkout-preview .gc-cp-payment-amount>span{
  color:#647b71;font-size:12px
}
#gc-checkout-preview .gc-cp-payment-expiration{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  margin-top:15px;padding:12px 14px;border-radius:12px;
  background:#eef6f2;border:1px solid #e0eee6
}
#gc-checkout-preview .gc-cp-payment-expiration>span{
  display:flex;align-items:center;gap:7px;color:#38594d;
  font-size:13px;font-weight:690
}
#gc-checkout-preview .gc-cp-payment-expiration>span span{
  font-size:18px;color:var(--gc-primary,#087b66)
}
#gc-checkout-preview .gc-cp-payment-expiration strong{
  font-size:19px;font-weight:860;letter-spacing:-.02em;
  color:#143b2f;font-variant-numeric:tabular-nums
}
#gc-checkout-preview .gc-cp-payment-content{text-align:center;margin:22px auto 0}
#gc-checkout-preview .gc-cp-status-icon{
  display:grid;place-items:center;width:44px;height:44px;margin:0 auto 9px;
  border-radius:50%;background:#fff2db;color:#966113;font-weight:850;font-size:22px
}
#gc-checkout-preview .gc-cp-payment-content h2{
  margin:0;color:#12372e;font-size:19px;font-weight:860;
  letter-spacing:-.029em;line-height:1.25
}
#gc-checkout-preview .gc-cp-payment-content p{
  font-size:13px;color:#526b60;line-height:1.55;
  max-width:360px;margin:7px auto 0
}
#gc-checkout-preview .gc-cp-qr{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;width:188px;max-width:100%;min-height:135px;
  border:1px dashed #b4d8c8;border-radius:13px;
  background:#f8fcfa;margin:17px auto 13px;padding:15px
}
#gc-checkout-preview .gc-cp-qr-art{
  display:grid;grid-template-columns:repeat(2,17px);gap:4px;
  width:49px;height:49px;background:#e2f1eb;border-radius:10px;
  place-content:center;margin-bottom:4px;transform:rotate(-8deg)
}
#gc-checkout-preview .gc-cp-qr-art i{
  display:block;width:14px;height:14px;border:3px solid #0d8470;
  border-radius:3px
}
#gc-checkout-preview .gc-cp-qr strong{font-size:12px;color:#355c4d}
#gc-checkout-preview .gc-cp-qr small{font-size:11px;color:#667d72;text-align:center}
#gc-checkout-preview .gc-cp-pix-explainer{
  padding:13px 15px;border:1px solid #e0eae5;border-radius:11px;
  display:grid;gap:3px;text-align:left;background:#f8faf9
}
#gc-checkout-preview .gc-cp-pix-explainer strong{
  font-size:13px;color:#27493c
}
#gc-checkout-preview .gc-cp-pix-explainer span{
  font-size:12px;line-height:1.55;color:#5a6e65
}
#gc-checkout-preview .gc-cp-provider{
  display:flex;align-items:center;justify-content:center;gap:7px;
  margin:17px 0 0;color:#527265;font-size:12px;line-height:1.45;text-align:center
}
#gc-checkout-preview .gc-cp-provider>span{color:var(--gc-primary,#087b66);font-weight:850}
/* Terminal states should not look like disabled form controls. */
#gc-checkout-preview .gc-cp-terminal{
  text-align:center;margin-top:18px;padding:14px 15px;
  background:#f1f7f4;border-radius:12px
}
#gc-checkout-preview .gc-cp-terminal p{
  font-size:13px;font-weight:600;line-height:1.55;color:#37574a;margin:0
}
#gc-checkout-preview .gc-cp-retry{
  width:100%;min-height:44px;margin-top:14px;
  background:var(--gc-primary,#087b66);color:var(--gc-on-primary,#fff);
  border:0;border-radius:10px;cursor:pointer;font-size:13px;font-weight:820
}
/* Aside: compact financial summary and collapsible details */
#gc-checkout-preview .gc-cp-card-label{
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  color:#607469;font-size:11px;font-weight:860;letter-spacing:.075em;
  margin-bottom:13px
}
#gc-checkout-preview .gc-cp-card-label span{
  font-size:10px;color:#80713d;background:#fbf4db;
  padding:4px 7px;border-radius:5px;letter-spacing:.025em
}
#gc-checkout-preview .gc-cp-price-row{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:14px;padding:8px 0;font-size:13px
}
#gc-checkout-preview .gc-cp-price-row>span{color:#536e62}
#gc-checkout-preview .gc-cp-price-row strong{
  text-align:right;white-space:nowrap;font-size:14px;font-weight:830;
  font-variant-numeric:tabular-nums;color:#17382f
}
#gc-checkout-preview .gc-cp-remaining{
  margin-top:8px;border-top:1px dashed #d6e2db;padding-top:14px
}
#gc-checkout-preview .gc-cp-remaining strong{
  color:color-mix(in srgb,var(--gc-primary,#087b66) 75%,#09251e);
  font-weight:860
}
#gc-checkout-preview .gc-cp-booking>summary{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;cursor:pointer;list-style:none;color:#17382f;
  font-size:15px;font-weight:820
}
#gc-checkout-preview .gc-cp-booking>summary::-webkit-details-marker{display:none}
#gc-checkout-preview .gc-cp-booking>summary small{
  display:block;margin-top:2px;font-size:11px;font-weight:570;color:#6f8077
}
#gc-checkout-preview .gc-cp-chevron{
  display:grid;place-items:center;width:28px;height:28px;
  border-radius:8px;background:#eef5f1;color:#234b3e;
  font-size:20px;transition:transform .16s ease
}
#gc-checkout-preview .gc-cp-booking[open] .gc-cp-chevron{transform:rotate(180deg)}
#gc-checkout-preview .gc-cp-booking-body{padding-top:14px}
#gc-checkout-preview .gc-cp-booking-row{
  display:flex;align-items:center;gap:11px;padding:7px 0
}
#gc-checkout-preview .gc-cp-icon{
  display:grid;place-items:center;flex:none;width:35px;height:35px;
  border-radius:10px;background:#edf7f2;color:var(--gc-primary,#087b66);
  font-size:18px
}
#gc-checkout-preview .gc-cp-booking-row>div{min-width:0;display:grid;gap:2px}
#gc-checkout-preview .gc-cp-booking-row small{font-size:11px;color:#657a70}
#gc-checkout-preview .gc-cp-booking-row strong{
  font-size:13px;font-weight:800;color:#224538;overflow-wrap:anywhere
}
#gc-checkout-preview .gc-cp-note{
  padding:12px 13px;border-radius:10px;background:#f2f7f5;
  color:#51695e;font-size:12px;line-height:1.6;margin:13px 0 0
}
#gc-checkout-preview .gc-cp-security{
  display:flex;gap:10px;align-items:start;
  margin:0;padding:2px 5px;color:#d5e8df;
  font-size:13px;line-height:1.55
}
#gc-checkout-preview .gc-cp-security>span{
  display:grid;place-items:center;flex:none;width:22px;height:22px;
  font-weight:800;background:rgba(131,219,184,.15);
  border-radius:50%;color:#9fe2c7;font-size:12px
}
#gc-checkout-preview[data-surface-tone="light"] .gc-cp-security{
  color:#46685b
}
/* QA in a compact, deliberately secondary disclosure */
#gc-checkout-preview .gc-cp-simulator{
  margin:20px 0 0;padding:15px 18px;border-radius:14px;
  border:1px dashed rgba(145,221,184,.4);
  background:rgba(235,255,242,.09);
  color:var(--gc-cp-qa-text,#e0eee7)
}
#gc-checkout-preview .gc-cp-simulator>summary{
  list-style:none;display:flex;align-items:center;
  justify-content:space-between;gap:12px;cursor:pointer
}
#gc-checkout-preview .gc-cp-simulator>summary::-webkit-details-marker{display:none}
#gc-checkout-preview .gc-cp-simulator>summary>span:first-child{display:grid;gap:2px}
#gc-checkout-preview .gc-cp-simulator strong{font-size:13px;font-weight:810}
#gc-checkout-preview .gc-cp-simulator small{font-size:12px;opacity:.86}
#gc-checkout-preview .gc-cp-qa-badge{
  flex:none;padding:6px 10px;background:rgba(184,230,207,.15);
  border-radius:7px;font-size:11px;font-weight:860
}
#gc-checkout-preview .gc-cp-simulator[open] .gc-cp-qa-badge span{display:inline-block;transform:rotate(180deg)}
#gc-checkout-preview .gc-cp-test-buttons{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;margin-top:15px
}
#gc-checkout-preview .gc-cp-test-buttons button{
  min-height:43px;padding:8px 7px;border-radius:10px;
  border:1px solid #d8e7dd;background:#fff;color:#1b4435;
  cursor:pointer;font-size:12px;font-weight:760
}
#gc-checkout-preview .gc-cp-test-buttons button[aria-pressed="true"]{
  background:var(--gc-primary,#087b66);color:var(--gc-on-primary,#fff);
  border-color:var(--gc-primary,#087b66)
}
#gc-checkout-preview .gc-cp-test-buttons button:disabled,
#gc-checkout-preview .gc-cp-retry:disabled{opacity:.6;cursor:wait}
#gc-checkout-preview .gc-cp-qa-help{
  margin:10px 0 0;font-size:11px;line-height:1.5;opacity:.85
}
#gc-checkout-preview .gc-cp-status-message{
  min-height:16px;margin:11px 0 0;font-size:12px;color:#d4e5dc;
  line-height:1.5;text-align:center
}
#gc-checkout-preview[data-surface-tone="light"] .gc-cp-simulator{
  color:#245343;background:#e6f3ed;border-color:#a2c9b6
}
#gc-checkout-preview[data-surface-tone="light"] .gc-cp-status-message{color:#456d5d}
/* State-specific visual vocabulary */
#gc-checkout-preview[data-payment-state="approved"] .gc-cp-state,
#gc-checkout-preview[data-payment-state="approved"] .gc-cp-status-icon{
  background:#ddf6e9;color:#16663e
}
#gc-checkout-preview[data-payment-state="approved"] .gc-cp-terminal{
  background:#e9f8ef
}
#gc-checkout-preview[data-payment-state="expired"] .gc-cp-state,
#gc-checkout-preview[data-payment-state="expired"] .gc-cp-status-icon{
  background:#fff1cb;color:#8c5911
}
#gc-checkout-preview[data-payment-state="failed"] .gc-cp-state,
#gc-checkout-preview[data-payment-state="failed"] .gc-cp-status-icon{
  background:#fde5e5;color:#9d2626
}
#gc-checkout-preview[data-payment-state="failed"] .gc-cp-terminal{
  background:#fff1f1
}
#gc-checkout-preview button:focus-visible,
#gc-checkout-preview summary:focus-visible{
  outline:3px solid #49cda7;outline-offset:4px
}
@media(max-width:760px){
  #gc-checkout-preview .gc-cp-container{
    max-width:540px;padding:20px 16px calc(28px + env(safe-area-inset-bottom))
  }
  #gc-checkout-preview .gc-cp-heading{margin:23px 0 18px}
  #gc-checkout-preview .gc-cp-heading h1{font-size:27px}
  #gc-checkout-preview .gc-cp-main{grid-template-columns:minmax(0,1fr);gap:13px}
  #gc-checkout-preview .gc-cp-aside{gap:13px}
  #gc-checkout-preview .gc-cp-card{padding:19px;border-radius:19px}
  #gc-checkout-preview .gc-cp-payment-card{padding:20px}
  #gc-checkout-preview .gc-cp-payment-top{margin-bottom:15px}
  #gc-checkout-preview .gc-cp-payment-content{margin-top:17px}
  #gc-checkout-preview .gc-cp-qr{margin:12px auto}
  #gc-checkout-preview .gc-cp-simulator{margin-top:16px}
}
@media(max-width:355px){
  #gc-checkout-preview .gc-cp-company{font-size:12px;gap:7px}
  #gc-checkout-preview .gc-cp-company-mark{width:36px;height:36px}
  #gc-checkout-preview .gc-cp-sandbox-pill{font-size:9px;padding:7px 8px}
  #gc-checkout-preview .gc-cp-payment-top{align-items:flex-start}
  #gc-checkout-preview .gc-cp-test-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
  #gc-checkout-preview .gc-cp-payment-expiration>span{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  #gc-checkout-preview *{transition:none!important;animation:none!important}
}
/* Public template's global p-color !important must not erase dark-bg contrast. */
#gc-checkout-preview .gc-cp-security{
  color:#d8eae0!important;
  -webkit-text-fill-color:#d8eae0!important;
}
#gc-checkout-preview .gc-cp-status-message{
  color:#c7dfd2!important;
  -webkit-text-fill-color:#c7dfd2!important;
}
#gc-checkout-preview[data-surface-tone="light"] .gc-cp-security{
  color:#375d4d!important;
  -webkit-text-fill-color:#375d4d!important;
}
#gc-checkout-preview[data-surface-tone="light"] .gc-cp-status-message{
  color:#486b58!important;
  -webkit-text-fill-color:#486b58!important;
}

#gc-checkout-preview .gc-cp-qa-help{
  color:#d2e8db!important;
  -webkit-text-fill-color:#d2e8db!important;
  opacity:1!important;
}
#gc-checkout-preview[data-surface-tone="light"] .gc-cp-qa-help{
  color:#3d604f!important;
  -webkit-text-fill-color:#3d604f!important;
}

/* Checkout method selection and merchant fee preview (QA only, 2026-10-14) */
#gc-checkout-preview .gc-cp-method-picker{
  margin:0 0 17px;padding:14px;border-radius:14px;
  border:1px solid #dce8e1;background:#f8fbf9;
}
#gc-checkout-preview .gc-cp-method-title{
  margin-bottom:11px;font-size:13px;font-weight:790;color:#264a3c;
}
#gc-checkout-preview .gc-cp-method-buttons{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;
}
#gc-checkout-preview .gc-cp-method-buttons button{
  min-height:46px;padding:10px 9px;
  display:flex;align-items:center;justify-content:center;gap:7px;
  border-radius:11px;background:#fff;color:#244d3e;
  border:1px solid #d5e4dc;cursor:pointer;font-size:13px;font-weight:780;
  line-height:1.25;text-align:center;
}
#gc-checkout-preview .gc-cp-method-buttons button[aria-pressed="true"]{
  background:#e4f5ed;border-color:var(--gc-primary,#087b66);
  color:#0d5d48;box-shadow:0 0 0 1px var(--gc-primary,#087b66);
}
#gc-checkout-preview .gc-cp-method-buttons button:disabled{
  opacity:.61;cursor:not-allowed;
}
#gc-checkout-preview .gc-cp-installments{
  display:grid;gap:7px;margin-top:13px;
}
#gc-checkout-preview .gc-cp-installments label{
  font-size:12px;font-weight:770;color:#26483c;
}
#gc-checkout-preview .gc-cp-installments select{
  min-height:44px;border-radius:10px;border:1px solid #cadaD1;
  width:100%;padding:10px 12px;background:#fff;color:#173a2d;
  font-size:13px;cursor:pointer;
}
#gc-checkout-preview .gc-cp-installments small{
  color:#526d61;font-size:11px;line-height:1.55;
}
#gc-checkout-preview .gc-cp-card-placeholder{
  display:grid;justify-items:center;gap:9px;
  margin:17px 0 13px;padding:23px 17px;
  border:1px dashed #b3d1bf;border-radius:13px;
  background:#f6fbf8;text-align:center;
}
#gc-checkout-preview .gc-cp-card-placeholder>span{
  display:grid;place-items:center;
  width:47px;height:47px;border-radius:13px;
  background:#e2f0e8;color:#087b66;font-size:26px;
}
#gc-checkout-preview .gc-cp-card-placeholder strong{
  color:#254a3c;font-size:14px;font-weight:825;
}
#gc-checkout-preview .gc-cp-card-placeholder small{
  max-width:310px;color:#567165;font-size:12px;line-height:1.6;
}
#gc-checkout-preview .gc-cp-qa-fees{
  margin:15px 0 0;padding:13px 14px;
  background:#fff;border:1px solid #daeadf;border-radius:11px;
  color:#214334;
}
#gc-checkout-preview .gc-cp-qa-fees>strong{
  display:block;margin-bottom:9px;font-size:12px;font-weight:825;
}
#gc-checkout-preview .gc-cp-qa-fees>div{
  display:flex;justify-content:space-between;gap:14px;
  padding:5px 0;font-size:12px;
}
#gc-checkout-preview .gc-cp-qa-fees>div span{
  color:#476655;
}
#gc-checkout-preview .gc-cp-qa-fees>div b{
  color:#17452e;text-align:right;white-space:nowrap;font-weight:800;
}
#gc-checkout-preview .gc-cp-qa-fees .gc-cp-qa-net{
  border-top:1px dashed #c4d9cb;margin-top:7px;padding-top:11px;
}
#gc-checkout-preview .gc-cp-qa-fees p{
  color:#506d5d!important;-webkit-text-fill-color:#506d5d!important;
  font-size:11px;line-height:1.55;margin:11px 0 0;
}
@media(max-width:355px){
  #gc-checkout-preview .gc-cp-method-buttons button{
    font-size:12px;padding:8px 6px;
  }
}

/* Payment method and status must share one baseline in compact checkouts. */
#gc-checkout-preview .gc-cp-payment-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  align-items:center;
  column-gap:7px;
  row-gap:0;
}
#gc-checkout-preview .gc-cp-pix-badge{
  min-width:0;
  white-space:nowrap;
}
#gc-checkout-preview .gc-cp-state{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  text-align:center;
  font-size:10px;
  padding:6px 8px;
  line-height:1.3;
}
@media(max-width:419px){
  /* Full "Cartão de crédito" remains in the method button immediately below.
     Use a compact header label to preserve the full status pill on one row. */
  #gc-checkout-preview[data-payment-method="card"] [data-cp-method-label]{
    font-size:0;
  }
  #gc-checkout-preview[data-payment-method="card"] [data-cp-method-label]::after{
    content:"Cartão";
    font-size:14px;
  }
}
@media(max-width:355px){
  #gc-checkout-preview .gc-cp-state{
    font-size:9px;
    padding:6px 6px;
  }
}
