/*
Theme Name: FinanzTheme Orange
Theme URI: http://www.festgeld-zinsen.eu
Description: Professionelles Finanzdesign
Version: 1.0
Author: Felix J. Leupold
*/

html {
overflow-x:hidden;
}
body {
background-color:#c4ba97;
background-image:url(../images/bg.jpg);
background-repeat:repeat-y;
background-position:center top;
margin:0;
padding:0;
font-family:Verdana,Geneva,sans-serif;
font-size:12px;
overflow-x:hidden;
max-width:100%;
}
a:link, a:visited {
color:#af8b2b;
text-decoration:none;
}
a:hover, a:active {
color:#9f8430;
text-decoration:underline;
}

/* === HEADER === */
#header {
background-color:#c4ba97;
background-image:url(../images/header_bg.jpg);
background-position:right center;
background-repeat:no-repeat;
border-bottom:3px solid #e4e4c7;
height:150px;
margin:0 auto;
padding:0;
width:1000px;
}
#header h1 {
color:#3d3700;
display:block;
font-family:Verdana,Geneva,sans-serif;
font-size:45px;
font-weight:normal;
height:97px;
line-height:97px;
margin:0;
padding-left:15px;
vertical-align:middle;
}
#header h1 a {
color:#3d3700;
display:block;
text-decoration:none;
}
#header .site-title {
color:#3d3700;
display:block;
font-family:Verdana,Geneva,sans-serif;
font-size:45px;
font-weight:normal;
height:97px;
line-height:97px;
margin:0;
padding-left:15px;
vertical-align:middle;
}
#header .site-title a {
color:#3d3700;
display:block;
text-decoration:none;
}
#header span {
color:#FFFFFF;
display:block;
font-family:Verdana, Geneva, sans-serif;
font-size:13px;
line-height:27px;
padding-left:20px;
padding-right:20px;
vertical-align:middle;
}
#header span a {
color:#FFFFFF;
font-family:Verdana,Geneva,sans-serif;
font-size:10px;
text-decoration:none;
}
#header span a:hover {
text-decoration:underline;
}

/* === PAGE === */
#page {
width:1000px;
margin:0 auto;
display:flex;
flex-wrap:wrap;
align-items:stretch;
}

/* === CONTENT (RIGHT, float) === */
#content {
flex:1;
min-width:0;
overflow-x:hidden;
box-sizing:border-box;
background-color:#ffffff;
padding-left:20px;
padding-right:20px;
font-family:Verdana,Geneva,sans-serif;
font-size:12px;
}
/* Prevent inner elements from breaking out */
#content img { max-width:100%; height:auto; }
#content table { max-width:100%; box-sizing:border-box; }
/* Direct-child tables (reviews, rate tables outside .post) */
#content > table {
  width:100% !important;
  table-layout:fixed;
  word-wrap:break-word;
}
#content > table td { overflow:hidden; word-wrap:break-word; overflow-wrap:break-word; }
#content .post { overflow-x:hidden; margin-top:10px; }
#content div h2 {
color:#453819;
font-size:18px;
}
#content div h1.content-title {
color:#453819;
font-size:18px;
font-weight:normal;
margin:0 0 10px;
}
#content .post h2 a:link, #content .post h2 a:visited {
color:#453819;
font-size:18px;
text-decoration:none;
}
#content .post h2 a:active, #content .post h2 a:hover {
text-decoration:underline;
}
#content .post h3 {
color:#453819;
font-size:14px;
margin:18px 0 8px;
}
#content .post p {
margin-bottom:10px;
line-height:1.7;
}
#content .post ul, #content .post ol {
margin:8px 0 12px 20px;
}
#content .post li {
margin-bottom:4px;
}
p img {
max-width:100%;
padding:0;
}

/* === SIDEBAR (LEFT, float) === */
#sidebar {
background-color:#e4e4c7;
order:-1;
flex-shrink:0;
overflow:hidden;
padding-bottom:15px;
text-align:center;
width:190px;
}
#sidebar .title {
background-color:#e3cc6d;
color:#977b0a;
display:block;
font-family:Verdana,Geneva,sans-serif;
font-size:12px;
font-weight:bold;
margin-bottom:2px;
margin-left:2px;
margin-right:2px;
padding:2px;
text-align:center;
}
#sidebar .sidemenue {
list-style-image:none;
list-style-position:outside;
list-style-type:none;
margin:0 0 15px;
padding:0;
text-align:left;
}
#sidebar .sidemenue li {
background-color:#F1F1D4;
display:block;
font-family:Verdana,Geneva,sans-serif;
font-size:12px;
margin:2px;
text-align:left;
}
#sidebar .sidemenue li:hover {
background-color:#faf7d3;
}
#sidebar .sidemenue li a {
border-left:10px solid #e3cc6d;
color:#1c282d;
display:block;
padding:3px;
text-decoration:none;
}
#sidebar .sidemenue li a:hover {
border-left:15px solid #e8dd62;
color:#1c282d;
}
#sidebar .newstitle {
background-color:#cdb862;
color:#9c8011;
display:block;
font-family:Verdana,Geneva,sans-serif;
font-size:12px;
font-weight:bold;
margin-bottom:2px;
margin-left:2px;
margin-right:2px;
padding:2px;
text-align:center;
}
#sidebar .sidenews {
list-style-image:none;
list-style-position:outside;
list-style-type:none;
margin:0 0 15px;
padding:0;
text-align:left;
}
#sidebar .sidenews li {
background-color:#d4d0a5;
display:block;
font-family:Verdana,Geneva,sans-serif;
font-size:12px;
margin:2px;
text-align:left;
}
#sidebar .sidenews li:hover {
background-color:#c6c18b;
}
#sidebar .sidenews li a {
border-left:5px solid #cdb862;
color:#604f0c;
display:block;
padding:3px;
text-decoration:none;
}
#sidebar .sidenews li a:hover {
border-left:5px solid #b4a35c;
color:#222c30;
}

/* === EMPFEHLUNG === */
.empfehlung {
background-color:#e4e4c7;
margin:auto;
padding-bottom:4px;
width:500px;
}
.empfehlung h3 {
background-color:#ebd55d;
margin:0;
font-size:10px;
padding:2px;
text-transform:uppercase;
}
.empfehlung div {
background-color:#FFFFFF;
border:1px solid #baae7e;
display:block;
margin:10px auto auto;
padding:4px;
width:465px;
}
.empfehlung div ul {
list-style-image:url(../images/haken.jpg);
list-style-position:inside;
list-style-type:none;
margin:0;
padding:0;
}
.empfehlung div ul li {
list-style-image:url(../images/haken.jpg);
list-style-position:inside;
list-style-type:none;
padding-left:4px;
}
.empfehlung div p {
margin:0;
}
.empfehlung div a {
background-color:#e3dcb6;
color:#000000;
display:block;
font-size:10px;
margin-top:4px;
padding:2px;
text-align:center;
text-decoration:none;
}
.empfehlung div a:hover {
background-color:#f0e298;
}

/* === COMPARISON TABLE === */
.comparison-table {
width:100%;
border-collapse:collapse;
margin:15px 0;
font-size:11px;
}
.comparison-table thead th {
background-color:#e3cc6d;
color:#604f0c;
padding:6px 8px;
text-align:left;
font-size:11px;
font-weight:bold;
border-bottom:2px solid #cdb862;
}
.comparison-table tbody td {
padding:7px 8px;
border-bottom:1px solid #e4e4c7;
vertical-align:middle;
}
.comparison-table tbody tr:hover { background-color:#f5f3e0; }
.comparison-table .rate { font-weight:bold; color:#977b0a; font-size:14px; }
.comparison-table .bank-name { font-weight:bold; color:#453819; }
.comparison-table .btn-angebot {
display:inline-block;
background-color:#e3dcb6;
color:#000;
padding:4px 10px;
font-size:10px;
font-weight:bold;
text-decoration:none;
text-align:center;
border:1px solid #cdb862;
}
.comparison-table .btn-angebot:hover {
background-color:#f0e298;
text-decoration:none;
}
.comparison-table .highlight td {
background-color:#faf7d3;
}
.comparison-table .badge-top {
display:inline-block;
background-color:#ebd55d;
color:#604f0c;
font-size:9px;
padding:1px 5px;
font-weight:bold;
text-transform:uppercase;
margin-left:5px;
}

/* === LEAD FORM === */
.lead-form-box {
background-color:#f5f3e8;
border:2px solid #baae7e;
padding:0;
margin:20px 0;
box-shadow:0 2px 8px rgba(0,0,0,0.1);
}
.lead-form-box h3 {
background-color:#e3cc6d;
color:#3d3700;
font-size:14px;
padding:10px 16px;
margin:0 0 0 0;
text-transform:uppercase;
font-weight:bold;
letter-spacing:0.5px;
border-bottom:2px solid #cdb862;
}
.lead-form-box .lead-form-inner {
padding:16px;
}
.lead-form-box .subtitle {
color:#666;
font-size:11px;
margin:0 0 14px;
padding-bottom:12px;
border-bottom:1px solid #ddd9c0;
}
.lead-form-box .form-grid {
display:grid;
grid-template-columns:1fr 1fr;
gap:14px 12px;
}
.lead-form-box .form-grid > div {
display:flex;
flex-direction:column;
}
.lead-form-box label {
font-size:10px;
color:#604f0c;
display:block;
margin-bottom:5px;
font-weight:bold;
text-transform:uppercase;
letter-spacing:0.4px;
}
.lead-form-box input,
.lead-form-box select {
width:100%;
padding:9px 11px;
border:1px solid #c8c09a;
font-size:12px;
font-family:Verdana,Geneva,sans-serif;
background:#fff;
box-sizing:border-box;
height:36px;
color:#333;
}
.lead-form-box input:focus,
.lead-form-box select:focus {
outline:none;
border-color:#977b0a;
background:#fffff8;
box-shadow:0 0 0 2px rgba(151,123,10,0.12);
}
/* Unified phone field */
.lead-form-box .phone-wrap {
display:flex;
border:1px solid #c8c09a;
background:#fff;
height:36px;
}
.lead-form-box .phone-wrap:focus-within {
border-color:#977b0a;
box-shadow:0 0 0 2px rgba(151,123,10,0.12);
}
.lead-form-box .phone-wrap select {
border:none;
border-right:1px solid #c8c09a;
background:#f8f6ec;
width:88px;
flex-shrink:0;
padding:0 6px;
font-size:12px;
font-family:Verdana,Geneva,sans-serif;
height:100%;
box-sizing:border-box;
color:#333;
}
.lead-form-box .phone-wrap select:focus { outline:none; box-shadow:none; }
.lead-form-box .phone-wrap input {
border:none;
flex:1;
padding:0 10px;
font-size:12px;
font-family:Verdana,Geneva,sans-serif;
height:100%;
background:transparent;
box-sizing:border-box;
}
.lead-form-box .phone-wrap input:focus { outline:none; box-shadow:none; background:transparent; }
.lead-form-box .form-full { grid-column:1/-1; }
.lead-form-box .consent {
font-size:11px;
color:#666;
background:#eeebd6;
border:1px solid #d4ceaa;
padding:10px 12px;
display:flex;
align-items:flex-start;
gap:8px;
line-height:1.5;
margin-top:2px;
}
.lead-form-box .consent input[type=checkbox] {
width:14px;height:14px;
flex-shrink:0;margin-top:2px;
accent-color:#977b0a;
}
.lead-form-box .consent label { font-size:11px;color:#666;font-weight:normal;text-transform:none;letter-spacing:0;margin:0; }
.lead-form-box .consent a { color:#af8b2b;text-decoration:underline; }
.lead-form-box .btn-submit {
grid-column:1/-1;
background-color:#e3cc6d;
color:#3d3700;
border:none;
border-top:3px solid #cdb862;
padding:12px;
font-size:14px;
font-weight:bold;
font-family:Verdana,Geneva,sans-serif;
cursor:pointer;
text-transform:uppercase;
letter-spacing:0.5px;
margin-top:2px;
}
.lead-form-box .btn-submit:hover { background-color:#ecd96a; }
.lead-form-box .btn-submit:active { background-color:#d4bc5a; }
.lead-form-box .trust-badges {
grid-column:1/-1;
display:flex;
gap:16px;
flex-wrap:wrap;
justify-content:center;
margin-top:10px;
font-size:10px;
color:#888;
padding-top:10px;
border-top:1px solid #ddd9c0;
}
.lead-form-box .trust-badges span { display:flex;align-items:center;gap:3px; }
.lead-form-box .trust-badges span::before {
content:"\2713";
color:#5a7a00;
font-weight:bold;
font-size:11px;
}

/* === INFO BOX === */
.info-box {
background:#f5f3e0;
border-left:4px solid #e3cc6d;
padding:8px 12px;
margin:12px 0;
font-size:11px;
}
.info-box.warning {
border-left-color:#cdb862;
background:#faf7d3;
}
.info-box.success {
border-left-color:#5a8a00;
background:#f0f5e0;
}

/* === FOOTER === */
#footer {
flex-basis:100%;
order:1;
background-image:url(../images/hr_bg.jpg);
background-repeat:repeat-x;
clear:both;
color:#333333;
font-family:Verdana,Geneva,sans-serif;
font-size:10px;
margin:20px 0;
padding:10px;
text-align:center;
box-sizing:border-box;
}
#footer a {
color:#333333;
}
#footer a:hover {
text-decoration:underline;
}

/* === HR === */
hr {
background-image:url(../images/hr_bg.jpg);
border:medium none;
clear:both;
height:2px;
margin:20px;
}

/* === RESPONSIVE === */
@media (max-width:1020px) {
  #header, #page { width:100%; box-sizing:border-box; }
  #header { padding:0 10px; }
}

@media (max-width:700px) {
  /* Layout */
  #page { flex-direction:column; }
  #sidebar { order:2; width:100%; box-sizing:border-box; }
  #content { order:1; width:100%; box-sizing:border-box; padding:0 14px; }

  /* Header */
  #header { height:auto; width:100%; background-size:cover; padding:0; box-sizing:border-box; }
  #header h1 { font-size:20px; height:auto; line-height:1.3; padding:10px 12px; }
  #header .site-title { font-size:20px; height:auto; line-height:1.3; padding:10px 12px; }
  #header span { font-size:10px; padding:4px 12px; line-height:1.4; }
  #header span:first-child { font-size:10px; padding:6px 12px 4px; line-height:1.6; }

  /* Content */
  #content .post { margin-right:0; margin-top:8px; }
  #content .post h2 { font-size:15px; }

  /* Tab buttons — override inline padding */
  #btnFestgeld, #btnTagesgeld {
    padding:11px 6px !important;
    font-size:13px !important;
    letter-spacing:0 !important;
  }

  /* Filter bar — stack Laufzeit below Anlagebetrag */
  #laufzeitFilter { display:block !important; margin-left:0 !important; margin-top:6px; }
  #filterAmount, #filterDuration { width:auto; min-width:120px; }

  /* Comparison table — hide Laufzeit, Zinsertrag, Einlagensicherung on mobile */
  .comparison-table-wrapper { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .comparison-table { font-size:11px; min-width:0; width:100%; }
  .comparison-table .col-laufzeit,
  .col-ertrag,
  .comparison-table th:nth-child(5),
  .comparison-table td:nth-child(5) { display:none; }
  .comparison-table thead th,
  .comparison-table tbody td { padding:7px 6px; }
  .comparison-table .bank-name { font-size:11px; }
  .comparison-table img { width:20px !important; height:20px !important; margin-right:4px !important; }
  .comparison-table .badge-top { display:none; }
  .comparison-table .rate { font-size:13px; }
  .comparison-table .btn-angebot { padding:5px 8px !important; font-size:10px; white-space:nowrap; }

  /* Empfehlung box */
  .empfehlung { width:100%; box-sizing:border-box; }
  .empfehlung div { width:auto; box-sizing:border-box; }

  /* Lead form */
  .lead-form-box .form-grid { grid-template-columns:1fr; gap:10px; }
  .lead-form-box .lead-form-inner { padding:12px; }

  /* Reviews table — single column */
  .post > table td,
  .entry > table td {
    display:block !important;
    width:100% !important;
    padding:0 0 8px 0 !important;
    box-sizing:border-box;
  }
  .post > table td > div,
  .entry > table td > div { margin-bottom:6px; }

  /* Sub-page rate tables */
  .post .table-wrapper { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .post table[cellpadding="0"] th, .post table[cellpadding="0"] td { padding:4px 5px; }

  /* CTA box */
  .fz-cta-injected { margin:12px 0 !important; }
  .fz-cta-injected a { padding:6px 12px !important; font-size:11px !important; }

  /* Footer */
  #footer { margin:10px; font-size:10px; }
}

/* Tablet */
@media (min-width:701px) and (max-width:900px) {
  #sidebar { width:160px; flex-shrink:0; }
  #header h1 { font-size:32px; }
  #header .site-title { font-size:32px; }
  .comparison-table { font-size:11px; }
  .comparison-table th:nth-child(5),
  .comparison-table td:nth-child(5) { display:none; }
}

/* Sub-page rate tables on mobile: hide last column */
@media (max-width:700px) {
  .post table th:last-child,
  .post table td:last-child { display:none; }
  .post table { font-size:10px; }
  .post table th, .post table td { padding:4px 5px; }
}

/* === COOKIE BANNER === */
#cookie-banner {
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  background:#3d3700;
  color:#fff;
  z-index:9999;
  box-shadow:0 -2px 10px rgba(0,0,0,0.3);
}
#cookie-banner .cookie-inner {
  max-width:1000px;
  margin:0 auto;
  padding:15px 20px;
  display:flex;
  align-items:center;
  gap:20px;
}
#cookie-banner p {
  flex:1;
  font-size:12px;
  line-height:1.5;
  margin:0;
}
#cookie-banner a { color:#e3cc6d; }
#cookie-banner .cookie-buttons { display:flex; gap:8px; }
#cookie-banner .cookie-accept {
  background:#e3cc6d;
  color:#3d3700;
  border:none;
  padding:8px 16px;
  font-size:12px;
  font-weight:bold;
  cursor:pointer;
  font-family:inherit;
}
#cookie-banner .cookie-accept:hover { background:#f0e298; }
#cookie-banner .cookie-decline {
  background:transparent;
  color:#e3cc6d;
  border:1px solid #e3cc6d;
  padding:8px 16px;
  font-size:12px;
  cursor:pointer;
  font-family:inherit;
}
#cookie-banner .cookie-decline:hover { background:rgba(227,204,109,0.1); }
@media (max-width:700px) {
  #cookie-banner .cookie-inner { flex-direction:column; text-align:center; }
  #cookie-banner .cookie-buttons { justify-content:center; }
}

/* Sub-page rate tables: hide Land column on mobile */
@media (max-width:700px) {
  .post table th:last-child,
  .post table td:last-child { display:none; }
  .post table { font-size:10px; }
  .post table th, .post table td { padding:4px 5px; }
  .fz-cta-injected { margin:12px 0 !important; }
}

/* Trust badges: force single row on mobile */
@media (max-width:700px) {
  .lead-form-box .trust-badges {
    flex-wrap:nowrap;
    gap:6px;
    font-size:9px;
    justify-content:space-around;
  }
  .lead-form-box .trust-badges span { flex-direction:column; align-items:center; gap:1px; text-align:center; }
  .lead-form-box .trust-badges span::before { font-size:12px; }
}

/* ===================================================
   MOBİL OVERRIDE — Kart Düzeni (2026-07-17)
   Tablo satırları → kart, buton tam genişlik
   =================================================== */
@media (max-width:700px) {

  /* Eski tablo scroll'u kaldır, kart düzenine geç */
  .comparison-table-wrapper { overflow-x:visible !important; }
  .comparison-table        { display:block !important; }
  .comparison-table tbody  { display:block !important; }
  .comparison-table thead  { display:none  !important; }

  /* Her satır = banka kartı */
  .comparison-table tbody tr {
    display:block !important;
    border:1px solid #cdb862;
    margin:0 0 10px !important;
    padding:10px 12px;
    background:#fffef5;
    border-radius:3px;
    box-shadow:0 1px 3px rgba(0,0,0,0.07);
  }
  .comparison-table tbody tr.highlight {
    background:#faf7d3 !important;
    border-color:#e3cc6d !important;
    box-shadow:0 1px 5px rgba(227,204,109,0.3);
  }

  /* Tüm td'ler block */
  .comparison-table td { display:block !important; padding:0 !important; }

  /* Laufzeit, Ertrag, Einlagensicherung gizle */
  .comparison-table td.col-laufzeit { display:none !important; }
  .comparison-table td.col-ertrag   { display:none !important; }
  .comparison-table td:nth-child(5) { display:none !important; }

  /* 1. TD: Banka adı + logo */
  .comparison-table td:first-child {
    display:flex !important;
    align-items:center;
    padding-bottom:10px !important;
    margin-bottom:8px;
    border-bottom:1px solid #e4e4c7;
  }
  .comparison-table img {
    width:28px !important;
    height:28px !important;
    margin-right:10px !important;
    flex-shrink:0;
  }
  .comparison-table .bank-name {
    font-size:13px !important;
    font-weight:bold;
    color:#3d3700;
    line-height:1.3;
  }
  .comparison-table .badge-top {
    display:inline-block !important;
    margin-left:8px;
    font-size:9px;
    padding:2px 6px;
    vertical-align:middle;
  }

  /* 2. TD: Faiz oranı */
  .comparison-table td:nth-child(2) {
    padding:6px 0 10px !important;
    border-bottom:1px solid #e4e4c7;
    margin-bottom:8px;
  }
  .comparison-table .rate {
    font-size:22px !important;
    color:#977b0a;
    display:block;
    line-height:1.2;
  }
  .comparison-table .rate::after {
    content:" p.a.";
    font-size:12px;
    color:#888;
    font-weight:normal;
  }

  /* 6. TD: Buton — TAM GENİŞLİK */
  .comparison-table td:last-child {
    display:block !important;
    padding:0 !important;
  }
  .comparison-table .btn-angebot {
    display:block !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:13px 16px !important;
    font-size:14px !important;
    text-align:center !important;
    background:#e3cc6d !important;
    color:#3d3700 !important;
    border:none !important;
    border-top:2px solid #cdb862 !important;
    font-weight:bold !important;
    letter-spacing:0.3px;
    text-decoration:none !important;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .comparison-table .btn-angebot:hover,
  .comparison-table .btn-angebot:active {
    background:#ecd96a !important;
    text-decoration:none !important;
  }

  /* Tab butonlar — daha kompakt ama erişilebilir */
  #btnFestgeld, #btnTagesgeld {
    padding:13px 8px !important;
    font-size:14px !important;
    letter-spacing:0 !important;
    min-height:44px;
  }

  /* Lead form buton — tam genişlik daha büyük */
  .lead-form-box .btn-submit {
    font-size:15px;
    padding:14px;
  }

  /* Empfehlung kutusu tam mobil uyumlu */
  .empfehlung { width:100% !important; box-sizing:border-box !important; }
  .empfehlung div { width:auto !important; box-sizing:border-box !important; }
}
