/**
 * Theme Name: AWD Child
 * Author: Austin Web & Design
 * Author URI: https://austinwebanddesign.com/
 * Description: Child theme of Astra. Optimized for performance, accessibility, and custom styling.
 * Version: 1.0.0
 * License: GNU General Public License v2 or later
 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain: awd-child
 * Template: astra
 */

/* ===========================
   Header
=========================== */
#ast-desktop-header .site-branding.ast-site-identity { padding-top: 20px; padding-bottom: 10px; }
#ast-desktop-header  .ast-icon.icon-arrow { display: none; }
.ast-mobile-popup-content .header-widget-area.widget-area { padding-top: 0; }
.ast-mobile-popup-content .header-widget-area .wp-block-uagb-image__figure img { max-width: 320px; }
#menu-toggle-close { border: 1px solid transparent; border-radius: 0; }
.ast-menu-toggle { border-radius: 0; }
.ast-mobile-popup-content .ast-builder-layout-element.ast-header-button-1 { justify-content: center; }

/* ===========================
   Headings & Subheadings
=========================== */
.wp-block-uagb-advanced-heading h2.uagb-heading-text + .uagb-desc-text { letter-spacing: -0.02em; }
.wp-block-uagb-advanced-heading sup, .uagb-ifb-title sup { font-size: 33%; vertical-align: super; }
.wp-block-uagb-advanced-heading p.uagb-desc-text sup { font-size: 51%; vertical-align: super; top: -1px; }

/* ===========================
   Contact Shortcode
=========================== */
.contact-info { text-transform: uppercase; }
.contact-page .contact-name.contact-info-item { font-size: 16px; font-weight: 700; text-transform: uppercase; margin-bottom: 7px; }
.awd-hours, .contact-info.custom-footer-info { display: flex; flex-direction: column; row-gap: 15px; letter-spacing: 0.01em; line-height: 1.42; text-transform: uppercase; }
.contact-info.custom-footer-info { margin-bottom: 36px; }
.awd-hours.contact-page { text-align: left; }

/* ===========================
   Banner Overlay Effects
=========================== */
.wp-block-uagb-container.overlay-left::after, .wp-block-uagb-container.overlay-right::after { content: ''; width: 60%; height: 100%; position: absolute; top: 0; opacity: 0.4; pointer-events: none; }
.wp-block-uagb-container.overlay-left::after { left: 0; background: linear-gradient(90deg, #000 0%, transparent 100%); }
.wp-block-uagb-container.overlay-right::after { right: 0; background: linear-gradient(270deg, #000 0%, transparent 100%); }

/* ===========================
   Gallery Layouts
=========================== */
figure.wp-block-gallery.gallery-theme-1 { flex-wrap: nowrap; }
.wp-block-gallery.gallery-theme-1 figure:first-child { flex: 0 0 59%; }
.wp-block-gallery.gallery-theme-1 figure:last-child { flex: 0 0 38%; }
.wp-block-gallery.gallery-theme-1 figure:first-child img { aspect-ratio: 518 / 400; border-radius: 16px; }
.wp-block-gallery.gallery-theme-1 figure:last-child img { aspect-ratio: 331 / 400; border-radius: 16px; }
.wp-block-gallery.gallery-theme-1 figure:last-child::after { content: ''; width: 100%; height: 100%; background-image: url('/wp-content/themes/awd-child/images/smile.svg'); display: block; position: absolute; left: 0; background-position: 50% 67%; background-repeat: no-repeat; }
body .spectra-image-gallery__control-lightbox--main .swiper-slide img { max-height: 90%; max-width: 90%; }
.post-thumb-img-content.post-thumb .wp-post-image {
    object-fit: cover;
}

/* ===========================
   Abstract Accent Graphics
=========================== */
.wp-block-uagb-container.abstract-lines-1-white::after, .wp-block-uagb-container.abstract-lines-2::after, .wp-block-uagb-container.abstract-lines-3::after, .wp-block-uagb-container.lauren-bg1::before { content: ''; position: absolute; background-repeat: no-repeat; background-size: contain; z-index: 0; }
.wp-block-uagb-container.abstract-lines-1-white::after { width: 52%; height: 416px; bottom: 0; right: 0; background-image: url('/wp-content/themes/awd-child/images/abstract-lines-1-white.png'); background-position: 37% 0%; background-size: 1600px; z-index: 0; content: ""; position: absolute; display: block; }
@supports (background-image:url("data:image/svg+xml,%3Csvg xmlns=!string!%3E%3C/svg%3E")) {
   .wp-block-uagb-container.abstract-lines-1-white::after { background-image: url('/wp-content/themes/awd-child/images/abstract-lines-1-white.svg'); }
}
.wp-block-uagb-container.abstract-lines-2::after { width: 837px; height: 366px; bottom: -5px; right: -50px; background-image: url('/wp-content/themes/awd-child/images/abstract-lines-2.png'); background-position: 0 0; background-size: 880px auto; z-index: 0; }
.wp-block-uagb-container.abstract-lines-3::after { width: 600px; height: 384px; bottom: 0; left: -100px; background-image: url('/wp-content/themes/awd-child/images/abstract-lines-3.png'); background-position: 60% 60%; background-size: 640px auto; z-index: 0; }
.wp-block-uagb-container.lauren-bg1::before { width: 324px; height: 460px; bottom: 0; left: 70px; background-image: url('/wp-content/themes/awd-child/images/lauren-goodale-quote.png'); background-position: center; z-index: 1; }

/* ===========================
   Utility + List Layouts
=========================== */
.wp-block-uagb-container.section-blur { backdrop-filter: blur(10px); }
@media screen and (min-width:641px) {
   ul.two-column-list, ol.two-column-list { column-count: 2; }
   ul.three-column-list, ol.three-column-list { column-count: 3; }
   ul.four-column-list, ol.four-column-list { column-count: 4; }
   ul.five-column-list, ol.five-column-list { column-count: 5; }
}
ul[class*='-column-list'], ol[class*='-column-list'] { margin: 0; padding-left: 0; list-style-position: outside; column-gap: 2rem; }
ul[class*='-column-list'] li, ol[class*='-column-list'] li { margin-bottom: 0.5em; break-inside: avoid; }
ul.wp-block-list.two-column-list ul.wp-block-list, ul[class*='-column-list'] ul[class*='-column-list'] { margin-top: 10px; padding-left: 20px; column-gap: 0.5em; }
body .wp-block-uagb-container > ul.wp-block-list.list-pipes { list-style-type: none; font-size: 24px; display: flex; margin-left: 0 !important; letter-spacing: -1px; padding-bottom: 25px; }
ul.wp-block-list.list-pipes li:not(:last-child)::after { content: '|'; margin: 0 25px; }
.hero-banner .wp-block-list.list-pipes { color: #fff; }

/* ===========================
   Buttons
=========================== */
.uagb-buttons-repeater.wp-block-button__link, .uagb-buttons-repeater.ast-outline-button { letter-spacing: 0.06em; }
.uagb-infobox_cta-type-all:hover + .wp-block-uagb-buttons .wp-block-button__link { background: var(--ast-global-color-2); }
@media screen and (min-width:977px) {
   .uagb-buttons-repeater.wp-block-button__link, .uagb-buttons-repeater.ast-outline-button { min-width: 180px; }
   .site-footer .uagb-buttons-repeater.wp-block-button__link, .site-footer .uagb-buttons-repeater.ast-outline-button { min-width: 222px; }
}

/* ===========================
   Infobox
=========================== */
.skin-luxe-services .uagb-ifb-image-content img { aspect-ratio: 3 / 2; width: 100%; height: auto; object-fit: cover; }

/* ===========================
   Spectra Accordions
=========================== */

/* ===========================
   AWD Social Links
=========================== */
.awd-social.social-shortcode { display: flex; justify-content: center; flex-wrap: wrap; padding: 1rem 0; }
.awd-social.align-left { justify-content: flex-start; text-align: left; }
.awd-social.align-center { justify-content: center; text-align: center; }
.awd-social.align-right { justify-content: flex-end; text-align: right; }
.awd-social .social-list { display: flex; flex-wrap: wrap; gap: 1.66rem; list-style: none; margin: 0; padding: 0; }
.awd-social .social-item { display: inline-flex; }
.awd-social .awd-social-icons { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; font-size: 38px; border-radius: 50%; background-color: transparent; color: #B99853; text-decoration: none; transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease; }
.awd-social .awd-social-icons:hover { transform: scale(1.1); background-color: transparent; color: var(--ast-global-color-0); }
.awd-social .awd-social-icons i { font-size: 1.25rem; line-height: 1; }
.awd-social .awd-image-icon img { width: 24px; height: 24px; object-fit: contain; display: block; }
.awd-social.dark-theme .awd-social-icons { background-color: #333; color: #fff; }
.awd-social.dark-theme .awd-social-icons:hover { background-color: #fff; color: #333; }
.awd-social.social-shortcode.footer-social { padding: 0; }
.site-footer .site-footer-primary-section-4 .awd-social .awd-social-icons { color: #B99853; }

/* ===========================
   Gravity Forms Styling
=========================== */
.gform_wrapper { font-family: inherit; max-width: 800px; margin: 0 auto; }
.gform_wrapper.gravity-theme * .gform_required_legend { display: none; }
.gform_wrapper .gfield_label { font-size: 1rem; font-weight: 500; display: block; margin-bottom: 0.5rem; color: #333; }
#secondary .gform_wrapper .ginput_container_fileupload input { font-size: 14px; }
.gform_wrapper input[type='|'], .gform_wrapper input[type='text'], .gform_wrapper input[type='email'], .gform_wrapper input[type='tel'], .gform_wrapper textarea { font-family: 'Public Sans', sans-serif; font-size: 1rem; width: 100%; min-height: 56px; padding: 0.75rem 1rem; background-color: #f9f9f9; border: 1px solid #ccc; border-radius: 0; transition: border-color 0.3s ease, box-shadow 0.3s ease; }
.gform_wrapper input:focus, .gform_wrapper textarea:focus { border-color: #a12322; outline: none; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
.gform_wrapper .gfield_checkbox li, .gform_wrapper .gfield_radio li { margin-bottom: 0.5rem; list-style: none; }
.gform_wrapper input[type='checkbox'] { position: relative; width: 1.2rem; height: 1.2rem; border: 2px solid #ccc; border-radius: 0; background-color: #fff; appearance: none; cursor: pointer; transition: background-color 0.3s ease, border-color 0.3s ease; }
.gform_wrapper input[type='radio']:checked, .gform_wrapper input[type='checkbox']:checked { border-color: var(--ast-global-color-0); background-color: var(--ast-global-color-0); }
.gform_wrapper input[type='radio']:checked::after { content: 'checkbox'; position: absolute; top: 0.2rem; left: 0.4rem; width: 0.25rem; height: 0.6rem; transform: rotate(45deg); border: solid #fff; border-width: 0 0.2rem 0.2rem 0; }
.gform_wrapper .gform_footer input[type=''] { font-size: 1rem; min-width: 200px; padding: 16px 25px; background-color: var(--ast-global-color-0); color: #fff; border: none; border-radius: 500px; cursor: pointer; transition: background-color 0.3s ease; }
.gform_wrapper .gform_footer input[type='submit']:hover { background-color: #000; }
.gform_wrapper.gravity-theme .gfield-choice-input+label { padding-left: 10px; }
.gform_wrapper.gravity-theme .gform_validation_errors * { letter-spacing: normal; }

/* ===========================
   Footer
=========================== */
.site-footer p:empty { display: none; }
.site-footer h3.wp-block-heading.widget-title { letter-spacing: 1px; margin-bottom: 35px; }
.ast-footer-copyright { margin-left: 0; }
ul.footer-privacy { list-style: none; display: flex; flex-wrap: nowrap; gap: 40px; justify-content: flex-end; margin: 0; line-height: 1; }
@media screen and (min-width:1237px) {
   .site-primary-footer-wrap[data-section='submit'] .ast-builder-grid-row { grid-template-columns: 43% 11% 15% auto; }
   .site-footer-primary-section-1 { padding-right: 75px; }
}
@media screen and (min-width:1024px) and (max-width:1236px) {
   .site-primary-footer-wrap[data-section="section-primary-footer-builder"] .ast-builder-grid-row { grid-template-columns: 40% 15% 15% auto; gap: 25px; }
   .site-footer-primary-section-1 { padding-right: 25px; }
   .site-footer .site-footer-primary-section-1 h2.uagb-heading-text { text-align: left; font-size: 52px; }
   .site-footer .footer-widget-area .wp-block-heading.widget-title { text-align: left; }
   .site-footer  .site-footer-primary-section-1 #astra-footer-menu .menu-item > a { text-align: left; }
   .awd-hours, .contact-info.custom-footer-info { text-align: left; }
   .site-footer #astra-footer-menu .menu-item > a { padding-left: 0; padding-right: 0; width: 100%; }
   .site-footer .footer-widget-area[data-section="section-primary-footer-builder"] .astra-footer-tablet-vertical-menu { justify-content: flex-start; }
   .awd-hours-row { display: flex; flex-direction: column; }
}
@media screen and (min-width:922px) and (max-width:1023px) {
   .site-primary-footer-wrap[data-section="section-footer-menu"] .ast-builder-grid-row { grid-template-columns: 35% 15% 15% auto; gap: 25px; }
   .site-footer-primary-section-1 { padding-right: 0; }
   .site-footer .site-footer-primary-section-1 h2.uagb-heading-text { text-align: center; font-size: 42px; }
   .site-footer .footer-widget-area .wp-block-heading.widget-title { text-align: center; width: 100%; }
   .site-footer  .site-footer-primary-section-1 #astra-footer-menu .menu-item > a { text-align: left; }
   .awd-hours, .contact-info.custom-footer-info { text-align: center; width: 100%; }
   .site-footer #astra-footer-menu .menu-item > a { padding-left: 0; padding-right: 0; width: 100%; justify-content: center; }
   .site-footer .footer-widget-area[data-section="section-primary-footer-builder"] .astra-footer-tablet-vertical-menu { justify-content: flex-start; }
   .wp-block-group.footer-intro { align-items: center; }
   ul#astra-footer-menu { gap: 13px; }
   ul#astra-footer-menu li a.menu-link { font-size: 16px; }
   .awd-social.social-shortcode.footer-social { padding: 0; width: 100%; justify-content: center; }
}
@media screen and (max-width:921px) {
   .wp-block-group.footer-intro { align-items: center; }
   .site-footer .wp-block-group { align-items: center; }
   ul.footer-privacy { justify-content: center; }
   .awd-site-credit { display: block; }
}

/* ===========================
   Media Queries
=========================== */
@media screen and (max-width:1400px) {
   .wp-block-uagb-container.lauren-bg1::before { width: 280px; height: 390px; left: 0; }
   .wp-block-uagb-container.abstract-lines-3::after { width: 500px; height: 300px; }
}
@media screen and (max-width:1240px) {
   #ast-desktop-header .site-primary-header-wrap { padding-left: 0; padding-right: 0; }
   #ast-desktop-header img.custom-logo { max-width: 250px; }
   .wp-block-uagb-container.lauren-bg1::before { content: none; }
   .wp-block-uagb-container.abstract-lines-3::after { opacity: 0.6; }
}
@media screen and (max-width:1024px) {
   .uagb-heading-text br { display: none; }
   .site-footer h3.wp-block-heading.widget-title { margin-bottom: 20px; font-size: 20px; }
}
@media screen and (max-width:976px) {
   body .wp-block-uagb-container > ul.wp-block-list.list-pipes { text-align: center; justify-content: center; padding: 0; }
   .awd-card-split-wrapper, .awd-card-split-wrapper.awd-bg-light { margin: 0 auto; }
   .wp-block-uagb-container.abstract-lines-3::after { opacity: 1; }
   .wp-block-uagb-container.overlay-left::after { width: 100%; background: linear-gradient(90deg, #000 100%, transparent 100%); }
   .uagb-buttons-repeater.wp-block-button__link, .uagb-buttons-repeater.ast-outline-button { min-width: 180px; }
   .contact-page { text-align: center; }
   ul#astra-footer-menu { gap: 13px; }
   ul#astra-footer-menu li a.menu-link { font-size: 16px; }
   .wp-block-uagb-container.abstract-lines-2::after { width: 50%; height: 240px; background-size: 600px; opacity: .7; }
   .awd-hours.contact-page { text-align: center; }
   .awd-social.social-shortcode.align-left {
    justify-content: center;
}
}
@media screen and (max-width:767px) {
   .wp-block-uagb-container.abstract-lines-2::after { height: 240px; bottom: -5px; background-position: 0% 0%; right: -25%; z-index: 0; opacity: .7; width: 100%; background-size: cover; }
   .awd-top-bar-text { text-align: center; }
   .awd-top-bar-text p a { display: inline-block; }
   figure.wp-block-gallery.gallery-theme-1 { gap: 15px; }
   ul.wp-block-list.list-pipes li:not(:last-child)::after { margin: 0 15px; }
}
@media screen and (max-width:640px) {
   .wp-block-uagb-container.abstract-lines-3::after { opacity: .3; }
   .awd-footer-copyright span { display: block; }
   ul.wp-block-list.list-pipes { flex-direction: column; row-gap: 15px; text-align: center; }
   ul.wp-block-list.list-pipes li:not(:last-child)::after, .wp-block-uagb-container.abstract-lines-1-white::after, .wp-block-uagb-container.abstract-lines-2::after { content: none; }
}
@media screen and (max-width:375px) {
   #primary .hero-banner h1.uagb-heading-text { font-size: 52px; }
}
