/* Minimal overrides (clean reset) */

/* Global Mobile Fixes - Kayma Önleme */
* {
    box-sizing: border-box !important;
}

html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}

body {
    min-width: 0 !important;
    max-width: 100vw !important;
}

/* Tüm container'lar için genel düzeltme */
.container,
section,
.section-padding,
.hero,
.page-header {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Mobilde padding ve margin düzeltmeleri */
@media (max-width: 768px) {
    * {
        max-width: 100% !important;
    }
    
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100vw !important;
    }
    
    .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    section,
    .section-padding {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
    
    /* Grid ve flex container'ları düzelt */
    .services-grid,
    .projects-grid,
    .blog-grid,
    .testimonials-grid,
    .packages-grid {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }
    
    /* Slider'lar için özel düzeltme */
    .services-grid[style*="overflow-x"],
    .testimonials-grid[style*="overflow-x"],
    .packages-grid[style*="overflow-x"] {
        margin-left: -15px !important;
        margin-right: -15px !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        width: calc(100% + 30px) !important;
        max-width: calc(100% + 30px) !important;
    }
}

@media (max-width: 480px) {
    .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    
    .services-grid,
    .projects-grid,
    .blog-grid,
    .testimonials-grid,
    .packages-grid {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    
    .services-grid[style*="overflow-x"],
    .testimonials-grid[style*="overflow-x"],
    .packages-grid[style*="overflow-x"] {
        margin-left: -12px !important;
        margin-right: -12px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        width: calc(100% + 24px) !important;
        max-width: calc(100% + 24px) !important;
    }
}

/* 1) Dark background baseline for sections commonly used */
.hero,
.section-padding,
.bg-light { background: #0f172a !important; }

/* 2) Ensure readable forms on dark background */
input,
textarea,
select { background: rgba(15,23,42,.8) !important; color: #e2e8f0 !important; border-color: rgba(249,115,22,.3) !important; }
input::placeholder,
textarea::placeholder { color: rgba(255,255,255,.5) !important; }

/* 3) Modals and cookie surfaces match dark theme */
.modal-content,
.modal-header,
.modal-body,
.modal-footer,
.cookie-notice,
.cookie-content,
.cookie-text { background: #1e293b !important; color: #e2e8f0 !important; }

/* 4) Remove gap below fixed navbar on first section/page header */
.navbar + .dynamic-content { margin-top: 0 !important; }
.navbar + section,
.navbar + .dynamic-content + section { margin-top: 0 !important; }
.page-header { margin-top: 0 !important; }
/* Stronger specificity to beat later stylesheets */
body .hero { margin-top: 0 !important; padding-top: 150px !important; }
body .page-header { margin-top: 0 !important; }

/* 5) Hero: small normalization only, avoid large layout constraints */
.hero { padding-top: 150px !important; margin-top: 0 !important; }
.hero-background { top: -60px !important; }

/* Mobile: enforce no top gap even if other files set it */
@media (max-width: 968px){
  body .hero { margin-top: 0 !important; padding-top: 130px !important; }
  body .page-header { margin-top: 0 !important; }
}
@media (max-width: 768px){
  body .hero { margin-top: 0 !important; padding-top: 120px !important; }
  body .page-header { margin-top: 0 !important; }
}
@media (max-width: 480px){
  body .hero { margin-top: 0 !important; padding-top: 110px !important; }
  body .page-header { margin-top: 0 !important; }
}

/* Logo text: do not override project defaults */
/* (intentionally left blank to inherit from style.css) */

/* Remove underline and fix vertical alignment next to logo */
.navbar .logo { display: inline-flex !important; align-items: center !important; gap: 6px !important; text-decoration: none !important; }
.navbar .logo:hover, .navbar .logo:focus { text-decoration: none !important; }
.navbar .logo img { display: block !important; vertical-align: middle !important; height: 30px !important; width: auto !important; object-fit: contain !important; }
/* Do not force text-decoration on logo text; inherit */

/* Normalize icon alignment and sizing in navbar */
.navbar .nav-menu a i,
.navbar .cart-icon-link i {
  line-height: 1 !important;
  vertical-align: middle !important;
  font-size: 0.95em !important;
  transform: translateY(0) !important;
}

/* Cart icon button and badge alignment */
.navbar .cart-icon-link { background: transparent !important; border: 0 !important; padding: 6px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; position: relative !important; color: inherit !important; }
.navbar .cart-badge { position: absolute !important; top: -6px !important; right: -6px !important; background: #ef4444 !important; color: #fff !important; border-radius: 999px !important; font-size: 10px !important; line-height: 1 !important; padding: 2px 5px !important; min-width: 14px !important; text-align: center !important; }