/* =====================================================================
   Turkuvaz Organique Gübre – site tasarım sistemi
   Mavi/turkuvaz: güven ve kurumsal kimlik · Yeşil: doğallık ve bereket
   Altın: premium ve harekete geçirici öğeler · Kırmızı kullanılmaz
   ===================================================================== */
:root {
    --tq-primary: #0E9AA7;
    --tq-primary-dark: #076873;
    --tq-primary-light: #E6F6F7;
    --tq-blue: #1565C0;
    --tq-blue-light: #E3F0FB;
    --tq-green: #3FAE2A;
    --tq-green-dark: #2A7A1C;
    --tq-green-light: #EAF7E6;
    --tq-gold: #E8B023;
    --tq-gold-dark: #B8860B;
    --tq-gold-light: #FDF3D6;
    --tq-earth: #6D4C33;
    --tq-dark: #10262B;
    --tq-gray: #5F6F73;
    --tq-bg: #FAFCFB;

    --font-head: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --radius: 14px;
    --radius-sm: 10px;
    --shadow-sm: 0 2px 8px rgba(16, 38, 43, .06);
    --shadow: 0 10px 30px rgba(16, 38, 43, .08);
    --shadow-lg: 0 20px 50px rgba(16, 38, 43, .14);
    --header-h: 76px;
    --ease: cubic-bezier(.22, .61, .36, 1);

    /* Bootstrap değişken uyarlamaları */
    --bs-body-font-family: var(--font-body);
    --bs-body-color: var(--tq-dark);
    --bs-body-bg: var(--tq-bg);
    --bs-body-line-height: 1.6;
    --bs-link-color: var(--tq-primary-dark);
    --bs-link-color-rgb: 7, 104, 115;
    --bs-link-hover-color: #054f57;
    --bs-link-hover-color-rgb: 5, 79, 87;
    --bs-primary: var(--tq-primary-dark);
    --bs-primary-rgb: 7, 104, 115;
    --bs-secondary-color: var(--tq-gray);
    --bs-border-radius: var(--radius-sm);
}

/* Kategori metin rengi: AA kontrast için koyulaştırılmış kategori rengi */
[style*="--cat"] { --cat-text: var(--tq-dark); }
@supports (color: color-mix(in srgb, red, blue)) {
    [style*="--cat"] { --cat-text: color-mix(in srgb, var(--cat) 62%, #000); }
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 12px); }
body { font-family: var(--font-body); background: var(--tq-bg); color: var(--tq-dark); line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5 { font-family: var(--font-head); font-weight: 700; letter-spacing: -.02em; line-height: 1.2; color: var(--tq-dark); }
h1 { font-weight: 800; }
img, svg, video { max-width: 100%; }
picture { display: contents; }
a { text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--tq-gold); outline-offset: 2px; }
.text-body-secondary { color: var(--tq-gray) !important; }
.visually-hidden-focusable:not(:focus) { position: absolute !important; }

.skip-link { position: fixed; top: -60px; left: 12px; z-index: 2000; background: var(--tq-dark); color: #fff; padding: 10px 16px; border-radius: 8px; font-weight: 600; transition: top .2s; }
.skip-link:focus { top: 12px; color: #fff; }
main:focus { outline: none; }

/* ---------------------------------------------------------------------
   Butonlar
   --------------------------------------------------------------------- */
.btn { font-family: var(--font-body); font-weight: 600; border-radius: var(--radius-sm); display: inline-flex; align-items: center; justify-content: center; transition: transform .2s var(--ease), box-shadow .2s var(--ease), background-color .2s, color .2s, border-color .2s; }
.btn-lg { padding: .8rem 1.4rem; font-size: 1rem; }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn-primary { --bs-btn-bg: var(--tq-primary-dark); --bs-btn-border-color: var(--tq-primary-dark); --bs-btn-hover-bg: #05555e; --bs-btn-hover-border-color: #05555e; --bs-btn-active-bg: #044850; --bs-btn-active-border-color: #044850; --bs-btn-focus-shadow-rgb: 14, 154, 167; }
.btn-outline-primary { --bs-btn-color: var(--tq-primary-dark); --bs-btn-border-color: var(--tq-primary-dark); --bs-btn-hover-bg: var(--tq-primary-dark); --bs-btn-hover-border-color: var(--tq-primary-dark); --bs-btn-hover-color: #fff; --bs-btn-active-bg: var(--tq-primary-dark); --bs-btn-active-border-color: var(--tq-primary-dark); border-width: 2px; }
.btn-gold { background: var(--tq-gold); border: 2px solid var(--tq-gold); color: var(--tq-dark); box-shadow: 0 6px 18px rgba(232, 176, 35, .35); }
.btn-gold:hover, .btn-gold:focus-visible { background: #f0bf3c; border-color: #f0bf3c; color: var(--tq-dark); box-shadow: 0 10px 24px rgba(232, 176, 35, .45); }
.btn-gold:active { background: var(--tq-gold-dark) !important; border-color: var(--tq-gold-dark) !important; color: #fff !important; }
.btn-dark { --bs-btn-bg: var(--tq-dark); --bs-btn-border-color: var(--tq-dark); --bs-btn-hover-bg: #0a1b1f; --bs-btn-hover-border-color: #0a1b1f; }
.btn-light { --bs-btn-bg: #fff; --bs-btn-border-color: #fff; --bs-btn-color: var(--tq-primary-dark); --bs-btn-hover-bg: var(--tq-primary-light); --bs-btn-hover-border-color: var(--tq-primary-light); --bs-btn-hover-color: var(--tq-primary-dark); }
.btn-wa i { font-size: 1.15rem; margin-right: .45rem; }
.btn-link-plain { background: none; border: 0; padding: 0; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* ---------------------------------------------------------------------
   Header
   --------------------------------------------------------------------- */
.site-header { position: sticky; top: 0; z-index: 1030; background: rgba(255, 255, 255, .96); border-bottom: 1px solid rgba(14, 154, 167, .12); box-shadow: 0 2px 16px rgba(16, 38, 43, .05); }
@supports (backdrop-filter: blur(8px)) { .site-header { background: rgba(255, 255, 255, .88); backdrop-filter: saturate(160%) blur(10px); } }
.site-header::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--tq-primary) 0%, var(--tq-blue) 45%, var(--tq-green) 75%, var(--tq-gold) 100%); }
.site-header-inner { display: flex; align-items: center; gap: 1.5rem; min-height: var(--header-h); }
.site-logo { display: inline-flex; align-items: center; flex-shrink: 0; }
.site-logo-img { height: 58px; width: auto; }
@media (max-width: 575.98px) { .site-logo-img { height: 48px; } }
.main-nav { margin-left: auto; }
.main-nav ul { list-style: none; display: flex; gap: .25rem; margin: 0; padding: 0; }
.main-nav a { position: relative; display: block; padding: .6rem .95rem; font-weight: 600; color: var(--tq-dark); text-decoration: none; border-radius: 8px; transition: color .2s; }
.main-nav a::after { content: ''; position: absolute; left: .95rem; right: .95rem; bottom: .3rem; height: 2px; background: var(--tq-gold); transform: scaleX(0); transform-origin: left; transition: transform .25s var(--ease); }
.main-nav a:hover { color: var(--tq-primary-dark); }
.main-nav a:hover::after, .main-nav a.active::after { transform: scaleX(1); }
.main-nav a.active { color: var(--tq-primary-dark); }
.header-actions { display: flex; align-items: center; gap: .75rem; margin-left: auto; }
.main-nav + .header-actions { margin-left: 0; }

.lang-switch { display: inline-flex; align-items: center; background: var(--tq-primary-light); border-radius: 999px; padding: 3px; font-weight: 700; font-size: .85rem; }
.lang-switch a { display: inline-block; padding: .35rem .75rem; border-radius: 999px; color: var(--tq-primary-dark); text-decoration: none; letter-spacing: .04em; transition: background-color .2s, color .2s; }
.lang-switch a.active { background: var(--tq-primary-dark); color: #fff; }
.lang-switch a:not(.active):hover { background: #fff; }

.nav-toggle { width: 46px; height: 46px; border: 0; border-radius: 10px; background: var(--tq-primary-light); display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; }
.nav-toggle-bar { width: 22px; height: 2px; background: var(--tq-primary-dark); border-radius: 2px; }
.mobile-nav { --bs-offcanvas-width: min(340px, 88vw); }
.mobile-nav .offcanvas-header { border-bottom: 3px solid var(--tq-gold); }
.mobile-nav-list { list-style: none; padding: 0; margin: 0; }
.mobile-nav-list a { display: block; padding: .9rem .25rem; font-family: var(--font-head); font-weight: 700; font-size: 1.15rem; color: var(--tq-dark); text-decoration: none; border-bottom: 1px solid #eef3f3; }
.mobile-nav-list a.active { color: var(--tq-primary-dark); box-shadow: inset 3px 0 0 var(--tq-gold); padding-left: .8rem; }

/* ---------------------------------------------------------------------
   Genel bölümler
   --------------------------------------------------------------------- */
.section { padding: 4.5rem 0; position: relative; }
@media (max-width: 767.98px) { .section { padding: 3rem 0; } }
.section-soft { background: linear-gradient(180deg, #F1F8F6 0%, #F7FBFA 100%); }
.section-head { max-width: 720px; margin: 0 auto 2.5rem; text-align: center; }
.section-head h2 { font-size: clamp(1.6rem, 1.1rem + 1.8vw, 2.35rem); margin-bottom: .6rem; }
.section-head p { color: var(--tq-gray); font-size: 1.05rem; margin: 0; }
.section-head-row { max-width: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; text-align: left; flex-wrap: wrap; }
.section-kicker { display: inline-flex; align-items: center; gap: .5rem; font-weight: 600; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--tq-green-dark); margin-bottom: .6rem; }
.section-kicker::before { content: ''; width: 26px; height: 2px; background: var(--tq-gold); }
.section-title-sm { font-size: 1.5rem; margin-bottom: 1.25rem; }
.lead-text { font-size: 1.1rem; color: #3d4f53; }
h2 { font-size: clamp(1.5rem, 1.1rem + 1.5vw, 2.2rem); }

/* Organik dalga ayraçları */
.wave-divider { position: absolute; left: 0; right: 0; line-height: 0; color: var(--tq-bg); pointer-events: none; }
.wave-divider svg { width: 100%; height: 48px; display: block; }
.wave-bottom { bottom: -2px; }
.wave-divider svg path { shape-rendering: geometricPrecision; }
@media (min-width: 992px) { .wave-divider svg { height: 70px; } }

/* Premium köşe şeridi */
.ribbon { position: absolute; top: 34px; right: -58px; width: 230px; text-align: center; z-index: 2; transform: rotate(45deg); background: linear-gradient(90deg, var(--tq-gold-dark), var(--tq-gold), var(--tq-gold-dark)); color: var(--tq-dark); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .32rem 0; box-shadow: 0 4px 10px rgba(0, 0, 0, .15); white-space: nowrap; }
.ribbon-sm { top: 26px; right: -56px; width: 200px; font-size: .6rem; padding: .24rem 0; }

/* Altın çerçeveli görseller */
.framed-media { position: relative; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-lg); }
.framed-media::after { content: ''; position: absolute; inset: 10px; border: 1.5px solid rgba(232, 176, 35, .85); border-radius: calc(var(--radius) - 6px); pointer-events: none; }
.framed-media img { display: block; width: 100%; height: auto; }
.framed-media-alt { border-radius: 60px 14px 60px 14px; }
.framed-media-alt::after { border-radius: 52px 8px 52px 8px; }

/* ---------------------------------------------------------------------
   Hero
   --------------------------------------------------------------------- */
.hero { position: relative; min-height: clamp(540px, 82vh, 760px); display: flex; align-items: center; color: #fff; overflow: hidden; background: var(--tq-primary-dark); isolation: isolate; }
.hero-media { position: absolute; inset: 0; z-index: -2; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; }
.hero-overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(8, 44, 50, .9) 0%, rgba(7, 104, 115, .72) 45%, rgba(7, 104, 115, .18) 100%); }
.hero-overlay::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 80% 30%, rgba(63, 174, 42, .35), transparent 55%); animation: heroGlow 12s ease-in-out infinite alternate; }
.hero-content { position: relative; padding: 4rem 0 6rem; max-width: 760px; margin-left: max(12px, calc((100vw - 1320px) / 2 + 12px)); }
@media (max-width: 1399.98px) { .hero-content { margin-left: auto; margin-right: auto; max-width: none; } }
.hero-content { padding-left: 12px; padding-right: 12px; }
.hero-badge { display: inline-flex; align-items: center; gap: .5rem; background: rgba(232, 176, 35, .16); border: 1px solid rgba(232, 176, 35, .7); color: #FFE7A6; padding: .4rem 1rem; border-radius: 999px; font-weight: 600; font-size: .85rem; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 1.25rem; }
.hero-title { color: #fff; font-size: clamp(2.1rem, 1.3rem + 3.6vw, 3.9rem); line-height: 1.08; margin-bottom: 1.1rem; max-width: 16ch; text-shadow: 0 2px 20px rgba(0, 0, 0, .2); }
.hero-subtitle { font-size: clamp(1.05rem, .95rem + .45vw, 1.3rem); color: rgba(255, 255, 255, .92); max-width: 56ch; margin-bottom: 2rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; }
.hero .wave-divider { color: var(--tq-bg); }
.hero-leaves { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.leaf { position: absolute; width: 56px; height: 56px; color: rgba(63, 174, 42, .55); animation: leafFloat 14s ease-in-out infinite; will-change: transform; }
.leaf-1 { top: 18%; right: 12%; animation-duration: 16s; }
.leaf-2 { top: 58%; right: 26%; width: 38px; height: 38px; color: rgba(232, 176, 35, .5); animation-duration: 19s; animation-delay: -6s; }
.leaf-3 { top: 32%; right: 38%; width: 28px; height: 28px; color: rgba(255, 255, 255, .35); animation-duration: 22s; animation-delay: -11s; }
@media (max-width: 767.98px) { .leaf-3, .leaf-2 { display: none; } .hero { min-height: 560px; } .hero-content { padding-bottom: 5rem; } }

@keyframes leafFloat {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
    33% { transform: translate3d(-18px, 22px, 0) rotate(18deg); }
    66% { transform: translate3d(12px, -14px, 0) rotate(-12deg); }
}
@keyframes heroGlow { from { opacity: .55; transform: translate3d(0, 0, 0); } to { opacity: 1; transform: translate3d(-4%, 3%, 0); } }

/* ---------------------------------------------------------------------
   Fayda piktogramları
   --------------------------------------------------------------------- */
.benefits-strip { padding-top: 2.5rem; padding-bottom: 3rem; }
.benefit-badges { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.25rem 1rem; }
.benefit-badges-lg { grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); }
.benefit-badges-md { grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 1rem .75rem; margin: 1.5rem 0; }
.benefit-badge { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .65rem; }
.benefit-badge-icon { position: relative; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: var(--b, var(--tq-primary)); background: #fff; box-shadow: 0 6px 18px rgba(16, 38, 43, .08), inset 0 0 0 2px rgba(232, 176, 35, .55); transition: transform .3s var(--ease); }
.benefit-badge-icon::before { content: ''; position: absolute; inset: 6px; border-radius: 50%; background: var(--b, var(--tq-primary)); opacity: .12; }
.benefit-badges-lg .benefit-badge-icon { width: 92px; height: 92px; font-size: 2.2rem; }
.benefit-badges-md .benefit-badge-icon { width: 64px; height: 64px; font-size: 1.5rem; }
.benefit-badge-icon img { width: 50%; height: 50%; object-fit: contain; position: relative; }
.benefit-badge-icon i { position: relative; }
.benefit-badge:hover .benefit-badge-icon { transform: translateY(-4px) scale(1.04); }
.benefit-badge-label { font-weight: 600; font-size: .92rem; line-height: 1.3; color: var(--tq-dark); max-width: 14ch; }
.benefit-badges-md .benefit-badge-label { font-size: .8rem; }

/* ---------------------------------------------------------------------
   Kategori kartları
   --------------------------------------------------------------------- */
.category-card { display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: var(--radius); overflow: hidden; text-decoration: none; color: var(--tq-dark); box-shadow: var(--shadow-sm); border-top: 6px solid var(--cat); position: relative; transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.category-card::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--cat-accent); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
.category-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); color: var(--tq-dark); }
.category-card:hover::after { transform: scaleX(1); }
.category-card-media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--tq-primary-light); }
.category-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.category-card:hover .category-card-media img { transform: scale(1.06); }
.category-card-body { position: relative; display: flex; flex-direction: column; flex: 1; padding: 2.4rem 1.5rem 1.5rem; }
.category-card-icon { position: absolute; top: -30px; left: 1.5rem; width: 60px; height: 60px; border-radius: 50%; background: var(--cat); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 1.5rem; box-shadow: 0 0 0 5px #fff, 0 0 0 7px var(--cat-accent); }
.category-card-title { font-family: var(--font-head); font-weight: 700; font-size: 1.3rem; margin-bottom: .5rem; }
.category-card-text { color: var(--tq-gray); font-size: .95rem; flex: 1; }
.category-card-link { margin-top: 1rem; font-weight: 600; color: var(--cat-text); display: inline-flex; align-items: center; gap: .5rem; }
.category-card-link i { transition: transform .25s var(--ease); }
.category-card:hover .category-card-link i { transform: translateX(4px); }

/* ---------------------------------------------------------------------
   Ürün kartları
   --------------------------------------------------------------------- */
.product-card { position: relative; display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); border: 1px solid #e8f0ef; transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.product-card::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--cat); z-index: 3; }
.product-card::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: linear-gradient(90deg, var(--tq-gold-dark), var(--tq-gold)); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
.product-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.product-card:hover::after { transform: scaleX(1); }
.product-card-media { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #F3F8F7; }
.product-card-img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.product-card:hover .product-card-img { transform: scale(1.07); }
.product-card-body { display: flex; flex-direction: column; flex: 1; padding: 1.1rem 1.15rem 1.2rem; }
.cat-badge { align-self: flex-start; display: inline-flex; align-items: center; gap: .4rem; font-size: .74rem; font-weight: 600; padding: .28rem .65rem; border-radius: 999px; color: var(--cat-text); background: #fff; border: 1.5px solid var(--cat); text-decoration: none; margin-bottom: .6rem; }
.cat-badge i { color: var(--cat); }
.cat-badge-lg { font-size: .85rem; padding: .4rem .9rem; }
a.cat-badge:hover { background: var(--cat); color: #fff; }
a.cat-badge:hover i { color: #fff; }
.product-card-title { font-size: 1.12rem; margin-bottom: .2rem; }
.product-card-title a { color: var(--tq-dark); text-decoration: none; }
.product-card-title a::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.product-card-title a:hover { color: var(--tq-primary-dark); }
.active-ingredient { font-family: var(--font-body); font-weight: 600; text-transform: uppercase; letter-spacing: .14em; font-size: .74rem; color: var(--cat-text); margin: 0 0 .75rem; }
.active-ingredient-lg { font-size: .9rem; letter-spacing: .18em; margin-bottom: .75rem; }
.benefit-mini { list-style: none; display: flex; gap: .5rem; padding: 0; margin: 0 0 .9rem; }
.benefit-mini li { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; text-align: center; gap: .3rem; }
.benefit-mini-icon { width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--b); background: #fff; box-shadow: inset 0 0 0 2px rgba(232, 176, 35, .5); position: relative; font-size: 1rem; }
.benefit-mini-icon::before { content: ''; position: absolute; inset: 4px; border-radius: 50%; background: var(--b); opacity: .12; }
.benefit-mini-icon i, .benefit-mini-icon img { position: relative; }
.benefit-mini-label { font-size: .68rem; line-height: 1.2; color: var(--tq-gray); font-weight: 500; }
.product-card-footer { margin-top: auto; }
.product-price { margin: 0 0 .8rem; min-height: 1.5rem; }
.product-price small { display: block; font-size: .72rem; color: var(--tq-gray); }
.product-price strong { font-family: var(--font-head); font-size: 1.15rem; color: var(--tq-primary-dark); }
.price-request { font-size: .85rem; font-weight: 600; color: var(--tq-gold-dark); }
.price-request::before { content: '\25CF'; color: var(--tq-gold); margin-right: .35rem; font-size: .7rem; vertical-align: middle; }
.product-card-actions { position: relative; z-index: 2; display: flex; gap: .5rem; }
.product-card-actions .btn-outline-primary { flex: 1; }

/* ---------------------------------------------------------------------
   Sonuç / Neden bölümleri
   --------------------------------------------------------------------- */
.results-section { background: linear-gradient(135deg, var(--tq-green-light) 0%, #F5FBF3 60%, var(--tq-bg) 100%); }
.check-list { list-style: none; padding: 0; margin: 1.5rem 0; }
.check-list li { display: flex; align-items: center; gap: .75rem; font-weight: 600; font-size: 1.05rem; padding: .55rem 0; }
.check-list i { color: var(--tq-green-dark); font-size: 1.4rem; }
.why-list { display: grid; gap: 1.25rem; margin-top: 1.5rem; }
.why-item { display: flex; gap: 1rem; align-items: flex-start; background: #fff; border-radius: var(--radius); padding: 1.1rem 1.25rem; box-shadow: var(--shadow-sm); border-left: 4px solid var(--tq-gold); }
.why-icon { flex-shrink: 0; width: 52px; height: 52px; border-radius: 50%; background: var(--tq-primary-light); color: var(--tq-primary-dark); display: inline-flex; align-items: center; justify-content: center; font-size: 1.35rem; }
.why-item h3 { font-size: 1.08rem; margin-bottom: .25rem; }
.why-item p { color: var(--tq-gray); margin: 0; font-size: .95rem; }

/* ---------------------------------------------------------------------
   İstatistikler
   --------------------------------------------------------------------- */
.stats-band { position: relative; padding: 3.75rem 0; color: #fff; background: linear-gradient(120deg, var(--tq-primary-dark) 0%, #0B4F63 55%, var(--tq-blue) 100%); overflow: hidden; }
.stats-band::before { content: ''; position: absolute; width: 420px; height: 420px; right: -120px; top: -180px; border-radius: 50%; border: 60px solid rgba(232, 176, 35, .12); }
.stat { text-align: center; position: relative; }
.stat i { font-size: 1.7rem; color: var(--tq-gold); margin-bottom: .6rem; display: block; }
.stat-value { font-family: var(--font-head); font-weight: 800; font-size: clamp(2rem, 1.4rem + 2.4vw, 3.1rem); line-height: 1; margin: 0 0 .4rem; color: #fff; font-variant-numeric: tabular-nums; }
.stat-label { margin: 0; color: rgba(255, 255, 255, .9); font-weight: 500; }

/* ---------------------------------------------------------------------
   Video facade
   --------------------------------------------------------------------- */
.video-wrap { max-width: 960px; margin: 0 auto; }
.video-facade { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius); overflow: hidden; background: var(--tq-dark); box-shadow: var(--shadow-lg); }
.video-facade .video-poster, .video-facade picture img { width: 100%; height: 100%; object-fit: cover; display: block; }
.video-poster-empty { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, var(--tq-primary-dark), var(--tq-green-dark)); }
.video-facade iframe, .video-facade video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-play { position: absolute; top: 50%; left: 50%; width: 84px; height: 84px; margin: -42px 0 0 -42px; border-radius: 50%; border: 0; background: var(--tq-gold); color: var(--tq-dark); font-size: 1.8rem; box-shadow: 0 0 0 10px rgba(232, 176, 35, .3); transition: transform .25s var(--ease); cursor: pointer; }
.video-play i { margin-left: 5px; }
.video-play:hover { transform: scale(1.08); }

/* Ana sayfa galeri şeritleri (yatay kaydırma + scroll-snap) */
.gallery-strip .section-head { margin-bottom: 1.75rem; }
.strip-controls { display: flex; align-items: center; gap: .5rem; }
.strip-btn { width: 46px; height: 46px; border-radius: 50%; border: 2px solid var(--tq-primary-dark); background: #fff; color: var(--tq-primary-dark); display: inline-flex; align-items: center; justify-content: center; transition: background .2s, color .2s, opacity .2s; cursor: pointer; }
.strip-btn:hover:not(:disabled) { background: var(--tq-primary-dark); color: #fff; }
.strip-btn:disabled { opacity: .35; cursor: default; }
.strip-viewport { --strip-pad: max(12px, calc((100vw - 1320px) / 2 + 12px)); }
.strip-track { display: grid; grid-auto-flow: column; gap: 1.25rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--strip-pad); padding: .25rem var(--strip-pad) 1.5rem; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.strip-track::-webkit-scrollbar { display: none; }
.strip-track:focus-visible { outline: 3px solid var(--tq-gold); outline-offset: -3px; }
.strip-item { scroll-snap-align: start; }
.strip-photos { grid-auto-columns: clamp(250px, 26vw, 340px); }
.strip-photos .photo-tile { box-shadow: var(--shadow); }
.strip-videos-portrait { grid-auto-columns: clamp(190px, 19vw, 250px); }
.strip-videos-portrait .video-facade { aspect-ratio: 9 / 16; }
.strip-videos-landscape { grid-auto-columns: clamp(280px, 40vw, 520px); }
.strip-videos .video-facade { box-shadow: var(--shadow); }
.strip-videos .video-facade video:not(.video-poster) { object-fit: contain; background: #000; }
.strip-videos .video-play { width: 60px; height: 60px; margin: -30px 0 0 -30px; font-size: 1.25rem; box-shadow: 0 0 0 8px rgba(232, 176, 35, .3); }
.strip-more { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; min-width: 170px; padding: 1.5rem; border-radius: var(--radius); border: 2px dashed rgba(14, 154, 167, .35); color: var(--tq-primary-dark); font-weight: 700; text-align: center; text-decoration: none; transition: background .2s, border-color .2s; }
.strip-more:hover { background: rgba(14, 154, 167, .06); border-color: var(--tq-primary); color: var(--tq-primary-dark); }
.strip-more-icon { width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(14, 154, 167, .1); font-size: 1.4rem; }
.strip-photos .strip-more { aspect-ratio: 4 / 3; }
@media (max-width: 767.98px) {
    .strip-controls .strip-btn { display: none; }
    .strip-track { gap: .8rem; padding-bottom: 1rem; }
    .strip-photos { grid-auto-columns: 78vw; }
    .strip-videos-portrait { grid-auto-columns: 44vw; }
    .strip-videos-landscape { grid-auto-columns: 82vw; }
    .strip-videos .video-play { width: 50px; height: 50px; margin: -25px 0 0 -25px; font-size: 1.05rem; box-shadow: 0 0 0 6px rgba(232, 176, 35, .3); }
    .strip-more { min-width: 0; }
}

/* Resmi belgeler (Hakkımızda) */
.doc-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1rem; }
.doc-card { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.25rem; background: #fff; border: 1px solid rgba(14, 154, 167, .15); border-radius: var(--radius); box-shadow: var(--shadow); color: var(--tq-dark); text-decoration: none; transition: transform .25s var(--ease), box-shadow .25s, border-color .25s; }
.doc-card:hover, .doc-card:focus-visible { transform: translateY(-3px); border-color: var(--tq-primary); box-shadow: var(--shadow-lg); color: var(--tq-dark); }
.doc-card-icon { flex-shrink: 0; width: 52px; height: 52px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: #FDECEC; color: #D93025; font-size: 1.5rem; }
.doc-card-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.doc-card-title { font-weight: 700; line-height: 1.3; }
.doc-card-meta { font-size: .85rem; color: var(--tq-gray, #6c757d); margin-top: .15rem; }
.doc-card-action { flex-shrink: 0; display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .8rem; border-radius: 999px; background: var(--tq-primary); color: #fff; font-weight: 600; font-size: .85rem; }
@media (max-width: 575.98px) { .doc-list { grid-template-columns: 1fr; } .doc-card-action span { display: none; } }

/* Galeri sayfası: tüm fotoğraflar 4:3, tüm videolar 16:9 – yüklenen dosyanın boyutundan bağımsız */
.photo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.25rem; }
.photo-tile { position: relative; display: block; width: 100%; padding: 0; border: 0; aspect-ratio: 4 / 3; border-radius: var(--radius); overflow: hidden; background: #F3F8F7; box-shadow: var(--shadow); cursor: zoom-in; }
.photo-tile picture, .photo-tile img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; transition: transform .45s var(--ease); }
.photo-tile:hover img, .photo-tile:focus-visible img { transform: scale(1.05); }
.photo-tile-zoom { position: absolute; right: .75rem; bottom: .75rem; width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .92); color: var(--tq-primary-dark); opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s var(--ease); }
.photo-tile:hover .photo-tile-zoom, .photo-tile:focus-visible .photo-tile-zoom { opacity: 1; transform: none; }
.video-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 1.5rem; }
.video-card { margin: 0; }
.video-card .video-facade { box-shadow: var(--shadow); }
.video-grid-portrait { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.video-grid-portrait .video-facade { aspect-ratio: 9 / 16; }
.video-grid .video-facade video:not(.video-poster) { object-fit: contain; background: #000; }
.video-card .video-play { width: 64px; height: 64px; margin: -32px 0 0 -32px; font-size: 1.35rem; }
.video-card figcaption { margin-top: .7rem; font-weight: 600; color: var(--tq-dark); }
@media (max-width: 575.98px) { .photo-grid { grid-template-columns: repeat(2, 1fr); gap: .6rem; } .photo-tile-zoom { display: none; } .video-grid { grid-template-columns: 1fr; } .video-grid-portrait { grid-template-columns: repeat(2, 1fr); gap: .75rem; } .video-grid-portrait .video-play { width: 52px; height: 52px; margin: -26px 0 0 -26px; font-size: 1.1rem; box-shadow: 0 0 0 6px rgba(232, 176, 35, .3); } }

/* ---------------------------------------------------------------------
   CTA bandı
   --------------------------------------------------------------------- */
.cta-band { padding: 3.5rem 0; }
.cta-band-inner { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; background: linear-gradient(120deg, #F2C14E 0%, var(--tq-gold) 50%, #DDA119 100%); border-radius: 20px; padding: 2.5rem; box-shadow: 0 20px 40px rgba(184, 134, 11, .25); }
.cta-band-inner::before { content: ''; position: absolute; right: -60px; bottom: -80px; width: 260px; height: 260px; border-radius: 50%; background: rgba(255, 255, 255, .18); }
.cta-band-text { position: relative; max-width: 560px; }
.cta-band-text h2 { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.1rem); margin-bottom: .4rem; }
.cta-band-text p { margin: 0; color: #2b2410; font-weight: 500; }
.cta-band-actions { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.cta-phone { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; color: var(--tq-dark); text-decoration: none; padding: .5rem .25rem; }
.cta-phone:hover { color: var(--tq-dark); text-decoration: underline; }
@media (max-width: 575.98px) { .cta-band-inner { padding: 1.75rem 1.25rem; } .cta-band-actions .btn { width: 100%; } }

/* ---------------------------------------------------------------------
   İç sayfa banner'ı ve breadcrumb
   --------------------------------------------------------------------- */
.page-banner { position: relative; min-height: 300px; display: flex; align-items: flex-end; color: #fff; overflow: hidden; background: var(--tq-primary-dark); isolation: isolate; }
.page-banner-media { position: absolute; inset: 0; z-index: -2; }
.page-banner-media img { width: 100%; height: 100%; object-fit: cover; }
.page-banner::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8, 44, 50, .88) 0%, rgba(7, 104, 115, .6) 60%, rgba(7, 104, 115, .25) 100%); }
.page-banner-content { padding-top: 3rem; padding-bottom: 4.5rem; }
.page-banner h1 { color: #fff; font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3rem); margin: .5rem 0 .5rem; }
.page-banner .lead { color: rgba(255, 255, 255, .92); max-width: 60ch; margin: 0; font-size: 1.08rem; }
.breadcrumb-nav ol { list-style: none; display: flex; flex-wrap: wrap; gap: .35rem; padding: 0; margin: 0; font-size: .85rem; }
.breadcrumb-nav li + li::before { content: '/'; margin-right: .35rem; opacity: .6; }
.breadcrumb-light a { color: rgba(255, 255, 255, .92); }
.breadcrumb-light span { color: #FFE7A6; }
.breadcrumb-dark { margin-bottom: 1rem; }
.breadcrumb-dark a { color: var(--tq-primary-dark); }
.breadcrumb-dark span { color: var(--tq-gray); }

/* ---------------------------------------------------------------------
   Ürün listesi: filtre çipleri ve sayfalama
   --------------------------------------------------------------------- */
.filter-chips { display: flex; gap: .6rem; flex-wrap: wrap; margin-bottom: 2rem; }
/* Kategori filtresi: tıklanınca açılan menü */
.filter-dropdown { position: relative; z-index: 20; margin-bottom: 2rem; max-width: 100%; }
.filter-toggle { list-style: none; display: inline-flex; align-items: center; gap: .9rem; max-width: 100%; padding: .7rem 1.1rem; border-radius: 14px; background: #fff; border: 2px solid var(--tq-primary-dark); color: var(--tq-dark); cursor: pointer; font-weight: 600; box-shadow: var(--shadow); user-select: none; }
.filter-toggle::-webkit-details-marker { display: none; }
.filter-toggle:focus-visible { outline: 3px solid var(--tq-gold); outline-offset: 2px; }
.filter-toggle-label { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--tq-gray); white-space: nowrap; }
.filter-toggle-value { display: inline-flex; align-items: center; gap: .5rem; min-width: 0; }
.filter-toggle-value span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.filter-toggle-value i { color: var(--tq-primary-dark); }
.filter-toggle-caret { margin-left: auto; font-size: .8rem; transition: transform .2s var(--ease); }
.filter-dropdown[open] .filter-toggle-caret { transform: rotate(180deg); }
.filter-dropdown .filter-chips { position: absolute; top: calc(100% + .5rem); left: 0; width: min(760px, calc(100vw - 24px)); margin: 0; padding: .75rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; background: #fff; border-radius: 16px; border: 1px solid rgba(14, 154, 167, .15); box-shadow: 0 20px 50px rgba(16, 38, 43, .18); }
.filter-dropdown .chip { border-radius: 10px; border-width: 0; border-left: 4px solid var(--cat); padding: .6rem .8rem; font-size: .88rem; line-height: 1.25; }
.filter-dropdown .chip:hover { transform: none; background: rgba(14, 154, 167, .06); }
.filter-dropdown .chip.active { background: var(--cat); }
.filter-dropdown .chip-count { margin-left: auto; flex-shrink: 0; }
@media (max-width: 767.98px) {
    .filter-toggle { display: flex; width: 100%; }
    .filter-toggle-label { display: none; }
    .filter-dropdown .filter-chips { width: 100%; grid-template-columns: 1fr; max-height: 65vh; overflow-y: auto; }
}
.chip { --cat: var(--tq-primary-dark); display: inline-flex; align-items: center; gap: .5rem; padding: .55rem 1rem; border-radius: 999px; background: #fff; border: 2px solid var(--cat); color: var(--tq-dark); font-weight: 600; font-size: .9rem; text-decoration: none; transition: background-color .2s, color .2s, transform .2s var(--ease); }
.chip i { color: var(--cat); }
.chip:hover { transform: translateY(-2px); color: var(--tq-dark); }
.chip.active { background: var(--cat); color: #fff; }
.chip.active i { color: #fff; }
.chip-count { display: inline-flex; min-width: 22px; height: 22px; padding: 0 6px; align-items: center; justify-content: center; border-radius: 999px; background: rgba(0, 0, 0, .07); font-size: .72rem; }
.chip.active .chip-count { background: rgba(255, 255, 255, .25); }
.product-grid-wrap { transition: opacity .2s; }
.product-grid-wrap.is-loading { opacity: .45; }
.site-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: .4rem; margin-top: 2.5rem; }
.site-pagination a { min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; background: #fff; border: 1px solid #dbe7e6; color: var(--tq-dark); font-weight: 600; text-decoration: none; }
.site-pagination a.active { background: var(--tq-primary-dark); border-color: var(--tq-primary-dark); color: #fff; }
.empty-state { text-align: center; padding: 3rem 1rem; background: #fff; border-radius: var(--radius); }
.empty-state i { font-size: 2.5rem; color: var(--tq-green); margin-bottom: 1rem; display: block; }

/* ---------------------------------------------------------------------
   Ürün detay
   --------------------------------------------------------------------- */
.gallery-main { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #F3F8F7; border-radius: var(--radius); overflow: hidden; aspect-ratio: 1 / 1; cursor: zoom-in; box-shadow: var(--shadow); border-top: 6px solid var(--cat); }
.gallery-main-img, .gallery-main img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gallery-zoom { position: absolute; right: 14px; bottom: 14px; width: 44px; height: 44px; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--tq-primary-dark); display: inline-flex; align-items: center; justify-content: center; box-shadow: var(--shadow-sm); }
.gallery-thumbs { list-style: none; display: flex; gap: .6rem; padding: 0; margin: .9rem 0 0; overflow-x: auto; scrollbar-width: thin; }
.gallery-thumb { width: 78px; height: 78px; padding: 0; border-radius: 10px; overflow: hidden; border: 2px solid transparent; background: #F3F8F7; cursor: pointer; flex-shrink: 0; opacity: .75; transition: opacity .2s, border-color .2s; }
.gallery-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gallery-thumb.active, .gallery-thumb:hover { opacity: 1; border-color: var(--tq-gold); }
.product-title { font-size: clamp(1.8rem, 1.3rem + 2vw, 2.6rem); margin: .25rem 0 .35rem; }
.accent-line { display: block; width: 72px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--cat) 0 60%, var(--cat-accent) 60% 100%); margin-bottom: .5rem; }
.product-short { font-size: 1.08rem; color: #3d4f53; }
.price-box { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1rem; background: #fff; border: 1px solid #e3eeed; border-left: 4px solid var(--tq-gold); border-radius: var(--radius-sm); padding: 1rem 1.25rem; margin: 1.5rem 0; }
.price-note { font-size: .85rem; color: var(--tq-gray); }
.price-value { font-family: var(--font-head); font-size: 1.6rem; font-weight: 800; color: var(--tq-primary-dark); }
.price-value-request { font-size: 1.15rem; color: var(--tq-gold-dark); }
.price-pack { width: 100%; font-size: .9rem; color: var(--tq-gray); display: inline-flex; gap: .5rem; align-items: center; }
.price-pack i { color: var(--cat); }
.product-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
@media (max-width: 575.98px) { .product-actions .btn { width: 100%; } }
.product-tabs { gap: .5rem; border: 0; margin-bottom: 1.25rem; flex-wrap: nowrap; overflow-x: auto; }
.product-tabs .nav-link { display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap; border-radius: 999px; font-weight: 600; color: var(--tq-dark); background: #fff; border: 2px solid #dbe7e6; padding: .6rem 1.2rem; }
.product-tabs .nav-link.active { background: var(--tq-primary-dark); border-color: var(--tq-primary-dark); color: #fff; }
.product-tab-content { background: #fff; border-radius: var(--radius); padding: 2rem; box-shadow: var(--shadow-sm); border-top: 4px solid var(--cat); }
@media (max-width: 575.98px) { .product-tab-content { padding: 1.25rem; } }
.pack-list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .75rem; }
.pack-list li { display: inline-flex; align-items: center; gap: .6rem; background: var(--tq-primary-light); border-radius: 10px; padding: .7rem 1rem; font-weight: 600; }
.pack-list i { color: var(--tq-primary-dark); }

/* Zengin metin */
.rich-text h2 { font-size: 1.4rem; margin: 1.75rem 0 .75rem; }
.rich-text h3 { font-size: 1.15rem; margin: 1.5rem 0 .6rem; color: var(--cat-text, var(--tq-primary-dark)); }
.rich-text h4 { font-size: 1rem; margin: 1.25rem 0 .5rem; }
.rich-text > :first-child { margin-top: 0; }
.rich-text ul { padding-left: 0; list-style: none; }
.rich-text ul li { position: relative; padding-left: 1.6rem; margin-bottom: .5rem; }
.rich-text ul li::before { content: ''; position: absolute; left: .2rem; top: .55em; width: 9px; height: 9px; border-radius: 50%; background: var(--tq-green); box-shadow: 0 0 0 3px var(--tq-green-light); }
.rich-text ol { padding-left: 1.3rem; }
.rich-text blockquote { border-left: 4px solid var(--tq-gold); background: var(--tq-gold-light); padding: 1rem 1.25rem; border-radius: 0 10px 10px 0; margin: 1.25rem 0; }

/* Lightbox (bağımlılıksız) */
.lightbox { position: fixed; inset: 0; z-index: 2050; background: rgba(6, 22, 26, .94); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .25s; touch-action: pan-y; }
.lightbox.is-open { opacity: 1; }
.lightbox img { max-width: 92vw; max-height: 84vh; object-fit: contain; border-radius: 8px; user-select: none; transition: transform .25s var(--ease), opacity .2s; }
.lightbox-btn { position: absolute; width: 50px; height: 50px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .12); color: #fff; font-size: 1.3rem; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.lightbox-btn:hover { background: var(--tq-gold); color: var(--tq-dark); }
.lightbox-close { top: 18px; right: 18px; }
.lightbox-prev { left: 18px; top: 50%; margin-top: -25px; }
.lightbox-next { right: 18px; top: 50%; margin-top: -25px; }
.lightbox-count { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); color: #fff; font-size: .9rem; opacity: .85; }
@media (max-width: 575.98px) { .lightbox-prev, .lightbox-next { top: auto; bottom: 14px; margin: 0; } }

/* ---------------------------------------------------------------------
   Hakkımızda
   --------------------------------------------------------------------- */
.mv-card { position: relative; height: 100%; background: #fff; border-radius: var(--radius); padding: 2.25rem; box-shadow: var(--shadow-sm); overflow: hidden; }
.mv-card::after { content: ''; position: absolute; right: -40px; top: -40px; width: 140px; height: 140px; border-radius: 50%; opacity: .12; }
.mv-card-mission { border-top: 5px solid var(--tq-primary); }
.mv-card-mission::after { background: var(--tq-primary); }
.mv-card-vision { border-top: 5px solid var(--tq-green); }
.mv-card-vision::after { background: var(--tq-green); }
.mv-icon { width: 60px; height: 60px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.5rem; margin-bottom: 1rem; background: var(--tq-gold-light); color: var(--tq-gold-dark); box-shadow: inset 0 0 0 2px rgba(232, 176, 35, .5); }
.mv-card h2 { font-size: 1.4rem; }
.mv-card p { color: #3d4f53; margin: 0; font-size: 1.05rem; }
.value-card { height: 100%; text-align: center; background: #fff; border-radius: var(--radius); padding: 2rem 1.25rem; box-shadow: var(--shadow-sm); border-bottom: 4px solid var(--tq-green); transition: transform .3s var(--ease); }
.value-card:hover { transform: translateY(-5px); }
.value-icon { width: 72px; height: 72px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.8rem; background: var(--tq-green-light); color: var(--tq-green-dark); margin-bottom: 1rem; box-shadow: inset 0 0 0 2px rgba(232, 176, 35, .55); }
.value-card h3 { font-size: 1.1rem; }
.value-card p { color: var(--tq-gray); margin: 0; font-size: .95rem; }

/* ---------------------------------------------------------------------
   İletişim
   --------------------------------------------------------------------- */
.contact-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; }
.contact-card { display: flex; flex-direction: column; gap: .3rem; background: #fff; border-radius: var(--radius); padding: 1.35rem; box-shadow: var(--shadow-sm); border: 1px solid #e3eeed; color: var(--tq-dark); text-decoration: none; transition: transform .25s var(--ease), box-shadow .25s var(--ease); }
a.contact-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); color: var(--tq-dark); }
.contact-card-icon { width: 48px; height: 48px; border-radius: 50%; background: var(--tq-primary-light); color: var(--tq-primary-dark); display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; margin-bottom: .4rem; }
.contact-card-gold .contact-card-icon { background: var(--tq-gold); color: var(--tq-dark); }
.contact-card-label { font-size: .78rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--tq-gray); }
.contact-card-value { font-weight: 600; word-break: break-word; }
.form-card { background: #fff; border-radius: var(--radius); padding: 2rem; box-shadow: var(--shadow); border-top: 5px solid var(--tq-gold); }
@media (max-width: 575.98px) { .form-card { padding: 1.35rem; } }
.form-card h2 { font-size: 1.6rem; }
.form-label { font-weight: 600; font-size: .92rem; }
.form-control, .form-select { border-radius: 10px; padding: .7rem .9rem; border-color: #cfdedd; }
.form-control:focus, .form-select:focus { border-color: var(--tq-primary); box-shadow: 0 0 0 .22rem rgba(14, 154, 167, .2); }
.form-check-input:checked { background-color: var(--tq-primary-dark); border-color: var(--tq-primary-dark); }
.form-control.is-invalid, .form-select.is-invalid, .form-check-input.is-invalid { border-color: #b35c00; }
.invalid-feedback { color: #8a4600; font-weight: 500; }
.req { color: var(--tq-gold-dark); font-weight: 700; }
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.link-wa { font-weight: 600; color: var(--tq-green-dark); }
.map-card { background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); position: sticky; top: calc(var(--header-h) + 20px); }
.map-card > p { padding: 0 1.25rem; }
.map-facade { position: relative; aspect-ratio: 2 / 1; background: var(--tq-primary-light); }
.map-facade img { width: 100%; height: 100%; object-fit: cover; display: block; }
.map-facade iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.map-button { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); box-shadow: var(--shadow); }
.map-button:hover { transform: translate(-50%, calc(-50% - 1px)); }
.map-info { padding: 1.25rem; font-size: .95rem; }

/* Teşekkürler / 404 / yasal */
.thanks-section, .notfound-section { min-height: 60vh; display: flex; align-items: center; }
.thanks-card, .notfound-card { max-width: 720px; margin: 0 auto; text-align: center; background: #fff; border-radius: 20px; padding: 3rem 2rem; box-shadow: var(--shadow); border-top: 5px solid var(--tq-green); }
.thanks-icon { font-size: 4rem; color: var(--tq-green); display: block; margin-bottom: 1rem; }
.thanks-card h1, .notfound-card h1 { font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.4rem); }
.notfound-card { border-top-color: var(--tq-gold); }
.notfound-code { display: block; font-family: var(--font-head); font-weight: 800; font-size: clamp(4rem, 3rem + 5vw, 7rem); line-height: 1; color: var(--tq-primary-dark); margin-bottom: 1rem; }
.notfound-code i { font-size: .6em; color: var(--tq-green); margin: 0 .1em; vertical-align: middle; }
.legal-card { background: #fff; border-radius: var(--radius); padding: clamp(1.5rem, 1rem + 2vw, 3rem); box-shadow: var(--shadow-sm); max-width: 900px; }
.legal-card h1 { font-size: clamp(1.8rem, 1.4rem + 1.5vw, 2.5rem); margin-bottom: 1.5rem; }

/* ---------------------------------------------------------------------
   Footer
   --------------------------------------------------------------------- */
.site-footer { position: relative; background: var(--tq-dark); color: rgba(255, 255, 255, .82); padding: 4.5rem 0 0; margin-top: 2rem; }
.footer-wave { position: absolute; left: 0; right: 0; top: -58px; line-height: 0; pointer-events: none; }
.footer-wave svg { width: 100%; height: 56px; fill: var(--tq-dark); display: block; }
.site-footer .footer-wave + .container { position: relative; }
.footer-logo { display: inline-block; margin-bottom: 1rem; background: #fff; padding: .6rem .9rem; border-radius: 12px; }
.footer-logo-img { height: 64px; width: auto; display: block; }
.footer-about { font-size: .95rem; max-width: 42ch; }
.footer-title { font-family: var(--font-head); font-weight: 700; color: #fff; font-size: 1rem; margin-bottom: 1rem; letter-spacing: .02em; }
.footer-links, .footer-contact, .footer-social, .footer-legal { list-style: none; padding: 0; margin: 0; }
.footer-links li { margin-bottom: .55rem; }
/* Kategori listesi iki kolon (uzun adlar tek kolonda footer'ı çok uzatıyordu) */
.footer-links-2col { columns: 2; column-gap: 1.5rem; }
.footer-links-2col li { break-inside: avoid; line-height: 1.35; }
@media (max-width: 767.98px) {
    .footer-links-2col li, .footer-links-2col-xs li { margin-bottom: .35rem; }
    .footer-links-2col a, .footer-links-2col-xs a { display: block; min-height: 0; padding: .4rem 0; line-height: 1.3; }
}
@media (max-width: 575.98px) { .footer-links-2col-xs { columns: 2; column-gap: 1.5rem; } .footer-links-2col-xs li { break-inside: avoid; } }
.footer-links a, .footer-contact a, .footer-legal a, .footer-legal button { color: rgba(255, 255, 255, .85); text-decoration: none; }
.footer-links a:hover, .footer-contact a:hover, .footer-legal a:hover, .footer-legal button:hover { color: var(--tq-gold); }
.footer-contact li { display: flex; gap: .75rem; margin-bottom: .8rem; align-items: flex-start; }
.footer-contact i { color: var(--tq-gold); width: 18px; text-align: center; margin-top: .3rem; }
.footer-social { display: flex; gap: .6rem; }
.footer-social a { width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .08); color: #fff; text-decoration: none; transition: background-color .2s, color .2s; }
.footer-social a:hover { background: var(--tq-gold); color: var(--tq-dark); }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; border-top: 1px solid rgba(255, 255, 255, .1); margin-top: 3rem; padding: 1.5rem 0 5.5rem; font-size: .88rem; }
@media (min-width: 768px) { .footer-bottom { padding-bottom: 1.5rem; } }
.footer-legal { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.footer-legal button { text-decoration: none; }

/* ---------------------------------------------------------------------
   Sabit WhatsApp butonu
   --------------------------------------------------------------------- */
.wa-float { position: fixed; right: 18px; bottom: 18px; z-index: 1040; display: inline-flex; align-items: center; gap: .6rem; height: 60px; min-width: 60px; padding: 0 1.1rem 0 .95rem; border-radius: 999px; background: var(--tq-gold); color: var(--tq-dark); font-weight: 700; text-decoration: none; box-shadow: 0 10px 28px rgba(16, 38, 43, .28); transition: transform .25s var(--ease); }
.wa-float i { font-size: 1.9rem; }
.wa-float:hover { color: var(--tq-dark); transform: translateY(-3px); }
.wa-float::before { content: ''; position: absolute; inset: 0; border-radius: inherit; background: var(--tq-gold); z-index: -1; animation: waPulse 3.2s ease-out infinite; }
@media (max-width: 767.98px) { .wa-float-label { display: none; } .wa-float { padding: 0; justify-content: center; width: 60px; } }
@keyframes waPulse { 0% { transform: scale(1); opacity: .6; } 70% { transform: scale(1.35); opacity: 0; } 100% { transform: scale(1.35); opacity: 0; } }

/* ---------------------------------------------------------------------
   Çerez bandı (sabit, alttan açılır – CLS yok)
   --------------------------------------------------------------------- */
.cookie-banner { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 1060; max-width: 980px; margin: 0 auto; background: #fff; border-radius: 16px; box-shadow: 0 20px 60px rgba(16, 38, 43, .25); border-top: 4px solid var(--tq-primary); transform: translateY(calc(100% + 24px)); opacity: 0; transition: transform .45s var(--ease), opacity .3s; }
.cookie-banner.is-visible { transform: translateY(0); opacity: 1; }
.cookie-banner[hidden] { display: none; }
.cookie-inner { display: flex; gap: 1.5rem; padding: 1.25rem 1.5rem; align-items: center; flex-wrap: wrap; max-height: 80vh; overflow-y: auto; }
.cookie-content { flex: 1 1 420px; }
.cookie-title { font-family: var(--font-head); font-weight: 700; margin: 0 0 .35rem; font-size: 1.02rem; }
.cookie-title i { color: var(--tq-gold-dark); }
.cookie-text { font-size: .9rem; color: #3d4f53; margin: 0; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: .5rem; flex: 0 1 auto; }
.cookie-actions .btn { padding: .55rem 1rem; font-size: .9rem; }
.cookie-actions .btn-link { color: var(--tq-primary-dark); }
.cookie-prefs { margin-top: 1rem; display: grid; gap: .6rem; }
.cookie-pref { display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: #F4F9F8; border-radius: 10px; padding: .75rem 1rem; cursor: pointer; margin: 0; }
.cookie-pref strong { display: block; font-size: .92rem; }
.cookie-pref span { font-size: .82rem; color: var(--tq-gray); }
.cookie-pref .form-check-input { width: 2.6em; height: 1.35em; cursor: pointer; }
.cookie-always { font-weight: 600; color: var(--tq-green-dark) !important; white-space: nowrap; }

/* ---------------------------------------------------------------------
   Scroll'da beliren öğeler (yalnızca transform + opacity)
   JS yoksa veya reduced-motion açıksa öğeler görünür kalır.
   --------------------------------------------------------------------- */
.js-reveal [data-reveal] { opacity: 0; transform: translate3d(0, 28px, 0); transition: opacity .7s var(--ease), transform .7s var(--ease); transition-delay: var(--reveal-delay, 0ms); }
.js-reveal [data-reveal="slide-left"] { transform: translate3d(40px, 0, 0); }
.js-reveal [data-reveal="slide-right"] { transform: translate3d(-40px, 0, 0); }
.js-reveal [data-reveal].is-revealed { opacity: 1; transform: none; }

/* Hareket azaltma tercihi: tüm animasyonlar kapalı */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    .js-reveal [data-reveal] { opacity: 1 !important; transform: none !important; }
    .leaf { display: none; }
}

/* ---------------------------------------------------------------------
   Mobil uyum düzeltmeleri
   --------------------------------------------------------------------- */
/* Taşan uzun kelime / URL'ler (gizlilik metni, e-posta adresleri, ürün adları) */
.rich-text, .rich-text a, .footer-contact, .contact-card-value, .doc-card-title { overflow-wrap: anywhere; }
@media (max-width: 767.98px) {
    /* Bootstrap g-5 (3rem) oluğu dar ekranda container kenar boşluğunu aşıp yatay kaydırma yaratıyordu */
    .row.g-5, .row.g-lg-5 { --bs-gutter-x: 1.5rem; --bs-gutter-y: 2rem; }
    /* Parmakla rahat dokunma: footer bağlantıları en az 40px yükseklikte */
    .footer-links li { margin-bottom: 0; }
    .footer-links a, .footer-contact a, .footer-legal a, .footer-legal button { display: inline-flex; align-items: center; min-height: 40px; }
    .breadcrumb-nav a { display: inline-block; padding: .35rem 0; }
    .footer-contact li:has(> a), .footer-contact li:has(> i + a) { align-items: center; margin-bottom: .25rem; }
    /* Okunabilirlik: çok küçük etiket yazıları */
    .ribbon-sm { font-size: .66rem; }
    .benefit-mini-label { font-size: .72rem; }
    .form-check-input { width: 1.25em; height: 1.25em; }
}
