/* Adjustments for CMS block wrappers around the original design (styles.css).
   styles.css is the client's draft with ".appointment-copy > img" and
   ".contact-intro > img" loosened to descendant selectors. */

/* Wrappers that must not add a box, so the design's flex/grid applies to the content */
.utility-inner .crafty-block-wrapper, .utility-inner .crafty-block-content,
.product-pills .crafty-block-wrapper, .product-pills .crafty-block-content,
.footer-bottom .crafty-block-wrapper, .footer-bottom .crafty-block-content { display: contents; }

.plant-copy .crafty-block-media-wrapper img,
.knowledge-intro .crafty-block-media-wrapper img { width: 100%; }

/* Utility bar: back link on the left, block text on the right */
.back-to-main { color: inherit; text-decoration: none; font-weight: 600; white-space: nowrap; }
.back-to-main:hover { text-decoration: underline; }
.utility-inner .crafty-block-text span + span { margin-left: 18px; }

/* Selects rendered by option blocks */
.finder-fields label .crafty-block-wrapper { display: block; }
.finder-fields label .crafty-block-wrapper select { width: 100%; }

/* Contact form states */
.contact-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.contact-form { position: relative; }
.contact-form [aria-invalid="true"] { border-color: #c62828; }
.contact-form .field-error { display: block; margin-top: 4px; color: #c62828; font-size: 12px; font-weight: 500; }
.form-status[data-state="error"] { color: #c62828; }
.form-status[data-state="success"] { color: #1b7f3b; }
.contact-form button[disabled] { opacity: .6; cursor: progress; }
