.pdt-location-open { overflow: hidden; }
.pdt-location-button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:44px; padding:.65rem .9rem; border:1px solid currentColor; border-radius:999px; background:transparent; color:inherit; font:inherit; font-weight:600; cursor:pointer; }
.pdt-location-button:hover { background:rgba(128,128,128,.08); }
.pdt-location-button:focus-visible,.pdt-location__close:focus-visible,.pdt-location__cancel:focus-visible,.pdt-location__confirm:focus-visible { outline:3px solid currentColor; outline-offset:3px; }
.pdt-location-button--checkout { margin-top:.6rem; color:#723240; }
.pdt-location[hidden] { display:none !important; }
.pdt-location { position:fixed; inset:0; z-index:100000; display:grid; place-items:end center; }
.pdt-location__backdrop { position:absolute; inset:0; background:rgba(20,14,16,.56); backdrop-filter:blur(2px); }
.pdt-location__sheet { position:relative; width:min(100%,760px); max-height:min(92dvh,820px); display:flex; flex-direction:column; overflow:hidden; border-radius:24px 24px 0 0; background:#fff; color:#2b2325; box-shadow:0 -18px 50px rgba(0,0,0,.24); }
.pdt-location__head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1.1rem 1rem .75rem; }
.pdt-location__head h2 { margin:0; font-size:1.3rem; line-height:1.25; }
.pdt-location__head p { margin:.35rem 0 0; color:#675d60; font-size:.94rem; line-height:1.45; }
.pdt-location__close { flex:none; width:44px; height:44px; border:0; border-radius:50%; background:#f4eef0; color:#34292c; font-size:1.8rem; line-height:1; cursor:pointer; }
.pdt-location__privacy { display:flex; align-items:center; gap:.5rem; margin:0 1rem .75rem; padding:.65rem .75rem; border-radius:12px; background:#f8f4f5; color:#574b4e; font-size:.88rem; }
.pdt-location__map { position:relative; min-height:310px; height:min(52dvh,470px); background:#e8e4e5; cursor:crosshair; touch-action:none; }
.pdt-location__map.is-unavailable { min-height:180px; }
.pdt-location__status { min-height:1.4em; margin:.75rem 1rem 0; color:#675d60; font-size:.88rem; }
.pdt-location__status.is-error { color:#a02222; }
.pdt-location__actions { display:grid; grid-template-columns:1fr 1.6fr; gap:.75rem; padding:.75rem 1rem max(1rem,env(safe-area-inset-bottom)); }
.pdt-location__cancel,.pdt-location__confirm { min-height:48px; border-radius:14px; padding:.75rem 1rem; font:inherit; font-weight:700; cursor:pointer; }
.pdt-location__cancel { border:1px solid #d6cccf; background:#fff; color:#473c3f; }
.pdt-location__confirm { border:1px solid #8f4957; background:#8f4957; color:#fff; }
.pdt-location__confirm:disabled { opacity:.46; cursor:not-allowed; }
.pdt-location__confirm.is-busy { cursor:wait; }
.pdt-marker.pdt-location__marker { width:34px; height:42px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:#8f4957; border:3px solid #fff; box-shadow:0 4px 14px rgba(0,0,0,.3); }
.pdt-marker.pdt-location__marker span { position:absolute; width:10px; height:10px; top:9px; left:9px; border-radius:50%; background:#fff; }
@media (min-width:700px) { .pdt-location { place-items:center; padding:1.5rem; } .pdt-location__sheet { border-radius:24px; } }
@media (prefers-reduced-motion:reduce) { .pdt-location * { scroll-behavior:auto !important; transition:none !important; } }


/* Storefront location actions: equal, aligned controls with a safe stacked fallback. */
.pa-dcheck__tools { display:grid !important; grid-template-columns:minmax(0,1fr); gap:8px; align-items:stretch; }
.pa-dcheck__tools > .pa-dcheck__locate,
.pa-dcheck__tools > .pdt-location-button { width:100%; max-width:none; min-height:44px; margin:0; padding:0 12px; border:1px solid currentColor; border-radius:999px; font-size:.875rem; line-height:1.2; }
.pa-dcheck__tools:has(.pa-dcheck__locate:not([hidden])) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pdt-location__map::after { content:""; position:absolute; z-index:12; left:50%; top:50%; width:30px; height:38px; border-radius:50% 50% 50% 0; transform:translate(-50%,-100%) rotate(-45deg); background:#8f4957; border:3px solid #fff; box-shadow:0 4px 14px rgba(0,0,0,.3); pointer-events:none; }
.pdt-location__map::before { content:""; position:absolute; z-index:13; left:50%; top:50%; width:8px; height:8px; border-radius:50%; transform:translate(-50%,-31px); background:#fff; pointer-events:none; }
@media (max-width:379px) { .pa-dcheck__tools:has(.pa-dcheck__locate:not([hidden])) { grid-template-columns:1fr; } }
