:root {
        --bg: hsl(0, 100%, 90%);
        --fg: #000;
        transition: all 0.4s ease;
    }
    body {
        position: relative;
        min-height: 100vh;
        font-family: 'Didact Gothic', sans-serif;
        text-align: center;
        padding: 2rem;
        background-color: var(--bg);
        color: var(--fg);
        transition: background-color 0.3s, color 0.3s;
        max-width: 100%;
        box-sizing: border-box;
        overflow-y: scroll;
    }

html, body {
        margin: 0;
        padding: 0;
        height: 100%;
        scrollbar-width: none;
}

 #home, #menu {
        margin-top: 0%;
        margin-left: 20%;
        margin-right: 20%;
        height: 100vh; /* Full viewport height */
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
}

#AM {
        margin-top: 5%;
        margin-left: 10%;
        margin-right: 10%;
        height: 100vh; /* Full viewport height */
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
}

#tt, #links, #stores, #P {
        height: 100vh;
        overflow-y: auto;
}

*::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

    h1 {
        font-size: 2rem;
        margin-bottom: 1rem;
    }

    h1cg {
        font-size: 2rem;
        margin-bottom: 1rem;
        font-family: 'Lora', serif;
    }

    h2 {
        font-size: 1.5rem;
        margin-bottom: 1.5rem;
    }

    p {
        font-size: 1.2rem;
        margin-bottom: 2rem;
    }

    a {
          text-decoration: none;
          color: inherit;              
    }

    @media (max-width: 100vw) {
        body {
            padding: 1rem 0.5rem;
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        .color-ring img {
            width: 60vmin;
            height: 60vmin;
        }
    }

    .profile-photo {
        width: 65vmin;
        height: 65vmin;
        border-radius: 50%;
        object-fit: cover;
        margin: 1rem auto;
        display: block;
        border: 2px solid var(--fg);
        z-index: 3;
    }

    .ring-container {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 62vmin;
        height: 62vmin;
        margin: 2rem auto;
        z-index: 3;
    }

    .color-ring {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        border-radius: 50%;
        background: conic-gradient(
            hsl(0, 100%, 50%),
            hsl(60, 100%, 50%),
            hsl(120, 100%, 50%),
            hsl(180, 100%, 50%),
            hsl(240, 100%, 50%),
            hsl(300, 100%, 50%),
            hsl(360, 100%, 50%)
        );
        z-index: 1;
        width: 60vmin;
        height: 60vmin;
    }

    .value-ring {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background: conic-gradient(
            from 0deg,
            hsl(0, 0%, 0%),
            hsl(0, 0%, 100%)
        );
        z-index: 2;
        width: 50vmin;
        height: 50vmin;
    }

    .color-ring-inner {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        border-radius: 50%;
        background: transparent;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 3; /* Ensure it's on top */
        transition: transform 0.3s ease;
        pointer-events: auto;
        width: 60vmin;
        height: 60vmin;
    }

    .ring-container:hover .color-ring-inner {
        transform: translate(-50%, -50%) scale(0.65);
    }

    .color-ring img {
        width: 60vmin;
        height: 60vmin;
        border-radius: 50%;
        object-fit: cover;
    }
    .color-ring-inner img {
          width: 100%;
          height: 100%;
          border-radius: 50%;
          object-fit: cover;
          display: block;
    }

    .ring-knob {
        background: transparent;
        border: none;
        box-shadow: none;
        z-index: 2;
    }

    .link-icon {
        display: inline-block;
        text-align: center;
        margin: 1rem;
        background-color: transparent;
        padding: 0;
    }

    .link-icon img {
        height: 50vmin;
        transition: transform 0.3s;
        border-radius: 50%;
        background-color: transparent;
    }

    .link-icon .label {
        display: block;
        background-color: var(--fg);
        color: var(--bg);
        padding: 0.4rem 0.8rem;
        margin-top: 0.5rem;
        border-radius: 8px;
        font-size: 0.9rem;
        visibility: hidden;
        opacity: 0;
        transition: opacity 0.3s, visibility 0.3s;
        height: 0;
    }

    .link-icon:hover .label {
        visibility: visible;
        opacity: 1;
        height: auto;
        overflow: visible;
    }

#P img {
  object-fit: contain;
  max-height: 80vmin;
  max-width: 100%;
  width: auto; 
  height: auto;
}

.image-container {
    position: relative; /* Allows overlay to be positioned absolutely inside it */
    cursor: pointer;
    display: inline-block; /* Essential to wrap tightly around the image */
}

.image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: black;
    opacity: 0; /* Starts hidden */
    transition: opacity 0.3s ease;
    pointer-events: none; /* Allows clicks to pass through to the image */
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}

.image-container.active .image-overlay {
    opacity: 0.8; /* 80% opacity */
    pointer-events: auto; /* Re-enable pointer events to capture second click */
}

.overlay-text {
    color: white;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    padding: 20px;
    opacity: 0; /* Starts hidden */
    transition: opacity 0.3s ease;
}

.image-container.active .overlay-text {
    opacity: 1; 
}
