/* Zeetoc Studio – scoped design tokens and responsive Elementor break-out. */
.elementor-widget[class*="elementor-widget-zeetoc_"]{--zt-accent:var(--zt-studio-accent,#635bff);--zt-radius:var(--zt-studio-radius,16px);--zt-gutter:var(--zt-studio-gutter,24px);min-width:0;box-sizing:border-box}
.elementor-widget[class*="elementor-widget-zeetoc_"] *,
.elementor-widget[class*="elementor-widget-zeetoc_"] *::before,
.elementor-widget[class*="elementor-widget-zeetoc_"] *::after{box-sizing:border-box}
.elementor-widget[class*="elementor-widget-zeetoc_"] img,
.elementor-widget[class*="elementor-widget-zeetoc_"] video{max-width:100%;height:auto}
.elementor-widget[class*="elementor-widget-zeetoc_"] iframe{max-width:100%}
.elementor-widget[class*="elementor-widget-zeetoc_"] > .elementor-widget-container{min-width:0;width:100%;max-width:none!important}
/* Any Zeetoc widget can span the viewport, regardless of Elementor boxed containers.
   The JS engine measures the true CSS-pixel width and aligns edges precisely. */
body.zt-force-fullwidth .elementor-widget[class*="elementor-widget-zeetoc_"]:not(.zt-contained-yes),
.elementor-widget[class*="elementor-widget-zeetoc_"].zt-fw-yes:not(.zt-contained-yes){width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;box-sizing:border-box;flex:0 0 auto;align-self:auto}
.elementor-widget[class*="elementor-widget-zeetoc_"].zt-fullbleed{max-width:none!important;min-width:0!important}
.zt-unclip-ancestors .zt-fw-unclip{overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important}
body.zt-clip-overflow,html:has(body.zt-clip-overflow){overflow-x:clip!important}
/* Avoid touching native headings, custom backgrounds and widget-specific creative designs. */
.elementor-widget-zeetoc_button .zeetoc-btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:47px;padding:12px 24px;background:var(--zt-btn-bg,var(--zt-accent));color:var(--zt-btn-text,#fff)!important;text-decoration:none!important;border-radius:var(--zt-btn-radius,var(--zt-radius));font-size:14px;font-weight:740;line-height:1.45;box-shadow:0 7px 18px color-mix(in srgb,var(--zt-btn-bg,var(--zt-accent)) 20%,transparent);transition:transform .22s,box-shadow .22s,filter .22s;max-width:100%;text-align:center;border:0}
.elementor-widget-zeetoc_button .zeetoc-btn:hover,.elementor-widget-zeetoc_button .zeetoc-btn:focus-visible{color:var(--zt-btn-text,#fff)!important;filter:brightness(1.06);box-shadow:0 12px 24px color-mix(in srgb,var(--zt-btn-bg,var(--zt-accent)) 24%,transparent);transform:translateY(-2px)}
.elementor-widget-zeetoc_services_box .zeetoc-service-box{background:var(--zt-service-bg,#fff);color:var(--zt-service-color,inherit);padding:clamp(20px,3vw,32px);border:1px solid #e8ebf2;border-radius:var(--zt-radius);box-shadow:0 10px 30px rgba(26,36,69,.05);height:100%;transition:transform .22s,box-shadow .22s,border-color .22s}
.elementor-widget-zeetoc_services_box .zeetoc-service-box>i,.elementor-widget-zeetoc_services_box .zeetoc-service-box>svg{font-size:32px;width:32px;height:32px;color:var(--zt-accent);fill:currentColor}
.elementor-widget-zeetoc_services_box .zeetoc-service-box>h3{color:inherit;font-size:clamp(18px,2vw,22px);font-weight:760;line-height:1.3;margin:16px 0 9px}
.elementor-widget-zeetoc_services_box .zeetoc-service-box>p{color:#657083;font-size:14px;line-height:1.7;margin:0}
body.zt-motion-on .elementor-widget-zeetoc_services_box .zeetoc-service-box:hover{transform:translateY(-4px);box-shadow:0 15px 40px rgba(26,36,69,.1);border-color:#d8d3fc}
/* Usability: responsive text / wrap fixes without flattening creative slider layouts. */
.elementor-widget[class*="elementor-widget-zeetoc_"] :where(h1,h2,h3,p,span,a){overflow-wrap:break-word}
.elementor-widget[class*="elementor-widget-zeetoc_"] :where(input,select,textarea,button){max-width:100%}
@media(max-width:767px){
  .elementor-widget[class*="elementor-widget-zeetoc_"]{--zt-gutter:min(var(--zt-studio-gutter,24px),18px)}
  .elementor-widget-zeetoc_woocommerce_grid .zt-products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .elementor-widget-zeetoc_shop_by_notes .ztsbn-grid,.elementor-widget-zeetoc_shop_by_category .ztsbc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .elementor-widget-zeetoc_packages_grid .zt-pkg-grid{grid-template-columns:minmax(0,1fr)!important}
  .elementor-widget-zeetoc_button .zeetoc-btn{min-height:44px;padding:12px 17px}
}
@media(max-width:420px){.elementor-widget-zeetoc_woocommerce_grid .zt-products{gap:9px!important}.elementor-widget-zeetoc_shop_by_notes .ztsbn-grid,.elementor-widget-zeetoc_shop_by_category .ztsbc-grid{gap:12px!important}}
@media(prefers-reduced-motion:reduce){.elementor-widget[class*="elementor-widget-zeetoc_"] *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Zeetoc v2 action widget */
.elementor-widget-zeetoc_button .zt-button-shell{display:flex;align-items:center;justify-content:flex-start;max-width:100%;padding:4px var(--zt-gutter);width:100%}
.elementor-widget-zeetoc_button .zeetoc-btn.zt-btn-stretch{width:100%}
.elementor-widget-zeetoc_button .zeetoc-btn.zt-btn-outline{background:transparent;color:var(--zt-btn-bg,var(--zt-accent))!important;border:1.5px solid var(--zt-btn-bg,var(--zt-accent));box-shadow:none}
.elementor-widget-zeetoc_button .zeetoc-btn.zt-btn-outline:hover{background:var(--zt-btn-bg,var(--zt-accent));color:#fff!important}
.elementor-widget-zeetoc_button .zt-button-arrow{font-size:16px;line-height:1;transition:transform .2s}
body.zt-motion-on .elementor-widget-zeetoc_button .zeetoc-btn:hover .zt-button-arrow{transform:translate(2px,-2px)}
/* Zeetoc v2 service widget */
.elementor-widget-zeetoc_services_box .zt-service-icon{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:15px;background:color-mix(in srgb,var(--zt-service-accent,var(--zt-accent)) 12%,white);color:var(--zt-service-accent,var(--zt-accent));font-size:25px}
.elementor-widget-zeetoc_services_box .zt-service-icon svg{width:25px;height:25px;fill:currentColor}
.elementor-widget-zeetoc_services_box .zeetoc-service-box>h3{color:var(--zt-service-color,#202b43)}
.elementor-widget-zeetoc_services_box .zeetoc-service-box>p{color:var(--zt-service-body,#657083)}
/* Polish across built-in cards without changing their own palette or layout. */
body.zt-motion-on :is(.elementor-widget-zeetoc_why_choose_us .ztwcu-card,.elementor-widget-zeetoc_why_choose_institute .ztwci-card,.elementor-widget-zeetoc_leadership_section .zt-leader-card,.elementor-widget-zeetoc_packages_grid .zt-pkg-card,.elementor-widget-zeetoc_woocommerce_grid .zt-card,.elementor-widget-zeetoc_shop_by_category .ztsbc-card,.elementor-widget-zeetoc_shop_by_notes .ztsbn-card){transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
body.zt-motion-on :is(.elementor-widget-zeetoc_why_choose_us .ztwcu-card,.elementor-widget-zeetoc_why_choose_institute .ztwci-card,.elementor-widget-zeetoc_leadership_section .zt-leader-card,.elementor-widget-zeetoc_packages_grid .zt-pkg-card,.elementor-widget-zeetoc_woocommerce_grid .zt-card,.elementor-widget-zeetoc_shop_by_category .ztsbc-card,.elementor-widget-zeetoc_shop_by_notes .ztsbn-card):hover{transform:translateY(-3px)}
.elementor-widget[class*="elementor-widget-zeetoc_"] a:focus-visible,.elementor-widget[class*="elementor-widget-zeetoc_"] button:focus-visible{outline:3px solid var(--zt-accent);outline-offset:3px}
