/* ==========================================================
   Product Card 12 — Ribbon
   ========================================================== */
.ahpc12-section {
    --ahpc12-brand: #185FA5;
    --ahpc12-brand-dark: #042C53;
    --ahpc12-sale: #A32D2D;
    --ahpc12-soft: #F5F3EF;
    --ahpc12-line: #E8E4DE;
    --ahpc12-text: #1c1917;
    --ahpc12-muted: #78716c;
    --ahpc12-card: #ffffff;
    --ahpc12-radius: 16px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 1px 16px 64px;
    font-family: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
}
.ahpc12-section * { box-sizing: border-box; }

.ahpc12-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 28px; }
.ahpc12-heading { margin: 0; font-family: inherit; font-size: 30px; font-weight: 700; line-height: 1.2; color: var(--ahpc12-text); }
.ahpc12-intro { margin: 6px 0 0; font-size: 15px; color: #6b635b; }
.ahpc12-all,
.ahpc12-all:hover,
.ahpc12-all:focus { white-space: nowrap; font-size: 14px; font-weight: 600; color: var(--ahpc12-text); text-decoration: none; border-bottom: 2px solid var(--ahpc12-text); padding-bottom: 2px; }

.ahpc12-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.ahpc12-card { position: relative; display: flex; flex-direction: column; min-width: 0; }
.ahpc12-img { display: block; position: relative; aspect-ratio: 1; overflow: hidden; background: var(--ahpc12-soft); }
.ahpc12-section .ahpc12-img img { width: 100%; height: 100%; max-width: none; margin: 0; object-fit: cover; display: block; border-radius: 0; transition: transform .6s ease; }
.ahpc12-section .ahpc12-card:hover .ahpc12-img img { transform: scale(1.06); }
.ahpc12-name { margin: 0; font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--ahpc12-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.8em; }
.ahpc12-name a { color: inherit; text-decoration: none; }
.ahpc12-name a:hover { text-decoration: underline; }
.ahpc12-price { font-size: 17px; font-weight: 700; color: var(--ahpc12-text); }
.ahpc12-old { font-size: 13px; color: var(--ahpc12-muted); text-decoration: line-through; margin-left: 6px; font-weight: 400; }
.ahpc12-price .woocommerce-Price-amount,
.ahpc12-old .woocommerce-Price-amount { color: inherit; }
.ahpc12-section a:focus-visible,
.ahpc12-section button:focus-visible { outline: 3px solid var(--ahpc12-brand); outline-offset: 2px; }

/* WooCommerce AJAX add-to-cart states */
.ahpc12-section .added_to_cart { display: none !important; }
.ahpc12-section a.loading { opacity: .6; pointer-events: none; }

@media (max-width: 1024px) { .ahpc12-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) {
    .ahpc12-head { flex-direction: column; align-items: flex-start; }
    .ahpc12-heading { font-size: 24px; }
    .ahpc12-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 10px; }
    .ahpc12-name { font-size: 13px; }
    .ahpc12-price { font-size: 15px; }
    .ahpc12-old { font-size: 11px; margin-left: 4px; }
}
@media (prefers-reduced-motion: reduce) { .ahpc12-section * { transition: none !important; animation: none !important; } }

/* ---------- design-specific ---------- */
.ahpc12-card{background:#fff;border:1px solid var(--ahpc12-line);border-radius:var(--ahpc12-radius);overflow:hidden;transition:transform .3s,box-shadow .3s}
.ahpc12-card:hover{transform:translateY(-4px);box-shadow:0 16px 28px -18px rgba(28,25,23,.35)}
.ahpc12-ribbon{position:absolute;top:18px;right:-38px;z-index:2;width:150px;text-align:center;transform:rotate(45deg);background:var(--ahpc12-sale);color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em;padding:5px 0}
.ahpc12-body{padding:14px;display:flex;flex-direction:column;flex:1}
.ahpc12-pricebox{margin:8px 0}
.ahpc12-save{align-self:flex-start;font-size:12px;font-weight:600;color:#27500A;background:#EAF3DE;padding:4px 10px;border-radius:6px}
.ahpc12-btn{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:14px;color:var(--ahpc12-brand);font-size:14px;font-weight:600;text-decoration:none}
.ahpc12-btn span{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#E6F1FB;transition:background .2s,color .2s}
.ahpc12-btn:hover span{background:var(--ahpc12-brand);color:#fff}
@media (max-width:600px){.ahpc12-section{--ahpc12-radius:12px}.ahpc12-ribbon{top:12px;right:-44px;font-size:10px;padding:3px 0}.ahpc12-body{padding:10px}.ahpc12-save{font-size:10px;padding:3px 7px}.ahpc12-btn{font-size:12px;padding-top:10px}.ahpc12-btn span{width:28px;height:28px}}
.ahpc12-card{background:var(--ahpc12-card)}
.ahpc12-btn.added .ahpc12-btn-icon{background:var(--ahpc12-brand);color:#fff}

/* --- Header alignment helper (set by the Header Alignment control) --- */
.ahpc12-intro { margin-left: var(--ahpc12-intro-l, 0); margin-right: var(--ahpc12-intro-r, 0); }

/* --- Sharp images (same as Product Card 1–7): no blur while hover-zooming --- */
.ahpc12-section .ahpc12-img img {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
    image-rendering: -webkit-optimize-contrast;
}
.ahpc12-section .ahpc12-card:hover .ahpc12-img img { transform: scale(1.06) translateZ(0); }

/* --- Alignment: match plugin containers (Product Card 1–7, Category Grid 1–9): full width, 65px sides, 5px on mobile --- */
.ahpc12-section { max-width: 100%; padding-left: 65px; padding-right: 65px; }
@media (max-width: 768px) {
    .ahpc12-section { padding: 1px; }
}
