/* ========== Base / Reset ========== */

*,

*::before,

*::after { box-sizing: border-box; }



html { -webkit-text-size-adjust: 100%; }

body { margin: 0; }



img, svg, video { max-width: 100%; height: auto; display: block; }



:root{

  /* Fallbacky, když by nebyly WP preset proměnné */

  --bp-base: var(--wp--preset--color--base, #FFF6EC);

  --bp-white: var(--wp--preset--color--base-2, #FFFFFF);

  --bp-text: var(--wp--preset--color--contrast, #3B2A25);

  --bp-text-2: var(--wp--preset--color--contrast-2, #6B5B56);

  --bp-primary: var(--wp--preset--color--accent, #EB8B3C);

  --bp-primary-hover: var(--wp--preset--color--accent-2, #D97927);



  --bp-radius: 18px;

  --bp-radius-pill: 999px;

  --bp-shadow: 0 12px 30px rgba(59, 42, 37, 0.12);



  --bp-container: 1200px;

  --bp-gap: 16px;

}

/* WooCommerce pages: na mobilu přidat malé boční odsazení */
@media (max-width: 899px){
  body.woocommerce-page .entry-content.alignwide,
  body.woocommerce-page .wp-block-post-content.alignwide,
  body.woocommerce-page .wp-block-woocommerce-checkout.alignwide,
  body.woocommerce-page .wc-block-checkout{
    padding-left: 6px !important;
    padding-right: 6px !important;
    box-sizing: border-box;
  }

  /* Packeta widget (výběr místa vyzvednutí): vycentrovat tlačítko doprostřed */
  body.woocommerce-page .packetery-widget-button-row{
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: center;
  }

  /* WooCommerce "Potvrzení objednávky" (order received) */
  body.woocommerce-page.woocommerce-order-received
    .wp-block-woocommerce-order-confirmation-status.alignwide,
  body.woocommerce-page.woocommerce-order-received
    .wp-block-woocommerce-order-confirmation-summary.alignwide,
  body.woocommerce-page.woocommerce-order-received
    .wp-block-woocommerce-order-confirmation-totals-wrapper.alignwide,
  body.woocommerce-page.woocommerce-order-received
    .wp-block-woocommerce-order-confirmation-totals.alignwide,
  body.woocommerce-page.woocommerce-order-received
    .wp-block-columns.alignwide,
  body.woocommerce-page.woocommerce-order-received
    .wp-block-woocommerce-order-confirmation-additional-information.alignwide{
    padding-left: 6px !important;
    padding-right: 6px !important;
    box-sizing: border-box;
  }

  /* BP QR kód (Rychlá platba): na mobilu vycentrovat */
  body.woocommerce-page.woocommerce-order-received .woocommerce-bacs-bank-details{
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 16px !important;
  }

  /* Textová část (div vzniklá přes JS) a šířka na mobilu */
  body.woocommerce-page.woocommerce-order-received
    .woocommerce-bacs-bank-details > div:not(#bp-qr-code-box){
    width: 100% !important;
    min-width: 0 !important;
    flex: unset !important;
  }

  /* Samotný wrapper s QR */
  body.woocommerce-page.woocommerce-order-received #bp-qr-code-box{
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  body.woocommerce-page.woocommerce-order-received #bp-qr-code-box > div{
    margin: 0 auto !important;
  }
}


body{

  font-family: var(--wp--preset--font-family--body, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif);

  color: var(--bp-text);

  background: var(--bp-base);

  line-height: 1.55;

}



a{ color: inherit; text-decoration: none; }

a:hover{ text-decoration: underline; }



:focus-visible{

  outline: 3px solid var(--bp-primary);

  outline-offset: 3px;

}



/* Text zvýraznění (např. část nadpisu) */

.bp-accent{

  color: var(--bp-primary);

}



/* Homepage odkazy v hlavičce/patičce: bez "rámečku" po kliku myší, ale s focus pro klávesnici */

.bp-header a:focus:not(:focus-visible),

.bp-footer a:focus:not(:focus-visible){

  outline: none;

  box-shadow: none;

}



/* ========== Typography: playful headings ========== */

:root{

    --bp-font-playful: "Baloo 2", var(--wp--preset--font-family--body, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif);

}



/* Hravější font pro nadpisy a “tituly” */

h1, h2, h3, h4, h5, h6,

.bp-header__menu,

.bp-hero__title,

.bp-h2,

.bp-h3{

    font-family: var(--bp-font-playful);

}



/* Volitelně: trochu “měkčí” feeling */

h1, h2, h3,

.bp-hero__title,

.bp-h2{

    letter-spacing: -0.01em;

}



/* ========== Helpers ========== */

.bp-container{

  width: min(var(--bp-container), calc(100% - 32px));

  margin-inline: auto;

}



.bp-muted{ color: var(--bp-text-2); }

.bp-center{ text-align: center; }



.bp-divider{

  border: 0;

  border-top: 1px solid rgba(59, 42, 37, 0.15);

  margin: 12px 0;

}



/* ========== Buttons ========== */

.bp-btn{

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 10px;

  padding: 0.85rem 1.35rem;

  border-radius: var(--bp-radius-pill);

  font-weight: 700;

  line-height: 1;

  border: 2px solid transparent;

  cursor: pointer;

  user-select: none;

}



.bp-btn--primary{

  background: var(--bp-primary);

  color: var(--bp-white);

}



.bp-btn--primary:hover{

  background: var(--bp-primary-hover);

  text-decoration: none;

}



.bp-btn--ghost{

  background: transparent;

  border-color: rgba(59, 42, 37, 0.25);

  color: var(--bp-text);

}



.bp-btn--ghost:hover{

  border-color: rgba(59, 42, 37, 0.45);

  text-decoration: none;

}



.bp-btn--full{ width: 100%; }



/* ========== Header ========== */

/* ========== Header ========== */

.bp-header{

    position: sticky;

    top: 0;

    z-index: 999;

    background: rgba(255, 246, 236, 0.9);

    backdrop-filter: blur(10px);

    border-bottom: 1px solid rgba(59, 42, 37, 0.12);

}



.bp-header__inner{

    display: grid;

    gap: 12px;

    padding: 14px 0 0; /* odstraněn spodní okraj (spodní padding) */

    width: 100%;

}



/* ========== Main ========== */

main{

  margin-top: 0;

  padding-top: 0;

}



/* ========== Page / Single spacing ========== */

.bp-page .bp-container,

.bp-single .bp-container{

  padding-top: 28px; /* horní okraj nad H1 */

}



@media (min-width: 900px){

  .bp-page .bp-container,

  .bp-single .bp-container{

    padding-top: 44px;

  }

}



/* Logo nahoře */

.bp-header__brand{

    display: flex;

    justify-content: center;

}



.bp-logo{

    display: inline-flex;

    align-items: center;

    justify-content: center;

    text-decoration: none;

}



/* Nezobrazovat "rámeček" po kliku myší, ale zachovat focus pro klávesnici */

.bp-logo:focus{

    outline: 3px solid var(--bp-primary);

    outline-offset: 3px;

}

.bp-logo:focus:not(:focus-visible){

    outline: none;

}



.bp-logo img{

    width: auto;

    max-width: min(520px, 90vw);

    display: block;

}



/* Menu bar (full width) */

.bp-header__menu{

    width: 100%;

    border-top: 1px solid rgba(59, 42, 37, 0.12);

    border-bottom: 1px solid rgba(59, 42, 37, 0.12);

    padding: 10px 32px;

}



.bp-header__menu--desktop{

    display: none;

    grid-template-columns: 1fr auto 1fr; /* centrované menu + cart vpravo */

    align-items: center;

    gap: 12px;

}



.bp-nav--desktop{

    display: flex;

    gap: 26px;

    justify-content: center;

}



.bp-header__cart{

    justify-self: end;

}



/* Mobile bar */

.bp-header__menu--mobile{

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 12px;

}



/* Mobile nav (details/summary) */

.bp-nav--mobile{ position: relative; }

.bp-nav--mobile summary{

    list-style: none;

    cursor: pointer;

}

.bp-nav--mobile summary::-webkit-details-marker{ display: none; }



.bp-nav__panel{

    position: absolute;

    right: 0;

    top: calc(100% + 10px);

    width: min(320px, 90vw);

    background: var(--bp-white);

    border-radius: var(--bp-radius);

    box-shadow: var(--bp-shadow);

    padding: 12px;

    display: grid;

    gap: 12px;

}



.bp-nav--mobile[open] .bp-nav__panel{ animation: bpFadeIn 140ms ease-out; }

@keyframes bpFadeIn{ from{ opacity:0; transform: translateY(-6px);} to{opacity:1; transform:none;} }



/* Breakpoint */

@media (min-width: 900px){

    .bp-header__menu--desktop{ display: grid; }

    .bp-header__menu--mobile{ display: none; }

}



/* Mobilní tlačítka Košík a Menu – stejný styl jako na desktopu (oranžová) */

@media (max-width: 899px){

    .bp-header__menu--mobile .bp-btn--ghost{

        background: transparent;

        color: var(--bp-text);

        border-color: rgba(59, 42, 37, 0.25);

    }

    bp-header__menu--mobile .bp-btn--ghost:hover{

        background: rgba(59, 42, 37, 0.05);   /* Velmi jemný hover efekt */

        color: var(--bp-text);

        border-color: rgba(59, 42, 37, 0.45);

    }

}





/* ========== Cards / Lists ========== */

.bp-card{

  background: var(--bp-white);

  border-radius: var(--bp-radius);

  box-shadow: var(--bp-shadow);

  padding: 18px;

}



.bp-list{

  margin: 0;

  padding-left: 1.1em;

}

.bp-list--tight li{ margin: 6px 0; }



/* ========== Footer ========== */

.bp-footer{

  padding: 42px 0 18px;

  background: rgba(255,255,255,0.55);

  border-top: 1px solid rgba(59, 42, 37, 0.12);

}



.bp-footer__inner{

  display: grid;

  gap: 14px;

}



.bp-footer__copyright{

  color: var(--bp-text-2);

  display: inline-flex;

  align-items: center;

  gap: 8px;

  text-align: center;

  justify-content: center;

  white-space: nowrap; /* na malých telefonech držet na 1 řádku */

  font-size: clamp(0.84rem, 3.2vw, 0.95rem);

  line-height: 1.2;

}



.bp-footer__copyright-icon{

  width: 16px;

  height: 16px;

  flex: 0 0 auto;

  color: var(--bp-text-2);

}



/* 1) řádek: odkazy vycentrované + separátory */

.bp-footer__nav{

  list-style: none;

  padding: 0;

  margin: 0;

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  gap: 10px 14px;

}



.bp-footer__nav li{

  display: inline-flex;

  align-items: center;

}



.bp-footer__nav li + li::before{

  content: "";

  display: inline-block;

  width: 1px;

  height: 1em;

  background: rgba(59, 42, 37, 0.25);

  margin-right: 14px;

}



.bp-footer__nav a{

  color: var(--bp-text);

  text-decoration: none;

}

.bp-footer__nav a:hover{ text-decoration: underline; }



/* 2) řádek: uprostřed copyright, vpravo social */

.bp-footer__bottom{

  display: grid;

  grid-template-columns: 1fr auto 1fr;

  align-items: center;

  gap: 12px;

}



.bp-footer__bottom-spacer{ min-height: 1px; }



.bp-footer__social{

  justify-self: end;

  display: inline-flex;

  align-items: center;

  gap: 10px;

}



.bp-footer__social-link{

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 36px;

  height: 36px;

  border-radius: 999px;

  background: rgba(235, 139, 60, 0.14);

  color: var(--bp-primary);

  text-decoration: none;

}



.bp-footer__social-link:hover{

  background: rgba(235, 139, 60, 0.22);

  text-decoration: none;

}



.bp-footer__social-icon{

  width: 20px;

  height: 20px;

  display: block;

}



/* Platební metody */

.bp-footer__row--payments{

  padding: 24px 0;

  border-top: 1px solid rgba(235, 139, 60, 0.15);

  border-bottom: 1px solid rgba(235, 139, 60, 0.15);

}



.bp-footer__payments{

  display: flex;

  justify-content: center;

  align-items: center;

  flex-wrap: wrap;

  gap: 24px;

}



.bp-footer__payment-icon{

  height: 32px;

  width: auto;

  opacity: 0.85;

  transition: opacity 0.2s ease;

}



.bp-footer__payment-icon:hover{

  opacity: 1;

}



@media (max-width: 899px){

  .bp-footer__bottom{

    grid-template-columns: 1fr;

    justify-items: center;

    gap: 10px;

  }

  .bp-footer__social{

    justify-self: center;

  }

  .bp-footer__payments{

    gap: 16px;

  }

  .bp-footer__payment-icon{

    height: 28px;

  }

}

