/* Presentation contract shared by existing native, booking and CF7 forms. */
html body :is([data-public-form],[data-demo-form="booking"],.wpcf7-form){--omedica-field-height:3rem;--omedica-field-radius:var(--wp--custom--radius--sm,.75rem);--omedica-form-gap:var(--space-sm,1rem);min-width:0;}
html body :is([data-public-form],[data-demo-form="booking"],.wpcf7-form) :is(input:not([type=checkbox],[type=radio],[type=file],[type=hidden],[type=submit]),select,textarea){box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:var(--omedica-field-height);border:1px solid var(--wp--preset--color--border,#d9d4e0);border-radius:var(--omedica-field-radius);padding:.7rem .85rem;font:inherit;line-height:1.4;color:var(--wp--preset--color--text);background:var(--wp--preset--color--surface,#fff);box-shadow:none;}
html body :is([data-public-form],[data-demo-form="booking"],.wpcf7-form) textarea{min-height:7rem;resize:vertical;}
html body :is([data-public-form],[data-demo-form="booking"],.wpcf7-form) :is(label,.omedica-form-field){font-size:1rem;line-height:1.5;}
html body .wpcf7-form > p{margin:0 0 var(--omedica-form-gap);}
html body .wpcf7-form-control-wrap{display:block;min-width:0;margin-block-start:.35rem;}
html body :is([data-public-form],[data-demo-form="booking"],.wpcf7-form) :is(button[type=submit],input[type=submit]),html body [data-booking-step] > .wp-element-button,html body .omedica-form-result .wp-element-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:3rem;max-width:100%;padding:.75rem 1.25rem;border:1px solid transparent;border-radius:var(--wp--custom--radius--pill,999px);background:var(--wp--preset--color--action,#7545a1);color:var(--wp--preset--color--white,#fff);box-shadow:none;font:inherit;font-weight:600;line-height:1.4;text-align:center;white-space:normal;cursor:pointer;}
html body :is([data-public-form],[data-demo-form="booking"],.wpcf7-form) :is(button[type=submit],input[type=submit]):hover,html body [data-booking-step] > .wp-element-button:hover,html body .omedica-form-result button:hover{background:var(--wp--preset--color--action-hover,#61378b);}
html body :is([data-public-form],[data-demo-form="booking"],.wpcf7-form) :is(input,textarea,select,button):focus-visible,html body [data-booking-step] > .wp-element-button:focus-visible,html body .omedica-form-result button:focus-visible{outline:var(--wp--custom--focus--width,2px) solid var(--wp--preset--color--action,#7545a1);outline-offset:3px;}
html body :is([data-public-form],[data-demo-form="booking"],.wpcf7-form) input[type=checkbox]{width:1.25rem;height:1.25rem;flex:0 0 1.25rem;accent-color:var(--wp--preset--color--action,#7545a1);}
html body :is([data-public-form],[data-demo-form="booking"],.wpcf7-form) :is(button,input[type=submit]):disabled{opacity:.6;cursor:wait;}
html body :is([data-public-form],.wpcf7-form)[hidden],html body .omedica-form-result[hidden]{display:none!important;}
html body .omedica-form-result{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm,1rem);max-width:34rem;min-width:0;margin-inline:auto;padding:var(--space-md,1.5rem) 0;text-align:center;overflow-wrap:anywhere;}
html body .omedica-form-result > :is(h2,p,button){margin:0;}
html body .omedica-form-result h2{font-size:clamp(1.4rem,3vw,1.85rem);line-height:1.3;}
html body .omedica-form-result__icon{display:grid;place-items:center;width:4.5rem;height:4.5rem;border-radius:50%;background:var(--wp--preset--color--surface-alt,#f1eaf7);color:var(--wp--preset--color--action,#7545a1);flex:0 0 auto;}
html body .omedica-form-result__icon svg{display:block;}
html body .omedica-file-picker{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;max-width:100%;min-height:3rem;}
html body .omedica-file-picker__button{display:inline-flex;align-items:center;min-height:3rem;padding:.65rem 1rem;box-sizing:border-box;border:1px solid var(--wp--preset--color--action,#7545a1);border-radius:var(--wp--custom--radius--sm,.75rem);color:var(--wp--preset--color--action,#7545a1);background:var(--wp--preset--color--surface,#fff);font-weight:600;}
html body .omedica-file-picker__name{min-width:0;overflow-wrap:anywhere;}
html body .omedica-file-picker input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;}
html body .omedica-file-picker:focus-within .omedica-file-picker__button{outline:2px solid var(--wp--preset--color--action,#7545a1);outline-offset:3px;}
html body .wpcf7-form.sent .wpcf7-response-output{display:none;}
/* Override the legacy page-wide input selector, which also matched submit controls. */
html body.omedica-public-polish :is(form[data-public-form],form[data-demo-form="booking"],form.wpcf7-form) :is(button[type=submit],input[type=submit]){min-height:3rem;border:1px solid transparent;border-radius:var(--wp--custom--radius--pill,999px);padding:.75rem 1.25rem;background:var(--wp--preset--color--action,#7545a1);color:var(--wp--preset--color--white,#fff);box-shadow:none;}
html body.omedica-public-polish :is(form[data-public-form],form[data-demo-form="booking"],form.wpcf7-form) :is(button[type=submit],input[type=submit]):focus-visible{outline:var(--wp--custom--focus--width,2px) solid var(--wp--preset--color--action,#7545a1);outline-offset:3px;}
html body .wpcf7-form{gap:var(--omedica-form-gap,1rem);}
html body .wpcf7-form > p{margin:0;}
html body .wpcf7-form label > br{display:none;}
html body .wpcf7-form-control-wrap{margin-block-start:0;}
html body .wpcf7-form .omedica-field-error:not(.is-visible),html body .wpcf7-form > .hidden-fields-container,html body .wpcf7-form > [data-cf7-security],html body .wpcf7-form .wpcf7-response-output:empty{display:none;}
html body .omedica-form-result__icon{margin-inline:auto;justify-self:center;align-self:center;}
html body .omedica-booking-ui .omedica-booking-step.omedica-form-result{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm,1rem);}
html body .omedica-booking-ui .omedica-booking-step.omedica-form-result[hidden]{display:none;}
html body .wpcf7-form span.wpcf7-not-valid-tip{display:block!important;color:var(--wp--custom--status--error,#a32137);font-size:.875rem;line-height:1.4;}
html body .wpcf7-form .wpcf7-form-control-wrap:has(.omedica-field-error.is-visible) .wpcf7-not-valid-tip{display:none!important;}
/* Keep consent, analysis selections and date actions usable with enlarged text. */
html body .wpcf7-form :is(.wpcf7-acceptance,.wpcf7-list-item,.wpcf7-list-item-label,.omedica-consent-copy){min-width:0;max-width:100%;overflow-wrap:anywhere;}
html body .wpcf7-form .wpcf7-acceptance label{min-width:0;max-width:100%;}
html body [data-booking] :is(.omedica-booking-flow,.omedica-selected-studies,.omedica-selected-studies__header,.omedica-booking-patient-type,.omedica-segmented-control){min-width:0;max-width:100%;box-sizing:border-box;}
html body [data-booking] .omedica-selected-studies__header :is(fieldset,.omedica-segmented-control,label,span){min-width:0;max-width:100%;overflow-wrap:anywhere;}
html body [data-booking] .omedica-selected-studies__header .omedica-segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
html body [data-booking] .omedica-date-selector .omedica-selector-submit{min-width:0;max-width:100%;white-space:normal;}
@container booking (max-width:28rem){
 html body [data-booking] .omedica-booking-summary{grid-template-columns:minmax(7.5rem,1fr) minmax(0,2fr);column-gap:var(--space-xs,.5rem);}
 html body [data-booking] .omedica-selected-studies li{grid-template-columns:minmax(0,1fr) auto;}
 html body [data-booking] .omedica-selected-studies__name{grid-column:1/-1;}
 html body [data-booking] .omedica-selected-studies__price{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;}
 html body [data-booking] .omedica-selected-studies__total{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
}
@container booking (max-width:18rem){
 html body [data-booking] .omedica-date-strip{grid-template-columns:repeat(auto-fit,minmax(min(100%,3rem),1fr));}
 html body [data-booking] .omedica-booking-patient-type{flex-wrap:wrap;}
}

@container booking (max-width:28rem){
 html body [data-booking] .omedica-selected-studies li > .omedica-selected-studies__price{grid-column:1;grid-row:2;text-align:start;}
 html body [data-booking] .omedica-selected-studies .omedica-selected-studies__remove{grid-column:2;grid-row:2;}
}
html body [data-booking] .wp-element-button{min-width:0;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;}

/* Result details use the same definition-list component, inside the confirmed result. */
html body [data-booking-result-summary]{width:100%;box-sizing:border-box;text-align:start;margin:0;}
