/* =========================================================
   Amit Polyseats Ltd. - Premium Corporate Styles (site.css)
   - Uses brand variables from `theme.css`
   - Bootstrap 5 is the base; this file is for branding + layout
   ========================================================= */

/* -----------------------------
   Base / Typography
------------------------------ */
html{font-size:16px}
body.ap-body{
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  background: var(--ap-bg);
  color: var(--ap-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,h2,h3,h4,h5,h6{
  color: var(--ap-primary);
  letter-spacing: .2px;
}
p{color: var(--ap-muted); line-height: 1.75}

::selection{background: rgba(200,169,107,.35)}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto !important; transition:none !important; animation:none !important}
}

/* -----------------------------
   Links / Focus
------------------------------ */
a{color: inherit}
a:hover{color: var(--ap-primary)}

.ap-link{
  color: var(--ap-secondary);
  font-weight: 700;
  text-decoration: none;
}
.ap-link:hover{color: var(--ap-secondary); text-decoration: underline}

/* Visible focus for keyboard users */
:where(a,button,input,textarea,select,.btn,.nav-link):focus-visible{
  outline: 3px solid rgba(200,169,107,.55);
  outline-offset: 2px;
  box-shadow: none;
}

/* -----------------------------
   Top Contact Strip
------------------------------ */
.ap-topbar{
  background: var(--ap-primary);
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.ap-toplink{
  color: #fff;
  text-decoration: none;
  opacity: .95;
  font-weight: 600;
}
.ap-toplink:hover{opacity:1; text-decoration: underline; color:#fff}
.ap-toptext{color: rgba(255,255,255,.82); font-size: .92rem}
.ap-topsep{opacity: .55}

/* -----------------------------
   Header / Navbar
------------------------------ */
.ap-navbar{
  background: #fff;
  border-bottom: 1px solid var(--ap-border);
}
.ap-brand{
  font-weight: 900;
  letter-spacing: .2px;
  color: var(--ap-primary) !important;
}
.ap-navbar .navbar-toggler{
  border-color: rgba(15,39,71,.18);
}
.ap-navbar .nav-link{
  color: rgba(34,34,34,.85);
  font-weight: 700;
  padding: .75rem .75rem;
  transition: color .15s ease;
}
.ap-navbar .nav-link:hover{color: var(--ap-primary)}
.ap-navbar .nav-link.active{
  color: var(--ap-secondary);
  position: relative;
}
.ap-navbar .nav-link.active:after{
  content:"";
  position:absolute;
  left:.75rem;
  right:.75rem;
  bottom:.35rem;
  height:2px;
  background: var(--ap-accent);
  border-radius: 2px;
}

/* -----------------------------
   Hero
------------------------------ */
.ap-hero{
  background: linear-gradient(120deg, rgba(15,39,71,.08), rgba(110,31,40,.06));
  border-bottom: 1px solid var(--ap-border);
}
.ap-eyebrow{
  display: inline-flex;
  align-items: center;
  color: var(--ap-secondary);
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: .78rem;
}
.ap-hero-title{
  font-size: clamp(2.05rem, 3.2vw, 3.15rem);
  font-weight: 950;
  color: var(--ap-primary);
  line-height: 1.08;
}
.ap-hero-subtitle{
  color: var(--ap-muted);
  font-size: 1.06rem;
  max-width: 56ch;
}
.ap-hero-panel{
  background: #fff;
  border: 1px solid var(--ap-border);
  border-radius: var(--ap-radius);
  box-shadow: var(--ap-shadow);
  padding: 1.5rem;
}
.ap-hero-panel-title{
  font-weight: 900;
  color: var(--ap-primary);
}

/* -----------------------------
   Sections / Dividers
------------------------------ */
.ap-divider{height:1px; background: var(--ap-border); width:100%}

.ap-section{background: transparent}
.ap-section-soft{
  background: rgba(255,255,255,.72);
  border-top: 1px solid var(--ap-border);
  border-bottom: 1px solid var(--ap-border);
}
.ap-section-title{
  font-weight: 950;
  color: var(--ap-primary);
  letter-spacing: .2px;
}
.ap-section-text{
  color: var(--ap-muted);
  line-height: 1.75;
}
.ap-h2{
  font-weight: 950;
  color: var(--ap-primary);
  letter-spacing: .2px;
}

/* -----------------------------
   Page Header / Breadcrumb
------------------------------ */
.ap-pagehead{
  background: linear-gradient(120deg, rgba(15,39,71,.08), rgba(200,169,107,.08));
  border-bottom: 1px solid var(--ap-border);
}
.ap-pagehead-title{
  font-weight: 950;
  color: var(--ap-primary);
  font-size: clamp(1.9rem, 2.6vw, 2.55rem);
}
.ap-pagehead-subtitle{color: var(--ap-muted); max-width: 74ch}
.ap-breadcrumb{
  color: rgba(34,34,34,.75);
  font-size: .92rem;
}
.ap-breadcrumb a{
  color: rgba(34,34,34,.86);
  text-decoration: none;
}
.ap-breadcrumb a:hover{text-decoration: underline}
.ap-breadcrumb-sep{opacity:.6; margin:0 .35rem}

/* -----------------------------
   Cards (Premium Corporate)
------------------------------ */
.ap-card{
  border: 1px solid var(--ap-border);
  border-radius: var(--ap-radius);
  box-shadow: 0 8px 22px rgba(15,39,71,.06);
  background: #fff;
  transition: transform .15s ease, box-shadow .15s ease;
}
.ap-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 38px rgba(15,39,71,.10);
}
.ap-card-title{
  font-weight: 900;
  color: var(--ap-primary);
  margin-bottom: .35rem;
}
.ap-card-text{color: var(--ap-muted); line-height: 1.65}

.ap-card-media{
  border-bottom: 1px solid var(--ap-border);
  border-top-left-radius: var(--ap-radius);
  border-top-right-radius: var(--ap-radius);
  overflow: hidden;
}
.ap-card-img{
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
}
.ap-media-placeholder{
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(120deg, rgba(15,39,71,.06), rgba(200,169,107,.10));
}
.ap-media-placeholder-text{
  color: rgba(34,34,34,.70);
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
  font-size: .78rem;
}

.ap-category{
  border: 1px solid var(--ap-border);
  border-radius: var(--ap-radius);
  background: #fff;
  padding: 1.25rem;
  height: 100%;
}
.ap-category-title{
  font-weight: 900;
  color: var(--ap-primary);
  margin-bottom: .25rem;
}
.ap-category-text{color: var(--ap-muted)}

.ap-sidecard{
  border: 1px solid var(--ap-border);
  border-radius: var(--ap-radius);
  background: #fff;
  padding: 1.5rem;
  box-shadow: 0 8px 22px rgba(15,39,71,.06);
}
.ap-sidecard-title{
  font-weight: 950;
  color: var(--ap-primary);
  font-size: 1.08rem;
}
.ap-sidecard-text{color: var(--ap-muted); margin-top: .35rem; line-height: 1.7}

/* Metric / Info cards */
.ap-metric{
  background: rgba(15,39,71,.03);
  border: 1px solid var(--ap-border);
  border-radius: 14px;
  padding: 12px;
}
.ap-metric-value{
  font-weight: 950;
  color: var(--ap-primary);
  font-size: .95rem;
}
.ap-metric-label{color: var(--ap-muted); font-size: .86rem}

/* Lists / Tables */
.ap-bullets{padding-left: 1.1rem; color: var(--ap-text)}
.ap-bullets li{margin: .42rem 0; color: var(--ap-muted)}

.ap-table{
  border: 1px solid var(--ap-border);
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
}
.ap-table th{width: 38%; color: var(--ap-primary)}
.ap-table td{color: var(--ap-muted)}

/* -----------------------------
   Buttons (Subtle + Premium)
------------------------------ */
.ap-btn-primary{
  background: var(--ap-primary);
  border-color: var(--ap-primary);
  color: #fff;
  font-weight: 800;
}
.ap-btn-primary:hover{
  background: #0b1f39;
  border-color: #0b1f39;
  color: #fff;
}
.ap-btn-accent{
  background: var(--ap-accent);
  border-color: var(--ap-accent);
  color: #1b1b1b;
  font-weight: 900;
}
.ap-btn-accent:hover{filter: brightness(.97)}
.ap-btn-outline{
  background: transparent;
  border: 1px solid var(--ap-border);
  color: var(--ap-primary);
  font-weight: 800;
}
.ap-btn-outline:hover{background: rgba(15,39,71,.04)}

/* -----------------------------
   CTA Section
------------------------------ */
.ap-cta{
  background: var(--ap-primary);
  color: #fff;
}
.ap-cta-title{
  font-weight: 950;
  font-size: 1.55rem;
  letter-spacing: .2px;
}
.ap-cta-text{color: rgba(255,255,255,.85); margin-top: .35rem; line-height: 1.7}

/* -----------------------------
   Forms
------------------------------ */
.ap-form .form-label{
  font-weight: 800;
  color: rgba(34,34,34,.86);
}
.ap-form .form-control{
  border-color: rgba(15,39,71,.16);
  border-radius: 12px;
  padding: .7rem .9rem;
}
.ap-form .form-control::placeholder{color: rgba(102,112,133,.85)}
.ap-form .form-control:focus{
  border-color: rgba(200,169,107,.85);
  box-shadow: 0 0 0 .22rem rgba(200,169,107,.18);
}
.ap-form textarea.form-control{min-height: 150px; resize: vertical}

/* -----------------------------
   Map
------------------------------ */
.ap-map iframe{border: 0; border-radius: 14px}

/* -----------------------------
   Footer
------------------------------ */
.ap-footer{
  background: #0b1f39; /* deeper than primary for premium footer */
  color: #fff;
}
.ap-footer-title{font-weight: 950; font-size: 1.15rem}
.ap-footer-heading{font-weight: 950; color: rgba(255,255,255,.95); margin-bottom: .75rem}
.ap-footer-text{color: rgba(255,255,255,.78); line-height: 1.75}
.ap-footer-links{
  list-style: none;
  padding-left: 0;
  margin: 0;
  display: grid;
  gap: .35rem;
}
.ap-footer-links a{color: rgba(255,255,255,.85); text-decoration: none}
.ap-footer-links a:hover{color:#fff; text-decoration: underline}
.ap-footer-bottom{
  border-top: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.78);
}
.ap-footer-bottom a{color: rgba(255,255,255,.85); text-decoration: none}
.ap-footer-bottom a:hover{color:#fff; text-decoration: underline}

/* -----------------------------
   Responsive spacing refinements
------------------------------ */
@media (max-width: 991.98px){
  .ap-navbar .nav-link.active:after{left:.75rem; right:2.4rem}
  .ap-hero-panel{padding: 1.25rem}
}

@media (max-width: 575.98px){
  .ap-toptext{font-size: .88rem}
  .ap-hero-subtitle{font-size: 1rem}
  .ap-card-img, .ap-media-placeholder{height: 200px}
}
