/* =========================================================================
   Nordic Beauty Solutions – brand-lag oven på Kadence
   Identitet efter logoet: guld på elfenben/hvid, sort tekst, tynde guldlinjer.
   Palet: elfenben #FBF8F2 · sand #F3EDE1 · hør #E9DFC9 · champagne #D9C48A
          guld #B18F3A · mørk guld #8C6D2F · sort #1F1B13 · brun #6B5F49
   ========================================================================= */

:root {
	--nbs-ivory: #FBF8F2;
	--nbs-sand: #F3EDE1;
	--nbs-linen: #E9DFC9;
	--nbs-champagne: #D9C48A;
	--nbs-gold: #B18F3A;
	--nbs-gold-deep: #8C6D2F;
	--nbs-black: #1F1B13;
	--nbs-soft-brown: #6B5F49;
	--nbs-gold-sheen: linear-gradient(120deg, #8C6D2F 0%, #C7A64B 50%, #8C6D2F 100%);
	--nbs-ease: cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* ---- Typografi ------------------------------------------------------- */
h1, h2, h3, h4 {
	font-family: "Cormorant Garamond", "Times New Roman", serif;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: var(--nbs-black);
}

body {
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	color: var(--nbs-black);
	background-color: var(--nbs-ivory);
}

/* Diskret "eyebrow"-label over overskrifter – med tynde guldlinjer som i logoet */
.nbs-eyebrow {
	font-family: "Jost", sans-serif;
	font-size: 0.8125rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--nbs-gold-deep);
}

.nbs-eyebrow.has-text-align-center::before,
.nbs-eyebrow.has-text-align-center::after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 2.2rem;
	height: 1px;
	background: var(--nbs-champagne);
	margin: 0 0.8rem;
}

/* ---- Knapper ---------------------------------------------------------- */
.wp-block-button__link,
.button, button[type="submit"] {
	border-radius: 999px;
	padding: 0.9em 2.2em;
	letter-spacing: 0.06em;
	background: var(--nbs-black);
	color: var(--nbs-champagne);
	transition: transform 0.45s var(--nbs-ease), box-shadow 0.45s var(--nbs-ease), color 0.45s var(--nbs-ease);
}

.wp-block-button__link:hover,
.button:hover {
	transform: translateY(-2px);
	color: #FFFFFF;
	box-shadow: 0 10px 30px -12px rgba(31, 27, 19, 0.45);
}

/* Sekundær "ghost"-knap med guldkant */
.is-style-outline .wp-block-button__link {
	border: 1px solid var(--nbs-gold);
	color: var(--nbs-black);
	background: transparent;
}

/* ---- Billeder & kort -------------------------------------------------- */
.wp-block-image img,
.nbs-card {
	border-radius: 14px;
}

.nbs-card {
	background: #FFFFFF;
	border: 1px solid var(--nbs-linen);
	border-top: 2px solid var(--nbs-champagne);
	box-shadow: 0 6px 24px -18px rgba(31, 27, 19, 0.25);
	transition: transform 0.5s var(--nbs-ease), box-shadow 0.5s var(--nbs-ease);
}

.nbs-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px -20px rgba(31, 27, 19, 0.3);
}

/* ---- Bløde ind-toninger (respekterer reduced motion) ------------------ */
@media (prefers-reduced-motion: no-preference) {
	.nbs-fade {
		opacity: 0;
		transform: translateY(14px);
		animation: nbs-fade-in 0.9s var(--nbs-ease) forwards;
	}
	@keyframes nbs-fade-in {
		to { opacity: 1; transform: none; }
	}
}

/* ---- FAQ (core/details) ---------------------------------------------- */
.wp-block-details {
	border-bottom: 1px solid var(--nbs-linen);
	padding: 1.1rem 0;
}

.wp-block-details summary {
	font-family: "Cormorant Garamond", serif;
	font-size: 1.35rem;
	cursor: pointer;
	list-style: none;
	position: relative;
	padding-right: 2rem;
}

.wp-block-details summary::after {
	content: "+";
	position: absolute;
	right: 0.25rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--nbs-gold);
	font-size: 1.5rem;
	transition: transform 0.35s var(--nbs-ease);
}

.wp-block-details[open] summary::after {
	transform: translateY(-50%) rotate(45deg);
}

/* ---- Bookingwidget: brandet ramme om GeckoBooking --------------------- */
.nbs-booking-wrap {
	background: #FFFFFF;
	border: 1px solid var(--nbs-linen);
	border-top: 2px solid var(--nbs-gold);
	border-radius: 18px;
	padding: 0.75rem;
	box-shadow: 0 20px 50px -30px rgba(31, 27, 19, 0.35);
	overflow: hidden;
}

.nbs-booking-frame {
	width: 100%;
	min-height: 720px;
	border: 0;
	border-radius: 12px;
	background: var(--nbs-ivory);
}

.nbs-booking-placeholder {
	padding: 3rem 2rem;
	text-align: center;
	color: var(--nbs-soft-brown);
}

/* ---- Tabeller (prisliste) --------------------------------------------- */
.wp-block-table table {
	border-collapse: collapse;
	width: 100%;
	font-variant-numeric: tabular-nums;
}

.wp-block-table th {
	font-family: "Jost", sans-serif;
	font-size: 0.8125rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--nbs-soft-brown);
	border-bottom: 2px solid var(--nbs-champagne);
	text-align: left;
	padding: 0.75rem 0.5rem;
}

.wp-block-table td {
	border-bottom: 1px solid var(--nbs-linen);
	padding: 0.9rem 0.5rem;
}

/* ---- Tilgængelighed --------------------------------------------------- */
:focus-visible {
	outline: 2px solid var(--nbs-gold-deep);
	outline-offset: 3px;
	border-radius: 4px;
}

/* Sørg for læsbar kontrast på lyse baggrunde */
.has-nbs-sand-background-color,
.has-nbs-linen-background-color {
	color: var(--nbs-black);
}
