.dsdi-page{background-color:var(--bg);color:var(--text);font-family:var(--font-body);min-height:100vh}.dsdi-hero{background:linear-gradient(160deg,#3a1f0a,#7a3a1a 55%,#c45b28);padding:var(--space-12) var(--space-5) var(--space-8);text-align:center;position:relative;overflow:hidden}.dsdi-hero:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}.dsdi-hero__eyebrow{display:inline-block;background:hsla(0,0%,100%,.15);color:hsla(0,0%,100%,.9);font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-widest);text-transform:uppercase;padding:5px 14px;border-radius:var(--radius-full);border:1px solid hsla(0,0%,100%,.2);margin-bottom:var(--space-4);position:relative}.dsdi-hero__title{font-family:var(--font-display);font-size:clamp(2rem,7vw,3.5rem);font-weight:700;color:#fff;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0 0 var(--space-3);text-shadow:0 2px 16px rgba(0,0,0,.4);position:relative}.dsdi-hero__subtitle{font-size:var(--text-md);color:hsla(0,0%,100%,.8);margin:0 auto var(--space-8);max-width:380px;line-height:var(--leading-snug);position:relative}.dsdi-filters{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center;max-width:560px;margin:0 auto;position:relative}.dsdi-filter-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);background:hsla(0,0%,100%,.12);border:1.5px solid hsla(0,0%,100%,.22);border-radius:var(--radius-full);color:hsla(0,0%,100%,.9);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:var(--tracking-wide);text-decoration:none;cursor:pointer;transition:background var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default);white-space:nowrap;-webkit-tap-highlight-color:transparent}.dsdi-filter-btn:focus-visible,.dsdi-filter-btn:hover{background:hsla(0,0%,100%,.22);border-color:hsla(0,0%,100%,.4);color:#fff;outline:none}.dsdi-filter-btn--active{background:#fff;border-color:#fff;color:#c45b28}.dsdi-filter-btn--active:focus-visible,.dsdi-filter-btn--active:hover{background:hsla(0,0%,100%,.92);border-color:hsla(0,0%,100%,.92);color:#a84a1e}.dsdi-results-bar{background:var(--dsd-surface);border-bottom:1px solid var(--dsd-border);padding:var(--space-3) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.dsdi-results-count{font-size:var(--text-sm);color:var(--dsd-text-muted);font-weight:500}.dsdi-results-count strong{color:var(--dsd-text);font-weight:700}.dsdi-grid-wrap{max-width:var(--container-xl);margin:0 auto;padding:var(--space-5)}.dsdi-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--space-4);gap:var(--space-4)}.dsdi-card{background:var(--dsd-surface);border:1px solid var(--dsd-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out);display:flex;flex-direction:column}.dsdi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--dsd-border-strong)}.dsdi-card__image-wrap{position:relative;width:100%;aspect-ratio:16/9;background:linear-gradient(135deg,#e8dece,#d4c4ac);overflow:hidden;flex-shrink:0}.dsdi-card__image{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform var(--duration-slow) var(--ease-out)}.dsdi-card:hover .dsdi-card__image{transform:scale(1.04)}.dsdi-card__image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8dece,#c8b499 50%,#a8906e)}.dsdi-card__image-placeholder-icon{color:hsla(0,0%,100%,.5);font-size:2rem}.dsdi-card__tier{position:absolute;top:var(--space-3);right:var(--space-3);display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--radius-full);font-size:10px;font-weight:700;letter-spacing:var(--tracking-wider);text-transform:uppercase;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.dsdi-card__tier--paid{background:rgba(196,91,40,.88);color:#fff;border:1px solid hsla(0,0%,100%,.2)}.dsdi-card__tier--free{background:hsla(0,0%,100%,.8);color:var(--dsd-text-muted);border:1px solid rgba(45,45,45,.12)}.dsdi-card__body{padding:var(--space-4) var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);flex:1 1}.dsdi-card__category{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:var(--dsd-accent-muted);color:var(--dsd-accent);border:1px solid var(--dsd-accent-border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:capitalize;align-self:flex-start}.dsdi-card__name-link{text-decoration:none;display:block}.dsdi-card__name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--dsd-text);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0;transition:color var(--duration-fast) var(--ease-default)}.dsdi-card__name-link:focus-visible .dsdi-card__name,.dsdi-card__name-link:hover .dsdi-card__name{color:var(--dsd-accent)}.dsdi-card__name-link:focus-visible{outline:2px solid var(--dsd-accent);outline-offset:2px;border-radius:var(--radius-sm)}.dsdi-card__location{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--dsd-text-muted);font-weight:500}.dsdi-card__location svg{flex-shrink:0;color:var(--dsd-accent);opacity:.7}.dsdi-card__description{font-size:var(--text-base);color:var(--dsd-text-muted);line-height:var(--leading-snug);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dsdi-card__stars{display:flex;align-items:center;gap:var(--space-2);margin-top:auto;padding-top:var(--space-2)}.dsdi-card__stars-row{display:flex;gap:2px}.dsdi-card__star{color:#f59e0b;line-height:1;display:flex;align-items:center}.dsdi-card__star--empty{color:var(--dsd-border-strong,#d0c4b0)}.dsdi-card__rating{font-size:var(--text-sm);font-weight:700;color:var(--dsd-text)}.dsdi-card__review-count{font-size:var(--text-xs);color:var(--dsd-text-muted)}.dsdi-card__cta{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-top:1px solid var(--dsd-border);background:var(--bg);text-decoration:none;color:var(--dsd-accent);font-size:var(--text-sm);font-weight:700;letter-spacing:var(--tracking-wide);transition:background var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.dsdi-card__cta:focus-visible,.dsdi-card__cta:hover{background:var(--dsd-accent-muted);outline:none}.dsdi-card__cta svg{transition:transform var(--duration-fast) var(--ease-default)}.dsdi-card__cta:hover svg{transform:translateX(3px)}.dsdi-empty{text-align:center;padding:var(--space-16) var(--space-5);flex-direction:column;gap:var(--space-4)}.dsdi-empty,.dsdi-empty__icon{display:flex;align-items:center}.dsdi-empty__icon{width:64px;height:64px;background:var(--dsd-accent-muted);border-radius:var(--radius-full);justify-content:center;color:var(--dsd-accent)}.dsdi-empty__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--dsd-text);margin:0}.dsdi-empty__subtitle{font-size:var(--text-md);color:var(--dsd-text-muted);margin:0;max-width:280px;line-height:var(--leading-snug)}.dsdi-empty__cta{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background:var(--dsd-accent);color:#fff;font-family:var(--font-body);font-size:var(--text-base);font-weight:700;letter-spacing:var(--tracking-wide);text-decoration:none;border-radius:var(--radius-full);box-shadow:0 4px 16px rgba(196,91,40,.3);transition:background var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}.dsdi-empty__cta:focus-visible,.dsdi-empty__cta:hover{background:var(--dsd-accent-hover);transform:translateY(-1px);outline:none}.dsdi-footer-cta{background:linear-gradient(135deg,#3a1f0a,#7a3a1a 50%,#c45b28);padding:var(--space-10) var(--space-5);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);margin-top:var(--space-8)}.dsdi-footer-cta__eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:hsla(0,0%,100%,.65)}.dsdi-footer-cta__title{font-family:var(--font-display);font-size:clamp(1.5rem,5vw,2.25rem);font-weight:700;color:#fff;margin:0;line-height:var(--leading-tight);text-shadow:0 2px 12px rgba(0,0,0,.3)}.dsdi-footer-cta__subtitle{font-size:var(--text-base);color:hsla(0,0%,100%,.75);margin:0;max-width:320px;line-height:var(--leading-snug)}.dsdi-footer-cta__btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);background:#fff;color:#c45b28;font-family:var(--font-body);font-size:var(--text-base);font-weight:700;letter-spacing:var(--tracking-wide);text-decoration:none;border-radius:var(--radius-full);box-shadow:0 4px 20px rgba(0,0,0,.25);transition:background var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.dsdi-footer-cta__btn:focus-visible,.dsdi-footer-cta__btn:hover{background:hsla(0,0%,100%,.92);transform:translateY(-1px);box-shadow:0 6px 24px rgba(0,0,0,.3);outline:none}.dsdi-footer-cta__fine{font-size:var(--text-xs);color:hsla(0,0%,100%,.5);letter-spacing:var(--tracking-wide)}@media (min-width:600px){.dsdi-grid{grid-template-columns:repeat(2,1fr)}.dsdi-hero{padding:var(--space-16) var(--space-8) var(--space-10)}.dsdi-grid-wrap{padding:var(--space-6) var(--space-6)}}@media (min-width:900px){.dsdi-grid{grid-template-columns:repeat(3,1fr)}.dsdi-grid-wrap{padding:var(--space-8) var(--space-8)}}@media (min-width:1200px){.dsdi-grid{grid-template-columns:repeat(4,1fr)}.dsdi-grid-wrap{padding:var(--space-8) var(--space-10)}}