/* =========================================================
   LAYOUT — GLOBAL CONTAINER
   ========================================================= */

/**
 * Main page container.
 * Prevents horizontal scrolling issues, especially on mobile devices.
 */
.container {
    max-width: 100%;
    overflow-x: hidden; /* Prevent horizontal scroll on mobile */
}


/* =========================================================
   COMPONENT — RESTAURANT INFO BLOCK (HEADER CONTENT)
   ========================================================= */

/**
 * Information panel displaying restaurant details
 * (name, address, contacts, working hours, etc.).
 * Centered and aligned with main content width.
 */
.info {
    width: 100%;
    max-width: 1200px;   /* Matches menu content width */
    margin: 40px auto 0; /* Center horizontally */

    padding: 10px;
    background-color: rgba(255, 255, 255, 0.8);

    overflow: hidden;
}

/**
 * Paragraph styling inside the info block.
 * Aligns icons with the first line of text.
 */
.info p {
    display: flex;
    align-items: flex-start;

    margin: 5px 0;
    color: rgba(0, 0, 0, 0.7);
}

/**
 * Icons displayed within info text lines.
 */
.info p i {
    margin-right: 10px;
    margin-top: 3px; /* Fine vertical alignment */

    color: #555;
}

/**
 * Inline text elements spacing inside info paragraphs.
 */
.info p span {
    margin-right: 15px;
}


/* =========================================================
   COMPONENT — CONTACT LINE (PHONE / WIFI / ETC.)
   ========================================================= */

/**
 * Horizontal layout for contact-related items.
 * Keeps elements aligned and evenly spaced.
 */
.contact-line {
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 8px; /* Equal spacing between elements */
}

/**
 * Individual contact item. Kept inline on desktop, stacked on mobile.
 */
.contact-item {
    min-width: 0;
    display: inline-flex;
    align-items: flex-start;
}

/**
 * Visual separator between contact items.
 */
.separator {
    margin: 0 6px;
    opacity: 0.6;
}


/* =========================================================
   RESPONSIVE — MOBILE ADJUSTMENTS
   ========================================================= */

/**
 * Adjusts info block layout and typography for tablets and phones.
 */
@media (max-width: 768px) {

    /**
     * Expands info block to full width on smaller screens.
     */
    .info {
        max-width: 100%;
        padding: 15px;
        margin-top: 45px;
    }

    /**
     * Reduces main heading size for mobile readability.
     */
    h1 {
        font-size: 30px;
    }

    /**
     * Ensures body text remains readable on small screens.
     */
    p {
        font-size: 16px;
    }

    /**
     * Stacks phone and Wi-Fi so long passwords do not split the desktop separator row.
     */
    .contact-line {
        flex-direction: column;
        gap: 6px;
    }

    /**
     * Separator is only meaningful in the horizontal desktop layout.
     */
    .contact-line .separator {
        display: none;
    }

    .contact-line .contact-item {
        width: 100%;
        overflow-wrap: anywhere;
    }
}
