/* Explain: Base styles, typography, and Google Translate overrides, ensuring proper text rendering and layout. */
* {
    box-sizing: border-box;
}

html {
    background: var(--background-color);
    color: var(--text-color);
    scroll-padding-top: 92px;
}

body {
    margin: 0;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 12% 18%, var(--terracotta-soft), transparent 26rem),
        radial-gradient(circle at 88% 8%, var(--sage-soft), transparent 24rem),
        var(--background-color);
    color: var(--text-color);
    font-family: var(--font-body);
    text-rendering: optimizeLegibility;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Adjustments for translated LTR languages */
html.translated-ltr .text-5xl,
html.translated-ltr .text-6xl,
html.translated-ltr .text-7xl {
    font-size: clamp(2rem, 5vw, 3rem) !important;
    line-height: 1.3 !important;
    letter-spacing: normal !important;
}

html.translated-ltr h1, 
html.translated-ltr h2, 
html.translated-ltr h3 {
    word-break: break-word;
    hyphens: auto;
    letter-spacing: normal !important;
}

button,
a,
select {
    cursor: pointer;
}

img {
    display: block;
    max-width: 100%;
}

::selection {
    background: var(--accent-color);
    color: #ffffff;
}

/* Google Translate Overrides */
#google_translate_element,
.goog-te-banner-frame,
.skiptranslate > iframe.goog-te-banner-frame {
    display: none !important;
}
body {
    top: 0 !important;
    position: static !important;
}
.goog-tooltip {
    display: none !important;
}
.goog-tooltip:hover {
    display: none !important;
}
.goog-text-highlight {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
