/* Guest storefront. The catalog and account forms keep DHRU's existing routes. */
.fox-guest .dhru-home-intro {
    padding: clamp(38px, 6vw, 90px) 0 clamp(42px, 6vw, 82px);
}
.fox-guest .fox-home-intro-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: clamp(28px, 5vw, 74px);
    align-items: center;
    max-width: 1320px;
}
.fox-guest .fox-home-intro-main { min-width: 0; }
.fox-guest .fox-home-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 22px;
    color: #9a4d0c;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .035em;
}
.fox-guest .fox-home-brand::before { content: ""; width: 25px; height: 2px; background: #ed8d22; }
.fox-guest .dhru-home-copy { max-width: none; margin: 0; }
.fox-guest .dhru-home-copy > * { max-width: none; }
.fox-guest .dhru-home-copy .dhru-eyebrow { display: none; }
.fox-guest .dhru-home-copy h1 {
    max-width: 760px;
    margin: 0 0 20px;
    color: #1a1d21;
    font-size: clamp(2.5rem, 5vw, 5rem);
    font-weight: 800;
    letter-spacing: -.065em;
    line-height: 1.04;
    text-wrap: balance;
}
.fox-guest .dhru-home-copy p {
    max-width: 610px;
    margin: 0;
    color: #565d65;
    font-size: clamp(1rem, 1.5vw, 1.15rem);
    line-height: 1.72;
}
.fox-guest .fox-home-quicklinks {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 0;
    border-radius: 18px;
    background: rgba(255,255,255,.83);
    box-shadow: 0 18px 40px rgba(32,35,39,.08);
}
.fox-guest .fox-home-quicklinks a {
    display: flex;
    align-items: center;
    gap: 15px;
    min-height: 74px;
    padding: 13px 15px;
    border: 1px solid #ebe7e0;
    border-radius: 11px;
    color: #24272b;
    background: #fff;
    font-size: .94rem;
    font-weight: 750;
    text-decoration: none;
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}
.fox-guest .fox-home-quicklinks a:hover,
.fox-guest .fox-home-quicklinks a:focus-visible {
    border-color: #e8963d;
    color: #21180f;
    background: #fff7ed;
    text-decoration: none;
    transform: translateX(3px);
}
.fox-guest .fox-home-quicklinks a > i:first-child {
    display: grid;
    flex: 0 0 38px;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 9px;
    color: #a4510b;
    background: #fff0dd;
    font-size: 1rem;
}
.fox-guest .fox-home-quicklinks a > span { flex: 1; }
.fox-guest .fox-home-quicklinks a > i:last-child { color: #a2a5a8; font-size: .85rem; }
.fox-guest .dhru-catalog:empty { display: none; }

.fox-guest #login .modal-dialog { width: min(440px, calc(100vw - 28px)); max-width: 440px; }
.fox-guest #login .modal-content {
    overflow: hidden;
    border: 1px solid #d9d5d0;
    border-top: 0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 28px 75px rgba(15,18,22,.26);
}
.fox-guest #login .modal-header { align-items: center; padding: 24px 28px 12px; border: 0; }
.fox-guest #login .modal-title { color: #1f2329; font-size: 1.25rem; font-weight: 800; letter-spacing: -.035em; }
.fox-guest #login .modal-header .close { margin: -8px -8px -8px auto; color: #3e4349; opacity: 1; }
.fox-guest #login .modal-body { padding: 0 28px 28px; }
.fox-guest #login .page-login,
.fox-guest #login .page-login .card { max-width: none; border: 0; background: transparent; box-shadow: none; }
.fox-guest #login .page-login .login-panel { padding: 0; }
.fox-guest #login .page-login .page-title { display: none; }
.fox-guest #login .page-login .input-group { height: 48px; }
.fox-guest #login .page-login .input-group-text,
.fox-guest #login .page-login .form-control { height: 48px; border-color: #dce0e4 !important; background: #f9fafb !important; }
.fox-guest #login .page-login .input-group-text { width: 46px; justify-content: center; color: #9a551d; border-radius: 10px 0 0 10px; }
.fox-guest #login .page-login .form-control { border-left: 0; border-radius: 0 10px 10px 0; color: #25292e; }
.fox-guest #login .page-login .form-control:focus { border-color: #e99434 !important; box-shadow: 0 0 0 3px rgba(238,151,56,.13); }
.fox-guest #login .page-login .btn-primary { min-height: 48px; border: 0; border-radius: 10px; color: #23170d; background: #f5a13f; font-weight: 800; }
.fox-guest #login .page-login .btn-primary:hover { background: #ffb65d; }

html[data-fox-theme="dark"] .fox-guest .fox-home-brand { color: #ffb565; }
html[data-fox-theme="dark"] .fox-guest .dhru-home-copy h1 { color: #f4f5f6; }
html[data-fox-theme="dark"] .fox-guest .dhru-home-copy p { color: #bbc3ce; }
html[data-fox-theme="dark"] .fox-guest .fox-home-quicklinks { border-color: #3c4652; background: rgba(29,35,44,.88); }
html[data-fox-theme="dark"] .fox-guest .fox-home-quicklinks a { border-color: #3d4752; color: #f0f2f4; background: #252c36; }
html[data-fox-theme="dark"] .fox-guest .fox-home-quicklinks a:hover { border-color: #f1a24b; background: #36302c; }
html[data-fox-theme="dark"] .fox-guest .fox-home-quicklinks a > i:first-child { color: #ffb366; background: #443323; }
html[data-fox-theme="dark"] .fox-guest #login .modal-content { border-color: #454e58; background: #242b34; }
html[data-fox-theme="dark"] .fox-guest #login .modal-title,
html[data-fox-theme="dark"] .fox-guest #login .modal-header .close { color: #f3f5f7; }
html[data-fox-theme="dark"] .fox-guest #login .page-login .input-group-text,
html[data-fox-theme="dark"] .fox-guest #login .page-login .form-control { color: #f0f2f5; border-color: #4d5965 !important; background: #19212b !important; }

@media (max-width: 820px) {
    .fox-guest .fox-home-intro-layout { grid-template-columns: 1fr; gap: 30px; }
    .fox-guest .fox-home-quicklinks { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .fox-guest .fox-home-quicklinks a { min-height: 96px; flex-direction: column; align-items: flex-start; gap: 8px; }
    .fox-guest .fox-home-quicklinks a > i:last-child { display: none; }
}
@media (max-width: 560px) {
    .fox-guest .dhru-home-intro { padding: 34px 0 48px; }
    .fox-guest .fox-home-quicklinks { grid-template-columns: 1fr; }
    .fox-guest .fox-home-quicklinks a { min-height: 62px; flex-direction: row; align-items: center; }
    .fox-guest .fox-home-quicklinks a > i:last-child { display: block; }
    .fox-guest #login .modal-header { padding: 22px 20px 10px; }
    .fox-guest #login .modal-body { padding: 0 20px 22px; }
}
@media (prefers-reduced-motion: reduce) {
    .fox-guest .fox-home-quicklinks a { transition: none; }
}
