/*
Theme Name: Traum Child
Template: generatepress
Version: 1.1.0
Text Domain: traum-child
*/

@font-face{font-family:"Bricolage Grotesque";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/bricolage-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage Grotesque";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/bricolage-ext-700.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/source-sans-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/source-sans-ext-400.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-weight:400;font-style:italic;font-display:swap;src:url(fonts/source-sans-400i.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:600;font-style:normal;font-display:swap;src:url(fonts/source-sans-600.woff2) format("woff2")}

:root{
  --bg:#F5F6FA;--surface:#FFFFFF;--ink:#151B2E;--muted:#525A72;--line:#DFE2EC;
  --night:#0E1631;--night-2:#18234A;--accent:#2F55C8;--moon:#F0C24B;--tint:#E9EDF8;
  --font-display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --font-body:"Source Sans 3",ui-sans-serif,system-ui,sans-serif;
  --r-sm:6px;--r-md:10px;--wrap:1140px;--read:760px;
}

body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:1.7}
h1,h2,h3,h4,.main-title,.entry-title{font-family:var(--font-display);font-weight:700;color:var(--ink);line-height:1.12;letter-spacing:-0.01em}
h1,.entry-title{font-size:clamp(30px,4vw,44px)}
h2{font-size:clamp(24px,2.6vw,30px);margin-top:1.6em}
h3{font-size:21px;margin-top:1.4em}
a{color:var(--accent);text-decoration:none}
a:hover,a:focus{text-decoration:underline;text-underline-offset:3px}
::selection{background:var(--moon);color:var(--night)}

/* Header */
.site-header,.main-navigation,.main-navigation ul ul{background:var(--night)}
.inside-header{padding:18px 24px}
.main-title{font-size:24px;margin:0}
.main-title a,.main-title a:hover{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:10px}
.traum-logo-mark{width:26px;height:26px;flex:none}
.site-description{color:#AEB6D3}
.main-navigation .main-nav ul li a,.menu-toggle{color:#DCE1F2;font-size:16px}
.main-navigation .main-nav ul li:hover>a,.main-navigation .main-nav ul li.current-menu-item>a,.main-navigation .main-nav ul li[class*="current-menu-"]>a{color:#fff;background:transparent}
.main-navigation ul ul{border:1px solid var(--night-2);border-radius:0 0 var(--r-sm) var(--r-sm)}
.main-navigation .main-nav ul ul li a{color:#DCE1F2;font-size:15px;padding-top:9px;padding-bottom:9px}
.main-navigation .main-nav ul ul li:hover>a{background:var(--night-2);color:#fff}
.menu-toggle,.menu-toggle:hover,.menu-toggle:focus,.mobile-menu-control-wrapper .menu-toggle,.mobile-menu-control-wrapper .menu-toggle:hover,.mobile-menu-control-wrapper .menu-toggle:focus,.has-inline-mobile-toggle #site-navigation.toggled{background:transparent;color:#fff}
.menu-toggle .gp-icon svg{fill:#fff}
.main-navigation.toggled .main-nav>ul{background:var(--night)}
.main-navigation .menu-bar-items,.navigation-search input{color:#fff}

/* Containers */
.site-content{padding-top:0}
.one-container .site-content,.separate-containers .inside-article,.one-container .container{background:transparent}
.one-container .site-content{padding:40px 24px 56px}
.single .inside-article,.page .inside-article{max-width:var(--read);margin:0 auto}
.entry-content>*{max-width:var(--read)}
.entry-meta{color:var(--muted);font-size:15px}

/* Hero */
.traum-hero{background:var(--night);color:#DCE1F2;padding:72px 24px 80px;border-top:1px solid var(--night-2)}
.traum-hero__in{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:center}
.traum-hero h1{color:#fff;font-size:clamp(34px,5vw,56px);margin:0 0 14px;max-width:14ch}
.traum-hero p{margin:0 0 28px;max-width:48ch;font-size:19px;color:#C3CAE3}
.traum-search{display:flex;max-width:560px;background:#fff;border-radius:var(--r-sm);padding:6px}
.traum-search input[type=search]{flex:1;border:0;background:transparent;font:inherit;font-size:18px;color:var(--ink);padding:10px 12px;min-width:0}
.traum-search input[type=search]:focus{outline:none}
.traum-search:focus-within{box-shadow:0 0 0 3px rgba(240,194,75,.55)}
.traum-search button{border:0;border-radius:var(--r-sm);background:var(--moon);color:var(--night);font-family:var(--font-body);font-weight:600;font-size:17px;padding:10px 22px;cursor:pointer}
.traum-search button:hover{background:#F5CF6A}
.traum-hero__beliebt{margin-top:18px;font-size:15px;color:#AEB6D3}
.traum-hero__beliebt a{color:#fff;margin-right:14px}
.traum-hero__art{justify-self:end;width:100%;max-width:340px;color:var(--moon)}
.traum-hero__art svg{width:100%;height:auto;display:block}

/* Letter bar */
.traum-letters{display:grid;grid-template-columns:repeat(26,minmax(0,1fr));gap:6px;margin:0 0 8px}
.traum-letters a,.traum-letters span{display:grid;place-items:center;height:42px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-family:var(--font-display);font-size:17px;color:var(--ink)}
.traum-letters a:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}
.traum-letters span{color:#B3B8C8;background:transparent}

/* Home sections */
.traum-home{max-width:var(--wrap);margin:0 auto}
.traum-sec{padding:48px 0;border-bottom:1px solid var(--line)}
.traum-sec:last-child{border-bottom:0}
.traum-sec>h2{margin:0 0 20px}
.traum-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;list-style:none;margin:0;padding:0}
.traum-cats li{border-top:1px solid var(--line);padding:16px 0 18px;margin:0}
.traum-cats a{font-family:var(--font-display);font-size:20px;color:var(--ink)}
.traum-cats a:hover{color:var(--accent)}
.traum-cats p{margin:4px 0 0;font-size:15px;line-height:1.5;color:var(--muted)}
.traum-cats small{color:var(--muted);font-size:14px;margin-left:6px}
.traum-latest{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
.traum-latest li{border-top:1px solid var(--line);padding:14px 0;margin:0}
.traum-latest a{font-weight:600;font-size:18px}
.traum-latest p{margin:2px 0 0;font-size:15px;color:var(--muted);line-height:1.5}
.traum-empty{color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:var(--r-md);padding:22px 24px;margin:0}
.traum-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:40px}
.traum-intro h2{margin:0}
.traum-intro p{margin:0 0 1em;max-width:68ch}

/* Article components */
.featured-image img{border-radius:var(--r-md)}
.traum-kurz{background:var(--tint);border-left:4px solid var(--accent);border-radius:0;padding:18px 22px;margin:0 0 1.6em}
.traum-kurz__t{font-family:var(--font-display);font-weight:700;margin:0 0 4px}
.traum-kurz p:last-child{margin-bottom:0}
.entry-content ul,.entry-content ol{margin-left:1.2em}
.traum-faq h3{font-size:19px;margin:1.2em 0 .3em}
.rank-math-breadcrumb{font-size:14px;color:var(--muted);margin-bottom:10px}
.rank-math-breadcrumb a{color:var(--muted)}
.traum-related{max-width:var(--read);margin:40px auto 0;border-top:1px solid var(--line);padding-top:24px}
.traum-related h2{font-size:22px;margin:0 0 14px}
.traum-related ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.traum-related li{margin:0}
.traum-related a{display:inline-block;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);padding:6px 12px;font-size:16px}
.traum-ad{margin:2em 0;text-align:center;min-height:100px}
.traum-ad::before{content:"Anzeige";display:block;font-size:12px;color:var(--muted);margin-bottom:4px}

/* A-Z page */
.traum-az-nav{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 24px}
.traum-az-nav a,.traum-az-nav span{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-family:var(--font-display)}
.traum-az-nav span{color:#B3B8C8;background:transparent}
.traum-az-group{border-top:1px solid var(--line);padding-top:8px;scroll-margin-top:20px}
.traum-az-group h2{margin:.4em 0}
.traum-az-group ul{columns:3 200px;list-style:none;margin:0 0 1em;padding:0}
.traum-az-group li{margin:0 0 6px;break-inside:avoid}

/* Archives */
.archive .page-header,.search .page-header{max-width:var(--wrap);margin:0 auto 12px}
.archive .taxonomy-description{color:var(--muted);max-width:68ch}
.blog .inside-article,.archive .inside-article,.search .inside-article{max-width:var(--wrap);border-top:1px solid var(--line);padding:18px 0}
.archive .entry-title,.search .entry-title,.blog .entry-title{font-size:24px}

/* Buttons and forms */
button,input[type=submit],.button{background:var(--accent);color:#fff;border-radius:var(--r-sm)}
button:hover,input[type=submit]:hover,.button:hover{background:#2547AE;color:#fff}
input[type=search],input[type=text],input[type=email],textarea{border-radius:var(--r-sm);border-color:var(--line);background:#fff;color:var(--ink)}

/* Footer */
.site-footer,.site-info{background:var(--night);color:#AEB6D3}
.inside-site-info{padding:28px 24px;font-size:15px}
.site-info a{color:#DCE1F2}
.traum-foot{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center}

@media (max-width:900px){
  .traum-hero__in{grid-template-columns:minmax(0,1fr)}
  .traum-hero__art{display:none}
  .traum-cats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .traum-intro{grid-template-columns:minmax(0,1fr);gap:12px}
  .traum-letters{grid-template-columns:repeat(13,minmax(0,1fr))}
}
@media (max-width:600px){
  body{font-size:17px}
  .main-title{font-size:20px;white-space:nowrap}
  .traum-kurz{padding:14px 16px}
  .traum-hero{padding:44px 16px 52px}
  .traum-search button{padding:10px 14px}
  .traum-cats,.traum-latest{grid-template-columns:minmax(0,1fr)}
  .one-container .site-content{padding:28px 16px 40px}
  .traum-letters{grid-template-columns:repeat(7,minmax(0,1fr))}
  .traum-letters a,.traum-letters span{height:38px;font-size:15px}
}
