/*
Theme Name: SWICOR
Theme URI: https://swicor.ch
Author: Swiss Corporate Solutions Ltd.
Description: Schlankes Theme für swicor.ch — optimiert für Bold Page Builder, Polylang und Contact Form 7.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: swicor
*/
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #FFFFFF; color: #4A6278; font-family: Inter, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 1.85; -webkit-font-smoothing: antialiased; text-wrap: pretty; }
h1, h2, h3, h4 { margin: 0; font-family: Inter, Helvetica, Arial, sans-serif; color: #1A2836; font-weight: 500; letter-spacing: -.015em; line-height: 1.2; }
p { margin: 0; }
a { color: #1B3A4B; text-decoration: none; }
a:hover { color: #C0392B; }
ul { margin: 0; padding: 0; list-style: none; }
img { max-width: 100%; }
input, select, textarea, button { font-family: inherit; font-size: inherit; color: inherit; }
::selection { background: #B8965A; color: #FFFFFF; }
[data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1); }
[data-reveal].is-in { opacity: 1; transform: none; }
.no-js [data-reveal] { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { [data-reveal] { opacity: 1; transform: none; } html { scroll-behavior: auto; } }
@media (max-width: 1080px) {
  [data-desktop-nav] { display: none !important; }
  [data-mobile-btn] { display: flex !important; }
  footer > div:first-child { grid-template-columns: 1fr 1fr !important; gap: 40px !important; }
}
@media (max-width: 900px) {
  main section:not(.bt_bb_section) { padding-left: 22px !important; padding-right: 22px !important; }
  main section > div > div[style*="grid-template-columns: 1fr 1.1fr"] { grid-template-columns: 1fr !important; gap: 40px !important; }
  main div[style*="grid-template-columns: 120px 1fr"] { grid-template-columns: 84px 1fr !important; gap: 22px !important; }
  main div[style*="grid-template-columns: 120px 1fr"] > div:first-child { width: 84px !important; height: 84px !important; font-size: 24px !important; }
  main div[style*="grid-template-columns: 1fr 1fr; gap: 28px"] { grid-template-columns: 1fr !important; }
}
.scteam:hover div[role="img"] { filter: none !important; }
@media (max-width: 640px) {
  .scteam { grid-template-columns: 1fr !important; }
  .scteam > div:first-child { min-height: 240px !important; }
  .scteam > div:first-child > div:last-child { background: linear-gradient(to bottom, rgba(237,234,228,0) 55%, #FFFFFF 100%) !important; }
  body { font-size: 16px; }
  footer > div:first-child { grid-template-columns: 1fr !important; }
  header > div { padding: 0 20px !important; }
}

/* Hover / Fokus-Zustände (aus dem Design übernommen) */
.swh-1:hover{color: #C0392B !important}
.swh-2:hover{background: #F7F5F1 !important;color: #1B3A4B !important}
.swh-3:hover{background: #E74C3C !important;color: #FFFFFF !important}
.swh-4:hover{color: #D4AC6E !important}
.swh-5:hover{color: #FFFFFF !important}
.swh-6:hover{background: #1B3A4B !important;color: #FFFFFF !important}
.swh-7:hover{border-color: #1B3A4B !important;box-shadow: 0 10px 28px rgba(27,58,75,.12) !important;transform: translateY(-3px) !important}
.swh-8:hover{border-color: #B8965A !important;color: #1A2836 !important}
.swh-9:hover{border-color: #1B3A4B !important;box-shadow: 0 10px 26px rgba(27,58,75,.10) !important;transform: translateY(-3px) !important}
.swh-10:hover{transform: translateY(-3px) !important;box-shadow: 0 0 0 1px #B8965A, 0 14px 30px rgba(27,58,75,.09) !important}
.swh-11:hover{border-color: #B8965A !important;background: #F7F5F1 !important}
.swh-12:hover{background: #FFFFFF !important;color: #1B3A4B !important}
.swh-13:hover{color: #B8965A !important}
.swh-14:hover{transform: translateY(-2px) !important;box-shadow: 0 0 0 1px rgba(184,150,90,.5) !important}
.swh-15:focus{border-color: #B8965A !important;outline: none !important}
.swh-16:hover{background: #E74C3C !important}
.swh-17:focus{outline: none !important;border-color: #1B3A4B !important}
.swh-18:hover{color: #1B3A4B !important}
.swh-19:hover{border-color: #B8965A !important;color: #1B3A4B !important}

/* Bold Page Builder: Wrapper neutralisieren, damit die SWICOR-Sektionen randlos laufen */
.bt_bb_wrapper, .bt_bb_section.swicor-sec, .swicor-sec .bt_bb_port, .swicor-sec .bt_bb_cell, .swicor-sec .bt_bb_cell_inner,
.swicor-sec .bt_bb_row_wrapper, .swicor-sec .bt_bb_row, .swicor-sec .bt_bb_row_holder, .swicor-sec .bt_bb_column, .swicor-sec .bt_bb_column_content,
.swicor-sec .bt_bb_column_content_inner, .swicor-sec .bt_bb_raw_content {
  padding: 0 !important; margin: 0 !important; max-width: none !important; width: 100% !important; float: none !important;
}
.swicor-sec .bt_bb_row, .swicor-sec .bt_bb_row_holder { display: block !important; }
body.admin-bar header[style*="sticky"] { top: 32px !important; }
@media (max-width: 782px) { body.admin-bar header[style*="sticky"] { top: 46px !important; } }

/* Contact Form 7 */
.swicor-cf7 .wpcf7, .swicor-cf7 .wpcf7-form { display: inherit; flex-direction: inherit; gap: inherit; }
.swicor-cf7 .wpcf7-form-control-wrap { display: block; }
.swicor-cf7 label { display: flex; flex-direction: column; gap: 8px; }
.swicor-cf7 .swf-lbl { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #8FA8BC; }
.swicor-cf7 .swf-in { width: 100%; border: 1px solid #D8D4CC; background: #FFFFFF; padding: 14px 16px; font-size: 16px; color: #1A2836; border-radius: 2px; min-height: 48px; }
.swicor-cf7 textarea.swf-in { resize: vertical; line-height: 1.6; min-height: 140px; }
.swicor-cf7 .swf-in:focus { outline: none; border-color: #1B3A4B; }
.swicor-cf7 .swf-hint { font-size: 12px; color: #8FA8BC; }
.swicor-cf7 .swf-accept { display: block; font-size: 14px; line-height: 1.6; color: #4A6278; }
.swicor-cf7 .swf-accept input { width: 18px; height: 18px; margin: 0 10px 0 0; vertical-align: -3px; accent-color: #1B3A4B; }
.swicor-cf7 .swf-accept .wpcf7-list-item { margin: 0; }
.swicor-cf7 .swf-btn { width: 100%; background: #C0392B; color: #FFFFFF; border: 0; padding: 17px 24px; font-size: 15px; font-weight: 500; letter-spacing: .02em; cursor: pointer; border-radius: 2px; min-height: 52px; transition: background .3s; }
.swicor-cf7 .swf-btn:hover { background: #E74C3C; }
.swicor-cf7 .swf-note { font-size: 12px; letter-spacing: .04em; color: #8FA8BC; text-align: center; }
.swicor-cf7 .wpcf7-not-valid-tip { font-size: 13px; color: #C0392B; margin-top: 6px; }
.swicor-cf7 .wpcf7-response-output { margin: 0 !important; padding: 14px 16px !important; border: 1px solid #D8D4CC !important; font-size: 14px; color: #1A2836; }
.swicor-cf7 .wpcf7-spinner { display: none; }
