/* DropVault Engine front styles. Colours come from the theme (theme.json presets) with safe fallbacks. */
:root{--dv-bg:var(--wp--preset--color--base,#fff);--dv-fg:var(--wp--preset--color--contrast,#14161f);--dv-muted:var(--wp--preset--color--muted,#5d6475);--dv-line:var(--wp--preset--color--line,#e3e5ec);--dv-card:var(--wp--preset--color--surface,#f6f7fb);--dv-accent:var(--wp--preset--color--accent,#5b3df5);--dv-accent-fg:var(--wp--preset--color--accent-contrast,#fff);--dv-ok:#13834f;--dv-bad:#c23a3a;--dv-r:14px}
.dv-block{margin-block:1.5rem}
.dv-btn{display:inline-flex;align-items:center;gap:.4em;padding:.7em 1.2em;border-radius:999px;border:2px solid var(--dv-fg);background:var(--dv-fg);color:var(--dv-bg);font-weight:700;text-decoration:none;cursor:pointer;font-size:.95rem;line-height:1.1;transition:transform .15s,opacity .15s}
.dv-btn:hover{transform:translateY(-1px);opacity:.92}.dv-btn:disabled{opacity:.5;cursor:wait}
.dv-btn.is-accent{background:var(--dv-accent);border-color:var(--dv-accent);color:var(--dv-accent-fg)}
.dv-btn.is-outline{background:transparent;color:var(--dv-fg)}
.dv-btn.is-small{padding:.45em .9em;font-size:.85rem}.dv-btn.is-block,.dv-btn--block{display:flex;width:100%;justify-content:center}
.dv-btn small{opacity:.75;font-weight:400}
.dv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.25rem}
.dv-grid.is-row{grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);overflow-x:auto}
.dv-card{position:relative;background:var(--dv-card);border:1px solid var(--dv-line);border-radius:var(--dv-r);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.dv-card:hover{box-shadow:0 12px 30px rgba(10,12,30,.12);transform:translateY(-2px)}
.dv-card__media{display:block;aspect-ratio:4/3;background:var(--dv-line);overflow:hidden}
.dv-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.dv-card__ph{display:grid;place-items:center;height:100%;font-weight:800;color:var(--dv-muted)}
.dv-card__body{padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.dv-card__title{font-size:1rem;margin:0;line-height:1.3}.dv-card__title a{color:inherit;text-decoration:none}
.dv-card__cat{font-size:.78rem;color:var(--dv-muted);text-transform:uppercase;letter-spacing:.06em}
.dv-card__meta{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.dv-card__fmt,.dv-badge{font-size:.72rem;padding:.2em .6em;border-radius:999px;border:1px solid var(--dv-line);background:var(--dv-bg);font-weight:700}
.dv-badge--free{background:#e2f6ec;color:#0c6a3f;border-color:#bfe8d3}.dv-badge--starter{background:#e8efff;color:#2747a8;border-color:#c9d7ff}
.dv-badge--pro,.dv-badge--lifetime{background:#f1e9ff;color:#5b2bc0;border-color:#dcc9ff}.dv-badge--new{background:#fff1d6;color:#8a5a00;border-color:#ffdf9e}
.dv-fav{position:absolute;top:.6rem;right:.6rem;width:2.2rem;height:2.2rem;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#9aa0ad;font-size:1.05rem;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.dv-fav.is-on{color:#e0245e}.dv-fav.is-wide{position:static;width:auto;height:auto;border-radius:999px;padding:.6em 1em;border:1px solid var(--dv-line);box-shadow:none;background:transparent;color:var(--dv-fg)}
.dv-fav.is-wide.is-on{color:#e0245e;border-color:#e0245e}
.dv-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1.25rem;padding:1rem;border:1px solid var(--dv-line);border-radius:var(--dv-r);background:var(--dv-card);position:sticky;top:5.5rem;z-index:5}
.dv-search{flex:1 1 260px}.dv-search input,.dv-filter select,.dv-searchbox input,.dv-form input,.dv-form select,.dv-form textarea,.dv-contact input,.dv-contact textarea{width:100%;padding:.7em .9em;border:1px solid var(--dv-line);border-radius:10px;background:var(--dv-bg);color:var(--dv-fg);font:inherit}
.dv-filter{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:var(--dv-muted);min-width:140px}
.dv-results{transition:opacity .2s}.dv-results.is-loading{opacity:.45}
.dv-count{color:var(--dv-muted);font-size:.9rem;margin:0 0 .8rem}
.dv-pager{display:flex;gap:.35rem;justify-content:center;margin-top:1.5rem;flex-wrap:wrap}
.dv-pager button{min-width:2.4rem;padding:.5em;border:1px solid var(--dv-line);background:var(--dv-bg);color:var(--dv-fg);border-radius:8px;cursor:pointer}.dv-pager .is-on{background:var(--dv-fg);color:var(--dv-bg)}
.dv-empty{padding:2rem;text-align:center;color:var(--dv-muted);border:1px dashed var(--dv-line);border-radius:var(--dv-r)}
.dv-searchbox{display:flex;gap:.5rem;max-width:640px;margin-inline:auto;background:var(--dv-bg);padding:.4rem;border-radius:999px;box-shadow:0 10px 30px rgba(10,12,30,.12)}
.dv-searchbox input{border:0;border-radius:999px}
.dv-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem}
.dv-tile{display:flex;flex-direction:column;justify-content:end;min-height:120px;padding:1.1rem;border-radius:var(--dv-r);text-decoration:none;color:#14161f;background:#ece8ff;transition:transform .15s}
.dv-tile:hover{transform:translateY(-3px)}.dv-tile strong{font-size:1.05rem}.dv-tile span{font-size:.85rem;opacity:.75}
.dv-tile--1{background:#dff5ea}.dv-tile--2{background:#ffe9d6}.dv-tile--3{background:#e1ecff}.dv-tile--4{background:#fde2ec}.dv-tile--5{background:#fff4c7}.dv-tile--6{background:#dcf3f7}.dv-tile--7{background:#efe3d3}
.dv-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;text-align:center}
.dv-stats strong{display:block;font-size:2rem;line-height:1.1}.dv-stats span{color:var(--dv-muted);font-size:.9rem}
.dv-item{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:2.5rem;align-items:start}
@media(max-width:860px){.dv-item{grid-template-columns:1fr}}
.dv-item__gallery>img{display:none;width:100%;height:auto;border-radius:var(--dv-r);border:1px solid var(--dv-line)}.dv-item__gallery>img.is-on{display:block}
.dv-item__thumbs{display:flex;gap:.5rem;margin-top:.6rem;flex-wrap:wrap}.dv-item__thumbs button{padding:0;border:1px solid var(--dv-line);border-radius:8px;overflow:hidden;cursor:pointer;width:72px;background:none}.dv-item__thumbs img{display:block;width:100%;height:auto}
.dv-item__wm,.dv-item__note{font-size:.82rem;color:var(--dv-muted)}
.dv-item__title{font-size:clamp(1.6rem,3vw,2.3rem);margin:.4rem 0 .8rem;line-height:1.15}
.dv-item__actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:1.2rem 0}
.dv-item__facts{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.35rem;font-size:.9rem}.dv-item__facts li{display:flex;justify-content:space-between;border-bottom:1px solid var(--dv-line);padding:.35rem 0}
.dv-tags{display:flex;flex-wrap:wrap;gap:.35rem}.dv-tags a{font-size:.78rem;padding:.2em .6em;border-radius:999px;background:var(--dv-card);color:var(--dv-muted);text-decoration:none}
.dv-wall{padding:1rem 1.2rem;border-radius:var(--dv-r);background:var(--dv-card);border:1px solid var(--dv-line);width:100%}.dv-wall p{margin:0 0 .7rem}
.dv-dl-msg{width:100%;font-size:.9rem}.dv-dl-msg.is-error{color:var(--dv-bad)}
.dv-related{margin-top:3rem}
.dv-meter{padding:.9rem 1rem;border:1px solid var(--dv-line);border-radius:var(--dv-r);background:var(--dv-card);font-size:.9rem}
.dv-meter__bar{height:8px;border-radius:99px;background:var(--dv-line);overflow:hidden;margin:.5rem 0}.dv-meter__bar span{display:block;height:100%;background:var(--dv-accent);border-radius:99px}
.dv-meter__reset{color:var(--dv-muted);font-size:.8rem}
.dv-billing-toggle{display:inline-flex;border:1px solid var(--dv-line);border-radius:999px;padding:.25rem;margin:0 auto 1.5rem;background:var(--dv-card)}
.dv-pricing{text-align:center}.dv-billing-toggle button{border:0;background:none;padding:.55em 1.1em;border-radius:999px;cursor:pointer;font-weight:700;color:var(--dv-fg)}.dv-billing-toggle .is-on{background:var(--dv-fg);color:var(--dv-bg)}
.dv-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;text-align:left}
.dv-plan{position:relative;padding:1.6rem 1.4rem;border:1px solid var(--dv-line);border-radius:calc(var(--dv-r) + 4px);background:var(--dv-bg);display:flex;flex-direction:column;gap:.6rem}
.dv-plan--pro{border:2px solid var(--dv-accent);box-shadow:0 18px 40px rgba(91,61,245,.15)}
.dv-plan__flag{position:absolute;top:-.8rem;left:1.2rem;background:var(--dv-accent);color:var(--dv-accent-fg);font-size:.72rem;font-weight:800;padding:.25em .7em;border-radius:999px;text-transform:uppercase}
.dv-plan h3{margin:0}.dv-plan__price{font-size:2rem;font-weight:800;margin:0}.dv-plan__price small{font-size:.9rem;font-weight:400;color:var(--dv-muted)}
.dv-plan__blurb{color:var(--dv-muted);margin:0}.dv-plan ul{padding-left:1.1rem;margin:.3rem 0 1rem;flex:1}.dv-plan form{margin:0}
.dv-pricing__note{color:var(--dv-muted);font-size:.85rem;margin-top:1rem}
.dv-drops{display:grid;gap:1.2rem}.dv-drop{display:grid;grid-template-columns:200px 1fr;gap:1.2rem;padding:1rem;border:1px solid var(--dv-line);border-radius:var(--dv-r);background:var(--dv-card)}
@media(max-width:640px){.dv-drop{grid-template-columns:1fr}}
.dv-drop__media img{width:100%;height:auto;border-radius:10px}.dv-drop__meta{color:var(--dv-muted);font-size:.85rem}
.dv-countdown{font-weight:800;font-variant-numeric:tabular-nums;color:var(--dv-accent)}
.dv-schedule{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.dv-schedule li{padding:.4em .8em;border-radius:999px;background:var(--dv-card);border:1px solid var(--dv-line);font-size:.85rem}
.dv-dash{display:grid;gap:1.2rem}.dv-tabs{display:flex;flex-wrap:wrap;gap:.4rem;border-bottom:1px solid var(--dv-line);padding-bottom:.6rem}
.dv-tabs a{padding:.5em 1em;border-radius:999px;text-decoration:none;color:var(--dv-fg);font-weight:600}.dv-tabs a.is-on,.dv-tabs a[aria-current]{background:var(--dv-fg);color:var(--dv-bg)}
.dv-panel{padding:1.2rem;border:1px solid var(--dv-line);border-radius:var(--dv-r);background:var(--dv-bg)}
.dv-table{width:100%;border-collapse:collapse;font-size:.9rem}.dv-table th,.dv-table td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--dv-line)}
.dv-hello{font-size:1.3rem;margin:0}.dv-usage{line-height:1.7}
.dv-auth,.dv-form,.dv-contact{max-width:440px;margin-inline:auto;display:grid;gap:.9rem}
.dv-auth label,.dv-form label,.dv-contact label{display:grid;gap:.3rem;font-weight:600;font-size:.9rem}
.dv-auth__row{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.9rem}.dv-auth__alt{text-align:center;color:var(--dv-muted);font-size:.9rem}
.dv-check{display:flex!important;grid-template-columns:none!important;gap:.5rem!important;font-weight:400!important;align-items:center}
.dv-check input{width:auto}
.dv-help{font-size:.8rem;color:var(--dv-muted);font-weight:400}
.dv-hp{position:absolute!important;left:-9999px!important;height:1px;overflow:hidden}
.dv-notice{padding:.8rem 1rem;border-radius:10px;background:#e2f6ec;color:#0c6a3f;margin:0 0 1rem}.dv-notice.is-error{background:#fde6e6;color:#9b1c1c}
.dv-acct{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.dv-acct__link{color:inherit;text-decoration:none;font-weight:600}
.dv-upsell{padding:1.2rem;border-radius:var(--dv-r);background:linear-gradient(135deg,var(--dv-accent),#9b5cf6);color:#fff}.dv-upsell a{color:#fff}
.dv-code{background:#14161f;color:#e8e9ef;padding:.8rem;border-radius:8px;overflow:auto}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
