/* ============================================================
   franco-media.com - the Forminator style rule, sitewide
   (TASK-N27b, ruling EQ), Site Rebuild 2026.

   Every selector starts with Forminator's own classes
   (.forminator-ui.forminator-custom-form), so this file styles
   Forminator forms and nothing else; it touches no other part of the
   site. No hex value: every colour is a role token from tokens.css.

   The rule (ruling EQ, D06 Board 6):
   - Submit: dark teal (--os-link) filled, white text, 16 px, 44 px tap
     minimum (48 px comfortable).
   - Save as Draft: dark teal outline, same size.
   - Inputs, selects and text areas: 16 px minimum (stops the iOS zoom),
     --os-line borders, --radius-sm corners, 48 px high.
   - Labels: small uppercase caps in --os-muted, as the board draws them.
   - Error text: --os-text on a --os-sunken band, field borders
     --os-text, never an accent colour (N31).
   - Radios and checkboxes: 44 px tap rows, dark teal when chosen.

   !important is used on the properties this rule dictates, and only
   there: Forminator prints per-form inline styles with ID selectors
   (#forminator-module-NNN ...) and the site's YellowPencil sheet adds
   more, so a class-only rule would lose. Where a form still shows an
   older value after deploy, that is a rule with an ID selector and
   !important in the form's own settings; see the N27b report.
   ============================================================ */

.forminator-ui.forminator-custom-form{font-family:var(--font-body);color:var(--os-text)}

/* ---------- labels and helper text ---------- */
.forminator-ui.forminator-custom-form .forminator-label:not(.forminator-repeater-label){
  font-family:var(--font-body) !important;
  font-weight:700 !important;
  font-size:var(--gpcf-label-size, var(--size-label)) !important; /* N37 (B1): style.css sets --gpcf-label-size to 14px inside page, post and profile bodies */
  letter-spacing:var(--ls-label) !important;
  text-transform:uppercase !important;
  line-height:1.4 !important;
  color:var(--os-muted) !important;
}
.forminator-ui.forminator-custom-form .forminator-label .forminator-required{color:var(--os-text) !important}
/* Group headings ("BASIC DETAILS OF THE BUSINESS TO ADVERTISE", "MATERIAL NEEDED
   TO PUBLISH YOUR PAGES", ...) are Forminator group labels: display type in ink. */
.forminator-ui.forminator-custom-form .forminator-label.forminator-repeater-label{
  font-family:var(--font-display) !important;
  font-weight:800 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  line-height:1.25 !important;
  color:var(--os-heading) !important;
}
/* The invoicing form (279230, the same on all package pages) carries its own
   15 px label rule with an ID selector and !important (YellowPencil sheet); one
   ID-weight rule of the same kind brings its labels back to the sitewide size. */
#forminator-module-279230.forminator-ui .forminator-field .forminator-label:not(.forminator-repeater-label){
  font-size:var(--gpcf-label-size, var(--size-label)) !important;
  color:var(--os-muted) !important;
}
.forminator-ui.forminator-custom-form .forminator-description{
  font-size:var(--size-caption);
  line-height:1.45;
  color:var(--os-muted);
}

/* ---------- inputs, selects, text areas ---------- */
.forminator-ui.forminator-custom-form input.forminator-input,
.forminator-ui.forminator-custom-form textarea.forminator-textarea,
.forminator-ui.forminator-custom-form .forminator-select .select2-selection,
.forminator-ui.forminator-custom-form select.forminator-select--field:not(.select2-hidden-accessible){
  font-family:var(--font-body) !important;
  font-size:var(--m-size-input) !important;
  line-height:1.4 !important;
  color:var(--os-text) !important;
  background-color:var(--os-card) !important;
  border:1px solid var(--os-line) !important;
  border-radius:var(--radius-sm) !important;
  box-shadow:none !important;
}
.forminator-ui.forminator-custom-form input.forminator-input,
.forminator-ui.forminator-custom-form .forminator-select .select2-selection,
.forminator-ui.forminator-custom-form select.forminator-select--field:not(.select2-hidden-accessible){
  min-height:var(--tap-comfortable) !important;
  padding:0 14px !important;
}
.forminator-ui.forminator-custom-form textarea.forminator-textarea{
  min-height:96px !important;
  padding:12px 14px !important;
}
.forminator-ui.forminator-custom-form .forminator-select .select2-selection .select2-selection__rendered{
  font-size:var(--m-size-input) !important;
  line-height:calc(var(--tap-comfortable) - 2px) !important;
  color:var(--os-text) !important;
}
.forminator-ui.forminator-custom-form input.forminator-input::placeholder,
.forminator-ui.forminator-custom-form textarea.forminator-textarea::placeholder{color:var(--os-muted) !important;opacity:1}
.forminator-ui.forminator-custom-form input.forminator-input:focus,
.forminator-ui.forminator-custom-form textarea.forminator-textarea:focus,
.forminator-ui.forminator-custom-form .forminator-select .select2-selection:focus{
  border-color:var(--os-link) !important;
  outline:2px solid var(--os-link);
  outline-offset:1px;
}

/* ---------- radios and checkboxes: 44 px tap rows ---------- */
.forminator-ui.forminator-custom-form .forminator-radio,
.forminator-ui.forminator-custom-form .forminator-checkbox{
  display:flex;
  align-items:center;
  min-height:var(--tap-min);
  font-size:var(--size-body);
  line-height:1.35;
  color:var(--os-text);
}
.forminator-ui.forminator-custom-form .forminator-radio .forminator-radio-label,
.forminator-ui.forminator-custom-form .forminator-checkbox .forminator-checkbox-label{
  font-size:var(--size-body) !important;
  color:var(--os-text) !important;
}
.forminator-ui.forminator-custom-form .forminator-radio .forminator-radio-bullet,
.forminator-ui.forminator-custom-form .forminator-checkbox .forminator-checkbox-box{
  border-color:var(--os-link) !important;
}
.forminator-ui.forminator-custom-form .forminator-radio input:checked + .forminator-radio-bullet::before{background-color:var(--os-link) !important}
.forminator-ui.forminator-custom-form .forminator-checkbox input:checked + .forminator-checkbox-box{background-color:var(--os-link) !important}

/* ---------- errors: ink on a neutral band, never an accent (N31, ruling ET) ---------- */
.forminator-ui.forminator-custom-form .forminator-error-message,
.forminator-ui.forminator-custom-form .forminator-has_error .forminator-error-message{
  font-size:var(--size-small) !important;
  line-height:1.4;
  color:var(--os-text) !important;
  background-color:var(--os-sunken) !important;
}
.forminator-ui.forminator-custom-form .forminator-has_error input.forminator-input,
.forminator-ui.forminator-custom-form .forminator-has_error textarea.forminator-textarea,
.forminator-ui.forminator-custom-form .forminator-has_error .select2-selection{
  border-color:var(--os-text) !important;
}
.forminator-response-message{font-size:var(--size-body);color:var(--os-text)}
/* TASK-N38 (E1). Two leftovers of a form's own settings, brought to tokens.
   The error live region (a 1 px line read by screen readers) printed a violet
   fill from the form's settings: neutral band and ink, like the field errors
   above. !important: the form's settings print the fill with an ID selector. */
.forminator-ui.forminator-custom-form .forminator-response-message.forminator-error,
.forminator-response-message.forminator-error{
  background-color:var(--os-sunken) !important;
  color:var(--os-text) !important;
}
/* The tick inside a chosen checkbox printed blue from the form's settings,
   on the dark teal box set above (about 2.6:1). White on the teal box.
   !important: same reason, an ID selector in the form's own style block. */
.forminator-ui.forminator-custom-form .forminator-checkbox input:checked + .forminator-checkbox-box{
  color:var(--on-dark) !important;
}
.forminator-ui.forminator-custom-form .forminator-checkbox input:checked + .forminator-checkbox-box::before{
  color:var(--on-dark) !important;
  border-color:var(--on-dark) !important;
}

/* ---------- buttons ---------- */
.forminator-ui.forminator-custom-form .forminator-button-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:var(--tap-comfortable) !important;
  padding:0 26px !important;
  font-family:var(--font-body) !important;
  font-size:var(--size-button-secondary) !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:var(--on-dark) !important;
  background-color:var(--os-link) !important;
  border:2px solid var(--os-link) !important;
  border-radius:var(--radius-sm) !important;
  box-shadow:none !important;
  cursor:pointer;
}
.forminator-ui.forminator-custom-form .forminator-button-submit:hover,
.forminator-ui.forminator-custom-form .forminator-button-submit:focus{
  color:var(--on-dark) !important;
  background-color:var(--os-link-hover) !important;
  border-color:var(--os-link-hover) !important;
}
.forminator-ui.forminator-custom-form .forminator-save-draft-link,
.forminator-ui.forminator-custom-form .forminator-draft-link,
.forminator-ui.forminator-custom-form .forminator-button-draft{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:var(--tap-comfortable) !important;
  padding:0 26px !important;
  font-family:var(--font-body) !important;
  font-size:var(--size-button-secondary) !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  color:var(--os-link) !important;
  background-color:transparent !important;
  border:2px solid var(--os-link) !important;
  border-radius:var(--radius-sm) !important;
  box-shadow:none !important;
  cursor:pointer;
}
.forminator-ui.forminator-custom-form .forminator-save-draft-link:hover,
.forminator-ui.forminator-custom-form .forminator-draft-link:hover,
.forminator-ui.forminator-custom-form .forminator-button-draft:hover{
  color:var(--on-dark) !important;
  background-color:var(--os-link) !important;
}

/* ---------- phone ---------- */
@media (max-width:700px){
  .forminator-ui.forminator-custom-form .forminator-button-submit,
  .forminator-ui.forminator-custom-form .forminator-save-draft-link,
  .forminator-ui.forminator-custom-form .forminator-draft-link,
  .forminator-ui.forminator-custom-form .forminator-button-draft{width:100%}
}
