@charset "utf-8";
/* CSS Document */

/* ========== Global helpers (safe) ========== */
.c5-express-multistep *, .ccm-block-express-form * { box-sizing: border-box;color: #777;}

/* Wrapper */
.c5-express-multistep {width: 100%;padding: 25px;background-color: #fff;border-radius: 5px;box-shadow: 0 0 5px rgba(0,0,0,.5);}
.c5-express-multistep fieldset {display: flex;flex-wrap: wrap;gap: 6px 24px;margin: 0;padding: 0;border: none;}
.c5-express-multistep .form-group {flex: 1 1 calc(50% - 12px);min-width: 320px;margin: 0;display: grid;align-items: center;gap: 8px;grid-template-columns: auto minmax(0, 1fr);position:relative;}
.c5-express-multistep .form-group .control-label {margin: 0;padding: 0;line-height: 1.2;}
.c5-express-multistep .form-group .form-control {width: 100%;min-width: 0;min-height: 2rem;margin: 0;padding: 2px 2px 2px 15px;color: rgba(0,0,0,.75);font-size: 0.875rem;background-color: #fff;outline: none;border: 1px solid #ccc;box-shadow: inset 0 1px 2px rgba(0,0,0,.1);border-radius: 5px;}

/* checkbox raido buttons */
.c5-express-multistep .form-group:has(.form-options) {display: grid;grid-template-columns: auto minmax(0, 1fr);align-items: start;gap: 8px 16px;flex: 1 1 100%;padding: 10px 2%;border: 1px solid #ccc;border-radius: 5px;background-color: #f7f7f7;}
.c5-express-multistep .form-group:has(.form-options) .control-label {max-width: 90%;white-space: normal;line-height: 1.4;}
.c5-express-multistep .form-group .form-options {display: flex;flex-wrap: wrap;gap: 8px 16px;}
.c5-express-multistep .form-group .form-options .checkbox, .c5-express-multistep .form-group .form-options .radio {display: inline-flex;align-items: center;margin: 0;}
.c5-express-multistep .form-group .form-options .checkbox label, .c5-express-multistep .form-group .form-options .radio label {display: inline-flex;align-items: center;gap: 6px;margin: 0;}

/* select */
.c5-express-multistep select.form-control {color: rgba(0,0,0,.5) !important;}
.c5-express-multistep select.form-control:focus {border-color: #999;outline: none;box-shadow: 0 0 4px rgba(0,0,0,.1);}

/*address */
.c5-express-multistep fieldset fieldset {padding: 10px 2%;flex: 0 0 100%;box-sizing: border-box;border: solid 1px #ccc !important;background-color: #f7f7f7;border-radius: 5px;}
.c5-express-multistep fieldset fieldset > legend {}
.c5-express-multistep .ccm-attribute-address-composer-wrapper { display: flex;flex-wrap: wrap;gap: 6px 16px;}
.c5-express-multistep .ccm-attribute-address-composer-wrapper .form-group {flex: 1 1 calc(50% - 8px);min-width: 260px;margin: 0;display: grid;grid-template-columns: auto minmax(0,1fr);gap: 8px;align-items: center;}

/* required fields */
.c5-express-multistep .form-group:has(.text-muted) {padding-left: 12px;}
.c5-express-multistep .form-group .text-muted {width:10px;display:inline-block;vertical-align:top;color:#FF0004; overflow:hidden; font-size: 1em; color: #ff0000;white-space: nowrap;font-weight:bold; position:absolute; top:4px; left:0; visibility:hidden;}
.c5-express-multiste .form-group .text-muted::before {visibility:visible !important;content:'*';position:absolute;left:4px;top:0;}
.c5-express-multistep .form-group:has(.text-muted) .form-control {border-color: #d992b0;}
.c5-express-multistep .form-control:invalid {border-color: #cc0000 !important;box-shadow: 0 0 3px rgba(204, 0, 0, 0.4);background-color: #fff6f6;}
.c5-express-multistep .form-group:has(input:invalid[type="checkbox"]), .c5-express-multistep .form-group:has(input:invalid[type="radio"]) {background-color: #fff6f6;border: 1px solid #cc0000 !important;border-radius: 5px;padding: 10px;}
.c5-express-multistep .form-control:invalid {background-color: #fff6f6;}

/* display text */
.c5-express-multistep fieldset h3 {width:100%;}

/* file selector */
.c5-express-multistep .ccm-file-selector {max-width: 200px;background-color:transparent;}
.c5-express-multistep .ccm-file-selector-choose-new {padding: 4px 10px;background-color: #000;color: #fff;border-radius: 5px;font-size: 0.9em;}

/* step */
.c5-step-nav {margin:20px 0px;}
.c5-express-multistep .btn-primary {min-height: 2rem;padding: 2px 50px;margin: 2px 4px;color:#fff;background: #96add6;background: #777 !important;border:solid 1px transparent;font-size: 1em;border-radius: 5px 5px 5px 5px;}
.c5-express-multistep .btn-secondary  {min-height: 2rem;padding: 2px 50px;margin: 2px 4px;color:#fff;background-color: #777;background: #777 !important;border:solid 1px transparent;font-size: 1em;border-radius: 5px 5px 5px 5px;}

/* ========== Responsive ========== */
@media (max-width: 768px) {
    .c5-express-multistep {padding: 25px;}
    .c5-express-multistep fieldset {}    
    .c5-express-multistep .form-group {grid-template-columns: minmax(120px, 40%) minmax(0, 1fr);}
    .c5-express-multistep .ccm-attribute-address-composer-wrapper .form-group {}
    .c5-express-multistep .form-group:has(.form-options) {display: flex;gap: 1px;}
    .c5-express-multistep .form-group .control-label {}}

