/* =====================
   Custom overrides
   Keep this file small and intentional.
   ===================== */

/* Hero tweaks */
.hero .p{
  color:#fff;
  padding-bottom:20px;
}
.hero,
.hero-grid{
  padding-top:0;
  padding-bottom:0;
}
.hero-copy{ padding-bottom:160px; }

@media (max-width:520px){
  .hero-copy{
    padding-bottom:0;
    padding-top:30px;
  }
}

/* Brand logo */
.brand img{
  width:auto;
  height:60px;
  border-radius:0;
}

/* Icons (keep consistent sizing) */
.icon{ width:32px; height:32px; flex:0 0 auto; }
.footer-social .icon{ width:32px; height:32px; flex:0 0 auto; }
.wa-icon{ width:32px; height:32px; }

/* Panels */
.panel-no-shadow{
  border:none;
  border-radius:16px;
  padding:18px;
}
.panel-shadow{
  background:#60121f;
  border:none;
  border-radius:16px;
  box-shadow:0 6px 18px rgba(0,0,0,.6);
  padding:4px;
}
.panel img{ border-radius:0; text-align:center; }

/* Background helpers */
.bg-red-light{ background:#faeded; }

/* Dropdown menu sizing + hover */
.dd-panel{ width:max-content; min-width:320px; }
.dd-panel a:hover{
  background:#8b1e2d;
  border-color:var(--line);
  color:#fff;
}

/* Ensure Services dropdown stays CLOSED on page load and opens on hover */
.nav-dd .dd-panel{
  display:none;
  opacity:1;
  visibility:visible;
  transform:none;
  pointer-events:auto;
}
.nav-dd:hover .dd-panel{ display:grid; }

/* Social hover */
.social a:hover{
  background:rgba(255,255,255,.16);
  border-radius:24px;
}

/* Contact form: make select match inputs */
.contact-form select{
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(75,15,26,.45);
  background:#fafafa;
  outline:none;
  font:inherit;
}
.contact-form select:focus{ box-shadow:0 0 0 3px rgba(177,31,54,.18); }

/* Bootstrap buttons: force brand colors on hover/focus (no default blue) */
.btn-primary{
  background:#7a2e33;
  border-color:#7a2e33;
}
.btn-primary:hover,
.btn-primary:focus{
  background:#622428;
  border-color:#622428;
}
.btn-outline-secondary:hover,
.btn-outline-secondary:focus{
  color:#fff;
}

/* Inner page header (hero-style) */
.page-hero{
  background:linear-gradient(115deg,#4b0f1a 0%, #7a2e33 52%, #b11f36 100%);
  color:#fff;
  padding:clamp(22px, 4vw, 36px) 0;
}
.page-hero-inner{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  font-size:.9rem;
  opacity:.92;
}
.bc-link,
.bc-current{ color:rgba(255,255,255,.92); }
.bc-link:hover{ text-decoration:underline; color:#fff; }
.bc-sep{ opacity:.7; }

.page-kicker{
  font-size:1rem;
  opacity:.95;
}
.page-title{
  margin:0;
  font-family:var(--serif);
  letter-spacing:-.02em;
  font-size:clamp(1.65rem, 3.3vw, 2.35rem);
  line-height:1.12;
}

.page-intro{
  margin:0 0 18px;
  color:rgba(31,41,55,.85);
}

/* Legal pages */
.legal-page{ max-width: 980px; }
.legal-page h2{ margin-top: 18px; }

/* Utility */
.icon-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-bottom:16px;
}
.icon-title{ color:#8b1e2d; }

.lead {
    font-size: 16px;
    font-weight: 600;
    color: inherit;
    max-width: 100%;
}
/* === LTR FIX FOR PHONE NUMBERS IN RTL MODE === */
.ltr-num,
a[href^="tel:"],
a[href*="wa.me"] {
    direction: ltr !important;
    unicode-bidi: isolate !important;
    display: inline-block;
    text-align: left !important;
}
