/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme — Home Interiors / Exteriors / Repair Premium Redesign
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.1.0
 Text Domain:  woodmart
*/

/* ============================================================
   GOOGLE FONTS
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Inter:wght@300;400;500;600;700&display=swap');

/* ============================================================
   CSS CUSTOM PROPERTIES
   ============================================================ */
:root {
    --hi-brand:        #e8700a;
    --hi-brand-dark:   #c85d00;
    --hi-gold:         #d4a853;
    --hi-dark:         #1a1a1a;
    --hi-dark2:        #111111;
    --hi-text:         #3c3c3c;
    --hi-text-muted:   #777777;
    --hi-bg-warm:      #faf7f4;
    --hi-bg-cream:     #f5f2ee;
    --hi-white:        #ffffff;
    --hi-border:       #e8e0d8;
    --hi-radius:       8px;
    --hi-radius-lg:    16px;
    --hi-shadow:       0 4px 24px rgba(0,0,0,0.10);
    --hi-shadow-hover: 0 8px 40px rgba(0,0,0,0.18);
    --hi-font-serif:   'Playfair Display', Georgia, serif;
    --hi-font-sans:    'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --hi-transition:   all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================================
   BASE — Apply fonts to all three premium pages
   ============================================================ */
.page-id-1462,
.page-id-1504,
.page-id-1506 {
    font-family: var(--hi-font-sans);
    color: var(--hi-text);
}

.page-id-1462 h1, .page-id-1462 h2, .page-id-1462 h3, .page-id-1462 h4,
.page-id-1504 h1, .page-id-1504 h2, .page-id-1504 h3, .page-id-1504 h4,
.page-id-1506 h1, .page-id-1506 h2, .page-id-1506 h3, .page-id-1506 h4 {
    font-family: var(--hi-font-serif);
    line-height: 1.25;
    letter-spacing: -0.02em;
}

/* ============================================================
   SECTION SHARED STYLES
   ============================================================ */
.hi-section .elementor-container {
    max-width: 1280px;
}

/* ============================================================
   SECTION LABELS (e.g. "OUR SERVICES", "FAQ")
   ============================================================ */
.hi-section-label {
    font-family: var(--hi-font-sans) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--hi-brand) !important;
    text-align: center !important;
    margin: 0 0 12px !important;
    display: block;
}
.hi-label-light {
    color: var(--hi-gold) !important;
}

/* ============================================================
   SECTION HEADINGS
   ============================================================ */
.hi-section-heading .elementor-heading-title,
.hi-section-heading {
    font-size: clamp(28px, 4vw, 42px) !important;
    font-weight: 700 !important;
    color: var(--hi-dark) !important;
    text-align: center !important;
    line-height: 1.2 !important;
    margin-bottom: 16px !important;
}

.hi-section-sub {
    font-size: 17px !important;
    color: var(--hi-text-muted) !important;
    text-align: center !important;
    max-width: 600px !important;
    margin: 0 auto 32px !important;
    line-height: 1.7 !important;
}

/* ============================================================
   HERO SECTION
   ============================================================ */
.hi-hero-section {
    position: relative;
    overflow: hidden;
}

/* Dark overlay via pseudo — Elementor free may not render overlay */
.hi-hero-section > .elementor-background-overlay {
    background: rgba(10, 10, 10, 0.62) !important;
}

.hi-hero-badge {
    display: inline-block !important;
    font-family: var(--hi-font-sans) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: var(--hi-gold) !important;
    background: rgba(212, 168, 83, 0.15) !important;
    border: 1px solid var(--hi-gold) !important;
    padding: 6px 16px !important;
    border-radius: 100px !important;
    margin-bottom: 20px !important;
}

.hi-hero-heading .elementor-heading-title {
    font-size: clamp(32px, 4.5vw, 56px) !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.15 !important;
    margin-bottom: 20px !important;
}

.hi-hero-sub {
    font-size: 17px !important;
    color: rgba(255, 255, 255, 0.85) !important;
    line-height: 1.75 !important;
    margin-bottom: 28px !important;
    max-width: 520px;
}

/* Hero stats strip */
.hi-hero-stats {
    display: flex !important;
    gap: 32px !important;
    margin-bottom: 36px !important;
    flex-wrap: wrap;
}
.hi-hero-stat {
    display: flex !important;
    flex-direction: column !important;
}
.hi-stat-num {
    font-family: var(--hi-font-serif) !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1 !important;
    margin-bottom: 4px !important;
}
.hi-stat-label {
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    color: rgba(255, 255, 255, 0.65) !important;
    text-transform: uppercase !important;
}

/* Hero form column — white card look */
.hi-hero-form-col {
    background: #ffffff !important;
    border-radius: 0 !important;
}
@media (min-width: 1025px) {
    .hi-hero-form-col {
        min-height: 100vh !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }
}

/* Form heading inside hero */
.hi-form-heading .elementor-heading-title {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--hi-dark) !important;
    margin-bottom: 6px !important;
    text-align: center !important;
}

.hi-form-subtext {
    font-size: 13px !important;
    color: var(--hi-text-muted) !important;
    text-align: center !important;
    margin-bottom: 20px !important;
}

.hi-form-trust {
    font-size: 12px !important;
    color: var(--hi-text-muted) !important;
    text-align: center !important;
    margin-top: 12px !important;
}

/* ============================================================
   CF7 FORM — GLOBAL STYLING
   ============================================================ */
.hi-enquiry-form-widget .wpcf7-form {
    width: 100% !important;
}

.hi-cf7-grid {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.hi-cf7-field {
    margin: 0 !important;
}

.hi-cf7-field input[type="text"],
.hi-cf7-field input[type="tel"],
.hi-cf7-field input[type="email"],
.hi-cf7-field select {
    width: 100% !important;
    padding: 13px 16px !important;
    border: 1.5px solid var(--hi-border) !important;
    border-radius: var(--hi-radius) !important;
    font-family: var(--hi-font-sans) !important;
    font-size: 14px !important;
    color: var(--hi-dark) !important;
    background: #fafafa !important;
    transition: var(--hi-transition) !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
}

.hi-cf7-field input:focus,
.hi-cf7-field select:focus {
    border-color: var(--hi-brand) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(232, 112, 10, 0.12) !important;
}

.hi-cf7-field input::placeholder,
.hi-cf7-field select::placeholder {
    color: #b0b0b0 !important;
}

.hi-cf7-field.hi-cf7-full {
    grid-column: 1 / -1;
}

/* Submit button */
.hi-cf7-submit,
.hi-form-btn {
    margin: 0 !important;
}

.hi-cf7-submit input[type="submit"],
.wpcf7-submit.hi-form-btn,
input.hi-form-btn {
    width: 100% !important;
    padding: 15px 24px !important;
    background: var(--hi-brand) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: var(--hi-radius) !important;
    font-family: var(--hi-font-sans) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    cursor: pointer !important;
    transition: var(--hi-transition) !important;
    text-transform: uppercase !important;
}

.hi-cf7-submit input[type="submit"]:hover,
input.hi-form-btn:hover {
    background: var(--hi-brand-dark) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 16px rgba(232, 112, 10, 0.35) !important;
}

/* CF7 validation messages */
.wpcf7-not-valid-tip {
    font-size: 12px !important;
    color: #e53e3e !important;
    margin-top: 4px !important;
}

.wpcf7-response-output {
    font-size: 13px !important;
    padding: 10px 14px !important;
    border-radius: var(--hi-radius) !important;
    margin: 12px 0 0 !important;
    border: none !important;
}

.wpcf7-mail-sent-ok.wpcf7-response-output {
    background: #f0fdf4 !important;
    color: #15803d !important;
    border-left: 3px solid #16a34a !important;
}

.wpcf7-mail-sent-ng.wpcf7-response-output,
.wpcf7-validation-errors.wpcf7-response-output {
    background: #fef2f2 !important;
    color: #b91c1c !important;
    border-left: 3px solid #ef4444 !important;
}

/* ============================================================
   CTA BUTTONS
   ============================================================ */
.hi-cta-btn a,
.elementor-element.hi-cta-btn .elementor-button {
    background: var(--hi-brand) !important;
    color: #ffffff !important;
    border-radius: var(--hi-radius) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: 0.02em !important;
    transition: var(--hi-transition) !important;
    text-decoration: none !important;
}

.hi-cta-btn a:hover,
.elementor-element.hi-cta-btn .elementor-button:hover {
    background: var(--hi-brand-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(232, 112, 10, 0.35) !important;
}

.hi-outline-btn .elementor-button {
    background: transparent !important;
    border: 2px solid var(--hi-brand) !important;
    color: var(--hi-brand) !important;
    transition: var(--hi-transition) !important;
}

.hi-outline-btn .elementor-button:hover {
    background: var(--hi-brand) !important;
    color: #ffffff !important;
}

/* ============================================================
   TRUST / STATS BAR
   ============================================================ */
.hi-trust-section {
    position: relative;
    z-index: 2;
}

.hi-trust-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 16px 0 !important;
    text-align: center !important;
}

.hi-trust-icon {
    font-size: 28px !important;
    line-height: 1 !important;
    margin-bottom: 4px !important;
}

.hi-trust-num {
    font-family: var(--hi-font-serif) !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1 !important;
    display: block !important;
}

.hi-trust-label {
    font-family: var(--hi-font-sans) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.65) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    display: block !important;
}

.hi-trust-col {
    border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.hi-trust-col:last-child {
    border-right: none !important;
}

/* ============================================================
   SERVICES CARDS
   ============================================================ */
.hi-service-card-col {
    padding: 0 12px !important;
}

.hi-services-cards .elementor-widget-image-box.hi-service-card .elementor-image-box-wrapper {
    background: var(--hi-white) !important;
    border-radius: var(--hi-radius-lg) !important;
    overflow: hidden !important;
    box-shadow: var(--hi-shadow) !important;
    transition: var(--hi-transition) !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.hi-services-cards .elementor-widget-image-box.hi-service-card .elementor-image-box-wrapper:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--hi-shadow-hover) !important;
}

.hi-services-cards .elementor-widget-image-box.hi-service-card .elementor-image-box-img {
    width: 100% !important;
    margin: 0 !important;
    aspect-ratio: 4/3;
    overflow: hidden;
}

.hi-services-cards .elementor-widget-image-box.hi-service-card .elementor-image-box-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
}

.hi-services-cards .elementor-widget-image-box.hi-service-card:hover .elementor-image-box-img img {
    transform: scale(1.05) !important;
}

.hi-services-cards .elementor-widget-image-box.hi-service-card .elementor-image-box-content {
    padding: 20px 22px 24px !important;
    flex: 1 !important;
}

.hi-services-cards .elementor-widget-image-box.hi-service-card .elementor-image-box-title {
    font-family: var(--hi-font-serif) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: var(--hi-dark) !important;
    margin-bottom: 10px !important;
}

.hi-services-cards .elementor-widget-image-box.hi-service-card .elementor-image-box-description {
    font-size: 14px !important;
    color: var(--hi-text-muted) !important;
    line-height: 1.65 !important;
}

/* ============================================================
   ROOM CATEGORIES
   ============================================================ */
.hi-rooms-section .hi-section-label {
    color: var(--hi-gold) !important;
}

.hi-room-card {
    position: relative !important;
    height: 240px !important;
    background-size: cover !important;
    background-position: center center !important;
    overflow: hidden !important;
    cursor: pointer !important;
    display: block !important;
}

.hi-room-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0) 60%) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: 20px 22px !important;
    transition: var(--hi-transition) !important;
}

.hi-room-card:hover .hi-room-overlay {
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.25) 100%) !important;
}

.hi-room-tag {
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--hi-gold) !important;
    margin-bottom: 6px !important;
    display: block !important;
}

.hi-room-name {
    font-family: var(--hi-font-serif) !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    transition: transform 0.3s ease !important;
}

.hi-room-card:hover .hi-room-name {
    transform: translateY(-2px) !important;
}

/* Inner section gap for room grid */
.hi-rooms-section .elementor-inner-section .elementor-column-gap-no > .elementor-row > .elementor-column > .elementor-element-populated {
    padding: 0 !important;
}

.hi-room-col {
    padding: 4px !important;
}

/* ============================================================
   FEATURE SECTIONS (Kitchen / Wardrobe)
   ============================================================ */
.hi-feature-img-col img {
    border-radius: var(--hi-radius-lg) !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    display: block !important;
}

.hi-feature-heading .elementor-heading-title {
    font-size: clamp(24px, 3.2vw, 38px) !important;
    font-weight: 700 !important;
    color: var(--hi-dark) !important;
    text-align: left !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
}

.hi-feature-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 28px !important;
}

.hi-feature-list li {
    font-size: 15px !important;
    color: var(--hi-text) !important;
    line-height: 1.7 !important;
    padding: 7px 0 !important;
    border-bottom: 1px solid var(--hi-border) !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.hi-feature-list li:last-child {
    border-bottom: none !important;
}

/* ============================================================
   WHY CHOOSE US
   ============================================================ */
.hi-why-header .hi-section-heading .elementor-heading-title,
.hi-why-header .hi-section-heading {
    color: var(--hi-dark) !important;
}

.hi-why-box.elementor-widget-icon-box .elementor-icon-box-wrapper {
    background: #ffffff !important;
    border-radius: var(--hi-radius-lg) !important;
    padding: 30px 24px !important;
    height: 100% !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.06) !important;
    transition: var(--hi-transition) !important;
    text-align: center !important;
}

.hi-why-box.elementor-widget-icon-box .elementor-icon-box-wrapper:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--hi-shadow-hover) !important;
}

.hi-why-box.elementor-widget-icon-box .elementor-icon {
    background: var(--hi-brand) !important;
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 18px !important;
    color: #ffffff !important;
    font-size: 22px !important;
}

.hi-why-box.elementor-widget-icon-box .elementor-icon i {
    color: #ffffff !important;
    font-size: 22px !important;
}

.hi-why-box.elementor-widget-icon-box .elementor-icon-box-title {
    font-family: var(--hi-font-serif) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--hi-dark) !important;
    margin-bottom: 10px !important;
}

.hi-why-box.elementor-widget-icon-box .elementor-icon-box-description {
    font-size: 14px !important;
    color: var(--hi-text-muted) !important;
    line-height: 1.65 !important;
}

.hi-why-col {
    padding: 8px 10px !important;
}

/* ============================================================
   PROCESS / HOW IT WORKS
   ============================================================ */
.hi-step-card {
    background: var(--hi-white) !important;
    border: 1px solid var(--hi-border) !important;
    border-radius: var(--hi-radius-lg) !important;
    padding: 32px 24px !important;
    text-align: center !important;
    position: relative !important;
    height: 100% !important;
    transition: var(--hi-transition) !important;
}

.hi-step-card:hover {
    border-color: var(--hi-brand) !important;
    box-shadow: var(--hi-shadow) !important;
    transform: translateY(-3px) !important;
}

.hi-step-num {
    font-family: var(--hi-font-serif) !important;
    font-size: 52px !important;
    font-weight: 700 !important;
    color: var(--hi-brand) !important;
    opacity: 0.25 !important;
    line-height: 1 !important;
    display: block !important;
    margin-bottom: 12px !important;
}

.hi-step-title {
    font-family: var(--hi-font-serif) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--hi-dark) !important;
    margin-bottom: 12px !important;
    line-height: 1.3 !important;
}

.hi-step-desc {
    font-size: 14px !important;
    color: var(--hi-text-muted) !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

.hi-step-col {
    padding: 8px !important;
}

/* Connector arrow between steps (desktop only) */
@media (min-width: 1025px) {
    .hi-process-section .elementor-inner-section > .elementor-container > .elementor-row > .hi-step-col:not(:last-child) .hi-step-card::after {
        content: '→' !important;
        position: absolute !important;
        right: -22px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        font-size: 24px !important;
        color: var(--hi-border) !important;
        z-index: 1 !important;
    }
}

/* ============================================================
   GALLERY
   ============================================================ */
.hi-gallery-section .elementor-widget-image-gallery .gallery {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
}

.hi-gallery-section .gallery-item {
    overflow: hidden !important;
    border-radius: var(--hi-radius) !important;
    aspect-ratio: 4/3;
}

.hi-gallery-section .gallery-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
    display: block !important;
}

.hi-gallery-section .gallery-item:hover img {
    transform: scale(1.06) !important;
}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.hi-testimonial-card {
    background: var(--hi-white) !important;
    border-radius: var(--hi-radius-lg) !important;
    padding: 30px 28px !important;
    box-shadow: var(--hi-shadow) !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    transition: var(--hi-transition) !important;
    border: 1px solid var(--hi-border) !important;
}

.hi-testimonial-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--hi-shadow-hover) !important;
}

.hi-test-rating {
    font-size: 18px !important;
    color: #f59e0b !important;
    margin-bottom: 14px !important;
    letter-spacing: 2px !important;
}

.hi-test-text {
    font-size: 15px !important;
    color: var(--hi-text) !important;
    line-height: 1.75 !important;
    font-style: italic !important;
    margin-bottom: 20px !important;
    flex: 1 !important;
}

.hi-test-author {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    border-top: 1px solid var(--hi-border) !important;
    padding-top: 16px !important;
}

.hi-test-avatar {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
}

.hi-test-info {
    display: flex !important;
    flex-direction: column !important;
}

.hi-test-info strong {
    font-family: var(--hi-font-sans) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--hi-dark) !important;
}

.hi-test-info span {
    font-size: 12px !important;
    color: var(--hi-text-muted) !important;
    margin-top: 2px !important;
}

.hi-testimonial-col {
    padding: 8px 10px !important;
}

/* ============================================================
   FAQ / ACCORDION
   ============================================================ */
.hi-faq-section .hi-section-label,
.hi-faq-section .hi-faq-heading .elementor-heading-title {
    text-align: left !important;
}

.hi-faq-heading .elementor-heading-title {
    font-size: clamp(26px, 3vw, 38px) !important;
    text-align: left !important;
    margin-bottom: 16px !important;
}

.hi-faq-sub {
    font-size: 15px !important;
    color: var(--hi-text-muted) !important;
    margin-bottom: 28px !important;
    line-height: 1.65 !important;
}

.hi-faq-accordion.elementor-widget-accordion .elementor-accordion {
    border: none !important;
}

.hi-faq-accordion.elementor-widget-accordion .elementor-accordion-item {
    background: var(--hi-white) !important;
    border: 1px solid var(--hi-border) !important;
    border-radius: var(--hi-radius) !important;
    margin-bottom: 10px !important;
    overflow: hidden !important;
    transition: var(--hi-transition) !important;
}

.hi-faq-accordion.elementor-widget-accordion .elementor-accordion-item:hover {
    border-color: var(--hi-brand) !important;
}

.hi-faq-accordion.elementor-widget-accordion .elementor-tab-title {
    font-family: var(--hi-font-sans) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--hi-dark) !important;
    padding: 18px 22px !important;
    cursor: pointer !important;
    transition: var(--hi-transition) !important;
    border: none !important;
    background: transparent !important;
}

.hi-faq-accordion.elementor-widget-accordion .elementor-tab-title:hover {
    color: var(--hi-brand) !important;
}

.hi-faq-accordion.elementor-widget-accordion .elementor-tab-title.elementor-active {
    color: var(--hi-brand) !important;
    background: rgba(232, 112, 10, 0.04) !important;
}

.hi-faq-accordion.elementor-widget-accordion .elementor-tab-title .elementor-accordion-icon {
    color: var(--hi-brand) !important;
}

.hi-faq-accordion.elementor-widget-accordion .elementor-tab-content {
    font-size: 14px !important;
    color: var(--hi-text-muted) !important;
    line-height: 1.75 !important;
    padding: 0 22px 20px !important;
    border-top: 1px solid var(--hi-border) !important;
    background: transparent !important;
}

/* ============================================================
   FINAL CTA SECTION
   ============================================================ */
.hi-cta-section > .elementor-background-overlay {
    background: rgba(10, 10, 10, 0.72) !important;
}

.hi-cta-heading .elementor-heading-title {
    font-size: clamp(28px, 4vw, 48px) !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin-bottom: 18px !important;
    line-height: 1.15 !important;
}

.hi-cta-sub {
    font-size: 17px !important;
    color: rgba(255,255,255,0.82) !important;
    line-height: 1.7 !important;
    margin-bottom: 28px !important;
}

.hi-cta-assurances {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.hi-cta-assurance {
    font-size: 14px !important;
    color: rgba(255,255,255,0.78) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

.hi-cta-form-col {
    border-radius: 12px !important;
    overflow: hidden !important;
}

/* ============================================================
   SECTION-SPECIFIC ELEMENTOR OVERRIDES
   ============================================================ */

/* Remove default Elementor widget margins for hero badge + stats */
.hi-hero-left > .elementor-column-wrap > .elementor-widget-wrap > .elementor-element + .elementor-element {
    margin-top: 0 !important;
}

/* Override WoodMart default paragraph margin inside widgets */
.page-id-1462 .elementor-widget-text-editor p,
.page-id-1504 .elementor-widget-text-editor p,
.page-id-1506 .elementor-widget-text-editor p {
    margin-bottom: 0;
}

/* WoodMart heading widget margin reset */
.page-id-1462 .elementor-widget-heading,
.page-id-1504 .elementor-widget-heading,
.page-id-1506 .elementor-widget-heading {
    margin-bottom: 0 !important;
}

/* Elementor section gap reset for services */
.hi-services-cards > .elementor-container > .elementor-row {
    align-items: stretch !important;
}

/* ============================================================
   MOBILE RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
    .hi-hero-section .elementor-row {
        flex-direction: column !important;
    }

    .hi-hero-left,
    .hi-hero-form-col {
        width: 100% !important;
    }

    .hi-hero-form-col {
        padding: 50px 30px !important;
    }

    .hi-hero-left {
        padding: 80px 30px 60px !important;
    }

    .hi-hero-stats {
        gap: 20px !important;
    }
}

@media (max-width: 768px) {
    .hi-trust-section .elementor-row {
        flex-wrap: wrap !important;
    }

    .hi-trust-col {
        width: 50% !important;
        border-right: none !important;
        border-bottom: 1px solid rgba(255,255,255,0.1) !important;
    }

    .hi-services-cards .elementor-row {
        flex-wrap: wrap !important;
    }

    .hi-service-card-col {
        width: 50% !important;
        padding: 8px !important;
    }

    .hi-room-card {
        height: 200px !important;
    }

    .hi-feature-img-col,
    .hi-feature-text-col {
        width: 100% !important;
        padding: 0 !important;
    }

    .hi-feature-alt .hi-feature-text-col {
        order: 2 !important;
    }

    .hi-feature-alt .hi-feature-img-col {
        order: 1 !important;
    }

    .hi-why-col {
        width: 50% !important;
    }

    .hi-step-col {
        width: 50% !important;
    }

    .hi-gallery-section .gallery {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .hi-testimonial-col {
        width: 100% !important;
    }

    .hi-faq-section .elementor-row {
        flex-direction: column !important;
    }

    .hi-faq-section .elementor-column {
        width: 100% !important;
        padding: 0 !important;
    }

    .hi-cta-section .elementor-row {
        flex-direction: column !important;
    }

    .hi-cta-section .elementor-column {
        width: 100% !important;
    }

    .hi-cta-section .hi-cta-form-col {
        padding: 30px 20px !important;
    }
}

@media (max-width: 480px) {
    .hi-service-card-col {
        width: 100% !important;
    }

    .hi-why-col {
        width: 100% !important;
    }

    .hi-step-col {
        width: 100% !important;
    }

    .hi-hero-stats {
        gap: 16px !important;
        flex-wrap: wrap !important;
    }

    .hi-gallery-section .gallery {
        grid-template-columns: 1fr !important;
    }

    .hi-hero-heading .elementor-heading-title {
        font-size: 28px !important;
    }

    .hi-trust-col {
        width: 50% !important;
    }
}

/* ============================================================
   PRINT — hide non-essential
   ============================================================ */
@media print {
    .hi-hero-section,
    .hi-trust-section,
    .hi-rooms-section,
    .hi-gallery-section {
        display: none !important;
    }
}
