.hk-pg-description { font-weight:400; line-height:1.9; text-align:right; }
.hk-pg-description h3 { font-size:1rem; line-height:1.8; }
.hk-pg-description p, .hk-pg-description li { white-space:normal; }
.hk-pg-description .hk-pg-policy-link { text-decoration:underline; }
.hk-pg-description .hk-pg-methods { display:grid; gap:7px; padding:0; list-style:none; }
.hk-pg-description .hk-pg-method { display:flex; align-items:center; gap:8px; min-width:0; }
.hk-pg-description .hk-pg-brand, #hk-pg-policy .hk-pg-brand { width:64px; height:36px; flex:0 0 64px; object-fit:contain; }
.hk-pg-description .hk-pg-brand-post, .hk-pg-description .hk-pg-brand-tipax, .hk-pg-description .hk-pg-brand-railway, #hk-pg-policy .hk-pg-brand { object-fit:cover; }
#hk-pg-policy .hk-pg-brand { display:block; margin-bottom:5px; }
.hk-pg-description .hk-pg-method-copy { min-width:0; }
.hk-pg-description .hk-pg-cod { display:inline-block; margin-inline-start:6px; padding:0 6px; border:1px solid #d3dfd7; border-radius:4px; color:#285e3b; background:#f4f8f5; font-size:.8em; }
.hk-pg-icons { position:absolute; display:block; z-index:2; width:26px; height:26px; margin:0; padding:0; pointer-events:none; line-height:1; }
.hk-pg-icons[hidden] { display:none; }
.hk-pg-icon { display:flex; align-items:center; justify-content:center; width:26px; height:26px; box-sizing:border-box; border:1px solid #d7dce1; border-radius:5px; background:#fff; color:#245779; box-shadow:0 1px 3px #0002; }
.hk-pg-icon svg { width:18px; height:18px; display:block; }
.hk-pg-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* Policy page only: preserve every other page's typography and layout. */
main.hk-lg-page:has(> #hk-pg-policy) { max-width:1080px; margin:28px auto 48px; }
main.hk-lg-page:has(> #hk-pg-policy) > h1 { font-size:1.9rem; font-size:clamp(1.55rem,3.3vw,2.15rem); line-height:1.65; color:#18354d; margin:16px 0; }
#hk-pg-policy { color:#26394a; line-height:1.85; text-align:right; }
#hk-pg-policy h2 { font-size:1.18rem; line-height:1.7; color:#18354d; margin:28px 0 14px; font-weight:700; }
#hk-pg-policy h3 { font-size:1rem; line-height:1.7; margin:0; color:#18354d; font-weight:700; }
#hk-pg-policy p { margin:0; }
#hk-pg-policy .hk-pg-policy-intro { padding:16px 20px; border-inline-start:4px solid #ef9c32; border-radius:10px; background:#f4f7fa; }
#hk-pg-policy .hk-pg-policy-intro p { font-weight:600; }
#hk-pg-policy .hk-pg-policy-intro > span { display:block; color:#5a6977; font-size:.9rem; margin-top:4px; }
#hk-pg-policy .hk-pg-shipping-grid { display:flex; flex-wrap:wrap; gap:14px; align-items:flex-start; }
#hk-pg-policy .hk-pg-shipping-card { flex:1 1 45%; box-sizing:border-box; min-width:0; padding:18px; border:1px solid #dfe5eb; border-radius:12px; background:#fff; box-shadow:0 3px 12px #18354d06; }
#hk-pg-policy .hk-pg-shipping-card:last-child { flex-basis:100%; }
#hk-pg-policy .hk-pg-shipping-card > header { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:10px; }
#hk-pg-policy .hk-pg-shipping-card .hk-pg-brand { margin:0; width:72px; height:40px; flex-basis:72px; }
#hk-pg-policy .hk-pg-service-status { display:inline-block; color:#42715a; font-size:.74rem; margin-top:3px; }
#hk-pg-policy .hk-pg-inactive .hk-pg-service-status { color:#7b6262; }
#hk-pg-policy .hk-pg-card-summary { font-size:.91rem; }
#hk-pg-policy details { margin-top:12px; border-top:1px solid #e5eaf0; padding-top:9px; }
#hk-pg-policy summary { cursor:pointer; color:#345671; font-size:.86rem; font-weight:500; }
#hk-pg-policy summary:focus-visible, #hk-pg-policy a:focus-visible { outline:2px solid #d78625; outline-offset:4px; }
#hk-pg-policy details[open] summary { margin-bottom:10px; }
#hk-pg-policy details p, #hk-pg-policy dd { color:#556575; font-size:.88rem; }
#hk-pg-policy dl { margin:0; }
#hk-pg-policy dt { font-size:.86rem; font-weight:700; margin-top:8px; }
#hk-pg-policy dd { margin:2px 0 0; }
#hk-pg-policy .hk-pg-payment-grid { display:flex; flex-wrap:wrap; gap:12px; }
#hk-pg-policy .hk-pg-payment-grid > article { flex:1 1 220px; box-sizing:border-box; min-width:0; padding:16px; border-radius:10px; background:#f4f7fa; border:1px solid #e5eaf0; }
#hk-pg-policy .hk-pg-payment-grid p { font-size:.88rem; margin-top:7px; }
#hk-pg-policy .hk-pg-rail-note { padding:14px 17px; border-radius:10px; background:#fff8ed; margin-top:22px; font-size:.86rem; }
#hk-pg-policy .hk-pg-rail-note p { margin-top:4px; color:#665940; }
#hk-pg-policy .hk-pg-policy-faq details { padding:12px 15px; border:1px solid #e1e7ed; border-radius:8px; margin-top:8px; }
#hk-pg-policy .hk-pg-policy-faq summary { font-size:.91rem; }
#hk-pg-policy .hk-pg-policy-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
#hk-pg-policy .hk-pg-policy-links a { padding:9px 14px; border:1px solid #d9e2ea; border-radius:7px; color:#264962; font-size:.86rem; text-decoration:none; }
#hk-pg-policy .hk-pg-policy-links a:first-child { background:#18354d; border-color:#18354d; color:#fff; }
#hk-pg-policy .hk-pg-policy-links a:hover { border-color:#d78a2a; }
@media (max-width:640px) {
  main.hk-lg-page:has(> #hk-pg-policy) { margin-top:18px; padding-inline:16px; }
  #hk-pg-policy .hk-pg-shipping-card, #hk-pg-policy .hk-pg-payment-grid > article { flex-basis:100%; }
  #hk-pg-policy .hk-pg-shipping-card { padding:15px; }
  #hk-pg-policy .hk-pg-policy-intro { padding:13px 15px; }
  #hk-pg-policy .hk-pg-policy-links a { flex:1 1 140px; text-align:center; }
}
/* The theme forces every description image to full width with !important.
   Override that rule only for our small carrier marks on narrow screens. */
@media (max-width:991.98px) {
  #hk-pg-description { box-sizing:border-box; min-width:0; max-width:100%; padding:12px !important; font-size:.9rem; line-height:1.85; overflow-wrap:anywhere; }
  #hk-pg-description h3 { font-size:1rem !important; line-height:1.7; }
  #hk-pg-description .hk-pg-methods { display:flex; flex-direction:column; gap:8px; width:100%; min-width:0; max-width:100%; padding:0; }
  #hk-pg-description .hk-pg-method { display:flex; align-items:flex-start; width:100%; min-width:0; max-width:100%; }
  #hk-pg-description img.hk-pg-brand { display:block; flex:0 0 64px; width:64px !important; min-width:64px !important; max-width:64px !important; height:36px !important; min-height:36px; max-height:36px !important; object-fit:cover; margin:0; }
  #hk-pg-description .hk-pg-method-copy { flex:1 1 0%; min-width:0; text-align:right; white-space:normal; overflow-wrap:anywhere; }
  #hk-pg-description .hk-pg-policy-link { display:inline-flex; align-items:center; min-height:44px; max-width:100%; line-height:1.8; white-space:normal; overflow-wrap:anywhere; }
}
