.vd-filters { display:flex; gap:1rem; margin:1rem 0; align-items: flex-end; }
.vd-filters label { display:flex; flex-direction:column; font-weight:600; }
.vd-listings-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:20px;margin-top: clamp(20px, 4vw, 40px); }
.vd-card { border:1px solid #ddd; padding:1rem; border-radius:20px; background:#fff;box-shadow: 1px 2px 5px rgba(0,0,0,0.1);margin-top: 15px; }
.vd-card > img { margin: 0 auto; border-radius: 20px;box-shadow: 1px 2px 10px rgba(0,0,0,0.2); }
.vd-card h3 { margin-top:0.5rem; font-size: clamp(16px, 3vw, 21px);color: #018ccd;font-weight: 800;line-height: 130%; }
.vd-pagination { margin-top:1rem; }
.vd-single .vd-featured { max-width:100%; height:auto; display:block; margin-bottom:1rem; }
.vd-single-image { margin-bottom:1.5rem; }
.vd-gallery { position:relative; margin-bottom:1.5rem; }
.vd-gallery-track { position:relative; }
.vd-gallery-slide { display:none; }
.vd-gallery-slide.is-active { display:block; }
.vd-gallery-image { width:auto; max-width:100%; height:auto; display:block; border-radius:8px; }
.vd-gallery-control { position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,0.55); color:#fff; border:none; width:2.5rem; height:2.5rem; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background 0.2s ease; }
.vd-gallery-control:hover, .vd-gallery-control:focus { background:rgba(0,0,0,0.75); outline:none; }
.vd-gallery-control--prev { left:0.75rem; }
.vd-gallery-control--next { right:0.75rem; }
.vd-gallery-dots { display:flex; justify-content:center; gap:0.5rem; margin-top:0.75rem; }
.vd-gallery-dot { width:0.75rem; height:0.75rem; border-radius:50%; background:#c7c7c7; border:none; cursor:pointer; padding:0; }
.vd-gallery-dot.is-active, .vd-gallery-dot:focus { background:#0073aa; outline:none; }
.vd-gallery-dot:focus-visible { outline:2px solid #005f8d; outline-offset:2px; }
.vd-dashboard .vd-table { width:100%; border-collapse:collapse; }
.vd-dashboard .vd-table th, .vd-dashboard .vd-table td { border:1px solid #e5e5e5; padding:8px; vertical-align:top; }
.vd-dashboard .vd-form-row td { background:#fafafa; }
.vd-stars { color:#f5a623; font-size:clamp(0.8rem, 1vw, 1rem); letter-spacing:0.1rem; }
.vd-rating-summary, .vd-rating-badge, .vd-vendor-rating { display:flex; align-items:center; gap:0.4rem; margin:0.5rem 0; font-weight:600; }
.vd-rating-badge--empty, .vd-vendor-rating--empty { color:#777; font-weight:400; }
.vd-card-rating { margin-top:0.5rem; font-size:0.9rem; }
.vd-single-rating { margin:0.5rem 0 1.5rem; }
.vd-reviews { margin-top:2rem; border-top:1px solid #eee; padding-top:1.5rem;gap: clamp(15px, 2vw, 20px); }
.vd-review-list { list-style:none; padding:0; margin:1rem 0;display: flex;flex-wrap: wrap; }
.vd-review { padding: 20px clamp(20px, 3vw, 30px);border: 1px solid rgba(0,0,0,0.1);border-radius: 20px;max-width: fit-content; }
.vd-review-header { display:flex; flex-wrap:wrap; gap:0.5rem 1rem; align-items:center; margin-bottom:0.5rem; }
.vd-review-name { font-size:1rem; }
.vd-review-date { color:#777; font-size:0.9rem; }
.vd-review-summary { color:#333; }
.vd-review-notice { padding:0.75rem 1rem; border-radius:4px; margin:1rem 0; background:#f4f8ff; color:#1b3a57; }
.vd-review-notice--error { background:#ffecec; color:#7a1f1f; }
.vd-review-form-fields { max-width: 800px; }
.vd-review-form-field { display:flex; flex-direction:column; gap:0.25rem; margin-bottom:1rem; }
.vd-review-form-field > .btn { padding: 10px 20px; }

.vd-breadcrumbs {
        max-width: var(--container-width);
        margin: 0 auto 12px;
        padding: 0 20px;
        font-size: 0.95rem;
		border-bottom: 1px dashed #ccc;
        padding-bottom: 20px;
      }

      .vd-breadcrumbs ol {
        list-style: none;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        margin: 0;
        padding: 0;
        color: #64748b;
      }

      .vd-breadcrumbs li {
        display: inline-flex;
        align-items: center;
        gap: 8px;
      }

      .vd-breadcrumbs li + li:before {
        content: '>';
        color: #94a3b8;
        margin-right: 8px;
      }

      .vd-breadcrumbs a {
        color: #0369a1;
        text-decoration: none;
        font-weight: 600;
      }

      .vd-breadcrumbs a:hover,
      .vd-breadcrumbs a:focus {
        color: #0783bf;
        text-decoration: underline;
      }

      .vd-breadcrumbs [aria-current="page"] {
        color: #0f172a;
        font-weight: 600;
      }

@media (max-width: 768px) {
	.vd-breadcrumbs {font-size: 11px};
}

@media (min-width: 768px) {
    .vd-review-form-fields {display: grid;grid-template-columns: 1fr 1fr;gap: 20px;}
    .vd-review-form-field:nth-child(n+3) {grid-column: span 2;}
    .vd-review-form-field  {margin: 0;}
    .vd-review-form-footnote { text-align: right; }
    .vd-review-form-field > .btn { font-size: 1rem;max-width: 300px; margin-left: auto;width: 100%;}
}

.vd-review-form-footnote { font-size:0.85rem; color:#666; margin-top:-0.5rem; }
.vd-review-form input[type="text"],
.vd-review-form input[type="email"],
.vd-review-form select,
.vd-review-form textarea { width:100%; padding:0.5rem; border:1px solid #ccc; border-radius:4px; }
.vd-review-form-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.vd-dashboard .vd-gallery-admin { margin:1rem 0; }
.vd-dashboard .vd-gallery-admin-list { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:1rem; }
.vd-dashboard .vd-gallery-admin-item { border:1px solid #ddd; border-radius:6px; padding:0.75rem; background:#fff; width:160px; box-sizing:border-box; display:flex; flex-direction:column; gap:0.5rem; }
.vd-dashboard .vd-gallery-admin-thumb img { width:100%; height:auto; display:block; border-radius:4px; }
.vd-dashboard .vd-gallery-admin-missing { display:block; font-size:0.85rem; color:#666; text-align:center; padding:1.5rem 0; background:#f7f7f7; border-radius:4px; }
.vd-dashboard .vd-gallery-admin-order { width:100%; }
.vd-dashboard .vd-gallery-admin-order-label { display:flex; flex-direction:column; gap:0.25rem; font-size:0.85rem; }
.vd-dashboard .vd-gallery-admin-remove { font-size:0.85rem; display:flex; align-items:center; gap:0.35rem; }
.vd-gallery-admin-upload { display:flex; flex-direction:column; gap:0.35rem; }
