/* Contact form right above the footer. Dark like the home page's "Biz kimiz" section: square, flat, hairlines. */
.gd-contact { padding: clamp(5rem, 9vw, 8rem) 0; background: #21272a; color: #fff; scroll-margin-top: 5rem; }
.gd-contact__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: var(--grid-gutter, 2.67rem) clamp(2.5rem, 6vw, 7rem); align-items: start; }
.gd-contact .gd-eyebrow { color: #4caf50; }
.gd-contact__title { margin: 0; font-size: clamp(2.3rem, 4.4vw, 4.6rem); font-weight: 400; line-height: 1.02; letter-spacing: -.045em; color: #fff; }
.gd-contact__title em { font-style: normal; color: #4caf50; }
.gd-contact__lead { margin: 1.6rem 0 0; max-width: 42ch; font-size: clamp(1rem, 1.1rem, 1.15rem); line-height: 1.6; color: rgba(255, 255, 255, .7); }

.gd-steps { list-style: none; margin: 2.8rem 0 0; padding: 0; }
.gd-steps li { display: grid; grid-template-columns: 3.2rem 1fr; padding: 1.1rem 0; border-top: 1px solid rgba(255, 255, 255, .2); }
.gd-steps li:last-child { border-bottom: 1px solid rgba(255, 255, 255, .2); }
.gd-steps span { font-size: .72rem; color: #4caf50; padding-top: .25em; letter-spacing: .04em; }
.gd-steps strong { display: block; font-weight: 400; font-size: 1.05rem; letter-spacing: -.01em; }
.gd-steps p { margin: .3rem 0 0; font-size: .88rem; color: rgba(255, 255, 255, .55); line-height: 1.5; }

.gd-contact__direct { list-style: none; margin: 2.4rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.gd-contact__direct span { display: block; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .5); margin-bottom: .45rem; }
.gd-contact__direct a { color: #fff; text-decoration: none; font-size: 1rem; border-bottom: 1px solid #4caf50; padding-bottom: 2px; word-break: break-word; }
.gd-contact__direct a:hover { color: #4caf50; }

/* form: flat white panel */
.gd-form { position: relative; padding: clamp(1.6rem, 3vw, 2.8rem); background: #f4f4f4; color: #21272a; }
.gd-form, .gd-form * { border-radius: 0 !important; }
.gd-form__group { border: 0; margin: 0 0 1.6rem; padding: 0; min-width: 0; }
.gd-form__group legend, .gd-field > span { display: block; margin-bottom: .6rem; padding: 0; font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #2e7d32; }
.gd-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.gd-chip { position: relative; cursor: pointer; }
.gd-chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.gd-chip span { display: inline-flex; align-items: center; gap: .5em; padding: .6em 1em; border: 1px solid rgba(33, 39, 42, .25); background: #fff; font-size: .86rem; line-height: 1.2; transition: background .2s, border-color .2s, color .2s; }
.gd-chip--sm span { padding: .5em .85em; font-size: .82rem; }
.gd-chip:hover span { border-color: #21272a; }
.gd-chip input:checked + span { background: #21272a; border-color: #21272a; color: #fff; }
.gd-chip input:checked + span::before { content: ""; width: 6px; height: 6px; border-radius: 50% !important; background: #4caf50; }
.gd-chip input:focus-visible + span { outline: 2px solid #4caf50; outline-offset: 2px; }

.gd-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem 1.3rem; margin-bottom: 1.6rem; }
.gd-field { display: block; min-width: 0; }
.gd-field--full { margin-bottom: 1.3rem; }
.gd-form .gd-field input, .gd-form .gd-field select, .gd-form .gd-field textarea { display: block; width: 100%; box-sizing: border-box; padding: .8em .9em; border: 1px solid rgba(33, 39, 42, .25); background-color: #fff !important; color: #21272a; font: inherit; font-size: max(16px, 1rem) !important; line-height: 1.4; transition: border-color .2s, box-shadow .2s; }
.gd-field textarea { resize: vertical; min-height: 8.5rem; }
.gd-field select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2321272a' stroke-width='1.4'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right .9em center !important; padding-right: 2.4em !important; }
.gd-form .gd-field input:hover, .gd-form .gd-field select:hover, .gd-form .gd-field textarea:hover { border-color: #21272a; }
.gd-form .gd-field input:focus, .gd-form .gd-field select:focus, .gd-form .gd-field textarea:focus { outline: 0; border-color: #4caf50; box-shadow: inset 0 0 0 1px #4caf50; }
.gd-form .gd-field.is-invalid input, .gd-form .gd-field.is-invalid textarea { border-color: #c03535; background-color: #fff7f7 !important; }
.gd-field__err { display: block; margin-top: .35rem; font-size: .78rem; color: #c03535; }
.gd-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.gd-consent { display: flex; gap: .75rem; align-items: flex-start; margin: 0 0 1.6rem; font-size: .84rem; line-height: 1.5; color: #64686a; cursor: pointer; }
.gd-consent input { flex: none; width: 1.1rem; height: 1.1rem; margin: .15rem 0 0; accent-color: #2e7d32; }
.gd-consent a { color: #21272a; text-decoration: underline; text-decoration-color: #4caf50; text-underline-offset: 2px; }
.gd-consent.is-invalid span { color: #c03535; }

.gd-form__foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding-top: 1.4rem; border-top: 1px solid rgba(33, 39, 42, .16); }
.gd-form__note { margin: 0; font-size: .78rem; color: #8a8f92; }
.gd-btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 2.5rem; min-width: 15rem; padding: 1.05em 1.3em; border: 0; background: #21272a; color: #fff; font: inherit; font-size: .98rem; cursor: pointer; transition: background .25s; }
.gd-btn:hover { background: #2e7d32; }
.gd-btn svg { transition: transform .3s; }
.gd-btn:hover svg { transform: translateX(4px); }
.gd-btn:focus-visible { outline: 2px solid #4caf50; outline-offset: 3px; }
.gd-btn[disabled] { opacity: .7; cursor: progress; }
.gd-btn.is-loading svg { animation: gd-spin 1s linear infinite; }
@keyframes gd-spin { to { transform: rotate(360deg); } }

.gd-form__status:empty { display: none; }
.gd-form__status { margin-top: 1.2rem; padding: 1rem 1.2rem; font-size: .9rem; line-height: 1.55; border-left: 3px solid; background: #fff; }
.gd-form__status.is-error { color: #a32b2b; border-color: #c03535; }
.gd-form__status a { color: inherit; font-weight: 600; }

.gd-form__done { padding: clamp(2.5rem, 6vw, 5rem) 0; border-top: 1px solid #21272a; }
.gd-form__done .gd-check { display: grid; place-items: center; width: 3.6rem; height: 3.6rem; margin: 0 0 1.6rem; background: #4caf50; color: #fff; }
.gd-form__done h3 { margin: 0 0 .7rem; font-size: clamp(1.6rem, 2.4vw, 2.2rem); font-weight: 400; letter-spacing: -.03em; }
.gd-form__done p { margin: 0; max-width: 42ch; color: #64686a; line-height: 1.6; }
.gd-form__done a { color: #21272a; }

@media (max-width: 999px) {
  .gd-contact__inner { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 599px) {
  .gd-form__grid, .gd-contact__direct { grid-template-columns: minmax(0, 1fr); }
  .gd-btn { width: 100%; }
}

/* the theme gives <select> its own height/line-height; match the inputs */
.gd-form .gd-field select { height: auto !important; min-height: 0 !important; line-height: 1.4 !important; padding-top: .8em !important; padding-bottom: .8em !important; }

/* Hover states (owner, 30 Oct 2026): every control answers the pointer, in the page's square, flat style. */
.gd-form { transition: box-shadow .4s; }
.gd-form:hover { box-shadow: 0 0 0 1px rgba(33, 39, 42, .08); }
.gd-chip span { transition: background .25s, border-color .25s, color .25s, transform .25s cubic-bezier(.2, .7, .2, 1), box-shadow .25s; }
.gd-chip:hover span { transform: translateY(-2px); box-shadow: 0 3px 0 -1px #4caf50; }
.gd-chip input:checked + span { transform: none; box-shadow: none; }
.gd-field > span { transition: color .25s; }
.gd-field:hover > span, .gd-field:focus-within > span { color: #4caf50; }
.gd-form .gd-field input:hover, .gd-form .gd-field select:hover, .gd-form .gd-field textarea:hover { border-color: #21272a; box-shadow: inset 0 -2px 0 #4caf50; }
.gd-form .gd-field input:focus, .gd-form .gd-field select:focus, .gd-form .gd-field textarea:focus { box-shadow: inset 0 0 0 1px #4caf50, inset 0 -3px 0 #4caf50; }
.gd-consent:hover span { color: #21272a; }
.gd-consent a { background: linear-gradient(#4caf50, #4caf50) left bottom / 0 2px no-repeat; transition: background-size .4s cubic-bezier(.2, .7, .2, 1); }
.gd-consent a:hover { background-size: 100% 2px; text-decoration-color: transparent; }
/* send button: green fills in from the left, the arrow slides on */
.gd-btn { position: relative; overflow: hidden; isolation: isolate; }
.gd-btn::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #2e7d32; transform: scaleX(0); transform-origin: left; transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.gd-btn:hover { background: #21272a; }
.gd-btn:hover::before, .gd-btn:focus-visible::before { transform: scaleX(1); }
.gd-btn svg { transition: transform .4s cubic-bezier(.2, .7, .2, 1); }
.gd-btn:hover svg { transform: translateX(6px); }
.gd-btn[disabled]::before { transform: scaleX(0); }
/* direct contact links on the dark side */
.gd-contact__direct a { background: linear-gradient(#4caf50, #4caf50) left bottom / 0 100% no-repeat; transition: background-size .45s cubic-bezier(.2, .7, .2, 1), color .3s; }
.gd-contact__direct a:hover { background-size: 100% 100%; color: #fff; }
@media (prefers-reduced-motion: reduce) {
  .gd-form *, .gd-form *::before, .gd-contact__direct a { transition: none !important; animation: none !important; }
}
