/* Utility/helper classes */

/* Hide on Mobile (up to 767px) */
/* Removed duplicate responsive hide classes (now in responsive.css) */

body .hide {
  display: none;
}

/* Ellipse shape responsive masks migrated to bp-*.css files. Base file intentionally has no masks to avoid duplication. */


/* --------------------------------------------------
   Palette-mapped utilities (1:1 with theme.json slugs)
   Examples:
   - <div class="is-background-gray-1 is-color-contrast"></div>
   - <div class="is-border-red-2" style="border-width:1px;border-style:solid"></div>
-------------------------------------------------- */

/* Background colors */
.is-background-base { background-color: var(--wp--preset--color--base) !important; }
.is-background-contrast { background-color: var(--wp--preset--color--contrast) !important; }
.is-background-blue-1 { background-color: var(--wp--preset--color--blue-1) !important; }
.is-background-blue-2 { background-color: var(--wp--preset--color--blue-2) !important; }
.is-background-blue-3 { background-color: var(--wp--preset--color--blue-3) !important; }
.is-background-red-1 { background-color: var(--wp--preset--color--red-1) !important; }
.is-background-red-2 { background-color: var(--wp--preset--color--red-2) !important; }
.is-background-green-1 { background-color: var(--wp--preset--color--green-1) !important; }
.is-background-green-2 { background-color: var(--wp--preset--color--green-2) !important; }
.is-background-gray-1 { background-color: var(--wp--preset--color--gray-1) !important; }
.is-background-gray-2 { background-color: var(--wp--preset--color--gray-2) !important; }
.is-background-gray-3 { background-color: var(--wp--preset--color--gray-3) !important; }
.is-background-gray-4 { background-color: var(--wp--preset--color--gray-4) !important; }
.is-background-gray-5 { background-color: var(--wp--preset--color--gray-5) !important; }
.is-background-gray-6 { background-color: var(--wp--preset--color--gray-6) !important; }
.is-background-success-primary { background-color: var(--wp--preset--color--success-primary) !important; }
.is-background-success-secondary { background-color: var(--wp--preset--color--success-secondary) !important; }
.is-background-success-hover { background-color: var(--wp--preset--color--success-hover) !important; }
.is-background-error-primary { background-color: var(--wp--preset--color--error-primary) !important; }
.is-background-error-secondary { background-color: var(--wp--preset--color--error-secondary) !important; }
.is-background-error-hover { background-color: var(--wp--preset--color--error-hover) !important; }
.is-background-warning-primary { background-color: var(--wp--preset--color--warning-primary) !important; }
.is-background-warning-secondary { background-color: var(--wp--preset--color--warning-secondary) !important; }
.is-background-warning-hover { background-color: var(--wp--preset--color--warning-hover) !important; }

/* Text colors */
.is-color-base { color: var(--wp--preset--color--base) !important; }
.is-color-contrast { color: var(--wp--preset--color--contrast) !important; }
.is-color-blue-1 { color: var(--wp--preset--color--blue-1) !important; }
.is-color-blue-2 { color: var(--wp--preset--color--blue-2) !important; }
.is-color-blue-3 { color: var(--wp--preset--color--blue-3) !important; }
.is-color-red-1 { color: var(--wp--preset--color--red-1) !important; }
.is-color-red-2 { color: var(--wp--preset--color--red-2) !important; }
.is-color-green-1 { color: var(--wp--preset--color--green-1) !important; }
.is-color-green-2 { color: var(--wp--preset--color--green-2) !important; }
.is-color-gray-1 { color: var(--wp--preset--color--gray-1) !important; }
.is-color-gray-2 { color: var(--wp--preset--color--gray-2) !important; }
.is-color-gray-3 { color: var(--wp--preset--color--gray-3) !important; }
.is-color-gray-4 { color: var(--wp--preset--color--gray-4) !important; }
.is-color-gray-5 { color: var(--wp--preset--color--gray-5) !important; }
.is-color-gray-6 { color: var(--wp--preset--color--gray-6) !important; }
.is-color-success-primary { color: var(--wp--preset--color--success-primary) !important; }
.is-color-success-secondary { color: var(--wp--preset--color--success-secondary) !important; }
.is-color-success-hover { color: var(--wp--preset--color--success-hover) !important; }
.is-color-error-primary { color: var(--wp--preset--color--error-primary) !important; }
.is-color-error-secondary { color: var(--wp--preset--color--error-secondary) !important; }
.is-color-error-hover { color: var(--wp--preset--color--error-hover) !important; }
.is-color-warning-primary { color: var(--wp--preset--color--warning-primary) !important; }
.is-color-warning-secondary { color: var(--wp--preset--color--warning-secondary) !important; }
.is-color-warning-hover { color: var(--wp--preset--color--warning-hover) !important; }

/* Border colors */
.is-border-base { border-color: var(--wp--preset--color--base) !important; }
.is-border-contrast { border-color: var(--wp--preset--color--contrast) !important; }
.is-border-blue-1 { border-color: var(--wp--preset--color--blue-1) !important; }
.is-border-blue-2 { border-color: var(--wp--preset--color--blue-2) !important; }
.is-border-blue-3 { border-color: var(--wp--preset--color--blue-3) !important; }
.is-border-red-1 { border-color: var(--wp--preset--color--red-1) !important; }
.is-border-red-2 { border-color: var(--wp--preset--color--red-2) !important; }
.is-border-green-1 { border-color: var(--wp--preset--color--green-1) !important; }
.is-border-green-2 { border-color: var(--wp--preset--color--green-2) !important; }
.is-border-gray-1 { border-color: var(--wp--preset--color--gray-1) !important; }
.is-border-gray-2 { border-color: var(--wp--preset--color--gray-2) !important; }
.is-border-gray-3 { border-color: var(--wp--preset--color--gray-3) !important; }
.is-border-gray-4 { border-color: var(--wp--preset--color--gray-4) !important; }
.is-border-gray-5 { border-color: var(--wp--preset--color--gray-5) !important; }
.is-border-gray-6 { border-color: var(--wp--preset--color--gray-6) !important; }
.is-border-success-primary { border-color: var(--wp--preset--color--success-primary) !important; }
.is-border-success-secondary { border-color: var(--wp--preset--color--success-secondary) !important; }
.is-border-success-hover { border-color: var(--wp--preset--color--success-hover) !important; }
.is-border-error-primary { border-color: var(--wp--preset--color--error-primary) !important; }
.is-border-error-secondary { border-color: var(--wp--preset--color--error-secondary) !important; }
.is-border-error-hover { border-color: var(--wp--preset--color--error-hover) !important; }
.is-border-warning-primary { border-color: var(--wp--preset--color--warning-primary) !important; }
.is-border-warning-secondary { border-color: var(--wp--preset--color--warning-secondary) !important; }
.is-border-warning-hover { border-color: var(--wp--preset--color--warning-hover) !important; }

/* SVG helpers */
.is-fill-base { fill: var(--wp--preset--color--base) !important; }
.is-fill-contrast { fill: var(--wp--preset--color--contrast) !important; }
.is-fill-blue-1 { fill: var(--wp--preset--color--blue-1) !important; }
.is-fill-blue-2 { fill: var(--wp--preset--color--blue-2) !important; }
.is-fill-blue-3 { fill: var(--wp--preset--color--blue-3) !important; }
.is-fill-red-1 { fill: var(--wp--preset--color--red-1) !important; }
.is-fill-red-2 { fill: var(--wp--preset--color--red-2) !important; }
.is-fill-green-1 { fill: var(--wp--preset--color--green-1) !important; }
.is-fill-green-2 { fill: var(--wp--preset--color--green-2) !important; }
.is-fill-gray-1 { fill: var(--wp--preset--color--gray-1) !important; }
.is-fill-gray-2 { fill: var(--wp--preset--color--gray-2) !important; }
.is-fill-gray-3 { fill: var(--wp--preset--color--gray-3) !important; }
.is-fill-gray-4 { fill: var(--wp--preset--color--gray-4) !important; }
.is-fill-gray-5 { fill: var(--wp--preset--color--gray-5) !important; }
.is-fill-gray-6 { fill: var(--wp--preset--color--gray-6) !important; }
.is-fill-success-primary { fill: var(--wp--preset--color--success-primary) !important; }
.is-fill-success-secondary { fill: var(--wp--preset--color--success-secondary) !important; }
.is-fill-success-hover { fill: var(--wp--preset--color--success-hover) !important; }
.is-fill-error-primary { fill: var(--wp--preset--color--error-primary) !important; }
.is-fill-error-secondary { fill: var(--wp--preset--color--error-secondary) !important; }
.is-fill-error-hover { fill: var(--wp--preset--color--error-hover) !important; }
.is-fill-warning-primary { fill: var(--wp--preset--color--warning-primary) !important; }
.is-fill-warning-secondary { fill: var(--wp--preset--color--warning-secondary) !important; }
.is-fill-warning-hover { fill: var(--wp--preset--color--warning-hover) !important; }

.is-stroke-base { stroke: var(--wp--preset--color--base) !important; }
.is-stroke-contrast { stroke: var(--wp--preset--color--contrast) !important; }
.is-stroke-blue-1 { stroke: var(--wp--preset--color--blue-1) !important; }
.is-stroke-blue-2 { stroke: var(--wp--preset--color--blue-2) !important; }
.is-stroke-blue-3 { stroke: var(--wp--preset--color--blue-3) !important; }
.is-stroke-red-1 { stroke: var(--wp--preset--color--red-1) !important; }
.is-stroke-red-2 { stroke: var(--wp--preset--color--red-2) !important; }
.is-stroke-green-1 { stroke: var(--wp--preset--color--green-1) !important; }
.is-stroke-green-2 { stroke: var(--wp--preset--color--green-2) !important; }
.is-stroke-gray-1 { stroke: var(--wp--preset--color--gray-1) !important; }
.is-stroke-gray-2 { stroke: var(--wp--preset--color--gray-2) !important; }
.is-stroke-gray-3 { stroke: var(--wp--preset--color--gray-3) !important; }
.is-stroke-gray-4 { stroke: var(--wp--preset--color--gray-4) !important; }
.is-stroke-gray-5 { stroke: var(--wp--preset--color--gray-5) !important; }
.is-stroke-gray-6 { stroke: var(--wp--preset--color--gray-6) !important; }
.is-stroke-success-primary { stroke: var(--wp--preset--color--success-primary) !important; }
.is-stroke-success-secondary { stroke: var(--wp--preset--color--success-secondary) !important; }
.is-stroke-success-hover { stroke: var(--wp--preset--color--success-hover) !important; }
.is-stroke-error-primary { stroke: var(--wp--preset--color--error-primary) !important; }
.is-stroke-error-secondary { stroke: var(--wp--preset--color--error-secondary) !important; }
.is-stroke-error-hover { stroke: var(--wp--preset--color--error-hover) !important; }
.is-stroke-warning-primary { stroke: var(--wp--preset--color--warning-primary) !important; }
.is-stroke-warning-secondary { stroke: var(--wp--preset--color--warning-secondary) !important; }
.is-stroke-warning-hover { stroke: var(--wp--preset--color--warning-hover) !important; }

/* --------------------------------------------------
   Ellipse section decorative styles (applied via block style variations)
   Usage: Select Group or Cover block -> Styles -> Ellipse Top / Ellipse Bottom
   Creates a subtle ellipse shape using currentColor (text color) with low opacity.
-------------------------------------------------- */
/* Simplified: remove pseudo-element glow; rely solely on mask for a crisp curve */
.is-style-ellipse-top,
.is-style-ellipse-bottom { position: relative; }
/* ---- Migrated from utilities.css & editor-style.css (base / desktop shapes) ---- */
.is-style-ellipse-top {
  -webkit-mask: url('data:image/svg+xml;utf8,<svg viewBox="0 0 1920 1000" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg"><path d="M0,0 Q960,120 1920,0 V1000 H0 Z" fill="green"/></svg>')
    no-repeat 0 0 / 100% 100%;
  mask: url('data:image/svg+xml;utf8,<svg viewBox="0 0 1920 1000" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg"><path d="M0,0 Q960,120 1920,0 V1000 H0 Z" fill="green"/></svg>')
    no-repeat 0 0 / 100% 100%;
}
.is-style-ellipse-bottom {
  mask: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg"><path fill="green" d="M0 0 H100 V85 Q50 105 0 85 Z"/></svg>')
    no-repeat 0 0 / 100% 100%;
}
