.gemonio-form-wrap{font-family:var(--gf-font);font-size:var(--gf-size);color:var(--gf-text)}.gemonio-form .gf-fields{display:flex;flex-wrap:wrap;margin:calc(var(--gf-gap) / -2)}.gemonio-form .gf-field{box-sizing:border-box;padding:calc(var(--gf-gap) / 2);width:100%}.gemonio-form .gf-width-25{width:25%}.gemonio-form .gf-width-33{width:33.333%}.gemonio-form .gf-width-50{width:50%}.gemonio-form .gf-width-66{width:66.666%}.gemonio-form .gf-width-75{width:75%}.gemonio-form label{display:block;color:var(--gf-label);margin-bottom:6px}.gemonio-form input:not([type=checkbox]):not([type=radio]),.gemonio-form textarea,.gemonio-form select{box-sizing:border-box;width:100%;padding:var(--gf-pad);background-color:var(--gf-bg);color:var(--gf-text);border:1px solid var(--gf-border);border-radius:var(--gf-radius);font:inherit}.gemonio-form input:not([type=checkbox]):not([type=radio]),.gemonio-form select{min-height:calc(1.25em + (var(--gf-pad) * 2) + 2px)}.gemonio-form select{-webkit-appearance:none!important;appearance:none!important;background-image:linear-gradient(45deg,transparent 50%,var(--gf-text) 50%),linear-gradient(135deg,var(--gf-text) 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;line-height:1.25!important;padding:var(--gf-pad) 34px var(--gf-pad) var(--gf-pad)!important}.gemonio-form textarea{min-height:130px;resize:vertical}.gemonio-form input:focus,.gemonio-form textarea:focus,.gemonio-form select:focus{outline:2px solid var(--gf-focus);outline-offset:1px}.gf-choices label,.gf-consent{font-weight:400}.gf-submit{text-align:var(--gf-button-align);margin-top:var(--gf-gap)}.gf-submit button{background:var(--gf-button);color:var(--gf-button-text);border:0;border-radius:var(--gf-button-radius);padding:12px 22px;font:inherit;cursor:pointer}.gf-submit button:hover{background:var(--gf-button-hover)}.gf-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.gf-notice{padding:12px 14px;margin-bottom:16px;border-left:4px solid}.gf-notice.success{background:#edfaef;border-color:#2e8540}.gf-notice.error{background:#fff0f0;border-color:#b32d2e}[hidden]{display:none!important}@media(max-width:700px){.gemonio-form .gf-field{width:100%}}

/* Multipage */
.gf-multipage{width:100%}.gf-page{width:100%}.gf-page-title{margin:0 0 var(--gf-gap);padding:0 calc(var(--gf-gap)/2)}.gf-page-title h3{font:inherit;font-size:1.2em;font-weight:600;margin:0}.gf-progress{margin:0 0 calc(var(--gf-gap)*1.25);padding:0 calc(var(--gf-gap)/2)}.gf-progress-track{background:#e3e7ed;border-radius:999px;height:4px;overflow:hidden}.gf-progress-track>span{background:var(--gf-button);display:block;height:100%;transition:width .22s ease;width:0}.gf-progress-meta{color:var(--gf-label);font-size:.86em;margin-top:7px}.gf-page-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-top:var(--gf-gap);padding:0 calc(var(--gf-gap)/2)}.gf-page-actions button{border-radius:var(--gf-button-radius);cursor:pointer;font:inherit;padding:12px 22px}.gf-page-next,.gf-page-submit{background:var(--gf-button);border:0;color:var(--gf-button-text)}.gf-page-next:hover,.gf-page-submit:hover{background:var(--gf-button-hover)}.gf-page-prev{background:transparent;border:1px solid var(--gf-border);color:var(--gf-text)}.gf-page-prev:hover{border-color:var(--gf-focus)}@media(max-width:700px){.gf-page-actions{align-items:stretch;flex-direction:column-reverse}.gf-page-actions button{width:100%}}

/* 0.30.3 — reusable form styles: label modes and minimal field variants. */
.gemonio-form input::placeholder,.gemonio-form textarea::placeholder{color:var(--gf-placeholder);opacity:1}
.gemonio-form .gf-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.gemonio-form-wrap.gf-field-style-underline .gemonio-form input:not([type=checkbox]):not([type=radio]),
.gemonio-form-wrap.gf-field-style-underline .gemonio-form textarea,
.gemonio-form-wrap.gf-field-style-underline .gemonio-form select{background-color:transparent;border:0;border-bottom:1px solid var(--gf-border);border-radius:0;padding-left:0;padding-right:0;box-shadow:none}
.gemonio-form-wrap.gf-field-style-underline .gemonio-form select{padding-left:0!important;padding-right:34px!important}
.gemonio-form-wrap.gf-field-style-underline .gemonio-form input:focus,
.gemonio-form-wrap.gf-field-style-underline .gemonio-form textarea:focus,
.gemonio-form-wrap.gf-field-style-underline .gemonio-form select:focus{border-bottom-color:var(--gf-focus);outline:0;box-shadow:0 1px 0 var(--gf-focus)}
.gemonio-form-wrap.gf-field-style-borderless .gemonio-form input:not([type=checkbox]):not([type=radio]),
.gemonio-form-wrap.gf-field-style-borderless .gemonio-form textarea,
.gemonio-form-wrap.gf-field-style-borderless .gemonio-form select{background-color:transparent;border:0;border-radius:0;box-shadow:none}
.gemonio-form-wrap.gf-field-style-borderless .gemonio-form input:focus,
.gemonio-form-wrap.gf-field-style-borderless .gemonio-form textarea:focus,
.gemonio-form-wrap.gf-field-style-borderless .gemonio-form select:focus{outline:1px solid var(--gf-focus);outline-offset:2px}
.gemonio-form-wrap.gf-style-preset-mnml .gemonio-form textarea{min-height:112px}

/* 0.30.4 — MNML: pure black underline; focus visually doubles the line without an outline. */
.gemonio-form-wrap.gf-style-preset-mnml.gf-field-style-underline .gemonio-form input:not([type=checkbox]):not([type=radio]),
.gemonio-form-wrap.gf-style-preset-mnml.gf-field-style-underline .gemonio-form textarea,
.gemonio-form-wrap.gf-style-preset-mnml.gf-field-style-underline .gemonio-form select{border-bottom-color:var(--gf-border)}
.gemonio-form-wrap.gf-style-preset-mnml.gf-field-style-underline .gemonio-form input:focus,
.gemonio-form-wrap.gf-style-preset-mnml.gf-field-style-underline .gemonio-form textarea:focus,
.gemonio-form-wrap.gf-style-preset-mnml.gf-field-style-underline .gemonio-form select:focus{border-bottom-color:var(--gf-focus);box-shadow:0 1px 0 var(--gf-focus)}

/* MNML uses semantic form tokens; presets may be light or dark without selector-level hardcoding. */
/* 0.30.6 — Keep MNML placeholders truly black even after the modular placeholder stylesheet is loaded. */
.gemonio-form-wrap.gf-style-preset-mnml .gemonio-form input::placeholder,.gemonio-form-wrap.gf-style-preset-mnml .gemonio-form textarea::placeholder{color:var(--gf-placeholder);opacity:1}

/* Forms 0.33.0 — availability hint */
.gf-date-availability-hint{display:block;margin:0 0 7px;font-size:.875em;line-height:1.45;opacity:.72}
/* Forms 0.35.0 — visible notes for configured blocked periods */
.gf-date-period-hints{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:5px;font-size:.875em;line-height:1.4}
.gf-date-period-hints li{margin:0;padding:0;opacity:.78}
.gf-date-period-hints strong{font-weight:600}
