/* ============================================================
   Testoria Landing — global stylesheet
   Design tokens, reset, typography, base button styles.
   Values are taken from the Figma design (Web-Landing Page).
   ============================================================ */

:root {
    /* Brand colours (from Figma) */
    --color-blue: #4b9fff;
    --color-blue-hover: #3a8ae8;
    --color-orange: #ff6951;
    --color-yellow: #fcaf2a;
    --color-green: #1ccd9d;

    /* Text */
    --color-text: #151d26;
    --color-text-muted: #53596b;
    --color-text-subtle: #8693a8;

    /* Surfaces */
    --color-bg: #ffffff;
    --color-bg-soft: #f4f6fa;
    --color-card: #ffffff;
    --color-border: rgba(21, 29, 38, 0.08);

    /* Typography */
    --font-display: "Montserrat Alternates", "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-body: "Mulish", "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

    /* Layout (Figma uses 1920 canvas, 80px outer padding, 1760 content) */
    --container-max: 1760px;
    --content-padding-x: 80px;
    --section-gap: 40px;
    --section-padding-y: 60px;

    /* Radii */
    --radius-card: 64px;
    --radius-card-md: 40px;
    --radius-btn: 12px;
    --radius-sm: 8px;

    /* Shadow */
    --shadow-card: 0 12px 32px rgba(21, 29, 38, 0.08);
}

/* ---------- reset ---------- */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    background-color: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

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

a {
    color: inherit;
    text-decoration: none;
    transition: color 0.15s ease, opacity 0.15s ease;
}

a:hover {
    opacity: 0.85;
}

button {
    font: inherit;
    cursor: pointer;
    border: none;
    background: none;
    color: inherit;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0 0 0.5em;
    font-family: var(--font-display);
    font-weight: 600;
    line-height: 1.2;
    color: var(--color-text);
}

p {
    margin: 0 0 1em;
}

ul, ol {
    margin: 0 0 1em;
    padding-left: 1.5em;
}

ul li,
ol li {
    margin-bottom: 0.25em;
}

/* ---------- shared layout primitives ---------- */
.page-main {
    display: flex;
    flex-direction: column;
    gap: var(--section-gap);
    padding: 0 0 var(--section-gap);
    min-height: 50vh;
}

.section {
    width: 100%;
}

.section__inner {
    max-width: calc(var(--container-max) + (var(--content-padding-x) * 2));
    margin: 0 auto;
    padding: 0 var(--content-padding-x);
}

/* ---------- buttons ---------- */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 24px;
    height: 48px;
    min-width: 162px;
    border-radius: var(--radius-btn);
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color 0.15s ease, transform 0.05s ease,
                color 0.15s ease, box-shadow 0.15s ease;
    cursor: pointer;
    user-select: none;
    box-sizing: border-box;
}

.btn:hover {
    opacity: 1;
}

.btn:active {
    transform: translateY(1px);
}

.btn--primary {
    background-color: var(--color-blue);
    color: #ffffff;
}

.btn--primary:hover {
    background-color: var(--color-blue-hover);
    color: #ffffff;
}

.btn--light {
    background-color: #ffffff;
    color: var(--color-text);
}

.btn--light:hover {
    background-color: #f4f6fa;
    color: var(--color-text);
}

.btn--store {
    background-color: #ffffff;
    color: var(--color-text);
}

.btn--store:hover {
    background-color: #f4f6fa;
}

.btn--store img {
    flex-shrink: 0;
}

@media (max-width: 1024px) {
    :root {
        --content-padding-x: 32px;
        --section-gap: 24px;
    }
}

@media (max-width: 600px) {
    :root {
        --content-padding-x: 16px;
        --radius-card: 32px;
        --radius-card-md: 24px;
    }
}
