/* === Telsnet Global Modern Theme (applied to old site) === */
:root{
  --bg: #0f172a;
  --card: #111827;
  --muted: #94a3b8;
  --text: #e5e7eb;
  --accent: #22c55e;
  --accent-2:#06b6d4;
  --ring: rgba(34,197,94,.35);
  --radius: 14px;
}
html{scroll-behavior:smooth}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color: var(--text);
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(6,182,212,.15), transparent 60%),
    radial-gradient(1000px 700px at 90% 0%, rgba(34,197,94,.12), transparent 60%),
    var(--bg);
}
a{color: var(--accent-2)}
a:hover{text-decoration: underline}
/* Header background match, non-destructive (targets common header classes/ids) */
header, .navbar, .site-header, #header{
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.card, .panel, .box{
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius);
  box-shadow: 0 8px 24px rgba(0,0,0,.2);
}
button, .btn{
  background: linear-gradient(180deg, var(--accent), #16a34a);
  color: white !important;
  border: 0; border-radius: var(--radius);
  padding: .6rem .9rem; font-weight: 700;
  box-shadow: 0 8px 24px rgba(34,197,94,.25);
  cursor:pointer;
}
input, textarea{
  background: #0b1220; color: var(--text);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px; padding: .6rem .75rem;
  outline: none;
}
input:focus, textarea:focus{ border-color: var(--accent); box-shadow: 0 0 0 4px var(--ring) }
/* Flip system — text always white */
.tsn-flip{ perspective: 1200px; position: relative; }
.tsn-flip, .tsn-flip *{ color:#fff !important; }
.tsn-flip .tsn-flip-inner{ position:relative; transform-style:preserve-3d; transition: transform .6s ease; min-height: 160px; }
.tsn-flip .face{
  position:relative; backface-visibility:hidden; -webkit-backface-visibility:hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.08); border-radius: var(--radius);
  padding: 1rem;
}
.tsn-flip .back{ transform: rotateY(180deg); position: absolute; inset:0; }
.tsn-flip:hover .tsn-flip-inner{ transform: rotateY(180deg); }
/* Chatbot widget (floating) */
#telsnet-chat-launcher{
  position: fixed; right: 20px; bottom: 20px; z-index: 99999;
  display:flex; align-items:center; gap:.6rem;
}
#telsnet-chat-launcher .bubble{
  width: 54px; height: 54px; border-radius: 9999px;
  background: linear-gradient(180deg, var(--accent-2), #0891b2);
  display:flex; align-items:center; justify-content:center;
  color:white; font-weight:800; font-size: 22px; box-shadow: 0 14px 36px rgba(6,182,212,.4);
}
#telsnet-chat-panel{
  position: fixed; right: 20px; bottom: 90px; width: min(360px, 92vw); max-height: 70vh;
  background: #0b1220; border: 1px solid rgba(255,255,255,.09); border-radius: 16px;
  display:none; flex-direction: column; overflow: hidden; z-index: 99999;
  box-shadow: 0 24px 64px rgba(0,0,0,.45);
}
#telsnet-chat-panel header{
  display:flex; align-items:center; justify-content:space-between; gap:.5rem;
  padding: .9rem 1rem; background: linear-gradient(90deg, rgba(6,182,212,.15), rgba(34,197,94,.08));
  border-bottom: 1px solid rgba(255,255,255,.08);
}
#telsnet-chat-panel header h3{ margin:0; font-size: 1rem; letter-spacing:.3px }
#telsnet-chat-form{ padding: 1rem; display:flex; flex-direction:column; gap:.7rem; }
#telsnet-chat-form .row{ display:flex; gap:.6rem }
#telsnet-chat-form .row > *{ flex:1 }
#telsnet-chat-panel footer{
  padding: .9rem 1rem; display:flex; align-items:center; justify-content:space-between; gap:.6rem;
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
  border-top: 1px solid rgba(255,255,255,.08);
}
#telsnet-chat-close{
  background: transparent; border: 0; color: var(--muted); cursor:pointer; font-weight:700;
}
#telsnet-chat-panel small{ color: var(--muted) }
#telsnet-chat-success{ display:none; padding: 1rem; }/* === No-Underline + Interconnected Button Hover === */
a, a:visited { text-decoration: none !important; }
a:hover, a:focus { text-decoration: none !important; }
/* Ensure anchors styled as buttons behave like buttons */
a.btn { display: inline-block; text-decoration: none !important; }
/* Button hover feedback */
.btn {
  transition: transform .06s ease, box-shadow .2s ease, background .2s ease;
}
.btn:hover, .btn:focus {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(34,197,94,.35);
}



/* === PATCH: Mobile flip support + white text override + green hover for addresses === */

/* Allow flipping via a toggled class (works on touch/click) */
.tsn-flip.is-flipped .tsn-flip-inner{ transform: rotateY(180deg); }
/* On touch devices, ignore :hover-induced flips to avoid accidental triggers */
@media (hover: none) and (pointer: coarse){
  .tsn-flip:hover .tsn-flip-inner{ transform: none; }
}

/* Contact address green accent on hover/flip */
.tsn-flip.green-hover .face{ border-color: rgba(34,197,94,.25); }
.tsn-flip.green-hover:hover .face,
.tsn-flip.green-hover.is-flipped .face{
  box-shadow: 0 0 0 3px var(--ring);
  border-color: var(--accent);
}

/* Page-level override: make non-heading text white (keep headlines as-is) */
body.page-white-text p,
body.page-white-text li,
body.page-white-text a,
body.page-white-text span,
body.page-white-text small,
body.page-white-text label,
body.page-white-text td,
body.page-white-text th,
body.page-white-text dd,
body.page-white-text dt,
body.page-white-text blockquote,
body.page-white-text time{
  color: #ffffff !important;
}

/* Ensure links remain readable / underlined on dark backgrounds */
body.page-white-text a{text-decoration: underline;}


/* === Telsnet: Bigger header & footer logos (2025-10-30) === */
:root{
  --logo-mobile-height: 48px;
  --logo-desktop-height: 72px;
}
/* Header logo common selectors */
.header .logo img,
.site-header .logo img,
.logo img,
img.logo,
.navbar-brand img,
.header-logo img,
.site-branding img,
.site-logo img {
  height: var(--logo-mobile-height) !important;
  width: auto !important;
  max-height: none !important;
}

/* Footer logo common selectors */
.footer .logo img,
.site-footer .logo img,
.footer-logo img,
img.footer-logo,
.footer .site-branding img {
  height: var(--logo-mobile-height) !important;
  width: auto !important;
  max-height: none !important;
}

/* Desktop */
@media (min-width: 768px){
  .header .logo img,
  .site-header .logo img,
  .logo img,
  img.logo,
  .navbar-brand img,
  .header-logo img,
  .site-branding img,
  .site-logo img,
  .footer .logo img,
  .site-footer .logo img,
  .footer-logo img,
  img.footer-logo,
  .footer .site-branding img {
    height: var(--logo-desktop-height) !important;
  }
}

