/*
Theme Name: Per Linguam (Claude Design)
Theme URI: https://www.per-linguam.de
Author: Per Linguam / Robert Barski
Description: Blockbasiertes WordPress-Theme, 1:1 nach dem Claude-Design-Entwurf für Per Linguam gebaut (Farben, Typografie, Layout als theme.json-Vorgaben; Feinheiten wie Karten, Badges, Pillen als CSS-Klassen). Texte/Bilder frei über den Block-Editor bearbeitbar, Design bleibt gesperrt.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: per-linguam-claude-design
*/

@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,400;0,6..12,600;0,6..12,700;0,6..12,800;1,6..12,400&family=Lora:wght@500;600;700&display=swap');

/* ==== Grund-Reset ==== */
img { max-width: 100%; height: auto; }
* { box-sizing: border-box; }
.wrap-1120 { max-width: 1120px; margin-left: auto; margin-right: auto; }

/* ==== Header ==== */
.site-header { display: flex !important; align-items: center; justify-content: space-between; padding: 24px !important; max-width: 1120px; margin: 0 auto !important; flex-wrap: wrap; gap: 16px; }
.brand { display: flex !important; align-items: center; gap: 12px !important; }
.brand img, .brand .wp-block-site-logo { height: 44px !important; width: auto !important; }
.brand p { font: 600 22px "Lora","Iowan Old Style",Georgia,serif !important; color: #183C54 !important; margin: 0 !important; }
.site-nav { font: 700 14px "Nunito Sans",sans-serif !important; margin: 0 !important; display: flex; gap: 24px; flex-wrap: wrap; }
.site-nav a { text-decoration: none; color: #3E4C52; }
.site-nav a:hover { color: #547F87; }

/* ==== Hero ==== */
.hero { display: flex !important; align-items: center; gap: 48px !important; max-width: 1120px; margin: 0 auto !important; padding: 60px 24px 80px !important; }
.hero-text { flex: 1; }
.hero-mark { width: 230px !important; flex-shrink: 0; }
.eyebrow { font: 700 13px/1.4 "Nunito Sans",sans-serif !important; letter-spacing: 0.1em; text-transform: uppercase; color: #547F87 !important; margin: 0 !important; }
.hero-headline { font: 800 46px/1.18 "Nunito Sans",sans-serif !important; color: #183C54 !important; margin-top: 14px !important; margin-bottom: 0 !important; }
.hero-sub { font: 400 18px/1.6 "Nunito Sans",sans-serif !important; color: #3E4C52 !important; max-width: 520px; margin-top: 20px !important; }
.hero-actions { margin-top: 28px !important; }
.hero-actions .wp-block-button__link.btn-primary { background: #183C54 !important; color: #fff !important; border-radius: 999px !important; padding: 12px 24px !important; font: 700 15px "Nunito Sans",sans-serif !important; border: none !important; }
.hero-actions .wp-block-button__link.btn-primary:hover { background: #26506E !important; }
.hero-actions .wp-block-button__link.btn-secondary { background: transparent !important; color: #183C54 !important; border: 1.5px solid #183C54 !important; border-radius: 999px !important; padding: 10.5px 22.5px !important; font: 700 15px "Nunito Sans",sans-serif !important; }

/* ==== Anliegen-Band ==== */
.anliegen { background: #7FA05A !important; padding: 52px 24px !important; }
.anliegen-inner { max-width: 900px; margin: 0 auto; text-align: center; }
.anliegen .eyebrow { color: #fff !important; opacity: 0.85; }
.anliegen p { font: 600 27px/1.45 "Nunito Sans",sans-serif !important; color: #fff !important; margin-top: 14px !important; margin-bottom: 0 !important; }

/* ==== Sektionen allgemein ==== */
.section-alt { background: #F2F0EA !important; }
.section-pad { padding: 72px 24px !important; }
.section-pad-top0 { padding: 0 24px 72px !important; }
.section-inner { max-width: 1120px; margin: 0 auto; }
.section-title { font: 800 32px "Nunito Sans",sans-serif !important; color: #183C54 !important; margin-top: 10px !important; margin-bottom: 0 !important; }
.section-title-m { font: 800 30px "Nunito Sans",sans-serif !important; color: #183C54 !important; margin-top: 10px !important; margin-bottom: 0 !important; }

/* ==== Angebote ==== */
.offer-grid { display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 20px !important; margin-top: 36px !important; }
.offer-card { background: #fff !important; border: 1px solid #E1DED6 !important; border-radius: 14px !important; box-shadow: 0 1px 2px rgba(22,50,74,0.06), 0 6px 20px rgba(22,50,74,0.07) !important; padding: 24px !important; }
.offer-badge { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; color: #fff; font: 800 14px "Nunito Sans",sans-serif; margin: 0; }
.offer-badge.a { background: #7FA05A; }
.offer-badge.b { background: #6B9CA3; }
.offer-badge.c { background: #CC9C60; }
.offer-badge.d { background: #9A8FA8; }
.offer-title { font: 700 17px/1.4 "Nunito Sans",sans-serif !important; color: #183C54 !important; margin-top: 14px !important; margin-bottom: 0 !important; }
.offer-card p { font: 400 14px/1.55 "Nunito Sans",sans-serif !important; color: #66757B !important; margin-top: 8px !important; margin-bottom: 0 !important; }

/* ==== Über Per Linguam ==== */
.about-grid { display: grid !important; grid-template-columns: 1.2fr 1fr !important; gap: 48px !important; align-items: start; }
.about-grid p { font: 400 16px/1.6 "Nunito Sans",sans-serif !important; color: #3E4C52 !important; margin-top: 16px !important; }
.stat-grid { display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 16px !important; margin-top: 28px !important; }
.stat-title { font: 700 14px "Nunito Sans",sans-serif !important; color: #183C54 !important; margin: 0 !important; }
.stat-desc { font: 400 14px/1.55 "Nunito Sans",sans-serif !important; color: #66757B !important; margin-top: 4px !important; }
.quote-box { background: #183C54 !important; border-radius: 14px !important; padding: 32px !important; }
.quote-mark { font: 800 40px "Nunito Sans",sans-serif !important; color: #6B9CA3 !important; line-height: 1; margin: 0 !important; }
.quote-text { font: italic 400 19px/1.5 "Nunito Sans",sans-serif !important; color: #fff !important; margin-top: 6px !important; }
.quote-author { font: 400 14px/1.55 "Nunito Sans",sans-serif !important; color: #FBFAF7 !important; opacity: 0.75; margin-top: 14px !important; }

/* ==== Leitbild ==== */
.leitbild-grid { display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 20px !important; margin-top: 32px !important; }
.leitbild-card { border-radius: 14px !important; padding: 22px !important; }
.leitbild-card.teal { background: #DFEAEC !important; }
.leitbild-card.green { background: #E7EEDA !important; }
.leitbild-card.ochre { background: #F2E5D1 !important; }
.leitbild-card.purple { background: #E9E5ED !important; }
.lb-title { font: 800 14px "Nunito Sans",sans-serif !important; color: #183C54 !important; text-transform: uppercase; letter-spacing: 0.06em; margin: 0 !important; }
.leitbild-card p { font: 400 14px/1.55 "Nunito Sans",sans-serif !important; color: #3E4C52 !important; margin-top: 10px !important; margin-bottom: 0 !important; }

/* ==== Zielgruppen ==== */
.pill-row { display: flex !important; flex-wrap: wrap; gap: 10px !important; margin-top: 24px !important; }
.pill { display: inline-flex; align-items: center; color: #183C54; padding: 7px 16px; border-radius: 999px; font: 700 14px "Nunito Sans",sans-serif; margin: 0; }
.pill.teal { background: #DFEAEC; }
.pill.green { background: #E7EEDA; }
.pill.ochre { background: #F2E5D1; }
.pill.purple { background: #E9E5ED; }

/* ==== Kontakt ==== */
.contact-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 48px !important; }
.contact-info { font: 400 16px/1.6 "Nunito Sans",sans-serif !important; color: #3E4C52 !important; margin-top: 18px !important; }
.contact-info a { color: #3E4C52; text-decoration: none; }
.contact-form-wrap .wpcf7-form-control, .contact-form-wrap input, .contact-form-wrap textarea {
  font: 400 16px/1.6 "Nunito Sans",sans-serif !important; padding: 11px 14px !important; border-radius: 8px !important;
  border: 1.5px solid #E1DED6 !important; background: #fff !important; color: #183C54 !important; width: 100%;
}
.contact-form-wrap .wpcf7-submit, .contact-form-wrap .wpcf7-form-control.wpcf7-submit {
  background: #183C54 !important; color: #fff !important; padding: 12px 24px !important; border-radius: 999px !important;
  border: none !important; font: 700 15px "Nunito Sans",sans-serif !important; width: auto !important; cursor: pointer;
}
.contact-form-note { font: 400 14px/1.55 "Nunito Sans",sans-serif !important; color: #66757B !important; }

/* ==== Footer ==== */
.site-footer { display: flex !important; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; background: #183C54 !important; padding: 20px 24px !important; max-width: 1120px; margin: 0 auto !important; }
.site-footer p, .site-footer a { color: #fff !important; font: 600 12px/1.4 "Nunito Sans",sans-serif !important; text-decoration: none; margin: 0 !important; }
.site-footer a:hover { text-decoration: underline; }
body > .wp-site-blocks > footer.site-footer,
.wp-block-template-part:has(.site-footer) { background: #183C54; }

/* ==== Rechtsseiten (Impressum/Datenschutz) ==== */
.legal-page { max-width: 760px; margin: 0 auto; padding: 60px 24px 96px !important; }
.legal-page h2 { font: 800 24px "Nunito Sans",sans-serif !important; color: #183C54 !important; margin-top: 32px !important; }
.legal-page .placeholder-note { background: #F2E5D1; border-radius: 8px; padding: 10px 14px; font: 400 14px/1.55 "Nunito Sans",sans-serif; color: #183C54; }

/* ==== Responsive ==== */
@media (max-width: 900px) {
  .offer-grid, .stat-grid, .leitbild-grid { grid-template-columns: repeat(2,1fr) !important; }
  .about-grid, .contact-grid { grid-template-columns: 1fr !important; }
  .hero { flex-direction: column-reverse !important; text-align: center; }
  .hero-actions { justify-content: center !important; display: flex; }
}
@media (max-width: 600px) {
  .offer-grid, .stat-grid, .leitbild-grid { grid-template-columns: 1fr !important; }
  .hero-headline { font-size: 32px !important; }
  .section-title, .section-title-m { font-size: 24px !important; }
}
