/*
Theme Name: BeeSmash
Theme URI: https://www.beesmash.de
Author: BeeSmash
Author URI: https://www.beesmash.de
Description: Einseitiges Catering-Theme fuer BeeSmash. Hero, komplette Speisekarte und Event-Buchungsformular mit Kalender. Anfragen werden per E-Mail verschickt und im Adminbereich unter "Event-Anfragen" gespeichert. Logo, Kontaktdaten und Links im Customizer aenderbar.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: beesmash
*/

:root{
    --ink:#0B0B0C;
    --ink-soft:#0F0E10;
    --wax:#16140F;
    --wax-2:#1C1910;
    --line:#2C281F;
    --line-soft:#211E18;
    --honey:#F6A91C;
    --honey-lt:#FFC94D;
    --honey-dk:#A86E08;
    --cream:#FBF6EC;
    --muted:#BDB6A6;
    --white:#FFFFFF;
    --nav-h:78px;
    --maxw:1180px;
    --display:"Anton","Arial Narrow",Impact,sans-serif;
    --cond:"Oswald","Arial Narrow",sans-serif;
    --body:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  }

  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    background:var(--ink);
    color:var(--cream);
    font-family:var(--body);
    font-size:clamp(15px,1vw + 13px,17px);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  section{scroll-margin-top:var(--nav-h)}
  a{color:inherit;text-decoration:none}
  img,svg{display:block;max-width:100%}
  h1,h2,h3{margin:0;line-height:1}
  p{margin:0}
  .wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(18px,4vw,40px)}

  .eyebrow{
    font-family:var(--cond);
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.28em;
    font-size:.78rem;
    color:var(--honey);
    display:inline-flex;
    align-items:center;
    gap:.7em;
  }
  .eyebrow::before{
    content:"";
    width:14px;height:16px;flex:none;
    background:var(--honey);
    clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  }

  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.55em;
    font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.06em;
    font-size:.98rem;line-height:1;
    padding:1.05em 1.6em;border-radius:10px;border:2px solid transparent;cursor:pointer;
    transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
  }
  .btn-primary{background:var(--honey);color:#1a1304;box-shadow:0 10px 30px -12px rgba(246,169,28,.7)}
  .btn-primary:hover{background:var(--honey-lt);transform:translateY(-2px)}
  .btn-ghost{border-color:var(--line);color:var(--cream);background:transparent}
  .btn-ghost:hover{border-color:var(--honey);color:var(--honey);transform:translateY(-2px)}
  :focus-visible{outline:3px solid var(--honey-lt);outline-offset:3px;border-radius:6px}

  /* ---------- NAV ---------- */
  .nav{
    position:fixed;inset:0 0 auto 0;z-index:60;height:var(--nav-h);
    display:flex;align-items:center;
    transition:background .25s ease, border-color .25s ease, backdrop-filter .25s ease;
    border-bottom:1px solid transparent;
  }
  .nav.scrolled{background:rgba(11,11,12,.82);backdrop-filter:blur(10px);border-bottom-color:var(--line-soft)}
  .nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem}
  .brand{display:flex;align-items:center;gap:.6rem}
  .brand .bm{width:42px;height:46px;flex:none}
  .brand .wm{font-family:var(--display);font-size:1.5rem;letter-spacing:.04em;color:var(--cream);line-height:1}
  .brand .wm b{color:var(--honey);font-weight:400}
  .nav-links{display:flex;align-items:center;gap:1.9rem}
  .nav-links a.lnk{font-family:var(--cond);font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:.86rem;color:var(--cream);opacity:.85;transition:color .15s,opacity .15s}
  .nav-links a.lnk:hover{color:var(--honey);opacity:1}
  .nav .btn{padding:.8em 1.25em;font-size:.86rem}
  .burger-btn{display:none;background:none;border:0;cursor:pointer;padding:8px;color:var(--cream)}
  .burger-btn svg{width:30px;height:30px}

  /* ---------- HERO ---------- */
  .hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:calc(var(--nav-h) + 28px) 0 64px;overflow:hidden}
  .hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
  .glow{position:absolute;right:-6%;top:18%;width:60vw;max-width:760px;aspect-ratio:1;border-radius:50%;
    background:radial-gradient(circle at center,rgba(246,169,28,.42),rgba(246,169,28,.06) 45%,transparent 66%);
    filter:blur(8px);animation:pulse 7s ease-in-out infinite}
  @keyframes pulse{0%,100%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}
  .hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,5vw,64px);align-items:center;width:100%}
  .hero h1{font-family:var(--display);font-size:clamp(2.9rem,8.2vw,5.9rem);letter-spacing:.01em;line-height:.92;margin:.5rem 0 0;text-transform:uppercase}
  .hero h1 em{font-style:normal;color:var(--honey);position:relative;white-space:nowrap}
  .hero h1 em::after{content:"";position:absolute;left:-2%;right:-2%;bottom:-.06em;height:.14em;background:var(--honey-dk);opacity:.55;border-radius:3px;transform:skewX(-12deg)}
  .hero .lead{margin-top:1.4rem;max-width:34ch;color:var(--muted);font-size:1.08rem}
  .hero .cta-row{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}
  .hero .trust{margin-top:2.2rem;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-family:var(--cond);text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;color:var(--muted)}
  .hero .trust span{display:inline-flex;align-items:center;gap:.55em}
  .hero .trust span::before{content:"";width:7px;height:8px;background:var(--honey);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
  .emblem{justify-self:center;width:min(92%,480px);filter:drop-shadow(0 30px 60px rgba(0,0,0,.6))}
  .emblem-float{animation:float 6s ease-in-out infinite}
  @keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

  /* ---------- SECTION SHELL ---------- */
  .sec{padding:clamp(64px,9vw,118px) 0;position:relative}
  .sec-soft{background:var(--ink-soft)}
  .sec-head{position:relative;margin-bottom:clamp(34px,5vw,56px)}
  .sec-head h2{font-family:var(--display);font-size:clamp(2.1rem,5vw,3.5rem);text-transform:uppercase;letter-spacing:.01em;margin-top:.5rem;position:relative;display:inline-block}
  .brush{position:absolute;left:-6px;bottom:-14px;width:min(360px,70%);height:26px;color:var(--honey);opacity:.92;pointer-events:none}
  .brush path{fill:currentColor}
  .sec-sub{color:var(--muted);max-width:52ch;margin-top:1.6rem}

  /* ---------- EVENT TYPES ---------- */
  .types{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,22px)}
  .type-card{background:var(--wax);border:1px solid var(--line);border-radius:16px;padding:26px 22px;transition:transform .18s ease,border-color .18s ease;text-align:left;cursor:pointer;color:inherit;font:inherit;width:100%}
  .type-card:hover{transform:translateY(-4px);border-color:var(--honey)}
  .type-ic{width:54px;height:60px;display:grid;place-items:center;margin-bottom:16px;color:var(--honey);position:relative}
  .type-ic::before{content:"";position:absolute;inset:0;border:2px solid var(--honey);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
  .type-ic svg{width:26px;height:26px;position:relative}
  .type-card h3{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:1.15rem;color:var(--cream)}
  .type-card p{color:var(--muted);font-size:.92rem;margin-top:.5rem}

  /* ---------- MENU ---------- */
  .menu-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:start}
  .block-label{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:1.05rem;color:var(--honey);display:flex;align-items:center;gap:.7rem;margin:0 0 18px}
  .block-label::before{content:"";width:16px;height:18px;background:var(--honey);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
  .block-label.mt{margin-top:42px}

  ul.list{list-style:none;margin:0;padding:0}
  .burger-item{display:flex;gap:16px;padding:16px 0;border-bottom:1px dashed var(--line)}
  .burger-item:last-child{border-bottom:0}
  .num{position:relative;width:38px;height:42px;flex:none;display:grid;place-items:center;color:var(--honey);font-family:var(--cond);font-weight:700;font-size:1rem}
  .num::before{content:"";position:absolute;inset:0;background:var(--honey);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);z-index:-2}
  .num::after{content:"";position:absolute;inset:2px;background:var(--ink);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);z-index:-1}
  .sec-soft .num::after{background:var(--ink-soft)}
  .b-main{flex:1;min-width:0}
  .b-top{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
  .b-top h4{font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:1.2rem;color:var(--cream)}
  .b-desc{color:var(--muted);font-size:.9rem;margin-top:.3rem}
  .price{font-family:var(--cond);font-weight:700;color:var(--honey);font-size:1.15rem;white-space:nowrap}

  .line{display:flex;align-items:baseline;gap:.6rem;padding:13px 0;border-bottom:1px dashed var(--line)}
  .line:last-child{border-bottom:0}
  .line .nm{font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.02em;font-size:1.08rem;color:var(--cream)}
  .line .dots{flex:1;border-bottom:2px dotted var(--line);transform:translateY(-.25em);min-width:18px}
  .price-grp{display:flex;gap:1.1rem;white-space:nowrap}
  .price-grp .sm{color:var(--muted);font-family:var(--cond);font-size:.95rem}
  .price-grp .sm b{color:var(--honey);font-weight:700;margin-left:.35em}

  .deals{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}
  .deal{position:relative;background:linear-gradient(135deg,rgba(246,169,28,.12),rgba(246,169,28,.02));border:1px solid var(--honey-dk);border-radius:16px;padding:22px 88px 22px 22px}
  .deal h4{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;color:var(--cream)}
  .deal p{color:var(--muted);font-size:.85rem;margin-top:.35rem}
  .deal .tag{position:absolute;top:50%;right:18px;transform:translateY(-50%);width:62px;height:62px;border-radius:50%;background:var(--honey);color:#1a1304;display:grid;place-items:center;font-family:var(--cond);font-weight:700;font-size:.92rem;text-align:center;line-height:1}
  .extras{margin-top:30px;border:1px solid var(--line);border-radius:16px;padding:18px 22px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px}
  .extras .x-lbl{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:var(--honey)}
  .extras .x{font-family:var(--cond);text-transform:uppercase;letter-spacing:.03em;font-size:.95rem;color:var(--cream)}
  .extras .x b{color:var(--honey);font-weight:700;margin-left:.4em}

  /* ---------- BOOKING ---------- */
  .book-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,60px);align-items:start}
  .steps{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:20px}
  .steps li{display:flex;gap:16px}
  .step-n{width:38px;height:42px;flex:none;display:grid;place-items:center;color:#1a1304;background:var(--honey);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);font-family:var(--cond);font-weight:700;font-size:1.05rem}
  .steps h4{font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:1.1rem;color:var(--cream)}
  .steps p{color:var(--muted);font-size:.92rem;margin-top:.25rem}
  .contact-note{margin-top:30px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:.95rem}
  .contact-note a{color:var(--honey);font-weight:600}

  .form-card{background:var(--wax);border:1px solid var(--line);border-radius:20px;padding:clamp(22px,3vw,34px)}
  .field{margin-bottom:18px}
  .field > label{display:block;font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;color:var(--muted);margin-bottom:8px}
  .field > label .req{color:var(--honey)}
  .control{width:100%;background:var(--ink);border:1px solid var(--line);border-radius:11px;color:var(--cream);font-family:var(--body);font-size:1rem;padding:13px 14px;transition:border-color .15s ease, box-shadow .15s ease}
  .control:focus{outline:none;border-color:var(--honey);box-shadow:0 0 0 3px rgba(246,169,28,.18)}
  select.control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23F6A91C' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
  textarea.control{resize:vertical;min-height:96px}
  .row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .field-err{color:#ff8b6b;font-size:.82rem;margin-top:6px;display:none}
  .field.invalid .control{border-color:#ff8b6b}
  .field.invalid .field-err{display:block}

  /* calendar */
  .cal{background:var(--ink);border:1px solid var(--line);border-radius:12px;padding:14px 14px 8px}
  .cal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
  .cal-top .mlabel{font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--cream);font-size:1rem}
  .cal-nav{background:none;border:1px solid var(--line);color:var(--cream);width:34px;height:34px;border-radius:8px;cursor:pointer;display:grid;place-items:center;transition:border-color .15s,color .15s}
  .cal-nav:hover:not(:disabled){border-color:var(--honey);color:var(--honey)}
  .cal-nav:disabled{opacity:.3;cursor:not-allowed}
  .cal-nav svg{width:16px;height:16px}
  .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
  .cal-wd{text-align:center;font-family:var(--cond);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;color:var(--muted);padding-bottom:4px}
  .cal-cell{aspect-ratio:1;border:0;background:transparent;color:var(--cream);border-radius:9px;font-family:var(--body);font-size:.92rem;cursor:pointer;display:grid;place-items:center;transition:background .12s ease,color .12s ease}
  .cal-cell:hover:not(:disabled){background:rgba(246,169,28,.16)}
  .cal-cell.empty{visibility:hidden;cursor:default}
  .cal-cell:disabled{color:#56524a;cursor:not-allowed}
  .cal-cell.today{box-shadow:inset 0 0 0 1px var(--line)}
  .cal-cell.selected{background:var(--honey);color:#1a1304;font-weight:700}
  .cal-picked{margin-top:10px;font-size:.88rem;color:var(--muted);min-height:1.2em}
  .cal-picked b{color:var(--honey)}

  .form-card .btn{width:100%;margin-top:6px}
  .form-success{display:none;text-align:center;padding:18px 6px}
  .form-success .check{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:rgba(246,169,28,.16);display:grid;place-items:center;color:var(--honey)}
  .form-success h3{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:1.4rem;color:var(--cream);margin-bottom:.5rem}
  .form-success p{color:var(--muted)}
  .form-success .recap{margin:18px auto 0;max-width:340px;text-align:left;background:var(--ink);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:.92rem}
  .form-success .recap div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;color:var(--muted)}
  .form-success .recap div b{color:var(--cream);font-weight:600;text-align:right}
  .form-success .btn{margin-top:20px}

  /* ---------- FOOTER ---------- */
  .footer{background:#070708;border-top:1px solid var(--line-soft);padding:clamp(56px,7vw,84px) 0 36px;position:relative;overflow:hidden}
  .foot-motto{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.7rem,5vw,3rem);text-align:center;letter-spacing:.02em;color:var(--cream)}
  .foot-motto .dot{color:var(--honey)}
  .foot-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;margin-top:48px;align-items:flex-start}
  .foot-brand{display:flex;align-items:center;gap:.7rem}
  .foot-brand .bm{width:48px;height:52px}
  .foot-brand .wm{font-family:var(--display);font-size:1.7rem;color:var(--cream)}
  .foot-brand .wm b{color:var(--honey);font-weight:400}
  .foot-col h5{font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:var(--honey);margin:0 0 14px}
  .foot-col a,.foot-col p{color:var(--muted);font-size:.95rem;margin:0 0 9px;display:flex;align-items:center;gap:.55rem}
  .foot-col a:hover{color:var(--honey)}
  .foot-col svg{width:17px;height:17px;flex:none;color:var(--honey)}
  .foot-bottom{margin-top:44px;padding-top:22px;border-top:1px solid var(--line-soft);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;color:#6f6a60;font-size:.82rem}
  .foot-bottom a{color:#6f6a60}
  .foot-bottom a:hover{color:var(--honey)}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:980px){
    .hero-inner{grid-template-columns:1fr;text-align:center}
    .hero .lead{margin-inline:auto}
    .hero .cta-row,.hero .trust{justify-content:center}
    .emblem{grid-row:1;width:min(74%,360px);margin-bottom:8px}
    .types{grid-template-columns:1fr 1fr}
    .menu-grid{grid-template-columns:1fr}
    .book-grid{grid-template-columns:1fr}
    .deals{grid-template-columns:1fr}
  }
  @media (max-width:680px){
    .nav-links{position:fixed;inset:var(--nav-h) 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:rgba(11,11,12,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:10px 22px 22px;transform:translateY(-130%);transition:transform .28s ease;z-index:55}
    .nav-links.open{transform:translateY(0)}
    .nav-links a.lnk{padding:15px 0;border-bottom:1px solid var(--line-soft);font-size:1rem}
    .nav-links .btn{margin-top:14px}
    .burger-btn{display:inline-flex}
    .row-2{grid-template-columns:1fr}
    .types{grid-template-columns:1fr}
    .glow{top:8%}
  }
  @media (prefers-reduced-motion:reduce){
    *{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  }

/* ---------- WP: logo slots ---------- */
.brand .custom-logo-link{display:flex;align-items:center;line-height:0}
.brand img.custom-logo,.brand .custom-logo-link img{height:46px;width:auto;display:block}
img.emblem{height:auto}
img.emblem.is-logo{width:min(78%,360px)}

/* ---------- WP: a11y helper ---------- */
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--honey);color:#1a1304;padding:10px 16px;border-radius:0 0 8px 0;font-family:var(--cond);font-weight:600}
.skip-link:focus{left:0}

/* ---------- WP: content pages (Impressum, Datenschutz, Blog) ---------- */
.doc{padding:calc(var(--nav-h) + 48px) 0 84px}
.doc .entry{max-width:760px}
.doc .entry h1{font-family:var(--display);font-size:clamp(2rem,5vw,3.4rem);text-transform:uppercase;letter-spacing:.01em;margin-bottom:24px;color:var(--cream)}
.doc .entry h2{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:1.5rem;color:var(--cream);margin:1.8em 0 .5em}
.doc .entry h3{font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--cream);margin:1.4em 0 .4em}
.doc .entry p,.doc .entry li{color:var(--muted);margin:0 0 1em;line-height:1.7}
.doc .entry ul,.doc .entry ol{padding-left:1.25em}
.doc .entry a{color:var(--honey);text-decoration:underline}
.doc .entry img{border-radius:12px;margin:1em 0}
.doc .post-list{display:grid;gap:16px;margin-top:8px}
.doc .post-list .card{display:block;background:var(--wax);border:1px solid var(--line);border-radius:14px;padding:22px 24px;transition:border-color .15s ease,transform .15s ease}
.doc .post-list .card:hover{border-color:var(--honey);transform:translateY(-3px)}
.doc .post-list .card h3{font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:1.25rem;color:var(--cream);margin:0 0 .4em}
.doc .post-list .card p{color:var(--muted);margin:0}
.doc .navigation{margin-top:32px}
.doc .page-numbers{display:inline-block;padding:.5em .9em;border:1px solid var(--line);border-radius:8px;margin:0 6px 6px 0;color:var(--cream);text-decoration:none;font-family:var(--cond)}
.doc .page-numbers.current{background:var(--honey);color:#1a1304;border-color:var(--honey)}

/* ---------- WP: form sending/error states ---------- */
.form-error{display:none;background:rgba(255,139,107,.12);border:1px solid #ff8b6b;color:#ffb6a1;border-radius:11px;padding:12px 14px;margin-bottom:14px;font-size:.92rem}
.btn[disabled]{opacity:.6;cursor:progress}
