

.rk-app-pattern { margin: 1.25rem 0; }
.rk-app-pattern-message { font-size: .95rem; line-height: 1.5; }
.rk-app-pattern-links { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.rk-app-pattern-link {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: .75rem 1.2rem; border-radius: 4px;
  background: #222; color: #fff; text-align: center; text-decoration: none;
  font-size: .9rem; font-weight: 600;
}
.rk-app-pattern-link:hover, .rk-app-pattern-link:focus { background: #444; color: #fff; }
.rk-app-pattern-link:focus-visible { outline: 3px solid #97785e; outline-offset: 3px; }
.rk-app-pattern-link:disabled { opacity: .65; cursor: default; border: 0; }
.rk-app-pattern-link:disabled:hover { background: #222; }
.rk-app-pattern-product .product-add-to-cart,
.rk-app-pattern-product .product-prices,
.rk-app-pattern-product .product-availability,
.rk-app-pattern-product #product-availability { display: none !important; }
.rk-app-pattern-google { display: inline-flex; flex: 0 0 auto; line-height: 0; border-radius: 6px; }
.rk-app-pattern-google img { display: block; width: 208px; height: auto; max-width: 100%; }
.rk-app-pattern-google:focus-visible { outline: 3px solid #97785e; outline-offset: 2px; }
.rk-app-pattern-apple { flex-direction: column; gap: 3px; min-width: 181px; min-height: 54px; padding: .4rem 1rem; line-height: 1.2; }
.rk-app-pattern-coming-soon { display: block; font-size: .75rem; font-weight: 400; }
@media (max-width: 480px) { .rk-app-pattern-links { gap: .25rem .75rem; } }

/* All presentation rules are scoped to Ruke App. */
.rukeapp-home { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4vw,64px); align-items:center; max-width:1140px; margin:48px auto; background:#fff; color:#252525; }
.rukeapp-home__photo { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center 38%; }
.rukeapp-home__copy { min-width:0; padding:24px 24px 24px 0; }
.rukeapp-home__eyebrow { margin:0 0 22px; font-size:12px; font-weight:400; letter-spacing:.2em; }
.rukeapp-home h2 { margin:0 0 24px; max-width:450px; font-size:clamp(27px,3vw,43px); line-height:1.16; letter-spacing:-.035em; font-weight:400; text-transform:none; color:inherit; }
.rukeapp-home__body { max-width:410px; margin:0 0 18px; font-size:16px; line-height:1.7; color:#666; }
.rukeapp-home__languages { margin:0 0 28px; font-size:14px; line-height:1.6; color:#666; }
.rukeapp-home__button { display:inline-flex; align-items:center; justify-content:center; gap:26px; min-height:48px; padding:14px 24px; background:#292929; color:#fff; font-size:12px; line-height:1.5; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }
.rukeapp-home__button:hover,.rukeapp-home__button:focus { color:#fff; background:#454545; text-decoration:none; }
.rukeapp-home__button:focus-visible { outline:3px solid #97785e; outline-offset:3px; }
.rukeapp-home__platforms { margin:18px 0 0; font-size:12px; line-height:1.7; color:#777; }
.rukeapp-footer__soon { color:#777; }
.rukeapp-listing-message { margin:.5rem 0; font-size:12px; line-height:1.5; color:#666; }
.product-flags .product-flag.ruke-app-only { background:#fff; color:#333; border:1px solid #d0cdc7; font-weight:400; font-size:11px; letter-spacing:.03em; }
@media(max-width:767px) {
  .rukeapp-home { grid-template-columns:minmax(0,1fr); gap:0; margin:32px auto; }
  .rukeapp-home__copy { padding:30px 20px 10px; }
  .rukeapp-home h2 { max-width:430px; }
  .rukeapp-home__button { max-width:100%; }
}

/* Approved listing variant: a quiet app label below the photograph. */
.product-miniature .product-flags .product-flag.ruke-app-only {
  background:#fff !important; color:#232323 !important; border:0 !important;
  font-size:11px; font-weight:400; line-height:1.4; letter-spacing:.08em;
}
.product-miniature.rukeapp-listing-card .product-description {
  height:auto !important; min-height:98px; padding:12px 2px;
}
.product-miniature.rukeapp-listing-card .thumbnail-container { height:auto !important; }
.product-miniature.rukeapp-listing-card .product-description .rukeapp-listing-meta {
  position:static; display:flex; align-items:center; justify-content:flex-start; gap:7px;
  width:100%; max-width:100%; box-sizing:border-box; margin:0 0 8px; padding:0;
  border:0; border-radius:0; background:transparent; box-shadow:none;
  color:#373737; font-family:inherit; font-size:11px; font-weight:400;
  line-height:1.5; letter-spacing:.08em; text-align:left; text-transform:uppercase;
}
.product-miniature.rukeapp-listing-card .rukeapp-listing-label { min-width:0; overflow-wrap:anywhere; }
.product-miniature .rukeapp-listing-phone {
  position:relative; display:inline-block; flex:0 0 9px; width:9px; height:14px;
  box-sizing:border-box; border:1px solid currentColor; border-radius:1px;
}
.product-miniature .rukeapp-listing-phone::after {
  content:''; position:absolute; width:3px; height:1px; bottom:1px; left:2px; background:currentColor;
}
.product-miniature.rukeapp-listing-card .product-flags { left:12px; top:12px; }
.product-miniature.rukeapp-listing-card .product-flags .product-flag.new {
  background:#fff !important; color:#232323 !important; border:0 !important;
  box-shadow:none; width:auto; min-width:0; min-height:0; margin:0; padding:6px 9px;
  font-size:11px; font-weight:400; line-height:1.4; letter-spacing:.1em;
}

.product-miniature.rukeapp-listing-card .product-flags { right:auto; width:auto; max-width:calc(100% - 24px); align-items:flex-start; }
.product-miniature.rukeapp-listing-card .product-flags .product-flag.new { width:fit-content !important; align-self:flex-start; white-space:nowrap; }

/* Four peer footer columns when the app module adds its own block. */
@media (min-width:768px) {
  #footer .rukeapp-footer-row > .col-md-6.links > .row > .wrapper { width:100%; }
}
@media (min-width:992px) {
  #footer .rukeapp-footer-row > .links { width:25%; }
}
@media (min-width:768px) and (max-width:991px) {
  #footer .rukeapp-footer-row > .links { width:50%; }
  #footer .rukeapp-footer-row > .rukeapp-footer { clear:left; }
}
@media (max-width:767px) {
  #footer .rukeapp-footer-row > .links { float:none; width:100%; }
}

/* Use the theme's native Bootstrap footer accordion on small screens. */
.rukeapp-footer .rukeapp-footer-toggle {
  width:100%; border:0; background:transparent; color:inherit; font-family:inherit; text-align:left;
}
.rukeapp-footer .rukeapp-footer-toggle[aria-expanded="false"] .remove,
.rukeapp-footer .rukeapp-footer-toggle[aria-expanded="true"] .add { display:none; }
.rukeapp-footer .rukeapp-footer-toggle[aria-expanded="true"] .remove { display:inline-block; }

/* Mobile homepage photograph: keep the marked middle section, from lower face to torso. */
@media (max-width:767px) {
  .rukeapp-home .rukeapp-home__photo { aspect-ratio:3/2; height:auto; object-fit:cover; object-position:center 55%; }
}
