/* QDVida Locations v1.4 — vintage craft-paper stockist cards */
.qdv-locations{--qdv-brown:#5b4635;--qdv-ink:#302920;--qdv-paper:#f5ead6;--qdv-paper-deep:#ead9bd;--qdv-line:#c9b394;--qdv-muted:#655747;--qdv-green:#66745a;color:var(--qdv-ink);font-family:inherit;max-width:1380px;width:calc(100% - 40px);margin:80px auto 4rem;padding:0;position:relative;isolation:isolate}
.qdv-locations *{box-sizing:border-box}
.qdv-locations__intro{position:relative;text-align:center;margin:0 0 2rem;padding:1.7rem 1.5rem 1.55rem;border:1px solid var(--qdv-line);border-radius:3px;background:linear-gradient(135deg,#fbf8f1 0%,#f1e7d8 100%);box-shadow:0 8px 28px rgba(62,48,34,.045);overflow:hidden}
.qdv-locations__intro:before,.qdv-locations__intro:after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:64px;height:1px;background:#b8a58d}
.qdv-locations__intro:before{top:13px}.qdv-locations__intro:after{bottom:13px}
.qdv-locations__intro h1{color:var(--qdv-brown)!important;font-size:clamp(2.35rem,4vw,3.5rem);line-height:1.05;font-weight:600;letter-spacing:-.045em;margin:0 0 .65rem;padding:0;text-transform:none}
.qdv-locations__intro p{font-size:1rem;line-height:1.65;color:var(--qdv-muted)!important;margin:0;font-weight:400}
.qdv-locations__layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:1.5rem;align-items:start}
.qdv-locations__map-wrap{position:sticky;top:30px;min-width:0;background:#f4eee5;border:1px solid var(--qdv-line);padding:10px;border-radius:4px;box-shadow:0 12px 32px rgba(62,48,34,.08)}
.qdv-locations__map{width:100%;min-height:450px;border-radius:2px;overflow:hidden;background:#e9e2d6;z-index:1}
.qdv-locations__map-note{display:flex;align-items:center;gap:.55rem;font-size:.78rem;letter-spacing:.025em;color:var(--qdv-muted)!important;margin:.7rem .35rem .25rem}
.qdv-locations__map-note:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--qdv-green);flex:0 0 7px}
.qdv-locations__list{display:flex;flex-direction:column;gap:1rem;min-width:0}
/* The stockist card is intentionally narrow and self-contained: image can never overlap its text. */
.qdv-stockist{position:relative;display:grid;grid-template-columns:minmax(92px,124px) minmax(0,1fr);gap:1rem;align-items:start;padding:1rem;background-color:#f4e7cf!important;background-image:radial-gradient(ellipse at 18% 12%,rgba(255,255,255,.42),transparent 45%),radial-gradient(ellipse at 90% 85%,rgba(160,119,69,.09),transparent 42%),repeating-linear-gradient(2deg,rgba(117,83,47,.018) 0,rgba(117,83,47,.018) 1px,transparent 1px,transparent 5px)!important;color:#302920!important;border:1px solid #c5a982;border-radius:2px;box-shadow:0 5px 16px rgba(62,48,34,.10),inset 0 0 0 3px rgba(255,250,237,.46);transition:border-color .22s,box-shadow .22s,transform .22s;cursor:pointer;min-width:0;overflow:hidden}
.qdv-stockist:before{content:"";position:absolute;inset:5px;border:1px solid rgba(139,102,62,.24);pointer-events:none;z-index:0}
.qdv-stockist:hover{border-color:#a78a62;box-shadow:0 9px 22px rgba(62,48,34,.15),inset 0 0 0 3px rgba(255,250,237,.46);transform:translateY(-1px)}
.qdv-stockist>*{position:relative;z-index:1;min-width:0}
.qdv-stockist *{box-sizing:border-box;color:inherit}
.qdv-stockist.is-selected{border-color:#987654;box-shadow:0 0 0 2px rgba(155,124,88,.18),0 9px 22px rgba(62,48,34,.13),inset 0 0 0 3px rgba(255,250,237,.46)}
.qdv-stockist__image{display:block;align-self:start;width:100%;height:166px;min-height:0;max-height:166px;aspect-ratio:auto;overflow:hidden;background:#e4d5be;border:1px solid rgba(114,81,49,.28);padding:3px;border-radius:1px}
.qdv-stockist__image img{display:block!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%;max-width:100%;object-fit:cover;object-position:center;transition:transform .4s ease}
.qdv-stockist:hover .qdv-stockist__image img{transform:scale(1.035)}
.qdv-stockist__body{min-width:0;width:100%;max-width:100%;display:flex;flex-direction:column;align-items:flex-start;padding:.12rem .05rem .1rem;overflow-wrap:anywhere}
.qdv-stockist__label{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:#697452!important;margin:0 0 .4rem;font-weight:750;line-height:1.4}
.qdv-stockist h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.1rem,1.45vw,1.32rem);line-height:1.2;color:var(--qdv-brown)!important;font-weight:700;letter-spacing:-.015em;margin:0 0 .65rem;padding:0;max-width:100%;overflow-wrap:anywhere}
.qdv-stockist__detail,.qdv-stockist__description{font-size:.86rem;line-height:1.48;margin:.24rem 0;color:#40362c!important;max-width:100%;overflow-wrap:anywhere;min-width:0}
.qdv-stockist__detail--icon{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:.45rem;width:100%}
.qdv-stockist__icon{display:block;width:17px;height:17px;margin-top:2px;fill:none;stroke:#70583e;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.qdv-stockist__icon--phone{stroke-width:1.8}
.qdv-stockist__detail a{color:#5b4635!important;text-decoration:underline;text-decoration-color:#bda584;text-underline-offset:3px;overflow-wrap:anywhere}
.qdv-stockist__detail a:hover{color:#66745a!important}
.qdv-stockist__description{margin-top:.5rem;color:#655747!important}
.qdv-stockist__actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.45rem;margin-top:auto;padding-top:.85rem;width:100%}
.qdv-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:36px;max-width:100%;padding:.55rem .72rem;border:1px solid #5b4635;border-radius:2px;background:#5b4635!important;color:#fffaf2!important;font-family:inherit;font-size:.75rem;font-weight:650;letter-spacing:.015em;line-height:1.2;text-decoration:none!important;cursor:pointer;white-space:normal;transition:background .18s,border-color .18s,color .18s}
.qdv-button:hover,.qdv-button:focus{background:#403126!important;color:#fff!important;border-color:#403126;outline-offset:3px}
.qdv-button--outline{background:rgba(255,250,240,.48)!important;color:#5b4635!important}
.qdv-button--outline:hover,.qdv-button--outline:focus{background:#e6d5bb!important;color:#403126!important;border-color:#8b765f}
.qdv-products{position:relative;max-width:100%;min-width:0}
.qdv-products summary{list-style:none}
.qdv-products summary::-webkit-details-marker{display:none}
.qdv-products summary span{display:inline-block;transition:transform .2s}
.qdv-products[open] summary span{transform:rotate(45deg)}
.qdv-products ul{list-style:none!important;margin:.5rem 0 0!important;padding:.45rem .75rem!important;background:#f8f0e1!important;color:#40362c!important;border:1px solid #cbb493;border-radius:2px;width:min(290px,75vw);max-width:100%;max-height:292px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;box-shadow:0 8px 20px rgba(40,30,20,.12);scrollbar-width:thin;scrollbar-color:#b39a78 #eee0c9}
.qdv-products ul::-webkit-scrollbar{width:8px}.qdv-products ul::-webkit-scrollbar-track{background:#eee0c9}.qdv-products ul::-webkit-scrollbar-thumb{background:#b39a78;border:2px solid #eee0c9;border-radius:8px}
.qdv-products li{list-style:none!important;font-size:.83rem;line-height:1.45;padding:.38rem 0;border-bottom:1px solid #e4d3b9;color:#42382f!important;min-height:31px}
.qdv-products li:last-child{border-bottom:0}
.qdv-locations__empty{padding:2.2rem;background:#fbf8f1!important;color:#302920!important;border:1px solid var(--qdv-line);border-radius:4px}
.qdv-locations__empty h3{color:var(--qdv-brown)!important;margin-top:0}.qdv-locations__empty p{color:var(--qdv-muted)!important}
.qdv-map-popup{font:14px/1.5 inherit;color:#302920}.qdv-map-popup strong{color:#5b4635}
.qdv-locations .leaflet-container{font-family:inherit}.qdv-locations .leaflet-control-attribution{font-size:10px}.qdv-locations .leaflet-popup-content-wrapper{border-radius:3px;background:#fff7e9;color:#302920}.qdv-locations .leaflet-popup-content{line-height:1.5}.qdv-locations .leaflet-popup-content a{color:#5b4635;text-decoration:underline}
@media(max-width:960px){.qdv-locations{margin-top:64px}.qdv-locations__layout{grid-template-columns:minmax(0,1fr);gap:1.25rem}.qdv-locations__map-wrap{position:relative;top:auto}.qdv-locations__map{min-height:370px}.qdv-locations__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.qdv-stockist{grid-template-columns:minmax(90px,118px) minmax(0,1fr);gap:.85rem}}
@media(max-width:650px){.qdv-locations{width:calc(100% - 28px);margin:44px auto 3rem}.qdv-locations__intro{margin-bottom:1.1rem;padding:1.55rem 1rem}.qdv-locations__intro h1{font-size:2.35rem}.qdv-locations__intro p{font-size:.93rem}.qdv-locations__layout{gap:1rem}.qdv-locations__map-wrap{padding:7px}.qdv-locations__map{min-height:315px}.qdv-locations__list{grid-template-columns:1fr;gap:.8rem}.qdv-stockist{grid-template-columns:minmax(96px,118px) minmax(0,1fr);gap:.85rem;padding:.8rem}.qdv-stockist__image{height:156px;max-height:156px}.qdv-stockist h3{font-size:1.12rem}.qdv-stockist__detail,.qdv-stockist__description{font-size:.84rem}.qdv-stockist__actions{gap:.4rem;padding-top:.8rem}.qdv-button{font-size:.73rem;padding:.55rem .6rem;min-height:35px}.qdv-products ul{width:min(290px,78vw);max-height:292px}}
@media(max-width:390px){.qdv-stockist{grid-template-columns:88px minmax(0,1fr);gap:.7rem;padding:.7rem}.qdv-stockist__image{height:136px;max-height:136px}.qdv-stockist__label{font-size:.58rem}.qdv-stockist__detail,.qdv-stockist__description{font-size:.8rem}.qdv-stockist__icon{width:15px;height:15px}.qdv-stockist__detail--icon{grid-template-columns:16px minmax(0,1fr);gap:.35rem}}
@media(prefers-reduced-motion:reduce){.qdv-stockist,.qdv-stockist__image img,.qdv-button{transition:none}}
