/* Dr Software - dark theme. Active when <html data-theme="dark">. The light theme is the template as-is. */

/* ---------- theme toggle (always present) ---------- */
.theme-toggle{position:fixed;left:18px;bottom:18px;z-index:9990;width:68px;height:34px;padding:0;border:0;border-radius:34px;cursor:pointer;
  background:linear-gradient(180deg,#7fd3ff 0%,#bfe9ff 100%);box-shadow:0 4px 14px rgba(0,0,0,.28),inset 0 0 0 2px rgba(255,255,255,.55);
  overflow:hidden;transition:background .6s ease,box-shadow .6s ease;-webkit-tap-highlight-color:transparent;outline-offset:3px}
.theme-toggle:focus-visible{outline:3px solid #00D563}
.theme-toggle .tt-sky{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,#0b1d2e 0%,#12324a 100%);opacity:0;transition:opacity .6s ease}
.theme-toggle .tt-stars,.theme-toggle .tt-clouds{position:absolute;inset:0;pointer-events:none;transition:transform .6s cubic-bezier(.5,0,.2,1),opacity .5s ease}
.theme-toggle .tt-stars{opacity:0;transform:translateY(-22px)}
.theme-toggle .tt-stars i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 4px #fff;animation:tt-twinkle 2.2s ease-in-out infinite}
.theme-toggle .tt-stars i:nth-child(1){left:12px;top:8px}
.theme-toggle .tt-stars i:nth-child(2){left:24px;top:19px;width:2px;height:2px;animation-delay:.5s}
.theme-toggle .tt-stars i:nth-child(3){left:32px;top:7px;width:2px;height:2px;animation-delay:1s}
.theme-toggle .tt-stars i:nth-child(4){left:20px;top:25px;width:2px;height:2px;animation-delay:1.5s}
.theme-toggle .tt-clouds{opacity:1;transform:translateY(0)}
.theme-toggle .tt-clouds i{position:absolute;height:9px;border-radius:9px;background:rgba(255,255,255,.95)}
.theme-toggle .tt-clouds i:nth-child(1){width:22px;right:10px;bottom:7px}
.theme-toggle .tt-clouds i:nth-child(2){width:15px;right:24px;bottom:14px}
.theme-toggle .tt-clouds i:nth-child(3){width:12px;right:8px;bottom:17px;opacity:.8}
.theme-toggle .tt-knob{position:absolute;top:4px;left:4px;width:26px;height:26px;border-radius:50%;background:#ffd84d;
  box-shadow:0 0 0 3px rgba(255,216,77,.35),0 0 14px 4px rgba(255,200,40,.7);transition:transform .6s cubic-bezier(.6,-.3,.3,1.3),background .5s ease,box-shadow .5s ease;z-index:2}
.theme-toggle .tt-knob:before,.theme-toggle .tt-knob:after{content:"";position:absolute;border-radius:50%;background:rgba(0,0,0,.14);opacity:0;transition:opacity .4s ease .1s}
.theme-toggle .tt-knob:before{width:7px;height:7px;left:5px;top:6px}
.theme-toggle .tt-knob:after{width:5px;height:5px;left:14px;top:14px}
.theme-toggle:hover .tt-knob{box-shadow:0 0 0 4px rgba(255,216,77,.45),0 0 18px 6px rgba(255,200,40,.8)}
/* dark state */
html[data-theme="dark"] .theme-toggle{background:#0b1d2e;box-shadow:0 4px 14px rgba(0,0,0,.5),inset 0 0 0 2px rgba(255,255,255,.18)}
html[data-theme="dark"] .theme-toggle .tt-sky{opacity:1}
html[data-theme="dark"] .theme-toggle .tt-stars{opacity:1;transform:translateY(0)}
html[data-theme="dark"] .theme-toggle .tt-clouds{opacity:0;transform:translateY(24px)}
html[data-theme="dark"] .theme-toggle .tt-knob{transform:translateX(34px) rotate(-25deg);background:#eef2f7;box-shadow:0 0 0 3px rgba(238,242,247,.18),0 0 12px 2px rgba(190,210,255,.55)}
html[data-theme="dark"] .theme-toggle .tt-knob:before,html[data-theme="dark"] .theme-toggle .tt-knob:after{opacity:1}
@keyframes tt-twinkle{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}
@media (max-width:575px){.theme-toggle{left:12px;bottom:12px;width:60px;height:30px}
  .theme-toggle .tt-knob{width:22px;height:22px}
  html[data-theme="dark"] .theme-toggle .tt-knob{transform:translateX(30px) rotate(-25deg)}}
@media (prefers-reduced-motion:reduce){.theme-toggle *{transition:none!important;animation:none!important}}

/* circular reveal when switching (browsers with View Transitions) */
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-new(root){z-index:2147483646}
::view-transition-old(root){z-index:1}

/* smooth colour fade for browsers without View Transitions */
html.theme-fading *,html.theme-fading *:before,html.theme-fading *:after{transition:background-color .45s ease,color .45s ease,border-color .45s ease,fill .45s ease!important}

/* ---------- dark palette ---------- */
html[data-theme="dark"]{color-scheme:dark;--d-bg:#08140d;--d-surface:#10251a;--d-surface2:#16301f;--d-line:rgba(255,255,255,.13);--d-t:#eaf2ed;--d-t2:#a9bbb0}
html[data-theme="dark"] body{background:var(--d-bg);color:var(--d-t2)}

/* the sections that are white in the light theme */
html[data-theme="dark"] :is(.about-area,.about-area-s2,.service-area-s2,.service-area,.testimonial-section,.testimonial-section-s2,.funfact-area,.about-event-area,.ch-portfolio-area,.contact-pg-section,.contact-map,.legal-page,.ch-newsletter-area,.footer-section){background-color:var(--d-bg);color:var(--d-t2)}
html[data-theme="dark"] .footer-section{border-top:1px solid var(--d-line)}

/* text that is dark in the light theme */
html[data-theme="dark"] :is(.about-area,.about-area-s2,.service-area-s2,.service-area,.testimonial-section,.testimonial-section-s2,.funfact-area,.about-event-area,.ch-portfolio-area,.contact-pg-section,.contact-map,.legal-page,.ch-newsletter-area,.footer-section)
  :is(h1,h2,h3,h4,h5,h6,p,li,strong,label,small,td,th,div,.read-more,.ch-btn-style-3,a:not(.ch-btn-style-2):not(.back-btn),.ch-top-title-s3 span){color:var(--d-t)}
html[data-theme="dark"] :is(.about-area,.about-area-s2,.service-area-s2,.service-area,.testimonial-section,.testimonial-section-s2,.funfact-area,.about-event-area,.ch-portfolio-area,.contact-pg-section,.contact-map,.legal-page,.footer-section)
  :is(p,li,label,.legal-updated,.subscribe-note){color:var(--d-t2)}
html[data-theme="dark"] .about-area-s2 .about-right-text p{color:var(--d-t2)}
html[data-theme="dark"] .footer-section a:hover,html[data-theme="dark"] .footer-section li:hover a{color:#00D563}
html[data-theme="dark"] .footer-section .subscribe-note a,html[data-theme="dark"] .legal-page a{color:#00D563}

/* outlined headline words (transparent fill + dark stroke) */
html[data-theme="dark"] .ch-top-title-s3 h2 small,
html[data-theme="dark"] .about-area-s2 .about-right-item .about-right-text h2 small,
html[data-theme="dark"] .funfact-area.style-2 .info h3,
html[data-theme="dark"] .funfact-area.style-2 .info h3 span{-webkit-text-stroke-color:#d8e6dd;color:transparent}
html[data-theme="dark"] .text-moving-sec-s2 p span:nth-child(odd){-webkit-text-stroke-color:#d8e6dd}
html[data-theme="dark"] .funfact-area .odometer-value,html[data-theme="dark"] .funfact-area .odometer-digit-spacer{color:#d8e6dd}

/* cards / boxes */
html[data-theme="dark"] .service-item{background:var(--d-surface);border:1px solid var(--d-line)}
html[data-theme="dark"] body:not(#_) .funfact-area.style-2 .info{background:transparent;border:0;border-right:1px solid var(--d-line)}
html[data-theme="dark"] body:not(#_) .funfact-area.style-2 .col:last-child .info{border-right:0}
@media (max-width:575px){html[data-theme="dark"] body:not(#_) .funfact-area.style-2 .info{border:0}}
html[data-theme="dark"] .contact-pg-section .info,html[data-theme="dark"] .contact-pg-section .office-info,html[data-theme="dark"] .contact-pg-section form{border-color:var(--d-line)}
html[data-theme="dark"] .map-frame{background:var(--d-surface2)}
html[data-theme="dark"] .contact-map iframe{filter:invert(.92) hue-rotate(180deg) saturate(.8) brightness(.9)}
html[data-theme="dark"] .office-info-icon,html[data-theme="dark"] .ch-service-area .icon{box-shadow:0 0 0 1px rgba(255,255,255,.18)}

/* forms */
html[data-theme="dark"] :is(input,textarea,select,.form-control){background-color:var(--d-surface);color:var(--d-t);border-color:var(--d-line)}
html[data-theme="dark"] :is(input,textarea)::placeholder{color:#7f9487}
html[data-theme="dark"] select.form-control{background-image:none}
html[data-theme="dark"] select option{background:#10251a;color:#eaf2ed}
html[data-theme="dark"] :is(.footer-section,.legal-page,.contact-pg-section) button:not(.ch-btn-style-2){background:var(--d-surface2);color:var(--d-t);border-color:var(--d-line)}
html[data-theme="dark"] .footer-section button i,html[data-theme="dark"] .footer-section button span{color:var(--d-t)}
html[data-theme="dark"] .owl-prev,html[data-theme="dark"] .owl-next{background:var(--d-surface);color:var(--d-t);border-color:var(--d-line)}
html[data-theme="dark"] .owl-dot:not(.active){background:#3a4f42}
html[data-theme="dark"] .footer-section .social li a,html[data-theme="dark"] .footer-section .footer-social a{border-color:var(--d-line)}

/* things that must stay dark-on-green (keep the light theme's contrast) */
html[data-theme="dark"] body:not(#_) :is(.ch-newsletter-wrap,.testimonial-item,.exprience-wrap,.company-area,.ch-btn-style-2,.back-btn,.owl-dot.active,.text-moving-sec-s2.main-dark,.experience-text-right,.experience-wrap) :is(h1,h2,h3,h4,h5,h6,p,li,strong,label,small,div,span,a,i){color:#0D2216}
html[data-theme="dark"] body:not(#_) :is(.ch-newsletter-wrap,.testimonial-item,.exprience-wrap,.company-area,.ch-btn-style-2,.back-btn){color:#0D2216}
html[data-theme="dark"] body:not(#_) .ch-newsletter-wrap .subscribe-note a{color:#0D2216}
html[data-theme="dark"] body:not(#_) .ch-newsletter-wrap :is(input){background:transparent;color:#0D2216;border-color:#0D2216}
html[data-theme="dark"] body:not(#_) .ch-newsletter-wrap button{background:#fff;color:#0D2216}
html[data-theme="dark"] body:not(#_) .ch-newsletter-wrap button span{color:#0D2216}
html[data-theme="dark"] body:not(#_) .ch-btn-style-2:hover{background:#eaf2ed;color:#0D2216}

/* images a touch softer so they don't glare */
html[data-theme="dark"] img:not([src*="logo"]):not([src*="main.png"]):not([src*="shape"]){filter:brightness(.88) contrast(1.03)}
html[data-theme="dark"] .about-area-s2 img[src*="shape"],html[data-theme="dark"] .about-area img[src*="shape"],html[data-theme="dark"] .testimonial-section-s2 img[src*="shape"]{filter:brightness(2.2) saturate(1.2)}

html[data-theme="dark"] .back-btn{box-shadow:0 0 0 2px rgba(255,255,255,.15)}
/* footer contact links carry an inline dark colour in the markup */
html[data-theme="dark"] .footer-section a[style*="color"]{color:var(--d-t)!important}
html[data-theme="dark"] body:not(#_) .ch-newsletter-wrap input::placeholder{color:#3e6b53}
@media (max-width:991px){html[data-theme="dark"] body:not(#_) .funfact-area.style-2 .col:nth-child(2) .info{border:0}}
/* ---------- portfolio page ---------- */
html[data-theme="dark"] .pf-section{--pf-card:var(--d-surface);--pf-line:var(--d-line);--pf-text:var(--d-t);--pf-muted:var(--d-t2);--pf-chip-bg:rgba(0,213,99,.12);--pf-chip-text:#00D563;--pf-shadow:0 10px 30px rgba(0,0,0,.35)}
html[data-theme="dark"] .pf-section .pf-body h2{color:var(--d-t)}
html[data-theme="dark"] .pf-section .pf-body p.pf-sub,html[data-theme="dark"] .pf-section .pf-body p.pf-desc{color:var(--d-t2)}
html[data-theme="dark"] .pf-section .pf-btn:not(.is-active){color:var(--d-t)}
html[data-theme="dark"] .pf-section .pf-btn.is-active{color:#0D2216}

/* ---------- facebook feed ---------- */
html[data-theme="dark"] .fb-feed-area{--pf-card:var(--d-surface);--pf-line:var(--d-line);--pf-text:var(--d-t);--pf-muted:var(--d-t2);--pf-chip-text:#00D563;--pf-shadow:0 10px 30px rgba(0,0,0,.35)}
html[data-theme="dark"] .fb-feed-area .fb-arrow{color:var(--d-t)}
html[data-theme="dark"] .fb-feed-area .fb-arrow:hover{color:#0D2216}
html[data-theme="dark"] .fb-feed-area .fb-follow a.fb-btn{background:#00D563;color:#0D2216}
html[data-theme="dark"] .fb-feed-area .fb-follow a.fb-btn:hover{background:#fff;color:#0D2216}
html[data-theme="dark"] .fb-feed-area .fb-body a.fb-link{color:#00D563}
html[data-theme="dark"] .fb-feed-area .fb-title h2{color:var(--d-t)}
html[data-theme="dark"] .fb-feed-area .fb-title .fb-eyebrow,html[data-theme="dark"] .fb-feed-area .fb-title h2 .fb-accent{color:#00D563}
html[data-theme="dark"] .fb-feed-area .fb-arrow{border-color:var(--d-line)}

/* footer subscribe box in dark theme */
html[data-theme="dark"] body:not(#_) .footer-section .subscribe .form-field input{color:var(--d-t);border-color:var(--d-line)}
html[data-theme="dark"] body:not(#_) .footer-section .subscribe .form-field input::placeholder{color:#8fa398;opacity:1}
html[data-theme="dark"] body:not(#_) .footer-section .subscribe .form-field input:-webkit-autofill,html[data-theme="dark"] body:not(#_) .footer-section .subscribe .form-field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--d-t);caret-color:var(--d-t);transition:background-color 9999s ease-in-out 0s}
