/* Extracted inline styles from Blade templates
   Consolidated to avoid scattered <style> blocks in views
   Do not remove without checking templates that depended on them.
*/

/* Design system - motion preference */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}

/* Navbar refinements */
.em-navbar .nav-link { color: var(--bs-body-color); }
.em-navbar .nav-link.active { font-weight: 600; color: #7B0D1E; }
.btn-navbar-cta {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem .65rem;
  border-radius: .45rem;
  background: linear-gradient(90deg,#7B0D1E,#560A15);
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
  border: none;
}
.em-navbar .bi { font-size: 1.05rem; }
.em-navbar .nav-item .nav-link { padding: .35rem .5rem; }
@media (max-width: 767px) {
  .btn-navbar-cta { padding: .5rem .75rem; }
}

/* Favorite button */
.em-fav-btn {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 3;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.9);
  color: var(--em-burgundy, #7B2D3E);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
  box-shadow: 0 2px 10px rgba(0,0,0,.1);
  transition: transform .2s ease;
}
.em-fav-btn:hover { transform: scale(1.1); }
.em-fav-btn.is-active { color: #d63447; }

/* Wide favorite button (service detail) */
.em-fav-btn-wide {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: transparent;
  border: 1.5px solid rgba(123,13,30,.2);
  color: var(--em-burgundy, #7B2D3E);
  border-radius: var(--radius-sm, 10px);
  padding: 11px;
  font-size: .9rem;
  font-weight: 600;
  margin-bottom: 16px;
  transition: all .2s ease;
}
.em-fav-btn-wide:hover { background: rgba(123,13,30,.05); }
.em-fav-btn-wide.is-active { border-color: #d63447; color: #d63447; }

/* Star rating input */
.em-star-input { display: flex; gap: 6px; font-size: 1.6rem; cursor: pointer; }
.em-star-input i { color: #ddd; transition: color .15s ease; }
.em-star-input i.active,
.em-star-input i:hover { color: var(--em-gold, #C9A84C); }

/* Pricing cards (offers) */
.em-pricing-card {
  background: var(--em-white, #fff);
  border-radius: var(--radius-lg, 16px);
  border: 1.5px solid rgba(123,13,30,.1);
  padding: 2.2rem 1.8rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform .3s ease, box-shadow .3s ease;
}
.em-pricing-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(123,13,30,.1); }
.em-pricing-card.is-featured { border-color: var(--em-gold, #C9A84C); box-shadow: 0 15px 35px rgba(201,168,76,.2); }
.em-pricing-badge { position: absolute; top: -14px; right: 24px; background: var(--em-gold, #C9A84C); color: #2b1a08; font-size: .75rem; font-weight: 700; padding: 6px 16px; border-radius: 999px; }
.em-pricing-card h4 { font-family: var(--font-display); color: var(--em-burgundy, #7B2D3E); margin-bottom: 4px; }
.em-pricing-subtitle { color: var(--em-muted, #6b6b6b); font-size: .85rem; margin-bottom: 1.2rem; }
.em-pricing-amount { margin-bottom: 1.4rem; padding-bottom: 1.4rem; border-bottom: 1px dashed rgba(123,13,30,.15); }
.em-pricing-old { text-decoration: line-through; color: #aaa; font-size: .95rem; }
.em-pricing-current { font-family: var(--font-display); font-weight: 800; font-size: 2.1rem; color: var(--em-burgundy, #7B2D3E); }
.em-pricing-current span { font-size: 1.2rem; }
.em-pricing-current small { font-size: .8rem; font-weight: 500; color: var(--em-muted, #6b6b6b); }
.em-pricing-discount { display: inline-block; margin-top: 4px; background: rgba(40,167,69,.1); color: #1e7e34; font-size: .75rem; font-weight: 700; padding: 3px 10px; border-radius: 6px; }
.em-pricing-features { list-style: none; padding: 0; margin: 0 0 1.6rem; flex-grow: 1; }
.em-pricing-features li { padding: 6px 0; color: #444; font-size: .92rem; }
.em-pricing-features li i { color: var(--em-gold, #C9A84C); margin-left: 8px; }

/* Video play button overlay */
.em-video-play-btn { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.em-video-play-btn i { font-size: 2.2rem; color: #fff; background: rgba(123,13,30,.85); border-radius: 50%; width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 18px rgba(0,0,0,.35); transition: transform .25s ease; }
.em-gallery-item:hover .em-video-play-btn i { transform: scale(1.1); }

/* Admin small tweak */
.btn-admin-outline.active { background: var(--admin-primary); color: #fff; }

/* Utility helpers extracted from inline styles */
.img-cover { object-fit: cover; width: 100%; display: block; }
.img-h-180 { height: 180px; }
.img-h-190 { height: 190px; }
.img-h-50  { height: 50px; }
.img-maxh-420 { max-height: 420px; }
.img-maxh-200 { max-height: 200px; }

.service-media,
.service-hero-media {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius-lg, 16px);
  background: linear-gradient(135deg, rgba(201,168,76,.12), rgba(123,13,30,.05));
}
.service-media .img-cover,
.service-hero-media .img-cover {
  display: block;
  width: 100%;
  height: 100%;
}
.service-image-fallback {
  display: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 190px;
  background: linear-gradient(135deg, rgba(201,168,76,.18), rgba(123,13,30,.08));
  color: var(--em-burgundy, #7B2D3E);
  font-size: 2.3rem;
  border-radius: var(--radius-lg, 16px);
}
.service-hero-media .service-image-fallback {
  min-height: 420px;
}

.border-dashed-light { background: var(--em-white); border-radius: var(--radius-lg); border: 1.5px dashed rgba(123,13,30,.15); }
.card-border-light { border: 1px solid rgba(123,13,30,.08); }

.btn-justify-center { display:flex; justify-content:center; align-items:center; }
.pointer-auto { pointer-events: auto; }
.btn-small-padding { padding: 8px 18px; font-size: .85rem; }

.modal-video-content { background:#000; border-radius:var(--radius-lg); overflow:hidden; }
.modal-aspect-16-9 { aspect-ratio: 16 / 9; }

.text-muted-small { font-size:.9rem; color:var(--em-muted); }
.icon-large-muted { font-size:3rem; color:var(--em-burgundy); opacity:.3; }
