/* Site-wide additions on top of the inline styles exported from Claude Design */
:root { --accent: #cad41b; --accent-deep: #6f7510; --accent-tint: #f1f4d2; --ease: cubic-bezier(.22,.7,.2,1); }
.theme-leasing { --accent: #f99f22; --accent-deep: #b8520f; --accent-tint: #fff2e0; }
body { margin: 0; }
a { color: inherit; text-decoration: none; }
input, select, textarea, button { font: inherit; }
summary { list-style: none; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
:focus-visible { outline: 2px solid #1d201e; outline-offset: 2px; }
input:focus, select:focus, textarea:focus { outline: 2px solid #cad41b; outline-offset: 1px; border-color: #1d201e !important; }
section[id] { scroll-margin-top: 24px; }

.form-status { grid-column: 1 / -1; margin: 0; font-size: 14px; padding: 12px 14px; background: #f1f4d2; display: none; }
.form-status.show { display: block; }

/* Tablet */
@media (max-width: 980px) {
  h1[style] { font-size: 52px !important; }
  h2[style] { font-size: 36px !important; }
  section[style*="padding: 110px 0"] { padding-top: 84px !important; padding-bottom: 84px !important; }
}

/* Phone */
@media (max-width: 640px) {
  body { font-size: 16px; }
  [style*="padding: 0 32px"] { padding-left: 16px !important; padding-right: 16px !important; }
  [style*="padding: 14px 32px"] { padding-left: 16px !important; padding-right: 16px !important; }
  [style*="padding: 84px 32px 110px"] { padding: 56px 16px 72px !important; }
  h1[style] { font-size: 40px !important; line-height: 1.12 !important; }
  h2[style] { font-size: 30px !important; }
  blockquote[style] { font-size: 26px !important; }
  section[style*="padding: 110px 0"] { padding-top: 64px !important; padding-bottom: 64px !important; }
  section[style*="padding: 96px 0"] { padding-top: 56px !important; }
  section[style*="padding: 84px 0 64px"] { padding: 56px 0 48px !important; }
  section[style*="padding: 72px 0"] { padding-top: 48px !important; }
  /* header: smaller logos */
  header img[style*="height: 52px"] { height: 40px !important; }
  header img[style*="height: 40px"] { height: 30px !important; }
  /* decorative arches */
  svg[aria-hidden="true"][style*="width: 300px"] { width: 150px !important; opacity: 0.5; }
  svg[aria-hidden="true"][style*="width: 260px"] { width: 150px !important; }
  /* heading-sized phone numbers & stats */
  p[style*="font-size: 52px"] { font-size: 40px !important; }
  [style*="padding-left: 90px"] { padding-left: 0 !important; padding-top: 70px !important; }
  [style*="padding: 0 0 32px 68px"] { padding-left: 0 !important; }
  [style*="padding: 40px;"] { padding: 22px 16px !important; }
  [style*="padding: 36px 40px"] { padding: 24px 18px !important; }
  [style*="border-left: 1px solid #e3e2dc; padding-left: 36px"] { border-left: 0 !important; padding-left: 0 !important; border-top: 1px solid #e3e2dc; padding-top: 24px; }
  table td, table th { padding-left: 10px !important; padding-right: 10px !important; }
}

/* Skip link for keyboard users */
.skip-link { position: absolute; left: 12px; top: -48px; z-index: 100; background: #1d201e; color: #fff !important; padding: 10px 14px; font: 600 14px 'Instrument Sans', system-ui, sans-serif; text-decoration: none; transition: top .15s; }
.skip-link:focus { top: 12px; }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

/* Phone: compact header */
@media (max-width: 640px) {
  nav[aria-label="Main"] { gap: 6px 18px !important; font-size: 14px !important; width: 100%; }
  nav[aria-label="Main"] a[style*="background: #1d201e"] { padding: 9px 14px !important; }
  header > div { padding-top: 12px !important; padding-bottom: 12px !important; gap: 12px !important; }
}


/* ---------- Interaction: links ---------- */
/* Titles only: a green underline draws in from the left on hover */
.nav-link, .row-title, .card-title {
  background-image: linear-gradient(var(--accent), var(--accent));
  background-repeat: no-repeat; background-position: 0 100%; background-size: 0% 2px;
  transition: background-size .4s var(--ease), color .2s ease;
}
.nav-link { padding-bottom: 6px !important; }
.row-title, .card-title { padding-bottom: 3px; }
.nav-link[style*="#cad41b"], .nav-link[style*="#f99f22"] { background-size: 100% 2px; border-bottom-color: transparent !important; }
.nav-link:hover, .nav-link:focus-visible { color: #1d201e; background-size: 100% 2px; }
.row-link:hover .row-title, .row-link:focus-visible .row-title,
.card-link:hover .card-title, .card-link:focus-visible .card-title { background-size: 100% 2px; }

/* Everything else: a quiet colour shift, no underline */
.text-link { transition: color .2s ease, border-color .2s ease; }
.text-link:hover { color: var(--accent-deep); }
.text-link[style*="border-bottom"]:hover { border-bottom-color: var(--accent-deep) !important; }

/* Header logos */
header a img { transition: opacity .2s ease; }
header a:hover img { opacity: .8; }

/* Dark top bar and footer: brighten on hover */
.topbar-link, .footer-link { transition: color .2s ease; }
.topbar-link:hover, .footer-link:hover { color: #ffffff !important; }

/* Sidebar "other areas" lists */
.side-link { transition: color .2s ease, padding-left .3s var(--ease); }
.side-link:hover { color: #1d201e !important; padding-left: 6px !important; }

/* ---------- Interaction: buttons ---------- */
.btn { transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s var(--ease), box-shadow .25s ease; }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn-dark:hover { background: var(--accent) !important; color: #1d201e !important; }
.btn-ghost:hover { background: #1d201e !important; color: #ffffff !important; }
/* buttons that sit on an accent-coloured band stay dark */
[style*="background: #cad41b"] .btn-dark:hover,
[style*="linear-gradient"] .btn-dark:hover { background: #000 !important; color: #fff !important; }
button.btn-dark:disabled { opacity: .6; cursor: progress; transform: none; }

/* ---------- Interaction: lists, cards, accordions ---------- */
.row-link { transition: background-color .3s ease, padding .35s var(--ease); }
.row-link:hover { background: #ffffff; padding-left: 16px !important; padding-right: 16px !important; }
.row-arrow { transition: background-color .25s ease, border-color .25s ease, transform .35s var(--ease); }
.row-link:hover .row-arrow { background: var(--accent); border-color: var(--accent) !important; transform: translateX(4px); }

.card, .card-link { transition: transform .35s var(--ease), box-shadow .35s ease, border-color .25s ease; }
.card:hover, .card-link:hover { transform: translateY(-3px); box-shadow: 0 18px 36px -24px rgba(29,32,30,.45); }
.card-link:hover { border-color: var(--accent) !important; }

/* Staff portraits: gentle zoom */
div[style*="aspect-ratio"] img { transition: transform .6s var(--ease); }
div[style*="aspect-ratio"]:hover img { transform: scale(1.04); }

/* Accordions (leasing services and FAQs) */
.acc summary { transition: background-color .25s ease; }
.acc summary:hover { background: rgba(255,255,255,.55); }
.acc .pm { transition: transform .35s var(--ease), background-color .25s ease, border-color .25s ease; }
.acc[open] .pm { transform: rotate(45deg); background: var(--accent); border-color: var(--accent) !important; }
.acc[open] > :not(summary) { animation: acc-in .4s var(--ease); }
@keyframes acc-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@supports (interpolate-size: allow-keywords) {
  :root { interpolate-size: allow-keywords; }
  .acc::details-content { block-size: 0; overflow: hidden; transition: block-size .4s var(--ease), content-visibility .4s allow-discrete; }
  .acc[open]::details-content { block-size: auto; }
}

/* ---------- Scroll reveal (added by site.js; content is visible without JS) ---------- */
.reveal { opacity: 0; transform: translateY(16px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; }
  .btn:hover, .card:hover, .card-link:hover { transform: none; }
  .acc::details-content { transition: none; }
  .acc[open] > :not(summary) { animation: none; }
}

/* ---------- Rounded cards + office photos ---------- */
.card, .card-link { border-radius: 10px; overflow: hidden; }
.office-photo { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; }

/* ---------- Spacing, alignment and touch-target system ---------- */
/* One vertical rhythm: 96 / 72 / 56 for sections, 72 / 56 / 40 for page heroes */
section[style*="padding: 110px 0"] { padding-top: 96px !important; padding-bottom: 96px !important; }
section[style*="padding: 96px 0 0"] { padding-top: 96px !important; padding-bottom: 0 !important; }
section[style*="padding: 96px 0 110px"] { padding: 80px 0 96px !important; }
section[style*="padding: 84px 0 64px"] { padding: 72px 0 56px !important; }
section[style*="padding: 84px 0 96px"] { padding: 72px 0 80px !important; }
section[style*="padding: 84px 0;"] { padding: 80px 0 !important; }
[style*="padding: 84px 32px 110px"] { padding: 72px 32px 96px !important; }
[style*="padding: 64px 32px 110px"] { padding: 56px 32px 96px !important; }

/* Consistent corners: buttons and fields 6px, boxes 10px */
.btn, button.btn { border-radius: 6px !important; }
input, select, textarea { border-radius: 6px !important; }
div[style*="border: 1px solid #e3e2dc"] { border-radius: 10px; }

/* Cleaner line breaks */
h1, h2, h3, blockquote { text-wrap: balance; }
p, li { text-wrap: pretty; }

@media (max-width: 980px) {
  section[style*="padding: 110px 0"] { padding-top: 72px !important; padding-bottom: 72px !important; }
  section[style*="padding: 96px 0 0"] { padding-top: 72px !important; }
  section[style*="padding: 96px 0 110px"] { padding: 64px 0 72px !important; }
  section[style*="padding: 84px 0 64px"] { padding: 56px 0 48px !important; }
  section[style*="padding: 84px 0 96px"] { padding: 56px 0 64px !important; }
  section[style*="padding: 84px 0;"] { padding: 64px 0 !important; }
  [style*="padding: 84px 32px 110px"] { padding: 56px 32px 72px !important; }
  [style*="padding: 64px 32px 110px"] { padding: 48px 32px 72px !important; }
}
@media (max-width: 640px) {
  section[style*="padding: 110px 0"] { padding-top: 56px !important; padding-bottom: 56px !important; }
  section[style*="padding: 96px 0 0"] { padding-top: 56px !important; }
  section[style*="padding: 96px 0 110px"] { padding: 48px 0 56px !important; }
  section[style*="padding: 84px 0 64px"] { padding: 40px 0 36px !important; }
  section[style*="padding: 84px 0 96px"] { padding: 40px 0 48px !important; }
  section[style*="padding: 84px 0;"] { padding: 48px 0 !important; }
  [style*="padding: 84px 32px 110px"] { padding: 40px 16px 56px !important; }
  [style*="padding: 64px 32px 110px"] { padding: 32px 16px 56px !important; }
  [style*="font-size: 13px"] { font-size: 14px !important; }
}

/* Touch: bigger tap areas without changing the layout */
@media (max-width: 980px), (pointer: coarse) {
  .topbar-link, .footer-link, .text-link, .nav-link, .side-link, p[style*="font-size: 13px"] > a { position: relative; }
  .topbar-link::after, .footer-link::after, .text-link::after, .nav-link::after, p[style*="font-size: 13px"] > a::after { content: ""; position: absolute; inset: -13px -8px; }
  .side-link::after { content: none; }
  .side-link { padding-top: 13px !important; padding-bottom: 13px !important; }
  .btn, button.btn { min-height: 46px; }
  input, select { min-height: 48px; }
}
@media (max-width: 640px) {
  nav[aria-label="Main"] a.btn { display: flex; justify-content: center; width: 100%; box-sizing: border-box; margin-top: 4px; }
}

/* Header content aligns with page content (1180 content + 2x32 padding) */
header > div { max-width: 1244px !important; }

/* ---------- Mobile optimisation (phones only; desktop is unchanged) ---------- */
.menu-toggle, .mobile-bar { display: none; }
@media (max-width: 640px) {
  /* Top bar: phone numbers removed, payment link only */
  div[style*="background: #151715; color: #d8d9d4"] > div { justify-content: flex-end !important; min-height: 36px !important; }
  div[style*="background: #151715; color: #d8d9d4"] > div > div:first-child { display: none !important; }

  /* Header: logo + burger button; the menu opens as a panel */
  header { position: relative; }
  header > div { padding: 8px 16px !important; min-height: 0 !important; gap: 0 !important; flex-wrap: nowrap !important; justify-content: space-between !important; align-items: center !important; }
  header img[src*="rotman-morris-logo"][style*="height: 72px"], header img[src*="commercial-property-leases-logo"][style*="height: 72px"] { height: 50px !important; }
  .menu-toggle { display: inline-flex; align-items: center; gap: 10px; background: #ffffff; border: 1px solid #cfcec7; border-radius: 6px; padding: 0 14px; min-height: 44px; font: 600 14px 'Instrument Sans', system-ui, sans-serif; color: #1d201e; cursor: pointer; }
  .menu-toggle-bars { display: inline-flex; flex-direction: column; gap: 4px; }
  .menu-toggle-bars i { display: block; width: 18px; height: 2px; background: #1d201e; border-radius: 1px; transition: transform 0.2s, opacity 0.2s; }
  header.menu-open .menu-toggle-bars i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  header.menu-open .menu-toggle-bars i:nth-child(2) { opacity: 0; }
  header.menu-open .menu-toggle-bars i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  header nav[aria-label="Main"] { display: none !important; position: absolute; left: auto; right: 16px; top: calc(100% + 8px); width: min(260px, calc(100% - 32px)); box-sizing: border-box; z-index: 50; background: #ffffff; padding: 4px 18px 18px; flex-direction: column; align-items: stretch !important; gap: 0 !important; border-radius: 12px; box-shadow: 0 18px 40px rgba(21,23,21,0.22); }
  header.menu-open nav[aria-label="Main"] { display: flex !important; }
  header nav[aria-label="Main"] > a.nav-link { padding: 15px 0 !important; font-size: 17px !important; border-bottom: 1px solid #e3e2dc !important; }
  header nav[aria-label="Main"] > a[aria-label^="Commercial Property"],
  header nav[aria-label="Main"] > a[aria-label^="Rotman"] { margin: 16px 0 0 !important; padding: 0 !important; align-self: flex-start; }
  header nav[aria-label="Main"] > a[aria-label^="Commercial Property"] img,
  header nav[aria-label="Main"] > a[aria-label^="Rotman"] img { height: 40px !important; }
  header nav[aria-label="Main"] > a.btn { margin-top: 16px !important; }

  /* Hero: practice-area shortcut links are desktop only */
  nav[aria-label="Practice areas"] { display: none !important; }
  section#main > div > div { gap: 32px !important; }
  section#main h1 { font-size: clamp(38px, 11vw, 48px) !important; }
  section#main p[style*="font-size: 19px"] { font-size: 17px !important; margin: 20px 0 28px !important; }
  section#main div[style*="gap: 14px"] { flex-wrap: nowrap !important; gap: 10px !important; }
  section#main a.btn { flex: 1 1 0 !important; min-width: 0; min-height: 0 !important; justify-content: center; text-align: center; padding: 11px 8px !important; font-size: 14px !important; line-height: 1.25 !important; }
  section#main div[style*="margin-top: 40px; padding-top: 24px"] { display: none !important; }

  /* Type scale */
  h1[style*="font-size: 60px"] { font-size: 38px !important; }
  h2[style*="font-size: 44px"] { font-size: 30px !important; }
  h3[style*="font-size: 28px"] { font-size: 24px !important; }
  blockquote { font-size: 26px !important; }

  /* Layout: nothing may be wider than the screen */
  [style*="minmax(320px, 1fr)"], [style*="minmax(300px, 1fr)"] { grid-template-columns: 1fr !important; }
  [style*="flex: 1 1 520px"], [style*="flex: 999 1 520px"], [style*="flex: 1.25 1 480px"], [style*="flex: 1 1 480px"], [style*="flex: 1 1 420px"], [style*="flex: 1.5 1 420px"], [style*="flex: 1.4 1 420px"] { flex-basis: 100% !important; min-width: 0 !important; }
  [style*="max-width: 480px"] { max-width: 100% !important; }
  [style*="padding: 30px 30px 32px"] { padding: 24px 20px 26px !important; }
  [style*="padding: 36px 40px"] { padding: 28px 22px !important; }
  [style*="padding-left: 90px"] { padding-left: 0 !important; }
  td, th { padding-left: 14px !important; padding-right: 14px !important; }
  details > div[style*="padding: 0 0 32px 68px"] { padding-left: 0 !important; }
  footer [style*="margin-top: 64px"] { margin-top: 40px !important; }
  img, video, iframe { max-width: 100%; }

  /* Body copy a touch smaller, tighter gaps */
  [style*="font-size: 18px; color: #585856"], p[style*="font-size: 18px"] { font-size: 16px !important; }
  [style*="gap: 32px 80px"], [style*="gap: 40px 80px"], [style*="gap: 32px 56px"], [style*="gap: 40px 56px"] { gap: 16px !important; }

  /* Smaller cards, tighter text */
  section[style*="padding: 110px 0"] { padding-top: 44px !important; padding-bottom: 44px !important; }
  [style*="padding: 30px;"] { padding: 20px !important; }
  [style*="padding: 32px;"], [style*="padding: 34px 32px"], [style*="padding: 40px;"] { padding: 22px !important; }
  [style*="padding: 26px 28px"] { padding: 18px 20px !important; }
  [style*="padding: 22px 24px"], [style*="padding: 22px;"] { padding: 16px 18px !important; }
  [style*="padding: 20px 22px"] { padding: 14px 16px !important; }
  [style*="font-size: 26px"][style*="Newsreader"] { font-size: 22px !important; }
  .card h3, .card-link .card-title { font-size: 20px !important; }
  .office-photo { aspect-ratio: 16 / 9 !important; }
  .card a[href^="tel"] { font-size: 22px !important; margin-top: 14px !important; }

  /* Home: compact practice-area list */
  a.row-link { padding: 18px 0 !important; gap: 4px 14px !important; }
  a.row-link > span:first-child { width: 28px !important; }
  a.row-link .row-title { font-size: 21px !important; }
  a.row-link > span[style*="font-size: 16px"] { font-size: 14px !important; flex-basis: 100% !important; padding-left: 42px; }
  a.row-link .row-arrow { display: none !important; }

  /* Heritage and benefits: two-up and compact */
  [style*="minmax(240px, 1fr)"] { grid-template-columns: 1fr 1fr !important; }
  [style*="minmax(240px, 1fr)"] > p { font-size: 16px !important; padding: 14px 8px 14px 0 !important; gap: 10px !important; flex-wrap: wrap; }
  [style*="minmax(230px, 1fr)"] { grid-template-columns: 1fr 1fr !important; gap: 16px !important; margin-top: 32px !important; }
  [style*="minmax(230px, 1fr)"] > div { padding-top: 16px !important; }
  [style*="minmax(230px, 1fr)"] p[style*="font-size: 24px"] { font-size: 18px !important; margin-bottom: 6px !important; }
  [style*="minmax(230px, 1fr)"] p[style*="font-size: 15px"] { font-size: 13.5px !important; }

  /* Leasing accordions */
  details.acc > summary { padding: 16px 0 !important; gap: 4px 12px !important; }
  details.acc > summary > span[style*="width: 44px"] { width: 26px !important; }
  details.acc > summary > span[style*="font-size: 26px"] { font-size: 20px !important; flex-basis: calc(100% - 90px) !important; }
  details.acc > summary > span[style*="font-size: 15px"] { font-size: 13.5px !important; flex-basis: 100% !important; padding-left: 38px; }
  details.acc .pm { width: 30px !important; height: 30px !important; font-size: 18px !important; }
  details.acc > div { font-size: 15px !important; padding-bottom: 22px !important; }

  /* Footer: two columns */
  footer [style*="minmax(210px, 1fr)"] { grid-template-columns: 1fr 1fr !important; gap: 28px 18px !important; }
  footer [style*="minmax(210px, 1fr)"] > div:first-child { grid-column: 1 / -1; }
  footer { padding-top: 48px !important; padding-bottom: 96px !important; }

  /* Sticky call / enquire bar */
  .mobile-bar { font-family: 'Instrument Sans', system-ui, sans-serif; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: #ffffff; border-radius: 18px 18px 0 0; box-shadow: 0 -6px 24px rgba(21,23,21,0.14); padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); }
  .mobile-bar a { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 46px; border-radius: 10px; background: #f1f4d2; color: #1d201e; font-size: 14px; font-weight: 600; line-height: 1.2; }
  .mobile-bar small { font-size: 10.5px; font-weight: 500; color: #6c6e69; letter-spacing: 0.08em; text-transform: uppercase; }
  .mobile-bar .mobile-bar-main { background: #1d201e; color: #ffffff; }
  /* Team photos: two per row */
  [style*="minmax(220px, 1fr)"], [style*="minmax(260px, 1fr)"] { grid-template-columns: 1fr 1fr !important; gap: 28px 14px !important; }
  [style*="minmax(220px, 1fr)"] h3, [style*="minmax(260px, 1fr)"] h3 { font-size: 19px !important; margin-top: 12px !important; }
  [style*="minmax(220px, 1fr)"] p, [style*="minmax(260px, 1fr)"] p { font-size: 13px !important; overflow-wrap: anywhere; }
  [style*="minmax(260px, 1fr)"] a[href^="mailto"] { font-size: 11px !important; overflow-wrap: anywhere; border-bottom: 0 !important; }
}

/* Lease instruction form */
.lf { background: #ffffff; border: 1px solid #e3e2dc; border-radius: 10px; padding: 44px; }
.lf-head h3 { margin: 0; font-family: 'Newsreader', Georgia, serif; font-weight: 400; font-size: 28px; }
.lf-head p { margin: 4px 0 0; font-size: 14px; color: #6c6e69; }
.lf-section { margin-top: 32px; padding-top: 26px; border-top: 1px solid #ecebe5; }
.lf-title { margin: 0 0 18px; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #b8520f; }
.lf-note { margin: -8px 0 18px; font-size: 14px; color: #6c6e69; }
.lf-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 18px; }
.lf-wide { grid-column: 1 / -1; }
.lf-field { position: relative; }
.lf-field label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 7px; }
.lf-field input, .lf-field select, .lf-field textarea { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid #cfcec7; font-size: 15px; background: #ffffff; color: #1d201e; }
.lf-field textarea { resize: vertical; min-height: 96px; line-height: 1.5; }
.lf-field ::placeholder { color: #9a9a94; }
.lf-actions { margin-top: 32px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 20px; }
.lf-actions p { margin: 0; font-size: 13px; color: #6c6e69; }

/* Address suggestions */
.addr-list { position: absolute; left: 0; right: 0; top: 100%; z-index: 20; margin: 4px 0 0; padding: 4px; list-style: none; background: #ffffff; border: 1px solid #cfcec7; border-radius: 8px; box-shadow: 0 14px 30px -18px rgba(29, 32, 30, 0.45); max-height: 260px; overflow: auto; }
.addr-list[hidden] { display: none; }
.addr-list li { padding: 10px 12px; font-size: 14px; line-height: 1.35; border-radius: 6px; cursor: pointer; }
.addr-list li[aria-selected="true"], .addr-list li:hover { background: #f1f4d2; }

/* Document upload */
.lf-drop { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 28px 20px; text-align: center; border: 1.5px dashed #cfcec7; border-radius: 10px; background: #faf9f5; cursor: pointer; transition: border-color 0.2s, background-color 0.2s; }
.lf-drop:hover, .lf-drop.is-over, .lf-drop:focus-within { border-color: #1d201e; background: #f4f3ec; }
.lf-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.lf-drop-main { font-size: 15px; font-weight: 600; }
.lf-drop-sub { font-size: 13px; color: #6c6e69; }
.lf-files { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }
.lf-files:empty { display: none; }
.lf-files li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; background: #ffffff; border: 1px solid #e3e2dc; border-radius: 8px; font-size: 14px; }
.lf-files .lf-file-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lf-files .lf-file-size { color: #6c6e69; font-size: 13px; margin-left: 8px; white-space: nowrap; }
.lf-files button { flex: none; border: 0; background: none; padding: 4px 8px; font-size: 13px; font-weight: 600; color: #8a3d0b; cursor: pointer; border-radius: 4px; }
.lf-files button:hover { background: #f1ece2; }
.lf-file-error { margin: 10px 0 0; font-size: 13px; color: #b3261e; }
.lf-file-error:empty { display: none; }

@media (max-width: 640px) {
  .lf { padding: 24px 18px; }
  .lf-grid { grid-template-columns: 1fr; }
}

/* Uploaded file previews */
.lf-files li { padding: 8px 12px 8px 8px; }
.lf-file-open { display: flex; align-items: center; gap: 12px; min-width: 0; flex: 1 1 auto; color: inherit; }
.lf-file-open:hover .lf-file-name, .lf-file-open:focus-visible .lf-file-name { text-decoration: underline; }
.lf-file-label { display: flex; flex-direction: column; min-width: 0; }
.lf-file-label .lf-file-size { margin-left: 0; }
.lf-thumb { flex: none; width: 56px; height: 56px; border-radius: 8px; overflow: hidden; background: #f1f4d2; border: 1px solid #e3e2dc; display: inline-flex; align-items: center; justify-content: center; }
.lf-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lf-thumb-doc { font-size: 12px; font-weight: 700; letter-spacing: 0.06em; color: #8a3d0b; background: #fff3e2; border-color: #f3c98f; }
