/* Unified listing cards: visual styles only; existing action handlers own behavior. */
.listing-card{display:flex;flex-direction:column;width:100%;min-width:0;height:100%;background:#fff;border:1px solid #dde6ec;border-radius:18px;overflow:hidden;box-shadow:0 5px 18px #173d5210;transition:box-shadow .2s ease,transform .2s ease}
.listing-card:hover{box-shadow:0 10px 28px #173d521a;transform:translateY(-2px)}
.listing-card-main{display:flex;flex:1;flex-direction:column;min-width:0}
.listing-card .promotion-disclosure{position:absolute;bottom:10px;right:10px;max-width:calc(100% - 20px);padding:5px 9px!important;background:rgba(255,255,255,.96);border:1px solid #dcece2;border-radius:7px;box-shadow:0 2px 8px #153e351c;line-height:1.35;pointer-events:none}
.listing-card-media{position:relative;flex-shrink:0}
.listing-card-image-link{display:block;position:relative;height:190px;overflow:hidden;background:#f0f4f6}
.listing-card-image-link img{width:100%;height:100%;object-fit:cover;display:block}
.listing-card-job .listing-card-image-link img{object-fit:contain}
.listing-card-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#8ca2af;background:linear-gradient(130deg,#edf4f0,#eaf1fa);font-size:42px}
.listing-card-badge{position:absolute;top:12px;left:12px;max-width:calc(100% - 72px);padding:5px 11px;border-radius:8px;background:#247358;color:#fff;font-size:.74rem;font-weight:600;line-height:1.4;box-shadow:0 2px 8px #153e351c}
.listing-card-article .listing-card-badge{background:#286797}
.listing-card-job .listing-card-badge{background:#6552a0}
.listing-card.promo-card .listing-card-badge{background:#f8dc98;color:#5d4314}
.listing-card .listing-card-body{display:flex;flex:1;flex-direction:column;gap:7px;padding:17px 18px 18px;color:#193747;text-decoration:none;min-width:0}
.listing-card .listing-card-body:hover{color:#193747}
.listing-card-title{font-size:1rem;font-weight:700;line-height:1.4;min-height:2.8em;margin:0;color:#142b3b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.listing-card-subtitle{font-size:.82rem;line-height:1.5;color:#647786;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
.listing-card-location{display:flex;align-items:center;gap:7px;font-size:.81rem;line-height:1.5;color:#647786;min-width:0}
.listing-card-location i{color:#247358;flex-shrink:0}
.listing-card-location span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.listing-card-summary{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;min-width:0}
.listing-card-details{font-size:.8rem;color:#647786;line-height:1.5;overflow-wrap:anywhere}
.listing-card-price{font-size:1.13rem;font-weight:700;color:#247358;line-height:1.4;overflow-wrap:anywhere}
.listing-card-footer{padding:13px 16px 15px;margin-top:auto;border-top:1px solid #e3eae7;background:#fafcfb}
.listing-card-footer:empty,.listing-card-footer:not(:has(.listing-actions)){display:none}
.listing-card .listing-actions.my-3{margin:0!important}
.listing-card .listing-actions>div:first-child{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;align-items:stretch!important}
.listing-card-footer .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;border-radius:9px;padding:9px 10px;font-size:.81rem;font-weight:600;line-height:1.4;white-space:normal}
.listing-card-footer .btn-outline-secondary{background:#fff;border-color:#d3ded9;color:#345d4b}
.listing-card-footer .btn-outline-secondary:hover{background:#eaf3ee;border-color:#aac8b8;color:#234b38}
.listing-card-footer .btn-outline-primary{background:#247358;border-color:#247358;color:#fff}
.listing-card-footer .btn-outline-primary:hover{background:#1b5c45;border-color:#1b5c45;color:#fff}
.listing-card-footer .listing-share-fallback{padding-top:12px;border-top:1px solid #e1eae5;margin-top:12px!important}
.listing-card-footer .listing-share-fallback[hidden]{display:none!important}
.listing-card-footer .listing-share-fallback label{font-size:.8rem;color:#536c60}
.listing-card-footer .listing-share-fallback input{width:100%;min-width:0;font-size:.8rem;border-radius:8px;margin-top:6px}
.listing-card-footer .listing-share-feedback{display:block;margin-top:8px;font-size:.8rem;overflow-wrap:anywhere}
.listing-card-footer .listing-share-feedback:empty{display:none}
.listing-card a:focus-visible,.listing-card button:focus-visible{outline:3px solid #247358;outline-offset:-3px}
@media(max-width:575px){.listing-card-image-link{height:200px}.listing-card-title{min-height:0}.listing-card .listing-card-body{padding:16px}}
@media(prefers-reduced-motion:reduce){.listing-card{transition:none}.listing-card:hover{transform:none}}

/* Keep viewer-currency pricing on its own right-aligned line. */
.listing-card-converted-price{align-self:flex-end;text-align:right;font-size:1.13rem;font-weight:400;color:#2463a6;line-height:1.4;overflow-wrap:anywhere;max-width:100%}
.listing-card-job .listing-card-image-link img.listing-card-job-placeholder{object-fit:cover}
/* Supporting actions remain discoverable without competing with price/title. */
.listing-card-footer{padding:5px 12px;background:#fff}
.listing-card .listing-actions>div:first-child{display:flex!important;flex-wrap:wrap!important;justify-content:space-between;gap:2px 12px!important}
.listing-card-footer .btn{min-height:40px;padding:7px 4px;border-radius:6px;font-size:.76rem;font-weight:500;background:transparent;border-color:transparent;color:#60766b;box-shadow:none}
.listing-card-footer .btn-outline-primary{color:#426e5c}
.listing-card-footer .btn:hover{background:#f1f6f3;border-color:transparent;color:#24573f}

.listing-card-service_provider .listing-card-copy {padding:18px;flex:1;} .listing-card-service_provider h2 {font-size:1.1rem;margin-bottom:8px;} .listing-card-service_provider p {font-size:.9rem;margin-bottom:9px;} .listing-card-service_provider .listing-card-actions {display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid #e2e8f0;} .listing-card-service_provider form {margin:0;}

.listing-card-service_provider h2 a{color:#142b3b;text-decoration:none;overflow-wrap:anywhere}.listing-card-service_provider .listing-card-copy>a{display:inline-flex;align-items:center;min-height:40px;color:#247358;font-size:.86rem;font-weight:600;text-decoration:none}.listing-card-service_provider .listing-card-copy>a:hover{text-decoration:underline}.listing-card-service_provider .listing-card-actions .btn{min-height:44px;color:#536f63;font-size:.8rem;text-decoration:none}.listing-card-service_provider .listing-card-copy p{color:#647786;overflow-wrap:anywhere}.listing-card-service_provider h2{line-height:1.4}.listing-card-service_provider .listing-card-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-size:3rem;color:#247358}

/* Shared image-overlay presentation; service saves retain their own form endpoint. */
.listing-card .listing-favorite-overlay{width:40px;height:40px;border:0;display:flex;align-items:center;justify-content:center;font-size:1.2rem;background:rgba(255,255,255,.9);color:#111;z-index:50;cursor:pointer;text-decoration:none}
.listing-card .listing-favorite-overlay[aria-pressed="true"]{color:#dc2626}
.listing-card .listing-favorite-overlay:hover{background:#fff;box-shadow:0 3px 12px #173d5233}
.listing-card .listing-favorite-overlay:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
