/* Shared content styling based on the active Lagom portal theme. */
:root {
    --primary: #25a75b;
    --primary-hover: #22723d;
    --primary-dark: #22723d;
    --primary-light: #d8f3e1;
    --primary-soft: #e7f8ed;
    --heading: #17191c;
    --text: #5e636e;
    --border: #e9eaec;
    --background: #fff;
    --background-soft: #fafafc;
    --radius-sm: 3px;
    --radius: 6px;
    --radius-lg: 8px;
}
body {
    font-family: Roboto, Arial, sans-serif !important;
    font-size: 14px;
    line-height: 24px;
    -webkit-font-smoothing: antialiased;
}
/* Older page resets set a font on every element; override text, keeping icon fonts. */
body :where(h1, h2, h3, h4, h5, h6, p, a, span, div, section, article,
    ul, ol, li, label, input, select, textarea, button, strong, b, small, em, blockquote) {
    font-family: Roboto, Arial, sans-serif;
}
h1, h2, h3, h4, h5, h6 { letter-spacing: normal !important; }
.pt-shell, .container, .hero-container, .types-container,
.moneyback-container, .feature-container, .reason-container, .software-container {
    width: 100% !important;
    max-width: 1312px !important;
    margin-inline: auto !important;
    padding-inline: 24px;
}
.gh-section, .pricing-section, .features-section, .projects-slider,
.testimonials-section, .design-hero, .sg-hero, .radio-hero, .radio-how {
    padding-block: 64px;
}
.gh-service-grid, .gh-pricing, .gh-plan-cards, .pricing-grid,
.features-grid, .solutions-grid { gap: 24px; }
.gh-card, .gh-price, .gh-plan-card, .pricing-card, .feature-card,
.solution-box, .hero-info-card, .testimonial-card, .project-card {
    border-color: var(--border);
    border-radius: 6px;
    padding: 24px;
}
.pt-btn, .btn, .btn-primary, .btn-outline, .type-btn, .card-btn,
.cta-btn, .solution-btn, .view-btn, button[type="submit"] {
    min-height: 40px;
    padding: 8px 16px;
    border-radius: 3px;
    font: 500 14px/24px Roboto, Arial, sans-serif;
}
.btn.primary, .btn-primary, .type-btn, .card-btn, .solution-btn {
    background: var(--primary);
    color: #fff;
}
.btn.outline, .btn-outline {
    color: var(--primary) !important;
    border-color: var(--primary) !important;
}
input, select, textarea { font-size: 14px; line-height: 24px; border-radius: 3px; }
.gh-kicker, .gh-card a, .gh-plan-card a,
.gh-benefits-heading > span, .gh-hero-copy .gh-kicker { color: var(--primary); }
@media (max-width: 767px) {
    .pt-shell, .container, .hero-container, .types-container,
    .moneyback-container, .feature-container, .reason-container, .software-container {
        padding-inline: 16px;
    }
    .gh-section, .pricing-section, .features-section, .projects-slider,
    .testimonials-section, .design-hero, .sg-hero, .radio-hero, .radio-how {
        padding-block: 40px;
    }
    .gh-card, .gh-price, .gh-plan-card, .pricing-card, .feature-card,
    .solution-box, .hero-info-card, .testimonial-card, .project-card { padding: 24px 16px; }
}

/* Larger desktop logo with its original proportions. */
@media (min-width: 1024px) {
    .pt-header .pt-logo img {
        width: 230px;
        max-width: 230px;
        height: auto;
    }
}

/* Keep header action labels on one line beside the larger logo. */
.pt-header .pt-nav-actions {
    flex-shrink: 0;
}
.pt-header .pt-nav-actions .pt-btn {
    white-space: nowrap;
    flex-shrink: 0;
}
