/**
 * ETM public profile — LinkedIn-grade revamp.
 * Loaded after etm.css from templates/profile/single.php, so rules here win.
 * Palette: navy #001238 / teal #00c9a7 / Inter. Scoped to .etm-profile-page.
 *
 * @package ETM_Platform
 */

.etm-profile-page{
  --p-navy:#001238;
  --p-navy2:#0d1f4c;
  --p-teal:#00c9a7;
  --p-teal-d:#04a98c;
  --p-teal-ink:#04221b;
  --p-ink:#1b2540;
  --p-muted:#5b6680;
  --p-line:#e3e8f1;
  --p-soft:#f5f8fc;
  --p-card:#fff;
  --p-radius:16px;
  --p-shadow:0 1px 2px rgba(16,24,40,.04),0 6px 22px rgba(16,24,40,.05);
  max-width:1200px;
  color:var(--p-ink);
}

/* ============ Hero band ============ */
.etm-profile-page .etm-profile-hero{
  background:linear-gradient(135deg,var(--p-navy) 0%,var(--p-navy2) 100%);
  border-radius:20px;
  padding:0;
  min-height:230px;
  margin-bottom:26px;
  color:#fff;
  overflow:hidden;
  box-shadow:0 10px 34px rgba(0,18,56,.18);
  display:block;
  position:relative;
  isolation:isolate;
}
.etm-profile-page header.etm-profile-hero{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
  padding:0!important;
}
.etm-profile-page .etm-profile-hero:after{
  content:none;
  display:none;
}
.etm-profile-page .etm-profile-hero:before{
  content:none;
  display:none;
}
.etm-profile-page .etm-hero-inner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(270px,320px);
  gap:20px;
  align-items:center;
  min-height:230px;
  padding:44px 36px;
  position:relative;
  z-index:2;
  width:100%;
  box-sizing:border-box;
}
.etm-profile-page .etm-hero-avatar img,
.etm-profile-page .etm-hero-avatar .etm-hero-initials{
  width:112px;height:112px;border-radius:20px;object-fit:cover;
  display:flex;align-items:center;justify-content:center;
  border:3px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
}
.etm-profile-page .etm-hero-avatar a{display:inline-flex;text-decoration:none;}
.etm-profile-page .etm-hero-initials{color:#fff;font-size:40px;font-weight:800;letter-spacing:-1px;}

.etm-profile-page .etm-hero-badge{
  display:inline-flex;align-items:center;gap:7px;
  background:linear-gradient(135deg,#053f3a 0%,#079b86 100%);color:#fff;border:1px solid rgba(0,201,167,.48);
  font-size:12px;font-weight:850;padding:7px 11px;border-radius:10px;letter-spacing:.005em;
  white-space:nowrap;line-height:1;box-shadow:0 10px 22px rgba(0,155,133,.22),inset 0 1px 0 rgba(255,255,255,.22);
}
.etm-profile-page .etm-hero-badge .etm-ico,
.etm-profile-page .etm-hero-badge svg{width:13px!important;height:13px!important;flex:0 0 13px;}
.etm-profile-page .etm-hero-badge > span,
.etm-profile-page .etm-sidebar-badge > span{
  display:inline-block;
  transform:translateY(1px);
}
.etm-profile-page .etm-hero-avatar.etm-hero-photo img{
  width:240px;height:150px;border-radius:18px;border-width:2px;
  box-shadow:0 14px 34px rgba(0,0,0,.22);
}
.etm-profile-page .etm-hero-main h1{margin:12px 0 4px;font-size:32px;font-weight:800;letter-spacing:-.6px;color:#fff;line-height:1.1;}
.etm-profile-page .etm-hero-tagline{color:rgba(255,255,255,.84);margin:0 0 12px;font-size:15.5px;max-width:52ch;}

.etm-profile-page .etm-hero-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;color:rgba(255,255,255,.82);align-items:center;}
.etm-profile-page .etm-hero-meta > span{display:inline-flex;align-items:center;gap:6px;}
.etm-profile-page .etm-hero-meta .etm-ico{width:15px;height:15px;color:var(--p-teal);}
.etm-profile-page .etm-hero-rating{gap:8px;}
.etm-profile-page .etm-hero-rating b{font-weight:800;color:#fff;}
.etm-profile-page .etm-hero-rating .etm-dot{opacity:.6;margin:0 1px;}
.etm-profile-page .etm-hero-new{color:rgba(255,255,255,.7);}
.etm-profile-page .etm-hero-rating .etm-star{color:rgba(255,255,255,.28);}
.etm-profile-page .etm-hero-rating .etm-star.on{color:#ffc94d;}

.etm-profile-page .etm-hero-services{list-style:none;display:flex;gap:8px 18px;flex-wrap:wrap;padding:0;margin:16px 0 0;}
.etm-profile-page .etm-hero-services li{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:#fff;}
.etm-profile-page .etm-hero-services .etm-ico{color:var(--p-teal);width:15px;height:15px;}

.etm-profile-page .etm-hero-cta-col{display:flex;flex-direction:column;gap:10px;align-items:stretch;justify-content:center;justify-self:end;min-width:270px;width:320px;max-width:100%;margin-left:auto;position:relative;z-index:3;}
.etm-profile-page .etm-hero-cta-col > a{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  width:100%;box-sizing:border-box;min-height:46px;
  font-size:14.5px;font-weight:700;text-decoration:none;border-radius:11px;
  padding:0 18px;line-height:1.2;text-align:center;
}
.etm-profile-page .etm-hero-cta-col .etm-btn-teal{background:var(--p-teal);color:var(--p-teal-ink);}
.etm-profile-page .etm-hero-cta-col .etm-btn-teal:hover{background:#21d8b9;color:var(--p-teal-ink);}
.etm-profile-page .etm-hero-web{font-weight:600;color:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.04);}
.etm-profile-page .etm-hero-web:hover{color:#fff;border-color:rgba(0,201,167,.6);background:rgba(0,201,167,.1);}
.etm-profile-page .etm-hero-cta-col .etm-ico{width:16px;height:16px;flex:0 0 auto;}

/* ============ Layout grid ============ */
.etm-profile-page .etm-profile-grid{display:grid;grid-template-columns:1fr 340px;gap:26px;align-items:start;margin-top:0;}

/* ============ Content cards ============ */
.etm-profile-page .etm-card{
  background:var(--p-card);
  border:1px solid var(--p-line);
  border-radius:var(--p-radius);
  padding:26px 28px;
  box-shadow:var(--p-shadow);
  margin-bottom:22px;
}
.etm-profile-page .etm-card h2{
  font-size:18px;font-weight:800;color:var(--p-navy);margin:0 0 18px;letter-spacing:-.2px;
  padding-bottom:12px;border-bottom:1px solid var(--p-line);
}
.etm-profile-page .etm-prose{font-size:15px;line-height:1.7;color:#3a4258;}
.etm-profile-page .etm-prose p{margin:0 0 12px;}
.etm-profile-page .etm-prose p:last-child{margin-bottom:0;}
.etm-profile-page .etm-mt{margin-top:14px;}

.etm-profile-page .etm-card-offer{background:linear-gradient(135deg,#f0fdfa,#ffffff);border-color:#bdf0e4;}
.etm-profile-page .etm-card-offer h2{border-bottom-color:#bdf0e4;}

/* Service chip grid — clean two-column ticks */
.etm-profile-page .etm-chip-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;}
.etm-profile-page .etm-chip{
  display:flex;align-items:center;gap:10px;
  font-size:14px;font-weight:600;color:var(--p-ink);
  background:var(--p-soft);border:1px solid var(--p-line);
  padding:11px 14px;border-radius:11px;
}
.etm-profile-page .etm-chip .etm-ico{color:var(--p-teal);width:17px;height:17px;flex:0 0 auto;}

.etm-profile-page .etm-tick-list{list-style:none;padding:0;margin:0;display:grid;gap:10px;}
.etm-profile-page .etm-tick-list li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.45;color:var(--p-ink);}
.etm-profile-page .etm-tick-list .etm-ico{color:var(--p-teal);margin-top:2px;width:16px;height:16px;flex:0 0 auto;}

.etm-profile-page .etm-listing-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;}
.etm-profile-page .etm-listing-chips li{font-size:12.5px;font-weight:600;background:var(--p-soft);color:#42506b;padding:6px 12px;border-radius:99px;border:1px solid var(--p-line);}

.etm-profile-page .etm-badge-chips{display:flex;flex-wrap:wrap;gap:9px;}
.etm-profile-page .etm-cred-chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;background:#f0fdfa;color:var(--p-teal-d);padding:7px 12px;border-radius:10px;border:1px solid #9bead9;}
.etm-profile-page .etm-cred-chip .etm-ico{width:14px;height:14px;}

.etm-profile-page .etm-detail-label{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--p-muted);margin:20px 0 9px;}
.etm-profile-page .etm-flag-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:9px;}
.etm-profile-page .etm-flag-list li{display:flex;gap:9px;align-items:center;font-size:14.5px;font-weight:600;color:var(--p-navy);}
.etm-profile-page .etm-flag-list .etm-ico{color:var(--p-teal);width:16px;height:16px;flex:0 0 auto;}

/* ============ Reviews ============ */
.etm-profile-page .etm-review{border-top:1px solid var(--p-line);padding:16px 0;}
.etm-profile-page .etm-review:first-of-type{border-top:none;padding-top:2px;}
.etm-profile-page .etm-review-stars{display:flex;gap:2px;color:#ffb400;margin-bottom:6px;}
.etm-profile-page .etm-review-stars .etm-ico{width:15px;height:15px;}
.etm-profile-page .etm-review p{margin:0 0 6px;font-size:14.5px;line-height:1.6;color:#3a4258;}
.etm-profile-page .etm-review-by{font-size:12.5px;color:var(--p-muted);font-weight:700;}

/* ============ Sidebar ============ */
.etm-profile-page .etm-sidebar{position:static;background:none;border:none;padding:0;box-shadow:none;border-radius:0;}
.etm-profile-page .etm-sidebar-sticky{position:sticky;top:24px;display:flex;flex-direction:column;gap:18px;}

.etm-profile-page .etm-side-card{
  background:var(--p-card);border:1px solid var(--p-line);border-radius:var(--p-radius);
  padding:20px;box-shadow:var(--p-shadow);
}
.etm-profile-page .etm-side-title{
  display:flex;align-items:center;gap:8px;
  font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  color:var(--p-muted);margin:0 0 14px;
}
.etm-profile-page .etm-side-title .etm-ico{width:15px;height:15px;color:var(--p-teal);}

.etm-profile-page .etm-sidebar-badge{
  display:inline-flex;align-items:center;gap:8px;width:100%;justify-content:center;
  font-size:12.5px;font-weight:850;padding:10px 14px;border-radius:11px;
  background:#eef2f8;color:var(--p-navy);border:1px solid var(--p-line);
  white-space:nowrap;line-height:1;
}
.etm-profile-page .etm-sidebar-badge .etm-ico,
.etm-profile-page .etm-sidebar-badge svg{width:13px!important;height:13px!important;flex:0 0 13px;color:var(--p-teal);}
.etm-profile-page .etm-badge-verified .etm-sidebar-badge,
.etm-profile-page .etm-sidebar-badge.etm-badge-verified,
.etm-profile-page .etm-sidebar-badge.etm-badge-premium{
  background:rgba(0,201,167,.14);
  color:#047967;
  border-color:rgba(0,201,167,.38);
  box-shadow:none;
}
.etm-profile-page .etm-hero-badge.etm-badge-network,
.etm-profile-page .etm-sidebar-badge.etm-badge-network,
.etm-profile-page .etm-hero-badge.etm-badge-premium,
.etm-profile-page .etm-sidebar-badge.etm-badge-premium{
  background:rgba(200,16,46,.82);
  color:#fff4f6;
  border-color:rgba(255,151,166,.65);
  font-weight:900;
  box-shadow:0 9px 20px rgba(200,16,46,.18),inset 0 1px 0 rgba(255,255,255,.16);
}
.etm-profile-page .etm-hero-badge.etm-badge-network svg,
.etm-profile-page .etm-sidebar-badge.etm-badge-network svg,
.etm-profile-page .etm-hero-badge.etm-badge-premium svg,
.etm-profile-page .etm-sidebar-badge.etm-badge-premium svg{
  color:#ffe4e9!important;
  fill:none;
  stroke:#ffe4e9;
  stroke-width:2.3px;
  filter:none;
}

/* Contact card */
.etm-profile-page .etm-contact-list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:12px;}
.etm-profile-page .etm-contact-list li{display:flex;align-items:center;gap:11px;font-size:14px;color:var(--p-ink);word-break:break-word;}
.etm-profile-page .etm-contact-list .etm-ico{width:17px;height:17px;color:var(--p-teal);flex:0 0 auto;}
.etm-profile-page .etm-contact-list a{color:var(--p-ink);text-decoration:none;font-weight:600;}
.etm-profile-page .etm-contact-list a:hover{color:var(--p-teal-d);}
.etm-profile-page .etm-contact-card .etm-btn-block{margin-top:2px;}

.etm-profile-page .etm-socials{display:flex;gap:10px;margin:14px 0 0;}
.etm-profile-page .etm-socials a{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid var(--p-line);border-radius:9px;color:var(--p-navy);}
.etm-profile-page .etm-socials a:hover{color:var(--p-teal-d);border-color:#9bead9;background:#f0fdfa;}
.etm-profile-page .etm-socials .etm-ico{width:16px;height:16px;}

/* Quick facts */
.etm-profile-page .etm-facts{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.etm-profile-page .etm-facts li{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;}
.etm-profile-page .etm-fact-ico{flex:0 0 auto;color:var(--p-teal);width:17px;display:flex;justify-content:center;margin-top:1px;}
.etm-profile-page .etm-fact-ico .etm-ico{width:16px;height:16px;}
.etm-profile-page .etm-fact-body{display:flex;flex-direction:column;gap:1px;min-width:0;}
.etm-profile-page .etm-row-label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--p-muted);}
.etm-profile-page .etm-row-val{font-size:14px;font-weight:600;color:var(--p-ink);word-break:break-word;}
.etm-profile-page .etm-row-val a{color:var(--p-teal-d);text-decoration:none;}

/* Share link */
.etm-profile-page .etm-sharelink .etm-row-label{display:flex;align-items:center;gap:7px;}
.etm-profile-page .etm-sharelink .etm-row-label .etm-ico{width:14px;height:14px;color:var(--p-teal);}
.etm-profile-page .etm-copy{display:flex;gap:7px;margin-top:10px;}
.etm-profile-page .etm-copy input{flex:1;min-width:0;font-size:12.5px;padding:9px 11px;border:1px solid var(--p-line);border-radius:9px;background:var(--p-soft);color:var(--p-ink);}
.etm-profile-page .etm-copy-btn{background:var(--p-navy);color:#fff;border:none;border-radius:9px;padding:0 12px;cursor:pointer;display:inline-flex;align-items:center;}
.etm-profile-page .etm-copy-btn .etm-ico{width:15px;height:15px;}
.etm-profile-page .etm-copy-btn.is-copied{background:var(--p-teal);}

.etm-profile-page .etm-muted{color:var(--p-muted);font-size:13.5px;line-height:1.5;margin:0 0 14px;}

/* ============ UK coverage map ============ */
.etm-coverage{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,.85fr);gap:16px;align-items:start;}
.etm-coverage-map{
  position:relative;width:100%;background:linear-gradient(180deg,#fbfdff,#f3f7fc);
  border:1px solid var(--p-line);border-radius:14px;padding:22px;min-height:360px;
  display:flex;justify-content:center;overflow:hidden;
}
.etm-map-zoom-layer{position:relative;width:100%;max-width:430px;transition:transform .24s ease;transform-origin:var(--etm-map-zoom-x,50%) var(--etm-map-zoom-y,50%);}
.etm-coverage-map.is-zoomed .etm-map-zoom-layer{transform:scale(1.45);}
.etm-ukmap-svg{width:100%;height:auto;display:block;}
.etm-ukmap-region{transition:fill .15s ease;}
.etm-map-pin{
  position:absolute;z-index:3;display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;margin:-30px 0 0 -17px;border-radius:999px;background:#E01E26;color:#fff;
  box-shadow:0 8px 20px rgba(224,30,38,.34),0 0 0 8px rgba(224,30,38,.13);
  animation:etm-map-pin-pulse 1.8s ease-out infinite;
}
.etm-map-pin:focus{outline:2px solid #001238;outline-offset:4px;}
.etm-map-pin svg,.etm-map-pin .etm-ico{width:18px;height:18px;color:#fff;}
.etm-map-pin-depot{
  width:22px;height:22px;margin:-18px 0 0 -11px;background:#f59e0b;
  box-shadow:0 5px 14px rgba(245,158,11,.32),0 0 0 5px rgba(245,158,11,.16);
  animation:none;
}
.etm-map-pin-depot svg,.etm-map-pin-depot .etm-ico{width:12px;height:12px;color:#fff;}
.etm-map-pin-label{
  position:absolute;left:50%;bottom:calc(100% + 11px);transform:translateX(-50%) translateY(4px);
  min-width:170px;max-width:260px;padding:9px 11px;border-radius:8px;background:#121417;color:#fff;
  box-shadow:0 12px 24px rgba(18,20,23,.22);font-size:12px;font-weight:600;line-height:1.35;
  opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;text-align:left;
}
.etm-map-pin-label:after{content:"";position:absolute;left:50%;top:100%;margin-left:-6px;border:6px solid transparent;border-top-color:#121417;}
.etm-map-pin-label strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#f8c24f;margin-bottom:2px;}
.etm-map-pin:hover .etm-map-pin-label,.etm-map-pin:focus .etm-map-pin-label{opacity:1;transform:translateX(-50%) translateY(0);}
.etm-map-zoom-toggle{
  position:absolute;right:14px;top:14px;z-index:4;border:1px solid #d8e0eb;border-radius:8px;background:#fff;
  color:#121417;font-size:12px;font-weight:800;padding:8px 10px;cursor:pointer;box-shadow:0 8px 18px rgba(18,20,23,.08);
}
.etm-map-zoom-toggle:hover{border-color:#121417;}
@keyframes etm-map-pin-pulse{
  0%{box-shadow:0 8px 20px rgba(224,30,38,.34),0 0 0 0 rgba(224,30,38,.28);}
  70%{box-shadow:0 8px 20px rgba(224,30,38,.34),0 0 0 14px rgba(224,30,38,0);}
  100%{box-shadow:0 8px 20px rgba(224,30,38,.34),0 0 0 0 rgba(224,30,38,0);}
}

.etm-coverage-side{display:flex;flex-direction:column;gap:12px;}
.etm-coverage-legend{display:flex;gap:18px;font-size:12px;color:#5b6680;}
.etm-legend-item{display:inline-flex;align-items:center;gap:7px;font-weight:600;}
.etm-legend-dot{width:12px;height:12px;border-radius:4px;background:#dbe3ee;display:inline-block;}
.etm-legend-dot.is-on{background:#00c9a7;}
.etm-map-location-list{border:1px solid var(--p-line);border-radius:12px;background:#fff;padding:12px 14px;}
.etm-map-location-list h3{font-size:13px;line-height:1.2;margin:0 0 9px;color:#001238;}
.etm-map-location-list ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.etm-map-location-list li{display:grid;grid-template-columns:12px minmax(0,1fr);gap:9px;align-items:start;font-size:12.5px;line-height:1.35;color:#5b6680;}
.etm-map-location-list strong{display:block;color:#001238;font-size:12px;}
.etm-location-dot{width:10px;height:10px;border-radius:99px;margin-top:4px;background:#e01e26;box-shadow:0 0 0 4px rgba(224,30,38,.12);}
.etm-location-dot.is-depot{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.15);}

.etm-coverage-count{font-size:13px;font-weight:700;color:#001238;margin:0;}
.etm-coverage-ukwide{display:flex;align-items:center;gap:11px;background:#f0fdfa;border:1px solid #9bead9;border-radius:11px;padding:12px 14px;}
.etm-coverage-ukwide .etm-ico{width:20px;height:20px;color:#04a98c;flex:0 0 auto;}
.etm-coverage-ukwide span{display:flex;flex-direction:column;gap:2px;}
.etm-coverage-ukwide strong{font-size:14px;color:#001238;}
.etm-coverage-ukwide small{font-size:12px;color:#5b6680;line-height:1.4;}

.etm-coverage-pills{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:7px;}
.etm-coverage-pills li{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#0c3b35;background:#e8fbf6;border:1px solid #9bead9;padding:5px 11px;border-radius:99px;}
.etm-coverage-pills .etm-ico{width:13px;height:13px;color:#04a98c;}

/* Sidebar coverage map sits in a narrow column → stack neatly */
.etm-profile-page .etm-coverage-card .etm-ukmap-svg{max-width:360px;}
@media(max-width:820px){
  .etm-coverage{grid-template-columns:1fr;}
  .etm-coverage-map{min-height:300px;padding:16px;}
}

/* ============ Services offered — stand-out card ============ */
.etm-profile-page .etm-services-card{border-color:#bfe9df;box-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 26px rgba(0,201,167,.07);}
.etm-profile-page .etm-services-card h2{display:flex;align-items:center;gap:9px;color:var(--p-navy);border-bottom-color:#cdeee6;}
.etm-profile-page .etm-services-card h2 .etm-ico{width:18px;height:18px;color:var(--p-teal-d);}
.etm-profile-page .etm-services-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;}
.etm-profile-page .etm-services-grid .etm-chip{
  background:linear-gradient(180deg,#f3fdfb,#ffffff);
  border-color:#bfe9df;padding:14px 16px;border-radius:13px;
  font-size:14.5px;font-weight:700;color:var(--p-navy);
}
.etm-profile-page .etm-services-grid .etm-chip .etm-ico{width:19px;height:19px;color:var(--p-teal-d);}

/* ============ Reviews — summary + empty state ============ */
.etm-profile-page .etm-reviews-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--p-line);}
.etm-profile-page .etm-reviews-head h2{margin:0;padding:0;border:none;}
.etm-profile-page .etm-reviews-summary{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--p-muted);}
.etm-profile-page .etm-reviews-summary .etm-stars{display:inline-flex;gap:2px;}
.etm-profile-page .etm-reviews-summary .etm-star{color:#e2e7f0;width:16px;height:16px;display:inline-flex;}
.etm-profile-page .etm-reviews-summary .etm-star.on{color:#ffb400;}
.etm-profile-page .etm-reviews-summary .etm-star.half{color:#ffb400;opacity:.55;}
.etm-profile-page .etm-reviews-summary .etm-star .etm-ico{width:16px;height:16px;}
.etm-profile-page .etm-reviews-summary b{font-size:16px;font-weight:800;color:var(--p-navy);}
.etm-profile-page .etm-reviews-count{font-weight:600;}
.etm-profile-page .etm-reviews-empty{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:18px 0 6px;}
.etm-profile-page .etm-review-stars-empty{color:#dbe1ec;justify-content:center;}
.etm-profile-page .etm-reviews-empty p{margin:0;font-size:14px;color:var(--p-muted);font-weight:600;}

/* ============ Enquiry form — standout section ============ */
.etm-profile-page .etm-enquiry-section{
  border:2px solid var(--p-teal);
  box-shadow:0 2px 4px rgba(16,24,40,.05),0 14px 40px rgba(0,201,167,.12);
  position:relative;
}
.etm-profile-page .etm-enquiry-section::before{
  content:"";position:absolute;left:0;top:0;height:100%;width:5px;
  background:var(--p-teal);border-radius:var(--p-radius) 0 0 var(--p-radius);
}
.etm-profile-page .etm-enquiry-head{display:flex;align-items:flex-start;gap:14px;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--p-line);}
.etm-profile-page .etm-enquiry-ico{
  flex:0 0 auto;width:46px;height:46px;border-radius:13px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#f0fdfa;border:1px solid #9bead9;color:var(--p-teal-d);
}
.etm-profile-page .etm-enquiry-ico .etm-ico{width:22px;height:22px;}
.etm-profile-page .etm-enquiry-head h2{margin:0;padding:0;border:none;font-size:20px;}
.etm-profile-page .etm-enquiry-sub{margin:4px 0 0;font-size:14px;color:var(--p-muted);}

/* ============ Share this ETM — navy card ============ */
.etm-profile-page .etm-share-card{
  background:var(--p-navy);border:1px solid var(--p-navy);color:#fff;
  box-shadow:0 10px 30px rgba(0,18,56,.22);
}
.etm-profile-page .etm-share-title{
  display:flex;align-items:center;gap:9px;margin:0 0 12px;
  font-size:14px;font-weight:800;color:#fff;letter-spacing:-.1px;
}
.etm-profile-page .etm-share-title .etm-ico{width:18px;height:18px;color:var(--p-teal);}
.etm-profile-page .etm-share-link{
  margin:0 0 14px;font-size:14px;font-weight:700;color:#7df0d9;word-break:break-all;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  border-radius:10px;padding:10px 12px;
}
.etm-profile-page .etm-share-copy{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;
  background:var(--p-teal);color:var(--p-teal-ink);border:none;border-radius:11px;
  padding:11px 16px;font-size:14px;font-weight:800;cursor:pointer;
  transition:background .15s ease;
}
.etm-profile-page .etm-share-copy:hover{background:#21d8b9;}
.etm-profile-page .etm-share-copy.is-copied{background:#fff;color:var(--p-navy);}
.etm-profile-page .etm-share-copy .etm-ico{width:16px;height:16px;}

/* ============ Click-to-reveal email ============ */
.etm-profile-page .etm-email-row{align-items:center;}
.etm-profile-page .etm-reveal-email{
  background:none;border:none;padding:0;cursor:pointer;
  font:inherit;font-size:14px;font-weight:600;color:var(--p-teal-d);
  text-decoration:underline;text-underline-offset:2px;
}
.etm-profile-page .etm-reveal-email:hover{color:var(--p-navy);}
.etm-profile-page .etm-email-row a{color:var(--p-ink);text-decoration:none;font-weight:600;word-break:break-all;}
.etm-profile-page .etm-email-row a:hover{color:var(--p-teal-d);}

/* ============ Responsive ============ */
@media(max-width:980px){
  .etm-profile-page .etm-profile-grid{grid-template-columns:1fr;}
  .etm-profile-page .etm-sidebar-sticky{position:static;}
}
@media(max-width:760px){
  .etm-profile-page .etm-profile-hero{min-height:0;}
  .etm-profile-page .etm-hero-inner{grid-template-columns:1fr;gap:18px;text-align:left;min-height:0;padding:30px 24px;}
  .etm-profile-page .etm-hero-cta-col{min-width:0;width:100%;}
  .etm-profile-page .etm-card{padding:20px;}
  /* Hero avatar a touch smaller; CTAs and form full width */
  .etm-profile-page .etm-hero-avatar img,.etm-profile-page .etm-hero-initials{width:84px;height:84px;}
  .etm-profile-page .etm-hero-main h1{font-size:25px;}
  .etm-profile-page .etm-form-grid{grid-template-columns:1fr;}
  .etm-profile-page .etm-enquiry-form .ef-row{flex-direction:column;}
  .etm-profile-page .etm-share-copy,.etm-profile-page .etm-copy-btn{min-height:44px;}
}
@media(max-width:480px){
  .etm-profile-page .etm-hero-meta{gap:10px 14px;}
  .etm-profile-page .etm-hero-services{gap:10px;}
  .etm-profile-page .etm-card{padding:16px;}
  .etm-profile-page .etm-card h2{font-size:16px;}
}

/* ---- Prominent "Claim this business" CTA (unclaimed imported operator listings) ---- */
.etm-btn-claim{
  padding:15px 16px !important;font-size:15px !important;font-weight:800 !important;
  letter-spacing:.01em;white-space:nowrap;box-shadow:0 8px 20px rgba(0,201,167,.35) !important;
}
.etm-btn-claim svg,.etm-btn-claim .etm-ico{width:19px;height:19px;}
/* Sidebar claim button gets a little breathing room from the badge above it. */
.etm-profile-page .etm-sidebar-sticky > .etm-btn-claim{margin-top:2px;}
/* On mobile the hero already shows the claim CTA right above; avoid a duplicate. */
@media(max-width:980px){
  .etm-profile-page .etm-sidebar .etm-btn-claim{display:none !important;}
}

/* Back-to-results link on profile pages */
.etm-profile-page .etm-back-results{
  display:inline-flex;align-items:center;gap:7px;margin:0 0 16px;
  color:var(--p-muted);font-size:14px;font-weight:600;text-decoration:none;
}
.etm-profile-page .etm-back-results:hover{color:var(--p-teal);}
.etm-profile-page .etm-back-results svg{width:17px;height:17px;}

/* ---- Unclaimed operator: structured licence facts + grey claim prompt ---- */
.etm-profile-page .etm-licence-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;margin:0 0 14px;}
.etm-profile-page .etm-licence-facts div{display:flex;flex-direction:column;gap:3px;min-width:0;}
.etm-profile-page .etm-licence-facts dt{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--p-muted);margin:0;}
.etm-profile-page .etm-licence-facts dd{margin:0;font-size:15px;font-weight:600;color:var(--p-ink);word-break:break-word;}
.etm-profile-page .etm-source-note{margin:4px 0 0;font-size:12.5px;color:var(--p-muted);}
.etm-profile-page .etm-claim-empty .etm-empty-note{color:var(--p-muted);font-size:14.5px;margin:0 0 16px;}
.etm-profile-page .etm-claim-empty .etm-btn-claim{display:inline-flex;width:auto;background:var(--p-soft);border:1px solid var(--p-line);color:var(--p-ink);font-weight:600;}
.etm-profile-page .etm-claim-empty .etm-btn-claim:hover{background:#fff;border-color:var(--p-navy);color:var(--p-navy);}
@media(max-width:560px){.etm-profile-page .etm-licence-facts{grid-template-columns:1fr;}}

/* ---- Unclaimed operator quote CTA ---- */
.etm-profile-page .etm-unclaimed-quote{
  border-color:#dbe3ee;
  box-shadow:0 1px 2px rgba(16,24,40,.04),0 12px 32px rgba(18,20,23,.06);
}
.etm-profile-page .etm-unclaimed-quote .etm-enquiry-head{
  margin-bottom:18px;
  padding-bottom:16px;
}
.etm-profile-page .tcuk-profile-quote-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.etm-profile-page .tcuk-profile-quote-option{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 28px;
  gap:12px;
  align-items:center;
  min-height:78px;
  padding:12px;
  border:1px solid #dbe3ee;
  border-radius:10px;
  background:#fff;
  color:#121417;
  text-decoration:none;
  box-shadow:0 6px 18px rgba(18,20,23,.04);
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.etm-profile-page .tcuk-profile-quote-option:hover{
  border-color:#E01E26;
  box-shadow:0 12px 24px rgba(18,20,23,.08);
  transform:translateY(-1px);
  color:#121417;
}
.etm-profile-page .tcuk-profile-quote-ico{
  width:38px;height:38px;border-radius:9px;background:#121417;color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
}
.etm-profile-page .tcuk-profile-quote-ico svg,
.etm-profile-page .tcuk-profile-quote-ico .etm-ico{width:19px;height:19px;color:#fff;}
.etm-profile-page .tcuk-profile-quote-copy{display:flex;flex-direction:column;gap:3px;min-width:0;}
.etm-profile-page .tcuk-profile-quote-copy strong{font-size:14.5px;font-weight:800;line-height:1.14;color:#121417;}
.etm-profile-page .tcuk-profile-quote-copy em{font-style:normal;font-size:12.5px;line-height:1.35;color:#64748b;}
.etm-profile-page .tcuk-profile-quote-arrow{
  width:28px;height:28px;border-radius:999px;background:#E01E26;color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
}
.etm-profile-page .tcuk-profile-quote-arrow svg,
.etm-profile-page .tcuk-profile-quote-arrow .etm-ico{width:15px;height:15px;color:#fff;}
.etm-profile-page .tcuk-profile-quote-main{margin-top:16px;}
@media(max-width:760px){
  .etm-profile-page .tcuk-profile-quote-options{grid-template-columns:1fr;}
}

/* ---- Depot locations ---- */
.etm-profile-page .etm-depot-list{list-style:none;margin:0;padding:0;display:grid;gap:9px;}
.etm-profile-page .etm-depot-list li{
  display:flex;align-items:flex-start;gap:9px;background:#f8fafc;border:1px solid #e3e8f1;
  border-radius:10px;padding:10px 12px;color:#1b2540;font-weight:650;
}
.etm-profile-page .etm-depot-list svg,.etm-profile-page .etm-depot-list .etm-ico{width:16px;height:16px;color:#12a150;flex:0 0 auto;margin-top:2px;}

/* ---- TCUK operator photos ---- */
.etm-profile-page .etm-featured-photo-card{padding:0;overflow:hidden;}
.etm-profile-page .etm-featured-photo-card a{display:block;}
.etm-profile-page .etm-featured-photo-card img{
  width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;display:block;
}
.etm-profile-page .etm-company-gallery-card h2{margin-bottom:16px;}
.etm-profile-page .etm-company-gallery{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;
}
.etm-profile-page .etm-company-gallery a{
  display:block;aspect-ratio:4/3;border-radius:12px;overflow:hidden;
  background:var(--p-soft);border:1px solid var(--p-line);
}
.etm-profile-page .etm-company-gallery img{
  width:100%;height:100%;object-fit:cover;display:block;transition:transform .18s ease;
}
.etm-profile-page .etm-company-gallery a:hover img{transform:scale(1.035);}
@media(max-width:760px){
  .etm-profile-page .etm-hero-avatar.etm-hero-photo img{width:100%;max-width:320px;height:auto;aspect-ratio:16/10;}
  .etm-profile-page .etm-company-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:480px){
  .etm-profile-page .etm-company-gallery{grid-template-columns:1fr;}
}

/* ---- Image lightbox ---- */
body.etm-lightbox-open{overflow:hidden;}
.etm-lightbox[hidden]{display:none!important;}
.etm-lightbox{
  position:fixed;z-index:99999;inset:0;background:rgba(18,20,23,.88);
  display:flex;align-items:center;justify-content:center;padding:34px;
}
.etm-lightbox img{max-width:min(1100px,92vw);max-height:86vh;object-fit:contain;border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.5);}
.etm-lightbox button{
  position:absolute;border:0;border-radius:999px;background:#fff;color:#121417;
  width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;
  font-size:28px;font-weight:800;line-height:1;cursor:pointer;
}
.etm-lightbox-close{right:24px;top:24px;}
.etm-lightbox-prev{left:24px;top:50%;transform:translateY(-50%);}
.etm-lightbox-next{right:24px;top:50%;transform:translateY(-50%);}

/* ---- Related profile cards ---- */
.etm-profile-page .etm-related-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.etm-profile-page .etm-related-head h2{margin:0;}
.etm-profile-page .etm-related-head span{font-size:12px;font-weight:800;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:5px 10px;}
.etm-profile-page .etm-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.etm-profile-page .etm-related-card{
  display:flex;gap:11px;align-items:center;text-decoration:none;color:#121417;border:1px solid #e3e8f1;
  border-radius:10px;padding:10px;background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s;
}
.etm-profile-page .etm-related-card:hover{border-color:#E01E26;box-shadow:0 12px 24px rgba(18,20,23,.08);transform:translateY(-1px);}
.etm-profile-page .etm-related-card img{width:52px;height:52px;border-radius:8px;object-fit:cover;background:#f1f5f9;flex:0 0 auto;}
.etm-profile-page .etm-related-copy{display:flex;flex-direction:column;gap:4px;min-width:0;}
.etm-profile-page .etm-related-copy strong{font-size:14px;line-height:1.2;color:#121417;}
.etm-profile-page .etm-related-copy em{font-style:normal;font-size:12.5px;color:#64748b;}
.etm-profile-page .etm-related-copy .etm-vbadge{align-self:flex-start;font-size:10.5px;padding:3px 8px;}
@media(max-width:860px){.etm-profile-page .etm-related-grid{grid-template-columns:1fr;}}
