/* Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ─────────────────────────────────────────────────────────────────
   1. KESHAVAA PERMANENT BRAND LOCK: STONE BLUE (#3E5A68)
   Aggressive suppression of Hello Elementor pink transients.
───────────────────────────────────────────────────────────────── */
:root {
    --kv-blue: #3E5A68 !important;
    --kv-blue-pale: #A8BEC8 !important;
    --kv-stone: #F7F6F3 !important;
    --section-pad: 160px;
    --container-w: 1400px;
    --kv-ease: cubic-bezier(0.165, 0.84, 0.44, 1);
    
    /* Force Elementor Global System to Stone Blue */
    --e-global-color-primary: #3E5A68 !important;
    --e-global-color-secondary: #3E5A68 !important;
    --e-global-color-accent: #3E5A68 !important;
    --e-global-color-pink: #3E5A68 !important;
    --elementor-color-primary: #3E5A68 !important;
    --elementor-color-accent: #3E5A68 !important;
}

/* ─────────────────────────────────────────────────────────────────
   2. ABSOLUTE GLOBAL TYPOGRAPHY LOCK (JAZMIN ERA)
───────────────────────────────────────────────────────────────── */

/* 1. Reset Base HTML - Stops browsers from artificially zooming text */
html { font-size: 16px !important; }

/* 2. Universal Naked Tag Lock (Only fonts/styles, NO COLORS altered) */
* {
    font-family: 'Jazmin', serif !important;
}

body, p, a, span, div, input, button, textarea, li, ul, label,
h1, h2, h3, h4, h5, h6, 
.elementor-heading-title, 
.elementor-widget-text-editor, 
.elementor-text-editor { 
    font-family: 'Jazmin', serif !important; 
    font-style: normal !important; /* Stops global theme italics from leaking */
}

/* 3. Strict Italic Assignment */
em, i, .kv-serif, .italic-text { 
    font-family: 'Cormorant Garamond', serif !important; 
    font-style: italic !important; 
    font-weight: 400 !important;
}

/* 4. Stop Icons from Inheriting the Font */
i, svg, .elementor-icon, .fas, .fab, .far {
    font-family: inherit !important;
}

/* ─────────────────────────────────────────────────────────────────
   3. RESPONSIVE TEXT SCALING (FIXES EXTRA BIG FONT ISSUE)
───────────────────────────────────────────────────────────────── */

/* Primary Headings (Hero Titles) */
h1, .kv-uh-title, .kv-ph-title, .kv-apt-title, .kv-villa-title, .kv-comm-title, .kv-bfh-title { 
    font-size: clamp(2.5rem, 6.5vw, 4.5rem) !important; 
    line-height: 1.1 !important;
    font-weight: 300 !important;
}

/* Secondary Headings (Section Titles) */
h2, .kv-heading, .kv-res-heading, .kv-coll-heading { 
    font-size: clamp(2rem, 5vw, 3.5rem) !important; 
    line-height: 1.2 !important;
    font-weight: 300 !important;
}

/* Tertiary Headings & Sub-Headers */
h3, .kv-landscape-title, .kv-team-name, .kv-coll-type { 
    font-size: clamp(1.2rem, 3.5vw, 1.6rem) !important; 
    font-weight: 600 !important;
}

/* Standardize Paragraphs & Body Text */
p, li, .elementor-text-editor, .elementor-widget-text-editor p,
.kv-us-body p, .kv-team-bio, .kv-apt-description, .kv-villa-description, 
.kv-comm-description, .kv-f-narrative, .kv-inv-subtext {
    font-size: clamp(15px, 2vw, 17px) !important; 
    line-height: 1.8 !important;
    font-weight: 300 !important;
}

/* Fix Specs & Values (e.g., "75 to 138 Sqmt" or "2 & 3 BHK") */
.kv-comm-spec-val, .kv-apt-spec-val, .kv-villa-spec-val,
.kv-landscape-specs, .kv-coll-specs {
    font-family: 'Cormorant Garamond', serif !important;
    font-style: italic !important;
    font-size: clamp(18px, 5vw, 24px) !important;
    font-weight: 400 !important;
    word-break: break-word !important;
}

/* All Labels, Tags, and Nav Links (e.g. PROPERTY TYPE, LOCATION) */
.kv-label, .kv-uh-label, .kv-ph-label, .kv-coll-label, .kv-res-label, 
.kv-f-heading, .kv-team-role, .kv-apt-spec-label, .kv-villa-spec-label, 
.kv-comm-spec-label, .kv-apt-sold-badge, .kv-status-indicator,
.kv-bfh-label, .kv-s-label, .kv-inv-label, .kv-f-nav a { 
    font-size: clamp(10px, 2.5vw, 12px) !important; 
    letter-spacing: 0.15em !important; /* Reduced tracking to stop mobile overflow */
    font-weight: 600 !important;
    text-transform: uppercase !important;
    white-space: normal !important;
}

/* Buttons & Calls to Action */
.kv-res-action-btn, .kv-coll-btn, .kv-landscape-link, 
.kv-apt-btn, .kv-villa-btn, .kv-comm-btn, .kv-f-cta, 
.kv-p-modal-submit, .kv-inv-btn-solid, .kv-inv-btn-outline {
    font-size: clamp(9px, 2.5vw, 11px) !important;
    letter-spacing: 0.2em !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    white-space: normal !important;
}

/* ─────────────────────────────────────────────────────────────────
   4. CRITICAL LAYOUT & OVERFLOW BUG FIXES (From Screenshots)
───────────────────────────────────────────────────────────────── */

/* Stop "SPACE SPECIFICATIONS" from blowing up the screen */
.kv-comm-section-title, .kv-apt-section-title, .kv-villa-section-title {
    font-size: clamp(1.2rem, 6vw, 1.8rem) !important; 
    letter-spacing: 0.15em !important; 
    text-transform: uppercase !important;
    font-weight: 600 !important; 
    line-height: 1.4 !important; 
    word-wrap: break-word !important; 
    overflow-wrap: break-word !important;
    white-space: normal !important;
}

/* Stop "APARTMENTS" from bleeding in the Collection Grid */
.kv-coll-meta {
    flex-wrap: wrap !important; /* Allows "2 & 3 BHK" to drop below safely */
    gap: 5px;
}
.kv-coll-type {
    letter-spacing: 0.15em !important;
    word-wrap: break-word !important;
}

/* Prevents iPhones from auto-zooming into the screen when clicking a form field */
input[type="text"], input[type="tel"], input[type="email"], textarea {
    font-size: 16px !important; 
}

/* Stop the entire website from wobbling left and right */
html, body {
    overflow-x: hidden !important;
    width: 100%;
    max-width: 100vw;
}

/* Stop Detail Page Hero Images from Bleeding Down Behind Content */
#kv-apt-detail-system .kv-apt-main-wrap,
#kv-villa-detail-system .kv-villa-main-wrap,
#kv-comm-detail-system .kv-comm-main-wrap {
    background-color: var(--kv-stone, #F7F6F3) !important;
    background: var(--kv-stone, #F7F6F3) !important;
    position: relative !important;
    z-index: 20 !important;
    display: block !important;
    width: 100% !important;
}

.kv-apt-hero, .kv-villa-hero, .kv-comm-hero {
    position: relative !important;
    overflow: hidden !important;
    clip-path: inset(0 0 0 0) !important; 
    z-index: 1 !important;
}

.kv-apt-hero-img, .kv-villa-hero-img, .kv-comm-hero-img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* ─────────────────────────────────────────────────────────────────
   5. INTERACTIVE STATES & ELEMENTOR CLEANUP
───────────────────────────────────────────────────────────────── */

/* Force Brand Color on All Default Form/Submit Buttons */
html body [type=button]:focus, html body [type=button]:hover, 
html body [type=submit]:focus, html body [type=submit]:hover, 
html body button:focus, html body button:hover {
    background-color: var(--kv-blue, #3E5A68) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Kill Pink on Button Clicks & Hovers */
.elementor-button, .elementor-button:hover, .elementor-button:focus, .elementor-button:active,
.kv-play-btn-fixed, .kv-play-btn-fixed:focus, .kv-play-btn-fixed:active {
    background-color: transparent !important;
    color: inherit !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

/* Kill Pink on Mobile Menu Toggle & Close */
.elementor-menu-toggle, .elementor-menu-toggle:hover, .elementor-menu-toggle:focus, 
.elementor-menu-toggle:active, .elementor-menu-toggle.elementor-active,
#kv-burger-open, #kv-burger-close {
    background-color: transparent !important;
    background: transparent !important;
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--kv-blue) !important;
    fill: var(--kv-blue) !important;
}

/* Kill Transient Mobile Tap Flashes globally */
button, a, .vjs-play-control, .vjs-big-play-button, html body [type=button], html body [type=submit] {
    -webkit-tap-highlight-color: transparent !important;
}

/* Force Monochromatic Video Player (If using Video.js) */
.video-js .vjs-play-progress,
.video-js .vjs-volume-level,
.video-js .vjs-big-play-button {
    background-color: var(--kv-blue) !important;
}

/* Custom Text Selection Color */
::selection {
    background: var(--kv-blue);
    color: #ffffff;
}

/* ─────────────────────────────────────────────────────────────
   6. KESHAVAA UNIVERSAL FEATHER BACKGROUND SYSTEM
   Replaces all texture layers site-wide
───────────────────────────────────────────────────────────── */

.kv-feather-bg{
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:1;
    overflow:hidden;
}

/* MAIN FEATHER */
.kv-feather-bg::before{
    content:"";
    position:absolute;
    width:900px;
    height:900px;
    background:url("/wp-content/uploads/feather.svg") no-repeat center;
    background-size:contain;
    opacity:.18;

    top:-15%;
    right:-10%;
    transform:rotate(-15deg);

    -webkit-mask-image: radial-gradient(circle at center, rgba(0,0,0,1) 0%, rgba(0,0,0,.5) 35%, rgba(0,0,0,0) 75%);
    mask-image: radial-gradient(circle at center, rgba(0,0,0,1) 0%, rgba(0,0,0,.5) 35%, rgba(0,0,0,0) 75%);
}

/* LEFT VARIANT */
.kv-feather-left::before{
    left:-10%;
    right:auto;
    transform:rotate(165deg);
}

/* SMALL VARIANT */
.kv-feather-small::before{
    width:600px;
    height:600px;
    opacity:.15;
}

/* MOBILE ADJUSTMENT */
@media(max-width:768px){

.kv-feather-bg::before{
    width:500px;
    height:500px;
    opacity:.12;
}

}

.kv-leg-sub-accent {
    font-size: 40px!important; /* increase as needed */
}