/* ==========================================
   LARGE TABLETS AND SMALL LAPTOPS
========================================== */

@media (max-width: 1180px) {
    .hero-content {
        width: min(100%, 590px);
    }

    .hero h1,
    .hero-title {
        font-size: clamp(3rem, 6vw, 4.7rem);
    }

    html[dir="rtl"] .hero h1,
    html[dir="rtl"] .hero-title,
    .site-body--ar .hero h1,
    .site-body--ar .hero-title {
        font-size: clamp(2.9rem, 5.8vw, 4.6rem);
    }

    .hero-prev {
        left: 18px;
    }

    .hero-next {
        right: 18px;
    }

    html[dir="rtl"] .hero-prev,
    .site-body--ar .hero-prev {
        right: 18px;
        left: auto;
    }

    html[dir="rtl"] .hero-next,
    .site-body--ar .hero-next {
        right: auto;
        left: 18px;
    }
}

/* ==========================================
   TABLET NAVIGATION
========================================== */

@media (max-width: 1050px) {
    .navbar__toggle {
        display: block;
    }

    .navbar__panel {
        position: fixed;
        top: 0;
        bottom: 0;
        inset-inline-end: 0;
        z-index: 1001;
        display: flex;
        width: min(390px, 88vw);
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 30px;
        padding: 110px 28px 32px;
        overflow-y: auto;
        background: var(--white);
        box-shadow: -20px 0 60px rgba(15, 23, 42, 0.16);
        transform: translateX(110%);
        transition: transform 300ms ease;
    }

    [dir="rtl"] .navbar__panel,
    .site-body--ar .navbar__panel {
        box-shadow: 20px 0 60px rgba(15, 23, 42, 0.16);
        transform: translateX(-110%);
    }

    .navbar__panel.is-open {
        transform: translateX(0);
    }

    .navbar__links {
        flex-direction: column;
        align-items: stretch;
    }

    .navbar__link {
        padding: 14px 4px;
        border-bottom: 1px solid var(--gray-200);
        font-size: 1.05rem;
    }

    .navbar__link::after {
        display: none;
    }

    .navbar__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .language-switcher,
    .navbar__booking-button {
        width: 100%;
    }

    .site-footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .hero,
    .hero-slider,
    .hero-slide {
        min-height: 720px;
    }

    .hero-slide {
        background-position: center;
    }

    .hero-slide::before {
        background:
            linear-gradient(
                90deg,
                rgba(255, 255, 255, 0.98) 0%,
                rgba(255, 255, 255, 0.92) 48%,
                rgba(255, 255, 255, 0.6) 76%,
                rgba(255, 255, 255, 0.2) 100%
            );
    }

    html[dir="rtl"] .hero-slide::before,
    .site-body--ar .hero-slide::before {
        background:
            linear-gradient(
                270deg,
                rgba(255, 255, 255, 0.98) 0%,
                rgba(255, 255, 255, 0.92) 48%,
                rgba(255, 255, 255, 0.6) 76%,
                rgba(255, 255, 255, 0.2) 100%
            );
    }

    .hero-content {
        width: min(100%, 560px);
        padding-block: 70px 110px;
    }

    .hero h1,
    .hero-title {
        font-size: clamp(2.9rem, 7vw, 4.4rem);
    }

    html[dir="rtl"] .hero h1,
    html[dir="rtl"] .hero-title,
    .site-body--ar .hero h1,
    .site-body--ar .hero-title {
        font-size: clamp(2.8rem, 6.8vw, 4.3rem);
    }
}

/* ==========================================
   MOBILE
========================================== */

@media (max-width: 720px) {
    :root {
        --header-height: 76px;
    }

    .container {
        width: min(calc(100% - 28px), var(--container-width));
    }

    .navbar__logo {
        max-width: 145px;
        height: 48px;
    }

    .hero,
    .hero-slider,
    .hero-slide {
        min-height: max(
            640px,
            calc(100svh - var(--header-height))
        );
    }

    .hero-slide {
        align-items: flex-end;
        background-position: center top;
    }

    .hero-slide::before,
    html[dir="rtl"] .hero-slide::before,
    .site-body--ar .hero-slide::before {
        background:
            linear-gradient(
                180deg,
                rgba(7, 29, 53, 0.08) 0%,
                rgba(7, 29, 53, 0.2) 30%,
                rgba(7, 29, 53, 0.76) 66%,
                rgba(7, 29, 53, 0.96) 100%
            );
    }

    .hero-content {
        width: 100%;
        padding-block: 190px 100px;
        color: var(--white);
    }

    .hero-eyebrow {
        margin-bottom: 16px;
        padding: 8px 15px;
        color: var(--white);
        background: rgba(13, 110, 253, 0.9);
        border-color: rgba(255, 255, 255, 0.18);
        font-size: 0.92rem;
        box-shadow: none;
    }

    .hero h1,
    .hero-title,
    html[dir="rtl"] .hero h1,
    html[dir="rtl"] .hero-title,
    .site-body--ar .hero h1,
    .site-body--ar .hero-title {
        max-width: 100%;
        margin-bottom: 18px;
        color: var(--white);
        font-size: clamp(2.3rem, 10.5vw, 3.4rem);
        line-height: 1.3;
    }

    .hero p,
    .hero-description,
    html[dir="rtl"] .hero p,
    html[dir="rtl"] .hero-description,
    .site-body--ar .hero p,
    .site-body--ar .hero-description {
        max-width: 100%;
        margin-bottom: 28px;
        color: rgba(255, 255, 255, 0.88);
        font-size: 1rem;
        line-height: 1.85;
    }

    .hero-buttons {
        gap: 12px;
    }

    .hero-buttons .button {
        min-height: 48px;
        padding: 11px 18px;
    }

    .hero-buttons .button--secondary {
        color: var(--white);
        background: rgba(255, 255, 255, 0.1);
        border-color: rgba(255, 255, 255, 0.78);
    }

    .hero-buttons .button--secondary:hover {
        color: var(--primary);
        background: var(--white);
        border-color: var(--white);
    }

    .hero-prev,
    .hero-next {
        top: auto;
        bottom: 28px;
        width: 42px;
        height: 42px;
        font-size: 1rem;
        transform: none;
    }

    .hero-prev:hover,
    .hero-next:hover {
        transform: translateY(-2px);
    }

    .hero-prev {
        left: 16px;
    }

    .hero-next {
        right: 16px;
    }

    html[dir="rtl"] .hero-prev,
    .site-body--ar .hero-prev {
        right: 16px;
        left: auto;
    }

    html[dir="rtl"] .hero-next,
    .site-body--ar .hero-next {
        right: auto;
        left: 16px;
    }

    .hero-pagination {
        bottom: 42px;
        gap: 8px;
    }

    .hero-dot {
        width: 9px;
        height: 9px;
        background: rgba(255, 255, 255, 0.55);
        border-color: rgba(255, 255, 255, 0.55);
    }

    .hero-dot.active,
    .hero-dot.is-active {
        width: 27px;
        background: var(--white);
        border-color: var(--white);
    }

    .site-footer {
        padding-top: 60px;
    }

    .site-footer__grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .site-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .floating-whatsapp {
        right: 16px;
        bottom: 16px;
        width: 54px;
        height: 54px;
    }

    [dir="rtl"] .floating-whatsapp,
    .site-body--ar .floating-whatsapp {
        right: auto;
        left: 16px;
    }
}

/* ==========================================
   SMALL MOBILE
========================================== */

@media (max-width: 480px) {
    .navbar__panel {
        width: 100%;
    }

    .hero-content {
        padding-top: 150px;
        padding-bottom: 94px;
    }

    .hero-buttons {
        display: grid;
        grid-template-columns: 1fr;
    }

    .hero-buttons .button {
        width: 100%;
    }

    .hero h1,
    .hero-title,
    html[dir="rtl"] .hero h1,
    html[dir="rtl"] .hero-title,
    .site-body--ar .hero h1,
    .site-body--ar .hero-title {
        font-size: clamp(2.1rem, 10.5vw, 3rem);
    }

    .hero p,
    .hero-description {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
    }
}

/* ==========================================
   VERY SMALL MOBILE
========================================== */

@media (max-width: 360px) {
    .container {
        width: min(calc(100% - 22px), var(--container-width));
    }

    .hero-content {
        padding-top: 130px;
    }

    .hero-eyebrow {
        font-size: 0.85rem;
    }

    .hero h1,
    .hero-title,
    html[dir="rtl"] .hero h1,
    html[dir="rtl"] .hero-title,
    .site-body--ar .hero h1,
    .site-body--ar .hero-title {
        font-size: 2rem;
    }
}

/* ==========================================
   ABOUT SECTION RESPONSIVE
========================================== */

@media (max-width: 1050px) {
    .section {
        padding-block: 90px;
    }

    .about-section__grid {
        grid-template-columns: 1fr;
        gap: 75px;
    }

    .about-section__media {
        width: min(100%, 650px);
        margin-inline: auto;
    }

    .about-section__content {
        width: min(100%, 760px);
        margin-inline: auto;
    }
}

@media (max-width: 720px) {
    .section {
        padding-block: 75px;
    }

    .section-title {
        font-size: clamp(2.25rem, 10vw, 3.2rem);
    }

    .about-section__grid {
        gap: 60px;
    }

    .about-section__image-frame {
        padding: 10px;
        border-radius: 26px;
    }

    .about-section__image {
        height: 500px;
        border-radius: 19px;
    }

    .about-section__statistics {
        width: calc(100% - 24px);
        margin-top: -40px;
        padding: 17px 8px;
    }

    .about-statistic {
        padding-inline: 7px;
    }

    .about-statistic__value {
        font-size: 1.24rem;
    }

    .about-statistic__label {
        font-size: 0.78rem;
    }

    .about-section__description {
        font-size: 1rem;
        line-height: 1.9;
    }
}

@media (max-width: 540px) {
    .about-section__image {
        height: 430px;
    }

    .about-section__statistics {
        position: relative;
        grid-template-columns: 1fr;
        width: calc(100% - 20px);
        gap: 0;
        margin-top: -28px;
        padding: 8px 18px;
    }

    .about-statistic {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        padding-block: 12px;
        text-align: start;
    }

    .about-statistic + .about-statistic {
        border-inline-start: 0;
        border-top: 1px solid var(--gray-200);
    }

    .about-statistic__label {
        font-size: 0.88rem;
    }

    .about-section__actions {
        display: grid;
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .about-section__actions .button {
        width: 100%;
    }

    .about-section__contact-link {
        justify-content: center;
    }
}

@media (max-width: 380px) {
    .about-section__image {
        height: 380px;
    }
}


/* ==========================================
   SERVICES SECTION RESPONSIVE
========================================== */

@media (max-width: 1050px) {
    .services-section__header {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .services-section__introduction {
        max-width: 760px;
    }

    .services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .services-section__header {
        margin-bottom: 38px;
    }

    .services-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .service-card__image-wrapper {
        height: 260px;
    }

    .service-card__content {
        padding: 24px 22px 26px;
    }

    .service-card__description {
        min-height: 0;
    }

    .services-section__footer {
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
        margin-top: 38px;
        padding: 24px 22px;
        text-align: center;
    }

    .services-section__footer .button {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .service-card {
        border-radius: 22px;
    }

    .service-card__image-wrapper {
        height: 230px;
    }

    .service-card__title {
        font-size: 1.32rem;
    }
}

/* ==========================================
   SERVICES CAROUSEL RESPONSIVE
========================================== */

@media (max-width: 1050px) {
    .services-slider__slide {
        flex-basis: calc((100% - 28px) / 2);
    }
}

@media (max-width: 720px) {
    .services-slider__viewport {
        margin-inline: -14px;
        padding-inline: 14px;
    }

    .services-slider__track {
        gap: 16px;
    }

    .services-slider__slide {
        flex-basis: 100%;
    }

    .services-slider__controls {
        justify-content: center;
        margin-top: 16px;
    }

    .services-slider__arrows {
        position: absolute;
        right: 0;
        bottom: -8px;
        left: 0;
        justify-content: space-between;
        pointer-events: none;
    }

    .services-slider__arrow {
        width: 44px;
        height: 44px;
        pointer-events: auto;
    }

    .services-slider__pagination {
        min-height: 44px;
        padding-inline: 62px;
    }

    .services-slider .service-card__content {
        min-height: 0;
    }
}


/* ==========================================
   WHY CHOOSE US RESPONSIVE
========================================== */

@media (max-width: 1180px) {
    .advantages-section__grid {
        grid-template-columns:
            minmax(0, 1.05fr)
            minmax(330px, 0.95fr);
        gap: 60px;
    }

    .advantages-list {
        grid-template-columns: 1fr;
    }

    .advantage-item {
        min-height: 0;
    }

    .advantages-image-card__image {
        height: 650px;
    }
}

@media (max-width: 1050px) {
    .advantages-section__grid {
        grid-template-columns: 1fr;
        gap: 75px;
    }

    .advantages-section__content {
        width: min(100%, 800px);
        margin-inline: auto;
    }

    .advantages-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .advantages-section__visual {
        width: min(100%, 650px);
        margin-inline: auto;
    }
}

@media (max-width: 720px) {
    .advantages-section__grid {
        gap: 60px;
    }

    .advantages-section__description {
        margin-bottom: 32px;
        font-size: 1rem;
        line-height: 1.9;
    }

    .advantages-list {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .advantage-item {
        padding: 21px 18px;
        border-radius: 18px;
    }

    .advantage-item__icon {
        flex-basis: 46px;
        width: 46px;
        height: 46px;
        border-radius: 14px;
    }

    .advantages-image-card {
        padding: 10px;
        border-radius: 27px;
    }

    .advantages-image-card__image {
        height: 560px;
        border-radius: 19px;
    }

    .advantages-image-card__overlay {
        inset: 10px;
        border-radius: 19px;
    }

    .advantages-image-card__badge {
        right: 18px;
        bottom: 26px;
        width: calc(100% - 36px);
        padding: 16px;
        border-width: 3px;
    }

    html[dir="rtl"] .advantages-image-card__badge,
    .site-body--ar .advantages-image-card__badge {
        right: 18px;
        left: auto;
    }

    .advantages-section__shape--one {
        top: -28px;
        inset-inline-end: -20px;
    }

    .advantages-section__shape--two {
        bottom: -35px;
        inset-inline-start: -20px;
    }
}

@media (max-width: 480px) {
    .advantage-item {
        gap: 13px;
    }

    .advantage-item__title {
        font-size: 1.08rem;
    }

    .advantages-image-card__image {
        height: 470px;
    }

    .advantages-image-card__badge-icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
    }

    .advantages-image-card__badge-text strong {
        font-size: 1rem;
    }

    .advantages-image-card__badge-text small {
        font-size: 0.76rem;
    }
}

@media (max-width: 380px) {
    .advantages-image-card__image {
        height: 420px;
    }
}

/* ==========================================
   CLINIC GALLERY RESPONSIVE
========================================== */

@media (max-width: 1050px) {
    .gallery-section__header {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .gallery-section__description {
        max-width: 760px;
    }

    .gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: 280px;
    }

    .gallery-item,
    .gallery-item--large,
    .gallery-item--tall,
    .gallery-item--small,
    .gallery-item--wide,
    .gallery-item--standard {
        grid-column: span 1;
        grid-row: span 1;
    }

    .gallery-item:first-child {
        grid-column: span 2;
        grid-row: span 2;
    }
}

@media (max-width: 720px) {
    .gallery-section__header {
        margin-bottom: 38px;
    }

    .gallery-grid {
        display: flex;
        gap: 16px;
        margin-inline: -14px;
        padding-inline: 14px;
        padding-bottom: 14px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
    }

    .gallery-item,
    .gallery-item--large,
    .gallery-item--tall,
    .gallery-item--small,
    .gallery-item--wide,
    .gallery-item--standard,
    .gallery-item:first-child {
        flex: 0 0 min(84vw, 370px);
        height: 440px;
        grid-column: auto;
        grid-row: auto;
        scroll-snap-align: center;
    }

    .gallery-item__caption {
        padding: 20px;
    }

    .gallery-item__caption-text small {
        display: block;
    }

    .gallery-section__footer {
        flex-direction: column;
        align-items: stretch;
        gap: 22px;
        padding: 23px 21px;
    }

    .gallery-section__footer .button {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .gallery-item,
    .gallery-item--large,
    .gallery-item--tall,
    .gallery-item--small,
    .gallery-item--wide,
    .gallery-item--standard,
    .gallery-item:first-child {
        flex-basis: 86vw;
        height: 390px;
        border-radius: 20px;
    }

    .gallery-item__icon {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
    }

    .gallery-item__caption-text strong {
        font-size: 1.03rem;
    }

    .gallery-item__caption-text small {
        font-size: 0.75rem;
    }

    .gallery-section__footer-content {
        align-items: flex-start;
    }
}

/* ==========================================
   APPOINTMENT CTA RESPONSIVE
========================================== */

@media (max-width: 1050px) {
    .appointment-cta__card {
        grid-template-columns: 1fr;
    }

    .appointment-cta__phone {
        width: fit-content;
    }

    .location-section__header {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .location-section__introduction {
        max-width: 760px;
    }

    .location-section__layout {
        grid-template-columns: 1fr;
    }

    .location-section__information {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .location-card:first-child {
        grid-column: span 2;
    }

    .location-map {
        min-height: 520px;
    }
}

@media (max-width: 720px) {
    .appointment-cta {
        padding-block: 25px 75px;
    }

    .appointment-cta__card {
        gap: 32px;
        padding: 38px 25px;
        border-radius: 27px;
    }

    .appointment-cta__title {
        font-size: clamp(2.25rem, 10vw, 3.2rem);
    }

    .appointment-cta__description {
        font-size: 1rem;
        line-height: 1.85;
    }

    .appointment-cta__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .appointment-cta__primary-button,
    .appointment-cta__secondary-button {
        width: 100%;
    }

    .appointment-cta__phone {
        width: 100%;
        min-width: 0;
    }

    .appointment-cta__decoration--one {
        top: -150px;
        right: -150px;
    }

    .location-section__header {
        margin-bottom: 38px;
    }

    .location-section__information {
        grid-template-columns: 1fr;
    }

    .location-card:first-child {
        grid-column: auto;
    }

    .location-map {
        min-height: 430px;
        border-radius: 22px;
    }
}

@media (max-width: 480px) {
    .appointment-cta__card {
        padding: 32px 20px;
    }

    .appointment-cta__phone {
        padding: 17px;
    }

    .appointment-cta__phone-icon {
        flex-basis: 46px;
        width: 46px;
        height: 46px;
    }

    .location-card {
        gap: 14px;
        padding: 21px 18px;
    }

    .location-card__icon {
        flex-basis: 46px;
        width: 46px;
        height: 46px;
    }

    .location-hours li {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .location-hours strong {
        text-align: start;
    }

    .location-map {
        min-height: 380px;
    }
}

/* ==========================================
   CONTACT FORM RESPONSIVE
========================================== */

@media (max-width: 1050px) {
    .contact-form-section__layout {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .contact-form-section__introduction {
        position: static;
        width: min(100%, 780px);
    }

    .contact-form-card {
        width: min(100%, 850px);
    }
}

@media (max-width: 720px) {
    .contact-form-section__layout {
        gap: 42px;
    }

    .contact-form-section__quick-links {
        grid-template-columns: 1fr;
    }

    .contact-form-card {
        padding: 27px 20px;
        border-radius: 24px;
    }

    .contact-form__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .form-field--full {
        grid-column: auto;
    }

    .contact-form__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .contact-form__submit {
        width: 100%;
    }

    .contact-form__status {
        text-align: center;
    }
}

@media (max-width: 480px) {
    .contact-form-section__notice {
        gap: 11px;
        padding: 17px;
    }

    .contact-form-section__notice-icon {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
    }

    .contact-quick-link {
        padding: 15px;
    }

    .contact-form-card {
        margin-inline: -4px;
        padding: 24px 17px;
    }

    .contact-form__header h3 {
        font-size: 1.45rem;
    }

    .form-field input,
    .form-field select {
        min-height: 51px;
    }

    .form-field textarea {
        min-height: 135px;
    }

    .form-field__footer {
        flex-direction: column;
        gap: 2px;
    }

    .form-field__counter {
        align-self: flex-end;
    }
}

/* ==========================================
   INTERNAL PAGE RESPONSIVE
========================================== */

@media (max-width: 768px) {
    .page-hero {
        min-height: 390px;
        padding:
            calc(var(--header-height, 80px) + 55px)
            0
            65px;
    }

    .page-breadcrumb {
        margin-bottom: 22px;
    }

    .page-hero h1 {
        font-size: clamp(2rem, 9vw, 3rem);
    }

    .contact-page-guidance__card {
        padding: 22px;
    }
}

@media (max-width: 520px) {
    .page-hero {
        min-height: 360px;
    }

    .page-hero__eyebrow {
        font-size: 0.82rem;
    }

    .page-breadcrumb {
        flex-wrap: wrap;
        font-size: 0.82rem;
    }

    .contact-page-guidance__card {
        gap: 13px;
        padding: 19px 17px;
        border-radius: 18px;
    }

    .contact-page-guidance__icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
        border-radius: 13px;
    }

    .contact-page-guidance__icon svg {
        width: 23px;
        height: 23px;
    }

    .contact-page-guidance__card h2 {
        font-size: 1.05rem;
    }

    .contact-page-guidance__card p {
        font-size: 0.86rem;
    }
}

/* ==========================================
   NAVBAR SOCIALS RESPONSIVE
========================================== */

@media (max-width: 1280px) {
    .navbar {
        gap: 18px;
    }

    .navbar__links {
        gap: 21px;
    }

    .navbar__booking-button {
        padding-inline: 19px;
    }

    .navbar__social-link {
        width: 33px;
        height: 33px;
    }
}

@media (max-width: 1100px) {
    .navbar__separator,
    .navbar__socials {
        display: none;
    }
}

@media (max-width: 900px) {
    .navbar {
        display: flex;
        justify-content: space-between;
    }

    .navbar__panel {
        display: flex;
    }

    .navbar__panel .navbar__actions {
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
    }

    .navbar__panel .navbar__separator {
        display: none;
    }

    .navbar__panel .navbar__socials {
        display: flex;
        width: 100%;
        justify-content: center;
        padding-top: 14px;
        border-top: 1px solid rgba(15, 23, 42, 0.08);
    }

    .navbar__panel .navbar__social-link {
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 520px) {
    .navbar__panel .navbar__actions {
        gap: 10px;
    }

    .navbar__panel .navbar__booking-button {
        width: 100%;
        justify-content: center;
    }
}

/* ==========================================
   FLOATING WHATSAPP RESPONSIVE
========================================== */

@media (max-width: 768px) {
    .whatsapp-floating-button {
        right: 18px;
        bottom: 18px;
        width: 54px;
        height: 54px;
    }

    html[dir="rtl"] .whatsapp-floating-button {
        right: auto;
        left: 18px;
    }

    .whatsapp-floating-button svg {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px;
        min-height: 28px;
        max-width: 28px;
        max-height: 28px;
        flex-basis: 28px;
    }
}

@media (max-width: 480px) {
    .whatsapp-floating-button {
        right: 14px;
        bottom: 14px;
        width: 50px;
        height: 50px;
    }

    html[dir="rtl"] .whatsapp-floating-button {
        right: auto;
        left: 14px;
    }

    .whatsapp-floating-button svg {
        width: 26px !important;
        height: 26px !important;
        min-width: 26px;
        min-height: 26px;
        max-width: 26px;
        max-height: 26px;
        flex-basis: 26px;
    }
}

/* ==========================================
   LOCATION RESPONSIVE
========================================== */

@media (max-width: 1050px) {
    .location-section__layout {
        grid-template-columns: 1fr;
    }

    .location-section__map {
        min-height: 340px;
    }
}

@media (max-width: 700px) {
    .location-section {
        padding: 80px 0;
    }

    .location-section__layout {
        margin-top: 38px;
    }

    .location-section__information {
        grid-template-columns: 1fr;
    }

    .location-information-card {
        min-height: auto;
    }
}

@media (max-width: 480px) {
    .location-information-card {
        padding: 20px 17px;
        border-radius: 18px;
    }

    .location-information-card__icon {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
        border-radius: 14px;
    }

    .location-map-card {
        padding: 38px 22px;
        border-radius: 22px;
    }
}

/* ==========================================
   LOCATION FINAL RESPONSIVE OVERRIDE
========================================== */

@media (max-width: 1050px) {
    .location-section__layout {
        grid-template-columns: 1fr !important;
    }

    .location-section__map {
        min-height: 340px !important;
    }
}

@media (max-width: 700px) {
    .location-section {
        min-height: auto !important;
        padding: 80px 0 !important;
    }

    .location-section__information {
        grid-template-columns: 1fr !important;
    }
}