/* Precious Waitlist — frontend (Jie Keramik huisstijl) */

/* ---- Loop-knop (link gestyled als knop) ---- */
.woocommerce ul.products li.product a.pcw-loop-notify,
.woocommerce .products .product a.pcw-loop-notify {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    min-height: 48px;
    padding: 12px 18px;
    margin-top: 12px;
    background-color: #1A2B4A;
    color: #FFF;
    border: 1px solid #1A2B4A;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .03em;
    line-height: 1.2;
    text-transform: uppercase;
    box-sizing: border-box;
    cursor: pointer;
    text-decoration: none;
}
.woocommerce ul.products li.product a.pcw-loop-notify:hover,
.woocommerce .products .product a.pcw-loop-notify:hover {
    background-color: #0F1D38;
    border-color: #0F1D38;
    color: #FFF;
}
.pcw-loop-notify.is-loading { opacity: .7; cursor: progress; }
.pcw-loop-notify.is-done {
    background-color: #176A62 !important;
    border-color: #176A62 !important;
    color: #FFF !important;
    cursor: default;
}

/* ---- Inline blok op de productpagina ---- */
.pcw-waitlist-block {
    margin: 1rem 0;
    padding: 1rem 1.1rem;
    background: #FAF8F3;
    border: 1px solid #E8E4DA;
    border-radius: 4px;
    text-align: center;
}
.pcw-waitlist-block__eyebrow {
    font-size: 10px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #8B7028;
    font-weight: 600;
    margin-bottom: .35rem;
}
.pcw-waitlist-block__intro {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 13px;
    line-height: 1.55;
    color: #5F5C55;
    margin: 0 auto .85rem;
    max-width: 460px;
}

/* ---- No-JS / inline melding ---- */
.pcw-waitlist-notice {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 13px;
    line-height: 1.5;
    margin: 0 auto .85rem;
    max-width: 460px;
    padding: .6rem .8rem;
    border-radius: 3px;
}
.pcw-waitlist-notice--ok  { color: #176A62; background: #EAF3F1; border: 1px solid #cfe6e1; }
.pcw-waitlist-notice--err { color: #9b2c2c; background: #fbeaea; border: 1px solid #f0cccc; }

/* ---- Het formulier (popup én inline) ---- */
.pcw-waitlist { margin: 0; }
.pcw-waitlist__row { display: flex; flex-direction: column; gap: 8px; }
.pcw-waitlist__email {
    width: 100%;
    height: 44px;
    box-sizing: border-box;
    background: #FFF;
    border: 1px solid #D7D2C5;
    border-radius: 2px;
    padding: 10px 12px;
    font-size: 14px;
    color: #2A2823;
    text-align: center;
    box-shadow: none;
}
.pcw-waitlist__email:focus { border-color: #1A2B4A; outline: none; }
.pcw-waitlist__hp {
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}
.pcw-waitlist__submit {
    width: 100%;
    height: 44px;
    box-sizing: border-box;
    background: #1A2B4A;
    color: #FFF;
    border: none;
    border-radius: 2px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: none;
}
.pcw-waitlist__submit:hover { background: #0F1D38; }
.pcw-waitlist__submit[disabled] { opacity: .7; cursor: progress; }
.pcw-waitlist__status {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 13px;
    line-height: 1.5;
    color: #5F5C55;
    margin-top: .6rem;
}
.pcw-waitlist.is-success .pcw-waitlist__row { display: none; }
.pcw-waitlist.is-success .pcw-waitlist__status { color: #176A62; font-style: italic; margin-top: 0; }
.pcw-waitlist-block.is-success .pcw-waitlist-block__intro { display: none; }
.pcw-term-alert.is-success .pcw-term-alert__intro { display: none; }
.pcw-waitlist__status.is-error { color: #9b2c2c; }

/* ---- Modal ---- */
.pcw-waitlist-modal[hidden] { display: none; }
.pcw-waitlist-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.pcw-waitlist-modal__overlay { position: absolute; inset: 0; background: rgba(15,29,56,.55); }
.pcw-waitlist-modal__dialog {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 420px;
    background: #FAF8F3;
    border: 1px solid #E8E4DA;
    border-radius: 4px;
    padding: 2rem 1.75rem 1.75rem;
    text-align: center;
    box-shadow: 0 18px 50px rgba(15,29,56,.22);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.pcw-waitlist-modal__close {
    position: absolute;
    top: .4rem;
    right: .55rem;
    width: 34px;
    height: 34px;
    background: none;
    border: none;
    font-size: 24px;
    line-height: 1;
    color: #9C9890;
    cursor: pointer;
    padding: 0;
}
.pcw-waitlist-modal__close:hover { color: #1A2B4A; }
.pcw-waitlist-modal__eyebrow {
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #8B7028;
    font-weight: 600;
    margin-bottom: .4rem;
}
.pcw-waitlist-modal__product {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 20px;
    font-weight: 500;
    color: #1A1A1A;
    margin: 0 0 .6rem;
    line-height: 1.25;
}
.pcw-waitlist-modal__intro {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 13px;
    line-height: 1.55;
    color: #5F5C55;
    margin: 0 auto 1.1rem;
    max-width: 340px;
}
body.pcw-waitlist-open { overflow: hidden; }

@media (max-width: 480px) {
    .pcw-waitlist-modal__dialog { padding: 1.75rem 1.25rem 1.25rem; }
    .pcw-waitlist-modal__product { font-size: 18px; }
}

/* ---- Collector term alerts ---- */
.pcw-term-alert-block {
    margin: 1rem 0;
    padding: 1rem 1.1rem;
    background: #FAF8F3;
    border: 1px solid #E8E4DA;
    border-radius: 4px;
    text-align: center;
}
.pcw-term-alert-block--archive {
    margin: 1.25rem 0;
}
.pcw-term-alert { margin: 0; }
.pcw-term-alert__title {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 18px;
    line-height: 1.3;
    color: #1A1A1A;
    margin: 0 0 .4rem;
}
.pcw-term-alert__intro,
.pcw-term-alert__consent {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 13px;
    line-height: 1.55;
    color: #5F5C55;
    margin: 0 auto .85rem;
    max-width: 520px;
}
.pcw-term-alert__consent {
    margin-top: .65rem;
    margin-bottom: 0;
    font-size: 12px;
    color: #77736B;
}
.pcw-term-alert__choices {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
    margin: .85rem auto;
    max-width: 520px;
    text-align: left;
}
.pcw-term-alert__choice {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    padding: 8px 10px;
    background: #FFF;
    border: 1px solid #E8E4DA;
    border-radius: 3px;
    font-size: 13px;
    line-height: 1.35;
    color: #2A2823;
}
.pcw-term-alert__choice input { margin-top: 2px; }
.pcw-term-alert__row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 420px;
    margin: 0 auto;
}
.pcw-term-alert__email {
    width: 100%;
    height: 44px;
    box-sizing: border-box;
    background: #FFF;
    border: 1px solid #D7D2C5;
    border-radius: 2px;
    padding: 10px 12px;
    font-size: 14px;
    color: #2A2823;
    text-align: center;
    box-shadow: none;
}
.pcw-term-alert__email:focus { border-color: #1A2B4A; outline: none; }
.pcw-term-alert__submit {
    width: 100%;
    height: 44px;
    box-sizing: border-box;
    background: #1A2B4A;
    color: #FFF;
    border: none;
    border-radius: 2px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: none;
}
.pcw-term-alert__submit:hover { background: #0F1D38; }
.pcw-term-alert__submit[disabled] { opacity: .7; cursor: progress; }
.pcw-term-alert__status {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 13px;
    line-height: 1.5;
    color: #5F5C55;
    margin-top: .6rem;
}
.pcw-term-alert.is-success .pcw-term-alert__row,
.pcw-term-alert.is-success .pcw-term-alert__choices,
.pcw-term-alert.is-success .pcw-term-alert__consent { display: none; }
.pcw-term-alert.is-success .pcw-term-alert__status { color: #176A62; font-style: italic; margin-top: 0; }
.pcw-term-alert__status.is-error { color: #9b2c2c; }

/* My Account — Collector Alerts */
.pcw-account-alerts {
    max-width: 960px;
}
.pcw-account-alerts__intro {
    margin: 0 0 1.25rem;
    color: #5F5C55;
}
.pcw-account-alerts__section {
    margin: 0 0 2rem;
    padding: 1.15rem;
    background: #FAF8F3;
    border: 1px solid #E8E4DA;
    border-radius: 4px;
}
.pcw-account-alerts__section h3 {
    margin-top: 0;
}
.pcw-account-alerts__table-wrap {
    overflow-x: auto;
}
.pcw-account-alerts__table {
    margin-bottom: 0;
}
.pcw-account-alerts__remove {
    white-space: nowrap;
}

.pcw-account-alerts__section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: .85rem;
}
.pcw-account-alerts__section-head h3 {
    margin-bottom: .35rem;
}
.pcw-account-alerts__filters {
    display: flex;
    gap: .4rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.pcw-account-alerts__filter {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: .25rem .65rem;
    border: 1px solid #D7D2C5;
    background: #FFF;
    color: #1A2B4A;
    font-size: 12px;
    line-height: 1.2;
    text-decoration: none;
    border-radius: 2px;
}
.pcw-account-alerts__filter:hover,
.pcw-account-alerts__filter.is-active {
    background: #1A2B4A;
    border-color: #1A2B4A;
    color: #FFF;
}
.pcw-account-alerts__available h4 {
    margin: 1rem 0 .45rem;
    font-size: 14px;
    color: #1A2B4A;
}
.pcw-account-alerts__available-group:first-of-type h4 {
    margin-top: .25rem;
}
.pcw-account-alerts__checkbox-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
}
.pcw-account-alerts__checkbox {
    display: flex;
    gap: .45rem;
    align-items: flex-start;
    padding: .55rem .65rem;
    background: #FFF;
    border: 1px solid #E8E4DA;
    border-radius: 3px;
    font-size: 13px;
    line-height: 1.35;
    color: #2A2823;
}
.pcw-account-alerts__checkbox input {
    margin-top: 2px;
}
.pcw-account-alerts__follow-button {
    margin-top: 1rem;
}
.pcw-term-alert--account.is-success .pcw-account-alerts__available-group,
.pcw-term-alert--account.is-success .pcw-account-alerts__follow-button {
    display: none;
}
@media (max-width: 700px) {
    .pcw-account-alerts__section-head {
        display: block;
    }
    .pcw-account-alerts__filters {
        justify-content: flex-start;
        margin-top: .5rem;
    }
    .pcw-account-alerts__checkbox-grid {
        grid-template-columns: 1fr;
    }
}

/* ---- My Account layout refinements v0.3.5 ---- */
.woocommerce-MyAccount-content .pcw-account-alerts__section-head {
    align-items: center;
}

.woocommerce-MyAccount-content .pcw-account-alerts__filters {
    gap: .5rem;
}

.woocommerce-MyAccount-content .pcw-account-alerts__filter,
.woocommerce-MyAccount-content .pcw-account-alerts__filter:visited {
    background: #FFF !important;
    border-color: #D7D2C5 !important;
    color: #1A2B4A !important;
    text-decoration: none !important;
}

.woocommerce-MyAccount-content .pcw-account-alerts__filter:hover,
.woocommerce-MyAccount-content .pcw-account-alerts__filter:focus {
    background: #FAF8F3 !important;
    border-color: #C7A24A !important;
    color: #1A2B4A !important;
    text-decoration: none !important;
}

.woocommerce-MyAccount-content .pcw-account-alerts__filter.is-active,
.woocommerce-MyAccount-content .pcw-account-alerts__filter.is-active:visited,
.woocommerce-MyAccount-content .pcw-account-alerts__filter.is-active:hover,
.woocommerce-MyAccount-content .pcw-account-alerts__filter.is-active:focus {
    background: #1A2B4A !important;
    border-color: #1A2B4A !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
}

.woocommerce-MyAccount-content .pcw-account-alerts__available-group {
    margin-bottom: 1rem;
}

.woocommerce-MyAccount-content .pcw-account-alerts__checkbox-grid {
    margin-bottom: .35rem;
}

.woocommerce-MyAccount-content .pcw-account-alerts__follow-button,
.woocommerce-MyAccount-content .pcw-account-alerts__follow-button.button {
    display: block !important;
    width: 100% !important;
    margin: 1.5rem 0 0 !important;
    clear: both;
    background: #1A2B4A !important;
    border: 1px solid #1A2B4A !important;
    color: #FFFFFF !important;
    text-align: center !important;
    text-decoration: none !important;
}

.woocommerce-MyAccount-content .pcw-account-alerts__follow-button:hover,
.woocommerce-MyAccount-content .pcw-account-alerts__follow-button:focus,
.woocommerce-MyAccount-content .pcw-account-alerts__follow-button.button:hover,
.woocommerce-MyAccount-content .pcw-account-alerts__follow-button.button:focus {
    background: #0F1D38 !important;
    border-color: #0F1D38 !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
}

@media (max-width: 700px) {
    .woocommerce-MyAccount-content .pcw-account-alerts__filter {
        min-height: 34px;
    }
}


/* ---- My Account inline unsubscribe hotfix v0.3.7 ---- */
.woocommerce-MyAccount-content .pcw-account-alerts__remove.is-loading,
.woocommerce-MyAccount-content .pcw-account-alerts__remove.is-loading:hover,
.woocommerce-MyAccount-content .pcw-account-alerts__remove.is-loading:focus {
    opacity: .75 !important;
    cursor: progress !important;
}

.woocommerce-MyAccount-content .pcw-account-alerts__remove.is-done,
.woocommerce-MyAccount-content .pcw-account-alerts__remove.is-done:visited,
.woocommerce-MyAccount-content .pcw-account-alerts__remove.is-done:hover,
.woocommerce-MyAccount-content .pcw-account-alerts__remove.is-done:focus {
    background: #F2FAF8 !important;
    border: 1px solid #BFDCD7 !important;
    color: #2F726A !important;
    cursor: default !important;
    pointer-events: none !important;
}

.woocommerce-MyAccount-content .pcw-account-alerts__table tr.is-unsubscribed td {
    color: #6F6B63;
    opacity: .78;
}

.woocommerce-MyAccount-content .pcw-account-alerts__inline-error {
    display: block;
    margin-top: .45rem;
    color: #9B2C2C;
    font-size: 12px;
}

/* Modal succes-state: intro weg, alleen bevestiging + OK */
.pcw-waitlist-modal.is-success .pcw-waitlist-modal__intro { display: none; }
.pcw-waitlist-modal__ok {
    display: block;
    margin: 1.25rem auto 0;
    padding: 11px 38px;
    background: #13284B;
    color: #FFFFFF;
    border: none;
    border-radius: 2px;
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 600;
    cursor: pointer;
}
.pcw-waitlist-modal__ok:hover { background: #0F203C; }
.pcw-waitlist-modal__ok[hidden] { display: none; }
