/* WebMax Builder — design controls (v1.7): element text & box style, hover,
   free position, device visibility, section layers, parallax, dividers. */

/* ---------- Text style on an element itself ---------- */
.wmpb-te-fs { font-size: var(--ty-fs) !important; }
@media (max-width: 781px) {
	.wmpb-te-fs { font-size: min(var(--ty-fs), max(1rem, calc(var(--ty-fs) * .8))) !important; }
	.wmpb-te-fsm { font-size: var(--ty-fsm) !important; }
}
.wmpb-te-color { color: var(--ty-color) !important; }
.wmpb-te-fw { font-weight: var(--ty-fw) !important; }
.wmpb-te-lh { line-height: var(--ty-lh) !important; }
.wmpb-te-ls { letter-spacing: var(--ty-ls) !important; }
.wmpb-te-up { text-transform: uppercase !important; }
.wmpb-te-it { font-style: italic !important; }
.wmpb-te-xff, .wmpb-ty-xff :where(h1, h2, h3, h4, h5, h6, p, li, a) { font-family: var(--ty-xff) !important; }
.wmpb-te-nup { text-transform: none !important; letter-spacing: normal; }
.wmpb-ty-it :where(h1, h2, h3, h4, h5, h6, p, li, .wmpb-h, .wmpb-rich) { font-style: italic; }
.wmpb-ty-ff :where(h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, .wmpb-h, .wmpb-rich, a) { font-family: inherit !important; }
.wmpb-ta-left { text-align: left !important; }
.wmpb-ta-center { text-align: center !important; }
.wmpb-ta-right { text-align: right !important; }
a.wmpb-ta-center, .wmpb-btn.wmpb-ta-center { justify-content: center; }

/* ---------- Box ---------- */
.wmpb-bx-bg { background: var(--bx-bg) !important; }
.wmpb-bx-pad { padding: var(--bx-pad) !important; }
.wmpb-bx-nobg { background: transparent !important; }
.wmpb-bx-px { padding-left: var(--bx-px) !important; padding-right: var(--bx-px) !important; }
.wmpb-bx-rad { border-radius: var(--bx-rad) !important; }
.wmpb-bx-rad:is(.wmpb-w) { overflow: hidden; }
.wmpb-bx-bd { border: var(--bx-bw) solid var(--bx-bc) !important; }
.wmpb-bx-op { opacity: var(--bx-op); }
.wmpb-bx-w { width: var(--bx-w) !important; max-width: 100%; }
.wmpb-align-center > .wmpb-bx-w, .wmpb-center .wmpb-bx-w { margin-left: auto; margin-right: auto; }
.wmpb-sh-sm { box-shadow: 0 2px 8px rgba(15, 23, 42, .1) !important; }
.wmpb-sh-md { box-shadow: 0 10px 28px rgba(15, 23, 42, .14) !important; }
.wmpb-sh-lg { box-shadow: 0 24px 60px rgba(15, 23, 42, .22) !important; }
.wmpb-sh-glow { box-shadow: 0 0 0 1px color-mix(in srgb, var(--wp--preset--color--accent, #B5562F) 30%, transparent), 0 12px 40px color-mix(in srgb, var(--wp--preset--color--accent, #B5562F) 35%, transparent) !important; }

/* ---------- Hover ---------- */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	[class*="wmpb-hov-"] { transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease, filter .35s ease, opacity .35s ease; }
	.wmpb-hov-lift:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(15, 23, 42, .18); }
	.wmpb-hov-zoom:hover { transform: scale(1.04); }
	.wmpb-hov-glow:hover { box-shadow: 0 0 0 2px var(--wp--preset--color--accent, #B5562F), 0 14px 40px color-mix(in srgb, var(--wp--preset--color--accent, #B5562F) 35%, transparent); }
	.wmpb-hov-dim:hover { opacity: .78; }
	.wmpb-hov-tilt:hover { transform: perspective(700px) rotateX(3deg) rotateY(-4deg) translateY(-3px); }
}

/* ---------- Free position (translate/rotate don't disturb other elements) ---------- */
@media (min-width: 782px) {
	.wmpb-moved { translate: var(--mx, 0) var(--my, 0); rotate: var(--mr, 0deg); }
}
.wmpb-moved.wmpb-moved-mob { translate: var(--mx, 0) var(--my, 0); rotate: var(--mr, 0deg); }
.wmpb-front { position: relative; z-index: 5; }
/* 1.24.2: links and words in copied sections can be inline, where translate does nothing: shift them instead. */
@media (min-width: 782px) {
	.wmpb-imported :is(a, span, strong, em, b, i, label).wmpb-moved { translate: none; position: relative; left: var(--mx, 0); top: var(--my, 0); }
}
.wmpb-imported :is(a, span, strong, em, b, i, label).wmpb-moved.wmpb-moved-mob { translate: none; position: relative; left: var(--mx, 0); top: var(--my, 0); }

/* ---------- Show / hide per device ---------- */
@media (min-width: 1025px) { body:not(.wmpb-editing) .wmpb-hide-d { display: none !important; } }
@media (min-width: 782px) and (max-width: 1024px) { body:not(.wmpb-editing) .wmpb-hide-t { display: none !important; } }
@media (max-width: 781px) { body:not(.wmpb-editing) .wmpb-hide-m { display: none !important; } }

/* ---------- Section layers: photo, video, shading, dividers ---------- */
.wmpb-section.wmpb-has-layers { position: relative; isolation: isolate; overflow: hidden; }
.wmpb-section > :is(.wmpb-bgl, .wmpb-bgv, .wmpb-ovl, .wmpb-divider) { position: absolute !important; z-index: -1; margin: 0 !important; max-width: none !important; width: auto !important; pointer-events: none; }
.wmpb-section > :is(.wmpb-bgl, .wmpb-bgv, .wmpb-ovl) { inset: 0; }
.wmpb-bgl { background-size: cover; background-repeat: no-repeat; transform: scale(var(--bgz, 1)); }
.wmpb-bgv { width: 100% !important; height: 100%; object-fit: cover; }
.wmpb-section > .wmpb-bgl.wmpb-fx-parallax { inset: -18% 0; will-change: transform; transform: translate3d(0, var(--plx, 0px), 0) scale(var(--bgz, 1)); }
@media (hover: hover) and (min-width: 1025px) { .wmpb-bgl.wmpb-fx-fixed { background-attachment: fixed; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
	.wmpb-bgl.wmpb-fx-zoom { animation: wmpb-kenburns 22s ease-in-out infinite alternate; }
}
@keyframes wmpb-kenburns { from { transform: scale(var(--bgz, 1)); } to { transform: scale(calc(var(--bgz, 1) * 1.14)) translate(-1.5%, -1%); } }
.wmpb-section > .wmpb-divider { left: 0; right: 0; line-height: 0; }
.wmpb-divider-top { top: -1px; }
.wmpb-divider-bottom { bottom: -1px; }
.wmpb-divider svg { display: block; width: 100%; height: 100%; }

/* ---------- Height & vertical alignment ---------- */
.wmpb-section.wmpb-minh-half { min-height: 50vh; }
.wmpb-section.wmpb-minh-large { min-height: 75vh; }
.wmpb-section.wmpb-minh-screen { min-height: 100vh; min-height: 100svh; }
.admin-bar .wmpb-section.wmpb-minh-screen { min-height: calc(100vh - 32px); }
.wmpb-section:is(.wmpb-minh-half, .wmpb-minh-large, .wmpb-minh-screen) { display: flex; flex-direction: column; }
.wmpb-section.wmpb-valign-center { justify-content: center; }
.wmpb-section.wmpb-valign-bottom { justify-content: flex-end; }
.wmpb-section:is(.wmpb-minh-half, .wmpb-minh-large, .wmpb-minh-screen) > :not(.wmpb-bgl):not(.wmpb-bgv):not(.wmpb-ovl):not(.wmpb-divider) { width: 100%; box-sizing: border-box; }

/* ---------- Entrance animation for sections (JS adds .is-in) ---------- */
@media (prefers-reduced-motion: no-preference) {
	.wmpb-js .wmpb-section.wmpb-anim { transition: opacity .8s ease, transform .8s cubic-bezier(.2, .7, .2, 1); }
	.wmpb-js .wmpb-section.wmpb-anim-fade:not(.is-in) { opacity: 0; }
	.wmpb-js .wmpb-section.wmpb-anim-up:not(.is-in) { opacity: 0; transform: translateY(40px); }
	.wmpb-js .wmpb-section.wmpb-anim-zoom:not(.is-in) { opacity: 0; transform: scale(.97); }
}
@media print { .wmpb-anim { opacity: 1 !important; transform: none !important; } }

/* 1.24.1: centred banners made editable from a copied website */
.wmpb-hero-main:has(> .wmpb-ta-center) { text-align: center; }
.wmpb-hero-main:has(> .wmpb-ta-center) .wmpb-btns { justify-content: center; }
.wmpb-hero-grid.wmpb-no-card:has(.wmpb-ta-center) { margin-left: auto; margin-right: auto; }
.wmpb-hero-grid.wmpb-no-card:has(.wmpb-te-xff) { max-width: min(100%, 72rem); }
.wmpb-btn.wmpb-bx-bd { box-shadow: none !important; } /* 1.24.6: a chosen border replaces the outline-button line */

/* 1.26: widths and splits dragged in the builder */
.wmpb-bx-wpx { width: var(--bx-wpx) !important; max-width: none !important; }
.wmpb-bx-wpx.wmpb-ta-center { margin-left: auto; margin-right: auto; }
@media (max-width: 781px) { .wmpb-bx-wpx { width: auto !important; max-width: 100% !important; } }
@media (min-width: 782px) {
	.wmpb-has-split :is(.wmpb-hero-grid:not(.wmpb-no-card), .wmpb-mt, .wmpb-contact, .wmpb-hs:not(.wmpb-hs--overlay):not(.wmpb-hs--full):not(.wmpb-hs--center):not(.wmpb-hs--noimg), .wmpb-areas:not(.no-media), .wmpb-st--split, .wmpb-st--photo) { grid-template-columns: minmax(0, var(--wmpb-split)) minmax(0, 1fr) !important; }
	.wmpb-has-split .wmpb-hs--fade.wmpb-hs--right .wmpb-hs-media { width: calc(106% - var(--wmpb-split)); }
	.wmpb-has-split .wmpb-hs--fade.wmpb-hs--left .wmpb-hs-media { width: calc(var(--wmpb-split) + 6%); }
}
