/* Premium Deluxe — widget styles (copied from default theme.css, isolated copy)
   Used only when premium_deluxe is active. Default theme loads its own theme.css.
*/

.shop-footer-support-card {
    border-color: rgba(var(--bs-primary-rgb), 0.28) !important;
    background: rgba(var(--bs-primary-rgb), 0.07);
}

[data-bs-theme="dark"] .shop-footer-support-card {
    background: rgba(var(--bs-primary-rgb), 0.14);
    border-color: rgba(var(--bs-primary-rgb), 0.38) !important;
}

.shop-footer-support-iconlink {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin: 0;
    border-radius: 0.35rem;
    color: var(--bs-secondary-color);
    text-decoration: none;
}

.shop-footer-support-iconlink:hover,
.shop-footer-support-iconlink:focus-visible {
    color: rgb(var(--bs-primary-rgb));
    background: rgba(var(--bs-primary-rgb), 0.14);
}

.shop-made-in-germany {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.35rem 0.65rem 0.35rem 0.45rem;
    border-radius: 0.65rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: linear-gradient(165deg, #fff 0%, #f8fafc 55%, #f1f5f9 100%);
    box-shadow: 0 0.08rem 0.35rem rgba(15, 23, 42, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    color: #0f172a;
    font-family: var(--bs-font-sans-serif);
    text-decoration: none;
    line-height: 1.1;
    vertical-align: middle;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

a.shop-made-in-germany:hover {
    transform: translateY(-1px);
    border-color: rgba(15, 23, 42, 0.2);
    box-shadow: 0 0.2rem 0.65rem rgba(15, 23, 42, 0.1);
    color: #0f172a;
}

.shop-made-in-germany__flag {
    display: flex;
    flex-direction: column;
    width: 0.55rem;
    height: 2.1rem;
    border-radius: 0.12rem;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.shop-made-in-germany__stripe {
    flex: 1;
    min-height: 0;
}

.shop-made-in-germany__stripe--black {
    background: #1a1a1a;
}

.shop-made-in-germany__stripe--red {
    background: #c1121f;
}

.shop-made-in-germany__stripe--gold {
    background: #ffce00;
}

.shop-made-in-germany__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.shop-made-in-germany__line1 {
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #475569;
}

.shop-made-in-germany__line2 {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

[data-bs-theme="dark"] .shop-made-in-germany,
[data-theme="dark"] .shop-made-in-germany {
    border-color: rgba(248, 250, 252, 0.12);
    background: linear-gradient(165deg, rgba(30, 41, 59, 0.95) 0%, rgba(15, 23, 42, 0.98) 100%);
    color: #f8fafc;
    box-shadow: 0 0.12rem 0.5rem rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

[data-bs-theme="dark"] .shop-made-in-germany__line1,
[data-theme="dark"] .shop-made-in-germany__line1 {
    color: #94a3b8;
}

[data-bs-theme="dark"] a.shop-made-in-germany:hover,
[data-theme="dark"] a.shop-made-in-germany:hover {
    color: #fff;
    border-color: rgba(248, 250, 252, 0.22);
}

.shop-promo-index-widget {
    position: fixed;
    z-index: 1040;
    width: min(17.5rem, calc(100vw - 1.25rem));
    max-height: min(72vh, 30rem);
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: transparent;
    color: var(--bs-body-color);
    border: none;
    box-shadow: none;
    top: 50%;
    transform: translateY(-50%);
}

.shop-promo-index-widget__panel {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    display: flex;
    flex-direction: column;
}

.shop-promo-index-widget__panel > .card {
    min-height: 0;
}

.shop-promo-index-widget--right {
    right: 0;
    left: auto;
}

.shop-promo-index-widget--right .shop-promo-index-widget__panel > .card {
    border-radius: 0.75rem 0 0 0.75rem !important;
    border: 1px solid var(--bs-border-color-translucent) !important;
    box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.18) !important;
    background: var(--bs-body-bg);
}

.shop-promo-index-widget--left {
    right: auto;
    left: 0;
}

.shop-promo-index-widget--left .shop-promo-index-widget__panel > .card {
    border-radius: 0 0.75rem 0.75rem 0 !important;
    border: 1px solid var(--bs-border-color-translucent) !important;
    box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.18) !important;
    background: var(--bs-body-bg);
}

@keyframes shop-promo-panel-slide-in-right {
    from {
        opacity: 0;
        transform: translateX(calc(100% + 0.75rem));
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes shop-promo-panel-slide-in-left {
    from {
        opacity: 0;
        transform: translateX(calc(-100% - 0.75rem));
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.shop-promo-index-widget--right .shop-promo-index-widget__panel--slide-in {
    animation: shop-promo-panel-slide-in-right 3s ease-out forwards;
}

.shop-promo-index-widget--left .shop-promo-index-widget__panel--slide-in {
    animation: shop-promo-panel-slide-in-left 3s ease-out forwards;
}

.shop-promo-index-widget__body {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.shop-promo-index-widget__item:last-child {
    border-bottom: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.shop-promo-index-widget__code {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.5rem;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    border-radius: 0.35rem;
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color-translucent);
}

[data-bs-theme="dark"] .shop-promo-index-widget__code {
    background: var(--bs-secondary-bg, #2b3035);
    border-color: var(--bs-border-color-translucent, rgba(255, 255, 255, 0.12));
}

@media (max-width: 767.98px) {
    .shop-promo-index-widget {
        top: auto;
        bottom: calc(var(--shop-app-chrome-height, 56px) + 0.75rem);
        transform: none;
        border-radius: 0.75rem !important;
        max-height: min(50vh, 22rem);
        width: min(18rem, calc(100vw - 1.3rem));
    }

    .shop-promo-index-widget--right {
        right: 0.65rem;
        left: auto;
    }

    .shop-promo-index-widget--left {
        left: 0.65rem;
        right: auto;
    }

    .shop-promo-index-widget__panel > .card {
        border-radius: 0.75rem !important;
    }

    @keyframes shop-promo-slide-in-mobile {
        from {
            opacity: 0;
            transform: translateY(10px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .shop-promo-index-widget__panel--slide-in {
        animation: shop-promo-slide-in-mobile 3s ease-out forwards !important;
    }
}

/* Shop notices: brand logos (reuse header swap rules from shop_header.php) */
.shop-brand-logos--inline .logo-light,
.shop-brand-logos--inline .logo-dark {
    max-height: var(--shop-brand-logo-max, 48px);
}

/* Homepage promo widget: collapsed “peek” mode (percent tab only — clip, no squashed shell) */
.shop-promo-index-widget--peek {
    display: flex;
    flex-direction: unset;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    width: auto;
    max-width: min(22rem, calc(100vw - 1rem));
    max-height: none;
    overflow: visible;
    top: 0;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    height: fit-content;
    transform: none;
    --shop-promo-shell-w: min(17.5rem, calc(100vw - 1.25rem));
    --shop-promo-peek-tab-w: 3.125rem;
    transition: max-width 0.32s ease, box-shadow 0.32s ease;
}

/* Collapsed: narrow viewport clips inner — only the handle stays visible (right: last column, left: first) */
.shop-promo-index-widget--peek.shop-promo-index-widget--peek-collapsed {
    max-width: var(--shop-promo-peek-tab-w);
    overflow: hidden;
    border-radius: 0.65rem 0 0 0.65rem;
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.14);
}

.shop-promo-index-widget--peek.shop-promo-index-widget--peek-collapsed.shop-promo-index-widget--left {
    border-radius: 0 0.65rem 0.65rem 0;
    justify-content: flex-start;
}

.shop-promo-index-widget--peek.shop-promo-index-widget--peek-collapsed.shop-promo-index-widget--right {
    border-radius: 0.65rem 0 0 0.65rem;
    justify-content: flex-end;
}

.shop-promo-index-widget--peek.shop-promo-index-widget--peek-expanded {
    max-width: min(22rem, calc(100vw - 1rem));
    overflow: visible;
}

/* Ausgeklappt: nur das Panel, kein blauer Prozent-Streifen am Rand */
.shop-promo-index-widget--peek.shop-promo-index-widget--peek-expanded .shop-promo-index-widget__peek-tab {
    display: none !important;
}

.shop-promo-index-widget--peek .shop-promo-index-widget__inner {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    flex-shrink: 0;
    width: max-content;
    max-width: none;
    transform: none;
}

.shop-promo-index-widget--peek.shop-promo-index-widget--right .shop-promo-index-widget__inner {
    flex-direction: row-reverse;
}

.shop-promo-index-widget--peek.shop-promo-index-widget--left .shop-promo-index-widget__inner {
    flex-direction: row;
}

@keyframes shop-promo-peek-inner-slide-in {
    from {
        opacity: 0;
        transform: translateX(14px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes shop-promo-peek-inner-slide-in-left {
    from {
        opacity: 0;
        transform: translateX(-14px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.shop-promo-index-widget--peek .shop-promo-index-widget__inner--slide-in {

}

/* Premium Deluxe — homepage promo widget (dedicated design) */
body.pd-body .pd-promo-widget.shop-promo-index-widget {
    --pd-promo-tab-w: 3.35rem;
    font-family: var(--pd-font, inherit);
}

body.pd-body .pd-promo-widget .pd-promo-widget__shell,
body.pd-body .pd-promo-widget .pd-promo-widget__shell--static {
    background: color-mix(in srgb, var(--pd-card) 92%, transparent);
    border: 1px solid color-mix(in srgb, var(--pd-primary) 28%, var(--pd-border));
    border-radius: 1.15rem;
    box-shadow:
        0 1rem 2.5rem rgba(0, 0, 0, 0.35),
        0 0 0 1px color-mix(in srgb, var(--pd-primary) 12%, transparent);
    backdrop-filter: blur(12px);
    overflow: hidden;
}

body.pd-body .pd-promo-widget--right .pd-promo-widget__shell,
body.pd-body .pd-promo-widget--right .pd-promo-widget__shell--static {
    border-radius: 1.15rem 0 0 1.15rem;
}

body.pd-body .pd-promo-widget--left .pd-promo-widget__shell,
body.pd-body .pd-promo-widget--left .pd-promo-widget__shell--static {
    border-radius: 0 1.15rem 1.15rem 0;
}

body.pd-body .pd-promo-widget .pd-promo-widget__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.65rem 0.85rem;
    border-bottom: 1px solid color-mix(in srgb, var(--pd-border) 80%, transparent);
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--pd-primary) 18%, var(--pd-card)),
        var(--pd-card)
    );
}

body.pd-body .pd-promo-widget .pd-promo-widget__header-title {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--pd-muted);
    margin: 0;
}

body.pd-body .pd-promo-widget .pd-promo-widget__body {
    padding: 0.75rem 0.85rem 0.85rem;
    max-height: min(58vh, 24rem);
    overflow-y: auto;
}

body.pd-body .pd-promo-widget .pd-promo-widget__item {
    display: flex;
    gap: 0.65rem;
    padding-bottom: 0.85rem;
    margin-bottom: 0.85rem;
    border-bottom: 1px solid color-mix(in srgb, var(--pd-border) 65%, transparent);
}

body.pd-body .pd-promo-widget .pd-promo-widget__item:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
}

body.pd-body .pd-promo-widget .pd-promo-widget__item-accent {
    width: 4px;
    border-radius: 999px;
    flex-shrink: 0;
}

body.pd-body .pd-promo-widget .pd-promo-widget__eyebrow {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--pd-muted);
    margin: 0 0 0.2rem;
}

body.pd-body .pd-promo-widget .pd-promo-widget__title {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--pd-text);
    margin: 0 0 0.25rem;
    line-height: 1.3;
}

body.pd-body .pd-promo-widget .pd-promo-widget__subtitle {
    font-size: 0.8rem;
    color: var(--pd-muted);
    margin: 0 0 0.45rem;
}

body.pd-body .pd-promo-widget .pd-promo-widget__code-label {
    font-size: 0.72rem;
    color: var(--pd-muted);
    margin: 0 0 0.25rem;
}

body.pd-body .pd-promo-widget .pd-promo-widget__code-row {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

body.pd-body .pd-promo-widget .pd-promo-widget__code {
    display: inline-block;
    padding: 0.3rem 0.55rem;
    border-radius: 0.5rem;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--pd-primary);
    background: color-mix(in srgb, var(--pd-primary) 16%, var(--pd-card));
    border: 1px dashed color-mix(in srgb, var(--pd-primary) 50%, var(--pd-border));
}

body.pd-body .pd-promo-widget .pd-promo-widget__peek-tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    width: var(--pd-promo-tab-w);
    min-height: 5.5rem;
    padding: 0.55rem 0.35rem;
    border: none;
    border-radius: 0.85rem 0 0 0.85rem;
    background: linear-gradient(165deg, var(--pd-primary), color-mix(in srgb, var(--pd-primary) 72%, #0f172a));
    color: #fff;
    box-shadow: 0 0.35rem 1.1rem color-mix(in srgb, var(--pd-primary) 45%, transparent);
    cursor: pointer;
}

body.pd-body .pd-promo-widget--left .pd-promo-widget__peek-tab {
    border-radius: 0 0.85rem 0.85rem 0;
}

body.pd-body .pd-promo-widget .pd-promo-widget__peek-icon {
    font-size: 1.1rem;
    line-height: 1;
    opacity: 0.95;
}

body.pd-body .pd-promo-widget .pd-promo-widget__peek-label {
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 1.15;
    text-align: center;
    max-width: 2.6rem;
}

body.pd-body .pd-promo-widget .pd-promo-widget__peek-pct {
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1;
}

body.pd-body .pd-promo-widget.shop-promo-index-widget--peek.shop-promo-index-widget--peek-collapsed {
    border-radius: 0.85rem 0 0 0.85rem;
    box-shadow: 0 0.4rem 1.25rem color-mix(in srgb, var(--pd-primary) 35%, transparent);
}

body.pd-body .pd-promo-widget.shop-promo-index-widget--peek.shop-promo-index-widget--peek-collapsed.shop-promo-index-widget--left {
    border-radius: 0 0.85rem 0.85rem 0;
}

body.pd-body .pd-promo-widget .shop-promo-index-widget__panel > .card,
body.pd-body .pd-promo-widget .shop-promo-index-widget__shell.card {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

@media (max-width: 767.98px) {
    body.pd-body .pd-promo-widget.shop-promo-index-widget--peek.shop-promo-index-widget--peek-collapsed {
        border-radius: 999px;
        max-width: 3.25rem;
    }

    body.pd-body .pd-promo-widget .pd-promo-widget__peek-tab {
        min-height: 3.25rem;
        width: 3.25rem;
        border-radius: 999px;
        padding: 0.4rem;
    }

    body.pd-body .pd-promo-widget .pd-promo-widget__peek-label {
        display: none;
    }
}

/* Footer — App download & social (Premium Deluxe) */
.pd-footer-app-social{margin-bottom:0}
.pd-footer-app-social--centered{max-width:52rem;margin-left:auto;margin-right:auto}
.pd-footer-app-social__row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:1.5rem 2.5rem;width:100%;max-width:40rem;margin:0 auto}
.pd-footer-store-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem}
.pd-footer-store-btn--visual{opacity:.92;cursor:default}
.pd-footer-app-social__divider{width:1px;min-height:4.5rem;background:color-mix(in srgb,#fff 55%,transparent);align-self:stretch}
.pd-footer-app-social--centered .pd-footer-app,.pd-footer-app-social--centered .pd-footer-social{text-align:center;flex:0 1 auto}
.pd-footer-store-btn{display:inline-flex;align-items:center;gap:.55rem;padding:.5rem .85rem;border-radius:.65rem;background:#0f172a;color:#fff!important;text-decoration:none;font-size:.78rem;line-height:1.15;min-width:8.5rem;border:1px solid color-mix(in srgb,#fff 12%,#0f172a);transition:transform .15s ease,box-shadow .15s ease}
.pd-footer-store-btn__logo{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;font-size:1.5rem;line-height:1}
.pd-footer-store-btn--apple .pd-footer-store-btn__logo{font-size:1.65rem}
.pd-footer-store-btn--google .pd-footer-store-btn__logo{font-size:1.45rem}
.pd-footer-store-btn__text{display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.pd-footer-store-btn__text small{font-size:.62rem;opacity:.85;line-height:1.1}
.pd-footer-store-btn:hover{color:#fff!important;transform:translateY(-1px);box-shadow:0 .35rem 1rem rgba(0,0,0,.2)}
.pd-footer-store-btn i{font-size:1.35rem}
.pd-footer-store-btn strong{font-size:.82rem;font-weight:700}
.pd-footer-social__icons{display:flex;flex-wrap:wrap;gap:.45rem}
.pd-footer-social__link{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:999px;background:color-mix(in srgb,var(--pd-text) 8%,var(--pd-card));color:var(--pd-text);text-decoration:none;transition:background .15s,color .15s,transform .15s}
.pd-footer-social__link:hover{background:var(--pd-primary);color:#fff;transform:translateY(-1px)}
.pd-estore-footer .pd-footer-store-btn{background:color-mix(in srgb,#000 35%,transparent);border-color:color-mix(in srgb,#fff 18%,transparent)}
.pd-shop-notice-banner{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;gap:.75rem 1.25rem;padding:1.15rem 1.35rem 1.2rem;border-radius:calc(var(--pd-radius) * 1.25);background:linear-gradient(135deg,var(--pd-notice-grad-start,#1e3a8a),var(--pd-notice-grad-end,#3b82f6));color:#fff;box-shadow:var(--pd-shadow);overflow:hidden}
.pd-shop-notice-banner--cta-left{grid-template-columns:auto 1fr}
.pd-shop-notice-banner__logo{position:absolute;top:.85rem;right:1rem;max-height:42px;width:auto;max-width:min(42%,10rem);object-fit:contain;z-index:2}
.pd-shop-notice-banner__logo--fallback{top:.65rem;right:.85rem}
.pd-shop-notice-banner__body{grid-column:1/-1;padding-right:5.5rem}
.pd-shop-notice-banner--cta-left .pd-shop-notice-banner__body{grid-column:2;padding-right:0}
.pd-shop-notice-banner__title{margin:0 0 .5rem;font-size:1.05rem;font-weight:800;color:var(--pd-notice-title-color,#fff)}
.pd-shop-notice-banner__text{font-size:.9rem;line-height:1.45;color:var(--pd-notice-text-color,color-mix(in srgb,#fff 92%,transparent))}
.pd-shop-notice-banner__text a{color:inherit;text-decoration:underline}
.pd-shop-notice-banner__image{max-height:120px;width:auto;border-radius:.5rem;margin-bottom:.65rem}
.pd-shop-notice-banner__cta{display:flex;align-items:flex-end;grid-column:2;grid-row:2;justify-self:end;align-self:end}
.pd-shop-notice-banner--cta-left .pd-shop-notice-banner__cta{grid-column:1;grid-row:2;justify-self:start}
.pd-shop-notice-banner__btn{display:inline-flex;align-items:center;padding:.5rem 1.15rem;border-radius:999px;font-weight:700;font-size:.88rem;text-decoration:none;color:var(--pd-primary)!important;border:2px solid transparent}
.pd-estore-footer .pd-footer-social__link{background:color-mix(in srgb,#fff 14%,transparent);color:#fff!important}
.pd-estore-footer .pd-footer-social__link i,.pd-estore-footer .pd-footer-social__link .bi{color:#fff!important}
.pd-estore-footer .pd-footer-social__link:hover,.pd-estore-footer .pd-footer-social__link:focus-visible{background:color-mix(in srgb,#fff 24%,var(--pd-primary))!important;color:#fff!important;transform:translateY(-1px)}
.pd-estore-footer .pd-footer-social__link:hover i,.pd-estore-footer .pd-footer-social__link:focus-visible i,.pd-estore-footer .pd-footer-social__link:hover i::before,.pd-estore-footer .pd-footer-social__link:focus-visible i::before{color:#fff!important}
.pd-estore-footer .pd-footer-social__link:hover .fab,.pd-estore-footer .pd-footer-social__link:hover .fas,.pd-estore-footer .pd-footer-social__link:hover .bi,.pd-estore-footer .pd-footer-social__link:focus-visible .fab,.pd-estore-footer .pd-footer-social__link:focus-visible .fas,.pd-estore-footer .pd-footer-social__link:focus-visible .bi{color:#fff!important}
body.pd-body .pd-estore-footer .pd-footer-social__link{color:#fff!important}
body.pd-body .pd-estore-footer .pd-footer-social__link:hover,body.pd-body .pd-estore-footer .pd-footer-social__link:focus-visible{color:#fff!important}
body.pd-body .pd-estore-footer .pd-footer-social__link:hover i,body.pd-body .pd-estore-footer .pd-footer-social__link:focus-visible i,body.pd-body .pd-estore-footer .pd-footer-social__link:hover i::before,body.pd-body .pd-estore-footer .pd-footer-social__link:focus-visible i::before{color:#fff!important}

