/* Share section (server/templates/share.php): a preview of the link card, round platform icons with a label the way
   phones show a share sheet, and "More ways to share" with grouped services and a QR code. */
.qd-share{margin-top:45px;padding-top:25px;border-top:2px solid currentColor}
.qd-share-title{font-size:25px;letter-spacing:-1px;line-height:1.1;margin:0 0 20px}
.qd-share-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:16px 6px}
.qd-share-item[hidden]{display:none}
.qd-share-link{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;margin:0;padding:4px 2px;background:none;border:0;border-radius:10px;color:inherit;font:inherit;text-decoration:none;cursor:pointer}
.qd-share-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#19231f;color:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);transition:transform .15s ease,box-shadow .15s ease}
.qd-share-svg{display:block;width:25px;height:25px;fill:currentColor}
.qd-share-line{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.qd-share-label{font-size:11px;line-height:1.3;text-align:center;overflow-wrap:anywhere}
.qd-share-link:hover .qd-share-icon{transform:translateY(-2px);box-shadow:0 5px 12px rgba(0,0,0,.2)}
.qd-share-link:focus-visible{outline:3px solid #2346f4;outline-offset:2px}
.qd-share-status{min-height:1.5em;margin:14px 0 0;font-size:12px;line-height:1.5}
.qd-share-offscreen{position:fixed;top:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none}
/* Logos that are already a filled circle or tile keep their own shape on a white disc. */
.share-messenger .qd-share-icon,.share-facebook .qd-share-icon,.share-telegram .qd-share-icon,.share-linkedin .qd-share-icon{background:#fff}
.share-messenger .qd-share-svg,.share-facebook .qd-share-svg,.share-telegram .qd-share-svg{width:50px;height:50px}
.share-facebook .qd-share-svg{fill:#0866ff}
.share-telegram .qd-share-svg{fill:#26a5e4}
.share-linkedin .qd-share-svg{width:30px;height:30px;fill:#0a66c2}
.share-whatsapp .qd-share-icon{background:#25d366}
.share-sms .qd-share-icon{background:#34c759}
.share-x .qd-share-icon,.share-threads .qd-share-icon{background:#000}
.share-bluesky .qd-share-icon{background:#1185fe}
.share-snapchat .qd-share-icon{background:#fffc00}
.share-snapchat .qd-share-svg{fill:#fff;stroke:#000;stroke-width:1.2px;stroke-linejoin:round}
.share-email .qd-share-icon{background:#5b6770}
.share-copy .qd-share-icon,.share-more .qd-share-icon{background:#19231f}
.share-reddit .qd-share-icon,.share-pinterest .qd-share-icon,.share-line .qd-share-icon,.share-flipboard .qd-share-icon{background:#fff}
.share-reddit .qd-share-svg{width:100%;height:100%;fill:#ff4500}
.share-pinterest .qd-share-svg{width:100%;height:100%;fill:#e60023}
.share-line .qd-share-svg{width:62%;height:62%;fill:#06c755}
.share-flipboard .qd-share-svg{width:54%;height:54%;fill:#e12828}
.share-discord .qd-share-icon{background:#5865f2}
.share-viber .qd-share-icon{background:#7360f2}
.share-instagram .qd-share-icon{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}
.share-teams .qd-share-icon{background:#5059c9}
.share-slack .qd-share-icon{background:#4a154b}
.share-tumblr .qd-share-icon{background:#001935}
.share-mastodon .qd-share-icon{background:#6364ff}
.share-nextdoor .qd-share-icon{background:#8ed500;color:#10231a}
.share-gmail .qd-share-icon{background:#ea4335}
.share-outlook .qd-share-icon{background:#0078d4}
.share-yahoo .qd-share-icon{background:#6001d2}
/* The card friends will see, next to the icons. */
.qd-share-body.has-preview{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:28px;align-items:start}
.qd-share-preview{margin:0;border:1px solid rgba(0,0,0,.14);border-radius:12px;overflow:hidden;background:#fff;color:#19231f;box-shadow:0 10px 26px rgba(0,0,0,.1)}
.qd-share-preview img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover}
.qd-share-preview figcaption{display:grid;gap:4px;padding:10px 12px 12px;background:#f4f4f0}
.qd-share-domain{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#65706a}
.qd-share-preview strong{font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.qd-share-preview small{font-size:11px;color:#65706a;margin-top:4px}
/* More ways to share: grouped services and the QR code, folded until asked for. */
.qd-share-extra{margin-top:22px;border-top:1px solid rgba(0,0,0,.14)}
.qd-share-extra summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:14px 0;cursor:pointer;list-style:none}
.qd-share-extra summary::-webkit-details-marker{display:none}
.qd-share-extra summary:focus-visible{outline:3px solid #2346f4;outline-offset:2px}
.qd-share-extra-title{display:inline-flex;align-items:center;font-weight:700;font-size:15px}
.qd-share-extra-title::before{content:"+";display:inline-grid;place-items:center;width:24px;height:24px;margin-right:10px;border-radius:50%;background:#19231f;color:#fff;font-size:16px;line-height:1}
.qd-share-extra[open] .qd-share-extra-title::before{content:"\2212"}
.qd-share-extra-names{font-size:12px;line-height:1.5;color:#65706a}
.qd-share-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px 30px;padding:6px 0 12px}
.qd-share-group h3,.qd-share-group h4{margin:0 0 12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.qd-share-list-small{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:14px 4px}
.qd-share-list-small .qd-share-icon{width:42px;height:42px}
.qd-share-list-small .qd-share-svg{width:21px;height:21px}
.qd-share-list-small .share-reddit .qd-share-svg,.qd-share-list-small .share-pinterest .qd-share-svg{width:100%;height:100%}
.qd-share-list-small .share-line .qd-share-svg{width:62%;height:62%}
.qd-share-list-small .share-flipboard .qd-share-svg{width:54%;height:54%}
.qd-share-qr{margin:0;display:flex;gap:14px;align-items:center}
.qd-qr{display:block;width:150px;height:150px;flex:none;border-radius:8px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.qd-share-qr figcaption{font-size:12px;line-height:1.5}
/* Add to calendar (templates/calendar.php) under the event time. */
.qd-calendar{margin-top:14px}
.qd-calendar summary{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:#19231f;color:#fff;font-weight:700;font-size:14px;cursor:pointer;list-style:none}
.qd-calendar summary::-webkit-details-marker{display:none}
.qd-calendar summary:focus-visible{outline:3px solid #2346f4;outline-offset:2px}
.qd-calendar-icon .qd-share-svg{width:18px;height:18px}
.qd-calendar-list{list-style:none;margin:10px 0 0;padding:6px;border-radius:12px;background:#fff;color:#19231f;box-shadow:0 10px 26px rgba(0,0,0,.14)}
.qd-calendar-list a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:inherit;font-size:14px;line-height:1.3;text-decoration:none}
.qd-calendar-list a:hover,.qd-calendar-list a:focus-visible{background:#f0eee4}
.qd-calendar-mark{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:#19231f;color:#fff}
.qd-calendar-mark .qd-share-svg{width:15px;height:15px}
.calendar-apple .qd-calendar-mark{background:#000}
.calendar-googlecalendar .qd-calendar-mark{background:#4285f4}
.calendar-outlook .qd-calendar-mark,.calendar-office .qd-calendar-mark{background:#0078d4}
.calendar-yahoo .qd-calendar-mark{background:#6001d2}
/* In the narrow "Visit" column of place pages the row sits under a thin rule. */
.place-visit .qd-share{margin-top:28px;padding-top:16px;border-top:1px solid #bfc6ae}
.place-visit .qd-share-title{font-size:18px;letter-spacing:0;margin-bottom:16px}
.place-visit .qd-share-list{grid-template-columns:repeat(auto-fill,minmax(68px,1fr))}
.place-visit .qd-share-body.has-preview,.place-visit .qd-share-groups{grid-template-columns:1fr}
.home-share{padding-top:10px;padding-bottom:40px}
@media(max-width:760px){.qd-share-body.has-preview{grid-template-columns:1fr;gap:18px}.qd-share-preview{display:grid;grid-template-columns:112px minmax(0,1fr)}.qd-share-preview img{height:100%;aspect-ratio:auto}.qd-share-preview figcaption{padding:8px 10px}}
@media(max-width:650px){.qd-share-title{font-size:22px}.qd-share-list{grid-template-columns:repeat(4,minmax(0,1fr))}.qd-share-qr{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.qd-share-icon{transition:none}.qd-share-link:hover .qd-share-icon{transform:none}}
@media print{.qd-share,.qd-calendar{display:none}}
