/* Size & Details link + pop-up (apparel product pages). */

.hlm-sd-link,
.hlm-sd-link:hover,
.hlm-sd-link:focus,
.hlm-sd-link:active {
    display:flex;
    align-items:center;
    gap:6px;
    width:fit-content;
    margin:8px 0 0;
    padding:0;
    background:none !important;
    border:0;
    box-shadow:none;
    font-family:"Avenir LT Std Book",sans-serif;
    font-size:16px;
    font-weight:600;
    line-height:22px;
    text-decoration:none;
    cursor:pointer;
}

.hlm-sd-link-text {
    text-decoration:underline;
    text-underline-offset:3px;
}

.hlm-sd-icon {
    display:block;
    flex:0 0 auto;
    width:20px;
    height:20px;
}

.hlm-sd-link {
    color:#da291c !important;
}

.hlm-sd-link:hover,
.hlm-sd-link:focus {
    color:#000 !important;
}

.hlm-sd-link:focus-visible,
.hlm-sd-close:focus-visible {
    outline:2px solid currentColor;
    outline-offset:2px;
}

.hlm-sd-modal[hidden] {
    display:none;
}

.hlm-sd-modal {
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:16px;
}

.hlm-sd-overlay {
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.55);
}

.hlm-sd-dialog {
    position:relative;
    width:100%;
    max-width:900px;
    max-height:calc(100vh - 32px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    background:#fff;
    color:#222;
    border-radius:8px;
    box-shadow:0 10px 40px rgba(0,0,0,.3);
}

.hlm-sd-dialog:focus {
    outline:none;
}

.hlm-sd-header {
    position:sticky;
    top:0;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 20px;
    background:#fff;
    border-bottom:1px solid #e5e5e5;
}

.hlm-sd-title {
    margin:0;
    font-size:24px;
    font-weight:700;
    line-height:1.3;
}

.hlm-sd-close,
.hlm-sd-close:hover,
.hlm-sd-close:focus,
.hlm-sd-close:active {
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:44px;
    padding:0;
    background:none !important;
    border:0;
    box-shadow:none;
    line-height:1;
    cursor:pointer;
}

.hlm-sd-close {
    color:#000 !important;
}

.hlm-sd-close:hover,
.hlm-sd-close:focus {
    color:#da291c !important;
}

.hlm-sd-close svg {
    display:block;
    width:22px;
    height:22px;
}

.hlm-sd-body {
    padding:20px;
    font-size:15px;
    line-height:1.55;
}

.hlm-sd-section+.hlm-sd-section {
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid #eee;
}

.hlm-sd-section h3 {
    margin:0 0 20px;
    font-family:"Avenir LT Std Black",sans-serif;
    font-size:20px;
    font-weight:700;
    line-height:26px;
    color:#000;
    letter-spacing:.03em;
    text-transform:uppercase;
}

.hlm-sd-body img {
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    margin:0 auto;
}

.hlm-sd-body ul,
.hlm-sd-body ol {
    margin:0 0 10px 20px;
    padding:0;
}

.hlm-sd-body li ul {
    margin-top:4px;
}

.hlm-sd-body p {
    margin:0 0 10px;
}

.hlm-sd-body h4 {
    margin:0 0 8px;
    font-size:16px;
    font-weight:700;
    line-height:22px;
    color:#000;
}

.hlm-sd-body ul+h4,
.hlm-sd-body ol+h4 {
    margin-top:16px;
}

html.hlm-sd-open,
html.hlm-sd-open body {
    overflow:hidden;
}

@media (max-width:600px) {
    .hlm-sd-link,
    .hlm-sd-link:hover,
    .hlm-sd-link:focus,
    .hlm-sd-link:active {
        font-size:14px;
        line-height:20px;
    }
    .hlm-sd-icon {
        width:18px;
        height:18px;
    }
    .hlm-sd-modal {
        padding:0;
        align-items:stretch;
    }
    .hlm-sd-dialog {
        max-width:none;
        max-height:none;
        height:100%;
        border-radius:0;
    }
    .hlm-sd-title {
        font-size:20px;
    }
}
