/* ==========================================================================
   Beacon Capital — Factory & Quality (page ID 52)
   Scoped polish stylesheet — v6
   Scope root: #bc-factory-quality-page
   Sections: 1 tokens / 2 gallery system / 3 media-feature rows /
             4 end-to-end cards / 5 products cards / 6 export preparation /
             7 supporting blocks / 8 responsive
   ========================================================================== */

/* ---------- 1. TOKENS & GUARDS ---------- */
#bc-factory-quality-page{
  --bcfq-gold:#D1AA6D;
  --bcfq-teal:#024548;
  --bcfq-obsidian:#0A0D0D;
  --bcfq-ivory:#FAF7F2;
  --bcfq-line:rgba(10,13,13,.09);
  --bcfq-ratio:4 / 3;
  overflow-x:hidden;
  max-width:100vw;
}
#bc-factory-quality-page img{max-width:100%;height:auto}
#bc-factory-quality-page #bc-fq-crumb p{margin:0}
#bc-factory-quality-page #bc-fq-crumb a{color:#9AA3A4;text-decoration:none}
#bc-factory-quality-page #bc-fq-crumb a:hover{color:var(--bcfq-gold)}

/* ---------- 2. GALLERY / SLIDER SYSTEM ---------- */
/* 2a. Stage */
#bc-fq-about-main,
#bc-fq-mach-main,
#bc-fq-qc-main{
  position:relative;
  display:block;
  --display:block;
  width:100%;
  aspect-ratio:var(--bcfq-ratio);
  overflow:hidden;
  padding:0;
  border-radius:3px;
  background:#0E1213;
  box-shadow:0 22px 50px rgba(10,13,13,.18);
  outline:none;
}
#bc-fq-qc-main{box-shadow:0 22px 50px rgba(0,0,0,.55)}

/* 2b. Slides */
#bc-fq-about-main > .elementor-widget-image,
#bc-fq-mach-main > .elementor-widget-image,
#bc-fq-qc-main > .elementor-widget-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .55s ease, visibility 0s linear .55s;
}
#bc-fq-about-main > .elementor-widget-image img,
#bc-fq-mach-main > .elementor-widget-image img,
#bc-fq-qc-main > .elementor-widget-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  border-radius:0;
}
/* No-JS fallback: first slide stays visible */
#bc-fq-about-main > .elementor-widget-image:first-child,
#bc-fq-mach-main > .elementor-widget-image:first-child,
#bc-fq-qc-main > .elementor-widget-image:first-child{
  opacity:1;visibility:visible;transition:opacity .55s ease;
}
/* JS active state wins once the slider has booted */
#bc-fq-about-main[data-bc-ready] > .elementor-widget-image,
#bc-fq-mach-main[data-bc-ready] > .elementor-widget-image,
#bc-fq-qc-main[data-bc-ready] > .elementor-widget-image{
  opacity:0;visibility:hidden;
}
#bc-fq-about-main[data-bc-ready] > .elementor-widget-image.bc-is-active,
#bc-fq-mach-main[data-bc-ready] > .elementor-widget-image.bc-is-active,
#bc-fq-qc-main[data-bc-ready] > .elementor-widget-image.bc-is-active{
  opacity:1;visibility:visible;pointer-events:auto;z-index:2;
  transition:opacity .55s ease, visibility 0s;
}

/* 2c. Navigation arrows */
#bc-factory-quality-page .bc-fq-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:6;
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  padding:0;margin:0;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  background:rgba(10,13,13,.42);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  color:#fff;
  font-family:inherit;
  font-size:15px;line-height:1;
  cursor:pointer;
  opacity:0;
  transition:opacity .3s ease, background .3s ease, border-color .3s ease;
}
#bc-factory-quality-page .bc-fq-prev{left:16px}
#bc-factory-quality-page .bc-fq-next{right:16px}
#bc-factory-quality-page .bc-fq-stage:hover .bc-fq-nav,
#bc-factory-quality-page .bc-fq-stage:focus-within .bc-fq-nav{opacity:1}
#bc-factory-quality-page .bc-fq-nav:hover{
  background:var(--bcfq-gold);
  border-color:var(--bcfq-gold);
  color:var(--bcfq-obsidian);
}
#bc-factory-quality-page .bc-fq-nav:focus-visible{
  opacity:1;outline:2px solid var(--bcfq-gold);outline-offset:2px;
}

/* 2d. Slide counter */
#bc-factory-quality-page .bc-fq-count{
  position:absolute;
  right:16px;bottom:14px;
  z-index:6;
  padding:5px 12px;
  border-radius:2px;
  background:rgba(10,13,13,.55);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  color:#fff;
  font-family:'Oswald','Poppins',sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:.14em;
  line-height:1;
  pointer-events:none;
}
#bc-factory-quality-page .bc-fq-count b{color:var(--bcfq-gold);font-weight:600}

/* 2e. Thumbnail rail */
#bc-fq-about-thumbs,
#bc-fq-mach-thumbs,
#bc-fq-qc-thumbs{
  display:grid;
  --display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  --gap:10px;
  width:100%;
  margin:0;
  padding:12px 0 0;
  flex-wrap:nowrap;
  overflow:visible;
}
#bc-fq-about-thumbs > .elementor-widget-image,
#bc-fq-mach-thumbs > .elementor-widget-image,
#bc-fq-qc-thumbs > .elementor-widget-image{
  position:relative;
  width:100%;
  margin:0;
  padding:0;
  cursor:pointer;
  overflow:hidden;
  border-radius:2px;
  opacity:.48;
  outline:2px solid transparent;
  outline-offset:-2px;
  background:#0E1213;
  transition:opacity .3s ease, outline-color .3s ease, transform .3s ease;
}
#bc-fq-about-thumbs > .elementor-widget-image img,
#bc-fq-mach-thumbs > .elementor-widget-image img,
#bc-fq-qc-thumbs > .elementor-widget-image img{
  width:100%;
  height:100%;
  aspect-ratio:var(--bcfq-ratio);
  object-fit:cover;
  object-position:center;
  display:block;
}
#bc-fq-about-thumbs > .elementor-widget-image:hover,
#bc-fq-mach-thumbs > .elementor-widget-image:hover,
#bc-fq-qc-thumbs > .elementor-widget-image:hover{opacity:.82}
#bc-fq-about-thumbs > .elementor-widget-image.bc-is-active,
#bc-fq-mach-thumbs > .elementor-widget-image.bc-is-active,
#bc-fq-qc-thumbs > .elementor-widget-image.bc-is-active{
  opacity:1;
  outline-color:var(--bcfq-gold);
}
#bc-fq-about-thumbs > .elementor-widget-image:focus-visible,
#bc-fq-mach-thumbs > .elementor-widget-image:focus-visible,
#bc-fq-qc-thumbs > .elementor-widget-image:focus-visible{
  opacity:1;outline-color:var(--bcfq-gold);
}

/* ---------- 3. MEDIA-FEATURE ROW BALANCE ---------- */
#bc-fq-ov-row,#bc-fq-mach-row,#bc-fq-qc-split{align-items:center}
#bc-fq-about-gallery,#bc-fq-mach-gallery,#bc-fq-qc-gallery{align-self:center}
#bc-fq-ov-text{padding-left:48px}
#bc-fq-mach-row > #bc-fq-mach-text{padding-right:48px}
#bc-fq-qc-text{padding-right:48px}
#bc-fq-ov-text .elementor-icon-list-items,
#bc-fq-mach-text .elementor-icon-list-items,
#bc-fq-qc-text .elementor-icon-list-items{margin:0;padding:0}
#bc-fq-ov-text .elementor-icon-list-item,
#bc-fq-mach-text .elementor-icon-list-item,
#bc-fq-qc-text .elementor-icon-list-item{align-items:flex-start}
#bc-fq-ov-text .elementor-icon-list-icon,
#bc-fq-mach-text .elementor-icon-list-icon,
#bc-fq-qc-text .elementor-icon-list-icon{padding-top:3px}

/* ---------- 4. END-TO-END PRODUCTION CARDS ---------- */
#bc-fq-proc-row{align-items:stretch}
#bc-fq-proc-row > .e-con{
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
/* card shell */
#bc-fq-proc-row > .e-con > .e-con{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:hidden;
  border:1px solid var(--bcfq-line);
  border-radius:3px;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
#bc-fq-proc-row > .e-con > .e-con:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 38px rgba(10,13,13,.12);
  border-color:rgba(209,170,109,.5);
}
/* fixed-ratio image block */
#bc-fq-proc-row > .e-con > .e-con > .elementor-widget-image{
  flex:0 0 auto;
  width:100%;
  margin:0;
  overflow:hidden;
  background:#0E1213;
}
#bc-fq-proc-row > .e-con > .e-con > .elementor-widget-image img{
  width:100%;
  height:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .6s ease;
}
#bc-fq-proc-row > .e-con > .e-con:hover > .elementor-widget-image img{transform:scale(1.045)}
/* text block fills remaining height */
#bc-fq-proc-row > .e-con > .e-con > .e-con{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
#bc-fq-proc-row > .e-con > .e-con > .e-con > .elementor-widget-text-editor{margin-top:auto;padding-top:2px}
#bc-fq-proc-row .elementor-widget-heading{width:100%}
#bc-fq-proc-row h2,#bc-fq-proc-row h3,#bc-fq-proc-row h4{margin:0}

/* ---------- 5. PRODUCTS & FORMATS CARDS ---------- */
#bc-fq-prod-row{align-items:stretch}
#bc-fq-prod-row > .e-con{
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
#bc-fq-prod-row > .e-con > .e-con{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:hidden;
  border:1px solid var(--bcfq-line);
  border-radius:3px;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
#bc-fq-prod-row > .e-con > .e-con:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 38px rgba(10,13,13,.12);
  border-color:rgba(209,170,109,.5);
}
/* CUT-TO-SIZE TILES sat on a 16:9 asset while its siblings were 3:2 — force one ratio */
#bc-fq-prod-row > .e-con > .e-con > .elementor-widget-image{
  flex:0 0 auto;
  width:100%;
  margin:0;
  overflow:hidden;
  background:#0E1213;
}
#bc-fq-prod-row > .e-con > .e-con > .elementor-widget-image img{
  width:100%;
  height:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .6s ease;
}
#bc-fq-prod-row > .e-con > .e-con:hover > .elementor-widget-image img{transform:scale(1.045)}
#bc-fq-prod-row > .e-con > .e-con > .e-con{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
#bc-fq-prod-row > .e-con > .e-con > .e-con > .elementor-widget-text-editor{margin-top:auto;padding-top:2px}
#bc-fq-prod-row .elementor-widget-heading{width:100%}
#bc-fq-prod-row h2,#bc-fq-prod-row h3,#bc-fq-prod-row h4{margin:0}

/* ---------- 6. EXPORT PREPARATION ---------- */
#bc-fq-pack-row{align-items:center}
#bc-fq-pack-img{width:100%;margin:0;overflow:hidden;border-radius:3px;background:#0E1213}
#bc-fq-pack-img img{
  width:100%;
  height:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  object-position:center;
  display:block;
  box-shadow:0 22px 50px rgba(10,13,13,.16);
  border-radius:3px;
}
/* the grid was nested at 52% of an already narrow column — reset to full width */
#bc-fq-pack-grid{
  display:grid;
  --display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  --gap:14px;
  width:100%;
  padding:4px 0 0;
  align-items:stretch;
}
#bc-fq-pack-grid > .e-con{
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
#bc-fq-pack-grid > .e-con > .e-con{
  flex:1 1 auto;
  height:100%;
  display:flex;
  flex-direction:column;
  padding:22px 20px;
  border:1px solid var(--bcfq-line);
  border-radius:3px;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
#bc-fq-pack-grid > .e-con > .e-con:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(10,13,13,.1);
  border-color:rgba(209,170,109,.5);
}
#bc-fq-pack-grid .elementor-widget-icon-box{width:100%;margin:0}
#bc-fq-pack-grid .elementor-icon-box-wrapper{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  height:100%;
  text-align:left;
}
#bc-fq-pack-grid .elementor-icon-box-icon{margin:0 0 12px}
#bc-fq-pack-grid .elementor-icon-box-content{width:100%}
#bc-fq-pack-grid .elementor-icon-box-title{
  margin:0 0 8px;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  line-height:1.32;
}
#bc-fq-pack-grid .elementor-icon-box-title span{display:inline}
#bc-fq-pack-grid .elementor-icon-box-description{margin:0;overflow-wrap:break-word;hyphens:none}

/* ---------- 7. SUPPORTING BLOCKS ---------- */
#bc-fq-cred-row,#bc-fq-capstrip-row,#bc-fq-glob-cards{align-items:stretch}
#bc-fq-cred-row > .e-con,#bc-fq-capstrip-row > .e-con,#bc-fq-glob-cards > .e-con{display:flex;flex-direction:column}
#bc-fq-glob-cards > .e-con > .e-con{flex:1 1 auto;height:100%;display:flex;flex-direction:column}
#bc-fq-cred-row .elementor-widget-icon-box,#bc-fq-capstrip-row .elementor-widget-icon-box{height:100%}

/* ---------- 8. RESPONSIVE ---------- */
@media (max-width:1366px){
  #bc-fq-ov-text{padding-left:36px}
  #bc-fq-mach-row > #bc-fq-mach-text,#bc-fq-qc-text{padding-right:36px}
}
@media (max-width:1024px){
  #bc-factory-quality-page{--bcfq-ratio:4 / 3}
  #bc-fq-ov-text,#bc-fq-mach-row > #bc-fq-mach-text,#bc-fq-qc-text{padding-left:0;padding-right:0}
  #bc-fq-about-gallery,#bc-fq-mach-gallery,#bc-fq-qc-gallery{margin-bottom:30px}
  #bc-fq-mach-row{flex-direction:column-reverse}
  #bc-fq-mach-gallery{margin-bottom:0;margin-top:0}
  #bc-fq-mach-row > #bc-fq-mach-text{margin-top:30px}
  #bc-fq-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #bc-fq-pack-row{flex-direction:column}
  #bc-fq-pack-row > .e-con:first-child{margin-bottom:28px}
}
@media (max-width:880px){
  #bc-factory-quality-page .bc-fq-nav{opacity:1;width:38px;height:38px}
}
@media (max-width:767px){
  #bc-factory-quality-page{--bcfq-ratio:4 / 3}
  #bc-fq-about-thumbs,#bc-fq-mach-thumbs,#bc-fq-qc-thumbs{gap:6px;padding-top:8px}
  #bc-factory-quality-page .bc-fq-count{right:10px;bottom:10px;font-size:10px;padding:4px 9px}
  #bc-factory-quality-page .bc-fq-prev{left:10px}
  #bc-factory-quality-page .bc-fq-next{right:10px}
  #bc-fq-proc-row > .e-con > .e-con,#bc-fq-prod-row > .e-con > .e-con{height:auto}
}
@media (max-width:520px){
  #bc-fq-pack-grid{grid-template-columns:1fr;gap:12px}
  #bc-fq-pack-grid > .e-con > .e-con{padding:20px 18px}
  #bc-factory-quality-page .bc-fq-nav{width:34px;height:34px;font-size:13px}
}
@media (max-width:360px){
  #bc-fq-about-thumbs,#bc-fq-mach-thumbs,#bc-fq-qc-thumbs{gap:4px}
}
@media (prefers-reduced-motion:reduce){
  #bc-factory-quality-page *,#bc-factory-quality-page *::before,#bc-factory-quality-page *::after{
    transition-duration:.01ms !important;animation-duration:.01ms !important;
  }
}