/******************************************************************
  Chasa Flurina public site
******************************************************************/

:root {
    --fl-ink: #283a34;
    --fl-muted: #626b65;
    --fl-accent: #966239;
    --fl-paper: #faf8f4;
    --fl-line: #e5e1d9;
    --fl-radius: 12px;
    --bs-body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --bs-body-color: var(--fl-ink);
    --bs-body-bg: var(--fl-paper);
    --bs-primary: #283a34;
}

html { scroll-padding-top: 24px; }
body { font-family: var(--bs-body-font-family); -webkit-font-smoothing: antialiased; }
main { min-height: 40vh; }
::selection { background: #e8d9c6; color: #283a34; }

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	color: var(--fl-ink);
	font-weight: 400;
	font-family: Georgia, "Times New Roman", serif;
}

h1 {
	font-size: 70px;
}

h2 {
	font-size: 36px;
}

h3 {
	font-size: 30px;
}

h4 {
	font-size: 24px;
}

h5 {
	font-size: 18px;
}

h6 {
	font-size: 16px;
}

p {
	font-size: 16px;
	font-family: var(--bs-body-font-family);
	color: var(--fl-muted);
	font-weight: 400;
	line-height: 1.75;
	margin: 0 0 15px 0;
}

img {
	max-width: 100%;
}

a { color: var(--fl-accent); text-underline-offset: 4px; }
a:hover { color: var(--fl-ink); }
:focus-visible { outline: 3px solid var(--fl-accent); outline-offset: 4px; }
.form-control:focus, .form-select:focus {
    border-color: var(--fl-accent);
    box-shadow: 0 0 0 3px #96623925;
}

ul,
ol {
	padding: 0;
	margin: 0;
}

/*---------------------
  Helper CSS
-----------------------*/

.section-title {
	text-align: center;
}

.section-title span {
	font-size: 14px;
	color: var(--fl-accent);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.section-title h2 {
	font-size: clamp(30px, 3.3vw, 44px);
	color: var(--fl-ink);
	line-height: 1.2;
}

.set-bg {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
}

.spad {
	padding-top: 56px;
	padding-bottom: 56px;
}

.spad-2 {
	padding-top: 50px;
	padding-bottom: 70px;
}

.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6,
.text-white p,
.text-white span,
.text-white li,
.text-white a {
	color: #fff;
}

/* buttons */

.primary-btn {
	display: inline-block;
	font-size: 13px;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-weight: 700;
	position: relative;
	text-decoration: none;
}

.primary-btn:after {
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 100%;
	height: 2px;
	background: var(--fl-accent);
	content: "";
}


/*---------------------
  Header
-----------------------*/

.header-section {
    background: #fff;
    border-bottom: 1px solid var(--fl-line);
}
.header-section > .container > .row { margin-inline: 0; }
.header-section .navbar { padding: 12px 0; }
.header-section .container-fluid { padding: 0; gap: 20px; }
.header-section .navbar-brand { margin: 0 auto 0 0; padding: 0; }
.header-section .navbar-nav { align-items: center; gap: 6px; }
.header-section .navbar .nav-link {
    padding: 12px 14px;
    color: var(--fl-ink);
    font-size: 14px;
    font-weight: 500;
    border-radius: 6px;
    transition: background .18s, color .18s;
}
.header-section .navbar .nav-link:hover { background: #f2efe9; }
.header-section .navbar .nav-link.active {
    color: var(--fl-accent);
    text-decoration: underline;
    text-underline-offset: 7px;
    text-decoration-thickness: 2px;
}
.header-section .navbar .nav-booking {
    background: var(--fl-ink);
    color: #fff;
    padding-inline: 20px;
}
.header-section .navbar .nav-booking:hover { background: #40574c; color: #fff; }
.header-section .navbar .nav-booking.active { color: #fff; }
.header-section .dropdown-toggle { display: flex; align-items: center; gap: 7px; }
.header-section .dropdown-toggle[aria-expanded="true"] { background: #f2efe9; }
.header-section .dropdown-toggle img, .header-section .dropdown-item img { width: 20px; height: 20px; flex-shrink: 0; object-fit: contain; }
.header-section .dropdown-menu {
    min-width: 100%;
    padding: 4px;
    border-color: var(--fl-line);
    border-radius: 8px;
    box-shadow: 0 8px 24px #283a3414;
}
.header-section .dropdown-item {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 44px;
    border-radius: 4px;
    padding: 10px;
    color: var(--fl-ink);
    font-size: 14px;
    font-weight: 500;
}
.header-section .dropdown-item:hover, .header-section .dropdown-item:focus { background: #f2efe9; color: var(--fl-ink); }
.header-section .navbar-toggler { min-height: 44px; border-color: var(--fl-line); }

/*---------------------
  Hero
-----------------------*/

.hero-section { position: relative; background: var(--fl-ink); }
.hero-section .carousel-item img {
    object-fit: cover;
    height: clamp(420px, 48vw, 580px);
    width: 100%;
}
.hero-section::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #12281fbb 0%, #12281f50 65%, #12281f20 100%);
    pointer-events: none;
}
.hero-caption { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; pointer-events: none; }
.hero-text { max-width: 680px; padding-block: 50px; }
.hero-eyebrow { display: block; margin-bottom: 20px; color: #f2e5d4; font-size: 12px; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; }
.hero-text h1 { font-size: clamp(38px, 5vw, 66px); line-height: 1.08; color: #fff; letter-spacing: -1.5px; text-wrap: balance; }
.hero-text p { max-width: 510px; margin: 22px 0 28px; font-size: 18px; color: #fff; line-height: 1.65; }
.hero-text .hero-link { display: inline-flex; align-items: center; gap: 24px; min-height: 48px; padding: 12px 22px; border-radius: 6px; background: #fff; color: var(--fl-ink); text-decoration: none; font-size: 14px; font-weight: 600; pointer-events: auto; }
.hero-link:hover { background: #f2e5d4; }
.hero-controls { position: absolute; bottom: 24px; right: max(24px, calc((100vw - 1120px) / 2)); z-index: 2; display: flex; gap: 10px; }
.hero-controls button { width: 44px; height: 44px; border: 1px solid #ffffff80; border-radius: 50%; background: #152b2466; color: #fff; font-size: 22px; }
.hero-controls button:hover { background: #283a34; }

.booking-form {
	background: #ffffff;
	padding: 30px;
	border: 1px solid var(--fl-line);
	border-radius: var(--fl-radius);
	box-shadow: 0 12px 32px #283a3408;
}

.booking-form h3 {
    color: var(--fl-ink);
    font-size: 28px;
    margin-bottom: 24px;
}

.booking-form form .check-date {
	position: relative;
	margin-bottom: 15px;
}

.booking-form form .check-date label {
	font-size: 14px;
	color: var(--fl-muted);
	display: block;
	margin-bottom: 10px;
}

.booking-form form .check-date i {
	color: var(--fl-accent);
}

.booking-form form .select-option {
	margin-bottom: 15px;
}

.booking-form form .select-option label {
	font-size: 14px;
	color: var(--fl-muted);
	display: block;
	margin-bottom: 10px;
}

.booking-form form button[type="submit"] {
	display: block;
	font-size: 14px;
	text-transform: none;
	border: 1px solid var(--fl-ink);
	border-radius: 6px;
	background: var(--fl-ink);
	color: #ffffff;
	font-weight: 500;
	width: 100%;
	min-height: 50px;
	height: auto;
	padding: 12px 14px;
	margin-top: 24px;
    transition: background .18s;
}

.booking-form form button[type="submit"]:hover {
    background: #40574c;
    color: #fff;
}

/*---------------------
  About US
-----------------------*/

.about-text { text-align: left; padding: 4px 0 0 28px; }
.about-text .section-title { text-align: left; margin-bottom: 22px; }
.aboutus-section .about-pic { padding-left: 28px; }
.about-pic img { height: auto; border-radius: 8px; }

.about-text p {
	color: #595960;
	font-weight: 500;
}

.about-text p.f-para {
	margin-bottom: 10px;
}

.about-text p.s-para {
	margin-bottom: 35px;
}

.about-text .about-btn {
	color: var(--fl-ink);
}

.about-pic img {
	min-width: 100%;
}

/*---------------------
  Service Section
-----------------------*/

.services-section { background: #f0eee7; border-top: 1px solid var(--fl-line); }

.services-section .section-title {
	margin-bottom: 36px;
}

.service-item { text-align: left; padding: 28px 32px; height: 100%; }
.services-section .row { row-gap: 20px; }

.service-item:hover { background: transparent; }

.service-item:hover i {
	color: #ffffff;
}

.service-item:hover h4 { color: var(--fl-ink); }

.service-item:hover p { color: var(--fl-muted); }

.service-item i {
	display: inline-block;
	color: var(--fl-accent);
	transition: all 0.3s;
}

.service-item h4 {
	color: var(--fl-ink);
	font-size: 22px;
	margin-bottom: 15px;
	margin-top: 10px;
	transition: all 0.3s;
}

.service-item p {
	color: var(--fl-muted);
	transition: all 0.3s;
}

/*------------------------
  Home Page Room Section
-------------------------*/

.hp-room-items {
	margin-left: -15px;
	margin-right: -15px;
	overflow: hidden;
}

.hp-room-items .hp-room-item {
	height: 600px;
	margin-right: -15px;
	position: relative;
	overflow: hidden;
}

.hp-room-items .hp-room-item:hover .hr-text {
	bottom: 135px;
}

.hp-room-items .hp-room-item:hover .hr-text h2 {
	margin-bottom: 30px;
}

.hp-room-items .hp-room-item .hr-text {
	position: absolute;
	left: 45px;
	right: 25px;
	bottom: -250px;
	transition: all 0.5s;
}

.hp-room-items .hp-room-item .hr-text h3 {
	color: #ffffff;
	margin-bottom: 15px;
}

.hp-room-items .hp-room-item .hr-text h2 {
	color: var(--fl-accent);
	font-weight: 700;
	margin-bottom: 50px;
	transition: all 0.2s;
}

.hp-room-items .hp-room-item .hr-text h2 span {
	font-family: var(--bs-body-font-family);
	font-size: 16px;
	font-weight: 400;
	color: #ffffff;
}

.hp-room-items .hp-room-item .hr-text table {
	margin-bottom: 30px;
}

.hp-room-items .hp-room-item .hr-text table tbody tr td {
	font-size: 16px;
	color: #ffffff;
	line-height: 36px;
}

.hp-room-items .hp-room-item .hr-text table tbody tr td.r-o {
	width: 120px;
}

.hp-room-items .hp-room-item .hr-text .primary-btn:after {
	background: #ffffff;
}

/*---------------------
 booking
-----------------------*/

.booking-section {
	padding-bottom: 70px;
}

.booking-section .section-title {
	margin-bottom: 36px;
}

/*---------------------
  Footer Section
-----------------------*/

.footer-section {
	background: #24372f;
}

.footer-section .footer-text {
	padding: 80px 0 30px;
}

.footer-section .footer-text .ft-about {
	margin-bottom: 30px;
}

.footer-section .footer-text .ft-about .logo {
	margin-bottom: 20px;
	width: 223px;
	height: 108px;
}

.footer-section .footer-text .ft-about .logo a {
	display: inline-block;
}

.footer-section .footer-text .ft-about .logo a img {
	width: 223px;
	height: 108px;
}

.footer-section .footer-text .ft-about p {
	color: #b9c3bc;
	margin-bottom: 20px;
}

.footer-section .footer-text .ft-about .fa-social a {
	display: inline-block;
	height: 40px;
	width: 40px;
	font-size: 16px;
	line-height: 40px;
	text-align: center;
	color: #ffffff;
	border: 1px solid #5A4D48;
	border-radius: 50%;
	transition: all 0.3s;
	margin-right: 7px;
}

.footer-section .footer-text .ft-about .fa-social a:hover {
	background: var(--fl-accent);
	border-color: var(--fl-accent);
}

.footer-section .footer-text .ft-contact {
	margin-bottom: 30px;
}

.footer-section .footer-text .ft-contact h6 {
	font-size: 14px;
	color: var(--fl-accent);
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 3px;
	font-family: var(--bs-body-font-family);
	margin-bottom: 20px;
}

.footer-section .footer-text .ft-contact ul li {
	font-size: 16px;
	color: #b9c3bc;
	line-height: 32px;
	list-style: none;
}

.footer-section .footer-text .ft-contact ul li a {
	color: inherit;
	text-decoration: inherit;
}

.footer-section .footer-text .ft-newslatter h6 {
	font-size: 14px;
	color: var(--fl-accent);
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 3px;
	font-family: var(--bs-body-font-family);
	margin-bottom: 20px;
}

.footer-section .footer-text .ft-newslatter p {
	color: #b9c3bc;
	margin-bottom: 20px;
}

.footer-section .footer-text .ft-newslatter .fn-form {
	position: relative;
}

.footer-section .footer-text .ft-newslatter .fn-form input {
	width: 100%;
	height: 50px;
	border-radius: 2px;
	background: #393D4A;
	border: none;
	padding-left: 20px;
	font-size: 16px;
	color: var(--fl-muted);
}

.footer-section .footer-text .ft-newslatter .fn-form button {
	position: absolute;
	right: 0;
	top: 0;
	font-size: 16px;
	background: var(--fl-accent);
	color: #ffffff;
	padding: 0 16px;
	height: 50px;
	border: none;
	border-radius: 0 2px 2px 0;
}

.footer-section .copyright-option {
	background: rgba(16, 20, 31, 0.2);
	padding: 20px 0;
}

.footer-section .copyright-option ul li {
	list-style: none;
	display: inline-block;
	margin-right: 34px;
}

.footer-section .copyright-option ul li:last-child {
	margin-right: 0;
}

.footer-section .copyright-option ul li a {
	font-size: 16px;
	color: #b9c3bc;
}

.footer-section .copyright-option .co-text {
	font-size: 16px;
	color: var(--fl-muted);
	text-align: right;
}

/* --------------------------------- Other Pages Styles ----------------------------------- */

/*---------------------
  Breadcrumb Section
-----------------------*/

.breadcrumb-section { padding: 46px 0 36px; }
.breadcrumb-text .bt-option { margin-top: 18px; }

.breadcrumb-text {
	text-align: center;
}

.breadcrumb-text h2 {
	font-size: clamp(30px, 3.3vw, 44px);
	color: var(--fl-ink);
	margin-bottom: 12px;
}

.breadcrumb-text .bt-option a {
	display: inline-block;
	font-size: 14px;
	color: var(--fl-ink);
	margin-right: 20px;
	position: relative;
	font-weight: 500;
}

.breadcrumb-text .bt-option a:after {
	position: absolute;
	right: -13px;
	top: 1px;
	content: '\203a';
	font-weight: 900;
	font-family: var(--bs-body-font-family);
	color: #b9c3bc;
}

.breadcrumb-text .bt-option span {
	display: inline-block;
	font-size: 14px;
	color: var(--fl-muted);
}

/*---------------------
  Room Section
-----------------------*/

.rooms-section {
	padding-top: 0;
	padding-bottom: 80px;
}

.room-item { margin-bottom: 28px; background: #fff; border: 1px solid var(--fl-line); border-radius: var(--fl-radius); overflow: hidden; }

.room-item img {
	min-width: 100%;
}

.room-item .ri-text {
	padding: 26px;
}

.room-item .ri-text h4 {
	color: var(--fl-ink);
	margin-bottom: 17px;
}

.room-item .ri-text h3 {
	color: var(--fl-accent);
	font-weight: 700;
	margin-bottom: 14px;
}

.room-item .ri-text h3 span {
	font-family: var(--bs-body-font-family);
	font-size: 14px;
	font-weight: 400;
	color: var(--fl-ink);
}

.room-item .ri-text table {
	margin-bottom: 18px;
}

.room-item .ri-text table tbody tr td {
	font-size: 16px;
	color: var(--fl-muted);
	line-height: 36px;
}

.room-item .ri-text table tbody tr td.capitalize {
	text-transform: capitalize;
}

.room-item .ri-text table tbody tr td.r-o {
	width: 125px;
}

.room-item .ri-text .primary-btn {
	color: var(--fl-ink);
}

.room-pagination {
	text-align: center;
	padding-top: 20px;
}

.room-pagination a {
	font-size: 16px;
	color: var(--fl-muted);
	border: 1px solid #EFD4B9;
	border-radius: 2px;
	padding: 7px 13px 5px;
	margin-right: 7px;
	display: inline-block;
	transition: all 0.3s;
}

.room-pagination a:last-child {
	margin-right: 0;
}

.room-pagination a:hover {
	background: var(--fl-accent);
	color: #ffffff;
}

/*-----------------------
  Room Details Section
-------------------------*/

.room-details-section {
	padding-top: 0;
	padding-bottom: 80px;
}



.room-details-item {
	margin-bottom: 20px;
}

.room-details-item img {
	margin-bottom: 20px;
}

.room-details-item .rd-text .rd-title {
	overflow: hidden;
	margin-bottom: 10px;
}

.room-details-item .rd-text .rd-title h3 {
	color: var(--fl-ink);
	float: left;
	margin-bottom: 10px;
}

.room-details-item .rd-text .rd-title .rdt-right {
	float: right;
	text-align: right;
}

.room-details-item .rd-text .rd-title .rdt-right a {
	display: inline-block;
	color: #ffffff;
	font-size: 13px;
	text-transform: uppercase;
	font-weight: 700;
	background: var(--fl-accent);
	padding: 14px 28px 13px;
}

.room-details-item .rd-text h2 {
	color: var(--fl-accent);
	font-weight: 700;
	margin-bottom: 25px;
}

.room-details-item .rd-text h2 span {
	font-family: var(--bs-body-font-family);
	font-size: 16px;
	font-weight: 400;
	color: var(--fl-ink);
}

.room-details-item .rd-text table {
	margin-bottom: 32px;
}

.room-details-item .rd-text table tbody tr td {
	font-size: 16px;
	color: var(--fl-ink);
	line-height: 36px;
}

.room-details-item .rd-text table tbody tr td.capitalize {
	text-transform: capitalize;
}

.room-details-item .rd-text table tbody tr td.r-o {
	padding-right: 40px;
	color: var(--fl-muted);
}

.room-details-item .rd-text p {
	color: var(--fl-muted);
}

.room-details-item .rd-text p.f-para {
	margin-bottom: 22px;
}

.room-booking {
	padding: 0 30px 0 40px;
}

.room-booking h3 {
	color: var(--fl-ink);
	margin-bottom: 30px;
}

.room-booking form .check-date {
	position: relative;
	margin-bottom: 15px;
}

.room-booking form .check-date label {
	font-size: 14px;
	color: var(--fl-muted);
	display: block;
	margin-bottom: 10px;
}

.room-booking form .check-date input {
	width: 100%;
	height: 50px;
	border: 1px solid #ebebeb;
	border-radius: 2px;
	font-size: 16px;
	color: var(--fl-ink);
	text-transform: uppercase;
	font-weight: 500;
	padding-left: 20px;
}

.room-booking form .check-date i {
	color: var(--fl-accent);
	position: absolute;
	right: 18px;
	bottom: 17px;
}

.room-booking form .select-option {
	margin-bottom: 15px;
}

.room-booking form .select-option label {
	font-size: 14px;
	color: var(--fl-muted);
	display: block;
	margin-bottom: 10px;
}

.room-booking form button {
	display: block;
	font-size: 14px;
	text-transform: uppercase;
	border: 1px solid var(--fl-accent);
	border-radius: 2px;
	color: var(--fl-accent);
	font-weight: 500;
	background: transparent;
	width: 100%;
	height: 46px;
	margin-top: 30px;
}

/*---------------------
  Booking Section
-----------------------*/

.booking-section.booking-page {
	padding-top: 0;
	padding-bottom: 88px;
}

.booking-text {
	text-align: center;
	padding: 0 35px;
}

.booking-text p {
	color: #595960;
	font-weight: 500;
	text-transform: none;
}

.booking-text p.f-para {
	margin-bottom: 10px;
}

.booking-text p.s-para {
	margin-bottom: 35px;
}

.booking-text .booking-btn {
	color: var(--fl-ink);
}

.booking-text .section-title {
	text-align: center;
	margin-bottom: 22px;
	text-transform: capitalize;
}

.booking-text .section-title span {
	font-size: 14px;
	color: var(--fl-accent);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.booking-text .section-title h2 {
	font-size: clamp(30px, 3.3vw, 44px);
	color: var(--fl-ink);
	line-height: 1.2;
	margin-top: 10px;
}

.booking-item {
	position: relative;
	margin-bottom: 30px;
	border-radius: 5px;
	text-transform: capitalize;
}

.booking-item h3 {
	text-transform: capitalize;
}

.booking-item.small-size {
	height: 400px;
}

.booking-item .bi-text {
	position: absolute;
	left: 0;
	bottom: 25px;
	width: 100%;
	padding-left: 30px;
	padding-right: 30px;
}

.booking-item .bi-text .b-tag {
	display: inline-block;
	color: #ffffff;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	background: var(--fl-accent);
	padding: 3px 10px;
	border-radius: 2px;
}

.booking-item .bi-text h4 {
	margin-top: 18px;
	margin-bottom: 18px;
}

.booking-item .bi-text h4 a {
	color: #ffffff;
}

.booking-item .bi-text .b-time {
	font-size: 12px;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 3px;
}

.load-more {
	text-align: center;
	padding-top: 30px;
}

.load-more .primary-btn {
	color: var(--fl-ink);
}

/*----------------------------
  Booking Details Hero Section
----------------------------*/

.booking-details-hero {
	height: 530px;
	padding-top: 165px;
}

.bd-hero-text {
	text-align: center;
}

.bd-hero-text span {
	font-size: 12px;
	color: #ffffff;
	background: var(--fl-accent);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
	display: inline-block;
	padding: 4px 16px;
	border-radius: 2px;
}

.bd-hero-text h2 {
	font-size: clamp(30px, 3.3vw, 44px);
	color: #ffffff;
	line-height: 54px;
	margin-top: 30px;
	margin-bottom: 12px;
}

.bd-hero-text ul li {
	list-style: none;
	font-size: 14px;
	color: var(--fl-accent);
	margin-right: 35px;
	display: inline-block;
}

.bd-hero-text ul li:last-child {
	margin-right: 0;
}

.bd-hero-text ul li.b-time {
	text-transform: uppercase;
}

/*---------------------
  Booking Section
-----------------------*/

.booking-details-section {
	padding-top: 55px;
}

.booking-details-text .bd-title {
	margin-bottom: 52px;
}

.booking-details-text .bd-title p {
	font-size: 18px;
	color: var(--fl-muted);
	line-height: 30px;
}

.booking-details-text .bd-pic {
	overflow: hidden;
	margin-bottom: 35px;
}

.booking-details-text .bd-pic .bp-item {
	width: calc(33.33% - 10px);
	float: left;
	margin-right: 15px;
}

.booking-details-text .bd-pic .bp-item:last-child {
	margin-right: 0;
}

.booking-details-text .bd-pic .bp-item img {
	min-width: 100%;
}

.booking-details-text .bd-more-text {
	margin-bottom: 50px;
}

.booking-details-text .bd-more-text .bm-item {
	margin-bottom: 30px;
}

.booking-details-text .bd-more-text .bm-item h4 {
	color: var(--fl-ink);
	margin-bottom: 20px;
}

.booking-details-text .bd-more-text .bm-item p {
	font-size: 18px;
	color: var(--fl-muted);
	line-height: 30px;
}

.booking-details-text .tag-share {
	overflow: hidden;
	border-top: 1px solid #ebebeb;
	padding-top: 30px;
	margin-bottom: 75px;
}

.booking-details-text .tag-share .tags {
	float: left;
}

.booking-details-text .tag-share .tags a {
	font-size: 12px;
	color: var(--fl-muted);
	background: #ebebeb;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
	display: inline-block;
	padding: 4px 16px;
	border-radius: 2px;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	margin-right: 6px;
}

.booking-details-text .tag-share .tags a:hover {
	color: #ffffff;
	background: var(--fl-accent);
}

.booking-details-text .tag-share .social-share {
	float: right;
}

.booking-details-text .tag-share .social-share span {
	display: inline-block;
	font-size: 18px;
	color: var(--fl-muted);
}

.booking-details-text .tag-share .social-share a {
	display: inline-block;
	font-size: 16px;
	color: var(--fl-muted);
	margin-left: 30px;
}

/*---------------------
 map
-----------------------*/
.map-responsive {
	overflow: hidden;
	padding-bottom: 50%;
	position: relative;
	height: 0;
}

.map-responsive iframe {
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	position: absolute;
}

/*---------------------
 shops
-----------------------*/
.shopping-text .section-title {
	text-align: center;
	margin-bottom: 22px;
}

.shopping-text .section-title span {
	font-size: 14px;
	color: var(--fl-accent);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.shopping-text .section-title h2 {
	font-size: clamp(30px, 3.3vw, 44px);
	color: var(--fl-ink);
	line-height: 1.2;
	margin-top: 10px;
}
/* Reserve image space before downloads and keep vector icons in the text flow. */
.responsive-photo { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.header-logo { width: 146px; height: auto; }
.site-icon { width: 1em; height: 1em; fill: currentColor; vertical-align: -0.125em; }
.service-item > .site-icon { width: 36px; height: 36px; color: var(--fl-accent); margin-bottom: 14px; }


/* Public page details and responsive layouts. */
.skip-link { position: absolute; top: -100px; left: 16px; z-index: 1100; padding: 12px 20px; background: #fff; color: var(--fl-ink); border-radius: 6px; }
.skip-link:focus { top: 12px; }
.section-title span { display: block; margin-bottom: 12px; color: var(--fl-accent); font-size: 11px; }
.primary-btn { color: var(--fl-ink); font-size: 12px; letter-spacing: 1px; padding-block: 8px; }
.primary-btn:hover { color: var(--fl-accent); }
.form-control, .form-select { min-height: 50px; border-color: #ded5ca; border-radius: 8px; color: var(--fl-ink); font-size: 16px; }
.booking-form label { margin-bottom: 8px; font-size: 14px; color: var(--fl-muted); }
.booking-form .form-check-input { accent-color: var(--fl-ink); }
.booking-form legend { font-size: 14px; color: var(--fl-muted); }
.booking-form textarea { min-height: 100px; }
.booking-form .form-check-input:checked { background-color: var(--fl-ink); border-color: var(--fl-ink); }
.room-item .badge { background: #eee8df !important; color: var(--fl-accent); font-family: var(--bs-body-font-family); font-size: 14px; font-weight: 500; vertical-align: middle; }
.room-item .ri-text table, .room-details-item .rd-text table { width: 100%; }
.room-item .ri-text table td, .room-details-item .rd-text table td { line-height: 1.6; padding-block: 7px; border-bottom: 1px solid #f0ede7; font-size: 14px; }
.room-item .ri-text .booking-form { padding: 0; border: 0; box-shadow: none; }
.room-details-section .carousel { border-radius: var(--fl-radius); overflow: hidden; background: #f0eee7; }
.room-details-item .rd-text > .row { row-gap: 24px; }
.room-details-item .rd-text > .row > .col { flex-basis: 320px; }
.room-details-section .booking-form { margin-top: 0; }
#booking-avail > .row { align-items: end; row-gap: 16px; }
#booking-avail .check-date, #booking-avail .select-option { margin-bottom: 0; }
#booking-avail button[type="submit"] { margin-top: 0; }
.booking-text { max-width: 880px; margin-inline: auto; padding: 0; }
.booking-item { text-transform: none; }
.shops-section .card { border-color: var(--fl-line); border-radius: var(--fl-radius); overflow: hidden; }
.shops-section .card-body { padding: 24px; }
.shops-section .row { row-gap: 24px; }
.shops-section + .shops-section { padding-top: 0; }
.map-section .container-fluid { max-width: 1140px; }
.map-responsive { border-radius: var(--fl-radius); min-height: 360px; }
.footer-section .footer-text { padding-block: 56px 32px; }
.footer-section .footer-text .row { justify-content: space-between; }
.footer-section .footer-text .ft-about .logo, .footer-section .footer-text .ft-about .logo a img { width: 160px; height: auto; }
.footer-section .footer-text .ft-about p, .footer-section .footer-text .ft-contact ul li { color: #d2d9d3; font-size: 14px; }
.footer-section .footer-text .ft-contact h6 { color: #e1c6a6; }
.footer-section .footer-text .ft-contact a:hover { color: #fff; text-decoration: underline; }

@media (max-width: 1199px) {
    .header-section .navbar .nav-link { padding-inline: 10px; }
    .header-section .container-fluid { gap: 12px; }
    .booking-form { padding: 24px; }
}
@media (max-width: 991px) {
    .header-section .navbar-brand { order: -1; }
    .header-section .navbar-collapse { flex-basis: 100%; }
    .header-section .navbar-nav { align-items: stretch; padding-block: 12px; }
    .header-section .navbar .nav-link { padding: 14px 16px; }
    .header-section .language-switcher { align-self: flex-start; }
    .header-section .dropdown-menu { margin-top: 6px; }
    .aboutus-section .booking-form { margin-bottom: 40px; }
    .about-text, .aboutus-section .about-pic { padding-left: 0; }
    .room-details-section .booking-form { margin-top: 28px; }
    .spad { padding-block: 40px; }
}
@media (max-width: 767px) {
    .hero-section .carousel-item img { height: 480px; }
    .hero-text { padding-inline: 12px; max-width: 570px; }
    .hero-text h1 { letter-spacing: -.7px; }
    .hero-text p { font-size: 16px; }
    .hero-controls { bottom: 20px; right: 20px; }
    .about-pic { margin-bottom: 20px; }
    .aboutus-section .col-lg-8 > .row:last-child { --bs-gutter-x: 16px; }
    .aboutus-section .about-pic img { aspect-ratio: 3/2; object-fit: cover; }
    .service-item { padding: 20px 8px; }
    .room-item .ri-text { padding: 22px; }
    .breadcrumb-section { padding: 32px 0; }
    .booking-section, .room-details-section { padding-bottom: 40px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
