/*
 * Combute Product Enquiries 1.0.3
 * Cambridge Gun Club: black + #f99724 orange.
 * This file ONLY styles the front-end enquiry form. It does not alter checkout,
 * validation, consent, submission or admin functionality.
 */
#cpe-enquiry.cpe-form-wrap {
  --cpe-accent: #f99724;
  --cpe-ink: #171717;
  --cpe-border: #d9dadd;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 28px 0;
  padding: 28px;
  clear: both;
  background: #fff;
  border: 1px solid #e7e7e7;
  border-top: 4px solid var(--cpe-accent);
  border-radius: 7px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .045);
  color: var(--cpe-ink);
  /* Respond to the form width, not just the browser width.
     Critical for Elementor's narrower single-product columns. */
  container-type: inline-size;
  container-name: cpe-panel;
}
#cpe-enquiry.cpe-form-wrap *,
#cpe-enquiry.cpe-form-wrap *::before,
#cpe-enquiry.cpe-form-wrap *::after { box-sizing: border-box; }

#cpe-enquiry.cpe-form-wrap > h2 {
  margin: 0 0 9px !important;
  padding: 0;
  color: var(--cpe-ink) !important;
  font-size: clamp(21px, 1.65vw, 27px);
  line-height: 1.17;
  font-weight: 750;
  letter-spacing: -.025em;
  text-transform: none;
}
#cpe-enquiry.cpe-form-wrap > h2 + p {
  margin: 0 0 24px;
  padding: 0 0 19px;
  border-bottom: 1px solid #ededed;
  color: #565656;
  font-size: 13px;
  line-height: 1.65;
}

/* Two-column field layout. The first two address fields remain wide;
   smaller details are paired for a more balanced, compact form. */
#cpe-enquiry.cpe-form-wrap form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 18px;
  margin: 0;
  padding: 0;
  min-width: 0;
}
#cpe-enquiry.cpe-form-wrap form::before {
  content: 'YOUR DETAILS';
  grid-column: 1 / -1;
  display: block;
  margin: 0 0 -5px;
  color: var(--cpe-ink);
  font-size: 11px;
  line-height: 1.5;
  font-weight: 800;
  letter-spacing: .13em;
}
#cpe-enquiry.cpe-form-wrap form > p {
  grid-column: 1 / -1;
  min-width: 0;
  margin: 0 !important;
  padding: 0;
}
#cpe-enquiry.cpe-form-wrap form > p:nth-of-type(3),
#cpe-enquiry.cpe-form-wrap form > p:nth-of-type(4),
#cpe-enquiry.cpe-form-wrap form > p:nth-of-type(5),
#cpe-enquiry.cpe-form-wrap form > p:nth-of-type(6),
#cpe-enquiry.cpe-form-wrap form > p:nth-of-type(7),
#cpe-enquiry.cpe-form-wrap form > p:nth-of-type(8) {
  grid-column: auto;
}
/* Extra product questions always use the full width and get a small heading. */
#cpe-enquiry.cpe-form-wrap form > p:nth-of-type(9):not(.cpe-consent)::before {
  content: 'ABOUT YOUR ENQUIRY';
  display: block;
  margin: 7px 0 15px;
  padding-top: 19px;
  border-top: 1px solid #ededed;
  color: var(--cpe-ink);
  font-size: 11px;
  line-height: 1.5;
  font-weight: 800;
  letter-spacing: .13em;
}
#cpe-enquiry.cpe-form-wrap form > p > label {
  display: block;
  margin: 0 0 7px;
  color: #303030;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .01em;
}
#cpe-enquiry.cpe-form-wrap input:not([type='checkbox']):not([type='hidden']),
#cpe-enquiry.cpe-form-wrap select,
#cpe-enquiry.cpe-form-wrap textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 47px;
  margin: 0;
  padding: 11px 13px;
  border: 1px solid var(--cpe-border);
  border-radius: 4px;
  outline: 0;
  background: #fdfdfd;
  box-shadow: none;
  color: #222;
  font: inherit;
  font-size: 14px;
  line-height: 1.4;
  transition: border-color .17s ease, box-shadow .17s ease, background-color .17s ease;
}
#cpe-enquiry.cpe-form-wrap textarea { min-height: 110px; resize: vertical; }
#cpe-enquiry.cpe-form-wrap select { appearance: auto; }
#cpe-enquiry.cpe-form-wrap input:not([type='checkbox']):not([type='hidden']):focus,
#cpe-enquiry.cpe-form-wrap select:focus,
#cpe-enquiry.cpe-form-wrap textarea:focus {
  border-color: #df8215;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(249, 151, 36, .20);
}

/* Full-width terms acknowledgement, with a clearly visible native checkbox. */
#cpe-enquiry.cpe-form-wrap form > p.cpe-consent {
  grid-column: 1 / -1;
  margin-top: 7px !important;
  padding: 14px 15px;
  background: #faf8f4;
  border: 1px solid #eee8de;
  border-left: 3px solid var(--cpe-accent);
  border-radius: 4px;
}
#cpe-enquiry.cpe-form-wrap form > p.cpe-consent > label {
  position: relative;
  display: block;
  margin: 0;
  padding-left: 28px;
  color: #333;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  cursor: pointer;
}
#cpe-enquiry.cpe-form-wrap .cpe-consent input[type='checkbox'] {
  position: absolute;
  top: 1px;
  left: 0;
  width: 17px;
  height: 17px;
  margin: 0;
  padding: 0;
  accent-color: #cc750d;
}
#cpe-enquiry.cpe-form-wrap a {
  color: #a75a00;
  text-decoration: underline;
  text-underline-offset: 2px;
}
#cpe-enquiry.cpe-form-wrap a:hover { color: #171717; }

/* Override the purple WooCommerce/Elementor button styling, locally only. */
#cpe-enquiry.cpe-form-wrap form > button.button.alt,
#cpe-enquiry.cpe-form-wrap form > button[type='submit'] {
  grid-column: 1 / -1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 49px;
  margin: 1px 0 0;
  padding: 13px 20px;
  border: 1px solid var(--cpe-accent) !important;
  border-radius: 4px !important;
  background: var(--cpe-accent) !important;
  background-image: none !important;
  color: #101010 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2;
  letter-spacing: .075em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: none !important;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease !important;
}
#cpe-enquiry.cpe-form-wrap form > button[type='submit']::after {
  content: '\2192';
  font-size: 20px;
  line-height: .7;
  font-weight: 400;
}
#cpe-enquiry.cpe-form-wrap form > button[type='submit']:hover,
#cpe-enquiry.cpe-form-wrap form > button[type='submit']:focus-visible {
  background: #171717 !important;
  border-color: #171717 !important;
  color: #fff !important;
}
#cpe-enquiry.cpe-form-wrap form > button[type='submit']:focus-visible,
#cpe-enquiry.cpe-form-wrap .cpe-consent input:focus-visible {
  outline: 3px solid #f99724;
  outline-offset: 3px;
}
#cpe-enquiry.cpe-form-wrap .cpe-honey {
  position: absolute !important;
  left: -9999px !important;
  visibility: hidden !important;
}
#cpe-enquiry.cpe-form-wrap .cpe-error,
#cpe-enquiry.cpe-form-wrap .cpe-success {
  padding: 14px 16px;
  margin: 0 0 20px;
  border-radius: 4px;
  line-height: 1.5;
}
#cpe-enquiry.cpe-form-wrap .cpe-error { background: #fff0ee; color: #8c2424; }
#cpe-enquiry.cpe-form-wrap .cpe-success { background: #edf8ee; color: #20622e; }

/* Container queries protect the layout on narrow Elementor columns even when
   the browser itself is tablet-sized or desktop-sized. */
@container cpe-panel (max-width: 390px) {
  #cpe-enquiry.cpe-form-wrap form { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  #cpe-enquiry.cpe-form-wrap form > p:nth-of-type(n) { grid-column: 1 / -1; }
  #cpe-enquiry.cpe-form-wrap form > button { grid-column: 1 / -1; }
  #cpe-enquiry.cpe-form-wrap form::before { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  #cpe-enquiry.cpe-form-wrap { padding: 20px 16px; margin: 22px 0; }
  #cpe-enquiry.cpe-form-wrap > h2 { font-size: 23px; }
  #cpe-enquiry.cpe-form-wrap form { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  #cpe-enquiry.cpe-form-wrap form > p:nth-of-type(n) { grid-column: 1 / -1; }
  #cpe-enquiry.cpe-form-wrap form > button[type='submit'] { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  #cpe-enquiry.cpe-form-wrap input,
  #cpe-enquiry.cpe-form-wrap select,
  #cpe-enquiry.cpe-form-wrap textarea,
  #cpe-enquiry.cpe-form-wrap button { transition: none !important; }
}
