/* ============================================================
   CozyTrendHub — main.css
   Consolidated <style> block from the CozyTrendHub design files
   (Home is the most complete) + class-based card/list/legal/form
   styles ported from Artikel, Kategorie, Vergleich, Kontakt,
   Suche and the legal pages.
   ============================================================ */

*{box-sizing:border-box}
:root{--paper:#fcf3ed;--paper2:#f7e8de;--paper3:#f0dbcc;--card:#fffaf5;--ink:#2c2023;--mut:rgba(44,32,35,.62);--mut2:rgba(44,32,35,.42);--line:rgba(44,32,35,.12);--accent:#a05c6e;--accent-d:#7f4456;--butter:#e2a65c;--butter-d:#c4883e;--terra:#9c6a4a;--sage:#7e9b7a;--blue:#6f8aa0}
html{scroll-behavior:smooth}
#mood,#edit,#finds,#newsletter,#about,#faq{scroll-margin-top:18px}
html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:'Nunito Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
::selection{background:rgba(160,92,110,.18)}
a{color:inherit;text-decoration:none}
input,button,textarea,select{font-family:inherit}
img{max-width:100%;height:auto}
summary::-webkit-details-marker{display:none}summary::marker{content:''}
.ct-d{font-family:'Quicksand',sans-serif}
.ct-script{font-family:'Caveat',cursive}
.ct-eye{font-family:'Caveat',cursive;font-size:22px;font-weight:700;color:var(--accent);line-height:1}

/* ---------- Scroll-Reveal ---------- */
[data-rv]{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}
[data-rv].in{opacity:1;transform:none}

/* ---------- Animated underline link ---------- */
.ct-link{position:relative}
.ct-link::after{content:'';position:absolute;left:0;right:100%;bottom:-3px;height:2px;border-radius:2px;background:var(--accent);transition:right .35s}
.ct-link:hover::after{right:0}

/* ---------- Buttons / cards / hovers ---------- */
.ct-btn{transition:transform .35s,box-shadow .35s}
.ct-btn:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(160,92,110,.26)}
.ct-card{transition:transform .5s cubic-bezier(.22,.61,.36,1),box-shadow .5s}
.ct-card:hover{transform:translateY(-7px);box-shadow:0 28px 56px rgba(44,32,35,.14)}
.ct-card:hover .ct-img{transform:scale(1.06)}
.ct-mood{transition:transform .5s cubic-bezier(.22,.61,.36,1),box-shadow .5s}
.ct-mood:hover{transform:translateY(-6px) rotate(-1deg);box-shadow:0 24px 48px rgba(44,32,35,.16)}
.ct-mood:hover .ct-img{transform:scale(1.08)}
.ct-find:hover .ct-img{transform:scale(1.06)}
.ct-bub{transition:transform .4s,box-shadow .4s}
.ct-bub:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(44,32,35,.1)}
.ct-img{transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.ct-pin{opacity:0;transform:translateY(-6px);transition:opacity .3s,transform .3s}
.ct-card:hover .ct-pin,.ct-mood:hover .ct-pin,.ct-pin:focus-visible{opacity:1;transform:none}
@media(hover:none){.ct-pin{opacity:1;transform:none}}

/* ---------- Keyframes ---------- */
@keyframes ctfloat{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-9px) rotate(var(--r,0deg))}}
@keyframes ctheart{0%{transform:translateY(0) scale(1);opacity:0}15%{opacity:1}100%{transform:translateY(-90px) scale(1.2);opacity:0}}
@keyframes ct4float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-12px) rotate(-5deg)}}

/* ---------- Image placeholder (replaces prototype image-slot) ---------- */
.ct-ph-img{display:block;width:100%;height:100%;background:linear-gradient(150deg,var(--paper3) 0%,var(--paper2) 52%,#e8c7b3 100%);position:relative}
.ct-ph-img::after{content:"CozyTrendHub";position:absolute;inset:0;display:grid;place-items:center;font-family:'Caveat',cursive;font-size:clamp(18px,3vw,28px);color:rgba(160,92,110,.4);letter-spacing:.01em}

/* ---------- Post card — CLASS-BASED (robust, independent of inline styles) ---------- */
.ct-postgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px;align-items:stretch}
@media(max-width:540px){.ct-postgrid{grid-template-columns:1fr;gap:18px}}
.ct-card{position:relative;display:flex;flex-direction:column;height:100%;border-radius:20px;overflow:hidden;background:var(--card);border:1px solid var(--line);box-shadow:0 14px 32px rgba(44,32,35,.06);color:inherit;text-decoration:none}
.ct-card__link{color:inherit;text-decoration:none}
.ct-card__link::after{content:"";position:absolute;inset:0;z-index:1}
.ct-card__media{position:relative;display:block;aspect-ratio:4/3;min-height:150px;overflow:hidden;background:var(--paper3)}
.ct-card__media>img,.ct-card__media .ct-img,.ct-card__media .ct-ph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ct-card__cat{position:absolute;left:12px;top:12px;z-index:3;padding:5px 11px;border-radius:999px;background:rgba(255,250,245,.92);color:var(--accent);font-size:10.5px;font-weight:800}
.ct-card__body{display:flex;flex-direction:column;flex:1;padding:17px 19px 19px}
.ct-card__title{margin:0;font-family:'Quicksand',sans-serif;font-size:18.5px;font-weight:700;line-height:1.2;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}
.ct-card__meta{display:flex;align-items:center;gap:9px;margin-top:auto;padding-top:11px;font-size:11.5px;font-weight:600;color:var(--mut)}
.ct-card__meta .ct-dot{opacity:.5}
/* Pinterest "Save" button overlay (class-based) */
.ct-pin--mini,.ct-pin--card{position:absolute;top:13px;right:13px;z-index:4;background:#e60023;color:#fff;box-shadow:0 8px 18px rgba(230,0,35,.4);cursor:pointer}
.ct-pin--mini{display:grid;place-items:center;width:32px;height:32px;border-radius:50%}
.ct-pin--card{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;font-size:11px;font-weight:800}

/* ---------- Article body (single / .ct-prose) ---------- */
.ct-prose>p{margin:0 0 20px;font-size:17px;line-height:1.85;color:rgba(44,32,35,.84)}
.ct-prose h2{font-family:'Quicksand',sans-serif;font-weight:700;font-size:clamp(23px,3vw,30px);letter-spacing:-.01em;margin:38px 0 14px;color:var(--ink)}
.ct-prose h3{font-family:'Quicksand',sans-serif;font-weight:700;font-size:clamp(19px,2.4vw,24px);margin:28px 0 10px;color:var(--ink)}
.ct-prose ul,.ct-prose ol{margin:0 0 20px;padding-left:22px}
.ct-prose li{font-size:17px;line-height:1.8;color:rgba(44,32,35,.84);margin:0 0 8px}
.ct-prose strong{font-weight:700;color:var(--ink)}
.ct-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(160,92,110,.45)}
.ct-prose img{border-radius:16px;margin:28px 0;box-shadow:0 18px 44px rgba(44,32,35,.12)}
.ct-prose blockquote{margin:26px 0;padding:18px 24px;border-left:3px solid var(--accent);font-family:'Quicksand',sans-serif;font-size:clamp(19px,2.4vw,21px);font-weight:700;line-height:1.4;color:var(--ink)}
.ct-prose blockquote p{margin:0;font-size:inherit;line-height:inherit;color:inherit;font-weight:inherit}

/* ---------- Comparison / ranking cards ---------- */
.ct-vrow{transition:transform .4s,box-shadow .4s}
.ct-vrow:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(44,32,35,.12)}
.ct-ctable{width:100%;border-collapse:collapse;min-width:560px;font-size:14px}
.ct-ctable td,.ct-ctable th{padding:14px 18px;text-align:left}
.ct-ctable tr{border-top:1px solid var(--line)}

/* ---------- Legal / reading pages ---------- */
.ct-legal h2{font-family:'Quicksand',sans-serif;font-weight:700;font-size:clamp(20px,3vw,24px);letter-spacing:-.01em;margin:32px 0 9px;color:var(--ink)}
.ct-legal h3{font-family:'Quicksand',sans-serif;font-weight:700;font-size:18px;margin:24px 0 8px;color:var(--ink)}
.ct-legal p{font-size:15px;line-height:1.75;color:var(--mut);margin:0 0 12px}
.ct-legal ul,.ct-legal ol{margin:0 0 14px;padding-left:22px;font-size:15px;line-height:1.75;color:var(--mut)}
.ct-legal strong{color:var(--ink);font-weight:700}
.ct-legal a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}

/* ---------- Form fields (contact) ---------- */
.ct-in{padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--card);font-size:15px;color:var(--ink);outline:none;width:100%;transition:border-color .3s}
.ct-in:focus{border-color:var(--accent)}

/* ---------- WP pagination ---------- */
.ct-pagination{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:50px;flex-wrap:wrap}
.ct-pagination .page-numbers{display:grid;place-items:center;min-width:44px;height:44px;padding:0 14px;border-radius:14px;border:1px solid var(--line);background:var(--card);font-family:'Quicksand',sans-serif;font-weight:700;font-size:15px;color:var(--ink);transition:border-color .3s,color .3s}
.ct-pagination .page-numbers:hover{border-color:var(--accent);color:var(--accent)}
.ct-pagination .page-numbers.current{border-color:transparent;background:var(--accent);color:#fff}
.ct-pagination .page-numbers.dots{border:none;background:transparent;color:var(--mut2)}

/* ---------- Comments ---------- */
.ct-comments{max-width:760px;margin:48px auto 0;padding:0 clamp(20px,5vw,40px)}
.ct-comments .comment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.ct-comments .comment-list ul.children{list-style:none;margin:14px 0 0 24px;padding-left:18px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:16px}
.ct-comment-body{padding:22px 24px;border-radius:18px;background:var(--card);border:1px solid var(--line);box-shadow:0 12px 30px rgba(44,32,35,.05)}
.ct-comments .comment-author{font-weight:700;color:var(--ink)}
.ct-comments .comment-meta{font-size:12px;color:var(--mut2);margin-bottom:8px}
.ct-comments p{font-size:14.5px;line-height:1.65;color:rgba(44,32,35,.78)}
.ct-comment-form input[type=text],.ct-comment-form input[type=email],.ct-comment-form input[type=url],.ct-comment-form textarea{width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:14.5px;outline:none;margin-bottom:14px;transition:border-color .3s}
.ct-comment-form input:focus,.ct-comment-form textarea:focus{border-color:var(--accent)}
.ct-comment-form .submit{padding:14px 30px;border:none;border-radius:14px;font-size:14.5px;font-weight:700;color:#fff;background:var(--accent);box-shadow:0 12px 28px rgba(160,92,110,.28);cursor:pointer;transition:transform .35s}
.ct-comment-form .submit:hover{transform:translateY(-2px)}

/* ---------- Affiliate box shortcode ---------- */
.ct-affbox{margin:32px 0;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--butter);border-radius:0 18px 18px 0;padding:22px 24px;box-shadow:0 14px 34px rgba(44,32,35,.07)}

/* ---------- Skip link (a11y) ---------- */
.ct-skip{position:absolute;left:-9999px;top:0;z-index:300;padding:12px 20px;background:var(--card);color:var(--ink);border-radius:0 0 14px 0}
.ct-skip:focus{left:0}

/* ---------- Responsive helpers ---------- */
@media(max-width:920px){.ct-hero{grid-template-columns:1fr!important}.ct-2col{grid-template-columns:1fr!important}.ct-edit{grid-template-columns:1fr!important}.ct-art{grid-template-columns:1fr!important}.ct-aside{position:static!important}}
@media(max-width:900px){.ct-mood-rail{grid-template-columns:repeat(2,1fr)!important}.ct-finds-grid{grid-template-columns:repeat(2,1fr)!important}.ct-notes-grid{grid-template-columns:1fr!important}}
@media(max-width:780px){.ct-rank-row{grid-template-columns:1fr!important}.ct-tablewrap{overflow-x:auto}}
@media(max-width:860px){.ct-fcols{grid-template-columns:1fr 1fr!important}}
@media(max-width:620px){.ct-nav-d{display:none!important}.ct-hide-sm{display:none!important}.ct-mood-rail{grid-template-columns:1fr!important}.ct-finds-grid{grid-template-columns:1fr!important}.ct-fcols{grid-template-columns:1fr!important}}

/* ---------- prefers-reduced-motion ---------- */
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto}[data-rv]{opacity:1;transform:none}}
