/*
 * Camera Minh Khang footer — canonical component stylesheet.
 * One source of truth; no appended override/fix layers.
 */
body.cameraminhkhang #footer.cmk-footer {
  position: relative;
  width: 100%;
  overflow: visible;
  color: #fff;
  background: #063b34;
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-main {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  padding: 30px 0 26px;
  overflow: hidden;
  background: linear-gradient(135deg, #00b878 0%, #087f55 34%, #057a93 63%, #1054d8 100%);
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-main::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 3% 18%, rgba(110,255,206,.34), transparent 24%),
    radial-gradient(circle at 98% 82%, rgba(63,122,255,.40), transparent 30%),
    linear-gradient(120deg, transparent 0 52%, rgba(255,255,255,.08) 52.2% 52.5%, transparent 52.7%);
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-inner {
  position: relative;
  z-index: 1;
  width: min(1500px, 100%);
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0 18px;
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
  width: 100%;
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-grid > section {
  display: flex;
  min-width: 0;
  min-height: 420px;
  box-sizing: border-box;
  flex-direction: column;
  overflow: hidden;
  padding: 18px;
  border: 1px solid rgba(220,255,244,.40);
  border-radius: 22px;
  background: linear-gradient(155deg, rgba(7,193,127,.82), rgba(0,111,111,.74) 52%, rgba(17,76,202,.86));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 18px 45px rgba(0,38,89,.26);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-brand {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 74px;
  height: 74px;
  box-sizing: border-box;
  margin: 0 0 12px;
  padding: 0 0 10px;
  border-bottom: 1px solid rgba(255,255,255,.42);
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-brand-logo {
  display: block;
  width: 100%;
  max-width: 350px;
  height: auto;
  max-height: 76px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 3px 4px rgba(0,27,50,.42));
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-company h3,
body.cameraminhkhang #footer.cmk-footer .cmk-footer-links-col > h3,
body.cameraminhkhang #footer.cmk-footer .cmk-footer-consult > h3 {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  min-height: 30px;
  gap: 14px;
  margin: 0 0 12px;
  padding: 0;
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .02em;
  text-transform: uppercase;
  text-shadow: 0 2px 6px rgba(0,40,60,.30);
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-company h3::after,
body.cameraminhkhang #footer.cmk-footer .cmk-footer-links-col > h3::after,
body.cameraminhkhang #footer.cmk-footer .cmk-footer-consult > h3::after {
  content: "";
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, rgba(255,255,255,.70), transparent);
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-company > p {
  display: flex;
  align-items: flex-start;
  flex: 0 0 auto;
  gap: 8px;
  margin: 0 0 7px;
  color: rgba(255,255,255,.94);
  font-size: 10px;
  line-height: 1.38;
  overflow-wrap: anywhere;
}
body.cameraminhkhang #footer.cmk-footer .cmk-footer-company > p a{
  overflow-wrap:anywhere;
  word-break:break-word;
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-company > p:first-of-type {
  display: block;
  font-size: 12px;
  line-height: 1.35;
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-company > p:nth-of-type(2) {
  display: block;
  color: #e1fff3;
  font-size: 10px;
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-company > p strong { color: #fff; }

body.cameraminhkhang #footer.cmk-footer .cmk-footer-company > p i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  margin-top: -2px;
  border-radius: 9px;
  background: rgba(255,255,255,.20);
  color: #fff;
  font-size: 12px;
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-company > p a {
  color: #fff;
  text-decoration: none;
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-socials {
  display: flex;
  gap: 10px;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.30);
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-socials > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(22,197,149,.95), rgba(16,89,200,.95));
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 7px 14px rgba(0,27,80,.24);
  transition: transform .2s ease, filter .2s ease;
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-socials > a:hover {
  transform: translateY(-3px);
  filter: brightness(1.12);
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-socials svg { width: 22px; height: 22px; fill: currentColor; }
body.cameraminhkhang #footer.cmk-footer .cmk-footer-socials i { font-size: 17px; }

body.cameraminhkhang #footer.cmk-footer .cmk-footer-links-col ul {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-links-col li { width: 100%; min-width: 0; margin: 0; padding: 0; list-style: none; }

body.cameraminhkhang #footer.cmk-footer .cmk-footer-links-col li > a {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 52px;
  box-sizing: border-box;
  padding: 6px 9px;
  border: 1px solid rgba(255,255,255,.27);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(16,201,145,.75), rgba(11,106,151,.65));
  color: #fff;
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 5px 12px rgba(0,39,80,.16);
  transition: transform .2s ease, background .2s ease;
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-links-col li > a:hover {
  transform: translateX(3px);
  background: linear-gradient(145deg, rgba(43,222,166,.90), rgba(27,103,214,.80));
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-row-icon,
body.cameraminhkhang #footer.cmk-footer .cmk-contact-person-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.45);
  background: linear-gradient(145deg, #16dca0, #087ecb);
  color: #fff;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.35), 0 5px 10px rgba(0,45,85,.25);
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-row-icon {
  width: 38px;
  height: 38px;
  border-radius: 13px;
}

body.cameraminhkhang #footer.cmk-footer .cmk-footer-row-icon i { font-size: 17px; }
body.cameraminhkhang #footer.cmk-footer .cmk-footer-links-col li > a strong { display: block; color: #fff; font-size: 11px; line-height: 1.25; font-weight: 900; }
body.cameraminhkhang #footer.cmk-footer .cmk-footer-links-col li > a small { display: block; margin-top: 3px; color: rgba(255,255,255,.86); font-size: 8px; line-height: 1.2; }

body.cameraminhkhang #footer.cmk-footer .cmk-contact-list {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

body.cameraminhkhang #footer.cmk-footer .cmk-contact-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 58px;
  box-sizing: border-box;
  padding: 6px;
  border: 1px solid rgba(255,255,255,.30);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(14,205,151,.72), rgba(11,91,180,.68));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 6px 13px rgba(0,36,83,.20);
}

body.cameraminhkhang #footer.cmk-footer .cmk-contact-person-icon {
  width: 38px;
  height: 38px;
  border-radius: 13px;
  background: linear-gradient(145deg, #e9fff7, #a9f3d4);
  color: #07804e;
  box-shadow: 0 4px 9px rgba(0,46,64,.20);
}

body.cameraminhkhang #footer.cmk-footer .cmk-contact-person-icon .fa-user-tie { color: #087f45; font-size: 21px; }
body.cameraminhkhang #footer.cmk-footer .cmk-contact-person-icon .fa-screwdriver-wrench { color: #087f45; font-size: 17px; }
body.cameraminhkhang #footer.cmk-footer .cmk-contact-info { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
body.cameraminhkhang #footer.cmk-footer .cmk-contact-info small { overflow: hidden; color: rgba(231,255,245,.90); font-size: 8px; line-height: 1.1; letter-spacing: .04em; white-space: nowrap; text-overflow: ellipsis; }
body.cameraminhkhang #footer.cmk-footer .cmk-contact-info strong { color: #fff; font-size: 11px; line-height: 1.2; font-weight: 900; }
body.cameraminhkhang #footer.cmk-footer .cmk-contact-info > a { color: #8dffd1; font-size: 11px; line-height: 1.2; font-weight: 900; text-decoration: none; white-space: nowrap; }
body.cameraminhkhang #footer.cmk-footer .cmk-contact-actions { display: flex; flex: 0 0 auto; gap: 7px; }
body.cameraminhkhang #footer.cmk-footer .cmk-contact-actions > a { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.48); border-radius: 13px; color: #fff; box-shadow: inset 0 2px 0 rgba(255,255,255,.28), 0 5px 10px rgba(0,42,81,.25); transition: transform .2s ease; }
body.cameraminhkhang #footer.cmk-footer .cmk-contact-actions > a:hover { transform: translateY(-3px); }
body.cameraminhkhang #footer.cmk-footer .cmk-contact-call { background: linear-gradient(145deg, #17cc8b, #087f45); }
body.cameraminhkhang #footer.cmk-footer .cmk-contact-zalo { background: #0068ff; }
body.cameraminhkhang #footer.cmk-footer .cmk-contact-call .cmk-phone-svg,
body.cameraminhkhang #footer.cmk-footer .cmk-contact-zalo .cmk-zalo-svg { display: block; width: 19px; height: 19px; fill: currentColor; }
body.cameraminhkhang #footer.cmk-footer .cmk-contact-heading-line { display: none; }

body.cameraminhkhang #footer.cmk-footer .cmk-footer-bottom { width: 100%; background: #063b34; border-top: 1px solid rgba(127,255,210,.22); }
body.cameraminhkhang #footer.cmk-footer .cmk-footer-bottom-inner { display: flex; justify-content: space-between; gap: 16px; padding: 10px 18px; color: rgba(255,255,255,.72); font-size: 10px; line-height: 1.45; }

@media (max-width: 1050px) and (min-width: 621px) {
  body.cameraminhkhang #footer.cmk-footer .cmk-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.cameraminhkhang #footer.cmk-footer .cmk-footer-grid > section { min-height: 390px; }
}

@media (max-width: 620px) {
  body.cameraminhkhang #footer.cmk-footer .cmk-footer-main { padding: 24px 0 110px; }
  body.cameraminhkhang #footer.cmk-footer .cmk-footer-inner { padding: 0 10px; }
  body.cameraminhkhang #footer.cmk-footer .cmk-footer-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  body.cameraminhkhang #footer.cmk-footer .cmk-footer-grid > section { width: 100%; min-width: 0; min-height: 0; height: auto; padding: 16px; }
  body.cameraminhkhang #footer.cmk-footer .cmk-footer-company { min-height: 350px; }
  body.cameraminhkhang #footer.cmk-footer .cmk-footer-brand { min-height: 64px; height: 64px; }
  body.cameraminhkhang #footer.cmk-footer .cmk-footer-brand-logo { max-width: 285px; max-height: 54px; }
  body.cameraminhkhang #footer.cmk-footer .cmk-footer-links-col ul,
  body.cameraminhkhang #footer.cmk-footer .cmk-contact-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; width: 100%; }
  body.cameraminhkhang #footer.cmk-footer .cmk-footer-links-col li > a { min-height: 58px; }
  body.cameraminhkhang #footer.cmk-footer .cmk-contact-card { min-height: 68px; }
  body.cameraminhkhang #footer.cmk-footer .cmk-footer-bottom-inner { display: block; min-height: 72px; padding: 9px 82px calc(104px + env(safe-area-inset-bottom)) 10px; text-align: left; font-size: 9px; line-height: 1.45; }
  body.cameraminhkhang #footer.cmk-footer .cmk-footer-bottom-inner span { display: block; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
  body.cameraminhkhang #footer.cmk-footer * { scroll-behavior: auto; }
  body.cameraminhkhang #footer.cmk-footer .cmk-footer-socials > a,
  body.cameraminhkhang #footer.cmk-footer .cmk-footer-links-col li > a,
  body.cameraminhkhang #footer.cmk-footer .cmk-contact-actions > a { transition: none; }
}

@media (max-width: 620px) {
  body.cmk-footer-in-view .cmk-smart-contact { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(18px); }
}

/* CMK FOOTER - KINH LUP LON CHAY QUA TUNG SO DIEN THOAI */
body.cameraminhkhang #footer.cmk-footer .cmk-contact-info > a{position:relative;display:inline-block;overflow:visible;font-weight:950;transform-origin:center;animation:cmkFooterPhoneZoom 2.4s ease-in-out infinite;text-shadow:0 0 2px rgba(141,255,209,.15)}
body.cameraminhkhang #footer.cmk-footer .cmk-contact-info > a::before{content:"";position:absolute;z-index:2;top:50%;left:-18px;width:36px;height:36px;margin-top:-18px;border:2px solid rgba(255,255,255,.95);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.65) 0%,rgba(80,255,210,.25) 38%,rgba(255,255,255,.07) 68%,transparent 70%);box-shadow:0 0 8px rgba(255,255,255,.85),0 0 20px rgba(50,255,205,.75),inset 0 0 11px rgba(255,255,255,.55);animation:cmkFooterBigLens 2.4s linear infinite;pointer-events:none}
body.cameraminhkhang #footer.cmk-footer .cmk-contact-info > a::after{content:"";position:absolute;z-index:1;top:-60%;bottom:-60%;left:-45%;width:46%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,1),rgba(100,255,220,.72),rgba(255,255,255,.35),transparent);filter:blur(2px);animation:cmkFooterWideSweep 2.4s linear infinite;pointer-events:none}
body.cameraminhkhang #footer.cmk-footer .cmk-contact-card:nth-child(2) .cmk-contact-info > a::before,body.cameraminhkhang #footer.cmk-footer .cmk-contact-card:nth-child(2) .cmk-contact-info > a::after,body.cameraminhkhang #footer.cmk-footer .cmk-contact-card:nth-child(2) .cmk-contact-info > a{animation-delay:.25s}
body.cameraminhkhang #footer.cmk-footer .cmk-contact-card:nth-child(3) .cmk-contact-info > a::before,body.cameraminhkhang #footer.cmk-footer .cmk-contact-card:nth-child(3) .cmk-contact-info > a::after,body.cameraminhkhang #footer.cmk-footer .cmk-contact-card:nth-child(3) .cmk-contact-info > a{animation-delay:.5s}
body.cameraminhkhang #footer.cmk-footer .cmk-contact-card:nth-child(4) .cmk-contact-info > a::before,body.cameraminhkhang #footer.cmk-footer .cmk-contact-card:nth-child(4) .cmk-contact-info > a::after,body.cameraminhkhang #footer.cmk-footer .cmk-contact-card:nth-child(4) .cmk-contact-info > a{animation-delay:.75s}
body.cameraminhkhang #footer.cmk-footer .cmk-contact-card:nth-child(4) .cmk-contact-info > a{color:#fff;text-shadow:0 0 5px rgba(255,70,70,.45)}
@keyframes cmkFooterBigLens{0%{left:-18px;opacity:0;transform:scale(.7)}12%{opacity:1}45%{opacity:1;transform:scale(1.1)}58%{left:calc(100% - 10px);opacity:1;transform:scale(1.15)}66%,100%{left:calc(100% - 10px);opacity:0;transform:scale(.8)}}
@keyframes cmkFooterWideSweep{0%{left:-45%;opacity:0}10%{opacity:1}45%{opacity:1}60%{left:115%;opacity:1}68%,100%{left:115%;opacity:0}}
@keyframes cmkFooterPhoneZoom{0%,45%,100%{transform:scale(1);text-shadow:0 0 2px rgba(141,255,209,.15)}50%{transform:scale(1.18);text-shadow:0 0 6px rgba(255,255,255,.85),0 0 14px rgba(60,255,210,.8)}56%{transform:scale(1.09);text-shadow:0 0 4px rgba(255,255,255,.6),0 0 10px rgba(60,255,210,.6)}62%{transform:scale(1.02)}}
@media(max-width:600px){body.cameraminhkhang #footer.cmk-footer .cmk-contact-info > a::before{width:30px;height:30px;margin-top:-15px;left:-14px}body.cameraminhkhang #footer.cmk-footer .cmk-contact-info > a{font-size:10px}}
@media(prefers-reduced-motion:reduce){body.cameraminhkhang #footer.cmk-footer .cmk-contact-info > a,body.cameraminhkhang #footer.cmk-footer .cmk-contact-info > a::before,body.cameraminhkhang #footer.cmk-footer .cmk-contact-info > a::after{animation:none!important}}
