/* =========================================================
   CONTACT PAGE — matches the Desh Capital home page design
   system (theme.css / .dc-scope tokens).
   ========================================================= */

.dc-contact-hero{background:var(--dc-bg);position:relative;overflow:hidden}

/* subtle roofline texture, echoes the pattern used site-wide */
.dc-contact-hero::before{
  content:"";
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    repeating-linear-gradient(65deg,var(--dc-border) 0 1px,transparent 1px 46px),
    repeating-linear-gradient(-65deg,var(--dc-border) 0 1px,transparent 1px 46px);
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);
  mask-image:linear-gradient(180deg,#000,transparent 70%);
  opacity:.6;
}
:root[data-theme="dark"] .dc-contact-hero::before{opacity:.32}
.dc-contact-hero .dc-container{position:relative;z-index:1}

/* quick-info cards row */
.dc-contact-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:64px}
.dc-contact-info-card{
  background:var(--dc-bg-card);border:1px solid var(--dc-border);border-radius:var(--dc-r-lg);
  padding:28px 24px;text-align:center;transition:all .25s var(--dc-ease);
}
.dc-contact-info-card:hover{border-color:var(--dc-border-md);box-shadow:var(--dc-sh-md);transform:translateY(-3px)}
.dc-contact-info-card .dc-icon-badge{margin:0 auto 16px}
.dc-contact-info-title{font-weight:700;font-size:.95rem;color:var(--dc-txt);margin-bottom:6px}
.dc-contact-info-text{font-size:.85rem;color:var(--dc-txt-2);line-height:1.6}
.dc-contact-info-text a{color:var(--dc-txt-2);transition:color .15s}
.dc-contact-info-text a:hover{color:var(--dc-green)}
:root[data-theme="dark"] .dc-contact-info-text a:hover{color:var(--dc-mint)}

/* form + side panel */
.dc-contact-wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:stretch}

.dc-contact-form-card{
  background:var(--dc-bg-card);border:1px solid var(--dc-border);border-radius:var(--dc-r-xl);
  box-shadow:var(--dc-sh-md);padding:44px;
}
.dc-contact-form-title{font-family:var(--dc-font-h);font-size:1.6rem;font-weight:700;color:var(--dc-txt);margin-bottom:6px}
.dc-contact-form-sub{font-size:.9rem;color:var(--dc-txt-3);margin-bottom:28px}

/* side panel: office card + hours, echoes .dc-why-feature gradient panel */
.dc-contact-side{position:relative;overflow:hidden;border-radius:var(--dc-r-xl);background:linear-gradient(160deg,var(--dc-forest),var(--dc-deep));box-shadow:var(--dc-sh-lg);display:flex}
.dc-contact-side-pattern{position:absolute;inset:0;opacity:.5;
  background-image:repeating-linear-gradient(65deg,rgba(255,255,255,.08) 0 1px,transparent 1px 34px),repeating-linear-gradient(-65deg,rgba(255,255,255,.08) 0 1px,transparent 1px 34px);
  -webkit-mask-image:radial-gradient(circle at 30% 20%,#000,transparent 70%);
  mask-image:radial-gradient(circle at 30% 20%,#000,transparent 70%)}
.dc-contact-side-inner{position:relative;z-index:1;padding:44px 36px;display:flex;flex-direction:column;gap:22px;width:100%}
.dc-contact-side-title{font-family:var(--dc-font-h);font-size:1.5rem;font-weight:700;color:#fff}
.dc-contact-side-sub{font-size:.88rem;color:rgba(255,255,255,.7);line-height:1.7}
.dc-contact-side-item{display:flex;align-items:flex-start;gap:14px}
.dc-contact-side-item-text{font-size:.86rem;color:rgba(255,255,255,.85);line-height:1.6}
.dc-contact-side-item-label{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:3px}
.dc-contact-side-hours{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;display:flex;flex-direction:column;gap:8px}
.dc-contact-side-hours-row{display:flex;justify-content:space-between;font-size:.84rem;color:rgba(255,255,255,.8)}
.dc-contact-side-hours-row span:last-child{color:#fff;font-weight:600}
.dc-contact-side-social{display:flex;gap:10px;margin-top:auto}
.dc-contact-side-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff;transition:all .2s}
.dc-contact-side-social a:hover{background:var(--dc-mint);border-color:var(--dc-mint)}

@media(max-width:1100px){
  .dc-contact-info-grid{grid-template-columns:1fr 1fr}
  .dc-contact-wrap{grid-template-columns:1fr}
}
@media(max-width:640px){
  .dc-contact-info-grid{grid-template-columns:1fr}
  .dc-contact-form-card{padding:28px 22px}
  .dc-contact-side-inner{padding:32px 24px}
}
