/* ==========================================================================
   Main Stylesheet - Professional Format
   Author: [Developer Name]
   Date: [Current Date]
   Version: 1.0
   ========================================================================== */

/* ==========================================================================
   Table of Contents:
   1. Global Variables & Reset
   2. Smart Slider Overrides
   3. Responsive Breakpoints
     3.1. Tablet (max-width: 978px)
     3.2. Mobile (max-width: 767px)
     3.3. Small Mobile (max-width: 525px)
     3.4. Extra Small Mobile (max-width: 400px)
   4. Component Styles
   5. Layout Utilities
   ========================================================================== */

/* ==========================================================================
   1. Global Variables & Reset
   ========================================================================== */
:root {
    --primary-color: #711316;
    --secondary-color: #222222;
    --light-bg: #f8f8f8;
    --white: #ffffff;
    --hover-color: rgba(0, 0, 0, 0.5);
}

/* Reset and base styles */
.law-types {
    background: rgb(248, 248, 248);
}

.parent-pageid-32 .x-container.max {
    margin-top: 0 !important;
}

.mix-0.x-section {
    padding-bottom: 15px !important;
}

/* ==========================================================================
   2. Smart Slider Overrides
   ========================================================================== */
/* Slider height adjustments */
div#n2-ss-2 .n2-ss-slide {
    height: 792px !important;
}

/* Slider button/link styles */
div#n2-ss-2 .n2-font-abed01b340ed7096c460acb3a5bc8f98-link a {
    font-size: 22px !important;
}

div#n2-ss-2 .n2-font-abed01b340ed7096c460acb3a5bc8f98-link a:hover,
div#n2-ss-2 .n2-font-abed01b340ed7096c460acb3a5bc8f98-link a:active,
div#n2-ss-2 .n2-font-abed01b340ed7096c460acb3a5bc8f98-link a:focus {
    color: var(--white) !important;
}
.strong-view.wpmtst-simple .wpmtst-testimonial-heading {
      text-align:center !important; 
    }

/* ==========================================================================
   3. Responsive Breakpoints
   ========================================================================== */

/* --------------------------------------------------------------------------
   3.1. Tablet Styles (max-width: 978px)
   -------------------------------------------------------------------------- */
@media (max-width: 978px) {
    /* Slider adjustments */
    .n2-ss-slider .n2-ss-slide-background-image img {
        object-position: left !important;
    }
    
    div#n2-ss-2 .n2-ss-slide {
        height: 500px !important;
    }
    
    .n2-ss-slider .n2-ssx-slide-background-image img {
        left: 0 !important;
    }
    
    /* Practice areas layout */
    .practice-areas-few.row {
        max-width: 50%;
        margin-left: 0;
        padding-left: 46px;
        gap: 20px;
    }
    
    .practice-areas-few.row a {
        padding: 2rem;
        width: 100%;
        margin: 0 !important;
        min-height: auto;
    }
    
    /* Home icons grid */
    #home-icons-block .row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        padding-inline: 35px !important;
    }
    
    #home-icons-block .x-column {
        width: 100%;
        max-width: 100%;
        padding-inline: 0;
    }
    
    /* About section */
    #home-about-toro .x-container.row {
        flex-direction: column-reverse;
        padding-inline: 35px;
    }
    
    #home-about-toro .x-container.row .x-column {
        width: 100%;
        max-width: 100%;
    }
    
    /* Typography */
    .m6-1f.x-anchor .x-anchor-text-primary {
        font-size: 2rem;
    }
    
    h3.wpmtst-testimonial-heading.testimonial-heading {
        font-size: 28.5px;
      text-align:center !important;
    }
    
    #home-testimonial .testimonial-inner {
        font-size: 1rem;
    }
    
    /* Contact page */
    #contact-us-page .x-container.e176-e2.m4w-1.m4w-2.row {
        flex-direction: column;
    }
    
    #contact-us-page .x-container.e176-e2.m4w-1.m4w-2.row .x-column {
        width: 100%;
        max-width: 100%;
    }
    
    /* Testimonial page */
    div#testimonial-page .x-container {
        padding-inline: 3rem !important;
        margin-top: 2rem !important;
    }
    
    /* Navigation menu */
    .x-menu .x-anchor-text-primary:hover {
        color: var(--hover-color) !important;
    }
    
    .mhv-n.x-anchor .x-anchor-content,
    .x-menu .md-m.x-anchor .x-anchor-content {
        padding: 0.75rem !important;
    }
    
    .x-menu-collapsed li.menu-item .sub-menu li.menu-item .sub-menu {
        margin-left: 0 !important;
    }
    
    /* Mobile menu toggle */
    .mhv-q .x-off-canvas-close,
    .md-o .x-off-canvas-close {
        margin-top: 15px;
        margin-right: 15px;
    }
    
    .mhv-l.x-anchor {
        box-shadow: none !important;
        background-color: transparent !important;
    }
    
    .mhv-k.x-anchor {
        width: 2em !important;
    }
    
    .mhv-k.x-anchor .x-toggle {
        color: var(--primary-color) !important;
        width: 8em !important;
        margin-top: 2.5em !important;
        margin-right: 0;
        margin-bottom: 2.5em !important;
        margin-left: 0;
        font-size: 0.18em !important;
    }
    
    .x-toggle > span {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin: 0 auto;
        border-radius: inherit;
        background-color: var(--primary-color) !important;
    }
    
    .x-anchor:has(.wpml-ls-flag) {
        align-items: flex-start;
    }
    
    /* Accreditation */
    #accreditation-logos .x-container {
        padding-inline: 35px;
    }
}

/* --------------------------------------------------------------------------
   3.2. Mobile Styles (max-width: 767px)
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
    /* Container adjustments */
    .x-section .x-container {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
    
    .x-container.width {
        width: 100% !important;
    }
    
    /* Slider styles */
    div#n2-ss-2 .n2-ss-slide {
        height: 500px !important;
    }
    
    div#n2-ss-3 .n2-ss-slide,
    div#n2-ss-3 .n2-ss-slide-active {
        min-height: 400px;
    }
    
    .n2-ss-section-main-content.n2-ss-layer-with-background.n2-ss-layer-content {
        padding: 30px 0 !important;
    }
    
    .n2-ss-item-content.n2-ss-text.n2-ow {
        font-size: 34px !important;
        line-height: 45px !important;
    }
    
    /* Slider buttons */
    div#n2-ss-3 .n2-ss-button-container,
    div#n2-ss-3 .n2-ss-button-container a {
        font-size: 18px !important;
    }
    
    div#n2-ss-3 .n2-ss-button-container a div {
        line-height: 18px !important;
    }
    
    /* Typography */
    .x-anchor-text-primary {
        font-size: 1rem !important;
    }
    
    .m6-1f.x-anchor span.x-anchor-text-primary {
        font-size: 1.5rem;
    }
    
    .m1ef-r.x-text,
    .m6-p.x-text {
        font-size: 16px !important;
    }
    
    /* Practice areas */
    .practice-areas-few.row {
        max-width: 70%;
        margin-left: 0;
        padding-left: 37px;
        gap: 20px;
    }
    
    .practice-areas-few.row a {
        padding-inline: 25px;
    }
    
    /* Layout adjustments */
    .m6-a.x-row {
        width: 100%;
    }
    
    .m6-a > .x-row-inner {
        width: 100%;
    }
    
    .m4z-4.x-column {
        margin-bottom: 30px !important;
    }
    
    /* Testimonials */
    h3.wpmtst-testimonial-heading.testimonial-heading {
        font-size: 24px;
    }
    
    #home-testimonial .testimonial-content p {
        font-size: 16px;
    }
    
    #home-testimonial .testimonial-content p:before {
        left: 1rem;
    }
    
    /* About and Attorney pages */
    #about-us .e87-e4,
    #attorneys .e179-e4 {
        background-position: center;
        padding-bottom: 0;
        background-size: cover;
    }
    
    #about-us .x-column:has(.e87-e4),
    #attorneys .x-column:has(.e179-e4) {
        min-height: 442px;
        margin-bottom: 30px;
    }
    
    #about-us.padding-reset.x-section {
        padding: 40px 15px 40px 15px !important;
    }
    
    #about-us .rps-text-center {
        text-align: left !important;
        margin-top: 1rem;
    }
    
    .m6-8.x-section {
        background-color: rgb(249, 249, 249) !important;
    }
    
    #about-us .rps-font-heading {
        margin-top: 0;
    }
    
    /* Header titles */
    .top-head .entry-title-h {
        top: 2rem !important;
    }
    
    /* Practice inner page */
    #practice-inner-pg#practice-inner-pg {
        padding-inline: 0px !important;
    }
    
    #practice-inner-pg .x-container .x-text.x-text-headline {
        margin-top: 0;
        margin-bottom: 1.5rem;
    }
    
    #practice-inner-pg .x-container .x-text.x-text-headline:not(:first-of-type) {
        margin-top: 1rem;
    }
    
    /* Law types grid */
    .law-types .practice-areas-all .single-practice-area {
        width: 100%;
        max-width: 100%;
        flex: 0 0 48%;
    }
    
    /* Testimonial page */
    div#testimonial-page .x-container {
        padding-inline: 2rem !important;
        margin-top: 2rem !important;
    }
    
    /* Miscellaneous */
    .strong-view.wpmtst-simple .wpmtst-testimonial-heading .mht-7.x-column {
        padding-right: 15px;
        padding-left: 15px;
        padding-bottom: 15px;
    }
    
    .mht-d.x-text {
        padding-inline: 0;
    }
    
    .mhw-k.x-text {
        width: 100% !important;
    }
    
    .mhw-9.x-bar-container {
        align-items: start !important;
    }
    
    .mdd-4.x-column {
        padding-right: 15px;
        text-align: start !important;
    }
    
    .m6-1c.x-anchor .x-anchor-content {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    
    #home-about-toro .m6-1f.x-anchor span.x-anchor-text-primary {
        font-size: 1rem;
    }
    
    #about-us .rps-text-center {
        margin-top: 1rem;
    }
}

/* --------------------------------------------------------------------------
   3.3. Small Mobile Styles (max-width: 525px)
   -------------------------------------------------------------------------- */
@media (max-width: 525px) {
    /* Slider adjustments */
    div#n2-ss-2 .n2-ss-slide {
        height: 300px !important;
    }
    
    .n2-ss-slider .n2-ss-slide-background-image img {
        min-height: 300px !important;
    }
    
    div#n2-ss-2 .n2-font-a040e084cf5ae564b8a037cf8539c5d7-hover {
        font-size: 20px !important;
        line-height: 24px;
        padding-inline: 10px;
        margin-bottom: 10px;
    }
    
    .n2-ss-button-container b {
        font-size: 10px;
    }
    
    div#n2-ss-2 .n2-font-abed01b340ed7096c460acb3a5bc8f98-link a {
        font-size: 13px !important;
        line-height: 20px !important;
        padding: 6px 16px !important;
        font-weight: 500;
        letter-spacing: 0 !important;
    }
    
    div#n2-ss-2 .n2-font-abed01b340ed7096c460acb3a5bc8f98-link a br {
        display: none;
    }
    
    div#n2-ss-2 .n2-font-abed01b340ed7096c460acb3a5bc8f98-link a > div > div {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    
    .n2-ss-layer[data-sstype="slide"][data-pm="default"] {
        padding-bottom: 0px !important;
        padding-inline: 0px !important;
    }
    
    /* Practice areas */
    .practice-areas-few.row {
        max-width: 100%;
        margin-inline: 0 !important;
        padding-inline: 15px !important;
    }
    
    /* Home icons */
    #home-icons-block .row {
        gap: 0 20px;
    }
    
    /* About page */
    #about-us .m2f-3.x-container {
        margin-top: 2rem;
    }
    
    .top-head .entry-title-h {
        font-size: 2rem !important;
    }
    
    /* Contact page */
    #contact-us-page .wpcf7 input[type="submit"],
    #cs-content #contact-us-apge .call-free-assesment a {
        font-size: 1rem !important;
    }
    
    #contact-us-page .m4w-g.x-text .x-text-content-text-primary,
    #contact-us-page .m4w-f.x-text {
        text-align: left !important;
    }
    
    #cs-content .call-free-assesment a {
        font-size: 1rem !important;
    }
    
    /* Practice inner page */
    #practice-inner-pg .x-text .x-text-content-text-primary {
        font-size: 1.5rem;
    }
    
    /* Footer */
    footer .x-bar-container.e58-e22 {
        width: 100%;
    }
    
    .mhw-1.x-bar,
    footer .m1m-4.x-bar {
        padding-left: 30px;
        padding-right: 30px;
    }
    
    .foot-num {
        padding: 15px;
    }
    
    .foot-num a {
        display: flex !important;
        justify-content: left;
    }
    
    .foot-num i {
        font-size: 1.5rem;
    }
    
    .footer-locations li a br {
        display: none;
    }
    
    .foot-num .col-8 {
        flex: 0 0 75% !important;
        max-width: 75% !important;
    }
    
    .foot-num .col-4 {
        flex: 0 0 25% !important;
        max-width: 25% !important;
    }
    
    /* Testimonial page */
    div#testimonial-page .x-container {
        padding-inline: 1rem !important;
        margin-top: 2rem !important;
    }
    
    #testimonial-page .testimonial-content p:before,
    #testimonial-page .testimonial-content p:after {
        width: 30px !important;
        height: 30px !important;
    }
    
    #testimonial-page .testimonial-content p:before {
        left: -1rem;
    }
    
    #testimonial-page .testimonial-content p:after {
        right: -1rem;
    }
    
    /* Language switcher */
    .wpml-ls-legacy-list-horizontal.wpml-ls-statics-footer > ul {
        display: flex;
        justify-content: end;
    }
    
    /* Section spacing */
    .m1ef-1.x-section,
    .m6-1.x-section {
        padding-bottom: 16px;
    }
    
    /* Practice areas main */
    .practice-areas-main .x-container {
        margin-top: 0;
    }
    
    #practice-inner-pg#practice-inner-pg {
        padding-bottom: 0;
    }
    
    #practice-inner-pg .x-container {
        padding-bottom: 0;
    }
}

/* --------------------------------------------------------------------------
   3.4. Extra Small Mobile Styles (max-width: 400px)
   -------------------------------------------------------------------------- */
@media (max-width: 400px) {
    /* Mobile menu */
    .md-o .x-off-canvas-content,
    .mhv-q .x-off-canvas-content {
        padding-inline: 0 !important;
    }
    
    /* Home icons - single column */
    #home-icons-block .row {
        grid-template-columns: 1fr;
        gap: 20px;
        padding-inline: 15px !important;
    }
    
    /* Testimonials */
    #home-testimonial .testimonial-content p:before,
    #home-testimonial .testimonial-content p:after {
        width: 15px;
        height: 15px;
    }
    
    #home-testimonial .testimonial-content p {
        padding: 0 1rem;
    }
    
    #home-testimonial .testimonial-content {
        position: relative;
    }
    
    #home-testimonial .testimonial-content p:before {
        left: 0;
    }
    
    #home-testimonial .testimonial-content p:after {
        right: 0;
    }
    
    /* Contact addresses */
    .contact-page-addresses .address-list li {
        margin-left: 2.5em;
    }
    
    /* Footer */
    footer .mhw-1.x-bar,
    footer .m1m-4.x-bar {
        padding-left: 17px;
        padding-right: 17px;
    }
    
    .footer-locations li a:before {
        margin-left: -1em;
    }
    
    .foot-num .col-8 {
        padding: 0;
    }
    
    /* About page */
    #about-us .x-column {
        padding-inline: 0;
    }
    
    /* Contact page columns */
    #contact-us-page .m4w-8.x-column,
    #contact-us-page .m4w-7.x-column,
    #contact-us-page .m4w-6.x-column {
        padding-left: 15px;
        padding-right: 15px;
    }
    
    /* Attorney page */
    #attorneys .x-column:has(.e179-e4) {
        margin-bottom: 0;
    }
    
    /* Practice areas - single column */
    .practice-areas-all .single-practice-area {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
    
    .practice-areas-all.row {
        flex-direction: column;
        padding-inline: 15px;
    }
    
    .practice-areas-all.row > :last-child {
        margin-bottom: 0;
    }
    
    .practice-areas-main .x-column {
        padding-inline: 15px;
    }
}

/* ==========================================================================
   4. Component Styles
   ========================================================================== */
/* Header */
.head-border,
#practice-inner-pg .head-border {
    width: 100%;
}

/* Home page specific */
body.home .x-main .top-head {
    display: none;
}

/* Navigation dropdown */
.mhw-p .x-dropdown {
    position: relative !important;
    left: 0 !important;
    background: transparent;
    box-shadow: none;
    padding: 0;
    padding-left: 15px;
    margin-left: 0 !important;
}

/* Navigation links */
.mhw-s.x-anchor .x-anchor-text-primary {
    font-size: 1rem;
    font-weight: 600;
    color: var(--secondary-color) !important;
}

.mhw-q.x-anchor .x-anchor-text-primary {
    line-height: 22px;
}

.mhw-s.x-anchor .x-anchor-content {
    padding: 4px 0 !important;
}

/* Header bar */
.mhv-0 .x-bar-content {
    flex-basis: 90% !important;
}

.mhv-0 .x-bar-content,
.md-0 .x-bar-content,
.mhv-0.x-bar,
.md-0.x-bar {
    height: 8em !important;
}

/* Logo/image sizes */
.mhv-3.x-image {
    max-width: 120px !important;
}

.mhw-c.x-image {
    width: 300px;
    max-width: 350px;
}

.mhw-c.x-image img {
    width: 300px;
    max-width: 350px;
}

/* Practice areas */
.practice-areas-few a {
    height: auto !important;
}

/* Footer */
.mhw-1 .x-bar-content {
    flex-basis: 80% !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-content: flex-start;
}

.foot-num .wpml-ls-statics-footer ul {
    list-style-type: none;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
}

/* Button spacing */
.mhv-p.x-anchor,
.md-n.x-anchor {
    margin-bottom: 0 !important;
    margin-right: .5em !important;
}

/* ==========================================================================
   5. Layout Utilities
   ========================================================================== */
/* Typography */
.md6-6.x-text {
    font-size: 2rem;
}

.md6-9.x-text {
    width: 100%;
}

.md6-9.x-text .x-text-content-text-primary {
    text-align: left;
}

/* Containers */
.m2f-3.x-container {
    padding-left: 13rem;
}

.mdd-4.x-column {
    padding-left: 15px;
}

.mdd-8.x-text .x-text-content-text-primary {
    font-weight: 600 !important;
}

.mdd-a.x-text .x-text-content-text-primary {
    font-weight: 700 !important;
}

.mdd-b.x-text {
    padding-top: 2rem !important;
}

.mdd-c.x-text {
    font-size: 1em !important;
}

.m6t-0.x-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Image containers */
.mdd-2.x-column,
.md6-4.x-column {
    min-height: 442px;
    margin-bottom: 30px;
}

.mdd-5.x-image,
.md6-5.x-image {
    background-position: cover;
    padding-bottom: 0;
    background-size: cover;
}

/* Mobile menu toggle animation */
.mhv-k.x-anchor .x-toggle-burger-bun-t {
    transform: translate3d(0, calc(2.5em * -1), 0) !important;
}

.mhv-k.x-anchor .x-toggle-burger-bun-b {
    transform: translate3d(0, 2.5em, 0) !important;
}

/* Full width text */
.mhw-f.x-text {
    width: 100%;
}

/* ==========================================================================
   Medium Devices (max-width: 979px)
   ========================================================================== */
@media (max-width: 979px) {
    .x-section .x-container {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

/* ==========================================================================
   Tablet/Mobile Adjustments (max-width: 768px)
   ========================================================================== */
@media (max-width: 768px) {
    /* Header adjustments */
    .mhv-0 .x-bar-content,
    .md-0 .x-bar-content,
    .mhv-0.x-bar,
    .md-0.x-bar {
        height: 5em !important;
    }
    
    .mhw-0.x-bar-outer-spacers:after,
    .mhw-0.x-bar-outer-spacers:before {
        height: 0 !important;
        width: 0 !important;
        flex-basis: 0 !important;
        display: none;
    }
    
    /* Footer layout */
    .mhw-1 .x-bar-content {
        flex-basis: 100% !important;
        flex-direction: row !important;
        align-items: flex-start;
        flex-wrap: wrap;
        align-content: flex-start;
    }
    
    /* Images */
    .mhw-c.x-image img {
        width: 200px !important;
    }
    
    /* Newsletter */
    .tnp-subscription {
        display: flex !important;
        flex-direction: column;
        align-items: end;
    }
    
    .mhw-o {
        align-self: flex-start;
    }
    
    .mhw-a.x-bar-container {
        width: 100%;
    }
    
    .footer-newsletter .tnp-field {
        width: 100%;
    }
}