/* Google logo and search stay centered as a single block. */
.agp-shell {
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    padding: 0;
}

.agp-hero {
    position: static;
}

.agp-search-center {
    position: fixed;
    z-index: 5;
    top: var(--agp-center-y, 47%);
    left: 50%;
    width: min(640px, calc(100% - 32px));
    transform: translate(-50%, -50%);
}

.agp-search-center .agp-logo {
    margin: 0 auto 34px;
}

.agp-quick-links {
    position: fixed;
    z-index: 5;
    top: calc(var(--agp-center-y, 47%) + 92px);
    left: 50%;
    width: min(640px, calc(100% - 32px));
    margin: 30px 0 0;
    transform: translateX(-50%);
}

/* Classic placement: Personal Services stays in the upper-right corner. */
.agp-services {
    position: fixed;
    z-index: 20;
    top: 22px;
    right: 22px;
    width: min(420px, calc(100% - 32px));
    margin: 0;
}

.agp-menu-button {
    width: auto;
    min-width: 245px;
    margin-left: auto;
}

.agp-menu {
    width: 100%;
    max-height: calc(100vh - 102px);
    max-height: calc(100dvh - 102px);
    overflow: auto;
}

@media (max-width: 700px) {
    .agp-quick-links {
        top: calc(var(--agp-center-y, 47%) + 90px);
    }

    .agp-services {
        top: 12px;
        right: 12px;
        width: calc(100% - 24px);
    }

    .agp-menu-button {
        width: auto;
        min-width: 0;
        max-width: 100%;
        min-height: 50px;
        padding: 0 15px;
    }

    .agp-menu {
        margin-left: auto;
    }

    .agp-ip {
        position: fixed;
        left: 12px;
        bottom: 12px;
        margin: 0;
    }
}

@media (max-height: 620px) {
    .agp-search-center .agp-logo {
        width: 180px;
        margin-bottom: 20px;
    }

    .agp-quick-links {
        top: calc(var(--agp-center-y, 47%) + 65px);
        margin-top: 20px;
    }

    .agp-icon {
        width: 48px;
        height: 48px;
    }
}
