.app-promo {
  position: relative;
  z-index: 6;
  padding: 10px 14px;
  color: #071525;
  background: linear-gradient(90deg, #ffb703, #ffd166);
  text-align: center;
  font-size: 0.8rem;
  font-weight: 900;
}

.service-card[data-admin-disabled="true"] {
  display: none !important;
}

.app-promo strong {
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
}

.app-utilities {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.phone-number {
  direction: ltr;
  unicode-bidi: isolate;
}

.phone-number bdi {
  direction: ltr;
  unicode-bidi: isolate;
}

.language-picker {
  position: relative;
}

.language-toggle,
.install-app {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 12px;
  border: 1px solid #dfe4e8;
  border-radius: 12px;
  color: #0b1d33;
  background: #fff;
  cursor: pointer;
  font-weight: 900;
}

.flag-icon {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 16px;
  overflow: hidden;
  flex: 0 0 24px;
  border: 1px solid rgba(7, 21, 37, 0.14);
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(7, 21, 37, 0.12);
}

.flag-fr {
  background: linear-gradient(90deg, #0055a4 0 33.333%, #fff 33.333% 66.666%, #ef4135 66.666% 100%);
}

.flag-ma {
  background: #c1272d;
}

.flag-ma::after {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #006233;
  content: "★";
  font-size: 10px;
  line-height: 1;
}

.flag-gb {
  background:
    linear-gradient(33deg, transparent 43%, #fff 43% 57%, transparent 57%),
    linear-gradient(-33deg, transparent 43%, #fff 43% 57%, transparent 57%),
    linear-gradient(90deg, transparent 37%, #fff 37% 63%, transparent 63%),
    linear-gradient(transparent 30%, #fff 30% 70%, transparent 70%),
    #012169;
}

.flag-gb::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(33deg, transparent 47%, #c8102e 47% 53%, transparent 53%),
    linear-gradient(-33deg, transparent 47%, #c8102e 47% 53%, transparent 53%),
    linear-gradient(90deg, transparent 44%, #c8102e 44% 56%, transparent 56%),
    linear-gradient(transparent 39%, #c8102e 39% 61%, transparent 61%);
  content: "";
}

.language-toggle strong {
  font-size: 0.78rem;
}

.language-toggle .bi-chevron-down {
  color: #7a8796;
  font-size: 0.65rem;
  transition: transform 160ms ease;
}

.language-toggle[aria-expanded="true"] .bi-chevron-down {
  transform: rotate(180deg);
}

.language-menu[hidden] {
  display: none;
}

.language-menu {
  position: absolute;
  z-index: 80;
  top: calc(100% + 9px);
  right: 0;
  display: grid;
  width: 190px;
  gap: 4px;
  padding: 7px;
  border: 1px solid #dfe4e8;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(7, 21, 37, 0.17);
}

.language-option {
  display: grid;
  min-height: 43px;
  align-items: center;
  grid-template-columns: 25px 1fr 18px;
  gap: 8px;
  padding: 0 10px;
  border: 0;
  border-radius: 10px;
  color: #344457;
  background: transparent;
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 800;
  text-align: left;
}

.language-option:hover,
.language-option.active {
  color: #0f7859;
  background: #e6f8f2;
}

.language-option .bi-check-lg {
  opacity: 0;
}

.language-option.active .bi-check-lg {
  opacity: 1;
}

html[dir="rtl"] .language-menu {
  right: auto;
  left: 0;
}

html[dir="rtl"] .language-option {
  text-align: right;
}

.install-app[hidden] {
  display: none;
}

.pwa-install[hidden],
.install-guide[hidden],
.welcome-modal[hidden] {
  display: none;
}

.pwa-install {
  padding: 20px 0 8px;
  background: #fff;
}

.pwa-install-card {
  position: relative;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 20px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 88% -40%, rgba(25, 194, 146, 0.38), transparent 42%),
    linear-gradient(135deg, #071525, #0d2a43);
  box-shadow: 0 18px 46px rgba(7, 21, 37, 0.16);
}

.pwa-install-card::after {
  position: absolute;
  right: -44px;
  bottom: -72px;
  width: 180px;
  height: 180px;
  content: "";
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
}

.pwa-install-icon,
.install-guide-logo {
  display: grid;
  overflow: hidden;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.2);
}

.pwa-install-icon {
  width: 74px;
  height: 74px;
}

.pwa-install-icon img,
.install-guide-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pwa-install-copy {
  min-width: 0;
}

.pwa-install-copy > span,
.install-guide-kicker {
  display: block;
  margin-bottom: 4px;
  color: #70e2c0;
  font-size: 0.67rem;
  font-weight: 900;
  letter-spacing: 0.17em;
}

.pwa-install-copy h2 {
  margin: 0;
  font-size: clamp(1.06rem, 2vw, 1.35rem);
  line-height: 1.2;
}

.pwa-install-copy p {
  margin: 5px 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.82rem;
  line-height: 1.45;
}

.pwa-install-button,
.install-guide-done {
  position: relative;
  z-index: 1;
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 18px;
  border: 0;
  border-radius: 15px;
  color: #062218;
  background: #68e0ba;
  box-shadow: 0 10px 24px rgba(23, 174, 130, 0.23);
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 900;
}

.pwa-install-button:active,
.install-guide-done:active {
  transform: translateY(1px);
}

.pwa-install.is-install-ready .pwa-install-button {
  color: #062218;
  background: #7aebc8;
}

body.install-guide-open {
  overflow: hidden;
}

.install-guide {
  position: fixed;
  z-index: 1600;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
}

.install-guide-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(3, 11, 20, 0.76);
  backdrop-filter: blur(8px);
}

.install-guide-panel {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(440px, 100%);
  gap: 16px;
  padding: 25px;
  border: 1px solid #e2e7ea;
  border-radius: 27px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(3, 11, 20, 0.3);
}

.install-guide-close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid #dfe5e8;
  border-radius: 13px;
  color: #071525;
  background: #fff;
  cursor: pointer;
}

html[dir="rtl"] .install-guide-close {
  right: auto;
  left: 14px;
}

.install-guide-logo {
  width: 68px;
  height: 68px;
  border-color: #e0e5e8;
}

.install-guide-kicker {
  color: #0d8b68;
}

.install-guide-panel h2 {
  max-width: 340px;
  margin: 0;
  color: #071525;
  font-size: 1.35rem;
  line-height: 1.25;
}

.install-guide-steps {
  display: grid;
  gap: 10px;
}

.install-guide-steps p {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  margin: 0;
  padding: 13px;
  border: 1px solid #e1e7ea;
  border-radius: 16px;
  color: #536578;
  background: #f7f9f8;
  font-size: 0.84rem;
  line-height: 1.5;
}

.install-guide-steps i {
  margin-top: 1px;
  color: #0d8b68;
  font-size: 1.05rem;
}

.install-guide-done {
  width: 100%;
  color: #fff;
  background: #0d8b68;
}

body.welcome-open {
  overflow: hidden;
}

.welcome-modal {
  position: fixed;
  z-index: 1700;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
}

.welcome-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(3, 11, 20, 0.76);
  backdrop-filter: blur(9px);
}

.welcome-panel {
  position: relative;
  z-index: 1;
  width: min(500px, 100%);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 31px;
  background: #fff;
  box-shadow: 0 35px 100px rgba(3, 11, 20, 0.36);
  animation: welcome-pop 420ms cubic-bezier(0.2, 0.85, 0.25, 1.08) both;
}

.welcome-close {
  position: absolute;
  z-index: 3;
  top: 15px;
  right: 15px;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 14px;
  color: #fff;
  background: rgba(7, 21, 37, 0.48);
  backdrop-filter: blur(10px);
  cursor: pointer;
}

html[dir="rtl"] .welcome-close {
  right: auto;
  left: 15px;
}

.welcome-visual {
  position: relative;
  display: grid;
  height: 150px;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 22% 18%, rgba(255, 184, 0, 0.52), transparent 28%),
    radial-gradient(circle at 82% 92%, rgba(25, 194, 146, 0.38), transparent 34%),
    linear-gradient(135deg, #071525, #0c2b47);
}

.welcome-visual::before,
.welcome-visual::after {
  position: absolute;
  content: "";
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 50%;
}

.welcome-visual::before {
  top: -72px;
  left: -32px;
  width: 180px;
  height: 180px;
}

.welcome-visual::after {
  right: -42px;
  bottom: -105px;
  width: 220px;
  height: 220px;
}

.welcome-logo {
  position: relative;
  z-index: 1;
  display: grid;
  width: 92px;
  height: 92px;
  overflow: hidden;
  place-items: center;
  border: 4px solid rgba(255, 255, 255, 0.95);
  border-radius: 27px;
  background: #fff;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.26);
}

.welcome-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.welcome-wave {
  position: absolute;
  z-index: 2;
  top: 25px;
  left: calc(50% + 47px);
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #ffb703;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22);
  font-size: 1.18rem;
}

.welcome-route {
  position: absolute;
  z-index: 2;
  right: 18px;
  bottom: 14px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 9px;
  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.82);
  background: rgba(7, 21, 37, 0.34);
  font-size: 0.65rem;
  font-weight: 800;
}

html[dir="rtl"] .welcome-route {
  right: auto;
  left: 18px;
}

.welcome-content {
  padding: 25px 26px 27px;
}

.welcome-kicker {
  display: block;
  margin-bottom: 7px;
  color: #0d8b68;
  font-size: 0.67rem;
  font-weight: 900;
  letter-spacing: 0.17em;
}

html[dir="rtl"] .welcome-kicker,
html[dir="rtl"] .welcome-content h2 {
  letter-spacing: 0;
}

.welcome-content h2 {
  margin: 0;
  color: #071525;
  font-size: 1.55rem;
  line-height: 1.16;
  letter-spacing: -0.035em;
}

.welcome-content > p {
  margin: 10px 0 0;
  color: #607084;
  font-size: 0.88rem;
  line-height: 1.58;
}

.welcome-perks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 17px;
}

.welcome-perks span {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  padding: 10px 11px;
  border: 1px solid #e1e7e9;
  border-radius: 14px;
  color: #415468;
  background: #f7f9f8;
  font-size: 0.7rem;
}

.welcome-perks i {
  color: #0d9a72;
}

.welcome-perks b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.welcome-actions {
  display: grid;
  grid-template-columns: 0.92fr 1.28fr;
  gap: 9px;
  margin-top: 18px;
}

.welcome-actions a,
.welcome-actions button {
  display: inline-flex;
  min-height: 49px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 13px;
  border-radius: 15px;
  text-align: center;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.75rem;
  font-weight: 900;
}

.welcome-services {
  color: #071525;
  background: #ffb703;
}

.welcome-whatsapp {
  color: #fff;
  background: #12a878;
  box-shadow: 0 10px 24px rgba(18, 168, 120, 0.22);
}

@keyframes welcome-pop {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.order-modal[hidden],
.review-modal[hidden] {
  display: none;
}

.order-modal,
.review-modal {
  position: fixed;
  z-index: 1200;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
}

.order-backdrop,
.review-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(3, 11, 20, 0.78);
  backdrop-filter: blur(8px);
}

.order-panel,
.review-panel {
  position: relative;
  z-index: 1;
  width: min(780px, 100%);
  max-height: calc(100vh - 40px);
  overflow: auto;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 35px 90px rgba(3, 11, 20, 0.35);
}

.review-panel {
  width: min(540px, 100%);
}

.order-head,
.review-head {
  position: sticky;
  z-index: 3;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 21px 24px;
  border-bottom: 1px solid #e2e6e9;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(14px);
}

.order-head h2,
.review-head h2 {
  margin: 0;
  color: #0b1d33;
  font-family: "Manrope", sans-serif;
  font-size: 1.35rem;
  letter-spacing: -0.03em;
}

.order-head p,
.review-head p {
  margin: 4px 0 0;
  color: #687689;
  font-size: 0.77rem;
}

.order-close,
.review-close {
  display: grid;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #dfe4e8;
  border-radius: 12px;
  color: #0b1d33;
  background: #fff;
  cursor: pointer;
}

.order-form,
.review-form {
  padding: 22px 24px 25px;
}

.order-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
}

.order-field {
  display: grid;
  gap: 7px;
}

.order-field.full {
  grid-column: 1 / -1;
}

.order-field > span,
.review-form label > span {
  color: #344457;
  font-size: 0.76rem;
  font-weight: 900;
}

.order-field input,
.order-field select,
.order-field textarea,
.review-form input,
.review-form select,
.review-form textarea {
  width: 100%;
  min-height: 49px;
  padding: 0 13px;
  border: 1px solid #d9dfe3;
  border-radius: 13px;
  outline: 0;
  color: #0b1d33;
  background: #fff;
  font: inherit;
}

.order-field textarea,
.review-form textarea {
  min-height: 92px;
  padding-block: 12px;
  resize: vertical;
}

.order-field input:focus,
.order-field select:focus,
.order-field textarea:focus,
.review-form input:focus,
.review-form select:focus,
.review-form textarea:focus {
  border-color: #18b787;
  box-shadow: 0 0 0 4px rgba(24, 183, 135, 0.12);
}

.location-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
}

.location-button {
  display: inline-flex;
  min-height: 49px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 13px;
  border: 0;
  border-radius: 13px;
  color: #0b1d33;
  background: #ffb703;
  cursor: pointer;
  font-weight: 900;
}

.urgent-check {
  display: flex;
  min-height: 49px;
  align-items: center;
  gap: 10px;
  padding: 0 13px;
  border: 1px solid #d9dfe3;
  border-radius: 13px;
  color: #344457;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 800;
}

.urgent-check input {
  width: 18px;
  min-height: 18px;
  accent-color: #18b787;
}

.order-price {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px 20px;
  margin-top: 20px;
  padding: 18px;
  border: 1px solid rgba(24, 183, 135, 0.2);
  border-radius: 17px;
  color: #526174;
  background: #e8f8f2;
  font-size: 0.78rem;
}

.order-price strong {
  color: #0b1d33;
}

.order-price .price-total {
  padding-top: 11px;
  border-top: 1px solid rgba(24, 183, 135, 0.2);
  color: #0b1d33;
  font-size: 1rem;
  font-weight: 900;
}

.order-submit {
  width: 100%;
  margin-top: 16px;
}

.order-note {
  margin: 10px 0 0;
  color: #687689;
  font-size: 0.7rem;
  text-align: center;
}

.app-reviews {
  padding: 95px 0;
  background: #fff;
}

.review-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 25px;
}

.review-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
}

.review-card-live {
  padding: 22px;
  border: 1px solid #e2e6e9;
  border-radius: 20px;
  background: #fffaf0;
}

.review-stars {
  color: #e49a00;
  letter-spacing: 2px;
}

.review-card-live p {
  min-height: 70px;
  margin: 13px 0 18px;
  color: #526174;
  line-height: 1.6;
}

.review-card-live strong {
  color: #0b1d33;
}

.review-form {
  display: grid;
  gap: 14px;
}

.review-form label {
  display: grid;
  gap: 7px;
}

.app-toast {
  position: fixed;
  z-index: 1600;
  right: 20px;
  bottom: 95px;
  max-width: min(360px, calc(100% - 28px));
  padding: 13px 16px;
  border-radius: 14px;
  color: #fff;
  background: #0b1d33;
  box-shadow: 0 17px 38px rgba(7, 21, 37, 0.25);
  font-size: 0.8rem;
  font-weight: 800;
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition: 180ms ease;
}

.app-toast.show {
  opacity: 1;
  transform: none;
}

html[dir="rtl"] body {
  text-align: right;
}

html[dir="rtl"] .nav-links {
  margin-right: auto;
  margin-left: 0;
}

@media (max-width: 820px) {
  .review-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .app-promo {
    padding: 8px 10px;
    font-size: 0.69rem;
  }

  .language-toggle {
    width: auto;
    min-height: 41px;
    padding: 0 9px;
    gap: 5px;
  }

  .language-toggle .language-flag {
    width: 22px;
    height: 15px;
    flex-basis: 22px;
  }

  .language-toggle strong {
    font-size: 0.67rem;
  }

  .language-menu {
    position: fixed;
    top: 70px;
    right: 14px;
    left: auto;
    width: 185px;
  }

  html[dir="rtl"] .language-menu {
    right: auto;
    left: 14px;
  }

  .install-app {
    display: none !important;
  }

  .order-modal,
  .review-modal {
    align-items: end;
    padding: 0;
  }

  .order-panel,
  .review-panel {
    width: 100%;
    max-height: 100dvh;
    border: 0;
    border-radius: 24px 24px 0 0;
  }

  .order-head,
  .review-head {
    padding: 17px 16px;
  }

  .order-form,
  .review-form {
    padding: 17px 16px calc(22px + env(safe-area-inset-bottom));
  }

  .order-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

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

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

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

  .review-top .btn {
    width: 100%;
  }

  .app-reviews {
    padding: 72px 0;
  }

  .app-toast {
    right: 14px;
    bottom: 82px;
  }
}

/* Mobile app experience */
@media (max-width: 620px) {
  :root {
    --mobile-gutter: 12px;
    --mobile-surface: #f5f6f2;
    --mobile-card-radius: 21px;
  }

  html {
    scroll-padding-top: 72px;
    scroll-padding-bottom: 104px;
  }

  body {
    padding-bottom: calc(92px + env(safe-area-inset-bottom));
    background: var(--mobile-surface);
  }

  .container {
    width: calc(100% - (var(--mobile-gutter) * 2));
  }

  .app-promo {
    min-height: 30px;
    padding: 7px 10px;
    overflow: hidden;
    box-shadow: inset 0 -1px rgba(7, 21, 37, 0.08);
    font-size: 0.66rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .site-header {
    border-bottom-color: rgba(214, 220, 225, 0.72);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 8px 28px rgba(7, 21, 37, 0.07);
    backdrop-filter: blur(22px) saturate(1.25);
  }

  .nav {
    min-height: 62px;
    gap: 7px;
  }

  .brand {
    min-width: 0;
    gap: 5px;
  }

  .brand-logo-window {
    width: 48px;
    height: 45px;
  }

  .brand-logo-window img {
    top: -14px;
    left: -13px;
    width: 78px;
  }

  .brand-copy strong {
    font-size: 0.88rem;
  }

  .brand-copy small {
    max-width: 72px;
    margin-top: 4px;
    overflow: hidden;
    font-size: 0.43rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .header-actions {
    flex: 0 0 auto;
    margin-left: auto;
    gap: 6px;
  }

  html[dir="rtl"] .header-actions {
    margin-right: auto;
    margin-left: 0;
  }

  .app-utilities {
    gap: 0;
  }

  .language-toggle,
  .header-call,
  .menu-toggle {
    min-width: 41px;
    width: 41px;
    height: 41px;
    min-height: 41px;
    padding: 0;
    border-color: #dbe1e5;
    border-radius: 13px;
    box-shadow: 0 3px 10px rgba(7, 21, 37, 0.05);
  }

  .header-call {
    flex: 0 0 41px;
    overflow: hidden;
    color: #fff;
    font-size: 0;
  }

  .header-call span {
    display: none !important;
  }

  .header-call i {
    margin: 0;
    font-size: 1rem;
  }

  .install-app {
    display: none !important;
  }

  .language-toggle {
    width: auto;
    min-width: 53px;
    padding: 0 7px;
  }

  .language-toggle .language-flag {
    width: 20px;
    height: 14px;
    flex-basis: 20px;
  }

  .language-toggle .bi-chevron-down {
    display: none;
  }

  .language-menu {
    top: 69px;
    right: 10px;
    width: 188px;
    padding: 8px;
    border-radius: 18px;
    box-shadow: 0 22px 55px rgba(7, 21, 37, 0.2);
  }

  .pwa-install {
    padding: 14px 0 0;
    background: var(--mobile-surface);
  }

  .pwa-install-card {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 12px;
    padding: 15px;
    border-radius: var(--mobile-card-radius);
    box-shadow: 0 12px 30px rgba(7, 21, 37, 0.14);
  }

  .pwa-install-icon {
    width: 58px;
    height: 58px;
    border-radius: 17px;
  }

  .pwa-install-copy > span {
    font-size: 0.56rem;
  }

  .pwa-install-copy h2 {
    font-size: 0.98rem;
  }

  .pwa-install-copy p {
    margin-top: 3px;
    font-size: 0.69rem;
    line-height: 1.35;
  }

  .pwa-install-button {
    grid-column: 1 / -1;
    min-height: 45px;
    border-radius: 14px;
    font-size: 0.76rem;
  }

  .install-guide {
    align-items: end;
    padding: 0;
  }

  .install-guide-panel {
    width: 100%;
    gap: 14px;
    padding: 27px 18px calc(20px + env(safe-area-inset-bottom));
    border-radius: 27px 27px 0 0;
  }

  .install-guide-panel::before {
    position: absolute;
    top: 8px;
    left: 50%;
    width: 42px;
    height: 5px;
    content: "";
    border-radius: 99px;
    background: #d7dde1;
    transform: translateX(-50%);
  }

  .install-guide-panel h2 {
    padding-inline-end: 38px;
    font-size: 1.18rem;
  }

  .install-guide-steps p {
    padding: 12px;
    font-size: 0.78rem;
  }

  .welcome-modal {
    padding: 12px;
  }

  .welcome-panel {
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
    border-radius: 27px;
  }

  .welcome-visual {
    height: 124px;
  }

  .welcome-logo {
    width: 76px;
    height: 76px;
    border-radius: 23px;
  }

  .welcome-wave {
    top: 20px;
    left: calc(50% + 37px);
    width: 36px;
    height: 36px;
    font-size: 1rem;
  }

  .welcome-route {
    right: 13px;
    bottom: 11px;
    font-size: 0.58rem;
  }

  html[dir="rtl"] .welcome-route {
    right: auto;
    left: 13px;
  }

  .welcome-content {
    padding: 20px 18px 19px;
  }

  .welcome-kicker {
    font-size: 0.59rem;
  }

  .welcome-content h2 {
    font-size: 1.27rem;
    line-height: 1.18;
  }

  .welcome-content > p {
    margin-top: 8px;
    font-size: 0.78rem;
    line-height: 1.48;
  }

  .welcome-perks {
    margin-top: 13px;
  }

  .welcome-perks span {
    padding: 9px;
    font-size: 0.62rem;
  }

  .welcome-actions {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 14px;
  }

  .welcome-actions a,
  .welcome-actions button {
    min-height: 46px;
    font-size: 0.72rem;
  }

  .welcome-close {
    top: 12px;
    right: 12px;
    width: 39px;
    height: 39px;
  }

  html[dir="rtl"] .welcome-close {
    right: auto;
    left: 12px;
  }

  html[dir="rtl"] .language-menu {
    right: auto;
    left: 10px;
  }

  .nav-links {
    top: 69px;
    right: 10px;
    left: 10px;
    gap: 3px;
    padding: 12px;
    border-radius: 20px;
  }

  .nav-link {
    min-height: 44px;
    padding: 11px 12px;
    border-radius: 12px;
  }

  .nav-link:active {
    background: #e9f8f3;
  }

  .hero,
  .hero-inner {
    min-height: 535px;
  }

  .hero::before {
    top: -90px;
    left: -150px;
    opacity: 0.65;
  }

  .hero-inner {
    align-items: flex-end;
    padding: 50px 0 45px;
  }

  .hero-image {
    object-position: 65% 45%;
    transform: scale(1.02);
  }

  .hero-overlay {
    background:
      linear-gradient(0deg, rgba(5, 17, 30, 0.99) 0%, rgba(6, 20, 35, 0.92) 48%, rgba(7, 21, 37, 0.22) 100%),
      linear-gradient(90deg, rgba(7, 21, 37, 0.24), transparent 74%);
  }

  .hero-content {
    width: 100%;
    max-width: none;
  }

  .hero-badge {
    margin-bottom: 14px;
    padding: 7px 10px;
    border-color: rgba(98, 222, 183, 0.22);
    background: rgba(20, 146, 107, 0.22);
    box-shadow: 0 8px 26px rgba(0, 0, 0, 0.14);
    font-size: 0.71rem;
  }

  .hero h1 {
    max-width: 340px;
    font-size: clamp(2.55rem, 12.5vw, 3.35rem);
    line-height: 0.98;
    letter-spacing: -0.064em;
  }

  .hero-copy {
    max-width: 355px;
    margin-top: 14px;
    font-size: 0.83rem;
    line-height: 1.5;
  }

  .hero-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 18px;
  }

  .hero-actions .btn {
    min-height: 46px;
    border-radius: 14px;
    font-size: 0.72rem;
  }

  .hero-actions .btn-primary {
    grid-column: 1 / -1;
    min-height: 50px;
    box-shadow: 0 12px 30px rgba(255, 183, 3, 0.22);
    font-size: 0.82rem;
  }

  .hero-actions .btn-outline {
    grid-column: auto;
  }

  .hero-proof {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-top: 14px;
  }

  .hero-proof span {
    min-width: 0;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 7px 5px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.07);
    font-size: 0.59rem;
    line-height: 1.2;
    text-align: center;
  }

  .hero-proof i {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    font-size: 0.55rem;
  }

  .quick-strip {
    margin-top: -18px;
  }

  .quick-strip-inner {
    border-radius: 23px;
    box-shadow: 0 16px 38px rgba(7, 21, 37, 0.11);
  }

  .quick-item {
    min-height: 68px;
    gap: 9px;
    padding: 10px;
  }

  .quick-icon {
    width: 34px;
    height: 34px;
    border-radius: 11px;
    font-size: 0.9rem;
  }

  .quick-item strong {
    font-size: 0.69rem;
  }

  .quick-item small {
    font-size: 0.56rem;
  }

  .services {
    padding: 58px 0 64px;
    background:
      radial-gradient(circle at 100% 0, rgba(255, 183, 3, 0.1), transparent 22%),
      var(--mobile-surface);
  }

  .services-top {
    gap: 13px;
  }

  .services .section-heading .eyebrow {
    margin-bottom: 7px;
    font-size: 0.66rem;
  }

  .services .section-heading h2 {
    max-width: 330px;
    font-size: clamp(1.65rem, 7.7vw, 2rem);
    line-height: 1.08;
  }

  .services .section-heading > p:last-child {
    margin-top: 9px;
    font-size: 0.78rem;
    line-height: 1.48;
  }

  .services-counter {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 4px;
    padding: 0 11px;
    border: 1px solid #dfe5e2;
    border-radius: 999px;
    color: #647184;
    background: rgba(255, 255, 255, 0.76);
    font-size: 0.68rem;
  }

  .services-counter strong {
    font-size: 0.88rem;
  }

  .service-tools {
    gap: 10px;
    margin-top: 18px;
  }

  .search-box {
    min-height: 50px;
    border: 1px solid #dce2df;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(7, 21, 37, 0.05);
  }

  .search-input {
    height: 50px;
    border: 0;
    border-radius: 16px;
    background: transparent;
    font-size: 0.84rem;
  }

  .filters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .filter-btn {
    min-height: 38px;
    padding-inline: 5px;
    border-color: #dde3e0;
    border-radius: 12px;
    box-shadow: 0 3px 10px rgba(7, 21, 37, 0.025);
    font-size: 0.67rem;
  }

  .filter-btn.active {
    border-color: #0b1d33;
    background: #0b1d33;
    box-shadow: 0 8px 20px rgba(7, 21, 37, 0.16);
  }

  .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
  }

  .service-card {
    border-color: rgba(216, 222, 218, 0.94);
    border-radius: var(--mobile-card-radius);
    box-shadow: 0 9px 26px rgba(7, 21, 37, 0.065);
    transform: translateZ(0);
  }

  .service-card:active {
    border-color: rgba(19, 138, 102, 0.35);
    box-shadow: 0 4px 14px rgba(7, 21, 37, 0.08);
    transform: scale(0.985);
  }

  .service-visual {
    height: 112px;
  }

  .service-visual.has-service-image::after {
    height: 50%;
    background: linear-gradient(180deg, transparent, rgba(7, 21, 37, 0.38));
  }

  .service-category-image {
    transform: scale(1.01);
  }

  .service-icon {
    width: 52px;
    height: 52px;
    border-radius: 17px 17px 17px 7px;
    font-size: 1.32rem;
  }

  .service-badge {
    top: 8px;
    left: 8px;
    max-width: calc(100% - 16px);
    padding: 4px 7px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(7, 21, 37, 0.12);
    font-size: 0.48rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  html[dir="rtl"] .service-badge {
    right: 8px;
    left: auto;
  }

  .service-body {
    padding: 11px;
  }

  .service-category {
    margin-bottom: 4px;
    font-size: 0.53rem;
  }

  .service-title {
    min-height: 38px;
    font-size: 0.82rem;
    line-height: 1.22;
  }

  .service-meta {
    gap: 4px;
    margin-top: 8px;
    padding-top: 8px;
    font-size: 0.56rem;
    line-height: 1.25;
  }

  .service-meta span {
    gap: 3px;
  }

  .service-order {
    min-height: 42px;
    margin-top: 9px;
    padding: 6px;
    border-radius: 12px;
    font-size: 0.64rem;
    line-height: 1.15;
  }

  .service-order i {
    display: inline-block;
    flex: 0 0 auto;
    font-size: 0.86rem;
  }

  .catalog-panel,
  .order-panel,
  .review-panel {
    border-radius: 26px 26px 0 0;
  }

  .catalog-panel::before,
  .order-panel::before,
  .review-panel::before {
    position: sticky;
    z-index: 9;
    top: 7px;
    display: block;
    width: 42px;
    height: 5px;
    margin: 7px auto -12px;
    content: "";
    border-radius: 99px;
    background: #d7dde1;
  }

  .catalog-head,
  .order-head,
  .review-head,
  .menu-head {
    padding-top: 22px;
  }

  .provider-card {
    border-radius: 19px;
    box-shadow: 0 8px 24px rgba(7, 21, 37, 0.055);
  }

  .how-it-works,
  .trust,
  .faq,
  .app-reviews {
    padding: 62px 0;
  }

  .coverage,
  .final-cta {
    padding-bottom: 62px;
  }

  .coverage-shell,
  .cta-shell,
  .pricing-card,
  .review-card-live {
    border-radius: 22px;
  }

  .mobile-app-nav {
    right: 8px;
    bottom: calc(7px + env(safe-area-inset-bottom));
    left: 8px;
    min-height: 67px;
    padding: 6px 7px;
    border: 1px solid rgba(215, 222, 226, 0.85);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 14px 40px rgba(7, 21, 37, 0.2);
    backdrop-filter: blur(22px) saturate(1.2);
  }

  .mobile-app-nav a {
    min-height: 53px;
    gap: 3px;
    border-radius: 16px;
    font-size: 0.55rem;
  }

  .mobile-app-nav a i {
    font-size: 1.08rem;
  }

  .mobile-app-nav a.active {
    color: #0c7558;
    background: #ddf7ef;
  }

  .mobile-app-nav .mobile-call i,
  .mobile-app-nav .mobile-whatsapp i {
    display: grid;
    width: 31px;
    height: 31px;
    place-items: center;
    border-radius: 11px;
    color: #fff;
  }

  .mobile-app-nav .mobile-call i {
    background: #1976c9;
    box-shadow: 0 7px 16px rgba(25, 118, 201, 0.23);
  }

  .mobile-app-nav .mobile-whatsapp i {
    background: #18ad80;
    box-shadow: 0 7px 16px rgba(24, 173, 128, 0.25);
  }

  .app-toast {
    right: 12px;
    bottom: calc(92px + env(safe-area-inset-bottom));
    border-radius: 16px;
  }

  html[dir="rtl"] .search-box > i {
    right: 16px;
    left: auto;
  }

  html[dir="rtl"] .search-input {
    padding-right: 43px;
    padding-left: 42px;
  }

  html[dir="rtl"] .search-clear {
    right: auto;
    left: 11px;
  }
}

@media (max-width: 355px) {
  .brand-copy small {
    display: none;
  }

  .language-toggle {
    min-width: 45px;
  }

  .language-toggle .language-flag {
    display: none;
  }

  .hero-proof span {
    font-size: 0.53rem;
  }

  .service-title {
    font-size: 0.76rem;
  }

  .service-order {
    font-size: 0.58rem;
  }
}
