/* ======================================================================
   Phase 5: Bespoke, Request a Quote, Trade, Materials (library and pages)

   Same tokens, fonts, buttons, borders and spacing as the rest of the site
   (tokens.css, components.css, home.css, shop.css). The only addition is one
   functional colour for form errors. Loaded only on these pages.

   1. Page blocks      2. Process, facts, lists      3. Forms (Forminator)
   4. Quote context and form switch      5. Small screens
   ====================================================================== */

:root { --color-error: #8b3a2f; } /* 6.9:1 on the ivory background */

/* ----------------------------------------------------------------------
   1. Page blocks
   ---------------------------------------------------------------------- */
body.stone-experience .exp-bare { padding: 0; margin: 0; }
body.stone-experience .stone-image { overflow: hidden; }
body.stone-experience .stone-image img { display: block; width: 100%; height: auto; }

/* Hero: text on the left, one picture on the right. */
body.stone-experience .exp-hero { padding-block: var(--space-6) var(--space-8); }
body.stone-experience .exp-hero > .e-con-inner,
body.stone-experience .exp-hero { display: grid; gap: var(--space-6) var(--space-8); align-items: center; }
@media (min-width: 900px) {
	body.stone-experience .exp-hero:not(.exp-hero--text) { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
}
body.stone-experience .exp-hero .section-title { font-size: var(--fs-h1); }
body.stone-experience .exp-hero .section-title :is(.elementor-heading-title) { max-width: 14ch; }
body.stone-experience .exp-hero .section-text :is(p, .elementor-widget-container) { max-width: 600px; }
body.stone-experience .exp-hero .shop-crumbs { padding-bottom: var(--space-4); }
body.stone-experience .exp-hero__media { min-width: 0; }
body.stone-experience .exp-hero__img { aspect-ratio: 4 / 5; object-fit: cover; }
@media (min-width: 900px) { body.stone-experience .exp-hero__img { aspect-ratio: 5 / 6; } }
body.stone-experience .exp-hero--text .section-title :is(.elementor-heading-title) { max-width: 18ch; }

/* Material library: large image and text, side by side, alternating. */
body.stone-experience .exp-feature { display: grid; gap: var(--space-4) var(--space-8); align-items: center; }
@media (min-width: 900px) {
	body.stone-experience .exp-feature { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
	body.stone-experience .exp-feature--reverse { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
	body.stone-experience .exp-feature--reverse .exp-feature__media { order: 2; }
}
body.stone-experience .exp-feature__img { aspect-ratio: 4 / 3; object-fit: cover; }
body.stone-experience .exp-feature__copy .section-actions { margin-top: var(--space-3); align-items: center; }

body.stone-experience .exp-note .section-text :is(p, .elementor-widget-container) { max-width: 62ch; }
body.stone-experience .exp-footnote { margin-top: var(--space-3); color: var(--color-text-muted); font-size: var(--fs-small); }
body.stone-experience .exp-products .product-grid { margin-top: var(--space-4); }

/* ----------------------------------------------------------------------
   2. Process, facts, benefits, audiences: typography, no cards
   ---------------------------------------------------------------------- */
body.stone-experience .process-list { list-style: none; margin: var(--space-4) 0 0; padding: 0; counter-reset: none; max-width: 900px; }
body.stone-experience .process-list__item { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: var(--space-2); padding: var(--space-3) 0; border-top: 1px solid var(--color-border); }
body.stone-experience .process-list__item:last-child { border-bottom: 1px solid var(--color-border); }
body.stone-experience .process-list__n { font-family: var(--font-display); font-size: 28px; line-height: 1; color: var(--color-accent); }
body.stone-experience .process-list__title { margin: 0 0 6px; font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h3); line-height: 1.1; }
body.stone-experience .process-list p { margin: 0; color: var(--color-text-muted); font-size: var(--fs-small); line-height: 1.6; max-width: 56ch; }
@media (min-width: 900px) {
	body.stone-experience .process-list__item { grid-template-columns: 96px minmax(0, 1fr); padding: var(--space-4) 0; }
	body.stone-experience .process-list:not(.process-list--compact) .process-list__item { grid-template-columns: 96px minmax(220px, 4fr) minmax(0, 6fr); align-items: baseline; }
	body.stone-experience .process-list:not(.process-list--compact) .process-list__item > div { display: contents; }
	body.stone-experience .process-list:not(.process-list--compact) .process-list__title { margin: 0; }
	body.stone-experience .process-list { max-width: none; }
	body.stone-experience .process-list--compact { max-width: 900px; }
}
body.stone-experience .process-list--compact .process-list__title { font-size: 24px; }

body.stone-experience .exp-facts,
body.stone-experience .exp-benefits { display: grid; gap: 0 var(--space-8); margin: var(--space-4) 0 0; }
@media (min-width: 760px) { body.stone-experience .exp-facts, body.stone-experience .exp-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.stone-experience .exp-facts > div,
body.stone-experience .exp-benefits > div { padding: var(--space-3) 0; border-top: 1px solid var(--color-border); }
body.stone-experience .exp-facts dt,
body.stone-experience .exp-benefits dt { margin: 0 0 8px; font-family: var(--font-display); font-size: var(--fs-h3); line-height: 1.1; }
body.stone-experience .exp-facts dd,
body.stone-experience .exp-benefits dd { margin: 0; color: var(--color-text-muted); max-width: 52ch; }

body.stone-experience .exp-audience { list-style: none; margin: var(--space-4) 0 0; padding: 0; display: grid; gap: 0 var(--space-8); }
@media (min-width: 760px) { body.stone-experience .exp-audience { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { body.stone-experience .exp-audience { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
body.stone-experience .exp-audience li { padding: var(--space-3) 0; border-top: 1px solid var(--color-border); }
body.stone-experience .exp-audience h3 { margin: 0 0 8px; font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h3); line-height: 1.1; }
body.stone-experience .exp-audience p { margin: 0; color: var(--color-text-muted); max-width: 44ch; }

body.stone-experience .exp-trust .trust-list { margin: 0; }

/* ----------------------------------------------------------------------
   3. Forms (Forminator, restyled; its own scripts and validation are kept)
   ---------------------------------------------------------------------- */
.stone-form { max-width: 920px; }
.stone-form .forminator-ui.forminator-custom-form[data-design] { font-family: var(--font-sans) !important; color: var(--color-text) !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-label,
.stone-form .forminator-ui.forminator-custom-form[data-design] label.forminator-label { font-family: var(--font-sans) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: var(--tracking-label) !important; text-transform: uppercase !important; color: var(--color-text) !important; margin-bottom: 8px !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-required { color: var(--color-text-muted) !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-description { color: var(--color-text-muted) !important; font-size: var(--fs-small) !important; line-height: 1.55 !important; margin-top: 8px !important; }

/* Text fields: 16px type (no zoom on phones), 52px high, square corners, same border as the rest of the site. */
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-input,
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-textarea,
.stone-form .forminator-ui.forminator-custom-form[data-design] .select2-selection {
	font-family: var(--font-sans) !important;
	font-size: 16px !important;
	min-height: 52px !important;
	padding: 12px 14px !important;
	border: 1px solid rgba(25, 24, 23, 0.4) !important;
	border-radius: var(--radius) !important;
	background: var(--color-surface) !important;
	color: var(--color-text) !important;
	box-shadow: none !important;
}
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-textarea { min-height: 140px !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-input:focus,
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-textarea:focus { border-color: var(--color-charcoal) !important; outline: 2px solid var(--color-accent) !important; outline-offset: 2px !important; box-shadow: none !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-input::placeholder,
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-textarea::placeholder { color: var(--color-text-muted) !important; opacity: 1 !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-row { margin-bottom: var(--space-3) !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-row:last-child { margin-bottom: 0 !important; }

/* Radio groups drawn as selectable tiles. The question is the heading of the screen. */
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-field[role="radiogroup"] { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)) !important; gap: 12px !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-field[role="radiogroup"] > .forminator-label { grid-column: 1 / -1 !important; margin: 0 !important; font-family: var(--font-display) !important; font-size: var(--fs-h3) !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; line-height: 1.08 !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-field[role="radiogroup"] > .forminator-description { grid-column: 1 / -1 !important; margin: 0 !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-radio {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	min-height: 64px !important;
	margin: 0 !important;
	padding: 14px 18px !important;
	border: 1px solid var(--color-border) !important;
	background: var(--color-surface) !important;
	color: var(--color-text) !important;
	font-family: var(--font-display) !important;
	font-size: 22px !important;
	line-height: 1.1 !important;
	cursor: pointer !important;
	transition: background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease) !important;
	pointer-events: auto !important;
}
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-radio:hover { border-color: var(--color-charcoal) !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-radio input { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; opacity: 0 !important; cursor: pointer !important; z-index: 1 !important; pointer-events: auto !important; clip: auto !important; clip-path: none !important; overflow: visible !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-radio .forminator-radio-bullet { display: none !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-radio .forminator-radio-label { padding: 0 !important; font: inherit !important; color: inherit !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-radio:has(input:checked) { background: var(--color-charcoal) !important; border-color: var(--color-charcoal) !important; color: var(--color-on-dark) !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-radio:has(input:focus-visible) { outline: 2px solid var(--color-accent) !important; outline-offset: 3px !important; }
/* Unit (inches / centimeters): small tiles on one line. */
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-field[role="radiogroup"]:has(.forminator-radio-inline) { grid-template-columns: repeat(2, minmax(0, 190px)) !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-radio-inline { min-height: 52px !important; font-size: 18px !important; }

/* The unit question is a small label, not a screen heading. */
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-field[role="radiogroup"]:has(.forminator-radio-inline) > .forminator-label { font-family: var(--font-sans) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: var(--tracking-label) !important; text-transform: uppercase !important; line-height: 1.4 !important; }

/* Checkboxes (trade interests, consent): large hit areas. */
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-checkbox { display: flex !important; align-items: flex-start !important; gap: 12px !important; min-height: 44px !important; padding: 8px 0 !important; margin: 0 !important; color: var(--color-text) !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-checkbox .forminator-checkbox-box { width: 24px !important; height: 24px !important; flex: none !important; border: 1px solid rgba(25, 24, 23, 0.55) !important; border-radius: 0 !important; background: var(--color-surface) !important; margin: 0 !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-checkbox input:checked + .forminator-checkbox-box { background: var(--color-charcoal) !important; border-color: var(--color-charcoal) !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-checkbox input:focus-visible + .forminator-checkbox-box { outline: 2px solid var(--color-accent) !important; outline-offset: 3px !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-checkbox .forminator-checkbox-label { font-size: 16px !important; line-height: 1.5 !important; color: inherit !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-field-checkbox .forminator-checkbox { display: inline-flex !important; margin-right: var(--space-4) !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-field-gdprcheckbox .forminator-checkbox-label,
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-field-gdprcheckbox .forminator-checkbox-label a { color: var(--color-text-muted) !important; font-size: var(--fs-small) !important; }

/* Buttons Forminator hides (Back on the first screen, its spare submit button) stay hidden. */
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-button[style*="display: none"],
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-button[style*="display:none"],
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-button[hidden],
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-button.forminator-hidden,
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-pagination-submit[disabled] { display: none !important; }

/* Buttons: the site's own primary / text styles. */
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-button {
	display: inline-flex !important; align-items: center !important; justify-content: center !important;
	min-height: var(--button-h) !important; padding: 0 32px !important;
	border: 1px solid transparent !important; border-radius: var(--radius) !important;
	font-family: var(--font-sans) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important;
	cursor: pointer !important; transition: background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease) !important;
}
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-button-next,
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-button-submit,
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-pagination-submit,
.stone-form .forminator-ui.forminator-custom-form[data-design] button[type="submit"] { background: var(--color-charcoal) !important; color: var(--color-on-dark) !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-button-next:hover,
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-button-submit:hover,
.stone-form .forminator-ui.forminator-custom-form[data-design] button[type="submit"]:hover { background: #000 !important; color: var(--color-on-dark) !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-button-back,
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-button-prev { background: transparent !important; color: var(--color-text) !important; border-color: transparent !important; padding-left: 0 !important; padding-right: 0 !important; text-decoration: underline !important; text-underline-offset: 6px !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-button:focus-visible { outline: 2px solid var(--color-accent) !important; outline-offset: 3px !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-button-upload,
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-button-browse { background: transparent !important; color: var(--color-text) !important; border: 1px solid var(--color-charcoal) !important; }

/* Steps: Forminator's own tabs are replaced by one quiet line ("Step 3 of 8"). */
.stone-form--bespoke .forminator-ui.forminator-custom-form[data-design] .forminator-pagination-steps { display: none !important; }
.stone-steps { margin: 0 0 var(--space-4); display: flex; flex-wrap: wrap; gap: 4px 16px; align-items: baseline; font-size: 12px; font-weight: 600; letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-text-muted); }
.stone-steps__label { font-family: var(--font-display); font-size: 18px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--color-text); }
.stone-steps__bar { flex: 1 1 100%; height: 2px; background: var(--color-border); position: relative; margin-top: 8px; }
.stone-steps__bar > span { position: absolute; inset: 0 auto 0 0; background: var(--color-charcoal); transition: width var(--dur) var(--ease); }
.stone-form--bespoke .forminator-ui.forminator-custom-form[data-design] .forminator-pagination--content { min-height: 280px !important; padding-bottom: var(--space-3) !important; }
.stone-form--bespoke .forminator-ui.forminator-custom-form[data-design] .forminator-pagination { outline: none !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-pagination-footer { display: flex !important; flex-direction: row !important; justify-content: space-between !important; align-items: center !important; gap: var(--space-3) !important; margin-top: var(--space-4) !important; padding-top: var(--space-3) !important; border-top: 1px solid var(--color-border) !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-pagination-footer .forminator-button-next,
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-pagination-footer .forminator-button-submit { margin-left: auto !important; }

/* Once sent, only the thank-you remains (the script adds .is-sent). */
.stone-form.is-sent .forminator-ui.forminator-custom-form[data-design] > :not(.forminator-response-message) { display: none !important; }
.stone-form.is-sent .quote-context, .stone-form.is-sent .stone-form__switch { display: none; }

/* Summary (last screen of the bespoke form) */
.stone-summary { border-top: 1px solid var(--color-border); margin: 0 0 var(--space-3); }
.stone-summary dl { margin: 0; }
.stone-summary__row { display: grid; grid-template-columns: minmax(110px, 1fr) minmax(0, 2fr); gap: var(--space-2); padding: 12px 0; border-bottom: 1px solid var(--color-border); }
.stone-summary dt { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-text-muted); }
.stone-summary dd { margin: 0; font-family: var(--font-display); font-size: 22px; line-height: 1.15; overflow-wrap: anywhere; }
.stone-summary__empty { color: var(--color-text-muted); margin: var(--space-2) 0; }
.stone-form__aside { margin: var(--space-2) 0 0; color: var(--color-text-muted); font-size: var(--fs-small); }
.stone-form__aside a { color: var(--color-text); text-underline-offset: 4px; }
.stone-form__missing { color: var(--color-text-muted); }

/* Validation: inline, calm, readable. Fields keep what was typed. */
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-field[role="radiogroup"] > .forminator-error-message { grid-column: 1 / -1 !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-error-message { margin-top: 8px !important; padding: 0 !important; background: none !important; color: var(--color-error) !important; font-size: var(--fs-small) !important; font-weight: 500 !important; line-height: 1.45 !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-has_error .forminator-input,
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-has_error .forminator-textarea { border-color: var(--color-error) !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-has_error .forminator-radio { border-color: var(--color-error) !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-response-message { margin: 0 0 var(--space-3) !important; padding: var(--space-2) 0 !important; background: none !important; border: 0 !important; border-top: 1px solid var(--color-border) !important; border-bottom: 1px solid var(--color-border) !important; font-size: var(--fs-body) !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-response-message.forminator-error { color: var(--color-error) !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-response-message.forminator-success { font-family: var(--font-display) !important; font-size: var(--fs-h3) !important; line-height: 1.2 !important; color: var(--color-text) !important; padding: var(--space-4) 0 !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-response-message.forminator-success strong { font-weight: 500 !important; }

/* Uploads */
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-multi-upload { border: 1px dashed rgba(25, 24, 23, 0.4) !important; background: var(--color-surface) !important; padding: var(--space-3) !important; border-radius: var(--radius) !important; }
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-file-upload,
.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-upload-file { font-size: var(--fs-small) !important; }

/* Selects (Forminator uses a custom list: keep it on the site's type) */
.stone-form .forminator-ui.forminator-custom-form[data-design] .select2-selection__rendered { font-size: 16px !important; color: var(--color-text) !important; line-height: 1.4 !important; }

/* ----------------------------------------------------------------------
   4. Context card and the switch between quote forms
   ---------------------------------------------------------------------- */
.stone-form .quote-context { margin-bottom: var(--space-4); }
.stone-form__switch { display: flex; flex-wrap: wrap; gap: 4px var(--space-4); margin: 0 0 var(--space-4); padding: 0; list-style: none; }
.stone-form__switch a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; font-weight: 600; letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-text-muted); text-decoration: none; border-bottom: 1px solid transparent; }
.stone-form__switch a[aria-current="page"] { color: var(--color-text); border-bottom-color: var(--color-charcoal); }
.stone-form__switch a:hover { color: var(--color-text); }
.stone-form__noscript { margin: 0; color: var(--color-text-muted); }

/* ----------------------------------------------------------------------
   5. Small screens
   ---------------------------------------------------------------------- */
@media (max-width: 599px) {
	.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-field[role="radiogroup"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
	.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-radio { min-height: 64px !important; padding: 12px 14px !important; font-size: 20px !important; }
	.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-pagination-footer { flex-direction: column-reverse !important; align-items: stretch !important; }
	.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-pagination-footer .forminator-button { width: 100% !important; }
	.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-pagination-footer .forminator-button-back { width: auto !important; align-self: flex-start !important; min-height: 44px !important; padding-left: 0 !important; padding-right: 0 !important; }
	.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-field-checkbox .forminator-checkbox { display: flex !important; width: 100% !important; margin-right: 0 !important; }
	.stone-summary__row { grid-template-columns: 1fr; gap: 2px; }
	body.stone-experience .process-list__item { grid-template-columns: 44px minmax(0, 1fr); }
	.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-button { padding: 0 24px !important; }
}
@media (prefers-reduced-motion: reduce) {
	.stone-steps__bar > span, .stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-radio { transition: none !important; }
}

/* An action row with no link or button (the quote intro has none) keeps no margin (2026-10-23) */
body.stone-experience .section-actions:not(:has(a, button)) { display: none; }

/* Phones: the columns of a form row stack; keep the same space between them as between rows (2026-10-23) */
@media (max-width: 782.98px) {
	.stone-form .forminator-ui.forminator-custom-form[data-design] .forminator-row .forminator-col + .forminator-col { margin-top: var(--space-3) !important; }
	/* The text-only intro is followed by its form: 32 px between them instead of 64 + 56 */
	body.stone-experience .exp-hero--text { padding-bottom: var(--space-4); }
	body.stone-experience .exp-hero--text + .exp-form-section { padding-top: 0; }
}
