.cp-native { display:none !important; }
.cp-trigger { width:100%; min-height:54px; padding:12px 16px; border:1px solid #d8d8d8; border-radius:14px; background:#fff; color:#111; font:500 1.125rem/1.4 'Inter',sans-serif; text-align:left; cursor:pointer; }
.cp-trigger:disabled { opacity:.55; cursor:default; }
.cp-sheet { position:fixed; inset:auto 0 0; margin:0 auto; width:min(100%,640px); max-width:100%; height:min(90dvh,760px); max-height:100dvh; padding:0; border:0; border-radius:26px 26px 0 0; background:#fff; color:#111; box-sizing:border-box; overflow:hidden; font:400 1rem/1.5 'Inter',sans-serif; box-shadow:0 -12px 60px #0002; }
.cp-sheet[open] { display:flex; flex-direction:column; animation:cp-enter .2s ease-out; }
.cp-sheet::backdrop { background:#0008; }
.cp-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 20px 12px; flex-shrink:0; }
.cp-header h2 { margin:0; font-size:1.5rem; line-height:1.3; font-weight:700; }
.cp-close { width:48px; height:48px; border:0; border-radius:50%; background:#f3f3f3; color:#111; font:400 1.875rem/1 sans-serif; cursor:pointer; }
.cp-search { padding:0 20px 16px; flex-shrink:0; }
.cp-search input { width:100%; min-height:52px; box-sizing:border-box; padding:12px 14px; border:1px solid #ccc; border-radius:14px; background:#f8f8f8; color:#111; font:400 1.125rem/1.4 'Inter',sans-serif; }
.cp-list { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:0 16px max(20px,env(safe-area-inset-bottom)); }
.cp-list h3 { margin:16px 4px 12px; font-size:1.125rem; font-weight:600; }
.cp-count { font-size:1rem; color:#4B5563; }
.cp-row { display:flex; min-height:80px; border:1px solid #e8e8e8; border-radius:16px; margin-bottom:10px; background:#fff; }
.cp-selected { border-color:#FE7E0F; background:#fff3e8; }
.cp-choice { flex:1; min-width:0; display:flex; align-items:center; gap:12px; padding:14px 10px; border:0; background:transparent; color:#111; text-align:left; cursor:pointer; }
.cp-logo { position:relative; display:grid; place-items:center; flex-shrink:0; width:48px; height:48px; overflow:hidden; border-radius:50%; background:#f0f0ed; color:#444; font:600 1.125rem/1 sans-serif; }
.cp-logo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cp-copy { flex:1; min-width:0; }
.cp-copy strong { display:block; font:600 1.125rem/1.35 'Inter',sans-serif; overflow-wrap:anywhere; }
.cp-copy small { display:block; margin-top:4px; color:#4B5563; font:400 1rem/1.4 'Inter',sans-serif; }
.cp-check { color:#9A3412; font:700 1.375rem/1 sans-serif; }
.cp-star { align-self:center; flex-shrink:0; width:48px; height:48px; border:0; background:transparent; color:#755028; font:400 1.625rem/1 sans-serif; cursor:pointer; }
.cp-star[aria-pressed=true] { color:#9A3412; }
.cp-message { padding:8px 4px; margin:0 0 12px; color:#555; font-size:1rem; }
.cp-all,.cp-more { width:100%; min-height:52px; margin:8px 0 16px; padding:12px; border:1px solid #FE7E0F; border-radius:14px; color:#111; background:#fff3e8; font:600 1.125rem/1.4 'Inter',sans-serif; cursor:pointer; }
.cp-sheet button:focus-visible,.cp-trigger:focus-visible,.cp-search input:focus-visible { outline:3px solid #B34700; outline-offset:2px; }
@keyframes cp-enter { from { opacity:.6; } to { opacity:1; } }
@media (prefers-reduced-motion:reduce) { .cp-sheet[open] { animation:none; } }
.cp-search input { border-color:#6B7280; }
.cp-search input::placeholder { color:#5B6572; opacity:1; }
.cp-close { min-width:48px; flex-shrink:0; }

/* Only the Plan Lugar picker: all functional text meets 16px minimum. */
.cp-plan-location :is(.cp-copy small,.cp-count) { font-size:16px; line-height:1.5; color:#595959; }
