/* ===== PT MASTER DESIGN SYSTEM ===== */
:root{--pt-navy:#1A3A5C;--pt-navy-d:#0d2340;--pt-gold:#C19A3A;--pt-red:#8B1A1A;--pt-cream:#F5F0E8}

/* NAV: submenu + hamburger */
@media (min-width:768px){
  .elementor-location-header .elementor-menu-toggle{display:none!important}
  .elementor-location-header nav.elementor-nav-menu--dropdown{display:none!important}
  .elementor-location-header li.menu-item-has-children:hover>.sub-menu.elementor-nav-menu--dropdown{display:block!important;position:absolute!important;top:100%!important;left:0!important;min-width:220px!important;background:#fff!important;border-radius:10px!important;box-shadow:0 12px 32px rgba(0,0,0,.15)!important;padding:8px 0!important;z-index:999!important;list-style:none!important;margin:6px 0 0!important}
  .elementor-location-header li.menu-item-has-children{position:relative!important}
  .elementor-location-header .sub-menu.elementor-nav-menu--dropdown .elementor-sub-item{display:block!important;padding:10px 18px!important;color:var(--pt-navy)!important;font-size:13px!important;white-space:nowrap!important}
  .elementor-location-header .sub-menu.elementor-nav-menu--dropdown .elementor-sub-item:hover{background:rgba(193,154,58,.1)!important}
}
@media (max-width:767px){
  .elementor-location-header .elementor-nav-menu--main{display:none!important}
  .elementor-location-header .elementor-menu-toggle{display:flex!important;background:#fff!important;border:1px solid rgba(193,154,58,.3)!important;border-radius:9px!important;color:var(--pt-navy)!important;cursor:pointer!important}
  .elementor-location-header .elementor-nav-menu--dropdown{position:fixed!important;top:60px!important;left:0!important;right:0!important;background:#fff!important;max-height:calc(100vh - 60px)!important;overflow-y:auto!important;box-shadow:0 8px 24px rgba(0,0,0,.15)!important}
  .elementor-location-header .elementor-nav-menu--dropdown>ul>li>a{display:flex!important;align-items:center!important;padding:14px 20px!important;color:var(--pt-navy)!important;border-bottom:1px solid rgba(193,154,58,.15)!important}
  .elementor-location-header .elementor-nav-menu--dropdown .sub-menu{background:var(--pt-cream)!important;list-style:none!important;padding:4px 0!important;margin:0!important}
  .elementor-location-header .elementor-nav-menu--dropdown .sub-menu li a{padding:12px 24px 12px 36px!important;font-size:13px!important}
}

/* PAGE TITLE BAND -> navy hero band for CPT archives/singles that still use theme title bar */
body.post-type-archive-tour .page-title-container,
body.tax-tour_type .page-title-container,
body.post-type-archive-accommodation .page-title-container,
body.single-tour .page-title-container,
body.page-id-10888 .page-title-container{
  background:var(--pt-navy)!important;padding:44px 20px 36px!important;text-align:center!important;border:none!important
}
body.post-type-archive-tour .page-title-container h2,
body.tax-tour_type .page-title-container h2,
body.post-type-archive-accommodation .page-title-container h2,
body.single-tour .page-title-container h2,
body.page-id-10888 .page-title-container h2{
  font-family:'Playfair Display',Georgia,serif!important;color:#fff!important;font-size:32px!important;font-weight:800!important;float:none!important;text-shadow:none!important
}
body.post-type-archive-tour .page-title-container .breadcrumbs,
body.post-type-archive-accommodation .page-title-container .breadcrumbs,
body.single-tour .page-title-container .breadcrumbs{
  color:rgba(255,255,255,.6)!important
}
body.post-type-archive-tour .page-title-container .breadcrumbs a,
body.post-type-archive-accommodation .page-title-container .breadcrumbs a{color:#C19A3A!important}

/* CARD RESKIN: .box used by tour + accommodation listings */
article.box{background:#fff!important;border:none!important;border-radius:16px!important;overflow:hidden!important;box-shadow:0 4px 18px rgba(26,58,92,.08)!important;transition:transform .2s!important}
article.box:hover{transform:translateY(-3px)}
article.box .details{padding:16px 18px!important}
article.box .box-title{font-family:'Playfair Display',Georgia,serif!important;color:var(--pt-navy)!important;font-weight:800!important;font-size:16px!important}
article.box .box-title a{color:inherit!important}
article.box .price{color:var(--pt-red)!important;font-weight:800!important;font-size:16px!important}
article.box hr{border-color:rgba(193,154,58,.15)!important;margin:10px 0!important}
article.box .description{color:#666!important;font-size:13px!important;line-height:1.6!important}
article.box .time,article.box .time span{color:#888!important;font-size:12px!important}
article.box .discount{background:var(--pt-gold)!important}

/* Filter sidebar panel reskin */
.toggle-container.style1 .panel{border-radius:12px!important;border:1px solid rgba(193,154,58,.15)!important;overflow:hidden!important;margin-bottom:10px!important}
.toggle-container.style1 .panel-title{background:var(--pt-cream)!important;color:var(--pt-navy)!important;font-weight:700!important;font-size:13px!important}
.tour-searchform .btn-medium{background:var(--pt-red)!important;border-color:var(--pt-red)!important;border-radius:22px!important;font-weight:700!important}

/* SEARCH form results title */
.search-results-title{color:var(--pt-navy)!important;font-family:'Playfair Display',Georgia,serif!important}

/* Travel Guide single: tab fix + dead widgets */
body.single-travel_guide .flexslider:not(:has(img)){display:none!important}
body.single-travel_guide .tab-container.style1{margin-top:0!important}
body.single-travel_guide .tabs.full-width{overflow:visible!important;display:flex!important;list-style:none!important;margin:0!important;padding:0!important;position:relative!important;z-index:2!important}
body.single-travel_guide .tabs.full-width li{float:none!important}
body.single-travel_guide .tab-content{clear:both!important;padding:24px 28px!important}
#forecast_embed{display:none!important}

/* Mobile: archive + card grid */
@media (max-width:767px){
  body.post-type-archive-tour .page-title-container h2,
  body.post-type-archive-accommodation .page-title-container h2,
  body.single-tour .page-title-container h2,
  body.page-id-10888 .page-title-container h2{font-size:24px!important}
  .row .col-sm-4{width:100%!important}
}

/* ===== PT SINGLE HOTEL RESKIN ===== */
.pt-hotel-page{background:#F5F0E8;font-family:Inter,sans-serif}
.pt-hotel-container{max-width:1200px;margin:0 auto;padding:28px 40px;display:grid;grid-template-columns:2fr 1fr;gap:24px}
.pt-slider-amenities-wrap{grid-column:1/-1;display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:20px}
.pt-hotel-slider,.photo-gallery.flexslider{border-radius:16px;overflow:hidden;height:280px;background:#c9bfa5}
.pt-no-photo-placeholder{height:280px;border-radius:16px;background:#e5ddc8;display:flex;align-items:center;justify-content:center;color:#1A3A5C}
.pt-amenities-col{background:#fff;border-radius:16px;padding:18px}
.pt-amenities-title{font-family:'Playfair Display',Georgia,serif;color:#1A3A5C;font-size:15px;margin:0 0 14px;border-bottom:1px solid #eee;padding-bottom:10px}
.pt-amenities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pt-amenity-item{background:#F5F0E8;border-radius:10px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:5px;position:relative}
.pt-amenity-icon{color:#1A3A5C;font-size:16px}
.pt-amenity-tooltip{font-size:9px;color:#666;text-align:center}

.pt-booking-section{background:#fff;border-radius:16px;overflow:hidden;grid-column:1/-1;margin-bottom:20px}
.pt-booking-header{background:#1A3A5C;padding:18px 24px}
.pt-booking-header *{color:#fff!important}
.pt-form-steps{display:flex;gap:0;background:#fff;border-bottom:1px solid #eee;padding:0 24px}
.pt-step{padding:14px 18px;font-size:12px;font-weight:700;color:#999}
.pt-step.active{color:#8B1A1A;border-bottom:2px solid #8B1A1A}
.pt-booking-body{padding:22px 24px}
.pt-form-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.pt-fg{flex:1;min-width:140px}
.pt-fg label{font-size:11px;font-weight:700;color:#1A3A5C;display:block;margin-bottom:5px}
.pt-input{width:100%;border:1px solid #e5e0d5;border-radius:9px;padding:10px 12px;font-size:13px;box-sizing:border-box}
.pt-btn-primary{background:#8B1A1A;color:#fff!important;border:none;border-radius:22px;padding:12px 26px;font-weight:700;font-size:13px}
.pt-btn-secondary{background:#fff;color:#1A3A5C!important;border:1.5px solid #1A3A5C;border-radius:22px;padding:12px 26px;font-weight:700;font-size:13px}

.pt-section-card{background:#fff;border-radius:16px;padding:22px 24px;margin-bottom:20px}
.pt-section-title{font-family:'Playfair Display',Georgia,serif;color:#1A3A5C;font-size:17px;margin:0 0 14px;border-bottom:1px solid #eee;padding-bottom:10px}
.pt-desc-content{font-size:13px;color:#666;line-height:1.75}
.pt-review-item{border-bottom:1px solid #f0f0f0;padding:14px 0}

.pt-hotel-sidebar{display:flex;flex-direction:column;gap:16px}
.pt-sidebar-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 18px rgba(26,58,92,.08)}
.pt-sidebar-title,.pt-sidebar-location,.pt-sidebar-card>.five-stars-container,.pt-sidebar-card>.five-stars{display:none!important}
.pt-price-block{display:block;padding-top:0}
.pt-price-label{display:block;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.04em}
.pt-price-value{display:block;font-family:'Playfair Display',Georgia,serif;font-size:28px;color:#8B1A1A;font-weight:800;margin:4px 0}
.pt-price-note{display:block;font-size:11px;color:#999}
.pt-wishlist-btn{display:block;text-align:center;margin-top:14px;padding:10px;border-radius:20px;border:1.5px solid rgba(139,26,26,.3);color:#8B1A1A!important;font-size:12px;font-weight:700;text-decoration:none}
.pt-sidebar-subtitle{font-family:'Playfair Display',Georgia,serif;color:#1A3A5C;font-size:14px;margin:0 0 10px}

@media(max-width:767px){
  .pt-hotel-container{grid-template-columns:1fr;padding:20px}
  .pt-slider-amenities-wrap{grid-template-columns:1fr}
  .pt-amenities-grid{grid-template-columns:repeat(3,1fr)}
  .pt-form-row{flex-direction:column}
}

/* ===== PT SINGLE TOUR reuse same card language ===== */
body.single-tour .box{background:#fff;border-radius:16px;padding:0}
body.single-tour .container{max-width:1200px}

.pt-no-photo-placeholder{height:280px;border-radius:16px;background-size:cover!important;background-position:center!important;position:relative}
.pt-no-photo-placeholder::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(5,15,30,.35),transparent 50%);border-radius:16px}

.pt-no-photo-placeholder{background-image:var(--pt-bg)!important}