/* ==========================================================================
   Raya — WordPress / Elementor glue (loaded after raya.css)
   ========================================================================== */

/* Imported Raya layouts own their spacing; standard PRO Elements widgets keep
   the margins, padding and widths chosen in the editor. */
.elementor .raya-layout { --widgets-spacing: 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px; --kit-widget-spacing: 0px; }
.elementor .raya-layout.e-con { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; }
.elementor .raya-layout.e-con > .e-con-inner { max-width: none; padding: 0; }
.elementor .raya-layout.elementor-section > .elementor-container { max-width: none; }
.elementor .raya-layout > .elementor-container > .elementor-column > .elementor-element-populated { padding: 0; }
.elementor .elementor-widget[class*="elementor-widget-raya-"] { margin-block-end: 0; }
.elementor-widget[class*="elementor-widget-raya-"] > .elementor-widget-container { overflow: visible; }

/* Elementor sets img { height:auto } — restore our cover images */
.elementor .media img, .elementor .pcard__img img, .elementor .hero__media img, .elementor .phero__img img,
.elementor .band__img img, .elementor .prow__media img.bg { height: 100%; }
.elementor .mp .media img, .elementor .panel .media img { height: auto; }
.elementor .media--pan img { height: 118%; }

/* WordPress admin bar */
.admin-bar .nav { top: 32px; }
.admin-bar .menu { padding-top: calc(var(--nav-h) + 56px); }
@media (max-width: 782px) { .admin-bar .nav { top: 46px; } }

/* Classic (non-Elementor) content */
.prose-wp { max-width: 760px; margin-inline: auto; font-size: 1.12rem; line-height: 1.8; color: var(--ink); }
.prose-wp > * + * { margin-top: 1.1em; }
.prose-wp h2 { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem); margin-top: 1.8em; text-transform: none; font-stretch: 112%; line-height: 1.15; }
.prose-wp h3 { margin-top: 1.6em; }
.prose-wp a { color: var(--red); text-decoration: underline; text-underline-offset: 3px; }
.prose-wp ul, .prose-wp ol { padding-inline-start: 1.3em; list-style: revert; }
.prose-wp img { border-radius: var(--r); height: auto; }
.prose-wp blockquote { margin: 1.6em 0; padding-inline-start: 24px; border-inline-start: 2px solid var(--red); font-family: var(--f-serif); font-style: italic; font-size: 1.5rem; line-height: 1.4; }
html[dir="rtl"] .prose-wp blockquote { font-style: normal; }
.prose-wp figcaption { font-size: 0.85rem; color: var(--ink-2); margin-top: 8px; }

/* Pagination */
.pagination { margin-top: 56px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.pagination .page-numbers { display: grid; place-items: center; min-width: 48px; height: 48px; padding: 0 14px; border-radius: 100px; border: 1px solid var(--line); font-weight: 600; }
.pagination .page-numbers.current, .pagination .page-numbers:hover { background: var(--ink); color: var(--white); border-color: var(--ink); }

/* Form states added by the WordPress lead handler */
.form.is-sending .btn { opacity: 0.6; pointer-events: none; }
.form-err { display: none; grid-column: 1 / -1; color: var(--red); font-size: 0.92rem; }
.form.has-failed .form-err { display: block; }
.form .hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Elementor editor: show everything statically */
.elementor-editor-active .curtain, .elementor-editor-active .cursor { display: none !important; }

/* Sticky section nav needs the whole page column as its containing block */
body:not(.elementor-editor-active) .elementor-widget-raya-subnav,
body:not(.elementor-editor-active) .elementor-widget-raya-subnav > .elementor-widget-container { display: contents; }
.admin-bar .subnav { top: 32px; }

/* Elementor's ".elementor img { height:auto; max-width:100% }" outranks our logo sizes — restore them */
.elementor .pcard__logo { height: clamp(48px, 5vw, 72px); width: auto; max-width: 60%; }
.elementor .prow__media .logo { height: clamp(44px, 5vw, 70px); width: auto; }
.elementor .plogo { height: clamp(64px, 8vw, 120px); width: auto; }
.elementor .partners__logos img { height: clamp(40px, 5vw, 64px); width: auto; }
.elementor .badge img { width: 40%; height: 40%; }
.elementor .marquee__group img { width: clamp(22px, 2.4vw, 36px); height: auto; }
.elementor .why-card__icon svg, .elementor .loc__list svg { max-width: none; }
.elementor .subnav { width: 100%; flex: 0 0 100%; }

/* Focused skip link remains visible above either header implementation. */
.sr-only:focus { position: fixed; inset-block-start: 12px; inset-inline-start: 12px; width: auto; height: auto; clip: auto; padding: 12px 20px; z-index: 10000; background: var(--white); color: var(--ink); }
#main:focus { outline: none; }
.prose-wp { overflow-wrap: anywhere; }
.prose-wp table { display: block; max-width: 100%; overflow-x: auto; }
.elementor-editor-active .nav { position: relative; }
.elementor-editor-active .menu { display: none; }
@media (max-width: 782px) { .admin-bar .subnav { top: 46px; } }

/* Theme Builder wraps site chrome in Elementor, whose image defaults otherwise
   override the navigation and footer logo dimensions. */
.elementor .nav__logo img { height: 46px; width: auto; max-width: none; }
.elementor .footer__brand > img { width: 249px; height: auto; }
@media (max-width: 1100px) { .elementor .nav__logo img { height: 38px; } }

/* Expose kit colors to Raya widgets as well as standard Elementor widgets. */
body { --red: var(--e-global-color-accent, #ba2525); --ink: var(--e-global-color-primary, #0d0f17); --ink-2: var(--e-global-color-secondary, #545866); --paper: var(--e-global-color-raya_paper, #f4f1ec); --night: var(--e-global-color-raya_night, #05070f); }

/* Actual WordPress article content inside the Theme Builder Post Content widget. */
.elementor .raya-post-body { padding-block: var(--sec); padding-inline: var(--gut); }
.elementor .raya-post-body > .elementor-widget-container,
.elementor .raya-post-body > [data-elementor-type] { max-width: 760px; margin-inline: auto; }
.elementor .raya-post-body { max-width: calc(760px + 2 * var(--gut)); margin-inline: auto; font-size: 1.12rem; line-height: 1.8; overflow-wrap: anywhere; }
.elementor .raya-post-body p + p { margin-block-start: 1.1em; }
.elementor .raya-post-body h2 { margin-block: 1.5em .6em; font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem); line-height: 1.2; text-transform: none; }
.elementor .raya-post-body h3 { margin-block: 1.4em .5em; }
.elementor .raya-post-body a { color: var(--red); text-decoration: underline; text-underline-offset: 3px; }
.elementor .raya-post-body ul, .elementor .raya-post-body ol { list-style: revert; padding-inline-start: 1.3em; }
.elementor .raya-post-body img { height: auto; }
.elementor .raya-post-body table { display: block; max-width: 100%; overflow-x: auto; }

/* Careers and partnership pages use the source copy with the Raya design system. */
.elementor .raya-opportunity-heading, .elementor .raya-opportunity-copy, .elementor .raya-opportunity-form { width: 100%; max-width: 1000px; margin-inline: auto; padding-inline: var(--gut); }
.elementor .raya-opportunity-heading { padding-block-start: var(--sec); }
.elementor .raya-opportunity-heading .elementor-heading-title { font-size: var(--t-h2); color: var(--ink); line-height: 1.05; }
.elementor .raya-opportunity-copy { margin-block: 28px 44px; font-size: var(--t-lead); }
.elementor .raya-opportunity-form { padding-block-end: var(--sec); }
.elementor .raya-opportunity-form .elementor-field-label { color: var(--ink); padding-block-end: 8px; }
.elementor .raya-opportunity-form .elementor-field { min-height: 52px; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--r); background: var(--white); color: var(--ink); font-size: 16px; }
.elementor .raya-opportunity-form textarea.elementor-field { min-height: 140px; }
.elementor .raya-opportunity-form .elementor-button { min-height: 56px; border-radius: 100px; background: var(--red); color: var(--white); font-family: var(--f-display); font-weight: 600; }
.elementor .raya-opportunity-form .elementor-field-group { margin-block-end: 20px; }
