/* ==========================================================================
   Sevena Villa - consolidated page styles
   Merged from duplicated inline <style> blocks that were repeated on every page.
   ========================================================================== */

.book-now-btn a { display: inline-block; font-size: 16px; font-weight: 500; background-color: #9c6a1f; text-transform: uppercase; border: 1px solid #835616; padding: 6px 20px; height: 40px; border-radius: 50px; line-height: 28px; display: inline-block; color: #ffffff; }

.search-form button { border: 0 none; color: #ffffff; line-height: 45px; text-transform: uppercase; width: 182px; background-color: #9c6a1f; border: 1px solid #9c6a1f; font-weight: 600; cursor: pointer; -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }

.about-container h3 span { color: #9c6a1f; }

.welcome-title h3 { background: #9c6a1f; color: #fff; padding: 30px 0; border-radius: 0px 0px 5px 5px; font-size: 20px; font-weight: 400; margin: 0; }

.main-menu > li.active > a, .main-menu > li:hover > a { color: #835616; /* WCAG AA on white at 14px+ */ }

.about-container a { display: inline-block; font-size: 16px; font-weight: 500; color: #021832; text-transform: uppercase; border: 1px solid #9c6a1f; padding: 6px 30px; height: 40px; border-radius: 50px; line-height: 26px; margin-top: 15px; }

.about-container a:hover { color: #fff; background-color: #9c6a1f; border-color: #9c6a1f; }

.search-form button:hover { color: #9c6a1f; background: transparent; border-color: #9c6a1f; }

.service-menu-area ul li a .service-icon:hover, .service-menu-area ul li a.active .service-icon { background-color: #9c6a1f; color: #fff; box-shadow: 0 2px 20px rgba(34, 30, 31, 0.4); margin-top: -10px; }

.service-menu-area ul li a .service-icon { height: 90px; width: 90px; background-color: #9c6a1f; display: block; line-height: 90px; text-align: center; border-radius: 100%; float: left; -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }

.service-menu-area ul li a .service-title:hover, .service-menu-area ul li a.active .service-title { color: #005164; }

.service-menu-area ul li a .text span { color: #005164; }

.contact-info > ul > li{ color: #ffffff; }

.single-slider:before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #000; opacity: 0.2; z-index: -1; }

.service-bg-color { background: #ffffff; }

.section-title p { font-size: 15px; line-height: 26px; max-width: 850px; margin: auto; margin-top: 25px; }

.room-list-item { box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.5); margin-bottom: 30px; }

ul li p { margin-bottom: 10px; }

.main-menu > li > ul { width: 345px; border-radius: 8px; overflow: hidden; padding: 10px 0; border: 1px solid #eee; }

.main-menu > li > ul > li > a { transition: background-color 0.2s ease, color 0.2s ease, padding-left 0.2s ease; border-left: 3px solid transparent; }

.main-menu > li > ul > li:hover > a { background: #9c6a1f11; border-left-color: #9c6a1f; color: #9c6a1f; }

.main-menu > li > ul > li > a:before { background: #9c6a1f; }

.header-sticky.is-sticky { background: rgba(255, 255, 255, 1); }

.active .hero-slider-content > p { letter-spacing: 1px; }

.section-title > h3, .about-container h3 { font-size: 36px; color: #021832; text-transform: capitalize; font-weight: 500; }

.list__categories .desc__categories .categories__content h6 a { color: #fff; display: block; font-size: 16px; font-weight: 500; line-height: 1; letter-spacing: 1px; margin-bottom: 35px; padding-bottom: 10px; position: relative; text-transform: uppercase; -webkit-transition: all 300ms ease-in 0s; transition: all 300ms ease-in 0s; }

h1, h2, h3, h4, h5 { font-weight: 500 !important; }

body, .section-title p { font-size: 14px; }

.active .hero-slider-content > h1, .active .hero-slider-content > h2 { font-weight: 700 !important; font-style: normal; letter-spacing: 2px; }

.service-menu-area ul li a .service-title { display: block; font-size: 20px; line-height: 1; color: #021832; margin-bottom: 15px; font-weight: 500; padding-left: 110px; -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }

.room-list-content-p { line-height: 21px; letter-spacing: 1px; margin-top: 20px !important; }

.link-widget > li > a:hover { margin-left: 10px; color: #9c6a1f; }

.breadcrumb-banner-area { background: url(/img/gallery/33.webp); }

/* Reserve hero slider height to eliminate CLS during paint */ .hero-slider, .slider-area { min-height: 600px; }

.single-slider { min-height: 600px; }

@media (max-width: 768px) { .hero-slider, .slider-area, .single-slider { min-height: 400px; } }

/* WCAG 2.5.5 touch target sizing — minimum 44x44 for interactive elements */ .main-menu > li > ul > li > a { min-height: 44px; line-height: 44px; padding: 0 15px; }

.link-widget > li > a { display: inline-block; min-height: 44px; line-height: 44px; }

.read-more { display: inline-block; min-width: 44px; min-height: 44px; line-height: 44px; text-align: center; }

.breadcrumb > li > a { display: inline-block; min-height: 32px; padding: 4px 6px; }

.mobile-menu a { min-height: 44px;  }

:focus-visible { outline: 2px solid #835616; outline-offset: 2px; }

.blog-text { margin-left: 0px; }

/* Room-list TOC (accommodation page only, but class name is unique so left unscoped) */
.room-toc { padding: 12px 0; }

.room-toc a { display: inline-block; min-height: 44px; line-height: 44px; padding: 0 18px; margin: 4px 6px; font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; color: #021832; border: 1px solid #835616; border-radius: 50px; transition: all 0.3s ease-in-out; }

.room-toc a:hover, .room-toc a:focus { background-color: #835616; color: #ffffff; }

/* Quick-navigation cards (things-to-do page only, but class name is unique so left unscoped) */
.quick-navigation-item { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #ccc; }

.quick-navigation-item a h4 { line-height: 25px; font-size: 16px; margin: 0; }

.quick-navigation-item img { border-radius: 6px; }

.quick-navigation-item h4 .dist { font-weight: 400; font-size: 12px; opacity: .75; margin-left: 6px; white-space: nowrap; display: block; }

/* ==========================================================================
   Page-specific overrides
   These MUST stay scoped to their .page-* body class — several of these
   selectors (hr, .text-right, .table, .blg-img img) are generic/Bootstrap
   utility names shared across pages, so applying them globally would leak
   styling onto pages that never had these rules.
   ========================================================================== */

.page-home .blog-text h5 a { font-size: 18px; }
.page-home .blog-text p { font-size: 13px; min-height: 140px; }
.page-home .blg-img img { min-height: 325px; }

.page-accommodation ul li p { font-size: 12.5px; }

.page-location .table { font-size: 13px; }
.page-location .directions-link { color: #0094ff; padding-top: 5px; display: block; font-weight: bold; }
.page-location .text-right { min-width: 80px; text-align: right !important; }

.page-thingstodo .blog-text h5 a { font-size: 26px; }
.page-thingstodo .blog-text p { font-size: 14px; line-height: 1.7; }
.page-thingstodo .blg-img img { max-height: 600px; width: 100%; object-fit: cover; }
.page-thingstodo hr { margin: 20px 0px; }
.page-thingstodo .breadcrumb-banner-area .breadcrumb-text h1 { margin-bottom: 8px; }

