/* GhiềnPhim / PhimCity structural port v2 */
:root{--color-gray-50:248 250 252;--color-gray-100:241 245 249;--color-gray-200:226 232 240;--color-gray-300:203 213 225;--color-gray-400:148 163 184;--color-gray-500:100 116 139;--color-gray-600:71 85 105;--color-gray-700:51 65 85;--color-gray-800:30 41 59;--color-gray-900:15 23 42;--color-gray-950:2 6 23;--color-primary-50:255 248 235;--color-primary-100:255 237 205;--color-primary-200:254 215 143;--color-primary-300:253 190 82;--color-primary-400:241 176 70;--color-primary-500:235 160 47;--color-primary-600:210 132 28;--color-primary-700:174 98 24;--color-primary-800:142 78 25;--color-primary-900:117 65 24;--color-primary-950:68 32 11}
html,body{background:#030712!important;color:#d1d5db!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body{margin:0;min-height:100vh}
a{text-decoration:none!important}.gp-shell{min-height:100vh;display:flex;flex-direction:column}.gp-page{flex:1;min-width:0}.custom-container{width:100%;padding-left:20px!important;padding-right:20px!important;margin:0 auto}.gp-header{overflow:visible!important;z-index:9999!important}.gp-header-inner{overflow:visible!important}.gp-logo{display:inline-flex;align-items:center;white-space:nowrap;color:#fff!important;font-weight:800;font-size:24px;letter-spacing:-1px;line-height:1}.gp-logo-dot{width:8px;height:8px;border-radius:999px;background:rgb(var(--color-primary-500));display:inline-block;margin:0 1px}.gp-logo-city{font-weight:700}.gp-mobile-nav{position:fixed;inset:0;z-index:10000;background:#030712;transform:translateX(-100%);transition:transform .25s ease;overflow:auto}.gp-mobile-nav.open{transform:translateX(0)}.gp-mobile-nav a{display:block;padding:13px 4px;color:#d1d5db;border-bottom:1px solid rgba(255,255,255,.06)}.gp-search-overlay{position:fixed;inset:0;z-index:10020;background:rgba(3,7,18,.96);display:none;align-items:flex-start;justify-content:center;padding:100px 20px}.gp-search-overlay.open{display:flex}.gp-search-box{width:min(760px,100%);position:relative}.gp-search-box input{width:100%;height:62px;border-radius:999px;border:1px solid #374151;background:#111827;color:#fff;padding:0 62px 0 26px;font-size:18px;outline:none}.gp-search-close{position:absolute;right:19px;top:50%;transform:translateY(-50%);font-size:30px;color:#9ca3af;background:none;border:0}.gp-main{padding-bottom:36px}.gp-hero{position:relative;overflow:hidden}.gp-hero-track{position:relative}.gp-hero-slide{display:none}.gp-hero-slide.active{display:block;animation:gpFade .45s ease}.gp-hero-slide .gp-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gp-hero-slide .gp-hero-caption{padding-left:0;padding-right:20px}.gp-hero-slide .gp-hero-caption h2{max-width:900px}.gp-hero-dots{display:flex;gap:7px;justify-content:center;margin-top:14px}.gp-hero-dots button{width:7px;height:7px;border-radius:99px;border:0;background:#4b5563;padding:0}.gp-hero-dots button.active{width:24px;background:rgb(var(--color-primary-500))}@keyframes gpFade{from{opacity:.2}to{opacity:1}}
.gp-section{padding-bottom:24px}.gp-section-head{display:flex;align-items:center;margin-bottom:24px}.gp-section-head h2,.gp-section-head h3{font-size:1.125rem;line-height:1.75rem;font-weight:600;color:#fff;margin:0}.gp-section-head>a{margin-left:auto;color:#9ca3af;font-size:.875rem}.gp-section-head>a:hover{color:rgb(var(--color-primary-500))}.gp-card-title{color:#d1d5db!important}.gp-movie-card:hover .gp-card-title{color:#fbbf24!important}.gp-movie-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.gp-card-poster{border-radius:.375rem;background:#111827}.gp-card-badge{position:absolute;right:0;bottom:0;border-radius:.375rem 0 .375rem 0;background:rgba(17,24,39,.92);color:#e5e7eb;font-size:10px;padding:5px 7px;z-index:3}.gp-collection-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:16px}.gp-collection-card{border-radius:.75rem;min-height:98px;padding:20px;overflow:hidden;position:relative;display:flex;align-items:center;color:#fff!important}.gp-collection-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:999px;right:-25px;bottom:-55px;background:rgba(255,255,255,.15)}.gp-collection-card strong{font-size:16px;display:block;max-width:75%}.gp-collection-card small{opacity:.7}.gp-filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.gp-filter-chip{border:1px solid #374151;border-radius:.6rem;background:#111827;color:#9ca3af;padding:9px 13px;font-size:13px}.gp-filter-chip:hover{border-color:#6b7280;color:#fff}.gp-pagination .pagination{display:flex;gap:7px;flex-wrap:wrap;margin-top:30px;padding-left:0;list-style:none}.gp-pagination .page-link,.pagination .page-link{border:1px solid #374151!important;background:#111827!important;color:#9ca3af!important;border-radius:.55rem!important;padding:.55rem .8rem!important}.gp-pagination .active .page-link,.pagination .active .page-link{background:rgb(var(--color-primary-500))!important;color:#fff!important;border-color:transparent!important}.gp-detail-hero{position:relative;min-height:520px;margin-bottom:24px;overflow:hidden;border-radius:.6rem}.gp-detail-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gp-detail-shade{position:absolute;inset:0;background:linear-gradient(90deg,#030712 0%,rgba(3,7,18,.9) 28%,rgba(3,7,18,.45) 62%,#030712 100%),linear-gradient(0deg,#030712 0%,transparent 45%,rgba(3,7,18,.25) 100%)}.gp-detail-inner{position:relative;z-index:2;min-height:520px;display:flex;align-items:flex-end;padding:40px}.gp-detail-poster{width:185px;aspect-ratio:2/3;border-radius:.6rem;overflow:hidden;flex:none;box-shadow:0 20px 50px rgba(0,0,0,.45)}.gp-detail-poster img{width:100%;height:100%;object-fit:cover}.gp-detail-copy{padding-left:28px;max-width:780px}.gp-detail-copy h1{color:#fff;font-size:34px;font-weight:700;letter-spacing:-.04em;margin:0 0 6px}.gp-detail-copy h2{font-size:15px;color:#9ca3af;margin:0 0 16px}.gp-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:13px;color:#9ca3af}.gp-pill{background:rgba(75,85,99,.5);backdrop-filter:blur(8px);color:#e5e7eb;border-radius:.3rem;padding:3px 8px}.gp-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.gp-primary{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:rgb(var(--color-primary-500));color:#fff!important;border-radius:999px;padding:13px 25px;font-weight:500}.gp-secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#111827;color:#d1d5db!important;border:1px solid #374151;border-radius:999px;padding:12px 20px}.gp-detail-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px}.gp-panel{background:#0b1220;border:1px solid rgba(255,255,255,.06);border-radius:.75rem;padding:22px}.gp-attributes{display:grid;gap:12px;font-size:14px}.gp-attributes-row{display:grid;grid-template-columns:110px 1fr;gap:14px}.gp-attributes-row span:first-child{color:#6b7280}.gp-watch-wrap{max-width:1280px;margin:0 auto}.gp-player-frame{background:#000;border-radius:.65rem;overflow:hidden}.gp-player-frame .app-detail-embed{margin:0!important}.gp-player-frame .embed-col{padding:0!important}.gp-watch-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0 20px}.gp-episodes{display:flex;flex-wrap:wrap;gap:8px}.gp-episodes a{padding:8px 12px;background:#111827;border:1px solid #374151;border-radius:.45rem;color:#9ca3af}.gp-episodes a:hover,.gp-episodes a.active{background:rgb(var(--color-primary-500));border-color:transparent;color:#fff}.gp-auth-shell{width:min(512px,100%);margin:auto;padding:60px 20px}.gp-auth-shell h1{text-align:center;color:#fff;font-weight:600;font-size:30px;margin-bottom:36px}.gp-auth-shell .form-group{margin-bottom:20px}.gp-auth-shell label{color:#9ca3af;font-size:14px;margin-bottom:8px;display:block}.gp-auth-shell input{width:100%;height:48px;border-radius:.55rem;background:#111827;border:1px solid #374151;color:#fff;padding:0 14px}.gp-auth-shell .btn{width:100%;border-radius:999px;background:rgb(var(--color-primary-500));border:0;color:#fff;padding:13px 20px}.gp-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.06);padding:38px 0;color:#6b7280}.gp-footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;flex-wrap:wrap}.gp-footer-links{display:flex;gap:18px;flex-wrap:wrap}.gp-footer a{color:#9ca3af}.gp-footer a:hover{color:#fff}
/* legacy content inside new shell */
.gp-page .app-content,.gp-page .app-section,.gp-page .flex-fill{max-width:none!important;width:100%}.gp-page .app-section{margin-bottom:28px}.gp-page .breadcrumb{background:transparent!important;padding:0!important}.gp-page .breadcrumb a,.gp-page .breadcrumb-item{color:#6b7280!important}.gp-page .app-heading .text,.gp-page .app-heading h3{color:#fff!important}.gp-page .row-cols-6>.col,.gp-page .row-cols-md-5>.col{margin-bottom:24px}
@media(min-width:640px){.gp-movie-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gp-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:768px){.gp-movie-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1024px){.custom-container{padding-left:20px!important;padding-right:20px!important}.gp-movie-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.gp-collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1536px){.gp-movie-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(max-width:1023px){.gp-detail-hero{min-height:auto}.gp-detail-inner{min-height:440px;padding:24px;align-items:flex-end}.gp-detail-poster{width:130px}.gp-detail-copy{padding-left:18px}.gp-detail-copy h1{font-size:26px}.gp-detail-body{grid-template-columns:1fr}.gp-header .gp-desktop-nav,.gp-header .gp-desktop-auth{display:none!important}}
@media(max-width:639px){.custom-container{padding-left:14px!important;padding-right:14px!important}.gp-hero-slide>div{aspect-ratio:1/1!important}.gp-hero-slide .gp-hero-caption{padding:22px!important;justify-content:flex-end!important}.gp-hero-slide .gp-hero-caption h2{font-size:30px!important}.gp-hero-slide .gp-hero-description{font-size:13px!important;line-height:1.7!important}.gp-detail-inner{display:block;padding:22px;padding-top:190px}.gp-detail-poster{display:none}.gp-detail-copy{padding:0}.gp-detail-copy h1{font-size:26px}.gp-detail-body{gap:18px}.gp-movie-grid{gap:18px 12px}.gp-card-meta{font-size:10px!important}.gp-auth-shell{padding-top:40px}.gp-footer-inner{display:block}.gp-footer-links{margin-top:20px}}
/* Keep the legacy filter engine/modal, but do not render its old desktop toolbar. */
.gp-page .filter-toolbar{display:none!important}.gp-page .app-filter{z-index:10050}.gp-page .app-filter .modal-dialog{background:#0b1220;color:#d1d5db}.gp-page .app-filter .form-control,.gp-page .app-filter .custom-select{background:#111827!important;border-color:#374151!important;color:#d1d5db!important}
/* The saved reference omitted its decorative texture file. Keep the same bold
   uppercase hero treatment without letting the title become transparent. */
.texture-text{background:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 1px 0 rgba(255,255,255,.04)}

/* v5.4 - Search modal matched to the original PhimCity HTML (max-w-3xl, top-20). */
.gp-search-overlay{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:64px!important;
  bottom:0!important;
  z-index:10020!important;
  display:none!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:16px 24px 24px!important;
  background:rgba(3,7,18,.30)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  backdrop-filter:blur(8px)!important;
  overflow:hidden!important;
}
.gp-search-overlay.open{display:flex!important}
.gp-search-modal{width:100%;max-width:768px;margin:0 auto}
.gp-search-box{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  padding:4px 8px!important;
  border:0!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.gp-search-box .video-search{
  display:block!important;
  width:100%!important;
  height:44px!important;
  margin:0!important;
  padding:12px 16px 12px 48px!important;
  border:0!important;
  border-radius:9px!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:#111827!important;
  font-size:14px!important;
  line-height:20px!important;
  font-weight:400!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.gp-search-box .video-search::placeholder{color:rgba(156,163,175,.55)!important;opacity:1}
.gp-search-box .video-search:focus{outline:0!important;box-shadow:none!important;border:0!important}
.gp-search-submit{
  position:absolute;
  z-index:2;
  left:8px;
  top:4px;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  background:transparent;
  color:#94a3b8;
  cursor:pointer;
}
.gp-search-submit svg{width:20px;height:20px}
.gp-search-submit:hover{color:#64748b}
@media(max-width:700px){
  .gp-search-overlay{top:64px!important;padding:14px 16px 20px!important}
  .gp-search-modal{max-width:100%}
}

/* v5.6 - PhimCity live search suggestions + dedicated search results page */
.gp-search-modal.has-results .gp-search-box{
  border-radius:12px 12px 0 0!important;
  position:relative!important;
  z-index:2!important;
}
.pc-live-search-results{
  width:100%;
  margin-top:-1px;
  padding:8px 0 0;
  overflow:hidden;
  border-radius:0 0 12px 12px;
  background:#fff;
  color:#334155;
  box-shadow:0 18px 50px rgba(2,6,23,.16);
}
.pc-live-search-label{
  padding:8px 24px 10px;
  color:#94a3b8;
  font-size:13px;
  line-height:20px;
  font-weight:400;
}
.pc-live-search-list{padding:0 16px 8px}
.pc-live-search-item{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr);
  gap:18px;
  align-items:center;
  min-height:100px;
  padding:8px 10px!important;
  border-radius:8px;
  color:#334155!important;
  transition:background-color .15s ease;
}
.pc-live-search-item:hover{background:#f8fafc!important}
.pc-live-search-poster{
  display:block;
  width:64px;
  height:96px;
  border-radius:6px;
  overflow:hidden;
  background:#e2e8f0;
}
.pc-live-search-poster img{width:100%;height:100%;display:block;object-fit:cover}
.pc-live-search-copy{display:block;min-width:0}
.pc-live-search-copy strong{
  display:block;
  margin:0 0 5px;
  overflow:hidden;
  color:#334155;
  font-size:15px;
  line-height:22px;
  font-weight:500;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.pc-live-search-copy small{
  display:block;
  max-width:100%;
  overflow:hidden;
  color:#64748b;
  font-size:13px;
  line-height:20px;
  font-weight:400;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.pc-live-search-all{
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-height:56px;
  border-top:1px solid #e5e7eb;
  color:#94a3b8!important;
  font-size:14px;
  line-height:20px;
  text-align:center;
}
.pc-live-search-all:hover{color:#64748b!important;background:#f8fafc}
.pc-live-search-empty{padding:30px 20px 34px;color:#94a3b8;font-size:14px;text-align:center}
.pc-live-search-loading{display:flex;align-items:center;justify-content:center;gap:9px;padding:32px 20px;color:#94a3b8;font-size:14px}
.pc-live-search-loading span:first-child{width:16px;height:16px;border:2px solid #cbd5e1;border-right-color:transparent;border-radius:999px;animation:pcSearchSpin .7s linear infinite}
@keyframes pcSearchSpin{to{transform:rotate(360deg)}}

.pc-search-page{padding-top:22px!important;padding-bottom:64px!important;min-height:560px}
.pc-search-page-head{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:26px}
.pc-search-page-head h1{margin:0;color:#fff;font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.025em;white-space:nowrap}
.pc-search-page-filters{display:flex;align-items:center;justify-content:flex-end;gap:26px;min-width:0;color:#9fb4d1}
.pc-search-filter{display:inline-flex;align-items:center;gap:9px;padding:4px 0;border:0;background:transparent;color:#9fb4d1;font-size:14px;line-height:22px;white-space:nowrap;cursor:default}
.pc-search-filter svg{width:17px;height:17px;color:#7387a3;flex:none}
.pc-search-filter-sep{width:1px;height:25px;background:rgba(148,163,184,.16)}
.pc-search-sort{gap:10px}
.pc-search-movie-grid{margin-top:0!important}
.pc-search-empty{display:flex;min-height:350px;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#64748b}
.pc-search-empty-icon{width:54px;height:54px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#111827;color:#64748b;margin-bottom:14px}
.pc-search-empty-icon svg{width:24px;height:24px}
.pc-search-empty h2{margin:0 0 7px;color:#d1d5db;font-size:18px;font-weight:600}
.pc-search-empty p{margin:0;font-size:14px}

@media(max-width:1280px){
  .pc-search-page-head{align-items:flex-start;flex-direction:column;gap:18px}
  .pc-search-page-filters{justify-content:flex-start;gap:20px;max-width:100%;overflow-x:auto;padding-bottom:4px}
}
@media(max-width:700px){
  .pc-live-search-list{padding-left:8px;padding-right:8px}
  .pc-live-search-item{grid-template-columns:52px minmax(0,1fr);gap:12px;min-height:82px;padding:7px 8px!important}
  .pc-live-search-poster{width:52px;height:78px}
  .pc-live-search-label{padding-left:16px;padding-right:16px}
  .pc-search-page{padding-top:10px!important}
  .pc-search-page-head h1{font-size:20px;line-height:28px;white-space:normal}
}

/* v5.7 - PhimCity catalog pages (Movies / TV Shows / Top IMDb) */
.pc-catalog-page{padding:27px 0 66px;min-height:560px}
.pc-catalog-container{padding-left:26px!important;padding-right:26px!important}
.pc-catalog-head{display:flex;align-items:center;gap:30px;margin:0 0 26px;min-height:48px}
.pc-catalog-head h1{flex:none;margin:0;color:#fff;font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.035em}
.pc-catalog-filters{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;color:#9fb4d1}
.pc-catalog-filter{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:8px 11px;border:0!important;border-radius:8px;background:transparent!important;color:#9fb4d1!important;font-size:14px;line-height:20px;font-weight:400;white-space:nowrap;box-shadow:none!important;outline:0!important;cursor:pointer;transition:color .16s ease,background-color .16s ease}
.pc-catalog-filter:hover{color:#dbeafe!important;background:rgba(30,41,59,.35)!important}
.pc-catalog-filter b{display:inline-flex;align-items:center;max-width:112px;padding:3px 8px;border-radius:5px;background:#1e293b;color:#d7e2f1;font-size:11px;line-height:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-catalog-filter svg{width:17px;height:17px;flex:none;color:#71849f}
.pc-catalog-separator{width:1px;height:28px;margin:0 15px;background:rgba(148,163,184,.15)}
.pc-catalog-sort{gap:12px;padding-left:5px;padding-right:5px}
.pc-catalog-grid{margin-top:0!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;column-gap:30px!important;row-gap:34px!important}
.pc-catalog-grid .gp-movie-card{min-width:0}
.pc-catalog-grid .gp-card-poster{border-radius:6px!important}
.pc-catalog-grid .gp-movie-card>.pt-4{padding-top:13px!important}
.pc-catalog-grid .gp-card-title{font-size:14px!important;line-height:20px!important;font-weight:500!important;color:#e5e7eb!important}
.pc-catalog-grid .gp-card-meta,.pc-catalog-grid .gp-movie-card>.pt-4>div:last-child{font-size:12px!important;line-height:18px!important;color:#91a4be!important}
.pc-catalog-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:40px 0 0}
.pc-page-pill{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;min-width:128px;height:56px;padding:0 24px;border:1px solid #1e293b;border-radius:999px;background:#1e293b;color:#d5dfed!important;font-size:16px;line-height:22px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.pc-page-pill:hover{background:rgb(var(--color-primary-500));border-color:rgb(var(--color-primary-500));color:#fff!important;transform:translateY(-1px)}
.pc-page-pill svg{width:17px;height:17px;flex:none}
.pc-catalog-page .filter-toolbar{display:none!important}
@media(max-width:1535px){.pc-catalog-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;column-gap:24px!important}.pc-catalog-filters{overflow-x:auto;justify-content:flex-start;padding-bottom:2px}.pc-catalog-head{align-items:flex-start}.pc-catalog-head h1{padding-top:7px}}
@media(max-width:1279px){.pc-catalog-head{display:block}.pc-catalog-filters{margin:12px -4px 0}.pc-catalog-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:1023px){.pc-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:26px 18px!important}.pc-catalog-container{padding-left:20px!important;padding-right:20px!important}}
@media(max-width:767px){.pc-catalog-page{padding-top:14px}.pc-catalog-head h1{font-size:22px}.pc-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px 14px!important}.pc-catalog-filter{font-size:13px;padding-left:8px;padding-right:8px}.pc-catalog-separator{margin-left:6px;margin-right:6px}.pc-page-pill{height:48px;min-width:112px;font-size:14px}}
@media(max-width:520px){.pc-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 12px!important}.pc-catalog-container{padding-left:14px!important;padding-right:14px!important}}
/* v5.7 drag affordance for homepage sliders */
.pc-rank-carousel,.pc-hero{cursor:grab;-webkit-user-select:none;user-select:none}
.pc-rank-carousel.is-dragging,.pc-hero.is-dragging{cursor:grabbing}
.pc-rank-track{will-change:transform}

/* ========================================================================== */
/* PhimCity V5.8 - compact pagination + anchored filter popovers              */
/* ========================================================================== */
.pc-catalog-pagination{gap:12px!important;margin:32px 0 0!important}
.pc-page-pill{min-width:0!important;height:auto!important;padding:12px 20px!important;gap:8px!important;border-radius:999px!important;font-size:14px!important;line-height:20px!important;font-weight:500!important}
.pc-page-pill svg{width:14px!important;height:14px!important}

.pc-filter-control{position:relative;display:flex;align-items:center;flex:none}
.pc-filter-popover[hidden]{display:none!important}
.pc-filter-popover{position:fixed;z-index:10050;width:384px;max-width:calc(100vw - 24px);padding:24px;border:1px solid rgba(148,163,184,.08);border-radius:12px;background:#111827;color:#cbd5e1;box-shadow:0 20px 55px rgba(0,0,0,.42);transform:none!important}
.pc-filter-popover-sm{width:384px}
.pc-filter-popover-md{width:432px}
.pc-filter-popover-lg{width:544px}
.pc-filter-chip-grid{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}
.pc-filter-chip-grid-scroll{max-height:286px;overflow:auto;padding-right:3px;scrollbar-width:thin;scrollbar-color:#475569 transparent}
.pc-filter-chip{position:relative;display:inline-flex;align-items:center;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.pc-filter-chip input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.pc-filter-chip>span{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 14px;border-radius:999px;background:#1e293b;color:#d6e0ee;font-size:12px;line-height:20px;font-weight:400;white-space:nowrap;transition:background-color .16s ease,color .16s ease,transform .16s ease}
.pc-filter-chip:hover>span{background:#334155;color:#fff}
.pc-filter-chip input:checked+span{background:rgb(var(--color-primary-500));color:#fff}
.pc-filter-chip-clear>span{background:#1e293b}
.pc-filter-apply{display:flex;width:100%;min-height:48px;margin-top:24px;padding:12px 24px;align-items:center;justify-content:center;border:1px solid #1e293b!important;border-radius:999px!important;background:#1e293b!important;color:#e5edf7!important;font-size:14px!important;line-height:20px!important;font-weight:500!important;box-shadow:none!important;outline:0!important;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.pc-filter-apply:hover{background:rgb(var(--color-primary-500))!important;border-color:rgb(var(--color-primary-500))!important;color:#fff!important}
.pc-catalog-filter[aria-expanded="true"]{color:#dbeafe!important;background:rgba(30,41,59,.5)!important}
.pc-catalog-filter[aria-expanded="true"] svg{color:rgb(var(--color-primary-500))}
@media(max-width:767px){
  .pc-catalog-pagination{margin-top:26px!important}
  .pc-page-pill{padding:10px 16px!important;font-size:13px!important;line-height:18px!important}
  .pc-filter-popover{padding:18px;width:min(420px,calc(100vw - 20px))!important}
  .pc-filter-chip>span{min-height:32px;padding:6px 12px;font-size:12px}
  .pc-filter-apply{min-height:44px;margin-top:18px}
}

/* Patch 09: fixed non-modal search; the document remains vertically scrollable.
   Higher specificity also overrides the old search rules in profile-v8.css. */
.gp-body .gp-search-overlay{top:var(--gp-search-top,64px)!important;overflow:visible!important;touch-action:pan-y}
.gp-body .gp-search-modal{position:relative;display:flex;flex-direction:column;min-height:0;max-height:calc(100vh - var(--gp-search-top,64px) - 40px)}
@supports(height:100dvh){.gp-body .gp-search-modal{max-height:calc(100dvh - var(--gp-search-top,64px) - 40px)}}
.gp-body .gp-search-box{flex:0 0 auto;padding-right:44px!important}
.gp-body .pc-live-search-results{flex:0 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain}
.gp-body .pc-live-search-results[hidden]{display:none!important}
.gp-search-close{position:absolute;transform:none;z-index:3;right:8px;top:8px;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:transparent;color:#64748b;font-size:24px;line-height:1;cursor:pointer}
.gp-search-close:hover{background:#f1f5f9;color:#0f172a}
.gp-search-close:focus-visible{outline:2px solid #f4a525;outline-offset:2px}
