/*
Theme Name: Walmo
Theme URI: https://walmo.com.tr/
Author: Walmo
Author URI: https://walmo.com.tr/
Description: Walmo
Text Domain: walmo

==========================================================================
Lisans / Atıflar (3rd Party Assets)
==========================================================================

- Tailwind CSS — Copyright (c) Tailwind Labs Inc. — MIT License
  https://github.com/tailwindlabs/tailwindcss/blob/master/LICENSE

- Swiper — Copyright (c) Vladimir Kharlampidi — MIT License
  https://github.com/nolimits4web/swiper/blob/master/LICENSE

- Font Awesome Free 6 — Copyright (c) Fonticons, Inc.
  Icons: CC BY 4.0  |  Fonts: SIL OFL 1.1  |  Code: MIT
  https://fontawesome.com/license/free

- Inter — Copyright (c) Rasmus Andersson — SIL Open Font License 1.1
  https://github.com/rsms/inter/blob/master/LICENSE.txt

- Plus Jakarta Sans — Copyright (c) Tokotype — SIL Open Font License 1.1
  https://github.com/tokotype/PlusJakartaSans/blob/master/OFL.txt

==========================================================================
*/

/* Custom theme styles — inline tasarım sınıfları (Tailwind CDN dışı tekrar eden parçalar) */

html { scroll-behavior: smooth; }
body { font-feature-settings: "ss01","cv11"; }

.display { font-family: 'Plus Jakarta Sans', Inter, sans-serif; letter-spacing: -0.02em; }
.eyebrow { letter-spacing: .14em; text-transform: uppercase; font-weight: 600; font-size: 14px; }

/* Swiper özelleştirme */
.swiper-pagination-bullet { background:#fff; opacity:.35; width:22px; height:4px; border-radius:999px; transition:all .4s cubic-bezier(.2,.7,.2,1);}
.swiper-pagination-bullet:hover { opacity:.65; }
.swiper-pagination-bullet-active { opacity:1; background:#DD5E2C; width:44px; box-shadow:0 2px 10px rgba(221,94,44,.45); }
.swiper-button-prev,.swiper-button-next{
  width:52px;height:52px;background:#fff;border-radius:999px;color:#0E1116;
  box-shadow:0 1px 0 rgba(15,17,22,.04), 0 24px 48px -24px rgba(15,17,22,.18);
  transition: transform .25s ease;
}
.swiper-button-prev:hover,.swiper-button-next:hover{ transform: scale(1.05);}
.swiper-button-prev:after,.swiper-button-next:after{ font-size:16px; font-weight:800;}

/* Mega menu */
.has-mega:hover .mega-panel,
.has-mega:focus-within .mega-panel { opacity:1; visibility:visible; transform: translateY(0); }
.mega-panel { opacity:0; visibility:hidden; transform: translateY(8px); transition: all .25s cubic-bezier(.2,.7,.2,1); }
.mega-panel.mega-center { transform: translate(-50%, 8px); }
.has-mega:hover .mega-panel.mega-center,
.has-mega:focus-within .mega-panel.mega-center { transform: translate(-50%, 0); }

/* Mega menu 3. kademe — yana açılan flyout */
.mega-sub { opacity:0; visibility:hidden; transform: translateX(8px); transition: all .25s cubic-bezier(.2,.7,.2,1); pointer-events:none; }
.has-sub:hover > .mega-sub,
.has-sub:focus-within > .mega-sub { opacity:1; visibility:visible; transform: translateX(0); pointer-events:auto; }
/* Açık flyout'un üst öğesi vurgulu kalsın */
.has-sub:hover > a { background:#F5F3EE; /* cream-100 */ }

/* Nav underline */
.nav-link{ position:relative; }
.nav-link::after{ content:""; position:absolute; left:0; right:0; bottom:-22px; height:2px; background:#DD5E2C; transform: scaleX(0); transform-origin: left; transition: transform .35s ease;}
.has-mega:hover .nav-link::after,
.nav-link:hover::after,
.nav-link.active::after { transform: scaleX(1); }

/* Kart hover */
.machine-card{ transition: transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease; }
.machine-card:hover{ transform: translateY(-4px); box-shadow: 0 30px 60px -28px rgba(15,17,22,.28);}
.machine-card .arrow{ transition: transform .35s ease; }
.machine-card:hover .arrow{ transform: translate(6px,-6px); }
.machine-card img{ transition: transform .8s cubic-bezier(.2,.7,.2,1);}
.machine-card:hover img{ transform: scale(1.05);}

/* Seri pill */
.series-pill{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.32rem .65rem; font-size:14px; font-weight:600;
  color:#0E1116; background:#fff; border:1px solid #EDEFF2; border-radius:999px;
  transition: all .2s ease;
}
.series-pill .dot{ width:7px;height:7px;border-radius:999px;background:#16A34A; box-shadow:0 0 0 3px rgba(22,163,74,.15);}
.series-pill:hover{ border-color:#22C55E; background:#F0FDF4; }

/* Detay sayfası ürün kartı */
.product-row{ background:#fff; border:1px solid #EDEFF2; border-radius:24px; overflow:hidden; }
.product-row:hover{ box-shadow: 0 24px 48px -24px rgba(15,17,22,.18); }

/* Marquee */
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.marquee-track{ animation: marquee 35s linear infinite; }

/* Background patterns */
.bg-grid {
  background-image:
    linear-gradient(rgba(14,17,22,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(14,17,22,.04) 1px, transparent 1px);
  background-size: 48px 48px;
}
.bg-radial-cream{
  background:
    radial-gradient(1200px 600px at 80% 20%, #FFE4D5 0%, transparent 60%),
    radial-gradient(1000px 500px at 0% 90%, #EAE6DC 0%, transparent 55%),
    #FBFAF7;
}

/* Hero overlay reveal */
.reveal { opacity:0; transform: translateY(16px); transition: all .8s cubic-bezier(.2,.7,.2,1);}
.swiper-slide-active .reveal { opacity:1; transform: translateY(0); }
.swiper-slide-active .reveal-1 { transition-delay:.10s }
.swiper-slide-active .reveal-2 { transition-delay:.20s }
.swiper-slide-active .reveal-3 { transition-delay:.30s }
.swiper-slide-active .reveal-4 { transition-delay:.40s }

/* Focus */
:focus-visible{ outline:2px solid #DD5E2C; outline-offset:3px; border-radius:6px; }

/* Section divider dot */
.divider-dot::before{ content:""; display:inline-block; width:6px;height:6px;border-radius:999px;background:#DD5E2C; margin-right:.6rem; vertical-align:middle;}

/* Ken Burns */
@keyframes kenburns { 0%{transform:scale(1)} 50%{transform:scale(1.12)} 100%{transform:scale(1)} }
.kenburns{ animation: kenburns 16s ease-in-out infinite; transform-origin:center; will-change:transform; }
@media (prefers-reduced-motion: reduce){ .kenburns{ animation:none; } }

/* Hero görsel arkası — minimal eğimli nokta dokusu */
.hero-glow{
  position:absolute; inset:-16% -12%; z-index:0; pointer-events:none;
  -webkit-mask-image:
    radial-gradient(40% 48% at 87% 6%, #000 0%, transparent 70%),
    radial-gradient(40% 48% at 13% 94%, #000 0%, transparent 70%);
          mask-image:
    radial-gradient(40% 48% at 87% 6%, #000 0%, transparent 70%),
    radial-gradient(40% 48% at 13% 94%, #000 0%, transparent 70%);
}
.hero-glow::before{
  content:""; position:absolute; inset:-30%;
  background-image: radial-gradient(rgba(255,255,255,.30) 1.3px, transparent 1.5px);
  background-size: 34px 34px;
  transform: rotate(-14deg);
  opacity:0;
  transition: opacity 1s cubic-bezier(.2,.7,.2,1);
}
.swiper-slide-active .hero-glow::before{ opacity:1; }

/* Derinlik ışığı */
.hero-aura{ position:absolute; inset:-10%; z-index:0; pointer-events:none; }
.hero-aura::before{
  content:""; position:absolute; inset:0;
  background: radial-gradient(58% 58% at 50% 46%, rgba(238,122,74,.30), transparent 66%);
  filter: blur(52px);
  opacity:0;
  transition: opacity 1.1s cubic-bezier(.2,.7,.2,1);
}
.swiper-slide-active .hero-aura::before{ opacity:1; }
@media (prefers-reduced-motion: reduce){ .hero-glow::before,.hero-aura::before{ transition:none; } }

/* WordPress core class uyumu */
.alignleft   { float: left; margin: 0 1.5rem 1rem 0; }
.alignright  { float: right; margin: 0 0 1rem 1.5rem; }
.aligncenter { display:block; margin-left: auto; margin-right: auto; }
.alignwide   { max-width: 1100px; margin-left: auto; margin-right: auto; }
.alignfull   { width: 100%; }
.screen-reader-text {
  position: absolute !important;
  clip: rect(1px,1px,1px,1px);
  width: 1px; height: 1px;
  overflow: hidden;
}

/* Header desktop menü: <li> varsayılan list-style noktalarını kaldır
   (ikonların solunda istenmeyen disc marker görünüyordu). */
.has-mega { list-style: none; }

/* Footer menü linkleri (Tailwind dışı stilleme) */
footer .menu li > a {
	color: #D6DAE0; /* ink-200 */
	transition: color .2s ease;
	display: inline-block;
}
footer .menu li > a:hover { color: #ffffff; }

/* Mobile menü accordion */
.walmo-mobile-menu .menu-item-has-children > .submenu-toggle{
  background: transparent; border: 0; cursor: pointer; padding: .5rem; color: inherit;
}
.walmo-mobile-menu ul.sub-menu { display: none; padding-left: 1rem; }
.walmo-mobile-menu ul.sub-menu.open { display: block; }

/* ============================================================
   Contact Form 7 — tema uyumlu stiller
   (native .walmo-contact-form görünümüyle eşleşir)
   ============================================================ */
.wpcf7 { color: #0E1116; display: block; width: 100%; }
.wpcf7 .wpcf7-form { margin: 0; width: 100%; }
.wpcf7-form p { margin: 0 0 1rem; }

/* Bu CF7 formu eski temanın 12-kolon grid'iyle (.form-request .row/.columns-6/-12)
   kurulmuş; walmo'da bu grid CSS'i olmadığından alanlar daralıp dikey diziliyordu.
   Forma scope'lu grid (WPBakery .vc_row/.wpb_row sınıflarına dokunmaz). */
.wpcf7 .form-request .row {
  display: flex; flex-wrap: wrap; gap: 1rem; margin: 0 0 1rem;
}
.wpcf7 .form-request .row:last-child { margin-bottom: 0; }
/* NOT: Tailwind Play CDN, '.columns-6/-12' sınıflarını kendi multi-column
   utility'si sanıp 'columns: 6/12' (column-count) üretiyor → alan 6/12 sütuna
   bölünüp daralıyordu. 'columns: auto' ile multicol'ü iptal et. */
.wpcf7 .form-request .columns { flex: 1 1 100%; min-width: 0; columns: auto; }
.wpcf7 .form-request .columns-6 { flex: 1 1 calc(50% - .5rem); columns: auto; }
.wpcf7 .form-request .columns-12 { flex: 1 1 100%; columns: auto; }
@media (max-width: 640px) {
  .wpcf7 .form-request .columns-6 { flex: 1 1 100%; }
}
.wpcf7-form p:last-of-type { margin-bottom: 0; }

/* CF7 alanları varsayılan inline <span> ile sarılır → tam genişlik için block yap */
.wpcf7-form .wpcf7-form-control-wrap { display: block; width: 100%; }

/* Etiket metni (label içinde yazılan alan adı) */
.wpcf7-form label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #0E1116;
  margin-bottom: .375rem;
}

/* Metin tabanlı alanlar + select + textarea */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="date"],
.wpcf7-form input[type="search"],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100%;
  padding: .75rem 1rem;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.5;
  color: #0E1116;
  background-color: #fff;
  border: 1px solid #EAE6DC;       /* cream-200 */
  border-radius: 12px;
  transition: border-color .2s ease, box-shadow .2s ease;
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
}

.wpcf7-form textarea { min-height: 140px; resize: vertical; display: block; }

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder { color: #A8AEB7; opacity: 1; } /* ink-300 */

/* Select için ok ikonu */
.wpcf7-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237C828D' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
}

/* Focus */
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
  outline: none;
  border-color: #EE7A4A;            /* brand-400 */
  box-shadow: 0 0 0 3px rgba(238,122,74,.15);
}

/* Checkbox / radio / acceptance listeleri */
.wpcf7-form .wpcf7-list-item { display: block; margin: 0 0 .4rem 0; }
.wpcf7-form .wpcf7-list-item:last-child { margin-bottom: 0; }
.wpcf7-form .wpcf7-list-item label {
  display: inline-flex;
  align-items: flex-start;
  gap: .5rem;
  font-weight: 400;
  font-size: 14px;
  color: #3B414B;                   /* ink-600 */
  margin-bottom: 0;
  cursor: pointer;
}
.wpcf7-form input[type="checkbox"],
.wpcf7-form input[type="radio"] {
  width: 1rem;
  height: 1rem;
  margin: .15rem 0 0 0;
  accent-color: #DD5E2C;            /* brand-500 */
  flex-shrink: 0;
}

/* Gönder butonu */
.wpcf7-form input[type="submit"],
.wpcf7-form button[type="submit"],
.wpcf7-submit {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .875rem 1.75rem;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  background-color: #0E1116;        /* ink-900 */
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color .2s ease, opacity .2s ease;
}
.wpcf7-form input[type="submit"]:hover,
.wpcf7-form button[type="submit"]:hover,
.wpcf7-submit:hover { background-color: #DD5E2C; } /* brand-500 */
.wpcf7-submit:disabled { opacity: .6; cursor: not-allowed; }

/* Geçersiz alan vurgusu */
.wpcf7-form input.wpcf7-not-valid,
.wpcf7-form select.wpcf7-not-valid,
.wpcf7-form textarea.wpcf7-not-valid {
  border-color: #DC2626;
  box-shadow: 0 0 0 3px rgba(220,38,38,.12);
}

/* Alan altı hata ipucu */
.wpcf7-not-valid-tip {
  display: block;
  margin-top: .375rem;
  font-size: 14px;
  font-weight: 500;
  color: #DC2626;
}

/* Form altı genel yanıt kutusu */
.wpcf7-response-output {
  margin: 1rem 0 0 !important;
  padding: .85rem 1.1rem !important;
  border: 1px solid transparent !important;
  border-radius: 14px !important;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}
/* Hata / kabul edilmedi / spam */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
  color: #9A3B19;                   /* brand-700 */
  background-color: #FFF4EE;        /* brand-50 */
  border-color: #FFC2A1 !important; /* brand-200 */
}
/* Başarılı gönderim */
.wpcf7 form.sent .wpcf7-response-output {
  color: #15803D;                   /* leaf-600 */
  background-color: #F0FDF4;
  border-color: #BBF7D0 !important;
}

/* Spinner */
.wpcf7-spinner {
  margin: 0 0 0 .6rem;
  background-color: #DD5E2C;
}

/* ============================================================
   WPBakery Page Builder — tema uyumlu içerik stilleri
   Tailwind preflight'ın sıfırladığı tipografiyi geri verir +
   imagebox / counter / iconlist özel elemanlarını stiller.
   Yalnız WPBakery sınıflarına scope'lu; tema şablonlarına dokunmaz.
   ============================================================ */

/* --- Tipografi: WPBakery içinde başlık/paragraf/link --- */
.wpb_wrapper h1, .wpb_wrapper h2, .wpb_wrapper h3, .wpb_wrapper h4, .wpb_wrapper h5,
h1.vc_custom_heading, h2.vc_custom_heading, h3.vc_custom_heading, h4.vc_custom_heading {
  font-family: "Plus Jakarta Sans", Inter, sans-serif;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #0E1116;
  margin: 0 0 .6em;
}
.wpb_wrapper h1, h1.vc_custom_heading { font-size: clamp(30px, 4vw, 44px); }
.wpb_wrapper h2, h2.vc_custom_heading { font-size: clamp(26px, 3vw, 36px); }
.wpb_wrapper h3, h3.vc_custom_heading { font-size: clamp(20px, 2.2vw, 26px); }
.wpb_wrapper h4, h4.vc_custom_heading { font-size: 18px; }

.wpb_text_column p, .wpb_wrapper > p {
  font-size: 16px;
  line-height: 1.8;
  color: #3B414B;                 /* ink-600 */
  margin: 0 0 1rem;
}
.wpb_text_column p:last-child { margin-bottom: 0; }
.wpb_text_column a { color: #DD5E2C; text-decoration: none; }
.wpb_text_column a:hover { color: #C04A1F; text-decoration: underline; }
.wpb_text_column ul, .wpb_text_column ol { margin: 0 0 1rem 1.25rem; }
.wpb_text_column li { margin: 0 0 .4rem; line-height: 1.7; color: #3B414B; }

/* --- imagebox (kart) --- */
.imagebox { margin: 0; }
.imagebox .box-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid #EAE6DC;       /* cream-200 */
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(15,17,22,.04), 0 8px 24px rgba(15,17,22,.06);
}
.imagebox .box-header { padding: 1.25rem 1.25rem .75rem; }
.imagebox .box-title {
  font-family: "Plus Jakarta Sans", Inter, sans-serif;
  font-size: 18px; font-weight: 700; color: #0E1116; margin: 0 0 .35rem; line-height: 1.3;
}
.imagebox .box-subtitle { font-size: 14px; line-height: 1.6; color: #5A616C; } /* ink-500 */
.imagebox .box-image { margin: 0; }
.imagebox .box-image a { display: block; }
.imagebox .box-image img { display: block; width: 100%; height: auto; }
.imagebox .box-content { padding: 1.1rem 1.25rem; }
.imagebox .box-content:empty { padding: 0; }
.imagebox .box-button { margin-top: .25rem; }
.imagebox .box-button a {
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: 14px; font-weight: 600; color: #DD5E2C; text-decoration: none;
}
.imagebox .box-button a:hover { color: #C04A1F; }

/* --- counter --- */
.counter { text-align: center; padding: 1rem 0; }
.counter-image { margin: 0 0 .85rem; }
.counter-image img { width: 54px; height: 54px; object-fit: contain; display: inline-block; }
.counter-content {
  display: flex; align-items: baseline; justify-content: center; gap: .04em;
  font-family: "Plus Jakarta Sans", Inter, sans-serif;
  font-weight: 800; font-size: clamp(34px, 5vw, 48px); line-height: 1; color: #DD5E2C;
}
.counter-prefix, .counter-suffix { font-size: .65em; font-weight: 700; }
.counter-title { margin-top: .55rem; font-size: 15px; font-weight: 600; color: #0E1116; }

/* --- iconlist --- */
.iconlist { list-style: none; margin: 0; padding: 0; }
.iconlist li { display: flex; align-items: flex-start; gap: .85rem; margin: 0 0 1.1rem; }
.iconlist li:last-child { margin-bottom: 0; }
.iconlist-item-icon { flex-shrink: 0; line-height: 1.4; }
.iconlist-item-icon i { color: #EE7A4A; font-size: 20px; }   /* brand-400 */
.iconlist-item-content { font-size: 15px; line-height: 1.7; }

/* --- başlık şeridi caption (revslider dışı statik) --- */
.slider-caption-1 .slider-title {
  font-family: "Plus Jakarta Sans", Inter, sans-serif;
  font-weight: 800; line-height: 1.1; color: #0E1116;
  font-size: clamp(26px, 3.4vw, 40px);
}

/* --- Koyu dolgulu satırlar (.vc_row-has-fill): açık metin --- */
.vc_row-has-fill .vc_custom_heading,
.vc_row-has-fill .wpb_wrapper h1, .vc_row-has-fill .wpb_wrapper h2,
.vc_row-has-fill .wpb_wrapper h3, .vc_row-has-fill .wpb_wrapper h4 { color: #ffffff; }
.vc_row-has-fill .wpb_text_column p,
.vc_row-has-fill .iconlist-item-content { color: #C7CAD1; }
.vc_row-has-fill .wpb_text_column a { color: #FFC2A1; } /* brand-200 */

/* ============================================================
   nProjects eklentisi — [projects] grid (Ürünler / Üretim Sistemleri)
   Eklenti kendi CSS'ini taşımıyor; grid + kart + filtre stilini tema verir.
   Isotope yok → düz CSS Grid (çakışma yok). Filtre li'leri kategori linkidir.
   ============================================================ */
.projects-wrap { margin: 0; }

/* Filtre / kategori pill'leri */
.projects-filter ul {
  list-style: none; margin: 0 0 2rem; padding: 0;
  display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center;
}
.projects-filter li { margin: 0; }
.projects-filter li a {
  display: inline-block; padding: .5rem 1.1rem;
  font-size: 14px; font-weight: 600; line-height: 1.2;
  color: #3B414B; background: #F5F3EE; border: 1px solid #EAE6DC;
  border-radius: 999px; text-decoration: none; transition: all .2s ease;
}
.projects-filter li a:hover { color: #fff; background: #DD5E2C; border-color: #DD5E2C; }
.projects-filter li.active a { color: #fff; background: #0E1116; border-color: #0E1116; }

/* Grid */
.projects-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 1024px) { .projects-items { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .projects-items { grid-template-columns: 1fr; } }

/* Kart */
.projects-items .project { margin: 0; }
.project-wrap {
  display: flex; flex-direction: column; height: 100%;
  background: #fff; border: 1px solid #EAE6DC; border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(15,17,22,.04), 0 8px 24px rgba(15,17,22,.06);
  transition: box-shadow .25s ease, transform .25s ease;
}
.project-wrap:hover {
  box-shadow: 0 1px 0 rgba(15,17,22,.04), 0 24px 48px -24px rgba(15,17,22,.18);
  transform: translateY(-3px);
}

/* Görsel + hover overlay */
.project-thumbnail {
  position: relative; margin: 0; overflow: hidden;
  aspect-ratio: 4 / 3; background: #0E1116;
}
.project-thumbnail > a { display: block; width: 100%; height: 100%; }
.project-thumbnail img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .5s ease;
}
.project-wrap:hover .project-thumbnail img { transform: scale(1.05); }
.project-thumbnail figcaption {
  position: absolute; inset: 0; margin: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(14,17,22,.45); opacity: 0; transition: opacity .25s ease;
}
.project-wrap:hover .project-thumbnail figcaption { opacity: 1; }
.project-quick-view {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .6rem 1.2rem; border-radius: 999px;
  background: #fff; color: #0E1116; font-size: 14px; font-weight: 600;
  text-decoration: none; transition: all .2s ease;
}
.project-quick-view:hover { background: #DD5E2C; color: #fff; }

/* Bilgi */
.project-info { padding: 1.15rem 1.25rem 1.35rem; }
.project-title {
  margin: 0 0 .5rem;
  font-family: "Plus Jakarta Sans", Inter, sans-serif;
  font-size: 18px; font-weight: 700; line-height: 1.3;
}
.project-title a { color: #0E1116; text-decoration: none; transition: color .2s ease; }
.project-title a:hover { color: #DD5E2C; }
.project-categories { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem .6rem; }
.project-categories li { margin: 0; }
.project-categories a { font-size: 14px; color: #DD5E2C; text-decoration: none; }
.project-categories a:hover { color: #C04A1F; text-decoration: underline; }
