/*
 * Hart Logistics - phase-2 overrides (change-request document).
 * Loaded after the original compiled bundle (main.css); everything the
 * redesign adds or relaxes lives here so the 1:1 base stays untouched.
 */

/* --------------------------------------------------------------------------
 * 1. Typography - Armin Grotesk stays the brand font; body copy drops to
 *    the regular weight and gets real breathing room between lines
 *    (the original bundle ships an extremely tight 1.125 line-height).
 * ------------------------------------------------------------------------ */
body {
    line-height: 1.45;
}
p,
li,
.article-text,
.article-desc,
.card-body {
    font-weight: 400;
    line-height: 1.65;
}
.article-text p,
.article-desc p {
    margin-bottom: 1.1em;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    line-height: 1.15;
}
.article-desc {
    color: #393939;
}

/* --------------------------------------------------------------------------
 * 2. Main menu - "Usługi" hover dropdown with the individual services.
 * ------------------------------------------------------------------------ */
.navbar .hart-has-subnav {
    position: relative;
}
.navbar .hart-subnav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1030;
    min-width: 21rem;
    margin: 0;
    padding: .5rem 0;
    list-style: none;
    background: #fff;
    border-top: 4px solid #ff4343;
    box-shadow: 0 14px 28px rgba(29, 29, 27, .12);
}
.navbar .hart-has-subnav:hover .hart-subnav,
.navbar .hart-has-subnav:focus-within .hart-subnav {
    display: block;
}
.navbar .hart-subnav li a {
    display: block;
    padding: .55rem 1.5rem;
    color: #1d1d1b;
    font-size: 1rem;
    text-decoration: none;
    text-transform: uppercase;
}
.navbar .hart-subnav li a:hover {
    color: #ff4343;
}
/* fullscreen mobile menu: list the services inline under Usługi */
#menu .hart-subnav {
    list-style: none;
    margin: 0 0 .5rem;
    padding: 0 0 0 1rem;
}
#menu .hart-subnav li a {
    color: #fff;
    font-size: 1.1rem;
    opacity: .8;
    text-decoration: none;
    display: block;
    padding: .15rem 0;
}

/* --------------------------------------------------------------------------
 * 3. Contact map - static stylized map with clickable location pins
 *    (CENTRALA / BIURA / MAGAZYNY), like the 2025 company presentation.
 * ------------------------------------------------------------------------ */
.hart-locations {
    padding-left: 3rem;
}
@media (max-width: 991.98px) {
    .hart-locations {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}
.hart-map-wrap {
    position: relative;
}
.hart-map {
    display: block;
    width: 100%;
    height: auto;
    background: #fff;
}
.hart-map-land {
    fill: #e7e7e7;
    stroke: #fff;
    stroke-width: 1.2;
}
.hart-map-pl {
    fill: #d9d9d9;
    stroke: #fff;
    stroke-width: 1.2;
}
.hart-pin {
    position: absolute;
    width: 22px;
    height: 29px;
    margin: -29px 0 0 -11px; /* tip of the marker sits on the location */
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    transition: transform .15s ease-in-out;
}
.hart-pin svg {
    display: block;
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 2px 2px rgba(29, 29, 27, .25));
}
.hart-pin:hover,
.hart-pin.active {
    transform: scale(1.35);
    z-index: 5;
}
.hart-pin-centrala { color: #1d1d1b; }
.hart-pin-biuro    { color: #ff4343; }
.hart-pin-magazyn  { color: #32a61b; }

.hart-map-legend .hart-legend-item:before {
    content: "";
    display: inline-block;
    width: .75em;
    height: .75em;
    margin-right: .45em;
    border-radius: 50%;
}
.hart-legend-centrala:before { background: #1d1d1b; }
.hart-legend-biuro:before    { background: #ff4343; }
.hart-legend-magazyn:before  { background: #32a61b; }
.hart-map-legend .hart-legend-item {
    font-size: 1rem;
}

.hart-loc-list li {
    padding: .1rem 0;
}
.hart-loc-link {
    padding: 0;
    border: 0;
    background: none;
    color: #1d1d1b;
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1.6;
}
.hart-loc-link:hover {
    color: #ff4343;
}
.hart-loc-link.active {
    color: #ff4343;
    font-weight: 600;
}
.hart-loc-group .text-uppercase:before {
    content: "";
    display: inline-block;
    width: .6em;
    height: .6em;
    margin-right: .4em;
    border-radius: 50%;
}
.hart-loc-card {
    position: sticky;
    top: 1rem;
    min-height: 12rem;
}
.hart-loc-card a {
    color: #1d1d1b;
    text-decoration: underline;
    word-break: break-word;
}

/* --------------------------------------------------------------------------
 * 4. Contact form - department select styled like the floating inputs,
 *    and the thank-you popup shown after a successful send.
 * ------------------------------------------------------------------------ */
.hart-dept-group select.form-control {
    appearance: none;
    -webkit-appearance: none;
    padding-top: 1.6rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ff4343' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 14px 11px;
    cursor: pointer;
}
.hart-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: rgba(29, 29, 27, .55);
}
.hart-modal {
    max-width: 34rem;
    width: 100%;
    padding: 0 2.5rem 2.5rem;
    background: #fff;
    text-align: left;
}
.hart-modal .hart-modal-title {
    padding-top: 2rem;
}
.hart-modal .hart-modal-text {
    padding: .75rem 0 1rem;
    line-height: 1.6;
}
.hart-modal .hart-modal-sign {
    padding-bottom: 1.75rem;
    color: #626262;
    line-height: 1.5;
}
.hart-modal .hart-modal-close {
    width: 100%;
}

/* --------------------------------------------------------------------------
 * 5. "Usługi" index - card grid replacing the half-empty side-nav layout.
 * ------------------------------------------------------------------------ */
.hart-service-card {
    background: #fff;
    padding: 0 1.5rem 0;
}
.hart-service-card .hart-service-card-icon svg,
.hart-service-card .hart-service-card-icon img {
    width: 56px;
    height: 56px;
}
.hart-service-card .hart-service-card-desc {
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.hart-service-card .hart-service-card-desc p {
    margin-bottom: 0;
    font-size: inherit;
    line-height: inherit;
}
.hart-service-card:hover .thick-border-top {
    border-color: #ff4343 !important;
}
.hart-service-card:hover .hover-text {
    color: #ff4343;
}
.hart-service-card .bi-arrow-right {
    font-size: 1.4rem;
    transition: transform .15s ease-in-out;
}
.hart-service-card:hover .bi-arrow-right {
    transform: translateX(.4rem);
}

/* --------------------------------------------------------------------------
 * 6. "Do pobrania" page.
 * ------------------------------------------------------------------------ */
.hart-downloads-page .hart-dl-group .border-bottom {
    letter-spacing: .04em;
}
