/*
Theme Name: Awais Ali
Theme URI: https://awais.najeeb.site/
Author: Awais Ali
Description: Native WordPress theme for the Awais Ali real-estate-focused frontend and WordPress portfolio.
Version: 1.4.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: awais-ali
*/

/* Keep the approved static layout visible when JavaScript is unavailable.
   With JavaScript enabled, the original reveal animations remain active. */
html:not(.js) .reveal-up,
html:not(.js) .reveal-left,
html:not(.js) .reveal-right,
html:not(.js) .reveal-scale,
html:not(.js) .reveal-blur,
html:not(.js) .reveal-clip,
html:not(.js) .hero-reveal,
html:not(.js) .hero-reveal-right {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  clip-path: none !important;
}

:focus-visible{outline:2px solid #e2c48f;outline-offset:3px}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}

/* Shared responsive and accessibility foundations, loaded after page styles. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 96px; }
main { min-width: 0; }
main :where(h1,h2,h3,p,a,strong,li,label,summary),
footer :where(p,a,strong,span) { overflow-wrap: anywhere; }
main :where(section,article,aside,form,.field,.wrap) > * { min-width: 0; }
img,video,svg,canvas { max-width: 100%; }
img,video { height: auto; }
iframe { max-width: 100%; }
input,select,textarea { min-width: 0; max-width: 100%; }
textarea { resize: vertical; }
[hidden] { display: none !important; }
.button { white-space: normal; text-align: center; min-height: 44px; }
.form-status,.success { overflow-wrap: anywhere; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100001; padding: 12px 18px; background: #efe7d8; color: #11110f; transform: translateY(-160%); }
.skip-link:focus { transform: none; }
body.admin-bar .site-header { top: 32px; }
.site-header .mobile-nav { max-height: calc(100dvh - 100px); }
html:not(.js) .lead-type-switch { display: none; }
html:not(.js) #propertyLeadForm[hidden] { display: grid !important; }
@media (max-width:782px) {
  body.admin-bar .site-header { top: 46px; }
}
@media (max-width:600px) {
  body.admin-bar .site-header { top: 0; }
}
@media (max-width:540px) {
  .topbar-inner { flex-wrap: wrap; padding-block: 8px; gap: 4px; }
  .topbar-inner span:last-child { display: none; }
  .eyebrow,.kicker { max-width: 100%; flex-wrap: wrap; }
  input,select,textarea { font-size: 16px !important; }
  .hero-actions,.final-cta-actions { flex-wrap: wrap; }
  .hero-actions .button,.final-cta-actions .button { max-width: 100%; }
  .detail-row { flex-wrap: wrap; gap: 6px 12px; }
  .contact-list strong { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion:reduce) {
  .reveal-up,.reveal-left,.reveal-right,.reveal-scale,.reveal-blur,.reveal-clip,
  .hero-reveal,.hero-reveal-right { opacity: 1 !important; transform: none !important; filter: none !important; clip-path: none !important; }
}
.form-feedback { padding: 16px; border: 1px solid #c6a16a; color: #f5f1e8; overflow-wrap: anywhere; }
@media (max-width:1100px) {
  html:not(.js) .site-header .menu-button { display: none; }
  html:not(.js) .site-header .desktop-nav { display: flex; flex-wrap: wrap; grid-column: 1 / -1; gap: 8px 18px; padding-bottom: 12px; }
  html:not(.js) .site-header .desktop-nav a { min-height: 44px; }
}
@media (max-width:1100px) {
  html:not(.js) .site-header .header-cta { display: inline-flex; grid-column: 2; grid-row: 1; }
}

/* Local fonts avoid third-party font requests and inconsistent page typography. */
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("assets/fonts/dm-sans-normal.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-style: italic; font-weight: 100 900; font-display: swap; src: url("assets/fonts/dm-sans-italic.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("assets/fonts/playfair-display-normal.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-style: italic; font-weight: 100 900; font-display: swap; src: url("assets/fonts/playfair-display-italic.woff2") format("woff2"); }
.site-header .brand { gap: .18em; }
@media (max-width:540px) {
  main p { font-size: max(14px, 1em); }
  .hero .hero-stats span { font-size: 10px; }
}
.form-feedback { grid-column: 1 / -1; }
