/* V4.6 — kararlı mobil menü, SVG ikon sistemi ve sade üst bar */
.menu-toggle-icon{width:27px;height:27px;overflow:visible;pointer-events:none}
.menu-toggle-icon .menu-line{transform-box:fill-box;transform-origin:center;transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .2s ease}
body.menu-open .menu-toggle-icon .menu-line-top{transform:translateY(7px) rotate(45deg)}
body.menu-open .menu-toggle-icon .menu-line-middle{opacity:0;transform:translateX(7px)}
body.menu-open .menu-toggle-icon .menu-line-bottom{transform:translateY(-7px) rotate(-45deg)}

.header-actions{margin-left:0}
.phone-link{position:relative;display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 13px 6px 7px;border:1px solid color-mix(in srgb,var(--primary) 12%,var(--header-border));border-radius:17px;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--soft-blue) 52%,#fff));box-shadow:0 10px 26px rgba(25,73,105,.08),inset 0 1px 0 rgba(255,255,255,.9);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.phone-link:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 28%,var(--header-border));box-shadow:0 15px 32px rgba(25,73,105,.13)}
.phone-dot{position:relative;display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:13px;background:linear-gradient(145deg,var(--secondary),color-mix(in srgb,var(--secondary) 72%,var(--primary)));color:#fff;box-shadow:0 9px 18px color-mix(in srgb,var(--secondary) 24%,transparent);overflow:hidden}
.phone-dot:after{content:"";position:absolute;inset:4px;border:1px solid rgba(255,255,255,.24);border-radius:10px}
.phone-svg{position:relative;z-index:1;width:19px;height:19px;stroke-width:2.1}
.phone-copy{display:flex;flex-direction:column;line-height:1.15}
.phone-copy small{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.phone-copy b{margin-top:3px;color:var(--header-text);font-size:11px;font-weight:850;white-space:nowrap}

.button-svg,.button>svg,.button i svg,.card-arrow svg,.slider-arrow svg,.detail-back svg,.detail-primary-button svg,.detail-service-list i svg,.location-button svg{width:18px;height:18px;flex:0 0 auto}
.card-arrow{display:grid!important;place-items:center}
.card-arrow svg{width:15px;height:15px}
.slider-arrow{display:grid!important;place-items:center}
.slider-arrow svg{width:19px;height:19px}
.video-modal-close,.about-modal-x{display:grid;place-items:center}
.video-modal-close svg,.about-modal-x svg{width:20px;height:20px}
.character-top-arrow svg{width:18px;height:18px}
.social-links a{display:grid!important;place-items:center}
.social-links a svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9}
.social-links a[aria-label="Facebook"] svg{stroke-width:2.1}

.contact-card-copy li{align-items:flex-start!important}
.contact-icon{display:grid!important;place-items:center!important;flex:0 0 auto;width:38px!important;height:38px!important;border-radius:13px!important;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--soft-blue) 68%,#fff))!important;color:var(--primary)!important;box-shadow:0 9px 20px rgba(27,75,106,.08),inset 0 1px 0 #fff}
.contact-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}
.contact-card-copy li:nth-child(2) .contact-icon{color:var(--secondary)!important;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--soft-pink) 72%,#fff))!important}
.contact-card-copy li:nth-child(3) .contact-icon{color:color-mix(in srgb,var(--accent) 70%,#8c6300)!important;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--accent) 22%,#fff))!important}

.detail-back{display:inline-flex;align-items:center;gap:8px}
.detail-back svg{width:17px;height:17px}
.detail-phone{display:flex!important;align-items:center;gap:10px}
.detail-phone>i{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,var(--secondary),color-mix(in srgb,var(--secondary) 72%,var(--primary)));color:#fff;box-shadow:0 10px 22px color-mix(in srgb,var(--secondary) 22%,transparent)}
.detail-phone>i svg{width:20px;height:20px}
.detail-phone>span{display:flex;flex-direction:column}
.detail-service-list i{display:grid;place-items:center}
.detail-service-list i svg{width:17px;height:17px}

.tc-contact-list .contact-icon{width:48px!important;height:48px!important;border-radius:16px!important}
.tc-contact-list .contact-icon svg{width:23px;height:23px}
.tc-map-footer a{display:inline-flex;align-items:center;gap:7px}
.tc-map-footer a svg{width:16px;height:16px}

.mobile-nav-close svg,.mobile-nav-arrow svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.mobile-nav-close svg{width:20px;height:20px}
.about-toggle-icon svg,.about-detail-close svg{width:17px;height:17px}

@media(max-width:920px){
  .header-inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;gap:9px!important;height:76px!important}
  .brand{min-width:0!important;overflow:hidden}
  .brand img{width:96px!important;height:56px!important}
  .brand span{display:none!important}
  .header-actions{display:flex!important;grid-column:2;grid-row:1;margin:0!important}
  .menu-toggle{grid-column:3;grid-row:1;margin:0!important}
  .header-actions .phone-link{display:flex!important;min-width:46px;min-height:46px;padding:5px!important;border-radius:16px}
  .header-actions .phone-dot{width:35px;height:35px;border-radius:12px}
  .header-actions .phone-copy{display:none}
  .main-nav{pointer-events:none!important}
  body.menu-open .main-nav{pointer-events:auto!important}
  .mobile-menu-backdrop{pointer-events:none!important}
  body.menu-open .mobile-menu-backdrop{pointer-events:auto!important}
  .mobile-nav-close{color:var(--primary)!important}
  .mobile-nav-arrow{font-size:0!important}
}

@media(max-width:420px){
  .container{width:min(calc(100% - 24px),var(--container,1180px))}
  .header-inner{grid-template-columns:minmax(0,1fr) 44px 44px;gap:7px!important}
  .brand img{width:86px!important}
  .header-actions .phone-link,.menu-toggle{width:44px!important;height:44px!important;min-width:44px;min-height:44px}
  .header-actions .phone-dot{width:33px;height:33px}
}

/* V4.7 — mobile menu visibility hardening + cleaner treatment cards */
@media (max-width:920px){
  /* Links must never stay invisible if an animation or enhancement fails. */
  .main-nav>a{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    color:var(--text)!important;
  }
  body.menu-open .main-nav>a{
    animation:mobileNavItemEnter .46s cubic-bezier(.22,1,.36,1) both;
    animation-delay:calc(var(--menu-index,0) * 42ms + 60ms)!important;
  }
  .main-nav>a .mobile-nav-copy{display:flex!important;min-width:0;flex-direction:column}
  .main-nav>a .mobile-nav-copy b{display:block!important;color:var(--text)!important}
  .main-nav>a .mobile-nav-copy small{display:block!important}

  /* No-JS / partial-JS fallback: raw link text remains readable. */
  .main-nav:not([data-mobile-enhanced="true"])>a{
    display:flex!important;
    align-items:center!important;
    min-height:58px!important;
    padding:14px 16px!important;
    border:1px solid rgba(29,85,122,.08)!important;
    border-radius:17px!important;
    background:rgba(255,255,255,.86)!important;
    box-shadow:0 8px 20px rgba(28,72,101,.06)!important;
    font-size:13px!important;
    font-weight:850!important;
  }
}

@keyframes mobileNavItemEnter{
  from{opacity:0;transform:translateX(22px) scale(.985)}
  to{opacity:1;transform:none}
}

@media (max-width:640px){
  /* Removes the extra yellow decorative badge; the actual SVG treatment icon remains. */
  .template-kids .service-icon:after{
    content:none!important;
    display:none!important;
  }
}
