/* UAVCHIP Product Media + RFQ List Phase 1 */
.page-header .container.has-product-media {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  column-gap: 32px;
  align-items: start;
}
.has-product-media .breadcrumb { grid-column: 1 / -1; }
.has-product-media > h1,
.has-product-media > p,
.has-product-media > .page-header-meta { grid-column: 1; }
.product-media-card {
  grid-column: 2;
  grid-row: 2 / span 3;
  background: #fff;
  color: var(--text, #243247);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(3,18,45,.24);
  overflow: hidden;
  width: 100%;
  max-width: 240px;
  justify-self: end;
}
.product-media-visual {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 4 / 3;
  background:
    linear-gradient(135deg, rgba(33,105,188,.08), rgba(10,37,73,.02)),
    repeating-linear-gradient(0deg, transparent 0 23px, rgba(33,105,188,.055) 24px),
    repeating-linear-gradient(90deg, transparent 0 23px, rgba(33,105,188,.055) 24px),
    #f6f9fc;
}
.product-media-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #f6f9fc;
}
.product-media-placeholder {
  max-width: 190px;
  padding: 12px;
  text-align: center;
}
.product-media-placeholder-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin: 0 auto 8px;
  border: 2px dashed #6f8fb4;
  border-radius: 16px;
  color: #325f93;
  font-size: 21px;
  font-weight: 900;
}
.product-media-placeholder strong {
  display: block;
  color: #17365d;
  font-size: 15px;
  margin-bottom: 6px;
}
.product-media-placeholder span {
  display: block;
  color: #60758e;
  font-size: 12px;
  line-height: 1.5;
}
.product-media-status {
  position: absolute;
  top: 12px;
  left: 12px;
  max-width: calc(100% - 24px);
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(12,37,70,.92);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}
.product-media-caption-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.product-media-body { padding: 14px 16px 16px; }
.product-media-model {
  margin-bottom: 5px;
  color: #122d50;
  font-family: var(--font-mono, monospace);
  font-size: 18px;
  font-weight: 900;
}
.product-media-caption {
  min-height: 38px;
  margin: 0 0 10px;
  color: #5b6b7f;
  font-size: 11.5px;
  line-height: 1.55;
}
.product-media-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}
.product-media-badges span {
  padding: 4px 7px;
  border: 1px solid #d5e0ed;
  border-radius: 999px;
  background: #f7f9fc;
  color: #405872;
  font-size: 10.5px;
  font-weight: 700;
}
.product-media-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}
.product-media-actions button {
  min-height: 38px;
  padding: 8px 9px;
  border: 1px solid #2169bc;
  border-radius: 7px;
  background: #fff;
  color: #2169bc;
  cursor: pointer;
  font: inherit;
  font-size: 11.5px;
  font-weight: 800;
}
.product-media-actions .is-primary {
  background: #2169bc;
  color: #fff;
}
.product-media-actions .is-photo { grid-column: 1 / -1; }
.product-media-note {
  margin-top: 10px;
  color: #718197;
  font-size: 9.5px;
  line-height: 1.45;
}
.rfq-list-inline-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 6px 9px;
  border: 1px solid var(--blue, #2169bc);
  border-radius: 6px;
  background: #fff;
  color: var(--blue, #2169bc);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.quote-card .rfq-list-inline-add {
  width: 100%;
  min-height: 42px;
  margin: 0 0 10px;
}
.rfq-list-fab {
  position: fixed;
  right: 20px;
  bottom: var(--rfq-list-bottom, 88px);
  z-index: 9992;
  display: none;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 10px 16px;
  border: 0;
  border-radius: 999px;
  background: #ef8326;
  color: #fff;
  box-shadow: 0 10px 26px rgba(10,37,73,.25);
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
}
.rfq-list-fab.is-visible { display: inline-flex; }
.rfq-list-count {
  display: grid;
  place-items: center;
  min-width: 24px;
  height: 24px;
  padding: 0 6px;
  border-radius: 999px;
  background: #fff;
  color: #c95f05;
}
.rfq-list-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: none;
  background: rgba(4,18,38,.6);
}
.rfq-list-backdrop.is-open { display: block; }
.rfq-list-drawer {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  width: min(560px, 100%);
  height: 100%;
  background: #fff;
  box-shadow: -16px 0 40px rgba(0,0,0,.18);
}
.rfq-list-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  border-bottom: 1px solid #e2e8f0;
}
.rfq-list-head h2 { margin: 0 0 4px; color: #122d50; font-size: 22px; }
.rfq-list-head p { margin: 0; color: #64748b; font-size: 12px; line-height: 1.5; }
.rfq-list-close {
  width: 38px;
  height: 38px;
  border: 1px solid #d8e0ea;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  cursor: pointer;
  font-size: 24px;
}
.rfq-list-content {
  flex: 1;
  overflow: auto;
  padding: 16px 22px;
}
.rfq-list-empty {
  padding: 48px 20px;
  color: #64748b;
  text-align: center;
}
.rfq-list-item {
  margin-bottom: 12px;
  padding: 12px;
  border: 1px solid #dce4ee;
  border-radius: 9px;
  background: #f9fbfd;
}
.rfq-list-item-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.rfq-list-item-model {
  color: #17365d;
  font-family: var(--font-mono, monospace);
  font-size: 14px;
  font-weight: 900;
}
.rfq-list-remove {
  border: 0;
  background: none;
  color: #b42318;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}
.rfq-list-fields {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 9px;
}
.rfq-list-fields label,
.rfq-list-contact label {
  color: #52657b;
  font-size: 11px;
  font-weight: 800;
}
.rfq-list-fields input,
.rfq-list-contact input,
.rfq-list-contact textarea {
  width: 100%;
  margin-top: 4px;
  padding: 9px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  color: #172033;
  font: inherit;
  font-size: 13px;
}
.rfq-list-contact textarea { min-height: 74px; resize: vertical; }
.rfq-list-contact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e2e8f0;
}
.rfq-list-contact .is-wide { grid-column: 1 / -1; }
.rfq-list-alert {
  display: none;
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 7px;
  font-size: 12px;
  line-height: 1.5;
}
.rfq-list-alert.is-error { display: block; background: #fff1f0; color: #a61b12; }
.rfq-list-alert.is-success { display: block; background: #edf9f0; color: #166534; }
.rfq-list-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 22px 18px;
  border-top: 1px solid #e2e8f0;
  background: #fff;
}
.rfq-list-footer button {
  min-height: 40px;
  padding: 9px 14px;
  border: 1px solid #cbd5e1;
  border-radius: 7px;
  background: #fff;
  color: #334155;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
}
.rfq-list-footer .is-submit {
  flex: 1;
  border-color: #2169bc;
  background: #2169bc;
  color: #fff;
}
.rfq-list-footer button:disabled { cursor: wait; opacity: .65; }

@media (max-width: 900px) {
  .page-header .container.has-product-media { display: block; }
  .product-media-card { margin: 18px auto 0; }
}
@media (max-width: 600px) {
  .product-media-card { border-radius: 10px; }
  .product-media-visual { aspect-ratio: 4 / 3; }
  .product-media-actions { grid-template-columns: 1fr; }
  .product-media-actions .is-photo { grid-column: auto; }
  .rfq-list-fab {
    right: 10px;
    bottom: var(--rfq-list-bottom, 76px);
    min-height: 42px;
    padding: 8px 13px;
  }
  .rfq-list-drawer {
    top: auto;
    bottom: 0;
    width: 100%;
    height: min(92vh, 760px);
    border-radius: 16px 16px 0 0;
  }
  .rfq-list-head { padding: 16px; }
  .rfq-list-content { padding: 12px 16px; }
  .rfq-list-fields { grid-template-columns: 92px 1fr; }
  .rfq-list-contact { grid-template-columns: 1fr; }
  .rfq-list-contact .is-wide { grid-column: auto; }
  .rfq-list-footer { padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); }
}

/* Phase 2A: isolated visual preview for the ten approved product pages. */
@media (min-width: 901px) {
  .product-visual-refine .page-header {
    padding: 22px 0 24px;
    border-bottom: 0;
    background:
      radial-gradient(circle at 82% 20%, rgba(44,121,194,.22), transparent 35%),
      linear-gradient(135deg, #071b31 0%, #0d2d4c 58%, #123b60 100%);
  }
  .product-visual-refine .page-header > .container.has-product-media {
    width: min(1200px, calc(100% - 48px));
    display: grid;
    grid-template-columns: minmax(0, 1fr) 240px;
    grid-template-rows: auto auto auto 1fr;
    column-gap: 32px;
    align-items: center;
  }
  .product-visual-refine .has-product-media .breadcrumb {
    grid-column: 1 / -1;
    margin-bottom: 12px;
    padding: 0;
  }
  .product-visual-refine .has-product-media > h1 {
    grid-column: 1;
    margin: 0 0 15px;
    max-width: 680px;
    color: #fff;
    font-size: clamp(40px, 4vw, 46px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.035em;
  }
  .product-visual-refine .has-product-media > p {
    grid-column: 1;
    margin: 0;
    max-width: 680px;
    color: #b7cce0;
    font-size: 17px;
    line-height: 1.65;
  }
  .product-visual-refine .has-product-media > .page-header-meta {
    grid-column: 1;
    align-self: start;
    gap: 9px;
    margin-top: 18px;
  }
  .product-visual-refine .page-header-meta > span {
    min-height: 30px;
    padding: 7px 11px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    color: #c7d8e7;
    font-size: 12px;
    line-height: 1;
  }
  .product-visual-refine .product-media-card {
    grid-column: 2;
    grid-row: 2 / span 3;
    width: 100%;
    max-width: 240px;
    justify-self: end;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 19px;
    box-shadow: 0 24px 60px rgba(0,10,25,.28);
    transform: translateY(0);
    animation: product-card-in .5s ease-out both;
  }
  .product-visual-refine .product-media-visual {
    aspect-ratio: 4 / 3;
    margin: 8px;
    width: calc(100% - 16px);
    border-radius: 14px;
    overflow: hidden;
    background: #f3f6f8;
  }
  .product-visual-refine .product-media-model {
    margin-bottom: 5px;
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: -.015em;
  }
  .product-visual-refine .product-media-caption {
    min-height: 0;
    display: -webkit-box;
    margin-bottom: 7px;
    overflow: hidden;
    font-size: 11px;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .product-visual-refine .product-media-badges { gap: 5px; margin-bottom: 8px; }
  .product-visual-refine .product-media-badges span {
    padding: 4px 7px;
    border-color: #e1e7ed;
    background: #f6f8fa;
    color: #526578;
    font-size: 9.5px;
  }
  .product-visual-refine .product-media-badges span:nth-child(n+3) { display: none; }
  .product-visual-refine .product-media-actions { gap: 7px; }
  .product-visual-refine .product-media-actions button {
    min-height: 38px;
    border-radius: 9px;
    font-size: 12px;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  .product-visual-refine .product-media-actions button:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(16,58,99,.12);
  }
  .product-visual-refine .product-media-actions .is-primary {
    border-color: #e9751a;
    background: #e9751a;
  }
  .product-visual-refine .product-media-actions .is-photo {
    min-height: auto;
    padding: 5px 0 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #526b84;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  .product-visual-refine .product-media-note { display: none; }

  .product-visual-refine .product-main-layout {
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 34px;
  }
  .product-visual-refine .quote-card {
    top: 104px;
    border: 1px solid #dbe3eb;
    border-radius: 14px;
    box-shadow: 0 12px 28px rgba(17,42,68,.08);
  }
  .product-visual-refine .quote-card-head {
    padding: 13px 17px;
    background: #163b60;
  }
  .product-visual-refine .quote-card-body { padding: 17px; }
  .product-visual-refine .quote-card .quote-price-range,
  .product-visual-refine .quote-card .quote-detail-list { display: none; }
  .product-visual-refine .quote-card-body > div:has(.quote-detail-list) { display: none; }
  .product-visual-refine .quote-card .quote-cta-btn {
    min-height: 44px;
    padding: 12px;
    border-radius: 9px;
  }
  .product-visual-refine .quote-card .quote-cta-btn-secondary {
    padding: 8px;
    border: 0;
    font-size: 12px;
  }
  .product-visual-refine .quote-card .rfq-list-inline-add {
    min-height: 42px;
    border-radius: 9px;
  }
}

@keyframes product-card-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 900px) {
  .product-visual-refine .page-header { padding: 24px 0 28px; }
  .product-visual-refine .page-header > .container.has-product-media {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .product-visual-refine .has-product-media .breadcrumb { grid-row: 1; margin-bottom: 10px; }
  .product-visual-refine .has-product-media > h1 {
    grid-row: 2;
    margin-bottom: 14px;
    font-size: clamp(30px, 9vw, 40px);
    line-height: 1.12;
  }
  .product-visual-refine .product-media-card {
    grid-column: 1;
    grid-row: 3;
    margin: 0 0 18px;
    border-radius: 16px;
  }
  .product-visual-refine .has-product-media > p { grid-row: 4; font-size: 15px; line-height: 1.55; }
  .product-visual-refine .has-product-media > .page-header-meta { grid-row: 5; margin-top: 16px; }
  .product-visual-refine .product-media-visual { border-radius: 14px 14px 0 0; }
  .product-visual-refine .product-media-actions button { min-height: 46px; }
  .product-visual-refine .product-media-note { display: none; }
  .product-visual-refine .product-media-badges span:nth-child(n+3) { display: none; }
  .product-visual-refine .rfq-list-fab { bottom: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .product-visual-refine .product-media-card { animation: none; }
  .product-visual-refine .product-media-actions button { transition: none; }
}


/* Qorvo image hero stability P1: stable DOM, one visual, no collapse state. */
.qorvo-product-page .q-hero { align-items: center; }
.product-hero-media {
  position: relative; display: block; width: min(100%, 260px); min-width: 0;
  min-height: 200px; visibility: visible; opacity: 1; max-height: none;
  overflow: visible; flex: 0 0 auto; justify-self: end;
}
.product-hero-media__frame {
  position: relative; width: 100%; aspect-ratio: 4 / 3; min-height: 190px;
  overflow: hidden; border: 1px solid #d8e0e6; border-radius: 20px;
  background: #eef2f5; box-shadow: 0 18px 42px rgba(8,31,51,.14);
}
.product-hero-media picture,
.product-hero-media img { display: block; width: 100%; height: 100%; }
.product-hero-media img { object-fit: contain; }
.product-hero-media__status {
  position: absolute; left: 12px; bottom: 12px; padding: 5px 9px; border-radius: 999px;
  background: rgba(8,29,48,.9); color: #fff; font-size: 11px; font-weight: 800;
}
.product-hero-media__fallback {
  display: grid; place-content: center; gap: 8px; width: 100%; height: 100%; min-height: 190px;
  padding: 24px; text-align: center; color: #24445f;
  background: linear-gradient(145deg,#eef3f7,#dde7ee);
}
.product-hero-media__fallback strong { font-size: 24px; }
.product-hero-media__fallback span { font-size: 14px; }
.product-hero-media:not([hidden]):not(.is-hidden):not(.collapsed):not(.is-collapsed) {
  display: block; visibility: visible; opacity: 1; max-height: none;
}
@media (max-width: 760px) {
  .product-hero-media { width: min(100%, 240px); min-height: 0; justify-self: center; }
  .product-hero-media__frame { min-height: 180px; border-radius: 16px; }
}

/* Deterministic non-live stock and estimated USD price reference. */
.product-commerce-card {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 14px 0;
  padding: 14px;
  border: 1px solid #cbdbea;
  border-radius: 10px;
  background: #f5f9fd;
  color: #122d50;
  box-shadow: none;
}
.product-commerce-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.product-commerce-grid > div {
  min-width: 0;
}
.product-commerce-grid span,
.product-commerce-grid small {
  display: block;
  color: #60758e;
  font-size: 10.5px;
  line-height: 1.4;
}
.product-commerce-grid strong {
  display: block;
  margin: 3px 0;
  color: #17365d;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
}
.product-commerce-grid > div:last-child strong {
  color: #c45400;
}
.product-commerce-card > p {
  margin: 9px 0 0;
  color: #506981;
  font-size: 10.5px;
  line-height: 1.45;
}
.product-commerce-card > p + p {
  margin-top: 3px;
  color: #718398;
}
.q-card > .product-commerce-card {
  margin-bottom: 18px;
}
@media (max-width: 420px) {
  .product-commerce-grid { grid-template-columns: 1fr; }
}
@media (max-width: 960px) {
  .page-product-refresh .product-main-layout {
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
  }
  .page-product-refresh .product-main-layout > * {
    min-width: 0;
  }
  .page-product-refresh .quote-card {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
  }
}
