.gdrf-shell{--gd-accent:#179b57;--gd-bg:#fff;--gd-text:#17221b;--gd-muted:#66756c;max-width:860px;margin:24px auto;font-family:inherit;color:var(--gd-text)}.gdrf-form{background:var(--gd-bg);border:1px solid rgba(20,55,36,.12);border-radius:24px;padding:clamp(22px,4vw,44px);box-shadow:0 18px 60px rgba(25,56,38,.10)}.gdrf-head{margin-bottom:28px}.gdrf-eyebrow{display:block;color:var(--gd-accent);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.gdrf-head h2{font-size:clamp(1.8rem,4vw,3rem);line-height:1.05;margin:.35rem 0 .5rem}.gdrf-head p{margin:0;color:var(--gd-muted)}.gdrf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gdrf-grid label{display:flex;flex-direction:column;gap:8px;font-weight:700}.gdrf-grid label>span{font-size:.9rem}.gdrf-wide{grid-column:1/-1}.gdrf-form input,.gdrf-form select,.gdrf-form textarea{box-sizing:border-box;width:100%;border:1px solid #d8e1dc;border-radius:13px;background:#f8faf9;color:#17221b;padding:14px 15px;font:inherit;outline:none;transition:.2s}.gdrf-form input:focus,.gdrf-form select:focus,.gdrf-form textarea:focus{border-color:var(--gd-accent);box-shadow:0 0 0 4px rgba(23,155,87,.12);background:#fff}.gdrf-consent{display:flex;align-items:flex-start;gap:11px;margin:20px 0;font-size:.88rem;color:var(--gd-muted)}.gdrf-consent input{width:20px;height:20px;flex:0 0 auto;margin-top:1px}.gdrf-submit{border:0;border-radius:14px;background:linear-gradient(135deg,#158b4e,#20ad65);color:#fff;padding:15px 24px;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(23,155,87,.22)}.gdrf-submit:disabled{opacity:.65;cursor:wait}.gdrf-message{margin-top:16px;padding:0}.gdrf-message.is-success,.gdrf-message.is-error{padding:13px 15px;border-radius:12px}.gdrf-message.is-success{background:#eaf8f0;color:#12663a}.gdrf-message.is-error{background:#fff0f0;color:#9d2929}.gdrf-hp{position:absolute!important;left:-9999px!important;opacity:0!important}@media(max-width:640px){.gdrf-grid{grid-template-columns:1fr}.gdrf-wide{grid-column:auto}.gdrf-form{border-radius:18px;padding:22px}}
.gdrf-date-field{position:relative}.gdrf-picker-button{width:100%;min-height:52px;border:1px solid #d8e1dc;border-radius:13px;background:#f8faf9;color:#6d776f;padding:14px 15px;font:inherit;text-align:left;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.gdrf-picker-button.has-value{color:#17221b}.gdrf-picker-button:focus{border-color:var(--gd-accent);box-shadow:0 0 0 4px rgba(23,155,87,.12);outline:none}.gdrf-calendar{position:absolute;z-index:50;top:calc(100% + 8px);left:0;width:min(360px,calc(100vw - 64px));background:#fff;border:1px solid #d8e1dc;border-radius:18px;padding:16px;box-shadow:0 22px 55px rgba(20,40,30,.2)}.gdrf-calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin-bottom:12px}.gdrf-calendar-head strong{text-align:center;font-size:1rem}.gdrf-calendar-head button{border:0;background:#f1f5f2;border-radius:10px;height:38px;font-size:1.55rem;cursor:pointer}.gdrf-calendar-head button:disabled{opacity:.28;cursor:not-allowed}.gdrf-weekdays,.gdrf-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.gdrf-weekdays span{text-align:center;color:#78847c;font-size:.73rem;font-weight:800;padding:5px 0}.gdrf-day,.gdrf-day-blank{aspect-ratio:1/1}.gdrf-day{border:0;border-radius:50%;background:transparent;color:#17221b;font:inherit;font-weight:700;cursor:pointer}.gdrf-day:hover:not(:disabled){background:#e8f7ef;color:#12663a}.gdrf-day.is-selected{background:var(--gd-accent)!important;color:#fff!important}.gdrf-day.is-today:not(.is-selected){outline:2px solid rgba(23,155,87,.35)}.gdrf-day.is-disabled{color:#c7ceca;text-decoration:line-through;background:#f6f7f6;cursor:not-allowed}.gdrf-days.is-loading{opacity:.45;pointer-events:none}.gdrf-calendar-note,.gdrf-field-note{display:block;color:#7b877f;font-size:.72rem;font-weight:500;line-height:1.4}.gdrf-calendar-note{margin-top:12px}.gdrf-field-note{margin-top:2px}@media(max-width:640px){.gdrf-calendar{position:fixed;left:16px;right:16px;top:50%;transform:translateY(-50%);width:auto;max-height:85vh;overflow:auto}.gdrf-day{min-height:38px}}
.gdrf-date-notice{margin-top:4px;padding:8px 10px;border-radius:9px;background:#fff6d8;color:#6e5400;font-size:.78rem}
.gdrf-theme-light{color-scheme:light;--gd-bg:#fff;--gd-text:#17221b;--gd-muted:#66756c}.gdrf-theme-light .gdrf-form{background:#fff!important;color:#17221b!important;border-color:rgba(20,55,36,.12)!important}.gdrf-theme-light .gdrf-form input,.gdrf-theme-light .gdrf-form select,.gdrf-theme-light .gdrf-form textarea,.gdrf-theme-light .gdrf-picker-button,.gdrf-theme-light .gdrf-option{border-color:#d8e1dc!important;background:#f8faf9!important;color:#17221b!important}.gdrf-theme-light .gdrf-picker-button:hover,.gdrf-theme-light .gdrf-picker-button:focus,.gdrf-theme-light .gdrf-form input:focus,.gdrf-theme-light .gdrf-form select:focus,.gdrf-theme-light .gdrf-form textarea:focus{border-color:var(--gd-accent)!important;background:#fff!important;color:#17221b!important}.gdrf-theme-light .gdrf-calendar{border-color:#d8e1dc!important;background:#fff!important;color:#17221b!important}.gdrf-theme-light .gdrf-calendar-head button,.gdrf-theme-light .gdrf-day.is-disabled{background:#f1f5f2!important}.gdrf-theme-light .gdrf-day{color:#17221b!important}.gdrf-theme-light .gdrf-day.is-selected{color:#fff!important}
.gdrf-option{display:flex!important;min-height:52px;align-items:center;flex-direction:row!important;gap:10px!important;padding:12px 14px;border:1px solid #d8e1dc;border-radius:13px;background:#f8faf9}.gdrf-option input{width:20px!important;height:20px;flex:0 0 auto}.gdrf-theme-dark{--gd-muted:#b9c6be}.gdrf-theme-dark .gdrf-form{border-color:rgba(255,255,255,.16)}.gdrf-theme-dark .gdrf-form input,.gdrf-theme-dark .gdrf-form select,.gdrf-theme-dark .gdrf-form textarea,.gdrf-theme-dark .gdrf-picker-button,.gdrf-theme-dark .gdrf-option{border-color:#405249;background:#15241c;color:#f4f7f5}.gdrf-theme-dark .gdrf-calendar{border-color:#405249;background:#15241c;color:#f4f7f5}.gdrf-theme-dark .gdrf-calendar-head button,.gdrf-theme-dark .gdrf-day.is-disabled{background:#24352b}.gdrf-theme-dark .gdrf-day{color:#f4f7f5}.gdrf-theme-dark .gdrf-day.is-disabled{color:#748279}.gdrf-theme-dark .gdrf-form input:focus,.gdrf-theme-dark .gdrf-form select:focus,.gdrf-theme-dark .gdrf-form textarea:focus{background:#1c3025}
@media(prefers-color-scheme:dark){.gdrf-theme-auto{--gd-bg:var(--gd-dark-bg);--gd-text:#f4f7f5;--gd-muted:#b9c6be}.gdrf-theme-auto .gdrf-form{border-color:rgba(255,255,255,.16)}.gdrf-theme-auto .gdrf-form input,.gdrf-theme-auto .gdrf-form select,.gdrf-theme-auto .gdrf-form textarea,.gdrf-theme-auto .gdrf-picker-button,.gdrf-theme-auto .gdrf-option{border-color:#405249;background:#15241c;color:#f4f7f5}.gdrf-theme-auto .gdrf-calendar{border-color:#405249;background:#15241c;color:#f4f7f5}.gdrf-theme-auto .gdrf-calendar-head button,.gdrf-theme-auto .gdrf-day.is-disabled{background:#24352b}.gdrf-theme-auto .gdrf-day{color:#f4f7f5}.gdrf-theme-auto .gdrf-day.is-disabled{color:#748279}}

/* Compact desktop form. Kept as overrides so the mobile layout remains readable. */
.gdrf-shell { margin: 12px auto; }
.gdrf-form {
  border-radius: 22px;
  padding: clamp(16px, 2.2vw, 28px);
  box-shadow: 0 14px 42px rgba(25, 56, 38, .09);
}
.gdrf-head { margin-bottom: 16px; }
.gdrf-eyebrow { font-size: .72rem; letter-spacing: .15em; }
.gdrf-head h2 { margin: .25rem 0 .35rem; font-size: clamp(1.65rem, 3vw, 2.55rem); line-height: 1.02; }
.gdrf-head p { font-size: .94rem; }
.gdrf-grid { gap: 11px 16px; }
.gdrf-grid label { gap: 5px; }
.gdrf-grid label > span { font-size: .84rem; }
.gdrf-form input,
.gdrf-form select,
.gdrf-form textarea { padding: 10px 12px; border-radius: 11px; }
.gdrf-form textarea { line-height: 1.35; resize: vertical; }
.gdrf-picker-button { min-height: 43px; padding: 10px 12px; border-radius: 11px; }
.gdrf-consent { gap: 9px; margin: 12px 0; font-size: .82rem; line-height: 1.35; }
.gdrf-consent input { width: 18px; height: 18px; margin-top: 0; }
.gdrf-submit { padding: 12px 20px; border-radius: 12px; box-shadow: 0 8px 18px rgba(23, 155, 87, .2); }
.gdrf-message { margin-top: 10px; }
.gdrf-date-notice { margin-top: 0; padding: 0; border-radius: 0; background: transparent; color: #7b877f; font-size: .72rem; }
.gdrf-date-notice:not([hidden])::before { content: "* "; }
.gdrf-date-notice[hidden] { display: none !important; }

@media (max-width: 640px) {
  .gdrf-shell { margin: 8px auto; }
  .gdrf-grid { gap: 12px; }
  .gdrf-form { padding: 18px; }
  .gdrf-head { margin-bottom: 18px; }
}
