/* =====================================================================
   CLEAN THEME  -  header bar, cards and fonts
   Loaded AFTER style.css and responsive.css. To switch it off, remove the
   one <link> line for clean-theme.css in layout/partials/assets/style-assets.blade.php
   ===================================================================== */

/* ---------- Fonts (hosted on our own server) ---------- */
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/clean/playfair-display-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/clean/playfair-display-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/clean/dm-sans-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/clean/dm-sans-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/clean/dm-sans-latin-700-normal.woff2') format('woff2');}

:root{
  --ct-heading:'Playfair Display',Georgia,'Times New Roman',serif;
  --ct-body:'DM Sans',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --ct-radius:22px;
  --ct-radius-sm:14px;
  --ct-shadow:0 2px 20px rgba(30,30,30,.07);
  --ct-shadow-hover:0 12px 34px rgba(30,30,30,.14);
  --ct-muted:#6f6f6f;
}

body{font-family:var(--ct-body);}

/* Headings: regular weight everywhere, bold only for H1 and .heading-bold */
h1,h2,h3,h4,h5,h6,
.section-title h4,
.vertical-booking-form .form-title,
.sidebar .widget .widget-title,
.price-range-slider h3{
  font-family:var(--ct-heading);
  font-weight:400;
  text-transform:none;
  letter-spacing:0;
}
h1,.heading-bold{font-weight:700;}
.section-title h4{font-size:40px;line-height:1.15;}
/* the home slider keeps its own font */
.empire-slider h1,.empire-slider h2,.empire-slider h3,.empire-slider h4,.empire-slider h5,.empire-slider h6{
  font-family:'Outfit',sans-serif;
}

/* ---------- HEADER BAR (floating rounded bar) ---------- */
header.horizontal-header,
header.horizontal-header.transparent-header,
header.horizontal-header.header-fixed-top{
  left:20px;right:20px;width:auto;
  margin:0;padding:0 !important;height:auto !important;
  background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:saturate(160%) blur(10px);backdrop-filter:saturate(160%) blur(10px);
  border:0;border-radius:var(--ct-radius);
  box-shadow:0 6px 28px rgba(20,20,20,.12);
  z-index:1020;
}
/* home page: bar floats over the top of the slider, under the thin top strip */
header.horizontal-header.transparent-header{position:absolute;top:50px;}
/* pages other than home: bar sits in the normal flow with space around it */
header.horizontal-header.sticky-header:not(.transparent-header):not(.header-fixed-top){position:relative;margin:14px 20px;left:auto;right:auto;}
/* while scrolling the bar stays fixed near the top */
header.horizontal-header.header-fixed-top{position:fixed;top:12px;}

header.horizontal-header > .container{
  max-width:100%;width:100%;padding:0 28px;
  display:flex;align-items:center;justify-content:space-between;
}
header.horizontal-header .brand{padding:10px 0;display:flex;align-items:center;}
header.horizontal-header .brand .logo{top:0;position:relative;display:flex;align-items:center;}
header.horizontal-header .brand .logo img,
.horizontal-header.sticky-header.p-3.loaded-header .logo img{height:58px;width:auto;margin:0 !important;}
header.header-fixed-top .logo-fixed{margin:0 !important;}

header.horizontal-header .main-menu{float:none;margin:0 !important;margin-left:auto !important;}
header.horizontal-header .main-menu .menu{float:none;display:flex;align-items:center;margin:0;padding:0;}
header.horizontal-header .main-menu .menu .menu-item{float:none;}
header.horizontal-header .main-menu .menu .menu-item > a,
header.horizontal-header.scroll-header .main-menu .menu .menu-item > a{
  padding:14px 16px;font-size:13px;letter-spacing:.08em;font-weight:700;
}
header.horizontal-header .main-menu .menu .menu-item:last-child > a{padding-right:16px;}
header.horizontal-header .main-menu .menu .menu-item.menu-btn{margin-left:8px;}
header.horizontal-header .main-menu .menu .menu-item.menu-btn > a.btn{
  padding:13px 26px;margin:0;border-radius:999px;letter-spacing:.08em;font-size:13px;font-weight:700;
  box-shadow:none;
}
/* drop-down panels */
header.horizontal-header .main-menu .menu .dropdown .submenu{
  border-radius:var(--ct-radius-sm);box-shadow:0 14px 40px rgba(20,20,20,.14);overflow:hidden;margin-top:14px;
}
header.horizontal-header .main-menu .menu .dropdown .submenu:after{display:none;}

/* ---------- Home: thin top strip + slider start right under it ---------- */
.topbar.transparent:not(.position-relative){position:relative;top:0;border-bottom:0;background:transparent;}
.slider-spacer{display:none !important;}
.empire-slider{height:calc(100vh - 34px) !important;}

/* ---------- Images: shown whole, never zoomed ---------- */
.empire-slider .layer-bg video,.empire-slider .layer-bg img{transform:none !important;}

/* ---------- CARDS (shared look) ---------- */
.room-grid-item,.staff-item,.offer-item{
  background:#fff;border-radius:var(--ct-radius);overflow:hidden;
  box-shadow:var(--ct-shadow);transition:box-shadow .25s ease;
}
.room-grid-item:hover,.staff-item:hover,.offer-item:hover{box-shadow:var(--ct-shadow-hover);}
.room-grid-item img,.staff-item img,.offer-item img{transform:none !important;filter:none !important;transition:none;}

/* -- Category cards (Travel Style) -- */
.room-grid-item{height:100%;}
.room-grid-item figure,.rooms-block-img .room-grid-item figure{margin:0;position:relative;width:100%;height:auto !important;aspect-ratio:4/3;overflow:hidden;}
.room-grid-item figure a{display:block;height:100%;}
.room-grid-item figure img{width:100%;height:100%;object-fit:cover;display:block;}
.room-grid-item figure a:before,
.room-grid-item .link-icon:before,
.room-grid-item.gradient-overlay-hover:after,
.room-grid-item .gradient-overlay-hover:after{display:none !important;content:none !important;}
.room-grid-item .room-info{
  position:relative;margin-top:-20px;padding:24px 26px 26px;
  border:0;border-radius:var(--ct-radius) var(--ct-radius) 0 0;background:#fff;text-align:left;
}
.room-grid-item .room-info .room-title{margin:0 0 8px;}
.room-grid-item .room-info .room-title a{
  height:auto;font-family:var(--ct-heading);font-weight:400;font-size:25px;line-height:1.25;text-transform:none;color:#000;
}
.room-grid-item .room-info p{
  margin:0;color:var(--ct-muted);text-transform:none;font-size:15px;line-height:1.55;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.room-grid-item .room-info p:after{display:none;}
.room-grid-item .room-price{
  left:16px;right:auto;top:16px;bottom:auto;padding:7px 14px;border-radius:999px;background:#fff;
  color:#222;font-size:13px;font-weight:700;box-shadow:0 2px 10px rgba(0,0,0,.12);
}

/* -- Tour cards -- */
.staff-item{margin-bottom:30px;}
section .staff-item{margin-bottom:0;}
.staff-item figure,.staff-item-tours figure{width:100%;height:auto !important;aspect-ratio:4/3;overflow:hidden;display:block;position:relative;margin:0;}
.staff-item figure a{display:block;height:100%;width:100%;}
.staff-item figure a img{width:100%;height:100%;min-height:0;object-fit:cover;display:block;}
.staff-item .position{
  top:14px;left:14px;padding:6px 14px;border-radius:999px;background:#fff;
  -webkit-transform:none !important;transform:none !important;font-size:12px;font-weight:700;letter-spacing:.04em;
  box-shadow:0 2px 10px rgba(0,0,0,.12);
}
.staff-item .details{
  position:relative;margin-top:-20px;padding:22px 24px 24px;border:0;background:#fff;
  border-radius:var(--ct-radius) var(--ct-radius) 0 0;
}
.staff-item .details h5{margin:0 0 6px;padding:0;text-align:left;}
.staff-item .details h5 a{
  height:auto;font-family:var(--ct-heading);font-weight:400;font-size:21px;line-height:1.3;color:#000;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.staff-item .details p,.staff-item .details--tour p{
  height:auto;margin:6px 0 14px;text-align:left;font-size:15px;line-height:1.55;color:var(--ct-muted);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.price--pak,.details--tour .price--pak{
  display:inline-block;background:#ff8100;color:#fff;border-radius:999px;
  padding:7px 16px;font-size:14px;font-weight:700;text-transform:none;letter-spacing:0;line-height:1.2;
  box-shadow:0 3px 12px rgba(0,0,0,.18);
}
/* the price tag sits on the lower-left corner of the photo */
.details--tour .price--pak{position:absolute;top:-52px;left:20px;margin:0;}

/* -- Offer cards -- */
.offer-item figure{margin:0;border-radius:var(--ct-radius);overflow:hidden;}
.offer-item figure img{width:100%;height:300px;object-fit:cover;border-radius:0;display:block;}
.offer-item .offer-title{left:14px;bottom:14px;width:auto;max-width:calc(100% - 28px);border-radius:var(--ct-radius-sm);padding:10px 16px;}
.offer-item .offer-title a{font-family:var(--ct-heading);}
.offer-item .offer-price{border-radius:999px;top:14px;right:14px;}


/* ---------- Blog cards ---------- */
.news-grid-item{background:#fff;border-radius:var(--ct-radius);overflow:hidden;box-shadow:var(--ct-shadow);transition:box-shadow .25s ease;height:100%;}
.news-grid-item:hover{box-shadow:var(--ct-shadow-hover);}
.news-grid-item figure{margin:0;width:100%;aspect-ratio:16/10;overflow:hidden;position:relative;}
.news-grid-item figure a{display:block;height:100%;}
.news-grid-item figure img{width:100%;height:100%;object-fit:cover;display:block;transform:none !important;filter:none !important;}
.news-grid-item figure a:before,.news-grid-item .link-icon:before,.news-grid-item.gradient-overlay-hover:after,.news-grid-item .gradient-overlay-hover:after{display:none !important;content:none !important;}
.news-grid-item .news-info{position:relative;margin-top:-20px;padding:22px 24px 24px;border:0;border-radius:var(--ct-radius) var(--ct-radius) 0 0;background:#fff;text-align:left;}
.news-grid-item .news-info .title{margin:0 0 8px;}
.news-grid-item .news-info .title a{font-family:var(--ct-heading);font-weight:400;font-size:21px;line-height:1.3;margin:0;color:#000;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.news-grid-item .news-info p{height:auto;font-size:15px;line-height:1.55;color:var(--ct-muted);margin:0 0 12px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}

/* ---------- Tour page: photo gallery (no frame, no crop zoom) ---------- */
.img--large,.img--small{border-radius:var(--ct-radius-sm);overflow:hidden;}
.img--large{height:auto !important;aspect-ratio:16/10;display:block;}
.img--small{height:auto !important;aspect-ratio:4/3;display:block;margin-bottom:16px;}
.img--large img,.img--small img{width:100%;height:100% !important;min-height:0 !important;object-fit:cover;display:block;transform:none !important;}
.img--large:before,.img--small:before{display:none !important;content:none !important;}
.no--photo--slider{border-radius:999px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.15);}

/* ---------- Text boxes, sidebar and FAQ ---------- */
.section-title-more{border:0;border-radius:var(--ct-radius);box-shadow:var(--ct-shadow);padding:24px 28px;background:#fff;}
.sidebar .widget .widget-title{font-family:var(--ct-heading);font-weight:400;text-transform:none;font-size:24px;}
.faq .section-title h4,.faq .section-title h2{font-family:var(--ct-heading);font-weight:400;text-transform:none;}
.faq--block .card{border-radius:var(--ct-radius-sm);overflow:hidden;border:0;box-shadow:var(--ct-shadow);}
.bart_block_faq{border-radius:var(--ct-radius-sm);}

/* ---------- Phones and tablets ---------- */
@media (max-width:991px){
  header.horizontal-header,
  header.horizontal-header.transparent-header,
  header.horizontal-header.header-fixed-top{left:12px;right:12px;border-radius:18px;}
  header.horizontal-header.transparent-header{top:46px;}
  header.horizontal-header.sticky-header:not(.transparent-header):not(.header-fixed-top){margin:10px 12px;}
  header.horizontal-header > .container{padding:0 16px;}
  header.horizontal-header .brand .logo img,
  header.horizontal-header .brand .logo img.logo-main,
  .horizontal-header.sticky-header.p-3.loaded-header .logo img{height:44px !important;width:auto !important;}
  header.horizontal-header .brand{padding:8px 0;}
  .mobile-header .toggle-menu-button,header.horizontal-header .toggle-menu-button{margin:0 0 0 auto;float:none;}
  .section-title h4{font-size:30px;}
  .empire-slider{height:calc(100vh - 34px) !important;}
}
