:root{
  --ams-accent-1:#111111;
  --ams-accent-2:#3a3a3a;
  --ams-accent-1-22: rgba(17,17,17,0.12);
  --ams-accent-2-14: rgba(58,58,58,0.10);
  --ams-bg:#f6f6f6;
  --ams-text:#111111;
  --ams-muted:#5f5f5f;
  --ams-card:#ffffff;
  --ams-border:#d9d9d9;
  --ams-danger: rgba(180,35,44,0.18);
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:17px;
  line-height:1.5;
  color:var(--ams-text);
  background: var(--ams-bg);
}

a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration:underline; }

/* Background rotator (subtle, monochrome) */
.ams-bg{ position:fixed; inset:0; z-index:-2; pointer-events:none; }
.ams-bg__layer{ position:absolute; inset:0; background-size:cover; background-position:center; filter: grayscale(1); opacity:0; transition: opacity 700ms ease; }
.ams-bg__layer.is-on{ opacity:.14; }
.ams-bg__overlay{ position:absolute; inset:0; background: var(--ams-bg); opacity:.92; z-index:1; }

.ams-shell{ min-height:100vh; }
.ams-wrap{ width:min(1180px, calc(100% - 32px)); margin:0 auto; }

/* Header */
.ams-site-header{
  position:sticky; top:0; z-index:10;
  background: var(--ams-card);
    border-bottom: 1px solid var(--ams-border);
}
.ams-site-header__inner{ display:flex; justify-content:space-between; align-items:center; gap:14px; padding:18px 0; }
.ams-brand{ display:inline-block; font-size:1.3rem; font-weight:900; letter-spacing:.2px; }
.ams-brand-sub{ margin:6px 0 0; color:var(--ams-muted); font-size:0.98rem; font-weight:600; }
.ams-nav{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.ams-nav a{
  display:inline-flex; align-items:center;
  min-height:40px;
  padding: 0 14px;
  border:1px solid var(--ams-border);
  border-radius:999px;
  background: var(--ams-card);
}
.ams-nav a:hover{ background:#f2f2f2; }

.ams-main{ padding:26px 0 56px; }

/* Panels / Cards */
.ams-card, .ams-panel, .ams-hero, .ams-files{ border:1px solid var(--ams-border); border-radius:18px; background: var(--ams-card); }
.ams-card{ padding:18px; }
.ams-panel{ padding:18px; }
.ams-hero{ padding:22px; }
.ams-hero h1{ font-size: var(--ams-hero-title-size, 40px); color: var(--ams-hero-title-color, var(--ams-text)); font-weight:900; margin:0 0 10px; letter-spacing:.1px; }
.ams-hero p{ color: var(--ams-hero-sub-color, var(--ams-muted)); max-width:780px; margin:0; font-size: var(--ams-hero-sub-size, 20px); }

/* Common text */
.ams-muted{ color: var(--ams-muted); }
.ams-prose{ color: var(--ams-text); }

/* Alerts */
.ams-alert{ border-radius:14px; padding:12px 14px; border:1px solid var(--ams-border); background:#fbfbfb; }
.ams-alert--warn{ border-color: rgba(154,107,0,.25); background: rgba(154,107,0,.06); }
.ams-alert--danger{ border-color: rgba(180,35,44,.25); background: rgba(180,35,44,.06); }

/* Home blocks **/
.ams-home{ display:flex; flex-direction:column; gap: var(--ams-home-gap-d, 22px); }
.ams-home-block--hero{ margin-top: var(--ams-home-hero-top-d, 48px); }
.ams-home-block--hero{ margin-bottom: var(--ams-home-hero-bottom-d, 22px); }

.ams-search{ margin-top:0; display:flex; gap:10px; flex-wrap:wrap; max-width: var(--ams-search-max-width, 1040px); margin-left:auto; margin-right:auto; }
.ams-search__input{ flex:1 1 280px; min-height: var(--ams-search-height, 56px); padding:0 16px; border-radius: var(--ams-search-radius, 14px); border:1px solid var(--ams-search-border, var(--ams-border)); background: var(--ams-search-bg, var(--ams-card)); color: var(--ams-search-text, var(--ams-text)); font-size: var(--ams-search-text-size, 18px); box-shadow: 0 0 0 2px var(--ams-search-glow, rgba(0,0,0,0)); }
.ams-search__input::placeholder{ color: var(--ams-search-placeholder, var(--ams-muted)); }
.ams-search__btn{ min-height: var(--ams-search-height, 56px); padding:0 18px; border-radius: var(--ams-search-radius, 14px); border:1px solid var(--ams-search-border, var(--ams-border)); background: var(--ams-search-bg, var(--ams-card)); color: var(--ams-search-text, var(--ams-text)); font-weight:900; cursor:pointer; }
.ams-search__btn:hover{ background:#f2f2f2; text-decoration:none; }
.ams-search__btn--primary{ width: var(--ams-search-btn-width, 128px); border-color: var(--ams-search-btn-border, var(--ams-text)); background: var(--ams-search-btn-fill, var(--ams-text)); color: var(--ams-search-btn-text, #fff); font-size: var(--ams-search-btn-text-size, 16px); box-shadow: 0 0 0 2px var(--ams-search-btn-glow, rgba(0,0,0,0)); }

.ams-pills{ margin-top:14px; display:flex; gap:10px; flex-wrap:wrap; }
.ams-pill{ display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 14px; border-radius:999px; border:1px solid var(--ams-border); background: var(--ams-card); font-weight:800; }
.ams-pill:hover{ background:#f2f2f2; text-decoration:none; }

/* Product grid */
.ams-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:16px; margin-top:20px; }
.ams-card__eyebrow{ display:inline-flex; align-items:center; align-self:flex-start; min-height:28px; padding:0 12px; border-radius:999px; border:1px solid var(--ams-border); color:var(--ams-muted); background:#fbfbfb; font-size:.9rem; font-weight:800; }
.ams-card h2{ font-size:1.15rem; font-weight:900; margin:12px 0 6px; letter-spacing:.1px; }
.ams-card__copy{ color:var(--ams-muted); margin:0 0 14px; }

.ams-price-stack{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-top:auto; }
.ams-price{ font-size:1.08rem; font-weight:900; }
.ams-price-compare{ color:var(--ams-muted); text-decoration: line-through; font-weight:800; }

.ams-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }

/* Buttons */
.ams-btn, .ams-button, .ams-button-secondary, .ams-link{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:44px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid var(--ams-border);
  background: var(--ams-card);
  color: var(--ams-text);
  font-weight:900;
  cursor:pointer;
}
.ams-btn:hover, .ams-button:hover, .ams-button-secondary:hover, .ams-link:hover{ background:#f2f2f2; text-decoration:none; }

.ams-btn--primary{ border-color: var(--ams-text); }
.ams-btn--ghost{ background: transparent; }
.ams-btn--full{ width:100%; }
.ams-button{ border-color: var(--ams-text); }
.ams-button-secondary{ background: transparent; }
.ams-link{ border:none; background: transparent; padding:0; min-height:auto; font-weight:800; }

/* States */
.ams-error, .ams-state{ margin-top:18px; padding:18px; border:1px solid var(--ams-border); border-radius:18px; background: var(--ams-card); }
.ams-error h2, .ams-state h2{ margin:0 0 8px; font-size:1.2rem; font-weight:900; }
.ams-error{ border-color: rgba(180,35,44,.25); background: rgba(180,35,44,.05); }

/* Product detail layout */
.ams-detail-layout{ display:grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.8fr); gap:16px; margin-top: 18px; }
.ams-detail-meta{ color: var(--ams-muted); margin: 8px 0 0; }

/* Media block */
.ams-media{ display:grid; grid-template-columns: 200px minmax(0,1fr); gap: 18px; align-items:start; margin-bottom: 18px; }
.ams-media__cover{ width:100%; aspect-ratio:1/1; border-radius:18px; border:1px solid var(--ams-border); background:#fbfbfb; overflow:hidden; }
.ams-media__cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.ams-media__stack{ display:flex; flex-direction:column; gap:10px; }
.ams-audio{ width:100%; }

/* Included files list */
.ams-files{ margin-top:16px; overflow:hidden; }
.ams-files__row{ display:flex; justify-content:space-between; gap:14px; padding:12px 14px; border-top:1px solid var(--ams-border); }
.ams-files__row:first-child{ border-top:none; }
.ams-files__name{ font-weight:900; }
.ams-files__meta{ color: var(--ams-muted); font-size:.95rem; }

/* Forms */
input, select, textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--ams-border);
  background: var(--ams-card);
  color: var(--ams-text);
  outline:none;
}
textarea{ min-height:120px; resize:vertical; }

.ams-field{ display:flex; flex-direction:column; gap:6px; }
.ams-field__label{ font-weight:900; }
.ams-input--qty{ max-width:110px; }

/* Tables (cart) */
.ams-table-wrap{ width:100%; overflow:auto; border:1px solid var(--ams-border); border-radius:16px; background: var(--ams-card); margin-top: 10px; }
.ams-table{ width:100%; border-collapse:collapse; min-width:760px; }
.ams-table th, .ams-table td{ padding:12px 10px; border-bottom:1px solid var(--ams-border); vertical-align:top; }
.ams-table th{ background:#fbfbfb; font-weight:900; }
.ams-ta-right{ text-align:right; }
.ams-ta-center{ text-align:center; }
.ams-item-title{ font-weight:900; }
.ams-item-sub{ color: var(--ams-muted); font-size:.95rem; }

.ams-cart-actions{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top: 14px; }
.ams-cart-actions__left{ display:flex; gap:10px; flex-wrap:wrap; }
.ams-cart-totals{ min-width: 240px; border:1px solid var(--ams-border); border-radius:16px; padding:12px; background:#fbfbfb; }
.ams-cart-totals__row{ display:flex; justify-content:space-between; gap:10px; margin: 6px 0; }
.ams-cart-totals__cta{ margin-top: 10px; }
.ams-cart-totals__cta--stack{ display:flex; flex-direction:column; gap:10px; }
.ams-cart-totals__cta--stack .ams-btn{ width:100%; }

/* Footer */
.ams-site-footer{ border-top:1px solid var(--ams-border); margin-top: var(--ams-footer-top-d, 36px); padding:22px 0; color:var(--ams-muted); font-size:0.98rem; }

/* Profile-specific tweaks (kept subtle) */
.ams-profile--directory .ams-search__input,
.ams-profile--search_only .ams-search__input{ min-height:56px; font-size:1.04rem; padding:0 18px; }
.ams-profile--directory .ams-search__btn,
.ams-profile--search_only .ams-search__btn{ min-height:56px; font-size:1.02rem; }

.ams-profile--directory .ams-pills{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap:10px;
}
.ams-profile--directory .ams-pill{ border-radius:14px; min-height:52px; }

@media (max-width: 860px){
  .ams-site-header__inner, .ams-detail-layout{ grid-template-columns: 1fr; display:grid; }
  .ams-nav{ justify-content:flex-start; }
}
@media (max-width: 640px){
  .ams-wrap{ width: calc(100% - 28px); }
  .ams-profile--directory .ams-pills{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ams-profile--directory .ams-search__input,
  .ams-profile--directory .ams-search__btn,
  .ams-profile--search_only .ams-search__input,
  .ams-profile--search_only .ams-search__btn{ min-height:52px; }
}

@media (max-width: 860px){
  .ams-home{ gap: var(--ams-home-gap-t, 18px); }
  .ams-home-block--hero{ margin-top: var(--ams-home-hero-top-t, 28px); margin-bottom: var(--ams-home-hero-bottom-t, 18px); }
  .ams-site-footer{ margin-top: var(--ams-footer-top-t, 28px); }
}
@media (max-width: 640px){
  .ams-home{ gap: var(--ams-home-gap-m, 16px); }
  .ams-home-block--hero{ margin-top: var(--ams-home-hero-top-m, 22px); margin-bottom: var(--ams-home-hero-bottom-m, 16px); }
  .ams-site-footer{ margin-top: var(--ams-footer-top-m, 22px); }
  .ams-search__btn--primary{ width: 100%; }
}

/* AMS Admin Control System — Build 1 public render hooks */
.ams-home-block--search{
  margin-top: var(--ams-search-top-d, 0px);
  margin-bottom: var(--ams-search-bottom-d, 0px);
}
.ams-pills{
  margin-top: var(--ams-category-gap-top-d, 14px);
  margin-bottom: var(--ams-category-gap-bottom-d, 4px);
}
.ams-grid{
  gap: var(--ams-product-grid-gap-d, 16px);
}
@media (max-width: 860px){
  .ams-search{ max-width: var(--ams-search-max-width-t, var(--ams-search-max-width, 840px)); }
  .ams-home-block--search{ margin-top: var(--ams-search-top-t, 0px); margin-bottom: var(--ams-search-bottom-t, 0px); }
  .ams-pills{ margin-top: var(--ams-category-gap-top-t, 12px); margin-bottom: var(--ams-category-gap-bottom-t, 4px); }
  .ams-grid{ gap: var(--ams-product-grid-gap-t, 14px); }
}
@media (max-width: 640px){
  .ams-search{ max-width: var(--ams-search-max-width-m, var(--ams-search-max-width, 520px)); }
  .ams-home-block--search{ margin-top: var(--ams-search-top-m, 0px); margin-bottom: var(--ams-search-bottom-m, 0px); }
  .ams-pills{ margin-top: var(--ams-category-gap-top-m, 10px); margin-bottom: var(--ams-category-gap-bottom-m, 4px); }
  .ams-grid{ gap: var(--ams-product-grid-gap-m, 12px); }
}

/* ============================================================
   AMS Public Render Hooks — Build 2 Header/Footer Systems
   ============================================================ */
.ams-site-header{
  background: var(--ams-header-bg, var(--ams-card));
  border-bottom-color: var(--ams-header-border, var(--ams-border));
  color: var(--ams-header-text, var(--ams-text));
}
.ams-site-header__inner{
  padding-top: var(--ams-header-padding-y-d, 18px);
  padding-bottom: var(--ams-header-padding-y-d, 18px);
}
.ams-brandbox{ min-width:0; }
.ams-brand{
  color: var(--ams-header-text, var(--ams-text));
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.ams-brand-img{
  display:block;
  width:auto;
  max-width:180px;
  max-height:44px;
  object-fit:contain;
}
.ams-brand-sub{ color: var(--ams-header-tagline, var(--ams-muted)); }
.ams-nav-link{
  color: var(--ams-header-link-text, var(--ams-text));
  background: var(--ams-header-link-bg, var(--ams-card));
  border-color: var(--ams-header-link-border, var(--ams-border));
  border-radius: var(--ams-header-link-radius, 999px);
}
.ams-nav-link--button{
  border-color: var(--ams-header-text, var(--ams-text));
  font-weight:900;
}
.ams-nav-link--ghost{ background: transparent; }
.ams-site-footer{
  background: var(--ams-footer-bg, var(--ams-card));
  border-top-color: var(--ams-footer-border, var(--ams-border));
  color: var(--ams-footer-text, var(--ams-muted));
  padding-top: var(--ams-footer-padding-y-d, 22px);
  padding-bottom: var(--ams-footer-padding-y-d, 22px);
}
.ams-site-footer__inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.ams-site-footer__copy p{ margin:0; }
.ams-footer-nav{ display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.ams-footer-nav a{
  color: var(--ams-footer-link-text, var(--ams-text));
  font-weight:800;
}
@media (max-width: 860px){
  .ams-site-header__inner{
    padding-top: var(--ams-header-padding-y-t, 16px);
    padding-bottom: var(--ams-header-padding-y-t, 16px);
  }
  .ams-site-footer{
    padding-top: var(--ams-footer-padding-y-t, 20px);
    padding-bottom: var(--ams-footer-padding-y-t, 20px);
  }
}
@media (max-width: 640px){
  .ams-site-header__inner{
    padding-top: var(--ams-header-padding-y-m, 14px);
    padding-bottom: var(--ams-header-padding-y-m, 14px);
  }
  .ams-site-footer{
    padding-top: var(--ams-footer-padding-y-m, 18px);
    padding-bottom: var(--ams-footer-padding-y-m, 18px);
  }
  .ams-site-footer__inner,
  .ams-footer-nav{ justify-content:flex-start; }
}


/* ============================================================
   AMS Product Page Block System — Build 3
   ============================================================ */
.ams-product-page{ margin-top:18px; }
.ams-product-deck{ display:flex; flex-direction:column; gap:16px; }
.ams-product-block{
  border:1px solid var(--ams-product-box-border, var(--ams-border));
  border-radius: var(--ams-product-box-radius, 18px);
  background: var(--ams-product-box-bg, var(--ams-card));
  padding: var(--ams-product-box-padding-d, 18px);
}
.ams-product-title-block h1{
  font-size: clamp(34px, 5vw, 56px);
  line-height:1.03;
  letter-spacing:-.035em;
  margin:12px 0 0;
}
.ams-product-block-title{
  font-weight:950;
  letter-spacing:-.015em;
  margin:0 0 12px;
}
.ams-media-system{ display:grid; gap:16px; }
.ams-gallery{ display:grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap:12px; }
.ams-gallery__item,
.ams-media-cover{
  display:block;
  border:1px solid var(--ams-border);
  border-radius:16px;
  overflow:hidden;
  background:#fbfbfb;
  min-height:150px;
}
.ams-gallery__item img,
.ams-media-cover img{ width:100%; height:100%; aspect-ratio: 16/10; object-fit:cover; display:block; }
.ams-preview-unit{ display:grid; gap:8px; }
.ams-preview-label{ font-weight:900; color:var(--ams-muted); }
.ams-video{ width:100%; max-height:520px; border-radius:16px; background:#000; }
.ams-buy-box .ams-price-stack{ margin-bottom:14px; }
.ams-buy-box .ams-cart-form{ display:grid; gap:12px; max-width:420px; }
.ams-details-list{ display:grid; gap:0; border:1px solid var(--ams-border); border-radius:16px; overflow:hidden; }
.ams-details-list > div{ display:grid; grid-template-columns:minmax(160px,.45fr) minmax(0,1fr); gap:12px; padding:12px 14px; border-top:1px solid var(--ams-border); }
.ams-details-list > div:first-child{ border-top:0; }
.ams-details-list strong{ font-weight:950; }
.ams-details-list span{ color:var(--ams-muted); }
@media (max-width:860px){
  .ams-product-block{ padding: var(--ams-product-box-padding-t, 16px); }
}
@media (max-width:640px){
  .ams-product-block{ padding: var(--ams-product-box-padding-m, 14px); }
  .ams-details-list > div{ grid-template-columns:1fr; gap:4px; }
  .ams-gallery{ grid-template-columns:1fr; }
}

/* ============================================================
   AMS Product Page Cleanup — Build 3C
   ============================================================ */
.ams-card-price-rows,
.ams-price-rows{
  display:grid;
  gap:8px;
  margin:14px 0 16px;
  max-width:420px;
}
.ams-card-price-row,
.ams-price-row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  padding:10px 12px;
  border:1px solid var(--ams-border);
  border-radius:14px;
  background:#fbfbfb;
}
.ams-card-price-row span,
.ams-price-row__label{
  color:var(--ams-muted);
  font-size:.92rem;
  font-weight:850;
}
.ams-card-price-row strong,
.ams-price-row__amount{
  color:var(--ams-text);
  font-weight:950;
  white-space:nowrap;
}
.ams-card-price-row--active,
.ams-price-row--active{
  border-color:var(--ams-text);
  background:#fff;
}
.ams-card-price-row--active span,
.ams-price-row--active .ams-price-row__label{
  color:var(--ams-text);
}
.ams-card-price-row--active strong,
.ams-price-row--active .ams-price-row__amount{
  font-size:1.12rem;
}
.ams-card-price-row--muted strong,
.ams-price-row--muted .ams-price-row__amount{
  color:var(--ams-muted);
}
.ams-card-price-row--compare strong,
.ams-price-row--compare .ams-price-row__amount{
  color:var(--ams-muted);
  text-decoration:line-through;
}
.ams-detail-row strong::after{
  content:':';
}
.ams-detail-row span{
  overflow-wrap:anywhere;
}
.ams-product-block{
  box-shadow:none;
}
.ams-media-system audio,
.ams-media-system video{
  width:100%;
}
@media (max-width:640px){
  .ams-card-price-row,
  .ams-price-row{
    display:grid;
    justify-content:stretch;
    gap:4px;
  }
}

/* ============================================================
   AMS Product Page Label/Value Cleanup — Build 3D
   Keeps price/detail labels readable even when rows wrap.
   ============================================================ */
.ams-buy-box .ams-price-rows{
  display:grid;
  gap:10px;
  margin:14px 0 18px;
  max-width:520px;
}
.ams-buy-box .ams-price-row{
  display:grid;
  grid-template-columns:minmax(140px, 0.8fr) minmax(140px, 1fr);
  column-gap:18px;
  row-gap:4px;
  align-items:baseline;
  justify-content:start;
  padding:11px 14px;
  line-height:1.35;
}
.ams-buy-box .ams-price-row__label{
  display:block;
  white-space:normal;
}
.ams-buy-box .ams-price-row__amount{
  display:block;
  white-space:nowrap;
  text-align:left;
}
.ams-details-list{
  display:grid;
  gap:8px;
  border:0;
  border-radius:0;
  overflow:visible;
  margin-top:8px;
}
.ams-details-list > .ams-detail-row{
  display:grid;
  grid-template-columns:minmax(140px, 0.8fr) minmax(140px, 1fr);
  column-gap:18px;
  row-gap:4px;
  padding:0;
  border:0;
  line-height:1.45;
}
.ams-detail-row strong::after{
  content:'';
}
.ams-detail-row strong,
.ams-detail-row span{
  display:block;
}
@media (max-width:640px){
  .ams-buy-box .ams-price-row,
  .ams-details-list > .ams-detail-row{
    grid-template-columns:1fr;
    gap:4px;
  }
  .ams-buy-box .ams-price-row__amount{
    white-space:normal;
  }
}

/* ============================================================
   AMS Category Directory System — Build 4 public render hooks
   ============================================================ */
.ams-category-directory{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:12px;
  margin-top: var(--ams-category-gap-top-d, 14px);
  margin-bottom: var(--ams-category-gap-bottom-d, 4px);
}
.ams-category-card{
  border:1px solid var(--ams-border);
  border-radius:18px;
  background:var(--ams-card);
  padding:16px;
}
.ams-category-card.is-active{ border-color:var(--ams-text); }
.ams-category-card__title{
  display:inline-flex;
  color:var(--ams-text);
  font-size:1.1rem;
  font-weight:900;
  text-decoration:none;
}
.ams-category-card p{ margin:8px 0 0; color:var(--ams-muted); }
.ams-category-children{ display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.ams-category-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border:1px solid var(--ams-border);
  border-radius:999px;
  background:#fbfbfb;
  color:var(--ams-text);
  font-size:.92rem;
  font-weight:850;
  text-decoration:none;
}
.ams-category-chip--leaf{ color:var(--ams-muted); }
.ams-category-chip.is-active{ border-color:var(--ams-text); background:#f2f2f2; color:var(--ams-text); }
.ams-filter-summary{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 14px;
  color:var(--ams-muted);
  border:1px solid var(--ams-border);
  border-radius:14px;
  background:var(--ams-card);
  padding:10px 12px;
}
.ams-filter-summary a{ font-weight:900; }
@media (max-width: 860px){
  .ams-category-directory{ margin-top: var(--ams-category-gap-top-t, 12px); margin-bottom: var(--ams-category-gap-bottom-t, 4px); }
}
@media (max-width: 640px){
  .ams-category-directory{ grid-template-columns:1fr; margin-top: var(--ams-category-gap-top-m, 10px); margin-bottom: var(--ams-category-gap-bottom-m, 4px); }
}


/* ============================================================
   AMS Front Door / Root Storefront Page — Build 4A
   ============================================================ */
.ams-front-door{ padding-top: clamp(18px, 5vw, 62px); padding-bottom: clamp(28px, 6vw, 76px); }
.ams-front-door__panel{
  background: var(--ams-root-box-bg, var(--ams-card));
  border:1px solid var(--ams-root-box-border, var(--ams-border));
  border-radius: var(--ams-root-box-radius, 24px);
  padding: var(--ams-root-box-padding-d, 34px);
  display:flex;
  flex-direction:column;
  gap:24px;
}
.ams-front-block{ max-width:980px; }
.ams-front-hero h1{ margin:0; line-height:1.02; letter-spacing:-.04em; font-weight:950; }
.ams-front-subheadline{ margin:12px 0 0; max-width:820px; line-height:1.38; }
.ams-front-copy{ max-width:820px; line-height:1.6; }
.ams-front-actions{ display:flex; flex-wrap:wrap; gap:12px; }
.ams-front-media{ width:100%; max-width:1040px; display:flex; flex-direction:column; gap:14px; }
.ams-front-media h2{ margin:0; font-size:1.35rem; line-height:1.2; }
.ams-front-media-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.ams-front-image{ margin:0; border:1px solid var(--ams-border); border-radius:18px; overflow:hidden; background:#fbfbfb; }
.ams-front-image img{ width:100%; height:100%; max-height:440px; object-fit:cover; display:block; }
.ams-front-audio audio{ width:100%; }
.ams-front-video video{ width:100%; max-height:560px; border:1px solid var(--ams-border); border-radius:18px; background:#000; display:block; }
.ams-front-search{ margin-left:0; margin-right:0; }
@media (max-width: 860px){
  .ams-front-door__panel{ padding: var(--ams-root-box-padding-t, 26px); }
}
@media (max-width: 640px){
  .ams-front-door{ width:calc(100% - 24px); }
  .ams-front-door__panel{ padding: var(--ams-root-box-padding-m, 20px); border-radius:18px; gap:18px; }
  .ams-front-hero h1{ font-size: clamp(34px, 11vw, 52px) !important; }
  .ams-front-subheadline{ font-size: clamp(17px, 5vw, 22px) !important; }
  .ams-front-actions .ams-btn{ width:100%; }
}

/* ============================================================
   AMS Footer Legal / Info Rows — Build 4B
   ============================================================ */
.ams-site-footer__inner{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:10px;
  text-align:center;
}
.ams-footer-trust{
  font-weight:800;
  color:var(--ams-footer-text, var(--ams-muted));
}
.ams-footer-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  flex-wrap:wrap;
  color:var(--ams-footer-text, var(--ams-muted));
  line-height:1.45;
}
.ams-footer-row a{
  color:var(--ams-footer-link-text, var(--ams-text));
  font-weight:850;
}
.ams-footer-row--legal a{
  font-weight:900;
}
.ams-footer-row--extra,
.ams-footer-row--meta,
.ams-footer-row--copyright{
  font-size:0.96rem;
}
.ams-footer-dot{
  color:var(--ams-footer-text, var(--ams-muted));
  opacity:.72;
}
.ams-footer-row--copyright{
  padding-top:2px;
}
@media (max-width: 640px){
  .ams-site-footer__inner,
  .ams-footer-row{
    justify-content:center;
    align-items:center;
    text-align:center;
  }
  .ams-footer-row{
    gap:8px;
  }
}

/* Public legal/info content pages — Build 4B */
.ams-content-page{
  margin-top:28px;
  margin-bottom:28px;
}
.ams-content-card{
  background:var(--ams-card);
  border:1px solid var(--ams-border);
  border-radius:22px;
  padding:clamp(22px, 4vw, 42px);
  max-width:980px;
  margin:0 auto;
}
.ams-content-card h1{
  margin:14px 0 10px;
  font-size:clamp(34px, 5vw, 58px);
  line-height:1.05;
}
.ams-content-intro{
  font-size:1.12rem;
  color:var(--ams-muted);
  max-width:760px;
}
.ams-content-section{
  border-top:1px solid var(--ams-border);
  margin-top:20px;
  padding-top:20px;
}
.ams-content-section h2{
  margin:0 0 8px;
  font-size:1.32rem;
}
.ams-content-section p{
  margin:0;
  color:var(--ams-muted);
}
.ams-back-link{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  padding:0 14px;
  border:1px solid var(--ams-border);
  border-radius:999px;
  font-weight:850;
}

/* ============================================================
   AMS Footer Row Layout Cleanup — Build 4C
   Forces the dynamic legal/footer rows to stay separated and readable.
   ============================================================ */
.ams-site-footer{
  text-align:center;
}
.ams-site-footer .ams-site-footer__inner{
  display:grid !important;
  grid-template-columns:1fr !important;
  justify-items:center !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  text-align:center !important;
}
.ams-site-footer .ams-footer-trust,
.ams-site-footer .ams-footer-row{
  width:100%;
  max-width:1120px;
}
.ams-site-footer .ams-footer-trust{
  display:block !important;
  line-height:1.45;
}
.ams-site-footer .ams-footer-row{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  column-gap:0 !important;
  row-gap:8px !important;
  line-height:1.55 !important;
}
.ams-site-footer .ams-footer-row a,
.ams-site-footer .ams-footer-row > span:not(.ams-footer-dot){
  display:inline-flex !important;
  align-items:center;
  margin-left:7px !important;
  margin-right:7px !important;
}
.ams-site-footer .ams-footer-dot{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  margin-left:4px !important;
  margin-right:4px !important;
  opacity:.55;
  min-width:8px;
}
.ams-site-footer .ams-footer-row--legal{
  padding-top:2px;
  padding-bottom:2px;
}
.ams-site-footer .ams-footer-row--extra,
.ams-site-footer .ams-footer-row--custom,
.ams-site-footer .ams-footer-row--meta{
  padding-top:1px;
  padding-bottom:1px;
}
.ams-site-footer .ams-footer-row--copyright{
  margin-top:4px;
  padding-top:10px;
  border-top:1px solid var(--ams-footer-border, var(--ams-border));
  font-size:.96rem;
}
@media (max-width:640px){
  .ams-site-footer .ams-site-footer__inner{
    gap:11px !important;
  }
  .ams-site-footer .ams-footer-row{
    row-gap:7px !important;
  }
  .ams-site-footer .ams-footer-dot{
    display:none !important;
  }
  .ams-site-footer .ams-footer-row a,
  .ams-site-footer .ams-footer-row > span:not(.ams-footer-dot){
    margin-left:6px !important;
    margin-right:6px !important;
  }
}


/* ============================================================
   Build 5A — Product Engine / Audio Rows / Licensing
   ============================================================ */
.ams-product-results{ display:flex; flex-direction:column; gap:18px; }
.ams-card-cover{ display:block; width:100%; aspect-ratio:1/1; overflow:hidden; border-radius:16px; border:1px solid var(--ams-border); background:#f7f7f7; margin-bottom:12px; }
.ams-card-cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.ams-license-badge{ display:inline-flex; align-items:center; min-height:28px; align-self:flex-start; padding:0 10px; border-radius:999px; border:1px solid var(--ams-border); background:#fafafa; color:var(--ams-muted); font-size:.88rem; font-weight:900; margin-top:10px; }
.ams-license-badge--row{ margin-top:8px; }
.ams-audio-list{ border:1px solid var(--ams-border); border-radius:18px; overflow:hidden; background:var(--ams-card); }
.ams-audio-list__head{ display:grid; grid-template-columns: minmax(300px,1.6fr) minmax(220px,1fr) minmax(150px,.7fr) minmax(150px,.65fr); gap:14px; padding:12px 16px; color:var(--ams-muted); font-size:.92rem; font-weight:900; border-bottom:1px solid var(--ams-border); background:#fbfbfb; }
.ams-audio-row{ display:grid; grid-template-columns:42px 58px minmax(220px,1.2fr) minmax(220px,1fr) minmax(150px,.65fr) minmax(150px,.65fr); gap:12px; align-items:center; padding:12px 16px; border-bottom:1px solid var(--ams-border); }
.ams-audio-row:last-child{ border-bottom:none; }
.ams-audio-row__play{ display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:999px; border:1px solid var(--ams-border); font-size:.85rem; }
.ams-audio-row__cover{ width:52px; height:52px; border-radius:10px; border:1px solid var(--ams-border); overflow:hidden; display:flex; align-items:center; justify-content:center; color:var(--ams-muted); background:#f7f7f7; }
.ams-audio-row__cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.ams-audio-row__title{ font-weight:900; color:var(--ams-text); }
.ams-audio-row__meta{ color:var(--ams-muted); font-size:.9rem; margin-top:3px; }
.ams-audio-tags{ display:flex; gap:6px; flex-wrap:wrap; margin-top:6px; }
.ams-audio-tags span{ border:1px solid var(--ams-border); border-radius:999px; padding:2px 8px; font-size:.82rem; color:var(--ams-muted); background:#fbfbfb; }
.ams-audio-row__wave audio{ width:100%; height:36px; }
.ams-wave-placeholder{ display:flex; gap:3px; align-items:center; height:36px; opacity:.7; }
.ams-wave-placeholder span{ display:block; width:3px; min-height:8px; border-radius:3px; background:var(--ams-muted); }
.ams-wave-placeholder span:nth-child(2n){ height:22px; } .ams-wave-placeholder span:nth-child(3n){ height:30px; } .ams-wave-placeholder span:nth-child(5n){ height:16px; }
.ams-audio-row__facts{ display:grid; grid-template-columns:1fr; gap:3px; color:var(--ams-muted); font-size:.9rem; }
.ams-audio-row__buy{ display:flex; gap:8px; justify-content:flex-end; flex-wrap:wrap; }
.ams-audio-row__buy .ams-btn{ min-height:38px; padding:0 12px; }
.ams-license-panel__name{ font-size:1.1rem; font-weight:900; margin-bottom:10px; }
.ams-license-panel p{ color:var(--ams-muted); line-height:1.55; }
.ams-license-terms{ margin-top:12px; border-top:1px solid var(--ams-border); padding-top:10px; }
.ams-license-terms summary{ font-weight:900; cursor:pointer; }
.ams-license-terms div{ margin-top:10px; color:var(--ams-muted); line-height:1.55; }
@media (max-width: 980px){
  .ams-audio-list__head{ display:none; }
  .ams-audio-row{ grid-template-columns:42px 58px minmax(0,1fr); }
  .ams-audio-row__wave, .ams-audio-row__facts, .ams-audio-row__buy{ grid-column:1 / -1; }
  .ams-audio-row__buy{ justify-content:flex-start; }
}
@media (max-width: 560px){
  .ams-audio-row{ grid-template-columns:40px minmax(0,1fr); }
  .ams-audio-row__cover{ display:none; }
  .ams-audio-row__main{ min-width:0; }
}

/* ============================================================
   Build 5A-1 — Audio Row Cleanup
   - real preview play button
   - no giant row artwork
   - no native browser download menu on row previews
   - readable horizontal audio list
   ============================================================ */
.ams-audio-list{
  width:100% !important;
  max-width:100% !important;
  border:1px solid var(--ams-border) !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:var(--ams-card) !important;
}
.ams-audio-list__head{
  display:grid !important;
  grid-template-columns:48px 62px minmax(260px,1.55fr) minmax(220px,1fr) minmax(150px,.7fr) minmax(190px,.75fr) !important;
  gap:14px !important;
  align-items:center !important;
  padding:12px 16px !important;
  border-bottom:1px solid var(--ams-border) !important;
  background:#fbfbfb !important;
  color:var(--ams-muted) !important;
  font-size:.92rem !important;
  font-weight:900 !important;
}
.ams-audio-row{
  display:grid !important;
  grid-template-columns:48px 62px minmax(260px,1.55fr) minmax(220px,1fr) minmax(150px,.7fr) minmax(190px,.75fr) !important;
  gap:14px !important;
  align-items:center !important;
  padding:12px 16px !important;
  min-height:82px !important;
  border-bottom:1px solid var(--ams-border) !important;
  background:var(--ams-card) !important;
}
.ams-audio-row:last-child{ border-bottom:none !important; }
.ams-audio-row.is-playing{ background:#fafafa !important; }
.ams-audio-row__play{
  appearance:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid var(--ams-border) !important;
  background:var(--ams-card) !important;
  color:var(--ams-text) !important;
  font-size:.88rem !important;
  line-height:1 !important;
  cursor:pointer !important;
}
.ams-audio-row__play:hover{ border-color:var(--ams-text) !important; }
.ams-audio-row__play:disabled{ opacity:.35 !important; cursor:not-allowed !important; }
.ams-audio-row__cover{
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  min-height:56px !important;
  max-width:56px !important;
  max-height:56px !important;
  border-radius:12px !important;
  border:1px solid var(--ams-border) !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f7f7f7 !important;
  color:var(--ams-muted) !important;
}
.ams-audio-row__cover img{
  display:block !important;
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  min-height:56px !important;
  max-width:56px !important;
  max-height:56px !important;
  object-fit:cover !important;
}
.ams-audio-row__main{ min-width:0 !important; }
.ams-audio-row__title{
  display:inline-block !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-weight:900 !important;
  color:var(--ams-text) !important;
  text-decoration:none !important;
}
.ams-audio-row__title:hover{ text-decoration:underline !important; }
.ams-audio-row__meta{
  color:var(--ams-muted) !important;
  font-size:.9rem !important;
  margin-top:3px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.ams-audio-tags{ display:flex !important; gap:6px !important; flex-wrap:wrap !important; margin-top:6px !important; }
.ams-audio-tags span{ border:1px solid var(--ams-border) !important; border-radius:999px !important; padding:2px 8px !important; font-size:.8rem !important; color:var(--ams-muted) !important; background:#fbfbfb !important; }
.ams-audio-row__wave{ min-width:0 !important; }
.ams-audio-row__audio{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.ams-wave-placeholder{
  display:flex !important;
  gap:3px !important;
  align-items:center !important;
  height:38px !important;
  max-width:100% !important;
  overflow:hidden !important;
  opacity:.72 !important;
}
.ams-wave-placeholder span{
  display:block !important;
  flex:0 0 3px !important;
  width:3px !important;
  min-height:8px !important;
  border-radius:3px !important;
  background:var(--ams-muted) !important;
}
.ams-wave-placeholder span:nth-child(2n){ height:22px !important; }
.ams-wave-placeholder span:nth-child(3n){ height:30px !important; }
.ams-wave-placeholder span:nth-child(5n){ height:16px !important; }
.ams-audio-row.is-playing .ams-wave-placeholder{ opacity:1 !important; }
.ams-audio-row.is-playing .ams-wave-placeholder span{ background:var(--ams-text) !important; }
.ams-audio-row__facts{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:4px !important;
  color:var(--ams-muted) !important;
  font-size:.9rem !important;
}
.ams-audio-row__facts span{ display:flex !important; gap:6px !important; align-items:baseline !important; white-space:nowrap !important; }
.ams-audio-row__facts strong{ color:var(--ams-text) !important; font-weight:900 !important; min-width:34px !important; }
.ams-audio-row__buy{
  display:flex !important;
  gap:8px !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
  margin:0 !important;
}
.ams-audio-row__buy .ams-btn{ min-height:38px !important; padding:0 12px !important; white-space:nowrap !important; }
@media (max-width: 1100px){
  .ams-audio-list__head{ display:none !important; }
  .ams-audio-row{ grid-template-columns:48px 62px minmax(0,1fr) !important; }
  .ams-audio-row__wave,
  .ams-audio-row__facts,
  .ams-audio-row__buy{ grid-column:1 / -1 !important; }
  .ams-audio-row__facts{ grid-template-columns:repeat(3, max-content) !important; gap:14px !important; }
  .ams-audio-row__buy{ justify-content:flex-start !important; }
}
@media (max-width: 560px){
  .ams-audio-row{ grid-template-columns:42px minmax(0,1fr) !important; gap:10px !important; padding:12px !important; }
  .ams-audio-row__cover{ display:none !important; }
  .ams-audio-row__facts{ grid-template-columns:1fr !important; gap:4px !important; }
  .ams-audio-row__buy .ams-btn{ width:100% !important; }
}


/* ============================================================
   Build 5A-2 — Audio Listing + Audio Single Detail Cleanup
   - tighter one-row audio listing on desktop
   - compact two-column audio detail page on desktop
   - mobile remains stacked/readable
   ============================================================ */
@media (min-width: 1101px){
  .ams-audio-list__head{
    grid-template-columns:42px 58px minmax(260px,1.25fr) minmax(160px,.65fr) minmax(220px,.7fr) minmax(210px,.75fr) !important;
    padding:10px 14px !important;
  }
  .ams-audio-row{
    grid-template-columns:42px 58px minmax(260px,1.25fr) minmax(160px,.65fr) minmax(220px,.7fr) minmax(210px,.75fr) !important;
    min-height:74px !important;
    padding:10px 14px !important;
    gap:12px !important;
  }
  .ams-audio-row__play{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
  }
  .ams-audio-row__cover,
  .ams-audio-row__cover img{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    max-width:48px !important;
    max-height:48px !important;
  }
  .ams-audio-row__wave{
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
  }
  .ams-wave-placeholder{
    width:100% !important;
    max-width:160px !important;
    height:28px !important;
  }
  .ams-wave-placeholder span{
    flex-basis:2px !important;
    width:2px !important;
  }
  .ams-audio-row__facts{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:8px !important;
    align-items:center !important;
    font-size:.86rem !important;
  }
  .ams-audio-row__facts span{
    display:flex !important;
    flex-direction:column !important;
    gap:1px !important;
    white-space:nowrap !important;
    line-height:1.15 !important;
  }
  .ams-audio-row__facts strong{
    min-width:0 !important;
    font-size:.78rem !important;
    color:var(--ams-muted) !important;
    text-transform:uppercase !important;
    letter-spacing:.03em !important;
  }
  .ams-audio-row__buy{
    justify-content:flex-end !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
  }
  .ams-audio-row__buy .ams-btn{
    min-height:34px !important;
    padding:0 10px !important;
    font-size:.88rem !important;
  }
}

.ams-product-page--audio-single .ams-actions{ margin-bottom:14px !important; }
.ams-audio-detail-hero{
  display:grid;
  grid-template-columns:minmax(220px, 300px) minmax(0, 1fr);
  gap:24px;
  align-items:start;
  padding:var(--ams-product-box-padding-d, 18px);
  border:1px solid var(--ams-product-box-border, var(--ams-border));
  border-radius:var(--ams-product-box-radius, 18px);
  background:var(--ams-product-box-bg, var(--ams-card));
  margin-bottom:18px;
}
.ams-audio-detail-hero__media{ display:flex; flex-direction:column; gap:12px; min-width:0; }
.ams-audio-detail-cover{
  width:100%;
  max-width:280px;
  aspect-ratio:1/1;
  border:1px solid var(--ams-border);
  border-radius:18px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f7f7f7;
  color:var(--ams-muted);
  font-size:3rem;
}
.ams-audio-detail-cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.ams-audio-detail-player{ width:100%; max-width:360px; }
.ams-audio-detail-player audio{ width:100%; }
.ams-audio-detail-hero__body{ min-width:0; }
.ams-audio-detail-hero h1{
  font-size:clamp(2.1rem, 4vw, 4.2rem);
  line-height:.98;
  margin:10px 0 10px;
  letter-spacing:-.04em;
}
.ams-audio-detail-summary{ color:var(--ams-muted); font-size:1.08rem; margin:0 0 10px; }
.ams-audio-detail-description{ color:var(--ams-text); line-height:1.55; max-width:860px; margin:12px 0; }
.ams-audio-detail-meta-line{ color:var(--ams-muted); font-weight:800; margin-top:10px; }
.ams-audio-tags--detail{ margin:12px 0 0 !important; }
.ams-audio-detail-facts{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));
  gap:8px;
  margin:16px 0;
}
.ams-audio-detail-facts div{
  border:1px solid var(--ams-border);
  border-radius:14px;
  background:#fbfbfb;
  padding:9px 10px;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.ams-audio-detail-facts strong{ color:var(--ams-muted); font-size:.82rem; text-transform:uppercase; letter-spacing:.03em; }
.ams-audio-detail-facts span{ font-weight:900; color:var(--ams-text); }
.ams-audio-detail-commerce{
  margin-top:14px;
  display:grid;
  grid-template-columns:minmax(260px, 420px) minmax(280px, 1fr);
  gap:14px;
  align-items:start;
}
.ams-audio-detail-commerce .ams-price-rows{ margin:0 !important; }
.ams-audio-detail-commerce .ams-price-row{ min-height:40px !important; }
.ams-audio-detail-cart{
  display:grid;
  grid-template-columns:90px minmax(130px, auto) minmax(120px, auto);
  gap:10px;
  align-items:end;
  margin:0 !important;
}
.ams-audio-detail-qty .ams-field__label{ font-size:.85rem; }
.ams-audio-detail-delivery{ grid-column:1 / -1; margin:0; }
.ams-product-deck--audio-single{ gap:14px; }
.ams-product-deck--audio-single .ams-product-block{ margin-top:0; }
@media (max-width: 960px){
  .ams-audio-detail-hero{ grid-template-columns:1fr; padding:var(--ams-product-box-padding-t, 16px); }
  .ams-audio-detail-cover{ max-width:260px; }
  .ams-audio-detail-commerce{ grid-template-columns:1fr; }
  .ams-audio-detail-cart{ grid-template-columns:110px 1fr 1fr; }
}
@media (max-width: 640px){
  .ams-audio-detail-hero{ padding:var(--ams-product-box-padding-m, 14px); }
  .ams-audio-detail-cover{ max-width:100%; }
  .ams-audio-detail-hero h1{ font-size:2.3rem; }
  .ams-audio-detail-facts{ grid-template-columns:1fr 1fr; }
  .ams-audio-detail-cart{ grid-template-columns:1fr; }
  .ams-audio-detail-cart .ams-btn{ width:100%; }
}

/* ============================================================
   Build 5A-3 — Audio Player Row Polish
   - closer to a compact listening/search result row
   - no table header
   - larger waveform/progress area
   - tighter audio single detail page
   ============================================================ */
.ams-audio-list{
  border-radius:16px !important;
  border:1px solid var(--ams-border) !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
.ams-audio-list__head{ display:none !important; }
.ams-audio-row{
  border-bottom:1px solid var(--ams-border) !important;
  background:var(--ams-card) !important;
  transition:background .15s ease, border-color .15s ease !important;
}
.ams-audio-row:hover{ background:#fafafa !important; }
.ams-audio-row.is-playing{ background:#f7f7f7 !important; }
.ams-audio-row__play span{ transform:translateX(1px); }
.ams-audio-row.is-playing .ams-audio-row__play span{ transform:none; font-size:.72rem; }
.ams-audio-row__main{ align-self:center !important; }
.ams-audio-row__title{ font-size:1rem !important; line-height:1.2 !important; }
.ams-audio-row__meta{ font-size:.88rem !important; }
.ams-license-badge--row{
  display:inline-flex !important;
  width:auto !important;
  margin-top:5px !important;
  padding:3px 10px !important;
  font-size:.78rem !important;
}
.ams-audio-row__wave{
  position:relative !important;
  cursor:pointer !important;
  min-height:40px !important;
  display:flex !important;
  align-items:center !important;
  border-radius:999px !important;
  padding:0 4px !important;
}
.ams-wave-placeholder{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  max-width:none !important;
  height:32px !important;
  justify-content:flex-start !important;
  gap:3px !important;
  opacity:.62 !important;
}
.ams-wave-placeholder span{
  flex:1 1 2px !important;
  min-width:2px !important;
  max-width:4px !important;
  width:auto !important;
  background:#8d8d8d !important;
}
.ams-wave-placeholder span:nth-child(4n+1){ height:10px !important; }
.ams-wave-placeholder span:nth-child(4n+2){ height:24px !important; }
.ams-wave-placeholder span:nth-child(4n+3){ height:18px !important; }
.ams-wave-placeholder span:nth-child(4n+4){ height:30px !important; }
.ams-wave-progress{
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  height:34px !important;
  width:var(--ams-audio-progress, 0%) !important;
  max-width:100% !important;
  border-radius:999px !important;
  background:rgba(0,0,0,.08) !important;
  pointer-events:none !important;
  z-index:1 !important;
}
.ams-audio-row.is-playing .ams-wave-placeholder{ opacity:1 !important; }
.ams-audio-row.is-playing .ams-wave-placeholder span{ background:#111 !important; }
.ams-audio-row__facts strong{
  min-width:auto !important;
  font-size:.72rem !important;
  color:var(--ams-muted) !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}
.ams-audio-row__facts span{ color:var(--ams-text) !important; }
.ams-audio-row__buy .ams-btn{ border-radius:999px !important; font-weight:900 !important; }
.ams-audio-row__buy .ams-btn--ghost{ min-width:78px !important; }
@media (min-width: 861px){
  .ams-audio-row{
    display:grid !important;
    grid-template-columns:40px 50px minmax(230px,1.35fr) minmax(300px,1.85fr) minmax(185px,.65fr) minmax(190px,.7fr) !important;
    gap:12px !important;
    align-items:center !important;
    min-height:72px !important;
    padding:10px 14px !important;
  }
  .ams-audio-row__play{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
  }
  .ams-audio-row__cover,
  .ams-audio-row__cover img{
    display:flex !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
    max-width:46px !important;
    max-height:46px !important;
  }
  .ams-audio-row__wave,
  .ams-audio-row__facts,
  .ams-audio-row__buy{
    grid-column:auto !important;
  }
  .ams-audio-row__facts{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:8px !important;
    align-items:center !important;
    font-size:.86rem !important;
  }
  .ams-audio-row__facts span{
    display:flex !important;
    flex-direction:column !important;
    gap:1px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
  }
  .ams-audio-row__buy{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
  }
  .ams-audio-row__buy .ams-btn{
    min-height:34px !important;
    padding:0 12px !important;
    font-size:.86rem !important;
  }
}
@media (max-width: 860px){
  .ams-audio-row{
    display:grid !important;
    grid-template-columns:42px 52px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:center !important;
    padding:12px !important;
  }
  .ams-audio-row__wave,
  .ams-audio-row__facts,
  .ams-audio-row__buy{ grid-column:1 / -1 !important; }
  .ams-audio-row__facts{ display:flex !important; flex-wrap:wrap !important; gap:10px 18px !important; }
  .ams-audio-row__facts span{ display:flex !important; flex-direction:row !important; gap:5px !important; }
  .ams-audio-row__buy{ justify-content:flex-start !important; }
}
@media (max-width: 520px){
  .ams-audio-row{ grid-template-columns:40px minmax(0,1fr) !important; }
  .ams-audio-row__cover{ display:none !important; }
  .ams-audio-row__buy{ display:grid !important; grid-template-columns:1fr !important; }
  .ams-audio-row__buy .ams-btn{ width:100% !important; }
}

/* Audio single detail: keep the first screen compact and sales-focused. */
.ams-product-page--audio-single .ams-audio-detail-hero{
  grid-template-columns:minmax(190px,240px) minmax(0,1fr) !important;
  gap:24px !important;
  align-items:start !important;
  padding:20px !important;
}
.ams-product-page--audio-single .ams-audio-detail-cover{
  max-width:230px !important;
  border-radius:16px !important;
}
.ams-product-page--audio-single .ams-audio-detail-player{
  max-width:230px !important;
}
.ams-product-page--audio-single .ams-audio-detail-player audio{
  height:38px !important;
}
.ams-product-page--audio-single .ams-audio-detail-hero h1{
  font-size:clamp(2rem, 3.4vw, 3.45rem) !important;
  line-height:1.02 !important;
  margin:8px 0 8px !important;
  max-width:900px !important;
}
.ams-product-page--audio-single .ams-audio-detail-summary{
  font-size:1rem !important;
  max-width:860px !important;
}
.ams-product-page--audio-single .ams-audio-detail-description{
  max-width:900px !important;
  margin:10px 0 !important;
}
.ams-product-page--audio-single .ams-audio-detail-facts{
  grid-template-columns:repeat(auto-fit, minmax(110px, 1fr)) !important;
  gap:8px !important;
  margin:14px 0 !important;
}
.ams-product-page--audio-single .ams-audio-detail-commerce{
  grid-template-columns:minmax(260px, 430px) minmax(320px, 1fr) !important;
  gap:14px !important;
  align-items:start !important;
}
.ams-product-page--audio-single .ams-audio-detail-cart{
  grid-template-columns:84px minmax(120px, auto) minmax(110px, auto) !important;
  gap:8px !important;
}
.ams-product-page--audio-single .ams-product-deck--audio-single .ams-product-block{
  padding:16px !important;
}
@media (max-width: 900px){
  .ams-product-page--audio-single .ams-audio-detail-hero{ grid-template-columns:1fr !important; }
  .ams-product-page--audio-single .ams-audio-detail-cover,
  .ams-product-page--audio-single .ams-audio-detail-player{ max-width:280px !important; }
  .ams-product-page--audio-single .ams-audio-detail-commerce{ grid-template-columns:1fr !important; }
}
@media (max-width: 560px){
  .ams-product-page--audio-single .ams-audio-detail-cover,
  .ams-product-page--audio-single .ams-audio-detail-player{ max-width:100% !important; }
  .ams-product-page--audio-single .ams-audio-detail-hero h1{ font-size:2.2rem !important; }
  .ams-product-page--audio-single .ams-audio-detail-cart{ grid-template-columns:1fr !important; }
}


/* Build 5A-5 — Audio row is the purchase surface.
   Single audio browse rows do not expose a detail-page action. */
.ams-license-badge--row{ display:none !important; }
.ams-audio-row__title{
  cursor:default !important;
  text-decoration:none !important;
}
.ams-audio-row__title:hover{ text-decoration:none !important; }
.ams-audio-row__buy{
  justify-content:flex-end !important;
}
.ams-audio-row__buy .ams-btn--primary{
  min-width:130px !important;
}
@media (min-width: 861px){
  .ams-audio-row{
    grid-template-columns:40px 50px minmax(230px,1.35fr) minmax(320px,2fr) minmax(185px,.65fr) minmax(140px,.5fr) !important;
  }
}
@media (max-width: 520px){
  .ams-audio-row__buy .ams-btn--primary{ width:100% !important; }
}

/* ============================================================
   Build 5B — Flexible Category Browse Flow
   /store/ is a category front door; product results appear at category/search level.
   ============================================================ */
.ams-browse-flow--root .ams-home-block--grid:not(.ams-product-results){ display:none; }
.ams-browse-hero{ margin-bottom:18px !important; }
.ams-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  font-size:.92rem;
  color:var(--ams-muted);
}
.ams-breadcrumb a{ color:var(--ams-muted); font-weight:850; text-decoration:none; }
.ams-breadcrumb a:hover{ color:var(--ams-text); text-decoration:underline; }
.ams-breadcrumb strong{ color:var(--ams-text); }
.ams-category-gallery{
  width:min(100%, 980px);
  margin: var(--ams-category-gap-top-d, 14px) auto var(--ams-category-gap-bottom-d, 4px);
  border:1px solid var(--ams-border);
  border-radius:18px;
  background:var(--ams-card);
  padding:18px;
}
.ams-category-gallery h2{
  margin:0 0 14px;
  font-size:1.35rem;
  line-height:1.2;
}
.ams-category-gallery__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:22px 10px;
}
.ams-category-tile{
  display:block;
  color:var(--ams-text);
  text-decoration:none;
  border-radius:0;
  padding:0;
  border:0;
  background:transparent;
  min-width:0;
}
.ams-category-tile:hover .ams-category-tile__image{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(0,0,0,.10);
}
.ams-category-tile__image{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:1 / 1;
  background:var(--ams-cat-color, #efefef);
  overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease;
}
.ams-category-tile__image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.ams-category-tile__image > span{
  font-size:2rem;
  font-weight:950;
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.22);
}
.ams-category-tile__title{
  display:block;
  margin-top:9px;
  font-size:.98rem;
  font-weight:900;
  line-height:1.2;
}
.ams-category-tile__desc{
  display:block;
  color:var(--ams-muted);
  font-size:.84rem;
  line-height:1.25;
  margin-top:4px;
}
.ams-product-results{ margin-top:18px; }
@media (max-width: 960px){
  .ams-category-gallery{ width:100%; margin-top:var(--ams-category-gap-top-t, 12px); }
  .ams-category-gallery__grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .ams-category-gallery{ padding:14px; margin-top:var(--ams-category-gap-top-m, 10px); }
  .ams-category-gallery__grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px 10px; }
  .ams-category-tile__title{ font-size:.95rem; }
}

/* Build 5C — Audio Kit Store Foundation */
.ams-audio-kits-hero .ams-breadcrumb{ margin-bottom:10px; }
.ams-kit-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:22px; margin:24px 0 56px; }
.ams-kit-card{ background:var(--ams-card); border:1px solid var(--ams-border); border-radius:22px; overflow:hidden; box-shadow:0 1px 0 rgba(0,0,0,.03); display:flex; flex-direction:column; min-height:100%; }
.ams-kit-card__cover{ display:flex; align-items:center; justify-content:center; aspect-ratio:1 / 1; background:#f4f4f4; color:var(--ams-muted); text-decoration:none; font-weight:900; }
.ams-kit-card__cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.ams-kit-card__body{ padding:18px; display:flex; flex-direction:column; gap:12px; flex:1; }
.ams-kit-card h2{ margin:0; font-size:1.35rem; line-height:1.18; }
.ams-kit-card h2 a{ color:var(--ams-text); text-decoration:none; }
.ams-kit-card h2 a:hover{ text-decoration:underline; }
.ams-kit-card p{ margin:0; color:var(--ams-muted); line-height:1.5; }
.ams-kit-card__license{ display:inline-flex; align-self:flex-start; border:1px solid var(--ams-border); border-radius:999px; padding:6px 10px; color:var(--ams-muted); font-size:.88rem; font-weight:800; background:#fafafa; }
.ams-kit-card__demo audio{ width:100%; height:36px; }
.ams-kit-card__actions{ margin-top:auto; display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.ams-kit-card__actions form{ margin:0; }
.ams-kit-detail-hero{ display:grid; grid-template-columns:minmax(240px, 360px) minmax(0, 1fr); gap:30px; align-items:start; background:var(--ams-product-box-bg, #fff); border:1px solid var(--ams-product-box-border, #ddd); border-radius:var(--ams-product-box-radius, 18px); padding:var(--ams-product-box-padding-d, 18px); margin-bottom:24px; }
.ams-kit-detail-cover{ border:1px solid var(--ams-border); border-radius:20px; overflow:hidden; background:#f4f4f4; aspect-ratio:1 / 1; display:flex; align-items:center; justify-content:center; color:var(--ams-muted); font-weight:900; }
.ams-kit-detail-cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.ams-kit-detail-demo{ margin-top:14px; }
.ams-kit-detail-demo audio{ width:100%; height:38px; }
.ams-kit-detail-hero__body h1{ margin:6px 0 10px; font-size:clamp(2rem, 4vw, 4rem); line-height:.98; }
.ams-kit-detail-summary{ color:var(--ams-muted); font-size:1.08rem; margin:0 0 12px; }
.ams-kit-detail-description{ line-height:1.65; font-size:1rem; margin:12px 0 16px; max-width:850px; }
.ams-kit-detail-license{ display:inline-flex; gap:6px; align-items:center; border:1px solid var(--ams-border); border-radius:999px; padding:8px 12px; background:#fafafa; margin:2px 0 18px; }
.ams-kit-detail-commerce{ display:grid; grid-template-columns:minmax(240px, 420px) minmax(220px, auto); gap:16px; align-items:end; }
.ams-kit-detail-cart{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.ams-kit-detail-delivery{ grid-column:1 / -1; margin:0; }
.ams-product-deck--audio-kit{ display:none; }
@media (max-width: 860px){
  .ams-kit-detail-hero{ grid-template-columns:1fr; padding:var(--ams-product-box-padding-t, 16px); }
  .ams-kit-detail-hero__body h1{ font-size:clamp(2rem, 10vw, 3rem); }
  .ams-kit-detail-commerce{ grid-template-columns:1fr; }
  .ams-kit-detail-cart .ams-btn{ width:100%; }
}
@media (max-width: 620px){
  .ams-kit-grid{ grid-template-columns:1fr; gap:16px; }
  .ams-kit-card__actions .ams-btn, .ams-kit-card__actions form{ width:100%; }
  .ams-kit-card__actions button{ width:100%; }
}

/* Build 5C-3 — Audio Kit Public Flow Cleanup */
/* Public header should not cut through kit cards/details while browsing. */
.ams-site-header{
  position:relative;
  top:auto;
  z-index:2;
}

/* Store area tiles are entry points into media-specific store systems. */
.ams-category-tile--store-area .ams-category-tile__image{
  background:#111;
}
.ams-category-tile--store-area .ams-category-tile__image > span{
  color:#FFD84A;
  letter-spacing:.08em;
}

/* Audio kit listing: cards/shelves, not one giant full-width image. */
.ams-kit-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 320px));
  justify-content:start;
  align-items:start;
  gap:22px;
  margin:24px 0 56px;
}
.ams-kit-card{
  max-width:320px;
  width:100%;
}
.ams-kit-card__cover{
  aspect-ratio:1 / 1;
  max-height:320px;
}
.ams-kit-card__body{
  min-height:0;
}
.ams-kit-card__demo audio{
  max-width:100%;
}

@media (max-width: 760px){
  .ams-kit-grid{
    grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  }
  .ams-kit-card{
    max-width:none;
  }
}
@media (max-width: 520px){
  .ams-kit-grid{
    grid-template-columns:1fr;
  }
}


/* Build 5C-4 — Seeded Audio Kit Store Shelves */
.ams-kit-section-browser{
  margin:22px 0 28px;
  border:1px solid var(--ams-border);
  border-radius:22px;
  background:var(--ams-card);
  padding:18px;
}
.ams-section-head{ display:flex; justify-content:space-between; gap:14px; align-items:flex-end; margin-bottom:14px; }
.ams-section-head h2{ margin:0; font-size:1.5rem; }
.ams-section-head p{ margin:0; color:var(--ams-muted); }
.ams-kit-section-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:14px; }
.ams-kit-section-card{
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid var(--ams-border);
  border-radius:18px;
  color:var(--ams-text);
  background:#fff;
  text-decoration:none;
}
.ams-kit-section-card:hover{ transform:translateY(-1px); box-shadow:0 10px 24px rgba(0,0,0,.08); }
.ams-kit-section-card__image{ display:flex; width:74px; height:74px; overflow:hidden; border-radius:14px; background:#111; align-items:center; justify-content:center; }
.ams-kit-section-card__image img{ width:100%; height:100%; object-fit:cover; display:block; }
.ams-kit-section-card__image strong{ color:#FFD84A; font-size:1.2rem; }
.ams-kit-section-card__body{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.ams-kit-section-card__body strong{ font-size:1rem; line-height:1.15; }
.ams-kit-section-card__body small{ color:var(--ams-muted); line-height:1.25; }
.ams-kit-section-card__body em{ font-style:normal; color:var(--ams-muted); font-weight:850; font-size:.82rem; }
.ams-kit-results-head{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin:22px 0 12px; }
.ams-kit-results-head h2{ margin:0; font-size:1.45rem; }
.ams-kit-card__meta{ color:var(--ams-muted); font-weight:850; font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; }
@media (max-width: 640px){
  .ams-section-head, .ams-kit-results-head{ display:block; }
  .ams-section-head p{ margin-top:6px; }
  .ams-kit-results-head .ams-btn{ margin-top:10px; }
  .ams-kit-section-grid{ grid-template-columns:1fr; }
}

/* Build 5C-5 — Audio Kit Delivery Method Display */
.ams-kit-card__badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.ams-kit-card__badges span,
.ams-kit-card__license{
  display:inline-flex;
  align-self:flex-start;
  border:1px solid var(--ams-border);
  border-radius:999px;
  padding:6px 10px;
  color:var(--ams-muted);
  font-size:.86rem;
  font-weight:850;
  background:#fafafa;
}
.ams-kit-card__included{
  color:var(--ams-muted);
  font-size:.9rem;
  line-height:1.35;
  border-left:3px solid var(--ams-border);
  padding-left:10px;
}
.ams-kit-detail-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:2px 0 14px;
}
.ams-kit-detail-pills .ams-kit-detail-license{
  margin:0;
}
.ams-kit-detail-included{
  border:1px solid var(--ams-border);
  border-radius:16px;
  background:#fafafa;
  padding:12px 14px;
  margin:0 0 16px;
  color:var(--ams-muted);
  line-height:1.45;
}
.ams-kit-detail-included strong{display:block;color:var(--ams-text);margin-bottom:4px;}
.ams-kit-detail-included span{display:block;}
