/* =========================================================================
   contact.css — Contact page (#23). Loaded globally; scoped under .ct-* /
   .contactline / .cform (Contact Form 7) blocks.
   ========================================================================= */
.ct-hero .row,.ct-body .row,.ct-hours .row{max-width:var(--container);padding-left:var(--gutter);padding-right:var(--gutter);width:100%}
.ct-hero .col,.ct-body .col,.ct-hours .col{padding:0}
.ct-hero .col-inner,.ct-body .col-inner,.ct-hours .col-inner{margin:0}

/* Hero (dark) */
.ct-hero{background:var(--c-ink);color:var(--c-on-dark)}
.ct-hero .row{padding-top:60px;padding-bottom:64px}
.ct-hero__crumbs{font-size:13px;color:var(--c-muted);margin-bottom:22px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ct-hero__crumbs a{color:var(--c-muted);text-decoration:none}
.ct-hero__crumbs a:hover{color:var(--c-terra)}
.ct-hero__crumbs .is-current{color:var(--c-terra)}
.ct-hero__title{font-family:var(--f-serif);font-size:46px;font-weight:600;line-height:1.12;letter-spacing:-.01em;color:var(--c-on-dark-strong);margin:0 0 16px;text-wrap:balance}
.ct-hero__lead{font-size:17.5px;line-height:1.7;color:var(--c-on-dark-soft);max-width:620px;margin:0}

/* Body 2-col */
.ct-body{background:var(--c-cream)}
.ct-body .row{padding-top:74px;padding-bottom:74px}
.ct-body__row{display:grid !important;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.ct-body__row > .col{width:auto;max-width:none;flex:none;min-width:0}
.ct-details__title{font-family:var(--f-serif);font-size:28px;font-weight:600;margin:0 0 20px;color:var(--c-ink-2);letter-spacing:-.01em}

/* Contact lines (also used in footer) */
.contactline{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--c-hairline)}
.contactline:last-of-type{border-bottom:0}
.contactline__icon{width:46px;height:46px;border-radius:50%;border:1px solid #cdbfa6;display:flex;align-items:center;justify-content:center;color:var(--c-brown);flex:none}
.contactline__svg{width:19px;height:19px}
.contactline__body{display:flex;flex-direction:column;gap:2px}
.contactline__label{font-size:11.5px;color:var(--c-muted-2);text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.contactline__value{font-family:var(--f-serif);font-size:18.5px;color:var(--c-ink-2);font-weight:600}
.contactline__link{color:var(--c-ink-2);text-decoration:none}
.contactline__link:hover{color:var(--c-brown)}

/* Map placeholder */
.ct-map{margin-top:30px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--c-cream-line);background:repeating-linear-gradient(45deg,#ece4d2,#ece4d2 12px,#e6dcc7 12px,#e6dcc7 24px);height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}
.ct-map__pin{width:18px;height:18px;background:var(--c-brown);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.ct-map__addr{font-family:var(--f-serif);font-size:17px;color:#8a7158;margin-top:6px}
.ct-map__note{font-size:12px;color:#a8997e;letter-spacing:.04em}

/* Form card + Contact Form 7 */
.ct-formcard{background:var(--c-white);border:1px solid var(--c-card-line);border-radius:var(--radius);padding:36px;box-shadow:0 16px 40px rgba(36,31,26,.08)}
.ct-formcard__title{font-family:var(--f-serif);font-size:24px;font-weight:600;margin:0 0 4px;color:var(--c-ink-2)}
.cform{display:flex;flex-direction:column;gap:18px}
.cform__row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cform__field{display:flex;flex-direction:column;gap:6px}
.cform__label{font-size:13px;font-weight:600;color:#3a332c}
.cform input[type=text],.cform input[type=tel],.cform input[type=email],.cform select,.cform textarea{width:100%;padding:12px 13px;border:1px solid #d8cdb8;border-radius:2px;font-family:inherit;font-size:14px;background:#fdfbf7;color:var(--c-ink-2)}
/* override Flatsome's fixed select height so the label isn't vertically clipped */
.cform select{height:auto;min-height:46px;line-height:1.4;margin:0}
.cform textarea{resize:vertical}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--c-brown)}
.cform__accept{font-size:12.5px;color:#6b6256;line-height:1.5}
.cform__accept .wpcf7-list-item{margin:0;display:flex;align-items:flex-start;gap:10px}
.cform .btn{border:none;cursor:pointer;width:100%;justify-content:center}
.cform .wpcf7-spinner{margin:0 0 0 8px}
.cform__note{font-size:12.5px;color:var(--c-muted-2);text-align:center;margin:2px 0 0;line-height:1.5}
.cform__note a{color:var(--c-brown);font-weight:600;text-decoration:none}
.cform .wpcf7-response-output{border-radius:2px;font-size:13.5px;margin:6px 0 0;padding:10px 14px}
.cform .wpcf7-not-valid-tip{font-size:12px;color:#c0392b}

/* Hours band */
.ct-hours{background:var(--c-cream-soft);border-top:1px solid var(--c-cream-line)}
.ct-hours .row{padding-top:44px;padding-bottom:44px}
.ct-hours__inner{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.ct-hours__left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ct-hours__title{font-family:var(--f-serif);font-size:20px;font-weight:600;color:var(--c-ink-2)}
.ct-hours__sep{width:1px;height:28px;background:#d8cdb8}
.ct-hours__text{font-size:15.5px;color:var(--c-body)}
.ct-hours__phone{font-family:var(--f-serif);font-size:20px;color:var(--c-brown);text-decoration:none;font-weight:600}
.ct-hours__phone:hover{color:var(--c-brown-dark)}

@media (max-width:849px){
  .ct-body__row{grid-template-columns:1fr;gap:40px}
  .cform__row2{grid-template-columns:1fr}
  .ct-hero__title{font-size:34px}
}
