/* TRADDER contact panel V3. The existing Elementor position and the Google map remain untouched. */
.tcv3-panel{background:#f3f9f3!important;border:1px solid #dbe8dc!important;border-left:5px solid #5cba42!important;border-radius:15px!important;box-shadow:0 3px 18px rgba(19,56,29,.045)!important;color:#15352a!important;box-sizing:border-box!important;overflow:hidden!important}
.tcv3-panel .tcv3-inner{box-sizing:border-box;width:100%;min-height:100%;display:flex;flex-direction:column;justify-content:flex-start;gap:0;padding:29px 26px 27px!important;font-family:inherit;color:#182d32}
.tcv3-panel .tcv3-row{display:grid;grid-template-columns:60px minmax(0,1fr);align-items:center;column-gap:16px;padding:15px 0;border-bottom:1px solid #dae8dd;min-width:0}
.tcv3-panel .tcv3-row:first-child{padding-top:0}
.tcv3-panel .tcv3-row:nth-child(4){border-bottom:0}
.tcv3-panel .tcv3-icon{display:flex;justify-content:center;align-items:center;width:55px;height:55px;border-radius:50%;background:#e0f1e2;color:#174c2c;opacity:1;flex-shrink:0}
.tcv3-panel .tcv3-icon svg{display:block;width:29px;height:29px;color:#174c2c;stroke:#174c2c;fill:none;opacity:1}
.tcv3-panel .tcv3-value,.tcv3-panel .tcv3-value .tcv3-line{min-width:0;color:#172f31!important;font-size:18px!important;line-height:1.38!important;font-weight:400!important;overflow-wrap:break-word}
.tcv3-panel .tcv3-line{display:block;text-decoration:none!important}
.tcv3-panel a.tcv3-line:hover{color:#3a9f31!important}
.tcv3-panel .tcv3-bottom{padding-top:18px;margin-top:0}
.tcv3-panel .tcv3-heading{font-size:27px!important;font-weight:600!important;line-height:1.2!important;margin:0 0 20px!important;color:#153b2d!important;padding:0!important}
.tcv3-panel .tcv3-action{width:100%}
.tcv3-panel .tcv3-action .elementor-button{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:58px;padding:12px 15px!important;background:#5cba42!important;color:#fff!important;border:0!important;border-radius:12px!important;box-shadow:0 5px 16px rgba(57,145,42,.14)!important;font-family:inherit!important;font-size:19px!important;font-weight:400!important;line-height:1.3!important;text-decoration:none!important}
.tcv3-panel .tcv3-action .elementor-button *{color:#fff!important;fill:currentColor}
.tcv3-panel .tcv3-action .elementor-button:hover{background:#43a52d!important}
@media(max-width:767px){.tcv3-panel .tcv3-inner{padding:23px 19px 24px!important}.tcv3-panel .tcv3-row{grid-template-columns:51px minmax(0,1fr);column-gap:13px;padding:13px 0}.tcv3-panel .tcv3-icon{width:48px;height:48px}.tcv3-panel .tcv3-icon svg{width:26px;height:26px}.tcv3-panel .tcv3-value,.tcv3-panel .tcv3-value .tcv3-line{font-size:16px!important;line-height:1.42!important}.tcv3-panel .tcv3-bottom{padding-top:16px}.tcv3-panel .tcv3-heading{font-size:23px!important;margin-bottom:17px!important}.tcv3-panel .tcv3-action .elementor-button{min-height:54px;font-size:17px!important}}

/* 0.5.2.83: preserve the approved desktop layout; fix button icon alignment. */
.tcv3-panel .tcv3-mobile-title{display:none!important}
.tcv3-panel .tcv3-action .elementor-button .elementor-button-content-wrapper{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;flex-wrap:nowrap!important}
.tcv3-panel .tcv3-action .elementor-button .elementor-button-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;margin:0!important;flex-shrink:0!important}
.tcv3-panel .tcv3-action .elementor-button .elementor-button-icon svg,.tcv3-panel .tcv3-action .elementor-button .elementor-button-icon i{vertical-align:middle!important}
.tcv3-panel .tcv3-action .elementor-button .elementor-button-text{line-height:1.3!important}
@media(max-width:767px){
 .tcv3-panel .tcv3-inner{padding:28px 20px 31px!important}
 .tcv3-panel .tcv3-mobile-title{display:block!important;font-family:inherit!important;color:#153b2d!important;font-size:28px!important;font-weight:600!important;line-height:1.18!important;margin:0 0 19px!important;padding:0!important;text-align:center!important;text-transform:uppercase!important;letter-spacing:0!important}
 .tcv3-panel .tcv3-bottom{padding-top:19px!important}
}

/* 0.5.2.84: mobile contacts heading follows the same typography geometry as the publication headings. */
@media(max-width:767px){
 .tcv3-panel .tcv3-mobile-title{
  font-family:inherit!important;
  font-size:clamp(28px,8vw,36px)!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  letter-spacing:0!important;
  text-align:center!important;
  margin:0 0 18px!important;
  padding:8px 0!important;
  color:#153b2d!important;
 }
}

/* 0.5.2.85: display the ACTUAL Elementor contact heading on mobile.
   Preserve Elementor widget-level decorative image/animation properties. */
@media(max-width:767px){
 .tcv3-panel .tcv3-original-heading{display:block!important;position:relative!important;visibility:visible!important;opacity:1!important;transform:none!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0 0 20px!important;padding:0!important;text-align:center!important;border:0!important;box-shadow:none!important;overflow:visible!important}
 .tcv3-panel .tcv3-original-heading .elementor-widget-container{display:block!important;overflow:visible!important;text-align:center!important}
 .tcv3-panel .tcv3-original-heading .elementor-heading-title{display:inline-block!important;visibility:visible!important;opacity:1!important;font-size:clamp(28px,8vw,36px)!important;line-height:1.22!important;text-align:center!important;margin:0!important;padding:6px 0!important}
}

/* 0.5.2.86: mobile spacing only. Keep the original Elementor headline effect.
   The cloned widget may inherit large theme/Elementor widget spacers. */
@media (max-width:767px){
 .tcv3-panel .tcv3-inner{justify-content:flex-start!important;gap:0!important}
 .tcv3-panel .tcv3-mobile-title.tcv3-original-heading{
  display:block!important;flex:0 0 auto!important;align-self:stretch!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  margin:0 0 8px!important;padding:0!important;
 }
 .tcv3-panel .tcv3-original-heading .elementor-widget-container{
  height:auto!important;min-height:0!important;max-height:none!important;
  margin:0!important;padding:0!important;
 }
 .tcv3-panel .tcv3-original-heading .elementor-heading-title{
  height:auto!important;min-height:0!important;max-height:none!important;
  margin:0!important;padding:0!important;
 }
 .tcv3-panel .tcv3-original-heading + .tcv3-row{padding-top:8px!important}
}

/* 0.5.2.87: strictly mobile compact title spacing. Do not change typography or other blocks. */
@media (max-width:767px){
 .tcv3-panel .tcv3-inner{padding-top:8px!important}
 .tcv3-panel .tcv3-mobile-title.tcv3-original-heading{margin-top:-18px!important;margin-bottom:0!important}
 .tcv3-panel .tcv3-original-heading + .tcv3-row{padding-top:0!important}
}

/* 0.5.2.88: mobile-only visual alignment. Move the decorative title up
   without changing the position of the first contact row. */
@media (max-width:767px){
 .tcv3-panel .tcv3-mobile-title.tcv3-original-heading{position:relative!important;top:-20px!important}
 .tcv3-panel .tcv3-bottom .tcv3-heading{text-align:center!important}
}
