/* static/css/style.css */
/* Zjednodušená verze pro statický web Sanamentia. */

/* === Načtení vlastních (self-hosted) fontů === */
@font-face {
    font-family: 'Trajan Pro';
    font-style: normal;
    font-weight: 400;
    src: local('Trajan Pro Regular'), local('TrajanPro-Regular'),
         url('../fonts/TrajanPro-Regular.ttf') format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Trajan Pro';
    font-style: normal;
    font-weight: 700;
    src: local('Trajan Pro Bold'), local('TrajanPro-Bold'),
         url('../fonts/TrajanPro-Bold.otf') format('opentype');
    font-display: swap;
}

/* === Import Google Fonts === */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700&family=Lora:ital,wght@0,400;0,700;1,400&display=swap');

/* === Definice CSS Proměnných (Custom Properties) === */
:root {
    /* --- Fonty --- */
    --font-heading: 'Trajan Pro', 'Cinzel', serif;
    --font-body: 'Lora', serif;
    --font-sans-fallback: 'Roboto', Arial, sans-serif;

    /* --- Barevné schéma --- */
    --color-background: #FAF7F2;
    --color-background-alt: #ffffff;
    --color-text: #4B5563;
    --color-text-strong: #1F2937;
    --color-primary: #8C2D25;
    --color-primary-darker: #73241D;
    --color-secondary: #B8860B;
    --color-nav-link-text: #5C3D1E;
    --color-nav-link-hover-text: var(--color-primary);
    --color-hero-overlay: rgba(250, 247, 242, 0.85);
    --color-border-light: #E5E7EB;
    --color-border-medium: #D1D5DB;
    --color-footer-bg: #E5E7EB;
    --color-footer-text: #4B5563;

    /* --- Rozměry a Odsazení --- */
    --main-header-height: 70px;

    /* --- Styly pro specifické komponenty --- */
    --color-header-bg: var(--color-background);
    --shadow-color: rgba(0, 0, 0, 0.06);
}

/* === Základní reset a globální styly pro elementy === */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-body);
    background-color: var(--color-background);
    color: var(--color-text-strong);
    line-height: 1.7;
    font-size: 16px;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

h1, h2, h3, h4, h5, h6,
.font-serif-display,
#main-header a.text-2xl,
.logo-initial-custom {
    font-family: var(--font-heading);
    color: var(--color-primary);
}
h1, h2, #main-header a.text-2xl, .font-serif-display { font-weight: 700; }
h3, h4, h5, h6 { font-weight: 400; }

h1 { font-size: 2.75rem; margin-bottom: 0.75em; }
h2 { font-size: 2rem; margin-bottom: 0.75em; margin-top: 2em; }
h3 { font-size: 1.5rem; margin-bottom: 0.5em; margin-top: 1.5em; }

p { margin-bottom: 1.25em; line-height: 1.75; }
a { color: var(--color-primary); text-decoration: none; transition: color 0.2s ease; }
a:hover { color: var(--color-primary-darker); text-decoration: underline; }
img { max-width: 100%; height: auto; }

.container {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}


/* === Hlavní Header (#main-header z base.html) === */
#main-header {
    background-color: var(--color-header-bg);
    position: sticky;
    top: 0;
    width: 100%;
    height: var(--main-header-height);
    z-index: 1000;
    box-shadow: 0 1px 3px var(--shadow-color);
    border-bottom: 1px solid var(--color-border-light);
}
#main-header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}
.logo-initial-custom {
    background-color: var(--color-secondary);
    color: var(--color-background);
    border-radius: 50%;
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700;
    font-size: 1.4rem;
    font-family: var(--font-heading);
}
#main-header a.text-2xl {
    font-size: 1.75rem;
    margin-left: 0.5rem;
}

.main-navigation-wrapper {
    display: flex;
    align-items: center;
    margin-left: auto;
    gap: 1rem;
}

/* Odkazy v hlavní navigaci */
.nav-link-custom {
    font-family: var(--font-sans-fallback);
    font-weight: 500;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-nav-link-text);
    opacity: 0.9;
    transition: color 0.2s ease, background-color 0.2s ease;
    text-decoration: none;
}
.nav-link-custom:hover,
.nav-link-custom.active-nav-link { /* 'active-nav-link' přidává JS pro aktivní odkaz */
    color: var(--color-nav-link-hover-text);
    background-color: rgba(0,0,0,0.03);
    text-decoration: none;
}


/* CTA tlačítko "Objednat se" */
a.btn-primary-custom {
    display: inline-block;
    background-color: var(--color-primary);
    color: var(--color-background, #FFFFFF) !important;
    padding: 0.625rem 1.25rem;
    border-radius: 0.5rem;
    font-family: var(--font-sans-fallback);
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    line-height: 1.25rem;
    text-align: center;
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
    text-decoration: none !important;
    border: none !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06);
}
a.btn-primary-custom:hover {
    background-color: var(--color-primary-darker);
    transform: translateY(-1px);
    box-shadow: 0 4px 6px rgba(0,0,0,0.1), 0 2px 4px rgba(0,0,0,0.06);
}


/* === Hero Sekce (úvodní sekce na hlavní stránce) === */
.roman-background {
    background-image: url("https://images.unsplash.com/photo-1589948199291-20901a00b489?q=80&w=1935&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D");
    background-size: cover; background-position: center; background-repeat: no-repeat;
    position: relative;
}
.roman-background::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background-color: var(--color-hero-overlay);
    z-index: 0;
}
.roman-background > * {
    position: relative;
    z-index: 1;
}
.hero-section {
    min-height: calc(90vh - var(--main-header-height));
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; padding: 5rem 1.5rem;
}

/* === Hlavní obsah stránky (<main id="main-content">) === */
main#main-content {
    flex-grow: 1; /* Zajistí, že main obsah zabere všechen dostupný prostor. */
    padding-top: var(--main-header-height); /* Výchozí odsazení pod hlavní header. */
}

/* === Patička (<footer>) === */
footer {
    background-color: var(--color-footer-bg);
    color: var(--color-footer-text);
    text-align: center;
    padding: 2rem 1.5rem;
    margin-top: auto;
    font-size: 0.875rem;
}
footer p { margin-bottom: 0.25rem; }
footer a { color: var(--color-secondary); }
footer a:hover { color: var(--color-primary); }


/* === Responzivita === */
@media (max-width: 768px) { /* md: Tailwind breakpoint */
    #main-header { height: 60px; }
    main#main-content { padding-top: 60px !important; }
}

@media (max-width: 480px) { /* Nejmenší obrazovky */
    a.btn-primary-custom { padding: 0.5rem 1rem !important; font-size: 0.8rem !important; }
    .hero-section { padding: 3rem 1rem; }
    h1 { font-size: 2rem; }
    h2 { font-size: 1.6rem; }
}