.elementor-37 .elementor-element.elementor-element-77918b67{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-37 .elementor-element.elementor-element-52049e2d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-37 .elementor-element.elementor-element-f3b2bca{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-37 .elementor-element.elementor-element-6c63b422{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-37 .elementor-element.elementor-element-6ddfeb58{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-37 .elementor-element.elementor-element-5ac1fbe7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-37 .elementor-element.elementor-element-61d8c911{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-37 .elementor-element.elementor-element-12ae0c1f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-37 .elementor-element.elementor-element-3691da96{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-5f9f91fe *//* ========== VILLA HERO RESET ========== */
.edm-vhero * { margin:0; padding:0; box-sizing:border-box; }

.edm-vhero {
    position: relative;
    min-height: 80vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #fdfbf7;
}

.edm-vhero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 70% 50% at 75% 35%, rgba(201,166,86,0.06) 0%, transparent 70%),
        radial-gradient(ellipse 50% 40% at 15% 65%, rgba(144,25,28,0.03) 0%, transparent 70%);
    pointer-events: none;
}

.edm-vhero-accent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #90191c 0%, #c9a656 50%, #90191c 100%);
    opacity: 0.7;
}

/* Decorative shapes */
.edm-vhero-shape {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    opacity: 0;
    animation: edmVFade 1s ease forwards;
}
.edm-vhero-shape-1 { width:280px; height:280px; top:-50px; right:-60px; border:1px solid rgba(201,166,86,0.1); animation-delay:0.5s; }
.edm-vhero-shape-2 { width:180px; height:180px; bottom:60px; left:-40px; border:1px solid rgba(144,25,28,0.06); animation-delay:0.8s; }
.edm-vhero-shape-3 { width:10px; height:10px; top:30%; right:12%; background:rgba(201,166,86,0.15); animation-delay:1.1s; }
@keyframes edmVFade { to { opacity:1; } }

.edm-vhero-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 80px 20px 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 2;
}

/* Breadcrumb */
.edm-vhero-bread {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 18px;
    background: #fff;
    border: 1px solid rgba(201,166,86,0.2);
    border-radius: 50px;
    margin-bottom: 28px;
    opacity: 0;
    transform: translateY(16px);
    animation: edmVUp 0.7s cubic-bezier(0.22,1,0.36,1) 0.15s forwards;
}
.edm-vhero-bread a {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: #999;
    text-decoration: none;
    transition: color 0.3s;
}
.edm-vhero-bread a:hover { color: #90191c; }
.edm-vhero-bread span { font-family: 'Poppins', sans-serif; font-size: 12px; color: #ccc; }
.edm-vhero-bread-current { font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 600; color: #90191c; }

/* H1 */
.edm-vhero-h1 {
    font-family: 'Red Rose', serif;
    font-size: clamp(32px, 4.8vw, 56px);
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.12;
    max-width: 820px;
    margin-bottom: 24px;
    opacity: 0;
    transform: translateY(20px);
    animation: edmVUp 0.8s cubic-bezier(0.22,1,0.36,1) 0.3s forwards;
}
.edm-vhero-h1 em {
    color: #90191c;
    font-style: normal;
}

/* Description */
.edm-vhero-desc {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(14px, 1.5vw, 16px);
    color: #666;
    line-height: 1.75;
    max-width: 720px;
    margin-bottom: 36px;
    opacity: 0;
    transform: translateY(20px);
    animation: edmVUp 0.8s cubic-bezier(0.22,1,0.36,1) 0.5s forwards;
}

/* CTA */
.edm-vhero-cta {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 56px;
    opacity: 0;
    transform: translateY(20px);
    animation: edmVUp 0.8s cubic-bezier(0.22,1,0.36,1) 0.65s forwards;
}
.edm-vhero-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    background: linear-gradient(135deg, #90191c, #b82025);
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 50px;
    transition: all 0.35s;
    box-shadow: 0 6px 24px rgba(144,25,28,0.3);
    position: relative;
    overflow: hidden;
}
.edm-vhero-btn-primary::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
    transition: left 0.5s;
}
.edm-vhero-btn-primary:hover::before { left: 100%; }
.edm-vhero-btn-primary:hover { transform: translateY(-3px); box-shadow: 0 10px 35px rgba(144,25,28,0.4); }
.edm-vhero-btn-primary svg { width:18px; height:18px; transition: transform 0.3s; }
.edm-vhero-btn-primary:hover svg { transform: translateX(4px); }

.edm-vhero-btn-wa {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 28px;
    background: #25D366;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 50px;
    transition: all 0.35s;
    box-shadow: 0 4px 16px rgba(37,211,102,0.3);
}
.edm-vhero-btn-wa:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(37,211,102,0.4); }
.edm-vhero-btn-wa svg { width:18px; height:18px; }

/* STATS BAR */
.edm-vhero-stats {
    width: 100%;
    max-width: 860px;
    opacity: 0;
    transform: translateY(20px);
    animation: edmVUp 0.8s cubic-bezier(0.22,1,0.36,1) 0.85s forwards;
}
.edm-vhero-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.06), 0 0 0 1px rgba(0,0,0,0.03);
    overflow: hidden;
}
.edm-vhero-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 28px 16px;
    position: relative;
    transition: background 0.3s;
}
.edm-vhero-stat:hover { background: rgba(201,166,86,0.03); }
.edm-vhero-stat:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0; top: 20%; height: 60%; width: 1px;
    background: #eee8da;
}
.edm-vhero-stat-value {
    font-family: 'Red Rose', serif;
    font-size: 28px;
    font-weight: 700;
    color: #90191c;
    line-height: 1;
}
.edm-vhero-stat-label {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    color: #888;
    text-align: center;
}

@keyframes edmVUp {
    to { opacity:1; transform:translateY(0); }
}

/* Opening paragraph section */
.edm-vhero-opening {
    max-width: 1240px;
    margin: 0 auto;
    padding: 60px 20px 0;
}
.edm-vhero-opening-inner {
    max-width: 860px;
    margin: 0 auto;
}
.edm-vhero-opening-h2 {
    font-family: 'Red Rose', serif;
    font-size: clamp(22px, 2.8vw, 30px);
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.25;
    margin-bottom: 20px;
    text-align: center;
}
.edm-vhero-opening-h2 span { color: #90191c; }
.edm-vhero-opening-text {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: #666;
    line-height: 1.8;
    margin-bottom: 16px;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .edm-vhero { min-height: auto; }
    .edm-vhero-inner { padding: 60px 20px 40px; }
    .edm-vhero-cta { flex-direction: column; width: 100%; gap: 12px; }
    .edm-vhero-btn-primary, .edm-vhero-btn-wa { width: 100%; justify-content: center; }
    .edm-vhero-stats-grid { grid-template-columns: 1fr 1fr; }
    .edm-vhero-stat { padding: 22px 14px; }
    .edm-vhero-stat:nth-child(2)::after { display: none; }
    .edm-vhero-stat:nth-child(1), .edm-vhero-stat:nth-child(2) { border-bottom: 1px solid #eee8da; }
    .edm-vhero-opening { padding: 40px 20px 0; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-410a0f3f */.edm-vsvc * { margin:0; padding:0; box-sizing:border-box; }

.edm-vsvc {
    position: relative;
    padding: 90px 0;
    overflow: hidden;
}

.edm-vsvc-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
}

.edm-vsvc-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 56px;
}

.edm-vsvc-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}
.edm-vsvc-label-line { width:32px; height:2px; background:#c9a656; border-radius:2px; }
.edm-vsvc-label-text { font-family:'Poppins',sans-serif; font-size:12px; font-weight:600; color:#c9a656; text-transform:uppercase; letter-spacing:2px; }

.edm-vsvc-h2 {
    font-family: 'Red Rose', serif;
    font-size: clamp(26px, 3.5vw, 38px);
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
    margin-bottom: 16px;
}
.edm-vsvc-h2 span { color: #90191c; }

.edm-vsvc-subtitle {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: #666;
    line-height: 1.7;
}

/* Service Items Grid */
.edm-vsvc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.edm-vsvc-card {
    background: #fff;
    border: 1px solid #f0ece4;
    border-radius: 18px;
    padding: 32px 28px;
    display: flex;
    gap: 18px;
    transition: all 0.4s cubic-bezier(0.22,1,0.36,1);
    position: relative;
    overflow: hidden;
}

.edm-vsvc-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 3px; height: 0;
    background: linear-gradient(180deg, #90191c, #c9a656);
    border-radius: 0 0 2px 2px;
    transition: height 0.4s cubic-bezier(0.22,1,0.36,1);
}
.edm-vsvc-card:hover::before { height: 100%; }

.edm-vsvc-card:hover {
    border-color: rgba(201,166,86,0.25);
    box-shadow: 0 12px 36px rgba(0,0,0,0.06);
    transform: translateY(-4px);
}

/* Full-width featured card */
.edm-vsvc-card-full {
    grid-column: 1 / -1;
}

.edm-vsvc-card-icon {
    width: 50px;
    height: 50px;
    min-width: 50px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(144,25,28,0.06), rgba(201,166,86,0.06));
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
}
.edm-vsvc-card:hover .edm-vsvc-card-icon {
    background: linear-gradient(135deg, #90191c, #b82025);
    box-shadow: 0 6px 16px rgba(144,25,28,0.25);
}
.edm-vsvc-card-icon svg {
    width: 22px; height: 22px; color: #90191c; transition: color 0.3s;
}
.edm-vsvc-card:hover .edm-vsvc-card-icon svg { color: #fff; }

.edm-vsvc-card-body {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.edm-vsvc-card-title {
    font-family: 'Red Rose', serif;
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.3;
}

.edm-vsvc-card-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 13.5px;
    color: #777;
    line-height: 1.7;
}

/* Bottom CTA */
.edm-vsvc-cta {
    text-align: center;
    margin-top: 44px;
}
.edm-vsvc-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 34px;
    background: linear-gradient(135deg, #90191c, #b82025);
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 50px;
    transition: all 0.35s;
    box-shadow: 0 6px 24px rgba(144,25,28,0.3);
}
.edm-vsvc-btn:hover { transform:translateY(-3px); box-shadow:0 10px 35px rgba(144,25,28,0.4); }
.edm-vsvc-btn svg { width:18px; height:18px; transition: transform 0.3s; }
.edm-vsvc-btn:hover svg { transform:translateX(4px); }

@media (max-width: 768px) {
    .edm-vsvc { padding: 56px 0; }
    .edm-vsvc-grid { grid-template-columns: 1fr; }
    .edm-vsvc-card { padding: 24px 20px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-380ffe2c */.edm-contact * { margin:0; padding:0; box-sizing:border-box; }

/* ========== CONTACT SECTION ========== */
.edm-contact {
    position: relative;
    padding: 90px 0;
    overflow: hidden;
}

.edm-contact-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Section Header */
.edm-contact-header {
    text-align: center;
    max-width: 680px;
    margin: 0 auto 56px;
}

.edm-contact-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}
.edm-contact-label-line { width:32px; height:2px; background:#c9a656; border-radius:2px; }
.edm-contact-label-text { font-family:'Poppins',sans-serif; font-size:12px; font-weight:600; color:#c9a656; text-transform:uppercase; letter-spacing:2px; }

.edm-contact-h2 {
    font-family: 'Red Rose', serif;
    font-size: clamp(26px, 3.5vw, 38px);
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
    margin-bottom: 16px;
}
.edm-contact-h2 span { color: #90191c; }

.edm-contact-subtitle {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: #666;
    line-height: 1.7;
}

/* ========== 2-COLUMN LAYOUT ========== */
.edm-contact-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 40px;
    align-items: flex-start;
}

/* ========== LEFT: CONTACT INFO ========== */
.edm-contact-info {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Contact cards */
.edm-contact-card {
    background: #fff;
    border: 1px solid #f0ece4;
    border-radius: 18px;
    padding: 28px;
    display: flex;
    gap: 18px;
    align-items: flex-start;
    transition: all 0.35s cubic-bezier(0.22,1,0.36,1);
    text-decoration: none;
}

.edm-contact-card:hover {
    border-color: rgba(201,166,86,0.3);
    box-shadow: 0 10px 32px rgba(0,0,0,0.05);
    transform: translateY(-4px);
}

.edm-contact-card-icon {
    width: 52px;
    height: 52px;
    min-width: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
}

.edm-contact-card-icon svg {
    width: 22px;
    height: 22px;
    transition: color 0.3s;
}

/* Phone icon */
.edm-contact-card-phone .edm-contact-card-icon {
    background: rgba(144,25,28,0.06);
}
.edm-contact-card-phone .edm-contact-card-icon svg { color: #90191c; }
.edm-contact-card-phone:hover .edm-contact-card-icon {
    background: #90191c;
    box-shadow: 0 6px 16px rgba(144,25,28,0.25);
}
.edm-contact-card-phone:hover .edm-contact-card-icon svg { color: #fff; }

/* WhatsApp icon */
.edm-contact-card-wa .edm-contact-card-icon {
    background: rgba(37,211,102,0.08);
}
.edm-contact-card-wa .edm-contact-card-icon svg { color: #25D366; }
.edm-contact-card-wa:hover .edm-contact-card-icon {
    background: #25D366;
    box-shadow: 0 6px 16px rgba(37,211,102,0.25);
}
.edm-contact-card-wa:hover .edm-contact-card-icon svg { color: #fff; }

/* Email icon */
.edm-contact-card-email .edm-contact-card-icon {
    background: rgba(201,166,86,0.08);
}
.edm-contact-card-email .edm-contact-card-icon svg { color: #c9a656; }
.edm-contact-card-email:hover .edm-contact-card-icon {
    background: #c9a656;
    box-shadow: 0 6px 16px rgba(201,166,86,0.25);
}
.edm-contact-card-email:hover .edm-contact-card-icon svg { color: #fff; }

.edm-contact-card-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.edm-contact-card-title {
    font-family: 'Red Rose', serif;
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
}

.edm-contact-card-value {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #90191c;
}

.edm-contact-card-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 12.5px;
    color: #999;
    margin-top: 2px;
}

/* Hours card */
.edm-contact-hours {
    background: #fff;
    border: 1px solid #f0ece4;
    border-radius: 18px;
    padding: 24px 28px;
}

.edm-contact-hours-title {
    font-family: 'Red Rose', serif;
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.edm-contact-hours-title svg {
    width: 16px;
    height: 16px;
    color: #c9a656;
}

.edm-contact-hours-grid {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.edm-contact-hours-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #f5f2ec;
}
.edm-contact-hours-row:last-child { border-bottom: none; }

.edm-contact-hours-day {
    font-family: 'Poppins', sans-serif;
    font-size: 13.5px;
    color: #555;
    font-weight: 500;
}

.edm-contact-hours-time {
    font-family: 'Poppins', sans-serif;
    font-size: 13.5px;
    font-weight: 600;
    color: #1a1a1a;
}

.edm-contact-hours-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    background: rgba(37,211,102,0.08);
    border-radius: 50px;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: #25D366;
}
.edm-contact-hours-badge-dot {
    width: 6px; height: 6px; border-radius: 50%; background: #25D366;
    animation: edm-pulse-dot 2s ease-in-out infinite;
}
@keyframes edm-pulse-dot {
    0%, 100% { opacity:1; }
    50% { opacity:0.3; }
}

/* ========== RIGHT: FORM ========== */
.edm-contact-form-wrap {
    background: #fff;
    border: 1px solid #f0ece4;
    border-radius: 20px;
    padding: 36px;
    position: relative;
    overflow: hidden;
}

.edm-contact-form-wrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #90191c, #c9a656);
}

.edm-contact-form-title {
    font-family: 'Red Rose', serif;
    font-size: 22px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 6px;
}

.edm-contact-form-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: #999;
    margin-bottom: 28px;
}

/* ========== CF7 FORM STYLES ========== */
.edm-cf7-wrap {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.edm-cf7-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.edm-cf7-field,
.edm-cf7-field-full {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.edm-cf7-label {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #1a1a1a;
}

.edm-cf7-label span {
    color: #90191c;
}

/* Input styling */
.edm-cf7-input,
.edm-cf7-wrap input.wpcf7-form-control,
.edm-cf7-wrap input[type="text"],
.edm-cf7-wrap input[type="email"],
.edm-cf7-wrap input[type="tel"],
.edm-cf7-wrap input[type="date"] {
    width: 100% !important;
    padding: 14px 18px !important;
    border: 1.5px solid #e8e2d6 !important;
    border-radius: 12px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    color: #333 !important;
    background: #fdfbf7 !important;
    outline: none !important;
    transition: all 0.3s !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.edm-cf7-wrap input:focus {
    border-color: #90191c !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(144,25,28,0.08) !important;
}

.edm-cf7-wrap input::placeholder {
    color: #bbb !important;
    font-weight: 400 !important;
}

/* Textarea */
.edm-cf7-textarea,
.edm-cf7-wrap textarea.wpcf7-form-control {
    width: 100% !important;
    padding: 14px 18px !important;
    border: 1.5px solid #e8e2d6 !important;
    border-radius: 12px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    color: #333 !important;
    background: #fdfbf7 !important;
    outline: none !important;
    transition: all 0.3s !important;
    resize: vertical !important;
    min-height: 120px !important;
    -webkit-appearance: none !important;
}

.edm-cf7-wrap textarea:focus {
    border-color: #90191c !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(144,25,28,0.08) !important;
}

.edm-cf7-wrap textarea::placeholder {
    color: #bbb !important;
    font-weight: 400 !important;
}

/* Submit button */
.edm-cf7-submit-wrap {
    padding-top: 4px;
}

.edm-cf7-submit,
.edm-cf7-wrap input[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 16px 32px !important;
    background: linear-gradient(135deg, #90191c, #b82025) !important;
    color: #fff !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: 50px !important;
    cursor: pointer !important;
    transition: all 0.35s !important;
    box-shadow: 0 6px 24px rgba(144,25,28,0.3) !important;
    letter-spacing: 0.3px !important;
}

.edm-cf7-wrap input[type="submit"]:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 35px rgba(144,25,28,0.4) !important;
}

/* Validation message styles */
.edm-cf7-wrap .wpcf7-not-valid-tip {
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important;
    color: #90191c !important;
    margin-top: 4px !important;
}

.edm-cf7-wrap .wpcf7-response-output {
    border: none !important;
    padding: 14px 20px !important;
    border-radius: 12px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    margin: 16px 0 0 !important;
}

.edm-cf7-wrap .wpcf7-mail-sent-ok {
    background: rgba(37,211,102,0.08) !important;
    color: #25D366 !important;
}

.edm-cf7-wrap .wpcf7-validation-errors {
    background: rgba(144,25,28,0.06) !important;
    color: #90191c !important;
}

/* Remove CF7 default spinner */
.edm-cf7-wrap .wpcf7-spinner { display: none !important; }

/* Security note */
.edm-contact-form-note {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #f0ece4;
}

.edm-contact-form-note svg {
    width: 14px;
    height: 14px;
    color: #c9a656;
    flex-shrink: 0;
}

.edm-contact-form-note span {
    font-family: 'Poppins', sans-serif;
    font-size: 11.5px;
    color: #aaa;
}

/* ========== RESPONSIVE ========== */
@media (max-width: 1024px) {
    .edm-contact { padding: 70px 0; }
    .edm-contact-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

@media (max-width: 640px) {
    .edm-contact { padding: 52px 0; }
    .edm-cf7-row { grid-template-columns: 1fr; }
    .edm-contact-form-wrap { padding: 24px 20px; }
    .edm-contact-card { padding: 22px 20px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2c055aa9 */.edm-vpermit * { margin:0; padding:0; box-sizing:border-box; }

.edm-vpermit {
    position: relative;
    padding: 90px 0;
    overflow: hidden;
}

.edm-vpermit-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
}

.edm-vpermit-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 20px;
}

.edm-vpermit-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}
.edm-vpermit-label-line { width:32px; height:2px; background:#c9a656; border-radius:2px; }
.edm-vpermit-label-text { font-family:'Poppins',sans-serif; font-size:12px; font-weight:600; color:#c9a656; text-transform:uppercase; letter-spacing:2px; }

.edm-vpermit-h2 {
    font-family: 'Red Rose', serif;
    font-size: clamp(26px, 3.5vw, 38px);
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
    margin-bottom: 16px;
}
.edm-vpermit-h2 span { color: #90191c; }

.edm-vpermit-intro {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: #666;
    line-height: 1.7;
    text-align: center;
    max-width: 740px;
    margin: 0 auto 48px;
}

/* Developer Cards */
.edm-vpermit-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-bottom: 40px;
}

.edm-vpermit-card {
    background: #fff;
    border: 1px solid #f0ece4;
    border-radius: 16px;
    padding: 28px;
    transition: all 0.35s cubic-bezier(0.22,1,0.36,1);
    position: relative;
    border-left: 4px solid #c9a656;
}

.edm-vpermit-card:hover {
    box-shadow: 0 10px 32px rgba(0,0,0,0.05);
    transform: translateY(-4px);
}

.edm-vpermit-card-name {
    font-family: 'Red Rose', serif;
    font-size: 18px;
    font-weight: 700;
    color: #90191c;
    margin-bottom: 6px;
}

.edm-vpermit-card-communities {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    color: #c9a656;
    font-weight: 600;
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.edm-vpermit-card-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: #777;
    line-height: 1.7;
}

/* Full width standard card */
.edm-vpermit-card-full {
    grid-column: 1 / -1;
    border-left-color: #90191c;
    background: #fdfbf7;
}

/* What we provide / what you provide */
.edm-vpermit-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.edm-vpermit-split-box {
    background: #fff;
    border: 1px solid #f0ece4;
    border-radius: 16px;
    padding: 28px;
}

.edm-vpermit-split-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.edm-vpermit-split-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.edm-vpermit-split-icon-edm {
    background: rgba(144,25,28,0.06);
}
.edm-vpermit-split-icon-edm svg { width:16px; height:16px; color:#90191c; }

.edm-vpermit-split-icon-you {
    background: rgba(201,166,86,0.1);
}
.edm-vpermit-split-icon-you svg { width:16px; height:16px; color:#c9a656; }

.edm-vpermit-split-label {
    font-family: 'Red Rose', serif;
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
}

.edm-vpermit-split-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.edm-vpermit-split-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-family: 'Poppins', sans-serif;
    font-size: 13.5px;
    color: #666;
    line-height: 1.6;
}

.edm-vpermit-check {
    width: 18px;
    height: 18px;
    min-width: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}

.edm-vpermit-check-edm { background: rgba(144,25,28,0.08); }
.edm-vpermit-check-edm svg { width:10px; height:10px; color:#90191c; }

.edm-vpermit-check-you { background: rgba(201,166,86,0.1); }
.edm-vpermit-check-you svg { width:10px; height:10px; color:#c9a656; }

.edm-vpermit-note {
    text-align: center;
    margin-top: 28px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #90191c;
    font-style: italic;
}

@media (max-width: 768px) {
    .edm-vpermit { padding: 56px 0; }
    .edm-vpermit-grid { grid-template-columns: 1fr; }
    .edm-vpermit-split { grid-template-columns: 1fr; }
    .edm-vpermit-card { padding: 22px 20px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d8c29ea */.edm-vcost * { margin:0; padding:0; box-sizing:border-box; }
.edm-vcost { position:relative; padding:90px 0; overflow:hidden; }
.edm-vcost-inner { max-width:1240px; margin:0 auto; padding:0 20px; }

.edm-vcost-header { text-align:center; max-width:720px; margin:0 auto 48px; }
.edm-vcost-label { display:inline-flex; align-items:center; gap:10px; margin-bottom:14px; }
.edm-vcost-label-line { width:32px; height:2px; background:#c9a656; border-radius:2px; }
.edm-vcost-label-text { font-family:'Poppins',sans-serif; font-size:12px; font-weight:600; color:#c9a656; text-transform:uppercase; letter-spacing:2px; }

.edm-vcost-h2 { font-family:'Red Rose',serif; font-size:clamp(26px,3.5vw,38px); font-weight:700; color:#1a1a1a; line-height:1.2; margin-bottom:16px; }
.edm-vcost-h2 span { color:#90191c; }
.edm-vcost-subtitle { font-family:'Poppins',sans-serif; font-size:15px; color:#666; line-height:1.7; }

/* Table */
.edm-vcost-table-wrap { background:#fff; border-radius:20px; border:1px solid #f0ece4; overflow:hidden; margin-bottom:36px; }
.edm-vcost-table-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }

.edm-vcost-table { width:100%; border-collapse:collapse; }
.edm-vcost-table thead th {
    padding:18px 24px; font-family:'Poppins',sans-serif; font-size:11.5px; font-weight:600; color:#999;
    text-transform:uppercase; letter-spacing:0.8px; text-align:left; background:#fdfbf7; border-bottom:2px solid #f0ece4;
}
.edm-vcost-table thead th:first-child { padding-left:32px; }
.edm-vcost-table tbody tr { transition:background 0.2s; }
.edm-vcost-table tbody tr:hover { background:#fdfbf7; }
.edm-vcost-table tbody td { padding:20px 24px; border-bottom:1px solid #f5f2ec; vertical-align:middle; }
.edm-vcost-table tbody td:first-child { padding-left:32px; font-family:'Red Rose',serif; font-size:15px; font-weight:700; color:#1a1a1a; }
.edm-vcost-table tbody tr:last-child td { border-bottom:none; }

.edm-vcost-price { font-family:'Red Rose',serif; font-size:15px; font-weight:700; color:#90191c; white-space:nowrap; }
.edm-vcost-survey { font-family:'Poppins',sans-serif; font-size:12px; font-weight:600; color:#c9a656; font-style:italic; }

/* Info cards */
.edm-vcost-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:36px; }

.edm-vcost-info-card { background:#fff; border:1px solid #f0ece4; border-radius:16px; padding:28px; }
.edm-vcost-info-card-title { font-family:'Red Rose',serif; font-size:16px; font-weight:700; color:#1a1a1a; margin-bottom:14px; display:flex; align-items:center; gap:10px; }
.edm-vcost-info-card-title svg { width:18px; height:18px; color:#c9a656; }

.edm-vcost-info-list { list-style:none; display:flex; flex-direction:column; gap:8px; }
.edm-vcost-info-list li {
    display:flex; align-items:flex-start; gap:10px; font-family:'Poppins',sans-serif; font-size:13px; color:#666; line-height:1.6;
}
.edm-vcost-dot { width:6px; height:6px; min-width:6px; border-radius:50%; margin-top:7px; }
.edm-vcost-dot-green { background:#90191c; }
.edm-vcost-dot-amber { background:#c9a656; }

/* Warning box */
.edm-vcost-warning {
    background:#fff; border:1px solid #f0ece4; border-left:4px solid #90191c; border-radius:16px; padding:28px 28px 28px 32px;
    display:flex; gap:16px; align-items:flex-start; margin-bottom:28px;
}
.edm-vcost-warning-icon { width:40px; height:40px; min-width:40px; border-radius:10px; background:rgba(144,25,28,0.06); display:flex; align-items:center; justify-content:center; }
.edm-vcost-warning-icon svg { width:20px; height:20px; color:#90191c; }
.edm-vcost-warning-body h4 { font-family:'Red Rose',serif; font-size:16px; font-weight:700; color:#90191c; margin-bottom:8px; }
.edm-vcost-warning-body p { font-family:'Poppins',sans-serif; font-size:13.5px; color:#666; line-height:1.7; }

.edm-vcost-note { text-align:center; font-family:'Poppins',sans-serif; font-size:13px; color:#999; font-style:italic; }

.edm-vcost-cta { text-align:center; margin-top:36px; }
.edm-vcost-btn {
    display:inline-flex; align-items:center; gap:10px; padding:16px 34px;
    background:linear-gradient(135deg,#90191c,#b82025); color:#fff;
    font-family:'Poppins',sans-serif; font-size:15px; font-weight:600; text-decoration:none;
    border-radius:50px; transition:all 0.35s; box-shadow:0 6px 24px rgba(144,25,28,0.3);
}
.edm-vcost-btn:hover { transform:translateY(-3px); box-shadow:0 10px 35px rgba(144,25,28,0.4); }
.edm-vcost-btn svg { width:18px; height:18px; transition:transform 0.3s; }
.edm-vcost-btn:hover svg { transform:translateX(4px); }

@media (max-width: 768px) {
    .edm-vcost { padding:56px 0; }
    .edm-vcost-table { min-width:580px; }
    .edm-vcost-table thead th:first-child, .edm-vcost-table tbody td:first-child { padding-left:20px; }
    .edm-vcost-info-grid { grid-template-columns:1fr; }
    .edm-vcost-warning { flex-direction:column; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-43abc34f */.edm-vproc * { margin:0; padding:0; box-sizing:border-box; }
.edm-vproc { position:relative; padding:90px 0; overflow:hidden; }
.edm-vproc-inner { max-width:1240px; margin:0 auto; padding:0 20px; }

.edm-vproc-header { text-align:center; max-width:680px; margin:0 auto 56px; }
.edm-vproc-label { display:inline-flex; align-items:center; gap:10px; margin-bottom:14px; }
.edm-vproc-label-line { width:32px; height:2px; background:#c9a656; border-radius:2px; }
.edm-vproc-label-text { font-family:'Poppins',sans-serif; font-size:12px; font-weight:600; color:#c9a656; text-transform:uppercase; letter-spacing:2px; }
.edm-vproc-h2 { font-family:'Red Rose',serif; font-size:clamp(26px,3.5vw,38px); font-weight:700; color:#1a1a1a; line-height:1.2; margin-bottom:16px; }
.edm-vproc-h2 span { color:#90191c; }
.edm-vproc-subtitle { font-family:'Poppins',sans-serif; font-size:15px; color:#666; line-height:1.7; }

/* Steps */
.edm-vproc-steps {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    position: relative;
}

.edm-vproc-step {
    background: #fff;
    border: 1px solid #f0ece4;
    border-radius: 18px;
    padding: 28px 26px;
    display: flex;
    gap: 18px;
    transition: all 0.35s cubic-bezier(0.22,1,0.36,1);
    position: relative;
}

.edm-vproc-step:hover {
    border-color: rgba(201,166,86,0.3);
    box-shadow: 0 12px 36px rgba(0,0,0,0.06);
    transform: translateY(-4px);
}

.edm-vproc-step-num {
    width: 48px; height: 48px; min-width: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(144,25,28,0.06), rgba(201,166,86,0.06));
    display: flex; align-items: center; justify-content: center;
    font-family: 'Red Rose', serif; font-size: 18px; font-weight: 700; color: #90191c;
    transition: all 0.3s;
}
.edm-vproc-step:hover .edm-vproc-step-num {
    background: linear-gradient(135deg, #90191c, #b82025);
    color: #fff;
    box-shadow: 0 6px 16px rgba(144,25,28,0.25);
}

.edm-vproc-step-body { display:flex; flex-direction:column; gap:6px; }
.edm-vproc-step-title { font-family:'Red Rose',serif; font-size:16px; font-weight:700; color:#1a1a1a; line-height:1.3; }
.edm-vproc-step-desc { font-family:'Poppins',sans-serif; font-size:13px; color:#777; line-height:1.7; }

/* Connector arrows between steps (desktop only) */
.edm-vproc-connector {
    display: none;
}

.edm-vproc-cta { text-align:center; margin-top:44px; }
.edm-vproc-btn {
    display:inline-flex; align-items:center; gap:10px; padding:16px 34px;
    background:linear-gradient(135deg,#90191c,#b82025); color:#fff;
    font-family:'Poppins',sans-serif; font-size:15px; font-weight:600; text-decoration:none;
    border-radius:50px; transition:all 0.35s; box-shadow:0 6px 24px rgba(144,25,28,0.3);
}
.edm-vproc-btn:hover { transform:translateY(-3px); box-shadow:0 10px 35px rgba(144,25,28,0.4); }
.edm-vproc-btn svg { width:18px; height:18px; transition:transform 0.3s; }
.edm-vproc-btn:hover svg { transform:translateX(4px); }

@media (max-width: 768px) {
    .edm-vproc { padding:56px 0; }
    .edm-vproc-steps { grid-template-columns:1fr; }
    .edm-vproc-step { padding:22px 20px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3fa92d5b */.edm-vcom * { margin:0; padding:0; box-sizing:border-box; }
.edm-vcom { position:relative; padding:90px 0; overflow:hidden; }
.edm-vcom-inner { max-width:1240px; margin:0 auto; padding:0 20px; }

.edm-vcom-header { text-align:center; max-width:680px; margin:0 auto 48px; }
.edm-vcom-label { display:inline-flex; align-items:center; gap:10px; margin-bottom:14px; }
.edm-vcom-label-line { width:32px; height:2px; background:#c9a656; border-radius:2px; }
.edm-vcom-label-text { font-family:'Poppins',sans-serif; font-size:12px; font-weight:600; color:#c9a656; text-transform:uppercase; letter-spacing:2px; }
.edm-vcom-h2 { font-family:'Red Rose',serif; font-size:clamp(26px,3.5vw,38px); font-weight:700; color:#1a1a1a; line-height:1.2; margin-bottom:16px; }
.edm-vcom-h2 span { color:#90191c; }
.edm-vcom-subtitle { font-family:'Poppins',sans-serif; font-size:15px; color:#666; line-height:1.7; }

/* Community Cards */
.edm-vcom-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:32px; }

.edm-vcom-card {
    background:#fff; border:1px solid #f0ece4; border-radius:14px; padding:22px 24px;
    transition:all 0.3s cubic-bezier(0.22,1,0.36,1); border-left:4px solid transparent;
}
.edm-vcom-card:hover {
    border-left-color:#c9a656; box-shadow:0 8px 24px rgba(0,0,0,0.04); transform:translateY(-2px);
}

.edm-vcom-card-name {
    font-family:'Red Rose',serif; font-size:16px; font-weight:700; color:#90191c; margin-bottom:8px;
    display:flex; align-items:center; gap:8px;
}
.edm-vcom-card-name svg { width:16px; height:16px; color:#c9a656; flex-shrink:0; }

.edm-vcom-card-desc { font-family:'Poppins',sans-serif; font-size:12.5px; color:#777; line-height:1.65; }

/* Full width notice */
.edm-vcom-notice {
    background:#fff; border:1px solid #f0ece4; border-radius:14px; padding:24px 28px;
    text-align:center; display:flex; flex-direction:column; align-items:center; gap:12px;
}
.edm-vcom-notice-text { font-family:'Poppins',sans-serif; font-size:14px; color:#666; }
.edm-vcom-notice-text strong { color:#1a1a1a; }
.edm-vcom-notice-btn {
    display:inline-flex; align-items:center; gap:8px; padding:10px 24px;
    background:rgba(144,25,28,0.06); color:#90191c;
    font-family:'Poppins',sans-serif; font-size:13px; font-weight:600; text-decoration:none;
    border-radius:50px; transition:all 0.3s;
}
.edm-vcom-notice-btn:hover { background:#90191c; color:#fff; }
.edm-vcom-notice-btn svg { width:14px; height:14px; }

@media (max-width: 768px) {
    .edm-vcom { padding:56px 0; }
    .edm-vcom-grid { grid-template-columns:1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-12158645 */.edm-vspec * { margin:0; padding:0; box-sizing:border-box; }
.edm-vspec { position:relative; padding:90px 0; overflow:hidden; }
.edm-vspec-inner { max-width:1240px; margin:0 auto; padding:0 20px; }

.edm-vspec-header { text-align:center; max-width:700px; margin:0 auto 48px; }
.edm-vspec-label { display:inline-flex; align-items:center; gap:10px; margin-bottom:14px; }
.edm-vspec-label-line { width:32px; height:2px; background:#c9a656; border-radius:2px; }
.edm-vspec-label-text { font-family:'Poppins',sans-serif; font-size:12px; font-weight:600; color:#c9a656; text-transform:uppercase; letter-spacing:2px; }
.edm-vspec-h2 { font-family:'Red Rose',serif; font-size:clamp(26px,3.5vw,38px); font-weight:700; color:#1a1a1a; line-height:1.2; margin-bottom:16px; }
.edm-vspec-h2 span { color:#90191c; }
.edm-vspec-subtitle { font-family:'Poppins',sans-serif; font-size:15px; color:#666; line-height:1.7; }

/* Items Grid */
.edm-vspec-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }

.edm-vspec-card {
    background:#fff; border:1px solid #f0ece4; border-radius:16px; padding:28px;
    display:flex; gap:16px; transition:all 0.35s cubic-bezier(0.22,1,0.36,1);
}
.edm-vspec-card:hover { border-color:rgba(201,166,86,0.3); box-shadow:0 10px 32px rgba(0,0,0,0.05); transform:translateY(-3px); }

.edm-vspec-card-icon {
    width:46px; height:46px; min-width:46px; border-radius:12px;
    background:linear-gradient(135deg, rgba(144,25,28,0.06), rgba(201,166,86,0.06));
    display:flex; align-items:center; justify-content:center; transition:all 0.3s;
    font-size:22px;
}
.edm-vspec-card:hover .edm-vspec-card-icon {
    background:linear-gradient(135deg,#90191c,#b82025); box-shadow:0 4px 14px rgba(144,25,28,0.25);
}

.edm-vspec-card-icon svg { width:20px; height:20px; color:#90191c; transition:color 0.3s; }
.edm-vspec-card:hover .edm-vspec-card-icon svg { color:#fff; }

.edm-vspec-card-body { display:flex; flex-direction:column; gap:6px; }
.edm-vspec-card-title { font-family:'Red Rose',serif; font-size:16px; font-weight:700; color:#1a1a1a; }
.edm-vspec-card-desc { font-family:'Poppins',sans-serif; font-size:12.5px; color:#777; line-height:1.7; }

@media (max-width: 768px) {
    .edm-vspec { padding:56px 0; }
    .edm-vspec-grid { grid-template-columns:1fr; }
    .edm-vspec-card { padding:22px 20px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-110ed598 */.edm-vfaq * { margin:0; padding:0; box-sizing:border-box; }
.edm-vfaq { position:relative; padding:90px 0; overflow:hidden; }
.edm-vfaq-inner { max-width:1240px; margin:0 auto; padding:0 20px; }

.edm-vfaq-header { text-align:center; max-width:680px; margin:0 auto 48px; }
.edm-vfaq-label { display:inline-flex; align-items:center; gap:10px; margin-bottom:14px; }
.edm-vfaq-label-line { width:32px; height:2px; background:#c9a656; border-radius:2px; }
.edm-vfaq-label-text { font-family:'Poppins',sans-serif; font-size:12px; font-weight:600; color:#c9a656; text-transform:uppercase; letter-spacing:2px; }
.edm-vfaq-h2 { font-family:'Red Rose',serif; font-size:clamp(26px,3.5vw,38px); font-weight:700; color:#1a1a1a; line-height:1.2; margin-bottom:16px; }
.edm-vfaq-h2 span { color:#90191c; }

/* FAQ Grid — 2 col on desktop */
.edm-vfaq-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

/* FAQ Item */
.edm-vfaq-item {
    background:#fff; border:1px solid #f0ece4; border-radius:16px; overflow:hidden;
    transition:all 0.35s cubic-bezier(0.22,1,0.36,1);
}
.edm-vfaq-item:hover { border-color:rgba(201,166,86,0.3); }
.edm-vfaq-item.active { border-color:rgba(144,25,28,0.15); box-shadow:0 8px 28px rgba(0,0,0,0.05); }

.edm-vfaq-q {
    display:flex; align-items:center; gap:14px; padding:20px 22px; cursor:pointer;
    border:none; background:none; width:100%; text-align:left; transition:background 0.3s;
}
.edm-vfaq-item:hover .edm-vfaq-q, .edm-vfaq-item.active .edm-vfaq-q { background:#fdfbf7; }

.edm-vfaq-q-icon {
    width:34px; height:34px; min-width:34px; border-radius:10px;
    background:linear-gradient(135deg, rgba(144,25,28,0.06), rgba(201,166,86,0.06));
    display:flex; align-items:center; justify-content:center;
    font-family:'Red Rose',serif; font-size:14px; font-weight:700; color:#90191c;
    transition:all 0.3s;
}
.edm-vfaq-item.active .edm-vfaq-q-icon { background:#90191c; color:#fff; box-shadow:0 4px 12px rgba(144,25,28,0.2); }

.edm-vfaq-q-text { flex:1; font-family:'Red Rose',serif; font-size:15px; font-weight:600; color:#1a1a1a; line-height:1.4; transition:color 0.3s; }
.edm-vfaq-item.active .edm-vfaq-q-text { color:#90191c; }

.edm-vfaq-q-toggle {
    width:28px; height:28px; min-width:28px; border-radius:50%; background:rgba(144,25,28,0.05);
    display:flex; align-items:center; justify-content:center; transition:all 0.35s;
}
.edm-vfaq-item.active .edm-vfaq-q-toggle { background:#90191c; transform:rotate(45deg); }
.edm-vfaq-q-toggle svg { width:14px; height:14px; color:#90191c; transition:color 0.3s; }
.edm-vfaq-item.active .edm-vfaq-q-toggle svg { color:#fff; }

.edm-vfaq-a { max-height:0; overflow:hidden; transition:max-height 0.45s cubic-bezier(0.22,1,0.36,1); }
.edm-vfaq-a-inner { padding:0 22px 22px; padding-left:70px; }
.edm-vfaq-a-text { font-family:'Poppins',sans-serif; font-size:13.5px; color:#666; line-height:1.8; }

/* Bottom CTA */
.edm-vfaq-cta {
    text-align:center; margin-top:48px; display:flex; flex-direction:column; align-items:center; gap:14px;
}
.edm-vfaq-cta-text { font-family:'Poppins',sans-serif; font-size:14px; color:#888; }
.edm-vfaq-cta-actions { display:flex; gap:12px; }
.edm-vfaq-btn-primary {
    display:inline-flex; align-items:center; gap:10px; padding:14px 28px;
    background:linear-gradient(135deg,#90191c,#b82025); color:#fff;
    font-family:'Poppins',sans-serif; font-size:14px; font-weight:600; text-decoration:none;
    border-radius:50px; transition:all 0.35s; box-shadow:0 4px 16px rgba(144,25,28,0.25);
}
.edm-vfaq-btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 28px rgba(144,25,28,0.35); }
.edm-vfaq-btn-primary svg { width:16px; height:16px; transition:transform 0.3s; }
.edm-vfaq-btn-primary:hover svg { transform:translateX(4px); }

.edm-vfaq-btn-wa {
    display:inline-flex; align-items:center; gap:8px; padding:14px 24px;
    background:#25D366; color:#fff;
    font-family:'Poppins',sans-serif; font-size:14px; font-weight:600; text-decoration:none;
    border-radius:50px; transition:all 0.35s; box-shadow:0 4px 16px rgba(37,211,102,0.25);
}
.edm-vfaq-btn-wa:hover { transform:translateY(-2px); box-shadow:0 8px 28px rgba(37,211,102,0.35); }
.edm-vfaq-btn-wa svg { width:16px; height:16px; }

@media (max-width: 900px) {
    .edm-vfaq { padding:56px 0; }
    .edm-vfaq-grid { grid-template-columns:1fr; }
    .edm-vfaq-a-inner { padding-left:22px; }
    .edm-vfaq-cta-actions { flex-direction:column; width:100%; max-width:320px; }
    .edm-vfaq-btn-primary, .edm-vfaq-btn-wa { width:100%; justify-content:center; }
}/* End custom CSS */