.order_block .order-status {margin-bottom: 20px; padding: 12px 15px; border: 1px solid #ffd19c; border-radius: 4px; color: #fff; font-size: 15px; line-height: 1.5; background: #175464;}
.order_block [hidden] {display: none !important;}
.order_block input[aria-invalid="true"] {border-color: #ffc095; outline: 1px solid #ffc095;}
.order_block button:disabled {opacity: .65; cursor: wait;}
.order_form .address-input input[name="address"] {padding-right: 58px;}
.order_form .address-input .map_pin {position: absolute; top: 0; right: 0; width: 52px; height: 54px; border: 0; border-radius: 0 4px 4px 0; background: url('../images/icons/map_pin.svg') no-repeat center / 17px 25px; cursor: pointer;}
.order_form .address-input .map_pin:hover {background-color: #ffffff18;}
.order_form .address-input .map_pin:focus-visible {outline: 2px solid var(--tp-green); outline-offset: -5px;}
.address-picker-open {overflow: hidden;}
.address-picker {width: min(900px, calc(100% - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 0; border: 0; border-radius: 8px; background: var(--tp-bg-dark); color: #fff; font: 16px/1.5 'Nunito', sans-serif; overflow-y: auto;}
.address-picker::backdrop {background: #003948c9;}
.address-picker-header {display: flex; justify-content: space-between; gap: 20px; padding: 22px 26px;}
.address-picker-header h2 {font-size: 24px; font-weight: 800;}
.address-picker-header p {margin-top: 4px; color: #d0e4e9; font-size: 14px;}
.address-picker-close {align-self: flex-start; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #ffffff15; color: #fff; font-size: 28px; cursor: pointer;}
.address-map-wrap {position: relative; height: clamp(260px, 48vh, 480px); background: #e4ecee;}
.address-map {height: 100%; width: 100%;}

.address-picker-footer {padding: 20px 26px 24px;}
.address-picker-status {min-height: 48px; margin-bottom: 16px;}
.address-picker-actions {display: flex; justify-content: space-between; gap: 14px;}
.address-picker-actions button {min-height: 48px; padding: 12px 20px; border: 1px solid #ffffff66; border-radius: 5px; background: transparent; color: #fff; font: inherit; font-weight: 800; cursor: pointer;}
.address-picker-actions .address-picker-select {background: var(--tp-green); color: var(--tp-bg-dark); border-color: transparent;}
.address-picker-actions button:disabled {opacity: .5; cursor: default;}
.address-picker :is(button, a):focus-visible {outline: 3px solid #fff; outline-offset: 3px;}
@media (max-width: 600px) {
  .address-picker-header {padding: 18px;}
  .address-picker-header h2 {font-size: 20px;}
  .address-picker-footer {padding: 18px;}
  .address-picker-actions {flex-direction: column;}
  .address-map-wrap {height: 36vh; min-height: 230px;}
}

.address-map-pin::after {content: ''; position: absolute; width: 10px; height: 10px; top: 9px; left: 9px; border-radius: 50%; background: var(--tp-green);}

.address-map-pin {position: absolute; z-index: 2; left: 50%; top: calc(50% - 24px); width: 34px; height: 34px; border: 3px solid #fff; border-radius: 50% 50% 50% 0; background: var(--tp-bg-dark); transform: translate(-50%, -50%) rotate(-45deg); pointer-events: none; box-shadow: 0 3px 8px #00394855;}
/* Hidden CSRF/package inputs must not change the visible field order. */
.order_form form[action="/order/internet"] {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 20px;}
.order_form form[action="/order/internet"] .input {width: 100%; float: none; padding: 0;}
.order_form form[action="/order/internet"] .address-input {position: relative;}
.order_form form[action="/order/internet"] > .submit,
.order_form form[action="/order/internet"] > .order-status {grid-column: 1 / -1;}
@media (max-width: 767px) {
  .order_form form[action="/order/internet"] {grid-template-columns: minmax(0, 1fr);}
}
