/*
 * Hotel Preethi International — visual consistency foundation
 * Shared tokens and component rules for Elementor, Gutenberg and custom page markup.
 */
:root{
	--hpi-navy:#102a43;
	--hpi-navy-deep:#091d30;
	--hpi-gold:#d2ad68;
	--hpi-gold-dark:#a77b32;
	--hpi-teal:#2f7f7a;
	--hpi-ivory:#fbf8f1;
	--hpi-sand:#f2ede4;
	--hpi-ink:#1c2b36;
	--hpi-muted:#65737d;
	--hpi-line:#ded8cd;
	--hpi-white:#fff;
	--hpi-shadow-sm:0 8px 24px rgba(9,29,48,.08);
	--hpi-shadow-md:0 16px 44px rgba(9,29,48,.12);
	--hpi-radius-sm:4px;
	--hpi-radius-md:10px;
	--hpi-radius-lg:18px;
	--hpi-section-space:clamp(64px,8vw,104px);
	--hpi-content-width:1180px;
}
html{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth}
body{overflow-x:hidden;overflow-x:clip;color:var(--hpi-ink);font-family:"Arimo",Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
body :is(p,li,address,blockquote,figcaption,label,input,select,textarea),
.elementor-widget-text-editor,
.elementor-widget-text-editor :is(p,li,a,strong,em){font-family:"Arimo",Arial,sans-serif!important}
body :is(h1,h2,h3,h4,h5,h6),
.elementor-widget-heading .elementor-heading-title{font-family:"Exo2Medium","Arimo",Arial,sans-serif!important;letter-spacing:-.018em;text-wrap:balance}
body :is(h1,h2,h3,h4,h5,h6){color:var(--hpi-navy);line-height:1.16}
body h1{font-size:clamp(38px,5.5vw,68px)}
body h2{font-size:clamp(30px,4vw,48px)}
body h3{font-size:clamp(22px,2.5vw,30px)}
body p{line-height:1.75}
body a{transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
body a:focus-visible,
body button:focus-visible,
body input:focus-visible,
body select:focus-visible,
body textarea:focus-visible{outline:3px solid var(--hpi-gold);outline-offset:3px}
.elementor-widget-text-editor,
.entry-content,
.wp-block-post-content{color:var(--hpi-ink)}
.entry-content>p,
.entry-content>ul,
.entry-content>ol{max-width:76ch}
:is(.elementor-button,.wp-block-button__link,.hpi-btn,.btn,.button,input[type="submit"],button[type="submit"]){
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	padding:12px 24px;
	border:1px solid var(--hpi-gold);
	border-radius:var(--hpi-radius-sm)!important;
	background:var(--hpi-gold);
	color:var(--hpi-navy-deep);
	font-family:"Arimo",Arial,sans-serif!important;
	font-size:13px;
	font-weight:800;
	letter-spacing:.075em;
	line-height:1.2;
	text-transform:uppercase;
	text-decoration:none;
	box-shadow:none;
}
:is(.elementor-button,.wp-block-button__link,.hpi-btn,.btn,.button,input[type="submit"],button[type="submit"]):hover{
	border-color:var(--hpi-navy);
	background:var(--hpi-navy);
	color:var(--hpi-white);
	transform:translateY(-2px);
	box-shadow:var(--hpi-shadow-sm);
}
.wp-block-button.is-style-outline .wp-block-button__link{
	border-color:var(--hpi-navy);
	background:transparent;
	color:var(--hpi-navy);
}
:is(input[type="text"],input[type="email"],input[type="tel"],input[type="date"],input[type="number"],input[type="search"],select,textarea){
	width:100%;
	min-height:48px;
	padding:11px 14px;
	border:1px solid var(--hpi-line);
	border-radius:var(--hpi-radius-sm);
	background:var(--hpi-white);
	color:var(--hpi-ink);
	font:inherit;
	box-shadow:none;
}
textarea{min-height:140px;resize:vertical}
:is(input,select,textarea):focus{border-color:var(--hpi-teal);box-shadow:0 0 0 3px rgba(47,127,122,.14)}
label{color:var(--hpi-navy);font-size:14px;font-weight:700}
.entry-content :is(img,figure img),
.elementor-widget-image img{height:auto}
.entry-content figure:not(.wp-block-gallery) img{border-radius:var(--hpi-radius-md)}
.wp-block-image figcaption,
.elementor-image-box-description{color:var(--hpi-muted);font-size:14px}
:is(.wp-block-quote,blockquote){margin:32px 0;padding:22px 26px;border-left:4px solid var(--hpi-gold);background:var(--hpi-ivory);color:var(--hpi-navy)}
:is(.wp-block-separator,hr){border:0;border-top:1px solid var(--hpi-line)}
.wp-block-table table{border-collapse:collapse}
.wp-block-table :is(th,td){padding:14px 16px;border:1px solid var(--hpi-line)}
.wp-block-table th{background:var(--hpi-navy);color:var(--hpi-white)}
.elementor-widget-icon-box .elementor-icon-box-icon{color:var(--hpi-gold)}
.elementor-widget-icon-box .elementor-icon-box-title{color:var(--hpi-navy)}
.elementor-widget-image-box .elementor-image-box-title{color:var(--hpi-navy)}
.elementor-widget-icon-box .elementor-widget-container,
.elementor-widget-image-box .elementor-widget-container{border-radius:var(--hpi-radius-md)}
.entry-content>.wp-block-group.has-background{border-radius:var(--hpi-radius-md)}
.hpi-events{--gold:var(--hpi-gold)!important;--ink:var(--hpi-ink)!important;--cream:var(--hpi-ivory)!important}
.hpi-events .hpi-btn,
.hpi-events a.hpi-btn{border-radius:var(--hpi-radius-sm)}
.hpi-site-footer{font-family:"Arimo",Arial,sans-serif}
.hpi-site-footer :is(h2,h3){font-family:"Exo2Medium","Arimo",Arial,sans-serif}
.hpi-site-footer .hpi-footer-btn{border-radius:var(--hpi-radius-sm)}
@media(max-width:767px){
	body{font-size:15px}
	body h1{font-size:clamp(34px,10vw,48px)}
	body h2{font-size:clamp(28px,8vw,38px)}
	:is(.elementor-button,.wp-block-button__link,.hpi-btn,.btn,.button,input[type="submit"],button[type="submit"]){min-height:50px;padding:13px 20px}
}
@media(prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	body *,
	body *::before,
	body *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* Phase 2 — page-level rhythm, hero, media and card consistency */
:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197){
	--hpi-page-gutter:clamp(18px,4vw,32px);
}
:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197)>.elementor-section:first-child{
	display:flex;
	align-items:center;
	min-height:clamp(480px,64vh,680px)!important;
	isolation:isolate;
}
:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197)>.elementor-section:first-child>.elementor-background-overlay{
	opacity:1!important;
	background:linear-gradient(90deg,rgba(9,29,48,.82) 0%,rgba(9,29,48,.58) 54%,rgba(9,29,48,.28) 100%)!important;
}
:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197)>.elementor-section:first-child>.elementor-container{
	width:100%;
	max-width:var(--hpi-content-width);
	min-height:0!important;
	padding-right:var(--hpi-page-gutter);
	padding-left:var(--hpi-page-gutter);
}
:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197)>.elementor-section:first-child h1{
	max-width:900px;
	margin-bottom:18px;
	line-height:1.04;
}
:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197)>.elementor-section:first-child .elementor-widget-text-editor{
	max-width:720px;
}
:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197)>.elementor-section:not(:first-child){
	padding-right:var(--hpi-page-gutter);
	padding-left:var(--hpi-page-gutter);
	scroll-margin-top:96px;
}
:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197)>.elementor-section:not(:first-child)>.elementor-container{
	width:100%;
	max-width:var(--hpi-content-width);
}
:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197)>.elementor-section:not(:first-child) .elementor-widget-image img{
	display:block;
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover;
	border-radius:var(--hpi-radius-md);
	box-shadow:var(--hpi-shadow-sm);
}
:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197) .elementor-widget-icon-box .elementor-widget-container,
:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197) .elementor-widget-image-box .elementor-widget-container{
	height:100%;
	transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197) .elementor-widget-icon-box .elementor-widget-container:hover,
:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197) .elementor-widget-image-box .elementor-widget-container:hover{
	transform:translateY(-4px);
	box-shadow:var(--hpi-shadow-md);
}
:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197)>.elementor-section:last-child .elementor-widget-wrap{
	align-content:center;
}
:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197)>.elementor-section:last-child .elementor-button-wrapper{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	justify-content:center;
}
.page-id-18 .blog-detail-description>.wp-block-cover{
	min-height:clamp(480px,64vh,680px)!important;
}
.page-id-18 .blog-detail-description>.wp-block-cover .wp-block-cover__inner-container{
	width:min(100% - 40px,var(--hpi-content-width));
}
.page-id-18 .blog-detail-description>.wp-block-group{
	width:min(100% - 40px,var(--hpi-content-width));
	margin-right:auto;
	margin-left:auto;
	padding-top:clamp(52px,7vw,88px);
	padding-bottom:clamp(52px,7vw,88px);
}
.page-id-18 .wp-block-gallery img{
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover;
	border-radius:var(--hpi-radius-md);
}
.page-id-18 .wp-block-buttons{
	gap:12px;
}
.hpi-events .hpi-hero{
	display:flex;
	align-items:center;
	min-height:clamp(480px,64vh,680px)!important;
}
.hpi-events .hpi-section{
	padding-top:var(--hpi-section-space);
	padding-bottom:var(--hpi-section-space);
}
.hpi-events :is(.hpi-venue,.hpi-occasion,.hpi-intro-card,.hpi-plan-item){
	border-radius:var(--hpi-radius-md);
	box-shadow:var(--hpi-shadow-sm);
}
.hpi-events :is(.hpi-venue,.hpi-occasion,.hpi-intro-card,.hpi-plan-item):hover{
	transform:translateY(-4px);
	box-shadow:var(--hpi-shadow-md);
}
.hpi-events .hpi-actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
}
@media(max-width:767px){
	:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197)>.elementor-section:first-child,
	.page-id-18 .blog-detail-description>.wp-block-cover,
	.hpi-events .hpi-hero{min-height:430px!important}
	:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197)>.elementor-section:first-child>.elementor-background-overlay{
		background:linear-gradient(180deg,rgba(9,29,48,.78) 0%,rgba(9,29,48,.64) 100%)!important;
	}
	:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197)>.elementor-section:first-child h1{margin-bottom:14px}
	:is(.elementor-392,.elementor-11,.elementor-16,.elementor-484,.elementor-14,.elementor-24,.elementor-197)>.elementor-section:not(:first-child) .elementor-widget-image img{
		aspect-ratio:16/11;
	}
	.hpi-events .hpi-actions>*{flex:1 1 180px}
}

/* Remove the legacy blog sidebar from redesigned destination pages. */
body:is(.page-id-18,.page-id-483,.page-id-307) .blog-section>.container{
	width:min(calc(100% - 40px),var(--hpi-content-width))!important;
	max-width:var(--hpi-content-width)!important;
}
body:is(.page-id-18,.page-id-483,.page-id-307) .content-area{
	width:100%!important;
	max-width:none;
	float:none!important;
}
.page-id-18 .blog-detail-description>.alignfull{
	width:100%!important;
	max-width:100%!important;
	margin-right:0!important;
	margin-left:0!important;
}
body:is(.page-id-18,.page-id-483,.page-id-307) .blog-sidebar{
	display:none!important;
}
body:is(.page-id-18,.page-id-483,.page-id-307) .blog-area{
	width:100%;
	margin:0;
	padding:0;
}
body:is(.page-id-18,.page-id-483,.page-id-307) .blog-detail-description{
	margin:0;
	padding:0;
}