/* =============================================================================
   Rezidence 3 Dvory - base.css
   =============================================================================
   Sdilene CSS variables, reset a typography pro vsechny stranky.

   Linkovat ve <head> PRED inline <style> a pred 'style.css':

       <link rel="stylesheet" href="assets/css/base.css">
       <link rel="stylesheet" href="style.css">

   Pridano 2026-05-02 (Faze 6: extrakce sdileneho CSS).
   ============================================================================= */


/* CSS Custom Properties (variables) ----------------------------------------- */

:root {
    /* Brand colors */
    --color-primary: #B15536;
    --color-primary-dark: #B15536;

    /* Backgrounds */
    --color-background: #FFFFFF;
    --color-background-secondary: #F7F5F0;

    /* Text */
    --color-text-primary: #002B3C;
    --color-text-secondary: #4A4A4A;
    --color-text-light: #595959;

    /* UI */
    --color-footer: #333333;
    --color-footer-cta: #002B3C;
    --color-footer-bottom: #000000;
    --color-social-border: #EAE3E2;
    --color-success: #2E7D32;   /* status: volny */
    --color-reserved: #FF9800;  /* status: rezervovano */

    /* Typography */
    --font-heading: 'Playfair Display', Georgia, serif;
    --font-body: 'Montserrat', -apple-system, sans-serif;

    /* Animation */
    --transition: all 0.3s ease;
}


/* Universal reset ----------------------------------------------------------- */

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/* Base typography ----------------------------------------------------------- */

body {
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.6;
    color: var(--color-text-primary);
    background-color: #EAE3E2;
}

/* iOS zoom fix — font-size min. 16px na všech input prvcích zabraňuje automatickému zoomu na iOS */
input,
textarea,
select {
    font-size: 16px;
}

/* Accessible hidden — viditelné pro Google a čtečky, skryté vizuálně */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Fade-in animace — musí být v base.css (synchronní), protože components.css
   se načítá async a IntersectionObserver by jinak třídu 'visible' přidal dřív
   než CSS dorazí — sekce by zůstaly neviditelné (opacity:0) natrvalo. */
.fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}
