/* Honelia for Golden-K — front-end styles. Neutral & theme-friendly. */

.honelia-rooms,
.honelia-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 24px;
	margin: 24px 0;
}

/* Room grid reusing the theme's .rooms-carousel-item card design.
   We only provide layout + card sizing; typography/overlay/price/button
   styling is inherited from the active theme. */
.honelia-rooms-grid {
	display: grid;
	grid-template-columns: repeat(var(--honelia-cols, 3), 1fr);
	gap: 24px;
	margin: 24px 0;
}
.honelia-rooms-grid .honelia-room-card {
	position: relative;
	min-height: 420px;
	overflow: hidden;
	display: flex;
}
/* Make the theme background layer fill the card even outside the carousel. */
.honelia-rooms-grid .honelia-room-card .bg-wrap,
.honelia-rooms-grid .honelia-room-card .fs-wrapper { position: absolute; inset: 0; }
.honelia-rooms-grid .honelia-room-card .bg {
	position: absolute; inset: 0;
	background-size: cover;
	background-position: center;
}
.honelia-book-room { cursor: pointer; }

/* Native theme `.room-item` cards rendered by [honelia_rooms] on one page. */
.honelia-rooms-grid .honelia-room-item .grid-item-holder { position: relative; }
.honelia-rooms-grid .honelia-room-item .grid-item-holder .bg {
	position: absolute; inset: 0;
	background-size: cover;
	background-position: center;
}
/* Give the image area a height in case the theme relied on the carousel/grid
   parent to set one. */
.honelia-rooms-grid .honelia-room-item .grid-item-holder { min-height: 240px; }

@media (max-width: 1024px) { .honelia-rooms-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .honelia-rooms-grid { grid-template-columns: 1fr; } }

.honelia-room {
	border: 1px solid rgba(0, 0, 0, .08);
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	display: flex;
	flex-direction: column;
}
.honelia-room__img img { width: 100%; height: 200px; object-fit: cover; display: block; }
.honelia-room__body { padding: 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.honelia-room__name { margin: 0; font-size: 1.15rem; }
.honelia-room__desc { margin: 0; opacity: .8; font-size: .92rem; }
.honelia-room__meta { list-style: none; padding: 0; margin: 0; display: flex; gap: 14px; font-size: .85rem; opacity: .7; }
.honelia-room__price { margin-top: auto; font-weight: 700; font-size: 1.1rem; color: #b8860b; }
.honelia-room__price span { font-weight: 400; font-size: .8rem; opacity: .7; }

.honelia-gallery__item { margin: 0; }
.honelia-gallery__item img { width: 100%; height: 220px; object-fit: cover; border-radius: 10px; display: block; }

/* Forms */
.honelia-booking,
.honelia-menu,
.honelia-contact { max-width: 720px; margin: 24px 0; display: flex; flex-direction: column; gap: 16px; }
.honelia-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.honelia-field { display: flex; flex-direction: column; gap: 6px; }
.honelia-field label { font-size: .85rem; font-weight: 600; }
.honelia-field input,
.honelia-field select,
.honelia-field textarea {
	padding: 10px 12px;
	border: 1px solid rgba(0, 0, 0, .18);
	border-radius: 8px;
	font: inherit;
	width: 100%;
	box-sizing: border-box;
}

.honelia-btn {
	align-self: flex-start;
	padding: 12px 22px;
	border: none;
	border-radius: 8px;
	background: #333;
	color: #fff;
	font: inherit;
	cursor: pointer;
}
.honelia-btn--primary { background: #b8860b; }
.honelia-btn:disabled { opacity: .6; cursor: default; }

.honelia-availability { padding: 12px 14px; border-radius: 8px; background: #f4f4f4; }
.honelia-availability.is-ok,
.honelia-result.is-ok { background: #e8f5e9; color: #1b5e20; padding: 12px 14px; border-radius: 8px; }
.honelia-availability.is-error,
.honelia-result.is-error,
.honelia-error { background: #fdecea; color: #b71c1c; padding: 12px 14px; border-radius: 8px; }
.honelia-result:empty { display: none; }

/* Menu */
.honelia-menu__cat h3 { border-bottom: 2px solid #b8860b; padding-bottom: 6px; }
.honelia-menu__item { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,.06); }
.honelia-menu__info { display: flex; flex-direction: column; }
.honelia-menu__desc { font-size: .85rem; opacity: .7; }
.honelia-menu__buy { display: flex; align-items: center; gap: 12px; }
.honelia-menu__price { font-weight: 600; white-space: nowrap; }
.honelia-qty { width: 64px; padding: 8px; border: 1px solid rgba(0,0,0,.18); border-radius: 6px; }
.honelia-menu__total { font-size: 1.2rem; font-weight: 700; }

@media (max-width: 560px) {
	.honelia-row { grid-template-columns: 1fr; }
}
