/* 3.10.4: session-only layouts, collections and details. */
.catalog-toolbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.catalog-toolbar label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:650}
.catalog-toolbar .field{max-width:210px;min-width:0}
.layout-toggle{display:inline-flex;padding:3px;border:1px solid var(--edge);border-radius:12px;background:var(--soft-bg);gap:3px}
.layout-toggle button{border:0;background:transparent;color:var(--muted);border-radius:9px;min-height:36px;padding:6px 10px;display:flex;align-items:center;gap:5px;font-weight:650;font-size:12px}
.layout-toggle button[aria-pressed="true"]{background:var(--chip-active);color:var(--text);box-shadow:0 1px 4px #0001}
.layout-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}
.catalog-list-status{display:none}
[data-catalog-layout="list"] :is(.grid,.topten-grid){grid-template-columns:minmax(0,1fr)!important;gap:10px}
[data-catalog-layout="list"] .tile{display:grid!important;grid-template-columns:76px minmax(0,1fr) auto;gap:5px 15px;padding:10px!important;align-content:start;min-width:0;transform:none!important}
[data-catalog-layout="list"] .tile>.art{grid-column:1;grid-row:1 / span 7;width:76px;aspect-ratio:2/3;align-self:start;margin:0!important}
[data-catalog-layout="list"] .tile>.art .card-poster-labels{display:none}
[data-catalog-layout="list"] .tile>:not(.art){grid-column:2;min-width:0;margin:0}
[data-catalog-layout="list"] .tile>.card-title-row{grid-row:1;justify-content:flex-start;gap:8px}
[data-catalog-layout="list"] .tile h3{white-space:normal!important;font-size:16px!important;margin:0!important;line-height:1.3}
[data-catalog-layout="list"] .tile>.metadata{grid-row:2;justify-content:flex-start;gap:14px;font-size:12px}
[data-catalog-layout="list"] .tile>.catalog-list-status{display:flex;flex-wrap:wrap;gap:5px;grid-row:3}
.catalog-list-status:empty{display:none!important}
.catalog-list-status span{font-size:10px;font-weight:650;background:var(--soft-bg);color:var(--text);border-radius:6px;padding:2px 5px}
[data-catalog-layout="list"] .tile>.card-quick-actions{grid-column:3;grid-row:1 / span 2;align-self:center;width:190px;margin:0!important}
[data-catalog-layout="list"] .tile>.card-action-footer{grid-column:3;grid-row:3 / span 2;align-self:start;padding:0!important}
[data-catalog-layout="list"] .tile>.card-state-line{grid-row:4}
[data-catalog-layout="list"] .tile>.rec-reason{grid-row:5}
[data-catalog-layout="list"] .tile>.reorder-controls{grid-row:6}
[data-catalog-layout="list"] .ranked-item{min-width:0}
[data-catalog-layout="list"] .rank-mark{z-index:1}
.reorder-controls{display:flex;align-items:center;gap:5px;margin-top:8px}
.reorder-controls button{border:1px solid var(--edge);border-radius:7px;min-width:34px;min-height:34px;background:var(--soft-bg);color:var(--text);font-size:14px}
.reorder-controls .drag-handle{cursor:grab;touch-action:none}
.tile.is-dragging{opacity:.55}
.tile.is-drop-target{outline:2px solid var(--thyme);outline-offset:2px}
.order-hint{font-size:12px;color:var(--muted);margin:0 0 12px}
#modal.wide .detail-synopsis{padding-bottom:8px;position:relative}
#modal.wide .detail-synopsis .synopsis-toggle{display:none!important}
#modal.wide .detail-synopsis.has-overflow{cursor:pointer;border-radius:5px}
#modal.wide .detail-synopsis.has-overflow:focus-visible{outline:2px solid var(--thyme);outline-offset:4px}
#modal.wide .detail-synopsis.has-overflow:not(.is-expanded) .detail-description{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 1.4em),transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 1.4em),transparent 100%)}
#modal.wide .cast-photo{object-fit:cover!important;object-position:50% 20%!important}
#modal.wide :is(.cast-name,.cast-role){text-align:center!important}
@media(max-width:700px){
 .catalog-toolbar{justify-content:space-between;gap:8px}
 .catalog-toolbar label{flex:1 1 130px;flex-direction:column;align-items:stretch;gap:3px}
 .catalog-toolbar .field{max-width:100%;width:100%}
 .catalog-toolbar .layout-toggle{margin-left:auto;flex:none}
 [data-catalog-layout="list"] .tile{grid-template-columns:clamp(88px,26vw,112px) minmax(0,1fr);gap:5px 10px}
 [data-catalog-layout="list"] .tile>.art{width:100%}
 [data-catalog-layout="list"] .tile>.card-quick-actions{grid-column:2;grid-row:5;width:100%;max-width:250px}
 [data-catalog-layout="list"] .tile>.card-action-footer{grid-column:2;grid-row:6}
 [data-catalog-layout="list"] .tile>.rec-reason{grid-row:7}
 [data-catalog-layout="list"] .tile>.reorder-controls{grid-row:8}
 [data-catalog-layout="list"] .tile h3{font-size:14px!important}
 [data-catalog-layout="list"] .card-quick-actions button{min-height:36px}
 #mobile-discover-shortcuts{display:flex!important;overflow-x:auto;gap:8px;scrollbar-width:none}
 #mobile-discover-shortcuts.hidden{display:none!important}
 #mobile-discover-shortcuts button{flex:0 0 auto;width:auto!important;min-width:100px;padding:8px 12px!important}
}

.tile.can-reorder{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.tile.can-reorder img{-webkit-user-drag:none}
.tile.can-reorder:focus-visible{outline:2px solid var(--thyme);outline-offset:3px}
.tile.is-dragging{cursor:grabbing}
@media(min-width:701px) and (max-width:720px){#mobile-discover-shortcuts{display:flex!important;overflow-x:auto}#mobile-discover-shortcuts button{width:auto!important;flex:0 0 auto;padding:8px 12px!important}}

/* Compact layout controls live beside the service picker, never on a separate toolbar row. */
.catalog-toolbar[hidden]{display:none!important}
.layout-toggle{flex:none;gap:2px;padding:3px}
.layout-toggle button{width:36px;min-height:36px;padding:0;justify-content:center}
.layout-toggle svg{width:19px;height:19px}
.section-head.has-layout-toggle>.controls{flex-wrap:nowrap;gap:8px}
.catalog-list-synopsis{display:none}
[data-catalog-layout="list"] .tile{grid-template-columns:120px minmax(0,1fr);grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto auto;gap:4px 14px;min-height:204px;align-content:stretch}
[data-catalog-layout="list"] .tile>.art{grid-column:1;grid-row:1 / 9;width:100%;align-self:start}
[data-catalog-layout="list"] .tile>.card-title-row{grid-column:2;grid-row:1;align-items:flex-start}
[data-catalog-layout="list"] .tile>.metadata{grid-column:2;grid-row:2;flex-wrap:wrap;gap:2px 12px}
[data-catalog-layout="list"] .tile>.catalog-list-status{grid-column:2;grid-row:3}
[data-catalog-layout="list"] .tile>.card-state-line{grid-column:2;grid-row:4}
[data-catalog-layout="list"] .tile>.rec-reason{grid-column:2;grid-row:5}
[data-catalog-layout="list"] .tile>.catalog-list-synopsis{grid-column:2;grid-row:6;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;align-self:start;line-height:1.45;font-size:13px;color:var(--muted);margin:3px 0 5px}
[data-catalog-layout="list"] .tile>.card-quick-actions{grid-column:2;grid-row:7;align-self:end;width:100%;max-width:none;margin:0!important}
[data-catalog-layout="list"] .tile>.card-action-footer{grid-column:2;grid-row:8;align-self:end;padding-top:3px!important}
[data-catalog-layout="list"] .ranked-item>.tile{height:100%}
@media(min-width:1000px){
 [data-catalog-layout="list"] :is(.grid,.topten-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px}
}
@media(max-width:720px){
 .layout-toggle button{width:36px;min-height:38px}
 .section-head.has-layout-toggle:has([data-service-picker]){grid-template-columns:minmax(0,1fr);gap:7px}
 .section-head.has-layout-toggle:has([data-service-picker])>div:first-child h2{grid-row:1;grid-column:1}
 .section-head.has-layout-toggle:has([data-service-picker])>div:first-child .sub{grid-row:3;grid-column:1}
 .section-head.has-layout-toggle:has([data-service-picker])>.controls:has(.layout-toggle){grid-row:2;grid-column:1;flex-wrap:nowrap;justify-content:flex-end;gap:8px}
 .section-head.has-layout-toggle:has([data-service-picker])>.controls:has(.layout-toggle) [data-service-picker]{flex:1 1 0;width:auto;max-width:none;min-width:0}
 .section-head.has-layout-toggle>.controls .layout-toggle{margin-left:auto}
 .section-head.has-layout-toggle>.controls:has(.watched-toggle){flex-wrap:wrap;width:100%}
 .section-head.has-layout-toggle>.controls .watched-toggle{flex:1 1 230px}
 [data-catalog-layout="list"] .tile{grid-template-columns:clamp(88px,26vw,112px) minmax(0,1fr);gap:3px 10px;min-height:210px}
 [data-catalog-layout="list"] .tile>.catalog-list-synopsis{font-size:12px;-webkit-line-clamp:3;line-height:1.4}
 [data-catalog-layout="list"] .tile>.card-title-row{flex-wrap:wrap;gap:3px}
 [data-catalog-layout="list"] .card-quick-actions{grid-template-columns:32px 32px minmax(0,1fr);gap:4px}
 [data-catalog-layout="list"] .card-quick-actions button{min-width:0;min-height:36px;padding:4px;font-size:12px}
 /* Extra block padding keeps pill borders/focus rings within the horizontal scroller. */
 #mobile-discover-shortcuts{padding:6px 3px 9px!important;min-height:48px;height:auto;align-items:center;overflow-x:auto;overflow-y:hidden;scroll-padding-inline:4px;box-sizing:border-box}
 #mobile-discover-shortcuts button{flex-shrink:0;line-height:1.4;scroll-margin-inline:4px}
}
@media(min-width:361px) and (max-width:720px){
 .section-head.has-layout-toggle:has([data-service-picker]){grid-template-columns:minmax(0,1fr) minmax(202px,60%)}
 .section-head.has-layout-toggle:has([data-service-picker])>.controls:has(.layout-toggle){grid-row:1;grid-column:2}
 .section-head.has-layout-toggle:has([data-service-picker])>div:first-child .sub{grid-row:2;grid-column:1/-1}
}

/* Stable list geometry: two status chips have reserved space before and after saves. */
/* Portrait collections: heading and layout switch share row one; filters keep their own row. */
@media(max-width:720px) and (orientation:portrait){
 .section-head.collection-layout-heading{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
 .section-head.collection-layout-heading>div:first-child,
 .section-head.collection-layout-heading>.controls{display:contents!important}
 .section-head.collection-layout-heading>div:first-child h2{grid-column:1;grid-row:1;margin:0;min-width:0}
 .section-head.collection-layout-heading>div:first-child .sub{grid-column:1/-1;grid-row:2;margin:0}
 .section-head.collection-layout-heading>.controls>.layout-toggle{grid-column:2;grid-row:1;margin:0!important;justify-self:end}
 .section-head.collection-layout-heading>.controls>.watched-toggle{grid-column:1/-1;grid-row:3;width:100%;max-width:none}
}
.tile{cursor:pointer}
[data-catalog-layout="list"] .tile{--list-poster-width:120px;min-height:0;grid-template-columns:var(--list-poster-width) minmax(0,1fr);grid-template-rows:auto auto 22px auto auto minmax(0,1fr) auto auto;row-gap:2px}
[data-catalog-layout="list"] .tile>.art{height:100%;min-height:calc(var(--list-poster-width)*1.5);aspect-ratio:auto;align-self:stretch}
[data-catalog-layout="list"] .tile>.art .poster-open{display:block;width:100%;height:100%}
[data-catalog-layout="list"] .tile>.art img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
[data-catalog-layout="list"] .tile>.catalog-list-status,
[data-catalog-layout="list"] .tile>.catalog-list-status:empty{display:flex!important;height:22px;min-height:22px;align-items:center;flex-wrap:nowrap;gap:4px;overflow:hidden}
[data-catalog-layout="list"] .catalog-list-status span{white-space:nowrap;font-size:10px;flex-shrink:0}
[data-catalog-layout="list"] .tile>.catalog-list-synopsis{margin:2px 0 4px;align-self:start}
[data-catalog-layout="list"] .tile>.card-quick-actions{justify-content:start;grid-template-columns:36px 36px minmax(90px,120px);max-width:206px}
[data-catalog-layout="list"] .tile>.card-title-row{min-height:0}
@media(max-width:720px){
 [data-catalog-layout="list"] .tile{--list-poster-width:clamp(88px,26vw,112px);min-height:0;gap:2px 10px}
 [data-catalog-layout="list"] .tile>.catalog-list-synopsis{-webkit-line-clamp:2;font-size:12px;line-height:1.4;margin:1px 0 3px}
 [data-catalog-layout="list"] .tile>.card-quick-actions{grid-template-columns:32px 32px minmax(0,1fr);max-width:240px}
 [data-catalog-layout="list"] .tile>.card-action-footer{padding-top:2px!important}
}
