| @@ -1,21 +1,143 @@ | ||
| 1 | 1 | /* File: ../includes/__css/client/form_fields/bfb_front-end.css */ |
| 2 | 2 | /* -- Line #1: FONT-END | Line #2: BACK-END -- -------------------------------------------------------------------- */ |
| 3 | 3 | div .wpbc_bfb_form .wpbc__row .wpbc__field, |
| 4 | 4 | div .wpbc_bfb_form .wpbc_bfb__section .wpbc_bfb__row .wpbc_bfb__column { |
| 5 | - display: flex; | |
| 6 | - flex-direction: var(--wpbc-bfb-col-dir, column); /* row */ | |
| 5 | + display: flex; | |
| 6 | + box-sizing: border-box; | |
| 7 | + flex-direction: var(--wpbc-bfb-col-dir, column); /* row */ | |
| 7 | 8 | flex-wrap: var(--wpbc-bfb-col-wrap, nowrap); /* wrap */ |
| 8 | 9 | justify-content: var(--wpbc-bfb-col-jc, flex-start); /* flex-start */ |
| 9 | 10 | align-items: var(--wpbc-bfb-col-ai, stretch); /* flex-start */ |
| 10 | - gap: var(--wpbc-bfb-col-gap, 0px); /* 0px */ | |
| 11 | - align-self: var(--wpbc-bfb-col-aself, flex-start); /* flex-start */ | |
| 11 | + gap: var(--wpbc-bfb-col-gap, 0px); /* 0px */ | |
| 12 | + padding: var(--wpbc-bfb-col-padding, 0px); /* 0px */ | |
| 13 | + align-self: var(--wpbc-bfb-col-aself, flex-start); /* flex-start */ | |
| 14 | +} | |
| 15 | +/* Preserve the historical field-column margin until a column margin is explicitly configured. */ | |
| 16 | +div .wpbc_bfb_form .wpbc__row .wpbc__field:not(.wpbc__cal), | |
| 17 | +div .wpbc_bfb_form .wpbc_bfb__section .wpbc_bfb__row .wpbc_bfb__column { | |
| 18 | + margin: 0.7em 0; | |
| 19 | +} | |
| 20 | +div .wpbc_bfb_form .wpbc__row > .wpbc__field[style*="--wpbc-bfb-col-margin:"], | |
| 21 | +div .wpbc_bfb_form .wpbc_bfb__section > .wpbc_bfb__row > .wpbc_bfb__column[style*="--wpbc-bfb-col-margin:"] { | |
| 22 | + margin: var(--wpbc-bfb-col-margin); | |
| 23 | +} | |
| 24 | +/* Keep configurable padding visible while the selected Builder column is outlined. */ | |
| 25 | +div .wpbc_bfb_form .wpbc_bfb__section[data-selected-col] > .wpbc_bfb__row > .wpbc_bfb__column.is-selected-column { | |
| 26 | + padding: var(--wpbc-bfb-col-padding, 0px); | |
| 27 | + padding-top: var(--wpbc-bfb-col-padding-top, var(--wpbc-bfb-col-padding, 0px)); | |
| 28 | + padding-right: var(--wpbc-bfb-col-padding-right, var(--wpbc-bfb-col-padding, 0px)); | |
| 29 | + padding-bottom: var(--wpbc-bfb-col-padding-bottom, var(--wpbc-bfb-col-padding, 0px)); | |
| 30 | + padding-left: var(--wpbc-bfb-col-padding-left, var(--wpbc-bfb-col-padding, 0px)); | |
| 31 | +} | |
| 32 | +/* Explicit column variables apply only to their owning column, not to nested Sections through custom-property inheritance. */ | |
| 33 | +div .wpbc_bfb_form .wpbc__row > .wpbc__field[style*="--wpbc-bfb-col-padding-top"], | |
| 34 | +div .wpbc_bfb_form .wpbc_bfb__section > .wpbc_bfb__row > .wpbc_bfb__column[style*="--wpbc-bfb-col-padding-top"] { | |
| 35 | + padding-top: var(--wpbc-bfb-col-padding-top); | |
| 36 | +} | |
| 37 | +div .wpbc_bfb_form .wpbc__row > .wpbc__field[style*="--wpbc-bfb-col-padding-right"], | |
| 38 | +div .wpbc_bfb_form .wpbc_bfb__section > .wpbc_bfb__row > .wpbc_bfb__column[style*="--wpbc-bfb-col-padding-right"] { | |
| 39 | + padding-right: var(--wpbc-bfb-col-padding-right); | |
| 40 | +} | |
| 41 | +div .wpbc_bfb_form .wpbc__row > .wpbc__field[style*="--wpbc-bfb-col-padding-bottom"], | |
| 42 | +div .wpbc_bfb_form .wpbc_bfb__section > .wpbc_bfb__row > .wpbc_bfb__column[style*="--wpbc-bfb-col-padding-bottom"] { | |
| 43 | + padding-bottom: var(--wpbc-bfb-col-padding-bottom); | |
| 44 | +} | |
| 45 | +div .wpbc_bfb_form .wpbc__row > .wpbc__field[style*="--wpbc-bfb-col-padding-left"], | |
| 46 | +div .wpbc_bfb_form .wpbc_bfb__section > .wpbc_bfb__row > .wpbc_bfb__column[style*="--wpbc-bfb-col-padding-left"] { | |
| 47 | + padding-left: var(--wpbc-bfb-col-padding-left); | |
| 48 | +} | |
| 49 | +div .wpbc_bfb_form .wpbc__row > .wpbc__field[style*="--wpbc-bfb-col-margin-top"], | |
| 50 | +div .wpbc_bfb_form .wpbc_bfb__section > .wpbc_bfb__row > .wpbc_bfb__column[style*="--wpbc-bfb-col-margin-top"] { | |
| 51 | + margin-top: var(--wpbc-bfb-col-margin-top); | |
| 52 | +} | |
| 53 | +div .wpbc_bfb_form .wpbc__row > .wpbc__field[style*="--wpbc-bfb-col-margin-right"], | |
| 54 | +div .wpbc_bfb_form .wpbc_bfb__section > .wpbc_bfb__row > .wpbc_bfb__column[style*="--wpbc-bfb-col-margin-right"] { | |
| 55 | + margin-right: var(--wpbc-bfb-col-margin-right); | |
| 56 | +} | |
| 57 | +div .wpbc_bfb_form .wpbc__row > .wpbc__field[style*="--wpbc-bfb-col-margin-bottom"], | |
| 58 | +div .wpbc_bfb_form .wpbc_bfb__section > .wpbc_bfb__row > .wpbc_bfb__column[style*="--wpbc-bfb-col-margin-bottom"] { | |
| 59 | + margin-bottom: var(--wpbc-bfb-col-margin-bottom); | |
| 60 | +} | |
| 61 | +div .wpbc_bfb_form .wpbc__row > .wpbc__field[style*="--wpbc-bfb-col-margin-left"], | |
| 62 | +div .wpbc_bfb_form .wpbc_bfb__section > .wpbc_bfb__row > .wpbc_bfb__column[style*="--wpbc-bfb-col-margin-left"] { | |
| 63 | + margin-left: var(--wpbc-bfb-col-margin-left); | |
| 64 | +} | |
| 65 | +div .wpbc_bfb_form .wpbc__row > .wpbc__field[style*="--wpbc-bfb-col-max-width"], | |
| 66 | +div .wpbc_bfb_form .wpbc_bfb__section > .wpbc_bfb__row > .wpbc_bfb__column[style*="--wpbc-bfb-col-max-width"] { | |
| 67 | + max-width: var(--wpbc-bfb-col-max-width); | |
| 68 | +} | |
| 69 | +div .wpbc_bfb_form .wpbc__row > .wpbc__field[style*="--wpbc-bfb-col-max-height"], | |
| 70 | +div .wpbc_bfb_form .wpbc_bfb__section > .wpbc_bfb__row > .wpbc_bfb__column[style*="--wpbc-bfb-col-max-height"] { | |
| 71 | + max-height: var(--wpbc-bfb-col-max-height); | |
| 72 | +} | |
| 73 | +div .wpbc_bfb_form .wpbc__row > .wpbc__field[style*="--wpbc-bfb-col-overflow:"], | |
| 74 | +div .wpbc_bfb_form .wpbc_bfb__section > .wpbc_bfb__row > .wpbc_bfb__column[style*="--wpbc-bfb-col-overflow:"] { | |
| 75 | + overflow: var(--wpbc-bfb-col-overflow); | |
| 76 | + scrollbar-width: thin; | |
| 77 | +} | |
| 78 | +div .wpbc_bfb_form .wpbc__row > .wpbc__field[style*="--wpbc-bfb-col-overflow-x:"], | |
| 79 | +div .wpbc_bfb_form .wpbc_bfb__section > .wpbc_bfb__row > .wpbc_bfb__column[style*="--wpbc-bfb-col-overflow-x:"] { | |
| 80 | + overflow-x: var(--wpbc-bfb-col-overflow-x); | |
| 81 | + scrollbar-width: thin; | |
| 82 | +} | |
| 83 | +div .wpbc_bfb_form .wpbc__row > .wpbc__field[style*="--wpbc-bfb-col-overflow-y:"], | |
| 84 | +div .wpbc_bfb_form .wpbc_bfb__section > .wpbc_bfb__row > .wpbc_bfb__column[style*="--wpbc-bfb-col-overflow-y:"] { | |
| 85 | + overflow-y: var(--wpbc-bfb-col-overflow-y); | |
| 86 | + scrollbar-width: thin; | |
| 87 | +} | |
| 88 | +/* | |
| 89 | + * CSS computes a visible axis to auto when the other axis scrolls or clips. | |
| 90 | + * Suppress that unintended cross-axis scrollbar while preserving the axis the | |
| 91 | + * customer explicitly configured as auto or hidden. A mixed visible axis must | |
| 92 | + * clip excess because native CSS cannot combine visible overflow with a | |
| 93 | + * scroll container on the perpendicular axis. | |
| 94 | + */ | |
| 95 | +:is( | |
| 96 | + div .wpbc_bfb_form .wpbc__row > .wpbc__field, | |
| 97 | + div .wpbc_bfb_form .wpbc_bfb__section > .wpbc_bfb__row > .wpbc_bfb__column | |
| 98 | +):is( | |
| 99 | + [style*="--wpbc-bfb-col-overflow-y:auto"], | |
| 100 | + [style*="--wpbc-bfb-col-overflow-y: auto"], | |
| 101 | + [style*="--wpbc-bfb-col-overflow-y:hidden"], | |
| 102 | + [style*="--wpbc-bfb-col-overflow-y: hidden"] | |
| 103 | +):not(:is( | |
| 104 | + [style*="--wpbc-bfb-col-overflow-x:auto"], | |
| 105 | + [style*="--wpbc-bfb-col-overflow-x: auto"], | |
| 106 | + [style*="--wpbc-bfb-col-overflow-x:hidden"], | |
| 107 | + [style*="--wpbc-bfb-col-overflow-x: hidden"], | |
| 108 | + [style*="--wpbc-bfb-col-overflow:auto"], | |
| 109 | + [style*="--wpbc-bfb-col-overflow: auto"], | |
| 110 | + [style*="--wpbc-bfb-col-overflow:hidden"], | |
| 111 | + [style*="--wpbc-bfb-col-overflow: hidden"] | |
| 112 | +)) { | |
| 113 | + overflow-x: hidden; | |
| 114 | +} | |
| 115 | +:is( | |
| 116 | + div .wpbc_bfb_form .wpbc__row > .wpbc__field, | |
| 117 | + div .wpbc_bfb_form .wpbc_bfb__section > .wpbc_bfb__row > .wpbc_bfb__column | |
| 118 | +):is( | |
| 119 | + [style*="--wpbc-bfb-col-overflow-x:auto"], | |
| 120 | + [style*="--wpbc-bfb-col-overflow-x: auto"], | |
| 121 | + [style*="--wpbc-bfb-col-overflow-x:hidden"], | |
| 122 | + [style*="--wpbc-bfb-col-overflow-x: hidden"] | |
| 123 | +):not(:is( | |
| 124 | + [style*="--wpbc-bfb-col-overflow-y:auto"], | |
| 125 | + [style*="--wpbc-bfb-col-overflow-y: auto"], | |
| 126 | + [style*="--wpbc-bfb-col-overflow-y:hidden"], | |
| 127 | + [style*="--wpbc-bfb-col-overflow-y: hidden"], | |
| 128 | + [style*="--wpbc-bfb-col-overflow:auto"], | |
| 129 | + [style*="--wpbc-bfb-col-overflow: auto"], | |
| 130 | + [style*="--wpbc-bfb-col-overflow:hidden"], | |
| 131 | + [style*="--wpbc-bfb-col-overflow: hidden"] | |
| 132 | +)) { | |
| 133 | + overflow-y: hidden; | |
| 134 | +} | |
| 135 | +/* -- Line #1: FONT-END | Line #2: BACK-END -- -------------------------------------------------------------------- */ | |
| 136 | +div .wpbc_bfb_form .wpbc__row .wpbc__field .bfb_element:has(:input), | |
| 137 | +div .wpbc_bfb_form .wpbc_bfb__section .wpbc_bfb__row .wpbc_bfb__column .wpbc_bfb__field{ | |
| 138 | + flex: 1 1 100%; | |
| 12 | 139 | } |
| 13 | -/* -- Line #1: FONT-END | Line #2: BACK-END -- -------------------------------------------------------------------- */ | |
| 14 | -div .wpbc_bfb_form .wpbc__row .wpbc__field .bfb_element:has(:input), | |
| 15 | -div .wpbc_bfb_form .wpbc_bfb__section .wpbc_bfb__row .wpbc_bfb__column .wpbc_bfb__field{ | |
| 16 | - flex: 1 1 100%; | |
| 17 | -} | |
| 18 | 140 | /* -- FONT-END -- --------------------------------------------------------------------------------------------------- */ |
| 19 | 141 | div .wpbc_bfb_form .wpbc__row .wpbc__field .bfb_element { |
| 20 | 142 | display: flex; |
| 21 | 143 | flex-flow: row wrap; |
| @@ -32,20 +154,20 @@ | ||
| 32 | 154 | /*width: 345px;*/ |
| 33 | 155 | /*flex: 0 1 345px;*/ |
| 34 | 156 | } |
| 35 | 157 | /* -- Line #1: FONT-END | Line #2: BACK-END -- -------------------------------------------------------------------- */ |
| 36 | -div .wpbc_bfb_form .wpbc__row .wpbc__field[data-colstyles-active="1"] .bfb_element:not(:has(.wpbc_calendar_wraper )), | |
| 37 | -div .wpbc_bfb_form [data-colstyles-active="1"] .wpbc_bfb__row .wpbc_bfb__column .wpbc_bfb__field:not(:has(.wpbc_calendar_wraper )) { | |
| 38 | - flex: 0 1 auto; | |
| 158 | +div .wpbc_bfb_form .wpbc__row .wpbc__field[data-colstyles-active="1"] .bfb_element:not(:has(.wpbc_calendar_wraper )), | |
| 159 | +div .wpbc_bfb_form [data-colstyles-active="1"] .wpbc_bfb__row .wpbc_bfb__column .wpbc_bfb__field:not(:has(.wpbc_calendar_wraper )) { | |
| 160 | + flex: 0 1 auto; | |
| 39 | 161 | } |
| 40 | 162 | .wpbc__field:has(.wpbc_calendar_wraper) { |
| 41 | 163 | max-width: 100%; |
| 42 | 164 | } |
| 43 | 165 | /* Exception for the CAPTCHA */ |
| 44 | -div .wpbc_bfb_form .wpbc__row .wpbc__field[data-colstyles-active="1"] .bfb_element:has(.wpbc_text_captcha_container), | |
| 45 | -div .wpbc_bfb_form [data-colstyles-active="1"] .wpbc_bfb__row .wpbc_bfb__column .wpbc_bfb__field:has(.wpbc_text_captcha_container) { | |
| 46 | - flex: 1 1 auto; | |
| 47 | -} | |
| 166 | +div .wpbc_bfb_form .wpbc__row .wpbc__field[data-colstyles-active="1"] .bfb_element:has(.wpbc_text_captcha_container), | |
| 167 | +div .wpbc_bfb_form [data-colstyles-active="1"] .wpbc_bfb__row .wpbc_bfb__column .wpbc_bfb__field:has(.wpbc_text_captcha_container) { | |
| 168 | + flex: 1 1 auto; | |
| 169 | +} | |
| 48 | 170 | /* -- FONT-END -- Booking form main CSS classes: class="wpbc_container wpbc_form wpbc_container_booking_form .... " ---------- */ |
| 49 | 171 | /* -- Line #1: FONT-END | Line #2: BACK-END -- -------------------------------------------------------------------- */ |
| 50 | 172 | .wpbc_bfb_form .bfb_element select, |
| 51 | 173 | .wpbc_bfb_form .bfb_element textarea, |
| @@ -93,8 +215,20 @@ | ||
| 93 | 215 | transform: translate(-50%, -50%); |
| 94 | 216 | } |
| 95 | 217 | /* Inline Checkbox Fields: Accept Terms and Condotions */ |
| 96 | 218 | div.wpbc_container.wpbc_form .wpdev-form-control-wrap input[type="checkbox"], |
| 97 | -div.wpbc_container.wpbc_form .wpdev-form-control-wrap input[type="radio"] { | |
| 98 | - margin: 0 5px; | |
| 99 | - margin-top: -5px; | |
| 100 | -} | |
| 219 | +div.wpbc_container.wpbc_form .wpdev-form-control-wrap input[type="radio"] { | |
| 220 | + margin: 0 5px; | |
| 221 | + margin-top: -5px; | |
| 222 | +} | |
| 223 | + | |
| 224 | +/* Front-end visibility utility entered through a Form Builder CSS class control. */ | |
| 225 | +body:not(.wp-admin) .wpbc_bfb_form .wpbc-hidden-on-frontend { | |
| 226 | + display: none !important; | |
| 227 | +} | |
| 228 | + | |
| 229 | +/* Keep hidden-on-frontend elements identifiable and editable in the Builder canvas. */ | |
| 230 | +.wpbc_bfb__panel--preview .wpbc_bfb__field.wpbc-hidden-on-frontend > :not(.wpbc_bfb__overlay-controls), | |
| 231 | +.wpbc_bfb__panel--preview .wpbc_bfb__field:has(.wpbc-hidden-on-frontend) > :not(.wpbc_bfb__overlay-controls), | |
| 232 | +.wpbc_bfb__panel--preview .wpbc_bfb__section.wpbc-hidden-on-frontend > .wpbc_bfb__row { | |
| 233 | + opacity: .5; | |
| 234 | +} | |