/* ============================================================================
 * CYP Trading – Modernes Frontend für /produkte/, /brand-description/,
 * /article-description/.  Gestaltet nach der CI (CYP-Rot #ef4123, Quicksand).
 * Lädt NACH template-style.css und überschreibt gezielt die alten Regeln.
 * Maintainer: HKN Webdesign – 2026-06-30
 * Alles unter .cyp-modern gescoped, damit das restliche Phlox-Theme unberührt
 * bleibt.  Rollback = diese Datei entfernen + Templates aus Backup zurück.
 * ========================================================================== */

:root{
    --cyp-red:#ef4123;
    --cyp-red-600:#d6371b;
    --cyp-red-50:#fdeceA;
    --cyp-red-tint:#fff4f1;
    --cyp-blue:#2C87FF;
    --cyp-ink:#14161a;
    --cyp-text:#2a2f37;
    --cyp-muted:#6b7280;
    --cyp-bg:#f5f6f8;
    --cyp-card:#ffffff;
    --cyp-border:#e6e8ec;
    --cyp-border-strong:#d3d7de;
    --cyp-radius:14px;
    --cyp-radius-sm:10px;
    --cyp-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.06);
    --cyp-shadow-hover:0 2px 6px rgba(16,24,40,.08),0 14px 34px rgba(16,24,40,.12);
}

/* ---- Grundlayout / Reset im Scope -------------------------------------- */
.cyp-modern,
.section.design.cyp-modern{          /* 2 Klassen: schlägt .section.design{center} */
    max-width:1180px;
    margin:0 auto;
    padding:38px 22px 60px;
    text-align:left;
    color:var(--cyp-text);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}
.cyp-modern *{box-sizing:border-box;}
.cyp-modern a{color:var(--cyp-red);text-decoration:none;transition:color .15s ease;}
.cyp-modern a:hover{color:var(--cyp-red-600);}

.cyp-modern h1,.cyp-modern h2,.cyp-modern h3{
    font-family:"Quicksand",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    color:var(--cyp-ink);
    text-align:left;
    padding:0;
    margin:0;
    font-weight:600;
    border:0;
}

/* Schmaler roter Akzentbalken als Section-Marker */
.cyp-eyebrow{
    display:inline-flex;align-items:center;gap:9px;
    font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
    color:var(--cyp-red);margin-bottom:14px;
}
.cyp-eyebrow::before{content:"";width:26px;height:3px;border-radius:3px;background:var(--cyp-red);}

/* ---- Karten ------------------------------------------------------------- */
.cyp-card{
    background:var(--cyp-card);
    border:1px solid var(--cyp-border);
    border-radius:var(--cyp-radius);
    box-shadow:var(--cyp-shadow);
    padding:26px 28px;
}
.cyp-card + .cyp-card{margin-top:22px;}

/* ============================ /produkte/ ================================= */
.cyp-search{
    display:flex;gap:10px;flex-wrap:wrap;
    margin:0 0 22px;
}
.cyp-search input[type="text"],
.cyp-modern input.txt1{
    flex:1 1 320px;
    min-width:0;max-width:none;
    height:54px;
    font-size:16px;color:var(--cyp-ink);
    padding:0 18px;
    border:1.5px solid var(--cyp-border-strong);
    border-radius:var(--cyp-radius-sm);
    background:#fff;
    transition:border-color .15s ease,box-shadow .15s ease;
}
.cyp-search input[type="text"]:focus,
.cyp-modern input.txt1:focus{
    outline:none;
    border-color:var(--cyp-red);
    box-shadow:0 0 0 4px var(--cyp-red-tint);
}
.cyp-modern .cyp-btn,
.cyp-modern button.button1{
    height:54px;
    padding:0 30px;
    font-size:16px;font-weight:600;
    color:#fff;background:var(--cyp-red);
    border:0;border-radius:var(--cyp-radius-sm);
    cursor:pointer;
    transition:background .15s ease,transform .05s ease;
}
.cyp-modern .cyp-btn:hover,
.cyp-modern button.button1:hover{background:var(--cyp-red-600);}
.cyp-modern .cyp-btn:active,
.cyp-modern button.button1:active{transform:translateY(1px);}

/* A–Z Leiste als Chips */
.cyp-modern .alphabets,
.cyp-alpha{
    display:flex;flex-wrap:wrap;gap:7px;
    background:none;background-image:none;opacity:1;
    padding:0;margin:0 0 26px;text-align:left;
}
.cyp-modern .alphabets a,
.cyp-alpha a{
    display:inline-flex;align-items:center;justify-content:center;
    width:38px;height:38px;margin:0;
    font-size:15px;font-weight:600;text-transform:uppercase;
    color:var(--cyp-text);
    background:#fff;border:1px solid var(--cyp-border);
    border-radius:9px;
    transition:all .15s ease;
}
.cyp-modern .alphabets a:hover,
.cyp-alpha a:hover{
    color:#fff;background:var(--cyp-red);border-color:var(--cyp-red);
    text-decoration:none;
}
/* Desktop: alle 26 Buchstaben garantiert in EINER Zeile (26-Spalten-Grid) */
@media (min-width:783px){
    .cyp-modern .alphabets,
    .cyp-alpha{
        display:grid;
        grid-template-columns:repeat(26,1fr);
        gap:6px;
    }
    .cyp-modern .alphabets a,
    .cyp-alpha a{width:auto;}
}

/* Marken-Raster */
.cyp-modern .brand,
.cyp-brands{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:12px;
    width:100%;padding:0;
}
.cyp-modern .brand a,
.cyp-brands a{
    display:flex;align-items:center;
    text-align:left;
    min-height:58px;
    padding:12px 16px;
    font-size:16px;font-weight:600;color:var(--cyp-ink);
    background:#fff;border:1px solid var(--cyp-border);
    border-radius:var(--cyp-radius-sm);
    box-shadow:var(--cyp-shadow);
    transition:all .15s ease;
}
.cyp-modern .brand a::after{
    content:"›";margin-left:auto;color:var(--cyp-red);
    font-size:22px;line-height:1;opacity:0;transform:translateX(-4px);
    transition:all .15s ease;
}
.cyp-modern .brand a:hover,
.cyp-brands a:hover{
    color:var(--cyp-red);
    border-color:var(--cyp-red);
    box-shadow:var(--cyp-shadow-hover);
    transform:translateY(-2px);
    text-decoration:none;
}
.cyp-modern .brand a:hover::after{opacity:1;transform:translateX(0);}
.cyp-brands-empty{
    padding:40px;text-align:center;color:var(--cyp-muted);
    background:#fff;border:1px dashed var(--cyp-border-strong);
    border-radius:var(--cyp-radius);
}

/* Pagination */
.cyp-modern .arrows,
.cyp-pager{
    display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;
    background:none;border-radius:0;overflow:visible;
    margin:34px 0 0;padding:0;
}
.cyp-modern .arrows a,
.cyp-pager a,.cyp-pager span{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:42px;height:42px;padding:0 12px;
    font-size:15px;font-weight:600;
    color:var(--cyp-text);background:#fff;
    border:1px solid var(--cyp-border);border-radius:9px;
}
.cyp-modern .arrows a:hover,
.cyp-pager a:hover{
    color:#fff;background:var(--cyp-red);border-color:var(--cyp-red);
    text-decoration:none;
}
.cyp-pager .is-active{
    color:#fff;background:var(--cyp-red);border-color:var(--cyp-red);cursor:default;
}
.cyp-pager .is-gap{border:0;background:none;min-width:18px;color:var(--cyp-muted);}

/* ======================= /brand-description/ ============================ */
.cyp-brand-head{margin-bottom:26px;}
.cyp-brand-head h1{font-size:30px;line-height:1.2;}
.cyp-brand-head .cyp-country{
    display:inline-block;margin-left:10px;padding:4px 12px;
    font-size:14px;font-weight:600;font-family:inherit;
    color:var(--cyp-red);background:var(--cyp-red-tint);
    border-radius:999px;vertical-align:middle;
}

/* Lange Artikelnummern-Liste (brand_desc) – lesbare, scrollbare Box */
.cyp-modern .about,
.cyp-numbers{
    margin:0;max-width:none;
    max-height:230px;overflow:auto;
    padding:18px 20px;
    font-size:14px;line-height:1.9;color:var(--cyp-text);
    background:var(--cyp-bg);
    border:1px solid var(--cyp-border);
    border-radius:var(--cyp-radius-sm);
    word-break:break-word;
}
.cyp-numbers::-webkit-scrollbar{width:10px;}
.cyp-numbers::-webkit-scrollbar-thumb{background:var(--cyp-border-strong);border-radius:6px;}

/* Intro-/Verkaufstext */
.cyp-modern .article{
    background:none;background-image:none;opacity:1;
    border-radius:0;
}
.cyp-modern .article p{
    width:auto;padding:0;margin:0 0 14px;
    color:var(--cyp-text);font-size:16px;line-height:1.7;
}
.cyp-modern .article p:last-child{margin-bottom:0;}
/* CFS-Felder bringen Inline-Farben (helles Beige) mit – auf weisser Karte
 * unlesbar. Mit !important die Inline-Styles ueberschreiben. */
.cyp-modern .article a,
.cyp-modern .new_sec a,
.cyp-modern .contact-line a{
    color:var(--cyp-red)!important;font-weight:600;
    text-decoration:underline;word-break:break-word;
}
.cyp-modern .article a:hover,
.cyp-modern .new_sec a:hover,
.cyp-modern .contact-line a:hover{color:var(--cyp-red-600)!important;}
/* Feste width:1100px aus dem Inline-Head-Style aufheben -> responsiv */
.cyp-modern .new_sec{width:auto!important;max-width:100%;margin:18px 0 0;}
.cyp-modern .contact-line{margin:0;color:var(--cyp-text);}
.cyp-modern .new_sec h1{font-size:24px;line-height:1.3;margin-bottom:14px;}
.cyp-modern .new_sec p{margin:0 0 12px;color:var(--cyp-text);}
.cyp-modern .new_sec p:last-child{margin-bottom:0;}
.cyp-modern .new_sec span[style]{color:var(--cyp-red)!important;font-weight:700;}
.cyp-brand-highlight,.cyp-modern .brand-highlight{color:var(--cyp-red);font-weight:700;}
.cyp-disclaimer{
    font-size:13.5px;color:var(--cyp-muted);
    border-left:3px solid var(--cyp-border-strong);
    padding:4px 0 4px 14px;margin-top:8px;
}

/* DataTables – Artikeltabelle modern */
.cyp-modern .mytables{padding:0;max-width:100%;}
.cyp-modern .dataTables_wrapper{
    margin-top:6px;max-width:100%;
    overflow-x:auto;-webkit-overflow-scrolling:touch;
}
.cyp-modern .dataTables_filter input,
.cyp-modern .dataTables_length select{
    border:1.5px solid var(--cyp-border-strong);border-radius:8px;
    height:40px;padding:0 12px;font-size:14px;color:var(--cyp-ink);
}
.cyp-modern .dataTables_filter input:focus,
.cyp-modern .dataTables_length select:focus{
    outline:none;border-color:var(--cyp-red);box-shadow:0 0 0 4px var(--cyp-red-tint);
}
.cyp-modern table#dtables{
    width:100%!important;border-collapse:separate;border-spacing:0;
    table-layout:fixed;                 /* gleichmaessige Spalten -> Inhalt bricht um */
    background:#fff;border:1px solid var(--cyp-border);
    border-radius:var(--cyp-radius);overflow:hidden;font-size:15px;
    margin-top:14px!important;
}
.cyp-modern table#dtables thead th{
    background:var(--cyp-ink);color:#fff;
    font-family:"Quicksand",sans-serif;font-weight:600;font-size:14px;
    text-align:left;padding:14px 18px;border:0;
    white-space:normal;word-break:break-word;
}
.cyp-modern table#dtables tbody td{
    padding:13px 18px;border:0;border-top:1px solid var(--cyp-border);
    color:var(--cyp-text);vertical-align:middle;
    white-space:normal;word-break:break-word;overflow-wrap:anywhere;
}
.cyp-modern table#dtables tbody tr:nth-child(odd) td{background:#fafbfc;}
.cyp-modern table#dtables tbody tr:hover td{background:var(--cyp-red-tint);}
.cyp-modern table#dtables tbody td a{font-weight:600;color:var(--cyp-red);}
.cyp-modern table#dtables tbody td a:hover{text-decoration:underline;}
.cyp-modern .dataTables_paginate .paginate_button{
    padding:7px 13px!important;margin:0 2px;border-radius:8px!important;
    border:1px solid var(--cyp-border)!important;background:#fff!important;
    color:var(--cyp-text)!important;
}
.cyp-modern .dataTables_paginate .paginate_button.current{
    background:var(--cyp-red)!important;border-color:var(--cyp-red)!important;color:#fff!important;
}
.cyp-modern .dataTables_paginate .paginate_button:hover{
    background:var(--cyp-red)!important;border-color:var(--cyp-red)!important;color:#fff!important;
}
.cyp-modern .dataTables_info{color:var(--cyp-muted);font-size:14px;padding-top:14px;}

/* ====================== /article-description/ =========================== */
.cyp-article-head{margin-bottom:24px;}
.cyp-article-head .cyp-eyebrow{margin-bottom:10px;}
.cyp-article-head h1{font-size:30px;line-height:1.2;word-break:break-word;}
.cyp-modern .template.article-template-left{width:100%;margin:0;}

/* Spezifikations-Kacheln */
.cyp-spec{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
    gap:14px;margin:0;
}
.cyp-spec-item{
    display:flex;gap:14px;align-items:flex-start;
    padding:18px;
    background:#fafbfc;border:1px solid var(--cyp-border);
    border-radius:var(--cyp-radius-sm);
    transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.cyp-spec-item:hover{
    border-color:var(--cyp-border-strong);
    box-shadow:var(--cyp-shadow);transform:translateY(-2px);
}
.cyp-spec-item.is-primary{
    background:var(--cyp-red-tint);
    border-color:rgba(239,65,35,.25);
}
.cyp-spec-ico{
    flex:0 0 auto;width:44px;height:44px;
    display:grid;place-items:center;
    color:var(--cyp-red);background:#fff;
    border:1px solid rgba(239,65,35,.18);border-radius:11px;
}
.cyp-spec-item.is-primary .cyp-spec-ico{
    background:var(--cyp-red);color:#fff;border-color:var(--cyp-red);
}
.cyp-spec-ico svg{width:21px;height:21px;display:block;}
.cyp-spec-text{display:flex;flex-direction:column;gap:4px;min-width:0;}
.cyp-spec-label{
    color:var(--cyp-muted);font-size:12.5px;font-weight:700;
    text-transform:uppercase;letter-spacing:.04em;
}
.cyp-spec-value{
    color:var(--cyp-ink);font-size:17px;font-weight:600;line-height:1.35;
    word-break:break-word;overflow-wrap:anywhere;
}
.cyp-spec-item.is-primary .cyp-spec-value{color:var(--cyp-red-600);font-size:18px;}

/* Kontaktbereich */
.cyp-contact-head{margin:0 0 6px;}
.cyp-contact-head h2{font-size:21px;}
.cyp-contact-lead{color:var(--cyp-muted);margin:0 0 18px;font-size:15px;}
.cyp-modern .dis{margin-top:4px;}

/* ---- Responsive --------------------------------------------------------- */
@media (max-width:782px){
    .cyp-modern{padding:26px 16px 44px;}
    .cyp-card{padding:20px 18px;}
    .cyp-brand-head h1,.cyp-article-head h1{font-size:25px;}
    .cyp-modern .brand,.cyp-brands{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}
    .cyp-modern table#dtables{font-size:13px;}
    .cyp-modern table#dtables thead th{padding:11px 9px;font-size:12px;}
    .cyp-modern table#dtables tbody td{padding:11px 9px;}
}
@media (max-width:480px){
    .cyp-search input[type="text"],.cyp-modern input.txt1{flex-basis:100%;}
    .cyp-modern .cyp-btn,.cyp-modern button.button1{width:100%;}
    .cyp-modern .brand,.cyp-brands{grid-template-columns:1fr 1fr;}
    .cyp-modern .brand a,.cyp-brands a{min-height:52px;font-size:15px;padding:10px 12px;}
}
