/* =========================================================
   GENERAL PAGE LAYOUT (Restaurant single)
========================================================= */
.restaurant-wrapper{
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 20px;
}

/* Title + subtitle */
body.single-restaurant-menu .restaurant-wrapper h1{
  font-size: 30px;
  font-weight: 600;
  margin-top: 6px;
  margin-bottom: 5px;
}
.restaurant-title-city{ color: var(--rm-accent); font-weight: 600; }
.restaurant-wrapper em{ font-size: 15px; opacity: 0.7; }

/* Two-column layout */
.restaurant-columns{
  display: grid;
  grid-template-columns: 1.3fr 0.9fr;
  gap: 32px;
  margin-top: 10px;
}

.restaurant-columns > *{ min-width: 0; }

/* Button (blue) — support <a>, <button>, and <input> */
.blue-button,
a.blue-button,
a.blue-button:visited,
button.blue-button,
input.blue-button{
  padding: 10px 18px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  line-height: 1;

  font-size: 15px;
  font-weight: 600;
  text-align: center;
  text-decoration: none !important;

  background-color: var(--rm-accent) !important;
  color: #fff !important;

  transition: background-color 0.2s ease, transform 0.15s ease;
  box-shadow: inset 0 0 0 1px #000, 0 1px 6px rgba(153, 217, 140, 0.25);
  border: none;
  cursor: pointer;
}

.blue-button:hover,
a.blue-button:hover,
button.blue-button:hover,
input.blue-button:hover{
  background-color: #1f76e6 !important;
  transform: translateY(-2px);
}

.blue-button:focus-visible{
  outline: none !important;
  box-shadow: var(--rm-focus-ring), inset 0 0 0 1px #000, 0 1px 6px rgba(153,217,140,0.25) !important;
}

/* Treat these anchors like buttons: no underline on focus/active */
:where(
  .rm-nav-list a,
  a.rm-chip,
  .rm-chip,
  .site-footer .footer-navigation a,
  a.rectangle-button,
  a.blue-button,
  .nearby-link
):is(:active, :focus){
  text-decoration: none !important;
}


/* report menu */
.rm-report-menu-button {
    margin-bottom: 15px;
}

.rm-report-menu-status {
    font-style: italic;
}

/* =========================================================
  PHONE GET DIRECTIONS BUTTON
========================================================= */
.rm-contact-actions{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 14px;
}

.rm-contact-actions .blue-button{
  width: 100%;
  margin: 0 !important;
}



/* =========================================================
   GLOBAL FORM CONTROLS (site-wide)
========================================================= */
body:not(.wp-admin) :is(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  input[type="search"],
  textarea,
  select
){
  width: 100%;
  background: #fff;
  border: 1px solid #d6d6d6;
  border-radius: 10px;
  padding: 12px 12px;
  font-size: 15px;
  line-height: 1.4;
  color: var(--rm-text);
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color .12s ease, box-shadow .12s ease, background-color .12s ease;
}

body:not(.wp-admin) textarea{ min-height: 160px; resize: vertical; }
body:not(.wp-admin) ::placeholder{ color: rgba(17,17,17,0.45); }

body:not(.wp-admin) :is(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  input[type="search"],
  textarea,
  select
):focus{
  outline: none;
  border-color: var(--rm-accent);
  box-shadow: var(--rm-focus-ring);
}

body:not(.wp-admin) :is(input, select, textarea, button):focus,
body:not(.wp-admin) :is(input, select, textarea, button):focus-visible{
  outline: none !important;
}

/* Select arrow */
body:not(.wp-admin) select{
  padding-right: 38px;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(17,17,17,0.55) 50%),
    linear-gradient(135deg, rgba(17,17,17,0.55) 50%, transparent 50%);
  background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

@media (max-width: 900px){
  .restaurant-columns{ grid-template-columns: 1fr; }
}

@media (max-width: 782px){
  .restaurant-columns{ gap: 18px; }
}

@media (max-width: 600px){
  .rm-contact-actions{ grid-template-columns: 1fr; }
}
