:root{--spring: cubic-bezier(.3,1.4,.5,1);--ease-out: cubic-bezier(.22,.8,.3,1)}@media (prefers-reduced-motion: no-preference){.top-header{animation: qr-drop .5s var(--ease-out) both}.bottom-nav{animation: qr-rise-nav .55s var(--ease-out) .1s both}.logo-text{animation: qr-fade .6s ease .15s both}.motion :is(.banners-slider,.banner-card,.filters-section,.results-header,.place-card,.pagination-container,.page-header,.profile-header,.profile-content>*,.empty-state,.auth-box,.form-section,.footer-section):not(.in){opacity: 0;transform: perspective(900px) translateY(34px) rotateX(10deg) scale(.96)}.motion :is(.banners-slider,.banner-card,.filters-section,.results-header,.place-card,.pagination-container,.page-header,.profile-header,.profile-content>*,.empty-state,.auth-box,.form-section,.footer-section).in{animation: qr-reveal .65s var(--ease-out) backwards;animation-delay: var(--d,0ms)}.motion:not(.motion-live) :is(.banners-slider,.banner-card,.filters-section,.results-header,.place-card,.pagination-container,.page-header,.profile-header,.profile-content>*,.empty-state,.auth-box,.form-section,.footer-section):not(.in){animation: qr-failsafe .01s 2.5s forwards}.place-card{transition: transform .35s var(--spring),box-shadow .3s ease}.place-card:active{transform: scale(.965);transition-duration: .12s}.card-image img{transition: transform .6s var(--ease-out),opacity .4s ease}@media (hover: hover) and (pointer: fine){.place-card:hover .card-image img{transform: scale(1.07)}.place-card:hover{transform: translateY(-6px)}.action-btn:hover,.detail-btn:hover{transform: translateY(-2px) scale(1.04)}}.action-btn,.detail-btn,.type-btn,.btn-near-me,.btn-reset,.btn-submit,.nav-item,.favorite-btn,.page-btn{transition: transform .35s var(--spring),box-shadow .3s ease,background-color .25s ease,color .25s ease,border-color .25s ease}.action-btn:active,.detail-btn:active,.type-btn:active,.btn-near-me:active,.btn-reset:active,.btn-submit:active,.favorite-btn:active,.page-btn:active{transform: scale(.93);transition-duration: .1s}.type-btn.active{animation: qr-pop .45s var(--spring)}.favorite-btn.pop i{animation: qr-heart .6s var(--spring)}.qr-ripple{position: relative;overflow: hidden}.qr-ripple>.ripple-dot{position: absolute;border-radius: 50%;pointer-events: none;background: rgba(255,255,255,.45);transform: scale(0);animation: qr-ripple .6s ease-out forwards}/* لمعان يمر على زر "قريب مني" */ .btn-near-me{position: relative;overflow: hidden}.btn-near-me::after{content: '';position: absolute;inset: 0;transform: translateX(-120%);background: linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);animation: qr-shine 4.5s ease-in-out 1.2s infinite}.add-button{animation: qr-pulse 3.6s ease-out 2s infinite}.nav-item.active i{animation: qr-nav-bounce .55s var(--spring)}.slide.active img{animation: qr-kenburns 9s ease-out both}.skeleton-card{border-radius: var(--r-card,16px);overflow: hidden;background: #fff;box-shadow: var(--shadow-card,0 1px 4px rgba(0,0,0,.08))}.skeleton-card .sk-img,.skeleton-card .sk-line,.skeleton-card .sk-btns span{background: linear-gradient(90deg,#eef2f6 25%,#e3e9ef 37%,#eef2f6 63%);background-size: 400% 100%;animation: qr-shimmer 1.3s ease infinite}#placeModal{transition: background .3s ease,backdrop-filter .3s ease}#placeModal.active{animation: qr-fade .25s ease both}#placeModal.active .modal-content{animation: qr-sheet-in .45s var(--spring) both}#placeModal.closing{animation: qr-fade-out .22s ease forwards}#placeModal.closing .modal-content{animation: qr-sheet-out .22s ease-in forwards}#placeModal .pd-anim{opacity: 0;animation: qr-up .45s var(--ease-out) forwards;animation-delay: calc(var(--i,0) * 55ms + 120ms)}}@keyframes qr-reveal{from{opacity: 0;transform: perspective(900px) translateY(34px) rotateX(10deg) scale(.96)}to{opacity: 1;transform: none}}@keyframes qr-failsafe{to{opacity: 1;transform: none}}@keyframes qr-drop{from{opacity: 0;transform: translateY(-100%)}to{opacity: 1;transform: none}}@keyframes qr-rise-nav{from{opacity: 0;transform: translateY(100%)}to{opacity: 1;transform: none}}@keyframes qr-fade{from{opacity: 0}to{opacity: 1}}@keyframes qr-fade-out{to{opacity: 0}}@keyframes qr-up{from{opacity: 0;transform: translateY(14px)}to{opacity: 1;transform: none}}@keyframes qr-pop{0%{transform: scale(.85)}60%{transform: scale(1.1)}100%{transform: scale(1)}}@keyframes qr-heart{0%{transform: scale(1)}30%{transform: scale(1.5) rotate(-8deg)}60%{transform: scale(.9)}100%{transform: scale(1)}}@keyframes qr-ripple{to{transform: scale(4);opacity: 0}}@keyframes qr-shine{0%,55%{transform: translateX(-120%)}85%,100%{transform: translateX(120%)}}@keyframes qr-pulse{0%{box-shadow: 0 0 0 0 rgba(255,107,53,.5)}70%,100%{box-shadow: 0 0 0 16px rgba(255,107,53,0)}}@keyframes qr-nav-bounce{0%{transform: translateY(6px) scale(.8)}60%{transform: translateY(-4px) scale(1.15)}100%{transform: none}}@keyframes qr-kenburns{from{transform: scale(1)}to{transform: scale(1.08)}}@keyframes qr-shimmer{0%{background-position: 100% 0}100%{background-position: -100% 0}}@keyframes qr-sheet-in{from{opacity: 0;transform: translateY(40px) scale(.96)}to{opacity: 1;transform: none}}@keyframes qr-sheet-out{to{opacity: 0;transform: translateY(30px) scale(.97)}}#placeModal .modal-content{width: min(94vw,860px);max-width: 860px;max-height: 96dvh;padding: 0;overflow: hidden auto;border-radius: 22px}#placeModal .close-modal{top: 10px;inset-inline-end: 10px;inset-inline-start: auto;right: auto;left: auto;z-index: 5;width: 36px;height: 36px;border-radius: 50%;display: flex;align-items: center;justify-content: center;background: rgba(0,0,0,.55);color: #fff;font-size: 1.4rem;line-height: 1;-webkit-backdrop-filter: blur(6px);backdrop-filter: blur(6px)}#placeModal .place-details{padding: 0;display: grid;grid-template-columns: 1fr}#placeModal .detail-image{margin: 0;border-radius: 0;min-height: 0;height: clamp(130px,25dvh,220px);max-height: none;background: linear-gradient(135deg,var(--bg-color),var(--border-color))}#placeModal .detail-image img{object-fit: cover}#placeModal .detail-content{padding: 14px 16px 16px;display: flex;flex-direction: column;gap: 10px;min-width: 0}#placeModal .detail-content h2{font-size: clamp(1.15rem,4.4vw,1.6rem);margin: 0;line-height: 1.3}#placeModal .detail-meta{gap: 6px;margin: 0}#placeModal .detail-type,#placeModal .detail-location{padding: 5px 10px;font-size: .78rem;border-radius: 999px;gap: 6px;font-weight: 600}#placeModal .detail-description{margin: 0}#placeModal .detail-description h3{display: none}#placeModal .detail-description p{margin: 0;font-size: .88rem;line-height: 1.65;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;line-clamp: 3;overflow: hidden}#placeModal .detail-description.open p{-webkit-line-clamp: unset;line-clamp: unset}#placeModal .pd-more{background: none;border: 0;padding: 2px 0;color: var(--primary-color);font-weight: 700;font-size: .8rem;cursor: pointer;font-family: inherit}#placeModal .branches-list{margin: 0}#placeModal .branches-list h3{font-size: .85rem;margin: 0 0 6px;color: var(--text-secondary)}#placeModal .branches-scroller{display: flex;gap: 8px;overflow-x: auto;padding-bottom: 2px;scroll-snap-type: x proximity;scrollbar-width: none}#placeModal .branches-scroller::-webkit-scrollbar{display: none}#placeModal .branch-item{flex: 0 0 auto;min-width: 150px;max-width: 220px;margin: 0;padding: 8px 10px;scroll-snap-align: start;flex-direction: column;align-items: flex-start;gap: 6px;border: 1px solid var(--border-color);background: #fff}#placeModal .branch-item strong{font-size: .82rem}#placeModal .branch-item small{font-size: .7rem}#placeModal .detail-actions{display: grid;grid-template-columns: repeat(auto-fit,minmax(64px,1fr));gap: 8px;margin: 0}#placeModal .detail-btn{min-width: 0;flex: none;flex-direction: column;gap: 4px;padding: 9px 4px;font-size: .72rem;font-weight: 700;border-radius: 14px;text-decoration: none;line-height: 1.1}#placeModal .detail-btn i{font-size: 1.25rem}#placeModal .admin-info{margin: 0;padding: 8px 12px;font-size: .8rem}#placeModal .admin-info h3{display: none}#placeModal .admin-info p{margin: 2px 0}@media (max-width: 640px){#placeModal.active{align-items: flex-end}#placeModal .modal-content{width: 100%;max-width: none;border-radius: 22px 22px 0 0;max-height: 94dvh;padding-bottom: env(safe-area-inset-bottom,0px)}#placeModal .modal-content::before{content: '';position: absolute;top: 6px;left: 50%;width: 38px;height: 4px;margin-left: -19px;border-radius: 4px;background: rgba(255,255,255,.8);z-index: 6;pointer-events: none}}@media (min-width: 720px){#placeModal .place-details{grid-template-columns: minmax(240px,40%) 1fr;align-items: stretch}#placeModal .detail-image{height: 100%;min-height: 320px;max-height: none}#placeModal .detail-content{padding: 22px 22px 20px;gap: 12px;justify-content: center}#placeModal .detail-description p{-webkit-line-clamp: 4;line-clamp: 4;font-size: .92rem}#placeModal .detail-actions{grid-template-columns: repeat(auto-fit,minmax(76px,1fr))}}