
.gs-deal-list{display:flex;flex-direction:column;gap:18px}
.gs-deal-card{display:grid;grid-template-columns:210px 1fr;gap:22px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;box-shadow:0 7px 24px rgba(0,0,0,.045)}
.gs-card-image{display:flex;align-items:center;justify-content:center;min-height:185px;border-radius:13px;overflow:hidden;background:#f8f8f8;text-decoration:none}
.gs-card-image-img{width:100%;height:100%;max-height:220px;object-fit:contain}
.gs-image-placeholder{font-weight:800;color:#777}
.gs-card-main{min-width:0}
.gs-card-topline{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:7px}
.gs-merchant{display:inline-flex;align-items:center;min-height:28px}
.gs-merchant img{display:block;max-width:118px;max-height:34px;width:auto;height:auto;object-fit:contain}
.gs-merchant-text{font-weight:700;font-size:.92rem}
.gs-card-age{font-size:.84rem;color:#6b7280;white-space:nowrap}
.gs-card-title{font-size:1.32rem;line-height:1.25;margin:0 0 10px!important}
.gs-card-title a{text-decoration:none!important;color:inherit}
.gs-price-line{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;margin-bottom:5px}
.gs-card-price{font-size:1.65rem}
.gs-card-compare{text-decoration:line-through;color:#747b86}
.gs-card-saving{font-weight:700}
.gs-card-shipping{font-size:.88rem;color:#626976;margin-bottom:9px}
.gs-card-voucher{display:inline-flex;gap:8px;align-items:center;padding:7px 10px;margin-bottom:9px;border-radius:9px;background:#fff5fa;border:1px solid #efbfd3;font-weight:700;font-size:.9rem}
.gs-card-voucher code{background:#fff;border:1px dashed #d63687;padding:3px 7px;border-radius:6px}
.gs-card-preview{margin:5px 0 15px!important;font-size:.95rem;line-height:1.55;color:#353b43}
.gs-card-footer{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-top:auto}
.gs-card-social{display:flex;align-items:center;gap:15px}
.gs-comment-link{text-decoration:none!important;font-size:.92rem}
.gs-card-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.gs-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border-radius:9px;font-weight:800;text-decoration:none!important;border:1px solid transparent;white-space:nowrap}
.gs-btn-primary{background:#d63687;color:#fff!important}
.gs-btn-secondary{background:#fff;color:#222!important;border-color:#d7dbe0}
.gs-btn:hover{filter:brightness(.97)}
.gs-voting{display:inline-flex;align-items:center;gap:7px}
.gs-vote-btn{appearance:none;border:0;background:transparent;padding:3px 5px;font-size:1.1rem;line-height:1;cursor:pointer;color:#737b86;border-radius:6px}
.gs-vote-btn:hover,.gs-vote-btn.is-active{background:#f0f1f3;color:#111}
.gs-vote-center{min-width:52px;text-align:center;line-height:1.05}
.gs-vote-score{display:block;font-size:1rem}
.gs-vote-label{display:block;font-size:.72rem;min-height:.75rem;margin-top:3px;font-weight:800}
.gs-vote-label.is-cold{color:#4b6cb7}
.gs-vote-label.is-good{color:#2e7d32}
.gs-vote-label.is-neutral{color:#777}
.gs-login-hint{font-size:.82rem;margin-left:7px}
.gs-single-deal-box{border:1px solid #e4e7eb;border-radius:18px;background:#fff;padding:22px;margin:0 0 26px;box-shadow:0 8px 28px rgba(0,0,0,.05)}
.gs-single-deal-box.is-expired{opacity:.75}
.gs-single-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}
.gs-single-prices{display:flex;flex-wrap:wrap;gap:26px;align-items:flex-end}
.gs-single-prices>div{min-width:130px}
.gs-single-prices span{display:block;font-size:.78rem;color:#6f7680;margin-bottom:3px}
.gs-single-prices strong{font-size:1.4rem}
.gs-single-prices>div:first-child strong{font-size:2rem}
.gs-single-meta{display:flex;flex-wrap:wrap;gap:9px 20px;margin-top:16px;padding-top:14px;border-top:1px solid #eee;font-size:.92rem}
.gs-voucher-box{margin-top:18px;padding:15px;border:1px solid #efbfd3;background:#fff5fa;border-radius:13px}
.gs-voucher-title{display:block;margin-bottom:6px}
.gs-voucher-value{font-weight:700}
.gs-voucher-code-row{display:flex;align-items:center;gap:10px;margin-top:8px}
.gs-voucher-code-row code{padding:7px 10px;border:1px dashed #d63687;background:#fff;border-radius:7px;font-weight:800}
.gs-voucher-box p{margin:10px 0 0!important}
.gs-single-actions{margin-top:18px}
.gs-expired-badge{display:inline-block;padding:6px 10px;background:#eee;border-radius:999px;font-size:.85rem;font-weight:700;margin-bottom:12px}
@media(max-width:800px){
  .gs-deal-card{grid-template-columns:130px 1fr;gap:15px}
  .gs-card-image{min-height:135px}
  .gs-card-footer{align-items:flex-start;flex-direction:column}
  .gs-card-actions{width:100%;justify-content:flex-start}
}
@media(max-width:570px){
  .gs-deal-card{grid-template-columns:1fr}
  .gs-card-image{min-height:180px;max-height:250px}
  .gs-card-topline{align-items:flex-start}
  .gs-card-actions{display:grid;grid-template-columns:1fr 1fr}
  .gs-btn{width:100%}
  .gs-single-head{align-items:flex-start;flex-direction:column}
}


/* 0.4.0 – vollständige Deal-Einzelansicht */
.gs-single-deal-box{max-width:100%;padding:24px 26px}
.gs-single-head-right{display:flex;align-items:center;gap:16px}
.gs-single-age{font-size:.84rem;color:#6b7280;white-space:nowrap}
.gs-single-hero{display:grid;grid-template-columns:minmax(220px,34%) 1fr;gap:32px;align-items:center;padding:8px 0 22px}
.gs-single-hero-no-image{grid-template-columns:1fr}
.gs-single-image-wrap{display:flex;align-items:center;justify-content:center;min-height:250px;padding:15px;background:#fff;border-radius:14px}
.gs-single-product-image{display:block;width:100%;height:auto;max-height:330px;object-fit:contain}
.gs-single-offer{min-width:0}
.gs-single-prices{gap:16px 30px}
.gs-single-price-main{width:100%;min-width:100%!important}
.gs-single-price-main strong{font-size:2.45rem!important;line-height:1.05}
.gs-single-prices s{color:#68707c}
.gs-single-meta{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:18px}
.gs-single-actions-top{margin-top:20px}
.gs-single-offer-button{min-width:220px;min-height:50px;font-size:1.05rem}
.gs-single-content{margin-top:4px;padding-top:24px;border-top:1px solid #e8eaed;font-size:1rem;line-height:1.7}
.gs-single-content > :first-child{margin-top:0}
.gs-single-content > :last-child{margin-bottom:0}
.gs-single-bottom-action{display:flex;justify-content:center;margin-top:26px;padding-top:22px;border-top:1px solid #e8eaed}
.gs-single-bottom-action .gs-single-offer-button{min-width:260px}
@media(max-width:760px){
  .gs-single-deal-box{padding:18px}
  .gs-single-head{gap:12px}
  .gs-single-head-right{align-items:flex-end;flex-direction:column;gap:6px}
  .gs-single-hero{grid-template-columns:1fr;gap:18px}
  .gs-single-image-wrap{min-height:190px}
  .gs-single-product-image{max-height:260px}
  .gs-single-offer-button{width:100%}
}


/* 0.5.0 – Layoutbreiten und Preis-Hierarchie */

/* Die Dealübersicht darf breiter sein als die Einzelansicht. */
.gs-deal-list{
    width:calc(100% - 32px);
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
}

/* Einzelne Deals bewusst kompakter und besser lesbar. */
.gs-single-deal-box{
    width:calc(100% - 32px);
    max-width:960px;
    margin-left:auto;
    margin-right:auto;
}

/* Produktbild + Preisteil kompakter gruppieren. */
.gs-single-hero{
    grid-template-columns:minmax(220px,300px) minmax(0,1fr);
    gap:28px;
    justify-content:center;
    align-items:center;
}

.gs-single-image-wrap{
    min-height:220px;
    padding:10px;
}

.gs-single-product-image{
    max-height:290px;
}

/* Preis-Typografie */
.gs-single-prices > div > span{
    font-size:.9rem;
    line-height:1.25;
    font-weight:600;
    color:#5f6873;
    margin-bottom:5px;
}

.gs-single-price-main strong{
    font-size:2.35rem!important;
    line-height:1.05;
    font-weight:800;
}

.gs-single-price-compare s{
    font-size:1.22rem;
    line-height:1.2;
    font-weight:650;
    color:#6f91bd;
    text-decoration-thickness:1.5px;
}

.gs-single-price-saving strong{
    font-size:1.22rem;
    line-height:1.2;
    font-weight:750;
    color:#4e8a5b;
}

/* Auch in der Übersicht: Vergleichspreis und Ersparnis ruhiger unterscheiden. */
.gs-card-compare{
    color:#6f91bd;
    font-size:.96rem;
}

.gs-card-saving{
    color:#4e8a5b;
    font-size:.96rem;
    font-weight:750;
}

/* Voting deutlicher, aber nicht dominant. */
.gs-vote-btn{
    min-width:32px;
    min-height:32px;
    padding:5px 7px;
    font-size:1.08rem;
}

.gs-vote-center{
    min-width:78px;
}

.gs-vote-score{
    font-size:1.05rem;
    font-weight:800;
}

.gs-vote-label{
    font-size:.78rem;
    line-height:1.15;
    min-height:.9rem;
    margin-top:4px;
    white-space:nowrap;
}

/* Lesebreite innerhalb der Einzelbox. */
.gs-single-content{
    max-width:880px;
    margin-left:auto;
    margin-right:auto;
}

/* Tablet */
@media(max-width:900px){
    .gs-deal-list,
    .gs-single-deal-box{
        width:calc(100% - 24px);
        max-width:none;
    }

    .gs-single-hero{
        grid-template-columns:minmax(190px,260px) minmax(0,1fr);
        gap:22px;
    }

    .gs-single-price-main strong{
        font-size:2.05rem!important;
    }
}

/* Smartphone */
@media(max-width:700px){
    .gs-deal-list,
    .gs-single-deal-box{
        width:calc(100% - 20px);
        max-width:none;
    }

    .gs-single-deal-box{
        padding:16px;
        border-radius:14px;
    }

    .gs-single-head{
        align-items:flex-start;
    }

    .gs-single-head-right{
        width:auto;
        align-items:flex-end;
    }

    .gs-single-hero{
        grid-template-columns:1fr;
        gap:14px;
        padding-top:4px;
    }

    .gs-single-image-wrap{
        min-height:170px;
        max-height:240px;
    }

    .gs-single-product-image{
        max-height:230px;
    }

    .gs-single-prices{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:14px 18px;
    }

    .gs-single-price-main{
        grid-column:1 / -1;
    }

    .gs-single-price-main strong{
        font-size:2rem!important;
    }

    .gs-single-price-compare s,
    .gs-single-price-saving strong{
        font-size:1.08rem;
    }

    .gs-single-content{
        max-width:none;
    }

    .gs-single-actions-top,
    .gs-single-bottom-action{
        width:100%;
    }

    .gs-single-offer-button{
        width:100%;
        min-width:0;
    }

    .gs-vote-btn{
        min-width:38px;
        min-height:38px;
    }
}

/* Sehr kleine Smartphones */
@media(max-width:430px){
    .gs-deal-list,
    .gs-single-deal-box{
        width:calc(100% - 16px);
    }

    .gs-single-prices{
        grid-template-columns:1fr;
        gap:11px;
    }

    .gs-single-price-main{
        grid-column:auto;
    }

    .gs-card-actions{
        grid-template-columns:1fr;
    }
}


/* 0.6.0 – Titel gehört bei Deals zur Dealbox */
.gs-single-title-area{
    margin:4px 0 22px;
    padding-bottom:20px;
    border-bottom:1px solid #e8eaed;
}

.gs-single-title{
    max-width:none;
    margin:0!important;
    font-size:2rem;
    line-height:1.18;
    letter-spacing:-.02em;
    font-weight:800;
    color:inherit;
}

.gs-single-title-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
    margin-top:9px;
    font-size:.88rem;
    color:#707782;
}

.gs-single-title-meta a{
    color:inherit;
    text-decoration:none;
}

/*
 * Blocksy erzeugt bei normalen Beiträgen einen eigenen Seitentitel.
 * Nur auf Deal-Einzelansichten wird dieser ausgeblendet.
 * Mehrere Selektoren decken unterschiedliche Blocksy-Single-Post-Konfigurationen ab.
 */
.gs-is-deal-single .hero-section[data-type="type-1"],
.gs-is-deal-single .hero-section[data-type="type-2"],
.gs-is-deal-single .hero-section[data-type="type-3"],
.gs-is-deal-single .entry-header:not(.gs-single-title-area){
    display:none;
}

/* Falls Blocksy durch den ausgeblendeten Hero zusätzlichen Abstand erzeugt. */
.gs-is-deal-single .site-main > .hero-section + .ct-container,
.gs-is-deal-single .site-main > .hero-section + .ct-container-full{
    padding-top:24px;
}

@media(max-width:900px){
    .gs-single-title{
        font-size:1.8rem;
    }
}

@media(max-width:700px){
    .gs-single-title-area{
        margin-bottom:17px;
        padding-bottom:16px;
    }

    .gs-single-title{
        font-size:1.55rem;
        line-height:1.22;
    }

    .gs-single-title-meta{
        font-size:.82rem;
    }
}

@media(max-width:430px){
    .gs-single-title{
        font-size:1.4rem;
    }
}


/* 0.6.1 – Dealbox folgt der Blocksy-/Seitencontainerbreite
 *
 * Die äußere Dealbox bekommt keine eigene feste Maximalbreite mehr.
 * Ihre verfügbare Breite wird vom umgebenden Theme-Container bestimmt.
 * Der eigentliche Deal-Kern und der Beschreibungstext bleiben bewusst kompakter.
 */
.gs-single-deal-box{
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
}

/* Titel darf die komplette Dealboxbreite nutzen. */
.gs-single-title-area{
    width:100%;
}

/* Produkt + Preise bleiben kompakt und werden innerhalb der Box zentriert. */
.gs-single-hero{
    width:100%;
    max-width:960px;
    margin-left:auto;
    margin-right:auto;
}

/* Beschreibung mit angenehmer Lesebreite. */
.gs-single-content{
    width:100%;
    max-width:880px;
    margin-left:auto;
    margin-right:auto;
}

/* Der untere CTA orientiert sich ebenfalls an der Lesebreite. */
.gs-single-bottom-action{
    max-width:880px;
    margin-left:auto;
    margin-right:auto;
}

/* Dealübersicht bleibt als eigenständiger Listencontainer bei max. 1180 px. */
.gs-deal-list{
    width:calc(100% - 32px);
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
}

@media(max-width:900px){
    .gs-single-deal-box{
        width:100%;
        max-width:none;
    }

    .gs-single-hero{
        max-width:960px;
    }

    .gs-single-content,
    .gs-single-bottom-action{
        max-width:880px;
    }
}

@media(max-width:700px){
    .gs-single-deal-box{
        width:100%;
    }

    .gs-single-hero,
    .gs-single-content,
    .gs-single-bottom-action{
        max-width:none;
    }
}


/* 0.7.0 – Flüssiges, auflösungsunabhängiges Single-Deal-Layout */

/*
 * Keine festen "Desktop-Auflösungen" voraussetzen:
 * Der innere Deal-Kern wächst flüssig mit dem verfügbaren Platz,
 * bleibt auf sehr breiten Screens aber angenehm kompakt.
 */
.gs-single-hero{
    width:min(100%, 72rem);
    max-width:none;
    margin-inline:auto;
    grid-template-columns:minmax(220px, min(34%, 330px)) minmax(300px, 1fr);
    gap:clamp(22px, 3vw, 48px);
}

.gs-single-content{
    width:min(100%, 68rem);
    max-width:none;
    margin-inline:auto;
}

/* Metadaten direkt beim Titel statt weit oben am Rand. */
.gs-single-title-meta{
    gap:7px;
    margin-top:10px;
    font-size:.9rem;
    font-weight:500;
}

.gs-single-meta-age{
    font-weight:650;
}

.gs-single-meta-comments{
    display:inline-flex;
    align-items:center;
    gap:3px;
    font-weight:650;
}

.gs-single-meta-comments:hover{
    text-decoration:underline;
}

/*
 * Beide Angebotsbuttons benutzen exakt dieselbe CTA-Geometrie.
 * Der obere sitzt im Angebotsbereich, der untere darunter –
 * aber beide haben identische Breite/Höhe.
 */
.gs-single-cta-row{
    width:100%;
}

.gs-single-cta-row .gs-single-offer-button{
    box-sizing:border-box;
    width:clamp(220px, 24vw, 300px);
    min-width:0;
    min-height:50px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 22px;
}

.gs-single-actions-top{
    display:flex;
    justify-content:flex-start;
}

.gs-single-bottom-action{
    width:min(100%, 68rem);
    max-width:none;
    margin-left:auto;
    margin-right:auto;
    display:flex;
    justify-content:flex-start;
}

/* Alte Sonderbreite des unteren Buttons neutralisieren. */
.gs-single-bottom-action .gs-single-offer-button{
    min-width:0;
}

/* Mittelgroße Displays: Proportionen statt harter Desktop-Werte. */
@media(max-width:980px){
    .gs-single-hero{
        width:100%;
        grid-template-columns:minmax(200px, 32%) minmax(0, 1fr);
        gap:clamp(18px, 3vw, 30px);
    }

    .gs-single-content,
    .gs-single-bottom-action{
        width:100%;
    }

    .gs-single-cta-row .gs-single-offer-button{
        width:clamp(220px, 34vw, 290px);
    }
}

/* Mobil: alles einspaltig und CTAs identisch über volle Breite. */
@media(max-width:700px){
    .gs-single-hero{
        grid-template-columns:1fr;
    }

    .gs-single-cta-row .gs-single-offer-button{
        width:100%;
        min-height:50px;
    }

    .gs-single-actions-top,
    .gs-single-bottom-action{
        justify-content:stretch;
    }

    .gs-single-title-meta{
        gap:5px 7px;
        font-size:.84rem;
    }
}


/* 0.7.1 – kompakter, stärker zentriert */

/* Kopfbereich bewusst auf 800 px begrenzen und mittig ausrichten. */
.gs-single-head,
.gs-single-title-area{
    width:min(100%, 800px);
    margin-left:auto;
    margin-right:auto;
}

/* Überschrift und Metadaten mittig. */
.gs-single-title{
    text-align:center;
}

.gs-single-title-meta{
    justify-content:center;
}

/* Händler + Voting bleiben in einer Zeile, aber innerhalb der 800-px-Achse. */
.gs-single-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
}

/* Der eigentliche Deal-Kern bleibt ebenfalls kompakter. */
.gs-single-hero{
    width:min(100%, 800px);
    margin-left:auto;
    margin-right:auto;
    grid-template-columns:minmax(210px, 300px) minmax(0, 1fr);
    gap:clamp(20px, 3vw, 34px);
}

/* Beschreibung passend zur neuen Gesamtachse. */
.gs-single-content{
    width:min(100%, 800px);
    margin-left:auto;
    margin-right:auto;
}

/* Beide CTAs exakt mittig. */
.gs-single-actions-top,
.gs-single-bottom-action{
    width:min(100%, 800px);
    margin-left:auto;
    margin-right:auto;
    display:flex;
    justify-content:center;
}

.gs-single-cta-row .gs-single-offer-button{
    width:260px;
    max-width:100%;
}

/* Unterer CTA ebenfalls mittig statt linksbündig. */
.gs-single-bottom-action{
    justify-content:center;
}

/* Tablet: kompakt bleiben, aber flexibel schrumpfen. */
@media(max-width:860px){
    .gs-single-head,
    .gs-single-title-area,
    .gs-single-hero,
    .gs-single-content,
    .gs-single-actions-top,
    .gs-single-bottom-action{
        width:100%;
        max-width:none;
    }
}

/* Smartphone: Kopf und Voting sauber stapeln/zentrieren. */
@media(max-width:700px){
    .gs-single-head{
        align-items:center;
    }

    .gs-single-title{
        text-align:left;
    }

    .gs-single-title-meta{
        justify-content:flex-start;
    }

    .gs-single-actions-top,
    .gs-single-bottom-action{
        justify-content:stretch;
    }

    .gs-single-cta-row .gs-single-offer-button{
        width:100%;
    }
}
