/*
Theme Name: Dine Child Theme
Theme URI: http://yoursite.com/
Description:
Author:
Author URI:
Template: dine
Version: 1.0
*/

/* START - Ninja Form Styling */

.nf-form-fields-required {
	margin-bottom: 10px;
}
.nf-after-form-content {
	display: block;
    float: left;
    width: 100%;
}

.ninja-forms-form-wrap input,
select {
    background-color: #eee;
    border: none;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    font-size: 16px;
    color: #999;
    padding: 10px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.ninja-forms-form-wrap select {
    width: 100% !important;
    height: 56px !important;
    border-radius: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    opacity: 1;
    border-radius: 0;
    line-height: 36px;
    font-size: 16px;
    letter-spacing: 2px;
    font-weight: 300;
    border: 0;
    background: #f0f0f0;
    font-family: Oswald, sans-serif;
    text-transform: uppercase;
    outline: none;
}

.ninja-forms-required-items {
    display: none;
}

textarea.ninja-forms-field {
	height: 56px !important;
    background-color: #eee;
    border: none;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    font-size: 16px;
    color: #999;
    padding: 10px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}


.ninja-forms-field {
    border: 1px solid !important;
}
input[type=button].ninja-forms-field {
	line-height: 1;
	width: 100% !important;
	height: 56px !important;
}
input[type=button].ninja-forms-field:hover {
	color: #000;
}


/* END - Divi Ninja Form Styling */

.am-events-filter {
	display:none;
}

.am-event-info .am-event-title + div.am-event-sub-info {
	display: none !important;
}

#openingHoursWrapper .dine-element-diamond {
	cursor:pointer;
}

.flatpickr-month .flatpickr-current-month .flatpickr-monthDropdown-months {
    opacity: 1;
    margin: auto;
    width: 100%;
}

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


.BookingBoxWrapper iframe {
	margin:0 auto;
}

/* Fix dine_menu in Elementor: dine-framework CSS applies margin:-2.5em -2em 0 to .dine-menu
   (designed for WPBakery with .dine-menu-wrapper{overflow:hidden} as clip container).
   In Elementor, dine-elementor.css correctly applies the margin to .dine-menu-grid instead.
   Cancel the conflicting framework margin and add overflow clip to contain the grid bleed. */
.elementor-widget-dine_menu .dine-menu {
    margin: 0;
    overflow: hidden;
}

/*
 * Sticky footer + footer layout overrides (disabled — revert to parent theme defaults)
 *
html {
	height: 100% !important;
}

body {
	min-height: 100vh !important;
	display: flex !important;
	flex-direction: column !important;
	margin: 0 !important;
}

html.admin-bar {
	margin-top: 0 !important;
}

html.admin-bar body {
	margin-top: 0 !important;
	min-height: calc(100vh - 32px) !important;
}

@media screen and (max-width: 782px) {
	html.admin-bar body {
		min-height: calc(100vh - 46px) !important;
	}
}

body #page {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: visible !important;
	width: 100% !important;
	max-width: 100% !important;
}

body #page #content {
	flex: 1 0 auto !important;
	min-width: 0 !important;
}

body #page footer.site-footer,
body #page #footer {
	flex-shrink: 0 !important;
	margin-top: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	position: relative !important;
	left: auto !important;
	right: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box !important;
}
*/

/* Elementor price tables — warm saloon vibe (espresso wood, burgundy, amber lantern glow) */
.elementor-widget-price-table {
    background: linear-gradient(165deg, rgba(32, 24, 18, 0.96) 0%, rgba(12, 9, 7, 0.98) 100%);
    box-sizing: border-box;
    max-width: 100%;
}

.elementor-widget-price-table .elementor-price-table {
    box-sizing: border-box;
    max-width: 100%;
}

.elementor-price-table__feature-inner {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px 6px 14px;
    background: rgba(48, 34, 26, 0.72);
    border: 1px solid rgba(201, 164, 92, 0.12);
    border-radius: 100px;
    margin-bottom: 6px;
    justify-content: flex-start;
    box-sizing: border-box;
}

.elementor-price-table__feature-inner > span {
    flex: 1;
    min-width: 0;
    line-height: 1.35;
    font-size: inherit;
    overflow-wrap: anywhere;
}

.elementor-price-table__heading {
    overflow-wrap: anywhere;
}

.elementor-price-table .elementor-price-table__price {
    justify-content: flex-start;
}

.elementor-price-table {
    padding: 20px;
    background: linear-gradient(165deg, rgba(38, 28, 20, 0.97) 0%, rgba(14, 10, 8, 0.99) 100%) !important;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.elementor-price-table__header {
    text-align: left;
}

.elementor-widget-price-table.gradient-border {
    position: relative;
}

/* Logo burgundy glow (#9B2222 / #A12D2D family) — reads clearly on dark wood background */
html body .elementor .gradient-border::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 4px;
    background: radial-gradient(
        circle at center,
        rgba(161, 45, 45, 0.98) 0%,
        rgba(139, 35, 35, 0.55) 35%,
        rgba(40, 18, 18, 0) 72%
    ) !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 20px;
    pointer-events: none;
    z-index: 2;
    box-shadow: 0 0 12px rgba(155, 34, 34, 0.35);
}

html body .elementor .gradient-border::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 2px;
    background: radial-gradient(
        circle at center,
        rgba(155, 34, 34, 0.85) 0%,
        rgba(120, 28, 28, 0.4) 40%,
        rgba(30, 12, 12, 0) 75%
    ) !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 20px;
    pointer-events: none;
    z-index: 2;
    box-shadow: 0 0 8px rgba(139, 35, 35, 0.28);
}

.elementor-widget-price-table.gradient-border .elementor-price-table {
    background: linear-gradient(165deg, rgba(38, 28, 20, 0.97) 0%, rgba(14, 10, 8, 0.99) 100%) !important;
    border: 1px solid rgba(110, 38, 38, 0.35) !important;
    box-shadow:
        0 0 0 1px rgba(201, 164, 92, 0.06) inset,
        0 8px 24px rgba(0, 0, 0, 0.45),
        0 2px 8px rgba(60, 20, 20, 0.25);
}

.elementor-widget-price-table .elementor-widget-container {
    height: 100%;
    overflow: hidden;
    border-radius: 12px;
    background: linear-gradient(165deg, rgba(32, 24, 18, 0.96) 0%, rgba(12, 9, 7, 0.98) 100%);
}

.elementor-price-table__features-list {
    margin-bottom: 0;
}

.elementor-price-table__features-list li:last-child .elementor-price-table__feature-inner {
    margin-bottom: 0;
}

.elementor-widget-price-table.gradient-border .elementor-price-table,
.elementor-widget-price-table.gradient-border .elementor-price-table__heading,
.elementor-widget-price-table.gradient-border .elementor-price-table__price,
.elementor-widget-price-table.gradient-border .elementor-price-table__price *,
.elementor-widget-price-table.gradient-border .elementor-price-table__features-list,
.elementor-widget-price-table.gradient-border .elementor-price-table__features-list *,
.elementor-widget-price-table.gradient-border .elementor-price-table__subtitle {
    color: #fff !important;
}

.elementor-widget-price-table .elementor-price-table__feature-inner svg {
    fill: #c9a45c;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    max-width: 16px;
    max-height: 16px;
    margin-top: 0;
    display: block;
}

@media (max-width: 767px) {
    .elementor-price-table__feature-inner {
        padding: 6px 14px 6px 16px;
        gap: 7px;
        margin-bottom: 5px;
    }

    .elementor-widget-price-table .elementor-price-table__feature-inner svg {
        width: 15px;
        height: 15px;
        max-width: 15px;
        max-height: 15px;
    }
}

/* Selskabsmenuer: Frokost row (two price tables in boxed flex row) — Elementor sets --flex-direction:row;
   .e-con-inner uses flex-direction:var(--flex-direction); --flex-wrap-mobile is unreliable in div blocks.
   Use max-width 1024px to match Elementor tablet breakpoint (not only phone). */
@media (max-width: 1024px) {
    .elementor-25072 .elementor-element.elementor-element-aa3e24a.e-con {
        --flex-direction: column !important;
        min-width: 0 !important;
        max-width: 100% !important;
        --flex-shrink: 1;
    }

    .elementor-25072 .elementor-element.elementor-element-aa3e24a.e-con > .e-con-inner {
        flex-direction: column !important;
        --flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        row-gap: 1rem;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .elementor-25072 .elementor-element.elementor-element-aa3e24a .e-con-inner > .elementor-element {
        width: 100% !important;
        max-width: 100% !important;
        flex-grow: 0 !important;
        flex-shrink: 1 !important;
        min-width: 0 !important;
        --flex-shrink: 1;
    }

    /* Same --flex-shrink: 0 from Elementor on all price tables on this page (Frokost, Aften, etc.) */
    .elementor-25072 .elementor-widget-price-table.elementor-element {
        flex-shrink: 1 !important;
        min-width: 0 !important;
        max-width: 100% !important;
        --flex-shrink: 1;
    }

    .elementor-25072 .elementor-element.elementor-element-6a3b1e6.e-div-block-base {
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }
}

/* Dine classic footer: three columns sit in a flex row (.footer-sidebar-wrapper). Flex items use
   min-width:auto by default, so each .footer-col can grow to its content min-width — the row then
   exceeds the screen and the helligdage note (and neighbours) drift off-canvas. The wrapper’s
   margin:0 -30px also bleeds past .container and adds horizontal scroll. */
#footer-sidebar > .container {
    overflow-x: hidden;
}

.footer-sidebar-wrapper .footer-col {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

#footer-sidebar .textwidget,
#footer-sidebar .textwidget p,
#footer-sidebar .custom-html-widget {
    overflow-wrap: anywhere;
}

/* Åbningstider / Opening hours (footer Custom HTML): narrow column centered; list left-aligned */
#footer-sidebar #custom_html-1 .textwidget,
#footer-sidebar #custom_html-2 .textwidget,
#footer-sidebar #custom_html-1 .rio-footer-opening-hours,
#footer-sidebar #custom_html-2 .rio-footer-opening-hours {
    max-width: 22rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

#footer-sidebar #custom_html-1 ul,
#footer-sidebar #custom_html-1 .rio-footer-hours,
#footer-sidebar #custom_html-2 ul,
#footer-sidebar #custom_html-2 .rio-footer-hours {
    display: inline-block;
    margin-top: 10px;
    margin-bottom: 0;
    padding-left: 1.25em;
    text-align: left;
    list-style-position: outside;
    line-height: 1.8;
    vertical-align: top;
}

#footer-sidebar #custom_html-1 .rio-footer-note,
#footer-sidebar #custom_html-1 .textwidget > p,
#footer-sidebar #custom_html-2 .rio-footer-note,
#footer-sidebar #custom_html-2 .textwidget > p {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.5;
    opacity: 0.7;
    text-align: center !important;
}

#footer-sidebar #custom_html-1 .rio-footer-note:first-of-type,
#footer-sidebar #custom_html-1 ul + p,
#footer-sidebar #custom_html-2 .rio-footer-note:first-of-type,
#footer-sidebar #custom_html-2 ul + p {
    margin-top: 10px;
}

