/* Main Wrapper */
.gpm-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    font-family: 'Inter', sans-serif;
    color: #333;
    box-sizing: border-box;
    width: 100%;
    overflow-x: hidden;
    /* Prevent horizontal scroll */
    padding: 0 20px;
    /* Restore edge padding for mobile */
}

.gpm-wrapper * {
    box-sizing: border-box;
}

/* Cleanup Default Elements if they leak */
.woocommerce div.product div.images,
.woocommerce div.product div.summary {
    display: none !important;
}

/* Main Wrapper (Duplicate removed, kept for safety if relied upon later) */
.gpm-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    font-family: 'Inter', sans-serif;
    color: #333;
    box-sizing: border-box;
    width: 100%;
}

/* 2-Column Layout Grid */
.gpm-layout-grid {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    /* Important for independent scrolling height */
}

/* Left Column: Equal Width */
.gpm-col-left {
    flex: 1;
    min-width: 0;
}

/* Right Column: Equal Width */
.gpm-col-right {
    flex: 1;
    min-width: 0;
}

/* Browser Mockup */
.gpm-browser-mockup {
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin-bottom: 30px;
}

.gpm-browser-header {
    background: #f1f1f1;
    padding: 10px 15px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #ddd;
}

/* Traffic Section in Left Column */
.gpm-traffic-section {
    background: transparent;
}

.gpm-traffic-card {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    /* Rounded Border */
    padding: 20px;
    margin-bottom: 30px;
    /* Space between cards */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.02);
}

.gpm-source-update {
    text-align: center;
    font-size: 12px;
    color: #777;
    margin-top: 20px;
    /* Internal spacing */
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border-top: 1px solid #f9f9f9;
    padding-top: 15px;
}

.gpm-traffic-list {
    margin-bottom: 0;
}

/* Right Column Elements Spacing */
.gpm-rules-box,
.gpm-publisher-box,
.gpm-order-section {
    margin-top: 30px;
}

/* Ensure images fit */
.gpm-browser-content img {
    display: block;
    width: 100%;
    height: auto;
}

/* PRODCUT INFO */
.gpm-product-title {
    font-size: 22px;
    font-weight: 700;
    color: #2c3e50;
    margin: 0 0 15px 0;
    line-height: 1.4;
    font-family: inherit;
}

.gpm-meta-row {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 13px;
    color: #777;
    margin-bottom: 20px;
}

.gpm-login-notice {
    color: #c0392b;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 4px;
}

.gpm-site-id {
    color: #7f8c8d;
}

.gpm-price-row {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
}

.gpm-price {
    font-size: 32px;
    font-weight: 800;
    color: #333;
}

.gpm-price .woocommerce-Price-amount {
    /* For currency symbol */
    color: #333;
}

.gpm-service-badge {
    background: #f0f4f8;
    color: #555;
    padding: 5px 12px;
    border-radius: 4px;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Responsive */
/* Responsive */
/* Responsive */
@media (max-width: 900px) {
    .gpm-layout-grid {
        display: flex;
        flex-direction: column;
    }

    /* "Unwrap" the columns so children participate in the main grid flex context */
    .gpm-col-left,
    .gpm-col-right {
        display: contents;
    }

    /* Assign Order to Groups */
    .gpm-group-mockup {
        order: 1;
        width: 100%;
        margin-bottom: 20px;
    }

    .gpm-group-info {
        order: 2;
        width: 100%;
        margin-bottom: 20px;
    }

    .gpm-group-traffic {
        order: 3;
        width: 100%;
        margin-bottom: 10px;
        /* Reduced to pull next section up */
    }

    .gpm-group-details {
        order: 4;
        width: 100%;
        margin-bottom: 20px;
    }

    /* Remove excessive spacing on mobile */
    .gpm-rules-box,
    .gpm-publisher-box,
    .gpm-order-section {
        margin-top: 0;
    }

    .gpm-traffic-card {
        margin-bottom: 15px;
    }
}

@media (max-width: 480px) {
    .gpm-wrapper {
        padding: 0 15px !important;
    }

    .gpm-product-title {
        font-size: 20px;
    }

    .gpm-price {
        font-size: 26px;
    }

    .gpm-browser-header {
        padding: 8px 10px;
    }
}

/* --- DOMAIN MATRICS (User Provided Structure) --- */
.domain-matrics {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 25px;
    font-size: 11px;
    font-family: inherit;
}

.domain-matrics .card {
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    height: 28px;
    overflow: hidden;
    white-space: nowrap;
}

.domain-matrics .label {
    display: flex;
    align-items: center;
    padding: 0 6px;
    color: #555;
    font-weight: 700;
    font-size: 11px;
    height: 100%;
    gap: 4px;
}

.domain-matrics .value {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    font-weight: 700;
    color: #333;
    height: 100%;
    min-width: 30px;
    border-left: 1px solid rgba(0, 0, 0, 0.05);
}

.domain-matrics img {
    /* User inline styles override this usually, but setting defaults */
    margin: 0;
    display: block;
    width: auto;
}

/* --- COLOR MODIFIERS --- */

/* DA (Blue) */
.domain-matrics .card.blue:not(.other-language-anchor-text):not(.google-news) {
    border-color: #3498db;
}

.domain-matrics .card.blue:not(.other-language-anchor-text):not(.google-news) .value {
    background: #3498db;
    color: #fff;
}

.domain-matrics .card.blue:not(.other-language-anchor-text):not(.google-news) .label {
    color: #3498db;
}

/* PA (Green) */
.domain-matrics .card.green {
    border-color: #8cc63f;
}

.domain-matrics .card.green .value {
    background: #8cc63f;
    color: #fff;
}

.domain-matrics .card.green .label {
    color: #8cc63f;
}

/* Ahrefs DR (Orange) */
.domain-matrics .dr.card.orange {
    border-color: #f39c12;
}

.domain-matrics .dr.card.orange .value {
    background: #f39c12;
    color: #fff;
}

.domain-matrics .dr.card.orange .label {
    color: #d35400;
}

/* Ahrefs Extras (Traffic/Keywords - Light Orange) */
.domain-matrics .card.orange:not(.dr) {
    border-color: #f39c12;
}

.domain-matrics .card.orange:not(.dr) .value {
    background: #fcd087;
    /* Light orange */
    color: #333;
    font-weight: 800;
}

.domain-matrics .card.orange:not(.dr) .label {
    color: #d35400;
}

/* Majestic TF (Tan) */
.domain-matrics .card.majestic-orange.tf {
    border-color: #f4b266;
}

.domain-matrics .card.majestic-orange.tf .value {
    background: #f4b266;
    color: #333;
}

.domain-matrics .card.majestic-orange.tf .label {
    color: #d35400;
}

/* Majestic CF (Grey/Blue) */
.domain-matrics .card.majestic-blue {
    border-color: #7f8c8d;
}

.domain-matrics .card.majestic-blue .value {
    background: #95a5a6;
    color: #fff;
}

.domain-matrics .card.majestic-blue .label {
    color: #34495e;
}

/* SEMRush (Orange/Peach) */
.domain-matrics .card.semrush-traffic,
.domain-matrics .card.semrush-rank {
    border-color: #ff7f50;
}

.domain-matrics .card.semrush-traffic .value,
.domain-matrics .card.semrush-rank .value {
    background: #ffcfb3;
    /* Light peach */
    color: #333;
}

.domain-matrics .card.semrush-traffic .label,
.domain-matrics .card.semrush-rank .label {
    color: #d35400;
}

/* Booleans (Yellow/Blue with cross icon) */
.domain-matrics .card.yellow {
    border-color: #f1c40f;
}

.domain-matrics .card.yellow .label {
    /* Normal text color */
    color: inherit;
}

.domain-matrics .card.yellow .value {
    background: #fff;
    min-width: auto;
}

.domain-matrics .card.yellow .icon {
    font-style: normal;
}

/* Specific for Google News (Blue border, white value) */
.domain-matrics .card.google-news {
    border-color: #3498db;
}

.domain-matrics .card.google-news .value {
    background: #fff;
    min-width: auto;
}

/* Website Language */
.domain-matrics .card.traffic-value {
    border-color: #95a5a6;
}

.domain-matrics .card.traffic-value .value {
    background: #fff;
}

/* DASHICONS CORRECTION */
.domain-matrics .dashicons {
    font-size: 16px;
    height: 16px;
    width: 16px;
}

.dashicons-yes {
    color: #2ecc71;
}

.dashicons-no {
    color: #e74c3c;
}

.gpm-tat-line {
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
    margin-bottom: 20px;
    font-size: 14px;
}

/* Traffic Bars */
.gpm-traffic-item {
    margin-bottom: 12px;
}

.gpm-ti-header {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    margin-bottom: 4px;
}

.gpm-bar {
    height: 6px;
    background: #eee;
    border-radius: 3px;
    overflow: hidden;
}

.gpm-fill {
    background: #f39c12;
    height: 100%;
    border-radius: 3px;
}

.gpm-bar.source .gpm-fill.blue {
    background: #3498db;
}

/* Headers */
h3 {
    font-size: 16px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Rules */
.gpm-rules-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.gpm-rules-list li {
    padding: 8px 0;
    border-bottom: 1px solid #f5f5f5;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.gpm-rules-list li .dashicons {
    color: #666;
}

.gpm-policy-text {
    font-size: 12px;
    color: #777;
    margin-top: 15px;
    line-height: 1.5;
    background: #fff8f8;
    padding: 10px;
    border-left: 3px solid #e74c3c;
}

/* PUBLISHER BOX */
.gpm-publisher-box {
    background: #fff;
    border: 1px solid #eee;
    padding: 20px;
    margin-bottom: 30px;
    margin-top: 30px;
    /* Add spacing from the element above */
}

.gpm-niches {
    margin-bottom: 15px;
    line-height: 1.8;
}

.gpm-tag {
    background: #fff0db;
    color: #e67e22;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 12px;
    margin-left: 5px;
}

.gpm-sample-link {
    margin-bottom: 20px;
    padding: 10px;
    background: #eefbfb;
    border-radius: 4px;
}

.gpm-restrictions {
    display: flex;
    gap: 20px;
}

.gpm-res-item {
    text-align: center;
    font-size: 12px;
}

.gpm-res-icon {
    width: 40px;
    height: 40px;
    margin: 0 auto 5px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ddd;
}

.gpm-res-icon.denied {
    background: #fff5f5;
    color: #c0392b;
    border-color: #c0392b;
}

.gpm-res-icon.allowed {
    background: #f0fff4;
    color: #2ecc71;
    border-color: #2ecc71;
}

/* ORDER SECTION */
.gpm-order-section {
    background: #f9f9f9;
    padding: 30px;
    border-radius: 8px;
    border: 1px solid #eee;
    box-sizing: border-box;
    width: 100%;
    overflow-wrap: break-word;
}

.gpm-order-title {
    margin-top: 0;
}

.gpm-wc-form-container form.cart {
    display: flex !important;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
}

.gpm-wc-form-container form.cart .quantity {
    margin: 0;
}

.gpm-wc-form-container form.cart button.single_add_to_cart_button {
    margin: 0;
    padding: 10px 20px !important;
    /* Made smaller */
    font-size: 14px !important;
}

/* Policy Checkbox */
.gpm-policy-checkbox-wrapper label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    /* Increased slightly from 13px */
    color: #555;
    cursor: pointer;
    line-height: 1.4;
    margin: 0;
}

.gpm-policy-checkbox-wrapper input[type="checkbox"] {
    margin: 0 !important;
    padding: 0;
    flex: 0 0 auto;
    position: relative;
    top: -1px;
}

/* Style the Variation Form */
.woocommerce-variation-add-to-cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
}

.single_variation_wrap {
    width: 100%;
    margin-bottom: 20px;
}

/* Summary */
.gpm-order-summary-box {
    background: #fff;
    padding: 20px;
    border: 1px solid #ddd;
    margin-top: 20px;
}

.gpm-summary-line,
.gpm-summary-total {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.gpm-summary-total {
    font-weight: bold;
    border-top: 2px solid #eee;
    padding-top: 10px;
    font-size: 18px;
}

/* Responsive */
@media (max-width: 768px) {

    .gpm-top-section,
    .gpm-mid-section {
        flex-direction: column;
        gap: 20px;
    }

    .gpm-top-left {
        flex: auto;
    }
}

/* Bottom Tabs */
.gpm-bottom-tabs {
    margin-top: 50px;
    background: #fff;
    padding: 30px;
    border: 1px solid #ddd;
    border-radius: 8px;
}


/* Custom Tabs Nav */
.gpm-custom-tabs {
    padding: 0;
    margin: 0 0 30px;
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 40px;
    border-bottom: 1px solid #eee;
}

.gpm-custom-tabs li {
    padding: 10px 0;
    font-weight: 600;
    color: #777;
    cursor: pointer;
    font-size: 16px;
    border-bottom: 2px solid transparent;
    transition: all 0.2s;
}

.gpm-custom-tabs li.active {
    color: #333;
    border-bottom-color: #333;
}

/* Reviews Layout */
.gpm-reviews-layout {
    display: flex;
    gap: 40px;
}

.gpm-rev-summary {
    flex: 0 0 300px;
    border-right: 1px solid #eee;
    padding-right: 30px;
}

.gpm-rev-list {
    flex: 1;
}

/* Ratings Summary Box */
.gpm-average-box {
    margin-bottom: 20px;
}

.gpm-avg-score {
    display: block;
    font-size: 48px;
    font-weight: 700;
    color: #333;
    line-height: 1;
}

.gpm-total-ratings {
    font-size: 13px;
    color: #777;
}

/* Star Bars */
.gpm-bar-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
    font-size: 13px;
    color: #666;
}

.gpm-bar-row .star-label {
    width: 35px;
    display: flex;
    align-items: center;
    gap: 2px;
}



.gpm-progress-track {
    flex: 1;
    height: 8px;
    background: #f1f1f1;
    border-radius: 4px;
    overflow: hidden;
}

.gpm-progress-fill {
    height: 100%;
    background: #f39c12;
}

/* --- Filter Bar --- */
.gpm-filter-bar {
    background: #f9f9f9;
    padding: 20px;
    margin-bottom: 30px;
    border-radius: 8px;
    border: 1px solid #eee;
}

.gpm-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: flex-end;
}

.gpm-filter-group {
    flex: 1;
    min-width: 150px;
}

.gpm-filter-group label {
    display: block;
    font-weight: 600;
    margin-bottom: 5px;
    font-size: 14px;
}

.gpm-filter-group select,
.gpm-filter-group input {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.gpm-filter-submit {
    min-width: 100px;
}

.gpm-filter-btn {
    width: 100%;
    padding: 10px;
    background: #0073aa;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
}

.gpm-filter-btn:hover {
    background: #005177;
}

/* --- CMS Sections --- */
.gpm-country-archive-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* Hero */
.gpm-archive-hero {
    background-color: #f0f4f8;
    background-size: cover;
    background-position: center;
    padding: 60px 40px;
    border-radius: 8px;
    margin-bottom: 40px;
    position: relative;
    text-align: center;
}

.gpm-hero-content h1 {
    margin: 0;
    font-size: 32px;
    color: #333;
}

.gpm-country-flag {
    width: 60px;
    height: auto;
    margin-bottom: 15px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.gpm-breadcrumbs {
    font-size: 14px;
    margin-bottom: 20px;
    color: #666;
}

.gpm-breadcrumbs a {
    text-decoration: none;
    color: #0073aa;
}

/* Content Sections */
.gpm-section {
    margin-bottom: 50px;
}

.gpm-section h2 {
    font-size: 28px;
    margin-bottom: 20px;
    border-bottom: 2px solid #eee;
    padding-bottom: 10px;
}

.gpm-content-block {
    font-size: 16px;
    line-height: 1.6;
    color: #444;
}

.gpm-content-block ul {
    margin-left: 20px;
}

/* FAQ Accordion */
.gpm-faq-item {
    border-bottom: 1px solid #eee;
}

.gpm-faq-trigger {
    background: none;
    border: none;
    width: 100%;
    text-align: left;
    padding: 15px 0;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #333;
}

.gpm-faq-icon {
    font-size: 24px;
    font-weight: 300;
    transition: transform 0.3s ease;
}

.gpm-faq-trigger[aria-expanded="true"] .gpm-faq-icon {
    transform: rotate(45deg);
}

.gpm-faq-content {
    display: none;
    padding-bottom: 20px;
    color: #555;
    line-height: 1.6;
}

.gpm-faq-content[hidden] {
    display: none;
}

/* Write Review Box */
.gpm-write-review-box {
    margin-top: 30px;
    border-top: 1px solid #eee;
    padding-top: 20px;
}

.gpm-write-review-box h4 {
    margin: 0 0 5px;
    font-size: 16px;
}

.gpm-write-review-box p {
    margin: 0 0 15px;
    font-size: 13px;
    color: #777;
}

.gpm-btn-write {
    display: block;
    width: 100%;
    background: #4169e1;
    /* Royal Blue */
    color: #fff;
    border: none;
    padding: 12px;
    border-radius: 4px;
    font-weight: 700;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 13px;
}

.gpm-btn-write:hover {
    background: #3154b3;
}

/* No Reviews State */
.gpm-no-reviews {
    background: #eefbfb;
    color: #049cb9;
    padding: 20px;
    text-align: center;
    border-radius: 4px;
}

/* Country Selector Styles */
/* Country Selector Styles */
.gpm-country-selector-wrapper {
    margin: 60px auto;
    font-family: 'Inter', sans-serif;
    max-width: 1000px;
    text-align: center;
}

/* Header */
.gpm-cs-header {
    margin-bottom: 40px;
}

.gpm-cs-title {
    font-size: 32px;
    font-weight: 700;
    color: #333;
    margin: 0 0 15px;
}

.gpm-cs-title .highlight {
    color: #4169e1;
    /* Royal Blue */
}

.gpm-cs-subtitle {
    font-size: 16px;
    color: #666;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
}

/* Tabs */
.gpm-cs-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 40px;
}

.gpm-cs-tab {
    background: #f0f2f5;
    border: none;
    padding: 10px 25px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 500;
    color: #555;
    transition: all 0.3s ease;
    font-size: 15px;
}

.gpm-cs-tab:hover {
    background: #e1e4e8;
}

.gpm-cs-tab.active {
    background: #4169e1;
    color: #fff;
    font-weight: 600;
}

/* Content Grid */
.gpm-cs-content {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-bottom: 40px;
}

/* Country Button */
.gpm-country-btn {
    display: inline-flex;
    align-items: center;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    padding: 8px 16px;
    text-decoration: none !important;
    color: #333 !important;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.gpm-country-btn:hover {
    border-color: #b0c4de;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}

.gpm-country-flag {
    width: 22px;
    height: auto;
    margin-right: 10px;
    border-radius: 2px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.gpm-country-name {
    line-height: 1;
}

/* Footer CTA */
.gpm-cs-footer {
    margin-top: 30px;
}

.gpm-btn-view-all {
    display: inline-block;
    background: #ff7f50;
    color: #fff !important;
    text-decoration: none !important;
    padding: 12px 30px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    transition: background 0.3s ease;
    box-shadow: 0 2px 5px rgba(255, 127, 80, 0.3);
}

.gpm-btn-view-all:hover {
    background: #ff6347;
    transform: translateY(-1px);
}

/* Hide functionality */
.gpm-country-btn.hidden {
    display: none;
}

.gpm-country-btn.visible {
    display: inline-flex;
    animation: fadeIn 0.4s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive */
@media (max-width: 768px) {
    .gpm-container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

@media (max-width: 600px) {
    .gpm-cs-title {
        font-size: 24px;
    }

    .gpm-cs-tabs {
        gap: 8px;
    }

    .gpm-cs-tab {
        padding: 8px 15px;
        font-size: 13px;
    }

    .gpm-country-btn {
        width: 100%;
        justify-content: center;
        padding: 12px;
    }
}



/* Reviews List Styles */
.gpm-review-item {
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.gpm-rev-header strong {
    display: block;
    font-size: 15px;
    color: #333;
}

.gpm-rev-date {
    font-size: 12px;
    color: #999;
}

.gpm-rev-stars {
    color: #f39c12;
    margin: 5px 0;
}

.gpm-rev-text {
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}

/* Description Metrics List */
.gpm-desc-metrics ul {
    list-style: disc;
    margin-left: 20px;
    color: #2c3e50;
}

.gpm-desc-metrics li {
    margin-bottom: 8px;
}

/* Responsive Reviews */
@media (max-width: 768px) {
    .gpm-reviews-layout {
        flex-direction: column;
    }

    .gpm-rev-summary {
        border-right: none;
        border-bottom: 1px solid #eee;
        padding-right: 0;
        padding-bottom: 30px;
    }
}

/* --- Phase 1: Layout Foundation --- */

/* Page Background & Wrapper */
.gpm-country-archive-wrapper {
    background-color: #f5f7fa !important;
    min-height: 100vh;
    padding: 40px 0;
    width: 100%;
    box-sizing: border-box;
}

/* Main Content Container */
.gpm-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    background-color: #ffffff;
    padding-top: 40px;
    padding-bottom: 40px;
    box-sizing: border-box;
    width: 100%;
    overflow: hidden;
}

/* Title Block */
.gpm-page-header {
    display: flex;
    align-items: center;
    margin-bottom: 25px !important;
}

.gpm-flag {
    margin-right: 10px;
    display: flex;
    align-items: center;
}

.gpm-flag img {
    height: 24px;
    width: auto;
    display: block;
}

.gpm-title-wrap h1 {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #2c2c2c !important;
    margin: 0 !important;
    line-height: 1.2;
}

.gpm-meta {
    font-size: 13px;
    color: #888;
    margin-top: 4px;
}

/* Intro Paragraph */
.gpm-intro-content {
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #555 !important;
    margin-bottom: 30px !important;
}

.gpm-intro-content p {
    margin-bottom: 1.5em;
    font-size: inherit;
    color: inherit;
}

/* --- Phase 2: Filter Bar Layout --- */

.gpm-filter-bar {
    margin-bottom: 20px;
    box-sizing: border-box;
    width: 100%;
}

.gpm-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    box-sizing: border-box;
}

.gpm-filter-btn {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 8px 14px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all .2s ease;
}

.gpm-filter-btn:hover {
    border-color: #ff6b35;
    color: #ff6b35;
}

.gpm-arrow {
    font-size: 12px;
    opacity: .6;
}

/* --- Dropdowns --- */
.gpm-filter {
    position: relative;
}

.gpm-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 5px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
    padding: 15px;
    width: 220px;
    display: none;
    z-index: 999;
}

.gpm-filter.active .gpm-dropdown {
    display: block;
    animation: fadeIn 0.15s ease;
}

.gpm-dropdown label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    color: #555;
    cursor: pointer;
}

.gpm-dropdown label:hover {
    color: #333;
}

.gpm-dropdown input[type="radio"],
.gpm-dropdown input[type="checkbox"] {
    margin-right: 8px;
}

.gpm-divider {
    height: 1px;
    background: #eee;
    margin: 10px 0;
}

.gpm-flex-row {
    display: flex;
    gap: 8px;
    align-items: center;
}

.gpm-input-small {
    width: 60px;
    padding: 6px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 13px;
}

.gpm-btn-go {
    background: #ff6b35;
    color: #fff;
    border: none;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 13px;
    cursor: pointer;
    font-weight: 600;
}

.gpm-btn-go:hover {
    background: #ff5010;
}

/* Scrollable Checkbox List */
.gpm-checkbox-list {
    max-height: 200px;
    overflow-y: auto;
}

/* Bulk Search Button */
.gpm-bulk-search {
    background: #ff6b35;
    color: #fff;
    padding: 8px 18px;
    border-radius: 6px;
    border: none;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s ease;
    margin-left: auto;
    /* Push to the right if needed, or just gap */
}

.gpm-bulk-search:hover {
    background: #ff5010;
}