/* Hotel Pages Pro — professional hotel design, gold theme (#c0a062). */
:root{
	--hpp-accent:#c0a062; --hpp-accent-hover:#a98a4f; --hpp-dark:#1c1c1c;
	--hpp-text:#2b2f36; --hpp-muted:#8a8f98; --hpp-border:#e6e8eb;
	--hpp-bg:#fff; --hpp-soft:#f6f4ef; --hpp-max:1170px; --hpp-radius:8px;
	--hpp-serif:Georgia,"Playfair Display","Times New Roman",serif;
}
.hpp-page{color:var(--hpp-text);font-family:inherit;}
.hpp-page *,.hpp-page *::before,.hpp-page *::after{box-sizing:border-box;}
.hpp-page img{max-width:100%;height:auto;}
.hpp-page p{line-height:1.8;color:#585e66;margin:0 0 15px;font-size:15.5px;}
.hpp-muted{color:var(--hpp-muted);}

/* ---------- HERO BANNER (every page) ---------- */
.hpp-banner{background:#242424 center/cover no-repeat;color:#fff;padding:64px 20px;position:relative;}
.hpp-banner.has-img{background-color:#242424;}
.hpp-banner-inner{max-width:var(--hpp-max);margin:0 auto;}
.hpp-banner-title{font-family:var(--hpp-serif);font-size:38px;font-weight:700;margin:0 0 10px;color:#fff;display:inline-flex;align-items:center;gap:16px;}
.hpp-banner-rule{display:inline-block;width:60px;height:3px;background:var(--hpp-accent);border-radius:2px;}
.hpp-breadcrumb{font-size:13px;color:#e7e2d6;display:flex;gap:8px;align-items:center;}
.hpp-breadcrumb a{color:var(--hpp-accent);text-decoration:none;}
.hpp-crumb-current{color:#d7d3c9;}

/* ---------- SECTIONS ---------- */
.hpp-section{max-width:var(--hpp-max);margin:0 auto;padding:60px 20px;}
.hpp-section--muted{background:var(--hpp-soft);}
.hpp-intro{padding-bottom:0;}
.hpp-lead{font-family:var(--hpp-serif);font-style:italic;font-size:18px;line-height:1.7;color:var(--hpp-accent);margin:0 0 18px;}
.hpp-lead--center{text-align:center;max-width:760px;margin:0 auto;}

.hpp-h2{font-family:var(--hpp-serif);font-size:28px;font-weight:700;color:#20232a;margin:0 0 18px;}
.hpp-h2--rule{position:relative;padding-bottom:14px;margin-bottom:18px;}
.hpp-h2--rule::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:3px;background:var(--hpp-accent);border-radius:2px;}
.hpp-h3{font-size:18px;font-weight:700;color:#20232a;margin:0 0 8px;}

.hpp-center-head{text-align:center;margin-bottom:40px;}
.hpp-h2--center{display:inline-flex;flex-direction:column;align-items:center;gap:12px;}
.hpp-center-rule{width:70px;height:3px;background:var(--hpp-accent);border-radius:2px;}
.hpp-center-sub{color:var(--hpp-muted);max-width:620px;margin:6px auto 0;font-size:15px;}

/* ---------- ABOUT INTRO (text + framed image) ---------- */
.hpp-about-cols{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;}
.hpp-two-text{grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
.hpp-frame{position:relative;padding:14px 0 0 14px;}
.hpp-frame::before{content:"";position:absolute;top:0;left:0;width:70%;height:70%;border:3px solid var(--hpp-accent);border-radius:6px;z-index:0;}
.hpp-frame img,.hpp-frame-ph{position:relative;z-index:1;display:block;width:100%;border-radius:6px;box-shadow:0 16px 40px rgba(0,0,0,.14);}
.hpp-frame-ph{height:320px;background:linear-gradient(135deg,#d8cbb0,#c0a062);}

/* ---------- FACILITIES ---------- */
.hpp-facilities-sec{padding:0;}
.hpp-fac-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 40px;}
.hpp-fac{display:flex;gap:16px;}
.hpp-fac-icon{color:var(--hpp-accent);flex:0 0 auto;line-height:0;padding-top:2px;}
.hpp-fac-title{font-size:17px;font-weight:700;color:var(--hpp-accent);margin:0 0 6px;}
.hpp-fac-body p{margin:0;font-size:14px;line-height:1.7;color:#6a7078;}

/* ---------- CTA BANNER ---------- */
.hpp-cta-banner{background:#1c1c1c center/cover no-repeat;color:#fff;padding:70px 20px;text-align:center;}
.hpp-cta-inner{max-width:820px;margin:0 auto;}
.hpp-cta-title{font-family:var(--hpp-serif);font-size:30px;font-weight:700;color:#fff;margin:0 0 14px;line-height:1.35;}
.hpp-cta-contact{color:#e2ddd2;font-size:15px;margin:0 0 22px;}
.hpp-cta-contact a{color:var(--hpp-accent);text-decoration:none;}

/* ---------- BUTTONS ---------- */
.hpp-btn{display:inline-block;padding:14px 34px;background:var(--hpp-accent);color:#fff;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border:0;border-radius:3px;text-decoration:none!important;cursor:pointer;transition:background .15s ease;}
.hpp-btn:hover{background:var(--hpp-accent-hover);color:#fff;}

/* ---------- GRIDS / CARDS (services, testimonials, blog) ---------- */
.hpp-grid{display:grid;gap:26px;}
.hpp-grid-3{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));}
.hpp-grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}
.hpp-card,.hpp-service-card{background:#fff;border:1px solid var(--hpp-border);border-radius:var(--hpp-radius);padding:26px;transition:box-shadow .18s ease,transform .18s ease;}
.hpp-card:hover,.hpp-service-card:hover{box-shadow:0 14px 34px rgba(0,0,0,.08);transform:translateY(-3px);}
.hpp-service-icon{color:var(--hpp-accent);display:inline-flex;margin-bottom:14px;}

/* Amenities */
.hpp-amenity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;}
.hpp-amenity{display:flex;align-items:center;gap:12px;border:1px solid var(--hpp-border);border-radius:6px;padding:15px 18px;background:#fff;}
.hpp-amenity-check{color:var(--hpp-accent);display:inline-flex;}

/* Stats */
.hpp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;text-align:center;}
.hpp-stat{border:1px solid var(--hpp-border);border-radius:var(--hpp-radius);padding:26px 12px;background:var(--hpp-soft);}
.hpp-stat-num{display:block;font-family:var(--hpp-serif);font-size:32px;font-weight:800;color:var(--hpp-accent);}
.hpp-stat-label{font-size:13px;color:var(--hpp-muted);}

/* Contact */
.hpp-contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:34px;align-items:start;}
.hpp-contact-line a{color:var(--hpp-accent);text-decoration:none;}
.hpp-form{display:flex;flex-direction:column;gap:14px;}
.hpp-form-row{display:flex;gap:14px;}.hpp-form-row>*{flex:1;}
.hpp-form input,.hpp-form textarea{border:1px solid var(--hpp-border);border-radius:6px;padding:13px 15px;font-size:15px;font-family:inherit;color:var(--hpp-text);width:100%;}
.hpp-form input:focus,.hpp-form textarea:focus{outline:2px solid var(--hpp-accent);border-color:var(--hpp-accent);}
.hpp-notice{padding:12px 14px;border-radius:8px;margin-bottom:14px;font-size:14px;}
.hpp-notice--ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;}
.hpp-notice--err{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;}
.hpp-map{margin-top:34px;border-radius:var(--hpp-radius);overflow:hidden;}
.hpp-map iframe{width:100%;min-height:360px;border:0;display:block;}

/* FAQ */
.hpp-accordion{max-width:840px;margin:0 auto;}
.hpp-acc-item{border:1px solid var(--hpp-border);border-radius:6px;margin-bottom:12px;overflow:hidden;}
.hpp-acc-q{width:100%;display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff;border:0;padding:17px 20px;font-size:16px;font-weight:600;color:var(--hpp-text);text-align:left;cursor:pointer;}
.hpp-acc-q[aria-expanded="true"]{color:var(--hpp-accent);}
.hpp-acc-icon{color:var(--hpp-accent);font-size:22px;line-height:1;flex:0 0 auto;}
.hpp-acc-a{display:none;padding:0 20px 18px;}.hpp-acc-a p{margin:0;}

/* Testimonials */
.hpp-testimonial{background:#fff;border:1px solid var(--hpp-border);border-radius:var(--hpp-radius);padding:28px;margin:0;}
.hpp-testimonial .hpp-stars{color:var(--hpp-accent);letter-spacing:2px;margin-bottom:12px;}
.hpp-testimonial blockquote{margin:0 0 14px;font-family:var(--hpp-serif);font-style:italic;font-size:17px;line-height:1.75;color:#444a52;}
.hpp-testimonial figcaption{font-weight:700;color:var(--hpp-text);}

/* Blog */
.hpp-post-card{border:1px solid var(--hpp-border);border-radius:var(--hpp-radius);overflow:hidden;background:#fff;}
.hpp-post-thumb img{width:100%;height:190px;object-fit:cover;display:block;}
.hpp-post-body{padding:18px 20px;}
.hpp-post-date{font-size:12px;color:var(--hpp-muted);}
.hpp-post-card .hpp-h3 a{color:inherit;text-decoration:none;}
.hpp-readmore{color:var(--hpp-accent);font-weight:600;text-decoration:none;}

/* Legal / prose */
.hpp-prose{max-width:840px;}
.hpp-prose .hpp-h2{font-size:22px;margin-top:30px;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
	.hpp-about-cols,.hpp-two-text,.hpp-contact-grid{grid-template-columns:1fr;gap:30px;}
	.hpp-fac-grid{grid-template-columns:repeat(2,1fr);gap:28px;}
	.hpp-banner-title{font-size:30px;}
	.hpp-h2,.hpp-cta-title{font-size:24px;}
	.hpp-frame{max-width:460px;margin:0 auto;}
}
@media (max-width:600px){
	.hpp-banner{padding:44px 16px;}
	.hpp-banner-title{font-size:25px;gap:10px;}
	.hpp-section{padding:40px 16px;}
	.hpp-fac-grid{grid-template-columns:1fr;}
	.hpp-form-row{flex-direction:column;}
	.hpp-cta-title{font-size:21px;}
}

/* ---------- CTA left-aligned + play button ---------- */
.hpp-cta-banner{text-align:left;}
.hpp-cta-flex{display:flex;align-items:center;justify-content:space-between;gap:34px;}
.hpp-cta-left{max-width:600px;}
.hpp-cta-flex .hpp-cta-title,.hpp-cta-flex .hpp-cta-contact{text-align:left;}
.hpp-play{flex:0 0 auto;width:74px;height:74px;border-radius:50%;border:2px solid rgba(255,255,255,.75);display:flex;align-items:center;justify-content:center;transition:background .18s ease,transform .18s ease;}
.hpp-play:hover{background:var(--hpp-accent);border-color:var(--hpp-accent);transform:scale(1.06);}
.hpp-play svg{margin-left:4px;}

/* ---------- CLOSING statement + columns + gallery ---------- */
.hpp-close-grid{display:grid;grid-template-columns:.95fr 1.35fr;gap:44px;align-items:start;}
.hpp-close-statement{font-family:var(--hpp-serif);font-size:22px;line-height:1.55;color:#20232a;}
.hpp-close-cols{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.hpp-close-cols p{font-size:13.5px;line-height:1.75;color:#7a8088;margin:0;}
.hpp-gallery3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px;}
.hpp-gallery3-item{border-radius:6px;overflow:hidden;}
.hpp-gallery3-item img{width:100%;height:210px;object-fit:cover;display:block;}
.hpp-gph{display:block;width:100%;height:210px;background:linear-gradient(135deg,#e6ddca,#c0a062);}

@media (max-width:900px){
	.hpp-cta-flex{flex-direction:column;align-items:flex-start;}
	.hpp-close-grid{grid-template-columns:1fr;gap:26px;}
	.hpp-gallery3{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
	.hpp-close-cols{grid-template-columns:1fr;}
	.hpp-gallery3{grid-template-columns:1fr;}
}

/* ---------- SERVICES "What we offer" tiles ---------- */
.hpp-offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:8px;}
.hpp-offer-card{position:relative;border-radius:4px;overflow:hidden;min-height:210px;background:#e6ddca;}
.hpp-offer-card img,.hpp-offer-ph{display:block;width:100%;height:230px;object-fit:cover;}
.hpp-offer-ph{background:linear-gradient(135deg,#d8cbb0,#c0a062);}
.hpp-offer-label{position:absolute;left:0;bottom:18px;background:rgba(20,20,20,.82);color:#fff;font-weight:700;font-size:16px;padding:10px 20px;letter-spacing:.02em;}
@media (max-width:900px){ .hpp-offer-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .hpp-offer-grid{grid-template-columns:1fr;} }

/* ============================================================ SINGLE BLOG POST */
.hpp-single-post{color:var(--hpp-text);}
.hpp-sp-grid{display:grid;grid-template-columns:1fr 320px;gap:44px;align-items:start;}
.hpp-sp-featured{border-radius:6px;overflow:hidden;margin-bottom:20px;}
.hpp-sp-featured img{width:100%;height:auto;display:block;}
.hpp-sp-meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-family:inherit;font-size:13.5px;color:var(--hpp-accent);margin-bottom:14px;}
.hpp-sp-meta a{color:var(--hpp-accent);text-decoration:none;}
.hpp-sp-meta span{color:#8a8f98;}
.hpp-sp-meta .hpp-sp-date,.hpp-sp-meta .hpp-sp-cats a{color:var(--hpp-accent);}
.hpp-sp-content{font-size:15.5px;line-height:1.85;color:#585e66;}
.hpp-sp-content h2,.hpp-sp-content h3{font-family:var(--hpp-serif);color:#20232a;margin:26px 0 12px;}
.hpp-sp-content h2{font-size:22px;}.hpp-sp-content h3{font-size:19px;}
.hpp-sp-content p{margin:0 0 16px;}
.hpp-sp-content img{max-width:100%;height:auto;border-radius:6px;margin:18px 0;display:block;}
.hpp-sp-content figure{margin:20px 0;}
.hpp-sp-content figure img{margin:0;}
.hpp-sp-content figcaption{font-size:12.5px;color:#8a8f98;text-align:center;margin-top:6px;}
.hpp-sp-content .wp-block-columns,.hpp-sp-content .hpp-two-col{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.hpp-sp-content blockquote{border-left:3px solid var(--hpp-accent);margin:20px 0;padding:6px 0 6px 18px;font-style:italic;color:#4a4f57;}
.hpp-sp-content a{color:var(--hpp-accent);}
.hpp-sp-tags{margin:22px 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.hpp-sp-tags span{font-weight:700;color:var(--hpp-text);margin-right:4px;}
.hpp-sp-tags a{display:inline-block;border:1px solid var(--hpp-border);border-radius:3px;padding:5px 12px;font-size:12px;color:#6a7078;text-decoration:none;}
.hpp-sp-tags a:hover{border-color:var(--hpp-accent);color:var(--hpp-accent);}

/* Comments */
.hpp-sp-comments{margin-top:36px;border-top:1px solid var(--hpp-border);padding-top:26px;}
.hpp-comment-list{list-style:none;margin:0 0 30px;padding:0;}
.hpp-comment-list .comment{border:1px solid var(--hpp-border);border-radius:6px;padding:18px;margin-bottom:14px;}
.hpp-comment-list .children{list-style:none;margin:14px 0 0 30px;padding:0;}
.hpp-comment-list .avatar{border-radius:50%;float:left;margin-right:14px;}
.hpp-comment-list .fn{font-weight:700;color:var(--hpp-accent);font-style:normal;}
.hpp-comment-list .comment-meta{font-size:12px;color:#8a8f98;margin-bottom:6px;}
.hpp-comment-form{margin-top:16px;}
.hpp-comment-form input[type=text],.hpp-comment-form input[type=email],.hpp-comment-form input[type=url],.hpp-comment-form textarea{width:100%;border:1px solid var(--hpp-border);border-radius:6px;padding:12px 14px;font-family:inherit;font-size:15px;margin-bottom:12px;}
.hpp-comment-form .form-submit input,.hpp-single-post #submit{background:var(--hpp-accent);color:#fff;border:0;border-radius:3px;padding:13px 30px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:13px;cursor:pointer;}
#comment-form-title,.comment-reply-title{font-family:var(--hpp-serif);font-size:22px;color:#20232a;margin:0 0 14px;}

/* Sidebar widgets */
.hpp-sp-side{display:flex;flex-direction:column;gap:26px;}
.hpp-widget{border:1px solid var(--hpp-border);border-radius:8px;padding:20px;}
.hpp-widget-title{font-family:var(--hpp-serif);font-size:18px;color:#20232a;margin:0 0 14px;position:relative;padding-bottom:10px;}
.hpp-widget-title::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:3px;background:var(--hpp-accent);}
.hpp-widget-search form{display:flex;border:1px solid var(--hpp-border);border-radius:6px;overflow:hidden;}
.hpp-widget-search input{flex:1;border:0;padding:12px 14px;font-family:inherit;font-size:14px;outline:0;}
.hpp-widget-search button{border:0;background:transparent;color:var(--hpp-accent);padding:0 14px;cursor:pointer;}
.hpp-widget-list{list-style:none;margin:0;padding:0;}
.hpp-widget-list li{padding:9px 0;border-bottom:1px solid var(--hpp-border);}
.hpp-widget-list li:last-child{border-bottom:0;}
.hpp-widget-list a{color:#585e66;text-decoration:none;}
.hpp-widget-list a:hover{color:var(--hpp-accent);}
.hpp-recent{list-style:none;margin:0;padding:0;}
.hpp-recent li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--hpp-border);}
.hpp-recent li:last-child{border-bottom:0;}
.hpp-recent-thumb img{width:60px;height:60px;object-fit:cover;border-radius:6px;display:block;}
.hpp-recent-body a{color:#20232a;text-decoration:none;font-size:13.5px;font-weight:600;line-height:1.4;display:block;}
.hpp-recent-body a:hover{color:var(--hpp-accent);}
.hpp-recent-body span{font-size:11.5px;color:#8a8f98;}
.hpp-tagcloud{display:flex;flex-wrap:wrap;gap:8px;}
.hpp-tagcloud a{border:1px solid var(--hpp-border);border-radius:3px;padding:5px 12px;font-size:12px!important;color:#6a7078;text-decoration:none;}
.hpp-tagcloud a:hover{border-color:var(--hpp-accent);color:var(--hpp-accent);}

@media (max-width:900px){
	.hpp-sp-grid{grid-template-columns:1fr;gap:34px;}
	.hpp-sp-content .wp-block-columns,.hpp-sp-content .hpp-two-col{grid-template-columns:1fr;}
}

/* Blog single: force full width so the hero sits on top, not beside content */
.hpp-blog-page{width:100%;flex:1 1 100%;min-width:0;display:block;}
.hpp-blog-page .hpp-banner{width:100%;}
