/*
Theme Name: Two Coding Technologies
Theme URI: https://twocoding.com/
Author: Two Coding Technologies
Author URI: https://twocoding.com/
Description: Custom premium static-to-WordPress theme for Two Coding Technologies. Pure HTML, custom CSS and vanilla JavaScript based design with preserved Two Coding branding.
Version: 9.9
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: two-coding-technologies
*/


/* ======================================================================
   Two Coding v9 global social footer
   Managed once in footer.php and displayed consistently on every page.
====================================================================== */
.tc-global-social-section{
  position:relative;
  padding:76px 0 58px;
  border-top:1px solid rgba(227,232,241,.92);
  background:
    radial-gradient(circle at 10% 18%,rgba(85,64,192,.07),transparent 30%),
    radial-gradient(circle at 90% 12%,rgba(62,165,177,.09),transparent 30%),
    rgba(246,249,252,.72);
}
.tc-global-social-inner{text-align:center}
.tc-global-footer-eyebrow{
  display:inline-flex;align-items:center;gap:9px;min-height:34px;padding:8px 15px;
  border:1px solid rgba(85,64,192,.14);border-radius:999px;background:rgba(255,255,255,.82);
  color:#5540C0;font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;
  box-shadow:0 8px 22px rgba(41,60,87,.05)
}
.tc-global-footer-eyebrow i{display:block;width:8px;height:8px;border-radius:50%;background:#3EA5B1}
.tc-global-social-section h2{
  max-width:1000px;margin:24px auto 0;color:#293C57;font-size:clamp(36px,4vw,66px);
  line-height:1.08;letter-spacing:-.05em;font-weight:800
}
.tc-global-social-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-top:40px}
.tc-global-social-btn{
  display:flex;align-items:center;justify-content:center;gap:15px;min-height:82px;padding:15px 18px;
  border:1px solid rgba(227,232,241,.98);border-radius:22px;background:rgba(255,255,255,.88);
  color:#293C57;text-decoration:none;box-shadow:12px 14px 34px rgba(41,60,87,.08),inset 1px 1px 0 rgba(255,255,255,.9);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}
.tc-global-social-btn:hover,.tc-global-social-btn:focus-visible{
  transform:translateY(-3px);border-color:rgba(85,64,192,.22);outline:none;
  box-shadow:16px 20px 42px rgba(41,60,87,.12),inset 1px 1px 0 rgba(255,255,255,.95)
}
.tc-global-social-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px}
.tc-global-social-icon img{display:block!important;width:34px!important;height:34px!important;object-fit:contain!important}
.tc-global-social-btn strong{font-size:16px;font-weight:850}
.tc-global-social-section+footer,.tc-global-social-section+.tc-footer{margin-top:0!important}
@media(max-width:1050px){.tc-global-social-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){
  .tc-global-social-section{padding:56px 0 42px}
  .tc-global-social-section h2{font-size:clamp(32px,9vw,46px);margin-top:20px}
  .tc-global-social-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:30px}
  .tc-global-social-btn{min-height:68px;padding:12px 10px;border-radius:18px;gap:10px}
  .tc-global-social-icon{width:34px;height:34px;flex-basis:34px}.tc-global-social-icon img{width:29px!important;height:29px!important}
  .tc-global-social-btn strong{font-size:14px}
}
@media(max-width:420px){.tc-global-social-grid{grid-template-columns:1fr}.tc-global-social-btn{justify-content:flex-start;padding-left:28px}}
@media(prefers-reduced-motion:reduce){.tc-global-social-btn{transition:none}}


/* ======================================================================
   Two Coding v9.1 mobile footer, home CTA and cursor polish
====================================================================== */

/* Avoid accidental text-caret appearance on buttons, menus and cards. */
body{caret-color:transparent;cursor:default}
a,button,summary,[role="button"],.btn,.tc-btn,.menu-toggle,.tc-menu,
.tc-global-social-btn,.contact-detail,.faq-q,.tc-faq summary{
  caret-color:transparent;
  -webkit-user-select:none;
  user-select:none;
  cursor:pointer;
}
input,textarea,[contenteditable="true"]{
  caret-color:auto;
  -webkit-user-select:text;
  user-select:text;
  cursor:text;
}
select{caret-color:auto;cursor:pointer}

/* Portfolio is only added below Book Consultation in the mobile home hero. */
.home-mobile-portfolio-btn{display:none!important}

@media(max-width:900px){
  .mobile-portfolio-link{display:none!important}
  body.tc-home-page .hero-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:11px!important;
  }
  body.tc-home-page .hero-actions .home-mobile-portfolio-btn{
    display:inline-flex!important;
    width:100%!important;
    min-width:0!important;
    background:#fff!important;
    color:#293C57!important;
    border:1px solid rgba(85,64,192,.14)!important;
    box-shadow:0 12px 28px rgba(41,60,87,.10)!important;
  }
  body.tc-home-page .hero-actions .home-mobile-portfolio-btn:hover,
  body.tc-home-page .hero-actions .home-mobile-portfolio-btn:focus-visible{
    color:#5540C0!important;
    border-color:rgba(85,64,192,.28)!important;
    background:#fff!important;
  }
}

/* Mobile social links stay in a single compact row. */
@media(max-width:700px){
  .tc-global-social-grid{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    margin-top:28px!important;
  }
  .tc-global-social-btn{
    width:56px!important;
    min-width:56px!important;
    height:56px!important;
    min-height:56px!important;
    flex:0 0 56px!important;
    padding:0!important;
    border-radius:17px!important;
    gap:0!important;
  }
  .tc-global-social-icon{
    width:34px!important;
    height:34px!important;
    flex:0 0 34px!important;
  }
  .tc-global-social-icon img{
    width:30px!important;
    height:30px!important;
  }
  .tc-global-social-btn strong{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
  }
}

@media(max-width:360px){
  .tc-global-social-grid{gap:7px!important}
  .tc-global-social-btn{width:50px!important;min-width:50px!important;height:50px!important;min-height:50px!important;flex-basis:50px!important}
  .tc-global-social-icon{width:31px!important;height:31px!important;flex-basis:31px!important}
  .tc-global-social-icon img{width:27px!important;height:27px!important}
}


/* ======================================================================
   Two Coding v9.4 sticky WhatsApp chat
   Icon-only by default; expands on desktop hover/focus.
====================================================================== */
.tc-whatsapp-sticky{
  position:fixed;
  left:18px;
  bottom:18px;
  z-index:99988;
  display:flex;
  align-items:center;
  gap:10px;
  width:58px;
  height:58px;
  padding:7px;
  overflow:hidden;
  border:1px solid rgba(37,211,102,.28);
  border-radius:20px;
  background:rgba(255,255,255,.98);
  color:#173B2B;
  box-shadow:0 16px 36px rgba(23,59,43,.20);
  text-decoration:none!important;
  user-select:none;
  -webkit-user-select:none;
  transition:width .24s ease,transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.tc-whatsapp-sticky:hover,
.tc-whatsapp-sticky:focus-visible{
  width:184px;
  transform:translateY(-2px);
  border-color:rgba(37,211,102,.52);
  box-shadow:0 20px 44px rgba(23,59,43,.25);
  outline:none;
}
.tc-whatsapp-sticky__icon{
  display:grid;
  place-items:center;
  flex:0 0 44px;
  width:44px;
  height:44px;
  border-radius:15px;
  background:#25D366;
  color:#fff;
  box-shadow:0 9px 20px rgba(37,211,102,.28);
}
.tc-whatsapp-sticky__icon svg{display:block!important;width:25px!important;height:25px!important;min-width:25px!important;min-height:25px!important;max-width:25px!important;max-height:25px!important;fill:currentColor!important;overflow:visible}
.tc-whatsapp-sticky__label{
  display:block;
  flex:0 0 auto;
  opacity:0;
  transform:translateX(-7px);
  white-space:nowrap;
  font-size:14px;
  line-height:1;
  font-weight:850;
  letter-spacing:.01em;
  transition:opacity .18s ease .04s,transform .18s ease .04s;
}
.tc-whatsapp-sticky:hover .tc-whatsapp-sticky__label,
.tc-whatsapp-sticky:focus-visible .tc-whatsapp-sticky__label{opacity:1;transform:none}
@media(max-width:700px){
  .tc-whatsapp-sticky,
  .tc-whatsapp-sticky:hover,
  .tc-whatsapp-sticky:focus-visible{
    left:14px;
    bottom:15px;
    width:54px;
    height:54px;
    padding:6px;
    border-radius:18px;
    transform:none;
  }
  .tc-whatsapp-sticky__icon{width:42px;height:42px;flex-basis:42px;border-radius:14px}
  .tc-whatsapp-sticky__icon svg{width:24px;height:24px}
  .tc-whatsapp-sticky__label{display:none}
}
@media(prefers-reduced-motion:reduce){
  .tc-whatsapp-sticky,.tc-whatsapp-sticky__label{transition:none}
}


/* v9.5 fail-safe: prevent any page-level SVG rule from enlarging the sticky WhatsApp icon. */
.tc-whatsapp-sticky,.tc-whatsapp-sticky *{box-sizing:border-box}
.tc-whatsapp-sticky__icon>svg,.tc-whatsapp-sticky__icon>svg path{transform:none!important}
.tc-whatsapp-sticky__icon>svg{position:static!important;inset:auto!important;margin:0!important;padding:0!important}


/* V9.7: footer logo aspect-ratio and responsive sizing */
.footer-inner .tc-footer-logo,.tc-footer-inner .tc-footer-logo{display:block!important;width:190px!important;max-width:min(190px,70vw)!important;height:auto!important;aspect-ratio:520/137!important;object-fit:contain!important;flex:0 0 auto!important}
@media(max-width:700px){.footer-inner .tc-footer-logo,.tc-footer-inner .tc-footer-logo{width:170px!important;max-width:62vw!important;height:auto!important}}


/* V9.8 real-device mobile consultation trigger */
body.tc-home-page .hero-actions{position:relative!important;z-index:20!important;pointer-events:auto!important}
body.tc-home-page .tc-hero-consultation-trigger{position:relative!important;z-index:21!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;user-select:none!important;-webkit-user-select:none!important;font:inherit!important}
@media(max-width:900px){body.tc-home-page .tc-hero-consultation-trigger{min-height:58px!important}}
