/* Shared responsive layout, loaded after the legacy theme. */
#header .dropdown > button.toggle-dropdown { border:0; background:transparent; font:inherit; font-size:14px; font-weight:600; color:#000; padding:2.1rem .3rem 2.2rem; cursor:pointer; }
#header .dropdown > .submenu { display:none; }
#header .dropdown.submenu-open > .submenu { display:block; }
#menu-icon { background:#fff; border:1px solid #dce4d2; border-radius:8px; padding:10px; width:46px; height:46px; }
#menu-icon span { border:0; background:#496a16; height:2px; width:24px; margin:5px 0; }
#menu-icon[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
#menu-icon[aria-expanded="true"] span:nth-child(2) { opacity:0; }
#menu-icon[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
#header a:focus-visible, #header button:focus-visible { outline:3px solid #496a16; outline-offset:3px; }
.ustmenu .sagalan a { text-decoration:none; }
.icsayfaust .siteharitasi a { color:inherit; }
.icsayfailetisim .metin a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:1199px) {
 .ustmenu { min-height:0; }
 #header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:14px 0; position:relative; }
 #header:after { display:none; }
 #header .logo { grid-row:1; grid-column:1; width:auto; float:none; padding:0; animation:none; }
 #header .logo img { width:190px; max-width:100%; height:auto; }
 #header #menu-icon { display:block; position:static; grid-row:1; grid-column:2; cursor:pointer; }
 #header > .sagalan { grid-row:2; grid-column:1 / -1; float:none; width:100%; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px 16px; }
 #header .sagalan .ustmail, #header .sagalan .usttelefon { float:none; width:auto; margin:0; height:auto; min-height:36px; padding:0; border:0; font-size:13px; justify-content:flex-start; color:#496a16; }
 #header .sagalan .usttelefon:hover { background:transparent; }
 #header nav { display:none; grid-column:1 / -1; grid-row:3; width:100%; padding:0; max-height:65vh; overflow-y:auto; text-align:left; }
 #header nav.menu-open { display:block; }
 #header nav > ul { display:block; width:100%; padding:0; margin:0; }
 #header nav li { display:block; float:none; width:100%; }
 #header nav li a, #header nav .dropdown > button.toggle-dropdown { display:flex; align-items:center; justify-content:space-between; text-align:left; float:none; width:100%; min-height:48px; padding:12px; white-space:normal; border-bottom:1px solid #edf0e8; }
 #header nav .dropdown > .submenu { display:none; position:static; border:0; padding:4px 0 4px 12px; background:#f2f5ed; width:100%; }
 #header nav .dropdown.submenu-open > .submenu { display:block; }
 #header nav .dropdown li a { min-width:0; padding:12px; font-size:14px; }
}
@media (max-width:991px) {
 .container { width:100%; max-width:100%; padding-left:24px; padding-right:24px; }
 .anasayfahizmetler, .anasayfahakkimizda, .icsayfahakkimizda, .icsayfahizmet, .icsayfakariyer, .icsayfailetisim, .icsayfaimpressum, .icsayfareferans { padding:48px 0; }
 .anasayfahizmetler .solalan, .anasayfahizmetler .sagkutular,
 .anasayfahakkimizda .solalan, .anasayfahakkimizda .sagalan,
 .icsayfahakkimizda .solalan, .icsayfahakkimizda .sagalan,
 .icsayfahizmet .solalan, .icsayfahizmet .sagalan,
 .icsayfakariyer .solalan, .icsayfakariyer .sagalan,
 .icsayfailetisim .solalan, .icsayfailetisim .sagalan { width:100%; float:none; padding:0; }
 .anasayfahakkimizda .sagalan, .icsayfahakkimizda .sagalan, .icsayfahizmet .sagalan, .icsayfakariyer .sagalan, .icsayfailetisim .sagalan { margin-top:28px; }
 .anasayfahizmetler .sagkutular { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:28px; }
 .anasayfahizmetler .kutu { width:100%; float:none; margin:0; height:auto; min-height:240px; padding:24px 16px; }
 .anasayfahizmetler .kutu .ikon img { max-width:60px; max-height:60px; }
 .anasayfaslogan { padding:48px 0; }
 .anasayfaslogan .sagalan { width:100%; float:none; }
 .icsayfaust { padding:28px 0; }
 .icsayfaust .solalan { float:none; width:100%; }
 .icsayfaust .sagalan { float:none; width:100%; padding-top:12px; }
 .icsayfaust .sagalan a { display:inline-flex; align-items:center; min-height:44px; }
 .icsayfaust .siteharitasi { line-height:1.7; overflow-wrap:anywhere; }
 .icsayfakariyer .formalan input, .icsayfakariyer .formalan textarea { font-size:16px; }
 .icsayfakariyer .formalan textarea { resize:vertical; min-height:160px; }
 .icsayfakariyer .formalan input:focus, .icsayfakariyer .formalan textarea:focus { outline:2px solid #496a16; outline-offset:2px; }
 .icsayfakariyer .formalan button { width:100%; min-height:48px; color:#20300b; }
 .icsayfailetisim iframe { height:340px; display:block; }
 .icsayfaimpressum .kutu .kbaslik, .icsayfaimpressum .kutu .metin { float:none; width:100%; padding:0; border:0; overflow-wrap:anywhere; }
 .icsayfaimpressum .kutu .kbaslik { margin-bottom:12px; }
 .altbilgi { padding:48px 0 96px; }
 .altbilgi .solalan, .altbilgi .sagalan { float:none; width:100%; }
 .altbilgi .solalan:after { content:""; display:block; clear:both; }
 .altbilgi .logo { padding:0; width:100%; }
 .altbilgi .logo img { width:190px; max-width:100%; }
 .altbilgi .yazi { width:100%; }
 .altbilgi .sagalan { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:32px; }
 .altbilgi .kutu { width:100%; float:none; margin:0; min-width:0; }
 .altbilgi .kutu:last-child { grid-column:1 / -1; }
 .altbilgi .kutu .baslik { margin-bottom:12px; }
 .altbilgi .kutu ul li { margin-bottom:0; line-height:1.7; overflow-wrap:anywhere; }
 .altbilgi .kutu ul li a { display:inline-flex; min-height:44px; align-items:center; }
 .altbilgi .iletisim li { padding:6px 0; }
 .altbilgi .sosyal a { width:44px; height:44px; }
 .altbilgi .altcizgi { margin:28px 0; }
 .altbilgi .copy { float:none; width:100%; line-height:1.7; margin-bottom:16px; }
 .altbilgi .imza { float:none; }
 .icsayfareferans .projekt-intro { margin-bottom:28px; }
 .icsayfareferans .projekt-listeneintrag { grid-template-columns:1fr; }
 .icsayfareferans .projekt-cover { height:240px; }
 .icsayfareferans .projekt-listentext { padding:24px; }
 .icsayfareferans .projekt-galerie { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
 .icsayfareferans .referenz-projekt { padding:24px; }
 .icsayfareferans h1, .icsayfareferans h2 { overflow-wrap:anywhere; }
 .carousel-item { height:480px; max-height:none; }
 .carousel-caption { bottom:24%; }
 .carousel-caption h1 { font-size:36px; line-height:1.2; letter-spacing:0; }
 .carousel-caption p { font-size:17px; line-height:1.6; }
}
@media (max-width:575px) {
 .container { padding-left:20px; padding-right:20px; }
 #header .logo img { width:165px; }
 #header > .sagalan { gap:0; justify-content:space-between; }
 #header .sagalan .ustmail, #header .sagalan .usttelefon { font-size:12px; min-height:32px; }
 #header .sagalan img { width:14px; height:14px; margin-right:5px; }
 .anasayfahizmetler .sagkutular { grid-template-columns:1fr; }
 .anasayfahizmetler .kutu { min-height:0; padding:24px; }
 .anasayfahizmetler .kutu .metin { font-size:15px; }
 .carousel-item { height:420px; }
 .carousel-caption { bottom:22%; }
 .carousel-caption h1 { font-size:28px; line-height:1.25; }
 .carousel-caption h1 br { display:none; }
 .carousel-caption p { font-size:16px; }
 .icsayfaimpressum .kutu, .icsayfailetisim .iletisimkutu { padding:20px; }
 .icsayfareferans .projekt-intro h1 { font-size:28px; }
 .icsayfareferans .projekt-kopf h1, .icsayfareferans .projekt-listentext h2 { font-size:24px; }
 .icsayfareferans .referenz-projekt, .icsayfareferans .projekt-listentext { padding:20px; }
 .icsayfareferans .projekt-galerie { grid-template-columns:1fr; }
 .icsayfareferans .projekt-galerie img { height:auto; max-height:440px; object-fit:contain; background:#f2f3ef; }
 .icsayfareferans .projekt-cover { height:210px; }
 .icsayfareferans .projekt-beschreibung, .icsayfareferans .projekt-umfang { overflow-wrap:anywhere; }
 body .whatsappteklif { right:16px; bottom:max(16px,env(safe-area-inset-bottom)); }
 body .whatsappteklif a { width:52px; height:52px; padding:0; border-radius:50%; }
 body .whatsappteklif a span { display:none; }
 body .whatsappteklif a i { margin:0; font-size:26px; }
 .modal-dialog { margin:16px; max-width:calc(100% - 32px); }
}
@media (prefers-reduced-motion:reduce) {
 .animate__animated, .carousel-item, .js-scroll { animation:none !important; transition:none !important; }
 .js-scroll { opacity:1; }
}
@media (max-width:991px) {
 .carousel-item:before { content:""; position:absolute; inset:0; background:rgba(0,0,0,.5); }
 .carousel-caption { display:block; }
 .carousel-caption p { display:block; text-align:center; }
 .carousel-control-prev, .carousel-control-next { display:flex; top:auto; bottom:20px; margin:0; width:44px; height:44px; border-radius:50%; background:rgba(0,0,0,.35); }
 .carousel-control-prev { left:20px; right:auto; }
 .carousel-control-next { right:20px; left:auto; }
 .carousel-control-prev img, .carousel-control-next img { width:24px; }
}

/* Desktop dropdown links have their own compact spacing. */
#header button:focus:not(:focus-visible) { outline:none; box-shadow:none; }
@media (min-width:1200px) {
 #header .dropdown > .submenu { min-width:245px; padding:8px 0; border:1px solid #e8ebE4; border-radius:0 0 8px 8px; box-shadow:0 10px 24px rgba(0,0,0,.12); }
 #header .dropdown > .submenu > li { display:block; width:100%; }
 #header .dropdown > .submenu > li > a { display:block; float:none; padding:12px 20px; min-width:0; width:100%; line-height:20px; font-size:13px; text-align:left; }
 #header .dropdown > .submenu > li > a:hover { background:#f2f5ed; color:#496a16; text-decoration:none; }
 #header .dropdown > button.toggle-dropdown i { font-size:8px; }
}
