/*
Theme Name: FTN Tema V2
Theme URI: https://ftnmedya.com/
Author: FTN Medya Web Tasarım Ajansı
Author URI: https://ftnmedya.com/
Description: SEO ve hız odaklı, temiz kod yapısına sahip özel WordPress temamız; modern web standartlarına uygun, yüksek performanslı ve kullanıcı dostu bir yapı sunar. Profesyonel kodlama prensipleriyle geliştirilen tema, arama motorlarında üst sıralarda yer almanız için optimize edilmiştir. Hızlı yükleme süreleri, mobil uyumlu (responsive) tasarımı ve güvenli altyapısı sayesinde hem ziyaretçileriniz hem de arama motorları için mükemmel bir deneyim sağlar.
Version: 0.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ftn-tema-v2
Tags: wordpress tema, seo, kurumsal, özel yönetim paneli, hız odaklı,
*/

:root {
  --color-primary: #678fd5;
  --color-secondary: #0a2540;
  --footer-bg: #0a2540;
  --footer-top-bg: #0f2e57;
}

/* Container */
:root{ --container-max: 1450px; }
main.site-main, .header-inner, .services-grid, .section-hero-info .hero-info-table, .section-about .about-grid, .section-services .services-grid, .section-testimonials .testi-wrap, .section-faq .faq-list, .section-gallery .gallery-grid, .section-contact .contact-cards, .section-contact .contact-map { max-width: var(--container-max); margin-left: auto; margin-right: auto; }
/* Hero full width inner */
.section-hero .hero-inner { max-width: none; width: 100%; }
/* Footer backgrounds full width */
.footer-top, .footer-bottom { max-width: none; }

/* Base reset (minimal) */
html { box-sizing: border-box; scroll-behavior: smooth; }
*, *::before, *::after { box-sizing: inherit; }
body { margin: 0; font-family: 'Inter', sans-serif; color: #111; background: #fff; }

/* Buttons - unified */
.btn { display: inline-block; padding: 12px 18px; border-radius: 8px; text-decoration: none; font-weight: 600; transition: filter .2s ease, transform .05s ease; }
.btn:active { transform: translateY(1px); }
.btn-primary { background: var(--color-primary); color: #fff; }
.btn-primary:hover { filter: brightness(0.95); }

/* Sticky header */
.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; background: #fff; color: #111; transition: background-color .25s ease, color .25s ease, box-shadow .25s ease; box-shadow: 0 1px 0 rgba(0,0,0,.06); }
.site-header a { color: inherit; text-decoration: none; }
.header-inner { padding: 12px 24px; display: flex; align-items: center; gap: 24px; }
.site-branding { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.site-title { margin: 0; font-weight: 700; }
.site-intro { line-height: 1.3; }
.site-intro .intro-line { margin: 0; font-size: 13px; opacity: .9; }
.header-cta { margin-left: auto; }

/* Transparent state */
.site-header.is-transparent:not(.is-scrolled) { background: transparent; color: #fff; box-shadow: none; }

.menu-primary { list-style: none; margin: 0; padding: 0; display: flex; gap: 16px; }
.menu-primary a:hover { color: var(--color-primary); }

/* Content offset: let hero manage its own top padding */
main.site-main { padding-top: 0; }

/* Sections */
.section { padding: 64px 24px; }
.section h2 { margin: 0 0 16px; color: var(--color-secondary); }

/* Hero */
/* Hero center */
/* Full‑bleed Hero (background image/color spans viewport) */
.section-hero { position: relative; min-height: 80vh; padding-top: calc(var(--header-offset, 96px) + 24px); padding-bottom: 48px; background-size: cover; background-position: center; background-repeat: no-repeat; background-color: var(--color-secondary); color: #fff; display: flex; align-items: center; width: 100vw; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }
.section-hero .hero-overlay { position: absolute; inset: 0; background-color: var(--color-secondary); opacity: 1; z-index: 0; }
.section-hero .hero-inner { max-width: var(--container-max); width: 100%; margin: 0 auto; text-align: center; padding: 0 24px; position: relative; z-index: 1; }
.hero-badge { display: inline-block; background: rgba(255,255,255,.15); color: #fff; padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 500; letter-spacing: .3px; }
.hero-title { margin: 16px 0 8px; font-size: 42px; line-height: 1.15; }
.hero-subtitle { margin: 0 0 17px; font-size: 18px; opacity: .95; }
.section-hero .hero-title, .section-hero .hero-subtitle { color: #fff !important; }
.hero-cta { margin-top: 8px; }

.hero-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.feature { display: grid; grid-template-columns: 56px 1fr; gap: 12px; align-items: center; background: rgba(255,255,255,.08); backdrop-filter: blur(2px); border-radius: 12px; padding: 16px; }
.feature-icon { width: 56px; height: 56px; border-radius: 999px; background: rgba(103,143,213,.35); display: grid; place-items: center; font-size: 22px; }
.feature-title { font-weight: 700; font-size: 16px; color: #fff; }
.feature-desc { grid-column: 2 / -1; color: #e6eefc; font-size: 14px; }

@media (max-width: 960px) {
  .hero-features { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .hero-title { font-size: 32px; }
  .hero-features { grid-template-columns: 1fr; }
}

/* Hero bottom info table */
.section-hero-info { padding-top: 16px; }
.hero-info-table { max-width: 1200px; margin: 0 auto; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 20px rgba(0,0,0,.08); }
.hero-info-table .row { display: grid; grid-template-columns: 280px 1fr; border-bottom: 1px solid #e9eef6; }
.hero-info-table .row:last-child { border-bottom: none; }
.cell { padding: 14px 16px; }
.cell-label { background: linear-gradient(90deg, var(--color-primary), var(--color-secondary)); color: #fff; font-weight: 600; }
.cell-value { color: #0a2540; }
.hero-info-link { color: #0a2540; text-decoration: none; font-weight: 700; }
.hero-info-link:hover { text-decoration: underline; }
.hero-rating i { color: #f6c126; margin-right: 2px; }
.hero-rating span { margin-left: 6px; color: #4b5563; }

@media (max-width: 960px) {
  .hero-info-table .row { grid-template-columns: 220px 1fr; }
}
@media (max-width: 640px) {
  .hero-info-table .row { grid-template-columns: 1fr; }
  .cell-label { border-bottom: 1px solid rgba(255,255,255,.2); }
}

/* Hero info table rounding */
.section-hero-info .hero-info-table { border-radius: 10px; overflow: hidden; }
.section-hero-info .row { border-bottom: 1px solid #e9eef6; }
.section-hero-info .row:last-child { border-bottom: 0; }

/* Footer */
.site-footer { color: #e8f1ff; }
.footer-top { background: #0f1b2a; padding: 40px 0; }
.footer-top .container { display: grid; grid-template-columns: 1.2fr 0.8fr 1fr; gap: 32px; }
.footer-col h3 { margin: 0 0 12px; color: #fff; font-weight: 700; }
.footer-about p { margin: 0; max-width: 65ch; line-height: 1.7; }
.footer-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.footer-menu li a { display: inline-block; padding: 6px 10px; border-radius: 10px; background: #132236; color: #e8f1ff; text-decoration: none; border: 1px solid rgba(255,255,255,.08); font-size: 13px; }
.footer-menu li a:hover { background: #1a2f49; }
.footer-contact .contact-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.footer-contact .contact-list li { display: grid; grid-template-columns: 20px 1fr; align-items: center; gap: 8px; }
.footer-bottom { background: var(--color-secondary); padding: 6px 0; }
.footer-bottom .container { display: flex; align-items: center; justify-content: space-between; color: #fff; }

@media (max-width: 960px){ .footer-top .container { grid-template-columns: 1fr; gap: 20px; } .footer-bottom .container { flex-direction: column; gap: 8px; } }

/* Footer container */
.footer-top .container, .footer-bottom .container { max-width: var(--container-max); margin: 0 auto; }

/* Header CTA pill */
.header-cta-pill { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px; border-radius: 999px; position: relative; }
.header-cta-pill .cta-icon { position: relative; width: 28px; height: 28px; border-radius: 999px; background: rgba(255,255,255,.2); display: grid; place-items: center; overflow: visible; }
.header-cta-pill .cta-icon i { color: #fff; font-size: 14px; animation: cta-wiggle 2.5s ease-in-out infinite; }
.header-cta-pill .cta-text { font-weight: 700; }
.header-cta-pill .ping { position: absolute; inset: 0; border-radius: 999px; box-shadow: 0 0 0 0 rgba(255,255,255,.7); animation: cta-ping 2s ease-out infinite; }

@keyframes cta-ping { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,.6); } 70% { box-shadow: 0 0 0 10px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }
@keyframes cta-wiggle { 0%,100% { transform: rotate(0deg); } 20% { transform: rotate(8deg); } 40% { transform: rotate(-8deg); } 60% { transform: rotate(5deg); } 80% { transform: rotate(-5deg); } }

/* About */
.about-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1.2fr .8fr; gap: 24px; align-items: center; }
.about-text h2 { margin: 0 0 12px; color: var(--color-secondary); }
.about-content p { margin: 0 0 12px; color: #374151; }
.about-media img { width: 100%; height: auto; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.08); }

@media (max-width: 960px) {
  .about-grid { grid-template-columns: 1fr; }
  .about-media { order: -1; }
}

/* Services */
.section-services h2 { color: var(--color-secondary); margin-bottom: 16px; }
.services-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.service-card { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 8px 24px rgba(0,0,0,.06); display: flex; flex-direction: column; }
.service-media { position: relative; }
.service-media img { width: 100%; height: auto; display: block; }
.service-media .badge { position: absolute; right: 12px; bottom: 12px; background: var(--color-secondary); color: #fff; padding: 6px 10px; border-radius: 6px; font-size: 12px; font-weight: 700; letter-spacing: .3px; }
.service-content { padding: 16px; display: grid; gap: 10px; }
.service-content h3 { margin: 0; font-size: 18px; color: var(--color-secondary); }
.service-content p { margin: 0 0 6px; color: #374151; min-height: 72px; }
.service-link { display: inline-flex; align-items: center; gap: 8px; color: var(--color-secondary); text-decoration: none; font-weight: 600; }
.service-link .chev { display: inline-block; transform: rotate(0deg); transition: transform .2s ease; }
.service-link:hover { color: var(--color-primary); }
.service-link:hover .chev { transform: translateX(2px); }

@media (max-width: 960px) {
  .services-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .services-grid { grid-template-columns: 1fr; }
}

/* Testimonials */
.section-testimonials h2 { color: var(--color-secondary); margin-bottom: 16px; }
.testi-wrap { position: relative; max-width: 1200px; margin: 0 auto; padding: 8px 0; }
.testi-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 72px) / 4); gap: 24px; overflow: hidden; scroll-behavior: smooth; }
.testi-card { background: #fff; border-radius: 12px; box-shadow: 0 8px 24px rgba(0,0,0,.06); padding: 20px; text-align: center; display: grid; gap: 10px; }
.testi-logo { font-size: 40px; color: #34a853; }
.testi-name { font-weight: 700; color: var(--color-secondary); }
.testi-stars { color: #f6c126; }
.testi-text { color: #374151; font-size: 14px; }

.testi-wrap .testi-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; border-radius: 999px; background: rgba(10,37,64,.85); color: #fff; display: grid; place-items: center; border: 0; cursor: pointer; opacity: 0; transition: opacity .2s ease; }
.testi-wrap .prev { left: -10px; }
.testi-wrap .next { right: -10px; }
.testi-wrap:hover .testi-nav { opacity: 1; }

@media (max-width: 1200px) {
  .testi-track { grid-auto-columns: calc((100% - 48px) / 3); }
}
@media (max-width: 960px) {
  .testi-track { grid-auto-columns: calc((100% - 24px) / 2); }
}
@media (max-width: 640px) {
  .testi-track { grid-auto-columns: 100%; }
}

/* FAQ */
.section-faq h2 { color: var(--color-secondary); margin-bottom: 16px; }
.faq-list { max-width: 1200px; margin: 0 auto; display: grid; gap: 10px; }
.faq-item { border-radius: 10px; overflow: hidden; background: #eef6ff; }
.faq-q { width: 100%; text-align: left; background: transparent; border: 0; padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; font-weight: 600; color: var(--color-secondary); }
.faq-q i { transition: transform .2s ease; }
.faq-q[aria-expanded="true"] i { transform: rotate(180deg); }
.faq-a { padding: 0 18px 16px; color: #374151; }

/* Contact */
.section-contact h2 { color: var(--color-secondary); margin-bottom: 16px; }
.contact-cards { max-width: 1200px; margin: 0 auto 16px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.contact-card { background: #eef6ff; border-radius: 12px; padding: 20px; text-align: center; color: var(--color-secondary); }
.contact-icon { width: 56px; height: 56px; border-radius: 999px; background: var(--color-primary); color: #fff; display: grid; place-items: center; margin: 0 auto 10px; font-size: 20px; }
.contact-title { font-weight: 700; margin-bottom: 6px; }
.contact-text a { color: var(--color-secondary); text-decoration: none; }
.contact-text a:hover { color: var(--color-primary); }
.contact-map { max-width: 1200px; margin: 0 auto; border-radius: 12px; overflow: hidden; box-shadow: 0 8px 24px rgba(0,0,0,.08); }

@media (max-width: 960px) {
  .contact-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .contact-cards { grid-template-columns: 1fr; }
}

/* Mobile drawer */
.burger { display: none; background: transparent; border: 0; width: 36px; height: 28px; padding: 0; cursor: pointer; }
.burger span { display: block; width: 100%; height: 3px; background: currentColor; margin: 5px 0; border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }

.mobile-drawer { position: fixed; top: 0; bottom: 0; left: 0; width: 320px; max-width: 90%; background: #fff; transform: translateX(-100%); transition: transform .25s ease; z-index: 1100; display: flex; flex-direction: column; }
.drawer-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 1090; }
.drawer-header { display: flex; align-items: center; justify-content: space-between; padding: 16px; border-bottom: 1px solid #eef2f7; }
.drawer-logo { font-weight: 800; color: var(--color-secondary); text-decoration: none; }
.drawer-close { background: transparent; border: 0; font-size: 20px; cursor: pointer; }
.drawer-menu { list-style: none; margin: 0; padding: 8px 0; display: grid; gap: 2px; }
.drawer-menu li a { display: flex; align-items: center; gap: 10px; padding: 14px 18px; color: var(--color-secondary); text-decoration: none; }
.drawer-menu li a i.ftn-mi { width: 18px; text-align: center; opacity: .9; }
/* Mobile drawer separators between items */
.drawer-menu li { border-top: 1px solid #eef2f7; }
.drawer-menu li:first-child { border-top: 0; }
.drawer-contacts { margin-top: auto; padding: 12px; display: grid; gap: 10px; }
.drawer-btn { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-radius: 10px; text-decoration: none; font-weight: 700; }
.drawer-btn.phone { background: #eef6ff; color: var(--color-secondary); }
.drawer-btn.whatsapp { background: #e8fbe9; color: #1f7a1f; }

.mobile-drawer.open { transform: translateX(0); }
.drawer-overlay[hidden] { display: none; }

/* Headings alignment for sections */
.section-services h2, .section-faq h2, .section-contact h2, .section-gallery h2, .section-testimonials h2 { max-width: var(--container-max); margin: 0 auto 16px; padding-left: 0; }

/* Hero info gradient to theme colors */
.section-hero-info .row .cell-label { background: linear-gradient(90deg, var(--color-primary), var(--color-secondary)); color: #fff; }

/* Footer paragraph wrapping */
.footer-about p { margin: 0 0 12px; max-width: 60ch; word-wrap: break-word; overflow-wrap: anywhere; }

/* Hero features left-aligned, no descriptions */
.hero-features { text-align: left; }
.feature { grid-template-columns: 48px auto; align-items: center; }
.feature-icon { width: 48px; height: 48px; font-size: 20px; }
/* remove description styling since it's not used */
.feature-desc { display: none; }

/* Footer contact font size */
.footer-contact .contact-list, .footer-contact .contact-list li, .footer-contact .contact-list a, .footer-contact .contact-list span { font-size: 13.5px; }

/* Ensure Google icon is visible with gradient fill */
.testi-logo i { background: linear-gradient(45deg, var(--color-primary), var(--color-secondary)) !important; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent !important; }

/* Accept images in png/jpg/svg consistently */
img { image-rendering: auto; }

/* Mobile/tablet header: left burger, center logo, right phone icon */
@media (max-width: 960px) {
  .site-header { background: #fff; box-shadow: 0 1px 0 rgba(0,0,0,.06); }
  .header-inner { display: grid; grid-template-columns: 40px 1fr 40px; align-items: center; padding: 8px 12px; height: 56px; }
  .burger { grid-column: 1; justify-self: start; width: 28px; height: 20px; display: inline-flex; flex-direction: column; justify-content: space-between; }
  .burger span { height: 2px; width: 100%; background: var(--color-secondary); border-radius: 2px; margin: 0; }
  .site-branding { grid-column: 2; justify-self: center; text-align: center; }
  .site-logo img { max-height: 28px; width: auto; display: block; }
  .site-title { margin: 0; font-size: 18px; }
  .header-cta-pill { grid-column: 3; justify-self: end; padding: 0; background: transparent; border: 0; box-shadow: none; }
  .header-cta-pill .cta-text, .header-cta-pill .ping { display: none; }
  .header-cta-pill .cta-icon { width: 32px; height: 32px; background: transparent; color: var(--color-secondary); display: grid; place-items: center; }
  .header-cta-pill .cta-icon i { color: var(--color-secondary); animation: none; font-size: 18px; }
}

/* Gallery */
.section-gallery h2 { color: var(--color-secondary); margin-bottom: 16px; }
.gallery-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.gallery-item { display: block; border-radius: 10px; overflow: hidden; border: 1px solid #e5e7eb; background: #fff; }
.gallery-item img { width: 100%; height: 180px; object-fit: cover; display: block; transition: transform .25s ease; border-radius: 10px; }
.gallery-item:hover img { transform: scale(1.05); }
@media (max-width: 960px) { .gallery-grid { grid-template-columns: repeat(3, 1fr); } .gallery-item img { height: 160px; } }
@media (max-width: 640px) { .gallery-grid { grid-template-columns: repeat(2, 1fr); } .gallery-item img { height: 140px; } }

/* Admin analytics styling removed */

/* Mobile: hide desktop nav hard */
@media (max-width: 960px){ .site-nav { display: none !important; } }

/* Header icon colors on transparent vs scrolled */
.site-header.is-transparent:not(.is-scrolled) .burger span { background: #fff; }
.site-header.is-transparent:not(.is-scrolled) .header-cta-pill .cta-icon i { color: #fff; }
.site-header.is-transparent.is-scrolled .burger span,
.site-header:not(.is-transparent) .burger span { background: var(--color-secondary); }
.site-header.is-transparent.is-scrolled .header-cta-pill .cta-icon i,
.site-header:not(.is-transparent) .header-cta-pill .cta-icon i { color: var(--color-secondary); }

/* Prevent layout shift (always reserve vertical scrollbar) */
html { overflow-y: scroll; }
html, body { overflow-x: hidden; }

/* Logo title size when no logo */
.site-title, .site-title a { font-size: 25px; line-height: 1.1; }

/* Desktop: center menu only (logo left, phone right) */
@media (min-width: 961px){
  .header-inner { position: relative; }
  .site-nav { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
  .site-nav .menu.menu-primary { display: flex; gap: 30px; }
}

/* Footer bottom spacing and text size */
.footer-bottom { background: var(--color-primary); padding: 15px 0; }
.footer-bottom .container p { font-size: 15px; margin: 0; }

/* Section heading sizes and underline */
.section h2 { font-size: 22px; }
.section-contact h2, .section-services h2, .section-faq h2, .section-gallery h2, .section-testimonials h2 { margin-bottom: 25px; position: relative; padding-bottom: 8px; }
/* Mobile/Tablet keep previous 25/75 gradient (inherited below), Desktop override to 10/90 */
@media (min-width: 961px){
  .section-contact h2:after, .section-services h2:after, .section-faq h2:after, .section-gallery h2:after, .section-testimonials h2:after { content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 100%; background: linear-gradient(90deg, var(--color-primary) 10%, #cbd5e1 10%); }
}
@media (max-width: 960px){
  .section-contact h2:after, .section-services h2:after, .section-faq h2:after, .section-gallery h2:after, .section-testimonials h2:after { content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 100%; background: linear-gradient(90deg, var(--color-primary) 25%, #cbd5e1 25%); }
}
/* Footer headings: no underline */
.footer-col h3 { margin: 0 0 25px; padding-bottom: 0; }
.footer-col h3:after { display: none !important; }

/* Global typographic scale for headings and descriptions */
.section h2, .footer-col h3 { font-size: 25px; }
.section p, .about-content p, .feature-desc, .hero-subtitle, .footer-about p, .contact-list li span { font-size: 15px; }

/* Footer chips font size */
.footer-menu li a { font-size: 14.5px; }

/* Footer primary menu in 2 equal columns */
.footer-primary-menus { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 24px; }
.footer-primary-menus ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.footer-primary-menus li { width: 100%; }
.footer-primary-menus a { display: block; width: 100%; text-align: left; padding: 10px 14px; border-radius: 8px; border: 1px solid rgba(255,255,255,.12); box-shadow: inset 0 0 0 1px rgba(255,255,255,.04); background: #132236; color: #e8f1ff; text-decoration: none; font-size: 13.5px; }
.footer-primary-menus a:hover { background: #1a2f49; }

@media (max-width: 720px){ .footer-primary-menus { grid-template-columns: 1fr; } }

/* Footer chips uniform look */
.footer-menu li a, .footer-primary-menus a { padding: 8px 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,.12); box-shadow: inset 0 0 0 1px rgba(255,255,255,.04); background: #132236; }
.footer-menu li a:hover, .footer-primary-menus a:hover { background: #1a2f49; }

/* Footer container padding small screens */
@media (max-width: 960px){ .footer-top .container, .footer-bottom .container { padding: 0 16px; } }

/* Force footer primary menu two columns on all devices */
@media (max-width: 1200px){ .footer-primary-menus { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 720px){ .footer-primary-menus { grid-template-columns: 1fr 1fr !important; } }

/* Footer column headings size */
.footer-col h3 { font-size: 18px; }

/* Hero main title size */
.section-hero .hero-title { font-size: 30px; }

/* Homepage section h2 size */
body.home .section h2 { font-size: 22px; }

/* Ensure hero overlay doesn't block clicks */
.section-hero .hero-overlay { pointer-events: none; }

/* Header logo sizing - same before/after scroll */
.site-logo img { height: 50px; width: auto; }
.site-header.is-transparent:not(.is-scrolled) .site-logo img { height: 50px; }
/* Drawer and mobile header logo */
@media (max-width:960px){ .site-logo img { height: 40px; } }
.mobile-drawer .drawer-header .drawer-logo img { height: 38px; width: auto; }

/* Logo swap on scroll */
.site-logo img.logo-scrolled { display: none; }
.site-header.is-transparent.is-scrolled .site-logo img.logo-default { display: none; }
.site-header.is-transparent.is-scrolled .site-logo img.logo-scrolled { display: inline-block; }
.site-header:not(.is-transparent) .site-logo img.logo-default { display: none; }
.site-header:not(.is-transparent) .site-logo img.logo-scrolled { display: inline-block; }

/* Hero texts: ensure full opacity */
.hero-badge, .hero-title, .hero-subtitle, .hero-cta { opacity: 1 !important; filter: none !important; }

/* Bigger logos on mobile/tablet (final) */
@media (max-width:960px){ .site-logo img { height: 36px; } }
.mobile-drawer .drawer-header .drawer-logo img { height: 34px; width: auto; }

/* Hero visibility overrides */
.hero-content { position: relative; z-index: 2; }
.hero-content, .hero-content * { opacity: 1 !important; filter: none !important; }
.hero-title { color: #ffffff !important; }
.hero-subtitle { color: rgba(255,255,255,0.92) !important; }
.hero-badge { color: #ffffff !important; background-color: rgba(255,255,255,0.18) !important; }
.hero-cta, .hero-cta a { color: #ffffff !important; }
.hero-cta.btn, .hero-cta .btn { background: var(--color-primary) !important; border-color: var(--color-primary) !important; }
/* Ensure any hero overlay does not wash out content */
.hero-overlay, .hero::before, .hero::after { pointer-events: none; }

/* Mobile header logo same as drawer logo */
@media (max-width:960px){ .site-logo img { height: 34px !important; } }
.mobile-drawer .drawer-header .drawer-logo img { height: 34px !important; width: auto; }

/* Remove any hero dimming */
.hero, .hero-inner { opacity: 1 !important; filter: none !important; }
.hero::before, .hero::after { opacity: 0 !important; background: transparent !important; }
.hero-content { position: relative; z-index: 3; opacity: 1 !important; filter: none !important; }
.hero-content * { opacity: 1 !important; filter: none !important; }

/* Larger logos on mobile/tablet */
@media (max-width:960px){ .site-logo img { height: 36px !important; } }
.mobile-drawer .drawer-header .drawer-logo img { height: 36px !important; width: auto; }
@media (max-width:960px){ .site-header .header-inner { min-height: 75px; } }

/* Final mobile/tablet logo size override: remove earlier 28px cap */
@media (max-width:960px){ .site-logo img { max-height: none !important; height: 46px !important; width: auto !important; } }

/* FAQ headings use Inter explicitly */
.faq-q, .faq-q span { font-family: 'Inter', sans-serif; }

/* FAQ sizes */
.section-faq .faq-q { font-size: 15px; }
.section-faq .faq-a, .section-faq .faq-a p { font-size: 14px; }

/* Footer contact links white */
.site-footer .footer-contact a { color: #fff !important; text-decoration: none; }
.site-footer .footer-contact a:hover { color: #fff !important; opacity: .9; }

/* Testimonials G icon gradient to theme colors */
.testi-logo i { background: linear-gradient(45deg, var(--color-primary), var(--color-secondary)) !important; -webkit-background-clip: text; background-clip: text; color: transparent !important; }

/* Testimonials Google icon sizing */
.testi-logo img { width: 40px; height: 40px; display: inline-block; }

/* Desktop header phone pill stays white (icon + number) */
@media (min-width:961px){
  .header-cta-pill, .header-cta-pill .cta-text { color: #fff !important; }
  .header-cta-pill .cta-icon i { color: #fff !important; }
}

/* Footer about text size */
.footer-about p { font-size: 13.5px; }

/* Footer bottom text size */
.footer-bottom .container p { font-size: 14px; margin: 0; }

/* Improved hero feature styling */
.feature { grid-template-columns: 64px 1fr; gap: 14px; padding: 18px; background: rgba(255,255,255,.10); }
.feature-icon { width: 64px; height: 64px; font-size: 24px; background: linear-gradient(145deg, rgba(103,143,213,.35), rgba(255,255,255,.12)); }
.feature-title { font-size: 17px; font-weight: 800; letter-spacing: .2px; }
.feature-desc { color: #deebff; font-size: 14.5px; }

/* Footer spacing */
.footer-top { padding: 45px 0 !important; }
.footer-bottom { padding: 45px 0 !important; }

/* Contact map spacing */
.section-contact .contact-map { margin-top: 30px; margin-bottom: 30px; }
.section-contact .contact-html { max-width: var(--container-max); margin: 0 auto; padding: 0; }

/* Footer bottom compact */
.footer-bottom { padding: 10px 0 !important; }

/* Hero features mobile spacing */
@media (max-width: 960px){
  .hero-features { padding-left: 0; padding-right: 0; }
  .feature { padding: 12px; grid-template-columns: 44px auto; gap: 10px; }
  .feature-icon { width: 44px; height: 44px; font-size: 18px; }
}

/* Simple lightbox */
.ftn-lightbox-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.85); display: none; align-items: center; justify-content: center; z-index: 2000; }
.ftn-lightbox-overlay.open { display: flex; }
.ftn-lightbox-overlay img { max-width: 90vw; max-height: 90vh; box-shadow: 0 10px 40px rgba(0,0,0,.5); border-radius: 8px; }
.ftn-lightbox-caption { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); color: #fff; font-size: 14px; background: rgba(0,0,0,.4); padding: 6px 10px; border-radius: 6px; max-width: 90vw; text-align: center; }

/* Content lists styled as full-width rounded items */
.about-content ul, .contact-html ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.about-content li, .contact-html li { background: #f6f9fc; border: 1px solid #e5e7eb; border-radius: 10px; padding: 12px 16px; color: #0a2540; font-size: 14.5px; }

/* Contact HTML headings underline */
.contact-html h2, .contact-html h4 { position: relative; margin: 0 0 12px; padding-bottom: 8px; border-bottom: 2px solid #cbd5e1; }
.contact-html h2:after, .contact-html h4:after { content:""; position:absolute; left:0; bottom:-2px; height:2px; background: var(--color-primary); }
@media (min-width: 961px){ .contact-html h2:after, .contact-html h4:after { width: 10%; } }
@media (max-width: 960px){ .contact-html h2:after, .contact-html h4:after { width: 25%; } }

@media (max-width: 960px){
  .section { padding: 40px 16px; }
  .section-hero { min-height: 70vh; }
  .service-card, .testi-card, .contact-card { box-shadow: 0 4px 14px rgba(0,0,0,.06); }
}
img { display: block; }

/* Floating action buttons */
.ftn-float-btn { position: fixed; bottom: 20px; width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; color: #fff !important; text-decoration: none; border-radius: 100px; z-index: 1000; overflow: hidden; }
.ftn-float-btn .icon { position: relative; display: flex; align-items: center; justify-content: center; }
.ftn-float-btn .icon::after { content: ""; position: absolute; width: 10px; height: 10px; border-radius: 50%; opacity: .9; background: rgba(255,255,255,1); animation: ftn-ripple .9s infinite; }
@keyframes ftn-ripple { 0% { width: 10px; height: 10px; opacity: .9; transform: translate(-50%, -50%); top: 50%; left: 50%; } 100% { width: 80px; height: 80px; opacity: 0; transform: translate(-50%, -50%); top: 50%; left: 50%; } }
.ftn-float-btn svg { width: 30px; height: 30px; fill: #fff; }
.ftn-float-btn.ftn-phone { left: 20px; background: linear-gradient(240deg, var(--color-primary), var(--color-secondary)); }
.ftn-float-btn.ftn-phone:hover { background: linear-gradient(240deg, var(--color-secondary), var(--color-primary)); }
.ftn-float-btn.ftn-whatsapp { right: 20px; background: linear-gradient(240deg, #25D366, #128C7E); }
.ftn-float-btn.ftn-whatsapp:hover { background: linear-gradient(240deg, #20BD5F, #0E6B5C); }

/* Mobile: exact 20px gap between header and hero */
@media (max-width: 960px){
  .section-hero { padding-top: calc(var(--header-offset, 64px) + 20px) !important; padding-bottom: 24px; min-height: auto; align-items: flex-start; }
  .section-hero .hero-inner { min-height: auto; justify-content: flex-start; }
}
