/* Sawah — mobile refinements */
@media (max-width: 700px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{overflow-x:hidden}
  img,svg,video{max-width:100%;height:auto}
  .container{width:min(100% - 24px,1180px)!important;margin-inline:auto!important}

  /* top navigation */
  .topbar .nav,.top .nav,.site-header .nav{min-height:72px!important;height:auto!important;padding:10px 0!important;gap:10px!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important}
  .topbar .brand,.top .brand{font-size:30px!important;letter-spacing:-1px!important;min-width:auto!important}
  .brand strong{font-size:32px!important}
  .brand small{font-size:6px!important;letter-spacing:3px!important}
  .book,.back{font-size:11px!important;padding:9px 12px!important;white-space:nowrap}
  .nav-links{max-height:calc(100vh - 90px);overflow:auto}

  /* hero sections */
  .hero{min-height:0!important;padding-top:84px!important;padding-bottom:70px!important;align-items:center!important}
  .hero-inner{padding-top:26px!important;padding-bottom:16px!important;max-width:100%!important}
  .hero h1{font-size:clamp(38px,12vw,54px)!important;line-height:1.08!important;letter-spacing:-1px!important;overflow-wrap:anywhere}
  .hero p{font-size:14px!important;line-height:1.9!important;max-width:100%!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .hero-actions a,.hero-actions .btn{width:100%!important;min-height:46px}
  .hero-points{grid-template-columns:1fr!important}
  .hero-wave{height:44px!important}

  /* generic sections/cards */
  .section,.content{padding-top:34px!important;padding-bottom:54px!important}
  .heading,.section-heading{margin-bottom:22px!important}
  .heading h2,.section-heading h2{font-size:28px!important;line-height:1.3!important}
  .grid,.hotel-grid,.destination-grid,.guide-grid,.benefits-grid{grid-template-columns:1fr!important;gap:14px!important}
  .featured{grid-column:auto!important;display:block!important}
  .card,.hotel-card,.hotel-zone,.mall-card,.guide-card,.article{border-radius:20px!important}
  .article{padding:18px!important}
  .card-body,.hotel-body,.zone-body{padding:17px!important}
  .card h3,.zone-body h3,.hotel-name{font-size:22px!important;line-height:1.35!important}
  .card-media,.zone-media,.hotel-media,.mall-image{height:220px!important;min-height:0!important}

  /* Moscow guide/weather */
  .city-signature{padding-top:20px!important}
  .city-signature-inner{padding-inline:26px!important}
  .city-signature h2{font-size:40px!important}
  .weather-panel{padding:18px 14px!important;border-radius:20px!important}
  .weather-head{flex-direction:column!important;align-items:flex-start!important;gap:8px!important}
  .weather-current{grid-template-columns:1fr!important}
  .current-main{padding:16px!important;gap:12px!important}
  .current-temp{font-size:44px!important}
  .current-details{grid-template-columns:1fr 1fr!important;padding:12px!important}
  .forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .forecast-day{padding:12px 7px!important;border-radius:15px!important}
  .points{grid-template-columns:1fr!important}

  /* hotel detail */
  .facts li{grid-template-columns:1fr!important;gap:2px!important;padding:11px 0!important}
  .facts span{font-size:11px!important}
  .facts strong{font-size:14px!important;overflow-wrap:anywhere}
  .cta-grid{grid-template-columns:1fr!important;gap:12px!important;margin:20px 0!important}
  .cta{grid-column:auto!important;min-height:0!important;padding:20px!important;border-radius:20px!important}
  .cta h3{font-size:20px!important}
  .cta p{font-size:12px!important}
  .cta-go{padding:20px!important;padding-top:102px!important}
  .go-mark{top:20px!important;left:20px!important;transform:none!important;width:64px!important;height:64px!important;border-radius:18px!important}
  .cta-btn{width:100%!important;min-height:46px!important}
  .gallery-section{margin-top:24px!important;padding-top:20px!important}
  .gallery-head{align-items:flex-start!important;gap:10px!important}
  .gallery-head h2{font-size:23px!important}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .gallery-item{border-radius:12px!important}
  .lightbox{grid-template-columns:42px 1fr 42px!important;padding:10px!important}
  .lightbox img{max-height:78vh!important;border-radius:12px!important}
  .lightbox-btn{width:36px!important;height:36px!important;font-size:20px!important}
  .lightbox-close{top:10px!important;right:10px!important;width:38px!important;height:38px!important}
  .lightbox-counter{top:12px!important;left:10px!important}

  /* hotel lists / action buttons */
  .actions{flex-direction:column!important;gap:8px!important}
  .actions .btn{width:100%!important;min-height:44px!important}
  .count{margin-inline:auto}

  /* main page sections */
  .city-guide-hero,.map-card{grid-template-columns:1fr!important}
  .city-guide-copy{padding:22px!important}
  .city-guide-copy h3{font-size:27px!important}
  .city-guide-image{min-height:230px!important}
  .route{grid-template-columns:1fr!important;gap:12px!important}
  .route-flight{justify-content:center!important;transform:rotate(90deg);height:28px}
  .map-card{padding:20px!important}
  .map-dots{height:200px!important}
  .gallery-grid figure{min-height:205px!important}

  /* footer */
  .footer-grid{grid-template-columns:1fr!important;gap:22px!important}
  .footer-row,.footer-bottom{flex-direction:column!important;text-align:center!important;align-items:center!important;gap:7px!important}

  /* prevent accidental horizontal overflow */
  .nav,.hero-inner,.article,.card,.hotel-card,.hotel-zone,.mall-card,.weather-panel,.cta,.gallery-grid,.forecast-grid{min-width:0}
  h1,h2,h3,p,a,span,strong{overflow-wrap:break-word}
}

@media (max-width: 380px){
  .container{width:min(100% - 18px,1180px)!important}
  .topbar .brand,.top .brand{font-size:27px!important}
  .book,.back{font-size:10px!important;padding:8px 9px!important}
  .hero h1{font-size:36px!important}
  .gallery-grid{gap:5px!important}
  .article{padding:14px!important}
  .current-details{grid-template-columns:1fr!important}
}

/* Mall detail — approved compact Yandex Map / Yandex Go cards */
.article .quick-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:min(620px,100%);margin:24px auto 0!important;direction:rtl}
.article .quick-actions .source{display:none!important}
.article .quick-actions .go,.article .quick-actions .map-link{position:relative!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;min-width:0!important;min-height:76px!important;padding:11px 14px 11px 62px!important;border:0!important;border-radius:14px!important;font-family:"Cairo",Tahoma,Arial,sans-serif!important;font-size:0!important;line-height:1.15!important;overflow:hidden!important;transition:transform .18s ease,box-shadow .18s ease!important}
.article .quick-actions .map-link{background-color:#e92334!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M5 10.5 17 5l14 5.5L43 5v32.5L31 43l-14-5.5L5 43V10.5Z' stroke='white' stroke-width='3.7' stroke-linejoin='round'/%3E%3Cpath d='M17 5v32.5M31 10.5V43' stroke='white' stroke-width='3.7'/%3E%3C/svg%3E"),linear-gradient(135deg,#db1728 0%,#f1393e 100%)!important;background-repeat:no-repeat,no-repeat!important;background-position:14px center,center!important;background-size:38px 38px,100% 100%!important;color:#fff!important;box-shadow:0 10px 24px rgba(224,27,45,.24)!important}
.article .quick-actions .go{background-color:#ffc51c!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M10 20.5 14 11h20l4 9.5 3 2.5v11H7V23l3-2.5Z' fill='%23151515'/%3E%3Crect x='11' y='25' width='26' height='6' rx='2' fill='%23ffd526'/%3E%3Ccircle cx='13' cy='35.5' r='4' fill='%23151515'/%3E%3Ccircle cx='35' cy='35.5' r='4' fill='%23151515'/%3E%3Cpath d='M16 14h16l2 5H14l2-5Z' fill='%23ffd526'/%3E%3C/svg%3E"),linear-gradient(135deg,#ffd83b 0%,#ffb613 100%)!important;background-repeat:no-repeat,no-repeat!important;background-position:14px center,center!important;background-size:38px 38px,100% 100%!important;color:#111!important;box-shadow:0 10px 24px rgba(255,183,18,.22)!important}
.article .quick-actions .map-link::before,.article .quick-actions .go::before{display:block;font-size:15px;font-weight:800;line-height:1.15;white-space:nowrap;direction:ltr}
.article .quick-actions .map-link::after,.article .quick-actions .go::after{display:block;margin-top:6px;font-size:9px;font-weight:700;line-height:1.25;white-space:nowrap;direction:rtl}
.article .quick-actions .map-link::before{content:"Yandex Map"}.article .quick-actions .map-link::after{content:"عرض الموقع على الخريطة"}.article .quick-actions .go::before{content:"Yandex Go"}.article .quick-actions .go::after{content:"اطلب سيارة الآن"}
.article .quick-actions .go:hover,.article .quick-actions .map-link:hover{transform:translateY(-2px)!important}

@media(max-width:700px){
  .article .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;width:100%!important;margin-top:18px!important}
  .article .quick-actions .go,.article .quick-actions .map-link{min-height:66px!important;padding:9px 8px 9px 48px!important;border-radius:11px!important;background-position:9px center,center!important;background-size:31px 31px,100% 100%!important}
  .article .quick-actions .map-link::before,.article .quick-actions .go::before{font-size:12px!important}
  .article .quick-actions .map-link::after,.article .quick-actions .go::after{font-size:7.5px!important;margin-top:4px!important}
}

@media(max-width:360px){
  .article .quick-actions{gap:6px!important}
  .article .quick-actions .go,.article .quick-actions .map-link{min-height:62px!important;padding-left:43px!important;background-position:7px center,center!important;background-size:28px 28px,100% 100%!important}
  .article .quick-actions .map-link::before,.article .quick-actions .go::before{font-size:11px!important}
  .article .quick-actions .map-link::after,.article .quick-actions .go::after{font-size:7px!important}
}
