/*
Theme Name: Voyage Experts
Theme URI: https://voyageexperts.net/
Author: Voyage Experts
Description: Turnkey accommodation and direct-booking theme for Voyage Experts.
Version: 2.0.0-alpha.3
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: voyage-experts
*/
:root{--vex-ink:#0b1f33;--vex-sea:#0c7184;--vex-sand:#f4ead8;--vex-gold:#c89b3c;--vex-white:#fff;--vex-muted:#607080;--vex-bg:#f7f8fa}
*{box-sizing:border-box}body{margin:0;background:var(--vex-bg);color:var(--vex-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6}a{color:inherit}.vex-wrap{width:min(1180px,calc(100% - 36px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);box-shadow:0 6px 24px rgba(11,31,51,.08)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-branding a{text-decoration:none;font-weight:800;font-size:1.35rem;letter-spacing:.02em}.site-nav ul{list-style:none;display:flex;gap:22px;margin:0;padding:0}.site-nav a{text-decoration:none;font-weight:700}.menu-toggle{display:none;border:0;background:none;font-size:1.5rem}
.vex-hero{min-height:70vh;display:grid;place-items:center;text-align:center;color:white;background-color:#0b1f33;background-position:center;background-size:cover;background-repeat:no-repeat}.vex-hero-inner{max-width:820px;padding:80px 20px}.vex-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.8rem;font-weight:800;color:#f2d396}.vex-hero h1{font-size:clamp(2.5rem,6vw,5.4rem);line-height:1.02;margin:.35em 0}.vex-hero p{font-size:1.15rem;max-width:700px;margin:0 auto 28px}.vex-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 24px;background:var(--vex-gold);color:#142030;text-decoration:none;font-weight:800;border:0;cursor:pointer}.vex-btn.alt{background:white}
.vex-section{padding:76px 0}.vex-section-head{text-align:center;max-width:720px;margin:0 auto 34px}.vex-section h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;margin:0 0 12px}.vex-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.vex-card{background:white;border-radius:22px;overflow:hidden;box-shadow:0 16px 50px rgba(12,36,58,.10)}.vex-card-image{aspect-ratio:4/3;background:#d8e4e8 center/cover no-repeat;display:block}.vex-card-body{padding:22px}.vex-card h3{margin:0 0 8px;font-size:1.35rem}.vex-card-meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--vex-muted);font-size:.92rem}.vex-price{font-weight:800;color:var(--vex-sea);margin-top:14px}.vex-band{background:var(--vex-ink);color:white}.vex-features{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.vex-feature{padding:26px;border:1px solid rgba(255,255,255,.15);border-radius:18px}.vex-feature h3{margin-top:0}
.vex-form-shell{max-width:900px;margin:0 auto;background:white;padding:28px;border-radius:24px;box-shadow:0 16px 60px rgba(12,36,58,.12)}.vex-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.vex-form-grid .full{grid-column:1/-1}.vex-form label{font-weight:750}.vex-form input,.vex-form select,.vex-form textarea{width:100%;padding:13px 14px;border:1px solid #ccd5dc;border-radius:12px;font:inherit}.vex-notice{padding:14px 16px;border-radius:12px;margin-bottom:18px}.vex-notice.success{background:#e4f7ed;color:#145c33}.vex-notice.error{background:#fdeaea;color:#8d1c1c}
.site-footer{background:#071a2c;color:white;padding:48px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.site-footer a{text-decoration:none}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:32px;padding-top:20px;color:#bdc8d1}
.vex-page-hero{padding:90px 0 54px;background:linear-gradient(135deg,var(--vex-ink),var(--vex-sea));color:white;text-align:center}.vex-content{padding:58px 0}.vex-property-single{display:grid;grid-template-columns:1.5fr .75fr;gap:34px}.vex-sidebar{background:white;padding:24px;border-radius:20px;height:max-content;box-shadow:0 12px 42px rgba(12,36,58,.1)}
@media(max-width:850px){.site-nav{display:none}.menu-toggle{display:block}.site-nav.open{display:block;position:absolute;top:76px;left:0;right:0;background:white;padding:20px}.site-nav.open ul{flex-direction:column}.vex-grid,.vex-features,.footer-grid,.vex-property-single{grid-template-columns:1fr}.vex-form-grid{grid-template-columns:1fr}.vex-form-grid .full{grid-column:auto}}

.vex-hero-search{margin:34px auto 0;max-width:1000px;background:rgba(255,255,255,.96);padding:18px;border-radius:20px;color:var(--vex-ink);box-shadow:0 20px 55px rgba(0,0,0,.25);text-align:left}.vex-hero-search .mphb_sc_search-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.vex-hero-search p{margin:0}.vex-hero-search input,.vex-hero-search select{width:100%;padding:12px;border:1px solid #ccd5dc;border-radius:10px}.vex-hero-search input[type=submit]{background:var(--vex-gold);border:0;font-weight:800;cursor:pointer}.vex-mphb-booking .mphb_sc_search-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.vex-mphb-booking input,.vex-mphb-booking select{width:100%;padding:13px;border:1px solid #ccd5dc;border-radius:12px}.vex-existing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media(max-width:850px){.vex-hero-search .mphb_sc_search-form,.vex-mphb-booking .mphb_sc_search-form,.vex-existing-grid{grid-template-columns:1fr}}


/* Alpha 3 premium visual overhaul */
:root{
  --vex-navy:#071a2c;
  --vex-ocean:#0f7084;
  --vex-aqua:#2aa9b7;
  --vex-gold:#d4aa55;
  --vex-cream:#f7f1e7;
  --vex-card:#ffffff;
  --vex-line:#dbe5ea;
  --vex-success:#2b9b64;
  --vex-danger:#d86060;
}
body{background:#f5f8fa}
.site-header{backdrop-filter:blur(16px);border-bottom:1px solid rgba(7,26,44,.06)}
.custom-logo{max-height:54px;width:auto}
.vex-hero{min-height:82vh;position:relative;overflow:hidden;background-position:center;background-size:cover}
.vex-hero:after{content:"";position:absolute;inset:auto -10% -45% auto;width:55vw;height:55vw;border-radius:50%;background:radial-gradient(circle,rgba(42,169,183,.24),rgba(42,169,183,0) 68%);pointer-events:none}
.vex-hero-inner{position:relative;z-index:2;max-width:980px}
.vex-hero h1{font-size:clamp(3rem,7vw,6.5rem);text-shadow:0 8px 40px rgba(0,0,0,.35)}
.vex-hero p{font-size:clamp(1rem,2vw,1.28rem)}
.vex-hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.vex-hero-search{margin:34px auto 0;max-width:930px;background:rgba(255,255,255,.96);color:var(--vex-navy);padding:16px;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.vex-hero-search form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.vex-hero-search input,.vex-hero-search select{height:52px;border:1px solid var(--vex-line);border-radius:12px;padding:0 14px;background:white}
.vex-hero-search button,.vex-hero-search input[type=submit]{height:52px;border:0;border-radius:12px;background:var(--vex-gold);color:var(--vex-navy);font-weight:800;padding:0 22px}
.vex-home-intro{margin-top:-52px;position:relative;z-index:5}
.vex-home-intro-card{background:white;border-radius:24px;padding:28px;box-shadow:0 24px 70px rgba(7,26,44,.14);display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.vex-home-stat{display:flex;gap:14px;align-items:flex-start}.vex-home-stat b{display:block;font-size:1.08rem}.vex-home-stat span{color:var(--vex-muted);font-size:.92rem}.vex-stat-icon{width:44px;height:44px;border-radius:14px;background:var(--vex-cream);display:grid;place-items:center;font-size:1.3rem}
.vex-card{transition:transform .25s ease,box-shadow .25s ease}.vex-card:hover{transform:translateY(-7px);box-shadow:0 26px 65px rgba(12,36,58,.17)}
.vex-card-image{position:relative}.vex-card-image:after{content:"View stay";position:absolute;right:14px;bottom:14px;background:rgba(7,26,44,.82);color:white;padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:800;opacity:0;transform:translateY(6px);transition:.2s}.vex-card:hover .vex-card-image:after{opacity:1;transform:none}
.vex-property-hero{padding:70px 0 34px;background:linear-gradient(135deg,#071a2c,#0f7084);color:white}
.vex-property-title-row{display:flex;justify-content:space-between;align-items:end;gap:24px}
.vex-property-title-row h1{font-size:clamp(2.4rem,5vw,4.6rem);line-height:1.05;margin:.2em 0}
.vex-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:240px 240px;gap:10px;margin:28px 0 36px;border-radius:24px;overflow:hidden}
.vex-gallery-item{display:block;background:#dbe5ea center/cover no-repeat;position:relative;cursor:pointer}
.vex-gallery-item:first-child{grid-row:1/3}
.vex-gallery-item:after{content:"";position:absolute;inset:0;background:rgba(7,26,44,0);transition:.2s}.vex-gallery-item:hover:after{background:rgba(7,26,44,.12)}
.vex-gallery-more{position:absolute;right:16px;bottom:16px;background:white;color:var(--vex-navy);padding:10px 14px;border-radius:999px;font-weight:800;box-shadow:0 8px 25px rgba(0,0,0,.2);z-index:2}
.vex-property-layout{display:grid;grid-template-columns:minmax(0,1.5fr) 390px;gap:34px;align-items:start}
.vex-property-main,.vex-booking-panel{background:white;border-radius:24px;box-shadow:0 18px 54px rgba(7,26,44,.10)}
.vex-property-main{padding:30px}.vex-booking-panel{padding:24px;position:sticky;top:100px}
.vex-property-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 28px}.vex-fact{background:#f4f8fa;border-radius:16px;padding:14px;text-align:center}.vex-fact strong{display:block;font-size:1.1rem}.vex-fact span{font-size:.82rem;color:var(--vex-muted)}
.vex-amenities{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.vex-amenity{background:var(--vex-cream);border-radius:999px;padding:9px 13px;font-size:.9rem;font-weight:700}
.vex-lightbox{position:fixed;inset:0;background:rgba(3,12,20,.94);z-index:99999;display:none;align-items:center;justify-content:center;padding:30px}.vex-lightbox.open{display:flex}.vex-lightbox img{max-width:94vw;max-height:88vh;border-radius:16px;box-shadow:0 30px 100px rgba(0,0,0,.6)}.vex-lightbox-close{position:absolute;top:22px;right:28px;color:white;background:none;border:0;font-size:2.2rem;cursor:pointer}
.vex-calendar-shell{background:white;border:1px solid var(--vex-line);border-radius:20px;padding:18px;box-shadow:0 12px 36px rgba(7,26,44,.08)}
.vex-calendar-legend{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 12px;font-size:.86rem}.vex-calendar-legend span:before{content:"";display:inline-block;width:11px;height:11px;border-radius:4px;margin-right:6px}.vex-calendar-legend .available:before{background:#dff3e9}.vex-calendar-legend .selected:before{background:var(--vex-ocean)}.vex-calendar-legend .booked:before{background:#f6dddd}
.mphb-calendar,.datepick{font-family:inherit!important;background:white!important;border:0!important;border-radius:18px!important;overflow:hidden!important;box-shadow:none!important;width:100%!important}
.datepick-nav,.datepick-ctrl{background:var(--vex-navy)!important;color:white!important;border:0!important}
.datepick-nav a,.datepick-ctrl a{color:white!important;padding:11px!important;font-weight:800!important}
.datepick-month{border:0!important;width:50%!important}
.datepick-month-header{background:var(--vex-ocean)!important;color:white!important;padding:12px 6px!important;font-size:1rem!important}
.datepick-month table{margin:0!important;border-collapse:separate!important;border-spacing:4px!important;padding:8px!important}
.datepick-month th{background:transparent!important;color:var(--vex-muted)!important;font-size:.75rem!important}
.datepick-month td{border:0!important;background:transparent!important}
.datepick-month td a,.datepick-month td span{border-radius:10px!important;padding:9px 5px!important;text-align:center!important;border:0!important}
.datepick-month td a{background:#e8f5ef!important;color:#205d43!important}.datepick-month td a:hover{background:#cfeadb!important}
.datepick-month td .datepick-selected{background:var(--vex-ocean)!important;color:white!important}
.datepick-month td .datepick-unselectable{background:#f2f3f4!important;color:#b7bec3!important}
.mphb-calendar .mphb-booked-date,.mphb-calendar .mphb-not-stay-in-date,.mphb-calendar .mphb-not-available-date{background:#f7dede!important;color:#9a4646!important}
.mphb-reservation-form,.mphb_sc_search-form,.mphb-booking-form{background:white!important;border-radius:20px!important;padding:22px!important;border:1px solid var(--vex-line)!important;box-shadow:0 12px 36px rgba(7,26,44,.08)!important}
.mphb-reservation-form input,.mphb_sc_search-form input,.mphb-reservation-form select,.mphb_sc_search-form select{width:100%!important;min-height:48px!important;border:1px solid var(--vex-line)!important;border-radius:12px!important;padding:10px 12px!important}
.mphb-reservation-form input[type=submit],.mphb_sc_search-form input[type=submit],.mphb-reservation-form button{background:var(--vex-gold)!important;color:var(--vex-navy)!important;border:0!important;border-radius:12px!important;font-weight:800!important;padding:14px 20px!important}
.single-mphb_room_type .mphb-room-type-gallery-wrapper,
.single-mphb_room_type .mphb-single-room-type-post-thumbnail,
.single-mphb_room_type .post-thumbnail{display:none!important}
.single-mphb_room_type .mphb-loop-room-type-attributes,.single-mphb_room_type .mphb-single-room-type-attributes{list-style:none!important;padding:0!important;display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:10px!important}
.single-mphb_room_type .mphb-single-room-type-attributes li{background:#f4f8fa!important;border-radius:12px!important;padding:12px!important}
@media(max-width:900px){
 .vex-home-intro-card,.vex-property-facts{grid-template-columns:1fr 1fr}
 .vex-property-layout{grid-template-columns:1fr}.vex-booking-panel{position:static}
 .vex-gallery{grid-template-columns:1fr 1fr;grid-template-rows:250px 170px}.vex-gallery-item:first-child{grid-column:1/3;grid-row:auto}
 .vex-hero-search form{grid-template-columns:1fr}
}
@media(max-width:600px){
 .vex-home-intro-card,.vex-property-facts{grid-template-columns:1fr}
 .vex-gallery{grid-template-columns:1fr;grid-template-rows:260px 150px 150px}.vex-gallery-item:first-child{grid-column:auto}
 .datepick-month{width:100%!important}
}
