/*
Theme Name: Christians Persienntjänst
Theme URI: https://example.com/
Author: OpenAI
Description: WordPress-tema byggt från uppladdade HTML-sidor för Christians Persienntjänst.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.5
Text Domain: christians-theme
*/

:root {
  --primary-color: #c27a43;
  --primary-dark: #9b6032;
  --bg-color: #f7f3ee;
  --card-bg: #fffefc;
  --text-color: #333;
  --shadow: rgba(0,0,0,0.08);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background-color: var(--bg-color);
  color: var(--text-color);
  line-height: 1.6;
}
a { color: var(--primary-color); text-decoration: none; }
a:hover { color: var(--primary-dark); text-decoration: underline; }
img { max-width: 100%; height: auto; }

.site-header,
.page-hero {
  position: relative;
  text-align: center;
  color: white;
  overflow: hidden;
}
.site-header {
  padding: clamp(40px, 10vw, 100px) 20px;
  background: url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1400&q=80') center/cover no-repeat;
}
.page-hero {
  padding: 90px 20px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.site-header::before,
.page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(180,120,60,0.6), rgba(120,70,30,0.5));
}
.page-hero.hero-dark::before { background: rgba(0,0,0,0.35); }
.site-header h1,
.site-header p,
.page-hero h1,
.page-hero p {
  position: relative;
  z-index: 1;
  margin: 0;
  text-shadow: 2px 2px 8px rgba(0,0,0,.45);
}
.site-header h1,
.page-hero h1 { font-size: clamp(1.8rem,5vw,3rem); line-height: 1.2; }
.site-header p,
.page-hero p { font-size: clamp(1rem,2vw,1.3rem); margin-top: 15px; }

.container,
.main-section,
.page-card,
.main-wrapper,
main section {
  max-width: 900px;
  margin: 40px auto;
  background: var(--card-bg);
  padding: 40px;
  border-radius: 12px;
  box-shadow: 0 4px 20px var(--shadow);
}
.wide-wrap { max-width: 1200px; margin: 40px auto; padding: 0 20px; }
.info-container { display: flex; gap: 20px; max-width: 1200px; margin: 40px auto; flex-wrap: wrap; }
.info-box {
  flex: 1; min-width: 300px; background: var(--card-bg); padding: 15px; border-radius: 12px; box-shadow: 0 4px 20px var(--shadow);
}
.map-container { width: 100%; height: 150px; border-radius: 8px; overflow: hidden; margin-top: 10px; }
.mapFrame { width: 100%; height: 350px; border: 0; margin-top: 20px; }

h2, h3.section-title {
  color: var(--primary-color);
  border-bottom: 2px solid var(--primary-color);
  padding-bottom: 8px;
  margin-bottom: 20px;
}
ul { padding-left: 20px; }
.service-list li::before,
.icon-list li::before { content: "🔧 "; margin-right: 6px; }
.cta, .center { text-align: center; }
.btn,
.contact-btn,
.cta-buttons a,
.back-home-button,
.callBtn,
.homeBtn,
.button-link,
button[type="submit"],
.wp-block-button__link {
  display: inline-block;
  background: var(--primary-color);
  color: #fff;
  padding: 14px 28px;
  border-radius: 10px;
  border: none;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, opacity .2s ease;
}
.callBtn { background: #2e7d32; }
.btn:hover,
.contact-btn:hover,
.cta-buttons a:hover,
.back-home-button:hover,
.callBtn:hover,
.homeBtn:hover,
.button-link:hover,
button[type="submit"]:hover,
.wp-block-button__link:hover { background: var(--primary-dark); transform: scale(1.03); color: #fff; text-decoration:none; }
.callBtn:hover { background: #256428; }
.cta-buttons, .btnRow { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }

footer.site-footer,
footer.page-footer {
  text-align: center;
  padding: 20px;
  background: var(--primary-color);
  color: white;
  margin-top: 40px;
}
footer a { color: #fff; }

.lang-selector,
#languageContainer,
.lang-fixed {
  position: fixed; top: 12px; right: 14px; z-index: 2000;
}
.lang-selector button,
#languageSwitcher,
#lang-toggle,
.lang-fixed button,
.lang-fixed select {
  background: var(--primary-color);
  color: white;
  border: none;
  padding: 10px 14px;
  border-radius: 8px;
  cursor: pointer;
  font-weight: bold;
}
.lang-fixed select { appearance: auto; }

.faq-item { margin-bottom: 15px; border-left: 4px solid var(--primary-color); border-radius: 6px; background: #fff8f0; overflow: hidden; }
.faq-question { padding: 10px 15px; margin: 0; cursor: pointer; font-size: 1.1em; color: var(--primary-color); font-weight: bold; }
.faq-question:hover { background: #f0e6df; }
.faq-answer { height: 0; overflow: hidden; padding: 0 15px; transition: height 0.3s ease; }
.faq-answer p { margin: 5px 0 10px; }

.badgeWrap { text-align:center; margin-top:18px; }
.responseBadge { display:inline-block; background:#fff3cd; color:#7a4b00; padding:12px 18px; border-radius:999px; font-weight:bold; }
form { display:flex; flex-direction:column; gap:14px; }
form input, form select, form textarea { padding: 10px; border-radius: 6px; border: 1px solid #ccc; font: inherit; width:100%; }

.note { background:#fff8f0; border-left:4px solid var(--primary-color); border-radius:8px; padding:14px 16px; margin:16px 0; }

.gallery-vertical { display:flex; flex-direction:column; gap:20px; }
.gallery-vertical img { width:100%; object-fit:cover; border-radius:12px; }

.hover-popup { position: relative; display: inline-block; }
.hover-popup button { background: var(--primary-color); color: white; padding: 12px 20px; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; }
.hover-popup .popup-content {
  position: absolute; top: 50%; right: 110%; transform: translateY(-50%) translateX(-20px);
  background: #fffefc; padding: 20px; border-radius: 10px; min-width: 250px; box-shadow: 0 4px 20px rgba(0,0,0,0.2);
  opacity: 0; visibility: hidden; transition: all 0.3s ease; z-index: 10;
}
.hover-popup:hover .popup-content,
.hover-popup.is-open .popup-content { transform: translateY(-50%) translateX(0); opacity:1; visibility:visible; }
.popup-arrow {
  position: absolute; top: 50%; right: -10px; transform: translateY(-50%);
  width: 0; height: 0; border-top: 8px solid transparent; border-bottom: 8px solid transparent; border-left: 10px solid #fffefc;
}
.work-image-wrap { position:relative; text-align:center; margin-bottom:30px; }
.work-image-wrap img { max-width:80%; border-radius:10px; box-shadow:0 4px 15px rgba(0,0,0,.1); }
.overlay-text {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  background:rgba(0,0,0,0.4); color:#fff; padding:15px 25px; border-radius:8px; font-size:1.8rem; font-weight:bold;
}

.sv-only, .en-only { display:block; }
.hidden-lang { display:none !important; }

@media (max-width: 1024px) {
  .gallery-vertical { flex-direction: row; overflow-x: auto; }
  .gallery-vertical img { width: auto; max-width: 300px; }
}
@media (max-width: 768px) {
  .container,
  .main-section,
  .page-card,
  .main-wrapper,
  main section { margin: 20px; padding: 24px; }
}
@media (max-width: 600px) {
  .btnRow a { width:100%; text-align:center; }
  .work-image-wrap img { max-width:100%; }
  .hover-popup .popup-content { right:auto; left:50%; top:calc(100% + 12px); transform:translateX(-50%); }
  .hover-popup:hover .popup-content,
  .hover-popup.is-open .popup-content { transform:translateX(-50%); }
  .popup-arrow { top:-10px; right:auto; left:50%; transform:translateX(-50%) rotate(-90deg); }
}
