/* AmpVault Product Finder — styles scoped to plugin only */
.avf-section{padding:64px 16px;background:#fff;color:#14213d}
.avf-section *{box-sizing:border-box}
.avf-wrap{max-width:990px;margin:auto}
.avf-heading{text-align:center;margin-bottom:26px}
.avf-heading h2{font-size:clamp(25px,3.2vw,38px);margin:8px 0 10px;color:#14213d;line-height:1.2}
.avf-heading p{margin:0;color:#64748b}
.avf-eyebrow{font-weight:750;letter-spacing:.13em;color:#2563eb;font-size:12px}
.avf-shell{background:#f8fafc;border:1px solid #e2e8f0;border-radius:22px;padding:30px;box-shadow:0 8px 25px rgba(15,23,42,.035)}
.avf-progress{height:5px;background:#e2e8f0;border-radius:20px;overflow:hidden;margin:0 0 25px}
.avf-progress-bar{display:block;height:100%;width:33%;background:#2563eb;border-radius:20px;transition:width .18s ease}
.avf-step[hidden]{display:none!important}
.avf-step-label{font-size:11px;letter-spacing:.1em;color:#2563eb;font-weight:800;margin:0 0 7px}
.avf-step h3{margin:0 0 20px;font-size:clamp(19px,2.7vw,25px);color:#14213d}
.avf-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.avf-rating-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.avf-length-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.avf-choice{width:100%;text-align:left;padding:19px;border:2px solid #e2e8f0;background:#fff;border-radius:14px;cursor:pointer;color:#14213d;display:flex;flex-direction:column;gap:6px;min-height:88px;font-family:inherit}
.avf-choice:hover,.avf-choice:focus-visible{border-color:#2563eb;background:#eff6ff;outline-offset:2px}
.avf-choice strong{font-size:16px;line-height:1.3}.avf-choice small{font-size:12px;color:#64748b;line-height:1.5}
.avf-choice:disabled{cursor:not-allowed;opacity:.6}
.avf-help{font-size:12px;color:#64748b;margin:18px 0 0}
.avf-back,.avf-reset{display:inline-block;background:transparent;border:0;padding:14px 6px 2px 0;margin-top:10px;color:#1d4ed8;font-weight:650;cursor:pointer;font-family:inherit;font-size:14px}
.avf-reset{margin-left:18px}
.avf-result-card{display:grid;grid-template-columns:200px minmax(0,1fr);gap:22px;padding:18px;background:white;border-radius:16px;border:1px solid #e2e8f0}
.avf-result-image{min-height:180px;display:grid;place-items:center}
.avf-product-image{max-width:100%;max-height:215px;width:auto;height:auto;object-fit:contain}
.avf-result-title{margin:0 0 8px!important;font-size:21px!important}
.avf-result-selection{font-size:14px;color:#64748b;margin:0 0 8px}
.avf-result-price{font-size:20px;font-weight:750;margin-bottom:10px}
.avf-stock{font-size:13px;font-weight:700;margin:0 0 18px}.avf-stock[data-stock="in_stock"]{color:#16703a}.avf-stock[data-stock="backorder"]{color:#9a580b}.avf-stock[data-stock="out_of_stock"]{color:#a33720}
.avf-primary{display:inline-flex!important;justify-content:center;align-items:center;padding:13px 18px;background:#2563eb;color:white!important;text-decoration:none!important;border-radius:10px;font-size:14px;font-weight:750;line-height:1.3}
.avf-primary:hover{background:#1d4ed8}
.avf-disclaimer{font-size:12px;color:#64748b;line-height:1.6;margin:13px 0 0}
@media(max-width:767px){.avf-section{padding:42px 16px}.avf-shell{padding:18px 14px;border-radius:16px}.avf-rating-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.avf-rating-grid .avf-choice{padding:12px 8px;min-height:98px}.avf-rating-grid .avf-choice strong{font-size:14px}.avf-rating-grid .avf-choice small{font-size:10px}.avf-choice-grid:not(.avf-rating-grid):not(.avf-length-grid){grid-template-columns:1fr}.avf-length-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.avf-length-grid .avf-choice{min-height:60px;padding:11px 5px;align-items:center;text-align:center}.avf-length-grid .avf-choice strong{font-size:14px}.avf-length-grid .avf-choice small{font-size:10px}.avf-result-card{grid-template-columns:1fr;gap:10px}.avf-result-image{min-height:130px}.avf-product-image{max-height:170px}}
@media(prefers-reduced-motion:reduce){.avf-progress-bar{transition:none}}

.avf-runtime-error:not([hidden]){margin:16px 0 0;padding:12px;border:1px solid #fca5a5;background:#fef2f2;color:#991b1b;border-radius:10px;font-size:14px}

/* ============================================
   AMPVAULT PRODUCT FINDER V1.3
   Standard / Digital / Outdoor
   ============================================ */

/* Ensure hidden stages and controls stay hidden */
.avf-section [hidden] {
    display: none !important;
}

/* Three product choices on desktop */
.avf-type-grid {
    grid-template-columns: repeat(
        3,
        minmax(0, 1fr)
    );
}

/* Selected choices */
.avf-choice[aria-pressed="true"] {
    background: #eff6ff;
    border-color: #2563eb;
    box-shadow: 0 0 0 1px #2563eb;
}

/* Clear keyboard focus */
.avf-choice:focus-visible,
.avf-back:focus-visible,
.avf-reset:focus-visible,
.avf-primary:focus-visible {
    outline: 3px solid #2563eb;
    outline-offset: 3px;
}

/* Product descriptions and length summaries */
.avf-length-summary {
    color: #64748b;
    font-size: 14px;
    line-height: 1.65;
    margin: 0 0 20px;
}

/* Simple products without cable variations */
.avf-simple-note {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    padding: 18px;
    margin: 16px 0;
}

.avf-simple-note p {
    margin: 0 0 16px;
    color: #1e3a8a;
    font-size: 14px;
    line-height: 1.6;
}

.avf-simple-continue {
    border: none;
    cursor: pointer;
    font-family: inherit;
}

/* Product result refinements */
.avf-result-body {
    min-width: 0;
}

.avf-result-price {
    overflow-wrap: anywhere;
}

.avf-stock {
    line-height: 1.5;
}

/* Keep sale/regular WooCommerce prices readable */
.avf-result-price del {
    color: #94a3b8;
    font-size: 15px;
}

.avf-result-price ins {
    color: #14213d;
    text-decoration: none;
}

/* Tablet */
@media (max-width: 900px) {
    .avf-type-grid {
        grid-template-columns: repeat(
            2,
            minmax(0, 1fr)
        );
    }
}

/* Mobile */
@media (max-width: 767px) {

    .avf-section .avf-choice-grid.avf-type-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .avf-type-grid .avf-choice {
        min-height: 76px;
        padding: 15px;
    }

    .avf-type-grid .avf-choice strong {
        font-size: 15px;
    }

    .avf-type-grid .avf-choice small {
        font-size: 12px;
    }

    .avf-simple-continue {
        width: 100%;
    }
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
    .avf-choice,
    .avf-progress-bar {
        transition: none !important;
    }
}
