@charset "UTF-8";

/*
 * CamZtag site chrome
 * Header, footer and live-directory card refinements.
 */

:root {
  --ct-chrome: #0d1014;
  --ct-chrome-soft: #171c22;
  --ct-chrome-line: rgba(240, 179, 90, .28);
  --ct-chrome-copy: rgba(255, 253, 248, .72);
  --ct-chrome-muted: rgba(255, 253, 248, .5);
}

/* Header */
.navbar.bg-dark {
  background:
    radial-gradient(circle at 15% -80%, rgba(240, 179, 90, .2), transparent 44%),
    linear-gradient(112deg, #0b0e12 0%, #151a20 56%, #0d1014 100%) !important;
  border-bottom: 1px solid var(--ct-chrome-line);
  box-shadow: 0 14px 40px rgba(0, 0, 0, .27);
  isolation: isolate;
  min-height: 5.35rem;
  overflow: visible;
  padding-block: .72rem;
}

.navbar.bg-dark::before {
  background: linear-gradient(90deg, transparent, var(--ct-amber), transparent);
  bottom: -1px;
  content: "";
  height: 1px;
  left: 50%;
  opacity: .9;
  position: absolute;
  transform: translateX(-50%);
  width: min(92vw, var(--ct-wide));
  z-index: -1;
}

.navbar .container {
  column-gap: clamp(1rem, 2.5vw, 2.4rem);
  padding-inline: clamp(.85rem, 2.6vw, 1.5rem);
}

#logo-tagline-wrap {
  flex: 0 0 auto;
  min-width: 13rem;
  position: relative;
}

.navbar-brand {
  align-items: center;
  display: inline-flex;
  font-size: clamp(1.65rem, 3vw, 2.08rem);
  letter-spacing: -.045em;
  margin: 0 !important;
  position: relative;
}

.navbar-brand::before {
  background:
    linear-gradient(145deg, #ffd08a 0 42%, #b24d36 43% 100%);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(240, 179, 90, .09);
  content: "";
  height: .62rem;
  margin-right: .62rem;
  width: .62rem;
}

#top-description {
  color: var(--ct-chrome-muted) !important;
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.35;
  margin: .38rem 0 0 1.27rem !important;
  max-width: 25rem;
  text-transform: uppercase;
}

.navbar-collapse {
  justify-content: flex-end;
}

.navbar-nav {
  align-items: center;
  gap: .08rem;
  margin-left: auto !important;
  margin-right: 0 !important;
}

.navbar .nav-link {
  background: transparent;
  border-radius: .42rem;
  color: var(--ct-chrome-copy) !important;
  font-size: .7rem;
  letter-spacing: .085em;
  padding: .68rem .72rem !important;
  position: relative;
}

.navbar .nav-link::after {
  background: var(--ct-amber);
  bottom: .32rem;
  content: "";
  height: 1px;
  left: .72rem;
  opacity: 0;
  position: absolute;
  right: .72rem;
  transform: scaleX(.35);
  transition: opacity .18s ease, transform .18s ease;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus-visible,
.navbar .current-menu-item > .nav-link,
.navbar .current_page_item > .nav-link {
  background: rgba(255, 255, 255, .045);
  color: #ffd28c !important;
}

.navbar .nav-link:hover::after,
.navbar .nav-link:focus-visible::after,
.navbar .current-menu-item > .nav-link::after,
.navbar .current_page_item > .nav-link::after {
  opacity: 1;
  transform: scaleX(1);
}

.navbar-toggler {
  background: rgba(240, 179, 90, .08);
  border-color: rgba(240, 179, 90, .58);
  box-shadow: none !important;
  min-height: 44px;
  min-width: 44px;
}

/* Footer navigation */
#wrapper-footer-widgets {
  background:
    radial-gradient(circle at 8% 0%, rgba(240, 179, 90, .15), transparent 30rem),
    linear-gradient(135deg, #12171d 0%, #0c0f13 62%, #161b21 100%) !important;
  border-top: 1px solid var(--ct-chrome-line);
  color: var(--ct-chrome-copy);
  margin-top: clamp(3.5rem, 7vw, 6.5rem) !important;
  padding: clamp(2.7rem, 6vw, 5rem) 0 !important;
  position: relative;
}

#wrapper-footer-widgets::before {
  background: linear-gradient(90deg, var(--ct-amber), var(--ct-rust));
  content: "";
  height: .28rem;
  left: 0;
  position: absolute;
  top: 0;
  width: min(10rem, 35vw);
}

#wrapper-footer-widgets > .container {
  margin-bottom: 0 !important;
  max-width: var(--ct-wide);
  padding-inline: clamp(.85rem, 3vw, 1.5rem);
}

#wrapper-footer-widgets .row {
  display: grid;
  gap: clamp(.85rem, 2vw, 1.25rem);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  margin: 0;
}

#wrapper-footer-widgets .footer-widget {
  background: rgba(255, 255, 255, .035);
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: var(--ct-radius);
  min-width: 0;
  padding: clamp(1.15rem, 2.5vw, 1.65rem);
  width: auto;
}

#wrapper-footer-widgets .menu-legal-container::before,
#wrapper-footer-widgets .menu-language-container::before,
#wrapper-footer-widgets .menu-languages-container::before,
#wrapper-footer-widgets .menu-categories-container::before {
  border-bottom: 1px solid rgba(240, 179, 90, .42);
  color: #fffdf8;
  display: block;
  font-family: var(--ct-body);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  margin: 0 0 1.05rem;
  padding-bottom: .72rem;
  text-transform: uppercase;
}

#wrapper-footer-widgets .menu-legal-container::before {
  content: "Information";
}

#wrapper-footer-widgets .menu-language-container::before,
#wrapper-footer-widgets .menu-languages-container::before {
  content: "Languages";
}

#wrapper-footer-widgets .menu-categories-container::before {
  content: "Explore";
}

html[lang^="de"] #wrapper-footer-widgets .menu-legal-container::before { content: "Informationen"; }
html[lang^="de"] #wrapper-footer-widgets .menu-language-container::before,
html[lang^="de"] #wrapper-footer-widgets .menu-languages-container::before { content: "Sprachen"; }
html[lang^="de"] #wrapper-footer-widgets .menu-categories-container::before { content: "Entdecken"; }

html[lang^="fr"] #wrapper-footer-widgets .menu-legal-container::before { content: "Informations"; }
html[lang^="fr"] #wrapper-footer-widgets .menu-language-container::before,
html[lang^="fr"] #wrapper-footer-widgets .menu-languages-container::before { content: "Langues"; }
html[lang^="fr"] #wrapper-footer-widgets .menu-categories-container::before { content: "Explorer"; }

html[lang^="es"] #wrapper-footer-widgets .menu-legal-container::before { content: "Información"; }
html[lang^="es"] #wrapper-footer-widgets .menu-language-container::before,
html[lang^="es"] #wrapper-footer-widgets .menu-languages-container::before { content: "Idiomas"; }
html[lang^="es"] #wrapper-footer-widgets .menu-categories-container::before { content: "Explorar"; }

html[lang^="it"] #wrapper-footer-widgets .menu-legal-container::before { content: "Informazioni"; }
html[lang^="it"] #wrapper-footer-widgets .menu-language-container::before,
html[lang^="it"] #wrapper-footer-widgets .menu-languages-container::before { content: "Lingue"; }
html[lang^="it"] #wrapper-footer-widgets .menu-categories-container::before { content: "Esplora"; }

html[lang^="nl"] #wrapper-footer-widgets .menu-legal-container::before { content: "Informatie"; }
html[lang^="nl"] #wrapper-footer-widgets .menu-language-container::before,
html[lang^="nl"] #wrapper-footer-widgets .menu-languages-container::before { content: "Talen"; }
html[lang^="nl"] #wrapper-footer-widgets .menu-categories-container::before { content: "Ontdek"; }

html[lang^="pt"] #wrapper-footer-widgets .menu-legal-container::before { content: "Informações"; }
html[lang^="pt"] #wrapper-footer-widgets .menu-language-container::before,
html[lang^="pt"] #wrapper-footer-widgets .menu-languages-container::before { content: "Idiomas"; }
html[lang^="pt"] #wrapper-footer-widgets .menu-categories-container::before { content: "Explorar"; }

#wrapper-footer-widgets .widget-title,
.ct-footer-heading {
  color: #fffdf8;
  font-family: var(--ct-body);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  margin: 0 0 1.05rem;
  padding-bottom: .72rem;
  position: relative;
  text-transform: uppercase;
}

#wrapper-footer-widgets .widget-title::after,
.ct-footer-heading::after {
  background: var(--ct-amber);
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  width: 2.2rem;
}

#wrapper-footer-widgets .menu {
  display: grid;
  gap: .22rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

#wrapper-footer-widgets .menu-item {
  max-width: none;
}

#wrapper-footer-widgets .menu a {
  align-items: center;
  border-radius: .35rem;
  color: var(--ct-chrome-copy);
  display: flex;
  font-size: .84rem;
  justify-content: space-between;
  padding: .38rem .45rem;
  text-decoration: none;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

#wrapper-footer-widgets .menu a::after {
  color: rgba(240, 179, 90, .65);
  content: "›";
  font-size: 1rem;
  line-height: 1;
  margin-left: .75rem;
}

#wrapper-footer-widgets .menu a:hover,
#wrapper-footer-widgets .menu a:focus-visible,
#wrapper-footer-widgets .current-menu-item > a {
  background: rgba(240, 179, 90, .09);
  color: #ffd28c;
  transform: translateX(2px);
}

#wrapper-footer-colophon {
  background: #080b0e;
  border-top: 1px solid rgba(255, 255, 255, .07);
  color: var(--ct-chrome-muted);
  padding: 0 !important;
}

#wrapper-footer-colophon > .container-fluid {
  max-width: var(--ct-wide);
  padding-inline: clamp(.85rem, 3vw, 1.5rem);
}

#wrapper-footer-colophon .row,
#wrapper-footer-colophon .col {
  margin: 0;
  padding: 0;
}

.site-footer {
  background: transparent;
  border: 0;
  color: var(--ct-chrome-muted);
  margin: 0;
  padding: 1.15rem 0 1.35rem;
}

.site-footer .site-info {
  max-width: none;
}

.site-footer .site-info.small,
.site-footer .site-info .small {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .075em;
  line-height: 1.5;
  text-transform: uppercase;
}

/* Suppress the legacy snippet plugin colophon when the plugin emits it. */
body > div[style*="font-size:11px"]:has(a[href*="xyzscripts.com"]) {
  display: none !important;
}

/* Live model cards: shared for secure renderer and legacy PHP snippets */
.lc-shortcode,
.camztag-live-grid {
  margin-block: clamp(1.5rem, 4vw, 2.4rem);
}

.lc-shortcode > .container-fluid,
.camztag-live-grid.container-fluid,
.camztag-live-grid > .container-fluid {
  padding-inline: 0;
}

[id="solr-container"],
.camztag-live-grid__row {
  display: grid !important;
  gap: clamp(.62rem, 1.6vw, 1rem);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 !important;
}

[id="solr-container"] > .col,
.camztag-live-grid__row > .camztag-live-card {
  background: linear-gradient(160deg, #1b2128 0%, #0e1216 100%);
  border: 1px solid rgba(240, 179, 90, .2);
  border-radius: .72rem;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .2);
  display: flex;
  flex-direction: column;
  max-width: none !important;
  min-width: 0;
  overflow: hidden;
  padding: 0 !important;
  position: relative;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
  width: auto !important;
}

[id="solr-container"] > .col:hover,
[id="solr-container"] > .col:focus-within,
.camztag-live-card:hover,
.camztag-live-card:focus-within {
  border-color: rgba(240, 179, 90, .78);
  box-shadow: 0 19px 42px rgba(0, 0, 0, .28);
  transform: translateY(-3px);
}

[id="solr-container"] > .col > a,
.camztag-live-card__link {
  display: block;
  position: relative;
  text-decoration: none;
}

[id="solr-container"] > .col > a::after,
.camztag-live-card__status {
  background: rgba(10, 13, 16, .88);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  color: #fffdf8;
  content: "LIVE";
  font-family: var(--ct-body);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1;
  padding: .42rem .52rem .39rem 1.05rem;
  position: absolute;
  right: .55rem;
  text-transform: uppercase;
  top: .55rem;
  z-index: 2;
}

[id="solr-container"] > .col > a::before,
.camztag-live-card__status::before {
  background: #ef665d;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(239, 102, 93, .16);
  content: "";
  height: .38rem;
  position: absolute;
  right: 3.42rem;
  top: .95rem;
  width: .38rem;
  z-index: 3;
}

.camztag-live-card__status {
  align-items: center;
  display: inline-flex;
}

.camztag-live-card__status::before {
  left: .48rem;
  right: auto;
  top: .54rem;
}

[id="solr-container"] .card,
.camztag-live-card__media {
  background: #080b0e;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  overflow: hidden;
}

[id="solr-container"] img,
.camztag-live-card__image {
  aspect-ratio: 4 / 3;
  background: #080b0e;
  object-fit: cover !important;
  transform: scale(1.002);
  transition: filter .25s ease, transform .35s ease;
  width: 100%;
}

[id="solr-container"] > .col:hover img,
.camztag-live-card:hover .camztag-live-card__image {
  filter: saturate(1.08) contrast(1.03);
  transform: scale(1.035);
}

[id="solr-container"] > .col > .h6,
.camztag-live-card__name {
  background: transparent !important;
  color: #fffdf8 !important;
  font-family: var(--ct-body);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .025em;
  line-height: 1.35;
  margin: 0 !important;
  max-width: none;
  padding: .78rem .82rem .18rem !important;
}

[id="solr-container"] > .col > p:last-child,
.camztag-live-card__meta {
  align-items: center;
  background: transparent !important;
  color: var(--ct-chrome-muted) !important;
  display: flex;
  font-family: var(--ct-body);
  font-size: .67rem;
  letter-spacing: .035em;
  margin: 0 !important;
  max-width: none;
  padding: .2rem .82rem .8rem !important;
}

[id="solr-container"] > .col > p:last-child::before,
.camztag-live-card__meta::before {
  background: #58b895;
  border-radius: 50%;
  content: "";
  flex: 0 0 auto;
  height: .34rem;
  margin-right: .4rem;
  width: .34rem;
}

.camztag-live-grid[data-feed-status="stale"] .camztag-live-card__status {
  color: rgba(255, 253, 248, .72);
}

/* Responsive site chrome */
@media (max-width: 1199.98px) {
  .navbar .nav-link {
    font-size: .66rem;
    padding-inline: .58rem !important;
  }
}

@media (max-width: 991.98px) {
  .navbar.bg-dark {
    min-height: 4.75rem;
  }

  #logo-tagline-wrap {
    min-width: 0;
  }

  .navbar-collapse {
    background: rgba(9, 12, 15, .98);
    border: 1px solid rgba(240, 179, 90, .22);
    border-radius: var(--ct-radius);
    box-shadow: 0 22px 50px rgba(0, 0, 0, .36);
    margin-top: .85rem;
    max-height: calc(100vh - 6rem);
    overflow-y: auto;
    padding: .72rem;
  }

  .navbar-nav {
    align-items: stretch;
  }

  .navbar .nav-link {
    font-size: .72rem;
    padding: .78rem .82rem !important;
  }

  .navbar .nav-link::after {
    bottom: .48rem;
  }

  [id="solr-container"],
  .camztag-live-grid__row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  #wrapper-footer-widgets {
    margin-top: 3.5rem !important;
    padding-block: 2.7rem !important;
  }

  #wrapper-footer-widgets .row {
    grid-template-columns: 1fr;
  }

  [id="solr-container"],
  .camztag-live-grid__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  [id="solr-container"] > .col > .h6,
  .camztag-live-card__name {
    font-size: .69rem;
    padding: .65rem .65rem .14rem !important;
  }

  [id="solr-container"] > .col > p:last-child,
  .camztag-live-card__meta {
    font-size: .61rem;
    padding: .18rem .65rem .65rem !important;
  }
}

@media (max-width: 419.98px) {
  .navbar-brand {
    font-size: 1.55rem;
  }

  [id="solr-container"],
  .camztag-live-grid__row {
    gap: .52rem;
  }

  [id="solr-container"] > .col > a::after,
  .camztag-live-card__status {
    font-size: .52rem;
    right: .42rem;
    top: .42rem;
  }

  [id="solr-container"] > .col > a::before {
    right: 3.18rem;
    top: .81rem;
  }
}

@media print {
  #wrapper-footer-widgets,
  #wrapper-footer-colophon {
    display: none !important;
  }
}

/* Local migration: keep wide editorial gutters inside small screens. */
@media (max-width: 575.98px) {
  body.ct-site-chrome .container > .row.g-5 { --bs-gutter-x: 1.5rem; }
}
/* Position only the unfocused hidden skip link; retain keyboard visibility. */
body.ct-site-chrome #wrapper-navbar > .skip-link:not(:focus):not(:focus-within) {
  left: 0;
  right: auto;
}

/* Keep the LIVE label compact instead of inheriting Bootstrap ratio dimensions. */
.camztag-live-card__media > .camztag-live-card__status {
  left: auto;
  bottom: auto;
  width: auto;
  height: auto;
}

/* The CSS grid already supplies the gap; Bootstrap's row margin adds it twice. */
.camztag-live-grid__row > .camztag-live-card {
  margin: 0;
}
