/* ==========================================================
   Category Grid 18
   ========================================================== */
.ahcat18-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1px 16px 64px;
    font-family: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
}
.ahcat18-section * { box-sizing: border-box; }
.ahcat18-head { margin-bottom: 36px; text-align: center; }
.ahcat18-eyebrow { display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #7a7066; }
.ahcat18-heading { margin: 6px 0 8px; font-family: inherit; font-size: 34px; font-weight: 700; line-height: 1.2; color: #1c1917; }
.ahcat18-intro { margin: 0; max-width: 460px; font-size: 15px; line-height: 1.6; color: #6b635b; }
.ahcat18-all, .ahcat18-all:hover, .ahcat18-all:focus { white-space: nowrap; font-size: 14px; font-weight: 600; color: #1c1917; text-decoration: none; border-bottom: 2px solid #1c1917; padding-bottom: 2px; }
.ahcat18-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
.ahcat18-card { --ahcat18-bg: #F3EEE7; --ahcat18-mid: #E4DDD3; --ahcat18-acc: #1c1917; --ahcat18-ink: #1c1917; text-decoration: none; }
.ahcat18-card:hover, .ahcat18-card:focus { text-decoration: none; }
.ahcat18-card:focus-visible { outline: 3px solid #1c1917; outline-offset: 5px; border-radius: 12px; }
@media (max-width: 1024px) { .ahcat18-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
    .ahcat18-heading { font-size: 26px; }
    .ahcat18-grid { gap: 18px 12px; }
}

/* ---------- design ---------- */
.ahcat18-card{display:block;filter:drop-shadow(0 10px 14px rgba(28,25,23,.14));transform:rotate(var(--ahcat18-tilt));transition:transform .4s cubic-bezier(.2,.8,.2,1),filter .4s}
.ahcat18-card:nth-child(odd){--ahcat18-tilt:-2deg}.ahcat18-card:nth-child(even){--ahcat18-tilt:1.6deg}
.ahcat18-section--flat .ahcat18-card{--ahcat18-tilt:0deg}
.ahcat18-stamp{--ahcat18-hole:14px;padding:12px;background:#fffdf8;-webkit-mask:radial-gradient(circle at 50% 50%,transparent 4.5px,#000 5px) calc(var(--ahcat18-hole)/-2) calc(var(--ahcat18-hole)/-2)/var(--ahcat18-hole) var(--ahcat18-hole),linear-gradient(#000 0 0) content-box;mask:radial-gradient(circle at 50% 50%,transparent 4.5px,#000 5px) calc(var(--ahcat18-hole)/-2) calc(var(--ahcat18-hole)/-2)/var(--ahcat18-hole) var(--ahcat18-hole),linear-gradient(#000 0 0) content-box}
.ahcat18-inner{border:1.5px solid var(--ahcat18-mid);padding:8px;background:#fffdf8}
.ahcat18-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--ahcat18-bg)}
.ahcat18-section .ahcat18-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92)}
.ahcat18-no{position:absolute;right:8px;top:8px;font-size:13px;font-weight:700;color:var(--ahcat18-ink);background:rgba(255,253,248,.9);padding:3px 8px;border-radius:4px;letter-spacing:.04em}
.ahcat18-mark{position:absolute;left:-18px;bottom:-14px;width:96px;height:96px;color:var(--ahcat18-ink);opacity:.55;transform:rotate(-14deg);pointer-events:none}
.ahcat18-title{margin:12px 0 2px;text-align:center;font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ahcat18-ink)}
.ahcat18-link{display:block;text-align:center;font-size:12px;font-weight:500;color:#78716c;transition:color .25s}
.ahcat18-card:hover{transform:rotate(0) translateY(-8px) scale(1.03);filter:drop-shadow(0 18px 20px rgba(28,25,23,.2))}
.ahcat18-card:hover .ahcat18-link{color:var(--ahcat18-ink)}
@media (max-width:600px){.ahcat18-stamp{--ahcat18-hole:10px;padding:8px;-webkit-mask:radial-gradient(circle at 50% 50%,transparent 3px,#000 3.5px) -5px -5px/10px 10px,linear-gradient(#000 0 0) content-box;mask:radial-gradient(circle at 50% 50%,transparent 3px,#000 3.5px) -5px -5px/10px 10px,linear-gradient(#000 0 0) content-box}.ahcat18-inner{padding:5px}.ahcat18-mark{width:64px;height:64px}.ahcat18-no{font-size:10px;padding:2px 5px}.ahcat18-title{font-size:11px;letter-spacing:.08em;margin-top:8px}.ahcat18-link{font-size:11px}}
@media (prefers-reduced-motion:reduce){.ahcat18-card{transition:none}}

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

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