/*
Theme Name: GeneratePress Fluno Child Theme
Template: generatepress
Version: 1.0
*/

:root {
    --crimson: #8B1A1A;
    --crimson-light: #A52020;
    --crimson-dark: #6B1010;
    --crimson-text: #9b1b1f;
    --offwhite: #F9F6F1;
    --rule: #D0D0D0;
    --text: #2C2118;
    --muted: #888;
    --grey-text: #303d4a;
}

hr.wp-block-separator {
    border-top: 1px dashed #ccc;
}

/* Typography adjustments */
h1, h3, h4 {
    color: var(--crimson-text);
}
h1.entry-title {
    border-bottom: 3px solid var(--crimson-text);
}
h2, h5, h6 {
    color: var(--grey-text);
}
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6 {
    color: #fff;
}
.copyright-bar {
    font-size: 14px;
}

/* Main nav adjustments on desktop */
@media (min-width: 768px) {
    #menu-navbar {
        align-items: stretch;
        justify-content: center;
    }
    #menu-navbar > li > a {
        display: flex;
        align-items: center;
        line-height: 1.6em;
        text-align: center;
        max-width: 155px;
        padding: 15px;
        height: 100%;
    }
    #menu-navbar > li > a:hover,
    #menu-navbar > li > a:active {
        background-color: #990000;
        color: #fff;
    }
    .menu-item-has-children .dropdown-menu-toggle {
        padding-right: 0;
        height: unset;
    }
}

/* Tables */
table {
    width: 100%;
    border-collapse: collapse;
}

.wp-block-table thead {
    border-bottom: 1px solid;
}

thead tr th {
    background: var(--crimson);
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    padding: 10px 7px;
    text-align: center;
    border-color: rgba(255, 255, 255, 0.5);;
    border-right: 1px solid rgba(255, 255, 255, 0.5);
    white-space: nowrap;
}

thead tr th:first-child {
    text-align: left;
    padding-left: 12px;
    white-space: normal;
    min-width: 100px;
}

tbody tr {
    border-bottom: 1px solid var(--rule);
    transition: background 0.15s ease;
}

tbody tr:last-child { border-bottom: none; }

tbody tr:nth-child(even) { background: rgba(245,245,245,1); }

tbody tr:hover { background: rgba(139,26,26,0.08); }

tbody td {
    padding: 8px 7px;
    text-align: center;
    color: var(--text);
    border-color: var(--rule);
    border-right: 1px solid var(--rule);
}

/* Room capacities table */
.page-id-69 .wp-block-table {
    overflow-x: auto;
}
.page-id-69 table {
    width: 1000px !important;
    font-size: 0.85rem;
}
.page-id-69 thead tr th {
    letter-spacing: 0.04em;
}
.page-id-69 tbody td:first-child {
    text-align: left;
    padding-left: 12px;
    font-weight: 600;
    color: var(--crimson-dark);
    white-space: normal;
}
.page-id-69 .dash {
    color: #BDB0A0;
    font-size: 1rem;
}

/* Default button appearance */
.wp-block-button__link {
    border-radius: unset;
}
a.wp-block-button__link:not(.has-background) {
    background-color: var(--crimson-light);
    color: #fff;
}
a.wp-block-button__link:not(.has-background):hover,
a.wp-block-button__link:not(.has-background):active {
    background-color: var(--crimson-dark);
}

/* Footer buttons */
.footer-widgets-container .wp-block-button__link:not(.has-background) {
    background-color: #fff;
    color: var(--crimson-text);
}
.footer-widgets-container .wp-block-button__link:not(.has-background):hover,
.footer-widgets-container .wp-block-button__link:not(.has-background):active {
    background-color: #fff;
    color: var(--crimson-text);
    text-decoration: underline;
}

/* Booking form */
.booking-form-holder {
    background: #990000;
    width: 100%;
    color: #fff;
    text-align: center;
    font-size: 14px;
}
.booking-form-holder .pagewidth {
    color: #fff;
    text-decoration: none;
}
/* Remove default fieldset styling from booking form */
#resform fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0;
}
/* Keep legend available to screen readers while hiding visually */
#resform legend {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}
#resform .form-field {
    display: inline-flex;
    align-items: center;
    margin: 7px 0;
    margin-right: 15px;
}
#resform label {
    color: #fff;
    margin-right: 5px;
    white-space: nowrap;
    font-weight: bold;
}
#resform input,
#resform select {
    margin: 0;
    font-size: 14px;
}
#resform select {
    padding: 3px 5px;
}
#resform #DateIn {
    width: 100px;
    text-align: center;
}
#resform button[type="submit"] {
    background: #fff;
    color: #990000;
    border: 0;
    padding: 4px 12px;
    margin: 7px 0;
    cursor: pointer;
    font: inherit;
}
#resform button[type="submit"] span:after {
    content: " »";
}
#resform button[type="submit"]:hover,
#resform button[type="submit"]:focus {
    text-decoration: underline;
}

/* Featured images */
.featured-image {
    margin: 0 !important;
    max-height: 100px;
}
.featured-image img {
    width: 100%;
    position: relative;
    z-index: -1;
}

/* Add margin to bottom of blocks that don't already have it (YouTube embeds, Button blocks) */
.wp-block-embed,
.wp-block-buttons {
    margin-bottom: 1.5em; /* Same margin as paragraphs */
}

/* Homepage styles */
.home .site-main {
    margin-top: 0;
    margin-bottom: 0;
}
.home .inside-article {
    padding-top: 0;
}
.home h1 {
    margin-top: 40px;
}

/* Footer: Shorter max width because we don't have much content there */
.footer-widgets-container {
    max-width: 1000px;
}
