/*
Theme Name: Dibico Astra Child
Template: astra
Description: Child theme created by WP Theta AI Assistant.
Version: 1.0.0
*/

body.page-id-96 .wpcf7-form label {
    color: #f0ede7;
}

body.page-id-10 .vc_custom_1787942300001 {
    background-color: rgba(0, 0, 0, 0.44) !important;
    background-blend-mode: multiply;
}

.undertitle {
    text-decoration: underline;
    text-underline-offset: 5px;
    color: #1a2f5c !important;
    font-size: 14px !important;
    font-weight: bold !important;    
    font-family: Arial, Helvetica, sans-serif !important;
}

.undertitleone {
    text-decoration: underline;
    text-underline-offset: 5px;
    font-size: 14px !important;
    font-weight: bold !important;    
    font-family: Arial, Helvetica, sans-serif !important;
}

.ast-single-post .entry-content .nounder a, .ast-single-post .entry-content .nounderbutton a, .nounder a, .nounderbutton a {
    text-decoration: none;
}

.nounderbutton {
  border: 1px solid var(--line);
  background: none;
  font-size: 11px;
  letter-spacing: .16em;
  color: #7a7268;
  cursor: pointer;
  transition: border-color .25s ease, color .25s ease;
}

.ast-single-post .entry-content .nounderbutton:hover {
  border-color: #3457d5;
  color: #7a7268
  ;
}

.textbutton a {
    background: none !important;
    text-decoration: none !important;
}

.textbutton .vc_btn3-size-md {
    padding: 0 !important;
}

.site-below-footer-wrap {
    background: linear-gradient(90deg,var(--dibico-topbar-bg),var(--dibico-topbar-bg-2));
}

.site-below-footer-wrap .ast-footer-copyright {
    color: #ffffff;
}

body.page-id-10 .vc_icon_element.vc_icon_element-outer .vc_icon_element-inner {
    top: -5px;
}

body.page-id-69 .wpb_raw_code.wpb_raw_html.wpb_content_element {
    margin-bottom: 0 !important;
}

.vc_btn3.vc_btn3-style-outline {
    border-width: 1px;
}

#page .site-content {
    background-color: #FAF6EE;
}

/* Replace WPBakery FAQ plus with > */
.page-id-95 .vc_toggle_icon::before,
.page-id-95 .vc_toggle_icon::after {
    content: none !important;
    display: none !important;
}

.page-id-95 .vc_toggle_icon {
    border: none !important;
    background: none !important;
    width: 18px !important;
    height: 24px !important;
}

.page-id-95 .vc_toggle_icon::after {
    content: ">" !important;
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    transform: translateY(-50%) !important;
    width: auto !important;
    height: auto !important;
    background: none !important;
    color: #2f5597 !important;
    font-size: 26px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

/* Hide WPBakery's built-in +/- icon */
.page-id-95 .vc_toggle_icon {
    display: none !important;
}

/* Leave room for the custom chevron on the left */
.page-id-95 .vc_toggle_title {
    position: relative;
    padding-left: 34px !important;
}

/* Closed state: SVG chevron pointing right */
.page-id-95 .vc_toggle_title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;

    width: 16px;
    height: 16px;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f5597' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    transform: translateY(-50%);
    transform-origin: center;
    transition: transform 0.2s ease;
}

/* Open state: rotate the same SVG downward */
.page-id-95 .vc_toggle_active .vc_toggle_title::before {
    transform: translateY(-50%) rotate(90deg);
}

/* Divider between FAQ rows */
.page-id-95 .vc_toggle {
    border-bottom: 1px solid #d5d5d5;
    margin-bottom: 0 !important;
    padding: 18px 0;
}

.page-id-95 .vc_toggle_active {
    padding-bottom: 12px;
}

.dibico-context-sectionbar {
    background-color: #FAF6EE;
}

/* Reduce space below an OPEN FAQ answer */
.page-id-95 .vc_toggle_active .vc_toggle_content {
    margin-bottom: 0 !important;
    padding-bottom: 6px !important;
}

/* Remove bottom margin from the final paragraph in the answer */
.page-id-95 .vc_toggle_active .vc_toggle_content > *:last-child {
    margin-bottom: 0 !important;
}

/* Home Management — Schedule Assessment button */
body.dibico-header-context-home-management
.dibico-context-menu .schedule-assessment > a {
    border: 1px solid #2b2925;
    padding: 12px 20px;
    margin-left: 18px;
    min-width: 208px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: transparent;
    color: #2b2925;
    text-decoration: none;

    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    line-height: 1.2;
}

/* Hover / keyboard focus */
body.dibico-header-context-home-management
.dibico-context-menu .schedule-assessment > a:hover,
body.dibico-header-context-home-management
.dibico-context-menu .schedule-assessment > a:focus {
    background: rgba(33,28,24,0.06);
    color: #2b2925;
    text-decoration: none;
}

/* Compact Schedule Assessment button when header condenses */
body.dibico-header-context-home-management.dibico-context-header-scrolled
.dibico-context-menu .schedule-assessment > a {
    min-width: 170px;
    min-height: 34px;

    padding: 8px 16px;
    margin-left: 14px;

    font-size: 12px;
}

body.dibico-header-context-home-management
.dibico-context-menu .schedule-assessment > a {
    transition:
        min-width .24s ease,
        min-height .24s ease,
        padding .24s ease,
        margin .24s ease,
        font-size .24s ease;
}

.centered-80 {
    width: 80% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}

.vertical-center > .vc_column-inner > .wpb_wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

.location-card {
    position: relative;
    cursor: pointer;
}

/* Stretch the existing heading link over the entire card */
.location-card .vc_custom_heading a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 10;
}

.location-card {
    position: relative;
    cursor: pointer;
    transition: border-color .2s ease,
                box-shadow .2s ease,
                transform .2s ease;
}

.location-card:hover {
    border-color: #2f5597 !important;
    transform: translateY(-2px);
}

.service-row {
    display: flex;
    align-items: flex-start;
}

.service-row > .wpb_column:first-child {
    width: 42px;
    flex: 0 0 42px;
}

.service-row > .wpb_column:last-child {
    width: auto;
    flex: 1 1 auto;
}

.service-row > .wpb_column:first-child > .vc_column-inner {
    padding-right: 16px;
}

.service-row > .wpb_column:last-child > .vc_column-inner {
    padding-left: 16px;
}

.service-row > .wpb_column:first-child .vc_single_image-wrapper,
.service-row > .wpb_column:first-child .vc_single_image-wrapper img {
    width: 28px !important;
    max-width: 28px !important;
    min-width: 28px !important;
    height: auto !important;
}

.service-row {
    position: relative;
}

/* Expand the existing heading link over the entire service row */
.service-row .vc_custom_heading a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 10;
}

.project-steps .wpb_text_column,
.project-steps .wpb_text_column p {
    margin: 3px 0 0 0 !important;
    padding: 0 !important;
    line-height: 13px !important;
}

.project-steps .wpb_text_column span {
    display: inline-block !important;
    line-height: 13px !important;
}

/* Horizontal spacing */
.project-steps {
    width: 10% !important;
}

.project-steps + .wpb_column {
    width: 90% !important;
}

/* Add bottom room without replacing existing card styling */
/* Normal card appearance */
.renovation-card > .vc_column-inner {
    position: relative;

    background: #ffffff !important;

    /* Interior spacing */
    padding: 18px 18px 42px !important;

    /* Normal borders */
    border-left: 1px solid #d8d1c8 !important;
    border-right: 1px solid #d8d1c8 !important;
    border-bottom: 1px solid #d8d1c8 !important;
    border-top: 2px solid #2f5bff !important;

    box-sizing: border-box;
}

/* On hover, add a black outline OVER the existing styling */
.renovation-card:hover > .vc_column-inner {
    outline: 1px solid #222;
    outline-offset: -1px;
}

/* Hover arrow */
.renovation-card > .vc_column-inner::after {
    content: "→";
    position: absolute;
    left: 18px;
    bottom: 15px;

    color: #2f5bff;
    font-size: 16px;
    line-height: 1;

    opacity: 0;
    transition: opacity 0.15s ease;
}

.renovation-card:hover > .vc_column-inner::after {
    opacity: 1;
}

/* Make the existing title link cover the entire card */
.renovation-card {
    position: relative;
}

.renovation-card .vc_custom_heading a::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 5;
}

/* SERVICE CARD — normal state */
#services .home-service-card {
    position: relative !important;
    box-sizing: border-box !important;

    background-color: #ffffff !important;

    padding: 15px 10px 10px 10px !important;

    border-bottom: 1px solid #d7d0c5 !important;

    cursor: pointer;
}

/* SERVICE CARD — hover */
#services .home-service-card:hover {
    border-bottom-color: #2f5bff !important;
}

/* Reduce excess spacing inside */
#services .home-service-card .wpb_text_column {
    margin-bottom: 6px !important;
}

#services .home-service-card .vc_btn3-container {
    margin-bottom: 0 !important;
}

/* Make the existing LEARN MORE link cover the entire card */
/* Make the actual LEARN MORE link cover the entire service card */
#services .home-service-card {
    position: relative !important;
}

#services .home-service-card .textbutton a {
    position: static !important;
}

#services .home-service-card .textbutton a::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 50;
    display: block;
}

/* Reduce service-card icon size */
#services .home-service-card .vc_icon_element-icon {
    font-size: 2.15em !important;
}

/* Remove the icon widget's extra vertical spacing */
#services .home-service-card .vc_icon_element {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Align icon column with the top of the title */
#services .home-service-card .vc_col-sm-1 > .vc_column-inner {
    padding-top: 0 !important;
}

/* Remove any top margin from the title */
#services .home-service-card .vc_custom_heading {
    margin-top: 0 !important;
}

.home-service-card .vc_icon_element.vc_icon_element-outer .vc_icon_element-inner .vc_icon_element-icon {
    top: 20px;
}

/* Entire white work card */
.work-link-card {
    position: relative;
    cursor: pointer;
}

/* 1px blue border around the complete card on hover */
/* Blue border across the visible card on hover */
.work-link-card:hover > .wpb_column:first-child > .vc_column-inner {
    border-top-color: #2f5bff !important;
    border-bottom-color: #2f5bff !important;
    border-left-color: #2f5bff !important;
}

.work-link-card:hover > .wpb_column:last-child > .vc_column-inner {
    border-top-color: #2f5bff !important;
    border-bottom-color: #2f5bff !important;
    border-right-color: #2f5bff !important;
}

/* Extend the Browse link over the entire card */
.work-link-card .nounder a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 20;
}

/* Never underline card links */
.work-link-card a,
.work-link-card a:hover,
.work-link-card a:focus {
    text-decoration: none !important;
}

body.single-post #page,
body.single-post #content,
body.single-post .site-content,
body.single-post .ast-container,
body.single-post .content-area,
body.single-post .site-main {
    background: #FAF6EE !important;
}

body.single-post .dibico-single-post__article {
    background: #FAF6EE !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Platinum */
body.page-id-11 .vc_custom_1788400100010 {
    border-top-color: transparent !important;
    border-image: linear-gradient(
        90deg,
        #8f969c 0%,
        #d9dde0 38%,
        #f5f6f6 50%,
        #d9dde0 62%,
        #8f969c 100%
    ) 1 !important;
}

/* Gold */
body.page-id-11 .vc_custom_1788400100011 {
    border-top-color: transparent !important;
    border-image: linear-gradient(
        90deg,
        #9a6a00 0%,
        #d4af37 38%,
        #f3dc7c 50%,
        #d4af37 62%,
        #9a6a00 100%
    ) 1 !important;
}

/* Silver */
body.page-id-11 .vc_custom_1788400100012 {
    border-top-color: transparent !important;
    border-image: linear-gradient(
        90deg,
        #777d82 0%,
        #b8bdc1 38%,
        #e6e8e9 50%,
        #b8bdc1 62%,
        #777d82 100%
    ) 1 !important;
}


body.page-id-11:not(.wp-admin)
.vc_inner.vc_row-o-content-middle.vc_row-flex
> .wpb_column.vc_col-sm-1:first-child {
    align-self: flex-start !important;
}

body.page-id-11:not(.wp-admin)
.vc_inner > .wpb_column.vc_col-sm-1:first-child {
    white-space: nowrap !important;
}

body.page-id-11:not(.wp-admin)
.vc_inner > .wpb_column.vc_col-sm-1:first-child {
    white-space: nowrap !important;
    padding-top: 5px !important;
}

body.page-id-11:not(.wp-admin)
.vc_inner > .wpb_column:nth-child(2) > .vc_column-inner {
    padding-left: 35px !important;
}

/* Locations — normal card border */
body.page-id-97 .location-card > .vc_column-inner {
    border: 1px solid #ccc !important;
}

/* Locations — blue border on hover */
body.page-id-97 .location-card:hover > .vc_column-inner {
    border-color: #3457d5 !important;
}

#contact .wpcf7-form label {
    color: rgba(250,246,238,0.55);
    font-weight: normal;
    font-size: 11px;

}

/* Underline-style contact fields: Home Management and New Construction */
body.page-id-10 #contact .wpcf7-form input.wpcf7-form-control:not([type="submit"]),
body.page-id-10 #contact .wpcf7-form textarea.wpcf7-form-control,
body.page-id-69 #contact .wpcf7-form input.wpcf7-form-control:not([type="submit"]),
body.page-id-69 #contact .wpcf7-form textarea.wpcf7-form-control {
  width: 100%;
  padding: 12px 0 !important;
  color: #f0ede7 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(240, 237, 231, 0.3) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  appearance: none;
  -webkit-appearance: none;
}

body.page-id-10 #contact .wpcf7-form textarea.wpcf7-form-control,
body.page-id-69 #contact .wpcf7-form textarea.wpcf7-form-control {
  height: 86px !important;
  min-height: 86px !important;
  resize: vertical;
}

body.page-id-10 #contact .wpcf7-form input.wpcf7-form-control:not([type="submit"]):focus,
body.page-id-10 #contact .wpcf7-form textarea.wpcf7-form-control:focus,
body.page-id-69 #contact .wpcf7-form input.wpcf7-form-control:not([type="submit"]):focus,
body.page-id-69 #contact .wpcf7-form textarea.wpcf7-form-control:focus {
  background: transparent !important;
  border-bottom-color: #3457d5 !important;
  box-shadow: 0 1px 0 #3457d5 !important;
  outline: none !important;
}

.wpcf7 input.wpcf7-form-control:not([type="submit"]):focus {
    color: #fff !important;
}

body.page-id-6835 .wpcf7-form input[type="text"]:focus,
body.page-id-6835 .wpcf7-form input[type="email"]:focus,
body.page-id-6835 .wpcf7-form input[type="tel"]:focus,
body.page-id-6835 .wpcf7-form input[type="url"]:focus,
body.page-id-6835 .wpcf7-form textarea:focus {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    caret-color: #fff !important;
}



@media (max-width: 991px) {
  body.page-id-10 #contact > .wpb_column:nth-child(2)
    > .vc_column-inner.vc_custom_1788319944213,
  body.page-id-69 #contact > .wpb_column:nth-child(2)
    > .vc_column-inner.vc_custom_1788319944213 {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

.accordion-more .vc_tta-panel-heading .vc_tta-panel-title {
    background-color: #faf6ee;
}

.entry-content ul {
    margin-top: 0;
}

input[type="submit"] {
    background:#1a2f5c;
}

input[type="submit"]:hover {
    background:#12203f;
}

#ast-scroll-top {
    background-color: #2c45a7;
}

body.page-id-10 a[href$="/how-it-works/"],
body.page-id-10 a.dibico-featured-articles-all[href$="/blog/"],
body.page-id-10 a[href$="/additional-info/"] {
    color: #7a7268 !important;
    border-color: #dbd7cf !important;
}

body.page-id-10 a[href$="/how-it-works/"]:hover,
body.page-id-10 a.dibico-featured-articles-all[href$="/blog/"]:hover,
body.page-id-10 a[href$="/additional-info/"]:hover {
    border-color: #3457d5 !important;
    color: #4a597c !important;
    border-width: 1px !important;
    background: none;
}

/* Dibico Additional Info contact form */
body.page-id-6835 .wpcf7 form > p {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px 26px;
	margin: 0;
}

body.page-id-6835 .wpcf7 form > p > br {
	display: none;
}

body.page-id-6835 .wpcf7 form > p > label {
	display: block;
	min-width: 0;
	margin: 0;
	color: #b9b2ab;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 1px;
	text-transform: uppercase;
}

/* Full-width fields */
body.page-id-6835 .wpcf7 form > p > label:nth-of-type(n + 5) {
	grid-column: 1 / -1;
}

/* Match the original visual order */
body.page-id-6835 .wpcf7 form > p > label:nth-of-type(1) { order: 1; }
body.page-id-6835 .wpcf7 form > p > label:nth-of-type(2) { order: 2; }
body.page-id-6835 .wpcf7 form > p > label:nth-of-type(3) { order: 3; }
body.page-id-6835 .wpcf7 form > p > label:nth-of-type(4) { order: 4; }
body.page-id-6835 .wpcf7 form > p > label:nth-of-type(5) { order: 5; }
body.page-id-6835 .wpcf7 form > p > label:nth-of-type(7) { order: 6; }
body.page-id-6835 .wpcf7 form > p > label:nth-of-type(6) { order: 7; }

body.page-id-6835 .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
	margin-top: 12px;
}

body.page-id-6835 .wpcf7 input[type="text"],
body.page-id-6835 .wpcf7 input[type="email"],
body.page-id-6835 .wpcf7 input[type="tel"],
body.page-id-6835 .wpcf7 select,
body.page-id-6835 .wpcf7 textarea {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0 0 10px;
	color: #f0ede7;
	font-size: 16px;
	line-height: 1.4;
	background-color: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid #77716a !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: 0;
}

body.page-id-6835 .wpcf7 input[type="text"],
body.page-id-6835 .wpcf7 input[type="email"],
body.page-id-6835 .wpcf7 input[type="tel"],
body.page-id-6835 .wpcf7 select {
	height: 40px;
}

body.page-id-6835 .wpcf7 select {
	padding-right: 30px;
	-webkit-appearance: none;
	appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, #b9b2ab 50%),
		linear-gradient(135deg, #b9b2ab 50%, transparent 50%);
	background-position:
		calc(100% - 14px) 50%,
		calc(100% - 9px) 50%;
	background-size: 5px 5px;
	background-repeat: no-repeat;
}

body.page-id-6835 .wpcf7 textarea {
	height: 80px;
	min-height: 80px;
	resize: vertical;
}

body.page-id-6835 .wpcf7 input[type="text"]:focus,
body.page-id-6835 .wpcf7 input[type="email"]:focus,
body.page-id-6835 .wpcf7 input[type="tel"]:focus,
body.page-id-6835 .wpcf7 select:focus,
body.page-id-6835 .wpcf7 textarea:focus {
	border-bottom-color: #3457d5 !important;
}

body.page-id-6835 .wpcf7 input[type="submit"] {
	order: 8;
	grid-column: 1 / -1;
	justify-self: start;
	margin: 0;
	padding: 12px 24px;
	color: #ffffff !important;
	font-size: 14px;
	font-weight: 600;
	background: #173f8a !important;
	border: 0 !important;
	border-radius: 4px;
	box-shadow: none;
	cursor: pointer;
}

body.page-id-6835 .wpcf7 input[type="submit"]:hover,
body.page-id-6835 .wpcf7 input[type="submit"]:focus {
	background: #173f8a !important;
}

body.page-id-6835 .wpcf7 .wpcf7-spinner {
	order: 9;
}

body.page-id-6835 .wpcf7 .wpcf7-not-valid-tip {
	margin-top: 6px;
	font-size: 12px;
}

body.page-id-6835 .wpcf7 .wpcf7-response-output {
	margin: 22px 0 0;
	color: #f0ede7;
}

/* Stack fields on smaller screens */
@media (max-width: 600px) {
	body.page-id-6835 .wpcf7 form > p {
		grid-template-columns: 1fr;
	}

	body.page-id-6835 .wpcf7 form > p > label {
		grid-column: 1;
	}
}

/* Individual blog posts: allow an 850px article content width. */
body.single-post .site-content > .ast-container {
    max-width: 930px;
}

/* Account for the contextual header when calculating page height. */
body.dibico-context-header-enabled #page {
    min-height: calc(
        100dvh - var(--dibico-context-anchor-offset, 178px) + 32px
    );
}

/* Center stacked step content on How Home Management Works. */
@media (max-width: 767px) {
  body.page-id-11 .vc_row.vc_inner > .vc_col-sm-6 > .vc_column-inner {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

/* Mobile row alignment: Home Management and New Construction only */
@media (max-width: 767px) {
  body.page-id-10 #wpb-content-root > .vc_row:not(.vc_row-no-padding),
  body.page-id-69 #wpb-content-root > .vc_row:not(.vc_row-no-padding) {
    box-sizing: border-box;
    width: calc(100% + 40px) !important;
    max-width: none !important;
    left: -20px !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* DIBICO CONTACT FIELD TEXT FIX */
body.page-id-6835 .wpcf7-form input.wpcf7-form-control:not([type="submit"]),
body.page-id-6835 .wpcf7-form textarea.wpcf7-form-control {
    color: #f0ede7 !important;
    -webkit-text-fill-color: #f0ede7 !important;
    caret-color: #f0ede7 !important;
}

.wpcf7-response-output {
    color: #fff !important;
}

.grecaptcha-badge {
    width: 70px !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    left: -2px !important;
    bottom: 20px !important;
}


.grecaptcha-badge:hover {
    width: 256px !important;
}