/* ==========================================================================
   VK Distro · login, apply, my account
   ========================================================================== */
.woocommerce-account .entry-header, .page-template-default.page .entry-header .entry-title { }
.woocommerce-account .entry-header { display: none; }

/* ---------- login: split layout ---------- */
.vk-auth { display: grid; gap: 20px; max-width: 1040px; margin: 8px auto 0; }
.vk-auth-side { position: relative; overflow: hidden; background: linear-gradient(160deg, #0f3b29, #1f6b4a); color: #d8ebe0; border-radius: 24px; padding: 28px 24px; order: 2; }
.vk-auth-side img { width: 56px; filter: brightness(0) invert(1); opacity: .9; margin-bottom: 14px; }
.vk-auth-side h1 { color: #fff; font-size: clamp(28px, 4vw, 40px); margin: 0 0 8px; }
.vk-auth-side p { color: #bcd6c7; margin: 0 0 16px; }
.vk-auth-side ul { list-style: none; margin: 0; padding: 0; }
.vk-auth-side li { position: relative; padding: 7px 0 7px 28px; font-size: 14px; color: #e7f2ec; }
.vk-auth-side li::before { content: "✓"; position: absolute; left: 0; top: 7px; width: 18px; height: 18px; border-radius: 50%; background: rgba(255,255,255,.16);
  display: grid; place-items: center; font-size: 11px; }
.vk-auth-main { order: 1; background: #fff; border: 1px solid var(--vk-line); border-radius: 24px; padding: 28px 24px; box-shadow: var(--vk-shadow-lg); }
.vk-auth-main h2 { font-size: 26px !important; margin: 0 0 16px !important; }
.vk-auth-main form.login { border: 0 !important; padding: 0 !important; margin: 0 !important; }
.vk-auth-main .form-row { margin: 0 0 14px !important; }
.vk-auth-main input.input-text { width: 100%; border-radius: 12px !important; padding: 12px 14px !important; }
.vk-auth-main .woocommerce-form-login__submit { width: 100%; margin-top: 6px !important; padding: 14px !important; font-size: 15px !important; }
.vk-auth-main .woocommerce-form-login__rememberme { display: flex !important; align-items: center; gap: 8px; margin: 6px 0 10px !important; }
.vk-auth-main .lost_password { margin: 12px 0 0 !important; font-size: 13.5px; }
.vk-auth-main .show-password-input { background: transparent !important; color: var(--vk-muted) !important; box-shadow: none !important; }
.vk-auth-alt { margin: 20px 0 0; padding-top: 16px; border-top: 1px solid var(--vk-line); font-size: 14px; color: var(--vk-muted); }
.vk-auth-alt a { font-weight: 600; }
.vk-login-wrap, .vk-login-new { display: contents; }
.vk-login-new, .vk-login-card > .vk-sec-head { display: none !important; }
.vk-login-card { background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; }
@media (min-width: 900px) {
  .vk-auth { grid-template-columns: 1fr 1fr; align-items: stretch; margin-top: 16px; }
  .vk-auth-side { order: 1; padding: 44px 40px; }
  .vk-auth-main { order: 2; padding: 44px 40px; }
}

/* ---------- my account ---------- */
.woocommerce-account .woocommerce { display: grid; gap: 16px; }
.vk-acct-hero { margin: 0 !important; display: block; background: #fff; border: 1px solid var(--vk-line); border-radius: 20px; padding: 24px 20px; box-shadow: var(--vk-shadow); }
.vk-acct-hero h1 { font-size: clamp(28px, 4.4vw, 42px); margin: 0 0 6px; line-height: 1.08; }
.vk-acct-hero p { margin: 0; color: var(--vk-muted); }
@media (min-width: 900px) { .vk-acct-hero { padding: 30px 36px; } }
.vk-status { display: inline-block; border-radius: 999px; padding: 3px 10px; font-size: 12.5px; font-weight: 700; }
.vk-status--ok { background: #e3f3e9; color: #1b7a4b; }
.vk-status--wait { background: #fdf1dc; color: #9a5b00; }
.woocommerce-MyAccount-navigation { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce-MyAccount-navigation ul { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; list-style: none; margin: 0; padding: 2px; }
.woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
.woocommerce-MyAccount-navigation ul li { flex: 0 0 auto; border: 0 !important; margin: 0; }
.woocommerce-MyAccount-navigation ul li a { display: block; padding: 9px 16px !important; border-radius: 999px; background: #fff; border: 1px solid var(--vk-line);
  color: var(--vk-ink) !important; font-size: 14px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.woocommerce-MyAccount-navigation ul li a::before { display: none !important; }
.woocommerce-MyAccount-navigation ul li.is-active a { background: var(--vk-gold); border-color: var(--vk-gold); color: #fff !important; }
.woocommerce-MyAccount-navigation ul li a:hover { border-color: var(--vk-gold); }
.woocommerce-MyAccount-content { width: auto !important; float: none !important; background: #fff; border: 1px solid var(--vk-line); border-radius: 20px;
  padding: 24px 20px; box-shadow: var(--vk-shadow); }
@media (min-width: 900px) { .woocommerce-MyAccount-content { padding: 32px 36px; } }

.vk-dash { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 700px) { .vk-dash { grid-template-columns: 1fr 1fr; } }
.vk-dcard { position: relative; display: block; background: #f8fbf9; border: 1px solid var(--vk-line); border-radius: 16px; padding: 20px 22px;
  color: var(--vk-ink) !important; text-decoration: none !important; transition: transform .15s, box-shadow .15s, border-color .15s; }
.vk-dcard:hover { transform: translateY(-2px); box-shadow: var(--vk-shadow-lg); border-color: #cfe0d5; }
.vk-dcard-k { display: block; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--vk-gold); margin-bottom: 6px; }
.vk-dcard b { display: block; font-family: var(--vk-serif); font-weight: 500; font-size: 24px; margin-bottom: 4px; }
.vk-dcard > span:not(.vk-dcard-k) { color: var(--vk-muted); font-size: 13.5px; }
.vk-dcard i { position: absolute; right: 20px; top: 20px; font-style: normal; color: var(--vk-gold); font-size: 18px; transition: transform .15s; }
.vk-dcard:hover i { transform: translateX(3px); }
.vk-dcard--primary { background: linear-gradient(160deg, #0f3b29, #1f6b4a); border-color: transparent; }
.vk-dcard--primary b, .vk-dcard--primary i { color: #fff !important; }
.vk-dcard--primary .vk-dcard-k { color: #9fd8b8; }
.vk-dcard--primary > span:not(.vk-dcard-k) { color: #bcd6c7 !important; }
.vk-dash-help { margin: 20px 0 0; color: var(--vk-muted); font-size: 13.5px; }

/* orders table */
.woocommerce-orders-table { border: 0 !important; }
.woocommerce-orders-table th { background: #f4f8f5 !important; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.woocommerce-orders-table td, .woocommerce-orders-table th { border: 0 !important; border-bottom: 1px solid var(--vk-line) !important; padding: 12px 10px !important; }
.woocommerce-orders-table .woocommerce-orders-table__cell-order-status { font-weight: 600; }
.woocommerce-orders-table .button { padding: 7px 14px !important; font-size: 12.5px !important; }

/* forms inside account + apply page */
.woocommerce-MyAccount-content .form-row input.input-text, .woocommerce-MyAccount-content select { border-radius: 12px !important; }
.woocommerce-address-fields, .woocommerce-EditAccountForm { max-width: 720px; }
.woocommerce-Addresses { display: grid !important; gap: 16px; }
.woocommerce-Address { width: auto !important; float: none !important; background: #f8fbf9; border: 1px solid var(--vk-line); border-radius: 16px; padding: 18px; }

/* apply page */
.page-template-default .vk-apply { margin-top: 8px; }
.vk-fieldset { background: #fff !important; border-radius: 20px !important; box-shadow: var(--vk-shadow); padding: 22px 22px 8px !important; }
.vk-fieldset legend { background: var(--vk-tint); border-radius: 999px; padding: 4px 12px !important; font-family: var(--vk-sans) !important;
  font-size: 12px !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--vk-gold) !important; }
.vk-fieldset input, .vk-fieldset textarea { border-radius: 12px !important; }
.vk-apply button[type="submit"] { padding: 15px 28px !important; font-size: 15px !important; }
.vk-apply-done { background: #fff !important; border: 1px solid var(--vk-line); border-left: 4px solid var(--vk-gold) !important; border-radius: 16px; box-shadow: var(--vk-shadow); }

/* very narrow phones: keep the header on one line */
@media (max-width: 380px) { .vk-actions > .button.vk-btn-sm { display: none; } }

/* phones: keep every account block inside the screen; only the tab row scrolls sideways */
.woocommerce-account .woocommerce { grid-template-columns: minmax(0, 1fr) !important; }
.woocommerce-account .woocommerce > * { min-width: 0; max-width: 100%; }
.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-navigation ul { min-width: 0; max-width: 100%; }
.woocommerce-MyAccount-navigation { margin: 0 -20px !important; padding: 0 20px; overflow: hidden; }
@media (min-width: 768px) { .woocommerce-MyAccount-navigation { margin: 0 !important; padding: 0; } }
@media (max-width: 599px) {
  .woocommerce-MyAccount-content { padding: 18px 16px !important; }
  .vk-acct-hero { padding: 20px 18px !important; }
  .vk-dcard { padding: 16px 18px; }
  .vk-dcard b { font-size: 21px; }
  .woocommerce-orders-table thead { display: none; }
  .woocommerce-orders-table tr { display: block; border-bottom: 1px solid var(--vk-line); padding: 10px 0; }
  .woocommerce-orders-table td { display: flex !important; justify-content: space-between; border: 0 !important; padding: 4px 0 !important; text-align: right !important; }
  .woocommerce-orders-table td::before { content: attr(data-title); font-weight: 600; color: var(--vk-muted); text-align: left; }
  .woocommerce-Addresses .woocommerce-Address { padding: 14px; }
}

@media (max-width: 767px) {
  .woocommerce-MyAccount-navigation { margin: 0 !important; padding: 0 !important; }
  .woocommerce-MyAccount-navigation ul { flex-wrap: wrap; overflow: visible; gap: 6px; }
  .woocommerce-MyAccount-navigation ul li a { padding: 8px 14px !important; font-size: 13.5px; }
}
.woocommerce-Address-title h2, .woocommerce-Address-title h3, .woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 { font-size: 22px !important; margin: 0 0 8px !important; }
.woocommerce-Address address { font-style: normal; color: var(--vk-ink); line-height: 1.6; }
.woocommerce-Address-title .edit { display: inline-block; margin-bottom: 8px; font-weight: 600; text-decoration: none; }
@media (max-width: 599px) {
  .woocommerce-orders-table th.woocommerce-orders-table__cell-order-number { display: block !important; border: 0 !important; background: transparent !important; padding: 2px 0 6px !important; text-align: left !important; }
  .woocommerce-orders-table th.woocommerce-orders-table__cell-order-number::before { display: none; }
  .woocommerce-orders-table th.woocommerce-orders-table__cell-order-number a { font-family: var(--vk-serif); font-size: 19px; font-weight: 500; text-decoration: none; }
  .woocommerce-orders-table td { align-items: center; gap: 12px; }
}

/* ---------- locations + team (my account) ---------- */
.vk-acct-sec { margin: 0 0 18px; }
.vk-acct-sec-head h2 { font-size: 22px !important; margin: 0 0 4px !important; }
.vk-acct-sec-head p { color: var(--vk-muted); margin: 0 0 14px; font-size: 14px; }
.vk-empty-line { color: var(--vk-muted); background: #f4f8f5; border-radius: 12px; padding: 14px 16px; }
.vk-loc-grid { display: grid; gap: 12px; }
@media (min-width: 700px) { .vk-loc-grid { grid-template-columns: 1fr 1fr; } }
.vk-loc { background: #f8fbf9; border: 1px solid var(--vk-line); border-radius: 16px; padding: 16px 18px; }
.vk-loc header { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 8px; }
.vk-loc header b { font-family: var(--vk-serif); font-weight: 500; font-size: 18px; }
.vk-loc p { margin: 0 0 8px; font-size: 14px; line-height: 1.5; }
.vk-loc small { display: block; color: var(--vk-muted); font-size: 12px; margin-bottom: 6px; }
.vk-status--no { background: #f8e6df; color: #b4532a; }
.vk-inline { display: inline; margin: 0; }
.vk-link-btn { background: none !important; box-shadow: none !important; padding: 0 !important; color: var(--vk-muted) !important; font-size: 12.5px !important;
  font-weight: 600 !important; text-decoration: underline; transform: none !important; }
.vk-link-btn:hover { color: #b4532a !important; }
.vk-add { background: #fff; border: 1px dashed #b9d3c3; border-radius: 16px; padding: 4px 18px; }
.vk-add[open] { padding-bottom: 18px; border-style: solid; border-color: var(--vk-line); }
.vk-add summary { cursor: pointer; list-style: none; padding: 12px 0; font-weight: 700; color: var(--vk-gold); }
.vk-add summary::-webkit-details-marker { display: none; }
.vk-form-grid { display: grid; grid-template-columns: 1fr; gap: 0 14px; }
@media (min-width: 700px) { .vk-form-grid { grid-template-columns: 1fr 1fr; } .vk-form-grid .vk-field--name, .vk-form-grid .vk-field--address_1,
  .vk-form-grid .vk-field--wide, .vk-form-grid .vk-form-note, .vk-form-grid > p:last-child, .vk-form-grid fieldset { grid-column: 1 / -1; } }
.vk-form-grid .vk-field { margin: 0 0 12px; }
.vk-form-grid label, .vk-form-grid legend { display: block; font-size: 13px; font-weight: 500; margin-bottom: 4px; color: var(--vk-ink); }
.vk-form-grid input:not([type=checkbox]) { width: 100%; border-radius: 12px !important; }
.vk-form-grid fieldset { border: 0; padding: 0; margin: 0 0 12px; }
.vk-check { display: flex !important; align-items: center; gap: 8px; font-weight: 500 !important; padding: 6px 0; }
.vk-check input { width: 18px; height: 18px; accent-color: var(--vk-gold); }
.vk-check em { color: var(--vk-muted); font-style: normal; font-size: 12px; }
.vk-form-note { color: var(--vk-muted); font-size: 13px; margin: 0 0 12px; }
.vk-team { display: grid; gap: 10px; }
.vk-member { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: #f8fbf9; border: 1px solid var(--vk-line); border-radius: 14px; padding: 12px 16px; }
.vk-member b { display: block; font-size: 15px; }
.vk-member span, .vk-member small { display: block; color: var(--vk-muted); font-size: 12.5px; }
.vk-member.is-off { opacity: .6; }
.vk-member { flex-direction: column; align-items: stretch; }
.vk-member-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.vk-member-edit > summary { cursor: pointer; color: var(--vk-gold); font-size: 13px; font-weight: 600; list-style: none; }
.vk-member-edit > summary::-webkit-details-marker { display: none; }
.vk-member-edit[open] > summary { margin-bottom: 10px; }
.vk-member-edit form { border-top: 1px solid var(--vk-line); padding-top: 12px; }
.vk-member.is-off .vk-member-edit { opacity: 1; }
.vk-loc-meta { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--vk-line); font-size: 12.5px; color: var(--vk-muted); }
.vk-loc-meta a { color: var(--vk-gold); font-weight: 600; white-space: nowrap; text-decoration: none; }
.vk-loc-cart-empty { margin: 8px 0 0; font-size: 12.5px; color: var(--vk-muted); }
.vk-loc-cart { margin-top: 8px; font-size: 13px; }
.vk-loc-cart > summary { cursor: pointer; color: var(--vk-gold); font-weight: 600; }
.vk-loc-cart-who { margin: 10px 0 4px; font-weight: 600; font-size: 12.5px; }
.vk-loc-cart ul { list-style: none; margin: 0; padding: 0; }
.vk-loc-cart li { display: flex; justify-content: space-between; gap: 10px; padding: 5px 0; border-bottom: 1px dashed var(--vk-line); }
.vk-loc-cart li em { display: block; font-style: normal; color: var(--vk-muted); font-size: 12px; }
.vk-loc-cart li b { white-space: nowrap; }
.vk-loc-filter { display: flex; gap: 8px; overflow-x: auto; padding: 2px 0 14px; scrollbar-width: none; }
.vk-loc-filter::-webkit-scrollbar { display: none; }
.vk-loc-filter a { flex: none; padding: 7px 14px; border: 1px solid var(--vk-line); border-radius: 999px; background: #fff; color: var(--vk-ink, #1c2b24); font-size: 13px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.vk-loc-filter a.is-on { background: var(--vk-gold); border-color: var(--vk-gold); color: #fff; }
