/* --- Tintsabo SloLuxeGuide --- */
/* File: tintsabo_064636.css */
/* Description: Core styles, CSS variables, resets, and global typography. */
/* Unique ID ($seed): 064636 */
/* --- */

/* ------------------------- */
/* 1. CSS Custom Properties (Variables) */
/* ------------------------- */
:root {
    /* Colors */
    --tintsabo-color-dark-bg: #1A1B26;
    --tintsabo-color-light-text: #F0F0F0;
    --tintsabo-color-primary-gold: #D4AF37;
    --tintsabo-color-secondary-gold: #E8C464;
    --tintsabo-color-muted-bg: #2A2D3A;
    --tintsabo-color-white: #FFFFFF;
    --tintsabo-color-black: #111111;
    --tintsabo-color-border: rgba(212, 175, 55, 0.2);
    --tintsabo-color-error: #e74c3c;
    --tintsabo-color-success: #2ecc71;
    --tintsabo-color-overlay: rgba(26, 27, 38, 0.7);

    /* Typography */
    --tintsabo-font-heading: 'Cinzel', serif;
    --tintsabo-font-body: 'Inter', sans-serif;

    /* Spacing */
    --tintsabo-spacing-xs: 0.25rem;  /* 4px */
    --tintsabo-spacing-sm: 0.5rem;   /* 8px */
    --tintsabo-spacing-md: 1rem;    /* 16px */
    --tintsabo-spacing-lg: 1.5rem;  /* 24px */
    --tintsabo-spacing-xl: 3rem;    /* 48px */
    --tintsabo-spacing-xxl: 5rem;   /* 80px */

    /* Misc */
    --tintsabo-border-radius: 8px;
    --tintsabo-box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    --tintsabo-transition: all 0.3s ease-in-out;
}

/* ------------------------- */
/* 2. Basic Reset & Global Styles */
/* ------------------------- */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body.tintsabo-body {
    font-family: var(--tintsabo-font-body);
    background-color: var(--tintsabo-color-dark-bg);
    color: var(--tintsabo-color-light-text);
    line-height: 1.6;
    overflow-x: hidden;
    user-select: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* To prevent body scroll when modals are open */
.tintsabo-body-no-scroll {
    overflow: hidden;
}

/* ------------------------- */
/* 3. Global Typography */
/* ------------------------- */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--tintsabo-font-heading);
    color: var(--tintsabo-color-primary-gold);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: var(--tintsabo-spacing-md);
}

.tintsabo-page-title {
    font-size: 3rem;
    text-align: center;
    margin-bottom: var(--tintsabo-spacing-sm);
}

.tintsabo-page-subtitle {
    font-size: 1.1rem;
    text-align: center;
    max-width: 700px;
    margin: 0 auto var(--tintsabo-spacing-xl) auto;
    color: var(--tintsabo-color-secondary-gold);
    opacity: 0.9;
}

.tintsabo-section-title {
    font-size: 2.5rem;
    margin-bottom: var(--tintsabo-spacing-lg);
}

.tintsabo-section-title-small {
     font-size: 1.75rem;
     margin-top: var(--tintsabo-spacing-lg);
     padding-bottom: var(--tintsabo-spacing-sm);
     border-bottom: 1px solid var(--tintsabo-color-border);
}

p {
    margin-bottom: var(--tintsabo-spacing-md);
    color: #cecece; /* Slightly dimmer than main text for better contrast */
}

a {
    color: var(--tintsabo-color-secondary-gold);
    text-decoration: none;
    transition: var(--tintsabo-transition);
}

a:hover {
    color: var(--tintsabo-color-white);
    text-decoration: underline;
}

ul, ol {
    padding-left: var(--tintsabo-spacing-md);
    margin-bottom: var(--tintsabo-spacing-md);
}

li {
    margin-bottom: var(--tintsabo-spacing-sm);
}

hr {
    border: 0;
    height: 1px;
    background-color: var(--tintsabo-color-border);
    margin: var(--tintsabo-spacing-xl) 0;
}

/* ------------------------- */
/* 4. Layout & Helpers */
/* ------------------------- */
.tintsabo-container {
    width: 90%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 15px;
}

.tintsabo-main-content {
    min-height: 70vh;
}

.tintsabo-static-page {
    padding-top: var(--tintsabo-spacing-xl);
    padding-bottom: var(--tintsabo-spacing-xl);
}

.tintsabo-content-section {
    padding-top: var(--tintsabo-spacing-xxl);
    padding-bottom: var(--tintsabo-spacing-xxl);
    border-bottom: 1px solid var(--tintsabo-color-border);
}

.tintsabo-content-section:last-child {
    border-bottom: none;
}

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

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

.mt-3 { margin-top: var(--tintsabo-spacing-md); }
.mt-5 { margin-top: var(--tintsabo-spacing-xl); }
.mb-4 { margin-bottom: var(--tintsabo-spacing-lg) !important; }