.border-c{
   border-right: 3px solid #a3cb3a !important;
}
.service-policy-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 30px;
}
.bg-1 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #cfe2f3;
}

.bg-2 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #dbeafe;
}
.bg-3 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #fde2e2;
}
.bg-4 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #d0ebff ;
}
.bg-5 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #e0e7ff;
}
.bg-6 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #defcf9;
}
.bg-7 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #c9e4de;
}
.bg-8 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #e1f7f5;
}
.bg-9 {
   
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #c4d7f2;
}
.bg-10 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #e2f0d9;
}
.bg-11{
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #d9f8c4;
}


.bg-12 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #f0f4c3;
}
.bg-13 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #dcedc1;
}
.bg-14 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #e0f7fa;
}
.bg-15 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #f3e5f5;
}
.bg-16 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #e0ffe0;
}
.bg-17 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #d0f0c0;
}
.bg-18 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #e3f2fd;
}
.bg-19 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #ede7f6;
}
.bg-20 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #fff3e0;
}
.bg-21 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #ffe0f0;
}
.bg-22 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #f1f8e9;
}
.bg-23 {
    border-top: 4px solid;      /* عنابي من الأعلى */
  border-right: 2px solid;    /* عنابي من اليمين */
  border-bottom: 8px solid #96bc35;   /* عنابي من الأسفل */
  border-left: 12px solid;   
  border-color: #fce4ec;
}

service-policy-item .policy-title {
    font-size: 18px;
    line-height: 1;
    font-weight: 500;
    padding-bottom: 5px;
}


.service-policy-item .policy-desc {
    font-size: 16px;
    color: #333333;
      text-shadow: 2px 0 #fff, -2px 0 #fff, 0 2px #fff, 0 -2px #fff,
               1px 1px #fff, -1px -1px #fff, 1px -1px #fff, -1px 1px #fff;
}

  .custom-circle {
    position: relative;
    aspect-ratio: 1; 
    border-radius: 50%;
    margin: auto;
    text-align: center;
    background: #21273f05;
    box-shadow: -6px -12px 10px rgb(25 31 55 / 20%);
  }

  .cat-a{
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
  }

    .sm-custom-circle {
    aspect-ratio: 1; 
    border-radius: 50%;
    margin: auto;
    text-align: center;
    background: #21273f05;
    box-shadow: -6px -4px 12px rgb(25 31 55 / 20%);
    height: 60x;
    width: 100px;
  }
.custom-pa{
      padding-top: 105px !important;
      padding-bottom: 20px !important;
}
  .custom-circle-cat {
    aspect-ratio: 1; 
    height: 80% !important;
    border-radius: 50%;
    margin: auto;
    text-align: center;
    background: #21273f05;
    box-shadow: -6px -4px 12px rgb(25 31 55 / 20%);
  }
  
  .custom-circle .policy-content {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
  }
.custom-circle .policy-icon i {
  font-size: 40px; /* حجم أكبر للأيقونة */
  color: #96bc35;
  margin-bottom: 10px;
}
  .custom-circle .policy-desc {
    font-size: 16px;
    font-weight: bold;
    color: #181e39;
  }
  .custom-circle:hover {
    font-size: 16px;
    background-color: #96bc3524;
      text-shadow: 2px 0 #fff, -2px 0 #fff, 0 2px #fff, 0 -2px #fff,
               1px 1px #fff, -1px -1px #fff, 1px -1px #fff, -1px 1px #fff;
}
.policy-desc:hover {
    color: #181e39;
  }
/* .select2-container--default .select2-selection--multiple{
      width: 100%;
    background: #fff;
    border-radius: 25px;
    border: 1px solid #eee;
    padding: 0 25px;
    height: 55px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 15px;
} 
.select2-container .select2-search--inline .select2-search__field{
    height: 100% !important;
}      */
.custom-select-wrapper {
    position: relative;
}

.custom-multiselect {
    border-radius: 25px;
    padding: 6px;
    background-color: #fff;
    position: relative;
    cursor: pointer;
}

.selected-options {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 38px;
    align-items: center;
}

.selected-options .tag {
    background-color: #4e1523;
    color: #fff;
    padding: 4px 10px;
    border-radius: 15px;
    font-size: 14px;
    display: flex;
    align-items: center;
        Z-INDEX: 2;
}

.selected-options .tag span {
    margin-left: 8px;
    cursor: pointer;
}

.options-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 99;
    width: 100%;
    background: #fff;
    border: 1px solid #ccc;
    border-top: none;
    max-height: 250px;
    overflow-y: auto;
    border-radius: 0 0 8px 8px;
}

.options-dropdown.active {
    display: block;
}

.options-dropdown .search-box {
    width: 100%;
    padding: 8px;
    border: none;
    border-bottom: 1px solid #eee;
    outline: none;
}

.option-item {
    padding: 10px;
    cursor: pointer;
    transition: background 0.3s;
}

.option-item:hover {
    background-color: #f0f0f0;
}
.label {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    padding: 18px;
    padding-right: 25px;
}
.la-text{
    position: absolute;
    left : 0;
    top: 0;
    z-index: 1;
    padding: 15px;
}
.glow-on-hover {
  width: 70%;
  margin-top: 15px;
  padding: 20px;
    outline: none;
    cursor: pointer;
    position: relative;
    z-index: 0;
    color: rgba(255, 255, 255, 0.993);
}


.s-btn {
    outline: none;
    cursor: pointer;
    position: relative;
    z-index: 0;
    color: rgba(255, 255, 255, 0.731);
    /* border: solid white !important; */
    background-color: white;
}

.glow-on-hover:active {
    color: rgba(255, 255, 255, 0.426);
}
.glow-on-hover:hover {
    color: white;
}

.glow-on-hover:active:after {
    background: transparent;
}

.glow-on-hover:hover:before {
    opacity: 1;
}

.glow-on-hover:after {
    z-index: -1;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    border-radius: 10px;
}

@keyframes glowing {
    0% { background-position: 0 0; }
    50% { background-position: 400% 0; }
    100% { background-position: 0 0; }
}
.login {
    background-color: #f8f9fa;
}
.login .form-head {
    padding: 50px;
    border: 1px solid #eee;
    border-radius: 25px;
    background-color: #fff;
}
.login .form-head .title {
    font-size: 30px;
    line-height: 1.42;
    font-weight: 600;
    margin-bottom: 30px;
    text-align: center;
}
.login .form-head .info {
    font-size: 24px;
    line-height: 1.42;
    font-weight: 600;
    margin-bottom: 30px;
    text-align: left;
}
.login .form-head .alt-option {
    margin: 30px 0;
    text-align: center;
    display: inline-block;
    position: relative;
    width: 100%;
    z-index: 1;
}
.login .form-head form .form-group {
    margin-bottom: 25px;
}
.login .form-head form .form-group label {
    display: block;
    margin-bottom: .5rem;
    color: #888;
    font-size: 15px;
    font-weight: 400;
}
.login .form-head form .form-group input {
    width: 100%;
    min-height: 56px;
    padding: 3px 20px;
    color: #000000;
    border: 1px solid #eee;
    border-radius: 25px;
    outline: 0;
    background-color: #fff;
    font-size: 15px;
}
button, input, optgroup, select, textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

.login .form-head form .check-and-pass .form-check {
    float: left;
}

.form-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: .125rem;
}

.login .form-head form .button {
    margin-top: 25px;
}
.login .form-head form .button .btn {
    width: 100%;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.login .form-head form .form-group select {
    width: 25%;
    min-height: 56px;
    padding: 3px 20px;
    border: 1px solid #eee;
    border-radius: 25px;
    outline: 0;
    font-size: 15px;
}

.form-check-input {
    width: 1em !important;
    min-width: 1em !important;
    height: 1em !important;
    min-height: 1em !important; 
    margin-top: .25em !important;
    padding: 0 !important;
    vertical-align: top;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0, 0, 0, .25);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
}

@media only screen and (max-width: 767px) {
    .newsletter .title {
        text-align: center;
        padding: 0;
        padding-right: unset !important;
    }

    #tns1 > .tns-item {
    width: 160px;
}
}

@media only screen and (min-width: 768px) and (max-width: 991px), (max-width: 767px) {
    .navbar-nav .nav-item a {
        justify-content: left;
        }}
        .c_select{
              border: 1px solid #ccc;
              border-radius: 25px;
              padding: 6px;
              background-color: #fff;
              cursor: pointer;
                  margin-bottom: 20px;
        }

        .custom-padding2{
          padding-top: 250px;
        }

    /* .toggle-favorite.active-fav {
        color: #fff;
        background: #a3ca39;
        border-radius: 50%;
        padding: 5px;
    } */

    .items-grid .single-grid .content .bottom-content .active-fav{
    color: #fff !important;
    background-color: #a3ca39;
    border-color: transparent;
}

.load-text{
text-align: center;
padding: 25px;
color: #a3ca39;
font-size: 18px;
}
.load-text a{
color: #a3ca39;
text-decoration: underline;
}


.myp{
   
    font-size: larger;
    font-weight: 500;
    text-align: center;

}

    .error-message {
        color: red;
        font-size: 0.9em;
        margin-top: 5px;
        display: none;
    }

    /* .our-achievement{
          position: fixed;
          z-index: 9999999;
          bottom: 5%;
          width: 50%;
          height: 25%;
          right: 25%;
    } */

    .bg-bottom{
      border-top: 4px   #ffffff solid;  
     border-bottom: solid 5px  #ffffff;
     border-bottom-left-radius: 50px;
     border-top-right-radius: 50px;
    }

        .bold{
      font-weight: bold;
      font-size: xxx-large;
    }
    .event:hover{
      background: #40111dd6;
    }


ul {
    padding-left: 25px;
    margin-top: 10px;
    margin-bottom: 15px;
    font-size: 18px;
}
.accordion{
  padding-top: 30px;
}
.accordion-button{
      text-align: center;
}
@media only screen and (max-width: 1200px) {
    h2 {
        font-size: 28px;
    }
    h3 {
        font-size: 24px;
    }

    .bold {
    font-weight: bold;
    font-size: xx-large; 
}
}
.needs-form {
    background-color: transparent;
}
.needs-form .form-head {
    padding: 60px;
    padding-top: 50px;
    border-radius: 25px;
}
.needs-form .form-head .title {
    font-size: 30px;
    line-height: 1.42;
    font-weight: 600;
    margin-bottom: 30px;
    text-align: center;
}
.needs-form .form-head .info {
    font-size: 24px;
    line-height: 1.42;
    font-weight: 600;
    margin-bottom: 30px;
    text-align: left;
}
.needs-form .form-head .alt-option {
    margin: 30px 0;
    text-align: center;
    display: inline-block;
    position: relative;
    width: 100%;
    z-index: 1;
}
.needs-form .form-head form .form-group {
    margin-bottom: 25px;
}
.needs-form .form-head form .form-group label {
    display: block;
    margin-bottom: .5rem;
    color: #888;
    font-size: 15px;
    font-weight: 400;
}
.needs-form .form-head form .form-group input {
    width: 100%;
    min-height: 28px;
    padding: 3px 20px;
    color: #000000;
    border: 1px solid #eee;
    border-radius: 25px;
    outline: 0;
    background-color: #fff;
    font-size: 15px;
}
button, input, optgroup, select, textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
.needs-form textarea{
  width: 100%;
    padding: 3px 20px;
    color: #000000;
    border: 1px solid #eee;
    border-radius: 25px;
    outline: 0;
    background-color: #fff;
    font-size: 15px;
}

.needs-form textarea{
  width: 100%;
    padding: 3px 20px;
    color: #000000;
    border: 1px solid #eee;
    border-radius: 25px;
    outline: 0;
    background-color: #fff;
    font-size: 15px;
}

.check{
  width: auto !important;
  min-height: auto !important;
    color: #000000;
    margin: 10px !important;
    /* font-size: 15px; */
}

.needs-form .form-head form .check-and-pass .form-check {
    float: left;
}

.form-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: .125rem;
}

.needs-form .form-head form .button {
    margin-top: 25px;
}
.needs-form .form-head form .button .btn {
    width: 100%;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.needs-form .form-head form .form-group select {
    text-align: left;
    width: 60%;
    padding: 3px 20px;
    color: #000000;
    border: 1px solid #eee;
    border-radius: 25px;
    outline: 0;
    background-color: #fff;
    font-size: 15px;
}
.language-btn{
  float: right;
}
/* حاوية العناصر داخل Tiny Slider */
.client-logo-carousel .client-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 160px;         /* ارتفاع ثابت للسطر */
  padding: 10px 12px;
  box-sizing: border-box;
}

/* جعل الشعارات تتوسط وتتناسب */
.client-logo-carousel .client-logo img {
  max-height: 150px;     /* لا تتجاوز هذا الارتفاع */
  width: auto;          /* حافظ على النسبة */
  object-fit: contain;
  display: block;
  opacity: 0.95;
}

/* إزالة أي تأثيرات flex قديمة من التوزيع */
.client-logo-wrapper,
.client-logo-section .client-logo-wrapper {
  width: 100%;
}

/* تحسين تباعد الشرائح */
.tns-outer {
  direction: ltr; /* يبقى LTR داخليًا؛ سنتحكم بالاتجاه عبر خيار rtl في JS */
}
.client-logo img {
  max-width: 120px;
  height: auto;
  margin: 0 auto;
  display: block;
}

@media (min-width: 768px) {
  .client-logo img {
    max-width: 150px;
  }
}

@media (min-width: 1200px) {
  .client-logo img {
    max-width: 180px;
  }
}
@media only screen and (max-width: 535px) {
    #tns1 > .tns-item {
           width: calc(1.4%) !important;

    }
}

/* صندوق الـ accordion */
.events-accordion {
  border: 1px solid #eef2f7;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 24px rgba(31,75,117,0.05);
}

/* زر الترويسة */
.events-accordion .accordion-toggle {
  width: 100%;
  background: linear-gradient(0deg,#ffffff,#ffffff);
  border: 0;
  padding: 14px 16px;
  text-align: start;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  position: relative;
  font-weight: 600;
}

/* شارة العنوان */
.events-accordion .title-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f1f5f9;
  font-size: 13px;
  color: #334155;
}

/* عدّاد الأحداث */
.events-accordion .count-badge {
  background: #1f4b75;
  color: #fff;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 12px;
}

/* أيقونة الشيفرون */
.events-accordion .chevron {
  margin-left: auto;
  transition: transform .25s ease;
  font-size: 16px;
  color: #1f4b75;
}

/* المحتوى المتوسع */
.events-accordion .accordion-content {
  height: 0;
  overflow: hidden;
  transition: height .28s ease;
  border-top: 1px dashed #e5e7eb;
}

/* قائمة الأحداث */
.events-accordion .event-list {
  list-style: none;
  margin: 0;
  padding: 10px 14px 14px 14px;
  display: grid;
  gap: 10px;
}

/* عنصر حدث */
.events-accordion .event-item {
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border: 1px solid #eef2f7;
  border-radius: 25px;
  background: #fbfdff;
}

/* سطر معلومات الحدث */
.events-accordion .event-row {
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
  color: #0f172a;
  font-size: 14px;
}

/* بادجات صغيرة */
.events-accordion .pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #eaf4ff;
  color: #0b3b66;
  font-weight: 600;
  font-size: 12px;
}

/* شارة "يبدأ قريبًا" */
.events-accordion .soon {
  background: #fff7ed;
  color: #9a3412;
}

/* عند الفتح */
.events-accordion .accordion-toggle[aria-expanded="true"] .chevron {
  transform: rotate(180deg);
}

/* لمسة هوفر */
.events-accordion .accordion-toggle:hover {
  background: #f9fbfd;
}

/* تماشيًا مع ClassiGrids للأزرار */
/* .btn.s-btn {
  border-color: #4e636d;
}
.btn.s-btn:hover {
  filter: brightness(1.05);
} */



.locations-grid .city-card-body {
    padding: 1.75rem;
    background: rgba(255,255,255,0.95);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(240, 244, 255, 0.9));
    color: #1f2c3f;
    border-radius: 0 0 20px 20px;
}

.locations-grid .city-card-body .badge {
}

.featured-locations .city-card-media::after {
    background: linear-gradient(180deg, rgba(15, 31, 59, 0.05) 0%, rgba(15, 31, 59, 0.5) 100%);
    background: linear-gradient(180deg, rgba(24,68,107,0.25) 0%, rgba(18,35,61,0.9) 100%);
}

.featured-locations .city-card-media h3 ,
.featured-locations .city-card-media p {
    font-size: 0.9rem;
}

.featured-locations .city-card-body {
    border-top: 1px solid rgba(255,255,255,0.15);
}

.locations-theme {
    background:radial-gradient(circle at 50% 10%, #2e3b46 0, #2d3c45 45%, #507382 100%);
    color: #f7f8fa;
    box-shadow: 0px -6px #2e3c46b0;
}

.locations-grid .city-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(3, 37, 65, 0.28);
    backdrop-filter: blur(8px);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.locations-grid .city-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 55px rgba(3, 37, 65, 0.35);
}

.locations-grid .city-card-media {
    min-height: 220px;
    position: relative;
    background-size: cover;
    background-position: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.locations-grid .city-card-media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 31, 59, 0.25) 0%, rgba(3, 37, 65, 0.75) 100%);
}

.locations-grid .city-card-media h2 {
    position: absolute;
    right: 1.5rem;
    bottom: 1.5rem;
    color: #fff;
    z-index: 2;
}

.locations-grid .city-card-body {
    padding: 1.75rem;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(240, 244, 255, 0.9));
    color: #1f2c3f;
    border-radius: 0 0 20px 20px;
}

.locations-theme .section-title h2,
.locations-theme .section-title p {
    color: #f7f8fa;
}

.locations-theme .btn-outline-light {
    border-color: rgba(255, 255, 255, 0.7);
    color: #f7f8fa;
    font-weight: 600;
    border-radius: 50px;
    padding: 0.7rem 1.8rem;
    transition: background 0.3s ease, color 0.3s ease;
}

.locations-theme .btn-outline-light:hover {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
}
