/*
 * Base Stylesheet Overview
 * ------------------------
 * This file contains global document-level rules that should load first:
 * - html/body defaults
 * - global page colors and line height
 * - browser scrollbar styling for page-level scroll
 *
 * Why this file exists:
 * Keeping these rules in one early file makes it easier for newer developers
 * to identify the true global defaults before looking at component-specific
 * styling in later files.
 */

/* ============================================ */
/*                 Base Styles                 */
/* ============================================ */

/* Global Font Family */

html{
    scroll-behavior:smooth;
    overflow-x: hidden;
}
body{
    background-color: #f8f8ff;
    font-weight: 400;
    font-size: 1.05rem;
    color: #1a1a1a;
    line-height: 1.3em;
    overflow-x: hidden;
    margin: 0;
}

/* Body scrollbar styles */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #dfdfef;
}

::-webkit-scrollbar-thumb {
    background-color: #bbbbdd;
    border-radius: 8px;
}

body {
    scrollbar-width: auto;
    scrollbar-color: #bbbbdd #dfdfef;
}

/*
 * Shared utility classes introduced in Phase 5
 * ---------------------------------------------
 * These classes replace repeated inline style attributes from template.html.
 * The goal is to keep rendering identical while moving styling decisions
 * into stylesheet files where they are easier to maintain and test.
 */

.portfolio-hero-background {
    background-color: #f8f8ff;
    background-image: linear-gradient(rgba(248, 248, 255, 0.52), rgba(248, 248, 255, 0.52)), url('../../Backgrounds/hero-bg.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
}

.portfolio-hero-section-spacing {
    position: relative;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 4rem !important;
    padding-bottom: 10rem !important;
}

.portfolio-layer-above-backdrop {
    position: relative;
    z-index: 1;
}

.portfolio-games-background {
    background-image: linear-gradient(rgba(248, 248, 255, 0.34), rgba(248, 248, 255, 0.34)), url('../../Backgrounds/games-bg.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.portfolio-case-and-role-background {
    background-image: linear-gradient(rgba(248, 248, 255, 0.2), rgba(248, 248, 255, 0.2)), url('../../Backgrounds/case-bg.svg');
    background-size: 50%;
    background-repeat: repeat;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.portfolio-case-studies-layout {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.portfolio-last-game-card {
    min-height: 100%;
}

.portfolio-last-game-image-container {
    padding-bottom: 2%;
    display: flex;
    gap: 10px;
    flex-direction: row;
}

.portfolio-zero-padding {
    padding: 0;
}

.portfolio-centered-no-margin {
    text-align: center;
    margin: 0;
}

.portfolio-platform-table-offset {
    transform: translateY(-8px);
}

.portfolio-text-center {
    text-align: center;
}

.portfolio-small-heading-padding-bottom {
    padding-bottom: 5px;
}

.portfolio-description-bottom-spacer {
    height: 2rem;
}

.portfolio-case-video-arrow-height {
    height: 25px !important;
}

.portfolio-case-note-hidden {
    display: none !important;
}

.portfolio-roles-note-margin-bottom {
    margin-bottom: 2rem;
}

.portfolio-role-game-title-hidden {
    display: none;
    margin-bottom: 0;
    transform: translateY(-5px);
    text-align: center;
}

.portfolio-role-title-spacing {
    margin-top: 0;
    margin-bottom: 30px;
}

.portfolio-inline-link-with-icon {
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.portfolio-inline-link-icon-small {
    width: 13.6px;
    height: 13.6px;
}

.portfolio-read-more-link-spacing {
    margin-top: 6px;
}

.portfolio-underlined-inline-text {
    text-decoration: underline;
}

.portfolio-coming-soon-inline-text {
    display: inline-block;
    margin-top: 6px;
    opacity: 0.5;
}
