/* Bordes completos, limitados al formulario de contacto. */
#contact-form .form-control,
#contact-form .form-select {
  box-sizing:border-box;
  min-height:52px;
  padding:12px 14px;
  border:1px solid #a99b8e;
  border-radius:0;
  background-color:#faf6f0;
  color:#2b231e;
  font-size:16px;
  line-height:1.5;
  box-shadow:none;
}
#contact-form .form-select {padding-right:42px}
#contact-form textarea.form-control {min-height:150px;resize:vertical}
#contact-form .form-control:focus,
#contact-form .form-select:focus {background-color:#faf6f0!important;border-color:#796454;box-shadow:none}
#contact-form .form-control:focus-visible,
#contact-form .form-select:focus-visible {outline:2px solid #796454;outline-offset:3px}
#contact-form .form-control[aria-invalid="true"],
#contact-form .form-select[aria-invalid="true"] {border-color:#b83232!important;outline-color:#b83232;box-shadow:none!important}
#contact-form .form-control[aria-invalid="true"] {background-color:#fff0ee!important}

/* Página independiente: introducción y formulario en dos bloques verticales. */
body.contact-page{background:#f4eee7}
body.contact-page .site-header,body.contact-page .site-header.scrolled{background:#f7f3ee;box-shadow:0 1px 0 #ded4c9;backdrop-filter:none}
body.contact-page .site-header .nav-menu a,body.contact-page .site-header .brand-text,body.contact-page .site-header .nav-account,body.contact-page .site-header .nav-cart{color:#3e3732}
body.contact-page .site-header .menu-toggle span{background:#625950}
body.contact-page .site-header [aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
body.contact-page .contact-page-section{padding:146px 0 80px;background:#f4eee7;color:#3e3732}
body.contact-page .contact-page-stack{display:flex;flex-direction:column;gap:52px;max-width:1040px;margin:0 auto}
body.contact-page .contact-page-intro{text-align:center;min-width:0}
body.contact-page .contact-copy h1{max-width:900px;margin:0 auto 24px;font-family:var(--serif,"Cormorant Garamond",serif);font-size:clamp(38px,4.5vw,64px);line-height:1.08;letter-spacing:-.025em;overflow-wrap:break-word}
body.contact-page .contact-copy>p:not(.eyebrow):not(.contact-note){max-width:740px;margin:0 auto 28px;color:#62574e;font-size:16px;line-height:1.8}
body.contact-page .contact-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:920px;margin:32px auto 20px;border:0}
body.contact-page .contact-links a{display:flex;flex-direction:column;gap:10px;padding:20px 8px;border-top:1px solid #d2c5b7;color:#3e3732;min-width:0;overflow-wrap:anywhere}
body.contact-page .contact-links span{color:#756252}
body.contact-page .contact-links strong{font-size:20px;color:#3e3732}
body.contact-page .contact-note{color:#74675c;font-size:13px;line-height:1.7}
body.contact-page .contact-page-form-section{width:100%;max-width:820px;margin:0 auto}
body.contact-page .contact-page-form-section h2{text-align:center;font-size:clamp(30px,3vw,42px);line-height:1.15;margin-bottom:24px}
body.contact-page .contact-form{background:#fffcf7;border:1px solid #ded4c9;border-radius:10px;box-shadow:none;padding:clamp(22px,4vw,44px)}
body.contact-page .contact-form label{font-size:12px;letter-spacing:.06em}
@media(max-width:767px){body.contact-page .contact-page-section{padding:calc(110px + env(safe-area-inset-top,0px)) 0 48px}body.contact-page .contact-page-stack{gap:36px}body.contact-page .contact-links{grid-template-columns:1fr;gap:0;margin-top:24px}body.contact-page .contact-links a{padding:16px 0}body.contact-page .contact-form button{width:100%}}
