/* PerfectNet master-page bridges. Lagom CSS remains the design authority. */
.skip-link { position: absolute; left: -999px; top: 8px; background: #fff; color: #040d70; padding: 8px 12px; z-index: 10000; }
.skip-link:focus { left: 8px; }

.pn-master .banner .svg-icon,
.pn-master .package .svg-icon,
.pn-master .banner__illustration { opacity: 1 !important; }

/* Original inner heroes draw isometric wings with Lagom animation JS.
   Without that JS the strokes stay dashed-off and the hero looks like flat blue
   with only sparse orange accents. Gaming (.pn-master) stays locked. */
body:not(.pn-master) .banner__illustrations,
body:not(.pn-master) .banner__illustration {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}
body:not(.pn-master) .banner__illustration path,
body:not(.pn-master) .banner__illustration line,
body:not(.pn-master) .banner__illustration polyline,
body:not(.pn-master) .banner__illustration [style*="stroke-dash"],
body:not(.pn-master) .banner [data-animation] *,
body:not(.pn-master) .banner [data-animation-path],
body:not(.pn-master) .banner [data-animation-circle],
body:not(.pn-master) .banner [data-animation-arrow],
body:not(.pn-master) .banner [data-animation-rack-1-bottom],
body:not(.pn-master) .banner [data-animation-rack-1-top],
body:not(.pn-master) .banner [data-animation-rack-2-bottom],
body:not(.pn-master) .banner [data-animation-rack-2-top],
body:not(.pn-master) .banner [data-animation-rack-3-bottom],
body:not(.pn-master) .banner [data-animation-rack-3-top],
body:not(.pn-master) .banner [data-animation-rack-4-bottom],
body:not(.pn-master) .banner [data-animation-rack-4-top] {
    stroke-dashoffset: 0 !important;
    stroke-dasharray: 0 !important;
}
body:not(.pn-master) .banner [data-animation],
body:not(.pn-master) .banner [data-animation-light],
body:not(.pn-master) .banner [data-animation-rack-1-bottom],
body:not(.pn-master) .banner [data-animation-rack-1-top],
body:not(.pn-master) .banner [data-animation-rack-2-bottom],
body:not(.pn-master) .banner [data-animation-rack-2-top],
body:not(.pn-master) .banner [data-animation-rack-3-bottom],
body:not(.pn-master) .banner [data-animation-rack-3-top],
body:not(.pn-master) .banner [data-animation-rack-4-bottom],
body:not(.pn-master) .banner [data-animation-rack-4-top],
body:not(.pn-master) .section [data-animation] {
    opacity: 1 !important;
    visibility: visible !important;
}

.pn-logo { display: inline-flex; align-items: center; gap: 10px; color: #fff; }
.pn-logo img { width: 42px; height: 42px; }
.pn-logo .brand__name { font-weight: 800; font-size: 22px; letter-spacing: -0.03em; }
.pn-logo .brand__name span { color: #ff7800; }

.pn-master .announce { position: relative; z-index: 60; }

.review-wrapper.has-shadow { background: #fff; border-radius: 16px; padding: 28px; }
.pn-review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pn-review-grid blockquote { margin: 0; }
.pn-review-grid p { color: #536080; }
.pn-review-grid footer { color: #040d70; font-weight: 700; }

.row--packages-3 .col-xl-4 { display: flex; }
.row--packages-3 .package { width: 100%; }

.pn-locations { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; margin-top: 28px; }
.pn-locations .pin {
    display: inline-flex; align-items: center; gap: 10px;
    background: #fff; border-radius: 999px; padding: 10px 16px;
    box-shadow: 0 10px 30px rgba(16,24,40,.08);
    font-weight: 700; color: #040d70;
}
.pn-locations .pin img { width: 24px; height: 24px; }

.list-group--faq .list-group__content { display: none; }
.list-group--faq .list-group__item.is-open .list-group__content { display: block; }
.list-group--faq .list-group__top { width: 100%; background: none; border: 0; text-align: left; cursor: pointer; }

.package__features.collapse:not(.is-open) { }
@media (max-width: 575px) {
    .package__features.collapse:not(.is-open) { display: none; }
}

.pn-tech-row { display: flex; gap: 28px; align-items: center; flex-wrap: wrap; margin-top: 24px; }
.pn-tech-row img { height: 28px; width: auto; }

.section--plans .plan { overflow-x: auto; }
.pn-legal { max-width: 860px; margin: 0 auto; text-align: left; }
.pn-legal h2 { margin-top: 28px; }
.pn-form { max-width: 640px; margin: 0 auto; background: #fff; border-radius: 16px; padding: 28px; box-shadow: 0 18px 50px rgba(16,24,40,.08); }
.pn-form label { display: block; font-weight: 700; margin-bottom: 6px; }
.pn-form input, .pn-form textarea { width: 100%; border: 1px solid #e2e7f1; border-radius: 10px; padding: 12px 14px; margin-bottom: 14px; }
.pn-form-note { color: #00b67a; font-weight: 700; }
.pn-form-error { color: #ff7800; font-weight: 700; }

.domain-search { display: flex; gap: 0; max-width: 720px; margin: 24px auto 0; }
.domain-search input { flex: 1; border: 1px solid #e2e7f1; border-radius: 10px 0 0 10px; padding: 16px 18px; }
.domain-search button { border-radius: 0 10px 10px 0; }

@media (max-width: 991px) {
    .pn-master .navbar__main { display: none; width: 100%; }
    .pn-master .navbar__main.is-open { display: block; }
    .pn-review-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    .pn-master .banner__illustration { display: none; }
    .domain-search { flex-direction: column; }
    .domain-search input, .domain-search button { border-radius: 10px; }
}
