/* ============================================================================
   Contact + map section (.sec3 / toma_sec_3) — the "Warm refined" 2-column grid.
   Extracted from page-home-polish.css 2026-06-29 and de-scoped from body.home to
   body.jt-sec3 so it applies on EVERY page that renders the pink sec3 (above_footer
   = pink), not just the homepage. Enqueued + body class added in functions.php.
   ============================================================================ */

/* ============================================================================
   2026-06-28 (/impeccable redesign — "Warm refined"): the contact + map section
   was a cramped legacy 3-column float layout (address | form | map). Rebuilt as a
   2-column editorial grid — contact content + form on the warm-blush left, framed
   map on the right. Grounded in DESIGN.md: Butler headline, Roobert labels, 1px
   rules, square underline inputs, clinical-teal pill CTA, flat. Also resolves the
   prior defects: map hidden at 768-1023px, placeholder-only form a11y, and the
   wide-screen thin-sliver. Map caption link + aria-label come from
   functions.php toma_sec_3(). */

/* the legacy .cfix and .f-row clearfix ::before/::after become phantom grid items
   and break the 2-column placement (section grid + the email/WhatsApp form row) —
   neutralize them inside this section. */
body.jt-sec3 .sec3 .cfix::before,
body.jt-sec3 .sec3 .cfix::after,
body.jt-sec3 .sec3 .wpcf7-form .f-row::before,
body.jt-sec3 .sec3 .wpcf7-form .f-row::after{ content:none; display:none; }

body.jt-sec3 .sec3{
	overflow:hidden;
	background:#f8dbd3;                     /* warm blush */
}

body.jt-sec3 .sec3 .sec3-in{
	display:grid;
	grid-template-columns:minmax(0,1.02fr) minmax(0,0.98fr);
	gap:0;
	max-width:1340px;
	min-height:clamp(560px,54vw,648px);
	margin:0 auto;
	align-items:stretch;
}

/* ---- left column: contact content + form ---- */
body.jt-sec3 .sec3 .sec3-left{
	width:auto; float:none;
	box-sizing:border-box;
	padding:clamp(52px,5.2vw,82px) clamp(34px,4vw,62px);
	display:flex; flex-direction:column; justify-content:center;
}
body.jt-sec3 .sec3 .sec3-top{ margin:0 0 clamp(20px,2.6vw,30px); }
body.jt-sec3 .sec3 .sec3-tag{
	font-family:Roobert,"Helvetica Neue",Arial,sans-serif;
	font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
	color:#075e54; margin:0 0 14px;
}
body.jt-sec3 .sec3 .sec3-top h3{
	font-family:Butler,Georgia,serif; font-weight:300;
	font-size:clamp(38px,4vw,56px); line-height:1; letter-spacing:0;
	color:#1f1f21; margin:0;
}
body.jt-sec3 .sec3 .sec3-left-in{ display:block; float:none; }
body.jt-sec3 .sec3 .sec31,
body.jt-sec3 .sec3 .sec32{ width:auto; float:none; max-width:none; margin:0; }

/* address ledger */
body.jt-sec3 .sec3 .sec31{
	padding-top:clamp(18px,2.4vw,26px);
	margin-top:clamp(18px,2.4vw,26px);
	border-top:1px solid #c7bdb5;
}
body.jt-sec3 .sec3 .sec31 p{
	font-family:Roobert,"Helvetica Neue",Arial,sans-serif;
	font-size:15px; line-height:1.5; color:#635b53; margin:0 0 12px; max-width:44ch;
}
body.jt-sec3 .sec3 .sec31 .pink-ul{ margin:0; padding:0; list-style:none; }
body.jt-sec3 .sec3 .sec31 .pink-ul li{ font-size:16px; }
body.jt-sec3 .sec3 .sec31 .pink-ul li:before{ color:#075e54; margin-right:8px; }
body.jt-sec3 .sec3 .sec31 .pink-ul li a{
	color:#1f1f21; font-weight:500; text-decoration:none;
	border-bottom:1px solid #c7bdb5; padding-bottom:2px;
}
body.jt-sec3 .sec3 .sec31 .pink-ul li a:hover{ border-bottom-color:#1f1f21; }

/* form */
body.jt-sec3 .sec3 .sec32{ margin-top:clamp(28px,3.2vw,40px); }
body.jt-sec3 .sec3 .wpcf7-form .f-row{ margin-bottom:16px; }
body.jt-sec3 .sec3 .wpcf7-form .f-row:has(.f-col){
	display:grid; grid-template-columns:1fr 1fr; gap:18px;
}
body.jt-sec3 .sec3 .wpcf7-form .f-col{ width:auto; float:none; }
body.jt-sec3 .sec3 .wpcf7-form p{ margin:0; }
body.jt-sec3 .sec3 .wpcf7-form input[type=text],
body.jt-sec3 .sec3 .wpcf7-form input[type=email],
body.jt-sec3 .sec3 .wpcf7-form input[type=tel],
body.jt-sec3 .sec3 .wpcf7-form textarea{
	box-sizing:border-box; width:100%;
	background:transparent; border:0; border-bottom:1px solid #c7bdb5; border-radius:0;
	padding:13px 2px; min-height:48px;
	font-family:Roobert,"Helvetica Neue",Arial,sans-serif; font-size:15px; color:#1f1f21;
	transition:border-color .25s ease;
}
body.jt-sec3 .sec3 .wpcf7-form input::placeholder,
body.jt-sec3 .sec3 .wpcf7-form textarea::placeholder{ color:#635b53; opacity:1; }
body.jt-sec3 .sec3 .wpcf7-form input:focus,
body.jt-sec3 .sec3 .wpcf7-form textarea:focus{
	outline:none; border-bottom-color:#1f1f21; box-shadow:0 1px 0 0 #1f1f21;
}
body.jt-sec3 .sec3 .wpcf7-form textarea{ resize:none; min-height:84px; }
body.jt-sec3 .sec3 .f-sub{ margin-top:clamp(24px,2.8vw,36px); }
body.jt-sec3 .sec3 .wpcf7-form input[type=submit]{
	-webkit-appearance:none; appearance:none;
	background:#075e54; color:#f1ece7; border:0; border-radius:999px;
	padding:15px 42px; min-height:50px; cursor:pointer;
	font-family:Roobert,"Helvetica Neue",Arial,sans-serif; font-size:13px; font-weight:700;
	letter-spacing:.1em; text-transform:uppercase;
	transition:background .25s ease;
}
body.jt-sec3 .sec3 .wpcf7-form input[type=submit]:hover{ background:#064d45; }
body.jt-sec3 .sec3 .wpcf7-form input[type=submit]:focus-visible{ outline:2px solid #1f1f21; outline-offset:3px; }
body.jt-sec3 .sec3 .captchat,
body.jt-sec3 .sec3 .captchat p{ font-size:12px; /* 2026-09-13: legibility floor */ color:#635b53; line-height:1.45; margin-top:14px; }
body.jt-sec3 .sec3 .captchat a{ color:#635b53; }

/* ---- right column: framed map + caption ---- */
body.jt-sec3 .sec3 .sec3-right{
	width:auto; float:none; margin:0; display:block; position:relative;
}
body.jt-sec3 .sec33{
	width:100%; height:100%; min-height:100%;
	background-size:cover; background-position:50% 48%;
	outline:1px solid #c7bdb5; outline-offset:-1px;
}
body.jt-sec3 .sec3 .jt-map-cap{
	position:absolute; left:0; bottom:0; z-index:2;
	display:inline-flex; align-items:baseline; gap:10px;
	padding:13px 18px;
	background:rgba(31,31,33,.86); color:#f1ece7;
	font-family:Roobert,"Helvetica Neue",Arial,sans-serif;
	font-size:13px; font-weight:600; letter-spacing:.02em; text-decoration:none;
}
body.jt-sec3 .sec3 .jt-map-cap__place{
	font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#e9b9ad;
}
body.jt-sec3 .sec3 .jt-map-cap__go{ border-bottom:1px solid rgba(241,236,231,.5); padding-bottom:1px; }
body.jt-sec3 .sec3 .jt-map-cap:hover .jt-map-cap__go{ border-bottom-color:#f1ece7; }
body.jt-sec3 .sec3 .jt-map-cap:focus-visible{ outline:2px solid #f1ece7; outline-offset:-4px; }

/* ---- responsive: stack to one column under 860px ---- */
@media only screen and (max-width:859px){
	body.jt-sec3 .sec3 .sec3-in{ grid-template-columns:1fr; min-height:0; }
	body.jt-sec3 .sec3 .sec3-left{ padding:clamp(44px,9vw,60px) clamp(22px,6vw,40px); }
	body.jt-sec3 .sec3 .sec3-right{ display:block; min-height:clamp(300px,62vw,380px); }
	body.jt-sec3 .sec33{ min-height:clamp(300px,62vw,380px); }
}
@media only screen and (max-width:479px){
	body.jt-sec3 .sec3 .wpcf7-form .f-row:has(.f-col){ grid-template-columns:1fr; gap:14px; }
}
