/* =====================================================================
   360 HOTEL SOLUTIONS — pms.css
   Page-specific styles for the Property Management (PMS) page.
   Reuses the global theme (tokens, header, footer, .flow-step, .why,
   .results, .final-cta, .hero-pill). Responsive at the bottom.
   ===================================================================== */

/* ===== GENERIC SUB-PAGE SECTION ===== */
.pms-section{padding:90px 0;background:var(--white);}
.pms-section.tint-cyan{background:var(--tint-cyan);}
.pms-section.tint-purple{background:var(--tint-purple);}

/* ===== HERO — front-desk dashboard / room rack ===== */
.pms-hero .hero-sub{max-width:520px;}
.pms-hero .hero-pills{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:460px;}

.pms-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:480px;padding:0 8px;}
.pms-dash{width:100%;max-width:548px;background:#0D1530;border-radius:20px;padding:13px;box-shadow:0 44px 90px -30px rgba(2,15,77,0.5);position:relative;z-index:2;}
.pms-bar{display:flex;gap:7px;padding:4px 8px 12px;}
.pms-bar span{width:10px;height:10px;border-radius:50%;display:block;}
.pms-bar .r{background:#FF5F57;} .pms-bar .y{background:#FEBC2E;} .pms-bar .g{background:#28C840;}
.pms-screen{background:var(--bg);border-radius:12px;padding:16px;}
.pms-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.pms-title{font-size:14.5px;font-weight:800;color:var(--navy);}
.pms-date{font-size:11px;color:var(--muted);}
.pms-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;}
.pms-stat{background:#fff;border:1px solid var(--gray);border-radius:10px;padding:11px 8px;text-align:center;}
.pms-stat .v{font-size:18px;font-weight:800;color:var(--navy);line-height:1;}
.pms-stat .l{font-size:8.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.02em;margin-top:4px;}
.pms-stat.arr .v{color:var(--blue);} .pms-stat.inh .v{color:#16a34a;} .pms-stat.dep .v{color:#D97706;} .pms-stat.ava .v{color:var(--purple);}
.pms-rack-label{font-size:11px;font-weight:700;color:var(--navy);margin-bottom:9px;}
.pms-rack{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;}
.pms-room{border-radius:8px;padding:9px 4px;text-align:center;}
.pms-room .rn{font-size:11px;font-weight:800;}
.pms-room .rs{font-size:7.5px;font-weight:700;text-transform:uppercase;margin-top:3px;display:block;letter-spacing:.02em;}
.pms-room.occ{background:rgba(14,99,255,0.1);color:var(--blue);}
.pms-room.vac{background:rgba(22,163,74,0.1);color:#16a34a;}
.pms-room.dep{background:rgba(217,119,6,0.12);color:#D97706;}
.pms-room.arr{background:rgba(123,46,255,0.1);color:var(--purple);}
.pms-room.cln{background:rgba(239,68,68,0.09);color:#dc2626;}
.pms-legend{display:flex;flex-wrap:wrap;gap:11px;margin-top:13px;}
.pms-leg{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--muted);font-weight:600;}
.pms-leg .d{width:9px;height:9px;border-radius:3px;}
.pms-leg .d.occ{background:var(--blue);} .pms-leg .d.vac{background:#16a34a;} .pms-leg .d.dep{background:#D97706;} .pms-leg .d.arr{background:var(--purple);} .pms-leg .d.cln{background:#dc2626;}

/* floating stat badges */
.pms-badge{position:absolute;z-index:3;background:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 16px 36px -12px rgba(2,15,77,0.26);display:flex;align-items:center;gap:9px;white-space:nowrap;opacity:0;animation:float-in .6s ease forwards;}
.pms-badge .i{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pms-badge .i svg{width:15px;height:15px;}
.pms-badge .num{font-size:14px;font-weight:800;line-height:1;}
.pms-badge .lbl{font-size:10px;color:var(--muted);font-weight:600;margin-top:2px;}
.pms-badge.b1{top:11%;left:-10px;animation-delay:.5s;} .pms-badge.b1 .i{background:rgba(22,163,74,0.12);color:#16a34a;}
.pms-badge.b2{bottom:10%;right:-10px;animation-delay:.9s;} .pms-badge.b2 .i{background:rgba(14,99,255,0.1);color:var(--blue);}

/* ===== NAVY BAND — guest stay lifecycle flow (reuses .why) ===== */
.pms-flow{display:flex;flex-direction:column;}
.pms-flow-item{display:flex;gap:14px;position:relative;padding-bottom:18px;}
.pms-flow-item:last-child{padding-bottom:0;}
.pms-flow-item:not(:last-child)::before{content:'';position:absolute;left:17px;top:38px;bottom:0;width:2px;background:rgba(255,255,255,0.14);}
.pms-flow-num{width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.14);color:var(--cyan);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0;position:relative;z-index:1;}
.pms-flow-body .t{font-size:13.5px;font-weight:700;color:#fff;}
.pms-flow-body .d{font-size:11.5px;color:var(--muted-light);margin-top:2px;line-height:1.45;}

/* ===== FEATURE GRID (reuses .flow-step card styling) ===== */
.pms-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.pms-extras{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px;}

/* ===== CONNECTED — syncs with card ===== */
.pms-sync-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,60px);align-items:center;}
.pms-sync-text h3{font-size:clamp(22px,2.6vw,28px);line-height:1.25;margin-bottom:14px;}
.pms-sync-text p{color:var(--muted);font-size:15.5px;line-height:1.7;}
.pms-sync-card{background:#fff;border:1px solid var(--gray);border-radius:18px;padding:10px 20px;box-shadow:0 30px 64px -30px rgba(2,15,77,0.3);}
.pms-sync-row{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid var(--gray);}
.pms-sync-row:last-child{border-bottom:none;}
.pms-sync-ico{width:38px;height:38px;border-radius:11px;background:var(--tint-blue);color:var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pms-sync-ico svg{width:19px;height:19px;}
.pms-sync-name{flex:1;font-size:13.5px;font-weight:700;color:var(--navy);line-height:1.25;}
.pms-sync-name small{display:block;font-size:11px;color:var(--muted);font-weight:500;margin-top:2px;}
.pms-sync-tag{font-size:9.5px;font-weight:800;color:#16a34a;background:rgba(22,163,74,0.12);padding:4px 10px;border-radius:6px;display:flex;align-items:center;gap:5px;white-space:nowrap;}
.pms-sync-tag svg{width:11px;height:11px;}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media(max-width:920px){
  .pms-section{padding:56px 0;}
  .pms-visual{min-height:auto;padding:8px 0 0;}
  .pms-feature-grid{grid-template-columns:1fr 1fr;}
  .pms-sync-grid{grid-template-columns:1fr;gap:26px;}
  .pms-sync-text{order:1;}
  .pms-sync-card{order:2;}
  .pms-badge.b1{left:-2px;} .pms-badge.b2{right:-2px;}
}

@media(max-width:640px){
  .pms-feature-grid{grid-template-columns:1fr;}
  .pms-badge{display:none;}
  .pms-stats{grid-template-columns:1fr 1fr;}
}
