/* devis3d-plus.css — modèles de départ + métrés (Guedes Constructions) */

/* ── Modèles de départ (éditeur 2D) ── */
.gc-tpl { margin-bottom: 12px; }
.gc-tpl .ed2-section-label small { font-weight: 500; opacity: .7; text-transform: none; letter-spacing: 0; }
.gc-tpl-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 6px; }
.gc-tpl-btn {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  padding: 10px 6px 8px; border: 1.5px solid #d9e0e6; border-radius: 12px;
  background: #fff; cursor: pointer; font: 600 12px/1.2 system-ui, sans-serif; color: #0f172a;
  transition: border-color .15s, background .15s, transform .1s;
}
.gc-tpl-btn:hover { border-color: #0e766e; }
.gc-tpl-btn:active { transform: scale(.97); }
.gc-tpl-btn.active { border-color: #0e766e; background: #ecfdf5; box-shadow: 0 0 0 3px rgba(14,118,110,.12); }
.gc-tpl-btn svg { width: 48px; height: 36px; }
.gc-tpl-btn svg path, .gc-tpl-btn svg rect { fill: rgba(14,118,110,.14); stroke: #0e766e; stroke-width: 2.2; stroke-linejoin: round; }
.gc-tpl-btn svg .gc-tpl-inner { fill: none; stroke-dasharray: 3 2; stroke-width: 1.6; }
.gc-tpl-btn svg .gc-tpl-house { fill: none; stroke: #64748b; stroke-width: 4; stroke-linecap: round; }
.gc-tpl-form { margin-top: 10px; padding: 10px; border: 1px solid #d9e0e6; border-radius: 12px; background: #f8fafc; }
.gc-tpl-form[hidden] { display: none; }
.gc-tpl-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 10px; }
.gc-tpl-field { display: flex; flex-direction: column; gap: 4px; font: 600 11px/1.2 system-ui, sans-serif; color: #475569; }
.gc-tpl-field .ed2-input { width: 100%; }
.gc-tpl-field input.gc-bad { border-color: #dc2626 !important; background: #fef2f2; }
.gc-tpl-or { display: flex; align-items: center; gap: 8px; margin: 14px 0 4px; color: #64748b; font: 600 11px system-ui, sans-serif; text-transform: uppercase; letter-spacing: .04em; }
.gc-tpl-or::before, .gc-tpl-or::after { content: ""; flex: 1; height: 1px; background: #e2e8f0; }

/* Bouton « Murs terminés » mis en avant après un modèle */
@keyframes gcPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(59,130,246,.55); } 50% { box-shadow: 0 0 0 8px rgba(59,130,246,0); } }
.gc-pulse { animation: gcPulse 1s ease-out 4; }

/* Bandeau métrés sur le plan 2D */
.gc-ed-mini {
  position: absolute; left: 8px; top: 8px; z-index: 2; pointer-events: none;
  padding: 4px 9px; border-radius: 999px; background: rgba(255,255,255,.94);
  border: 1px solid #d9e0e6; box-shadow: 0 2px 8px rgba(15,23,42,.08);
  font: 700 11px/1.3 system-ui, sans-serif; color: #0e766e;
}

/* ── Carte « Votre projet en chiffres » ── */
.gc-metrics {
  margin: 12px 0; padding: 12px; border-radius: 14px; text-align: left;
  background: linear-gradient(180deg, #f0fdfa, #ffffff); border: 1px solid #99f6e4;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}
.gc-metrics-h { font-weight: 800; font-size: 13px; color: #0f172a; margin-bottom: 8px; }
.gc-metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.gc-metrics-tile { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 8px 4px; text-align: center; }
.gc-metrics-tile b { display: block; font-size: 15px; color: #0e766e; white-space: nowrap; }
.gc-metrics-tile span { display: block; font-size: 10.5px; color: #64748b; margin-top: 2px; }
.gc-metrics-det { margin-top: 8px; font-size: 12px; color: #334155; line-height: 1.4; }
.gc-metrics-note { margin-top: 6px; font-size: 10.5px; color: #64748b; }
@media (max-width: 380px) { .gc-metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ── Accueil mobile : démo « plan 2D → maison 3D » ─────────────────────── */
.gcmh-hero { display: flex; flex-direction: column; gap: 10px; text-align: center; }
.gcmh-hero-title { margin: 4px 0 0; font-size: 21px; font-weight: 800; color: #0a1420; line-height: 1.2; }
.gcmh-hero-title span { color: #0e766e; }
.gcmh-hero-sub { margin: 0; font-size: 13px; font-weight: 600; color: #5b6b7b; }

.gc3d-demo {
  position: relative; height: 210px; border-radius: 18px; overflow: hidden;
  background: linear-gradient(180deg, #dbeafe 0%, #eef6ff 45%, #e7f5ec 100%);
  border: 1px solid #d9e7e2; box-shadow: 0 6px 20px rgba(14,118,110,.12);
}
.gc3d-stage { position: absolute; inset: 0 0 34px 0; display: flex; align-items: center; justify-content: center; }
/* ① plan 2D qui se trace, ② la maison 3D du configurateur */
.gc3d-plan { position: absolute; inset: 8px 0 0; width: 100%; height: calc(100% - 8px); animation: gc3dPlan 9s ease-in-out infinite; }
.gc3d-fill { fill: #f6efd9; opacity: 0; animation: gc3dFill 9s ease-in-out infinite; }
.gc3d-walls { fill: none; stroke: #0e766e; stroke-width: 3.2; stroke-linejoin: round; stroke-dasharray: 100; stroke-dashoffset: 100; animation: gc3dDraw 9s ease-in-out infinite; }
.gc3d-inner { stroke-width: 2.4; }
.gc3d-ops, .gc3d-dims { opacity: 0; animation: gc3dOps 9s ease-in-out infinite; }
.gc3d-dims text { font: 700 9px system-ui, sans-serif; fill: #0e766e; text-anchor: middle; paint-order: stroke; stroke: #fff; stroke-width: 3px; }
.gc3d-house { position: relative; height: 92%; aspect-ratio: 420 / 311; max-width: 96%; opacity: 0;
  background: url("assets/img/maison-construction.webp?v=1") 0 0 / 100% 2800% no-repeat;
  animation: gc3dHouse 9s ease-in-out infinite, gc3dBuild 9s linear infinite; }
@keyframes gc3dDraw { 0%, 4% { stroke-dashoffset: 100; } 24%, 100% { stroke-dashoffset: 0; } }
@keyframes gc3dFill { 0%, 20% { opacity: 0; } 28%, 100% { opacity: 1; } }
@keyframes gc3dOps { 0%, 22% { opacity: 0; } 28%, 100% { opacity: 1; } }
@keyframes gc3dPlan { 0% { opacity: 0; transform: none; } 5%, 36% { opacity: 1; transform: none; } 46%, 100% { opacity: 0; transform: scale(.92); } }
@keyframes gc3dHouse { 0%, 36% { opacity: 0; } 44%, 93% { opacity: 1; } 99%, 100% { opacity: 0; } }
@keyframes gc3dBuild { 0%, 46% { background-position: 0 0%; animation-timing-function: steps(27, end); } 80%, 100% { background-position: 0 100%; } }
.gc3d-caption { position: absolute; left: 0; right: 0; bottom: 0; height: 34px; display: grid; place-items: center; background: rgba(255,255,255,.85); border-top: 1px solid #e2e8f0; font: 700 13px/1 system-ui, sans-serif; color: #0a1420; }
.gc3d-caption span { grid-area: 1 / 1; }
.gc3d-c1 { animation: gc3dC1 9s ease-in-out infinite; }
.gc3d-c2 { animation: gc3dC2 9s ease-in-out infinite; color: #0e766e; }

@keyframes gc3dC1 { 0%, 34% { opacity: 1; } 40%, 94% { opacity: 0; } 100% { opacity: 1; } }
@keyframes gc3dC2 { 0%, 38% { opacity: 0; } 44%, 92% { opacity: 1; } 98%, 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .gc3d-plan, .gc3d-c1 { animation: none; opacity: 0; }
  .gc3d-house, .gc3d-c2 { animation: none; opacity: 1; transform: none; background-position: 0 100%; }
}

/* ── Barre d'étapes : plan → 3D → devis ── */
.gc-steps { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; gap: 4px; flex-wrap: nowrap; }
.gc-steps li {
  display: flex; align-items: center; gap: 5px; padding: 5px 9px; border-radius: 999px;
  background: #fff; border: 1px solid #d9e0e6; color: #475569;
  font: 700 11.5px/1.1 system-ui, sans-serif; white-space: nowrap;
}
.gc-steps li b { display: inline-grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: #e2e8f0; color: #475569; font-size: 10.5px; }
.gc-steps li + li::before { content: "\2192"; color: #64748b; margin: 0 4px 0 -4px; font-weight: 700; }
.gc-steps li { position: relative; }
.gc-steps li + li { margin-left: 10px; }
.gc-steps li + li::before { position: absolute; left: -13px; }
.gc-steps li.on { background: #0e766e; border-color: #0e766e; color: #fff; }
.gc-steps li.on b { background: #fff; color: #0e766e; }
.gc-steps-ed { padding: 8px 12px 6px; border-bottom: 1px solid #eef2f6; background: #f8fafc; }
@media (max-width: 370px) { .gc-steps li { padding: 4px 7px; font-size: 10.5px; } }

/* ── Bloc « sur ordinateur, c'est encore mieux » ── */
.gcmh-pc-card {
  display: flex; gap: 10px; align-items: flex-start; text-align: left;
  background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 14px; padding: 12px 14px;
  font-size: 13px; line-height: 1.5; color: #1e3a5f;
}
.gcmh-pc-icon { font-size: 22px; line-height: 1; }
.gcmh-pc-card .gcmh-btn-link { margin: 6px 0 0; padding: 0; font-size: 13px; text-align: left; }

/* ── Formulaire « être rappelé » ── */
.gcmh-call-form { display: flex; flex-direction: column; gap: 10px; }
.gcmh-call-form[hidden] { display: none; }
.gcmh-call-form label { display: flex; flex-direction: column; gap: 4px; font: 600 12.5px system-ui, sans-serif; color: #334155; }
.gcmh-call-form input { padding: 11px 12px; border: 1.5px solid #d9e0e6; border-radius: 10px; font-size: 15px; }
.gcmh-call-form input:focus { outline: none; border-color: #0e766e; box-shadow: 0 0 0 3px rgba(14,118,110,.15); }
.gcmh-rgpd { margin: 0; font-size: 11.5px; line-height: 1.45; color: #4b5563; }
.gcmh-rgpd a { color: #0e766e; }

/* ══ Téléphone : éditeur 2D « une chose à la fois » (html.gc-m2d) ══════════ */
html.gc-m2d #ed-modal .ed2-dialog {
  position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; height: 100dvh; max-height: none;
  border-radius: 0; box-shadow: none;
}
/* En-tête : une seule ligne = l'étape en cours */
html.gc-m2d #ed-modal .ed2-hdr { padding: 12px 14px 6px; border-bottom: 0; }
html.gc-m2d #ed-modal .ed2-hdr-title { font-size: 16px; font-weight: 800; line-height: 1.25; }
html.gc-m2d #ed-modal .gc-steps-ed { display: none; }
html.gc-m2d #gcq-ed2d-header { padding: 0 14px 10px !important; background: #fff !important; border-bottom: 1px solid #eef2f6 !important; }
html.gc-m2d #gcq-ed2d-header > div:first-child { display: none !important; }  /* « Plan 2D — Configurateur » */
html.gc-m2d #gcq-ed2d-header > div:nth-child(2) { margin-bottom: 8px !important; }   /* barre de progression */
html.gc-m2d #gcq-ed2d-lbl { display: none !important; }
html.gc-m2d #gcq-ed2d-tip {
  background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important;
  font-size: 14.5px !important; line-height: 1.4 !important; color: #0f172a !important;
}
/* Corps : le plan en haut, l'étape en dessous (seule zone qui défile) */
html.gc-m2d #ed-main { display: flex; flex-direction: column; flex: 1; min-height: 0; }
html.gc-m2d #ed-main .ed2-tabbar,
html.gc-m2d #ed-canvas-hint,
html.gc-m2d #ed-main .ed2-zoom-bar,
html.gc-m2d #ed-footer { display: none !important; }
html.gc-m2d #ed-main .ed2-body { display: flex !important; flex-direction: column; flex: 1; min-height: 0; overflow: hidden; }
html.gc-m2d #ed-main .ed2-canvas-col { padding: 10px 14px 6px; border: 0; flex: none; }
html.gc-m2d #ed-canvas { height: 34vh !important; height: 34dvh !important; min-height: 190px; border-radius: 14px; }
html.gc-m2d #ed-main .ed2-ctrl-col { flex: 1; min-height: 0; overflow-y: auto; padding: 8px 14px 18px; -webkit-overflow-scrolling: touch; }
/* Barre du bas : un gros bouton */
html.gc-m2d #gcq-ed2d-nav { padding: 10px 14px calc(10px + env(safe-area-inset-bottom)) !important; background: #fff !important; gap: 10px !important; }
html.gc-m2d #gcq-ed2d-nav > div { flex: 1; justify-content: flex-end; }
html.gc-m2d #gcq-ed2d-next { flex: 1; min-height: 52px; font-size: 16px !important; font-weight: 800 !important; border-radius: 14px !important; }
html.gc-m2d #gcq-ed2d-back { min-height: 52px; padding: 0 14px !important; border-radius: 14px !important; font-size: 15px !important; }
html.gc-m2d #gcq-ed2d-skip { min-height: 52px; font-size: 14px !important; background: none !important; border: 0 !important; color: #475569 !important; text-decoration: underline; }
/* Écrans de question (oui / non) : prennent toute la place */
html.gc-m2d #gcq-ed2d-decision { padding: 18px 14px !important; justify-content: flex-start !important; }

/* Repli : options avancées et dessin mur par mur */
html.gc-m2d .ed2-pane:not(.gc-adv-open) > .gc-adv { display: none !important; }
html.gc-m2d .ed2-pane:not(.gc-manual-open) > .gc-manual { display: none !important; }
.gc-adv-toggle, .gc-manual-toggle { display: none; }
html.gc-m2d .gc-adv-toggle, html.gc-m2d .gc-manual-toggle {
  display: block; width: 100%; margin: 14px 0 0; padding: 10px; background: none; border: 0;
  font: 600 13.5px system-ui, sans-serif; color: #0e766e; text-decoration: underline; cursor: pointer;
}
html.gc-m2d .gc-manual-toggle { margin-top: 10px; color: #334155; }
html.gc-m2d .gc-clear { width: 100%; margin-top: 10px; }

/* Étape murs : les modèles en grand */
html.gc-m2d .gc-tpl > .ed2-section-label, html.gc-m2d .gc-tpl-or { display: none; }
html.gc-m2d .gc-tpl { margin-bottom: 0; }
html.gc-m2d .gc-tpl-grid { gap: 10px; margin-top: 2px; }
html.gc-m2d .gc-tpl-btn { padding: 14px 8px 12px; font-size: 13.5px; border-radius: 14px; }
html.gc-m2d .gc-tpl-btn svg { width: 56px; height: 42px; }
html.gc-m2d #gc-tpl-apply { min-height: 50px; font-size: 16px; border-radius: 12px; }

/* Étapes fenêtres / pignons / dalle : gros boutons au doigt */
html.gc-m2d #op-type-btns .ed2-op-type { min-height: 54px; font-size: 13px; }
html.gc-m2d #op-add-btn, html.gc-m2d #ed-gable-add-btn, html.gc-m2d #edls-auto-btn { min-height: 50px; font-size: 16px; border-radius: 12px; margin-top: 10px; }
html.gc-m2d #op-wall, html.gc-m2d #ed-gable-wall { min-height: 46px; font-size: 15px; }

/* Choix du matériau (dernière étape) */
.gc-mat { margin: 6px 0 12px; text-align: left; }
.gc-mat-q { font: 800 14px system-ui, sans-serif; color: #0f172a; margin-bottom: 8px; }
.gc-mat-row, .gc-mat-bricks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.gc-mat-bricks { margin-top: 8px; }
.gc-mat-bricks[hidden] { display: none; }
.gc-mat-btn, .gc-brick-btn {
  display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 4px;
  border: 1.5px solid #d9e0e6; border-radius: 12px; background: #fff; cursor: pointer;
  font: 700 12.5px system-ui, sans-serif; color: #0f172a;
}
.gc-mat-btn.on, .gc-brick-btn.on { border-color: #0e766e; background: #ecfdf5; box-shadow: 0 0 0 3px rgba(14,118,110,.14); }
.gc-mat-sw, .gc-brick-btn i { display: block; width: 100%; max-width: 74px; height: 30px; border-radius: 6px; background-size: cover; background-position: center; }
.gc-mat-sw-parpaing { background: repeating-linear-gradient(0deg, #c9ccd1 0 13px, #aeb3ba 13px 14px), #c9ccd1; }
.gc-mat-sw-porotherm { background: repeating-linear-gradient(90deg, #c8795a 0 5px, #b3654a 5px 6px), #c8795a; }
.gc-mat-sw-brique { background: url("assets/devis3D/textures/brique-classique.webp") center / cover, #b8634a; }
html.gc-m2d #gcq-ed2d-next.gc-off { opacity: .4; pointer-events: none; }
/* iPhone : un champ < 16 px provoque un zoom automatique de la page à la saisie */
html.gc-m2d #ed-modal input, html.gc-m2d #ed-modal select { font-size: 16px !important; }
html.gc-m2d .gc-tpl-field .ed2-input { min-height: 46px; font-weight: 700; }
html.gc-m2d #gcq-ed2d-tip:empty { display: none !important; }
html.gc-m2d #gc-auto-gables { width: 100%; min-height: 52px; font-size: 16px; border-radius: 12px; margin-bottom: 14px; }
/* Modification libre (retour depuis la 3D) : onglets compacts réaffichés */
html.gc-m2d.gc-free #ed-main .ed2-tabbar { display: flex !important; padding: 6px 14px 0; }
html.gc-m2d.gc-free #ed-main .ed2-tabs { flex-wrap: nowrap; overflow-x: auto; gap: 6px; }
html.gc-m2d.gc-free #ed-main .ed2-tab { white-space: nowrap; font-size: 13px; padding: 8px 10px; }
html.gc-m2d.gc-free #ed-lvl-badge { display: none; }
/* Dessin mur par mur : les modèles disparaissent pour laisser la place */
html.gc-m2d .ed2-pane.gc-manual-open > #gc-tpl { display: none !important; }
html.gc-m2d .ed2-pane.gc-manual-open > .gc-manual-toggle { margin: 0 0 8px; text-align: left; padding: 4px 0; }
html.gc-m2d #pane-wall > p.ed2-hint, html.gc-m2d #ed-wall-status { display: none !important; }
/* Emplacement des ouvertures (téléphone) */
html.gc-m2d #pane-opening .ed2-fields { margin-top: 8px; }
#gc-op-range { display: none; }
html.gc-m2d #gc-op-range { display: block; width: 100%; margin: 10px 0 4px; accent-color: #0e766e; height: 28px; }
html.gc-m2d #gc-op-range.gc-unset { opacity: .55; }
.gc-op-range-out { display: none; }
html.gc-m2d .gc-op-range-out { display: block; font: 600 13px system-ui, sans-serif; color: #0e766e; margin-bottom: 4px; }
html.gc-m2d #pane-opening.gc-need-pos .gc-op-range-out { color: #b91c1c; }
html.gc-m2d #pane-opening.gc-need-pos #op-pos { border-color: #dc2626 !important; background: #fef2f2; }
/* Étape matériau : la question est déjà dans la carte */
html.gc-m2d #gcq-ed2d-decision .gc-mat-q { display: none; }
/* Notifications en haut sur téléphone (ne recouvrent plus le gros bouton du bas) */
html.gc-m2d #toast { top: 64px !important; bottom: auto !important; }
/* Brique importée + mention « aperçu, pas un choix définitif » */
.gc-brick-import { grid-column: 1 / -1; flex-direction: row; justify-content: center; gap: 8px; padding: 10px; border-style: dashed; }
.gc-brick-import .gc-brick-import-thumb { display: none; width: 44px; height: 26px; border-radius: 5px; background-size: cover; background-position: center; }
.gc-brick-import.has-img .gc-brick-import-thumb { display: block; }
.gc-mat-note { margin: 12px 0 0; padding: 10px 12px; border-radius: 10px; background: #f0f9ff; border: 1px solid #bae6fd; font: 13px/1.45 system-ui, sans-serif; color: #0c4a6e; }
.gc-brick-import { border-color: #0e766e; color: #0e766e; background: #f8fffd; }
html.gc-m2d .gc-hide { display: none !important; }
/* Murs de l'étage : pas de modèles, 2 choix */
#gc-floor-choice { display: none; }
html.gc-m2d #pane-wall.gc-floor > #gc-floor-choice { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
html.gc-m2d #pane-wall.gc-floor > #gc-floor-choice button { width: 100%; min-height: 52px; font-size: 15.5px; border-radius: 12px; }
html.gc-m2d #pane-wall.gc-floor > #gc-tpl,
html.gc-m2d #pane-wall.gc-floor > .gc-manual-toggle { display: none !important; }
/* « Et maintenant ? Tracer les murs du 1er étage » : doublon du bouton « Dalle OK » en bas */
html.gc-m2d #ed-next-floor-card { display: none !important; }

/* ── Dalle / terrasse dans le parcours guidé (ordinateur + téléphone) ── */
#gc-slab-ui, #gc-terr-box { display: none; }
#pane-slab.gc-slab-guided #gc-slab-ui { display: block !important; margin-bottom: 10px; }
#pane-slab.gc-slab-terrasse #gc-terr-box { display: block; }
#pane-slab.gc-trace-open #gc-terr-size, #pane-slab.gc-trace-open #gc-terr-add { display: none !important; }
#pane-slab.gc-trace-open #gc-terr-box { margin-bottom: 4px; }
#gc-trace-close:disabled, #gc-terr-wall:disabled { opacity: .5; }
#pane-slab.gc-slab-guided > #gc-slab-ui + .ed2-section-label,
#pane-slab.gc-slab-guided #ed-slab-type,
#pane-slab.gc-slab-guided #edls-rect-box,
#pane-slab.gc-slab-guided > .gc-adv-toggle,
#pane-slab.gc-slab-guided #ed-next-floor-card,
#pane-slab.gc-slab-guided #ed-slab-status, #pane-slab.gc-slab-guided #edls-undo-btn,
#pane-slab.gc-slab-terrasse #edls-auto-btn, #pane-slab.gc-slab-terrasse #edls-auto-hint,
#pane-slab.gc-trace-open #edls-auto-btn, #pane-slab.gc-trace-open #edls-auto-hint { display: none !important; }
.gc-trace-toggle {
  display: block; width: 100%; margin: 4px 0 10px; padding: 8px 0; background: none; border: 0; text-align: left;
  font: 600 13.5px system-ui, sans-serif; color: #334155; text-decoration: underline; cursor: pointer;
}
#pane-slab.gc-slab-terrasse .gc-trace-toggle { margin-top: 12px; }
#gc-trace-box[hidden] { display: none !important; }
#gc-trace-box { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px; margin-bottom: 12px; }

/* Rappel : confirmation et erreur affichées sur place */
.gcmh-call-done { display: flex; flex-direction: column; gap: 4px; margin-top: 12px; padding: 14px 16px; border-radius: 14px; background: #ecfdf5; border: 1px solid #a7f3d0; color: #065f46; font: 500 14px/1.4 system-ui, sans-serif; }
.gcmh-call-done b { font-size: 15px; }
.gcmh-call-err { margin: 8px 0 0; color: #b91c1c; font: 600 13px/1.4 system-ui, sans-serif; }
.gcmh-call-err:empty { display: none; }
