.vv-catalog{--vv-ink:#183d2b;--vv-deep:#163c2d;--vv-green:#377852;--vv-soft:#edf3ec;--vv-line:#dce7dc;--vv-muted:#607367;color:var(--vv-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45;max-width:1500px;margin:0 auto;padding:0 18px 80px}.vv-catalog *{box-sizing:border-box}.vv-catalog button,.vv-catalog input,.vv-catalog select{font:inherit}.vv-hero{background:linear-gradient(115deg,#174936 0%,#235c3c 63%,#417a53 100%);border-radius:22px;color:#fff;padding:clamp(30px,5vw,70px);margin:24px 0 32px;position:relative;overflow:hidden}.vv-hero:after{content:"";position:absolute;width:400px;height:400px;border:1px solid #ffffff3e;border-radius:50%;right:-110px;top:-180px;box-shadow:0 0 0 65px #ffffff09,0 0 0 130px #ffffff09;pointer-events:none}.vv-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#c3e6c4}.vv-hero h2{font-size:clamp(30px,4vw,54px)!important;color:#fff!important;line-height:1.08;max-width:700px;margin:16px 0!important;letter-spacing:-.035em;font-weight:750}.vv-hero p{font-size:clamp(15px,1.4vw,19px);max-width:600px;margin:0;color:#e1efe2}.vv-hero-count{display:inline-flex;background:#ffffff20;border:1px solid #ffffff40;border-radius:30px;padding:8px 14px;font-size:13px;font-weight:700;margin-top:26px}.vv-catalog-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:30px;align-items:start}.vv-filters{background:#f5f8f4;border:1px solid var(--vv-line);border-radius:18px;padding:22px;position:sticky;top:24px}.vv-filters-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px;flex-wrap:wrap}.vv-filters h3{font-size:18px!important;line-height:1.25;margin:0!important;color:var(--vv-deep)!important}.vv-catalog .vv-reset{border:0;background:transparent;color:var(--vv-green);font-size:12px;cursor:pointer;text-decoration:underline;padding:0}.vv-catalog .vv-reset:hover{color:#174f31}.vv-filters label{display:block;font-size:12px;letter-spacing:.02em;font-weight:750;margin:17px 0 7px}.vv-filters input,.vv-filters select,.vv-results-head select{width:100%;height:43px;padding:0 12px;background:#fff!important;border:1px solid #cddacf!important;border-radius:8px!important;color:var(--vv-ink)!important;box-shadow:none!important;appearance:auto}.vv-filters input:focus,.vv-filters select:focus,.vv-results-head select:focus,.vv-card-button:focus-visible,.vv-dialog-close:focus-visible{outline:3px solid #91cfa0;outline-offset:2px}.vv-filter-note{font-size:11px;color:var(--vv-muted);margin:17px 0 0}.vv-results{min-width:0}.vv-results-head{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:48px;margin:0 0 14px}.vv-results-head .vv-count{font-size:14px;margin:0;font-weight:700;color:var(--vv-deep)}.vv-results-head label{font-size:12px;display:flex;align-items:center;gap:10px;color:var(--vv-muted);white-space:nowrap}.vv-results-head select{width:190px;height:39px}.vv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.vv-card{min-width:0;background:#fff;border:1px solid var(--vv-line);border-radius:15px;overflow:hidden;transition:transform .18s,box-shadow .18s}.vv-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #143b251d}.vv-card[hidden],.vv-empty[hidden],.vv-dialog[hidden],.vv-dialog-source[hidden]{display:none!important}.vv-card-button{display:flex;flex-direction:column;align-items:stretch;text-align:left;border:0;padding:0;background:transparent;color:inherit;width:100%;height:100%;cursor:pointer}.vv-image{height:250px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;padding:16px}.vv-image img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.vv-card-content{padding:15px 19px 18px;display:flex;flex:1;align-items:flex-start;flex-direction:column;border-top:1px solid #f0f3ef}.vv-animal-tag,.vv-dialog-animal{background:var(--vv-soft);border-radius:30px;color:#326b47;padding:4px 10px;font-size:11px;font-weight:700}.vv-card-brand{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--vv-green);font-weight:800;margin:15px 0 5px}.vv-card-name{font-size:18px;font-weight:750;line-height:1.27;color:var(--vv-deep);margin-bottom:6px}.vv-card-type{font-size:12px;color:var(--vv-muted);margin-bottom:15px}.vv-view{margin-top:auto;font-size:12px;color:var(--vv-green);font-weight:800}.vv-view span{font-size:16px;vertical-align:-1px;margin-left:4px}.vv-empty{text-align:center;background:var(--vv-soft);border-radius:16px;padding:48px 20px;margin:25px 0}.vv-empty h3{color:var(--vv-deep)!important;margin:0 0 6px!important}.vv-empty p{margin:0 0 15px}.vv-empty .vv-reset{font-size:14px}.vv-dialog{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}.vv-dialog-shade{position:absolute;inset:0;background:#092119bd}.vv-dialog-panel{position:relative;width:min(850px,100%);max-height:min(90vh,850px);background:#fff;border-radius:18px;display:grid;grid-template-columns:1fr 1fr;overflow:auto;box-shadow:0 25px 100px #061d1470}.vv-dialog-close{position:absolute;right:13px;top:12px;z-index:1;width:38px;height:38px;border:0;border-radius:50%;background:#f0f5f0;color:var(--vv-ink);font-size:27px;line-height:1;cursor:pointer}.vv-dialog-image{height:440px;max-height:70vh;padding:32px;display:grid;place-items:center}.vv-dialog-image img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.vv-dialog-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:50px 38px}.vv-dialog-brand{color:var(--vv-green);font-size:12px;letter-spacing:.12em;font-weight:800;text-transform:uppercase;margin:24px 0 8px}.vv-dialog-name{color:var(--vv-deep)!important;font-size:clamp(24px,2.7vw,34px)!important;line-height:1.14;margin:0 0 12px!important}.vv-dialog-type{color:var(--vv-muted);font-size:15px;margin:0 0 28px}.vv-dialog-source{background:var(--vv-deep);border-radius:8px;padding:12px 17px;color:#fff!important;text-decoration:none;font-weight:700;font-size:13px}.vv-dialog-source:hover{background:#286747;color:#fff!important}body.vv-dialog-open{overflow:hidden}@media(max-width:1100px){.vv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:740px){.vv-catalog{padding:0 12px 50px}.vv-hero{margin:12px 0 22px;padding:31px 24px;border-radius:14px}.vv-catalog-layout{display:block}.vv-filters{position:static;padding:17px;margin-bottom:17px;display:grid;grid-template-columns:1fr 1fr;column-gap:12px}.vv-filters-title,.vv-filter-note{grid-column:1/-1}.vv-filters label{margin:12px 0 6px;align-self:end}.vv-filters input,.vv-filters select{grid-row:auto}.vv-filters label[for$="-search"],.vv-filters .vv-search{grid-column:1/-1}.vv-filters label{grid-column:1/-1}.vv-filters input,.vv-filters select{grid-column:1/-1}.vv-results-head{margin-bottom:10px}.vv-grid{gap:12px}.vv-image{height:180px;padding:12px}.vv-card-content{padding:12px}.vv-card-name{font-size:15px}.vv-card-brand{margin-top:10px}.vv-card-type{font-size:11px}.vv-view{font-size:11px}.vv-dialog-panel{display:block}.vv-dialog-image{height:36vh;min-height:220px;padding:28px}.vv-dialog-copy{padding:22px 25px 32px}.vv-dialog-brand{margin-top:15px}.vv-dialog-type{margin-bottom:18px}}@media(max-width:390px){.vv-grid{grid-template-columns:1fr}.vv-image{height:230px}.vv-results-head{align-items:start}.vv-results-head label{display:block}.vv-results-head select{width:140px}}

.vv-dialog-note{margin:0;color:#326b47;font-size:14px;font-weight:700}

.vv-catalog .vv-card-button,.vv-catalog .vv-card-button:hover,.vv-catalog .vv-card-button:focus{background:transparent!important;color:#183d2b!important;border:0!important;box-shadow:none!important}

/* Finestra de producte: contingut complet dins del viewport i estils independents del tema. */
.vv-catalog .vv-dialog{padding:16px;overscroll-behavior:contain}
.vv-catalog .vv-dialog-panel{width:min(980px,100%);max-height:calc(100dvh - 32px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;overflow-y:auto;overflow-x:hidden}
.vv-catalog .vv-dialog-image{width:100%;min-width:0;height:min(70dvh,660px);max-height:none!important;padding:32px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.vv-catalog .vv-dialog-image img{display:block!important;position:static!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:min(calc(70dvh - 64px),590px)!important;object-fit:contain!important;flex:none!important;margin:auto!important}
.vv-catalog .vv-dialog-copy{min-width:0;position:relative;z-index:1;background:#fff;padding:58px 42px 42px}
.vv-catalog .vv-dialog-close,.vv-catalog .vv-dialog-close:hover,.vv-catalog .vv-dialog-close:focus{position:absolute;top:15px;right:15px;z-index:3;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;display:grid!important;place-items:center!important;padding:0!important;border:0!important;border-radius:50%!important;background:#eef0ef!important;color:#3d4540!important;font:normal 28px/1 Arial,sans-serif!important;box-shadow:none!important;cursor:pointer}
.vv-catalog .vv-dialog-close:hover{background:#dfe3df!important}
.vv-catalog .vv-dialog-whatsapp,.vv-catalog .vv-dialog-whatsapp:hover{display:inline-block;background:#266d43;color:#fff!important;border-radius:9px;padding:13px 18px;text-decoration:none;font-weight:700;font-size:14px;line-height:1.35}
.vv-catalog .vv-dialog-whatsapp:hover{background:#195431}
.vv-catalog .vv-dialog-whatsapp:focus-visible{outline:3px solid #91cfa0;outline-offset:3px}
@media(max-width:740px){
  .vv-catalog .vv-dialog{padding:10px;align-items:center}
  .vv-catalog .vv-dialog-panel{display:flex;flex-direction:column;align-items:stretch;width:100%;max-height:calc(100dvh - 20px);overflow-y:auto}
  .vv-catalog .vv-dialog-image{flex:0 0 auto;height:min(40dvh,330px);min-height:0!important;padding:22px 25px 4px}
  .vv-catalog .vv-dialog-image img{max-height:min(calc(40dvh - 26px),310px)!important}
  .vv-catalog .vv-dialog-copy{flex:0 0 auto;padding:16px 24px 30px}
  .vv-catalog .vv-dialog-brand{margin:12px 0 5px}
  .vv-catalog .vv-dialog-name{font-size:clamp(21px,6vw,29px)!important;line-height:1.18!important;margin:0 0 7px!important}
  .vv-catalog .vv-dialog-type{margin:0 0 18px!important}
  .vv-catalog .vv-dialog-close{top:12px;right:12px}
}
@media(max-width:390px){.vv-catalog .vv-dialog-image{height:min(34dvh,270px)}.vv-catalog .vv-dialog-image img{max-height:min(calc(34dvh - 26px),250px)!important}}

/* Capçalera del catàleg amb mascotes. */
.vv-catalog .vv-hero{min-height:350px;isolation:isolate}
.vv-catalog .vv-hero:after{display:none}
.vv-catalog .vv-hero-copy{position:relative;z-index:2}
.vv-catalog .vv-hero h2{max-width:none!important;white-space:nowrap;font-size:clamp(27px,2.65vw,47px)!important;letter-spacing:-.038em}
.vv-catalog .vv-hero p{max-width:min(600px,55%)}
.vv-catalog .vv-hero-pets{position:absolute;z-index:1;right:2%;bottom:0;width:auto!important;height:98%!important;max-width:36%!important;max-height:100%!important;object-fit:contain;object-position:bottom right;pointer-events:none;filter:drop-shadow(0 12px 16px #0b31222b)}
@media(max-width:1050px){.vv-catalog .vv-hero{min-height:330px}.vv-catalog .vv-hero h2{font-size:clamp(25px,2.7vw,30px)!important}}
@media(max-width:740px){
  .vv-catalog .vv-hero{min-height:0;padding-bottom:230px}
  .vv-catalog .vv-hero h2{white-space:normal;font-size:clamp(29px,8vw,38px)!important;max-width:100%!important}
  .vv-catalog .vv-hero p{max-width:100%}
  .vv-catalog .vv-hero-pets{height:218px!important;width:auto!important;max-width:86%!important;right:6%;bottom:0}
}
