:root {
  --wallphone-navy: #1a315b;
  --wallphone-red: #d52b3f;
  --wallphone-pale: #f6f7fa;
  --wallphone-border: #dce1e8;
}

.hthb-notification,
.hashbar-wrapper { display: none !important; }

/* L'ancien encart de téléchargement mobile n'est plus présenté comme actif. */
#av_section_12 { display: none !important; }

:where(.wallphone-card, .wallphone-footer-info) a:focus-visible,
:where(.wallphone-card, .wallphone-footer-info) button:focus-visible,
:where(.wallphone-card, .wallphone-footer-info) input:focus-visible,
:where(.wallphone-card, .wallphone-footer-info) textarea:focus-visible {
  outline: 3px solid #ffbd2e;
  outline-offset: 3px;
}

.wallphone-welcome {
  background: var(--wallphone-navy);
  color: #fff;
  font-weight: 700;
  padding: 9px clamp(16px, 5vw, 70px);
  text-align: right;
}

.wallphone-footer-info {
  background: #f3f5f8;
  border-top: 1px solid var(--wallphone-border);
  color: #17233a;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 22px clamp(18px, 6vw, 80px);
}
.wallphone-footer-info a { color: var(--wallphone-navy); font-weight: 800; }

.wallphone-card {
  background: #fff;
  border: 1px solid var(--wallphone-border);
  border-radius: 12px;
  box-shadow: 0 12px 35px rgba(26, 49, 91, .08);
  margin: 28px auto;
  max-width: 1120px;
  padding: clamp(22px, 4vw, 42px);
}
.wallphone-card h2 { color: var(--wallphone-navy); font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.15; margin-top: 0; }
.wallphone-card p { font-size: 1rem; line-height: 1.65; }
.wallphone-auth-card { max-width: 820px; }
.wallphone-account-tabs {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin: 24px auto;
}
.wallphone-account-tabs a {
  border: 2px solid var(--wallphone-navy);
  border-radius: 999px;
  color: var(--wallphone-navy);
  font-weight: 800;
  padding: 11px 22px;
  text-decoration: none;
}
.wallphone-account-tabs a.is-active,
.wallphone-account-tabs a:hover { background: var(--wallphone-navy); color: #fff; }

.wallphone-form { display: grid; gap: 18px; }
.wallphone-form fieldset { border: 0; margin: 0; padding: 0; }
.wallphone-form label { color: #263650; display: grid; font-weight: 700; gap: 6px; }
.wallphone-form input,
.wallphone-form textarea {
  background: #fff;
  border: 1px solid #b8c1ce;
  border-radius: 7px;
  box-sizing: border-box;
  min-height: 44px;
  padding: 9px 11px;
  width: 100%;
}
.wallphone-form input:focus,
.wallphone-form textarea:focus { border-color: var(--wallphone-navy); box-shadow: 0 0 0 3px rgba(26, 49, 91, .14); outline: 0; }
.wallphone-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wallphone-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wallphone-account-choice { display: flex; flex-wrap: wrap; gap: 20px; }
.wallphone-account-choice legend { font-size: 1.1rem; font-weight: 800; margin-bottom: 8px; width: 100%; }
.wallphone-account-choice label,
.wallphone-check { align-items: center; display: flex; gap: 8px; }
.wallphone-account-choice input,
.wallphone-check input { min-height: auto; width: auto; }

.wallphone-button,
input[type="submit"].wallphone-button {
  background: var(--wallphone-red);
  border: 2px solid var(--wallphone-red);
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-weight: 900;
  justify-content: center;
  min-height: 46px;
  padding: 11px 20px;
  text-decoration: none;
  width: fit-content;
}
.wallphone-button.is-secondary { background: #fff; color: var(--wallphone-navy); border-color: var(--wallphone-navy); }
.wallphone-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.wallphone-alert { border-radius: 8px; font-weight: 700; padding: 13px 15px; }
.wallphone-alert.is-error { background: #fff0f1; border: 1px solid #d52b3f; color: #8f1524; }
.wallphone-alert.is-success { background: #ecf9f0; border: 1px solid #3b8f57; color: #1e6535; }
.wallphone-kicker { color: var(--wallphone-red); font-weight: 900; }

.wallphone-table-wrap { overflow-x: auto; }
.wallphone-quote-table { border-collapse: collapse; min-width: 900px; width: 100%; }
.wallphone-quote-table th,
.wallphone-quote-table td { border-bottom: 1px solid var(--wallphone-border); padding: 9px 6px; text-align: left; vertical-align: middle; }
.wallphone-quote-table input { min-width: 105px; }
.wallphone-remove-row { background: transparent; border: 0; color: var(--wallphone-red); cursor: pointer; font-size: 26px; }
.wallphone-quote-total { background: var(--wallphone-pale); border-radius: 8px; display: flex; flex-wrap: wrap; gap: 24px; justify-content: flex-end; padding: 16px; }

@media (min-width: 990px) and (max-width: 1280px) {
  /* Conserver le menu complet sans qu'il passe sous le logo. */
  #top #header .logo { max-width: 220px; }
  #top #header .av-main-nav > li > a {
    font-size: 10.5px;
    padding: 0 4px;
    white-space: nowrap;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  /* Le theme n'active normalement son menu compact que sur telephone.
     Les nouvelles entrees imposent le bouton natif plus tot. */
  .responsive #top .av-main-nav .menu-item { display: none !important; }
  .responsive #top .av-main-nav .menu-item-avia-special,
  .responsive .av-burger-menu-main { display: block !important; }
}

/* The crop validation remains the direct route to ordering; AR is postponed. */
.uppy-ImageCropper-controls button[type="button"]:last-child,
.uppy-ImageCropper-button--save {
  background: var(--wallphone-red) !important;
  color: #fff !important;
  font-weight: 900 !important;
}

@media (max-width: 780px) {
  .wallphone-footer-info,
  .wallphone-grid,
  .wallphone-grid-3 { grid-template-columns: 1fr; }
  .wallphone-footer-info { padding: 20px; }
  .wallphone-card { border-radius: 0; margin: 18px 0; padding: 20px 16px; }
  .wallphone-account-tabs { align-items: stretch; flex-direction: column; padding: 0 16px; text-align: center; }
  .wallphone-button { width: 100%; }
  .wallphone-quote-total { justify-content: flex-start; }
  .wallphone-table-wrap { overflow: visible; }
  .wallphone-quote-table,
  .wallphone-quote-table tbody,
  .wallphone-quote-table tr,
  .wallphone-quote-table td { display: block; min-width: 0; width: 100%; }
  .wallphone-quote-table thead { position: absolute; clip: rect(0 0 0 0); height: 1px; overflow: hidden; width: 1px; }
  .wallphone-quote-table tr { background: var(--wallphone-pale); border: 1px solid var(--wallphone-border); border-radius: 10px; box-sizing: border-box; margin-bottom: 14px; padding: 14px; }
  .wallphone-quote-table td { border: 0; box-sizing: border-box; padding: 7px 0; }
  .wallphone-quote-table td::before { color: var(--wallphone-navy); content: attr(data-label); display: block; font-size: .78rem; font-weight: 900; letter-spacing: .04em; margin-bottom: 4px; text-transform: uppercase; }
  .wallphone-remove-row { border: 1px solid #d52b3f; border-radius: 6px; font-size: 18px; min-height: 42px; width: 100%; }
}
