.tp-wrap{width:92%;max-width:1240px;margin:0 auto}
.tp-hero{background:linear-gradient(135deg,#071d2b 0%,#0b2b3d 60%,#087ea4 140%);color:#fff;padding:80px 0 70px;text-align:center}
.tp-label{display:block;color:#7de8ee;font-size:12px;font-weight:800;letter-spacing:1.7px;margin-bottom:14px}
.tp-hero h1{font-family:"Montserrat",sans-serif;font-weight:800;font-size:44px;line-height:1.15;margin:0 0 18px;color:#fff}
.tp-hero p{max-width:760px;margin:0 auto;color:#dbe8ee;font-size:17px;line-height:1.7}
.tp-section{background:#f4f8fa;padding:70px 0}
.tp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.tp-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 18px 45px rgba(7,29,43,.10);display:flex;flex-direction:column;scroll-margin-top:110px;transition:transform .25s ease}
.tp-card:hover{transform:translateY(-4px)}
.tp-img{position:relative;height:230px;background:#dfe9ee}
.tp-img img{width:100%;height:100%;object-fit:cover;display:block}
.tp-badge{position:absolute;top:14px;left:14px;background:#087ea4;color:#fff;font-size:12px;font-weight:700;padding:6px 12px;border-radius:30px}
.tp-body{padding:24px;display:flex;flex-direction:column;flex:1}
.tp-cat{color:#087ea4;font-size:11px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;margin-bottom:8px}
.tp-body h3{font-family:"Montserrat",sans-serif;color:#071d2b;font-size:21px;font-weight:800;line-height:1.3;margin:0 0 12px}
.tp-desc{color:#33434d;font-size:14px;line-height:1.7;margin:0 0 16px}
.tp-meta{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-wrap:wrap;gap:8px 16px;color:#71808a;font-size:13px}
.tp-meta i{color:#13b8c8;margin-right:6px}
.tp-price{border-top:1px solid #e4ebef;border-bottom:1px solid #e4ebef;padding:14px 0;margin-bottom:16px}
.tp-price small{display:block;color:#71808a;font-size:12px;text-transform:uppercase;letter-spacing:.6px}
.tp-price strong{color:#071d2b;font-size:26px;font-weight:800}
.tp-features{list-style:none;padding:0;margin:0 0 22px;color:#33434d;font-size:14px;line-height:1.6;flex:1}
.tp-features li{margin-bottom:7px;padding-left:24px;position:relative}
.tp-features li:before{content:"\f00c";font-family:FontAwesome;color:#13b8c8;position:absolute;left:0;top:0}
.tp-btn{display:block;text-align:center;background:#087ea4;color:#fff !important;font-weight:700;padding:14px 20px;border-radius:8px;text-decoration:none !important}
.tp-btn:hover{background:#071d2b}
.tp-cta{background:#071d2b;color:#fff;text-align:center;padding:80px 0 110px}
.tp-cta h2{font-family:"Montserrat",sans-serif;font-weight:800;font-size:34px;margin:0 0 14px;color:#fff}
.tp-cta p{max-width:680px;margin:0 auto 26px;color:#cbd9df;line-height:1.7}
.tp-cta .tp-btn{display:inline-block;padding:15px 34px;background:#12b7c4}
.tp-cta .tp-btn:hover{background:#fff;color:#071d2b !important}
@media(max-width:991px){.tp-grid{grid-template-columns:repeat(2,1fr)}.tp-hero h1{font-size:34px}}
@media(max-width:640px){.tp-grid{grid-template-columns:1fr}.tp-hero{padding:55px 0 50px}.tp-hero h1{font-size:28px}.tp-cta h2{font-size:26px}}











.tb-section{background:#f4f8fa;padding:70px 0 90px}
.tb-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}
.tb-info{background:#071d2b;color:#fff;border-radius:16px;padding:38px}
.tb-info h2{font-family:"Montserrat",sans-serif;font-weight:800;font-size:28px;line-height:1.25;color:#fff;margin:0 0 14px}
.tb-info > p{color:#cbd9df;line-height:1.7;margin:0 0 26px}
.tb-feature{display:flex;gap:14px;margin-bottom:20px}
.tb-feature i{flex:0 0 38px;height:38px;border-radius:50%;background:rgba(19,184,200,.15);color:#13b8c8;display:flex;align-items:center;justify-content:center}
.tb-feature h4{margin:0 0 4px;font-size:16px;color:#fff;font-weight:700}
.tb-feature p{margin:0;color:#b9c8ce;font-size:14px;line-height:1.6}
.tb-help{border-top:1px solid rgba(255,255,255,.12);margin-top:26px;padding-top:22px}
.tb-help span{display:block;color:#b9c8ce;font-size:13px;margin-bottom:6px}
.tb-help a{color:#fff;font-size:24px;font-weight:800;text-decoration:none}
.tb-card{background:#fff;border-radius:16px;padding:36px;box-shadow:0 18px 45px rgba(7,29,43,.10)}
.tb-card h2{font-family:"Montserrat",sans-serif;font-weight:800;font-size:26px;color:#071d2b;margin:0 0 8px}
.tb-card > p{color:#71808a;margin:0 0 24px;line-height:1.6}
.tb-field{margin-bottom:16px}
.tb-field label{display:block;font-size:12px;font-weight:700;color:#52636d;margin-bottom:7px}
.tb-field label em{color:#d9534f;font-style:normal}
.tb-field label small{float:right;color:#087ea4;font-weight:700}
.tb-field input,.tb-field select,.tb-field textarea{width:100%;border:1px solid #dce5e9;border-radius:7px;padding:12px 14px;font-size:14px;color:#263943;background:#fbfdfe;font-family:inherit}
.tb-field textarea{min-height:110px;resize:vertical}
.tb-field input:focus,.tb-field select:focus,.tb-field textarea:focus{outline:0;border-color:#13b8c8;box-shadow:0 0 0 3px rgba(19,184,200,.10)}
.tb-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tb-submit{width:100%;border:0;cursor:pointer;background:#087ea4;color:#fff;font-weight:700;font-size:16px;padding:15px 20px;border-radius:8px}
.tb-submit:hover{background:#071d2b}
.tb-note{color:#71808a;font-size:12px;line-height:1.6;margin:14px 0 0;text-align:center}
.tb-alert{border-radius:8px;padding:14px 16px;margin-bottom:20px;font-size:14px;line-height:1.6}
.tb-alert-ok{background:#e8f8fa;border:1px solid #bfe9ee;color:#075a6e}
.tb-alert-err{background:#fdeeee;border:1px solid #f4c7c7;color:#8a2a2a}
.tb-alert ul{margin:0;padding-left:18px}
.tb-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
@media(max-width:991px){.tb-grid{grid-template-columns:1fr}}
@media(max-width:560px){.tb-row{grid-template-columns:1fr}.tb-card,.tb-info{padding:26px}}







.hc-section{background:#fff;padding:80px 0}
.hc-head{text-align:center;max-width:720px;margin:0 auto 44px}
.hc-label{display:block;color:#087ea4;font-size:11px;font-weight:800;letter-spacing:1.6px;margin-bottom:9px}
.hc-head h2{font-family:"Montserrat",sans-serif;color:#071d2b;font-weight:800;font-size:36px;margin:0 0 12px}
.hc-head p{color:#71808a;margin:0}
.hc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.hc-card{background:#fff;border:1px solid #e4ebef;border-radius:16px;overflow:hidden;box-shadow:0 12px 32px rgba(7,29,43,.08);display:flex;flex-direction:column;transition:transform .25s ease}
.hc-card:hover{transform:translateY(-4px)}
.hc-img{position:relative;height:170px;background:#dfe9ee}
.hc-img img{width:100%;height:100%;object-fit:cover;display:block}
.hc-badge{position:absolute;top:12px;left:12px;background:#087ea4;color:#fff;font-size:11px;font-weight:700;padding:5px 10px;border-radius:30px}
.hc-body{padding:18px;display:flex;flex-direction:column;flex:1}
.hc-body h3{font-family:"Montserrat",sans-serif;font-size:17px;font-weight:800;color:#071d2b;line-height:1.3;margin:0 0 8px}
.hc-body p{color:#33434d;font-size:13px;line-height:1.6;margin:0 0 12px;flex:1}
.hc-price{color:#087ea4;font-weight:800;font-size:15px;margin-bottom:14px}
.hc-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hc-actions a{text-align:center;font-size:13px;font-weight:700;padding:10px 6px;border-radius:7px;text-decoration:none !important}
.hc-more{border:1px solid #087ea4;color:#087ea4 !important;background:#fff}
.hc-more:hover{background:#087ea4;color:#fff !important}
.hc-book{background:#087ea4;color:#fff !important;border:1px solid #087ea4}
.hc-book:hover{background:#071d2b;border-color:#071d2b}
@media(max-width:1100px){.hc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.hc-grid{grid-template-columns:1fr}.hc-head h2{font-size:28px}}







/* booking page fixes */
.tb-grid{align-items:stretch}
.tb-info{display:flex;flex-direction:column}
.tb-help{margin-top:auto}
.tb-field input[type="text"],
.tb-field input[type="tel"],
.tb-field input[type="email"],
.tb-field input[type="number"],
.tb-field input[type="date"],
.tb-field select{height:46px !important;min-height:0 !important;box-sizing:border-box}
.tb-field input[type="date"]{padding-top:0;padding-bottom:0}














/* date ঘরের লেখা মাঝখানে */
.tb-field input[type="date"]{display:flex;align-items:center;line-height:1.2;padding:0 14px}
.tb-field input[type="date"]::-webkit-datetime-edit{padding:0}
.tb-field input[type="date"]::-webkit-datetime-edit-fields-wrapper{padding:0}
.tb-field input[type="date"]::-webkit-date-and-time-value{margin:0;text-align:left;min-height:0}

/* dropdown এর তীর ডানদিক থেকে একটু ভেতরে */
.tb-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:46px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23071d2b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 18px center;background-size:12px 8px}

/* বাঁদের কার্ডের ফাঁকা জায়গায় ছবি */
.tb-photo{flex:1;min-height:180px;margin-top:6px;border-radius:12px;overflow:hidden;position:relative;background:#0b2b3d}
.tb-photo img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}








.hc-more-wrap{text-align:center;margin-top:40px}
.hc-all{display:inline-flex;align-items:center;gap:10px;background:#071d2b;color:#fff !important;font-weight:700;padding:14px 32px;border-radius:8px;text-decoration:none !important}
.hc-all:hover{background:#087ea4}







/* reviews section */
.rv-section{background:#f4f8fa;padding:80px 0}
.rv-head{text-align:center;max-width:720px;margin:0 auto 38px}
.rv-label{display:block;color:#087ea4;font-size:11px;font-weight:800;letter-spacing:1.6px;margin-bottom:9px}
.rv-head h2{font-family:"Montserrat",sans-serif;color:#071d2b;font-weight:800;font-size:36px;margin:0 0 12px}
.rv-sub{color:#71808a;margin:0 0 14px}
.rv-summary{display:inline-flex;align-items:center;gap:10px;color:#33434d;font-size:15px}
.rv-stars{color:#f5b50a;letter-spacing:2px}
.rv-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 4px 18px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.rv-track::-webkit-scrollbar{display:none}
.rv-card{flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start;background:#fff;border:1px solid #e4ebef;border-radius:16px;padding:24px;box-shadow:0 12px 32px rgba(7,29,43,.08);display:flex;flex-direction:column}
.rv-card .rv-stars{font-size:16px;margin-bottom:12px}
.rv-text{color:#33434d;font-size:14px;line-height:1.7;flex:1;margin:0 0 16px}
.rv-by{display:flex;align-items:center;gap:12px}
.rv-avatar{width:40px;height:40px;border-radius:50%;background:#087ea4;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 40px}
.rv-by strong{display:block;color:#071d2b;font-size:14px}
.rv-by small{color:#71808a;font-size:12px}
.rv-nav{display:flex;justify-content:center;gap:10px;margin-top:6px}
.rv-nav button{width:42px;height:42px;border-radius:50%;border:1px solid #087ea4;background:#fff;color:#087ea4;cursor:pointer}
.rv-nav button:hover{background:#087ea4;color:#fff}
.rv-more{text-align:center;margin-top:26px}
.rv-more a{display:inline-block;background:#071d2b;color:#fff !important;font-weight:700;padding:13px 28px;border-radius:8px;text-decoration:none !important}
.rv-more a:hover{background:#087ea4}
@media(max-width:991px){.rv-card{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:600px){.rv-card{flex-basis:100%}.rv-head h2{font-size:28px}}
