/* =========================================================
   Mycosoft©LogData – Produktseite (Basic)
   Ruhig, sachlich, an Microsoft 365 angelehnt
   ========================================================= */

:root{
    --ld-accent:#0d6efd;
    --ld-ink:#111827;
    --ld-muted:#6b7280;
    --ld-border:#e5e7eb;
    --ld-card:#ffffff;
    --ld-radius:18px;
    --ld-shadow:0 10px 30px rgba(15,23,42,.06);
}

/* Grundlayout
   --------------------------------------------------------- */

.product-page{
    background:#f3f4f6;
}

.product-section{
    padding:3rem 0;
}

.product-section-soft{
    background:#fefaf5; /* leicht warmer Ton wie bei Microsoft */
}

.product-section-soft .container{
    position:relative;
}

/* Abschnitt-Header */

.product-section-header{
    max-width:48rem;
    margin:0 auto 1.75rem;
    text-align:left;
}

.product-section-header h2{
    font-size:1.6rem;
    font-weight:700;
    color:var(--ld-ink);
    margin-bottom:.4rem;
}

.product-section-intro{
    font-size:.98rem;
    line-height:1.6;
    color:var(--ld-muted);
}

/* Hero-Bereich
   --------------------------------------------------------- */

.product-hero{
    background:#f9fafb;
    border-top:1px solid #e5e7eb;
    border-bottom:1px solid #e5e7eb;
    padding:3.5rem 0 3rem;
}

.product-hero-copy{
    max-width:40rem;
}

.product-kicker{
    display:inline-block;
    font-size:.8rem;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.18em;
    color:rgba(15,23,42,.6);
    margin-bottom:.75rem;
}

.product-hero-title{
    font-size:2rem;
    line-height:1.2;
    font-weight:750;
    letter-spacing:.01em;
    color:var(--ld-ink);
    margin-bottom:1rem;
}

@media (min-width:1200px){
    .product-hero-title{font-size:2.2rem;}
}

.product-hero-text{
    font-size:.98rem;
    line-height:1.6;
    color:#4b5563;
}

/* Meta-Leiste unter dem Text */

.product-meta-row{
    display:flex;
    flex-wrap:wrap;
    gap:1rem 2rem;
    margin-top:1.5rem;
    padding:.9rem 1.1rem;
    border-radius:999px;
    background:#ffffff;
    border:1px solid rgba(148,163,184,.45);
}

.product-meta-item{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.product-meta-label{
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.16em;
    color:#9ca3af;
}

.product-meta-value{
    font-size:.9rem;
    font-weight:500;
    color:#111827;
    white-space:nowrap;
}

/* Link unter Buttons */

.product-link-muted{
    font-size:.86rem;
    color:var(--ld-muted);
    text-decoration:none;
}

.product-link-muted:hover{
    color:#111827;
    text-decoration:underline;
}

/* Hero – rechte Karte (Pricing)
   --------------------------------------------------------- */

.product-hero-media{
    display:flex;
    justify-content:flex-end;
}

.product-hero-card{
    background:var(--ld-card);
    border-radius:24px;
    border:1px solid rgba(148,163,184,.35);
    box-shadow:var(--ld-shadow);
    max-width:380px;
    width:100%;
    margin-left:auto;
    overflow:hidden;
    display:flex;
    flex-direction:column;
}

.product-hero-card-body{
    padding:1.6rem 1.6rem 1.4rem;
}

.product-plan-label{
    font-size:.78rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#9ca3af;
}

.product-plan-title{
    font-size:1.15rem;
    font-weight:650;
    color:var(--ld-ink);
    margin:0 0 .9rem;
}

.product-price-line{
    display:flex;
    align-items:baseline;
    gap:.4rem;
    margin-bottom:.9rem;
}

.product-price-main{
    font-size:1.9rem;
    font-weight:750;
    color:#111827;
}

.product-price-sub{
    font-size:.9rem;
    color:var(--ld-muted);
}

.product-plan-list{
    margin-bottom:1rem;
}

/* Screenshot unten in der Karte */

.product-hero-thumb{
    border-top:1px solid rgba(148,163,184,.3);
    background:#0b1220;
    padding:.9rem .9rem 1rem;
}

.product-hero-thumb figure{
    margin:0;
}

.product-hero-thumb img{
    width:100%;
    height:auto;
    display:block;
    object-fit:cover;
    border-radius:14px;
    aspect-ratio:16/9;
    cursor:zoom-in;
}

@media (max-width:991.98px){
    .product-hero-card{
        margin-top:1.75rem;
        margin-left:0;
    }
}

/* Vertrauenszeile (unter Hero)
   --------------------------------------------------------- */

.product-trust-row{
    margin-top:2.5rem;
    padding:1rem 1.25rem;
    border-radius:999px;
    background:rgba(255,255,255,.95);
    border:1px solid rgba(148,163,184,.45);
    display:flex;
    flex-wrap:wrap;
    gap:1rem 2rem;
}

.product-trust-item{
    display:flex;
    flex-direction:column;
}

.product-trust-label{
    font-size:.75rem;
    text-transform:uppercase;
    letter-spacing:.14em;
    color:#9ca3af;
}

.product-trust-text{
    font-size:.9rem;
    color:#111827;
    font-weight:500;
}

@media (max-width:767.98px){
    .product-trust-row{
        border-radius:18px;
    }
}

/* Standard-Abschnitte & Typo
   --------------------------------------------------------- */

.ld-section{
    margin-top:3rem;
}

.ld-lead{
    color:#374151;
}

/* Karten allgemein
   --------------------------------------------------------- */

.ld-card{
    background:var(--ld-card);
    border:1px solid var(--ld-border);
    border-radius:var(--ld-radius);
    overflow:hidden;
    box-shadow:var(--ld-shadow);
}

.ld-card figure{
    margin:0;
    background:#0b1220;
}

.ld-card img{
    width:100%;
    height:auto;
    display:block;
    object-fit:cover;
    aspect-ratio:16/9;
    cursor:zoom-in;
}

.ld-body{
    padding:1.1rem 1.25rem;
}

.ld-title{
    font-weight:700;
    font-size:1.05rem;
    margin:0 0 .25rem;
    color:var(--ld-ink);
}

.ld-caption{
    font-size:.92rem;
    color:var(--ld-muted);
    margin:0;
}

.ld-text{
    margin-top:.5rem;
}

/* Nummern-Badge + Kicker */

.ld-kicker{
    display:flex;
    align-items:center;
    gap:.6rem;
    color:var(--ld-muted);
    font-size:.9rem;
}

.ld-nr{
    width:28px;
    height:28px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:var(--ld-accent);
    color:#fff;
    font-weight:700;
    font-size:.9rem;
    box-shadow:0 6px 14px rgba(13,110,253,.25);
}

/* Feature-Kacheln
   --------------------------------------------------------- */

.ld-feature{
    border:1px solid var(--ld-border);
    border-radius:var(--ld-radius);
    padding:1.25rem;
    height:100%;
    box-shadow:var(--ld-shadow);
    background:#ffffff;
}

.ld-feature h4{
    font-weight:700;
    margin:0 0 .25rem;
    color:var(--ld-ink);
}

.ld-feature p{
    margin:0;
    color:var(--ld-muted);
    font-size:.93rem;
}

/* Systemanforderungen / Panel-Karten
   --------------------------------------------------------- */

.ld-panel{
    border-radius:22px;
    border:1px solid var(--ld-border);
    background:#ffffff;
    box-shadow:var(--ld-shadow);
    padding:1.6rem 1.7rem 1.5rem;
}

/* Vorteile-Liste */

.ld-benefits .list-group-item{
    border:none;
    border-bottom:1px solid var(--ld-border);
    padding:.65rem .2rem;
    background:transparent;
    font-size:.95rem;
    color:var(--ld-ink);
}

.ld-benefits .list-group-item:last-child{
    border-bottom:0;
}

/* Systemanforderungen-Tabelle */

.ld-spec-table{
    border-collapse:separate;
    border-spacing:0;
    width:100%;
    font-size:.95rem;
}

.ld-spec-table thead tr{
    background:linear-gradient(135deg,#f3f4f6 0,#e5e7eb 100%);
}

.ld-spec-table thead th{
    border-bottom:1px solid var(--ld-border);
    padding:.75rem .9rem;
    font-weight:600;
}

.ld-spec-table tbody td{
    border-bottom:1px solid var(--ld-border);
    padding:.65rem .9rem;
}

.ld-spec-table tbody tr:last-child td{
    border-bottom:none;
}

/* Semantische Listen (statt "•")
   --------------------------------------------------------- */

.ld-list{
    list-style:none;
    padding-left:0;
    margin:0 0 1rem;
}

.ld-list li{
    position:relative;
    padding-left:1.25rem;
    margin:.35rem 0;
    font-size:.94rem;
    line-height:1.45;
    color:var(--ld-ink);
}

.ld-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:.55em;
    width:.55rem;
    height:.55rem;
    border-radius:50%;
    background:var(--ld-accent);
}

/* Buttons – ruhig, pillenförmig
   --------------------------------------------------------- */

.product-page .axil-button.btn-large.btn-primary-outline{
    border-radius:999px;
    padding:.75rem 1.6rem;
    border:1px solid #111827;
    background:#ffffff;
    color:#111827;
    font-weight:600;
    font-size:.95rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.35rem;
    text-decoration:none;
    transition:background .18s ease,color .18s ease,
              box-shadow .18s ease,transform .18s ease,
              border-color .18s ease;
}

.product-page .axil-button.btn-large.btn-primary-outline:hover{
    background:#111827;
    color:#ffffff;
    border-color:#111827;
    box-shadow:0 14px 28px rgba(15,23,42,.18);
    transform:translateY(-1px);
}

.product-hero-card .btn.btn-dark{
    border-radius:999px;
    border:none;
    background-color:#111827;
    padding:.75rem 1.25rem;
    font-weight:600;
    font-size:.95rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:background .18s ease,box-shadow .18s ease,transform .18s ease;
}

.product-hero-card .btn.btn-dark:hover{
    background-color:#020617;
    box-shadow:0 14px 30px rgba(15,23,42,.25);
    transform:translateY(-1px);
}

/* Standard-Buttons leicht abrunden auf der Seite */

.product-page .btn{
    border-radius:999px;
}

@media (max-width:576px){
    .product-page .btn,
    .product-page .axil-button{
        padding:.6rem 1rem;
    }
}

/* Gallery – große Karte + Stepper (à la Microsoft)
   --------------------------------------------------------- */

.product-gallery-section{
    background:#fefaf5;
    border-radius:24px;
    padding-top:2.5rem;
    padding-bottom:2.5rem;
}

.product-gallery-main{
    background:var(--ld-card);
    border-radius:22px;
    box-shadow:var(--ld-shadow);
    padding:1.75rem 1.9rem;
    display:grid;
    grid-template-columns:minmax(0,1.6fr) minmax(0,1.3fr);
    gap:1.75rem;
    align-items:center;
}

/* Wir nutzen display:contents, damit die aktive Slide
   das Grid-Layout "übernimmt" */

.product-gallery-slide{
    display:none;
    grid-template-columns:inherit;
    gap:inherit;
    align-items:inherit;
}

.product-gallery-slide.is-active{
    display:contents;
}

.product-gallery-image figure{
    margin:0;
    background:#0b1220;
    border-radius:18px;
    overflow:hidden;
}

.product-gallery-image img{
    width:100%;
    height:auto;
    display:block;
    object-fit:cover;
    aspect-ratio:16 / 9;
    cursor:zoom-in;
}

.product-gallery-copy{
    max-width:480px;
}

.product-gallery-copy .ld-title{
    font-size:1.1rem;
    margin-bottom:.35rem;
}

.product-gallery-copy .ld-caption{
    font-size:.95rem;
}

/* Stepper / „Thumbnails“ unten */

.product-gallery-thumbs{
    display:flex;
    flex-wrap:nowrap;
    gap:.75rem;
    margin-top:1.5rem;
    padding-top:.75rem;
    border-top:1px solid var(--ld-border);
    overflow-x:auto;
    scrollbar-width:thin;
}

.product-gallery-thumb{
    border:1px solid transparent;
    border-radius:999px;
    padding:.4rem .85rem;
    background:#f3f4f6;
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    font-size:.85rem;
    color:var(--ld-muted);
    white-space:nowrap;
    cursor:pointer;
    transition:background .16s ease,border-color .16s ease,
               color .16s ease,box-shadow .16s ease,
               transform .16s ease;
}

.product-gallery-thumb-nr{
    width:22px;
    height:22px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--ld-accent);
    color:#fff;
    font-weight:700;
    font-size:.8rem;
}

.product-gallery-thumb-text{
    font-weight:500;
}

.product-gallery-thumb.is-active{
    background:#ffffff;
    border-color:#111827;
    color:#111827;
    box-shadow:0 8px 20px rgba(15,23,42,.12);
    transform:translateY(-1px);
}

.product-gallery-thumbs::-webkit-scrollbar{
    height:4px;
}

.product-gallery-thumbs::-webkit-scrollbar-thumb{
    background:#d1d5db;
    border-radius:999px;
}

@media (max-width:991.98px){
    .product-gallery-main{
        grid-template-columns:minmax(0,1fr);
        padding:1.5rem 1.2rem;
    }
    .product-gallery-copy{
        order:-1; /* Text über Bild auf kleineren Screens */
    }
}

@media (max-width:575.98px){
    .product-gallery-section{
        border-radius:0;
        padding-inline:.5rem;
    }
    .product-gallery-main{
        border-radius:18px;
    }
    .product-gallery-thumb-text{
        display:none; /* auf sehr klein nur Nummern */
    }
}

/* Lightbox
   --------------------------------------------------------- */

.ld-lightbox{
    position:fixed;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    z-index:1055;
    padding:2rem;
    background:rgba(0,0,0,.86);
}

.ld-lightbox.open{display:flex;}
.ld-lightbox:focus{outline:0;}

.ld-lb-inner{
    max-width:min(96vw,1400px);
    max-height:88vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.75rem;
}

.ld-lb-img{
    max-width:100%;
    max-height:82vh;
    border-radius:12px;
    box-shadow:0 20px 60px rgba(0,0,0,.45);
}

.ld-lb-cap{
    color:#fff;
    opacity:.9;
    text-align:center;
    font-size:.98rem;
}

.ld-lb-close,
.ld-lb-prev,
.ld-lb-next{
    position:absolute;
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.28);
    background:rgba(255,255,255,.12);
    color:#fff;
    cursor:pointer;
    backdrop-filter:blur(2px);
}

.ld-lb-close{
    top:18px;
    right:18px;
}

.ld-lb-prev{
    left:16px;
    top:50%;
    transform:translateY(-50%);
}

.ld-lb-next{
    right:16px;
    top:50%;
    transform:translateY(-50%);
}

.ld-lb-btn-icon{
    font-size:20px;
    line-height:1;
}

@media (max-width:576px){
    .ld-lightbox{padding:1rem;}
    .ld-lb-prev,
    .ld-lb-next{display:none;}
}