/* GGG eSite — Guests: [gggesite_words_form]. Follows the site's design: Elementor's Site Settings (Buttons, Form Fields,
   labels, headings — the kit's rules win) and else the eSite colors and fonts. Everything that is "look" (corners,
   colors, fonts, background) sits in :where() — zero specificity — so the kit / theme set it; only the layout is firm. */
.ggg-words { max-width: 520px; margin: 0 auto; }
:where(.ggg-words) { color: var(--e-global-color-ggg_text, inherit); font-family: var(--e-global-typography-ggg_body-font-family, inherit), sans-serif; }
.ggg-words-form { display: flex; flex-direction: column; gap: 8px; text-align: left; }
.ggg-words-form[hidden], .ggg-words-done[hidden] { display: none !important; }
.ggg-words .ggg-words-title { margin: 0 0 4px; text-align: center; }
:where(.ggg-words) .ggg-words-title { font-size: 26px; font-weight: 400; line-height: 1.3; font-family: var(--e-global-typography-ggg_title-font-family, inherit), serif; color: inherit; }
.ggg-words .ggg-words-lead { margin: 0 0 8px; text-align: center; }
:where(.ggg-words) .ggg-words-lead { font-size: 14px; color: var(--e-global-color-ggg_text_soft, inherit); opacity: .9; }
.ggg-words .ggg-words-label { margin-top: 6px; }
:where(.ggg-words) .ggg-words-label { font-weight: 600; font-size: 14px; color: inherit; }
.ggg-words .ggg-words-in { display: block; width: 100%; min-height: 48px; padding: 10px 12px; box-sizing: border-box; }
:where(.ggg-words) .ggg-words-in { border: 1px solid var(--e-global-color-ggg_line, #ccc); border-radius: 12px; background: var(--e-global-color-ggg_surface, #fff); color: var(--e-global-color-ggg_text, #2b2b2b); font: inherit; font-size: 16px; }
.ggg-words textarea.ggg-words-in { min-height: 120px; resize: vertical; }
.ggg-words-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ggg-words-err { color: #b3261e; margin: 0; }
.ggg-words-err:empty { display: none; }
/* The submit button is an Elementor button: the kit's Buttons settings (color, font, corners, padding) style it. */
.ggg-words .ggg-words-send { display: block; width: 100%; min-height: 50px; margin-top: 8px; cursor: pointer; text-align: center; }
:where(.ggg-words) .ggg-words-send { border: 0; border-radius: 999px; background: var(--e-global-color-ggg_primary_strong, #8a5a44); color: var(--e-global-color-ggg_on_primary, #fff); font: inherit; font-size: 15px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding: 0 24px; }
.ggg-words .ggg-words-send:disabled { opacity: .6; cursor: default; }
.ggg-words-done { padding: 18px 20px; text-align: center; outline: 0; }
:where(.ggg-words) .ggg-words-done { border-radius: 14px; background: var(--e-global-color-ggg_surface, #f6f6f6); color: var(--e-global-color-ggg_text, #2b2b2b); border: 1px solid var(--e-global-color-ggg_line, #e5e5e5); }
:where(.ggg-words) .ggg-words-done strong { font-size: 20px; color: var(--e-global-color-ggg_primary_strong, #8a5a44); }
.ggg-words-done p { margin: 6px 0 0; }
