/*
 Theme Name:   Dentalia child theme 
 Theme URI:    http://orionthemes.com/dentalia
 Description:  Dentalia child theme
 Author:       OrionThemes.com
 Author URI:   http://orionthemes.com
 Template:     dentalia
 Version:      2.0
 Requires at least: 5.0
 Tested up to: 5.5
 Requires PHP: 7.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  dentalia-child
*/

.site-branding .logo img {
    width: 290px !important;
    height: auto !important;
    }

/* ─── Raised Overlay Box (home page row 1) ────────────────────────────────── */

/* Pull the row up to overlap the hero.
   The hero slider sets z-index:99 on its <li> elements via JS in the root stacking
   context — we need to be above that.  The CTA button lives at ~Y=450px inside the
   750px hero; the raised box only overlaps the bottom 72px (Y≥678px), so it never
   physically covers the CTA. */
#pg-1000-1 {
    position: relative;
    z-index: 100;
    margin-top: -72px;
}

/* The inner style wrapper gets the card treatment */
#pg-1000-1.panel-has-style > .panel-row-style {
    border-radius: 14px;
    box-shadow:
        0 -4px 24px rgba(45, 127, 200, 0.10),
        0 12px 48px rgba(0, 0, 0, 0.11);
    margin: 0 48px;
    overflow: hidden;
    /* Abstract primary-colour texture — radial glows + crosshatch grid */
    background-color: #eaf7fb;
    background-image:
        radial-gradient(ellipse at 12% 88%, rgba(131, 212, 234, 0.35) 0%, transparent 52%),
        radial-gradient(ellipse at 88% 12%, rgba(45, 127, 200, 0.18) 0%, transparent 52%),
        radial-gradient(ellipse at 50% 50%, rgba(131, 212, 234, 0.08) 0%, transparent 70%),
        repeating-linear-gradient(
            45deg,
            transparent 0px, transparent 14px,
            rgba(131, 212, 234, 0.13) 14px, rgba(131, 212, 234, 0.13) 15px
        ),
        repeating-linear-gradient(
            -45deg,
            transparent 0px, transparent 14px,
            rgba(131, 212, 234, 0.08) 14px, rgba(131, 212, 234, 0.08) 15px
        );
}

/* Raised box left column image */
#pgc-1000-1-0 img {
    border-radius: 5px;
    box-shadow: 15px 15px 0px 5px rgba(0, 0, 0, 0.12);
    display: block;
    width: 100%;
    height: auto;
}

/* Right-column content */
#gs-raised-content {
    padding: 8px 0;
}

.gs-scroll-title {
    font-family: Montserrat, sans-serif;
    font-weight: 700;
    font-size: 26px;
    color: #2d7fc8;
    margin-bottom: 14px;
    line-height: 1.3;
    /* GSAP sets opacity/transform initially via JS */
}

.gs-teaser p {
    font-size: 16px;
    color: #4f4f4f;
    line-height: 1.75;
    margin-bottom: 0;
}

/* Expandable section */
.gs-expanded-content {
    display: none;
    overflow: hidden;
    margin-top: 24px;
}

.gs-feature-cards {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.gs-feature-card {
    flex: 1 1 calc(33% - 14px);
    min-width: 140px;
    text-align: center;
    padding: 20px 12px;
    background: rgba(255,255,255,0.65);
    border-radius: 10px;
    border: 1px solid rgba(131,212,234,0.3);
}

.gs-feature-icon {
    font-size: 32px;
    color: #83d4ea;
    margin-bottom: 10px;
    display: block;
}

.gs-feature-card h4 {
    font-family: Montserrat, sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: #2d7fc8;
    margin: 0 0 8px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.gs-feature-card p {
    font-size: 13px;
    color: #4f4f4f;
    line-height: 1.6;
    margin: 0;
}

/* More / Less button */
.gs-more-wrapper {
    margin-top: 22px;
}

.gs-more-btn {
    background: transparent;
    border: 2px solid #2d7fc8;
    color: #2d7fc8;
    padding: 10px 28px;
    border-radius: 30px;
    cursor: pointer;
    font-family: Montserrat, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    transition: background 0.25s ease, color 0.25s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.gs-more-btn:hover {
    background: #2d7fc8;
    color: #ffffff;
}

.gs-btn-arrow {
    display: inline-block;
    transition: transform 0.35s ease;
    font-size: 10px;
    line-height: 1;
}

.gs-more-btn[aria-expanded="true"] .gs-btn-arrow {
    transform: rotate(180deg);
}

/* Responsive */
@media (max-width: 1024px) {
    #pg-1000-1.panel-has-style > .panel-row-style {
        margin: 0 24px;
    }
}

@media (max-width: 768px) {
    #pg-1000-1 {
        margin-top: -40px;
    }
    #pg-1000-1.panel-has-style > .panel-row-style {
        margin: 0 12px;
        border-radius: 10px;
    }
    .gs-feature-cards {
        flex-direction: column;
        gap: 12px;
    }
    .gs-feature-card {
        flex: 1 1 100%;
    }
}

/* ─── Row 4 left-column circle: contain image (no cropping) ────────────────── */
#pgc-3470-3-0 .circle-wrap,
#pgc-3472-3-0 .circle-wrap,
#pgc-3474-3-0 .circle-wrap,
#pgc-3468-3-0 .circle-wrap,
#pgc-3462-3-0 .circle-wrap,
#pgc-1145-3-0 .circle-wrap,
#pgc-3466-3-0 .circle-wrap,
#pgc-3464-3-0 .circle-wrap,
#pgc-3657-3-0 .circle-wrap {
    aspect-ratio: 1 / 1;
}
#pgc-3470-3-0 .circle-wrap img,
#pgc-3472-3-0 .circle-wrap img,
#pgc-3474-3-0 .circle-wrap img,
#pgc-3468-3-0 .circle-wrap img,
#pgc-3462-3-0 .circle-wrap img,
#pgc-1145-3-0 .circle-wrap img,
#pgc-3466-3-0 .circle-wrap img,
#pgc-3464-3-0 .circle-wrap img,
#pgc-3657-3-0 .circle-wrap img {
    height: 100%;
    object-fit: contain;
}

/* ─── Greyscale → full-colour scroll reveal ────────────────────────────────── */
/* Override the theme's hover-only greyscale removal with a scroll-based reveal */
.overlay-greyscale:not(.orion_circle) {
    transition: filter 0.8s ease !important;
}
.overlay-greyscale.orion_circle > * {
    transition: filter 0.8s ease !important;
}
.overlay-greyscale.in-view:not(.orion_circle) {
    filter: none !important;
}
.overlay-greyscale.orion_circle.in-view > * {
    filter: none !important;
}

/* ─── Contact Form 7 — match WPForms styling ──────────────────────────────── */

.wpcf7-form p {
    margin-bottom: 16px;
}

.wpcf7-form label {
    display: block;
    font-family: Montserrat, sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #4f4f4f;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-family: inherit;
    font-size: 15px;
    color: #333;
    background: #fff;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    -webkit-appearance: none;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form textarea:focus {
    outline: none;
    border-color: #2d7fc8;
    box-shadow: 0 0 0 3px rgba(45, 127, 200, 0.15);
}

.wpcf7-form textarea {
    min-height: 130px;
    resize: vertical;
}

.wpcf7-form .wpcf7-submit {
    background: #2d7fc8;
    color: #fff;
    border: none;
    border-radius: 30px;
    padding: 13px 38px;
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.25s ease;
    display: inline-block;
}

.wpcf7-form .wpcf7-submit:hover {
    background: #245f9a;
}

.wpcf7-form .wpcf7-not-valid-tip {
    color: #c0392b;
    font-size: 12px;
    margin-top: 4px;
    display: block;
}

.wpcf7-form .wpcf7-response-output {
    margin-top: 16px;
    padding: 12px 16px;
    border-radius: 6px;
    font-size: 14px;
    border: none !important;
}

.wpcf7-form.sent .wpcf7-response-output {
    background: #e8f5e9;
    color: #2e7d32;
}

.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output {
    background: #fdecea;
    color: #c0392b;
}

.required {
    color: #c0392b;
}

.site-main.section:not(.notoppadding) {
    padding-top: 0 !important;
}

.so-widget-orion_testimonial_w .image-wrap img {
    max-width: 225px;
    height: auto;
}

/* ─── Team page: equal-height cards, LEARN MORE pinned to bottom ─────────── */
.so-widget-orion_team_w .team-members .wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.so-widget-orion_team_w .team-members .item {
    display: flex;
    flex-direction: column;
    float: none;
}

.so-widget-orion_team_w .team-members .item .wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.so-widget-orion_team_w .team-members .item .entry-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.so-widget-orion_team_w .team-members .item .basic-info {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.so-widget-orion_team_w .team-members .item .separator-hr {
    display: none;
}

.so-widget-orion_team_w .team-members .item .short-about {
    margin-top: auto;
    padding-top: 16px;
}

