.pp-atc-overlay{
    position:fixed; inset:0; display:none; align-items:center; justify-content:center;
    background:rgba(0,0,0,.55); z-index:999999;
    padding:18px;
}
.pp-atc-overlay.is-open{ display:flex; }
.pp-atc-modal{
    width:min(520px, 100%);
    background:#fff; border-radius:14px;
    box-shadow:0 20px 60px rgba(0,0,0,.25);
    padding:18px 18px 14px;
    position:relative;
}
.pp-atc-close{
    position:absolute; top:10px; right:12px;
    border:0; background:transparent; font-size:26px; line-height:1;
    cursor:pointer; opacity:.7;
}
.pp-atc-close:hover{ opacity:1; }
.pp-atc-head{ display:flex; gap:12px; align-items:flex-start; padding-right:24px; }
.pp-atc-icon{
    width:32px; height:32px; border-radius:999px;
    display:flex; align-items:center; justify-content:center;
    background:#e9f9ee; color:#1a7f37; font-weight:700;
    flex:0 0 auto;
}
.pp-atc-title{ font-weight:700; font-size:16px; }
.pp-atc-sub{ opacity:.8; font-size:13px; margin-top:2px; }

.pp-atc-product{
    display:flex; gap:12px; align-items:center;
    border-top:1px solid rgba(0,0,0,.07);
    border-bottom:1px solid rgba(0,0,0,.07);
    padding:12px 0; margin:12px 0;
}
.pp-atc-img{
    width:64px; height:64px; object-fit:cover;
    border-radius:10px; background:#f3f3f3;
    flex:0 0 auto;
}
.pp-atc-name{ font-weight:600; }
.pp-atc-price{ opacity:.8; font-size:13px; margin-top:4px; }

.pp-atc-actions{
    display:flex; gap:10px; flex-wrap:wrap;
}
.pp-atc-actions .button{
    flex:1 1 auto;
    text-align:center;
    padding:.75em 1em;
}

@media (max-width: 420px){
    .pp-atc-product{ align-items:flex-start; }
    .pp-atc-img{ width:56px; height:56px; }
}
/* ===== Cross-sells (vorm zoals screenshot 1) ===== */
.pp-atc-cross{
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(0,0,0,.08);
}

.pp-atc-cross-title{
    font-weight: 800;
    font-size: 22px;           /* groter zoals screenshot 1 */
    line-height: 1.1;
    margin: 6px 0 14px;
}

.wij-cross-sells__subtitle{
    margin: 6px 0 14px;
    font-weight: 600;
    font-size: 13px;
    opacity: .8;
}

/* 3 kaarten naast elkaar */
.pp-atc-cross-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

/* Card */
.pp-atc-cross-item{
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 10px;
    background: #fff;
    padding: 14px;
    text-align: center;
}

/* Afbeelding bovenin */
.pp-atc-cross-image{
    display: block;
    margin: 0 auto 10px;
}

.pp-atc-cross-image img{
    width: 70px;               /* product “packshot” formaat */
    height: 70px;
    object-fit: contain;       /* belangrijk! zoals screenshot 1 */
    background: transparent;
    border-radius: 0;
}

/* Prijs prominent */
.pp-atc-cross-price{
    font-size: 18px;
    font-weight: 800;
    margin: 4px 0 6px;
    /* geen vaste kleur, laat theme/woocommerce het bepalen */
}

/* Naam (2 regels max) */
.pp-atc-cross-name{
    font-weight: 600;
    font-size: 13px;
    line-height: 1.25;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;

    min-height: 2.6em;         /* zorgt dat cards even hoog blijven */
}

/* CTA klein/clean (niet zo’n grote balk) */
.pp-atc-cross-actions{
    margin-top: 12px;
}

.pp-atc-cross-actions .button,
.pp-atc-cross-btn{
    width: 100%;
    padding: .55em .8em;
    font-size: 13px;
    border-radius: 999px;
}

/* Responsive */
@media (max-width: 900px){
    .pp-atc-cross-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 520px){
    .pp-atc-cross-grid{ grid-template-columns: 1fr; }
}

.pp-atc-modal{
    width: min(720px, 100%);
}

/* Force cross-sells area to use full modal width */
.pp-atc-modal,
.pp-atc-cross,
#pp-atc-cross-grid{
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Alleen de echte grid (inner) */
.pp-atc-cross-grid{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    justify-items: stretch;
    align-items: stretch;
}

.pp-atc-cross-item{ min-width: 0; }

.pp-atc-cross-btn{
    display: block !important;
    width: 100% !important;
    white-space: nowrap;
    box-sizing: border-box;
}

.pp-atc-modal{
    width: min(740px, 100%) !important;
}
