/* Licona's requested header refinements; keep the template's animation rules. */
:root {
  --liconas-active: #FFD54A;
}
.header.fixed-header {
  background-color:rgba(12,12,12,.88) !important;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.client-video { display:block; object-fit:cover; }
.banner-one .banner-img { inset-inline-start:calc(50% + 90px); inset-inline-end:auto; }
.banner-one img[src*="hero-cutout-"] {
  max-height:calc(100vh - 150px);
  max-height:min(715px, calc(100vh - 150px));
  width:auto;
  object-fit:contain;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 7%,#000 93%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0%,#000 7%,#000 93%,transparent 100%);
}
.experience-frame { display:block; width:110px; height:110px; background:#FFD54A; padding:8px; clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%); }
.experience-video { display:block; object-fit:cover; width:100%; height:100%; clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%); }
.cta-one { background-image:none !important; background-color:#800020 !important; }
.cta-one .text-main { color:#FFD54A !important; }
.cta-one .btn { background-color:#0c0c0c !important; }
.cta-one .before-right-bg > img {
  display:block;
  border:4px solid #fff;
  border-radius:14px;
}
.cta-one .before-right-bg::before {
  background-color:#FFD54A !important;
  border-radius:14px;
  inset:10px -10px -10px 10px;
  width:auto;
  height:auto;
}
.book-appointment .section-heading .text-main { color:#FFD54A !important; }
.book-appointment .section-heading .bg-main { background-color:#FFD54A !important; }
.header .nav-submenu { background-color:rgba(255,255,255,.5) !important; }
.header .nav-submenu__link:hover,
.header .nav-submenu__link:focus-visible,
.header .nav-submenu__item.activePage .nav-submenu__link:hover {
  background-color:#800020 !important;
  color:#fff !important;
}
.workshop-video { width:100%; height:100%; min-height:300px; }
.brand-one img[src*="/brands/"] { width:180px; height:80px; object-fit:contain; }
.brand-one img[src*="/brands/brand-"] { padding:5px 45px; }
.book-appointment > .container { position:relative; z-index:1; pointer-events:none; }
.book-appointment .col-lg-7 > div { background:transparent; padding:24px; pointer-events:auto; }
.book-appointment > img { visibility:visible; pointer-events:none; }
.book-appointment > .appointment-mechanics { width:342px; height:480px; object-fit:contain; object-position:left bottom; opacity:.12; }
.review-initials { display:flex; align-items:center; justify-content:center; width:100%; height:100%; background:#800020; color:#fff; font-size:24px; font-weight:600; }
.testimonials-item > p { text-transform:none !important; font-size:18px; line-height:1.65; }
.testimonials { background-image:none !important; background-color:#FFD54A !important; }
.testimonials.gradient-black-bg::before,
.testimonials .left-triangle-shape::before { display:none; }
.testimonials .text-white { color:#171717 !important; }
.testimonials .text-warning { color:#8b5b00 !important; }
.testimonials .swiper-pagination-bullet { background:#171717; }
.google-review-summary { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:6px; width:220px; max-width:100%; margin-top:0; padding:22px 18px; background:#fff; border-radius:8px; color:#111; text-align:center; }
.reviews-layout { display:grid; grid-template-columns:300px minmax(0,1fr); gap:64px; align-items:start; }
.reviews-layout .reviews-content { min-width:0; }
.reviews-layout .testimonials-item > span { display:none !important; }
.choose-us-item__icon { background-color:#FFD54A !important; }
.choose-us-item__icon img { filter:brightness(0); }
@media (max-width:767px) {
  .reviews-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
}
.testimonials .reviews-content { max-width:100%; }
.testimonials .curve-arrow-shape { display:none !important; }
.google-review-summary > * { flex-shrink:0; }
.google-rating-label { font-size:20px; }
.google-rating-stars { display:flex; gap:3px; color:#fbbc04; font-size:24px; }
.google-review-count { font-size:13px; }
.google-wordmark { display:flex; font-family:Arial,sans-serif; font-size:32px; font-weight:500; letter-spacing:-1.5px; }
.google-wordmark span:nth-child(1),.google-wordmark span:nth-child(4) { color:#4285f4; }
.google-wordmark span:nth-child(2),.google-wordmark span:nth-child(6) { color:#ea4335; }
.google-wordmark span:nth-child(3) { color:#fbbc05; }
.google-wordmark span:nth-child(5) { color:#34a853; }
.footer,.footer > .bg-dark-light-three { background-color:#800020 !important; }
.footer > .bg-black { background-color:#66001a !important; }
.footer .text-main,.footer .hover-text-main:hover,.footer i { color:#FFD54A !important; }
.footer .bg-main { background-color:#FFD54A !important; }
.footer .border-main { border-color:#FFD54A !important; }
.footer .text-dark-light { color:#f5e8ec !important; }
.footer .phone-info img { filter:brightness(0); }
.inline-workshop-player { position:absolute; inset:0; z-index:5; overflow:hidden; background:#0c0c0c; display:flex; align-items:center; }
.inline-video-content { width:100%; }
.inline-workshop-player video { width:100%; height:auto; object-fit:contain; display:block; }
.inline-workshop-player button { display:block; margin:0 12px 8px auto; border:1px solid #FFD54A; border-radius:4px; background:#0c0c0c; color:#FFD54A; padding:8px 12px; font-size:16px; line-height:1.3; }
.workshop-dialog { position:fixed; inset:0; margin:auto !important; background:#0c0c0c; border:0; padding:48px 12px 12px; width:min(960px,94vw); height:fit-content; max-height:90vh; }
.workshop-dialog::backdrop { background:rgba(0,0,0,.85); }
.workshop-dialog video { display:block; width:100%; max-height:78vh; }
.workshop-dialog button { position:absolute; right:12px; top:8px; color:#FFD54A; background:#0c0c0c; border:1px solid #FFD54A; border-radius:4px; padding:5px 12px; font-size:16px; }

.header .logo {
  flex: 0 0 auto;
  padding: 8px;
  width: fit-content;
}

.header .logo > a {
  display: inline-flex;
  align-items: center;
}

.header .liconas-header-logo {
  /* Previously 200px of a 220px canvas containing 120px of artwork. */
  width: 218.1818px;
  max-width: none;
  height: auto;
  display: block;
}

.header .nav-menu__item.activePage > a,
.header .nav-menu__item.activePage > a::before {
  color: var(--liconas-active) !important;
}

.header.bg-white .nav-menu__item.activePage > a,
.header.bg-white .nav-menu__item.activePage > a::before,
.mobile-menu .nav-menu__item.activePage > a,
.mobile-menu .nav-menu__item.activePage > a::before,
.nav-submenu__item.activePage .nav-submenu__link {
  color: #946C00 !important;
}

.header .nav-submenu {
  min-width: 340px;
  width: max-content;
  max-width: min(440px, calc(100vw - 32px));
}

.header .nav-submenu__link {
  white-space: normal;
  padding-inline: 20px !important;
}

.language-selector {
  border: 0 !important;
  box-shadow: none;
  cursor: pointer;
}

.language-selector:focus-visible {
  outline: 2px solid var(--liconas-active);
  outline-offset: 3px;
}

.header .header-actions {
  gap: 12px;
}

.header .header-language {
  margin-inline-end: -4px;
  flex-shrink: 0;
}

.header .header-phone {
  flex-shrink: 0;
}

.header .header-phone-number {
  display: none;
  color: white;
  white-space: nowrap;
}

.header.bg-white .header-phone-number {
  color: #0C0C0C;
}

.banner-one .banner-item > .text-main,
.banner-one h1 .text-main,
.breadcrumb .text-main {
  -webkit-text-stroke: .45px #FFD54A;
  paint-order: stroke fill;
  text-shadow: 0 2px 3px rgba(0, 0, 0, .8);
}
.banner-one .banner-item > .text-main,
.banner-one h1 .text-main {
  color:#FFD54A !important;
  -webkit-text-stroke:0;
  text-shadow:0 2px 4px rgba(0,0,0,.7);
}

@media (min-width: 992px) {
  .header nav {
    justify-content: flex-start !important;
    gap: 20px;
  }

  .header .header-menu {
    flex: 0 0 auto;
    margin-inline-start: auto;
  }

  .header .header-tools {
    margin-inline-start: 0;
  }

  .header .nav-menu {
    gap: 22px;
  }

  .header.bg-white .header-menu {
    margin-inline-start: auto;
  }
}

@media (min-width: 1600px) {
  .header .header-phone-number {
    display: inline;
  }
}

@media (max-width: 1199px) and (min-width: 992px) {
  .header nav {
    gap: 12px;
  }

  .header .nav-menu {
    gap: 16px;
  }

  .header .header-actions {
    gap: 10px;
  }

  .header.bg-white .header-menu {
    margin-inline-start: auto;
  }
}

@media (max-width: 991px) {
  .header .liconas-header-logo,
  .mobile-menu .liconas-mobile-logo {
    /* Twice the visible artwork in the original 160px mobile canvas. */
    width: 174.5454px;
    max-width: 100%;
    height: auto;
  }

  .header .logo {
    padding: 6px;
  }

  .header .logo-bg-shape {
    padding: 6px;
  }

  .mobile-menu .mobile-menu__inner > .bg-main {
    padding: 10px !important;
  }

  .mobile-menu .nav-submenu {
    width: 100%;
    min-width: 0;
    transform: none;
  }

  .mobile-menu .nav-submenu__link {
    white-space: normal;
  }
}
.liconas-call-bubble {
  position: fixed;
  left: 20px;
  bottom: max(20px, env(safe-area-inset-bottom));
  z-index: 10000;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 52px;
  padding: 12px 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, #347cef, #2865d3);
  color: #fff !important;
  box-shadow: 0 5px 20px #0003;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}
.liconas-call-bubble svg { width: 22px; height: 22px; }
.liconas-call-bubble:hover { background: linear-gradient(135deg, #347cef, #2865d3); filter: brightness(1.05); }
.liconas-call-bubble:focus-visible,
.liconas-submenu-toggle:focus-visible { outline: 3px solid #FFD54A; outline-offset: 3px; }
.liconas-submenu-toggle { display: none; }
@media (max-width: 991px) {
  .mobile-menu .has-submenu > a::before { display: none; }
  .mobile-menu .has-submenu > a { padding-right: 52px; }
  .mobile-menu .liconas-submenu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 4px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: #800020;
    color: #fff;
    font-size: 28px;
    cursor: pointer;
  }
  .mobile-menu .liconas-submenu-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
}
@media (max-width: 480px) {
  .liconas-call-bubble { left: 12px; padding: 12px; }
  .liconas-call-bubble span { display: none; }
}

/* Center internal-page navigation with the language and contact controls. */
@media (min-width: 992px) {
  .header.bg-white nav { align-items: center; }
}
.breadcrumb .text-main { color: #FFD54A !important; -webkit-text-stroke: 0; }

.liconas-whatsapp-bubble { bottom: max(84px, calc(env(safe-area-inset-bottom) + 64px)); background: #25D366; }
.liconas-whatsapp-bubble:hover { background: #1daf54; }
.liconas-whatsapp-bubble i { font-size: 24px; width: 22px; text-align: center; }
.liconas-booking { text-transform: none; }
.liconas-booking-hours { margin: 16px 0 24px; font-size: 14px; color: #555; }
.liconas-calendar { padding: clamp(16px,3vw,28px); border: 1px solid #e1d4d8; border-radius: 16px; background: #fff; box-shadow: 0 8px 30px #8000200a; }
.liconas-calendar-nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 20px; }
.liconas-calendar-nav h3 { font-size: clamp(18px,3vw,24px); margin: 0; text-transform: capitalize; }
.liconas-calendar-nav button { width: 44px; height: 44px; border-radius: 50%; background: #f7eef1; color: #800020; font-size: 28px; }
.liconas-calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 6px; text-align: center; }
#calendar-weekdays { margin-bottom: 8px; font-size: 13px; font-weight: 700; color: #666; }
#calendar-days button { min-height: 44px; border-radius: 8px; background: #f7f7f7; color: #252525; font-weight: 600; }
#calendar-days button:hover:enabled { background: #f4dfe5; }
#calendar-days button[aria-pressed="true"] { background: #800020; color: #fff; }
#calendar-days .is-today { box-shadow: inset 0 0 0 2px #800020; }
.liconas-calendar button:disabled { opacity: .35; cursor: not-allowed; }
.liconas-calendar button:focus-visible { outline: 3px solid #FFD54A; outline-offset: 2px; }
#calendar-selection { margin: 20px 0 12px; font-weight: 600; }
#calendar-check { width: 100%; border-radius: 10px; padding: 14px 16px; background: #800020; color: #fff; font-weight: 700; }
#appointment-assistant { margin-top: 24px; position: relative; min-width: 0; }
.liconas-appointment-page .ahw-btn { display: none !important; }
#appointment-assistant .ahw-panel { position: relative !important; inset: auto !important; width: 100% !important; max-width: 100% !important; height: 560px !important; max-height: none !important; display: flex !important; flex-direction: column; z-index: 1; }
#appointment-assistant .ahw-minimize { display: none; }

.header.bg-white.fixed-header .nav-menu__item > a,
.header.bg-white.fixed-header .nav-menu__item > a::before,
.header.bg-white.fixed-header .header-phone-number { color: #fff !important; }
.header.bg-white.fixed-header .nav-menu__item.activePage > a,
.header.bg-white.fixed-header .nav-menu__item.activePage > a::before { color: #FFD54A !important; }

/* Keep service icons visible against the dark hover background. */
.choose-us-item__icon img { transition: filter 0.3s ease; }
.choose-us-item:hover .choose-us-item__icon img { filter: brightness(0) invert(1); }
