/*
 * Base Layer 3.7 — Native Gutenberg enhancements.
 */

/* Native block styles */
.wp-block-group.is-style-base-layer-soft-surface{
	background:var(--global-palette7,#f2f4f7);border:1px solid var(--global-palette6,#e4e7ec);border-radius:20px;padding:clamp(22px,4vw,44px)
}
.wp-block-group.is-style-base-layer-dark-surface{
	background:var(--global-palette3,#0d1117);color:var(--global-palette9,#fff);border-radius:20px;padding:clamp(22px,4vw,44px)
}
.wp-block-group.is-style-base-layer-glass{
	background:color-mix(in srgb,var(--global-palette9,#fff) 82%,transparent);border:1px solid color-mix(in srgb,var(--global-palette9,#fff) 65%,transparent);backdrop-filter:blur(14px) saturate(135%);-webkit-backdrop-filter:blur(14px) saturate(135%);border-radius:20px;box-shadow:0 14px 44px rgba(13,17,23,.08);padding:clamp(20px,3vw,36px)
}
.wp-block-image.is-style-base-layer-elevated img{border-radius:20px;box-shadow:0 18px 54px rgba(13,17,23,.13)}
.wp-block-details.is-style-base-layer-clean{border-top:1px solid var(--global-palette6,#e4e7ec);margin:0;padding:18px 0}
.wp-block-details.is-style-base-layer-clean+.wp-block-details.is-style-base-layer-clean{margin-top:0}
.wp-block-details.is-style-base-layer-clean summary{cursor:pointer;font-weight:700}
.wp-block-quote.is-style-base-layer-featured{border:0;margin-inline:0;padding:clamp(22px,4vw,42px);border-radius:20px;background:var(--global-palette7,#f2f4f7);font-size:clamp(1.15rem,2vw,1.55rem)}

/* Hero */
.bl-hero-cover{min-height:min(82vh,820px)}
.bl-hero-cover .bl-hero-cover__content{position:relative;z-index:2}

/* Reveal */
.bl-reveal{opacity:0;will-change:opacity,transform;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.bl-reveal--fade-up{transform:translate3d(0,28px,0)}
.bl-reveal--slide-left{transform:translate3d(-34px,0,0)}
.bl-reveal--slide-right{transform:translate3d(34px,0,0)}
.bl-reveal--zoom{transform:scale(.965)}
.bl-reveal--fade-in{transform:none}
.bl-reveal.is-visible{opacity:1;transform:none}
.bl-stagger>*{transition-delay:var(--bl-stagger-delay,0ms)}

/* Marquee */
.bl-marquee{--bl-marquee-gap:clamp(24px,4vw,64px);position:relative;overflow:hidden}
.bl-marquee__track{display:flex;width:max-content;max-width:none;animation:bl-marquee-scroll var(--bl-marquee-duration,32s) linear infinite;animation-direction:var(--bl-marquee-direction,normal);will-change:transform}
.bl-marquee__set{display:flex;align-items:center;flex-wrap:nowrap;gap:var(--bl-marquee-gap);padding-right:var(--bl-marquee-gap);width:max-content}
.bl-marquee__set>*{flex:0 0 auto;margin-block:0!important}
.bl-marquee--pause:hover .bl-marquee__track{animation-play-state:paused}
.bl-marquee--fade{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
.bl-marquee--reduced{overflow-x:auto}
@keyframes bl-marquee-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* Masonry */
.wp-block-gallery.bl-gallery-masonry{display:block!important;column-count:var(--bl-masonry-columns,3);column-gap:var(--wp--style--block-gap,18px)}
.wp-block-gallery.bl-gallery-masonry>.wp-block-image,.wp-block-gallery.bl-gallery-masonry>figure{display:inline-block!important;width:100%!important;margin:0 0 var(--wp--style--block-gap,18px)!important;break-inside:avoid}
.wp-block-gallery.bl-gallery-masonry img{width:100%;height:auto!important;object-fit:initial!important}

/* Carousel — direct children are promoted to Splide slides at runtime. */
.bl-carousel{position:relative}
.bl-carousel>.splide__track{overflow:hidden}
.bl-carousel .splide__slide>*{height:100%}
.bl-carousel .splide__arrows{pointer-events:none}
.bl-carousel .splide__arrow{pointer-events:auto;width:42px;height:42px;background:var(--global-palette9,#fff);color:var(--global-palette3,#0d1117);border:1px solid color-mix(in srgb,var(--global-palette3,#0d1117) 12%,transparent);box-shadow:0 8px 24px rgba(13,17,23,.10);opacity:1}
.bl-carousel .splide__arrow:hover{background:var(--global-palette1,#2563ff);color:#fff}
.bl-carousel .splide__pagination{position:relative;bottom:auto;margin:18px 0 0;padding:0}
.bl-carousel .splide__pagination__page{background:color-mix(in srgb,var(--global-palette3,#0d1117) 24%,transparent);opacity:1}
.bl-carousel .splide__pagination__page.is-active{background:var(--global-palette1,#2563ff);transform:scale(1.15)}
.bl-carousel--fallback{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}

/* Tabs */
.bl-tabs__nav{display:flex;align-items:center;gap:clamp(8px,1.5vw,18px);overflow-x:auto;scrollbar-width:thin;margin-bottom:clamp(22px,3vw,38px)}
.bl-tabs__button{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:650;white-space:nowrap;cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease}
.bl-tabs__nav--underline{border-bottom:1px solid color-mix(in srgb,currentColor 16%,transparent)}
.bl-tabs__nav--underline .bl-tabs__button{padding:10px 2px 12px;border-bottom:2px solid transparent;margin-bottom:-1px}
.bl-tabs__nav--underline .bl-tabs__button[aria-selected="true"]{color:var(--global-palette1,#2563ff);border-color:currentColor}
.bl-tabs__nav--pills{gap:8px}
.bl-tabs__nav--pills .bl-tabs__button{padding:9px 14px;border-radius:999px;background:var(--global-palette7,#f2f4f7)}
.bl-tabs__nav--pills .bl-tabs__button[aria-selected="true"]{background:var(--global-palette1,#2563ff);color:#fff}
.bl-tabs__button:focus-visible{outline:2px solid var(--global-palette1,#2563ff);outline-offset:3px}
.bl-tabs__panel[hidden]{display:none!important}

/* Count-up */
.bl-count-up{font-variant-numeric:tabular-nums}

/* Responsive */
@media(max-width:900px){
	.wp-block-gallery.bl-gallery-masonry{column-count:min(2,var(--bl-masonry-columns,2))}
	.bl-carousel--fallback{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
	.wp-block-gallery.bl-gallery-masonry{column-count:1}
	.bl-marquee--fade{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%)}
	.bl-carousel--fallback{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
	.bl-reveal{opacity:1!important;transform:none!important;transition:none!important}
	.bl-marquee__track{animation:none!important}
}
