/* ==========================================================================
   WordPress + Elementor integration
   The design itself is in style.css / responsive.css (shared with the HTML
   prototype). These rules make Elementor's wrappers transparent so each
   Richpeace widget renders its full-width section exactly as designed.
   ========================================================================== */

/* Spam trap in every form */
.rp-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Richpeace widgets bring their own <section> + .container: no extra spacing */
.elementor-widget[class*="elementor-widget-rp-"] { margin: 0 !important; --kit-widget-spacing: 0px; }
.elementor-widget[class*="elementor-widget-rp-"] > .elementor-widget-container { margin: 0; padding: 0; }

/* Containers/sections created by the Richpeace setup ("rp-wrap") are full-bleed and unpadded */
.e-con.rp-wrap, .e-con.rp-wrap > .e-con-inner {
	--padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
	--gap: 0px; --row-gap: 0px; --column-gap: 0px;
	--content-width: 100%; --container-max-width: 100%; --width: 100%;
	max-width: 100%; padding: 0; gap: 0;
}
.elementor-section.rp-wrap > .elementor-container { max-width: 100%; }
.elementor-section.rp-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0; }

/* Elementor's global image reset must not undo the design's image styling */
.rp-site .elementor img { border-radius: revert-layer; }

/* Default page template (pages not built with Elementor) */
.rp-page-content { padding-block: 56px 72px; }
.rp-page-content > :first-child { margin-top: 0; }

/* Header template rendered through Elementor: flatten Elementor's wrappers so the
   sticky .rp-header sticks to the page (as in the design) rather than to its wrapper. */
.rp-site-header-tpl,
.rp-site-header-tpl :is(.elementor, .e-con, .e-con-inner, .elementor-section, .elementor-container, .elementor-column, .elementor-widget-wrap):has(.elementor-widget-rp-site-header),
.rp-site-header-tpl .elementor-widget-rp-site-header,
.rp-site-header-tpl .elementor-widget-rp-site-header > .elementor-widget-container { display: contents; }

/* Editor hint shown only inside the Elementor editor */
.rp-editor-note { margin: 0; padding: 12px 16px; border: 1px dashed #c3c4c7; border-radius: 8px; background: #fff8e1; color: #3b2412; font: 500 13px/1.4 Inter, system-ui, sans-serif; }

/* WordPress core classes */
.alignleft { float: left; margin: 0 1.5em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.5em; }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption-text, .wp-element-caption { font-size: .875rem; color: var(--rp-muted); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.admin-bar .rp-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .rp-header { top: 46px; } }

/* Social icons (Theme Options → Social Media) */
.rp-footer__social { display: flex; gap: 10px; margin-top: 18px; }
.rp-footer__social .rp-social { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; text-decoration: none; transition: background .2s, color .2s; }
.rp-footer__social .rp-social:hover, .rp-footer__social .rp-social:focus-visible { background: var(--rp-yellow); color: var(--rp-navy); }
.rp-topbar__social { display: inline-flex; gap: 12px; }
.rp-topbar__social .rp-social { color: inherit; }
