/*
Theme Name: pivicontrol
Description: Eigenständiges Theme für pivicontrol.de mit festem Startseitenlayout, bearbeitbarem Einstieg, Aufbaumodus und Gutenberg-Inhaltsseiten.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Author: pivicontrol
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pivicontrol
Tags: featured-images, wide-blocks
*/

/* WordPress content pages: the approved homepage design lives in assets/styles.css. */
.pivicontrol-page {max-width:1040px;padding-block:76px 100px;min-height:60vh}
.pivicontrol-page-header {margin-bottom:38px;padding-bottom:30px;border-bottom:1px solid var(--line,#dde6e1)}
.pivicontrol-page-header h1 {font-size:clamp(36px,5vw,60px);line-height:1.1;letter-spacing:-.045em;margin:0;overflow-wrap:anywhere}
.pivicontrol-page-meta {margin:18px 0 0;color:var(--muted,#63757d);font-size:14px}
.pivicontrol-content,.editor-styles-wrapper {color:#193b50;font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,Arial,sans-serif;line-height:1.7;font-size:17px;overflow-wrap:break-word}
.pivicontrol-content::after {content:"";display:table;clear:both}
.pivicontrol-content > * {max-width:780px;margin-left:auto;margin-right:auto}
.pivicontrol-content > .alignwide {max-width:1040px}
.pivicontrol-content > .alignfull {max-width:none}
.pivicontrol-content h1,.editor-styles-wrapper h1 {font-size:clamp(34px,5vw,52px);line-height:1.15;letter-spacing:-.035em}
.pivicontrol-content h2,.editor-styles-wrapper h2 {font-size:clamp(28px,3.6vw,36px);line-height:1.2;letter-spacing:-.03em;margin-block:1.5em .7em}
.pivicontrol-content h3,.editor-styles-wrapper h3 {font-size:clamp(23px,2.8vw,28px);line-height:1.3;letter-spacing:-.02em;margin-block:1.4em .65em}
.pivicontrol-content h4,.pivicontrol-content h5,.pivicontrol-content h6 {line-height:1.4;margin-block:1.4em .6em}
.pivicontrol-content p,.pivicontrol-content ul,.pivicontrol-content ol,.pivicontrol-content blockquote,.pivicontrol-content figure,.pivicontrol-content table,.pivicontrol-content pre {margin-block:0 1.4em}
.pivicontrol-content a:not(.wp-element-button):not(.wp-block-button__link) {color:var(--teal-dark,#007e78);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.pivicontrol-content a:hover {text-decoration-thickness:2px}
.pivicontrol-content .wp-element-button,.pivicontrol-content .wp-block-button__link {background:var(--navy-deep,#173a51);color:#fff;border-radius:9px;font-weight:600;text-decoration:none;padding:.8em 1.3em}
.pivicontrol-content li {margin-block:.35em}
.pivicontrol-content li > ul,.pivicontrol-content li > ol {margin-bottom:.4em}
.pivicontrol-content blockquote {padding:20px 26px;border-left:4px solid var(--teal,#14b8a6);background:#eaf3ee}
.pivicontrol-content blockquote p:last-child {margin-bottom:0}
.pivicontrol-content blockquote cite {display:block;margin-top:12px;font-size:.9em}
.pivicontrol-content pre {background:#eaf0ed;border:1px solid #d6e0db;border-radius:8px;padding:20px;overflow:auto}
.pivicontrol-content code {font-size:.9em}
.pivicontrol-content img {height:auto}
.pivicontrol-content figcaption,.pivicontrol-content .wp-caption-text {font-size:.85em;color:var(--muted,#63757d);margin-top:9px;text-align:center}
.pivicontrol-content table {width:100%;border-collapse:collapse;font-size:.95em}
.pivicontrol-content th,.pivicontrol-content td {padding:12px;border:1px solid var(--line,#dde6e1);text-align:left}
.pivicontrol-content th {background:#eaf3ee}
.pivicontrol-content input:not([type=checkbox]):not([type=radio]):not([type=submit]),.pivicontrol-content textarea,.pivicontrol-content select {max-width:100%;border:1px solid #acbdb6;border-radius:7px;padding:10px 12px;background:#fff;color:#193b50}
.pivicontrol-content input[type=submit] {cursor:pointer;border:0;border-radius:8px;padding:12px 22px;background:#173a51;color:#fff}
.pivicontrol-content .alignleft {float:left;margin:0 24px 20px 0}
.pivicontrol-content .alignright {float:right;margin:0 0 20px 24px}
.pivicontrol-content .aligncenter {display:block;margin-inline:auto}
.pivicontrol-featured-image {margin:0 0 36px}
.pivicontrol-featured-image img {width:100%;height:auto;border-radius:18px}
.pivicontrol-post-list {display:grid;gap:24px}
.pivicontrol-post-card {padding:30px;border:1px solid var(--line,#dde6e1);border-radius:18px;background:#fff}
.pivicontrol-post-card h2 {font-size:clamp(26px,3vw,34px);line-height:1.2;margin:0 0 14px}
.pivicontrol-post-card .pivicontrol-page-meta {margin:0 0 12px}
.pivicontrol-read-more {display:inline-block;color:var(--teal-dark,#007e78);font-weight:600;margin-top:8px;text-decoration:underline;text-underline-offset:4px}
.pivicontrol-page .navigation {margin-top:40px}
.pivicontrol-page .nav-links {display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px}
.pivicontrol-page .page-numbers {padding:8px 14px;border:1px solid var(--line,#dde6e1);border-radius:6px}
.pivicontrol-page .page-numbers.current {background:#173a51;color:white}
.pivicontrol-page-links {margin-top:30px}
.pivicontrol-empty {max-width:700px;font-size:18px}
.pivicontrol-empty .button {margin-top:15px}

/* Public holding page. No tracking, external font, login or form is added. */
.pivicontrol-coming-soon {min-height:100vh;display:flex;flex-direction:column;background:#f6f8f6}
.pivicontrol-launch-header {padding-block:30px;border-bottom:1px solid #dde6e1}
.pivicontrol-launch {flex:1;display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center;padding-block:75px 90px}
.pivicontrol-launch h1 {font-size:clamp(48px,5.4vw,72px);line-height:1.05;letter-spacing:-.055em;margin-bottom:24px}
.pivicontrol-launch h1 span {color:#007e78}
.pivicontrol-launch-description {max-width:490px;font-size:19px;line-height:1.7;color:#63757d;margin:0 0 30px}
.pivicontrol-launch-note {margin:20px 0 0;font-size:14px;color:#63757d}
.pivicontrol-launch-visual {position:relative;margin:0;aspect-ratio:1.05;border-radius:24px;overflow:hidden;background:#173a51;box-shadow:0 20px 54px rgba(24,58,73,.09)}
.pivicontrol-launch-visual img {width:100%;height:100%;object-fit:cover;object-position:65% center}
.pivicontrol-launch-visual::after {content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(13,42,60,.78));pointer-events:none}
.pivicontrol-launch-visual figcaption {position:absolute;bottom:22px;left:26px;right:26px;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;gap:14px;color:#fff;font-size:17px;font-weight:600}
.pivicontrol-launch-visual small {font-size:10px;font-weight:400;letter-spacing:.04em;white-space:nowrap}
.pivicontrol-launch-footer {padding-block:23px;border-top:1px solid #dde6e1;color:#63757d;font-size:13px}
.pivicontrol-launch-footer-inner {display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap}
.pivicontrol-launch-footer nav {display:flex;gap:23px;flex-wrap:wrap}
.pivicontrol-launch-footer a {text-decoration:underline;text-underline-offset:4px}
@media (max-width:900px) {
  .pivicontrol-launch {gap:35px}
  .pivicontrol-launch h1 {font-size:clamp(43px,6vw,60px)}
  .pivicontrol-launch-visual {aspect-ratio:.8}
}
@media (max-width:680px) {
  .pivicontrol-page {padding-block:42px 65px}
  .pivicontrol-page-header {margin-bottom:28px}
  .pivicontrol-content {font-size:16px}
  .pivicontrol-content .alignleft,.pivicontrol-content .alignright {float:none;margin:0 auto 20px}
  .pivicontrol-post-card {padding:22px}
  .pivicontrol-launch-header {padding-block:18px}
  .pivicontrol-launch {grid-template-columns:1fr;gap:30px;padding-block:48px}
  .pivicontrol-launch h1 {font-size:clamp(42px,10vw,59px)}
  .pivicontrol-launch-description {font-size:17px}
  .pivicontrol-launch-visual {aspect-ratio:1.5}
  .pivicontrol-launch-visual figcaption {left:20px;right:20px;bottom:18px;font-size:15px}
}
