/* Track Order and the policy pages (shipping, returns, terms, privacy).
   Loads after shared.css, hero-banner.css and contact.css, which supply the page
   section, headings, form fields and button. Mobile first. */

/* ===== Policy document ===== */
.policy-wrap{max-width:860px;margin:0 auto}
.policy-updated{
  margin:-18px 0 28px;text-align:center;color:#6b6b6b;font-size:13px
}
.policy-toc{
  background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 20px;margin-bottom:26px
}
.policy-toc h2{
  margin:0 0 10px;font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--offer)
}
.policy-toc ol{margin:0;padding-left:20px;columns:1;font-size:14px;line-height:1.9}
.policy-toc a{color:#444}
.policy-toc a:hover{color:var(--offer)}

.policy-doc section{padding:24px 0;border-top:1px solid var(--line);scroll-margin-top:120px}
.policy-doc section:first-child{border-top:0;padding-top:0}
.policy-doc h2{margin:0 0 12px;font-size:20px;line-height:1.3}
.policy-doc h3{margin:18px 0 8px;font-size:15px}
.policy-doc p,
.policy-doc li{color:#5f5f5f;font-size:15px;line-height:1.75}
.policy-doc p{margin:0 0 12px}
.policy-doc ul,
.policy-doc ol{margin:0 0 12px;padding-left:22px}
.policy-doc li{margin-bottom:4px}
.policy-doc a{color:var(--rose-dark);text-decoration:underline;text-underline-offset:3px}
.policy-doc a:hover{color:var(--offer)}
.policy-doc strong{color:var(--text)}

.policy-table{width:100%;border-collapse:collapse;margin:4px 0 14px;font-size:14px}
.policy-table th,
.policy-table td{text-align:left;padding:10px 12px;border:1px solid var(--line);vertical-align:top}
.policy-table th{background:var(--bg);font-weight:700}
.policy-table td{color:#5f5f5f}
.policy-table-wrap{overflow-x:auto}

.policy-footnote{margin:22px 0 0;text-align:center;color:#6b6b6b;font-size:13px;line-height:1.6;font-style:italic}

.policy-note{
  background:var(--rose-soft);border-left:3px solid var(--rose);border-radius:var(--radius);
  padding:14px 16px;margin:6px 0 14px;color:#5f3a47;font-size:14px;line-height:1.65
}

/* ===== Track Order ===== */
.track-wrap{max-width:760px;margin:0 auto;display:grid;gap:22px}
.track-wrap .form-grid{grid-template-columns:1fr}
.field-hint{margin:6px 0 0;color:#6b6b6b;font-size:12.5px}
.field input[aria-invalid="true"]{border-color:var(--rose)}

.track-result[aria-busy="true"]{opacity:.6}
.track-head{
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin-bottom:6px
}
.track-head h3{margin:0;font-size:20px}
.track-meta{margin:0;color:#777;font-size:13.5px}
.track-badge{
  display:inline-block;padding:5px 12px;border-radius:999px;background:var(--rose-soft);
  color:var(--rose-dark);font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase
}
.track-badge.is-closed{background:#efefef;color:#555}

/* Steps: a vertical list on phones, a horizontal line from tablets up. */
.track-steps{list-style:none;margin:22px 0 4px;padding:0;position:relative}
.track-step{position:relative;display:flex;gap:14px;align-items:flex-start;padding:0 0 22px}
.track-step:last-child{padding-bottom:0}
.track-step::before{
  content:"";position:absolute;left:13px;top:28px;bottom:0;width:2px;background:var(--line)
}
.track-step:last-child::before{display:none}
.track-step.is-done::before{background:var(--offer)}
.track-dot{
  flex:none;width:28px;height:28px;border-radius:50%;border:2px solid var(--line);background:#fff;
  color:#767676;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;position:relative;z-index:1
}
.track-step.is-done .track-dot{background:var(--offer);border-color:var(--offer);color:#fff}
.track-step.is-current .track-dot{border-color:var(--offer);color:var(--offer)}
.track-label{display:block;font-size:14px;font-weight:700;padding-top:4px}
.track-date{display:block;color:#6b6b6b;font-size:12.5px;margin-top:2px}
.track-step:not(.is-done) .track-label{color:#767676}
.track-step.is-current .track-label{color:var(--text)}

.track-note{margin:18px 0 0}
.track-message{margin:10px 0 0;color:#555;font-size:15px;line-height:1.65}
.track-subhead{
  margin:26px 0 12px;padding-top:20px;border-top:1px solid var(--line);
  font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--offer)
}
.track-details{margin:0;display:grid;gap:12px}
.track-details div{display:grid;gap:2px}
.track-details dt{font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#6b6b6b}
.track-details dd{margin:0;font-size:15px;color:var(--text)}
.track-items{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.track-item{display:flex;gap:14px;align-items:center}
.track-item img,
.track-item-ph{flex:none;width:56px;height:70px;border-radius:var(--radius);object-fit:cover;background:var(--strip);border:1px solid var(--line)}
.track-item-name{display:block;font-size:14.5px;font-weight:700;line-height:1.4}
.track-item-meta{display:block;color:#777;font-size:13px;margin-top:2px}
.track-eta{margin:0}

.track-help{margin:0;color:#666;font-size:14px;line-height:1.7}
.track-help a,
.track-contact a,
.track-legal a,
.faq-section details a{color:var(--rose-dark);font-weight:700}
.track-help a:hover,
.track-contact a:hover,
.track-legal a:hover,
.faq-section details a:hover{color:var(--offer)}
.track-contact{list-style:none;margin:14px 0;padding:0;display:grid;gap:8px;font-size:14.5px;color:#555}
.track-contact strong{color:var(--text)}
.track-legal{margin:0;text-align:center;color:#6b6b6b;font-size:13px;line-height:1.6}

/* ===== Shipping Policy: key facts, accordions, help box ===== */
.policy-updated--top{margin:0 0 20px}
.policy-intro{margin:0 0 24px;color:#555;font-size:15px;line-height:1.75;text-align:center}
.key-facts{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:12px}
.key-facts li{
  background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px 18px;text-align:center
}
.key-facts strong{display:block;font-size:20px;line-height:1.3;color:var(--rose-dark)}
.key-facts li > span{display:block;margin-top:4px;font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#555}

/* The <details> look comes from contact.css (the Contact Us FAQ); this adds the body
   spacing for lists and tables, and visible keyboard focus. */
.policy-accordion{margin-bottom:28px}
.policy-accordion summary{font-size:15px}
.policy-accordion .acc-body{padding:0 18px 18px}
.policy-accordion .acc-body p,
.policy-accordion .acc-body li{color:#555;font-size:15px;line-height:1.7}
.policy-accordion .acc-body p{margin:0 0 10px;padding:0}
.policy-accordion .acc-body p:last-child{margin-bottom:0}
.policy-accordion .acc-body ul,
.policy-accordion .acc-body ol{margin:0 0 10px;padding-left:20px}
.policy-accordion .acc-body ul:last-child,
.policy-accordion .acc-body ol:last-child{margin-bottom:0}
.policy-subhead{margin:0 0 14px;font-size:22px;line-height:1.3;text-align:center}
.policy-accordion .acc-body li{margin-bottom:4px}
.policy-accordion .acc-body strong{color:var(--text)}
.policy-accordion .policy-table td{color:#555}
.policy-accordion a,
.policy-help a{color:var(--rose-dark);text-decoration:underline;text-underline-offset:3px}
.policy-accordion a:hover{color:var(--offer)}
.policy-accordion summary:focus-visible,
.policy-accordion a:focus-visible,
.policy-table-wrap:focus-visible{outline:2px solid var(--rose-dark);outline-offset:2px;border-radius:var(--radius)}

.policy-help h2{margin:0 0 12px;font-size:20px}
.policy-help ul{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px;font-size:15px;color:#555}
.policy-help strong{color:var(--text)}
.policy-help p{margin:0;color:#555;font-size:14px;line-height:1.65}
.policy-help p + ul{margin-top:12px}
.policy-placeholder{background:var(--rose-soft);color:var(--rose-dark);padding:1px 6px;border-radius:3px;font-weight:700}

@media(min-width:640px){
  .key-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .policy-toc ol{columns:2;column-gap:28px}
  .track-wrap .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .track-steps{display:flex;justify-content:space-between}
  .track-step{flex:1;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:0}
  .track-step::before{left:calc(50% + 14px);right:calc(-50% + 14px);top:13px;bottom:auto;width:auto;height:2px}
  .track-label{padding-top:0}
  .track-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
}
