/* Springsan Contact V1.1 — single unified layout: UEditor content + inquiry form.
   Scoped to body.spr-contact-page only. Shared Header/Footer unchanged.
   Do not load original page.css (its global body padding conflicts with sticky Header).
*/
.spr-site.spr-contact-page {
  --spr-contact-accent: var(--spr-primary, #42a5e4);
  --spr-contact-ink: #1b1e21;
  --spr-contact-muted: #696f75;
  --spr-contact-line: #e3e7ea;
  --spr-contact-pale: #f5f7f8;
  background: #fff;
  color: var(--spr-contact-ink);
}
.spr-contact-page #spr-main-content { min-width: 0; }
.spr-contact-page .spr-contact__banner { width: 100%; overflow: hidden; background: #ecedef; }
.spr-contact-page .spr-contact__banner img { display: block; width: 100%; height: auto; max-height: 420px; object-fit: cover; object-position: center; }
.spr-contact-page .spr-contact__container { padding-bottom: clamp(3.6rem,6vw,6.6rem); }
.spr-contact-page .spr-contact__breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:.85rem; padding:clamp(1.15rem,2.2vw,1.7rem) 0; margin:0 0 clamp(1.2rem,2.4vw,2rem); font-size:.84rem; line-height:1.5; color:#979ba0; }
.spr-contact-page .spr-contact__breadcrumb a { color:#616a73; text-decoration:none; }
.spr-contact-page .spr-contact__breadcrumb a:hover { color:var(--spr-contact-accent); }
/* Original CMS tabs remain directly above the paired content/form section. */
.spr-contact-page .spr-contact__tabs { display:flex; flex-wrap:wrap; gap:0; border-bottom:1px solid var(--spr-contact-line); margin:0 0 clamp(1.3rem,3vw,2.5rem); }
.spr-contact-page .spr-contact__tab { display:inline-flex; align-items:center; justify-content:center; padding:.75rem 1.25rem; min-height:3rem; margin-bottom:-1px; border:1px solid var(--spr-contact-line); color:#474c51; background:#fff; text-align:center; text-decoration:none; font:500 .86rem/1.45 var(--spr-font,'Poppins',Arial,sans-serif); transition:background .18s,color .18s; }
.spr-contact-page .spr-contact__tab + .spr-contact__tab { margin-left:-1px; }
.spr-contact-page .spr-contact__tab.is-current,.spr-contact-page .spr-contact__tab:hover { color:#fff; border-color:var(--spr-contact-accent); background:var(--spr-contact-accent); }
/* The unified panel uses the original Bootstrap 5 container and 5/7 columns.
   No additional arbitrary fixed widths are applied to .container. */
.spr-contact-page .spr-contact__panel { margin:0; border:1px solid var(--spr-contact-line); background:#fff; }
.spr-contact-page .spr-contact__info-column,.spr-contact-page .spr-contact__form-column { min-width:0; }
.spr-contact-page .spr-contact__info-column { background:var(--spr-contact-pale); border-right:1px solid var(--spr-contact-line); }
.spr-contact-page .spr-contact__content,.spr-contact-page .spr-contact__inquiry { padding:clamp(1.5rem,3.4vw,3.35rem); height:100%; }
.spr-contact-page .spr-contact__eyebrow { display:block; margin:0 0 .95rem; color:var(--spr-contact-accent); font:600 .72rem/1.6 var(--spr-font,'Poppins',Arial,sans-serif); letter-spacing:.14em; }
.spr-contact-page .spr-contact__info-heading,.spr-contact-page .spr-contact__heading { margin:0; color:var(--spr-contact-ink); font:600 clamp(1.5rem,2.3vw,2.1rem)/1.28 var(--spr-font,'Poppins',Arial,sans-serif); letter-spacing:-.02em; }
.spr-contact-page .spr-contact__content .spr-contact__info-heading { margin-bottom:1.7rem; }
.spr-contact-page .spr-contact__intro { color:#737981; margin:.65rem 0 2rem; font:400 .89rem/1.75 var(--spr-font,'Poppins',Arial,sans-serif); }
/* UEditor content is intentionally emitted as the same unmodified $content.
   Its four plain text contact entries become a tidy stack, without extracting
   or retyping phone/email/address from the CMS. */
.spr-contact-page .spr-contact__richtext { min-width:0; overflow-wrap:anywhere; font:400 .91rem/1.85 var(--spr-font,'Poppins',Arial,sans-serif); color:#444c54; }
.spr-contact-page .spr-contact__richtext p { position:relative; margin:0; padding:1rem 0 1rem 1.2rem; border-bottom:1px solid #dce2e6; font:inherit!important; color:inherit!important; }
.spr-contact-page .spr-contact__richtext p:first-child { border-top:1px solid #dce2e6; }
.spr-contact-page .spr-contact__richtext p:empty,
.spr-contact-page .spr-contact__richtext p:has(> br:only-child) { display:none; }
.spr-contact-page .spr-contact__richtext p::before { content:""; position:absolute; left:0; top:1.72rem; width:.35rem; height:.35rem; border-radius:50%; background:var(--spr-contact-accent); }
/* UEditor often saves inline font-family, color and size per span. Keep HTML,
   links and line breaks, but bring ordinary contact paragraphs into one scale. */
.spr-contact-page .spr-contact__richtext p :is(span,strong,b,em,i,font) { font-family:inherit!important; font-size:inherit!important; line-height:inherit!important; }
.spr-contact-page .spr-contact__richtext :is(h1,h2,h3,h4) { color:#24282d; font-weight:600; line-height:1.4; margin:1.25rem 0 .6rem; }
.spr-contact-page .spr-contact__richtext :is(img,video) { max-width:100%; height:auto; }
.spr-contact-page .spr-contact__richtext iframe { max-width:100%; }
.spr-contact-page .spr-contact__richtext table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; }
.spr-contact-page .spr-contact__richtext :is(td,th) { padding:.6rem; border:1px solid #dfe3e7; }
.spr-contact-page .spr-contact__richtext :is(ul,ol) { padding-left:1.4rem; margin:1rem 0; }
.spr-contact-page .spr-contact__richtext a { color:var(--spr-contact-accent); text-decoration:underline; text-underline-offset:3px; }
.spr-contact-page .spr-contact__empty { color:#777; font-size:.9rem; }
/* Right form matches same unified panel instead of a separate lower grey card. */
.spr-contact-page .spr-contact__field { margin:0; }
.spr-contact-page .spr-contact__field label { display:block; margin:0 0 .5rem; font:500 .82rem/1.5 var(--spr-font,'Poppins',Arial,sans-serif); color:#373c42; }
.spr-contact-page .spr-contact__field label span { color:#bd4848; }
.spr-contact-page .spr-contact__control { display:block; width:100%; border:1px solid #dadee3; border-radius:3px; background:#fafbfc; min-height:3.15rem; padding:.74rem .9rem; font:400 .86rem/1.55 var(--spr-font,'Poppins',Arial,sans-serif); color:#23272d; box-shadow:none; transition:border-color .18s,background .18s; }
.spr-contact-page .spr-contact__control:focus { background:#fff; border-color:var(--spr-contact-accent); box-shadow:0 0 0 2px rgba(66,165,228,.13); }
.spr-contact-page .spr-contact__control::placeholder { color:#a1a5aa; }
.spr-contact-page .spr-contact__textarea { min-height:9.6rem; resize:vertical; }
.spr-contact-page .spr-contact__hint { margin:.5rem 0 0; color:#89909a; font:400 .72rem/1.5 var(--spr-font,'Poppins',Arial,sans-serif); }
.spr-contact-page .spr-contact__feedback { margin:0 0 .8rem; color:#b54844; font:.81rem/1.55 var(--spr-font,'Poppins',Arial,sans-serif); }
.spr-contact-page .spr-contact__feedback:empty { display:none; }
.spr-contact-page .spr-contact__actions { display:flex; justify-content:flex-start; }
.spr-contact-page .spr-contact__submit { display:inline-flex; align-items:center; justify-content:space-between; min-height:3.15rem; min-width:12.5rem; gap:2rem; padding:.75rem 1.25rem; border:1px solid #151719; border-radius:3px; background:#151719; color:#fff; font:600 .8rem/1.45 var(--spr-font,'Poppins',Arial,sans-serif); cursor:pointer; transition:background .2s,border-color .2s; }
.spr-contact-page .spr-contact__submit:hover,.spr-contact-page .spr-contact__submit:focus-visible { border-color:var(--spr-contact-accent); background:var(--spr-contact-accent); }
.spr-contact-page .spr-contact__submit:disabled { opacity:.6; cursor:wait; }
@media(max-width:991.98px) {
  .spr-contact-page .spr-contact__info-column { border-right:0; border-bottom:1px solid var(--spr-contact-line); }
  .spr-contact-page .spr-contact__content,.spr-contact-page .spr-contact__inquiry { padding:clamp(1.35rem,4vw,2.35rem); }
  .spr-contact-page .spr-contact__richtext p { padding-top:.82rem; padding-bottom:.82rem; }
  .spr-contact-page .spr-contact__richtext p::before { top:1.55rem; }
}
@media(max-width:575.98px) {
  .spr-contact-page .spr-contact__banner img { max-height:210px; }
  .spr-contact-page .spr-contact__breadcrumb { margin-bottom:1rem; font-size:.78rem; }
  .spr-contact-page .spr-contact__tabs { gap:.3rem; }
  .spr-contact-page .spr-contact__tab,.spr-contact-page .spr-contact__tab + .spr-contact__tab { flex:1 1 calc(50% - .3rem); margin:0; }
  .spr-contact-page .spr-contact__content,.spr-contact-page .spr-contact__inquiry { padding:1.5rem 1.15rem; }
  .spr-contact-page .spr-contact__richtext { font-size:.86rem; }
  .spr-contact-page .spr-contact__intro { margin-bottom:1.45rem; }
  .spr-contact-page .spr-contact__submit { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
  .spr-contact-page .spr-contact__control,.spr-contact-page .spr-contact__submit,.spr-contact-page .spr-contact__tab { transition:none; }
}
