/**
 * NSE global front-end rules (burgundy brand, buttons, radii).
 * Loaded after theme/Elementor so these act as a consistent baseline.
 *
 * @package Niche_Site_Engine
 */

:root {
	--nse-core-burgundy: #722f37;
	--nse-core-burgundy-dark: #5c262d;
	--nse-core-radius-md: 8px;
	--nse-core-radius-sm: 6px;
	--nse-core-btn-font-weight: 600;
}

/* Primary / accent buttons — align hover with burgundy brand */
.elementor-widget-button .elementor-button,
.elementor-widget-button .elementor-button-wrapper a.elementor-button,
a.elementor-button.elementor-size-md,
a.elementor-button.elementor-size-lg {
	border-radius: var(--nse-core-radius-md);
	font-weight: var(--nse-core-btn-font-weight);
}

.elementor-widget-button .elementor-button.elementor-button-link,
.elementor-widget-button .elementor-button.elementor-button-info {
	border-radius: var(--nse-core-radius-sm);
}

.elementor-widget-button .elementor-button:hover,
.elementor-widget-button .elementor-button:focus,
.elementor-widget-button .elementor-button:active {
	filter: brightness(0.95);
}

/* When theme uses global primary color, reinforce hover state for filled primaries */
.elementor-button.elementor-button-primary:hover,
.elementor-button.elementor-button-primary:focus {
	background-color: var(--nse-core-burgundy-dark);
	border-color: var(--nse-core-burgundy-dark);
}

/* Outline / ghost buttons on light backgrounds */
.elementor-button.elementor-button-default:hover {
	border-color: var(--nse-core-burgundy);
	color: var(--nse-core-burgundy);
}

/* Cards / images: consistent corner radius where NSE shortcodes render */
.nse-review-card,
.nse-contextual-reviews__card {
	border-radius: var(--nse-core-radius-md);
}

/* v34.22.1 — Business hours rendering.
   Two layouts share the same markup, scoped by modifier:
     • .nse-business-hours--table → location / service-area pages (loc_hours field).
     • .nse-business-hours--list  → footer + inline two-column lists (default of the
        nse-business-hours Elementor dynamic tag).
   Goal: zero borders, friendly padding, alternating row stripes for the table; pure
   inherited text on the list (footer must look like the rest of the footer copy). */

/* Table layout (location pages): no borders, padded cells, alternating zebra rows. */
.nse-business-hours.nse-business-hours--table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: transparent;
	box-shadow: none;
}

.nse-business-hours.nse-business-hours--table tbody tr {
	background: #ffffff;
	border: 0;
}

.nse-business-hours.nse-business-hours--table tbody tr:nth-child(even) {
	background: #f4f4f5;
}

.nse-business-hours.nse-business-hours--table th,
.nse-business-hours.nse-business-hours--table td {
	padding: 0.85rem 1.1rem;
	border: 0;
	background: transparent;
	box-shadow: none;
	text-align: left;
	vertical-align: middle;
}

.nse-business-hours.nse-business-hours--table th.nse-business-hours__day {
	width: 40%;
	font-weight: 600;
}

/* List layout (footer + sidebars): plain inherited text — no chrome whatsoever.
   Aggressive resets defeat theme / Elementor wrappers that otherwise paint each
   row as an empty white "card" block on dark footers (the dadstowingservicellc
   footer regression). */
.nse-business-hours.nse-business-hours--list,
.nse-business-hours.nse-business-hours--list .nse-business-hours__row,
.nse-business-hours.nse-business-hours--list .nse-business-hours__day,
.nse-business-hours.nse-business-hours--list .nse-business-hours__time {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow: none !important;
	color: inherit;
}

/* v34.22.3 — Force typography inheritance from the parent text-editor widget.
   Themes (Hello / Astra / Hello+) commonly inject `footer span { font-size: 1.25rem }`
   or similar high-specificity rules that win over Elementor's per-widget typography
   and blow up the day / time labels to 30–40px. Locking font-family / font-size /
   line-height to `inherit !important` on the hours block + every child element makes
   the widget's own typography settings always drive the rendering. Day stays bold
   via the explicit weight rule below; everything else inherits cleanly. */
.nse-business-hours,
.nse-business-hours .nse-business-hours__row,
.nse-business-hours .nse-business-hours__day,
.nse-business-hours .nse-business-hours__time,
.nse-business-hours th,
.nse-business-hours td {
	font-family: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
	font-style: inherit !important;
	letter-spacing: inherit !important;
	text-transform: inherit !important;
}

.nse-business-hours.nse-business-hours--list {
	display: block;
	margin: 0;
	padding: 0;
	line-height: 1.6;
}

.nse-business-hours.nse-business-hours--list .nse-business-hours__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	margin: 0;
	padding: 0.15rem 0;
	min-height: 0;
}

.nse-business-hours.nse-business-hours--list .nse-business-hours__day {
	font-weight: 600;
}

.nse-business-hours.nse-business-hours--list .nse-business-hours__time {
	white-space: nowrap;
}

/* Footer scope: belt-and-suspenders. Some themes/accessibility plugins add a
   background / min-height to direct children of text-editor widgets. Force the
   hours block back to plain inherited text inside any footer-typed container,
   regardless of which layout modifier was chosen. */
footer .nse-business-hours,
footer .nse-business-hours *,
[data-elementor-type="footer"] .nse-business-hours,
[data-elementor-type="footer"] .nse-business-hours *,
.elementor-location-footer .nse-business-hours,
.elementor-location-footer .nse-business-hours * {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow: none !important;
	min-height: 0 !important;
}

footer .elementor-widget-text-editor p:empty,
[data-elementor-type="footer"] .elementor-widget-text-editor p:empty,
.elementor-location-footer .elementor-widget-text-editor p:empty {
	display: none !important;
}
