/* Shine Elementor — additions to main.css for Elementor, Polylang and WordPress */

/* ---------- Elementor resets images (height:auto, radius 0); restore the design ---------- */
html body .hero-img,
html body .hero-panel-bg img,
html body .cta-bg,
html body .page-banner > img { height: 100%; max-width: none; }
html body .media-frame > img,
html body .area-media img { border-radius: var(--radius); height: auto; }
html body .area-media img { height: auto; }
html body .member-photo.has-photo img { height: 100%; min-height: 200px; width: 100%; object-fit: cover; border-radius: 0; }
html body .brand img { height: auto; }

/* ---------- Editable opacities (hero widget settings) ---------- */
.hero-panel-bg::after { background: rgba(33, 28, 29, var(--panel-alpha, .9)) !important; }
.hero-card { background: rgba(255, 255, 255, var(--card-alpha, .42)) !important; }

/* ---------- Sticky header when it lives inside an Elementor Pro header template ---------- */
.elementor-location-header { position: sticky; top: 0; z-index: 100; }
.elementor-location-header .site-header { position: relative; top: 0; }
.admin-bar .site-header, .admin-bar .elementor-location-header { top: 32px; }
.admin-bar .elementor-location-header .site-header { top: 0; }
@media screen and (max-width: 782px) {
  .admin-bar .site-header, .admin-bar .elementor-location-header { top: 46px; }
}
@media screen and (max-width: 600px) {
  .admin-bar .site-header, .admin-bar .elementor-location-header { top: 0; }
}

/* ---------- Thematic-area buttons stay under the header (container class sdf-sticky-nav) ---------- */
.sdf-sticky-nav { position: sticky !important; top: 76px; z-index: 20; }
.sdf-sticky-nav .area-nav { position: static; }
.admin-bar .sdf-sticky-nav { top: calc(76px + 32px); }
@media screen and (max-width: 782px) { .admin-bar .sdf-sticky-nav { top: calc(76px + 46px); } }
@media screen and (max-width: 600px) { .admin-bar .sdf-sticky-nav { top: 76px; } }

/* ---------- Thematic area: photo side and badge (was automatic, now a widget switch) ---------- */
.area-block.is-flipped .area-media { order: 2; }
.area-block.is-flipped .area-media .area-num { right: auto; left: -18px; }
[dir="rtl"] .area-block.is-flipped .area-media .area-num { left: auto; right: -18px; }
@media (max-width: 991px) {
  .area-block.is-flipped .area-media { order: 0; }
  .area-block.is-flipped .area-media .area-num { left: auto; right: 16px; }
  [dir="rtl"] .area-block.is-flipped .area-media .area-num { right: auto; left: 16px; }
}
.area-block { scroll-margin-top: 170px; }

/* ---------- Inside the Elementor editor: show everything without waiting for scroll ---------- */
.elementor-editor-active .reveal,
.elementor-editor-preview .reveal { opacity: 1 !important; transform: none !important; }

/* ---------- Board member photo, form messages, spam trap ---------- */
.member-photo.has-photo { padding: 0; overflow: hidden; }
.form-status { margin: 0 0 6px; padding: 12px 16px; border-radius: 12px; font-weight: 600; }
.form-status.is-ok { background: #e8f6ee; color: #146c3a; }
.form-status.is-error { background: var(--soft); color: var(--primary-dark); }
.sdf-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* ---------- Plain pages ---------- */
.entry-content { max-width: 820px; margin-inline: auto; font-size: 1.08rem; }
.entry-content > * + * { margin-top: 1em; }
.entry-content h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-top: 1.4em; }
.entry-content ul, .entry-content ol { padding-inline-start: 1.4em; }
.entry-content a { text-decoration: underline; }
.entry-content img { border-radius: var(--radius-sm); height: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- Elementor wrappers must not add spacing around the full-width sections ---------- */
.elementor-widget-sdf-header, .elementor-widget-sdf-footer { margin: 0 !important; }
.e-con.sdf-section, .elementor-section.sdf-section { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; --gap: 0px; padding: 0; }
.elementor-section.sdf-section > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0; }
.elementor-section.sdf-section .elementor-widget:not(:last-child) { margin-bottom: 0; }
