/* Native block wrappers retain the shared header's existing layout. */
.dose-site-header .wp-block-group,
.dose-site-header .wp-block-image,
.dose-site-header .wp-block-search,
.menu_expand .wp-block-group,
.menu_expand .wp-block-image,
.menu_expand .wp-block-search,
.menu_expand p { margin: 0; }
.dose-site-header .header_in { display: flex; flex-wrap: nowrap; justify-content: flex-start; gap: var(--wp--preset--spacing--32, 32px); }
.dose-site-header .header_in > * { flex-shrink: 0; }
.dose-site-header .group-header { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.dose-site-header .group-header > * { flex-shrink: 0; }
/* Flex gaps own row spacing; Core flow margins must not offset native children. */
.dose-site-header :is(.header_in, .group-header) > * { margin-block: 0; }
.dose-site-header .group-header > .dose-header__theme { margin-inline: 0; }
/* Size the toggle itself so flex reserves its painted width, including in drawers. */
.dose-site-header .dose-header__theme { transform: none; }
.dose-site-header .dose-header__theme .switch { display: flex; align-items: center; min-height: 48px; font-size: 1.4em; }
.dose-site-header .dose-header__theme .switch > .switch__icon { top: calc(50% - .375em); }
.dose-site-header .dose-header__theme .switch > :is(.switch__inner, .switch__inner-icons) { top: calc(50% - .5em); }
.dose-site-header .dose-account-menu__trigger { width: 48px; height: 48px; border: 0; border-radius: 8px; background: transparent; transition: background-color 150ms ease; }
.dose-site-header .dose-account-menu__trigger svg { width: 24px; height: 24px; }
.dose-site-header :is(.dose-account-menu__trigger,.hamburger):active { background: #ffffff30; }
.dose-site-header .dose-header__support { margin: 0; }
.dose-site-header .dose-header__support .btn_support { display: flex; gap: 8px; height: 48px; margin: 0; padding: 0 16px; border-radius: 0; white-space: nowrap; }
.dose-site-header .dose-header__support .btn_support::before { content: ""; flex: 0 0 18px; width: 18px; height: 18px; background: currentColor; mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cpath d="M12 21S3 15.5 3 8.5a5 5 0 0 1 9-3 5 5 0 0 1 9 3C21 15.5 12 21 12 21Z"/%3E%3C/svg%3E') center / contain no-repeat; transition: transform 160ms var(--wp--custom--theme-trans-timing, ease-out); }
.dose-site-header .dose-header__support .btn_support:focus-visible::before { transform: scale(1.12); }
.dose-site-header .dose-header__support .btn_support:active::before { transform: scale(.8); }
.dose-site-header .dose-header__support .btn_support.is-activating::before { animation: dose-support-pop 420ms var(--wp--custom--theme-trans-timing, ease-out); }
@keyframes dose-support-pop {
    0%, 100% { transform: scale(1); }
    30% { transform: scale(.75) rotate(-12deg); }
    65% { transform: scale(1.3) rotate(8deg); }
}
@media (hover: hover) and (pointer: fine) {
    .dose-site-header .dose-header__support .btn_support:hover::before { transform: scale(1.12); }
}
@media (prefers-reduced-motion: reduce) {
    .dose-site-header .dose-header__support .btn_support::before { animation: none !important; transition: none; transform: none !important; }
}
.dose-site-header .hamburger, .menu_expand .btn_close { padding: 0; border: 0; background: transparent; color: inherit; }
.dose-site-header .menu_expand .btn_close { z-index: 1; }
.dose-site-header .hamburger { line-height: 0; }
.dose-site-header .menu_expand { top: var(--wp-admin--admin-bar--height, 0px); height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px)); }
.dose-site-header .dose-featured-games { display: flex; align-items: center; gap: 8px; }
.dose-site-header .dose-header__game img { width: 112px; height: 60px; object-fit: contain; }
.dose-site-header .wp-block-navigation { color: inherit; }
.dose-site-header .navbar .wp-block-navigation__container { flex-wrap: nowrap; }
.dose-site-header .header_in .navbar .wp-block-navigation__container { gap: 24px; padding: 0; }
.dose-site-header .navbar, .dose-site-header .navbar a { color: #fff; }
.dose-site-header .header_in .navbar a { font-size: var(--wp--custom--header--navigation-font-size, 18px); }
.dose-site-header .social, .menu_expand .social { display: flex; gap: 16px; }
.dose-site-header .group-header > .social { gap: 8px; }
.social .dose-social-icon img { height: 20px; width: auto; }
.social .dose-social-icon a { height: 20px; }
.dose-header-search .wp-block-search__inside-wrapper { padding: 0; border: 0; gap: 0; }
.dose-header-search .wp-block-search__input { min-width: 0; width: 200px; padding: 8px 16px; border: 0; border-radius: 0; background: #fff; color: #171717; font: inherit; }
.dose-header-search .wp-block-search__button { margin: 0; padding: 8px; border: 0; border-radius: 0; background: #eee; color: #171717; }
.dose-header-search .wp-block-search__button svg { min-width: 20px; min-height: 20px; width: 20px; height: 20px; }
.menu_expand .wp-block-navigation { display: block; width: 100%; }
.menu_expand .wp-block-navigation__container { flex-direction: column; align-items: flex-start; padding: 0; gap: 16px; }
.menu_expand .menu_expand_list_sub .wp-block-navigation__container { gap: 8px; }
.menu_expand .logo_expand img { width: 120px; }
.menu_expand .wp-block-search { width: 100%; }
.menu_expand .menu_expand_in { gap: 24px; justify-content: flex-start; }
.menu_expand .menu_expand_in > * { flex-shrink: 0; }
/* Core navigation repeats the legacy list class on its wrapper and list. */
.dose-site-header .menu_expand .menu_expand_in .wp-block-navigation { margin: 0; }
.menu_expand .dose-drawer__theme { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding-top: 24px; border-top: 1px solid #ffffff40; color: #fff; }
.menu_expand a:focus-visible, .dose-site-header button:focus-visible, .dose-site-header input:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
/* Sliding decorative icons stay inside the toggle in both palettes. */
.dose-site-header .switch { overflow: clip; }
.dose-site-header .switch:has(input:focus-visible) { outline: 2px solid #fff; outline-offset: 4px; }
/* Readable during the first scroll; brand surface takes over below the header. */
.dose-site-header::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgb(8 14 64 / 92%), rgb(8 14 64 / 64%)); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); opacity: 0; transition: opacity 240ms ease !important; }
.dose-site-header.is-scrolled::before { opacity: 1; }
.dose-site-header.active::before { opacity: 0; }
/* Share one surface across the header and empty hero area on standard pages. */
:root { --dose-header-background: linear-gradient(268.05deg, #080e40 11.64%, #085dff 111.07%); }
.dose-site-header::after { background: var(--dose-header-background); }
:is(.dose-responsive, .editor-styles-wrapper) .wrapper:has(.policy_in, .dose-business, .dose-about, .dose-review-score, .review-practices-page, .dose-switch-theme-page, .dose-account-content):not(:has(.backdrop_img)) { background: var(--dose-header-background); }
/* Standard pages have no hero backdrop behind the white header controls. */
.dose-responsive .wrapper:has(.policy_in, .dose-business, .dose-about, .dose-review-score, .review-practices-page, .dose-switch-theme-page) .dose-site-header::after,
.editor-styles-wrapper .wrapper:has(.policy_in, .dose-business, .dose-about, .dose-review-score, .review-practices-page, .dose-switch-theme-page) .dose-site-header::after,
.dose-responsive .wrapper:has(.dose-account-content) .dose-site-header::after,
.editor-styles-wrapper .wrapper:has(.dose-account-content) .dose-site-header::after { opacity: 1; }
:is(.dose-responsive, .editor-styles-wrapper) .wrapper:has(.policy_in, .dose-business, .dose-about, .dose-review-score, .review-practices-page, .dose-switch-theme-page, .dose-account-content):not(:has(.backdrop_img)) .dose-site-header:not(.is-scrolled):not(.active)::after { opacity: 0; }
/* Reveal inside the viewport: translating a fixed drawer widens the page. */
.dose-site-header .menu_expand { width: min(360px, 100%); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; transform: none !important; clip-path: inset(0 0 0 100%); transition: clip-path .42s cubic-bezier(.22,1,.36,1), opacity .28s ease !important; }
.dose-site-header .menu_expand.active { clip-path: inset(0); }
.dose-site-header .menu_expand .menu_expand_in { height: auto; min-height: 100%; max-height: none; }
.menu_expand .wp-block-search__inside-wrapper { min-width: 0; }
.menu_expand .wp-block-search__input { flex: 1; width: 0; }
@media (prefers-reduced-motion: reduce) {
    .dose-site-header .menu_expand { transition: none !important; }
    .dose-site-header.revamp::before, .dose-site-header.revamp::after { transition: none !important; }
}
/* Keep every desktop control inside the row before the tablet menu takes over. */
@media (1200px <= width < 1536px) {
    .dose-site-header .header_in:has(> .dose-featured-games) { gap: 16px; }
    .dose-site-header .header_in:has(> .dose-featured-games) .navbar .wp-block-navigation__container { gap: 16px; }
    .dose-site-header .header_in:has(> .dose-featured-games) .group-header { gap: 8px; }
}
@media (1200px <= width < 1360px) {
    .dose-site-header .header_in { gap: var(--wp--preset--spacing--24, 24px); }
    .dose-site-header .header_in .navbar .wp-block-navigation__container { gap: 16px; }
    .dose-site-header .group-header { gap: 8px; }
    /* Game artwork takes this space; the same social links remain in the drawer. */
    .dose-site-header .header_in:has(> .dose-featured-games) .group-header > .social { display: none; }
}
@media (width < 1200px) {
    .dose-site-header .navbar { display: none; }
    .dose-site-header .header_in { align-items: center; height: auto; padding-block: 16px; }
    .dose-site-header .hamburger { display: block; }
    .dose-site-header .group-header { flex-direction: row; gap: 8px; align-items: center; justify-content: flex-end; }
    .dose-site-header .group-header > .dose-header__theme { display: none; }
    .dose-site-header .group-header > :is(.search, .dose-header-disclosure--search) { display: none; }
}
@media (width < 768px) {
    .dose-site-header .dose-header__support { display: none; }
    .dose-site-header .dose-header__game img { width: clamp(48px, 14vw, 64px); height: 40px; }
    .dose-site-header .header_in { flex-wrap: nowrap; padding-block: 16px; gap: 8px; }
    .dose-site-header .dose-featured-games { margin-left: auto; margin-right: 0; }
    .dose-site-header .logo_main, .dose-site-header .logo_main img { width: clamp(96px, 24vw, 120px); }
    .dose-site-header .group-header { flex: 0 0 auto; width: auto; min-width: 0; margin-left: 0; gap: 8px; }
    .dose-site-header .group-header > .dose-header__theme { margin-inline: 0; }
    .dose-site-header:has(.menu_expand.active) { z-index: 100000; }
    .dose-site-header .menu_expand { inset: 0; width: 100%; height: 100dvh; padding: 24px; }
    .dose-site-header .menu_expand .btn_close { top: 16px; right: 16px; display: grid; place-items: center; width: 48px; height: 48px; }
    .dose-site-header .menu_expand .btn_close img { width: 24px; height: 24px; }
    .dose-site-header .menu_expand .menu_expand_in { gap: 16px; }
    .dose-site-header .menu_expand .menu_expand_list .wp-block-navigation__container { gap: 8px; }
    .dose-site-header .menu_expand .menu_expand_list a { display: flex; align-items: center; min-height: 40px; font-size: 22px; line-height: 1.3; }
}
@media (768px <= width < 1200px) {
    .dose-site-header .header_in { gap: 32px; }
    .dose-site-header .dose-featured-games { order: 1; margin-left: auto; gap: 8px; }
    .dose-site-header .group-header { order: 2; margin-left: 0; flex-direction: row; align-items: center; gap: 16px; }
    .dose-site-header .hamburger { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; width: 48px; height: 48px; }
    .dose-site-header .hamburger .line { flex-shrink: 0; width: 36px; margin: 0; }
    .dose-site-header .dose-header-disclosure { position: relative; color: #fff; }
    .dose-header-disclosure > summary { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; list-style: none; cursor: pointer; }
    .dose-header-disclosure > summary::-webkit-details-marker { display: none; }
    .dose-header-disclosure > summary svg { width: 24px; height: 24px; fill: currentColor; }
    .dose-header-disclosure--social > summary svg { fill: none; }
    .dose-header-disclosure > summary:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
    .dose-header-disclosure[open] > summary { background: #ffffff20; }
    .dose-site-header .dose-header-disclosure > :is(.search, .social) { position: absolute; top: calc(100% + 8px); right: 0; z-index: 10; margin: 0; padding: 16px; background: #071d68; box-shadow: 0 8px 24px #0004; }
    .dose-site-header .dose-header-disclosure > .search { width: 320px; max-width: calc(100vw - 48px); box-sizing: border-box; }
    .dose-header-disclosure .search_bar, .dose-header-disclosure .dose-header-search { width: 100%; }
    .dose-site-header .dose-header-disclosure .wp-block-search__input { flex: 1; width: 0; height: 48px; padding: 8px 16px; }
    .dose-site-header .dose-header-disclosure .wp-block-search__button { position: static; transform: none; min-width: 48px; min-height: 48px; background: #eee; color: #171717; }
    .dose-site-header .dose-header-disclosure > .social { display: grid; grid-template-columns: repeat(3, 48px); gap: 8px; }
    .dose-header-disclosure .social .dose-social-icon a { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; }
    .dose-site-header .dose-header-disclosure .dose-social-icon img { width: 24px; height: 24px; object-fit: contain; }
}
/* Match native disclosure geometry before the tablet module wraps editable blocks. */
@media (768px <= width < 1200px) and (scripting: enabled) {
    .dose-site-header .group-header > :is(.search, .social) { width: 48px; height: 48px; overflow: hidden; }
}

/* Empty games are omitted on the frontend; controls still align to the row end. */
.dose-site-header .header_in:not(:has(> .dose-featured-games)) > .group-header { margin-left: auto; }

/* Compact the existing scroll state without changing the expanded header. */
.dose-site-header.revamp { transition: box-shadow 300ms cubic-bezier(.22,1,.36,1) !important; }
.dose-site-header.revamp::after { transition: opacity 300ms cubic-bezier(.22,1,.36,1) !important; }
.dose-site-header.revamp .header_in { transition: padding-block 300ms cubic-bezier(.22,1,.36,1) !important; }
.dose-site-header.revamp .group-header { transition: gap 300ms cubic-bezier(.22,1,.36,1) !important; }
.dose-site-header.revamp.active .header_in { padding-block: 8px; }
.dose-site-header.revamp.active .dose-header__game img { width: 90px; height: 48px; }
.dose-site-header.revamp.active .pacman { margin-top: -4px; }
.dose-site-header.revamp.active .pacman .dot_mask { height: 20px; background-size: 8px; }
.dose-site-header.revamp.active .pacman_body { width: 16px; height: 20px; }
.dose-site-header.revamp.active .pacman_body :is(.pacman_top, .pacman_bottom) { height: 8px; left: -2px; }
.dose-site-header.revamp.active .pacman_top { top: 2px; }
.dose-site-header.revamp.active .pacman_bottom { bottom: 2px; }
@media (width < 1200px) {
    .dose-site-header.revamp.active .group-header { gap: 8px; }
}
@media (width <= 767px) {
    .dose-site-header.revamp.active .dose-header__game img { width: clamp(48px, 14vw, 64px); height: 40px; }
    .dose-site-header.revamp.active .logo_main img { width: clamp(96px, 24vw, 120px); }
}

/* Compact menu glyph, with a full touch target. */
@media (width < 1200px) {
    .dose-site-header.revamp .hamburger { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 48px; height: 48px; gap: 8px; color: #fff; border: 0; border-radius: 8px; transition: background-color 150ms ease !important; }
    .dose-site-header.revamp .hamburger .line { position: static; width: 24px; height: 2px; margin: 0; border-radius: 2px; background: currentColor; }
    .dose-site-header.revamp .hamburger .line:nth-child(2) { display: none; }
    .dose-site-header.revamp .hamburger:hover { background: #ffffff20; }
}
.dose-site-header :is(.logo_main,.dose-header__game) a { display: block; }
.dose-site-header.revamp :is(.logo_main,.dose-header__game) img { transition: width 300ms cubic-bezier(.22,1,.36,1), height 300ms cubic-bezier(.22,1,.36,1), transform 250ms cubic-bezier(.22,1,.36,1), filter 250ms ease !important; }
@media (hover: hover) and (pointer: fine) {
    .dose-site-header .logo_main a:hover img { transform: translateY(-2px) scale(1.03); filter: drop-shadow(0 4px 8px #ffffff30); }
    .dose-site-header .dose-header__game a:hover img { transform: translateY(-2px) scale(1.06); filter: drop-shadow(0 4px 8px #085dff80); }
}
.dose-site-header :is(.logo_main,.dose-header__game) a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.dose-site-header :is(.logo_main,.dose-header__game) a:active img { transform: scale(.96); }
/* Native details retains click/keyboard behavior and animates both directions. */
.dose-site-header.revamp .header_in { z-index: 2; }
.dose-header-disclosure::details-content { opacity: 0; transform: translateY(-8px); transition: opacity 150ms ease, transform 150ms ease, content-visibility 150ms allow-discrete; }
.dose-header-disclosure[open]::details-content { opacity: 1; transform: none; transition-duration: 250ms; }
@starting-style {
    .dose-header-disclosure[open]::details-content { opacity: 0; transform: translateY(-8px); }
}
.dose-site-header .dose-header-disclosure > .social { border: 1px solid #ffffff30; border-radius: 12px; }
.dose-header-disclosure > .social::before { content: ""; position: absolute; inset: -8px 0 auto; height: 8px; }
@media (prefers-reduced-motion: reduce) {
    .dose-site-header .dose-account-menu__trigger { transition: none; }
    .dose-site-header.revamp, .dose-site-header.revamp .header_in, .dose-site-header.revamp .group-header { transition: none !important; }
    .dose-site-header.revamp::before, .dose-site-header.revamp::after { transition: none !important; }
    .dose-site-header.revamp :is(.logo_main,.dose-header__game) img, .dose-site-header.revamp .hamburger { transition: none !important; transform: none !important; }
    .dose-header-disclosure::details-content { transition: none; transform: none; }
}

/* Keep the page geometry intact; selection exposes editable drawer contents. */
.editor-styles-wrapper .dose-drawer-editor.menu_expand { position: fixed; right: 0; margin: 0; }
.editor-styles-wrapper .dose-drawer-editor:is(.is-selected, .has-child-selected) { clip-path: inset(0); opacity: 1; pointer-events: auto; }
.editor-styles-wrapper .dose-drawer-editor .menu_expand_in { opacity: 1; transform: none; }
.editor-styles-wrapper .dose-header-control-editor { display: flex; align-items: center; }
/* List View can select the empty games Group; only selection exposes its appender. */
.editor-styles-wrapper .dose-featured-games:not(:has([data-block])):not(.is-selected, .has-child-selected) { display: none; }
.editor-styles-wrapper :is(.dose-header-control-editor, .wp-block-dose-ad-slot):has(.dose-editor-empty):not(.is-selected, .has-child-selected) { display: none; }
.editor-styles-wrapper .dose-header-control-editor .components-placeholder { min-height: 48px; padding: 8px; font-size: 12px; }
.editor-styles-wrapper .dose-header-control-editor .components-placeholder__fieldset { margin: 0; }
@media (width >= 1200px) {
    .editor-styles-wrapper .wp-block-dose-menu-toggle { display: none; }
}
