/* Shared RUMAPA controls. Presentation only; opt-in at the document root. */
:is([data-rumapa-buttons],[data-rumapa-public]){
 --rp-button-start:#087a9f;--rp-button-end:#4c63d7;--rp-button-ink:#fff;
 --rp-control-bg:#fff;--rp-control-hover:#f3f6fb;--rp-control-ink:#344258;--rp-control-line:#dce3ec;
 --rp-control-focus:#1769dc;--rp-control-radius:16px;--rp-control-height:44px;
 --rp-action-gap:12px;--rp-action-height:48px;
 --rp-action-shadow:0 5px 16px #2d70c91a;
}
[data-rumapa-buttons][data-theme=dark],[data-rumapa-buttons] body.dark{
 --rp-control-bg:#182436;--rp-control-hover:#213149;--rp-control-ink:#e2ebf7;--rp-control-line:#41516a;--rp-control-focus:#8bc6ff;
 --rp-action-shadow:0 5px 16px #0003;
}
/* Secondary actions and filter chips. Cards/markers are intentionally excluded. */
[data-rumapa-buttons] :is(.secondary,.chip,.price-review-retry,.contact-chip,.contact-edit-cancel,.profile-contact-load,.profile-contact-edit,:where(#undoPhotoRemoval)){
 min-height:var(--rp-control-height);border:1px solid var(--rp-control-line);border-radius:var(--rp-control-radius);
 padding:10px 16px;background:var(--rp-control-bg);color:var(--rp-control-ink);font-size:13px;font-weight:600;line-height:1.3;
 box-shadow:none;text-decoration:none;filter:none;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease;
}
[data-rumapa-buttons] :is(.chip,.contact-chip){border-radius:999px}
[data-rumapa-buttons] :is(.secondary,.chip,.price-review-retry,.contact-chip,.contact-edit-cancel,.profile-contact-load,.profile-contact-edit,:where(#undoPhotoRemoval)):hover:not(:disabled){background:var(--rp-control-hover);border-color:var(--rp-control-line)}
/* One recognizable primary treatment across creation, AI, saved cards and CTA. */
[data-rumapa-buttons] :is(.primary,.ai-create-generate,.ai-create-apply,.price-review-apply,.saved-open,.get-app){
 min-height:48px;
 padding:12px 20px;border:1px solid transparent;border-radius:var(--rp-control-radius);
 background:linear-gradient(110deg,var(--rp-button-start),var(--rp-button-end));color:var(--rp-button-ink);
 font-size:13px;font-weight:650;line-height:1.3;letter-spacing:0;text-decoration:none;
 box-shadow:var(--rp-action-shadow);filter:none;transition:filter .14s ease,box-shadow .14s ease;
}
[data-rumapa-buttons] :is(.primary,.ai-create-generate,.ai-create-apply,.price-review-apply,.saved-open,.get-app):hover:not(:disabled){
 background:linear-gradient(110deg,var(--rp-button-start),var(--rp-button-end));color:var(--rp-button-ink);filter:brightness(1.04);box-shadow:0 7px 20px #2d70c926;
}
[data-rumapa-buttons] :is(.primary,.ai-create-generate,.ai-create-apply,.price-review-apply,.saved-open,.get-app):active:not(:disabled){filter:brightness(.96);box-shadow:none}
[data-rumapa-buttons] :is(.chip.active,.chip[aria-pressed=true],.contact-chip[aria-pressed=true]){
 background:linear-gradient(110deg,var(--rp-button-start),var(--rp-button-end));border-color:transparent;color:var(--rp-button-ink);
}
[data-rumapa-buttons] :is(.chip.active,.chip[aria-pressed=true],.contact-chip[aria-pressed=true]):hover:not(:disabled){background:linear-gradient(110deg,var(--rp-button-start),var(--rp-button-end));color:var(--rp-button-ink);filter:brightness(1.04)}
/* Icon buttons keep their established geometry and map/preview positioning. */
[data-rumapa-buttons] :is(.saved-close,.saved-back,.favorite-button,.photo-menu-trigger,.price-review-close,:where(#closeReview),:where(#closeAuth),:where(#closePhotoViewer),:where(#previousViewerPhoto),:where(#nextViewerPhoto),:where(#theme),:where(#menu)){
 min-width:44px;min-height:44px;border-radius:50%;border:1px solid var(--rp-control-line);
 background:var(--rp-control-bg);color:var(--rp-control-ink);box-shadow:none;
}
[data-rumapa-buttons] #saved-listings .saved-remove{min-width:44px;min-height:44px;border-color:var(--rp-control-line);background:var(--rp-control-bg);color:var(--rp-control-focus);box-shadow:none}
[data-rumapa-buttons] #saved-listings .saved-unavailable .saved-remove{color:var(--rp-control-ink)}
[data-rumapa-buttons] :is(.saved-gallery-controls button,.map-controls button){min-width:44px;min-height:44px;color:var(--rp-control-ink)}
[data-rumapa-buttons] :is(.saved-close,.saved-back,.favorite-button,.photo-menu-trigger,.price-review-close,:where(#closeReview),:where(#closeAuth),:where(#closePhotoViewer),:where(#previousViewerPhoto),:where(#nextViewerPhoto),:where(#theme),:where(#menu)):hover:not(:disabled){background:var(--rp-control-hover)}
/* Compact text actions stay light, with a generous touch target. */
[data-rumapa-buttons] :is(.review-edit,.price-review-toggle,.city-retry){min-height:44px;padding:8px 10px;border-radius:10px;color:var(--rp-control-focus);font-weight:600}
[data-rumapa-buttons] :is(.review-edit,.price-review-toggle,.city-retry):hover:not(:disabled){background:var(--rp-control-hover)}
[data-rumapa-buttons] :is(.ai-create-mode button,.appearance button,[data-theme-choice]){min-height:44px;border-radius:12px}
[data-rumapa-buttons] :is(.primary,.secondary,.chip,.saved-open,.saved-remove,.saved-close,.saved-back,.ai-create-generate,.ai-create-apply,.price-review-apply,.price-review-retry,.price-review-toggle,.review-edit,.favorite-button,.get-app,.contact-chip,.photo-menu-trigger,:where(#theme),:where(#menu)):focus-visible{
 outline:3px solid var(--rp-control-focus);outline-offset:3px;
}
[data-rumapa-buttons] :is(.primary,.secondary,.chip,.saved-open,.ai-create-generate,.ai-create-apply,.price-review-apply,.price-review-retry):disabled{
 filter:none;box-shadow:none;cursor:default;opacity:.55;
}
[data-rumapa-buttons] button[aria-busy=true]{cursor:progress}
@media(prefers-reduced-motion:reduce){[data-rumapa-buttons] :is(button,a){transition:none!important}}
[data-rumapa-buttons] :is(#closeReview,#closeAuth,#closePhotoViewer,#previousViewerPhoto,#nextViewerPhoto,#theme,#menu){min-width:44px;min-height:44px;border-radius:50%;border:1px solid var(--rp-control-line);background:var(--rp-control-bg);color:var(--rp-control-ink);box-shadow:none}
[data-rumapa-buttons] :is(#closeReview,#closeAuth,#closePhotoViewer,#previousViewerPhoto,#nextViewerPhoto,#theme,#menu):hover:not(:disabled){background:var(--rp-control-hover)}
[data-rumapa-buttons] :is(#closeReview,#closeAuth,#closePhotoViewer,#previousViewerPhoto,#nextViewerPhoto,#theme,#menu):focus-visible{outline:3px solid var(--rp-control-focus);outline-offset:3px}
[data-rumapa-buttons] .favorite-button[aria-pressed=true]{color:var(--rp-control-focus)}
[data-rumapa-buttons] header :is(#theme,#menu){width:44px;height:44px;padding:0;background:#102037;border-color:#314560;color:#eef5ff}
[data-rumapa-buttons] header :is(#theme,#menu):hover:not(:disabled){background:#1b304c}
[data-rumapa-buttons] #accountButton{min-height:44px;border-radius:var(--rp-control-radius)}

[data-rumapa-buttons] :is(.primary,.ai-create-generate,.ai-create-apply,.price-review-apply,.saved-open){display:inline-flex;align-items:center;justify-content:center;gap:8px}
@media(min-width:921px){[data-rumapa-buttons] .settings .get-app{display:inline-flex;align-items:center;justify-content:center}}

/* Paired actions share a baseline even when a translation wraps. */
html[data-rumapa-create] .form-footer {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--rp-action-gap);
}
html[data-rumapa-create] .form-footer > div {grid-column:1/-1;min-width:0}
html[data-rumapa-buttons] :is(.form-footer,.dock-buttons,.price-review-actions,.saved-actions,.account-dialog-actions) > :is(button,a) {
  box-sizing:border-box;min-width:0;min-height:var(--rp-action-height);
  margin:0;border-radius:var(--rp-control-radius);font-size:14px;line-height:1.35;white-space:normal;
}
html[data-rumapa-buttons] :is(.price-review-actions,.saved-actions,.photo-actions-list,.filters) {gap:var(--rp-action-gap)}
html[data-rumapa-buttons] .dock-buttons,
html[data-rumapa-buttons] #favorite-account-dialog .account-dialog-actions {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--rp-action-gap);
}
html[data-rumapa-buttons] #favorite-account-dialog .account-dialog-actions {margin-top:20px}
html[data-rumapa-buttons] #favorite-account-dialog .account-dialog-actions button {margin:0}
.account-dialog-actions > :last-child {grid-column:1/-1}
html[data-rumapa-buttons] .toolbar .search:focus-within {outline:2px solid var(--rp-control-focus);outline-offset:2px}
html[data-rumapa-buttons] .toolbar .search input {min-width:0}
html[data-rumapa-buttons] #show-list {min-height:44px;padding-inline:20px;font-size:14px}
html[data-rumapa-verification] .verify-card .primary,
html[data-rumapa-create] #authForm .primary {min-height:var(--rp-action-height);border-radius:var(--rp-control-radius);font-size:14px}
@media(max-width:700px){
  html[data-rumapa-buttons] .filters {gap:8px}
  html[data-rumapa-buttons] .toolbar input[type=text],html[data-rumapa-buttons] #search {font-size:16px}
  html[data-rumapa-buttons] .dock-buttons button {width:100%}
}
@media(max-width:560px){
  html[data-rumapa-create] .form-footer {grid-template-columns:minmax(0,1fr)}
}

/* Public discovery pages use dark surfaces behind the paired links. */
[data-rumapa-public] :is(.discovery-action,.classifieds-button,.create-button,.ai-search-button,.map-button,.about-button,.business-button,.translate-button,.safety-button,.privacy-button,.faq-cta-link,.features-primary,.features-secondary){
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  min-width:0;min-height:var(--rp-action-height);padding:12px 20px;margin:0;
  border:1px solid #40506b;border-radius:var(--rp-control-radius);background:#182436;color:#f1f5fb;
  font-size:14px;font-weight:600;line-height:1.35;text-align:center;text-decoration:none;white-space:normal;
}
[data-rumapa-public] :is(.discovery-action-primary,.classifieds-button-primary,.create-button-primary,.ai-search-button-primary,.map-button-primary,.about-button-primary,.business-button-primary,.translate-button-primary,.safety-button-primary,.privacy-button-primary,.features-primary,.faq-cta-link.primary){
  border-color:transparent;background:linear-gradient(110deg,var(--rp-button-start),var(--rp-button-end));color:var(--rp-button-ink);
}
[data-rumapa-public] :is(.create-buttons-row,.discovery-actions,.classifieds-actions,.ai-search-hero-actions,.map-actions,.about-actions,.business-actions,.translate-actions,.safety-actions,.privacy-actions,.faq-cta-actions,.features-hero-actions):has(>a){
  display:flex;align-items:stretch;flex-wrap:wrap;gap:var(--rp-action-gap);
}
[data-rumapa-public] :is(a,button):focus-visible {outline:3px solid #8bc6ff;outline-offset:3px}
@media(max-width:560px){
  [data-rumapa-public] :is(.create-buttons-row,.discovery-actions,.classifieds-actions,.ai-search-hero-actions,.map-actions,.about-actions,.business-actions,.translate-actions,.safety-actions,.privacy-actions,.faq-cta-actions,.features-hero-actions):has(>a) > a {
    flex:1 1 100%;width:100%;
  }
}
/* Keep the homepage's decorative glows inside the page. */
[data-rumapa-public] main:has(> .hero .halo) {overflow-x:clip}
@media(max-width:560px){
  [data-rumapa-public] .mobile-nav-panel {max-width:100%;overflow-y:auto}
  [data-rumapa-public] .mobile-nav-links {min-height:0;overflow-y:auto}
}
