/* +movinghouse.mx — rating, share and trust refinements v14 */

/* Aggregate Google stars: 4.7/5 represented as a 94% filled five-star row. */
.mgr-stars,
.testi-rating > .stars,
.hero-google-rating .rating-stars {
  display:inline-block;
  color:transparent !important;
  background:linear-gradient(90deg,#ffb62e 0 94%,#d7dee8 94% 100%);
  -webkit-background-clip:text;
  background-clip:text;
}

.hero-google-rating {
  display:none;
  align-items:center;
  gap:7px;
  min-height:44px;
  padding:8px 12px;
  border:1px solid #ffd7bc;
  border-radius:999px;
  background:#fff7f0;
  color:var(--mh-navy,#061d3d);
  white-space:nowrap;
}
.hero-google-rating .rating-stars { font-size:12px; letter-spacing:-1px; }
.hero-google-rating strong { font-size:14px; line-height:1; }
.hero-google-rating small { color:#8795a8; font-size:10px; line-height:1; }

/* Share buttons: icon and label always centered as one unit. */
.share-actions {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.share-actions .share-btn {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:44px;
  padding:0 16px;
  border-radius:999px;
  text-align:center;
  white-space:nowrap;
  line-height:1;
  font-weight:700;
}
.share-actions .share-btn svg {
  display:block;
  width:19px !important;
  height:19px !important;
  flex:0 0 19px !important;
  margin:0 !important;
}
.share-actions .share-btn span {
  display:inline-flex;
  align-items:center;
  line-height:1;
  margin:0 !important;
}
.share-actions .share-btn[data-share-facebook] { color:#12386b; }
.share-actions .share-btn.share-wa { color:#14853d; }

/* Show the compact rating beside the hero CTAs on laptop/desktop. */
@media (min-width:701px) {
  .hero-ctas { flex-wrap:wrap; align-items:center; }
  .hero-google-rating { display:inline-flex; }

  /* Desktop/laptop share block: compact, balanced, and aligned. */
  .share-block {
    display:grid !important;
    grid-template-columns:minmax(250px,1fr) auto;
    align-items:center !important;
    gap:28px !important;
    min-height:0 !important;
    padding:24px 30px !important;
  }
  .share-block > div:first-child { min-width:0; }
  .share-block > div:first-child strong,
  .share-block > div:first-child span { display:block; }
  .share-block > div:first-child span { margin-top:5px; }
  .share-actions {
    justify-content:flex-end;
    gap:12px !important;
    flex-wrap:nowrap;
  }
  .share-actions .share-btn {
    width:auto !important;
    min-width:148px !important;
    height:46px !important;
    padding:0 18px !important;
    font-size:14px !important;
  }
  .share-actions .share-btn:last-child { min-width:142px !important; }
  .share-status { grid-column:1 / -1; }
}

@media (min-width:701px) and (max-width:1050px) {
  .share-block { grid-template-columns:1fr; gap:16px !important; }
  .share-actions { justify-content:flex-start; flex-wrap:wrap; }
}

@media (max-width:700px) {
  .share-actions {
    justify-content:flex-start;
    gap:8px;
  }
  .share-actions .share-btn {
    min-height:40px;
    padding:0 13px;
    font-size:12px;
  }
  .share-actions .share-btn svg {
    width:16px !important;
    height:16px !important;
    flex-basis:16px !important;
  }
}

/* Insured cargo: combine the original safety promise with a concrete benefit. */
.hero-chips .chip:first-child .chip-label {
  font-size:0;
  line-height:1.12;
}
.hero-chips .chip:first-child .chip-label::before,
.hero-chips .chip:first-child .chip-label::after {
  display:block;
  font-size:inherit;
}
.hero-chips .chip:first-child .chip-label::before {
  content:"Carga";
  font-size:11px;
}
.hero-chips .chip:first-child .chip-label::after {
  content:"Asegurada";
  font-size:11px;
}
.hero-chips::after {
  content:"Carga asegurada de origen a destino. Cobertura adicional disponible para pianos, esculturas y objetos de cuidado especial, previa valoración.";
  grid-column:1 / -1;
  flex:1 0 100%;
  display:block;
  max-width:610px;
  margin-top:5px;
  padding:10px 13px 10px 37px;
  border:1px solid #cfe9d8;
  border-radius:14px;
  background:#f1faf4;
  color:#244b35;
  box-shadow:0 6px 18px rgba(18,105,57,.06);
  font-size:12px;
  font-weight:700;
  line-height:1.45;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23189448' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:12px center;
}

/* Reinforce the message near the service scope without changing the quote form. */
.service-levels-section .section-head p::after {
  content:" La carga viaja asegurada durante el traslado de origen a destino.";
  color:var(--mh-navy,#061d3d);
  font-weight:700;
}

@media (min-width:701px) {
  .hero-chips::after { font-size:12.5px; }
}

@media (max-width:600px) {
  .hero-chips .chip:first-child .chip-label::before,
  .hero-chips .chip:first-child .chip-label::after { font-size:10.5px; }
  .hero-chips::after {
    margin-top:2px;
    padding:9px 11px 9px 34px;
    border-radius:12px;
    font-size:10.5px;
    line-height:1.35;
    background-position:10px center;
    background-size:16px 16px;
  }
}

/* Replace the punctuality chip with a value-led pricing promise. */
.hero-chips .chip:nth-child(2) > svg { display:none; }
.hero-chips .chip:nth-child(2)::before {
  content:"$";
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  flex:0 0 18px;
  color:var(--mh-orange,#ff7a32);
  font-size:17px;
  line-height:1;
  font-weight:900;
}
.hero-chips .chip:nth-child(2) .chip-label {
  font-size:0;
  line-height:1.12;
}
.hero-chips .chip:nth-child(2) .chip-label::before,
.hero-chips .chip:nth-child(2) .chip-label::after {
  display:block;
  font-size:11px;
}
.hero-chips .chip:nth-child(2) .chip-label::before { content:"Precios"; }
.hero-chips .chip:nth-child(2) .chip-label::after { content:"Justos"; }

/* Desktop: stack compact floating actions, matching the reference layout. */
@media (min-width:701px) {
  .wa-float {
    right:24px !important;
    bottom:140px !important;
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    box-shadow:0 8px 22px rgba(37,211,102,.28) !important;
  }
  .wa-float svg {
    width:25px !important;
    height:25px !important;
  }
  .back-to-top {
    right:26px !important;
    bottom:24px !important;
    width:44px !important;
    height:44px !important;
    background:#061d3d !important;
    color:#fff !important;
    box-shadow:0 8px 22px rgba(6,29,61,.24) !important;
  }
}

@media (max-width:600px) {
  .hero-chips .chip:nth-child(2) .chip-label::before,
  .hero-chips .chip:nth-child(2) .chip-label::after { font-size:10.5px; }
}

/* Dual phone contact treatment — preserves current brand and layout. */
.nav-phone-group {
  display:flex;
  align-items:center;
  gap:9px;
  flex:0 0 auto;
  color:var(--mh-navy,#061d3d);
}
.nav-phone-group .ico {
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  flex:0 0 36px;
  border:1px solid #ffd7bc;
  border-radius:50%;
  background:#fff7f0;
  color:var(--mh-orange,#ff7a32);
}
.nav-phone-group .ico svg { width:17px; height:17px; }
.nav-phone-copy {
  display:grid;
  grid-template-columns:auto auto;
  column-gap:9px;
  row-gap:0;
  align-items:center;
  line-height:1.08;
}
.nav-phone-copy a {
  color:var(--mh-navy,#061d3d);
  font-size:12.5px;
  font-weight:800;
  white-space:nowrap;
}
.nav-phone-copy .nav-phone-primary { color:var(--mh-navy,#061d3d); }
.nav-phone-copy .nav-phone-secondary {
  padding-left:9px;
  border-left:1px solid #dce3ec;
  color:#6c7c90;
  font-size:11px;
}
.nav-phone-copy small {
  grid-column:1 / -1;
  color:#8c99aa;
  font-size:8.5px;
  font-weight:700;
  letter-spacing:.02em;
}

.hero-phone-row {
  margin-top:10px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  color:#65758a;
}
.hero-phone-label {
  color:var(--mh-navy,#061d3d);
  font-size:11px;
  font-weight:800;
}
.hero-phone-row a {
  display:inline-flex;
  align-items:baseline;
  gap:5px;
  color:var(--mh-navy,#061d3d);
  text-decoration:none;
}
.hero-phone-row a strong { font-size:12px; }
.hero-phone-row a small { color:#8795a8; font-size:9px; }
.hero-phone-sep { width:1px; height:16px; background:#dce3ec; }

.mobile-phone-options {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.mobile-phone-options .mm-phone {
  min-height:54px;
  padding:10px 12px;
  border:1px solid rgba(6,29,61,.10);
  border-radius:14px;
  background:#fff;
  color:var(--mh-navy,#061d3d);
  text-decoration:none;
}
.mobile-phone-options .mm-phone-primary { border-color:#ffd7bc; background:#fff8f3; }
.mm-phone-icon {
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  flex:0 0 30px;
  border-radius:50%;
  background:#f0f4f8;
  color:var(--mh-navy,#061d3d);
}
.mm-phone-icon svg { width:15px; height:15px; }
.mobile-phone-options strong,
.mobile-phone-options small { display:block; }
.mobile-phone-options strong { font-size:12px; line-height:1.2; }
.mobile-phone-options small { margin-top:2px; color:#8492a5; font-size:8.5px; line-height:1.25; }

.footer-phone-lines { align-items:flex-start !important; }
.footer-phone-lines > span { display:grid; grid-template-columns:auto auto; gap:1px 7px; }
.footer-phone-lines a { font-weight:700; }
.footer-phone-lines small { align-self:center; color:#8b98aa; font-size:9px; }

.call-float {
  position:fixed;
  right:26px;
  bottom:82px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid #ffd7bc;
  border-radius:50%;
  background:#fff7f0;
  color:var(--mh-orange,#ff7a32);
  box-shadow:0 8px 22px rgba(6,29,61,.18);
  z-index:481;
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;
}
.call-float:hover { transform:translateY(-2px); box-shadow:0 11px 28px rgba(6,29,61,.23); }
.call-float svg { width:20px; height:20px; }

@media (max-width:1300px) and (min-width:701px) {
  .nav-phone-copy .nav-phone-secondary { display:none; }
  .nav-phone-copy { grid-template-columns:auto; }
  .nav-phone-copy small { display:none; }
}

@media (max-width:700px) {
  .nav-phone-group {
    margin-left:auto;
    margin-right:2px;
  }
  .nav-phone-group .ico {
    width:40px;
    height:40px;
    flex-basis:40px;
  }
  .nav-phone-copy { display:none; }
  .hero-phone-row {
    margin-top:8px;
    gap:8px;
    padding:8px 10px;
    border:1px solid #e5eaf0;
    border-radius:12px;
    background:rgba(255,255,255,.72);
  }
  .hero-phone-label { width:100%; font-size:10px; }
  .hero-phone-row a strong { font-size:11px; }
  .hero-phone-row a small { font-size:8px; }
  .call-float { display:none; }
  .mobile-phone-options { grid-template-columns:1fr; }
}
