/* LucaBLOX Pro Design Utility Pack — CSS-only, scoped, and WordPress-native. */
:root{
	--lb-pro-space-xs:.5rem;
	--lb-pro-space-sm:1rem;
	--lb-pro-space-md:1.5rem;
	--lb-pro-space-lg:2rem;
	--lb-pro-space-xl:clamp(2rem,5vw,4rem);
	--lb-pro-radius-sm:.5rem;
	--lb-pro-radius-md:.75rem;
	--lb-pro-radius-lg:1rem;
	--lb-pro-radius-xl:1.5rem;
	--lb-pro-shadow-soft:0 10px 30px rgba(0,0,0,.08);
	--lb-pro-shadow-medium:0 16px 45px rgba(0,0,0,.12);
	--lb-pro-shadow-lifted:0 24px 65px rgba(0,0,0,.16);
	--lb-pro-max-sm:42rem;
	--lb-pro-max-md:56rem;
	--lb-pro-max-lg:72rem;
	--lb-pro-max-xl:88rem;
}

.lb-pro-l-section{padding-block:clamp(3rem,6vw,6rem)}
.lb-pro-l-section__inner{width:min(1120px,calc(100% - 2rem));margin-inline:auto}
.lb-pro-l-grid{display:grid;gap:var(--lb-pro-space-md)}
.lb-pro-l-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lb-pro-l-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}

.lb-pro-c-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700}
.lb-pro-c-card{padding:var(--lb-pro-space-md);border:1px solid currentColor;border-radius:var(--lb-pro-radius-lg)}
.lb-pro-c-placeholder{min-height:14rem;display:flex;align-items:center;justify-content:center;text-align:center;border:1px dashed currentColor;border-radius:var(--lb-pro-radius-lg);opacity:.72}
.lb-pro-c-header{display:flex;align-items:center;justify-content:space-between;gap:var(--lb-pro-space-sm);flex-wrap:wrap}
.lb-pro-c-nav{display:flex;gap:var(--lb-pro-space-sm);flex-wrap:wrap}
.lb-pro-c-nav a{text-decoration:none}
.lb-pro-c-badge{display:inline-block;padding:.35rem .7rem;border:1px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:999px;font-size:.82rem;font-weight:700;line-height:1.2}

/* Preserved spacing aliases. */
.lb-pro-u-padding-sm{padding:var(--lb-pro-space-sm)}
.lb-pro-u-padding-md{padding:var(--lb-pro-space-md)}
.lb-pro-u-padding-lg{padding:var(--lb-pro-space-lg)}
.lb-pro-u-padding-xl{padding:var(--lb-pro-space-xl)}

/* 0.6.0 spacing utilities. */
.lb-pro-u-p-xs{padding:var(--lb-pro-space-xs)}
.lb-pro-u-p-sm{padding:var(--lb-pro-space-sm)}
.lb-pro-u-p-md{padding:var(--lb-pro-space-md)}
.lb-pro-u-p-lg{padding:var(--lb-pro-space-lg)}
.lb-pro-u-p-xl{padding:var(--lb-pro-space-xl)}
.lb-pro-u-pt-sm{padding-top:var(--lb-pro-space-sm)}
.lb-pro-u-pt-md{padding-top:var(--lb-pro-space-md)}
.lb-pro-u-pt-lg{padding-top:var(--lb-pro-space-lg)}
.lb-pro-u-pb-sm{padding-bottom:var(--lb-pro-space-sm)}
.lb-pro-u-pb-md{padding-bottom:var(--lb-pro-space-md)}
.lb-pro-u-pb-lg{padding-bottom:var(--lb-pro-space-lg)}
.lb-pro-u-px-sm{padding-inline:var(--lb-pro-space-sm)}
.lb-pro-u-px-md{padding-inline:var(--lb-pro-space-md)}
.lb-pro-u-px-lg{padding-inline:var(--lb-pro-space-lg)}
.lb-pro-u-py-sm{padding-block:var(--lb-pro-space-sm)}
.lb-pro-u-py-md{padding-block:var(--lb-pro-space-md)}
.lb-pro-u-py-lg{padding-block:var(--lb-pro-space-lg)}
.lb-pro-u-mt-sm{margin-top:var(--lb-pro-space-sm)}
.lb-pro-u-mt-md{margin-top:var(--lb-pro-space-md)}
.lb-pro-u-mt-lg{margin-top:var(--lb-pro-space-lg)}
.lb-pro-u-mb-sm{margin-bottom:var(--lb-pro-space-sm)}
.lb-pro-u-mb-md{margin-bottom:var(--lb-pro-space-md)}
.lb-pro-u-mb-lg{margin-bottom:var(--lb-pro-space-lg)}
.lb-pro-u-my-sm{margin-block:var(--lb-pro-space-sm)}
.lb-pro-u-my-md{margin-block:var(--lb-pro-space-md)}
.lb-pro-u-my-lg{margin-block:var(--lb-pro-space-lg)}
.lb-pro-u-mx-auto{margin-inline:auto}
.lb-pro-u-ml-auto{margin-left:auto}
.lb-pro-u-mr-auto{margin-right:auto}

/* Gap, stack, and cluster utilities. */
.lb-pro-u-stack{display:grid;gap:var(--lb-pro-space-sm)}
.lb-pro-u-stack-sm{display:grid;gap:var(--lb-pro-space-sm)}
.lb-pro-u-stack-md{display:grid;gap:var(--lb-pro-space-md)}
.lb-pro-u-stack-lg{display:grid;gap:var(--lb-pro-space-lg)}
.lb-pro-u-cluster{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;min-width:0}
.lb-pro-u-cluster-sm{display:flex;gap:var(--lb-pro-space-sm);flex-wrap:wrap;align-items:center;min-width:0}
.lb-pro-u-cluster-md{display:flex;gap:var(--lb-pro-space-md);flex-wrap:wrap;align-items:center;min-width:0}
.lb-pro-u-cluster-lg{display:flex;gap:var(--lb-pro-space-lg);flex-wrap:wrap;align-items:center;min-width:0}
.lb-pro-u-gap-sm{gap:var(--lb-pro-space-sm)}
.lb-pro-u-gap-md{gap:var(--lb-pro-space-md)}
.lb-pro-u-gap-lg{gap:var(--lb-pro-space-lg)}
.lb-pro-u-gap-xl{gap:var(--lb-pro-space-xl)}

/* Radius, border, and shadow utilities. */
.lb-pro-u-border{border:1px solid currentColor}
.lb-pro-u-border-subtle{border:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.lb-pro-u-border-strong{border:2px solid currentColor}
.lb-pro-u-border-none{border:0}
.lb-pro-u-radius-sm{border-radius:var(--lb-pro-radius-sm)}
.lb-pro-u-radius-md{border-radius:var(--lb-pro-radius-md)}
.lb-pro-u-radius-lg{border-radius:var(--lb-pro-radius-lg)}
.lb-pro-u-radius-xl{border-radius:var(--lb-pro-radius-xl)}
.lb-pro-u-radius-pill{border-radius:999px}
.lb-pro-u-shadow-soft{box-shadow:var(--lb-pro-shadow-soft)}
.lb-pro-u-shadow-medium{box-shadow:var(--lb-pro-shadow-medium)}
.lb-pro-u-shadow-lifted{box-shadow:var(--lb-pro-shadow-lifted)}
.lb-pro-u-shadow-none{box-shadow:none}

/* Surface, frame, and card utilities. */
.lb-pro-u-surface{background:Canvas;color:CanvasText}
.lb-pro-u-surface-soft{background:color-mix(in srgb,currentColor 4%,transparent)}
.lb-pro-u-surface-muted{background:color-mix(in srgb,currentColor 7%,transparent)}
.lb-pro-u-surface-strong{background:color-mix(in srgb,currentColor 11%,transparent)}
.lb-pro-u-frame{border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:1.25rem;padding:var(--lb-pro-space-md)}
.lb-pro-u-frame-soft{background:color-mix(in srgb,currentColor 5%,transparent)}
.lb-pro-u-frame-strong{border-width:2px}
.lb-pro-u-frame-inset{box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 10%,transparent)}
.lb-pro-u-card{border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:var(--lb-pro-radius-lg);padding:var(--lb-pro-space-md)}
.lb-pro-u-card-soft{background:color-mix(in srgb,currentColor 4%,transparent)}
.lb-pro-u-card-bordered{border-width:1px}
.lb-pro-u-card-lifted{box-shadow:0 14px 34px rgba(0,0,0,.1)}
.lb-pro-u-card-flat{box-shadow:none}

/* Text, width, and alignment utilities. */
.lb-pro-u-text-left{text-align:left}
.lb-pro-u-text-center{text-align:center}
.lb-pro-u-text-right{text-align:right}
.lb-pro-u-text-balance{text-wrap:balance}
.lb-pro-u-muted{opacity:.78}
.lb-pro-u-max-sm{max-width:var(--lb-pro-max-sm)}
.lb-pro-u-max-md{max-width:var(--lb-pro-max-md)}
.lb-pro-u-max-lg{max-width:var(--lb-pro-max-lg)}
.lb-pro-u-max-xl{max-width:var(--lb-pro-max-xl)}
.lb-pro-u-align-center{margin-inline:auto}

/* Sticky-ready utilities are pattern-local helpers, not a global header system. */
.lb-pro-u-sticky-ready{position:sticky;top:0;z-index:20}
.admin-bar .lb-pro-u-sticky-ready{top:32px}
.lb-pro-u-sticky-offset-sm{top:var(--lb-pro-space-sm)}
.lb-pro-u-sticky-offset-md{top:var(--lb-pro-space-lg)}
.lb-pro-u-sticky-surface{background:Canvas;color:CanvasText}

/* Scoped responsive and editor/front-end parity helpers. */
.lb-pro-l-section,.editor-styles-wrapper .lb-pro-l-section{box-sizing:border-box;overflow-wrap:break-word}
.lb-pro-l-section .wp-block-buttons,.editor-styles-wrapper .lb-pro-l-section .wp-block-buttons{gap:.75rem;flex-wrap:wrap}
.lb-pro-l-section .wp-block-column > .lb-pro-u-card,.editor-styles-wrapper .lb-pro-l-section .wp-block-column > .lb-pro-u-card{height:100%}
.lb-pro-u-card,.lb-pro-u-frame,.lb-pro-c-card{box-sizing:border-box;max-width:100%}
.lb-pro-u-card > :first-child,.lb-pro-u-frame > :first-child,.lb-pro-c-card > :first-child{margin-top:0}
.lb-pro-u-card > :last-child,.lb-pro-u-frame > :last-child,.lb-pro-c-card > :last-child{margin-bottom:0}
.editor-styles-wrapper .lb-pro-u-sticky-ready{position:relative;top:auto;z-index:auto}

@media(max-width:782px){
	:root{--lb-pro-space-xl:clamp(1.5rem,8vw,2.5rem)}
	.lb-pro-l-grid--2,.lb-pro-l-grid--3{grid-template-columns:1fr}
	.lb-pro-l-section{padding-block:clamp(2rem,10vw,3.5rem)}
	.lb-pro-l-section__inner{width:min(100% - 1.25rem,1120px)}
	.lb-pro-l-section .wp-block-columns{gap:1.25rem}
	.lb-pro-l-section .wp-block-buttons{flex-direction:column;align-items:stretch}
	.lb-pro-l-section .wp-block-button,.lb-pro-l-section .wp-block-button__link{width:100%;text-align:center}
	.lb-pro-u-card,.lb-pro-u-frame,.lb-pro-c-card{padding:1.125rem}
	.lb-pro-c-header{align-items:flex-start}
	.lb-pro-c-nav{width:100%}
	.lb-pro-u-cluster,.lb-pro-u-cluster-sm,.lb-pro-u-cluster-md,.lb-pro-u-cluster-lg{align-items:flex-start}
	.admin-bar .lb-pro-u-sticky-ready{top:46px}
}
