/* ============================================================================
   Omega Garage Doors — plugin-markup overrides
   ----------------------------------------------------------------------------
   The AMSX typed plugin renderers (hero-slider, cta-section, showcase-grid,
   testimonial-carousel, news-grid, text-editor) emit Kempner/Elementor-style
   markup. The Omega site uses the Foundation "Flooring" theme, whose own CSS
   only styles Flooring markup. This stylesheet restyles the plugin renderer
   output to the Omega look (brand colours + conventions) WITHOUT changing the
   renderers. It is theme-scoped (linked only from this theme's index.html),
   so it only ever affects Omega pages.
   ========================================================================== */

/* ---- Container / layout baseline for plugin blocks --------------------- */
.power_slider,
.portfolio-wrap,
.section-full.testimonial-block,
.power-post-grid { font-family: 'Open Sans', Arial, sans-serif; }

/* ---- 1. Hero slider (hero-slider -> HeroSlider.cshtml) ------------------ */
.slider_type1 .power_slider_item {
  position: relative;
  min-height: 620px;
  background-size: cover !important;
  background-position: center !important;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.slider_type1 .power_slider_item::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 100%);
}
.slider_type1 .power_slider_item .container,
.slider_type1 .power_slider_item .slide-content { position: relative; z-index: 2; }

.slider_type1 .slide-content {
  color: #fff;
  padding: 50px 0;
}
.slider_type1 .slide-content h2.sub_heading,
.slider_type1 .slide-content h3.default_heading {
  color: #fff !important;
  text-transform: none;
  border: none;
  margin: 0 0 12px 0;
  background: none;
}
.slider_type1 .slide-content h2.sub_heading {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  font-size: 22px;
  letter-spacing: .5px;
}
.slider_type1 .slide-content h3.default_heading {
  font-family: 'Open Sans', sans-serif;
  font-weight: 800;
  font-size: 54px;
  line-height: 1.1;
  text-shadow: 0 2px 18px rgba(0,0,0,.45);
}
/* CTA button added by renderer config (buttonText/buttonUrl) */
.slider_type1 .slide-content .button,
.slider_type1 .slide-content a.button {
  display: inline-block;
  margin-top: 22px;
  padding: 13px 34px;
  background: #A30C0C !important;
  background-color: #A30C0C !important;
  border-radius: 2px;
  color: #fff !important;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.slider_type1 .slide-content a.button:hover { background: #801010 !important; }

/* ---- 2. Call To Action band (cta-section -> CTASection.cshtml) ---------- */
.elementor-section[data-id="cta-section"] {
  background-color: #2035B8 !important;
  background-size: cover;
  background-position: center;
}
.elementor-section[data-id="cta-section"] .power_heading_wrapper { padding: 10px 0; }
.elementor-section[data-id="cta-section"] h2.power_title,
.elementor-section[data-id="cta-section"] .power_title {
  color: #fff !important;
  font-family: 'Open Sans', sans-serif;
  font-size: 34px;
  font-weight: 300;
  margin: 0;
}
.elementor-section[data-id="cta-section"] h5.power_subtitle {
  color: rgba(255,255,255,.85) !important;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}
.elementor-section[data-id="cta-section"] a.power_button,
.elementor-section[data-id="cta-section"] .power_button-link {
  background: #A30C0C !important;
  color: #fff !important;
  padding: 12px 34px;
  border-radius: 2px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  display: inline-block;
}

/* ---- 3. Our Products grid (showcase-grid -> ShowcaseGrid.cshtml) -------- */
.portfolio-wrap { padding: 40px 0 60px; }
.portfolio-wrap .showcase-tile {
  border-radius: 0 !important;
  background: transparent;
  margin-bottom: 26px;
}
.portfolio-wrap .showcase-tile > a { box-shadow: 0 2px 12px rgba(0,0,0,.08); }
.portfolio-wrap .showcase-tile img { height: 250px !important; width: 100% !important; object-fit: cover; }
.portfolio-wrap .showcase-tile .showcase-tile-overlay {
  background: rgba(0,0,0,.72) !important;
}
.portfolio-wrap .showcase-tile h3 { font-family: 'Open Sans', sans-serif; }

/* "More Products" style button fallback when present in text sections */
.our-projects .wd-more-project .button,
.wd-more-project a.button { background-color: #A30C0C !important; }

/* ---- 4. Testimonials (testimonial-carousel) ------------------------------
   Renderer uses a dark parallax band + hardcoded adseal background. Restyle to
   the Omega light "Our Clients" band. */
.section-full[data-stellar-background-ratio] {
  background-image: none !important;
  background: #f5f5f5;
}
.section-full[data-stellar-background-ratio] .section-head h2 {
  color: #2035B8 !important;
  font-family: 'Open Sans', sans-serif;
}
.section-full[data-stellar-background-ratio] .overlay-main { display: none !important; }
.section-full[data-stellar-background-ratio] .section-head h2 { text-transform: none; }
.section-full[data-stellar-background-ratio] .testimonial-3 {
  background: #fff;
  color: #444;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  border-top: 4px solid #A30C0C;
}
.section-full[data-stellar-background-ratio] .testimonial-text p { color: #444 !important; }
.section-full[data-stellar-background-ratio] .testimonial-name { color: #2035B8 !important; }
.section-full[data-stellar-background-ratio] .testimonial-position { color: #888 !important; }

/* ---- 5. News grid (news-grid -> NewsGrid.cshtml) ------------------------ */
.elementor-section[data-id="news-section"] { padding: 60px 0 70px !important; }
.elementor-section[data-id="news-section"] .power_blog_post {
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
.elementor-section[data-id="news-section"] .power_blog_post_title a { color: #2035B8; }
.elementor-section[data-id="news-section"] a.power_blog_button { color: #A30C0C; }

/* ---- 6. Generic section headings emitted by text/content areas ----------- */
/* Make plugin-emitted h2 consistent with the Omega section headings. */
.elementor-text-editor h2 { color: #2035B8 !important; }

/* Remove stray Elementor-only spacing on Omega */
.elementor-widget-wrap > .elementor-element { width: 100%; }

/* ---- Hero caption order (title first, tagline second, CTA last) -------- */
.slider_type1 .slide-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.slider_type1 .slide-content h3.default_heading { order: 1; }
.slider_type1 .slide-content h2.sub_heading    { order: 2; }
.slider_type1 .slide-content .button           { order: 3; }

/* ---- Section headings added by plugins (config heading/subHeading) ------ */
.omega-section-title { padding: 40px 0 20px; }
.omega-section-title h2 { color: #2035B8 !important; font-family: 'Open Sans', sans-serif; font-weight: 700; }
.omega-section-title h5 { color: #666; font-weight: 400; font-family: 'Open Sans', sans-serif; }
/* ---- Section spacing (Omega home bands) --------------------------------- */
.elementor-text-editor { padding: 0 0 40px; }
.call-to-action-wrapper { padding: 42px 0; }

/* ---- Our Products (showcase-grid floor branch) -------------------------- */
/* The renderer sizes the block-grid to the item count (4 products -> 4-up), so
   the product range sits on one row instead of wrapping 3 + 1. */
.our-projects { padding: 50px 0 30px; }
.our-projects .portfolio-grid { margin: 0; list-style: none; }
.our-projects .portfolio-grid > li { margin-bottom: 30px; }

/* Product photos arrive in a mix of shapes (most are 4:3, one is 16:10). Rather
   than crop or stretch them to force a match, every tile gets an identical 4:3
   "stage": a soft gradient panel with a hairline base, and the photo is fitted
   inside it — scaled to fit, never cropped, never distorted — centred with a
   soft drop shadow. Uneven source ratios then read as deliberate product shots
   on a card. 4:3 is chosen because it matches the majority of the source files,
   so most photos sit in the stage with almost no letterboxing. */
.our-projects .wd-project {
  background: #fff;
  border: 1px solid #e6e8eb;
  border-top: 3px solid #A30C0C;      /* brand accent bar */
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
  overflow: hidden;
  transition: box-shadow .25s ease, transform .25s ease;
}
.our-projects .wd-project:hover {
  box-shadow: 0 12px 28px rgba(0,0,0,.13);
  transform: translateY(-3px);
}
.our-projects .wd-project a { display: block; text-decoration: none; }

.our-projects .wd-project .omega-tile-media {
  display: block;
  position: relative;
  width: 100%;
  padding-top: 75%;                   /* 4:3 stage */
  background: linear-gradient(180deg, #ffffff 0%, #eef1f6 100%);
  border-bottom: 1px solid #eceff3;
  overflow: hidden;
}
/* Absolutely positioned children resolve percentage max-width/max-height
   against this element's padding box, i.e. the full 4:3 stage. */
.our-projects .wd-project .omega-tile-media img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: auto;
  max-width: 86%;
  max-height: 84%;
  object-fit: contain;                /* never crop, never stretch */
  display: block;
  filter: drop-shadow(0 6px 14px rgba(16,24,40,.12));
  transition: transform .3s ease;
}
.our-projects .wd-project:hover .omega-tile-media img {
  transform: translate(-50%, -50%) scale(1.03);
}

.our-projects .wd-project h4 {
  box-sizing: border-box;
  min-height: 76px;                   /* two lines — keeps every card level */
  margin: 0;
  padding: 16px 18px 18px;
  font-family: 'Open Sans', sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  color: #2035B8;
  text-align: left;
}

/* ---- Product detail page (/Projects/{seo-title}) ------------------------- */
/* Views/Showcase/Detail.cshtml is shared with the Adseal site and emits its
   Bootstrap/Kempner markup (wt-bnr-inr, section-full, col-lg-*, project-
   description). Omega runs the Foundation "Flooring" theme, which has no rules
   for any of it, so the page rendered as an unstyled stack of blocks. The rules
   below reproduce the layout of the original Omega product pages: a title bar
   over the product image, then a two-column band with the image gallery on the
   left and the opener copy on the right. Layout uses flexbox on the existing
   .container/.row wrappers, so it does not depend on which grid system the
   theme's stylesheet happens to define. */

/* Page shell + title bar (source: <section class="wd-title-bar">) */
.project-detail-container .section-full > .container,
.project-detail-container > .container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.project-detail-container .wt-bnr-inr {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 320px;
  background-size: cover !important;
  background-position: center !important;
  overflow: hidden;
}
.project-detail-container .wt-bnr-inr .overlay-main {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, .45);
}
.project-detail-container .wt-bnr-inr .container { position: relative; z-index: 2; }
.project-detail-container .wt-bnr-inr .wt-bnr-inr-entry { padding: 70px 0 34px; }
.project-detail-container .wt-bnr-inr h2,
.project-detail-container .wt-bnr-inr h1 {
  margin: 0;
  color: #fff;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  text-shadow: 0 2px 14px rgba(0,0,0,.5);
}

/* Breadcrumb strip */
.project-detail-container .bg-gray-light { background: #f4f5f7; border-bottom: 1px solid #e6e8eb; }
.project-detail-container .wt-breadcrumb { list-style: none; margin: 0; padding: 0; }
.project-detail-container .wt-breadcrumb li { display: inline-block; margin-right: 8px; color: #777; font-size: 13px; }
.project-detail-container .wt-breadcrumb li + li:before { content: "/"; margin-right: 8px; color: #bbb; }
.project-detail-container .wt-breadcrumb a { color: #2035B8; text-decoration: none; }

/* Slideshow first, copy underneath. The original product pages ran the gallery
   across the top of the page and let the opener copy flow beneath it, with the
   opener thumbnails floating so the text wraps around them. A half-width copy
   column squeezed beside the gallery is not that, so the two view columns are
   stacked here and the copy is capped to a readable measure instead. */
.project-detail-container .section-full > .container > .row {
  display: block;
  margin: 0;
}
.project-detail-container .section-full > .container > .row > .col-lg-7,
.project-detail-container .section-full > .container > .row > .col-lg-5 {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.project-detail-container .section-full > .container > .row > .col-lg-7 { margin-bottom: 38px; }
.project-detail-container .section-full > .container > .row > .col-lg-5 .text-justify {
  max-width: 900px;
}

/* Gallery: show the product photos at their natural ratio instead of the
   Adseal rule declared in the view, which forces every image into a 400px crop. */
.project-detail-container .wt-post-media img,
.project-detail-container .project-gallery-carousel img {
  height: auto !important;
  width: 100% !important;
  object-fit: contain !important;
  border: 1px solid #e6e8eb;
  border-radius: 4px;
  background: #f4f5f7;
  box-sizing: border-box;
}

/* Headings in the right-hand column */
.project-detail-container .text-justify > h2 {
  color: #2035B8;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  margin-bottom: 6px;
}
.project-detail-container .wt-separator-outer { margin-bottom: 22px; }
.project-detail-container .wt-separator.style-square { height: 4px; }
.project-detail-container .wt-separator .separator-left,
.project-detail-container .wt-separator .separator-right { background: #A30C0C; height: 4px; width: 42px; display: inline-block; }
.project-detail-container .wt-separator .separator-left { margin-right: 4px; }

/* Product copy (ShowcaseItem.text, rendered raw) — the source site shows each
   opener as a heading, an intro line and a ticked feature list. */
.project-detail-container .project-description {
  font-family: 'Open Sans', sans-serif;
  font-size: 15.5px;
  line-height: 1.75;
  color: #4a4a4a;
}
.project-detail-container .project-description h3 {
  margin: 30px 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e6e8eb;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: #2035B8;
}
.project-detail-container .project-description h3:first-child { margin-top: 0; }
.project-detail-container .project-description p { margin: 0 0 14px; }
.project-detail-container .project-description ul,
.project-detail-container .project-description ol { list-style: none; margin: 0 0 18px; padding: 0; }
.project-detail-container .project-description li {
  position: relative;
  margin: 0 0 8px;
  padding-left: 26px;
}
.project-detail-container .project-description li:before {
  content: "\f00c";                   /* fa-check */
  font-family: FontAwesome;
  position: absolute;
  left: 0;
  top: 0;
  color: #A30C0C;
  font-size: 14px;
}
.project-detail-container .project-description em { color: #888; font-size: 14px; }
.project-detail-container .project-description hr { border: 0; border-top: 1px solid #e6e8eb; margin: 24px 0; }
/* Product thumbnail inside the copy: overrides the Adseal
   `.project-detail-container img { height:400px !important }` crop rule. */
.project-detail-container .project-description img {
  float: left;
  width: auto !important;
  height: auto !important;
  max-width: 180px !important;
  max-height: 180px !important;
  object-fit: contain !important;
  margin: 4px 18px 10px 0;
  padding: 6px;
  background: #fff;
  border: 1px solid #e6e8eb;
  border-radius: 4px;
  box-sizing: border-box;
}

/* Hero caption: the product name sits over the product photo, so it has to stay
   white whatever the theme does to headings. The banner and breadcrumb strips
   sit outside the .section-full wrapper, so their inner .container needs the
   same width and gutter as the rest of the page — without it the caption and
   breadcrumb trail sit flush against the viewport edge. */
.project-detail-container .wt-bnr-inr > .container,
.project-detail-container .bg-gray-light > .container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.project-detail-container .wt-bnr-inr h2,
.project-detail-container .wt-bnr-inr h1 {
  color: #ffffff !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.55);
}

/* Breadcrumbs: quiet left-aligned strip rather than the theme's default list. */
.project-detail-container .bg-gray-light { padding: 0; }
.project-detail-container .wt-breadcrumb {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 4px;
  padding: 14px 0;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.project-detail-container .wt-breadcrumb li { margin: 0; color: #8b93a1; }
.project-detail-container .wt-breadcrumb li:last-child { color: #2035B8; font-weight: 600; }
.project-detail-container .wt-breadcrumb li + li:before { color: #cfd4dc; }
.project-detail-container .wt-breadcrumb a { color: #8b93a1; text-decoration: none; }
.project-detail-container .wt-breadcrumb a:hover { color: #A30C0C; }
.project-detail-container .wt-breadcrumb .fa { margin-right: 5px; }

/* Slideshow: one photo per slide, capped in height so a panorama does not fill
   the viewport, with the theme's own nav arrows restyled to the brand. */
.project-detail-container .project-gallery-carousel { margin-top: 26px; }
.project-detail-container .project-gallery-carousel .owl-item img,
.project-detail-container .project-gallery-carousel img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: 520px;
  object-fit: contain !important;
  background: #f4f5f7;
}
/* The theme positions owl nav arrows at top:38% with a fixed height, which sits
   them above centre on the slideshow. Centre them on the slide instead. */
.project-detail-container .project-gallery-carousel .owl-nav > div {
  top: 50% !important;
  transform: translateY(-50%);
  height: 38px !important;
  line-height: 26px;
  color: #fff !important;
  background: rgba(0,0,0,.35) !important;
  border-radius: 3px;
}
.project-detail-container .project-gallery-carousel .owl-dots { margin-top: 14px; text-align: center; }
.project-detail-container .project-gallery-carousel .owl-dot span { background: #cfd4dc; }
.project-detail-container .project-gallery-carousel .owl-dot.active span { background: #A30C0C; }

/* ---- Inner-page title bar + breadcrumbs (every page except home) --------- */
/* _ThemeLayout renders .wd-title-bar with the page's ogImage for Omega CMS
   pages, and the breadcrumb strip beneath it. The theme's own .wd-title-bar
   rule ships a placeholder background from via.placeholder.com plus 150px of
   top padding and a 90px bottom margin; the inline style on the element sets
   the real image, and these rules give the band a sensible height, keep the
   caption inside the content column and darken the left side for legibility. */
.wd-title-bar {
  position: relative;
  min-height: 320px !important;
  padding-top: 150px !important;
  margin-bottom: 0 !important;
  background-position: center center !important;
}
.wd-title-bar > .row {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.wd-title-bar h2.title,
.wd-title-bar h1.title {
  color: #ffffff;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  text-shadow: 0 2px 14px rgba(0,0,0,.5);
}
.wd-title-bar::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.12) 100%);
  pointer-events: none;
}

/* Breadcrumb strip, shared by the inner pages (rendered by _ThemeLayout) and the
   product detail page (rendered by its own view). */
.bg-gray-light { background: #f4f5f7; border-bottom: 1px solid #e6e8eb; }
.bg-gray-light > .container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.wt-breadcrumb {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0;
  padding: 14px 0;
  list-style: none;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.wt-breadcrumb li { margin: 0; color: #8b93a1; }
.wt-breadcrumb li:last-child { color: #2035B8; font-weight: 600; }
.wt-breadcrumb li + li:before { content: "/"; margin-right: 8px; color: #cfd4dc; }
.wt-breadcrumb a { color: #8b93a1; text-decoration: none; }
.wt-breadcrumb a:hover { color: #A30C0C; }
.wt-breadcrumb .fa { margin-right: 5px; }

/* ---- Our Clients band (testimonial-carousel floor branch) --------------- */
.omega-clients-band {
  background: url('/uploaded_images/1/media/greybackground.jpg') no-repeat center top;
  background-size: cover;
  padding: 60px 0 70px;
}
.omega-clients-band .omega-section-title h2,
.omega-clients-band .omega-section-title h5 { text-shadow: 0 1px 2px rgba(255,255,255,.8); }
.omega-clients-band blockquote {
  background: #fff;
  border: none;
  border-top: 4px solid #A30C0C;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  margin: 0 0 26px 0;
  padding: 28px 30px;
  text-align: left;
}
.omega-clients-band blockquote p {
  color: #444;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  font-style: italic;
  line-height: 1.7;
}
.omega-clients-band blockquote cite {
  display: block;
  margin-top: 12px;
  color: #2035B8 !important;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 15px;
}
.omega-clients-band .job-title { color: #888; font-family: 'Open Sans', sans-serif; font-size: 13px; }

/* ---- Clients: cycling testimonial viewport + quote form (two columns) --- */
.omega-clients-band .omega-testi-viewport { position: relative; min-height: 300px; }
.omega-clients-band .omega-testi-item {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .8s ease;
  background: #fff;
  border-top: 4px solid #A30C0C;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  padding: 28px 30px;
  text-align: left;
}
.omega-clients-band .omega-testi-item.omega-testi-active { opacity: 1; visibility: visible; z-index: 2; }
.omega-clients-band .omega-testi-dots { text-align: center; margin-top: 16px; }
.omega-clients-band .omega-testi-dot {
  display: inline-block; width: 12px; height: 12px; margin: 0 5px;
  border-radius: 50%; background: rgba(32,53,184,.35); cursor: pointer; transition: background .2s;
}
.omega-clients-band .omega-testi-dot-active { background: #2035B8; }

.omega-quote-form {
  background: #fff;
  border-top: 4px solid #2035B8;
  box-shadow: 0 2px 10px rgba(0,0,0,.08);
  padding: 26px 28px;
  text-align: left;
}
.omega-quote-form h3 { color: #2035B8; font-family: 'Open Sans', sans-serif; font-weight: 700; margin: 0 0 6px; }
.omega-quote-form p { color: #666; font-family: 'Open Sans', sans-serif; font-size: 14px; margin: 0 0 16px; }
.omega-quote-form .form-group { margin: 0 0 12px; }
.omega-quote-form input,
.omega-quote-form textarea {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 2px;
  padding: 10px 12px;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  box-sizing: border-box;
  background: #fafafa;
}
.omega-quote-form input:focus,
.omega-quote-form textarea:focus { outline: none; border-color: #A30C0C; }
.omega-quote-form button {
  background: #A30C0C !important;
  color: #fff !important;
  border: none;
  padding: 12px 34px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
}

/* ---- Clients area closer to the omega reference -------------------------- */
/* Column headings use the theme's left title style */
.omega-clients-band .wd-title-section_l { margin-bottom: 18px; }
.omega-clients-band .wd-title-section_l h2 {
  color: #2035B8 !important;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  margin: 0 0 6px 0;
}
.omega-clients-band .wd-title-section_l h5 {
  color: #444;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  margin: 0;
}
/* Testimonial slides: subtle readable panels over the photo */
.omega-clients-band .omega-testi-viewport { position: relative; min-height: 250px; }
.omega-clients-band .omega-testi-item {
  position: absolute;
  top: 0; left: 0; right: 0;
  margin: 0;
  background: rgba(255,255,255,.92);
  border: none;
  border-left: 4px solid #A30C0C;
  box-shadow: none;
  padding: 20px 22px;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  transition: opacity .8s ease;
}
.omega-clients-band .omega-testi-item.omega-testi-active { opacity: 1; visibility: visible; z-index: 2; }
.omega-clients-band .omega-testi-item p {
  color: #333;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  font-style: italic;
  line-height: 1.7;
  margin: 0 0 12px 0;
}
.omega-clients-band .omega-testi-item cite {
  color: #2035B8 !important;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-style: normal;
}
.omega-clients-band .omega-testi-dots { text-align: left; margin-top: 14px; }
.omega-clients-band .omega-testi-dot {
  display: inline-block; width: 12px; height: 12px; margin: 0 5px 0 0;
  border-radius: 50%; background: rgba(32,53,184,.4); cursor: pointer;
}
.omega-clients-band .omega-testi-dot-active { background: #2035B8; }
/* Quote form sits directly on the photo (like the reference) */
.omega-quote-form { background: transparent; border: none; box-shadow: none; padding: 0; }
.omega-quote-form .form-group { margin: 0 0 14px; }
.omega-quote-form input,
.omega-quote-form textarea {
  width: 100%;
  border: 1px solid #cfcfcf;
  border-radius: 2px;
  padding: 11px 12px;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  box-sizing: border-box;
  background: #fff;
}

/* ---- Clients band: white text over the photo (matching the reference) --- */
.omega-clients-band .wd-title-section_l h2 { color: #FFF !important; text-shadow: 0 1px 3px rgba(0,0,0,.35); }
.omega-clients-band .wd-title-section_l h5 { color: rgba(255,255,255,.8) !important; text-shadow: 0 1px 2px rgba(0,0,0,.4); }
.omega-clients-band .omega-testi-item {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.omega-clients-band .omega-testi-item p {
  color: #FFF !important;
  padding: 20px 30px;
  margin: 0;
  text-shadow: 0 1px 3px rgba(0,0,0,.4);
}
.omega-clients-band .omega-testi-item cite { color: #d9a13b !important; }
.omega-clients-band .omega-testi-dots { text-align: left; }

/* ---- Header logo (align within the creative top-bar) -------------------- */
.l-header .top-bar .name,
.creative-layout .top-bar .name { display: flex; align-items: center; }
.l-header .top-bar .name a,
.creative-layout .top-bar .name a { display: inline-flex; align-items: center; line-height: 1; }
.l-header .top-bar .name img,
.creative-layout .top-bar .name img {
  height: 46px;
  width: auto;
  max-width: 240px;
  display: block;
}
.l-header .top-bar .name h1,
.creative-layout .top-bar .name h1 { margin: 0; line-height: 1; }

.omega-more-button { margin: 6px 0 10px; }
.omega-more-button a.button,
.omega-more-button .button {
  display: inline-block;
  background: #A30C0C !important;
  color: #fff !important;
  padding: 12px 30px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
}

/* ---- Quote/contact form on home (contact-form plugin) ------------------- */
.power_contact_form {
  max-width: 760px;
  margin: 0 auto;
  padding: 30px 0 50px;
  text-align: center;
}
.power_contact_form h3 {
  color: #2035B8;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
}
.power_contact_form p { color: #666; font-family: 'Open Sans', sans-serif; }
.power_contact_form .form-group { margin: 0 0 14px; text-align: left; }
.power_contact_form label {
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  color: #444;
}
.power_contact_form input,
.power_contact_form textarea {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 2px;
  padding: 10px 12px;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  box-sizing: border-box;
}
.power_contact_form input:focus,
.power_contact_form textarea:focus { outline: none; border-color: #A30C0C; }
.power_contact_form button.power_button {
  background: #A30C0C !important;
  color: #fff !important;
  border: none;
  padding: 12px 34px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
}

/* ---- Footer (wd-footer) typography ------------------------------------- */
.wd-footer { color: #c8c8c8; }
.wd-footer .copyright {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0 18px;
}
a.omega-aquanox-badge {
  display: inline-block;
  line-height: normal;
  opacity: .85;
}
a.omega-aquanox-badge:hover { opacity: 1; }
a.omega-aquanox-badge img { width: 150px; height: auto; vertical-align: middle; }
.wd-footer h2.block-title { color: #c8c8c8 !important; font-size: 20px; }
.wd-footer a { color: #e8e8e8; }
.wd-footer a:hover { color: #A30C0C; }
.wd-footer .widget-logo img { max-width: 240px; height: auto; }

/* ---- Inner page hero banner (matches the omega reference .wd-title-bar) -- */
.wd-title-bar {
  color: #fff;
}
.wd-title-bar.omega-cms-hero {
  display: flex;
  align-items: center;
  min-height: 190px;
  padding: 44px 0;
}
.wd-title-bar.omega-cms-hero .row { width: 100%; margin: 0 auto; }
.wd-title-bar .title,
.wd-title-bar h2,
.wd-title-bar h1 {
  color: #fff !important;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 32px;
  margin: 0;
  text-shadow: 0 2px 10px rgba(0,0,0,.45);
}

/* ---- Newsletter blue band (above footer) --------------------------------- */
.omega-newsletter-band {
  background: #2035B8;
  padding: 48px 0 50px;
  color: #fff;
}
.omega-newsletter-band h2 {
  color: #fff !important;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  margin: 0 0 8px 0;
}
.omega-newsletter-band p {
  color: rgba(255,255,255,.9);
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  margin: 0;
}
.omega-newsletter-band form {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  max-width: 680px;
  margin: 18px auto 0;
}
.omega-newsletter-band form input {
  flex: 1 1 150px;
  min-width: 150px;
  padding: 11px 12px;
  border: none;
  border-radius: 2px;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  color: #333;
}
.omega-newsletter-band form button {
  background: #A30C0C;
  color: #fff;
  border: none;
  padding: 12px 28px;
  border-radius: 2px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
}
.omega-newsletter-band form button:hover { background: #7d0909; }
.omega-newsletter-band #nlOpenBtn { margin-top: 26px; }
.omega-newsletter-band #nlOpenBtn:hover { background: #7d0909 !important; }

/* ---- Newsletter popup (self-contained, works on this theme) -------------- */
#nlPopup {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,.6);
  z-index: 21000;
  overflow: auto;
  padding: 60px 16px;
}
#nlPopup .nl-modal {
  position: relative;
  max-width: 460px;
  margin: 0 auto;
  background: #fff;
  border-radius: 6px;
  padding: 34px 30px;
  box-shadow: 0 10px 40px rgba(0,0,0,.3);
}
#nlPopup .form-group { margin-bottom: 12px; }
#nlPopup input {
  width: 100%;
  box-sizing: border-box;
  padding: 11px 12px;
  border: 1px solid #ddd;
  border-radius: 2px;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  color: #333;
}
#nlPopup .nl-modal { padding-top: 48px; }
#nlPopup .nl-modal h3 { padding-right: 40px; }
#nlPopup .nl-close { top: 16px; right: 18px; }
#nlPopup .nl-modal h3 { margin-bottom: 10px; }
#nlPopup button[type="submit"]:hover { background: #7d0909 !important; }

/* ---- Newsletter modal (works without Bootstrap on the Foundation theme) -- */
#newsletterModal {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 20000;
  background: rgba(0,0,0,.6);
  overflow: auto;
  padding: 50px 16px;
}
#newsletterModal .modal-dialog { max-width: 520px; margin: 0 auto; }
#newsletterModal .modal-content { background: #fff; border-radius: 6px; overflow: hidden; }
#newsletterModal input,
#newsletterModal textarea { font-family: 'Open Sans', sans-serif; }
#newsletterOpenBtn:hover { background: #7d0909 !important; }

/* ---- Slider navigation arrows/dots sit on the hero ---------------------- */
.power_slider .owl-nav { position: absolute; bottom: 24px; left: 0; right: 0; pointer-events: none; }
.power_slider .owl-nav button { pointer-events: auto; }

/* ---- 0. Main hero slider (Omega .omega-hero, self-contained) ------------ */
.omega-hero {
  position: relative;
  width: 100%;
  height: 640px;
  overflow: hidden;
  background: #1b1b1b;
  /* Gap between the slider and the first content band under it (the
     "Omega Garage Doors" / Why Choose Us block), which otherwise butts
     straight up against the hero. */
  margin-bottom: 70px;
}
.omega-hero-slides,
.omega-hero-slide { position: absolute; inset: 0; }
.omega-hero-slide {
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1.1s ease-in-out;
  z-index: 1;
}
.omega-hero-slide.omega-hero-active { opacity: 1; z-index: 2; }
.omega-hero-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,.2) 100%);
}
.omega-hero-caption {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 1100px;
  padding: 0 24px;
  color: #fff;
  text-align: center;
}
.omega-hero-caption h1,
.omega-hero-caption h2 {
  color: #fff !important;
  font-family: 'Open Sans', sans-serif;
  font-weight: 800;
  font-size: 62px;
  line-height: 1.1;
  margin: 0 0 14px 0;
  text-shadow: 0 3px 24px rgba(0,0,0,.5);
}
.omega-hero-caption p {
  color: #fff !important;
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  font-size: 22px;
  margin: 0 auto 28px auto;
  max-width: 760px;
  text-shadow: 0 2px 12px rgba(0,0,0,.45);
}
.omega-hero-btn {
  display: inline-block;
  padding: 15px 40px;
  background: #A30C0C !important;
  color: #fff !important;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
}
.omega-hero-btn:hover { background: #7d0909 !important; color: #fff !important; }
.omega-hero-dots {
  position: absolute;
  z-index: 5;
  bottom: 22px;
  left: 0;
  right: 0;
  text-align: center;
}
.omega-hero-dot {
  display: inline-block;
  width: 13px;
  height: 13px;
  margin: 0 6px;
  border-radius: 50%;
  background: rgba(255,255,255,.45);
  cursor: pointer;
  transition: background .2s;
}
.omega-hero-dot-active { background: #fff; }
@media (max-width: 767px) {
  .omega-hero { height: 420px; margin-bottom: 44px; }
  .omega-hero-caption h1,
  .omega-hero-caption h2 { font-size: 34px; }
  .omega-hero-caption p { font-size: 17px; }
}

/* ==========================================================================
   Testimonials page — every review as a quote card (TestimonialCarousel with
   layout = "grid"). Column flow instead of a block-grid so the cards keep their
   natural height: the client's reviews range from one line to a full paragraph,
   and stretching them into equal-height cells left huge empty gaps.
   ========================================================================== */
.omega-testimonials-page {
  background: #f4f6fa;
  padding: 70px 0 60px;
}
.omega-testimonials-page .omega-section-title { margin-bottom: 40px; }
.omega-testimonials-page .omega-section-title h2 {
  color: #2035B8 !important;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  margin: 0 0 10px 0;
}
.omega-testimonials-page .omega-section-title h5 {
  color: #555;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  margin: 0 auto;
  max-width: 680px;
  line-height: 1.6;
}
.omega-testimonials-page .omega-testi-count {
  color: #A30C0C !important;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-top: 14px !important;
}

.omega-testi-grid {
  column-count: 3;
  column-gap: 26px;
}
.omega-testi-card {
  /* Keep a card in one column instead of letting it split across two. */
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  display: inline-block;
  width: 100%;
  box-sizing: border-box;
  position: relative;
  margin: 0 0 26px 0;
  padding: 26px 26px 22px;
  background: #fff;
  border-top: 4px solid #A30C0C;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
.omega-testi-card blockquote {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  box-shadow: none;
  text-align: left;
}
.omega-testi-card blockquote p {
  color: #444;
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  font-style: italic;
  line-height: 1.75;
  margin: 0;
}
.omega-testi-card .omega-testi-mark {
  position: absolute;
  top: 6px;
  right: 18px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 56px;
  line-height: 1;
  color: rgba(32,53,184,.12);
  pointer-events: none;
}
.omega-testi-card figcaption {
  display: flex;
  align-items: center;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid #eef1f6;
}
.omega-testi-avatar {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  margin-right: 12px;
  border-radius: 50%;
  background: #2035B8;
  color: #fff;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .5px;
  line-height: 38px;
  text-align: center;
}
.omega-testi-author { display: block; }
.omega-testi-name {
  display: block;
  color: #2035B8;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
}
.omega-testi-role {
  display: block;
  color: #888;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
}

@media (max-width: 1024px) {
  .omega-testi-grid { column-count: 2; }
}
@media (max-width: 641px) {
  .omega-testimonials-page { padding: 48px 0 40px; }
  .omega-testi-grid { column-count: 1; }
  .omega-testi-card { padding: 22px 20px 18px; margin-bottom: 20px; }
}

/* Logo wrapper -------------------------------------------------------------
   The theme's header wrapped the logo in an <h1>, which made a logo link the
   page's only H1 (and its title/alt text was the template's "Flooring Company
   WordPress Theme"). scripts/omega-seo.sql demotes it to .site-logo; these
   rules keep the original <h1> box model so the header looks unchanged. */
.top-bar .name .site-logo {
  margin: 0;
  font-size: inherit;
  /* Vertical alignment with the menu labels.
     The theme levelled the logo using
       .creative-layout .top-bar .name h1 a img { margin-top: -10px }
     The SEO pass replaced that <h1> with this <div> (so the logo link was not
     the page's only H1), which dropped the selector and left the logo sitting
     high. Two things caused it:
       - the wrapper inherited the top-bar's 51.43px line-height, and that
         line box puts its descender space *below* the 46px image, so the image
         rides above centre;
       - my earlier line-height:inherit kept that slack.
     line-height:1 makes the box hug the logo, and padding-top is the final
     nudge down to sit with the menu text. The block is centred by the flex
     rule on .name, so the visible shift is about half this value — this one
     number is the knob if it needs to go up or down. */
  line-height: 1;
  padding-top: 14px;
}
.top-bar .name .site-logo a {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  /* The horizontal padding the theme's h1 anchor had, so the logo keeps its
     distance from the left edge of the header. */
  padding: 0 1.07143rem;
}

/* ==========================================================================
   Active top-menu item. NavigationService marks the current item's <li> with
   "active_menu" (theme convention), so all we do here is make it obvious: the
   label stays white and a red bar sits under it, in both the transparent hero
   header and the dark sticky header.
   ========================================================================== */
/* The theme renders these links with display:inline, so an absolutely positioned
   ::after bar is unreliable — use the link's own bottom border for the underline
   and make the label bold. Covers both the transparent header over the hero and
   the dark sticky header (the .fixed class is on the top-bar container, so the
   same rule applies in both states). */
.creative-layout .top-bar-section #menu-main-menu > li.active_menu > a,
.creative-layout .fixed .top-bar-section #menu-main-menu > li.active_menu > a {
  color: #ffffff !important;
  font-weight: 700 !important;
  border-bottom: 3px solid #A30C0C;
}
.creative-layout .top-bar-section #menu-main-menu > li.active_menu > a:hover,
.creative-layout .fixed .top-bar-section #menu-main-menu > li.active_menu > a:hover {
  color: #ffffff !important;
  border-bottom-color: #ffffff;
}

/* ==========================================================================
   Contact page (/contact) — ContactForm plugin (message form + contact
   details) followed by the Map plugin. Rendered by
   Views/Shared/Plugins/ContactForm.cshtml; the markup is the theme's own
   Foundation grid, so it needs its card/typography styling here.
   ========================================================================== */
.omega-contact-section {
  background: #f4f6fa;
  padding: 70px 0 40px;
}

/* Message form card -------------------------------------------------------- */
.omega-contact-form-card {
  background: #fff;
  border-top: 4px solid #A30C0C;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  padding: 30px 32px 34px;
  text-align: left;
}
.omega-contact-form-card h2 {
  color: #2035B8;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  margin: 0 0 6px;
}
.omega-contact-form-card .omega-contact-sub {
  color: #666;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  margin: 0 0 18px;
}
.omega-contact-form .form-group { margin: 0 0 14px; }
.omega-contact-form label {
  display: block;
  color: #2035B8;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.omega-contact-form input[type="text"],
.omega-contact-form input[type="email"],
.omega-contact-form input[type="tel"],
.omega-contact-form textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #ddd;
  border-radius: 2px;
  background: #fafafa;
  padding: 11px 13px;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
}
.omega-contact-form input:focus,
.omega-contact-form textarea:focus { outline: none; border-color: #A30C0C; }
.omega-contact-form .captcha-wrapper { margin-bottom: 8px; }
.omega-contact-form .captcha-image { border: 1px solid #ddd; border-radius: 2px; vertical-align: middle; }
.omega-contact-form .captcha-refresh {
  cursor: pointer;
  width: 24px;
  height: 24px;
  margin-left: 8px;
  vertical-align: middle;
  opacity: .75;
}
.omega-contact-form .captcha-refresh:hover { opacity: 1; }
.omega-contact-submit {
  background: #A30C0C;
  color: #fff;
  border: none;
  border-radius: 2px;
  padding: 13px 38px;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  cursor: pointer;
}
.omega-contact-submit:hover { background: #7d0909; }

/* Submit feedback (TempData flash from ContactController) ------------------ */
.omega-contact-form-card .form-flash {
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  padding: 12px 14px;
  margin: 0 0 16px 0;
  border-radius: 2px;
}
.omega-contact-form-card .form-flash-success {
  background: #eef7ee;
  border-left: 4px solid #2e7d32;
  color: #1f5c22;
}
.omega-contact-form-card .form-flash-error {
  background: #fdf1f1;
  border-left: 4px solid #A30C0C;
  color: #7d0909;
}

/* Contact details card ----------------------------------------------------- */
.omega-contact-details {
  background: #fff;
  border-top: 4px solid #2035B8;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  padding: 26px 28px;
  margin-bottom: 26px;
}
.omega-contact-details h2 {
  color: #2035B8;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  margin: 0 0 18px 0;
}
.omega-contact-details ul { list-style: none; margin: 0; padding: 0; }
.omega-contact-details li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 18px;
}
.omega-contact-details li:last-child { margin-bottom: 0; }
.omega-contact-details i {
  flex: 0 0 24px;
  width: 24px;
  margin: 3px 14px 0 0;
  color: #A30C0C;
  font-size: 19px;
  text-align: center;
}
.omega-contact-details span {
  color: #444;
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  line-height: 1.7;
}
.omega-contact-details strong { color: #2035B8; font-weight: 700; }
.omega-contact-details a { color: #2035B8; font-weight: 600; }
.omega-contact-details a:hover { color: #A30C0C; }

/* Map ---------------------------------------------------------------------- */
.power_map_wrapper { position: relative; overflow: hidden; }
.power_map_wrapper iframe { display: block; border: 0; }

@media (max-width: 860px) {
  .omega-contact-section { padding: 48px 0 30px; }
  .omega-contact-form-card { padding: 24px 20px 26px; }
  .omega-contact-details { padding: 22px 20px; margin-bottom: 22px; }
}

/* ---- Error / 404 page (Views/Shared/Error.cshtml) ------------------------ */
/* The site-wide navigation comes from the theme header/footer in _ThemeLayout;
   these rules style the status band, the message card and the quick links that
   the error view adds so a dead end still looks like the rest of the site. */
.wd-title-bar.omega-error-hero {
  display: flex;
  align-items: center;
  min-height: 210px !important;
  padding: 58px 0 !important;
  background: linear-gradient(120deg, #1b2340 0%, #A30C0C 100%) !important;
}
/* The shared .wd-title-bar rule paints a darkening gradient over the hero image;
   there is no image here, so the flat brand gradient is enough. */
.wd-title-bar.omega-error-hero::after { background: none; }
.omega-error-code {
  display: block;
  margin-bottom: 6px;
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .75);
}

.omega-error-page { padding: 58px 0 70px; background: #fff; }
.omega-error-page h2 {
  margin: 0 0 14px;
  color: #2035B8;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
}
.omega-error-page p {
  color: #555;
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  line-height: 1.7;
}
.omega-error-actions { margin: 26px 0 0; }
.omega-error-actions .button { margin: 0 6px 10px; }
.omega-error-actions .omega-error-outline {
  background: transparent !important;
  border: 2px solid #A30C0C;
  color: #A30C0C !important;
}
.omega-error-actions .omega-error-outline:hover {
  background: #A30C0C !important;
  color: #ffffff !important;
}

.omega-error-links-title {
  margin: 46px 0 14px;
  color: #8b93a1;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
/* Inline links, not a list — the theme puts disc markers on list items. */
.omega-error-links { margin: 0; }
.omega-error-links a {
  display: inline-block;
  margin: 0 14px 8px;
  color: #2035B8;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.omega-error-links a:hover { color: #A30C0C; text-decoration: underline; }

@media (max-width: 860px) {
  .wd-title-bar.omega-error-hero { min-height: 170px !important; padding: 40px 0 !important; }
  .omega-error-page { padding: 40px 0 50px; }
}

/* ---- Garador page (CMS page /garador) ------------------------------------ */
/* The page promotes Omega as a Garador distributor and hands the visitor over
   to garador.co.nz — the logo card on the right is the main call to action, so
   it gets a hover lift and the whole card (logo + caption) is one link. */
.omega-garador-page { padding: 46px 0 62px; background: #fff; }
.omega-garador-page .omega-section-title { padding: 0 0 26px; }
.omega-garador-page p {
  color: #555;
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  line-height: 1.8;
}
.omega-garador-page ul.omega-garador-list {
  margin: 0 0 22px;
  padding: 0;
  /* !important because the theme styles `li` markers directly, which wins over
     a list-style rule on the parent <ul>. */
  list-style: none !important;
}
.omega-garador-page ul.omega-garador-list li { list-style: none !important; }
.omega-garador-page ul.omega-garador-list li {
  position: relative;
  padding: 0 0 9px 24px;
  color: #555;
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  line-height: 1.6;
}
/* Red dot marker rather than an icon font, so the list never depends on the
   FontAwesome build in the theme. */
.omega-garador-page ul.omega-garador-list li:before {
  content: "";
  position: absolute;
  left: 2px;
  top: 9px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #A30C0C;
}

.omega-garador-logo-link {
  display: block;
  padding: 34px 24px 30px;
  border: 1px solid #e6e8eb;
  border-radius: 6px;
  background: #fff;
  text-decoration: none;
  box-shadow: 0 2px 14px rgba(0, 0, 0, .06);
  transition: box-shadow .2s ease, transform .2s ease;
}
.omega-garador-logo-link:hover,
.omega-garador-logo-link:focus {
  box-shadow: 0 10px 28px rgba(0, 0, 0, .13);
  transform: translateY(-3px);
}
.omega-garador-logo-link img {
  display: block;
  width: 180px;
  max-width: 100%;
  height: auto;
  margin: 0 auto 16px;
}
.omega-garador-logo-caption {
  display: block;
  color: #A30C0C;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (max-width: 860px) {
  .omega-garador-page { padding: 32px 0 44px; }
  .omega-garador-logo-link { margin-top: 12px; padding: 26px 20px 24px; }
  .omega-garador-logo-link img { width: 150px; }
}
