/* NARI theme — component styles that go beyond what theme.json can express. */

body {
	position: relative;
}
body::before {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	opacity: 0.045;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.nari-header {
	position: sticky;
	top: 0;
	z-index: 30;
	border-bottom: 1px solid rgba(32, 28, 24, 0.1);
}

.nari-hero-photo img {
	box-shadow: 0 30px 60px -28px rgba(32, 28, 24, 0.35);
}

/* ---------- Room Service form ---------- */
.nari-room-form {
	max-width: 460px;
	margin: 32px auto 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.nari-room-form__row {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
.nari-room-form__field {
	flex: 1 1 180px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.nari-room-form__field label {
	font-family: 'Lora', ui-serif, Georgia, serif;
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: 0.85;
}
.nari-room-form__field select,
.nari-room-form__field input {
	font-family: 'Lora', ui-serif, Georgia, serif;
	font-size: 1rem;
	padding: 12px 14px;
	border-radius: 2px;
	border: 1.5px solid rgba(251, 243, 234, 0.4);
	background: rgba(251, 243, 234, 0.08);
	color: #FBF3EA;
}
.nari-room-form__field select option {
	color: #201C18;
}
.nari-room-form__field select:focus,
.nari-room-form__field input:focus-visible {
	outline: 2px solid #FBF3EA;
	outline-offset: 2px;
	border-color: #FBF3EA;
}
.nari-room-form__field input::placeholder {
	color: rgba(251, 243, 234, 0.55);
}
.nari-room-form__submit {
	font-family: 'Lora', ui-serif, Georgia, serif;
	font-weight: 600;
	font-size: 0.95rem;
	padding: 14px 24px;
	border-radius: 2px;
	border: none;
	background: #D9481F;
	color: #FBF3EA;
	cursor: pointer;
}
.nari-room-form__submit:hover { background: #EFEBE6; color: #201C18; }
.nari-room-form__submit:focus-visible { outline: 2px solid #FBF3EA; outline-offset: 3px; }

/* ---------- Shop / product archive ---------- */
.nari-shop-hero .wc-block-breadcrumbs {
	justify-content: center;
	color: #6B5C4E;
	margin-top: 6px;
}
.nari-product-grid .wc-block-product-image img {
	border-radius: 4px;
}
.nari-product-grid li.wc-block-product {
	background: #FFFFFF;
	border: 1px solid rgba(32, 28, 24, 0.1);
	border-radius: 6px;
	padding: 18px 16px 22px;
}
.nari-product-grid .wc-block-components-product-price {
	font-weight: 700;
}
.nari-product-grid .wp-block-woocommerce-product-button a.wp-block-button__link {
	width: 100%;
	justify-content: center;
}

/* ---------- Single product ---------- */
.nari-product-gallery img {
	border-radius: 4px;
}
.woocommerce-product-details__short-description,
.wp-block-post-excerpt {
	color: #6B5C4E;
}
.wc-block-add-to-cart-form .quantity input,
.wc-block-components-quantity-selector__input {
	font-family: 'Lora', ui-serif, Georgia, serif;
	border-radius: 2px;
}
.variations select,
.wc-block-add-to-cart-form select {
	font-family: 'Lora', ui-serif, Georgia, serif;
	padding: 10px 12px;
	border-radius: 2px;
	border: 1.5px solid rgba(32, 28, 24, 0.25);
	background: #FFFFFF;
}

/* ---------- Cart & checkout (generic WooCommerce form polish) ---------- */
.wc-block-components-text-input input,
.wc-block-components-textarea textarea,
.wc-block-components-combobox input,
.wc-block-components-select select {
	font-family: 'Lora', ui-serif, Georgia, serif !important;
	border-radius: 2px !important;
}
.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
	border-radius: 4px;
}
.wc-block-components-totals-footer-item,
.wc-block-components-totals-item__value {
	font-family: 'Playfair Display', ui-serif, Georgia, serif;
}

/* ---------- Dark mode ---------- */
@media (prefers-color-scheme: dark) {
	:root:not(.is-light-theme-forced) {
		--wp--preset--color--marble: #201812;
		--wp--preset--color--surface: #2E2318;
		--wp--preset--color--ink: #F2E9DD;
		--wp--preset--color--ink-muted: #C2AD95;
		--wp--preset--color--brown: #C98A4A;
		--wp--preset--color--terracotta: #F06430;
		--wp--preset--color--signal: #FF6B52;
	}
	body::before { opacity: 0.07; mix-blend-mode: overlay; }
	.nari-header { border-bottom-color: rgba(242, 233, 221, 0.12); }
}
