/* === Hide rogue Pinterest red button if it appears (theme injection) === */
article.page a[href*="pinterest.com/pin/create"],
article.page .pinterest-save-btn,
.entry-content .pinterest-save-btn {
    display: none !important;
}

/* === Newsletter signup — premium polish === */
.entry-content [class*="subscribe"],
.entry-content [class*="newsletter"],
.entry-content [id*="subscribe"],
.entry-content [id*="newsletter"],
article.page form[action*="subscribe"] {
    background: linear-gradient(135deg, #0f172a, #1e293b) !important;
    color: white !important;
    border-radius: 20px !important;
    padding: 28px !important;
    margin: 32px auto !important;
    max-width: 720px !important;
    border: none !important;
    box-shadow: 0 12px 28px rgba(15,23,42,.12) !important;
}

.entry-content [class*="subscribe"] *,
.entry-content [class*="newsletter"] *,
.entry-content [id*="subscribe"] * {
    color: inherit !important;
}

.entry-content [class*="subscribe"] h2,
.entry-content [class*="subscribe"] h3,
.entry-content [class*="newsletter"] h2,
.entry-content [class*="newsletter"] h3 {
    color: white !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    font-size: 1.25rem !important;
    margin: 0 0 6px !important;
}

.entry-content [class*="subscribe"] p,
.entry-content [class*="newsletter"] p {
    color: rgba(255,255,255,.7) !important;
    margin-bottom: 16px !important;
}

.entry-content [class*="subscribe"] input[type="email"],
.entry-content [class*="newsletter"] input[type="email"],
.entry-content form input[type="email"] {
    background: rgba(255,255,255,.95) !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    color: #0f172a !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    box-shadow: 0 2px 6px rgba(0,0,0,.1) !important;
}

.entry-content [class*="subscribe"] button,
.entry-content [class*="newsletter"] button,
.entry-content form button[type="submit"] {
    background: #1a73e8 !important;
    color: white !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 12px 22px !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    cursor: pointer !important;
    transition: background 180ms !important;
    box-shadow: 0 4px 12px rgba(26,115,232,.3) !important;
}

.entry-content [class*="subscribe"] button:hover,
.entry-content [class*="newsletter"] button:hover {
    background: #1557b5 !important;
}

/* === More Free Travel Tools footer — refined === */
.entry-content .pz-related-tools,
.entry-content section[style*="More Free Travel Tools"],
.entry-content section[style*="More free travel tools"] {
    background: white !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 20px !important;
    padding: 28px !important;
    margin: 32px auto !important;
    max-width: 920px !important;
    box-shadow: 0 4px 12px rgba(15,23,42,.05) !important;
}

/* Tool cards in the related tools section */
.pz-related-tools-grid > a,
.entry-content .pz-related-card,
.entry-content [class*="more-tools"] a,
.entry-content [class*="related-tools"] a {
    background: white !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 16px !important;
    text-decoration: none !important;
    color: #0f172a !important;
    transition: all 180ms ease !important;
    display: block !important;
    box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
}

.pz-related-tools-grid > a:hover,
.entry-content .pz-related-card:hover,
.entry-content [class*="more-tools"] a:hover,
.entry-content [class*="related-tools"] a:hover {
    transform: translateY(-2px) !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 8px 16px rgba(15,23,42,.08) !important;
}

/* === Trust footer refinement === */
.pz-trust-footer {
    background: linear-gradient(180deg, #ffffff, #fafafa) !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 20px 22px !important;
}

.pz-trust-footer h3 {
    color: #475569 !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    margin: 0 0 14px !important;
}

.pz-trust-item .lbl {
    color: #94a3b8 !important;
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}

.pz-trust-item .val {
    color: #1e293b !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    letter-spacing: -0.005em !important;
}

.pz-trust-footer .methodology-link {
    color: #64748b !important;
    font-size: 0.8125rem !important;
}

.pz-trust-footer .methodology-link a {
    color: #1a73e8 !important;
    font-weight: 500 !important;
}

/* === Premium card depth refinements === */
.pzt-card, .pz-cc-converter, .pz-tc-builder, .pz-fd-card,
.pz-tz-card, .pz-vc-card, .pz-tp-card {
    box-shadow: 0 1px 3px rgba(15,23,42,.05), 0 4px 12px rgba(15,23,42,.04) !important;
}

/* === Refined section spacing === */
section[style*="max-width:820px"], section[style*="max-width:720px"] {
    margin: 56px auto !important;
}

section h2 {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    color: #0f172a !important;
    margin-bottom: 14px !important;
}

section p, section li {
    color: #475569 !important;
    line-height: 1.7 !important;
}

/* === Hide entry-header/single-page-title for tool pages (cleaner hero) === */
article.page > header.entry-header,
article.page > .entry-header,
article.page .single-page-title {
    display: none !important;
}

/* === FAQ refinement === */
section.pz-faq {
    max-width: 720px !important;
    margin: 56px auto !important;
}

section.pz-faq h2 {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    margin-bottom: 18px !important;
    color: #0f172a !important;
}

section.pz-faq details {
    background: white !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    margin: 8px 0 !important;
    padding: 0 !important;
    overflow: hidden;
    transition: all 180ms ease;
}

section.pz-faq details:hover {
    border-color: #cbd5e1 !important;
}

section.pz-faq details[open] {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
}

section.pz-faq details summary {
    padding: 14px 48px 14px 18px !important;
    font-weight: 500 !important;
    color: #0f172a !important;
    font-size: 0.9375rem !important;
    letter-spacing: -0.005em !important;
    cursor: pointer;
    position: relative;
    list-style: none;
}

section.pz-faq details summary::-webkit-details-marker { display: none; }

section.pz-faq details summary::after {
    content: '+';
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.4em;
    color: #94a3b8;
    transition: transform 200ms ease;
    font-weight: 300;
    line-height: 1;
}

section.pz-faq details[open] summary::after {
    transform: translateY(-50%) rotate(45deg);
    color: #1a73e8;
}

section.pz-faq details p {
    padding: 0 18px 16px !important;
    margin: 0 !important;
    color: #475569 !important;
    font-size: 0.9375rem !important;
    line-height: 1.65 !important;
}

/* === Smooth scroll progress bar === */
.pzt-progress-bar {
    background: linear-gradient(90deg, #1a73e8, #4285f4) !important;
    height: 2px !important;
}

/* === Mobile refinements === */
@media (max-width: 640px) {
    .entry-content [class*="subscribe"],
    .entry-content [class*="newsletter"] {
        padding: 22px !important;
        margin: 24px 12px !important;
    }

    .pz-trust-footer {
        padding: 18px !important;
        margin: 24px 12px !important;
    }
}

/* === Focus ring upgrade === */
*:focus-visible {
    outline: 2px solid #1a73e8 !important;
    outline-offset: 3px !important;
    border-radius: 4px;
}