/* WordPress overrides */
html { margin-top: 0 !important; font-size: 62.5% !important; }
body { margin: 0; padding: 0; }

/* ferretOne dynamic utility classes (not in extracted CSS) */
.color-ffffff { color: #ffffff !important; }
.color-000000 { color: #000000 !important; }
.color-070707 { color: #070707 !important; }
.color-504e4e { color: #504e4e !important; }
.color-cdb030 { color: #cdb030 !important; }
.color-ACAA60, .color-acaa60 { color: #acaa60 !important; }
.color-acaa61 { color: #acaa61 !important; }

.font-size-12px { font-size: 12px !important; }
.font-size-14px { font-size: 14px !important; }
.font-size-16px { font-size: 16px !important; }
.font-size-18px { font-size: 18px !important; }
.font-size-20px { font-size: 20px !important; }
.font-size-22px { font-size: 22px !important; }
.font-size-24px { font-size: 24px !important; }
.font-size-26px { font-size: 26px !important; }
.font-size-28px { font-size: 28px !important; }
.font-size-30px { font-size: 30px !important; }
.font-size-32px { font-size: 32px !important; }
.font-size-36px { font-size: 36px !important; }
.font-size-42px { font-size: 42px !important; }
.font-size-60px { font-size: 60px !important; }

.strong { font-weight: 700; font-style: normal; }
em.strong { font-style: normal; }

/* Fix: wrapper/contents/foot layout */
/* Pages WITHOUT sidebar (.side) — force full width */
body.page .wrapper {
  display: block !important;
}
body.page .wrapper .contents {
  display: block !important;
  width: 100% !important;
  float: none !important;
}

/* Pages WITH sidebar (column archive/single) — 70/30 two-column */
body.post-type-archive-column .wrapper,
body.single-column .wrapper {
  display: table !important;
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  table-layout: fixed !important;
}
body.post-type-archive-column .wrapper .contents,
body.single-column .wrapper .contents {
  display: table-cell !important;
  width: 70% !important;
  vertical-align: top !important;
}
body.post-type-archive-column .wrapper .side,
body.single-column .wrapper .side {
  display: table-cell !important;
  width: 30% !important;
  vertical-align: top !important;
}

/* Case/Blog entry-list — flexbox override (replaces ferretone table layout) */
.entry-list .entry-list-unit {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 15px !important;
    padding: 1em 0 !important;
    border-bottom: 1px solid #eee !important;
    border-spacing: 0 !important;
    table-layout: auto !important;
}
.entry-list .entry-list-unit .img {
    display: block !important;
    flex: 0 0 30% !important;
    max-width: 30% !important;
}
.entry-list .entry-list-unit .img img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
}
.entry-list .entry-list-unit .cont {
    display: block !important;
    flex: 1 1 0% !important;
    min-width: 0 !important;
}

/* FlexSlider prev/next nav arrows */
.flex-direction-nav a {
    text-decoration: none;
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 50%;
    z-index: 10;
    overflow: hidden;
    cursor: pointer;
    font-size: 28px;
    line-height: 40px;
    text-align: center;
    color: #333;
    background: rgba(255,255,255,0.8);
    border-radius: 50%;
}
.flex-direction-nav a.flex-prev { left: 10px; }
.flex-direction-nav a.flex-next { right: 10px; }

/* ============================================
   Contact Form 7 — ferretOne form style reproduction
   ============================================ */

/* Vertical form (pamphlet, recruit) */
.wpcf7 .fo-form-vertical .fo-group {
  display: block;
  margin-bottom: 12px;
}
.wpcf7 .fo-form-vertical .fo-label {
  display: block;
  font-size: 16px;
  color: #333;
  padding: 0 0 5px;
}
.wpcf7 .fo-form-vertical input[type="text"],
.wpcf7 .fo-form-vertical input[type="email"],
.wpcf7 .fo-form-vertical input[type="url"],
.wpcf7 .fo-form-vertical input[type="tel"],
.wpcf7 .fo-form-vertical input[type="file"],
.wpcf7 .fo-form-vertical select,
.wpcf7 .fo-form-vertical textarea {
  width: 100%;
  font-size: 16px;
  color: #555;
  background: #fff;
  border: 1px solid #c6b8b0;
  border-radius: 0;
  padding: 3px 10px;
  height: 38px;
  font-weight: 300;
  box-sizing: border-box;
}
.wpcf7 .fo-form-vertical textarea {
  height: 120px;
  resize: vertical;
}
.wpcf7 .fo-form-vertical select {
  height: 38px;
  -webkit-appearance: auto;
}

/* Horizontal form (contact) */
.wpcf7 .fo-form-horizontal .fo-group {
  display: table;
  width: 100%;
  margin-bottom: 0;
  border-bottom: 1px solid #eee;
}
.wpcf7 .fo-form-horizontal .fo-label {
  display: table-cell;
  width: 30%;
  padding: 12px 10px;
  font-size: 14px;
  color: #333;
  vertical-align: top;
  font-weight: 400;
}
.wpcf7 .fo-form-horizontal .fo-field {
  display: table-cell;
  width: 70%;
  padding: 8px 10px;
  vertical-align: top;
}
.wpcf7 .fo-form-horizontal input[type="text"],
.wpcf7 .fo-form-horizontal input[type="email"],
.wpcf7 .fo-form-horizontal input[type="tel"],
.wpcf7 .fo-form-horizontal select,
.wpcf7 .fo-form-horizontal textarea {
  width: 100%;
  font-size: 14px;
  color: #555;
  background: #fff;
  border: 1px solid #c6b8b0;
  border-radius: 0;
  padding: 6px 10px;
  font-weight: 300;
  box-sizing: border-box;
}
.wpcf7 .fo-form-horizontal textarea {
  height: 120px;
  resize: vertical;
}

/* Required mark */
.fo-required {
  color: #fff;
  background: #e74c3c;
  font-size: 11px;
  padding: 1px 6px;
  border-radius: 2px;
  margin-left: 6px;
  font-weight: 600;
}

/* Submit button — ferretOne gold style */
.wpcf7 .fo-submit-wrap {
  text-align: center;
  margin-top: 20px;
}
.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit {
  font-size: 18px !important;
  color: #fff !important;
  background: #cdb030 !important;
  border: 2px solid #cdb030 !important;
  border-radius: 4px !important;
  padding: 10px 60px !important;
  font-weight: 700 !important;
  cursor: pointer;
  transition: opacity 0.3s;
}
.wpcf7 input[type="submit"]:hover {
  opacity: 0.8;
}

/* Privacy policy link */
.fo-privacy {
  text-align: center;
  margin-top: 10px;
  font-size: 12px;
}
.fo-privacy a {
  color: #2c71ce;
  text-decoration: underline;
}

/* Footer always full width below */
.wrapper .foot,
.foot {
  clear: both;
  display: block !important;
  width: 100% !important;
  float: none !important;
}

/* ============================================
   Mobile responsive (375px)
   ============================================ */
@media (max-width: 768px) {
  /* Nav: hide PC menu links, show hamburger */
  nav.main-menu.pc {
    display: none !important;
  }

  .navigation-cont {
    flex-wrap: wrap;
    padding: 10px 15px !important;
  }

  .navigation-cont .logo img {
    height: 40px !important;
  }

  /* Show compact CTA button */
  .navigation-cont .cont .row .col:first-child {
    display: none;
  }

  /* Hero text sizing */
  .font-size-60px {
    font-size: 28px !important;
  }

  .font-size-42px {
    font-size: 22px !important;
  }

  .font-size-20px {
    font-size: 16px !important;
  }

  /* Hero padding */
  .row[style*="padding:100px"] {
    padding: 40px 0px 40px 0px !important;
  }

  /* Force single column */
  .row {
    flex-direction: column !important;
  }

  .col,
  .col[style] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Inner container */
  .inner {
    padding: 0 15px !important;
  }

  /* Entry list (cases) — stack vertically */
  .entry-list-unit {
    flex-direction: column !important;
  }

  .entry-list-unit a.img {
    width: 100% !important;
    flex: none !important;
  }

  .entry-list-unit a.img img {
    width: 100% !important;
  }

  /* Buttons — full width on mobile */
  .button-cont a {
    display: block !important;
    text-align: center;
    max-width: 100% !important;
  }

  .button-cont.center a,
  .button-cont.left a {
    margin: 0 auto;
  }

  /* H2, H3 sizing */
  h2 {
    font-size: 22px !important;
  }

  h3 {
    font-size: 18px !important;
  }

  /* Footer columns — stack */
  .foot-cont .row {
    flex-direction: column !important;
  }

  .foot-cont .col {
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px 15px !important;
  }

  /* Images — prevent overflow */
  img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* CTA section */
  .cta-column {
    width: 100% !important;
  }
}

/* Hamburger menu — CSS only */
@media (max-width: 768px) {
  .navi-002-01 {
    position: relative;
  }

  /* Hamburger toggle (checkbox hack) */
  .navi-002-01::before {
    content: "☰";
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: 24px;
    color: #555;
    cursor: pointer;
    z-index: 1001;
  }

  #navigations {
    padding: 10px 0 !important;
  }

  /* Hide nav links by default on mobile, show on focus-within */
  nav.main-menu.pc {
    display: none !important;
  }
}
