/* v1.5: compact layouts, bright scenery, explicit dark-section contrast. */
.site-header,
body.home .site-header,
body.home .site-header.is-scrolled {
  background-color:#061f17;
  background-image:none;
  box-shadow:0 8px 24px rgba(2,18,12,.2);
}
.elementor .e-con.site-shell { width:min(calc(100% - 48px),var(--crpt-shell)); margin-inline:auto; }
.elementor .e-con { --gap:0px; --row-gap:0px; --column-gap:0px; }
.elementor .e-con:is(.area-grid,.destination-grid,.pillar-grid,.journey-grid) { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.elementor .e-con:is(.info-grid,.fact-grid,.experience-grid,.trust-grid,.reassurance-grid) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.elementor .e-con:is(.positioning-grid,.positioning-showcase,.match-layout,.split-copy,.split-feature,.faq-layout,.contact-layout) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.elementor .e-con.final-cta-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; }
.elementor .e-con.hero-actions { display:flex; flex-direction:row; flex-wrap:wrap; gap:14px; }
.elementor .section,.section { padding:48px 0; }
.elementor p,p { margin-bottom:12px; }
.elementor .section-header { margin-bottom:24px; }
.elementor h2.elementor-heading-title { font-size:clamp(1.7rem,2.7vw,2.6rem); line-height:1.16; }
.elementor .crpt-home-hero { min-height:500px; align-items:flex-start; }
.elementor .crpt-hero-inner { padding-top:143px; padding-bottom:48px; }
.elementor .crpt-hero-copy { max-width:650px; width:58%; }
.elementor h1.elementor-heading-title { font-size:clamp(2.4rem,4.2vw,4rem); line-height:1.08; }
.elementor .hero-lead { font-size:1.05rem; }
.elementor .crpt-page-hero { min-height:360px; padding:143px 0 48px; }
.elementor .crpt-page-hero-content { padding-top:0; padding-bottom:0; }
.crpt-hero::before,.crpt-page-hero::before { background:linear-gradient(90deg,rgba(4,31,22,.8),rgba(4,31,22,.52) 48%,transparent 85%)!important; }
.crpt-home-hero::before { background:linear-gradient(90deg,rgba(4,31,22,.68),rgba(4,31,22,.34) 52%,rgba(4,31,22,.06))!important; }
.crpt-page-hero-move::before { background:linear-gradient(90deg,rgba(4,31,22,.62),rgba(4,31,22,.3) 55%,rgba(4,31,22,.04))!important; }
.crpt-page-hero-tourism::before { background:linear-gradient(90deg,rgba(4,31,22,.66),rgba(4,31,22,.32) 55%,rgba(4,31,22,.06))!important; }
.elementor .positioning-photo img { height:100%; object-fit:cover; }
.elementor .positioning-visual { min-height:310px; }
.elementor .visual-note { padding:20px; }
.elementor .visual-note .elementor-widget-text-editor,.elementor .visual-note a { color:#fff; }
.elementor .e-con.morning-overlay {
  max-width:620px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  animation:crptMorningFloat 6s ease-in-out infinite;
}
.elementor .morning-overlay .elementor-heading-title,
.elementor .morning-overlay .visual-note-label {
  color:#fff!important;
  text-shadow:0 3px 18px rgba(0,0,0,.82),0 1px 3px rgba(0,0,0,.95);
}
.elementor .morning-overlay .elementor-heading-title { font-size:clamp(1.8rem,3vw,3rem); line-height:1.08; }
.elementor .morning-overlay .visual-note-label { color:var(--crpt-gold-soft)!important; }
@keyframes crptMorningFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }
.elementor .area-grid,.elementor .destination-grid { gap:16px; }
.elementor .area-card,.elementor .destination-visual-card { min-height:310px; padding:160px 18px 18px; justify-content:flex-end; gap:6px; }
.area-card::before,.destination-visual-card::before { background:linear-gradient(0deg,#093323 0%,rgba(9,51,35,.96) 40%,transparent 65%)!important; }
.elementor .area-card h3.elementor-heading-title,.elementor .destination-visual-card h3.elementor-heading-title { font-size:1.3rem; }
.elementor .area-card p,.elementor .destination-visual-card p { font-size:.9rem; line-height:1.45; margin-bottom:0; }
.elementor .destination-visual-card .elementor-heading-title,
.elementor .destination-visual-card .elementor-widget-text-editor,
.elementor .destination-visual-card p { color:#fff!important; }
.elementor .section-forest .elementor-heading-title,.elementor .section-forest .elementor-widget-text-editor,
.elementor .final-cta .elementor-heading-title,.elementor .final-cta .elementor-widget-text-editor,
.elementor .crpt-hero .elementor-heading-title,.elementor .crpt-hero .elementor-widget-text-editor,
.elementor .crpt-page-hero .elementor-heading-title,.elementor .crpt-page-hero .elementor-widget-text-editor,
.elementor .tourism-portal .elementor-heading-title,.elementor .tourism-portal .elementor-widget-text-editor,
.elementor .tourism-banner .elementor-heading-title,.elementor .tourism-banner .elementor-widget-text-editor,
.elementor .destination-visual-card .elementor-heading-title,.elementor .destination-visual-card .elementor-widget-text-editor,
.elementor .area-card .elementor-heading-title,.elementor .area-card .elementor-widget-text-editor { color:#fff!important; }
.elementor .tourism-portal,.elementor .tourism-banner { min-height:300px; padding:42px 0; }
.tourism-portal::before,.tourism-banner::before,.scenic-section::before { background:linear-gradient(90deg,rgba(4,31,22,.84),rgba(4,31,22,.55) 52%,transparent)!important; }
.elementor .tourism-portal-inner,.elementor .tourism-banner-inner { padding-top:0; padding-bottom:0; }
.elementor .final-cta { padding:36px 0; }
.elementor .crpt-transport .site-shell { gap:12px; }
.elementor .crpt-transport p { max-width:960px; }
.elementor .crpt-page-hero-contact .crpt-page-hero-content { max-width:none; width:min(1240px,calc(100% - 48px)); margin:auto; }
.elementor .crpt-page-hero-contact .crpt-page-hero-content > * { max-width:none; }
.elementor .crpt-page-hero-contact h1.elementor-heading-title { max-width:none; font-size:clamp(2rem,3.6vw,3.6rem); }
.elementor .contact-form-card { padding:28px; }
.elementor .info-card,.elementor .pillar-card,.elementor .journey-card,.elementor .trust-card { padding:24px; }
.elementor .form-grid { gap:16px; }
.elementor .crpt-contact-form textarea { min-height:100px; }
.crpt-contact-buttons { display:flex; flex-wrap:wrap; gap:10px; }
.crpt-contact-buttons .button { min-height:44px; padding:12px 18px; }
.crpt-private-contact a { overflow-wrap:anywhere; }
button:disabled { opacity:.65; cursor:wait; }
.faq-item { border-bottom:1px solid #bed0c4; padding:16px 0; }
.faq-item summary { cursor:pointer; font-size:1.1rem; font-weight:600; padding:8px 0; }
.faq-item div { padding:12px 0; max-width:900px; }
#enquiry,#direct-contact,#locations,#faq { scroll-margin-top:120px; }
.site-footer { padding-top:36px; }
.footer-grid { gap:28px; padding-top:12px; padding-bottom:24px; }
.footer-disclaimer { padding-top:14px; padding-bottom:14px; }
.footer-bottom { padding-top:16px; padding-bottom:20px; }

.elementor .e-con.beauty-gallery-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.elementor .beauty-gallery-image { overflow:hidden; border-radius:8px; box-shadow:0 12px 30px rgba(6,39,28,.12); }
.elementor .beauty-gallery-image .elementor-widget-container { height:220px; overflow:hidden; }
.elementor .beauty-gallery-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.elementor .beauty-gallery-image:hover img { transform:scale(1.045); }
.elementor .beauty-gallery-image-1 .elementor-widget-container,
.elementor .beauty-gallery-image-2 .elementor-widget-container { height:280px; }

/* v1.6: editable Elementor Pro Theme Builder header and footer. */
.elementor-location-header {
  position:fixed;
  inset:0 0 auto;
  z-index:1000;
  min-height:95px;
  color:#fff;
  background:#061f17;
  box-shadow:0 8px 24px rgba(2,18,12,.2);
}
.admin-bar .elementor-location-header { top:32px; }
.elementor .e-con.crpt-elementor-header {
  min-height:95px;
  background:#061f17;
  border-bottom:1px solid rgba(255,255,255,.13);
}
.elementor .e-con.crpt-builder-header-shell {
  display:flex;
  min-height:95px;
  align-items:center;
  gap:24px;
}
.elementor .e-con.crpt-builder-brand {
  display:flex;
  flex:0 0 auto;
  width:auto;
  align-items:center;
  gap:12px;
}
.elementor .crpt-builder-logo { width:50px; flex:0 0 50px; }
.elementor .crpt-builder-logo img { display:block; width:50px; height:62px; object-fit:contain; }
.elementor .e-con.crpt-builder-brand-copy { width:auto; gap:1px; }
.elementor .crpt-builder-brand-copy .elementor-widget { margin:0; }
.elementor .crpt-builder-brand-copy .elementor-heading-title {
  color:#fff;
  font-family:"CRPT Serif",Georgia,serif;
  font-size:1.12rem;
  line-height:1.15;
  white-space:nowrap;
}
.elementor .crpt-builder-brand-subtitle p {
  margin:0;
  color:rgba(255,255,255,.7);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.12em;
  line-height:1.15;
  text-transform:uppercase;
  white-space:nowrap;
}
.elementor .crpt-builder-nav { width:auto; margin-left:auto; }
.elementor .crpt-builder-nav .elementor-nav-menu--main .elementor-item {
  padding:36px 11px 33px;
  color:rgba(255,255,255,.92);
  font-size:.69rem;
  font-weight:700;
  letter-spacing:.055em;
  text-transform:uppercase;
  white-space:nowrap;
}
.elementor .crpt-builder-nav .elementor-nav-menu--main .elementor-item:hover,
.elementor .crpt-builder-nav .elementor-nav-menu--main .elementor-item:focus,
.elementor .crpt-builder-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color:#fff; }
.elementor .crpt-builder-nav .elementor-nav-menu--main .elementor-item::after { background-color:var(--crpt-gold); }
.elementor .crpt-builder-header-cta { width:auto; flex:0 0 auto; }
.elementor .crpt-builder-header-cta .elementor-button { min-height:44px; padding:12px 17px; }

.elementor-location-footer { color:rgba(255,255,255,.72); background:var(--crpt-forest-deep); }
.elementor .e-con.crpt-elementor-footer { padding:48px 0 0; background:var(--crpt-forest-deep); }
.elementor .e-con.crpt-builder-footer-grid {
  display:grid;
  grid-template-columns:1.25fr .8fr .75fr;
  gap:64px;
  padding-bottom:38px;
}
.elementor .e-con.crpt-builder-footer-column { display:flex; flex-direction:column; gap:10px; }
.elementor .crpt-builder-footer-column .elementor-heading-title {
  margin:0 0 8px;
  color:#fff;
  font-family:"CRPT Sans",Arial,sans-serif;
  font-size:.74rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.elementor .crpt-builder-footer-brand .elementor-heading-title {
  font-family:"CRPT Serif",Georgia,serif;
  font-size:1.35rem;
  letter-spacing:0;
  text-transform:none;
}
.elementor .crpt-builder-footer-column p { margin:0 0 9px; color:rgba(255,255,255,.72); font-size:.86rem; }
.elementor .crpt-builder-footer-column a,
.elementor .crpt-builder-footer-bottom a { color:var(--crpt-gold-soft); text-decoration:none; }
.elementor .crpt-builder-footer-column a:hover,
.elementor .crpt-builder-footer-column a:focus,
.elementor .crpt-builder-footer-bottom a:hover,
.elementor .crpt-builder-footer-bottom a:focus { color:#fff; }
.elementor .e-con.crpt-builder-footer-bottom {
  display:flex;
  flex-direction:row;
  justify-content:space-between;
  gap:24px;
  padding:16px 0 20px;
  border-top:1px solid rgba(255,255,255,.11);
}
.elementor .crpt-builder-footer-bottom p { margin:0; color:rgba(255,255,255,.65); font-size:.74rem; }
@media(min-width:1100px){.elementor .crpt-page-hero-contact h1.elementor-heading-title{white-space:nowrap;}}
@media(max-width:1100px){.desktop-nav{display:none!important}.mobile-menu{display:block!important}.header-cta{margin-left:auto}.elementor .crpt-builder-nav .elementor-nav-menu--main{display:none}.elementor .crpt-builder-nav .elementor-menu-toggle{display:flex;color:#fff;background:rgba(255,255,255,.08)}.elementor .crpt-builder-nav .elementor-nav-menu--dropdown{position:absolute;right:0;top:100%;min-width:280px;background:#061f17;box-shadow:0 16px 30px rgba(0,0,0,.22)}.elementor .crpt-builder-nav .elementor-nav-menu--dropdown .elementor-item{color:#fff}.elementor .area-grid,.elementor .destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.elementor .crpt-hero-copy{width:75%;}.elementor .crpt-hero-inner{padding-top:128px;}.elementor .crpt-page-hero{padding-top:128px;}}
@media(max-width:1100px){.elementor .e-con:is(.area-grid,.destination-grid,.pillar-grid,.journey-grid,.info-grid,.fact-grid,.experience-grid){grid-template-columns:repeat(2,minmax(0,1fr));}.elementor .e-con.beauty-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){
 .admin-bar .elementor-location-header{top:46px}.elementor-location-header,.elementor .e-con.crpt-elementor-header,.elementor .e-con.crpt-builder-header-shell{min-height:78px}
 .elementor .e-con.crpt-builder-header-shell{gap:10px}.elementor .crpt-builder-logo{width:38px;flex-basis:38px}.elementor .crpt-builder-logo img{width:38px;height:48px}
 .elementor .crpt-builder-brand-copy .elementor-heading-title{font-size:.94rem}.elementor .crpt-builder-brand-subtitle{display:none}.elementor .crpt-builder-header-cta{display:none}
 .elementor .crpt-builder-nav{margin-left:auto}.elementor .crpt-builder-nav .elementor-nav-menu--dropdown{position:fixed;top:78px;right:0;left:0;width:100%;min-width:0}
 .admin-bar .elementor .crpt-builder-nav .elementor-nav-menu--dropdown{top:124px}
 .elementor .e-con.crpt-elementor-footer{padding-top:38px}.elementor .e-con.crpt-builder-footer-grid{grid-template-columns:1fr;gap:28px;padding-bottom:28px}
 .elementor .e-con.crpt-builder-footer-bottom{flex-direction:column;gap:8px}
 .elementor .e-con.beauty-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.elementor .beauty-gallery-image .elementor-widget-container,.elementor .beauty-gallery-image-1 .elementor-widget-container,.elementor .beauty-gallery-image-2 .elementor-widget-container{height:180px}
 .elementor .section,.section{padding:32px 0}.elementor .crpt-home-hero{min-height:460px}.elementor .crpt-hero-copy{width:100%;max-width:none}
 .elementor .crpt-hero-inner{padding:110px 0 40px}.elementor .crpt-page-hero{min-height:280px;padding:110px 0 40px}
 .crpt-hero::before,.crpt-page-hero::before{background:linear-gradient(90deg,rgba(4,31,22,.82),rgba(4,31,22,.48))!important}
 .elementor .positioning-showcase,.elementor .contact-layout{grid-template-columns:1fr}
 .elementor .area-grid,.elementor .destination-grid{grid-template-columns:1fr}
 .elementor .area-card,.elementor .destination-visual-card{min-height:300px}.elementor .contact-form-card{padding:20px}
 .elementor .crpt-page-hero-contact h1.elementor-heading-title{white-space:normal}.elementor .final-cta-inner{gap:18px}
 .tourism-portal::before,.tourism-banner::before,.scenic-section::before{background:linear-gradient(90deg,rgba(4,31,22,.86),rgba(4,31,22,.53))!important}
 .site-shell{width:calc(100% - 36px)}.elementor .crpt-page-hero-contact .crpt-page-hero-content{width:calc(100% - 36px)}
 .elementor .e-con.site-shell{width:calc(100% - 36px)}
 .elementor .e-con:is(.area-grid,.destination-grid,.pillar-grid,.journey-grid,.info-grid,.fact-grid,.experience-grid,.trust-grid,.reassurance-grid,.positioning-grid,.positioning-showcase,.match-layout,.split-copy,.split-feature,.faq-layout,.contact-layout,.final-cta-inner){grid-template-columns:1fr;gap:20px}
}
