/* Affiliate product cards. Colours are CSS variables so each site can match its theme.
   .aptk-palette-neutral (default for new sites) inherits the theme's fonts and text colours;
   --aptk-accent (Settings > Button colour) overrides the button colour on either. */
.aptk-palette-neutral{--aptk-title:inherit;--aptk-text:inherit;--aptk-muted:inherit;--aptk-card-bg:#fff;--aptk-border:rgba(0,0,0,.12);--aptk-shadow:0 6px 20px rgba(0,0,0,.06);--aptk-image-bg:rgba(0,0,0,.03);--aptk-badge-bg:rgba(0,0,0,.08);--aptk-badge-text:inherit;--aptk-star:#f5a623;--aptk-button-bg:var(--aptk-accent,var(--wp--preset--color--primary,#1f2937));--aptk-button-hover:var(--aptk-button-bg);--aptk-button-text:#fff;--aptk-placeholder:linear-gradient(135deg,#6b7280,#374151)}
.aptk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0}
.aptk-columns-1{grid-template-columns:1fr}
.aptk-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.aptk-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.aptk-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.aptk-single{max-width:420px;margin:28px auto}
.aptk-card{background:var(--aptk-card-bg);border:1px solid var(--aptk-border);border-radius:16px;overflow:hidden;box-shadow:var(--aptk-shadow);display:flex;flex-direction:column;height:100%;box-sizing:border-box}
.aptk-image{display:flex;align-items:center;justify-content:center;background:var(--aptk-image-bg);min-height:220px;padding:20px;text-decoration:none}
.aptk-image img{width:100%;height:240px;object-fit:contain}
.aptk-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:200px;background:var(--aptk-placeholder);color:#fff;font-weight:700;font-size:24px;text-align:center;padding:0 12px;box-sizing:border-box}
.aptk-card-body{padding:22px;display:flex;flex-direction:column;flex:1}
.aptk-card .aptk-title{margin:10px 0;font-size:22px;line-height:1.3;font-weight:700}
.aptk-card .aptk-title a{color:var(--aptk-title);text-decoration:none}
.aptk-badge{align-self:flex-start;background:var(--aptk-badge-bg);color:var(--aptk-badge-text);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;text-transform:uppercase}
.aptk-rating{color:var(--aptk-star);letter-spacing:2px;font-size:18px}
.aptk-best-for,.aptk-description{color:var(--aptk-text)}
.aptk-description{flex:1}
.aptk-price{font-weight:700;color:var(--aptk-title)}
.aptk-button{display:block;margin-top:auto;text-align:center;background:var(--aptk-button-bg);color:var(--aptk-button-text)!important;text-decoration:none;border-radius:10px;padding:13px 18px;font-weight:700}
.aptk-button:hover,.aptk-button:focus{background:var(--aptk-button-hover)}
.aptk-palette-neutral .aptk-button:hover,.aptk-palette-neutral .aptk-button:focus{filter:brightness(.88)}
.aptk-disclosure{font-size:13px;color:var(--aptk-muted);font-style:italic;margin:16px 0 0}
.aptk-heading{font-size:20px;font-weight:700;margin:28px 0 0;color:var(--aptk-title)}
.aptk-heading+.aptk-grid,.aptk-heading+.aptk-card{margin-top:12px}
@media (max-width:1024px){.aptk-columns-3,.aptk-columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.aptk-grid{grid-template-columns:1fr}.aptk-image img{height:210px}}
