/**
 * Section Spacing — padding-block utilities for template root elements.
 *
 * Applied via .stc-pt--{size} / .stc-pb--{size} directly on the section root.
 * Sizes: none | xs | sm | md | lg | xl
 */

/* ── Before (padding-block-start) ─────────────────────────────────────────── */

.stc-pt--none { padding-block-start: 0 !important; }
.stc-pt--xs   { padding-block-start: clamp(0.5rem,  1.5vw, 1rem) !important;  }
.stc-pt--sm   { padding-block-start: clamp(1rem,    3vw,   2rem) !important;  }
.stc-pt--md   { padding-block-start: clamp(2.5rem,  5vw,   4rem) !important;  }
.stc-pt--lg   { padding-block-start: clamp(4rem,    7vw,   6.5rem) !important; }
.stc-pt--xl   { padding-block-start: clamp(6rem,    10vw,  10rem) !important; }

/* ── After (padding-block-end) ────────────────────────────────────────────── */

.stc-pb--none { padding-block-end: 0 !important; }
.stc-pb--xs   { padding-block-end: clamp(0.5rem,  1.5vw, 1rem) !important;  }
.stc-pb--sm   { padding-block-end: clamp(1rem,    3vw,   2rem) !important;  }
.stc-pb--md   { padding-block-end: clamp(2.5rem,  5vw,   4rem) !important;  }
.stc-pb--lg   { padding-block-end: clamp(4rem,    7vw,   6.5rem) !important; }
.stc-pb--xl   { padding-block-end: clamp(6rem,    10vw,  10rem) !important; }

/* ── Template layout modes ───────────────────────────────────────────────── */

.stc-layout--containerd {
	--stc-template-container-max: var(--container-max-width, 1200px);
}

.stc-layout--full-width {
	max-inline-size: 100% !important;
}

.stc-layout--containerd > [class*="__inner"],
.stc-layout--containerd > [class*="__container"],
.stc-layout--full-width > [class*="__inner"] {
	padding-inline: var(--stc-template-inline-padding) !important;
}

.stc-layout--containerd > [class*="__inner"],
.stc-layout--containerd > [class*="__container"] {
	inline-size: 100% !important;
	max-inline-size: var(--stc-template-container-max) !important;
	margin-inline: auto !important;
}

.stc-layout--full-width > [class*="__inner"] {
	inline-size: 100% !important;
	max-inline-size: none !important;
	margin-inline: 0 !important;
}

.stc-pi--no-padding { --stc-template-inline-padding: 0; }
.stc-pi--x-small { --stc-template-inline-padding: clamp(0.5rem, 1.6vw, 1rem); }
.stc-pi--small   { --stc-template-inline-padding: clamp(1rem, 2.5vw, 1.75rem); }
.stc-pi--medium  { --stc-template-inline-padding: clamp(1.25rem, 3.5vw, 2.75rem); }
.stc-pi--large   { --stc-template-inline-padding: clamp(1.75rem, 5vw, 4rem); }
.stc-pi--x-large { --stc-template-inline-padding: clamp(2rem, 6vw, 5rem); }

/* Strong override so "No-Padding" wins even when template CSS sets root padding. */
.stc-pi--no-padding,
.stc-pi--no-padding > [class*="__inner"],
.stc-pi--no-padding > [class*="__container"] {
	padding-inline: 0 !important;
	padding-inline-start: 0 !important;
	padding-inline-end: 0 !important;
}

/* Template typography normalization for RTL: italic styles become normal. */
html[dir="rtl"] [class*="amb-"] *,
html[dir="rtl"] [class*="bbx-"] *,
body.rtl [class*="amb-"] *,
body.rtl [class*="bbx-"] * {
	font-style: normal !important;
}
