/* Premium Checkout Studio customer location 2.5.1 */
.pcs-location-widget,
.pcs-location-widget * {
    box-sizing: border-box !important;
}

.pcs-location-widget {
    background: linear-gradient(180deg, #fff 0%, #fbfaff 100%) !important;
    border: 1px solid rgba(104, 64, 237, .16) !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 30px rgba(54, 37, 111, .08) !important;
    color: #282638 !important;
    margin: 18px 0 !important;
    overflow: hidden !important;
    padding: 18px !important;
    width: 100% !important;
}

.pcs-location-header {
    align-items: flex-start !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: 44px minmax(0, 1fr) auto !important;
}

.pcs-location-icon {
    align-items: center !important;
    background: linear-gradient(135deg, #6a40ed, #9a50ff) !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 18px rgba(104, 64, 237, .24) !important;
    color: #fff !important;
    display: flex !important;
    height: 44px !important;
    justify-content: center !important;
    width: 44px !important;
}

.pcs-location-widget svg {
    display: block !important;
    fill: none !important;
    height: 20px !important;
    max-height: 20px !important;
    max-width: 20px !important;
    stroke: currentColor !important;
    width: 20px !important;
}

.pcs-location-heading { min-width: 0 !important; }
.pcs-location-heading strong {
    color: #262437 !important;
    display: block !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}
.pcs-location-heading strong em { color: #d92d20 !important; font-style: normal !important; }
.pcs-location-heading small {
    color: #7c7889 !important;
    display: block !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    margin-top: 4px !important;
}

.pcs-location-badge {
    background: #f1edff !important;
    border-radius: 999px !important;
    color: #6840ed !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    padding: 8px 10px !important;
    white-space: nowrap !important;
}
.pcs-location-badge.is-selected,
.pcs-location-widget.has-location .pcs-location-badge {
    background: #e8f8ef !important;
    color: #16865a !important;
}

.pcs-location-status {
    align-items: flex-start !important;
    background: #f5f2ff !important;
    border: 1px solid #e6dfff !important;
    border-radius: 13px !important;
    display: flex !important;
    gap: 9px !important;
    margin-top: 15px !important;
    padding: 12px !important;
}
.pcs-location-status > span {
    background: #8a5cf6 !important;
    border-radius: 50% !important;
    flex: 0 0 8px !important;
    height: 8px !important;
    margin-top: 5px !important;
    width: 8px !important;
}
.pcs-location-status p {
    color: #5d5770 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
}
.pcs-location-status.is-loading > span { animation: pcs-location-pulse 1s infinite alternate !important; }
.pcs-location-status.is-success { background: #ecfaf3 !important; border-color: #ccefdc !important; }
.pcs-location-status.is-success > span { background: #20a66d !important; }
.pcs-location-status.is-error { background: #fff1f0 !important; border-color: #ffd0cc !important; }
.pcs-location-status.is-error > span { background: #d92d20 !important; }
.pcs-location-status.is-warning { background: #fff9e9 !important; border-color: #f8e3a8 !important; }
.pcs-location-status.is-warning > span { background: #e6a400 !important; }
@keyframes pcs-location-pulse { from { opacity: .35; transform: scale(.8); } to { opacity: 1; transform: scale(1.15); } }

.pcs-location-actions {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 14px !important;
}

.pcs-location-detect,
.pcs-location-save-button {
    align-items: center !important;
    appearance: none !important;
    background: linear-gradient(135deg, #6840ed, #9a50ff) !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 9px 20px rgba(104, 64, 237, .22) !important;
    color: #fff !important;
    cursor: pointer !important;
    display: inline-flex !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    gap: 8px !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    min-height: 44px !important;
    padding: 11px 16px !important;
    text-decoration: none !important;
}
.pcs-location-detect:hover,
.pcs-location-detect:focus-visible,
.pcs-location-save-button:hover,
.pcs-location-save-button:focus-visible { filter: brightness(1.04) !important; transform: translateY(-1px) !important; }
.pcs-location-detect:disabled { cursor: wait !important; opacity: .72 !important; }
.pcs-location-detect.is-loading svg { animation: pcs-location-spin .9s linear infinite !important; }
@keyframes pcs-location-spin { to { transform: rotate(360deg); } }

.pcs-location-map {
    align-items: center !important;
    background: #f2effa !important;
    border-radius: 11px !important;
    color: #6542c9 !important;
    display: inline-flex !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    min-height: 40px !important;
    padding: 10px 13px !important;
    text-decoration: none !important;
}
.pcs-location-map[hidden] { display: none !important; }

.pcs-location-address-label {
    color: #343143 !important;
    display: block !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    margin-top: 15px !important;
}
.pcs-location-address-label > span { display: block !important; margin-bottom: 7px !important; }
.pcs-location-address-label textarea {
    background: #fff !important;
    border: 1px solid #ddd8ea !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    color: #282638 !important;
    font: inherit !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    min-height: 84px !important;
    padding: 12px 13px !important;
    resize: vertical !important;
    width: 100% !important;
}
.pcs-location-address-label textarea:focus {
    border-color: #7a50ef !important;
    box-shadow: 0 0 0 3px rgba(122, 80, 239, .12) !important;
    outline: none !important;
}

.pcs-location-coordinates {
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-top: 12px !important;
}
.pcs-location-coordinates[hidden] { display: none !important; }
.pcs-location-coordinates span {
    background: #f8f6fc !important;
    border-radius: 10px !important;
    min-width: 0 !important;
    padding: 9px !important;
}
.pcs-location-coordinates b,
.pcs-location-coordinates em {
    display: block !important;
    font-style: normal !important;
    overflow-wrap: anywhere !important;
}
.pcs-location-coordinates b { color: #807b8d !important; font-size: 9px !important; margin-bottom: 4px !important; text-transform: uppercase !important; }
.pcs-location-coordinates em { color: #302d40 !important; font-size: 10px !important; font-weight: 800 !important; }
.pcs-location-attribution { color: #8a8693 !important; display: block !important; font-size: 9px !important; line-height: 1.4 !important; margin-top: 10px !important; }

.pcs-location-account-form { margin: 0 !important; }
.pcs-location-account-form .pcs-location-widget { margin-top: 0 !important; }
.pcs-location-save-button { margin-top: 2px !important; width: 100% !important; }

@media (max-width: 520px) {
    .pcs-location-widget { border-radius: 15px !important; padding: 14px !important; }
    .pcs-location-header { grid-template-columns: 38px minmax(0, 1fr) !important; gap: 10px !important; }
    .pcs-location-icon { border-radius: 12px !important; height: 38px !important; width: 38px !important; }
    .pcs-location-badge { grid-column: 2 !important; justify-self: start !important; margin-top: -2px !important; }
    .pcs-location-actions { align-items: stretch !important; flex-direction: column !important; }
    .pcs-location-detect, .pcs-location-map { justify-content: center !important; width: 100% !important; }
    .pcs-location-coordinates { grid-template-columns: 1fr !important; }
}

/* Professional location details and WhatsApp sharing — 2.5.1 */
.pcs-location-actions .pcs-location-map,
.pcs-location-actions .pcs-location-whatsapp {
    align-items: center !important;
    border: 0 !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    gap: 7px !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    min-height: 44px !important;
    padding: 11px 14px !important;
    text-decoration: none !important;
}
.pcs-location-actions .pcs-location-map {
    background: #f2effa !important;
    color: #6542c9 !important;
}
.pcs-location-actions .pcs-location-whatsapp {
    background: #e8f9ef !important;
    color: #128c4a !important;
}
.pcs-location-actions .pcs-location-map:hover,
.pcs-location-actions .pcs-location-whatsapp:hover,
.pcs-location-actions .pcs-location-map:focus-visible,
.pcs-location-actions .pcs-location-whatsapp:focus-visible {
    filter: brightness(.98) !important;
    transform: translateY(-1px) !important;
}
.pcs-location-actions .pcs-location-map[hidden],
.pcs-location-actions .pcs-location-whatsapp[hidden] {
    display: none !important;
}
.pcs-location-actions .pcs-location-map svg,
.pcs-location-actions .pcs-location-whatsapp svg {
    height: 17px !important;
    max-height: 17px !important;
    max-width: 17px !important;
    width: 17px !important;
}

.pcs-location-summary {
    background: linear-gradient(145deg, #f7f3ff 0%, #f4f8ff 100%) !important;
    border: 1px solid #e4dcfb !important;
    border-radius: 15px !important;
    margin-top: 16px !important;
    overflow: hidden !important;
    padding: 15px !important;
}
.pcs-location-summary[hidden] { display: none !important; }
.pcs-location-summary-heading {
    align-items: center !important;
    display: flex !important;
    gap: 11px !important;
    min-width: 0 !important;
}
.pcs-location-summary-pin {
    align-items: center !important;
    background: linear-gradient(135deg, #6840ed, #9a50ff) !important;
    border-radius: 12px !important;
    color: #fff !important;
    display: inline-flex !important;
    flex: 0 0 38px !important;
    height: 38px !important;
    justify-content: center !important;
    width: 38px !important;
}
.pcs-location-summary-heading > span:last-child { min-width: 0 !important; }
.pcs-location-summary-heading small {
    color: #7554cf !important;
    display: block !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: .11em !important;
    line-height: 1.2 !important;
}
.pcs-location-summary-heading strong {
    color: #282638 !important;
    display: block !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
    margin-top: 3px !important;
    overflow-wrap: anywhere !important;
}
.pcs-location-full-address {
    background: #fff !important;
    border: 1px solid rgba(104, 64, 237, .12) !important;
    border-radius: 11px !important;
    color: #4d485d !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
    margin: 13px 0 0 !important;
    overflow-wrap: anywhere !important;
    padding: 11px 12px !important;
}
.pcs-location-detail-grid {
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin-top: 10px !important;
}
.pcs-location-detail-grid span {
    background: rgba(255,255,255,.78) !important;
    border: 1px solid rgba(104,64,237,.09) !important;
    border-radius: 10px !important;
    min-width: 0 !important;
    padding: 9px 10px !important;
}
.pcs-location-detail-grid b,
.pcs-location-detail-grid em {
    display: block !important;
    font-style: normal !important;
    overflow-wrap: anywhere !important;
}
.pcs-location-detail-grid b {
    color: #898392 !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
    margin-bottom: 4px !important;
    text-transform: uppercase !important;
}
.pcs-location-detail-grid em {
    color: #302d40 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
}
.pcs-location-address-label > small {
    color: #85808e !important;
    display: block !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    margin: -2px 0 8px !important;
}

@media (max-width: 520px) {
    .pcs-location-actions .pcs-location-map,
    .pcs-location-actions .pcs-location-whatsapp {
        width: 100% !important;
    }
    .pcs-location-detail-grid { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 360px) {
    .pcs-location-detail-grid { grid-template-columns: 1fr !important; }
}
