/* skin/widgets.css (WP5a): Elementor widgets, tier 3: `body.rgn-theme .elementor-widget-<type> ...` (0,2,1) to (0,3,1): above the widget base CSS and the kit, below
   the designer's per-element CSS (0,3,0 on the widget, 0,4,0 inside it): unstyled widgets get the new look, every designer setting stays. Order follows the widget
   counts of docs/skin/INVENTORY.md. Allowed: colour, type, spacing, radius, shadow, focus and hover states. Never: hiding, text-transform, content, order. */

/* heading (411): the family, size and colour come from kit.css */
body.rgn-theme .elementor-widget-heading .elementor-heading-title{line-height:1.2;letter-spacing:-.01em}
body.rgn-theme .elementor-widget-heading .elementor-heading-title a{color:inherit}

/* text-editor (241): kit size, ink, line 1.65; links underlined (purple from kit.css, a designer's link colour (0,3,1) wins; (0,1,1) ties with Elementor's reset and comes later) */
body.rgn-theme .elementor-widget-text-editor{color:var(--rgn-ink);line-height:1.65;overflow-wrap:break-word}
:where(body.rgn-theme) .elementor-widget-text-editor a:where(:not(.elementor-button)){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
body.rgn-theme .elementor-widget-text-editor :is(strong,b){font-weight:700}

/* image (210) and video (8): radius 8, never cropped */
body.rgn-theme .elementor-widget-image img{border-radius:var(--rgn-radius)}
body.rgn-theme .elementor-widget-image .widget-image-caption{font-size:var(--rgn-fs-sm);line-height:1.5}
body.rgn-theme .elementor-widget-video .elementor-wrapper{border-radius:var(--rgn-radius);overflow:hidden}

/* button (85): 48 px, radius 8, bold; no designer colour -> orange with the dark ink label (6.90:1; white on orange is 2.53:1). Hover and focus only darken (a designer's red must not turn orange). */
body.rgn-theme .elementor-widget-button .elementor-button{min-height:48px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--rgn-radius);padding-block:12px;line-height:1.25;
  text-align:center;font-weight:700;background-color:var(--rgn-orange);color:var(--rgn-cta-ink);transition:filter var(--rgn-dur-fast) var(--rgn-ease),box-shadow var(--rgn-dur-fast) var(--rgn-ease)}
body.rgn-theme .elementor-widget-button .elementor-button .elementor-button-content-wrapper{align-items:center}
body.rgn-theme .elementor-widget-button .elementor-button:is(:hover,:focus){filter:brightness(.93);color:var(--rgn-cta-ink)}
body.rgn-theme .elementor-widget-button .elementor-button:hover{box-shadow:var(--rgn-shadow-1)}

/* icon-list (56): 16 px ink text; icons and spacing are the designer's */
body.rgn-theme .elementor-widget-icon-list{--e-global-typography-text-font-size:var(--rgn-fs-base)}
body.rgn-theme .elementor-widget-icon-list .elementor-icon-list-text{color:var(--rgn-ink)}

/* divider (14): hairline in the border colour */
body.rgn-theme .elementor-widget-divider{--divider-color:var(--rgn-border)}

/* Theme Builder 8172 (84 pages): the page title */
body.rgn-theme .elementor-widget-theme-page-title .elementor-heading-title{font-size:var(--rgn-fs-2xl);line-height:var(--rgn-lh-2xl)}

/* Theme Builder 8172: the content widget prints classic HTML on the pages without Elementor data (73). The loader adds body.rgn-classic for exactly those pages; pages built
   with Elementor (FAQ, contact, testimonials ...) print their own document inside the widget and keep their own spacing. */
body.rgn-theme .elementor-widget-theme-post-content{color:var(--rgn-ink);line-height:var(--rgn-lh-md);overflow-wrap:break-word}
.rgn-classic .elementor-widget-theme-post-content :is(p,ul,ol,dl,blockquote,figure,table,pre){margin-block:0 var(--rgn-space-4);margin-inline:0}
.rgn-classic .elementor-widget-theme-post-content :is(h1,h2,h3,h4,h5,h6){margin-block:var(--rgn-space-6) var(--rgn-space-3)}
.rgn-classic .elementor-widget-theme-post-content .elementor-widget-container>:first-child{margin-block-start:0}
.rgn-classic .elementor-widget-theme-post-content h1{font-size:var(--rgn-fs-2xl);line-height:var(--rgn-lh-2xl)}
.rgn-classic .elementor-widget-theme-post-content :is(ul,ol){padding-inline-start:1.4em}
.rgn-classic .elementor-widget-theme-post-content li{margin-block:0 .4em}
.rgn-classic .elementor-widget-theme-post-content li>:is(ul,ol){margin-block:.4em 0}
.rgn-classic .elementor-widget-theme-post-content :is(strong,b){font-weight:700}
.rgn-classic .elementor-widget-theme-post-content a:not(.elementor-button){color:var(--rgn-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.rgn-classic .elementor-widget-theme-post-content a:not(.elementor-button):hover{color:var(--rgn-link-hover)}
.rgn-classic .elementor-widget-theme-post-content blockquote{padding:var(--rgn-space-4) var(--rgn-space-5);border-inline-start:4px solid var(--rgn-plum);border-radius:0 var(--rgn-radius) var(--rgn-radius) 0;background-color:var(--rgn-bg-sky)}
.rgn-classic .elementor-widget-theme-post-content blockquote :is(h1,h2,h3,h4,h5,h6,p){margin-block:0}
.rgn-classic .elementor-widget-theme-post-content hr{height:0;margin-block:var(--rgn-space-6);border:0;border-block-start:1px solid var(--rgn-border)}
.rgn-classic .elementor-widget-theme-post-content img{max-width:100%;height:auto;border-radius:var(--rgn-radius)}
.rgn-classic .elementor-widget-theme-post-content .aligncenter{display:block;margin-inline:auto}
.rgn-classic .elementor-widget-theme-post-content .alignleft{float:left;margin:0 var(--rgn-space-5) var(--rgn-space-3) 0}
.rgn-classic .elementor-widget-theme-post-content .alignright{float:right;margin:0 0 var(--rgn-space-3) var(--rgn-space-5)}
.rgn-classic .elementor-widget-theme-post-content :is(figcaption,.wp-caption-text){font-size:var(--rgn-fs-sm);line-height:1.5;color:var(--rgn-text-muted)}
.rgn-classic .elementor-widget-theme-post-content iframe{max-width:100%}
.rgn-classic .elementor-widget-theme-post-content :is(iframe[src*="youtube"],iframe[src*="vimeo"]){width:100%;height:auto;aspect-ratio:16/9;border-radius:var(--rgn-radius)}
.rgn-classic .elementor-widget-theme-post-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.rgn-classic .elementor-widget-theme-post-content :is(th,td){padding:var(--rgn-space-2) var(--rgn-space-3);border:1px solid var(--rgn-border);text-align:start;vertical-align:top}
.rgn-classic .elementor-widget-theme-post-content th{background-color:var(--rgn-bg-alt);font-weight:700}
@media (max-width:599px){.rgn-classic .elementor-widget-theme-post-content :is(.alignleft,.alignright){float:none;display:block;margin-inline:auto}}

/* Theme Builder 8172: the sidebar widget (right column) */
body.rgn-theme .elementor-widget-sidebar .sidebar_widget{font-size:var(--rgn-fs-base);line-height:1.5}
body.rgn-theme .elementor-widget-sidebar .sidebar_widget :is(h3,h4){margin-block:var(--rgn-space-4) var(--rgn-space-2)}
body.rgn-theme .elementor-widget-sidebar .sidebar_widget :is(ul,ol){margin:0;padding-inline-start:1.25em}
body.rgn-theme .elementor-widget-sidebar .sidebar_widget li{margin-block:0 var(--rgn-space-2)}

/* focus ring on content links, buttons and controls (S4): 3 px purple with a 2 px white halo, visible on light and dark sections */
body.rgn-theme :is(.elementor,.woocommerce) :is(a,button,summary,input,select,textarea,[role="button"],[tabindex="0"]):focus-visible{outline:3px solid var(--rgn-focus);outline-offset:2px;box-shadow:var(--rgn-skin-ring)}
