/* Variables */
:root {
    --display-url-color: darkred;
    --dark-blue: darkblue;
    --text-dark: #333;
    --text-black: black;
    --border-color: #aaa;
    --bg-gray: #F1F1F1;
    --success-green: #188038;
    --container-max-width: 1140px;
}

/* Search Ads Container */
.fs-searchads {
    margin-bottom: 1rem;
    padding: 1rem;
    background-color: var(--bg-gray);
    overflow-wrap: break-word;
}

.fs-searchads h2 {
    margin-top: 0;
    font-size: 1.15em;
}

.fs-searchads p,
.fs-searchads .callout {
    margin-bottom: 0;
    line-height: 1.4em;
    font-size: 0.75em;
}

/* Search Ads Text Elements */
.fs-searchads .title {
    --maxtitle-lines: 2;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--maxtitle-lines);
    color: var(--dark-blue);
}

.fs-searchads .sitelink {
    --maxtitle-lines: 1;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--maxtitle-lines);
    color: var(--text-dark);
    font-weight: bold;
}

.fs-searchads .description {
    --maxdesc-lines: 3;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--maxdesc-lines);
    color: var(--text-black);
}

.fs-searchads .displayurl {
    --maxurl-lines: 1;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--maxurl-lines);
    font-weight: bold;
    color: var(--display-url-color);
}

/* PLA Ads Container */
.fs-plaads {
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding-top: 10px;
    text-align: left;
    margin-bottom: 20px;
}

.fs-plaads .seller {
    color: var(--text-black);
    font-size: 1.1em;
    max-height: 50px;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-bottom: 10px;
}

.fs-plaads h2 {
    margin-top: 20px;
    font-size: 0.9em;
}

.fs-plaads .description {
    color: var(--text-black);
    max-height: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* PLA Ads Components */
.fs-plaads-title {
    height: 95px;
    overflow: hidden;
    padding: 5px;
}

.fs-plaads-title p {
    --plamaxtitle-lines: 4;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--plamaxtitle-lines);
    margin-bottom: 0;
    font-size: 1.05em;
    color: var(--dark-blue);
    font-weight: bold;
    text-align: left;
}

.fs-plaads-price {
    height: 65px;
    overflow: hidden;
    padding: 5px;
}

.fs-plaads-price p {
    margin-bottom: 0;
    font-size: 1.20em;
    line-height: 1.25em;
    color: var(--success-green);
    font-weight: bold;
    text-align: left;
}

.fs-plaads-seller {
    height: 45px;
    overflow: hidden;
    padding: 5px;
    position: absolute;
    bottom: 0;
    width: 100%;
}

.fs-plaads-seller p {
    --maxseller-lines: 1;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--maxseller-lines);
    margin-bottom: 0;
    font-size: 1.20em;
    line-height: 1.25em;
    text-align: left;
}

.fs-plaads-starlink {
    text-align: left;
    display: inline-block;
    min-height: 14px;
    padding: 5px;
}

.fs-plaads-starlink img {
    width: auto;
    height: auto;
    max-height: 14px;
    max-width: 76px;
}

.fs-plaads .col img {
    min-height: 100px;
    max-width: 80%;
    display: block;
    width: auto;
    margin: auto;
}

/* PLA Container and Hover Card */
.pla-container {
    text-align: center;
    max-width: var(--container-max-width);
    margin: 0 auto;
    padding: 0 15px;
    width: 100%;
}

@media (max-width: 1200px) {
    .pla-container {
        max-width: 1140px;
    }
}

@media (max-width: 992px) {
    .pla-container {
        max-width: 960px;
    }
}

@media (max-width: 768px) {
    .pla-container {
        max-width: 720px;
    }
}

@media (max-width: 576px) {
    .pla-container {
        max-width: 540px;
    }
}

.pla-hovercard-container {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.20);
    font-size: 13px;
    line-height: 1.24em;
    height: 340px;
    width: 155px;
    display: inline-block;
    margin: 3px;
    position: relative;
    top: 4px;
}

.pla-unit-hovercard-img-container {
    text-align: center;
    display: block;
    height: 150px;
    padding: 5px;
}

.pla-unit-hovercard-img-container img {
    width: auto;
    height: auto;
    max-height: 142px;
    max-width: 142px;
    position: relative;
}

/* Sponsored Label */
.sponsoredResults {
    font-size: 0.75em;
    color: var(--text-dark);
    text-align: left;
    padding-left: 20px;
    margin-top: 25px;
}

/* Sale Badge */
.sale {
    position: absolute;
    float: left;
    margin-left: 3px;
    z-index: 2;
}

/* Price Text Styles */
.price-was {
    font-size: 0.85em;
    color: #666;
}

.price-spacer {
    display: block;
    height: 1.5em;
}

