/* WooDomains Public Styles */

/* =========================================================================
   Search box
   ========================================================================= */

.woodomains-search {
    margin: 2em 0;
    font-family: inherit;
}

.woodomains-search__input-row {
    display: flex;
    gap: .5em;
    align-items: center;
    flex-wrap: wrap;
}

.woodomains-search__input {
    flex: 1 1 300px;
    padding: .65em 1em;
    font-size: 1rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    min-width: 200px;
}

.woodomains-search__btn {
    padding: .65em 1.5em;
    font-size: 1rem;
    white-space: nowrap;
}

.woodomains-search__tlds {
    margin-top: .75em;
    display: flex;
    flex-wrap: wrap;
    gap: .5em 1em;
}

.woodomains-tld-checkbox {
    display: flex;
    align-items: center;
    gap: .3em;
    font-size: .9rem;
    cursor: pointer;
}

.woodomains-search__status {
    margin-top: .5em;
    font-size: .9rem;
    color: #555;
    min-height: 1.4em;
}

/* =========================================================================
   Results grid — compact 4-column layout
   ========================================================================= */

.woodomains-results {
    margin-top: 1.25em;
}

.woodomains-results__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .4em;
}

.woodomains-result-card {
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: .4em .55em;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: .15em;
    text-align: center;
    font-size: .8rem;
    transition: box-shadow .15s;
}

.woodomains-result-card:hover {
    box-shadow: 0 2px 6px rgba(0,0,0,.08);
}

.woodomains-result-card__domain {
    font-weight: 700;
    font-size: .85rem;
    word-break: break-all;
}

.woodomains-result-card__status {
    font-size: .7rem;
    font-weight: 600;
    padding: .07em .35em;
    border-radius: 3px;
    display: inline-block;
    align-self: center;
}

.woodomains-result-card__status--available {
    background: #d4edda;
    color: #155724;
}

.woodomains-result-card__status--taken {
    background: #f8d7da;
    color: #721c24;
}

.woodomains-result-card__status--premium {
    background: #fff3cd;
    color: #856404;
}

.woodomains-result-card__price {
    font-size: .82rem;
    font-weight: 700;
    color: #2c3e50;
}

.woodomains-result-card__actions {
    display: flex;
    gap: .3em;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: .1em;
}

.woodomains-result-card .button {
    font-size: .72rem !important;
    padding: .22em .55em !important;
    line-height: 1.4 !important;
}

/* "Ver más extensiones" link below the grid */
.woodomains-more-results {
    margin-top: .85em;
    text-align: right;
}

.woodomains-more-results__link {
    font-size: .88rem;
    color: #0073aa;
    text-decoration: none;
}

.woodomains-more-results__link:hover {
    text-decoration: underline;
}

/* Mobile: 2 per row */
@media (max-width: 580px) {
    .woodomains-results__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* =========================================================================
   Full results page ([woodomains_results_page])
   ========================================================================= */

.woodomains-results-page__subtitle {
    color: #555;
    margin-bottom: 1em;
}

.woodomains-results-page__table {
    width: 100%;
    border-collapse: collapse;
    font-size: .9rem;
}

.woodomains-results-page__table th {
    padding: .6em 1em;
    text-align: left;
    font-weight: 600;
    border-bottom: 2px solid #e0e0e0;
    background: #f5f5f5;
    white-space: nowrap;
}

.woodomains-results-page__table td {
    padding: .55em 1em;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
}

.woodomains-results-page__table tr:hover td {
    background: #fafafa;
}

.wd-avail-loading {
    color: #bbb;
}

.wd-avail-cell .woodomains-result-card__status {
    font-size: .8rem;
}

/* =========================================================================
   WHOIS modal
   ========================================================================= */

.woodomains-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.woodomains-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.55);
}

.woodomains-modal__inner {
    position: relative;
    background: #fff;
    border-radius: 8px;
    padding: 2em;
    max-width: 640px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    z-index: 1;
}

.woodomains-modal__close {
    position: absolute;
    top: .75em;
    right: 1em;
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    line-height: 1;
    color: #333;
}

.woodomains-whois-pre {
    white-space: pre-wrap;
    font-size: .82rem;
    font-family: monospace;
    background: #f5f5f5;
    padding: 1em;
    border-radius: 4px;
    overflow-x: auto;
}

/* =========================================================================
   Checkout domain fields
   ========================================================================= */

.woodomains-checkout-ns,
.woodomains-checkout-contact {
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 1.5em;
    margin: 1.5em 0;
}

.woodomains-checkout-ns h3,
.woodomains-checkout-contact h3 {
    margin-top: 0;
}

.woodomains-default-ns-list {
    font-size: .9rem;
    color: #555;
    margin: .25em 0 .75em 1.5em;
}

/* =========================================================================
   My Account domains
   ========================================================================= */

.woodomains-account-domains h2 {
    margin-bottom: 1em;
}

.woodomains-status {
    padding: .2em .55em;
    border-radius: 3px;
    font-size: .8rem;
    font-weight: 600;
    text-transform: capitalize;
}

.woodomains-status--active    { background: #d4edda; color: #155724; }
.woodomains-status--pending   { background: #cce5ff; color: #004085; }
.woodomains-status--expired   { background: #f8d7da; color: #721c24; }
.woodomains-status--failed    { background: #f8d7da; color: #721c24; }
.woodomains-status--redemption{ background: #fff3cd; color: #856404; }

/* =========================================================================
   Collapsible panels (domain detail page)
   ========================================================================= */

.wd-panel {
    border: 1px solid #e2e2e2;
    border-radius: 4px;
    margin-bottom: .75em;
    overflow: hidden;
}

.wd-panel__toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .85em 1.1em;
    background: #f8f8f8;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    color: inherit;
    text-align: left;
    transition: background .15s;
}

.wd-panel__toggle:hover { background: #f0f0f0; }

.wd-panel__toggle[aria-expanded="true"] { background: #f0f0f0; }

.wd-panel__chevron {
    font-size: .75em;
    margin-left: .5em;
    flex-shrink: 0;
}

.wd-panel__body {
    padding: 1em 1.1em;
    border-top: 1px solid #e2e2e2;
}

.wd-panel__body .shop_table {
    margin-top: 0;
}

/* =========================================================================
   Domain detail — action buttons row + modals
   ========================================================================= */

.wd-domain-info-table {
    width: 100%;
}

.wd-domain-actions-row {
    padding-top: 1.1em !important;
    border-top: 1px solid #e2e2e2;
}

.wd-domain-actions-row .button {
    margin-right: .6em;
    margin-bottom: .4em;
}

/* Modal backdrop */
.wd-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wd-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.55);
    cursor: pointer;
}

/* Modal box */
.wd-modal__inner {
    position: relative;
    background: #fff;
    border-radius: 8px;
    padding: 0;
    max-width: 520px;
    width: 94%;
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 32px rgba(0,0,0,.22);
    z-index: 1;
}

.wd-modal__inner--wide {
    max-width: 840px;
}

.wd-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1em 1.25em .85em;
    border-bottom: 1px solid #e2e2e2;
    flex-shrink: 0;
}

.wd-modal__title {
    margin: 0;
    font-size: 1.05rem;
}

.wd-modal__close {
    background: none;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    color: #666;
    padding: 0 .25em;
    flex-shrink: 0;
}

.wd-modal__close:hover { color: #dc3545; }

.wd-modal__body {
    padding: 1.25em;
    overflow-y: auto;
}

/* Prevent body scroll when modal open */
body.wd-modal-open {
    overflow: hidden;
}

/* Auto-renew status + action button */
.wd-autorenew-status {
    font-weight: 600;
    font-size: .9em;
}
.wd-autorenew-status--on  { color: #155724; }
.wd-autorenew-status--off { color: #721c24; }

.wd-autorenew-action.button {
    font-size: .8rem !important;
    padding: .25em .7em !important;
    line-height: 1.4 !important;
}
.wd-autorenew-action--on.button  { background: #28a745 !important; border-color: #28a745 !important; color: #fff !important; }
.wd-autorenew-action--off.button { background: #dc3545 !important; border-color: #dc3545 !important; color: #fff !important; }

/* Nameserver list */
.wd-ns-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wd-ns-list li {
    font-family: monospace;
    font-size: .9em;
    padding: .1em 0;
}

/* =========================================================================
   DNS manager (customer)
   ========================================================================= */

.woodomains-dns-manager .woodomains-dns-add-form label {
    display: block;
    font-weight: 600;
    margin-bottom: .25em;
}

.woodomains-dns-manager .woodomains-dns-add-form p {
    margin-bottom: .75em;
}

.woodomains-dns-records-table th,
.woodomains-dns-records-table td {
    word-break: break-all;
}

.woodomains-dns-records-table td:nth-child(2) { white-space: nowrap; }
.woodomains-dns-records-table td:nth-child(3) { white-space: nowrap; }

/* =========================================================================
   Pricing Table  [woodomains_pricing]
   ========================================================================= */

.woodomains-pricing {
    margin: 2em 0;
    font-family: inherit;
}

/* Toolbar (filters + search row) */
.woodomains-pricing__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: .75em;
    align-items: center;
    margin-bottom: 1em;
}

/* Filter tabs */
.woodomains-pricing__filters {
    display: flex;
    flex-wrap: wrap;
    gap: .4em;
}

.woodomains-pricing__filter-btn {
    padding: .35em .9em;
    border: 1px solid #ccc;
    border-radius: 20px;
    background: #fff;
    font-size: .85rem;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
    white-space: nowrap;
}

.woodomains-pricing__filter-btn:hover {
    border-color: #0073aa;
    color: #0073aa;
}

.woodomains-pricing__filter-btn--active {
    background: #0073aa;
    border-color: #0073aa;
    color: #fff;
    font-weight: 600;
}

.woodomains-pricing__filter-count {
    font-weight: 400;
    opacity: .75;
    font-size: .9em;
}

/* Search */
.woodomains-pricing__search-wrap {
    margin-left: auto;
}

.woodomains-pricing__search {
    padding: .4em .8em;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: .9rem;
    min-width: 180px;
}

/* Table wrapper — horizontal scroll on mobile */
.woodomains-pricing__table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
}

/* Table */
.woodomains-pricing__table {
    width: 100%;
    border-collapse: collapse;
    font-size: .9rem;
}

.woodomains-pricing__table thead tr {
    background: #f5f5f5;
}

.woodomains-pricing__table th {
    padding: .7em 1em;
    text-align: left;
    font-weight: 600;
    white-space: nowrap;
    border-bottom: 2px solid #e0e0e0;
    color: #333;
}

.woodomains-pricing__table td {
    padding: .65em 1em;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
}

.woodomains-pricing__row:hover td {
    background: #fafafa;
}

.woodomains-pricing__row--featured td {
    background: #fffef0;
}

.woodomains-pricing__row--featured:hover td {
    background: #fffde0;
}

/* Extension cell */
.woodomains-pricing__tld-wrap {
    display: flex;
    align-items: center;
    gap: .45em;
}

.woodomains-pricing__tld-icon {
    font-size: 1.25em;
    line-height: 1;
    flex-shrink: 0;
}

.woodomains-pricing__tld-name {
    font-weight: 700;
    font-size: 1rem;
    color: #1a1a1a;
}

.woodomains-pricing__featured-badge {
    font-size: .75em;
    margin-left: .2em;
    opacity: .8;
}

/* Group badge */
.woodomains-pricing__group-badge {
    display: inline-block;
    padding: .15em .5em;
    border-radius: 3px;
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .02em;
    white-space: nowrap;
}

.woodomains-pricing__group-badge--gtld  { background: #cce5ff; color: #004085; }
.woodomains-pricing__group-badge--cctld { background: #d4edda; color: #155724; }
.woodomains-pricing__group-badge--ntld  { background: #e2d9f3; color: #3d0a91; }
.woodomains-pricing__group-badge--stld  { background: #fff3cd; color: #856404; }

/* VAT badge in column header */
.woodomains-pricing__vat-badge {
    display: block;
    font-size: .7rem;
    font-weight: 400;
    color: #666;
    margin-top: .1em;
}

/* Price cell */
.woodomains-pricing__col-price {
    text-align: right;
    white-space: nowrap;
}

.woodomains-pricing__col-ext  { min-width: 160px; }
.woodomains-pricing__col-group { min-width: 90px; }
.woodomains-pricing__col-info  { width: 40px; text-align: center; }

.woodomains-price {
    font-weight: 700;
    color: #1a1a2e;
}

.woodomains-price-na {
    color: #aaa;
    font-size: .85em;
}

.woodomains-pricing__excl-vat {
    color: #888;
    font-size: .78rem;
}

/* VAT footnote */
.woodomains-pricing__vat-note {
    font-size: .8rem;
    color: #777;
    margin-top: .75em;
}

/* No-match message */
.woodomains-pricing__no-match {
    padding: 1.5em;
    text-align: center;
    color: #888;
    font-style: italic;
}

/* ── Restriction tooltip ─────────────────────────────────────────── */

.woodomains-pricing__tooltip-wrap {
    position: relative;
    display: inline-block;
}

.woodomains-pricing__info-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    font-size: 1rem;
    line-height: 1;
    opacity: .65;
    transition: opacity .15s;
}

.woodomains-pricing__info-btn:hover {
    opacity: 1;
}

.woodomains-pricing__tooltip {
    position: absolute;
    right: 0;
    top: calc(100% + .4em);
    z-index: 100;
    background: #2c3e50;
    color: #fff;
    font-size: .8rem;
    line-height: 1.45;
    padding: .65em .85em;
    border-radius: 5px;
    max-width: 280px;
    min-width: 180px;
    box-shadow: 0 4px 12px rgba(0,0,0,.2);
    pointer-events: auto;
    word-wrap: break-word;
    white-space: normal;
}

.woodomains-pricing__tooltip::before {
    content: '';
    position: absolute;
    bottom: 100%;
    right: .6em;
    border: 5px solid transparent;
    border-bottom-color: #2c3e50;
}

.woodomains-pricing__tooltip a {
    color: #7dd3fc;
    text-decoration: underline;
    display: block;
    margin-top: .35em;
}

/* ── Empty state ───────────────────────────────────────────────────── */
.woodomains-pricing__empty {
    padding: 2em;
    text-align: center;
    color: #888;
}

/* ── Responsive ────────────────────────────────────────────────────── */
@media ( max-width: 640px ) {
    .woodomains-pricing__toolbar {
        flex-direction: column;
        align-items: flex-start;
    }
    .woodomains-pricing__search-wrap {
        margin-left: 0;
        width: 100%;
    }
    .woodomains-pricing__search {
        width: 100%;
    }
    .woodomains-pricing__table th,
    .woodomains-pricing__table td {
        padding: .5em .6em;
    }
}
