.wp-block-shortcode:has(> .gls-hero),
.entry-content > .wp-block-shortcode:has(> .gls-hero) { max-width: none !important; margin-block: 0 !important; padding-block: 0 !important; }
.site-content:has(.gls-hero) { padding-top: 0 !important; }
.site-content .ast-container:has(.gls-hero) { padding-top: 0 !important; }
body:has(.gls-hero) #primary { margin-block: 0 !important; padding-top: 0 !important; }
.gls-hero { --gls-hero-accent: #f7c7cc; --gls-hero-green: #073f3b; position: relative; left: 50%; width: 100vw; max-width: none !important; margin: -20px 0 0 !important; overflow: hidden; transform: translateX(-50%); background: transparent; color: #fff; font-family: inherit; }
.gls-hero__slides { position: relative; width: 100%; height: auto; aspect-ratio: 16 / 9; }
.gls-hero__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .45s ease; }
.gls-hero__slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.gls-hero__slide picture, .gls-hero__slide img { display: block; width: 100%; height: 100%; }
.gls-hero__slide img { object-fit: cover; object-position: center; }
.gls-hero__shade { display: none; }
.gls-hero__content { position: absolute; z-index: 2; left: max(5vw, 32px); bottom: 122px; width: min(780px, 78vw); }
.gls-hero__category { display: inline-block; margin-bottom: 12px; font-size: 18px; font-weight: 700; }
.gls-hero__content h2 { margin: 0 0 24px; color: #fff; font-size: clamp(15px, 1.5vw, 26px); line-height: 1.18; text-wrap: balance; text-shadow: 0 2px 5px rgba(0,0,0,.9), 0 0 18px rgba(0,0,0,.4); }
.gls-hero__cta { display: inline-flex; box-sizing: border-box; padding: 16px 29px; border: 2px solid transparent; border-radius: 999px; background: var(--gls-hero-accent); color: var(--gls-hero-green) !important; font-size: 19px; line-height: 1; font-weight: 700; text-decoration: none !important; transition: transform .18s, background-color .18s, border-color .18s, color .18s; }
.gls-hero__cta:hover, .gls-hero__cta:focus { border-color: #fff; background: transparent; color: #fff !important; filter: none; transform: translateY(-2px); }
.gls-hero__tabs { position: absolute; z-index: 4; right: max(5vw, 32px); bottom: 22px; left: max(5vw, 32px); display: flex; gap: clamp(18px, 3vw, 48px); align-items: flex-start; padding: 0; background: transparent; }
.gls-hero__tab { position: relative; flex: 0 1 190px; min-width: 100px; max-width: 190px; min-height: 50px; padding: 12px 0 0; border: 0; border-radius: 0; background: transparent; color: #fff; text-align: left; font: inherit; font-size: 15px; font-weight: 700; line-height: 1.25; text-shadow: 0 2px 5px rgba(0,0,0,.9); cursor: pointer; }
.gls-hero__tab::before { content: ''; position: absolute; top: 0; right: 0; left: 0; height: 4px; border-radius: 4px; background: #aaa; }
.gls-hero__progress { position: absolute; z-index: 1; top: 0; left: 0; width: 0; height: 4px; border-radius: 4px; background: var(--gls-hero-accent); }
.gls-hero__tab.is-active { color: #fff; }
.gls-hero__tab:hover,
.gls-hero__tab:focus,
.gls-hero__tab:active { background: transparent !important; color: #fff !important; box-shadow: none !important; outline-color: #fff; }
.gls-hero__tab.is-active .gls-hero__progress { animation: gls-hero-progress var(--gls-hero-delay, 5s) linear forwards; }
.gls-hero.is-paused .gls-hero__progress { animation-play-state: paused; }
.gls-hero__arrow { position: absolute; z-index: 5; top: 50%; width: 46px; height: 46px; padding: 0; transform: translateY(-50%); border: 0; border-radius: 50%; background: rgba(0,0,0,.42); color: #fff; font: 38px/42px Arial, sans-serif; cursor: pointer; }
.gls-hero__arrow--prev { left: 18px; }
.gls-hero__arrow--next { right: 18px; }
.gls-hero__arrow:hover, .gls-hero__arrow:focus { background: rgba(0,0,0,.72); outline: 2px solid #fff; }
.gls-hero__tab-title { display: block; }
.gls-hero--single .gls-hero__tabs, .gls-hero--single .gls-hero__arrow { display: none; }
.gls-hero-empty { padding: 18px; border: 1px dashed #b8c0cc; background: #fff8e5; }
@keyframes gls-hero-progress { from { width: 0; } to { width: 100%; } }

@media (max-width: 680px) {
    .gls-hero { margin-bottom: 0 !important; }
    .gls-hero__slides { height: auto; min-height: 0; aspect-ratio: 4 / 5; }
    .gls-hero__content { left: 22px; right: 22px; bottom: 118px; width: auto; }
    .gls-hero__category { font-size: 15px; }
    .gls-hero__content h2 { margin-bottom: 16px; font-size: clamp(18px, 4vw, 24px); }
    .gls-hero__cta { padding: 12px 22px; font-size: 15px; }
    .gls-hero__tabs { right: 22px; bottom: 16px; left: 22px; display: flex; gap: 14px; overflow-x: auto; padding: 0 0 2px; }
    .gls-hero__tab { flex: 0 0 130px; width: 130px; min-width: 130px; min-height: 48px; padding-top: 10px; font-size: 12px; }
    .gls-hero__tab::before, .gls-hero__progress { height: 4px; }
    .gls-hero__arrow { top: 50%; width: 38px; height: 38px; font-size: 30px; line-height: 34px; }
    .gls-hero__arrow--prev { left: 8px; }
    .gls-hero__arrow--next { right: 8px; }
}

@media (prefers-reduced-motion: reduce) {
    .gls-hero__slide { transition: none; }
    .gls-hero__progress { animation: none !important; }
}
