/* Studio layout authority. Loaded last in BOTH candidate entries.
   Edit this shared owner for geometry; never add page-local overrides after it.
   Budgets are acceptance targets, not clipping heights. Content may grow at zoom.
   Color roles remain owned by decision-first.css; original media is untouched. */
.commerce-focus {
  --studio-space-1: 8px;
  --studio-space-2: 12px;
  --studio-space-3: 16px;
  --studio-space-4: 24px;
  --studio-control-min: 48px;
  --studio-type-body: 14px;
  --studio-type-meta: 12px;
  --studio-type-card: 22px;
  --studio-radius-card: 20px;
  --studio-radius-control: 12px;
  --studio-header-budget: 68px;
  --studio-visible-budget: calc(100svh - var(--studio-header-budget) - 32px);
  --studio-motion-control: 160ms;
  --studio-motion-media: 220ms;
  --studio-motion-ease: cubic-bezier(.2,.7,.2,1);
  --studio-media-emphasis: 1.02;
}
.commerce-focus :is(button,input,select,textarea) { font: inherit; }
.commerce-focus :is(button,a,input,select,textarea):focus-visible {
  outline-width: 3px; outline-offset: 3px;
}
.commerce-focus main { min-width: 0; }
.commerce-focus .listing-photo-source > summary {
  min-height: var(--studio-control-min); display: flex; align-items: center;
  font-size: var(--studio-type-meta); color: var(--studio-blue); cursor: pointer;
}
.commerce-focus .listing-photo-source > div { line-height: 1.5; padding-bottom: 8px; }
.commerce-focus .listing-photo-source > summary:focus-visible {
  outline: 3px solid var(--studio-blue); outline-offset: 2px; border-radius: 4px;
}
.commerce-focus :is(#home,#shop,#books,#explore,#voucher) .caption {
  font-size: var(--studio-type-meta); line-height: 1.5;
}
.commerce-focus :is(.primary,.commerce-buy,.card-detail,.book-detail-open),
.commerce-focus .local-actions > :is(button,a) {
  font-size: var(--studio-type-body); min-height: var(--studio-control-min);
}
.commerce-focus #reading-books .reading-visual-card > h3 {
  font-size: 20px; line-height: 1.3;
}
.commerce-focus #reading-books :is(.book-author-short,.book-audience-short) {
  font-size: var(--studio-type-body); line-height: 1.5;
}
.commerce-focus #reading-books :is(.book-edition-short,.book-price-clock) {
  font-size: var(--studio-type-meta); line-height: 1.5;
}
.commerce-focus #books #reading-books .book-visual-actions > .primary,
.commerce-focus #shop #cards :is(.primary,.card-detail),
.commerce-focus #explore :is(#all-places,#all-cinemas) .local-actions > :is(button,a) {
  font-size: var(--studio-type-body);
}
.commerce-focus :is(#home,#shop,#voucher,#books,#explore,#life,#saved,#partners) {
  scroll-margin-top: calc(var(--studio-header-budget) + var(--studio-space-2));
}
.commerce-focus #home .home-experience-grid {
  align-items: start; gap: var(--studio-space-3);
}
.commerce-focus #home .home-experience {
  border-radius: var(--studio-radius-card); min-width: 0; align-self: start;
  scroll-margin-top: calc(var(--studio-header-budget) + var(--studio-space-2));
}
.commerce-focus #home .home-experience-body {
  gap: var(--studio-space-1);
}
.commerce-focus #home .home-experience-body h3 {
  font-size: var(--studio-type-card); line-height: 1.25;
}
.commerce-focus #home .home-experience-description {
  font-size: var(--studio-type-body); line-height: 1.5;
}
.commerce-focus #home .home-experience-body > .caption {
  font-size: var(--studio-type-meta); line-height: 1.5;
}
.commerce-focus #home .home-experience-actions > button,
.commerce-focus #home .home-cafe-modes > button {
  min-height: var(--studio-control-min); font-size: var(--studio-type-body);
  border-radius: var(--studio-radius-control);
}
/* No stretched blank poster column. Keep both film actions together. */
@media(min-width:761px) {
  .commerce-focus #home .home-experience-grid { align-items: stretch; }
  .commerce-focus #home .home-experience { align-self: stretch; }
  .commerce-focus #home .home-experience-film:has(>.film-poster) {
    display: grid; grid-template-columns: minmax(120px,.8fr) minmax(0,1.2fr);
    align-self: stretch; align-items: start;
  }
  .commerce-focus #home .home-experience-film:has(>.film-poster) > .film-poster {
    justify-content: flex-start; padding: 20px 0 20px 16px; gap: 4px;
  }
  .commerce-focus #home .home-experience-film:has(>.film-poster) .film-poster img {
    width: 100%; height: auto; max-height: 280px; object-fit: contain;
  }
  .commerce-focus #home .home-experience-film:has(>.film-poster) .home-experience-body {
    padding: 20px 16px; gap: 8px; align-self: stretch; flex: none;
  }
  .commerce-focus #home .home-experience-film:has(>.film-poster) .primary {
    margin-top: auto; min-height: var(--studio-control-min);
  }
  .commerce-focus #home .home-experience-film:has(>.film-poster) .btn-text {
    margin: 0; min-height: var(--studio-control-min);
  }
}
/* A short laptop needs a different composition, not smaller type or clipped terms.
   The cafe photo remains a landscape facade, with its credit, beside the decision. */
@media(min-width:761px) {
  .commerce-focus #home .home-experience-grid {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  }
  .commerce-focus #home .home-experience-cafe {
    display: grid; grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr);
    align-items: start;
  }
  .commerce-focus #home .home-experience-cafe > .brand-photo { margin: 0; }
  .commerce-focus #home .home-experience-cafe > .brand-photo img {
    width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover;
  }
  .commerce-focus #home .home-experience-cafe > .brand-photo figcaption {
    padding: 10px; font-size: var(--studio-type-meta); line-height: 1.5;
  }
  .commerce-focus #home .home-experience-cafe .home-experience-body {
    display: flex; padding: 16px; gap: 8px;
  }
  .commerce-focus #home .home-experience-cafe .kicker { display: none; }
  .commerce-focus #home .home-experience-cafe h3 {
    margin: 0; padding-right: 40px; max-width: 100%; font-size: 20px;
  }
  .commerce-focus #home .home-experience-cafe .local-brand-identity {
    top: 12px; right: 12px; width: 36px; min-height: 28px;
  }
  .commerce-focus #home .home-experience-cafe .experience-metric {
    font-size: 24px; line-height: 1.25; margin: 0;
  }
  .commerce-focus #home .home-experience-cafe .home-cafe-modes { width: 100%; }
  .commerce-focus #home .home-experience-cafe .home-cafe-offer { padding: 8px 10px; }
  .commerce-focus #home .home-experience-cafe .home-experience-actions {
    grid-template-columns: minmax(0,1fr) auto;
  }
  .commerce-focus #home .home-experience-film:has(>.film-poster) .kicker { display: none; }
  .commerce-focus #home .home-experience-film:has(>.film-poster) h3 {
    margin: 0; font-size: 22px;
  }
  .commerce-focus #home .home-experience-film:has(>.film-poster) .home-experience-description {
    margin: 0;
  }
}
/* Medium windows get one complete decision per row, not two squeezed columns. */
@media(min-width:761px) and (max-width:1000px) {
  .commerce-focus #home .home-experience-grid { grid-template-columns: minmax(0,1fr); }
  .commerce-focus #home .reading-feature { padding: 18px; gap: 8px; }
  .commerce-focus #home .reading-feature h2 { font-size: 26px; line-height: 1.2; }
  .commerce-focus #home #home-reflection { grid-column: 1/-1; }
  .commerce-focus #home #home-reading-open { grid-row: 2; }
}
@media(min-width:761px) {
  .commerce-focus #home .reading-covers .home-book-choice {
    display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    align-content: start; align-items: center;
  }
  .commerce-focus #home .reading-covers .home-book-choice > * { grid-column: 1/-1; }
  .commerce-focus #home .reading-covers .home-book-choice > img { height: 144px; }
  .commerce-focus #home .home-book-choice > .home-book-price { grid-column: 1; grid-row: 4; }
  .commerce-focus #home .home-book-choice > .source-savings { grid-column: 2; grid-row: 4; }
  .commerce-focus #home .home-book-choice > .home-book-price-clock { grid-column: 1; grid-row: 5; }
  .commerce-focus #home .home-book-choice > .home-book-more { grid-column: 2; grid-row: 5; }
}
@media(min-width:1001px) and (max-height:760px) {
  .commerce-focus #life .panel { padding: 16px; }
  .commerce-focus #bill-tool > .panel > .kicker { display: none; }
  .commerce-focus #bill-tool #bill-amount-label { margin: 4px 0; }
  .commerce-focus #bill-tool #bill-qr-options { padding-top: 0; }
  .commerce-focus #all-films > .film-card:has(>.film-poster) {
    display: grid; grid-template-columns: 136px minmax(0,1fr);
    grid-template-rows: none; align-content: start; align-items: start;
    gap: 8px 16px; padding: 16px;
  }
  .commerce-focus #all-films > .film-card:has(>.film-poster) > * { grid-column: 2; margin: 0; }
  .commerce-focus #all-films > .film-card:has(>.film-poster) > .film-poster {
    grid-column: 1; grid-row: 1/span 6; margin: 0; padding: 0; background: var(--studio-navy);
  }
  .commerce-focus #all-films .film-card-poster-open { width: 100%; padding: 0; margin: 0; }
  .commerce-focus #all-films .film-card-poster-open img {
    width: 100%; height: 192px; object-fit: contain;
  }
  .commerce-focus #all-films .film-card h3 { font-size: 20px; line-height: 1.25; }
  .commerce-focus #all-films .film-card > .film-card-actions { grid-column: 1/-1; }
  .commerce-focus #reading-books, .commerce-focus #all-films, .commerce-focus :is(#all-places,#all-cinemas) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .commerce-focus #reading-books > .reading-visual-card {
    display: grid; grid-template-columns: 136px minmax(0,1fr);
    grid-template-rows: auto auto auto auto auto minmax(min-content,1fr); grid-row: auto;
    align-content: start; align-items: start; gap: 8px 16px; padding: 16px;
  }
  .commerce-focus #reading-books .book-cover-open {
    grid-column: 1; grid-row: 1/span 5; width: 100%; height: 180px; margin: 0;
  }
  .commerce-focus #reading-books .book-cover-open img { width: 100%; height: 180px; object-fit: contain; }
  .commerce-focus #reading-books .reading-visual-card > h3 { grid-column: 2; grid-row: 1; padding-right: 40px; min-height: 0; }
  .commerce-focus #reading-books .book-author-short { grid-column: 2; grid-row: 2; }
  .commerce-focus #reading-books .book-audience-short { grid-column: 2; grid-row: 3; }
  .commerce-focus #reading-books .book-edition-short { grid-column: 2; grid-row: 4; }
  .commerce-focus #reading-books .book-price-stack { grid-column: 2; grid-row: 5; }
  .commerce-focus #reading-books .book-visual-actions { grid-column: 1/-1; grid-row: 6; }
  .commerce-focus :is(#all-places,#all-cinemas) .local-compact .local-body:has(>.brand-photo,>.venue-photo) {
    position: relative; display: grid; grid-template-columns: 136px minmax(0,1fr);
    align-content: start; gap: 8px 16px; padding: 16px;
  }
  .commerce-focus :is(#all-places,#all-cinemas) .local-compact .local-body:has(>.brand-photo,>.venue-photo) > * { grid-column: 2; margin: 0; }
  .commerce-focus :is(#all-places,#all-cinemas) .local-compact .local-body:has(>.brand-photo,>.venue-photo) > :is(.brand-photo,.venue-photo) {
    grid-column: 1; grid-row: 1/span 5; width: 100%; margin: 0;
  }
  .commerce-focus :is(#all-places,#all-cinemas) .local-compact .local-body:has(>.brand-photo,>.venue-photo) > .kicker { display: none; }
  .commerce-focus :is(#all-places,#all-cinemas) .local-compact .local-body:has(>.brand-photo,>.venue-photo) > .local-brand-identity {
    position: absolute; right: 12px; top: 12px; width: 40px; height: 32px; min-height: 0; padding: 0;
  }
  .commerce-focus :is(#all-places,#all-cinemas) .local-compact .local-body:has(>.brand-photo,>.venue-photo) > h3 { padding-right: 44px; }
  .commerce-focus :is(#all-places,#all-cinemas) .local-compact .local-body:has(>.brand-photo,>.venue-photo) > .local-actions { grid-column: 1/-1; }
  .commerce-focus #shop #cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .commerce-focus #shop #cards > .card:not(.catalog-reference-card) {
    display: grid; grid-template-columns: 136px minmax(0,1fr);
    grid-template-rows: auto auto auto auto; grid-row: auto;
    align-content: start; padding: 16px; gap: 8px 16px;
  }
  .commerce-focus #shop #cards > .card:not(.catalog-reference-card) > .product-media {
    grid-column: 1; grid-row: 1/span 3; width: 100%; height: 180px; margin: 0;
  }
  .commerce-focus #shop #cards > .card:not(.catalog-reference-card) > .card-info {
    grid-column: 2; grid-row: 1;
  }
  .commerce-focus #shop #cards > .card:not(.catalog-reference-card) > .price {
    grid-column: 2; grid-row: 2; margin: 0; line-height: 1.2;
  }
  .commerce-focus #shop #cards > .card:not(.catalog-reference-card) > .caption {
    grid-column: 2; grid-row: 3; margin: 0;
  }
  .commerce-focus #shop #cards > .card:not(.catalog-reference-card) > .commerce-buy {
    grid-column: 2; grid-row: 4; margin: 0; min-height: var(--studio-control-min);
  }
  .commerce-focus #shop #cards > .card:not(.catalog-reference-card) > .card-detail {
    grid-column: 1; grid-row: 4; margin: 0; min-height: var(--studio-control-min);
    font-size: var(--studio-type-body);
  }
  .commerce-focus #home #home-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .commerce-focus #home #home-cards > .card {
    grid-template-columns: 136px minmax(0,1fr);
    grid-template-rows: auto auto auto auto; grid-row: auto; align-content: start;
  }
  .commerce-focus #home #home-cards .product-media {
    grid-column: 1; grid-row: 1 / span 3; width: 100%; height: 160px;
  }
  .commerce-focus #home #home-cards .card-info { grid-column: 2; grid-row: 1; }
  .commerce-focus #home #home-cards .card-info h3 { min-height: 0; }
  .commerce-focus #home #home-cards > .card > .price {
    grid-column: 2; grid-row: 2; margin: 0; line-height: 1.2;
  }
  .commerce-focus #home #home-cards > .card > .caption {
    grid-column: 2; grid-row: 3; margin: 0;
  }
  .commerce-focus #home #home-cards .home-card-actions { grid-column: 1/-1; grid-row: 4; }
}
@media(max-width:360px) {
  .commerce-focus #home .home-experience-body h3 { font-size: 18px; }
  .commerce-focus #home .home-experience-cafe > .brand-photo img {
    height: 144px; object-fit: cover;
  }
  .commerce-focus #home .home-experience-activity > .venue-photo img {
    height: 128px; object-fit: cover;
  }
}
/* Interaction owner: no entrance animation,hidden content or layout movement.
   Price and CTA are ready immediately. Original images/logos remain unchanged. */
.commerce-focus #studio-main :is(.primary,.secondary,.commerce-buy,.home-cafe-modes>button,
 .home-voucher-cart>button,.home-reading-needs>button,.market-pills>button) {
  transition: background-color var(--studio-motion-control) var(--studio-motion-ease),
    border-color var(--studio-motion-control) var(--studio-motion-ease),
    box-shadow var(--studio-motion-control) var(--studio-motion-ease),
    transform var(--studio-motion-control) var(--studio-motion-ease);
}
.commerce-focus #studio-main :is(.product-media:not(.product-media-model-photo),.book-cover-open,.home-book-choice) img {
  transition: transform var(--studio-motion-media) var(--studio-motion-ease);
  transform-origin: center;
}
.commerce-focus #studio-main :is(#home-cards>.card,#cards>.card,.reading-visual-card,.local-compact,.home-experience) {
  transition: border-color var(--studio-motion-control) var(--studio-motion-ease),
    box-shadow var(--studio-motion-control) var(--studio-motion-ease);
}
.commerce-focus #studio-main :is(#home-cards>.card,#cards>.card,.reading-visual-card,.local-compact,.home-experience):focus-within {
  box-shadow: 0 0 0 2px color-mix(in srgb,var(--studio-blue) 24%,transparent);
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .commerce-focus #home #home-cards>.card:hover,
  .commerce-focus #shop #cards>.card:hover { transform: none; }
  .commerce-focus #studio-main :is(#home-cards>.card,#cards>.card,.reading-visual-card,.local-compact,.home-experience):hover {
    box-shadow: 0 6px 18px color-mix(in srgb,var(--studio-navy) 9%,transparent);
  }
  .commerce-focus #studio-main :is(.product-media:not(.product-media-model-photo),.book-cover-open,.home-book-choice):hover img {
    transform: scale(var(--studio-media-emphasis));
  }
}
@media(prefers-reduced-motion:no-preference) {
  .commerce-focus #studio-main :is(.primary,.secondary,.commerce-buy):not(:disabled):active {
    transform: scale(.985);
  }
}
@media(prefers-reduced-motion:reduce) {
  .commerce-focus *, .commerce-focus *::before, .commerce-focus *::after {
    scroll-behavior: auto; animation: none !important; transition: none !important;
  }
  .commerce-focus #studio-main :is(.primary,.secondary,.commerce-buy,.product-media:not(.product-media-model-photo),.book-cover-open,.home-book-choice),
  .commerce-focus #studio-main :is(.product-media:not(.product-media-model-photo),.book-cover-open,.home-book-choice) img {
    transform: none;
  }
}

/* Saved places reuse the admitted venue-card media and its complete source caption. */
.commerce-focus .saved-venue-visual { margin:0 0 var(--studio-space-2); display:flex; align-items:center; gap:var(--studio-space-2); }
.commerce-focus .saved-venue-photo { flex:0 0 112px; width:112px; height:84px; min-height:84px; padding:0; overflow:hidden; border:1px solid var(--studio-line); border-radius:var(--studio-radius-control); background:var(--studio-surface-muted); }
.commerce-focus .saved-venue-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.commerce-focus .saved-venue-visual>figcaption { flex:1; min-width:0; padding:0; color:var(--text-secondary); font-size:var(--studio-type-meta); }
.commerce-focus .saved-venue-source>summary { min-height:var(--studio-control-min); display:flex; align-items:center; cursor:pointer; color:var(--studio-blue); }
.commerce-focus .saved-venue-source[open] { overflow-wrap:anywhere; }
.commerce-focus .saved-venue-visual:has(.saved-venue-source[open]) { align-items:flex-start; flex-wrap:wrap; }
.commerce-focus .saved-venue-visual:has(.saved-venue-source[open])>figcaption { flex-basis:100%; }

.commerce-focus .linked-product-heading { display:flex; gap:var(--studio-space-2); align-items:center; margin-block:var(--studio-space-3); }
.commerce-focus .linked-product-heading>strong { min-width:0; font-size:16px; line-height:1.4; }
.commerce-focus .linked-product-photo { flex:0 0 72px; width:72px; height:72px; padding:6px; border:1px solid var(--studio-line); border-radius:var(--studio-radius-control); background:var(--studio-surface); }
.commerce-focus .linked-product-photo img { display:block; width:100%; height:100%; object-fit:contain; }

/* Primary voucher entry: a visible task, not a buried disclosure. */
.commerce-focus .voucher-link-spotlight { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:var(--studio-space-4); padding:var(--studio-space-4); margin-bottom:var(--studio-space-4); border-radius:var(--studio-radius-card); background:var(--studio-navy); color:var(--studio-on-dark); }
.commerce-focus .voucher-link-intro .kicker { color:var(--studio-on-dark-muted); }
.commerce-focus .voucher-link-intro h2 { font-size:clamp(28px,3vw,40px); line-height:1.1; letter-spacing:-.035em; margin:12px 0; }
.commerce-focus .voucher-link-intro>p { color:var(--studio-on-dark-muted); font-size:var(--studio-type-body); line-height:1.55; max-width:42ch; }
.commerce-focus .voucher-link-brands { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.commerce-focus .voucher-link-brands>.market-identity { background:var(--studio-surface); color:var(--studio-ink); padding:6px 10px; border-radius:8px; }
.commerce-focus .voucher-link-steps { font-size:var(--studio-type-meta); color:var(--studio-on-dark-muted); }
.commerce-focus #voucher-link-form { margin:0; padding:var(--studio-space-3); border:0; border-radius:var(--studio-radius-control); background:var(--studio-surface); color:var(--studio-ink); min-width:0; align-self:center; }
.commerce-focus .voucher-link-input-row { display:grid; gap:var(--studio-space-2); }
.commerce-focus #voucher-product-link { width:100%; min-width:0; min-height:var(--studio-control-min); font-size:var(--studio-type-body); }
.commerce-focus #voucher-link-result:not(:empty) { border-top:1px solid var(--studio-line); margin-top:16px; padding-top:4px; }
.commerce-focus #voucher-link-result>button { margin:4px 8px 4px 0; min-height:var(--studio-control-min); }
.commerce-focus .home-paste-gateway { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-block:24px; padding:20px 24px; border:1px solid var(--studio-line); border-radius:var(--studio-radius-card); background:var(--studio-blue-soft); }
.commerce-focus .home-paste-gateway strong { display:block; font-size:20px; line-height:1.3; }
.commerce-focus .home-paste-gateway p { margin:6px 0 0; font-size:var(--studio-type-body); color:var(--text-secondary); }
.commerce-focus .home-paste-gateway .primary { flex-shrink:0; }
@media(max-width:760px) {
 .commerce-focus .voucher-link-spotlight { grid-template-columns:1fr; padding:16px; gap:16px; }
 .commerce-focus .voucher-link-intro h2 { font-size:30px; }
 .commerce-focus .voucher-link-intro>p { margin:8px 0; }
 .commerce-focus .voucher-link-brands { margin:12px 0; }
 .commerce-focus .home-paste-gateway { align-items:stretch; flex-direction:column; padding:16px; }
 .commerce-focus .home-paste-gateway .primary { align-self:flex-start; }
}

.commerce-focus #voucher-link-title { scroll-margin-top:calc(var(--studio-header-budget) + 12px); }
.commerce-focus .voucher-link-brands { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); max-width:340px; }
.commerce-focus .voucher-link-brands>.market-identity { justify-content:center; min-width:0; padding:7px 8px; }
.commerce-focus .voucher-link-brands>.market-identity>span { display:none; }
.commerce-focus .voucher-link-brands>.market-identity img { width:56px; height:24px; max-width:100%; object-fit:contain; }

.commerce-focus #voucher-link-result>.pasted-affiliate-buy { display:flex; align-items:center; justify-content:center; min-height:var(--studio-control-min); margin:12px 0 8px; }

/* Returning visitors reach saved choices before optional administration. DOM order matches visual order. */
.commerce-focus #saved>.page-intro { padding:20px 0 12px; }
.commerce-focus #saved>.page-intro>h1 { font-size:32px; line-height:1.15; margin:8px 0 12px; }
.commerce-focus #saved #vault-storage-mode { font-size:var(--studio-type-body); line-height:1.5; max-width:60ch; margin:0; }
.commerce-focus #saved>.vault-list-panel { padding:var(--studio-space-3); margin:8px 0 16px; }
.commerce-focus .vault-list-panel>h3 { font-size:20px; margin:0 0 8px; }
.commerce-focus .vault-list-panel .vault-capacity { margin:4px 0 12px; }
.commerce-focus .vault-list-panel .vault-capacity>label { font-size:var(--studio-type-meta); margin-bottom:4px; }
.commerce-focus .vault-list-panel .vault-capacity>.caption { margin:4px 0; }
.commerce-focus .vault-list-panel>#vault { margin-top:12px; }
.commerce-focus #saved>.vault-preferences { margin-top:12px; }

.commerce-focus .vault-list-panel .saved-item { padding:12px 0; }
.commerce-focus .saved-item-info.has-venue-photo { display:grid; grid-template-columns:96px minmax(0,1fr); column-gap:12px; row-gap:6px; }
.commerce-focus .saved-item-info.has-venue-photo>* { grid-column:2; margin:0; }
.commerce-focus .saved-item-info.has-venue-photo>.saved-venue-visual { grid-column:1; grid-row:1 / span 6; display:block; margin:0; }
.commerce-focus .has-venue-photo .saved-venue-photo { width:96px; height:72px; min-height:72px; }
.commerce-focus .has-venue-photo>.local-brand-identity { width:64px; height:32px; padding:3px; margin:0; }
.commerce-focus .has-venue-photo>.local-brand-identity img { width:100%; height:100%; object-fit:contain; }
.commerce-focus .has-venue-photo>.saved-venue-visual>figcaption { margin-top:4px; }
.commerce-focus .has-venue-photo:has(.saved-venue-source[open]) { grid-template-columns:minmax(0,1fr); }
.commerce-focus .has-venue-photo:has(.saved-venue-source[open])>* { grid-column:1; }
.commerce-focus .has-venue-photo:has(.saved-venue-source[open])>.saved-venue-visual { grid-row:auto; }


/* Studio member sync layout: owned account row */
#saved > .vault-preferences.studio-member-sync-layout > label {
  flex: 1 1 20rem;
  min-inline-size: min(100%, 20rem);
  max-inline-size: 100%;
}
#saved > .vault-preferences.studio-member-sync-layout > label > span {
  min-inline-size: 0;
  overflow-wrap: anywhere;
}
#saved > .vault-preferences.studio-member-sync-layout > label > input {
  flex: 0 0 auto;
}
#saved > .vault-preferences.studio-member-sync-layout > section.panel {
  flex: 0 0 100%;
  inline-size: 100%;
  min-inline-size: 0;
  max-inline-size: 100%;
  box-sizing: border-box;
}
#saved .studio-sync-confirmation[hidden] { display: none; }
#saved .studio-sync-confirmation { min-inline-size: 0; max-inline-size: 100%; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  #saved > .vault-preferences.studio-member-sync-layout > label { flex-basis: 100%; }
}

/* Bounded typography option. No simulated poster, artwork or image slot. */
body.commerce-focus[data-film-editorial-option] #home .home-experience-film{display:block;background:var(--studio-navy);color:var(--studio-on-dark);min-height:0}
body.commerce-focus[data-film-editorial-option] #home .home-experience-film::before,body.commerce-focus[data-film-editorial-option] #home .home-experience-film::after{display:none}
body.commerce-focus[data-film-editorial-option] #home .home-experience-film .home-experience-body{display:flex;flex-direction:column;gap:12px;min-height:0;padding:22px;background:transparent}
body.commerce-focus[data-film-editorial-option] #home .home-experience-film h3{font-size:26px;line-height:1.18;letter-spacing:-.035em;margin:0;color:var(--studio-on-dark);max-width:none}
body.commerce-focus[data-film-editorial-option] #home .home-experience-film .home-experience-description{font-size:14px;margin:0;color:var(--studio-on-dark-muted)}
body.commerce-focus[data-film-editorial-option] #home .home-experience-film .home-film-score{padding:8px 10px;font-size:13px;line-height:1.5;margin:0}
body.commerce-focus[data-film-editorial-option] #home .home-experience-film .primary{align-self:stretch;margin-top:0;min-height:48px}
body.commerce-focus[data-film-editorial-option] #home .home-experience-film .film-source-action{color:var(--studio-on-dark-muted);font-size:12px;min-height:36px}
body.commerce-focus[data-film-editorial-option] #explore .film-card{display:flex;flex-direction:column;gap:10px;padding:20px;min-height:0;background:var(--bg-subtle)}
body.commerce-focus[data-film-editorial-option] #explore .film-card>h3{font-size:23px;line-height:1.2;letter-spacing:-.03em;margin:0;width:100%}
body.commerce-focus[data-film-editorial-option] #explore .film-card>p{margin:0;line-height:1.5}
body.commerce-focus[data-film-editorial-option] #explore .film-card .film-card-actions{margin-top:auto}
body[data-film-editorial-option] .film-source-action{display:inline-flex;align-items:center;min-height:40px;font-size:13px;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
body[data-film-editorial-option] #detail[data-kind='film'] .film-detail-heading{display:block}
body[data-film-editorial-option] #detail[data-kind='film'] .film-detail-choose{margin:8px 0 0;min-height:48px}
body[data-film-editorial-option] #detail[data-kind='film'] .detail-review-panel>a{display:flex;align-items:center;min-height:44px;margin-top:8px}

/* UI134: same tokens/components. No new color, imagery or motion system. */
body.commerce-focus #home .home-paste-gateway{margin:12px 0 20px;padding:18px;gap:14px}
body.commerce-focus #home .home-paste-gateway strong{font-size:22px;line-height:1.25}
body.commerce-focus #home .home-paste-gateway p{font-size:14px;line-height:1.5;margin:6px 0 0}
body.commerce-focus #home .home-paste-gateway .primary{min-height:48px}
body.commerce-focus #home .card .caption{font-size:12px;line-height:1.5;color:var(--studio-ink);margin-block:6px}
body.commerce-focus #home .card-info{gap:7px}
body.commerce-focus #voucher #voucher-link-result{scroll-margin-top:110px;padding:20px}
body.commerce-focus #voucher #voucher-link-result .resolve-result-title{font-size:22px;line-height:1.25;margin:0 0 18px;outline-offset:5px}
body.commerce-focus #voucher #voucher-link-result .linked-product-heading{gap:14px;align-items:center}
body.commerce-focus #voucher #voucher-link-result .linked-product-heading strong{font-size:19px;line-height:1.4}
body.commerce-focus #voucher #voucher-link-result .pasted-price{display:block;font-size:30px;line-height:1.2;color:var(--studio-ink);margin:18px 0 8px;letter-spacing:-.03em}
body.commerce-focus #voucher #voucher-link-result .pasted-observation{font-size:14px;line-height:1.55;margin:0 0 18px;color:var(--studio-ink)}
body.commerce-focus #voucher #voucher-link-result > .pasted-affiliate-buy{display:flex;justify-content:center;align-items:center;box-sizing:border-box;min-height:48px;width:100%;padding:12px 18px;background:var(--studio-blue);color:var(--studio-on-dark);border-radius:var(--studio-radius-control);text-decoration:none;font-weight:700}
body.commerce-focus #voucher #voucher-link-result > .pasted-affiliate-disclosure{display:block;min-height:44px;margin:4px 0 12px;text-decoration:underline;text-underline-offset:3px;font-size:13px}
body.commerce-focus #voucher #voucher-link-result > .secondary{min-height:44px;width:100%;font-size:14px}
body.commerce-focus #voucher .resolve-decision-group{padding-block:12px;border-top:1px solid var(--studio-line)}
body.commerce-focus #voucher .resolve-decision-group h3{font-size:15px;line-height:1.4;margin:0 0 8px}
body.commerce-focus #voucher .resolve-decision-group ul{padding-left:20px;margin:0;display:grid;gap:8px}
body.commerce-focus #voucher .resolve-decision-group p{font-size:14px;line-height:1.55;margin:0}
@media(max-width:600px){body.commerce-focus #home .home-category-journey{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:8px;scrollbar-width:thin}body.commerce-focus #home .home-category-journey>button{flex:0 0 90px;min-height:64px}body.commerce-focus #home .home-paste-gateway{display:flex;flex-direction:column;align-items:stretch;padding:16px;margin:8px 0 16px}body.commerce-focus #home .home-paste-gateway .kicker{font-size:11px}body.commerce-focus #home .home-paste-gateway strong{font-size:20px}body.commerce-focus #home .home-paste-gateway .primary{width:100%}body.commerce-focus #home .shelf-label{margin-block:20px 12px}body.commerce-focus #home .home-deal-controls{gap:8px}body.commerce-focus #voucher #voucher-link-result{padding:16px}}

/* Native134 finding: full readable product identity must wrap, never ellipsize. */
body.commerce-focus #home #home-cards .card h3{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible;max-height:none;white-space:normal;text-overflow:clip;font-size:15px;line-height:1.35}

/* CPO135 scoped mobile navigation repair; desktop unchanged. */
@media(max-width:600px){body.commerce-focus #home .home-category-journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:6px;padding:8px}body.commerce-focus #home .home-category-journey>button{min-width:0;min-height:44px;padding:8px 4px;font-size:12px;white-space:normal;display:flex;align-items:center;justify-content:center;gap:5px}body.commerce-focus #home .home-category-journey>button .ui-icon{width:18px;height:18px;flex-shrink:0}}

/* DS144 shared product geometry: full object visible; identity and CTA retain common baselines. */
.commerce-focus :is(#home #home-cards,#shop #cards) .product-media img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}.commerce-focus :is(#home #home-cards,#shop #cards) .product-media{padding:var(--studio-space-2)}.commerce-focus .detail-source-title{font-size:var(--studio-type-meta);line-height:1.5;color:var(--text-sub);margin:0 0 var(--studio-space-2)}

/* Explore shared rows: natural content height, deliberate responsive shelves. */
body.commerce-focus[data-film-editorial-option] #explore .film-card>h3{font-size:20px;line-height:1.3;letter-spacing:-.025em}
body.commerce-focus[data-film-editorial-option] #explore .film-card{height:100%;box-sizing:border-box}
body.commerce-focus[data-film-editorial-option] #explore .film-card .film-card-actions{padding-top:14px}
body.commerce-focus #explore #all-films{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
body.commerce-focus #explore #all-cinemas{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
body.commerce-focus #explore #all-cinemas .local-body{display:flex;flex-direction:column;height:100%;box-sizing:border-box;gap:10px}
body.commerce-focus #explore #all-cinemas .local-actions{margin-top:auto;padding-top:14px}
.cinema-ticket-disclosure{font-size:13px;line-height:1.5}
.cinema-ticket-disclosure>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--studio-link-on-light,var(--studio-blue-hover))}
.cinema-ticket-disclosure>summary::after{content:'+';margin-left:auto;padding-left:12px}
.cinema-ticket-disclosure[open]>summary::after{content:'−'}
.cinema-ticket-disclosure>.compact-ticket-conditions{margin:4px 0 0}
@media(max-width:1099px){body.commerce-focus #explore #all-films{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){body.commerce-focus #explore #all-cinemas{grid-template-columns:minmax(0,1fr)}body.commerce-focus[data-film-editorial-option] #explore .film-card{height:auto}}

/* Five cinemas form a full-width directory; no orphan grid cell or fixed height. */
body.commerce-focus #explore #all-cinemas{grid-template-columns:minmax(0,1fr)}
body.commerce-focus #explore #all-cinemas .cinema-directory-list-row .local-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(180px,.7fr);gap:20px;align-items:start;padding:20px;height:auto}
.cinema-card-intro,.cinema-card-facts{display:flex;flex-direction:column;gap:10px;min-width:0}
.cinema-card-intro>h3{font-size:20px;line-height:1.3;margin:0}
.cinema-card-intro .brand-photo,.cinema-card-intro .venue-photo{margin:0;max-width:220px}
.cinema-card-intro :is(.brand-photo,.venue-photo)>img{height:100px;width:100%;object-fit:cover}
body.commerce-focus #explore #all-cinemas .cinema-directory-list-row .local-actions{margin:0;padding:0;align-self:center;display:flex;flex-direction:column;gap:8px;min-width:0}
.cinema-card-intro .compact-address{display:block;-webkit-line-clamp:unset;overflow:visible}
@media(max-width:1099px){body.commerce-focus #explore #all-cinemas .cinema-directory-list-row .local-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body.commerce-focus #explore #all-cinemas .cinema-directory-list-row .local-actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}body.commerce-focus #explore #all-cinemas .cinema-directory-list-row .local-actions>*{flex:1 1 180px}}
@media(max-width:760px){body.commerce-focus #explore #all-cinemas .cinema-directory-list-row .local-body{display:flex;flex-direction:column;gap:16px}.cinema-card-intro :is(.brand-photo,.venue-photo){max-width:none}.cinema-card-intro :is(.brand-photo,.venue-photo)>img{height:140px}body.commerce-focus #explore #all-cinemas .cinema-directory-list-row .local-actions{align-self:stretch}}

/* Compact cinema directory identity, without fixed row height or clipped facts. */
body.commerce-focus #explore #all-cinemas .cinema-directory-list-row .local-body{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(170px,.65fr);gap:24px}
.cinema-card-intro.has-cinema-photo{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:start;gap:14px}
.cinema-identity-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.cinema-identity-copy>h3{font-size:20px;line-height:1.3;margin:0}
.cinema-card-intro .local-brand-identity{max-width:76px;height:auto;margin:0}
.cinema-card-intro .kicker{font-size:11px;margin:0}
.cinema-card-intro.has-cinema-photo :is(.brand-photo,.venue-photo){max-width:none;width:140px}
.cinema-card-intro.has-cinema-photo :is(.brand-photo,.venue-photo)>img{height:100px}
.cinema-media-credit>summary{min-height:36px;display:flex;align-items:center;cursor:pointer;font-size:11px;color:var(--text-sub)}
.cinema-media-credit>div{font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.cinema-card-facts>p,.cinema-card-intro p{margin:0;line-height:1.5}
.cinema-card-facts>.compact-local-price{font-size:18px;line-height:1.4}
.cinema-card-facts .cinema-ticket-disclosure{margin:0;padding:0}
.cinema-card-facts>.caption{font-size:12px;line-height:1.5}
body.commerce-focus #explore #local-event-cards{align-items:stretch}
body.commerce-focus #explore #local-event-cards>.local-event-card{display:flex;flex-direction:column}
body.commerce-focus #explore #local-event-cards>.local-event-card>.local-body{flex:1;display:flex;flex-direction:column;height:auto}
body.commerce-focus #explore #local-event-cards .local-body>.primary{margin-top:auto}
body.commerce-focus #explore .category-visual>div{display:flex;flex-direction:column;gap:8px}
body.commerce-focus #explore .category-visual h2{line-height:1.2;margin:0}
body.commerce-focus #explore .category-visual p{margin:0;line-height:1.5}
@media(max-width:1099px){body.commerce-focus #explore #all-cinemas .cinema-directory-list-row .local-body{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px}.cinema-card-intro.has-cinema-photo{grid-template-columns:120px minmax(0,1fr)}.cinema-card-intro.has-cinema-photo :is(.brand-photo,.venue-photo){width:120px}}
@media(max-width:760px){body.commerce-focus #explore #all-cinemas .cinema-directory-list-row .local-body{gap:14px;padding:18px}.cinema-card-intro.has-cinema-photo{grid-template-columns:100px minmax(0,1fr);gap:12px}.cinema-card-intro.has-cinema-photo :is(.brand-photo,.venue-photo){width:100px}.cinema-card-intro.has-cinema-photo :is(.brand-photo,.venue-photo)>img{height:84px}.cinema-card-intro h3,.cinema-identity-copy>h3{font-size:18px}.cinema-card-intro .local-brand-identity{max-width:64px}}

/* Text-only section headings need no old image-hero clipping context. */
body.commerce-focus #explore .category-visual:not(:has(figure)){overflow:visible}
body.commerce-focus #explore .category-visual:not(:has(figure))>div{min-width:0}
body.commerce-focus #explore .category-visual:not(:has(figure)) p{padding-block:2px;line-height:1.6}

/* Shared place grid rows align actions, preserving natural content and media. */
body.commerce-focus #explore :is(#all-places,#cafe-places,#activity-places){align-items:stretch}
body.commerce-focus #explore :is(#all-places,#cafe-places,#activity-places)>.local-compact{display:flex;flex-direction:column}
body.commerce-focus #explore :is(#all-places,#cafe-places,#activity-places)>.local-compact>.local-body{display:flex;flex:1;flex-direction:column;height:auto;box-sizing:border-box}
body.commerce-focus #explore :is(#all-places,#cafe-places,#activity-places) .local-actions{margin-top:auto;padding-top:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.place-source-row{display:flex;align-items:center;min-height:40px}
.place-source-row>a{font-size:13px;min-height:40px;display:inline-flex;align-items:center}

/* Same compactPlaceCard action anchor on voluntarily expanded home shelves. */
body.commerce-focus #home :is(#home-cafes,#home-cinemas,#home-places){align-items:stretch}
body.commerce-focus #home :is(#home-cafes,#home-cinemas,#home-places)>.local-compact{display:flex;flex-direction:column}
body.commerce-focus #home :is(#home-cafes,#home-cinemas,#home-places)>.local-compact>.local-body{display:flex;flex:1;flex-direction:column;height:auto;box-sizing:border-box}
body.commerce-focus #home :is(#home-cafes,#home-cinemas,#home-places) .local-actions{margin-top:auto;padding-top:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* Expanded home uses the existing compact directory composition for mixed media.
   Natural row height; never stretch a no-photo card to a photographic neighbor. */
body.commerce-focus #home :is(#home-cafes,#home-cinemas,#home-places){display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}
body.commerce-focus #home :is(#home-cafes,#home-cinemas,#home-places)>.home-directory-list-row>.local-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(170px,.65fr);gap:24px;padding:20px;align-items:center;flex:none}
body.commerce-focus #home :is(#home-cafes,#home-cinemas,#home-places) .home-directory-list-row .local-actions{margin:0;padding:0;align-self:center;display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0}
body.commerce-focus #home .home-directory-list-row .cinema-card-intro{min-width:0}
body.commerce-focus #home .home-directory-list-row .cinema-card-facts{display:flex;flex-direction:column;gap:10px;min-width:0}
body.commerce-focus #home .home-directory-list-row .place-source-row{margin:0}
@media(max-width:1099px){body.commerce-focus #home :is(#home-cafes,#home-cinemas,#home-places)>.home-directory-list-row>.local-body{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px}body.commerce-focus #home :is(#home-cafes,#home-cinemas,#home-places) .home-directory-list-row .local-actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-self:stretch}body.commerce-focus #home .home-directory-list-row .local-actions>*{flex:1 1 180px}}
@media(max-width:760px){body.commerce-focus #home :is(#home-cafes,#home-cinemas,#home-places)>.home-directory-list-row>.local-body{display:flex;flex-direction:column;align-items:stretch;padding:18px;gap:14px}body.commerce-focus #home .home-directory-list-row .local-actions>*{flex:1 1 120px}}

/* R9 shared image presentation: scoped local candidate, native admission pending. */
/* Candidate to append after R8 Studio CSS. Applies only to admitted, already-rendered media. */

/* The expanded reading ritual is the large book showcase, not the detail thumbnail. */
.commerce-focus #books #reading-chest .jr-result .jr-cover {
  min-height: 0;
  padding: clamp(8px, 1.5vw, 16px);
}
.commerce-focus #books #reading-chest .jr-result .jr-cover > img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(100%, 280px);
  max-height: 320px;
  object-fit: contain;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,.12));
}
.commerce-focus #detail[data-kind=book] .book-detail-heading > img {
  object-fit: contain;
  filter: none;
}
.commerce-focus #reading-books .book-cover-open img,
.commerce-focus #home .home-book-choice > img,
.commerce-focus #detail[data-kind=book] :is(.book-author-tile,.book-related-choice) img {
  object-fit: contain;
  object-position: center;
  filter: none;
}
.commerce-focus #reading-books .book-cover-open { background: var(--bg-pure); }

/* Exact product photos stay whole. Reviewed model-photo geometry remains separately pinned. */
.commerce-focus #studio-main :is(#home-cards,#cards) .product-media:not(.product-media-model-photo) img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  mix-blend-mode: normal;
  filter: none;
}
.commerce-focus #detail[data-kind=product] .detail-image {
  object-fit: contain;
  object-position: center;
  mix-blend-mode: normal;
  filter: none;
}

/* R8 already owns admitted venue crops, focal positions, and contain variants. */
.commerce-focus #studio-main :is(.brand-photo,.venue-photo) figcaption,
.commerce-focus #detail :is(.brand-photo,.venue-photo) figcaption {
  transform: none;
}

/* Wordmarks must remain legible at their natural aspect ratio. */
.commerce-focus :is(.local-brand-identity,.ds-brand-mark,.maker-logo) img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  mix-blend-mode: normal;
  transform: none;
  filter: none;
}

/* The approved city scene is unchanged and its controls never move with the photo. */
.commerce-focus .hero-city { object-fit: cover; transform: none; }

/* Subtle emphasis only on interactive media, never the card copy or provenance. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .commerce-focus #studio-main :is(.product-media:not(.product-media-model-photo),.book-cover-open,.home-book-choice) img {
    transition: transform var(--studio-motion-media) var(--studio-motion-ease);
  }
  .commerce-focus #studio-main :is(.product-media:not(.product-media-model-photo),.book-cover-open,.home-book-choice):hover img {
    transform: scale(1.02);
  }
}

.commerce-focus #studio-main :is(.product-media,.book-cover-open,.home-book-choice):focus-visible,
.commerce-focus #studio-main :is(.brand-photo,.venue-photo) :is(a,button):focus-visible {
  outline: 3px solid var(--accent-blue);
  outline-offset: 3px;
}

@media (prefers-reduced-motion:reduce) {
  .commerce-focus :is(.product-media,.book-cover-open,.home-book-choice,.brand-photo,.venue-photo) *,
  .commerce-focus :is(.product-media,.book-cover-open,.home-book-choice,.brand-photo,.venue-photo) {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    scroll-behavior: auto !important;
  }
}

@media (max-width:600px) {
.commerce-focus #books #reading-chest .jr-result .jr-cover > img {
    max-height: 260px;
  }
}

/* R9 home reading: match the admitted shadow rule's selector, then override it. */
.commerce-focus #home .reading-covers .home-book-choice > img {
  filter: none;
}

/* R9-r1: keep the reading-chest primary action legible in every pointer state. */
body.commerce-focus #books #reading-chest .jr-ritual button.jr-button.jr-primary {
  background: var(--accent-blue);
  color: var(--bg-pure);
  border-color: var(--accent-blue);
}
@media (hover:hover) and (pointer:fine) {
  body.commerce-focus #books #reading-chest .jr-ritual button.jr-button.jr-primary:not(:disabled):hover {
    background: var(--accent-blue-hover);
    color: var(--bg-pure);
    border-color: var(--accent-blue-hover);
  }
}
body.commerce-focus #books #reading-chest .jr-ritual button.jr-button.jr-primary:focus-visible {
  background: var(--accent-blue);
  color: var(--bg-pure);
  outline: 3px solid var(--accent-blue);
  outline-offset: 4px;
}
body.commerce-focus #books #reading-chest .jr-ritual button.jr-button.jr-primary:disabled {
  background: var(--text-sub);
  color: var(--bg-pure);
  border-color: var(--text-sub);
  opacity: 1;
  cursor: default;
}

/* Explore mixed-media directory: reuse reviewed home composition; native QA pending. */
body.commerce-focus #explore :is(#all-places,#cafe-places,#activity-places){display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}
body.commerce-focus #explore :is(#all-places,#cafe-places,#activity-places)>.explore-directory-list-row>.local-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(170px,.65fr);gap:24px;padding:20px;align-items:center;flex:none}
body.commerce-focus #explore :is(#all-places,#cafe-places,#activity-places) .explore-directory-list-row .local-actions{margin:0;padding:0;align-self:center;display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0}
body.commerce-focus #explore .explore-directory-list-row .cinema-card-intro{min-width:0}
body.commerce-focus #explore .explore-directory-list-row .cinema-card-facts{display:flex;flex-direction:column;gap:10px;min-width:0}
body.commerce-focus #explore .explore-directory-list-row .place-source-row{margin:0}
@media(max-width:1099px){body.commerce-focus #explore :is(#all-places,#cafe-places,#activity-places)>.explore-directory-list-row>.local-body{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px}body.commerce-focus #explore :is(#all-places,#cafe-places,#activity-places) .explore-directory-list-row .local-actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-self:stretch}body.commerce-focus #explore .explore-directory-list-row .local-actions>*{flex:1 1 180px}}
@media(max-width:760px){body.commerce-focus #explore :is(#all-places,#cafe-places,#activity-places)>.explore-directory-list-row>.local-body{display:flex;flex-direction:column;align-items:stretch;padding:18px;gap:14px}body.commerce-focus #explore .explore-directory-list-row .local-actions>*{flex:1 1 120px}}


/* Geometry belongs to existing book-media roles, including hidden -> reveal and resize. */
.book-image-unavailable[role=img]{display:grid;place-items:center;box-sizing:border-box;max-width:100%;min-width:0;padding:8px;text-align:center;overflow-wrap:anywhere;white-space:normal;background:var(--bg-subtle);color:var(--text-sub);border-radius:var(--studio-radius-control,12px);font-size:12px;line-height:1.5}
.book-cover-open>.book-image-unavailable,.book-search-cover>.book-image-unavailable{width:100%;height:100%}
.book-cover-open:has(>.book-image-unavailable){grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
#detail[data-kind=book] .book-detail-heading>.book-image-unavailable{width:140px;height:198px}
.book-related-choice>.book-image-unavailable{width:64px;height:92px}
.book-author-tile .book-image-unavailable{width:100%;height:160px}
.commerce-focus #books #reading-chest .jr-cover>.book-image-unavailable{width:100%;max-width:min(100%,280px);height:320px}
.commerce-focus #home .reading-covers .home-book-choice>.book-image-unavailable{width:100%;height:144px}
@media(max-width:600px){
  #detail[data-kind=book] .book-detail-heading>.book-image-unavailable{width:94px;height:136px}
  .book-related-choice>.book-image-unavailable{width:54px;height:80px}
  .book-author-tile .book-image-unavailable{height:135px}
  .commerce-focus #books #reading-chest .jr-cover>.book-image-unavailable{height:260px}
}

/* Home book source clock must stay inside its own media card/grid cell. */
.commerce-focus #home .reading-covers .home-book-choice>.home-book-price-clock{white-space:normal;min-width:0;max-width:100%;overflow-wrap:anywhere}

/* Narrow reading decisions need one full-width card so titles and CTA remain readable. */
@media(max-width:600px){.commerce-focus #books #reading-books{grid-template-columns:minmax(0,1fr)}}
