/*
Theme Name: Corps Fab Modern
Theme URI: https://corpsfab.com/
Author: Corps Fabrication
Description: A modern, reversible WordPress and WooCommerce theme for Corps Fabrication.
Template: Divi
Version: 1.0.7
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: corpsfab-modern
*/

/* WordPress-specific finishing styles. The main design system is in assets/corpsfab.css. */
/* WordPress already shifts the whole document below its admin toolbar. Adding
   that height to the absolute header again caused hero imagery to overlap it. */
body.admin-bar .siteHeader { top: 0; }

/* The new templates render their own shared header and footer. Keep Divi as
   the parent for legacy content support without showing its old global shell. */
body.corpsfab-modern .et-l--header,
body.corpsfab-modern .et-l--footer {
  display: none !important;
}

/* Divi assigns its own gray color and Roboto face directly to headings. Let
   each redesigned section control its heading color (white on dark sections,
   ink on light sections) and preserve the editorial display face. */
body.corpsfab-modern h1,
body.corpsfab-modern h2,
body.corpsfab-modern h3,
body.corpsfab-modern h4,
body.corpsfab-modern h5,
body.corpsfab-modern h6 {
  color: inherit !important;
}

body.corpsfab-modern h1,
body.corpsfab-modern h2 {
  font-family: Impact, "Arial Narrow", Arial, sans-serif !important;
  font-weight: 400 !important;
}

/* WooCommerce also uses the generic `button` class and otherwise turns the
   redesigned CTAs blue on shop and product screens. Keep our three variants
   visually consistent on every route. */
body.corpsfab-modern .button.buttonLight,
body.corpsfab-modern .button.buttonDark,
body.corpsfab-modern .button.buttonOutline {
  border-width: 1px !important;
  border-style: solid !important;
  border-radius: 0 !important;
  background-image: none !important;
  font-family: Arial, Helvetica, sans-serif !important;
  line-height: 1 !important;
}

body.corpsfab-modern .button.buttonLight {
  border-color: #fff !important;
  background: #fff !important;
  color: var(--ink) !important;
}

body.corpsfab-modern .button.buttonLight:hover {
  border-color: var(--sand) !important;
  background: var(--sand) !important;
  color: var(--ink) !important;
}

body.corpsfab-modern .button.buttonDark {
  border-color: var(--ink) !important;
  background: var(--ink) !important;
  color: #fff !important;
}

body.corpsfab-modern .button.buttonDark:hover {
  border-color: var(--red) !important;
  background: var(--red) !important;
  color: #fff !important;
}

body.corpsfab-modern .button.buttonOutline {
  border-color: rgba(255, 255, 255, 0.48) !important;
  background: transparent !important;
  color: #fff !important;
}

body.corpsfab-modern .button.buttonOutline:hover {
  border-color: #fff !important;
  background: #fff !important;
  color: var(--ink) !important;
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus {
  z-index: 100000;
  top: 8px;
  left: 8px;
  width: auto;
  height: auto;
  clip: auto;
  padding: 12px 18px;
  background: #fff;
  color: #111210;
}

.wp-site-blocks,
.site-main { min-height: 60vh; }

.defaultPage {
  padding: 160px 5.5vw 120px;
  background: #f1eee6;
}

.defaultPageHeader {
  min-height: 96px;
  background: #111210;
  color: #fff;
}

.defaultPage article {
  max-width: 1040px;
  margin: 0 auto;
}

.defaultPage h1 {
  margin-bottom: 55px;
  color: #111210;
  font-size: clamp(62px, 8vw, 122px);
}

.defaultPage .entry-content {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  line-height: 1.7;
}

.defaultPage .entry-content > * { max-width: 100%; }

.woocommerce-notices-wrapper,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  margin: 0;
  padding: 18px 3.5vw;
  border: 0;
  border-bottom: 1px solid rgba(17,18,16,.18);
  background: #e6e0d4;
  color: #111210;
  list-style: none;
}

.woocommerce-breadcrumb { display: none; }

.productCatalog .woocommerce-result-count {
  margin: 58px 0 36px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.productCatalog .woocommerce-ordering {
  float: right;
  margin: 44px 0 28px;
}

.productCatalog .woocommerce-ordering select {
  min-height: 48px;
  border: 1px solid #111210;
  border-radius: 0;
  background: transparent;
  padding: 0 42px 0 14px;
  color: #111210;
}

.productCatalogGrid { clear: both; }

.stoneMeta > span {
  grid-row: 1 / span 2;
  grid-column: 2;
  font-size: 25px;
}

.galleryCard[hidden] { display: none; }

.woocommerce-pagination ul {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin: 72px 0 0;
  padding: 0;
  list-style: none;
}

.woocommerce-pagination a,
.woocommerce-pagination span {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid #111210;
  padding: 0 12px;
  font-size: 11px;
  font-weight: 700;
}

.woocommerce-pagination .current,
.woocommerce-pagination a:hover {
  background: #111210;
  color: #fff;
}

.projectGalleryAdminPreview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0;
}

.projectGalleryAdminPreview img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.contactFormNotice {
  padding: 15px 18px;
  border-left: 3px solid #c4a476;
  background: #e3ded2;
}

.contactFormNotice.error { border-left-color: #962a25; }

.contactHoneypot {
  position: absolute;
  left: -9999px;
}

@media (max-width: 782px) {
  body.admin-bar .siteHeader { top: 0; }

  .productCatalog .woocommerce-ordering {
    float: none;
    margin-top: 22px;
  }
}
