/**
 * Theme Responsive Styles - SeoDalat Booking System
 * 99.999% Traveloka Soft & Modern Responsive Framework
 * Version: 1.8.6
 */

/* ==========================================================================
   1. MEDIUM DESKTOPS & SMALL LAPTOPS (max-width: 1200px)
   ========================================================================== */
@media (max-width: 1200px) {
	.tlk-header-utilities {
		gap: 0.85rem;
	}

	.tlk-util-item.tlk-util-link {
		display: none;
	}

	.sd-deals-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 1rem;
	}

	.sd-exp-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.25rem;
	}

	.sd-trust-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}

	.sd-footer-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem;
	}
}

/* ==========================================================================
   2. TABLETS & MEDIUM SCREENS (max-width: 992px)
   ========================================================================== */
@media (max-width: 992px) {
	.tlk-header-utilities {
		display: none;
	}

	.tlk-mobile-actions {
		display: flex;
	}

	.custom-logo {
		max-height: 40px !important;
		max-width: 160px !important;
	}

	.tlk-sub-nav {
		display: none;
	}

	.tlk-hero-container {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.5rem;
	}

	.tlk-hero-right {
		max-width: 100%;
		width: 100%;
	}

	/* Search Bar Tablet 2-Columns */
	.tlk-search-box-inner {
		padding: 1.25rem 1.25rem 1.5rem 1.25rem !important;
	}

	.tlk-search-box-inner .hb-search-form,
	.hb-search-form {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 0.75rem !important;
	}

	.tlk-search-box-inner .hb-search-col,
	.hb-search-col {
		min-height: 64px !important;
	}

	.tlk-search-box-inner .hb-search-btn-col,
	.hb-search-btn-col {
		grid-column: span 2 !important;
		width: 100% !important;
	}

	.tlk-search-box-inner .hb-btn-search,
	.hb-btn-search {
		width: 100% !important;
		min-width: 100% !important;
		height: 52px !important;
		min-height: 52px !important;
		border-radius: var(--tlk-radius-pill) !important;
		justify-content: center !important;
	}

	.sd-deals-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
	}

	.sd-dest-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.25rem;
	}

	.sd-reviews-grid {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.sd-blog-grid {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	/* Featured Rooms Container (Tablet 2 Columns) */
	.sd-rooms-container .hb-room-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 0.85rem !important;
	}

	/* Single Post & Category */
	.sd-single-layout-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.sd-single-sidebar-col {
		position: static !important;
		width: 100% !important;
	}

	.sd-blog-cta-strip {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.25rem;
		padding: 1.75rem;
	}

	.sd-blog-cta-actions {
		width: 100%;
		flex-direction: column;
	}

	.sd-blog-cta-actions a {
		width: 100%;
		text-align: center;
		box-sizing: border-box;
		justify-content: center;
	}

	.sd-cta-box {
		flex-direction: column;
		align-items: flex-start;
		padding: 2.25rem;
	}

	.sd-cta-actions {
		width: 100%;
	}

	.sd-btn-cta-primary,
	.sd-btn-cta-secondary {
		width: 100%;
		box-sizing: border-box;
	}

	/* Room Detail Page */
	.hb-dtl-columns {
		flex-direction: column !important;
	}

	.hb-dtl-sidebar {
		width: 100% !important;
		flex: 1 1 100% !important;
		position: static !important;
	}

	.hb-dtl-specs-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.hb-dtl-highlights {
		grid-template-columns: 1fr !important;
	}

	.hb-dtl-title-row {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 1rem !important;
	}

	.hb-dtl-header-actions {
		width: 100% !important;
		justify-content: flex-start !important;
	}

	/* Booking Form Page */
	.hb-form-columns {
		flex-direction: column !important;
	}

	.hb-form-col-left,
	.hb-form-col-right {
		width: 100% !important;
		flex: 1 1 100% !important;
		max-width: 100% !important;
	}

	.hb-order-summary-card {
		position: static !important;
	}

	/* Room List Page (Booking.com / Traveloka Layout) */
	.hb-bcom-layout {
		flex-direction: column !important;
	}

	.hb-bcom-sidebar {
		display: none !important;
		width: 100% !important;
	}

	.hb-bcom-mobile-bar {
		display: flex !important;
		border-radius: var(--tlk-radius-md) !important;
	}

	.hb-bcom-sidebar.mobile-open {
		display: block !important;
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		width: 100vw !important;
		height: 100vh !important;
		background-color: rgba(3, 18, 26, 0.75) !important;
		backdrop-filter: blur(5px) !important;
		z-index: 999999 !important;
		overflow-y: auto !important;
		padding: 1.25rem !important;
		box-sizing: border-box !important;
	}

	.hb-bcom-sidebar.mobile-open .hb-bcom-sidebar-inner {
		background-color: #f8fafc !important;
		border-radius: var(--tlk-radius-lg) !important;
		padding: 1.5rem !important;
		max-width: 520px !important;
		margin: 1.5rem auto !important;
		box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25) !important;
	}

	.hb-bcom-mobile-close-bar {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		background: linear-gradient(135deg, #0194f3 0%, #007ce8 100%) !important;
		color: #ffffff !important;
		padding: 0.85rem 1.25rem !important;
		border-radius: var(--tlk-radius-md) !important;
		margin-bottom: 1.25rem !important;
	}

	.hb-bcom-btn-close-filter {
		background-color: rgba(255, 255, 255, 0.25) !important;
		color: #ffffff !important;
		border-radius: 50% !important;
		width: 34px !important;
		height: 34px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		cursor: pointer !important;
		border: none !important;
		padding: 0 !important;
	}

	.hb-bcom-card {
		flex-direction: column !important;
	}

	.hb-bcom-card-thumb-col {
		width: 100% !important;
		min-width: 100% !important;
		height: 220px !important;
	}

	.hb-bcom-card-pricing-col {
		width: 100% !important;
		min-width: 100% !important;
		text-align: left !important;
		border-top: 1px solid #f2f3f3 !important;
		padding-top: 1rem !important;
		background-color: #fcfdfe !important;
	}

	.hb-bcom-card-pricing-col .hb-bcom-btn-book {
		width: 100% !important;
		text-align: center !important;
		justify-content: center !important;
	}

	.hb-bcom-specs-strip {
		gap: 0.25rem 0.6rem !important;
		margin: 0.25rem 0 0.45rem 0 !important;
	}

	.hb-bcom-spec-pill {
		font-size: 0.8rem !important;
		gap: 0.3rem !important;
	}

	.hb-bcom-spec-pill svg {
		width: 13px !important;
		height: 13px !important;
	}

	/* Combo Booking Page & Summary Cards (Fit Mobile/Tablet) */
	.hb-combo-page-layout {
		display: flex !important;
		flex-direction: column !important;
		gap: 1.25rem !important;
		width: 100% !important;
	}

	.hb-booking-summary-col {
		order: -1 !important;
		width: 100% !important;
	}

	.hb-summary-card,
	.hb-combo-summary-card {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		top: auto !important;
	}

	.hb-combo-summary-card .hb-cm-thumb-wrap {
		aspect-ratio: 16 / 9 !important;
		max-height: 260px !important;
	}
}

/* ==========================================================================
   3. MOBILE PHONES & PHABLETS (max-width: 768px)
   ========================================================================== */
@media (max-width: 768px) {
	.tlk-hero-section {
		padding: 2rem 0 5rem 0;
	}

	.tlk-hero-title {
		font-size: 1.65rem !important;
	}

	.tlk-hero-subtitle {
		font-size: 1rem !important;
	}

	.tlk-floating-wrap {
		margin-top: -3.5rem;
	}

	.tlk-booking-card {
		border-radius: var(--tlk-radius-lg);
		box-shadow: var(--tlk-shadow-lg) !important;
	}

	/* Single-row Ultra-Thin Horizontal Scroll for Pill Filters on Mobile */
	.tlk-card-divider {
		height: 1px !important;
		background-color: #f2f3f3 !important;
		margin: 0 !important;
		display: block !important;
	}

	.tlk-pill-filters {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		scrollbar-width: none !important;
		padding: 0.45rem 0.85rem !important;
		gap: 0.35rem !important;
		background: #ffffff !important;
	}

	.tlk-pill-filters::-webkit-scrollbar {
		display: none !important;
	}

	.tlk-pill-tag {
		flex-shrink: 0 !important;
		white-space: nowrap !important;
		font-size: 0.92rem !important;
		padding: 0.35rem 0.8rem !important;
		border-radius: 7px !important;
		height: 32px !important;
		display: inline-flex !important;
		align-items: center !important;
		box-sizing: border-box !important;
		line-height: 1.2 !important;
	}

	.tlk-pill-tag-deal {
		font-weight: 700 !important;
		padding: 0.35rem 0.85rem !important;
		border-radius: 7px !important;
	}

	/* Search Box Responsive on Mobile */
	.tlk-search-box-inner {
		padding: 1rem 0.85rem 1.25rem 0.85rem !important;
		border-top: none !important;
	}

	.tlk-search-box-inner .hb-search-form,
	.hb-search-form {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 0.65rem !important;
	}

	.tlk-search-box-inner .hb-search-col,
	.hb-search-col {
		min-height: 58px !important;
		padding: 0.5rem 0.85rem !important;
		border-radius: var(--tlk-radius-md) !important;
	}

	.tlk-search-box-inner .hb-search-label,
	.hb-search-label {
		font-size: 0.8rem !important;
		margin-bottom: 0.15rem !important;
	}

	.tlk-search-box-inner .hb-search-input,
	.hb-search-input {
		font-size: 0.92rem !important;
	}

	.tlk-search-box-inner .hb-search-btn-col,
	.hb-search-btn-col {
		grid-column: span 2 !important;
		width: 100% !important;
		margin-top: 0.2rem !important;
	}

	.tlk-search-box-inner .hb-btn-search,
	.hb-btn-search {
		width: 100% !important;
		min-width: 100% !important;
		height: 50px !important;
		min-height: 50px !important;
		font-size: 1rem !important;
		border-radius: var(--tlk-radius-pill) !important;
		justify-content: center !important;
	}

	/* Deals Grid Mobile Horizontal Swipe Rail (App-like UX) */
	.sd-deals-grid {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		scroll-snap-type: x mandatory !important;
		-webkit-overflow-scrolling: touch !important;
		gap: 0.75rem !important;
		padding: 0.25rem 1rem 0.85rem 1rem !important;
		margin-left: -1rem !important;
		margin-right: -1rem !important;
		width: calc(100% + 2rem) !important;
		max-width: calc(100% + 2rem) !important;
		box-sizing: border-box !important;
		scrollbar-width: none !important;
	}
	.sd-deals-grid::-webkit-scrollbar {
		display: none !important;
	}

	.sd-deal-card {
		flex: 0 0 82% !important;
		min-width: 270px !important;
		max-width: 320px !important;
		scroll-snap-align: start !important;
		box-sizing: border-box !important;
		border: 1px solid #e2e8f0 !important;
		border-radius: 7px !important;
		margin-bottom: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		background: #ffffff !important;
	}

	.sd-deal-thumb-wrap {
		height: 145px !important;
		border-top-left-radius: 7px !important;
		border-top-right-radius: 7px !important;
	}

	.sd-deal-body {
		padding: 0.75rem 0.85rem !important;
		flex: 1 !important;
		display: flex !important;
		flex-direction: column !important;
	}

	.sd-deal-title {
		font-size: 1.05rem !important;
		margin-bottom: 0.35rem !important;
	}

	.sd-deal-meta {
		margin-bottom: 0.45rem !important;
		font-size: 0.92rem !important;
	}

	.sd-deal-perks {
		margin-bottom: 0.5rem !important;
		gap: 0.35rem !important;
	}

	.sd-deal-perks span {
		font-size: 0.92rem !important;
		padding: 0.2rem 0.45rem !important;
		border-radius: 7px !important;
	}

	.sd-deal-pricing {
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding: 0.55rem 0.75rem !important;
		margin: auto -0.85rem -0.85rem -0.85rem !important;
		border-top: 1px solid #e2e8f0 !important;
		border-bottom-left-radius: 7px !important;
		border-bottom-right-radius: 7px !important;
		gap: 0.5rem !important;
	}

	.sd-deal-pricing .sd-price-from {
		font-size: 0.85rem !important;
	}

	.sd-deal-pricing .sd-price-val {
		font-size: 1.15rem !important;
	}

	.sd-btn-deal {
		width: auto !important;
		padding: 0.45rem 0.85rem !important;
		font-size: 0.92rem !important;
		border-radius: 7px !important;
		white-space: nowrap !important;
	}

	.sd-dest-grid {
		grid-template-columns: 1fr;
	}

	.sd-exp-grid {
		grid-template-columns: 1fr;
	}

	.sd-trust-grid {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.sd-reviews-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
	}

	.sd-rating-summary-box {
		width: 100%;
		box-sizing: border-box;
	}

	.sd-footer-grid {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}

	.sd-sec-title {
		font-size: 1.55rem !important;
	}

	/* Room Matrix / Seat Map */
	.hb-matrix-toolbar {
		padding: 1.25rem !important;
	}

	.hb-matrix-filter-form {
		flex-direction: column !important;
		gap: 0.85rem !important;
		align-items: stretch !important;
	}

	.hb-filter-item,
	.hb-filter-btn-wrap {
		width: 100% !important;
		flex: 1 1 100% !important;
	}

	.hb-filter-select,
	.hb-filter-date,
	.hb-btn-filter-matrix {
		width: 100% !important;
	}

	.hb-matrix-legend {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 0.65rem !important;
	}

	.hb-floor-block {
		padding: 1.25rem !important;
	}

	.hb-floor-rooms-grid {
		grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
	}

	/* Detail Gallery Mobile */
	.hb-detail-gallery-modern {
		grid-template-columns: 1fr !important;
		max-height: none !important;
	}

	.hb-ggrid-hero {
		height: 260px !important;
	}

	.hb-ggrid-thumbs {
		display: none !important;
	}

	.hb-btn-view-all-photos {
		bottom: 12px !important;
		right: 12px !important;
		padding: 0.4rem 0.85rem !important;
		font-size: 0.82rem !important;
	}

	/* Blog Category Pills & Breadcrumbs */
	.sd-cat-pills-bar {
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		padding: 1rem 0 !important;
		scrollbar-width: none !important;
	}

	.sd-cat-pills-bar::-webkit-scrollbar {
		display: none !important;
	}

	.sd-cat-pills-bar .tlk-pill-tag {
		flex-shrink: 0 !important;
		white-space: nowrap !important;
	}

	.sd-breadcrumbs {
		flex-wrap: wrap !important;
		font-size: 0.85rem !important;
		gap: 0.35rem 0.5rem !important;
	}
}

/* ==========================================================================
   4. COMPACT MOBILE (max-width: 640px)
   ========================================================================== */
@media (max-width: 640px) {
	/* Booking Form Elements */
	.hb-form-grid-2 {
		grid-template-columns: 1fr !important;
		gap: 0.85rem !important;
	}

	.hb-datetime-split {
		flex-direction: column !important;
		gap: 0.5rem !important;
		align-items: stretch !important;
	}

	.hb-datetime-split .hb-field-input,
	.hb-datetime-split .hb-field-select {
		width: 100% !important;
		min-width: 100% !important;
		flex: 1 1 100% !important;
	}

	.hb-form-card,
	.hb-order-summary-card {
		padding: 1.25rem 1rem !important;
	}

	.hb-summary-row {
		font-size: 0.92rem !important;
	}

	.hb-btn-primary.hb-btn-submit-booking {
		width: 100% !important;
		justify-content: center !important;
	}

	/* Order Lookup Form & Receipt Grid on Mobile */
	.hb-lookup-card {
		padding: 1.25rem 1rem !important;
	}

	.hb-lookup-fields {
		grid-template-columns: 1fr !important;
		gap: 0.85rem !important;
	}

	.hb-receipt-grid,
	.hb-lookup-order-grid {
		grid-template-columns: 1fr !important;
		gap: 1px !important;
		margin-bottom: 1rem !important;
	}

	.hb-receipt-item {
		padding: 0.6rem 0.85rem !important;
	}

	.hb-receipt-item:last-child:nth-child(odd) {
		grid-column: span 1 !important;
	}

	.hb-rc-label {
		font-size: 0.88rem !important;
	}

	.hb-rc-val {
		font-size: 1rem !important;
	}

	.hb-booking-code {
		font-size: 1.1rem !important;
	}

	/* Wide & Flat Modals - Mobile Viewport Fit (Success, Combo, Seat) */
	.hb-success-content,
	.hb-combo-modal-content {
		max-width: 96vw !important;
		width: 96vw !important;
		margin: 0.5rem auto !important;
		padding: 0.65rem 0.85rem !important;
		max-height: 94vh !important;
		border-radius: 7px !important;
		border: none !important;
		box-shadow: none !important;
	}

	.hb-success-body {
		display: flex !important;
		flex-direction: column !important;
		padding: 0 !important;
		gap: 0.75rem !important;
	}

	.hb-combo-modal-body {
		display: flex !important;
		flex-direction: column !important;
		padding: 0.5rem !important;
		gap: 0.6rem !important;
	}

	.hb-success-header,
	.hb-combo-modal-header {
		margin: -0.65rem -0.85rem 0.65rem -0.85rem !important;
		padding: 0.6rem 0.85rem !important;
	}

	.hb-bank-details p {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 0.2rem !important;
	}

	/* Combo Page Mobile Summary Card */
	.hb-combo-page-container {
		padding: 1rem 0.5rem !important;
	}

	.hb-combo-summary-card .hb-summary-header {
		padding: 0.85rem 1rem 0.4rem 1rem !important;
	}

	.hb-combo-summary-card .hb-summary-room-title {
		font-size: 1.15rem !important;
	}

	.hb-combo-summary-card .sd-deal-perks {
		margin: 0.25rem 1rem !important;
		padding: 0.65rem 0.75rem !important;
	}

	.hb-combo-summary-card .hb-price-breakdown {
		padding: 0.4rem 1rem 0.85rem 1rem !important;
	}

	.hb-summary-trust-bar {
		margin: 0.35rem 1rem 1rem 1rem !important;
	}

	/* Room Detail Page */
	.hb-dtl-specs-grid {
		grid-template-columns: 1fr !important;
		gap: 0.85rem !important;
		padding: 1rem !important;
	}

	.hb-dtl-spec-item {
		gap: 0.65rem !important;
	}

	.hb-dtl-header-box {
		padding: 1.25rem 1rem !important;
	}

	.hb-dtl-card {
		padding: 1.25rem 1rem !important;
	}

	.hb-dtl-widget-form {
		padding: 1.25rem 1rem !important;
	}

	.hb-dtl-widget-header {
		padding: 1.25rem 1rem !important;
	}

	.hb-dtl-h1 {
		font-size: 1.55rem !important;
	}

	.hb-dtl-wfield-row {
		grid-template-columns: 1fr !important;
	}

	.hb-dtl-branch-cinema-btn {
		width: 100% !important;
		justify-content: center !important;
	}

	/* Matrix Seat Modal */
	.hb-seat-modal-content,
	.hb-seat-modal-box {
		width: 96vw !important;
		max-width: 96vw !important;
		margin: 0.5rem auto !important;
		padding: 0.65rem 0.85rem !important;
		max-height: 94vh !important;
		border-radius: 7px !important;
		border: none !important;
		box-shadow: none !important;
	}

	.hb-seat-modal-header {
		margin: -0.65rem -0.85rem 0.65rem -0.85rem !important;
		padding: 0.6rem 0.85rem !important;
	}

	.hb-seat-modal-body {
		grid-template-columns: 1fr !important;
		gap: 0.65rem !important;
	}

	.hb-seat-modal-actions {
		flex-direction: column !important;
	}

	.hb-seat-modal-actions a,
	.hb-seat-modal-actions button {
		width: 100% !important;
		text-align: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
	}

	/* Compact Mobile Featured Rooms (Horizontal Card) */
	.sd-featured-rooms-section {
		padding: 1.75rem 0 !important;
	}

	.sd-section-header-row {
		margin-bottom: 0.85rem !important;
	}

	.sd-rooms-container .hb-room-grid {
		grid-template-columns: 1fr !important;
		gap: 0.65rem !important;
	}

	.sd-rooms-container .hb-room-card {
		flex-direction: row !important;
		min-height: 112px !important;
		border-radius: var(--tlk-radius-md) !important;
	}

	.sd-rooms-container .hb-card-thumb-wrap {
		width: 120px !important;
		min-width: 120px !important;
		height: auto !important;
		min-height: 100% !important;
		border-radius: var(--tlk-radius-md) 0 0 var(--tlk-radius-md) !important;
	}

	.sd-rooms-container .hb-card-thumb {
		height: 100% !important;
		object-fit: cover !important;
		border-radius: var(--tlk-radius-md) 0 0 var(--tlk-radius-md) !important;
	}

	.sd-rooms-container .hb-card-no-thumb {
		border-radius: var(--tlk-radius-md) 0 0 var(--tlk-radius-md) !important;
	}

	.sd-rooms-container .hb-card-badge {
		top: 6px !important;
		left: 6px !important;
		font-size: 0.68rem !important;
		padding: 0.15rem 0.45rem !important;
	}

	.sd-rooms-container .hb-card-body {
		padding: 0.55rem 0.75rem !important;
		flex: 1 !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: space-between !important;
		min-width: 0 !important;
	}

	.sd-rooms-container .hb-card-title {
		font-size: 0.95rem !important;
		margin: 0 0 0.2rem 0 !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	.sd-rooms-container .hb-card-specs {
		gap: 0.2rem 0.45rem !important;
		margin-bottom: 0.3rem !important;
	}

	.sd-rooms-container .hb-spec-item {
		font-size: 0.75rem !important;
	}

	.sd-rooms-container .hb-spec-item svg {
		width: 12px !important;
		height: 12px !important;
	}

	.sd-rooms-container .hb-card-footer {
		padding-top: 0.35rem !important;
		gap: 0.35rem !important;
	}

	.sd-rooms-container .hb-price-val {
		font-size: 1.05rem !important;
	}

	.sd-rooms-container .hb-price-unit {
		font-size: 0.7rem !important;
	}

	.sd-rooms-container .hb-btn-book {
		padding: 0.4rem 0.85rem !important;
		font-size: 0.92rem !important;
		border-radius: 7px !important;
	}

	.sd-rooms-container .hb-btn-detail {
		padding: 0.4rem 0.65rem !important;
		font-size: 0.92rem !important;
		border-radius: 7px !important;
	}
}

/* ==========================================================================
   5. SMALL MOBILE & PHONE SCREENS (max-width: 580px)
   ========================================================================== */
@media (max-width: 580px) {
	/* Search Bar switches to 1 Column for comfortable typing */
	.tlk-search-box-inner {
		padding: 0.85rem 0.75rem 1.15rem 0.75rem !important;
	}

	.tlk-search-box-inner .hb-search-form,
	.hb-search-form {
		grid-template-columns: 1fr !important;
		gap: 0.55rem !important;
	}

	.tlk-search-box-inner .hb-search-col,
	.hb-search-col {
		width: 100% !important;
		min-height: 56px !important;
		padding: 0.5rem 0.75rem !important;
	}

	.tlk-search-box-inner .hb-search-btn-col,
	.hb-search-btn-col {
		grid-column: span 1 !important;
		width: 100% !important;
		margin-top: 0.25rem !important;
	}

	.tlk-search-box-inner .hb-btn-search,
	.hb-btn-search {
		width: 100% !important;
		min-width: 100% !important;
		height: 50px !important;
		min-height: 50px !important;
		font-size: 1.05rem !important;
		border-radius: var(--tlk-radius-pill) !important;
	}
}

/* ==========================================================================
   6. SMALL MOBILE (max-width: 480px)
   ========================================================================== */
@media (max-width: 480px) {
	.tlk-brand-text {
		font-size: 1.25rem !important;
	}

	.custom-logo {
		max-height: 34px !important;
		max-width: 130px !important;
	}

	.tlk-btn-register-mobile {
		padding: 0.35rem 0.7rem !important;
		font-size: 0.82rem !important;
	}

	.tlk-cta-box {
		padding: 1.35rem !important;
	}

	.hb-matrix-toolbar {
		padding: 1rem !important;
	}

	.hb-floor-rooms-grid {
		grid-template-columns: 1fr !important;
	}

	.hb-bcom-card {
		padding: 0.85rem !important;
	}

	.hb-bcom-card-img {
		height: 180px !important;
	}

	.hb-bcom-sort-bar {
		padding: 0.25rem 0.35rem !important;
		gap: 0.35rem !important;
	}

	.hb-bcom-sort-label {
		font-size: 0.78rem !important;
		padding: 0 0.2rem !important;
	}

	.hb-bcom-sort-tab {
		font-size: 0.8rem !important;
		padding: 0.25rem 0.6rem !important;
	}

	.sd-single-main-col {
		padding: 1.15rem !important;
		border-radius: var(--tlk-radius-lg);
	}

	.sd-single-thumb-wrap {
		margin: -1.15rem -1.15rem 1.15rem -1.15rem !important;
		border-radius: var(--tlk-radius-lg) var(--tlk-radius-lg) 0 0;
		max-height: 220px !important;
	}

	.sd-single-title {
		font-size: 1.45rem !important;
	}

	.sd-single-nav-row {
		grid-template-columns: 1fr !important;
	}

	.sd-author-bio-card {
		flex-direction: column !important;
		text-align: center !important;
	}

	.sd-article-promo-actions {
		flex-direction: column !important;
		width: 100% !important;
	}

	.sd-article-promo-actions a {
		width: 100% !important;
		text-align: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
	}
}

/* ==========================================================================
   7. EXTRA COMPACT MOBILE (max-width: 360px)
   ========================================================================== */
@media (max-width: 360px) {
	.sd-container {
		padding-left: 0.85rem !important;
		padding-right: 0.85rem !important;
	}

	.tlk-brand-text {
		font-size: 1.15rem !important;
	}

	.hb-bcom-card-title a {
		font-size: 1.1rem !important;
	}

	.hb-bcom-price-amount {
		font-size: 1.35rem !important;
	}

	.hb-dtl-h1 {
		font-size: 1.3rem !important;
	}

	.hb-dtl-wprice-main {
		font-size: 1.55rem !important;
	}

	.sd-rooms-container .hb-card-thumb-wrap {
		width: 105px !important;
		min-width: 105px !important;
	}

	.sd-rooms-container .hb-btn-detail {
		display: none !important;
	}
}
