:root {
    --tixket-font-size: clamp(1rem, 0.94rem + 0.22vw, 1.125rem);
    --tixket-leading: 1.5;
    --tixket-space-1: clamp(0.5rem, 0.45rem + 0.25vw, 0.75rem);
    --tixket-space-2: clamp(0.75rem, 0.65rem + 0.5vw, 1.125rem);
    --tixket-space-3: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
}

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

body {
    font-size: var(--tixket-font-size);
    line-height: var(--tixket-leading);
}

h1, .tixket-heading-1 { font-size: clamp(1.953rem, 1.55rem + 1.6vw, 2.441rem); line-height: 1.2; }
h2, .tixket-heading-2 { font-size: clamp(1.563rem, 1.3rem + 1vw, 1.953rem); line-height: 1.25; }
h3, .tixket-heading-3 { font-size: clamp(1.25rem, 1.1rem + 0.65vw, 1.563rem); line-height: 1.3; }
h4, .tixket-heading-4 { font-size: clamp(1.125rem, 1.02rem + 0.35vw, 1.25rem); line-height: 1.35; }

.tixket-fluid-page {
    width: min(100%, 84rem);
    margin-inline: auto;
    padding: var(--tixket-space-2);
    box-sizing: border-box;
}

.tixket-fluid-page .k-button,
.tixket-fluid-page button,
.tixket-touch-target {
    min-height: 2.75rem;
    touch-action: manipulation;
}

@media (max-width: 600px) {
    .tixket-fluid-page { padding: var(--tixket-space-1); }
    .tixket-fluid-page .k-button, .tixket-fluid-page button { min-height: 3rem; }
}
