:root {
    --vacayos-blue: #1463a5;
    --vacayos-blue-dark: #0c4678;
    --vacayos-sky: #eaf5ff;
    --vacayos-ink: #17212b;
    --vacayos-line: #d8e1ea;
    --vacayos-surface: #ffffff;
}

body.vacayos-app-shell .site-content > .ast-container,
body.vacayos-app-shell .site-content .ast-container,
body.vacayos-app-shell #content .ast-container {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

body.vacayos-app-shell #primary {
    width: 100%;
    max-width: 100%;
    margin: 0;
}

body.vacayos-app-shell .entry-header {
    width: min(1180px, calc(100% - 40px));
    margin: 32px auto 0;
}

.vacayos-portal-shell {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 28px 0 56px;
    color: var(--vacayos-ink);
}

.vacayos-portal-content {
    min-height: 240px;
}

.vacayos-portal-placeholder {
    padding: 24px;
    border: 1px solid var(--vacayos-line);
    border-left: 4px solid var(--vacayos-blue);
    border-radius: 6px;
    background: var(--vacayos-surface);
}

.vacayos-portal-placeholder h2 {
    margin: 0 0 8px;
    color: var(--vacayos-blue-dark);
    font-size: 1.35rem;
    letter-spacing: 0;
}

.vacayos-portal-admin-note {
    margin-top: 16px;
    padding: 12px;
    background: var(--vacayos-sky);
    color: var(--vacayos-blue-dark);
}

.vacayos-portal-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    border-radius: 6px;
    background: var(--vacayos-blue);
    color: #fff;
    text-decoration: none;
}

.vacayos-portal-button:hover,
.vacayos-portal-button:focus {
    background: var(--vacayos-blue-dark);
    color: #fff;
}

@media (max-width: 640px) {
    body.vacayos-app-shell .entry-header,
    .vacayos-portal-shell {
        width: min(100% - 24px, 1180px);
    }
}
