/* ============================================================
   CONTACT PAGE
   ============================================================ */

body.page-template-page-contact-php .site-header { background-color:var(--color-background-alt) !important; }

body.page-template-page-contact-php .main-navigation,
body.page-template-page-contact-php .main-navigation ul ul { background-color:var(--color-background-alt) !important; }
body.page-template-page-contact-php .main-navigation .main-nav ul li a { color:var(--color-primary) !important; }
body.page-template-page-contact-php .main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a { color:var(--color-accent) !important; }
body.page-template-page-contact-php .main-navigation .main-nav ul li[class*="current-menu-"] > a { color:var(--color-accent) !important; }
body.page-template-page-contact-php .site-content { max-width:none; display:block !important; padding:0 !important; }
body.page-template-page-contact-php.separate-containers .inside-article { background-color:transparent !important; padding:0 !important; max-width:none !important; }

/* Hero */
.ct-hero { background-color:var(--color-background-alt); padding:96px 0 64px; }
.ct-hero__inner { max-width:720px; margin:0 auto; padding:0 var(--space-element); }
.ct-hero__eyebrow { display:inline-block; font-family:'Inter',sans-serif; font-size:11px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--color-accent); }
.ct-hero__title { font-family:'Fraunces',serif; font-size:48px; font-weight:500; letter-spacing:-0.02em; line-height:1.1; color:var(--color-primary); margin:20px 0 0 0; }
.ct-hero__sub { font-family:'Inter',sans-serif; font-size:17px; line-height:1.6; color:var(--color-text); opacity:0.8; margin:20px 0 0 0; max-width:560px; }

/* Contact Main */
.ct-main { background-color:var(--color-background); padding:var(--space-section) 0; }
.ct-main__inner { max-width:var(--container-max); margin:0 auto; padding:0 var(--space-element); display:grid; grid-template-columns:55% 45%; gap:64px; }
.ct-main__eyebrow { display:block; font-family:'Inter',sans-serif; font-size:11px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--color-accent); margin-bottom:12px; }
.ct-main__heading { font-family:'Fraunces',serif; font-size:32px; font-weight:500; line-height:1.2; color:var(--color-primary); margin:0 0 32px 0; }
.ct-main__hours { font-family:'Inter',sans-serif; font-size:14px; line-height:1.7; color:var(--color-text); opacity:0.7; margin:0 0 32px 0; }

/* Form */
.ct-form__field { margin-bottom:24px; }
.ct-form__label { display:block; font-family:'Inter',sans-serif; font-size:11px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--color-primary); margin-bottom:8px; }
.ct-form__input { display:block; width:100%; font-family:'Inter',sans-serif; font-size:16px; color:var(--color-text); background-color:var(--color-background); border:1px solid var(--color-border); border-radius:0; padding:12px 16px; transition:border-color 0.2s ease; -webkit-appearance:none; }
.ct-form__input:focus { outline:none; border-color:var(--color-primary); }
.ct-form__select { cursor:pointer; }
.ct-form__textarea { resize:vertical; min-height:140px; }
.ct-form__submit { display:inline-block; font-family:'Inter',sans-serif; font-size:13px; font-weight:500; letter-spacing:0.04em; text-transform:uppercase; padding:14px 24px; background-color:var(--color-primary); color:var(--color-text-inverse); border:1px solid var(--color-primary); border-radius:0; cursor:pointer; transition:background-color 0.2s ease; }
.ct-form__submit:hover { background-color:#0f1c1e; border-color:#0f1c1e; }
.ct-form__submit:disabled { opacity:0.5; cursor:not-allowed; }
.ct-form__status { margin-top:20px; font-family:'Inter',sans-serif; font-size:15px; line-height:1.5; transition:opacity 0.3s ease; }
.ct-form__status--success { color:var(--color-accent-muted); }
.ct-form__status--error { color:var(--color-accent); }

/* Info column */
.ct-info-block { margin-bottom:24px; }
.ct-info-block__label { font-family:'Inter',sans-serif; font-size:11px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--color-primary); opacity:0.6; margin:0 0 8px 0; }
.ct-info-block__value { font-family:'Inter',sans-serif; font-size:17px; color:var(--color-text); margin:0; }
.ct-info-block__value a { color:var(--color-text); text-decoration:underline; text-underline-offset:4px; transition:color 0.2s ease; }
.ct-info-block__value a:hover { color:var(--color-accent); }

/* Wholesale */
.ct-wholesale { background-color:var(--color-background-alt); padding:var(--space-section) 0; text-align:center; }
.ct-wholesale__inner { max-width:640px; margin:0 auto; padding:0 var(--space-element); }
.ct-wholesale__eyebrow { display:inline-block; font-family:'Inter',sans-serif; font-size:11px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--color-accent); margin-bottom:var(--space-element); }
.ct-wholesale__headline { font-family:'Fraunces',serif; font-size:36px; font-weight:500; line-height:1.15; color:var(--color-primary); margin:0; }
.ct-wholesale__copy { font-family:'Inter',sans-serif; font-size:17px; line-height:1.6; color:var(--color-text); margin:16px 0 0 0; }
.ct-wholesale__button { display:inline-block; font-family:'Inter',sans-serif; font-size:13px; font-weight:500; letter-spacing:0.04em; text-transform:uppercase; padding:14px 24px; background-color:var(--color-primary); color:var(--color-text-inverse); border:1px solid var(--color-primary); border-radius:0; text-decoration:none; margin-top:40px; transition:background-color 0.2s ease; }
.ct-wholesale__button:hover { background-color:#0f1c1e; border-color:#0f1c1e; color:var(--color-text-inverse); }

/* GSAP */
@media (min-width:769px) {
  .ct-hero__eyebrow,.ct-hero__title,.ct-hero__sub { opacity:0; }
  .ct-main { opacity:0; }
  .ct-wholesale { opacity:0; }
}
@media (max-width:768px) {
  .ct-hero { padding:64px 0 48px; }
  .ct-hero__title { font-size:34px; }
  .ct-main__inner { grid-template-columns:1fr; gap:48px; }
  .ct-wholesale__headline { font-size:28px; }
  .ct-hero__eyebrow,.ct-hero__title,.ct-hero__sub,.ct-main,.ct-wholesale { opacity:1 !important; transform:none !important; }
}
