/**
 * InspektPro - Additional Page Styles
 */

/* ==========================================================================
   Page Hero
   ========================================================================== */

.ip-page-hero {
    padding: 160px 0 80px;
    background: linear-gradient(180deg, var(--ip-primary-50) 0%, #fff 100%);
    text-align: center;
}

.ip-page-hero-sm {
    padding: 140px 0 60px;
}

.ip-page-hero-content {
    max-width: 700px;
    margin: 0 auto;
}

.ip-page-hero h1 {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.ip-page-hero p {
    font-size: 1.25rem;
    color: var(--ip-gray-600);
}

/* ==========================================================================
   Module Pages
   ========================================================================== */

.ip-modules-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

@media (max-width: 968px) {
    .ip-modules-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .ip-modules-grid {
        grid-template-columns: 1fr;
    }
}

.ip-module-card {
    background: #fff;
    border-radius: var(--ip-radius-xl);
    padding: 2rem;
    box-shadow: var(--ip-shadow-md);
    position: relative;
    transition: all var(--ip-transition-normal);
}

.ip-module-card:hover {
    box-shadow: var(--ip-shadow-xl);
    transform: translateY(-4px);
}

.ip-module-featured {
    grid-column: span 2;
    background: linear-gradient(135deg, var(--ip-primary) 0%, var(--ip-secondary) 100%);
    color: #fff;
}

@media (max-width: 640px) {
    .ip-module-featured {
        grid-column: span 1;
    }
}

.ip-module-featured h2,
.ip-module-featured .ip-module-subtitle {
    color: #fff;
}

.ip-module-featured .ip-module-desc {
    color: rgba(255,255,255,0.9);
}

.ip-module-featured .ip-module-features li {
    color: rgba(255,255,255,0.9);
}

.ip-module-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: var(--ip-primary-100);
    color: var(--ip-primary);
    padding: 0.25rem 0.75rem;
    border-radius: var(--ip-radius-full);
    font-size: 0.75rem;
    font-weight: 600;
}

.ip-module-featured .ip-module-badge {
    background: rgba(255,255,255,0.2);
    color: #fff;
}

.ip-module-badge-soon {
    background: var(--ip-warning-light);
    color: #fff;
}

.ip-module-coming {
    opacity: 0.8;
}

.ip-module-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.ip-module-card h2 {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

.ip-module-subtitle {
    color: var(--ip-gray-500);
    font-size: 0.9375rem;
    margin-bottom: 1rem;
}

.ip-module-desc {
    color: var(--ip-gray-600);
    margin-bottom: 1.5rem;
}

.ip-module-features {
    list-style: none;
    padding: 0;
    margin: 0 0 1.5rem 0;
}

.ip-module-features li {
    padding: 0.25rem 0;
    font-size: 0.9375rem;
    color: var(--ip-gray-600);
}

.ip-module-included {
    font-size: 0.875rem;
    color: var(--ip-gray-500);
    margin-bottom: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--ip-gray-200);
}

.ip-module-featured .ip-module-included {
    color: rgba(255,255,255,0.7);
    border-color: rgba(255,255,255,0.2);
}

.ip-module-included span {
    font-weight: 600;
}

/* Module Detail Hero */
.ip-module-hero {
    padding: 140px 0 80px;
    background: linear-gradient(180deg, var(--ip-primary-50) 0%, #fff 100%);
}

.ip-module-hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

@media (max-width: 968px) {
    .ip-module-hero-grid {
        grid-template-columns: 1fr;
    }
}

.ip-module-hero-badge {
    display: inline-block;
    background: var(--ip-success);
    color: #fff;
    padding: 0.5rem 1rem;
    border-radius: var(--ip-radius-full);
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.ip-module-hero-content h1 {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.ip-module-hero-subtitle {
    font-size: 1.25rem;
    color: var(--ip-gray-600);
    margin-bottom: 2rem;
}

.ip-module-hero-buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

/* Norm Cards */
.ip-norm-grid {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.ip-norm-card {
    background: var(--ip-gray-800);
    padding: 1.5rem 2rem;
    border-radius: var(--ip-radius-lg);
    text-align: center;
}

.ip-norm-card strong {
    display: block;
    font-size: 1.125rem;
    margin-bottom: 0.25rem;
}

.ip-norm-card span {
    color: var(--ip-gray-400);
    font-size: 0.875rem;
}

/* Workflow */
.ip-workflow-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1rem;
}

@media (max-width: 968px) {
    .ip-workflow-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 640px) {
    .ip-workflow-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.ip-workflow-step {
    text-align: center;
    padding: 1.5rem 1rem;
}

.ip-workflow-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: var(--ip-primary);
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
    border-radius: 50%;
    margin-bottom: 1rem;
}

.ip-workflow-step h3 {
    font-size: 1rem;
    margin-bottom: 0.5rem;
}

.ip-workflow-step p {
    font-size: 0.875rem;
    color: var(--ip-gray-500);
    margin: 0;
}

/* Feature Detail Grid */
.ip-feature-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.ip-feature-detail-reverse {
    direction: rtl;
}

.ip-feature-detail-reverse > * {
    direction: ltr;
}

@media (max-width: 968px) {
    .ip-feature-detail-grid,
    .ip-feature-detail-reverse {
        grid-template-columns: 1fr;
        direction: ltr;
    }
}

.ip-feature-detail-content h2 {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.ip-feature-list {
    list-style: none;
    padding: 0;
    margin: 1.5rem 0;
}

.ip-feature-list li {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--ip-gray-200);
}

.ip-feature-list li strong {
    display: block;
    margin-bottom: 0.25rem;
}

.ip-feature-list li span {
    font-size: 0.9375rem;
    color: var(--ip-gray-500);
}

/* Measurement Preview */
.ip-measurement-preview {
    background: #fff;
    border-radius: var(--ip-radius-xl);
    padding: 1.5rem;
    box-shadow: var(--ip-shadow-lg);
}

.ip-measurement-row {
    display: flex;
    justify-content: space-between;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--ip-gray-100);
}

.ip-measurement-row:last-child {
    border-bottom: none;
}

.ip-measurement-label {
    color: var(--ip-gray-500);
}

.ip-measurement-value {
    font-weight: 600;
}

.ip-measurement-ok {
    color: var(--ip-success);
}

/* KI Features */
.ip-ki-features {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin: 1.5rem 0;
}

.ip-ki-feature {
    display: flex;
    gap: 1rem;
}

.ip-ki-icon {
    font-size: 1.5rem;
    flex-shrink: 0;
}

.ip-ki-feature strong {
    display: block;
    margin-bottom: 0.25rem;
}

.ip-ki-feature p {
    margin: 0;
    color: var(--ip-gray-600);
    font-size: 0.9375rem;
}

.ip-ki-note {
    font-size: 0.875rem;
    color: var(--ip-gray-500);
}

.ip-ki-preview {
    background: var(--ip-gray-900);
    color: #fff;
    border-radius: var(--ip-radius-xl);
    overflow: hidden;
}

.ip-ki-preview-header {
    background: var(--ip-success);
    padding: 1rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
}

.ip-ki-preview-content {
    padding: 1.5rem;
}

.ip-ki-preview-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0;
}

.ip-ki-check {
    color: var(--ip-success);
}

/* PDF Features */
.ip-pdf-features {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}

@media (max-width: 968px) {
    .ip-pdf-features {
        grid-template-columns: repeat(2, 1fr);
    }
}

.ip-pdf-feature {
    text-align: center;
}

.ip-pdf-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.ip-pdf-feature h3 {
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
}

.ip-pdf-feature p {
    font-size: 0.9375rem;
    color: var(--ip-gray-500);
    margin: 0;
}

/* ==========================================================================
   Help Center
   ========================================================================== */

.ip-help-hero {
    padding: 140px 0 80px;
    background: var(--ip-primary);
    color: #fff;
    text-align: center;
}

.ip-help-hero h1 {
    color: #fff;
    margin-bottom: 0.5rem;
}

.ip-help-hero p {
    opacity: 0.9;
    margin-bottom: 2rem;
}

.ip-help-search-box {
    display: flex;
    max-width: 500px;
    margin: 0 auto;
    background: #fff;
    border-radius: var(--ip-radius-lg);
    overflow: hidden;
}

.ip-help-search-box input {
    flex: 1;
    padding: 1rem 1.5rem;
    border: none;
    font-size: 1rem;
}

.ip-help-search-box input:focus {
    outline: none;
}

.ip-help-search-box button {
    padding: 1rem 1.5rem;
    background: var(--ip-primary);
    color: #fff;
    border: none;
    cursor: pointer;
}

.ip-help-categories {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

@media (max-width: 968px) {
    .ip-help-categories {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .ip-help-categories {
        grid-template-columns: 1fr;
    }
}

.ip-help-category {
    display: block;
    background: #fff;
    padding: 2rem;
    border-radius: var(--ip-radius-lg);
    text-align: center;
    box-shadow: var(--ip-shadow-sm);
    transition: all var(--ip-transition-normal);
    text-decoration: none;
    color: inherit;
}

.ip-help-category:hover {
    box-shadow: var(--ip-shadow-lg);
    transform: translateY(-4px);
    color: inherit;
}

.ip-help-category-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.ip-help-category h3 {
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
}

.ip-help-category p {
    font-size: 0.9375rem;
    color: var(--ip-gray-500);
    margin-bottom: 0.75rem;
}

.ip-help-category-count {
    font-size: 0.75rem;
    color: var(--ip-primary);
    font-weight: 600;
}

/* Help Articles */
.ip-help-articles {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ip-help-article {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
    background: #fff;
    border-radius: var(--ip-radius-lg);
    text-decoration: none;
    color: inherit;
    transition: all var(--ip-transition-fast);
}

.ip-help-article:hover {
    box-shadow: var(--ip-shadow-md);
    color: inherit;
}

.ip-help-article-icon {
    font-size: 1.5rem;
}

.ip-help-article-content {
    flex: 1;
}

.ip-help-article-content h4 {
    font-size: 1rem;
    margin-bottom: 0.25rem;
}

.ip-help-article-content p {
    font-size: 0.875rem;
    color: var(--ip-gray-500);
    margin: 0;
}

.ip-help-article-arrow {
    color: var(--ip-primary);
    font-size: 1.25rem;
}

/* Video Grid */
.ip-video-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

@media (max-width: 768px) {
    .ip-video-grid {
        grid-template-columns: 1fr;
    }
}

.ip-video-card {
    cursor: pointer;
}

.ip-video-thumbnail {
    position: relative;
    aspect-ratio: 16/9;
    background: var(--ip-gray-200);
    border-radius: var(--ip-radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}

.ip-video-play {
    width: 60px;
    height: 60px;
    background: var(--ip-primary);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.ip-video-duration {
    position: absolute;
    bottom: 0.5rem;
    right: 0.5rem;
    background: rgba(0,0,0,0.7);
    color: #fff;
    padding: 0.25rem 0.5rem;
    border-radius: var(--ip-radius-sm);
    font-size: 0.75rem;
}

.ip-video-card h4 {
    font-size: 1rem;
    margin-bottom: 0.25rem;
}

.ip-video-card p {
    font-size: 0.875rem;
    color: var(--ip-gray-500);
    margin: 0;
}

/* Help Contact */
.ip-help-contact-grid {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
}

.ip-help-contact-content h2 {
    margin-bottom: 0.5rem;
}

.ip-help-contact-options {
    display: flex;
    gap: 1rem;
}

.ip-help-contact-option {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: rgba(255,255,255,0.1);
    padding: 1rem 1.5rem;
    border-radius: var(--ip-radius-lg);
    color: #fff;
    text-decoration: none;
    transition: background var(--ip-transition-fast);
}

.ip-help-contact-option:hover {
    background: rgba(255,255,255,0.2);
    color: #fff;
}

.ip-help-contact-icon {
    font-size: 1.5rem;
}

.ip-help-contact-option strong {
    display: block;
}

.ip-help-contact-option span {
    font-size: 0.875rem;
    opacity: 0.9;
}

/* ==========================================================================
   Contact Page
   ========================================================================== */

.ip-contact-grid {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 4rem;
}

@media (max-width: 968px) {
    .ip-contact-grid {
        grid-template-columns: 1fr;
    }
}

.ip-contact-form-wrapper h2 {
    margin-bottom: 0.5rem;
}

.ip-contact-form-wrapper > p {
    color: var(--ip-gray-500);
    margin-bottom: 2rem;
}

.ip-contact-form textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid var(--ip-gray-300);
    border-radius: var(--ip-radius-md);
    font-family: inherit;
    font-size: 1rem;
    resize: vertical;
}

.ip-contact-form textarea:focus {
    outline: none;
    border-color: var(--ip-primary);
    box-shadow: 0 0 0 3px var(--ip-primary-100);
}

.ip-contact-form select {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid var(--ip-gray-300);
    border-radius: var(--ip-radius-md);
    font-family: inherit;
    font-size: 1rem;
    background: #fff;
}

.ip-contact-form select:focus {
    outline: none;
    border-color: var(--ip-primary);
    box-shadow: 0 0 0 3px var(--ip-primary-100);
}

/* Contact Info */
.ip-contact-info-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.ip-contact-card {
    background: var(--ip-gray-50);
    padding: 1.5rem;
    border-radius: var(--ip-radius-lg);
}

.ip-contact-card-icon {
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
}

.ip-contact-card h3 {
    font-size: 1rem;
    margin-bottom: 0.5rem;
}

.ip-contact-card p {
    color: var(--ip-gray-600);
    font-size: 0.9375rem;
    margin-bottom: 0.5rem;
}

.ip-contact-card a {
    color: var(--ip-primary);
    font-weight: 500;
}

.ip-contact-card-highlight {
    background: var(--ip-primary-50);
    border: 1px solid var(--ip-primary-100);
}

/* Map */
.ip-map-section {
    margin-top: -1px;
}

.ip-map-placeholder {
    height: 300px;
    background: var(--ip-gray-200);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ip-map-overlay {
    text-align: center;
}

.ip-map-overlay p {
    font-size: 1.25rem;
    margin-bottom: 1rem;
}

/* ==========================================================================
   About Page
   ========================================================================== */

.ip-about-story {
    padding: 2rem 0;
}

.ip-about-story h2 {
    margin-bottom: 1.5rem;
}

.ip-lead {
    font-size: 1.25rem;
    color: var(--ip-gray-700);
    line-height: 1.7;
}

.ip-about-story p {
    font-size: 1.125rem;
    line-height: 1.8;
    color: var(--ip-gray-600);
}

/* Values */
.ip-values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}

@media (max-width: 968px) {
    .ip-values-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .ip-values-grid {
        grid-template-columns: 1fr;
    }
}

.ip-value-card {
    text-align: center;
    padding: 2rem;
}

.ip-value-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.ip-value-card h3 {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
}

.ip-value-card p {
    color: var(--ip-gray-600);
    margin: 0;
}

/* Company Grid */
.ip-about-company-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

@media (max-width: 968px) {
    .ip-about-company-grid {
        grid-template-columns: 1fr;
    }
}

.ip-about-company-content h2 {
    margin-bottom: 1.5rem;
}

.ip-about-company-content p {
    font-size: 1.125rem;
    color: var(--ip-gray-600);
    line-height: 1.7;
}

.ip-about-stats {
    display: flex;
    gap: 2rem;
    list-style: none;
    padding: 0;
    margin: 2rem 0 0 0;
}

.ip-about-stats li {
    text-align: center;
}

.ip-about-stats strong {
    display: block;
    font-size: 2.5rem;
    color: var(--ip-primary);
    line-height: 1;
}

.ip-about-stats span {
    font-size: 0.875rem;
    color: var(--ip-gray-500);
}

.ip-about-image-placeholder {
    background: var(--ip-gray-100);
    border-radius: var(--ip-radius-xl);
    padding: 4rem;
    text-align: center;
}

.ip-about-image-placeholder span {
    font-size: 4rem;
    display: block;
    margin-bottom: 1rem;
}

.ip-about-image-placeholder p {
    color: var(--ip-gray-500);
    margin: 0;
}

/* Team */
.ip-team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

@media (max-width: 768px) {
    .ip-team-grid {
        grid-template-columns: 1fr;
    }
}

.ip-team-card {
    background: #fff;
    padding: 2rem;
    border-radius: var(--ip-radius-xl);
    text-align: center;
    box-shadow: var(--ip-shadow-sm);
}

.ip-team-avatar {
    width: 80px;
    height: 80px;
    background: var(--ip-primary-100);
    color: var(--ip-primary);
    font-size: 1.5rem;
    font-weight: 700;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
}

.ip-team-card h3 {
    font-size: 1.125rem;
    margin-bottom: 0.25rem;
}

.ip-team-role {
    color: var(--ip-primary);
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 1rem;
}

.ip-team-bio {
    color: var(--ip-gray-600);
    font-size: 0.9375rem;
    margin: 0;
}

/* ==========================================================================
   Blog
   ========================================================================== */

.ip-blog-card-placeholder {
    width: 100%;
    height: 100%;
    min-height: 180px;
    background: var(--ip-gray-100);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
}

.ip-pagination {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 3rem;
}

.ip-pagination a,
.ip-pagination span {
    padding: 0.75rem 1rem;
    border-radius: var(--ip-radius-md);
    text-decoration: none;
}

.ip-pagination a {
    background: var(--ip-gray-100);
    color: var(--ip-gray-700);
}

.ip-pagination a:hover {
    background: var(--ip-primary);
    color: #fff;
}

.ip-pagination .current {
    background: var(--ip-primary);
    color: #fff;
}

.ip-no-posts {
    text-align: center;
    padding: 4rem 2rem;
}

/* Newsletter */
.ip-newsletter-cta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
}

.ip-newsletter-content h2 {
    margin-bottom: 0.5rem;
}

.ip-newsletter-content p {
    margin: 0;
    opacity: 0.9;
}

.ip-newsletter-form {
    display: flex;
    gap: 0.75rem;
}

.ip-newsletter-form input {
    padding: 0.75rem 1rem;
    border: none;
    border-radius: var(--ip-radius-md);
    font-size: 1rem;
    min-width: 250px;
}

/* Single Post */
.ip-single-post {
    padding-top: 100px;
}

.ip-post-header {
    padding: 2rem 0 3rem;
    text-align: center;
}

.ip-post-category {
    display: inline-block;
    background: var(--ip-primary-100);
    color: var(--ip-primary);
    padding: 0.375rem 0.75rem;
    border-radius: var(--ip-radius-full);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 1rem;
}

.ip-post-title {
    font-size: 2.5rem;
    max-width: 800px;
    margin: 0 auto 1rem;
}

.ip-post-meta {
    color: var(--ip-gray-500);
}

.ip-post-separator {
    margin: 0 0.5rem;
}

.ip-post-featured-image {
    margin-bottom: 3rem;
}

.ip-post-featured-image img {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    display: block;
    border-radius: var(--ip-radius-xl);
}

.ip-post-content {
    padding-bottom: 3rem;
}

.ip-post-tags {
    padding: 1.5rem 0;
    border-top: 1px solid var(--ip-gray-200);
}

.ip-tags-label {
    font-weight: 600;
    margin-right: 0.75rem;
}

.ip-tag {
    display: inline-block;
    background: var(--ip-gray-100);
    color: var(--ip-gray-700);
    padding: 0.375rem 0.75rem;
    border-radius: var(--ip-radius-full);
    font-size: 0.875rem;
    margin: 0.25rem;
}

.ip-tag:hover {
    background: var(--ip-primary);
    color: #fff;
}

.ip-post-author {
    padding: 2rem 0;
    border-top: 1px solid var(--ip-gray-200);
}

.ip-author-box {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
}

.ip-author-avatar img {
    border-radius: 50%;
}

.ip-author-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    color: var(--ip-gray-500);
    letter-spacing: 0.05em;
}

.ip-author-name {
    display: block;
    font-size: 1.125rem;
    margin-top: 0.25rem;
}

.ip-author-bio {
    color: var(--ip-gray-600);
    margin-top: 0.5rem;
}

.ip-related-posts {
    padding: 4rem 0;
    background: var(--ip-gray-50);
}

.ip-related-title {
    text-align: center;
    margin-bottom: 2rem;
}

/* ==========================================================================
   Legal Pages
   ========================================================================== */

.ip-legal-page {
    padding: 140px 0 80px;
}

.ip-legal-header {
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--ip-gray-200);
}

.ip-legal-header h1 {
    margin-bottom: 0.5rem;
}

.ip-legal-updated {
    color: var(--ip-gray-500);
    font-size: 0.9375rem;
}

.ip-legal-content {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--ip-gray-700);
}

.ip-legal-content h2 {
    font-size: 1.5rem;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}

.ip-legal-content h3 {
    font-size: 1.25rem;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}

.ip-legal-content p {
    margin-bottom: 1rem;
}

.ip-legal-content ul,
.ip-legal-content ol {
    margin: 1rem 0;
    padding-left: 1.5rem;
}

.ip-legal-content li {
    margin-bottom: 0.5rem;
}

.ip-legal-content a {
    color: var(--ip-primary);
}

.ip-legal-nav {
    margin-top: 4rem;
    padding-top: 2rem;
    border-top: 1px solid var(--ip-gray-200);
}

.ip-legal-nav h4 {
    font-size: 1rem;
    margin-bottom: 1rem;
}

.ip-legal-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 1.5rem;
}

.ip-legal-nav a {
    color: var(--ip-gray-600);
}

.ip-legal-nav a:hover {
    color: var(--ip-primary);
}

/* ==========================================================================
   Mockup Placeholder
   ========================================================================== */

.ip-mockup-header {
    display: flex;
    gap: 0.5rem;
    padding: 1rem;
    background: var(--ip-gray-100);
    border-radius: var(--ip-radius-lg) var(--ip-radius-lg) 0 0;
}

.ip-mockup-header span {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--ip-gray-300);
}

.ip-mockup-content {
    display: flex;
    background: #fff;
    border-radius: 0 0 var(--ip-radius-lg) var(--ip-radius-lg);
    overflow: hidden;
    min-height: 300px;
}

.ip-mockup-sidebar {
    width: 60px;
    background: var(--ip-gray-50);
}

.ip-mockup-main {
    flex: 1;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ip-mockup-card {
    background: var(--ip-gray-100);
    border-radius: var(--ip-radius-md);
    height: 80px;
}

.ip-mockup-card-sm {
    height: 40px;
    width: 60%;
}

.ip-faq {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ip-faq-item {
    background: var(--ip-gray-50);
    border-radius: var(--ip-radius-lg);
    overflow: hidden;
}

.ip-faq-item summary {
    padding: 1.25rem 1.5rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
}

.ip-faq-item summary::-webkit-details-marker {
    display: none;
}

.ip-faq-item summary::after {
    content: '+';
    font-size: 1.5rem;
    color: var(--ip-primary);
    transition: transform var(--ip-transition-fast);
}

.ip-faq-item[open] summary::after {
    transform: rotate(45deg);
}

.ip-faq-item p {
    padding: 0 1.5rem 1.25rem;
    color: var(--ip-gray-600);
    margin: 0;
}

/* ==========================================================================
   Checkout Styles
   ========================================================================== */

.ip-checkout {
    background: var(--ip-gray-50);
}

.ip-checkout-grid {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 3rem;
    align-items: start;
    padding: 2rem 0;
}

@media (max-width: 968px) {
    .ip-checkout-grid {
        grid-template-columns: 1fr;
    }
    
    .ip-checkout-summary-wrapper {
        order: -1;
    }
}

/* Checkout Form */
.ip-checkout-form-wrapper {
    background: #fff;
    border-radius: var(--ip-radius-xl);
    padding: 2rem;
    box-shadow: var(--ip-shadow-md);
}

.ip-checkout-header {
    margin-bottom: 2rem;
}

.ip-checkout-back {
    display: inline-block;
    color: var(--ip-gray-500);
    font-size: 0.875rem;
    margin-bottom: 1rem;
}

.ip-checkout-back:hover {
    color: var(--ip-primary);
}

.ip-checkout-header h1 {
    font-size: 1.75rem;
    margin-bottom: 0.5rem;
}

.ip-checkout-header p {
    color: var(--ip-gray-500);
    margin: 0;
}

/* Form Sections */
.ip-form-section {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--ip-gray-200);
}

.ip-form-section:last-of-type {
    border-bottom: none;
    padding-bottom: 1rem;
}

.ip-form-section h3 {
    font-size: 1rem;
    margin-bottom: 1.25rem;
    color: var(--ip-gray-800);
}

.ip-form-group {
    margin-bottom: 1rem;
}

.ip-form-row {
    display: flex;
    gap: 1rem;
}

.ip-form-row .ip-form-group {
    flex: 1;
}

.ip-form-group label {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--ip-gray-700);
    margin-bottom: 0.5rem;
}

.ip-form-group input {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid var(--ip-gray-300);
    border-radius: var(--ip-radius-md);
    font-family: inherit;
    font-size: 1rem;
    transition: all var(--ip-transition-fast);
}

.ip-form-group input:focus {
    outline: none;
    border-color: var(--ip-primary);
    box-shadow: 0 0 0 3px var(--ip-primary-100);
}

.ip-form-group input::placeholder {
    color: var(--ip-gray-400);
}

.ip-form-hint {
    display: block;
    font-size: 0.75rem;
    color: var(--ip-gray-500);
    margin-top: 0.25rem;
}

/* Checkboxes */
.ip-form-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.ip-form-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: var(--ip-primary);
}

.ip-form-checkbox label {
    font-size: 0.875rem;
    color: var(--ip-gray-600);
    line-height: 1.5;
}

.ip-form-checkbox label a {
    color: var(--ip-primary);
}

/* Error */
.ip-checkout-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #dc2626;
    padding: 1rem;
    border-radius: var(--ip-radius-md);
    margin-bottom: 1rem;
    font-size: 0.875rem;
}

/* Secure Note */
.ip-checkout-secure {
    text-align: center;
    color: var(--ip-gray-500);
    font-size: 0.875rem;
    margin-top: 1rem;
    margin-bottom: 0;
}

/* Order Summary */
.ip-checkout-summary-wrapper {
    position: sticky;
    top: 100px;
}

.ip-checkout-summary {
    background: #fff;
    border-radius: var(--ip-radius-xl);
    padding: 1.5rem;
    box-shadow: var(--ip-shadow-md);
}

.ip-checkout-summary h3 {
    font-size: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--ip-gray-200);
}

.ip-checkout-plan {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--ip-gray-200);
}

.ip-checkout-plan-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.ip-checkout-plan-badge {
    background: var(--ip-primary-100);
    color: var(--ip-primary);
    padding: 0.25rem 0.75rem;
    border-radius: var(--ip-radius-full);
    font-size: 0.75rem;
    font-weight: 600;
}

.ip-checkout-plan-desc {
    color: var(--ip-gray-500);
    font-size: 0.875rem;
    margin-bottom: 1rem;
}

.ip-checkout-plan-features {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem 0;
    font-size: 0.875rem;
}

.ip-checkout-plan-features li {
    padding: 0.25rem 0;
    color: var(--ip-gray-600);
}

.ip-checkout-change {
    font-size: 0.875rem;
    color: var(--ip-primary);
}

/* Pricing */
.ip-checkout-pricing {
    margin-bottom: 1.5rem;
}

.ip-checkout-price-row {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 0;
    font-size: 0.9375rem;
}

.ip-checkout-savings {
    color: var(--ip-success);
}

.ip-checkout-total {
    padding-top: 1rem;
    margin-top: 0.5rem;
    border-top: 1px solid var(--ip-gray-200);
    font-size: 1.125rem;
}

.ip-checkout-vat {
    font-size: 0.75rem;
    color: var(--ip-gray-500);
    text-align: right;
    margin: 0.5rem 0 0 0;
}

/* Interval Switch */
.ip-checkout-interval-switch {
    background: var(--ip-primary-50);
    padding: 1rem;
    border-radius: var(--ip-radius-md);
    text-align: center;
    margin-bottom: 1.5rem;
}

.ip-checkout-interval-switch a {
    font-size: 0.875rem;
    color: var(--ip-primary);
    font-weight: 500;
}

/* Trust */
.ip-checkout-trust {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.ip-checkout-trust-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--ip-gray-600);
}

.ip-checkout-trust-item span {
    color: var(--ip-success);
}

/* Support */
.ip-checkout-support {
    margin-top: 1.5rem;
    padding: 1rem;
    background: var(--ip-gray-50);
    border-radius: var(--ip-radius-md);
    text-align: center;
}

.ip-checkout-support p {
    font-size: 0.875rem;
    color: var(--ip-gray-500);
    margin-bottom: 0.5rem;
}

.ip-checkout-support a {
    display: block;
    font-size: 0.875rem;
    color: var(--ip-gray-700);
}

/* ==========================================================================
   Page Styles
   ========================================================================== */

.ip-page {
    padding: 2rem 0;
}

.ip-page-header {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--ip-gray-200);
}

.ip-page-title {
    font-size: 2.5rem;
}

.ip-page-content {
    font-size: 1.125rem;
    line-height: 1.8;
    color: var(--ip-gray-700);
}

.ip-page-content h2 {
    margin-top: 2rem;
}

.ip-page-content h3 {
    margin-top: 1.5rem;
}

.ip-page-content ul,
.ip-page-content ol {
    margin: 1rem 0;
    padding-left: 1.5rem;
}

.ip-page-content li {
    margin-bottom: 0.5rem;
}

.ip-page-content a {
    color: var(--ip-primary);
    text-decoration: underline;
}

.ip-page-content blockquote {
    border-left: 4px solid var(--ip-primary);
    padding-left: 1.5rem;
    margin: 1.5rem 0;
    color: var(--ip-gray-600);
    font-style: italic;
}

.ip-page-content pre,
.ip-page-content code {
    background: var(--ip-gray-100);
    border-radius: var(--ip-radius-sm);
}

.ip-page-content code {
    padding: 0.125rem 0.375rem;
    font-size: 0.875em;
}

.ip-page-content pre {
    padding: 1rem;
    overflow-x: auto;
}

.ip-page-content pre code {
    padding: 0;
    background: none;
}

/* ==========================================================================
   Blog Styles
   ========================================================================== */

.ip-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

@media (max-width: 968px) {
    .ip-blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .ip-blog-grid {
        grid-template-columns: 1fr;
    }
}

.ip-blog-card {
    background: #fff;
    border-radius: var(--ip-radius-lg);
    overflow: hidden;
    box-shadow: var(--ip-shadow-sm);
    transition: all var(--ip-transition-normal);
}

.ip-blog-card:hover {
    box-shadow: var(--ip-shadow-lg);
    transform: translateY(-4px);
}

.ip-blog-card-image {
    aspect-ratio: 16/9;
    background: var(--ip-gray-200);
    overflow: hidden;
}

.ip-blog-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ip-blog-card-content {
    padding: 1.5rem;
}

.ip-blog-card-category {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--ip-primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem;
}

.ip-blog-card-title {
    font-size: 1.125rem;
    margin-bottom: 0.75rem;
}

.ip-blog-card-title a {
    color: var(--ip-gray-900);
}

.ip-blog-card-title a:hover {
    color: var(--ip-primary);
}

.ip-blog-card-excerpt {
    color: var(--ip-gray-600);
    font-size: 0.9375rem;
    margin-bottom: 1rem;
}

.ip-blog-card-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.875rem;
    color: var(--ip-gray-500);
}

/* ==========================================================================
   Help/Support Page
   ========================================================================== */

.ip-help-search {
    background: var(--ip-primary);
    padding: 4rem 0;
    text-align: center;
    color: #fff;
}

.ip-help-search h1 {
    color: #fff;
    margin-bottom: 1.5rem;
}

.ip-help-search-input {
    display: flex;
    max-width: 500px;
    margin: 0 auto;
}

.ip-help-search-input input {
    flex: 1;
    padding: 1rem 1.5rem;
    border: none;
    border-radius: var(--ip-radius-lg) 0 0 var(--ip-radius-lg);
    font-size: 1rem;
}

.ip-help-search-input button {
    padding: 1rem 1.5rem;
    background: var(--ip-secondary);
    color: #fff;
    border: none;
    border-radius: 0 var(--ip-radius-lg) var(--ip-radius-lg) 0;
    cursor: pointer;
}

.ip-help-categories {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

@media (max-width: 768px) {
    .ip-help-categories {
        grid-template-columns: repeat(2, 1fr);
    }
}

.ip-help-category {
    background: #fff;
    padding: 2rem;
    border-radius: var(--ip-radius-lg);
    text-align: center;
    box-shadow: var(--ip-shadow-sm);
    transition: all var(--ip-transition-normal);
}

.ip-help-category:hover {
    box-shadow: var(--ip-shadow-lg);
    transform: translateY(-4px);
}

.ip-help-category-icon {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.ip-help-category h3 {
    font-size: 1rem;
    margin-bottom: 0;
}
