/**
 * ===========================================================================
 * UNIVERSAL CSS + BOOTSTRAP SYSTEM (GOLDEN CIRCLE — PRIMARY DESIGN AUTHORITY)
 * ===========================================================================
 *
 * WHY (Purpose)
 * - style.css is the SINGLE source of primary UI intent (Desktop-first).
 * - media.css exists only to adapt the same intent for other devices.
 * - Prevent random scaling, guessing, or redesign during responsiveness.
 *
 * The goal is CONSISTENCY of intent, not pixel equality across devices.
 *
 *
 * HOW (Implementation & Governance)
 *
 * 1. DESIGN AUTHORITY
 *    - style.css represents the PRIMARY DESIGN reference.
 *    - Primary design is evaluated at:
 *      • 1440px (Large Desktop)
 *
 *    - All sizes defined here (font, spacing, components) represent:
 *      • visual hierarchy
 *      • brand emphasis
 *      • intended density
 *
 *
 * 2. RESPONSIVE EXTENSION (media.css ALIGNMENT)
 *    - media.css does NOT redesign.
 *    - media.css only ADAPTS values from style.css.
 *
 *    Allowed adaptations:
 *    - font-size reduction
 *    - vertical spacing reduction
 *    - visibility refinement (hide secondary elements)
 *
 *    Forbidden adaptations:
 *    - changing layout logic
 *    - redefining grid behavior
 *    - increasing sizes beyond style.css
 *
 *
 * 3. BOOTSTRAP CONTRACT
 *    - Bootstrap handles:
 *      • grid
 *      • breakpoints
 *      • base responsiveness
 *
 *    - Bootstrap classes are READ-ONLY.
 *    - Custom UI must NEVER override Bootstrap behavior.
 *
 *
 * 4. TOKEN & CLASS DISCIPLINE
 *    - Tokens (:root) define VALUES only.
 *    - Custom classes define USAGE of those values.
 *    - All custom classes MUST use "_" prefix.
 *
 *
 * WHAT (Structure & Screen Strategy)
 *
 * - Screen Presets (Industry Standard):
 *   • ≥1440px : Primary Design Reference
 *   • ≥1200px : Desktop
 *   • ≥992px  : Laptop
 *   • ≥768px  : Tablet
 *   • <768px  : Mobile
 *
 * - style.css:
 *   • Defines primary font sizes, spacing, components (desktop intent)
 *
 * - media.css:
 *   • Derives reduced values for tablet & mobile
 *   • Preserves hierarchy defined in style.css
 *
 *
 * ALLOWED
 * - _btn_primary, _card, _section, _section_inner, _text_muted
 * - rem units for spacing & typography
 *
 * FORBIDDEN
 * - Overriding Bootstrap classes
 * - Defining responsive logic in style.css
 * - Redesigning components inside media.css
 * - Color-named or device-named classes
 *
 *
 * GOLDEN RULE (DO NOT BREAK)
 * - style.css defines INTENT (1440px truth).
 * - media.css adapts INTENT, never redefines it.
 * - Bootstrap enforces structure.
 * - Custom classes express identity, not layout authority.
 * ===========================================================================
 */

/* -----------------------
   GLOBAL BASE
   ----------------------- */
@import 'font.css';
@import 'variables.css';

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html,
body {
	width: 100%;
	overflow-x: clip;
}

body {
	font-family: var(--font_base);
	font-size: var(--text_font_size_base);
	font-weight: var(--text_font_weight_normal);
	line-height: var(--text_line_height_base);
	background-color: var(--ink_white);
	color: var(--theme_text_primary);
}

/* 
   ::-webkit-scrollbar-track {
	   background-color: var(--theme_color_primary);
	   border-left: 1px solid var(--theme_color_primary);
   }
   
   ::-webkit-scrollbar {
	   width: 7px;
	   background-color: var(--theme_color_primary);
   }
   
   ::-webkit-scrollbar-thumb {
	   background: var(--theme_color_accent);
   }
   
   ::selection {
	   color: var(--theme_color_primary);
	   background-color: var(--theme_color_accent);
	   filter: invert(1);
   } */

p {
	line-height: var(--text_line_height_fixed_base);
	margin-bottom: 0px;
	font-size: var(--text_font_size_base);
	font-weight: var(--text_font_weight_normal);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	font-weight: var(--text_font_weight_bold);
	line-height: var(--text_line_height_base);
	color: var(--theme_text_secondary);
}

img {
	max-width: 100%;
}

a {
	text-decoration: none;
}

a:hover {
	text-decoration: none;
	outline: 0;
}

a:focus {
	text-decoration: none;
	outline: 0;
}

input:focus {
	outline: none;
	border: none;
}

._theme_color_primary {
	color: var(--theme_color_primary);
}

._theme_color_secondary {
	color: var(--theme_color_secondary);
}

._theme_font_primary {
	font-family: var(--font_primary);
}

._theme_font_secondary {
	font-family: var(--font_secondary);
}

.equal-cols>* {
	flex: 1 1 0%;
}

._gap_4 {
	gap: 4px;
}

._gap_8 {
	gap: 8px;
}

._gap_10 {
	gap: 10px;
}

._gap_12 {
	gap: 12px;
}

._gap_15 {
	gap: 15px;
}

._gap_16 {
	gap: 16px;
}

._gap_17 {
	gap: 17px;
}

._gap_20 {
	gap: 20px;
}

._gap_24 {
	gap: 24px;
}

._gap_28 {
	gap: 28px;
}

._gap_29 {
	gap: 29px;
}

._gap_30 {
	gap: 30px;
}

._gap_32 {
	gap: 32px;
}

._gap_40 {
	gap: 40px;
}

._gap_48 {
	gap: 48px;
}

._gap_50 {
	gap: 50px;
}

._gap_60 {
	gap: 60px;
}

._gap_64 {
	gap: 64px;
}

._gap_128 {
	gap: 128px;
}

._section {
	width: 100%;
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
	padding-right: 0px;
	padding-left: 0px;
}

._section_inner {
	max-width: 1440px;
	margin: 0 auto;
}

._section_full {
	padding-left: 0;
	padding-right: 0;
}

._section_horizontal_padding {
	padding-left: var(--theme_horizontal_padding);
	padding-right: var(--theme_horizontal_padding);
}

._section_vertical_padding {
	padding-top: var(--theme_vertical_padding);
	padding-bottom: var(--theme_vertical_padding);
}

._section_vertical_bottom_only_padding {
	padding-bottom: var(--theme_vertical_padding);
}

._section_horizontal_no_padding {
	padding-left: 0;
	padding-right: 0;
}

._section_vertical_no_padding {
	padding-top: 0;
	padding-bottom: 0;
}

._section_bg_primary {
	background: var(--theme_bg_primary);
}

._section_bg_secondary {
	background: var(--theme_bg_secondary);
}

._section_bg_ink_white {
	background: var(--ink_white);
}

._text_muted {
	color: var(--theme_text_muted);
}

._brand_logo_img {
	max-width: 305px;
	height: auto;
}

._primary_heading {
	font-size: var(--text_font_size_lg);
	font-weight: var(--text_font_weight_medium);
}

._section_title {
	font-size: var(--text_font_size_xxl);
	font-weight: var(--text_font_weight_extrabold);
	line-height: var(--text_line_height_fixed_lg);
}

._btn_primary {
	background-color: var(--theme_color_primary);
	border: 1px solid var(--theme_color_primary);
	border-radius: var(--theme_radius_md);
	color: var(--ink_white);
	font-family: var(--font_base);
	font-size: var(--text_font_size_sm);
	font-weight: var(--text_font_weight_bold);
	text-decoration: none;
	line-height: var(--text_line_height_fixed_sm);
	padding: 12.4px 20px 12.4px 20px;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

._btn_primary:hover {
	background-color: var(--theme_color_primary_dark);
}


._btn_primary_bordered {
	background-color: #02010100;
	border: 1px solid var(--ink_white);
	border-radius: var(--theme_radius_md);
	fill: var(--ink_white);
	color: var(--ink_white);
	padding: 12.4px 20px 12.4px 20px;
	font-size: var(--text_font_size_sm);
	font-weight: var(--text_font_weight_bold);
	text-decoration: none;
	line-height: var(--text_line_height_fixed_sm);
	text-align: center;
	cursor: pointer;
}

._btn_primary_bordered_icon_wrap ._btn_primary_bordered_icon {
	height: 15px;
}

._theme_divider {
	width: 100%;
	height: 4px;
	background-color: var(--theme_bg_primary);
}

/* -----------------------
	   color: var(--theme_color_secondary);
	   margin-bottom: 24px;
	  HEADER MENU
	  ----------------------- */
._header {
	background: #65656530;
	backdrop-filter: blur(26px);
	padding: 15px 0;
	position: absolute;
	z-index: var(--z_header);
}

._header_nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

._header_nav_left {
	display: flex;
	align-items: center;
	gap: 4rem;
	flex: 1;
}

._header_nav_center {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
}

._header_nav_right {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex: 1;
}

._header_logo_wrap ._brand_logo_img_wrap {
	width: 305px;
	height: auto;
}

._header_tel_number {
	display: none;
}

._header_tel_link:hover ._header_tel_text {
	display: none;
}

._header_tel_link:hover ._header_tel_number {
	display: inline;
}

._banner_section_bg {
	background-image: url('../images/hero_banner.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

._banner_section_wrap {
	position: relative;
	width: 100%;
	height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 35px;
	padding-top: 80px;
}

._banner_section_heading {
	text-align: center;
	color: var(--ink_white);
	font-size: 80px;
	font-family: var(--font_base);
	font-weight: var(--text_font_weight_bold);
	text-transform: capitalize;
	text-decoration: none;
	line-height: 1em;
}

._banner_section_subheading {
	text-align: center;
	color: var(--ink_white);
	font-size: 28px;
	font-weight: var(--text_font_weight_bold);
	line-height: 1.1em;
}

._btn_extra_padding {
	padding: 14px 55px 14px 55px !important;
}

._footer_brand_logo_wrap {
	height: 100px;
	width: 120px;
	background-color: var(--ink_white);
	padding: 5px 15px;
	display: flex;
	align-items: center;
	justify-content: center;
}

._footer_brand_logo {
	height: 100%;
	width: 100%;
	object-fit: contain;
}

._footer_vertical_padding {
	padding-top: 20px;
	padding-bottom: 20px;
}

._footer_site_by_logo {
	height: 20px;
	width: auto;
	object-fit: contain;
}

._footer_site_by_text {
	font-size: var(--text_font_size_xs);
	color: var(--ink_white);
}

._footer_sub_section_title {
	color: var(--theme_text_primary);
	text-transform: uppercase;
	font-size: var(--text_font_size_lg);
	font-weight: var(--text_font_weight_bold);
	line-height: var(--text_line_height_md);
}

._footer_social_media_button {
	height: 50px;
	width: 50px;
	background-color: var(--theme_color_primary);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--ink_white);
	border: none;
	outline: none;
}

._footer_social_media_button svg {
	height: 25px;
	width: 25px;
	object-fit: contain;
	fill: #fff;
}

._footer_sub_section {
	padding: 15px;
}

._find_out_svg_wrap {
	height: 50px;
	width: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 3px 0px;
}

._find_out_svg_wrap svg {
	height: 100%;
	width: 100%;
	object-fit: contain;
	fill: var(--ink_white);
}

._find_out_wrap {
	padding: 10px 0px;
}

._find_out_wrap p {
	font-weight: var(--text_font_weight_thin);
}

._find_out_wrap,
._find_out_wrap p,
._find_out_wrap h1 {
	color: var(--ink_white);
}

._testimonials_title {
	color: var(--ink_white);
	text-align: center;
}

._testimonial_card {
	padding: 30px;
	border: 1px solid var(--ink_white);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
}

._testimonial_content {
	text-align: center;
	font-size: var(--text_font_size_lg);
	font-weight: var(--text_font_weight_medium);
	color: var(--ink_white);
}

._testimonial_name {
	font-size: var(--text_font_size_base);
	font-weight: var(--text_font_weight_normal);
	line-height: var(--text_line_height_fixed_base);
	color: var(--ink_white);
}

._auction_service_card_icon {
	height: 80px;
	width: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 3px 0px;
	background-color: var(--ink_white);
	border-radius: 50%;
}

._auction_service_card_icon svg {
	height: 36px;
	width: 36px;
	object-fit: contain;
	fill: var(--theme_color_secondary);
}

._auction_service_title {
	font-size: var(--text_font_size_lg);
	font-weight: var(--text_font_weight_bold);
	line-height: 100%;
	color: var(--theme_text_primary);
}

._auction_service_card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
	padding: 0 30px;

}

._auction_service_content {
	text-align: center;
}

._auction_service_card._middle_card {
	border-left: 1px solid var(--ink_white);
	border-right: 1px solid var(--ink_white);
}

._form_card_wrap {
	padding: 50px;
	background-color: var(--theme_color_secondary);
	border-radius: var(--theme_radius_sm);
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

._form_card_title {
	font-size: var(--text_font_size_xl);
	font-weight: var(--text_font_weight_bold);
	line-height: var(--text_line_height_fixed_xl);
	color: var(--theme_text_primary);
}

._form_field {
	width: 100%;
	padding: 6px 10px;
	border: 1px solid #CCCCCC;
	border-radius: 10px;
	font-size: 15px;
	font-weight: var(--text_font_weight_normal);
	line-height: var(--text_line_height_fixed_base);
	color: var(--theme_text_primary);
	display: block;
}

._form_field:focus {
	border: 1px solid #CCCCCC;
}

._form_card_subtitle {
	font-size: var(--text_font_size_xxs);
	padding: 0px 5rem;
	line-height: 150%;
}

._form_card_title_wrap {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

._guaranteed_rent_text {
	width: 80%;
}

._benefits_list_wrap ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

._benefits_list_wrap ul li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 30px;
}

._benefits_list_wrap ul li svg {
	height: 25px;
	width: 25px;
	object-fit: contain;
	fill: var(--theme_color_primary);
}

._auction_item_card_wrap {
	position: relative;
	height: 430px;
	width: 446px;
	background-color: var(--ink_white);
	border-radius: 24px;
	overflow: hidden;
}

._auction_item_content_wrap {
	position: relative;
	z-index: 2;
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
	padding: 35px;
	visibility: hidden;
	opacity: 0;
	transition: visibility 0s, opacity 0.3s ease;
}

._auction_item_card_wrap:hover ._auction_item_content_wrap {
	visibility: visible;
	opacity: 1;
	background-color: rgba(0, 0, 0, 0.7);
}

._auction_item_image_wrap {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 1;
}

._auction_item_image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

._auction_item_content_title {
	font-size: var(--text_font_size_lg);
	font-weight: var(--text_font_weight_bold);
	line-height: var(--text_line_height_fixed_md);
	color: var(--ink_white);
}

._auction_item_content_text {
	font-size: 21px;
	font-weight: var(--text_font_weight_semibold);
	line-height: var(--text_line_height_fixed_base);
	color: var(--ink_white);
}

._auction_properties_wrap {
	margin-top: 50px;
	position: relative;
	overflow: visible;
}

/* Carousel: 3 equal-width items, no trailing gap; cards fill their slot */
._auction_properties_wrap .owl-stage-outer {
	overflow: hidden;
}

._auction_properties_wrap .owl-item ._auction_item_card_wrap {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

._auction_properties_wrap .owl-nav {
	margin-top: 0;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	pointer-events: none;
	display: flex;
	justify-content: space-between;
}

/* Override Owl's .owl-nav.disabled so nav always shows (Owl hides when items fit in one view) */
._auction_properties_wrap .owl-nav.disabled {
	display: flex !important;
}

._auction_properties_wrap .owl-nav button.owl-prev,
._auction_properties_wrap .owl-nav button.owl-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: auto;
	margin: 0;
	background: var(--e-global-color-3c9b5c6, var(--ink_white)) !important;
	background-color: var(--e-global-color-3c9b5c6, var(--ink_white)) !important;
	box-shadow: 0px 4px 3px 0px rgba(0, 0, 0, 0.25);
	border-radius: 10px;
	padding: 10px 14px !important;
	border: none !important;
	cursor: pointer;
	transition: opacity var(--theme_transition_fast);
	color: var(--theme_color_primary) !important;
	font: inherit;
}

._auction_properties_wrap .owl-nav button.owl-prev:hover,
._auction_properties_wrap .owl-nav button.owl-next:hover {
	background: var(--theme_color_primary) !important;
	background-color: var(--theme_color_primary) !important;
	color: var(--ink_white) !important;
}

._auction_properties_wrap .owl-nav button.owl-prev {
	left: 0;
	transform: translateY(-50%) translateX(-50%);
}

._auction_properties_wrap .owl-nav button.owl-next {
	right: 0;
	transform: translateY(-50%) translateX(50%);
}

._auction_properties_wrap .owl-nav ._owl_nav_arrow {
	display: block;
	font-size: 24px;
	line-height: 1;
}

._auction_properties_wrap .owl-nav ._owl_nav_svg {
	display: block;
	width: 22px;
	height: 22px;
	fill: currentColor;
}

._section_bg_auction_properties {
	background-color: #f2f2f2;
	background-image: url('../images/liner-shape.svg');
	background-size: contain;
	background-position: bottom right;
	background-repeat: no-repeat;
}

._sell_with_text {
	max-width: 600px;
}

._section_bg_sell_with {
	position: relative;
	background-attachment: fixed;
	background-color: #f2f2f2;
	background-image: url('../images/cta_bg.jpg');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center left;
}

._section_bg_sell_with ._section_content {
	min-height: 90vh;
}

._section_bg_sell_with h1,
._section_bg_sell_with p {
	color: var(--ink_white);
}

/* Top-left diagonal cut: white triangle */
._section_bg_sell_with::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	height: 60px;
	background-color: #f2f2f2;
	clip-path: polygon(0 0, 100% 0, 0 100%);
	pointer-events: none;
	z-index: 0;
}

/* Bottom-right diagonal cut: white triangle */
._section_bg_sell_with::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 60px;
	background-color: var(--ink_white);
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
	pointer-events: none;
	z-index: 0;
}

._section_bg_sell_with ._section_inner {
	position: relative;
	z-index: 1;
}

/* -----------------------
	  FLOATING WHATSAPP (bottom right)
	  ----------------------- */
._whatsapp_float {
	position: fixed;
	bottom: 24px;
	right: 24px;
	width: 50px;
	height: 50px;
	background-color: #25D366;
	color: var(--ink_white);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	z-index: 999;
	transition: transform var(--theme_transition_fast), box-shadow var(--theme_transition_fast);
}

._whatsapp_float:hover {
	transform: scale(1.05);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
	color: var(--ink_white);
}

._whatsapp_float_icon {
	width: 30px;
	height: 30px;
	fill: currentColor;
}

._thank_you_left {
	padding: 0 var(--theme_horizontal_padding);
}
._thank_you_left h1,
._thank_you_left p {
	color: var(--ink_white);
}