/* A single mobile menu and a consistent set of readable touch controls. */
.cr-sim-advanced { grid-column: 1 / -1; min-width: 0; border: 1px solid #405674; border-radius: 12px; background: #122039; }
.cr-sim-advanced summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 46px; padding: 12px; color: #d8e5f7; font-size: 12px; cursor: pointer; list-style: none; }
.cr-sim-advanced summary::-webkit-details-marker { display: none; }
.cr-sim-advanced summary::after { content: "+"; font-size: 20px; line-height: 1; color: #bfc9ef; }
.cr-sim-advanced[open] summary::after { content: "−"; }
.cr-sim-optional { margin-left: auto; color: #a0b2cc; font-size: 10px; }
.cr-sim-advanced-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0 12px 12px; }
.cr-sim-advanced-grid > label { min-width: 0; }
.cr-sim-advanced summary:focus-visible { outline: 3px solid #93d7ff; outline-offset: 3px; border-radius: 10px; }
@media (max-width: 850px) {
  .cr121-side { display: none; }
  .cr121-shell { display: block; }
}

@media (max-width: 700px) {
  body { --cr-mobile-line: #354865; --cr-mobile-surface: #142239; }
  button, a, label.upload { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
  button:focus-visible, a:focus-visible, label.upload:focus-within {
    outline: 3px solid #93d7ff; outline-offset: 3px;
  }
  .topbar { gap: 10px; padding: 12px; min-height: 76px; }
  .brand { min-width: 0; gap: 6px; }
  .brand img { width: 54px; height: 44px; }
  .brand strong { font-size: 17px; letter-spacing: -.4px; }
  .brand small { font-size: 7px; letter-spacing: 0; }
  .mobile-menu-toggle {
    display: inline-flex; flex: none; width: auto; min-width: 80px;
    height: 44px; min-height: 44px; gap: 6px; padding: 0 10px;
    border: 1px solid #53618a; border-radius: 12px;
    background: #17223b; color: #e7edff; box-shadow: inset 0 1px #ffffff0a;
    font: 600 12px/1 "Noto Sans", Arial, sans-serif;
  }
  .mobile-menu-toggle svg { width: 18px; height: 18px; }
  .mobile-menu-toggle .cr-menu-close { display: none; }
  .mobile-menu-toggle[aria-expanded="true"] .cr-menu-open { display: none; }
  .mobile-menu-toggle[aria-expanded="true"] .cr-menu-close { display: block; }
  #premiumMobileNav[hidden] { display: none !important; }
  #premiumMobileNav {
    left: 12px; right: 12px; gap: 4px; padding: 8px;
    border-color: #495779; border-radius: 16px; background: #101b30;
    box-shadow: 0 16px 36px #02081799; max-height: calc(100dvh - 110px); overflow-y: auto;
  }
  #premiumMobileNav .nav-link {
    min-height: 46px; gap: 12px; padding: 11px 13px;
    border-radius: 10px; font-size: 13px; font-weight: 600; text-align: left;
  }
  #premiumMobileNav .nav-link.active {
    background: #2d355c; border-color: #7776b5; box-shadow: none;
  }
  #premiumMobileNav .nav-link.active::after { content: "✓"; margin-left: auto; color: #bfc5ff; }
  .hero.cr-work-hero { border-radius: 17px; box-shadow: inset 0 1px #ffffff0a; }
  .cr-home-workspace { padding: 17px 14px; }
  .cr-home-workspace h2 { font-family: "Noto Sans", Arial, sans-serif; font-size: 20px; letter-spacing: -.5px; }
  .cr-home-tools { gap: 8px; }
  .hero.cr-work-hero .hero-start {
    max-width: none; min-height: 64px; gap: 11px; padding: 12px;
    border-radius: 12px; background: linear-gradient(115deg, #6655bd, #40558e);
    border-color: #8d88c6; box-shadow: inset 0 1px #ffffff17;
  }
  .hero.cr-work-hero .hero-start strong { font-size: 14px; line-height: 1.4; }
  .hero.cr-work-hero .hero-start small { font-size: 11px; line-height: 1.45; }
  .cr-tool-number {
    display: grid; place-items: center; width: 30px; height: 30px; flex: none;
    border-radius: 9px; background: #ffffff0b; color: #d7dfff;
  }
  .cr-tool-number svg { width: 18px; height: 18px; }
  .hero-tool {
    min-height: 99px; padding: 12px; gap: 7px; border-color: var(--cr-mobile-line);
    border-radius: 12px; background: var(--cr-mobile-surface); box-shadow: inset 0 1px #ffffff09;
  }
  .hero-tool .cr-tool-number { width: 27px; height: 27px; }
  .hero-tool strong { font-size: 13px; line-height: 1.35; }
  .hero-tool small { font-size: 11px; line-height: 1.4; color: #b9c9df; }
  .hero-tool:hover { background: var(--cr-mobile-surface); }
  .hero-start:active, .hero-tool:active { filter: brightness(1.12); transform: translateY(1px); }
  .cr-home-workspace-foot { font-size: 11px; line-height: 1.5; }
  .cr-quick-links > button {
    min-height: 46px; padding: 11px 13px; font-size: 12px;
    text-transform: none; letter-spacing: 0; border-radius: 11px;
    color: #d5e2f5; background: var(--cr-mobile-surface); border-color: var(--cr-mobile-line);
  }
  .trust-strip { font-size: 11px; }
  .trust-strip .trust-how { font-size: 12px; min-height: 44px; text-decoration: none; }
  .review-toggle, .review-send, .review-state-action {
    min-height: 46px; padding: 11px 15px; font-size: 13px; font-weight: 600;
    border-radius: 11px; box-shadow: inset 0 1px #ffffff12;
    background: linear-gradient(115deg, #6254ae, #3c568e); border-color: #817fb1;
  }
  .review-stars { gap: 5px; }
  .review-stars button { width: 44px; height: 44px; min-width: 44px; min-height: 44px; border-radius: 10px; }
  .review-fields label { font-size: 12px; line-height: 1.5; }
  .review-fields input, .review-fields textarea { font-size: 16px; min-height: 46px; border-radius: 10px; }
  .review-consent { min-height: 44px; font-size: 12px; line-height: 1.55; }
  .cr89-close, .cr11-campaign-close, .cr-kind-close {
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; min-width: 44px; min-height: 44px;
    padding: 0; border-radius: 12px; font-size: 26px;
    background: #1b2942; border: 1px solid #536582; color: #e4edff;
  }
  .cr11-campaign-header { padding-right: 46px; }
  .cr121-detail-actions { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .cr121-detail-actions > *, .cr-kind-thanks {
    min-height: 46px; justify-content: center; padding: 11px 13px;
    border-radius: 11px; font-size: 13px; line-height: 1.5; box-shadow: none;
  }
  .services-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .services-grid article {
    display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: start;
    gap: 5px 12px; padding: 15px; border-radius: 13px;
    background: #111e33; border-color: var(--cr-mobile-line); box-shadow: inset 0 1px #ffffff08;
  }
  .services-grid article > span {
    grid-column: 1; grid-row: 1 / 3; width: 36px; height: 36px; margin: 0;
    border-radius: 10px; border-color: #435676; background: #1b2e48;
  }
  .services-grid article > span svg { width: 20px; height: 20px; }
  .services-grid h3 { grid-column: 2; margin: 0; font-size: 14px; line-height: 1.5; }
  .services-grid p { grid-column: 2; margin: 0; font-size: 12px; line-height: 1.6; }
  .service-question {
    grid-column: 2; width: 100%; min-height: 44px; justify-content: space-between;
    gap: 9px; margin-top: 5px; padding: 10px 12px; border-radius: 10px;
    font-size: 12px; background: #1a2c45; color: #d7e7fc; border-color: #435979;
  }
  .outline-cta { min-height: 46px; padding: 11px 13px; font-size: 12px; border-radius: 11px; }
  .crseo-region-card { min-height: 64px; padding: 13px; border-radius: 12px; }
  .crseo-region-card strong { font-size: 14px; }
  .crseo-region-card span { font-size: 12px; line-height: 1.5; }
  .cr-contact-channel { min-height: 64px; border-radius: 12px; box-shadow: none; }
  .contact-actions > *, .cr-contact-route { min-height: 46px; font-size: 13px; border-radius: 11px; }
  .cr-contact-map-note a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; }
  .cr-footer-regions { gap: 5px; }
  .cr-footer-regions a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; font-size: 12px; }
  .cr-footer-daily, .cr-footer-owner-tools .review-admin-link { min-height: 44px; font-size: 12px; }
  #crFooterSocial a { width: 44px; height: 44px; border-radius: 12px; }
  .cr-sim-advanced { border-radius: 11px; background: #14243b; }
  .cr-sim-advanced summary { min-height: 48px; font-size: 12px; padding: 10px; }
  .cr-sim-advanced-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0 10px 10px; }
  .cr-assistant-dialog .cr-sim-advanced-grid > label { display: flex; flex-direction: column; gap: 7px; padding: 8px; border-radius: 9px; background: #102038; color: #c9d8ec; font-size: 12px; line-height: 1.4; }
  .cr-sim-advanced-grid label:focus-within { outline: 1px solid #86b6df; background: #20364f; }
  .cr-sim-advanced-grid label small { font-size: 11px; }
}

@media (max-width: 360px) {
  .mobile-menu-toggle { min-width: 74px; padding-inline: 8px; }
  .brand strong { font-size: 16px; }
  .brand small { font-size: 6px; }
  .hero-tool { padding: 11px; }
  .hero-tool strong { font-size: 12px; }
  .cr-quick-links > button { padding-inline: 11px; font-size: 12px; }
  .services-grid article { padding: 13px; gap: 5px 10px; }
}
