/* QuedemGo 2.19.208 — CIUDAD → Baños pilot 10 visual/Google-target polish. Strictly isolated. */
#qg-app .qg-toilet-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:12px;
  align-items:start;
  margin:0;
  padding:13px;
  border:1px solid #e7ecef;
  border-radius:21px;
  background:#fff;
  box-shadow:0 7px 22px rgba(17,38,63,.065);
  color:var(--qg-navy,#12243a);
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
#qg-app .qg-toilet-card:hover{border-color:#dde4e9;box-shadow:0 10px 28px rgba(17,38,63,.09)}
#qg-app .qg-toilet-card:active{transform:scale(.994)}
#qg-app .qg-toilet-card:focus-visible{outline:3px solid rgba(233,102,49,.18);outline-offset:2px}
#qg-app .qg-toilet-card-icon,
#qg-app .qg-toilet-detail-icon{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:18px;
  background:#eaf4ff;
  color:#2f73b8;
  box-shadow:inset 0 0 0 1px rgba(47,115,184,.06);
}
#qg-app .qg-toilet-card-icon svg{width:27px;height:31px;fill:currentColor}
#qg-app .qg-toilet-card-main{min-width:0}
#qg-app .qg-toilet-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}
#qg-app .qg-toilet-card-top>div{min-width:0}
#qg-app .qg-toilet-card-top h3{margin:0;color:var(--qg-navy,#12243a);font-size:15.5px;line-height:1.18;font-weight:950;letter-spacing:-.25px;overflow-wrap:anywhere}
#qg-app .qg-toilet-card-top p{margin:4px 0 0;color:#7b8797;font-size:10.5px;line-height:1.32;font-weight:650;overflow-wrap:anywhere}
#qg-app .qg-toilet-card-top>b{flex:0 0 auto;margin-top:1px;padding:5px 8px;border-radius:999px;background:#f3f6f8;color:#516176;font-size:9.5px;line-height:1;font-weight:950;white-space:nowrap}
#qg-app .qg-toilet-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
#qg-app .qg-toilet-badges>span{display:inline-flex;align-items:center;min-height:23px;padding:4px 7px;border-radius:999px;background:#f3f6f8;color:#5f6c7b;font-size:9px;line-height:1.05;font-weight:900}
#qg-app .qg-toilet-badges>span.is-free{background:#edf8f3;color:#24775f}
#qg-app .qg-toilet-badges>span.is-paid{background:#fff3e9;color:#b75c2b}
#qg-app .qg-toilet-badges>span.is-accessible{background:#eef4ff;color:#456da5}
#qg-app .qg-toilet-badges>span.is-seasonal{background:#fff7dc;color:#8b6a11}
#qg-app .qg-toilet-find{margin-top:10px;padding-top:9px;border-top:1px solid #edf1f3}
#qg-app .qg-toilet-find strong{display:block;color:#34465d;font-size:9.5px;font-weight:950;text-transform:uppercase;letter-spacing:.35px}
#qg-app .qg-toilet-find p{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:4px 0 0;
  color:#526177;
  font-size:11.1px;
  line-height:1.43;
  font-weight:650;
}
#qg-app .qg-toilet-card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}
#qg-app .qg-toilet-card-actions a,
#qg-app .qg-toilet-card-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;border-radius:999px;padding:7px 11px;font-size:9.5px;line-height:1;font-weight:950;text-decoration:none}
#qg-app .qg-toilet-card-actions a{background:#2f73b8;color:#fff;border:1px solid #2f73b8;box-shadow:0 5px 13px rgba(47,115,184,.18)}
#qg-app .qg-toilet-card-actions button{border:1px solid #e3e8ec;background:#fff;color:#536278}
#qg-app .qg-toilet-card-actions span{font-size:13px;line-height:1}

/* Map identity: same blue as the Baños icon in CIUDAD. */
.qg-toilet-marker{background:transparent!important;border:0!important}
.qg-toilet-marker>span{display:grid;place-items:center;width:38px;height:38px;border-radius:14px 14px 14px 5px;transform:rotate(-45deg);background:#2f73b8;color:#fff;border:3px solid #fff;box-shadow:0 8px 20px rgba(36,49,67,.24)}
.qg-toilet-marker svg{width:18px;height:21px;fill:currentColor;transform:rotate(45deg)}
.qg-toilet-cluster{display:grid!important;place-items:center!important;border-radius:50%;background:rgba(47,115,184,.18)!important;border:0!important}
.qg-toilet-cluster span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#2f73b8;color:#fff;border:3px solid #fff;box-shadow:0 6px 18px rgba(36,49,67,.22);font-size:11px;font-weight:950}
.qg-toilet-leaflet-popup .leaflet-popup-content-wrapper{border-radius:18px;box-shadow:0 12px 34px rgba(17,38,63,.18)}
.qg-toilet-leaflet-popup .leaflet-popup-content{margin:11px 12px}
.qg-toilet-map-popup{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;align-items:start;color:#12243a}
.qg-toilet-map-popup-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#eaf4ff;color:#2f73b8}
.qg-toilet-map-popup-icon svg{width:19px;height:22px;fill:currentColor}
.qg-toilet-map-popup strong{display:block;font-size:12.5px;line-height:1.2;font-weight:950}
.qg-toilet-map-popup small{display:block;margin-top:3px;color:#2f73b8;font-size:9px;font-weight:900}
.qg-toilet-map-popup span{display:block;margin-top:4px;color:#68768a;font-size:9.5px;line-height:1.3}
.qg-toilet-map-popup button{margin-top:7px;border:0;background:transparent;padding:0;color:#2f73b8;font-size:9.5px;font-weight:950}

/* Minimal, utility-first detail viewer. */
.qg-toilet-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(7,19,32,.42);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow:hidden}
.qg-toilet-viewer::backdrop{background:transparent}
.qg-toilet-viewer[open]{display:grid;place-items:end center}
.qg-toilet-viewer-shell{width:min(100%,760px);max-height:92dvh;display:flex;flex-direction:column;border-radius:26px 26px 0 0;background:#fff;box-shadow:0 -16px 58px rgba(8,26,43,.22);overflow:hidden}
.qg-toilet-viewer-shell>header{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;min-height:58px;padding:7px 12px;border-bottom:1px solid #edf1f3;background:rgba(255,255,255,.97)}
.qg-toilet-viewer-shell>header button{grid-column:3;display:grid;place-items:center;width:36px;height:36px;justify-self:end;border:0;border-radius:50%;background:#f3f5f7;color:#506176;padding:0;line-height:1}.qg-toilet-viewer-shell>header button svg{display:block;width:17px;height:17px;fill:currentColor}
.qg-toilet-viewer-shell>header strong{text-align:center;color:#152945;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.6px}
#qg-toilet-viewer-body{overflow-y:auto;overscroll-behavior:contain;padding:16px 16px max(28px,env(safe-area-inset-bottom))}
.qg-toilet-detail{display:grid;gap:15px;color:#12243a}
.qg-toilet-detail-hero{display:grid;grid-template-columns:64px minmax(0,1fr);gap:13px;align-items:start}
#qg-app .qg-toilet-detail-icon{width:64px;height:64px;border-radius:20px}
#qg-app .qg-toilet-detail-icon svg{width:32px;height:37px;fill:currentColor}
.qg-toilet-detail-hero small{display:block;margin-top:1px;color:#8490a0;font-size:9.5px;font-weight:900;text-transform:uppercase;letter-spacing:.35px}
.qg-toilet-detail-hero h2{margin:3px 0 0;color:#10233d;font-size:23px;line-height:1.05;font-weight:950;letter-spacing:-.6px}
.qg-toilet-detail-hero p{margin:5px 0 0;color:#748196;font-size:11px;line-height:1.35;font-weight:650}
.qg-toilet-guide{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;padding:14px;border:1px solid #f0e1d8;border-radius:19px;background:linear-gradient(135deg,#fff8f4 0%,#fff 80%)}
.qg-toilet-guide-symbol{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#fff0e7;color:#e96631;font-size:17px;font-weight:950}
.qg-toilet-guide h3{margin:1px 0 0;font-size:12px;font-weight:950;color:#253951}
.qg-toilet-guide p{margin:5px 0 0;color:#536176;font-size:12px;line-height:1.52;font-weight:650}
.qg-toilet-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.qg-toilet-info-row{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:start;padding:11px;border:1px solid #e9edf1;border-radius:15px;background:#fbfcfd}
.qg-toilet-info-row>span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#f0f4f7;color:#50647c;font-size:11px;font-weight:950}
.qg-toilet-info-row small{display:block;color:#8995a5;font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.3px}
.qg-toilet-info-row strong{display:block;margin-top:3px;color:#34465e;font-size:10.5px;line-height:1.32;font-weight:800}
.qg-toilet-directions-main{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:16px;background:#2f73b8;color:#fff!important;text-decoration:none;font-size:12px;font-weight:950;box-shadow:0 8px 20px rgba(47,115,184,.20)}
.qg-toilet-directions-main span{font-size:17px}

/* Anonymous-at-UI-level binary quality vote. Counts only; never people. */
.qg-toilet-vote{margin-top:2px;padding:16px;border:1px solid #e7ecef;border-radius:20px;background:#fff;box-shadow:0 7px 22px rgba(17,38,63,.05)}
.qg-toilet-vote-head{text-align:center}
.qg-toilet-vote-head h3{margin:0;color:#132a45;font-size:16px;line-height:1.15;font-weight:950;letter-spacing:-.25px}
.qg-toilet-vote-head p{margin:4px 0 0;color:#7b8798;font-size:10.5px;font-weight:700}
.qg-toilet-vote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px}
.qg-toilet-vote-btn{min-width:0;min-height:115px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border:1px solid #e5e9ed;border-radius:17px;background:#fafbfc;color:#45566c;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}
.qg-toilet-vote-btn:active{transform:scale(.98)}
.qg-toilet-vote-btn:disabled{opacity:.55}
.qg-toilet-vote-ico{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:#edf8f2;color:#2b8967;font-size:19px;font-weight:950}
.qg-toilet-vote-ico.is-emoji{background:#fff1ed;font-size:22px}
.qg-toilet-vote-btn strong{max-width:130px;font-size:10.5px;line-height:1.2;font-weight:900;text-align:center}
.qg-toilet-vote-btn b{font-size:17px;line-height:1;font-weight:950;color:#23394f}
.qg-toilet-vote-btn.is-ok.is-active{border-color:#91d4b9;background:#f0faf6;box-shadow:0 6px 18px rgba(43,137,103,.10)}
.qg-toilet-vote-btn.is-no.is-active{border-color:#f1b7a6;background:#fff5f1;box-shadow:0 6px 18px rgba(214,91,54,.10)}
.qg-toilet-vote-privacy{display:block;margin-top:11px;color:#8a95a3;font-size:8.8px;line-height:1.4;font-weight:700;text-align:center}
.qg-toilet-vote-status{min-height:14px;margin-top:5px;color:#bd5c31;font-size:9px;font-weight:800;text-align:center}
html.qg-toilet-viewer-open,html.qg-toilet-viewer-open body{overflow:hidden!important}

@media(min-width:850px){
  .qg-toilet-viewer[open]{place-items:center}
  .qg-toilet-viewer-shell{max-height:min(860px,88dvh);border-radius:26px}
  #qg-toilet-viewer-body{padding:19px 22px 26px}
}
@media(max-width:520px){
  #qg-app .qg-toilet-card{grid-template-columns:48px minmax(0,1fr);gap:10px;padding:12px 11px;border-radius:19px}
  #qg-app .qg-toilet-card-icon{width:48px;height:48px;border-radius:16px}
  #qg-app .qg-toilet-card-icon svg{width:24px;height:28px}
  #qg-app .qg-toilet-card-top h3{font-size:14.5px}
  #qg-app .qg-toilet-find p{font-size:10.7px}
  #qg-app .qg-toilet-card-actions{align-items:stretch}
  #qg-app .qg-toilet-card-actions a,#qg-app .qg-toilet-card-actions button{flex:1;padding-inline:7px}
  .qg-toilet-viewer-shell{max-height:94dvh}
  #qg-toilet-viewer-body{padding:14px 12px max(24px,env(safe-area-inset-bottom))}
  .qg-toilet-detail-hero{grid-template-columns:56px minmax(0,1fr);gap:11px}
  #qg-app .qg-toilet-detail-icon{width:56px;height:56px;border-radius:18px}
  .qg-toilet-detail-hero h2{font-size:20px}
  .qg-toilet-info-grid{grid-template-columns:1fr}
  .qg-toilet-vote{padding:14px 11px}
  .qg-toilet-vote-btn{min-height:108px}
}
