/* The demo already defines layout and typography. Neutralize Elementor's
   extra front-end boxes while retaining separate editable sections. */
body.usoul-design:not(.elementor-editor-active) #main > .elementor,
body.usoul-design:not(.elementor-editor-active) #main > .elementor > .elementor-element,
body.usoul-design:not(.elementor-editor-active) #main > .elementor > .elementor-element > .e-con-inner,
body.usoul-design:not(.elementor-editor-active) #main .elementor-widget-html,
body.usoul-design:not(.elementor-editor-active) #main .elementor-widget-shortcode,
body.usoul-design:not(.elementor-editor-active) #main .elementor-widget-html > .elementor-widget-container,
body.usoul-design:not(.elementor-editor-active) #main .elementor-widget-shortcode > .elementor-widget-container,
body.usoul-design:not(.elementor-editor-active) #main .elementor-shortcode {
    display: contents;
}
.usoul-design img { vertical-align: middle; }
.usoul-design .elementor-widget-html img,
.usoul-design .elementor-widget-shortcode img { border: 0; border-radius: inherit; box-shadow: none; }
.usoul-design .woocommerce-error,
.usoul-design .woocommerce-info,
.usoul-design .woocommerce-message { padding: 1rem; border: 1px solid var(--line); margin: 1rem 0; }
.usoul-design .woocommerce form label { display: block; margin-bottom: .35rem; }
.usoul-design .woocommerce form :is(input:not([type=checkbox],[type=radio]),select,textarea) { width: 100%; padding: .75rem; border: 1px solid var(--line); background: white; color: var(--ink); }
.usoul-design .woocommerce form .form-row { margin-bottom: 1rem; }
.usoul-design .woocommerce table { width: 100%; border-collapse: collapse; }
.usoul-design .woocommerce :is(th,td) { padding: .7rem; text-align: left; border-bottom: 1px solid var(--line); }
