/* JCTB fixes: loaded after the theme stylesheets so they take precedence */

/* Desktop dropdown (Gallery): solid header colours so items are readable over the banner */
@media only screen and (min-width: 1024px) {
  ul#mainnav li ul { background: #e0a53d; box-shadow: 0 6px 14px rgba(0, 0, 0, .18); }
  ul#mainnav li ul li a, ul#mainnav li ul li a:visited { color: #462b29 !important; background: #e0a53d; }
  ul#mainnav li ul li a:hover, ul#mainnav li ul li.current-menu-item > a { color: #fff !important; background: #462b29 !important; }
  ul#mainnav li ul li + li { border-top: 1px solid rgba(70, 43, 41, .15); }
}

/* ---- Readability: theme used Open Sans 300 in light grey, justified ---- */
body, #wrapper { font-weight: 400; color: #4a4a4a; }
#wrapper .wpb_text_column, #wrapper .wpb_wrapper, #wrapper p, #wrapper li { font-weight: 400; }
#wrapper p, .wpb_text_column, .wpb_text_column p { color: #4a4a4a; }
.wpcf7 p, .wpcf7 label, #wrapper .wpcf7 p { text-align: left !important; }
.wpcf7 label { color: #444; font-weight: 600; font-size: 14px; }
@media (max-width: 767px) {
  #wrapper p, #wrapper .wpb_text_column, #wrapper .wpb_wrapper { text-align: left !important; }
  body { font-size: 16px; line-height: 26px; }
}

/* ---- Form fields and buttons ---- */
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel], .wpcf7 textarea {
  width: 100%; box-sizing: border-box; border: 1px solid #ddd; padding: 10px 12px; font: 15px "Open Sans", Arial, sans-serif; color: #333; margin-top: 6px; border-radius: 2px; transition: border-color .2s;
}
.wpcf7 input[type=text]:focus, .wpcf7 input[type=email]:focus, .wpcf7 textarea:focus { border-color: #e0a53d; outline: none; }
.wpcf7 input[type=file] { margin-top: 8px; font-size: 14px; }
.wpcf7 .wpcf7-submit, .wpcf7 input[type=submit] {
  float: none !important; display: inline-block; margin: 6px 0 30px; padding: 12px 36px; border: 0; border-radius: 2px;
  background: #462b29 !important; color: #fff !important; font: 600 14px "Open Sans", Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase;
  cursor: pointer; box-shadow: none; transition: background .2s, color .2s; width: auto; height: auto;
}
.wpcf7 .wpcf7-submit:hover { background: #e0a53d !important; color: #462b29 !important; }
.wpcf7 .wpcf7-submit:disabled { opacity: .6; cursor: wait; }
@media (max-width: 767px) { .wpcf7 .wpcf7-submit { width: 100% !important; } }

/* ---- Response messages ---- */
.wpcf7-response-output { float: none !important; clear: both; margin: 0 0 24px !important; padding: 12px 16px !important; border: 0 !important; border-left: 4px solid #dc3232 !important; background: #fdf0f0 !important; color: #8a1f1f !important; line-height: 1.5; font-size: 14px; }
.wpcf7-response-output.is-ok { border-left-color: #46b450 !important; background: #effaf1 !important; color: #22622d !important; }

/* ---- Thank-you popup after a successful submission ---- */
.jctb-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 20px;
  background: rgba(30, 18, 16, .72); opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
.jctb-modal.open { opacity: 1; visibility: visible; }
.jctb-modal .box { background: #fff; max-width: 440px; width: 100%; text-align: center; border-top: 5px solid #e0a53d; box-shadow: 0 20px 60px rgba(0,0,0,.35);
  padding: 38px 30px 30px; transform: translateY(16px) scale(.97); transition: transform .3s; font-family: "Open Sans", Arial, sans-serif; }
.jctb-modal.open .box { transform: none; }
.jctb-modal .tick { width: 74px; height: 74px; margin: 0 auto 18px; border-radius: 50%; background: #e0a53d; display: grid; place-items: center; box-shadow: 0 0 0 8px rgba(224,165,61,.18); }
.jctb-modal .tick::after { content: ""; width: 18px; height: 32px; border: solid #462b29; border-width: 0 5px 5px 0; transform: translateY(-4px) rotate(45deg); }
.jctb-modal h3 { margin: 0 0 8px; font-size: 26px; font-weight: 600; color: #462b29; text-transform: uppercase; letter-spacing: .02em; }
.jctb-modal p { margin: 0 0 6px; color: #555; font-size: 15px; line-height: 1.6; text-align: center !important; }
.jctb-modal .ref { font-size: 13px; color: #999; }
.jctb-modal button { margin-top: 20px; padding: 11px 34px; border: 0; background: #462b29; color: #fff; font: 600 13px "Open Sans", Arial, sans-serif;
  text-transform: uppercase; letter-spacing: .06em; cursor: pointer; border-radius: 2px; }
.jctb-modal button:hover { background: #e0a53d; color: #462b29; }
@media (hover: none) { .wpcf7 .wpcf7-submit:hover { background: #462b29 !important; color: #fff !important; } }

/* Dark sections keep light text (the darker paragraph colour is for white backgrounds only) */
#featfold, #featfold p, #featfold .wpb_text_column, #featfold .wpb_wrapper { color: rgba(255, 255, 255, .92) !important; }
#featfold .feathead { line-height: 1.25 !important; margin-bottom: 14px; }
.booksearchform, .booksearchform label, .site-footer, #footer, #footer p { color: inherit; }
