/* ==========================================================================
   Öppettider – Frontend-stilar
   Medvetet minimala så att temats egna färger och typografi dominerar.
   ========================================================================== */

/* --------------------------------------------------------------------------
   [oppettider_status] – Header live-status
   -------------------------------------------------------------------------- */

.oppettider-status {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	font-size: inherit;
	line-height: 1.4;
}

.oppettider-status__dot {
	display: inline-block;
	width: 0.6em;
	height: 0.6em;
	border-radius: 50%;
	flex-shrink: 0;
}

/* Öppet → grön prick */
.oppettider-status--open .oppettider-status__dot {
	background-color: #2e9e4f;
	box-shadow: 0 0 0 2px rgba(46, 158, 79, 0.25);
}

/* Lunchstängt → orange prick */
.oppettider-status--lunch .oppettider-status__dot {
	background-color: #d97706;
	box-shadow: 0 0 0 2px rgba(217, 119, 6, 0.25);
}

/* Stängt → röd prick */
.oppettider-status--closed .oppettider-status__dot {
	background-color: #dc2626;
	box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.2);
}

/* --------------------------------------------------------------------------
   [oppettider_schema] – Sidfotens kompakta lista
   -------------------------------------------------------------------------- */

.oppettider-schema {
	display: flex;
	flex-direction: column;
	gap: 0.2em;
	font-size: inherit;
}

.oppettider-schema__row {
	display: flex;
	align-items: baseline;
	gap: 0;
}

.oppettider-schema__days {
	white-space: nowrap;
	flex-shrink: 0;
}

.oppettider-schema__dots {
	flex: 1;
	border-bottom: 1px dotted currentColor;
	opacity: 0.4;
	margin: 0 5px;
	transform: translateY(-3px);
}

.oppettider-schema__hours {
	text-align: right;
	white-space: nowrap;
	flex-shrink: 0;
}

.oppettider-schema__lunch {
	font-size: 0.85em;
	opacity: 0.75;
	padding-left: 0.5em;
	margin-top: -0.1em;
	margin-bottom: 0.2em;
}

/* --------------------------------------------------------------------------
   [oppettider_vecka] – Detaljerad veckovy (Systembolaget-stil)
   -------------------------------------------------------------------------- */

.oppettider-vecka {
	display: flex;
	flex-direction: column;
	gap: 0;
	max-width: 360px;
}

.oppettider-vecka__list {
	display: flex;
	flex-direction: column;
}

.oppettider-vecka__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1em;
	padding: 0.45em 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

.oppettider-vecka__row:last-of-type {
	border-bottom: none;
}

/* Idag – fetstil */
.oppettider-vecka__row--today .oppettider-vecka__day,
.oppettider-vecka__row--today .oppettider-vecka__hours {
	font-weight: 600;
}

/* Dolda rader (Visa fler dagar) */
.oppettider-vecka__row--hidden {
	display: none;
}

.oppettider-vecka__day {
	flex: 1;
}

.oppettider-vecka__exception {
	font-style: italic;
	font-size: 0.82em;
	opacity: 0.7;
	margin-left: 0.3em;
}

.oppettider-vecka__hours {
	text-align: right;
	white-space: nowrap;
	flex-shrink: 0;
}

.oppettider-vecka__lunch {
	display: block;
	font-size: 0.8em;
	opacity: 0.65;
	margin-top: 0.1em;
}

/* Visa fler-knapp */
.oppettider-vecka__toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	margin-top: 0.75em;
	padding: 0.5em 1em;
	background: none;
	border: none;
	cursor: pointer;
	font-size: 0.9em;
	color: inherit;
	opacity: 0.75;
	transition: opacity 0.15s ease;
}

.oppettider-vecka__toggle:hover {
	opacity: 1;
}

.oppettider-vecka__toggle svg {
	transition: transform 0.2s ease;
}
