/* =====================================================================
   CartSoft Theme „Atelier“ – elegant, warm, ruhig
   Ergänzt das Basis-Stylesheet (wird danach geladen).
   Farben: Terrakotta #a4532c, Tinte #231d17, Sand #f7f3ec, Leinen #efe8dc
   Schriften: Atelier Serif (abgeleitet von Lora) + Inter (lokal, SIL OFL 1.1)
   ===================================================================== */
@font-face{font-family:"Atelier Serif";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/atelier-serif-500.woff) format("woff")}
@font-face{font-family:"Atelier Serif";font-style:normal;font-weight:600 700;font-display:swap;src:url(../fonts/atelier-serif-600.woff) format("woff")}
@font-face{font-family:"Atelier Serif";font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/atelier-serif-italic-500.woff) format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-400.woff) format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-500.woff) format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600 700;font-display:swap;src:url(../fonts/inter-600.woff) format("woff")}

:root{
  --primary:#a4532c;
  --primary-hover:#8c4422;
  --primary-ink:#8c4422;
  --primary-soft:#f6e9e1;
  --primary-soft-2:#faf4ef;
  --on-primary:#fff;
  --primary-deep:#6b3216;
  --primary-line:#e3c6b5;
  --primary-line-2:#ecdccf;
  --primary-glow:rgba(164,83,44,.25);
  --primary-ring:rgba(164,83,44,.18);
  --primary-tint:rgba(164,83,44,.10);
  --cart-btn:#231d17;
  --cart-btn-hover:#3a3129;
  --dark:#231d17;
  --black:#1a1511;
  --text:#5b5249;
  --text-strong:#2e2721;
  --muted:#6e645a;
  --line:#e6ddd0;
  --line-2:#efe8dc;
  --bg:#fffdf9;
  --bg-alt:#f7f3ec;
  --info-soft:#f3efe8;
  --radius:4px;
  --radius-sm:2px;
  --radius-lg:6px;
  --shadow-sm:none;
  --shadow:0 10px 30px rgba(35,29,23,.06);
  --shadow-lg:0 22px 50px rgba(35,29,23,.10);
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-serif:"Atelier Serif",Georgia,"Times New Roman",serif;
  --header-h:96px;
}
body{background:var(--bg);font-size:16px;line-height:1.7}
h1,h2,h3,.h-serif,.pc-title,.post-title,.cat-name,.footer-title,.price{font-family:var(--font-serif);font-weight:500;letter-spacing:0}
h1{font-size:clamp(1.9rem,1.3rem + 2vw,2.9rem);line-height:1.15}
h2{font-size:clamp(1.5rem,1.2rem + 1vw,2.1rem)}
b,strong{font-weight:600}
::selection{background:var(--primary);color:#fff}
.at-kicker{margin:0 0 10px;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:var(--primary-ink)}
.at-center{text-align:center;margin:36px 0 0}

/* Buttons: eckig, ruhig */
.btn{border-radius:2px;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:600;min-height:46px;padding:.7em 1.6em}
.btn-lg{font-size:.84rem;min-height:52px;padding:.8em 2em}
.btn-primary{box-shadow:none}
.btn-primary:hover{box-shadow:none}
.btn-outline{background:transparent;border:1.5px solid var(--dark);color:var(--dark)}
.btn-outline:hover{background:var(--dark);color:#fff;border-color:var(--dark)}
.btn.btn-cart{text-transform:uppercase}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],input[type=date],select,textarea{border-radius:2px;border:1px solid #d8cdbd;background-color:#fff}

/* Topbar */
.at-topbar{background:var(--dark);color:#efe6da}
.at-topbar .topbar-text,.at-topbar .topbar-links a{color:#efe6da;font-size:.8rem;letter-spacing:.04em}
.at-topbar .topbar-text{min-height:var(--bar-h);display:flex;align-items:center}
.at-topbar .a11y-zoom-btn{height:22px;min-width:26px;font-size:.72rem;border-radius:2px}

/* Header: Logo mittig */
.at-header{background:var(--bg);box-shadow:none;border-bottom:1px solid var(--line)}
.at-header .header-row{min-height:var(--header-h);padding-top:16px;padding-bottom:16px;gap:28px}
.at-header .search-form{max-width:600px;margin:0 auto;flex:1 1 auto}
.at-header .search-form input{border-radius:2px;background:#fff;border:1px solid #d8cdbd;min-height:48px}
.at-header .search-form input:focus{border-color:var(--primary)}
.at-header .search-btn{border-radius:2px;background:var(--dark);color:#fff;right:4px}
.at-header.is-compact .header-row{min-height:72px;padding-top:10px;padding-bottom:10px}
.at-left{display:flex;align-items:center;gap:4px}
.at-header .logo{flex:none}
.at-header .logo img{max-height:58px;max-width:280px}
.at-header.is-compact .logo img{max-height:44px}
.at-header .logo-text{font-family:var(--font-serif);font-weight:500;font-size:1.7rem;letter-spacing:.02em}
.at-header .header-actions{margin-left:0}
.at-header .icon-btn{flex-direction:column;gap:2px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dark)}
.at-header .icon-btn:hover{background:transparent;color:var(--primary-ink)}
.at-header .icon-label{color:var(--muted)}
.cart-count{background:var(--primary);color:#fff;box-shadow:0 0 0 2px var(--bg)}
.at-search{position:relative}
.at-search>summary{list-style:none;cursor:pointer;padding:4px 10px}
.at-search>summary::-webkit-details-marker{display:none}
.at-search-pop{position:absolute;left:0;top:calc(100% + 10px);width:min(440px,80vw);background:#fff;border:1px solid var(--line);padding:14px;box-shadow:var(--shadow-lg);z-index:700}
.at-search .search-form{max-width:none}
.at-search .search-form input{border-radius:2px;background:#fff;border:1px solid #d8cdbd}
.at-search .search-btn{border-radius:2px;background:var(--dark);color:#fff}

/* Menü: zentriert, Versalien, Haarlinie */
.at-header .main-nav{background:var(--primary);border-top:0}
.at-header .menu{justify-content:flex-start;flex-wrap:wrap}
.at-header .menu{--nav-gap:28px}
.at-header .menu-item>a{height:var(--bar-h);padding:0;color:var(--on-primary);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.at-header .main-nav{--nav-ul-bottom:9px}
.at-header .menu-item:hover>a,.at-header .menu-item.is-active>a,.at-header .menu-item:focus-within>a{color:var(--on-primary)}
.at-header .menu-blog{margin-left:0}
.at-header .menu-blog .icon{display:none}
.mega{background:var(--bg);border-top:1px solid var(--line);box-shadow:0 30px 40px rgba(35,29,23,.08)}
.mega-cat{border-radius:0;padding:6px 0}
.mega-cat:hover{background:transparent;color:var(--primary-ink)}
.mega-name{font-family:var(--font-serif);font-weight:500;font-size:1.02rem}
.mega-sub{margin-left:0}
.mega-sub a{background:transparent;border-radius:0;padding:2px 0;margin-right:12px;color:var(--text)}
.mega-sub a:hover{background:transparent;color:var(--primary-ink);text-decoration:underline}
.mega-all{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}

/* Hero */
.at-hero{background:var(--bg-alt);border-bottom:1px solid var(--line)}
.at-hero-inner{display:grid;grid-template-columns:1fr minmax(0,460px);gap:64px;align-items:center;padding-top:clamp(40px,6vw,90px);padding-bottom:clamp(40px,6vw,90px)}
.at-hero h1{font-size:clamp(2.2rem,1.4rem + 3vw,4rem);line-height:1.08;margin:0 0 .4em;color:var(--dark)}
.at-hero-sub{font-size:1.1rem;max-width:540px;margin:0 0 2rem;color:var(--text)}
.at-hero-product{display:block;color:var(--dark)}
.at-hero-frame{display:block;aspect-ratio:4/5;overflow:hidden;background:#fff;border:1px solid var(--line);padding:14px}
.at-hero-frame img,.at-hero-frame .rf-pic img{width:100%;height:100%;object-fit:cover;display:block}
.at-hero-caption{display:flex;justify-content:space-between;gap:16px;margin-top:14px;font-size:.92rem}
.at-hero-caption em{font-family:var(--font-serif);font-size:1.02rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.at-hero-caption .price{font-size:1.05rem}
.at-hero-photo .hero-photo{max-width:none;margin:0;aspect-ratio:4/5;border-radius:0;box-shadow:none;border:1px solid var(--line);padding:14px;background:#fff}
.at-hero-photo .hero-photo img{height:100%}
.at-hero.has-photo{background:linear-gradient(90deg,rgba(26,21,17,.62),rgba(26,21,17,.18)),var(--hero-img) center/cover no-repeat;color:#fff;border:0}
.at-hero.has-photo .at-hero-inner{grid-template-columns:1fr;min-height:min(70vh,640px)}
.at-hero.has-photo h1,.at-hero.has-photo .at-hero-sub{color:#fff}
.at-hero.has-photo .at-kicker{color:#f1d9c9}

/* Vorteile als ruhige Linie */
.at-usps{border-bottom:1px solid var(--line)}
.at-usps ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 44px;list-style:none;margin:0;padding:18px 0}
.at-usps li{display:flex;align-items:center;gap:10px;font-size:.84rem;color:var(--text-strong)}
.at-usps .icon{color:var(--primary)}

/* Abschnittsköpfe zentriert */
.at-head{text-align:center;max-width:680px;margin:0 auto 36px}
.at-head h2{margin:0}
.at-head p:not(.at-kicker){margin:.6rem 0 0}
.section-alt{background:var(--bg-alt)}

/* Kategorien: Hochformat, ohne Rahmen */
.at-cat-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:28px 20px}
.cat-tile{border:0;border-radius:0;background:transparent;box-shadow:none;text-align:center}
.cat-tile:hover{box-shadow:none}
.cat-visual{aspect-ratio:4/5;background:var(--bg-alt);border:1px solid var(--line-2);padding:18px}
.at-cat-grid .cat-visual{aspect-ratio:1/1}
.cat-body{padding:14px 4px 0;align-items:center}
.cat-name{font-size:1.15rem}
.cat-meta{justify-content:center;padding-top:6px}
.cat-go{display:none}
.cat-count{letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}

/* Produktkarten: Boutique-Stil, zentriert */
.product-card{border:0;border-radius:0;background:transparent;box-shadow:none;text-align:center}
.product-card:hover{box-shadow:none}
.pc-media{border:1px solid var(--line-2);background:#fff;aspect-ratio:4/5}
.pc-main:hover .pc-media img{transform:scale(1.03)}
.pc-media img{transition:transform .5s ease}
.pc-info{padding:14px 6px 0;align-items:center}
.pc-cat{color:var(--muted);letter-spacing:.18em;font-size:.66rem}
.pc-title{font-size:1.05rem;line-height:1.35}
.pc-price{justify-content:center}
.price{font-size:1.15rem;color:var(--dark)}
.pc-foot{padding:0 6px 6px}
.pc-actions .btn{min-height:42px}
.badge{border-radius:0;letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}
.badge-variants{background:var(--bg);box-shadow:none;border:1px solid var(--line)}

/* Geschichte */
.at-story{background:var(--dark);color:#e9e0d4}
.at-story-inner{max-width:820px;text-align:center}
.at-story .at-kicker{color:#d9a88c}
.at-story blockquote{margin:0;font-family:var(--font-serif);font-style:italic;font-size:clamp(1.3rem,1rem + 1.2vw,1.9rem);line-height:1.5;color:#fbf6ef}
.at-sign{margin:22px 0 0;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:#bfb3a5}

/* Journal */
.at-journal{display:grid;grid-template-columns:1.3fr 1fr;gap:28px}
.at-journal-side{display:grid;gap:20px}
.at-journal-side .post-card{display:grid;grid-template-columns:160px 1fr}
.at-journal-side .post-media{aspect-ratio:auto;width:100%;height:100%;min-height:150px}
.at-journal-side .post-excerpt{display:none}
.post-card{border-radius:0;border-color:var(--line);box-shadow:none;background:#fff}
.post-card:hover{box-shadow:var(--shadow)}
.post-title{font-size:1.2rem}

/* Produktseite, Kasse etc.: ruhiger */
.opt{border-radius:2px}
.form-card,.co-box,.cart-summary{border-radius:4px;box-shadow:none}

/* Footer: Espresso */
.at-footer{background:var(--black);color:#c9bdaf}
.at-footer-intro{text-align:center;padding-top:56px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08)}
.at-footer-intro .at-kicker{color:#d9a88c}
.at-footer-intro h2{color:#fbf6ef;margin:0 0 12px;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.2rem)}
.at-footer-contact-line{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 14px;margin:0;font-size:1.05rem}
.at-footer-contact-line a{color:#fbf6ef;text-decoration:underline;text-decoration-color:rgba(255,255,255,.25);text-underline-offset:4px}
.at-hours{margin:8px 0 0;font-size:.84rem}
.at-footer .footer-title{color:#fbf6ef;font-size:1.05rem}
.at-footer .footer-links a{color:#c9bdaf}
.at-footer .footer-links a:hover{color:#fff}
.at-footer .footer-logo img{background:#fbf6ef;border-radius:2px}
.at-footer .footer-logo .logo-text{font-family:var(--font-serif);color:#fbf6ef}
.at-address{font-size:.86rem;line-height:1.6}
.at-footer .footer-bottom a,.at-footer .footer-powered{color:#a99d90}
.footer-withdraw{border-radius:2px}

@media (max-width:991px){
  :root{--header-h:64px}
  .at-header .header-row{padding-top:10px;padding-bottom:10px}
  .at-header .search-form{margin:4px 0 0}
  .at-header .logo img{max-height:38px;max-width:150px}
  .at-header .icon-label{display:none}
  .at-header .header-row{gap:6px}
  .at-header .icon-btn{padding:4px 4px;min-width:40px}
  .at-search>summary{padding:4px 4px}
  .at-left{gap:0}
  .at-hero-inner{grid-template-columns:1fr;gap:32px}
  .at-hero-product{max-width:420px}
  .at-journal{grid-template-columns:1fr}
}
@media (max-width:767px){
  .at-search .icon-label{display:none}
  .at-search-pop{position:fixed;left:12px;right:12px;width:auto;top:70px}
  .at-hero-product{display:none}
  .at-hero h1{font-size:clamp(1.9rem,8vw,2.4rem)}
  .at-usps ul{justify-content:flex-start;gap:8px 20px;padding:14px 0}
  .at-cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
  .cat-visual{padding:10px}
  .cat-name{font-size:1rem}
  .at-journal-side .post-card{grid-template-columns:110px 1fr}
  .pc-title{font-size:.95rem}
}
@media (max-width:400px){
  .at-header .logo img{max-width:118px}
  .at-header .icon-btn{min-width:36px;padding:4px 2px}
  .at-search>summary{padding:4px 2px}
}
