/* Slot review directory (/slots/). Scoped to body.dir-v2; tokens from redesign.css, breadcrumb from guide.css. */
.dir-v2{background:#fff}
.dir-v2 .dir-main{max-width:1264px;margin:0 auto;padding:0 32px 64px}
.dir-v2 .dir-main p{margin:0 0 14px}
.dir-v2 .dir-main a{color:var(--green);text-decoration:none}
.dir-v2 .dir-main a:hover{color:var(--green-dark)}
.dir-v2 .dir-main .material-symbols-outlined{color:var(--green)}

/* Heading */
.dir-v2 .dir-head{max-width:860px;margin-bottom:28px}
.dir-v2 .dir-title{margin:0 0 12px;font-size:clamp(32px,4vw,46px);font-weight:700;line-height:1.1;letter-spacing:-.025em;color:var(--ink)}
.dir-v2 .dir-head p{font-size:17px;color:#2F443B}
.dir-v2 .dir-head strong{font-weight:600;color:var(--ink)}

/* Controls */
.dir-v2 .dir-controls{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:end}
.dir-v2 .dir-field label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.dir-v2 .dir-input{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.dir-v2 .dir-input:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(8,123,84,.15)}
.dir-v2 .dir-input input{flex:1;min-width:0;height:48px;border:0;background:transparent;font-size:16px;color:var(--ink);outline:none;box-shadow:none}
.dir-v2 .dir-field select{width:100%;height:50px;padding:0 40px 0 14px;border:1px solid var(--border);border-radius:10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23102C23' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/18px;font-size:16px;color:var(--ink);appearance:none;-webkit-appearance:none;cursor:pointer}
.dir-v2 .dir-field select:focus-visible{outline:3px solid #1564b0;outline-offset:2px}
.dir-v2 .dir-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.dir-v2 .dir-chip{min-height:44px;padding:8px 16px;border:1px solid var(--border);border-radius:999px;background:#fff;color:#2F443B;font-size:15px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s}
.dir-v2 .dir-chip:hover{border-color:#9CC7AE;color:var(--green)}
.dir-v2 .dir-chip.active{background:var(--green);border-color:var(--green);color:#fff}
.dir-v2 .dir-status{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin:12px 0 16px}
.dir-v2 .dir-status p{margin:0!important;font-size:15px;color:var(--muted)}
.dir-v2 .dir-reset{min-height:44px;padding:0 4px;border:0;background:none;color:var(--green);font-size:15px;font-weight:600}
.dir-v2 .dir-reset:hover{color:var(--green-dark)}
.dir-v2 .dir-reset--solid{margin-top:8px;padding:0 20px;border-radius:10px;background:var(--green);color:#fff}
.dir-v2 .dir-reset--solid:hover{background:var(--green-dark);color:#fff}

/* Card grid: 4 / 3 / 2 / 1 columns */
.dir-v2 .dir-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.dir-v2 .dir-main a.dir-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.dir-v2 .dir-main a.dir-card:hover{border-color:#9CC7AE;box-shadow:0 6px 18px rgba(16,44,35,.08)}
.dir-v2 .dir-main a.dir-card[hidden]{display:none}
.dir-v2 .dir-card__media{display:block;aspect-ratio:16/10;background:var(--surface);overflow:hidden}
.dir-v2 .dir-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.dir-v2 .dir-main a.dir-card:hover .dir-card__media img{transform:scale(1.03)}
.dir-v2 .dir-card__body{display:flex;flex-direction:column;flex:1;gap:8px;padding:14px 16px 16px}
.dir-v2 .dir-card__title{margin:0;font-size:17px;font-weight:600;line-height:1.3;color:var(--ink)}
.dir-v2 .dir-main a.dir-card:hover .dir-card__title{color:var(--green)}
.dir-v2 .dir-card__meta{display:flex;justify-content:space-between;gap:10px;margin-top:auto;font-size:14px;color:var(--muted)}
.dir-v2 .dir-card__rtp{font-weight:600;color:var(--ink);white-space:nowrap}
.dir-v2 .dir-card__more{color:var(--green);font-weight:500}

/* Empty state and pagination */
.dir-v2 .dir-empty{padding:48px 20px;text-align:center;border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface)}
.dir-v2 .dir-empty .material-symbols-outlined{font-size:40px}
.dir-v2 .dir-empty__title{margin-top:8px!important;font-size:18px;font-weight:600;color:var(--ink)}
.dir-v2 .dir-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:36px 0 0}
.dir-v2 .dir-main .dir-page{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--ink);font-weight:500}
.dir-v2 .dir-main a.dir-page:hover{border-color:var(--green);color:var(--green)}
.dir-v2 .dir-main .dir-page--current{background:var(--green);border-color:var(--green);color:#fff}
.dir-v2 .dir-main a.dir-page--current:hover{color:#fff}
.dir-v2 .dir-page--disabled{opacity:.4}
.dir-v2 .dir-page--gap{border:0;background:none}

/* Lower sections */
.dir-v2 .dir-section{margin-top:72px}
.dir-v2 .dir-section h2,.dir-v2 .dir-callout h2{margin:0 0 20px;font-size:clamp(26px,2.8vw,32px);font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}
.dir-v2 .dir-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.dir-v2 .dir-main a.dir-cat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 16px;text-align:center;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--ink);transition:border-color .2s,background-color .2s}
.dir-v2 .dir-main a.dir-cat:hover{border-color:#9CC7AE;background:var(--surface)}
.dir-v2 .dir-cat__icon{display:flex!important;align-items:center;justify-content:center;width:52px!important;min-width:52px!important;max-width:52px!important;height:52px;margin-bottom:8px;border-radius:50%;background:#E2EFE6}
.dir-v2 .dir-cat h3{margin:0;font-size:17px;font-weight:600}
.dir-v2 .dir-cat p{margin:0!important;font-size:14px;color:var(--muted)}
.dir-v2 .dir-know{max-width:820px}
.dir-v2 .dir-know p{font-size:17px;line-height:1.65;color:#2F443B;margin-bottom:18px}
.dir-v2 .dir-know strong{font-weight:600;color:var(--ink)}
.dir-v2 .dir-know__note{font-style:italic;color:var(--muted)!important}
.dir-v2 .dir-callout{margin-top:48px;padding:32px;border:1px solid #CFE3D6;border-radius:var(--radius);background:linear-gradient(110deg,#EDF7F0,#E4F2E9)}
.dir-v2 .dir-callout h2{margin-bottom:10px;font-size:clamp(22px,2.4vw,28px)}
.dir-v2 .dir-callout p{font-size:17px;color:#2F443B}
.dir-v2 .dir-main .dir-callout a{display:inline-flex;align-items:center;min-height:44px;font-size:17px;font-weight:600}

@media (max-width:1100px){
.dir-v2 .dir-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:860px){
.dir-v2 .dir-controls{grid-template-columns:1fr 1fr}
.dir-v2 .dir-field--search{grid-column:1/-1}
.dir-v2 .dir-grid,.dir-v2 .dir-cats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
.dir-v2 .dir-main{padding:0 20px 48px}
.dir-v2 .dir-title{font-size:32px}
.dir-v2 .dir-head p,.dir-v2 .dir-know p{font-size:16px}
.dir-v2 .dir-grid{gap:12px}
.dir-v2 .dir-card__body{padding:12px}
.dir-v2 .dir-card__title{font-size:15px}
.dir-v2 .dir-card__meta{flex-direction:column;gap:2px;font-size:13px}
.dir-v2 .dir-section{margin-top:56px}
.dir-v2 .dir-callout{padding:24px 20px}
}
@media (max-width:420px){
.dir-v2 .dir-controls{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
.dir-v2 .dir-card__media img{transition:none}
.dir-v2 .dir-main a.dir-card:hover .dir-card__media img{transform:none}
}
.dir-v2 .dir-card__media{position:relative}
.dir-v2 .dir-card__badges{position:absolute;top:10px;left:10px;display:flex;flex-wrap:wrap;gap:6px}
.dir-v2 .dir-card__badge{padding:3px 8px;border-radius:6px;background:rgba(11,58,42,.88);color:#fff;font-size:12px;font-weight:600;letter-spacing:.03em}
