
/* October 2 owner mobile review: compact branding and a visible gift action. */
.mobile-brand-tagline { display: none; }
.review-polished .order-dialog {
  max-height: calc(var(--bc-visible-height, 100dvh) - 24px);
}
.review-polished .order-submit-row {
  position: sticky;
  bottom: 0;
  z-index: 5;
  border-top: 1px solid var(--line);
  padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
}
.review-polished .plan-selection-status {
  margin: 20px 0 0;
  color: var(--paper);
  font-size: 1rem;
  line-height: 1.5;
}
.review-polished .plan-selection-status[hidden] { display: none; }
@media (max-width: 620px) {
  .review-polished .order-dialog {
    position: fixed;
    inset: calc(var(--bc-visible-top, 0px) + 12px) 0 auto;
    width: calc(100% - 16px);
    max-height: calc(var(--bc-visible-height, 100svh) - 24px);
    margin: 0 auto;
    overflow: hidden;
  }
  .review-polished .order-form {
    display: flex;
    flex-direction: column;
    height: calc(var(--bc-visible-height, 100svh) - 24px);
    min-height: 0;
  }
  .review-polished .order-dialog-close {
    position: absolute;
    top: 8px;
    right: 8px;
    margin: 0;
    float: none;
  }
  .review-polished .order-dialog-heading { flex: 0 0 auto; padding: 24px 26px 16px; }
  .review-polished .order-dialog-heading h2 { font-size: 1.8rem; margin: 8px 0; }
  .review-polished .order-dialog-heading > p:last-child { font-size: .9rem; line-height: 1.45; }
  .review-polished .order-delivery-note { flex: 0 0 auto; padding: 12px 18px; font-size: .82rem; }
  .review-polished .order-plan-picker {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .review-polished .order-submit-row { position: relative; flex: 0 0 auto; padding: 12px 18px calc(14px + env(safe-area-inset-bottom, 0px)); }
  .review-polished .order-submit-row .button { width: 100%; min-width: 0; min-height: 48px; }
  .review-polished .order-status { flex: 0 0 auto; padding: 10px 18px; }
}

/* Owner phone/tablet review: a single row, compact tagline, and visible menu. */
.review-polished .site-header > .mobile-brand-tagline { display: none; }
@media (max-width: 1400px) {
  .review-polished .site-header,
  .review-polished .site-header.scrolled {
    grid-template-columns: 120px minmax(0, 1fr) auto;
    min-height: 72px;
    gap: 12px;
    padding: 4px 18px;
  }
  .review-polished .brand { display: block; width: 120px; min-width: 0; }
  .review-polished .brand img { display: block; width: 100%; height: auto; max-height: 64px; object-fit: contain; }
  .review-polished .brand > .brand-tagline { display: none; }
  .review-polished .site-header > .mobile-brand-tagline {
    display: block;
    min-width: 0;
    max-width: 310px;
    justify-self: center;
    margin: 0;
    padding: 0;
    color: var(--ink);
    font-family: var(--sans);
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.25;
    text-align: center;
    text-wrap: balance;
  }
  .review-polished .header-actions { display: flex; flex-wrap: nowrap; align-items: center; gap: 10px; grid-column: 3; grid-row: 1; }
  .review-polished .header-login { display: inline-flex; justify-content: center; align-items: center; min-width: 44px; min-height: 44px; padding: 4px 2px; font-size: .7rem; }
  .review-polished .header-actions .button { display: inline-flex; min-height: 44px; padding: 10px 14px; font-size: .75rem; white-space: nowrap; }
  .review-polished .menu-toggle {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    gap: 5px;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(16, 47, 56, .45);
    border-radius: 4px;
    background: var(--paper);
    color: var(--deep);
    cursor: pointer;
  }
  .review-polished .menu-toggle span { display: block; width: 21px; height: 2px; border-radius: 1px; background: currentColor; transition: transform 180ms ease, opacity 180ms ease; }
  .review-polished .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
  .review-polished .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .review-polished .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
  .review-polished .menu-toggle:focus-visible { outline: 3px solid var(--copper); outline-offset: 3px; }
  .review-polished .site-header .site-nav { display: none; }
  .review-polished .site-header.menu-open .site-nav {
    display: flex;
    position: absolute;
    z-index: 2;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    max-height: calc(100dvh - 72px);
    overflow-y: auto;
    border-top: 1px solid var(--line);
    background: var(--paper);
    padding: 8px 20px calc(16px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 22px 30px rgba(6, 31, 37, .2);
  }
  .review-polished .site-header .site-nav a { display: block; min-height: 48px; padding: 15px 6px; border-bottom: 1px solid var(--line); font-size: .84rem; line-height: 1.2; }
  .review-polished .site-header .site-nav a:last-child { border-bottom: 0; }
  .review-polished .hero { padding-top: 114px; }
  .review-polished section[id] { scroll-margin-top: 88px; }
}
@media (max-width: 620px) {
  .review-polished .site-header,
  .review-polished .site-header.scrolled { grid-template-columns: 96px minmax(0, 1fr) auto; min-height: 66px; gap: 8px; padding: 6px 12px; }
  .review-polished .brand { width: 96px; }
  .review-polished .brand img { max-height: 54px; }
  .review-polished .site-header > .mobile-brand-tagline { max-width: 165px; font-size: .76rem; line-height: 1.22; }
  .review-polished .header-actions { gap: 4px; }
  .review-polished .header-login { font-size: .65rem; letter-spacing: .025em; }
  .review-polished .header-actions > .button { display: none; }
  .review-polished .site-header.menu-open .site-nav { max-height: calc(100dvh - 66px); }
  .review-polished .hero { padding-top: 105px; }
  .review-polished section[id] { scroll-margin-top: 82px; }
}
@media (max-width: 360px) {
  .review-polished .site-header,
  .review-polished .site-header.scrolled { grid-template-columns: 84px minmax(0, 1fr) auto; gap: 6px; padding-inline: 10px; }
  .review-polished .brand { width: 84px; }
  .review-polished .site-header > .mobile-brand-tagline { font-size: .72rem; }
}
