/* Public theme catalogue. Presentation inherits the active website/child theme.
   The parent supplies layout and content behaviour, not an independent palette,
   typography, or button system. This stylesheet does not target Foundation UI. */
.ori-catalogue {
  color: var(--ori-soft);
  background: var(--ori-canvas);
  padding: 0 0 clamp(60px, 7vw, 96px);
  min-height: 65vh;
  font-family: var(--ori-font-body);
}
.ori-catalogue *, .ori-catalogue *::before, .ori-catalogue *::after { box-sizing: border-box; }
.ori-catalogue__container { margin-inline: auto; min-width: 0; }
.ori-catalogue a:not(.ori-button) { text-decoration: none; color: inherit; }
/* Keyboard-only focus follows the site purple accent with a soft, translucent ring. */
.ori-catalogue :is(input,button,a):focus-visible { outline: 2px solid rgba(136,59,210,.42); outline-offset: 3px; }
.ori-catalogue .ori-catalogue__empty a:not(.ori-button) { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.ori-catalogue .ori-catalogue__empty a:not(.ori-button):hover { text-decoration-thickness: 2px; }
.ori-catalogue .ori-page-hero { background: transparent; }
.ori-catalogue .ori-page-hero__copy { min-width: 0; }
.ori-catalogue .ori-page-hero__actions .ori-button { margin: 0; }
.ori-catalogue .ori-page-hero__visual { min-width: 0; }
.ori-catalogue .ori-page-hero__visual .ori-s3d { max-width: 100%; }
/* The centre tile uses the canonical Oriential Themes symbol, not a generic layers glyph. */
.ori-catalogue .ori-s3d--themes .ori-s3d__core img.ori-s3d__core-brand { display: block; width: 48px; height: 54px; object-fit: contain; }
.ori-catalogue__story .ori-eyebrow,
.ori-catalogue__variations .ori-eyebrow { margin-bottom: 18px; }
.ori-catalogue__summary { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 23px; font-size: var(--ori-small-size); color: var(--ori-muted); }
.ori-catalogue__summary span:first-child { color: var(--ori-soft); }
.ori-catalogue__browse { padding-top: clamp(22px, 3vw, 34px); border-top: 0; }
.ori-catalogue__section-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
.ori-catalogue__section-top h2, .ori-catalogue__story h2 {
  margin: 0;
  color: var(--ori-white);
  font-family: var(--ori-font-headline);
  font-size: var(--ori-section-size);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -.04em;
}
.ori-catalogue__summary { margin-top: 12px; }
.ori-catalogue__section-top p { max-width: 340px; margin: 0; color: var(--ori-muted); font-size: var(--ori-small-size); line-height: 1.65; }
/* One shared public toolbar surface. Every inner pill matches the actual 40px
   compact button used by the public theme, without changing the global button. */
.ori-catalogue__controls {
  --ori-catalogue-control-height: 40px;
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(150px, 240px) max-content;
  align-items: stretch;
  grid-auto-rows: var(--ori-catalogue-control-height);
  gap: 8px;
  margin-bottom: 28px;
  padding: 8px;
  border: 1px solid var(--ori-border);
  border-radius: 999px;
  background: var(--ori-surface-1);
  overflow: visible;
}
.ori-catalogue__search { position: relative; display: flex; align-items: center; gap: 12px; width: 100%; height: var(--ori-catalogue-control-height); min-height: 0; margin: 0; padding-block: 0; padding-inline: 14px 5px; border: 1px solid var(--ori-border); border-radius: 999px; background: var(--ori-canvas); color: var(--ori-muted); }
.ori-catalogue__search:focus-within { border-color: rgba(136,59,210,.46); box-shadow: inset 0 0 0 1px rgba(136,59,210,.14); }
.ori-catalogue__search input { flex: 1 1 auto; width: 100%; height: 100%; min-width: 0; min-height: 0; margin: 0; padding-block: 0; padding-inline: 0 38px; border: 0; border-radius: 999px; outline: none; background: transparent; color: var(--ori-soft); font: inherit; font-size: var(--ori-small-size); line-height: normal; box-shadow: none; appearance: none; }
.ori-catalogue__search input:focus-visible { outline: none; }
.ori-catalogue__search input::placeholder { color: var(--ori-muted); }
/* Reuse the theme's standard circular close icon instead of the platform's blue search X. */
.ori-catalogue__search input::-webkit-search-cancel-button,
.ori-catalogue__search input::-webkit-search-decoration { -webkit-appearance: none; appearance: none; display: none; }
/* Absolute positioning keeps the close control anchored 5px inside the outer border and centred
   inside the 40px search pill, regardless of typed text or text direction. */
.ori-catalogue__search-clear { position: absolute; top: 50%; inset-inline-end: 4px; flex: none; width: 30px; height: 30px; min-width: 30px; min-height: 30px; margin: 0; padding: 6px; transform: translateY(-50%); }
.ori-catalogue__search-clear[hidden] { display: none !important; }
.ori-catalogue__search-clear:focus-visible { outline: 2px solid rgba(136,59,210,.42); outline-offset: 2px; }
.ori-catalogue__sector-wrap { width: 100%; height: var(--ori-catalogue-control-height); min-width: 0; min-height: 0; margin: 0; }
.ori-catalogue__sector-dropdown { width: 100%; height: 100%; z-index: 8; }
.ori-catalogue__sector-dropdown .ori-dropdown__trigger { display: flex; align-items: center; width: 100%; height: var(--ori-catalogue-control-height); min-height: 0; margin: 0; padding: 0 16px; border: 1px solid var(--ori-border); border-radius: 999px; background: var(--ori-canvas); color: var(--ori-soft); font: inherit; font-size: var(--ori-small-size); font-weight: 500; letter-spacing: 0; text-align: start; box-shadow: none; backdrop-filter: none; }
.ori-catalogue__sector-dropdown .ori-dropdown__trigger:hover, .ori-catalogue__sector-dropdown .ori-dropdown__trigger:focus-visible, .ori-catalogue__sector-dropdown.is-open .ori-dropdown__trigger { border-color: rgba(136,59,210,.46); background: var(--ori-canvas); box-shadow: inset 0 0 0 1px rgba(136,59,210,.14); outline: none; }
.ori-catalogue__sector-chevron { display: flex; width: 15px; height: 15px; margin-inline-start: auto; color: var(--ori-muted); }
.ori-catalogue__sector-chevron svg { display: block; width: 100%; height: 100%; }
.ori-catalogue__sector-dropdown .ori-dropdown__menu { top: calc(100% + 8px); left: 0; right: 0; width: 100%; min-width: 0; max-height: min(340px, 48vh); overflow-y: auto; background: var(--ori-surface-2); border: 1px solid var(--ori-border); box-shadow: 0 18px 46px rgba(0,0,0,.32); }
.ori-catalogue__sector-dropdown .ori-dropdown__option { color: var(--ori-soft); }
.ori-catalogue__sector-dropdown .ori-dropdown__option[aria-checked="true"] { color: var(--ori-white); background: var(--ori-surface-3); box-shadow: none; }
.ori-catalogue__sector-dropdown .ori-dropdown__option:hover, .ori-catalogue__sector-dropdown .ori-dropdown__option:focus-visible { color: var(--ori-white); background: var(--ori-surface-3); box-shadow: inset 0 0 0 1px rgba(136,59,210,.32); outline: none; }
.ori-catalogue__sector-wrap noscript select { width: 100%; height: var(--ori-catalogue-control-height); min-height: 0; padding-inline: 16px; border: 1px solid var(--ori-border); border-radius: 999px; color: var(--ori-soft); background: var(--ori-canvas); }
.ori-catalogue__controls .ori-button { --ori-button-height: var(--ori-catalogue-control-height); --ori-button-icon-size: 30px; height: var(--ori-catalogue-control-height); min-height: var(--ori-catalogue-control-height); max-height: var(--ori-catalogue-control-height); margin: 0; padding-block: 4px; align-self: stretch; justify-self: end; border-radius: 999px; }
.ori-catalogue__grid, .ori-catalogue__variation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ori-catalogue__card, .ori-catalogue__variation { display: flex; min-width: 0; flex-direction: column; overflow: hidden; }
.ori-catalogue__card-media { position: relative; display: block; aspect-ratio: 1.32; overflow: hidden; background: var(--ori-surface-3); }
.ori-catalogue__card-media > img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s var(--ori-ease); }
.ori-catalogue__card-media:hover > img { transform: scale(1.025); }
.ori-catalogue__placeholder, .ori-catalogue__variation-placeholder { display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 13px; width: 100%; height: 100%; min-height: 200px; padding: 26px; background: var(--ori-surface-2); }
.ori-catalogue__placeholder > span, .ori-catalogue__variation-placeholder > span { color: var(--ori-white); font-family: var(--ori-font-headline); font-size: var(--ori-subheading-size); font-weight: 900; letter-spacing: -.04em; }
.ori-catalogue__placeholder > small { color: var(--ori-muted); font-size: var(--ori-small-size); }
.ori-catalogue__chip { position: absolute; top: 16px; inset-inline-start: 16px; padding: 8px 11px; border: 1px solid var(--ori-border); border-radius: 999px; background: var(--ori-surface-2); color: var(--ori-soft); font-size: var(--ori-label-size); font-weight: 700; }
.ori-catalogue__card-copy { display: flex; flex: 1; flex-direction: column; padding: 25px; }
.ori-catalogue__card-eyebrow { color: var(--ori-muted); font-size: var(--ori-label-size); font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.ori-catalogue__card-copy h3 { margin: 12px 0 11px; font-family: var(--ori-font-headline); font-size: var(--ori-subheading-size); font-weight: 900; line-height: 1.2; color: var(--ori-white); }
.ori-catalogue__card-copy > p { margin: 0 0 23px; flex: 1; color: var(--ori-muted); font-size: var(--ori-small-size); line-height: 1.7; }
.ori-catalogue__card-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 17px; border-top: 1px solid var(--ori-border-soft); }
.ori-catalogue__card-foot > span { color: var(--ori-muted); font-size: var(--ori-small-size); }
.ori-catalogue__card-foot > a { color: var(--ori-soft); font-size: var(--ori-small-size); font-weight: 700; }
.ori-catalogue__card-foot > a:hover, .ori-catalogue__breadcrumbs a:hover { color: var(--ori-white); }
.ori-catalogue__card-foot > a span { color: var(--ori-purple); margin-inline-start: 6px; }
.ori-catalogue__empty { padding: clamp(26px, 4vw, 42px); border: 1px solid var(--ori-border); border-radius: 24px; background: var(--ori-surface-1); color: var(--ori-muted); text-align: center; }
.ori-catalogue__empty h3 { margin: 0 0 9px; font-family: var(--ori-font-headline); font-size: var(--ori-subheading-size); color: var(--ori-white); }
.ori-catalogue__empty a { display: inline-block; margin-top: 15px; color: var(--ori-soft); text-decoration: underline; text-underline-offset: 3px; }
.ori-catalogue__pagination { margin-top: 30px; }
.ori-catalogue__pagination ul { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; }
.ori-catalogue__pagination a, .ori-catalogue__pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; padding: 8px 12px; border: 1px solid var(--ori-border); border-radius: 12px; background: var(--ori-surface-1); color: var(--ori-soft); font-size: var(--ori-small-size); }
.ori-catalogue__pagination .current { border-color: transparent; background: var(--ori-gradient); color: var(--ori-white); }
.ori-catalogue__breadcrumbs { padding-top: 6px; display: flex; flex-wrap: wrap; align-items: center; gap: 11px; margin-bottom: 30px; color: var(--ori-muted); font-size: var(--ori-small-size); }
.ori-catalogue__showcase { aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid var(--ori-border); border-radius: 24px; background: var(--ori-surface-2); }
.ori-catalogue__showcase img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ori-catalogue__placeholder--large { justify-content: center; align-items: center; padding: 7%; }
.ori-catalogue__placeholder--large > span { font-size: var(--ori-heading-size); }
.ori-catalogue__detail-body { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(250px, .75fr); gap: 28px; padding: clamp(45px, 6vw, 72px) 0; }
.ori-catalogue__story h2 { margin-bottom: 18px; }
.ori-catalogue__description { max-width: 740px; color: var(--ori-muted); font-size: var(--ori-body-size); line-height: 1.7; }
.ori-catalogue__description p { color: inherit; font: inherit; }
.ori-catalogue__facts { align-self: start; padding: 25px; }
.ori-catalogue__facts h3 { margin: 0 0 17px; font-family: var(--ori-font-headline); font-size: var(--ori-subheading-size); color: var(--ori-white); }
.ori-catalogue__facts dl { margin: 0; }
.ori-catalogue__facts dl div { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 13px 0; border-top: 1px solid var(--ori-border-soft); }
.ori-catalogue__facts dt, .ori-catalogue__facts dd { font-size: var(--ori-small-size); }
.ori-catalogue__facts dt { color: var(--ori-muted); }
.ori-catalogue__facts dd { margin: 0; color: var(--ori-soft); text-align: end; font-weight: 700; }
.ori-catalogue__variations { padding-top: 40px; border-top: 1px solid var(--ori-border-soft); }
.ori-catalogue__variation-media, .ori-catalogue__variation-placeholder { aspect-ratio: 1.34; overflow: hidden; }
.ori-catalogue__variation-media { background: var(--ori-surface-2); }
.ori-catalogue__variation-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ori-catalogue__variation-placeholder { justify-content: center; align-items: center; }
.ori-catalogue__variation-info { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; padding: 22px; }
.ori-catalogue__variation-info h3 { margin: 0 0 5px; font-family: var(--ori-font-headline); font-size: var(--ori-subheading-size); color: var(--ori-white); }
.ori-catalogue__variation-info p { margin: 0; color: var(--ori-muted); font-size: var(--ori-small-size); }
.ori-catalogue__variation-info .ori-button { margin-inline-start: auto; }
.ori-catalogue__unavailable { color: var(--ori-muted); font-size: var(--ori-small-size); }
.ori-catalogue__back { padding-top: 55px; }
@media(max-width:1050px) { .ori-catalogue__grid, .ori-catalogue__variation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width:720px) {
  .ori-catalogue { padding-top: 0; }
  .ori-catalogue__controls { grid-template-columns: minmax(0, 1fr); border-radius: 28px; }
  .ori-catalogue .ori-catalogue__controls > .ori-button { justify-self: stretch; align-self: stretch; width: 100% !important; max-width: 100%; }
  .ori-catalogue__section-top { flex-direction: column; align-items: flex-start; gap: 12px; }
  .ori-catalogue__grid, .ori-catalogue__variation-grid, .ori-catalogue__detail-body { grid-template-columns: minmax(0, 1fr); }
  .ori-catalogue__showcase { aspect-ratio: 4 / 3; }
  .ori-catalogue__detail-body { padding: 36px 0 50px; }
  .ori-catalogue__variation-info .ori-button { margin-inline-start: 0; }
}
@media(prefers-reduced-motion:reduce) { .ori-catalogue__card-media > img { transition: none; } }


/* 0.9.50.238 | Single Themes consumes Work/Venture detail layout instead of
   creating a third hero, facts panel and detail-navigation system. */
.ori-catalogue--single.ori-project-single{padding:0;min-height:0;overflow:visible}
.ori-catalogue--single .ori-project-hero__top{max-width:1040px}
.ori-catalogue--single .ori-project-hero__meta span{max-width:100%;white-space:normal}
.ori-catalogue-single__hero-action{margin-top:22px}
.ori-catalogue-single__hero-action>.ori-button{display:inline-flex}
.ori-catalogue--single .ori-project-stage__facts a:not(.ori-button){color:var(--ori-text);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.ori-catalogue-single__browser{height:100%;min-height:0}
.ori-catalogue-single__preview{display:grid;grid-template-rows:minmax(0,1fr);place-items:center;min-height:0;overflow:hidden;background:#0a1017}
.ori-catalogue-single__preview>img{display:block;width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain;object-position:center center}
.ori-catalogue-single__missing-preview{display:grid;align-content:center;justify-items:center;gap:12px;width:100%;height:100%;padding:28px;text-align:center}
.ori-catalogue-single__missing-preview strong{color:var(--ori-white);font:800 clamp(22px,2vw,32px)/1.15 var(--ori-font-headline)}
.ori-catalogue-single__missing-preview span{color:var(--ori-muted);font-size:var(--ori-small-size)}
.ori-catalogue-single__overview p{max-width:850px;margin:0 0 15px;color:var(--ori-soft);font-size:var(--ori-body-size);line-height:1.75}
.ori-catalogue-single__overview p:last-child{margin-bottom:0}
.ori-catalogue-single__overview :is(h2,h3,h4){color:var(--ori-white);font-family:var(--ori-font-headline);line-height:1.24}
.ori-catalogue-single__overview :is(ul,ol){padding-inline-start:22px;color:var(--ori-soft);line-height:1.7}
.ori-catalogue-single__overview li+li{margin-top:8px}
.ori-catalogue-single__install{margin-top:22px}
.ori-catalogue-single__variations{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ori-catalogue-single__variations .ori-catalogue__variation-media{min-height:0;aspect-ratio:16/10;overflow:hidden}
.ori-catalogue-single__variations .ori-catalogue__variation-media img{display:block;width:100%;height:100%;object-fit:contain;background:#0b1118}
.ori-catalogue-single__variations .ori-catalogue__variation-info{display:flex;align-items:center;justify-content:space-between;gap:16px}
.ori-catalogue-single__variations .ori-catalogue__variation-info>div{min-width:0}
.ori-catalogue-single__variations .ori-catalogue__variation-info .ori-button{flex:0 0 auto}
@media(max-width:760px){
 .ori-catalogue-single__variations{grid-template-columns:1fr}
}
@media(max-width:420px){
 .ori-catalogue-single__variations .ori-catalogue__variation-info{align-items:stretch;flex-direction:column}
 .ori-catalogue-single__variations .ori-catalogue__variation-info .ori-button{align-self:flex-start}
}
