/* ============================================================
   Sand & Bronze — Contact page .jmsb-contact
   Hero + form card (WhatsApp submit) + details + Google map.
   ============================================================ */
.jmsb-contact{ background:var(--bg,#f3ede1); color:var(--ink,#2a2418); }
.jmsb-contact .wrap{ max-width:1160px; margin-inline:auto; padding-inline:clamp(16px,4vw,32px); }
.jmsb-contact .foil{ background:linear-gradient(90deg,var(--gold-deep,#78571f),var(--gold-2,#b28a49)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }

/* hero */
.jmsb-contact .ct-hero{ text-align:center; padding-block:clamp(40px,6vw,78px) clamp(26px,3vw,40px);
	background:radial-gradient(120% 140% at 50% 0%,var(--surface,#fffefb),var(--bg,#f3ede1) 72%); border-bottom:1px solid var(--line,#e7ddc9); }
.jmsb-contact .ct-crumbs{ font-family:var(--sans,'Rubik',sans-serif); font-size:.82rem; color:var(--ink-2,#6b6350); margin-bottom:14px; display:flex; gap:8px; justify-content:center; }
.jmsb-contact .ct-crumbs a{ color:var(--gold-deep,#78571f); text-decoration:none; }
.jmsb-contact .ct-hero .eyebrow{ font-family:var(--sans,'Rubik',sans-serif); font-weight:700; letter-spacing:.18em; text-transform:uppercase; font-size:.76rem; color:var(--gold-deep,#78571f); }
.jmsb-contact .ct-title{ font-family:var(--serif,'Frank Ruhl Libre',serif); font-weight:700; font-size:clamp(2rem,5vw,3.4rem); line-height:1.08; margin:.14em 0 0; }
.jmsb-contact .ct-sub{ max-width:640px; margin:16px auto 0; color:var(--ink-2,#6b6350); font-size:1.02rem; line-height:1.75; }

/* body grid */
.jmsb-contact .ct-body{ padding-block:clamp(36px,5vw,68px); }
.jmsb-contact .ct-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(20px,3vw,40px); align-items:start; }
@media(max-width:860px){ .jmsb-contact .ct-grid{ grid-template-columns:1fr; } }

/* form card */
.jmsb-contact .ct-form-card{ background:var(--surface,#fffefb); border:1px solid var(--line,#e7ddc9); border-radius:var(--r-lg,20px); padding:clamp(22px,3vw,36px); box-shadow:var(--shadow,0 24px 60px rgba(60,44,18,.12)); }
.jmsb-contact .ct-form-card h2{ font-family:var(--serif,'Frank Ruhl Libre',serif); font-size:clamp(1.5rem,3vw,2.1rem); margin:0 0 .1em; color:var(--ink,#2a2418); }
.jmsb-contact .ct-form-lead{ color:var(--ink-2,#6b6350); margin:0 0 20px; font-size:.98rem; }
.jmsb-contact .ct-field{ display:block; margin-bottom:16px; }
.jmsb-contact .ct-field > span{ display:block; font-family:var(--sans,'Rubik',sans-serif); font-weight:600; font-size:.86rem; color:var(--ink,#2a2418); margin-bottom:7px; }
.jmsb-contact .ct-field > span em{ color:var(--ink-2,#8a8069); font-weight:400; font-style:normal; }
.jmsb-contact .ct-form input,.jmsb-contact .ct-form textarea{ width:100%; box-sizing:border-box; background:var(--bg,#f7f2e8); border:1px solid var(--line,#e7ddc9); border-radius:12px; padding:13px 15px; font-family:var(--sans,'Rubik',sans-serif); font-size:1rem; color:var(--ink,#2a2418); transition:.2s; }
.jmsb-contact .ct-form input::placeholder,.jmsb-contact .ct-form textarea::placeholder{ color:#a79f8c; }
.jmsb-contact .ct-form input:focus,.jmsb-contact .ct-form textarea:focus{ outline:none; border-color:var(--gold,#9c7433); background:var(--surface,#fffefb); box-shadow:0 0 0 3px rgba(156,116,51,.12); }
.jmsb-contact .ct-form textarea{ resize:vertical; min-height:84px; }
.jmsb-contact .ct-submit{ width:100%; margin-top:4px; }
.jmsb-contact .ct-ic{ width:19px; height:19px; }
.jmsb-contact .ct-form-note{ text-align:center; font-size:.8rem; color:var(--ink-2,#8a8069); margin:12px 0 0; }

/* buttons */
.jmsb-contact .pdp-btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; border-radius:12px; padding:14px 24px; font-family:var(--sans,'Rubik',sans-serif); font-weight:600; text-decoration:none; cursor:pointer; border:1px solid transparent; transition:.2s; font-size:1rem; }
.jmsb-contact .pdp-btn-gold{ background:linear-gradient(135deg,var(--gold-2,#b28a49),var(--gold-deep,#78571f)); color:#fffdf7; box-shadow:0 8px 22px rgba(120,87,31,.28); }
.jmsb-contact .pdp-btn-gold:hover{ filter:brightness(1.07); transform:translateY(-1px); }

/* details list */
.jmsb-contact .ct-info-title{ font-family:var(--serif,'Frank Ruhl Libre',serif); font-size:clamp(1.4rem,2.6vw,1.9rem); margin:0 0 18px; }
.jmsb-contact .ct-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.jmsb-contact .ct-item{ display:flex; align-items:center; gap:15px; background:var(--surface,#fffefb); border:1px solid var(--line,#e7ddc9); border-radius:var(--r,16px); padding:15px 17px; text-decoration:none; color:var(--ink,#2a2418); transition:transform .22s var(--ease,ease),box-shadow .28s,border-color .25s; }
.jmsb-contact .ct-item:hover{ transform:translateY(-3px); border-color:var(--gold,#9c7433); box-shadow:0 16px 36px rgba(60,44,18,.12); }
.jmsb-contact .ct-item-ic{ flex:0 0 auto; width:46px; height:46px; display:grid; place-items:center; border-radius:12px; background:linear-gradient(135deg,rgba(178,138,73,.16),rgba(120,87,31,.1)); color:var(--gold-deep,#78571f); }
.jmsb-contact .ct-item-ic svg{ width:23px; height:23px; }
.jmsb-contact .ct-item-txt{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.jmsb-contact .ct-item-txt b{ font-family:var(--sans,'Rubik',sans-serif); font-size:.82rem; color:var(--gold-deep,#78571f); font-weight:700; letter-spacing:.02em; }
.jmsb-contact .ct-item-txt span{ font-size:1.02rem; color:var(--ink,#2a2418); overflow-wrap:anywhere; }

/* map */
.jmsb-contact .ct-map{ margin-top:clamp(10px,2vw,20px); }
.jmsb-contact .ct-map iframe{ display:block; width:100%; height:clamp(300px,42vw,460px); border:0; border-top:1px solid var(--line,#e7ddc9); filter:saturate(.9) contrast(1.02); }

/* success state after the email lead is sent */
.jmsb-contact .ct-form-ok{ display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; padding:34px 20px; }
.jmsb-contact .ct-form-ok::before{ content:"✓"; display:grid; place-items:center; width:54px; height:54px; border-radius:50%; background:var(--accent-soft,#f3ede1); color:var(--gold-deep,#78571f); font-size:1.7rem; font-weight:700; margin-bottom:8px; }
.jmsb-contact .ct-form-ok strong{ font-family:var(--serif,'Frank Ruhl Libre',serif); font-size:1.35rem; color:var(--gold-deep,#78571f); }
.jmsb-contact .ct-form-ok span{ color:var(--ink-2,#8a8069); font-size:.95rem; }
