/* ==========================================================================
   FREECARP – vlastní styly
   1. tvoje původní CSS (header, navigace, fonty)
   2. přepisy Shoptet šablony (šířka, pozadí homepage, welcome blok)
   3. homepage sekce (.fc- prefix, aby se nebily se šablonou)
   ========================================================================== */

:root{
  --color-green:#1C7A50;
  --color-muted-bg:#F4F3ED;
  --color-divider:#BEBEBE;
    --fontFamily--numbers: "Manrope", sans-serif;
    --fontFamily--display: "Manrope", sans-serif;
    --fontFamily--headline: "Bricolage Grotesque", sans-serif;
    --fontFamily--title: "Bricolage Grotesque", sans-serif;
    --fontFamily--body: "Manrope", sans-serif;
    --fontFamily--strong: "Manrope", sans-serif;
    --fontFamily--label: "Manrope", sans-serif;
    --fontFamily--controls: "Manrope", sans-serif;
    --fontFamily--navigation: "Manrope", sans-serif;
    --fontFamily--caption: "Manrope", sans-serif;
    --fontFamily--monospace: "Manrope", sans-serif;
    --template-font: "Manrope", sans-serif;
    --template-headings-font: "Bricolage Grotesque", sans-serif;

    /* doplněné barvy palety */
    --color-white:#FFFFFF;
    --color-black:#000000;
    --color-ink:#1A1A1A;
    --color-gray:#474747;
    --color-gray-muted:#747474;
    --color-gray-light:#C8C8C8;
    --color-shadow:#0000001A;
    --color-red:#F42A2A;      /* štítek Akce dle XD */
    --color-yellow:#FFE500;   /* akční cena dle XD */
    --fc-radius:4px;
}

body > div.overall-wrapper > div.content-wrapper.homepage-box.welcome-wrapper > div > div > div > div > div.h1{
    display: none;
}

#header{
    background: var(--color-green);
    border-bottom: 1px solid var(--color-divider);

}

body:not(:has(.homepage-box)) #header {
    margin-bottom: 42px;
}

.top-navigation-bar-menu a{
    font-size: 14px;
}

#navigation .navigation-in{
   background:var(--color-muted-bg);
   box-shadow: 50vw 0px 0px 0px var(--color-muted-bg), -50vw 0px 0px 0px var(--color-muted-bg);
}

#navigation .navigation-in li{
    border:none;
}

#navigation .navigation-in a b{
   color:var(--color-green);
   font-size: 15px;
   letter-spacing: 0.6px;
   font-weight: 600;
}


.products-block .p div.flags.flags-default,
.p-detail-info > div div.flags.flags-default{
  top:6px;
  left:6px;
  pointer-events: none;
}

.products-block .p div.flags.flags-default span,
.p-detail-info > div div.flags.flags-default span{
  font-size:11px;
  letter-spacing:0.26px;
  padding-block:8px;
  padding-inline:8px;
  text-transform:uppercase;
}

.products-block .p span.flag.flag-new,
.p-detail-info > div span.flag.flag-new{
  /* background:var(--color-green) !important; */
  background:#2F7D5A !important;
}

.products-block .p span.flag.flag-tip,
.p-detail-info > div span.flag.flag-tip{
  /* background:var(--color-gray) !important; */
  background:#4e431a !important;
  /* color:#161513; */
}

.products-block .p span.flag.flag-custom1,
.p-detail-info > div span.flag.flag-custom1{
  background:var(--color-gray) !important;
}

.products-block .p span.flag.flag-action,
.p-detail-info > div span.flag.flag-action{
  background:#FF2B2B !important;
}

.products-block .p span.flag.flag-quantity-discount,
.p-detail-info > div span.flag.flag-quantity-discount{
  max-width:max-content;
  background:#da8525 !important;
}

/* Speciální akční štítek – na detailu je v .p-image-wrapper */
.products-block .p div.flags.flags-extra:has(.flag-discount),
.p-image-wrapper div.flags.flags-extra:has(.flag-discount){
  left:0;
  pointer-events: none;
}


.flag.flag-freeshipping{
    height:68px;
  opacity:0.9;
  bottom:0px;
  margin-bottom: 0px;
  border-radius: 4px 4px 0px 0px !important;
  opacity:0.9;
}

.products-block .p div.flags.flags-extra:has(.flag-discount) .flag-freeshipping,
.p-image-wrapper div.flags.flags-extra:has(.flag-discount) .flag-freeshipping{
      right: 0;
    left: unset;
    position: absolute;
}

.products-block .p span.flag.flag-discount,
.p-image-wrapper span.flag.flag-discount{
  position:relative;
  overflow:hidden;
  border-radius:4px 4px 0 0;
  background:#FBED21;
  left:0;
  justify-content:end;
  width:100px;
  margin-left:unset;
  height:68px;
  opacity:0.9;
  margin-bottom:unset;
  letter-spacing:0.26px;
  font-family:var(--fontFamily--headline);
}

.products-block .p span.flag.flag-discount::before,
.p-image-wrapper span.flag.flag-discount::before{
  position:absolute;
  content:"Akcia";
  top:0;
  left:50%;
  translate:-50% 0%;
  background:#FF2B2B;
  padding-block:4px;
  width:calc(100% + 2px);
  border-radius:4px 4px 0 0;
  font-size:15px;
  font-weight:500;
}

.products-block .p span.flag.flag-discount .price-standard,
.p-image-wrapper span.flag.flag-discount .price-standard{
  font-size:13px;
  width:max-content;
  color:var(--color-gray);
}

.products-block .p span.flag.flag-discount .price-save,
.p-image-wrapper span.flag.flag-discount .price-save{
  color:var(--color-black);
  font-size:15px;
  font-weight:900;
  padding-bottom:2px;
}

.content .products.products-block .p-bottom{
  margin-top:unset !important;
}

.content .products.products-block .product .p-in-in{
  min-height:110px !important;
}

.menu-helper{
    top:89px;
}

.search input{
    outline: none;
    box-shadow: none;
}

@media (max-width:767px){
    .top-nav-button-login{
        display: none;
    }
}

@media (min-width: 768px) {

    .header-top {
        height: 47px;
        padding-bottom: 10px;
        padding-top: 10px;
    }

    #navigation {
        height: 46px;
        left: 0;
        position: relative;
        z-index: 999;
    }

    .top-navigation-bar, .top-navigation-bar *{
        background: var(--color-muted-bg);
        color:#1a1a1a !important;
    }

    .top-nav-button-login{
        color:#fff;
        display: flex;
        flex-direction: column;
        gap: 2px;
        align-items: center;
        font-size: 13px;
    }

    .navigation-buttons{
        gap:12px;
    }

    .top-nav-button-login:hover{
        color:#fff;
    }
    .top-nav-button-login::before{
        content:"";
        background: url("/user/documents/images/login.png");
        background-repeat: no-repeat;
        background-size: contain;
        width:24px;
        height:24px;
        display: inline-block;
        font-family: shoptet;
        font-style: normal;
        font-variant: normal;
        font-weight: 400;
        line-height: 0;
        text-decoration: none;
        text-transform: none;
        vertical-align: middle;
    }
    

    #navigation{
        position: relative;
        bottom:-32px;
        overflow: inherit;
    }
    #header > div > div.header-top > div.navigation-buttons > a{
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
    font-size: 13px;
    top: 7px;
    color: #fff;
}

.header-top .btn.cart-count:before {
    font-size: 28px;
    margin-right: 6px;
}

.search button{
    position: relative;
    padding-left: 40px !important;
}

.search button::before{
    content:"";
    position: absolute;
    left:16px;
    top:50%;
    background: url("/user/documents/images/noun-search.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width:14px;
    height: 14px;
    translate:0% -50%;
}

    .navigation-in>ul>li>a {
        padding-bottom: 19px;
        padding-top: 19px;
    }
}



/* ==========================================================================
   PŘEPISY SHOPTET ŠABLONY
   ========================================================================== */

/* šířka celého e-shopu (šablona nastavuje pevné width po breakpointech).
   !important je nutné, protože Shoptet vykresluje šířku .container často
   jako INLINE styl podle nastavení "Šířka webu" v administraci šablony –
   inline styl má vyšší prioritu než jakékoliv externí CSS pravidlo bez
   ohledu na jeho specificitu, takže bez !important se container (a tedy
   i hero sekce uvnitř) na velkých obrazovkách držel užší vendor šířky. */
.container{
    max-width: 1470px !important;
    width: auto !important;
}

/* Nad 1470px viewport container explicitně roztáhneme na plných 1470px,
   ať vendor šířka (typicky 1200px) nemá šanci se prosadit ani při
   fullscreenu na širokém monitoru. */
@media (min-width: 1470px){
  .container{
    width: 1470px !important;
  }
}

/* Předchozí pravidlo přes .container zjevně nestačí – Shoptet zřejmě
   vynucuje šířku přímo na #content-wrapper (ID selektor má vyšší
   specificitu než .container, takže i s !important na obou stranách
   vyhrává ID). Cílíme proto přímo na #content-wrapper s co nejvyšší
   reálně použitelnou specificitou. */
html body #content-wrapper.container{
  max-width: 1470px !important;
  width: auto !important;
}

@media (min-width: 1470px){
  html body #content-wrapper.container{
    width: 1470px !important;
  }
}

/* Shoptet šablona (Classic) nastavuje na .container pevné pixelové šířky
   pro nižší breakpointy (např. 1200px, 980px, 750px, 320px), takže pod
   1470px se obsah dál zužoval na tyto pevné hodnoty místo aby vyplnil
   celou šířku okna. Toto pravidlo je přebíjí, aby byly všechny bloky
   (hero bannery, USP pás, kategorie, produkty, brand sekce) pod 1470px
   vždy přes celou šířku okna. */
@media (max-width: 1469px){
  .container{
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* krémové pozadí homepage jako v XD (šablona má bílý .content-wrapper) */
.in-index .content-wrapper,
.type-index .content-wrapper{
    background-color: var(--color-muted-bg);
}

/* šablona dává .homepage-box.welcome-wrapper šedé pozadí, rámečky a padding */
.homepage-box.welcome-wrapper{
    background-color: transparent;
    border-top: none;
    border-bottom: none;
    padding-left: 0;
    padding-right: 0;
}

/* šablona podtrhává odkazy uvnitř .welcome-wrapper */
.welcome-wrapper .fc-page a,
.welcome-wrapper .fc-page a:hover{
    text-decoration: none;
}

/* ==========================================================================
   HOMEPAGE SEKCE (.fc- prefix)
   ========================================================================== */

.content-wrapper.homepage-box.welcome-wrapper{
    background: var(--color-muted-bg);
}
   
.fc-page{
  font-family:var(--template-font);
  color:var(--color-ink);
  background:var(--color-muted-bg);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.fc-page *{margin:0;padding:0;box-sizing:border-box}
.fc-page img{display:block;max-width:100%}
.fc-page a{text-decoration:none;color:inherit}
.fc-page button{font:inherit;cursor:pointer;border:0;background:none}

.fc-page h1,.fc-page h2,.fc-page h3{
  font-family:var(--template-headings-font);
  color:var(--color-ink);
}

.fc-container{max-width:1470px;margin:0 auto;padding:0 20px}
.fc-section{margin:44px 0}

/* -- Tlačítka ----------------------------------------------------------- */
.fc-btn{
  display:inline-block;
  padding:10px 20px;
  font-family:var(--fontFamily--controls);
  font-size:12px;
  font-weight:700;
  letter-spacing:.03em;
  border-radius:var(--fc-radius);
  transition:background .15s ease, color .15s ease;
}
.fc-btn--white{background:var(--color-white);color:var(--color-ink)}
.fc-btn--white:hover{background:var(--color-muted-bg)}
.fc-btn--green{background:var(--color-green);color:var(--color-white)}
.fc-btn--green:hover{background-image:linear-gradient(var(--color-shadow),var(--color-shadow))}
.fc-btn--dark{background:var(--color-ink);color:var(--color-white)}
.fc-btn--dark:hover{background:var(--color-black)}
.fc-btn--outline{border:1px solid var(--color-ink);color:var(--color-ink);background:transparent}
.fc-btn--outline:hover{background:var(--color-ink);color:var(--color-white)}
.fc-btn--sm{padding:8px 16px;font-size:12px}

/* -- Placeholder pro chybějící fotky ------------------------------------ */
.fc-ph{
  background:linear-gradient(135deg,#2E3A33 0%,#4A5A4E 50%,#22302A 100%);
  background-size:cover;background-position:center;
}

/* -- 1. Hero bannery ----------------------------------------------------- */
.fc-hero{margin-top:24px}
.fc-hero-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:14px;
  min-height:540px;
}
.fc-banner{
  position:relative;
  border-radius:var(--fc-radius);
  overflow:hidden;
  display:flex;
  color:var(--color-white);
}
.fc-banner--main{
  grid-row:1 / span 2;
  align-items:flex-end;
}
.fc-banner--main::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.35) 45%, rgba(0,0,0,.05) 100%);
}
.fc-banner--side{align-items:center}
.fc-banner--side::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(to right, rgba(0,0,0,.88) 0%, rgba(0,0,0,.6) 45%, rgba(0,0,0,.05) 100%);
}
.fc-banner__content{
  position:relative;z-index:1;
  padding:28px;
  max-width:440px;
}
.fc-banner__logo{
  position:absolute;z-index:1;
  top:22px;left:28px;
  height:20px;width:auto;
  filter:brightness(0) invert(1); /* černé logo -> bílé na fotce */
}

.fc-banner__logo_right{
    top:22px;right:28px;left:unset;
    height:35px;width:auto;
}
.fc-banner__tag{
  position:absolute;z-index:1;
  top:22px;right:24px;
  font-family:var(--fontFamily--label);
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--color-white);
}
.fc-banner h2{
  font-size:24px;
  font-weight:700;
  line-height:1.15;
  color:var(--color-white);
  margin-bottom:10px;
}
.fc-banner--main h2{font-size:30px;margin-bottom:14px}
.fc-banner p{
  font-size:13px;
  opacity:.9;
  margin-bottom:18px;
  max-width:340px;
}
.fc-banner--side .fc-banner__content{padding:24px 28px}

.fc-banner__content a{
    color:var(--color-ink);
    cursor: pointer;
}

/* -- 2. Zelený pás výhod ------------------------------------------------- */
.fc-usp-bar{
  background:var(--color-green);
  border-radius:var(--fc-radius);
  color:var(--color-white);
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.fc-usp{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:20px 22px;
}
.fc-usp + .fc-usp{border-left:1px solid rgba(255,255,255,.35)}
.fc-usp__icon{flex:none;width:36px;height:36px;object-fit:contain}
.fc-usp strong{
  display:block;
  font-family:var(--template-headings-font);
  font-size:15px;font-weight:700;
  color:var(--color-white);
}
.fc-usp span{display:block;font-size:12px;opacity:.9}

/* -- 3. Kategorie -------------------------------------------------------- */
.fc-cat-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.fc-cat{
  display:flex;
  align-items:center;
  gap:20px;
  background:var(--color-white);
  border-radius:var(--fc-radius);
  padding:14px 22px;
  min-height:78px;
  font-family:var(--template-headings-font);
  font-size:14px;
  font-weight:700;
  color:var(--color-green) !important;
  transition:box-shadow .15s ease;
}
.fc-cat:hover{box-shadow:0 6px 18px var(--color-shadow)}
.fc-cat__img{
  flex:none;
  width:50px;height:50px;
  object-fit:contain;
}

/* -- 4. Produkty --------------------------------------------------------- */
.fc-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:24px;
}
.fc-section-head h2{
  font-size:24px;font-weight:700;
  color:var(--color-ink);
}

.fc-prod-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.fc-card{
  border-radius:var(--fc-radius);
  background:var(--color-white);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  transition:box-shadow .15s ease;
}
.fc-card:hover{box-shadow:0 8px 24px var(--color-shadow)}

.fc-card__media{
  position:relative;
  background:var(--color-white);
  aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center;
  padding:28px;
}
.fc-card__media img{max-height:100%;width:auto}
.fc-wish{
  position:absolute;top:14px;left:14px;
  width:32px;height:32px;
  border:1px solid #DDE5DF;
  border-radius:50%;
  background:var(--color-white);
  display:flex;align-items:center;justify-content:center;
  transition:background .15s ease;
}
.fc-wish svg{width:14px;height:14px;fill:none;stroke:var(--color-green);stroke-width:1.8}
.fc-wish:hover{background:var(--color-muted-bg)}
.fc-card__body{
  padding:18px 20px 22px;
  display:flex;flex-direction:column;flex:1;
  background: var(--color-muted-bg);border:2px solid #fff;border-top: none;
}
.fc-card:hover .fc-card__body{
    background: var(--color-white);
}
.fc-card__title{
  font-family:var(--template-headings-font);
  font-size:13px;font-weight:700;
  line-height:1.35;
  margin-bottom:10px;
}
.fc-card__desc{
  font-size:12px;color:var(--color-gray-muted);
  line-height:1.55;
  margin-bottom:14px;
}
.fc-stock{
  display:inline-flex;align-items:center;gap:7px;
  font-size:12px;font-weight:700;color:var(--color-green);
  margin-bottom:16px;
}
.fc-stock::before{
  content:"";
  width:6px;height:6px;border-radius:50%;
  background:var(--color-green);
}
.fc-price{
  font-family:var(--template-headings-font);
  font-size:20px;font-weight:800;
  color:var(--color-ink);
  margin-top:auto;
}

/* akční cena dle XD: červený štítek + žlutá cena + přeškrtnutá + sleva */
.fc-sale{margin-top:auto}
.fc-sale-row{
  display:flex;align-items:center;gap:12px;
  margin-bottom:12px;
}
.fc-sale-box{display:inline-flex;flex-direction:column;text-align:center}
.fc-badge-akce{
  background:var(--color-red);color:var(--color-white);
  font-family:var(--fontFamily--label);
  font-size:11px;font-weight:700;
  padding:3px 10px;
}
.fc-price--sale{
  background:var(--color-yellow);color:var(--color-black);
  font-family:var(--template-headings-font);
  font-size:18px;font-weight:800;
  padding:5px 14px;
}
.fc-price--old{
  font-size:13px;color:var(--color-gray-muted);
  text-decoration:line-through;
}
.fc-badge-discount{
  display:inline-block;
  background:var(--color-yellow);color:var(--color-black);
  font-family:var(--fontFamily--numbers);
  font-size:12px;font-weight:700;
  padding:3px 9px;
}

/* -- 5. Sekce značky Rippton (bílá, přes celou šířku okna) --------------- */
.fc-brand{
  background:var(--color-white);
  padding:60px 0;
  box-shadow: 50vw 0px 0px 0px var(--color-white), -50vw 0px 0px 0px var(--color-white);
}
.fc-brand-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:60px;
  align-items:center;
}
.fc-collage{
  display:grid;
  grid-template-columns:.8fr 1.1fr 1.35fr;
  grid-template-rows:repeat(2,240px);
  gap:12px;
}
.fc-collage img{
  width:100%;height:100%;
  object-fit:cover;
}
.fc-collage .fc-collage__tall{grid-column:3;grid-row:1 / span 2; height:70%; margin:auto}
.fc-brand__logo{height:24px;width:auto;margin-bottom:22px}
.fc-brand__copy h2{
  font-size:40px;font-weight:800;line-height:1.12;
  color:var(--color-green);
  margin-bottom:18px;
}
.fc-brand__copy p{
  font-size:13px;color:var(--color-gray-muted);
  line-height:1.6;
  max-width:420px;
  margin-bottom:26px;
}
.fc-brand__btns{display:flex;gap:12px;flex-wrap:wrap}
.fc-brand__btns .fc-btn{text-transform:none; color:var(--color-white)}

/* -- 6. Články ------------------------------------------------------------ */
.fc-articles h2{
  font-size:24px;font-weight:700;
  color:var(--color-ink);
  margin-bottom:24px;
}
.fc-art-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.fc-art-card{
  border-radius:var(--fc-radius);
  overflow:hidden;
  background:var(--color-white);
  display:flex;flex-direction:column;
  transition:box-shadow .15s ease;
}
.fc-art-card:hover{box-shadow:0 8px 24px var(--color-shadow)}
.fc-art-card__img{aspect-ratio:16/8.5;width:100%;object-fit:cover}
.fc-art-card__body{padding:20px 22px 24px;flex:1;display:flex;flex-direction:column}
.fc-art-card__body h3{
  font-size:16px;font-weight:700;
  margin-bottom:8px;
}
.fc-art-card__body p{
  font-size:13px;color:var(--color-gray-muted);
  line-height:1.55;
  margin-bottom:18px;flex:1;
}
.fc-art-link{
  font-family:var(--fontFamily--label);
  font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
  color:var(--color-ink);
}
.fc-art-link::after{content:" \2192";font-weight:700}
.fc-art-link:hover{color:var(--color-green)}

/* -- Responzivita --------------------------------------------------------- */
@media (max-width: 980px){
  .fc-hero-grid{grid-template-columns:1fr;grid-template-rows:auto;min-height:0}
  .fc-banner{min-height:230px}
  .fc-banner--main{grid-row:auto;min-height:340px}
  .fc-usp-bar{grid-template-columns:repeat(2,1fr)}
  .fc-usp{justify-content:flex-start}
  .fc-usp + .fc-usp{border-left:0}
  .fc-usp:nth-child(even){border-left:1px solid rgba(255,255,255,.35)}
  .fc-usp:nth-child(n+3){border-top:1px solid rgba(255,255,255,.35)}
  .fc-cat-grid{grid-template-columns:repeat(2,1fr)}
  .fc-prod-grid{grid-template-columns:repeat(2,1fr)}
  .fc-brand-grid{grid-template-columns:1fr;gap:36px}
  .fc-art-grid{grid-template-columns:1fr}
  .fc-brand__copy h2{font-size:30px}
}
@media (max-width: 560px){
  .fc-usp-bar{grid-template-columns:1fr}
  .fc-usp + .fc-usp{border-left:0;border-top:1px solid rgba(255,255,255,.35)}
  .fc-cat-grid,.fc-prod-grid{grid-template-columns:1fr}
  .fc-collage{grid-template-rows:repeat(2,150px)}
  .fc-brand__copy h2{font-size:26px}
}

/* ==========================================================================
   SHOPTET FIX – blok .welcome omezuje všechny <div> na 800 px:
   :where(body.ums_homepage_cart_checkout_headings--on) .welcome div {
       margin-inline:auto; max-width:800px;
   }
   Selektory níže mají vyšší specificitu (.welcome .fc-page div) a pravidlo
   šablony přebijí. Tento blok musí zůstat AŽ ZA všemi styly výše.
   ========================================================================== */

:where(body.ums_homepage_cart_checkout_headings--on) .welcome .h1, :where(body.ums_homepage_cart_checkout_headings--on) .welcome div {
  max-width: 1470px;
}

/* OPRAVA responzivity horního banneru (23. 7. 2026):
   Pevná šířka width:1470px bránila zmenšení bloku pod tuto hodnotu,
   takže mediální dotazy pro .fc-hero-grid níže neměly na mobilu/tabletu
   žádný efekt a banner přetékal mimo viewport. Nahrazeno max-width + 100%. */
.row.banners-row.has-text-banner{
  max-width:1470px !important;
  width:100% !important;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}

@media (min-width: 1470px){
  .row.banners-row.has-text-banner{
    width:1470px !important;
  }
}

.welcome .fc-page,
.welcome .fc-page div{
  max-width:none;
  margin-left:0;
  margin-right:0;
}

.welcome .fc-page{
  text-align:left;
}

/* znovu vycentrovat obsahové kontejnery */
.welcome .fc-page .fc-container{
  max-width:1470px;
  margin-left:auto;
  margin-right:auto;
}

/* znovu nastavit záměrné šířky, které reset výše zrušil */
.welcome .fc-page .fc-banner__content{max-width:440px}
.welcome .fc-page .fc-brand__copy p{max-width:420px}


/*MELIS*/

.fc-person{
  background:var(--color-white);
  padding:40px 20px;
  box-shadow: 50vw 0px 0px 0px var(--color-white), -50vw 0px 0px 0px var(--color-white);
}

.fc-grid_melis{
    display: grid;
    grid-template-columns:1fr;
    gap:20px;
    place-items: center;
    border:1px solid var(--color-muted-bg);
    transition: box-shadow .15s ease;
    border-radius: 4px;
}

.fc-grid_melis:hover{
    box-shadow: 0 8px 24px var(--color-shadow);
}

@media (min-width: 768px){
    .fc-grid_melis{
        grid-template-columns: 0.7fr 1fr;
    }
}

.fc-grid_melis__img{
   overflow: hidden;
   border-radius: 4px 0px 0px 4px;
}

.fc-grid_melis__text{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
    gap:16px;
    padding-block: 4px;
}

.fc-grid_melis__text p{
    font-size: 16px;

}

.fc-grid_melis__text p b{
    color: var(--color-green);

}

.fc-grid_melis__img img{
    transition:all .4s ease-out;
    border-radius: 4px 0px 0px 4px !important;
        object-fit: cover;
    aspect-ratio: 9 / 6;
    object-position: center;
}

.fc-grid_melis:hover .fc-grid_melis__img img{
    scale:1.05;    
}

.fc-grid_melis__logo{
   /* filter:invert(); */
   width:200px;
}

/* ==========================================================================
   NATIVNÍ SHOPTET PRODUKTY – globální vzhled podle .fc-card
   Platí pro všechny standardní Shoptet výpisy .products.products-block:
   homepage, kategorie, vyhledávání, výrobci, akce i související produkty.
   Nevztahuje se na samotný detail produktu ani položky v košíku.
   ========================================================================== */

/* nadpisy produktových skupin na homepage */
.homepage-group-title{
  margin:44px 0 24px;
  padding:0;
  border:0;
  font-family:var(--template-headings-font);
  font-size:24px;
  font-weight:700;
  line-height:1.2;
  text-align:left;
  text-transform:none;
  color:var(--color-ink);
}

/* všechny standardní výpisy produktů */
.content .products.products-block{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  width:100%;
  margin:0;
}

/* Shoptet clearovací pseudoprvky nesmí vytvořit další grid položky */
.content .products.products-block::before,
.content .products.products-block::after{
  content:none !important;
  display:none !important;
}

.content .products.products-block > .product{
  float:none !important;
  width:auto !important;
  max-width:none !important;
  min-width:0;
  margin:0 !important;
  padding:0 !important;
}

/* celá produktová karta */
.content .products.products-block .product .p{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:var(--fc-radius);
  background:var(--color-white);
  box-shadow:none;
  transition:box-shadow .15s ease;
}

.content .products.products-block .product .p:hover{
  box-shadow:0 8px 24px var(--color-shadow);
}

/* produktová fotografie */
.content .products.products-block .product .image{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  margin:0;
  padding:28px;
  overflow:hidden;
  background:var(--color-white);
}

.content .products.products-block .product .image img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:100%;
  margin:auto;
  object-fit:contain;
  transition:transform .25s ease;
}

.content .products.products-block .product .p:hover .image img{
  transform:scale(1.035);
}

/* spodní obsah karty */
.content .products.products-block .product .p-in{
  display:flex;
  flex:1;
  flex-direction:column;
  min-height:0;
  margin:0;
  padding:0;
  border:2px solid var(--color-white);
  border-top:0;
  background:var(--color-muted-bg);
  transition:background .15s ease;
}

.content .products.products-block .product .p:hover .p-in{
  background:var(--color-white);
}

.content .products.products-block .product .p-in-in{
  display:block;
  min-height:0;
  padding:18px 20px 0;
}

/* název produktu */
.content .products.products-block .product .name{
  display:block;
  margin:0 0 10px;
  padding:0;
  font-family:var(--template-headings-font);
  font-size:13px;
  font-weight:700;
  line-height:1.35;
  text-align:left;
  text-decoration:none;
  color:var(--color-ink);
}

.content .products.products-block .product .name:hover{
  color:var(--color-green);
}

/* hodnocení a dostupnost */
.content .products.products-block .ratings-wrapper{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  min-height:18px;
  margin:0;
  padding:0;
}

.content .products.products-block .stars-placeholder{
  display:none;
}

.content .products.products-block .availability{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0;
  font-family:var(--fontFamily--label);
  font-size:12px;
  font-weight:700;
  line-height:1.3;
  color:var(--color-green);
}

.content .products.products-block .availability::before{
  content:"";
  flex:0 0 6px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
}

.content .products.products-block .availability span{
  color:inherit !important;
}

/* cena + tlačítko drží u spodní hrany karty */
.content .products.products-block .p-bottom{
  margin-top:auto;
  padding:16px 20px 22px;
}

.content .products.products-block .p-bottom > div{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  width:100%;
}

.content .products.products-block .prices{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px 10px;
  min-width:0;
  margin:0;
}

.content .products.products-block .price{
  margin:0;
  padding:0;
  line-height:1;
}

.content .products.products-block .price-final strong{
  font-family:var(--template-headings-font);
  font-size:20px;
  font-weight:800;
  line-height:1.1;
  white-space:nowrap;
  color:var(--color-ink);
}

/* původní cena a akční cena */
.content .products.products-block .price-standard,
.content .products.products-block .price-save{
  font-size:12px;
  color:var(--color-gray-muted);
}

.content .products.products-block .price-standard{
  text-decoration:line-through;
}

.content .products.products-block .prices:has(.price-standard) .price-final strong{
  display:inline-block;
  padding:5px 10px;
  background:var(--color-yellow);
  color:var(--color-black);
}

/* tlačítko košíku / detail */
.content .products.products-block .p-tools{
  flex:0 0 auto;
  margin:0;
  padding:0;
}

.content .products.products-block .p-tools form{
  margin:0;
}

.content .products.products-block .p-tools .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  margin:0;
  padding:9px 15px;
  border:1px solid var(--color-green);
  border-radius:var(--fc-radius);
  background:var(--color-green);
  box-shadow:none;
  font-family:var(--fontFamily--controls);
  font-size:12px;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  text-transform:none;
  white-space:nowrap;
  color:var(--color-white);
  transition:background .15s ease,border-color .15s ease;
}

.content .products.products-block .p-tools .btn:hover{
  border-color:var(--color-ink);
  background:var(--color-ink);
  color:var(--color-white);
}

/* případné Shoptet štítky */
.content .products.products-block .flag{
  border-radius:0;
  font-family:var(--fontFamily--label);
  font-size:11px;
  font-weight:700;
}

.content .products.products-block .flag.flag-action{
  background:var(--color-red);
  color:var(--color-white);
}

/* kód produktu v návrhu karty není */
.content .products.products-block .p-code{
  display:none;
}

/* užší obsah se sidebar filtrem: tři sloupce */
@media (min-width:981px){
  .content-inner .products.products-block,
  .content-narrow .products.products-block{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:1100px){
  .content .products.products-block{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:780px){
  .content .products.products-block{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:560px){
  .homepage-group-title{
    margin-top:34px;
    font-size:22px;
  }

  .content .products.products-block{
    grid-template-columns:1fr;
  }

  .content .products.products-block .product .image{
    aspect-ratio:4 / 3;
    padding:22px;
  }

  .content .products.products-block .p-bottom > div{
    align-items:stretch;
    flex-direction:column;
  }

  .content .products.products-block .p-tools,
  .content .products.products-block .p-tools form,
  .content .products.products-block .p-tools .btn{
    width:100%;
  }
}

/* ==========================================================================
   PRODUKTY – opravy 23. 7. 2026
   1. odstranění rámečků zděděných ze Shoptetu
   2. přesně 3 produkty na homepage = 3 stejně široké sloupce
   3. šedé pozadí homepage produktové sekce přes celou šířku okna
   ========================================================================== */

/* Kompletní reset rámečků a linek původní šablony kolem produktových karet. */
.content .products.products-block > .product,
.content .products.products-block > .product::before,
.content .products.products-block > .product::after,
.content .products.products-block .product .p,
.content .products.products-block .product .p::before,
.content .products.products-block .product .p::after,
.content .products.products-block .product .image,
.content .products.products-block .product .p-in,
.content .products.products-block .product .p-in-in,
.content .products.products-block .product .p-bottom{
  border:0 !important;
  outline:0 !important;
}

.content .products.products-block > .product{
  box-shadow:none !important;
}

/* Karta má stín pouze při najetí, nikoliv černý či šedý obvod. */
.content .products.products-block .product .p{
  box-shadow:none !important;
}

.content .products.products-block .product .p:hover{
  box-shadow:0 8px 24px var(--color-shadow) !important;
}

/* Zachování jemného bílého oddělení spodní části bez obvodového rámečku. */
.content .products.products-block .product .p-in{
  border-top:0 !important;
  background:var(--color-muted-bg);
}

/*
   Homepage: jeden souvislý šedý pás pro celou sekci Akčný tovar.

   Původně měly box-shadow zvlášť nadpis a produktový grid. Jejich marginy
   ale stín nevybarvily, takže kolem sekce vznikaly bílé a šedé pruhy.
   Pozadí i boční stín proto patří společnému rodiči obou prvků.
*/
.in-index .content-wrapper:has(.homepage-products-1),
.type-index .content-wrapper:has(.homepage-products-1){
  position:relative;
  z-index:0;
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:44px;
  padding-bottom:40px;
  border:0 !important;
  background:var(--color-muted-bg) !important;
  box-shadow:
    50vw 0 0 0 var(--color-muted-bg),
    -50vw 0 0 0 var(--color-muted-bg);
}

/* Děti už nevytvářejí vlastní barevné pásy. */
.in-index .content-wrapper:has(.homepage-products-1) .homepage-group-title,
.type-index .content-wrapper:has(.homepage-products-1) .homepage-group-title,
.in-index .content-wrapper:has(.homepage-products-1) .products.products-block,
.type-index .content-wrapper:has(.homepage-products-1) .products.products-block{
  position:static;
  background:transparent !important;
  box-shadow:none !important;
}

.in-index .content-wrapper:has(.homepage-products-1) .homepage-group-title,
.type-index .content-wrapper:has(.homepage-products-1) .homepage-group-title{
  margin:0 0 24px;
  padding:0;
}

.in-index .content-wrapper:has(.homepage-products-1) .products.products-block,
.type-index .content-wrapper:has(.homepage-products-1) .products.products-block{
  margin-top:0;
  margin-bottom:0;
  padding-bottom:0;
}

/* Přesně tři produkty na homepage se neroztáhnou do čtyřsloupcového gridu. */
@media (min-width:1101px){
  .in-index .content .products.products-block:has(> .product:nth-child(3):last-child),
  .type-index .content .products.products-block:has(> .product:nth-child(3):last-child){
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* Na tabletu zůstávají dva sloupce, na mobilu jeden podle globálních pravidel. */
@media (max-width:560px){
  .in-index .content-wrapper:has(.homepage-products-1),
  .type-index .content-wrapper:has(.homepage-products-1){
    padding-top:30px;
    padding-bottom:30px;
  }

  .in-index .content-wrapper:has(.homepage-products-1) .homepage-group-title,
  .type-index .content-wrapper:has(.homepage-products-1) .homepage-group-title{
    margin-bottom:18px;
  }
}

/* ==========================================================================
   PRODUKTY – sjednocení ceny a tlačítek
   Cena a akce jsou v jednom vycentrovaném řádku. Tlačítka Do košíka i Detail
   mají shodnou velikost a stejnou šipku.
   ========================================================================== */

/* Celý spodní blok drží u spodního okraje karty. */
.content .products.products-block .product .p-bottom{
  display:flex;
  align-items:flex-end;
  width:100%;
}

/* Cena a tlačítko jsou vertikálně vycentrované v jednom řádku. */
.content .products.products-block .product .p-bottom > div{
  display:flex;
  flex:1 1 auto;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  min-height:40px;
}

.content .products.products-block .product .prices{
  display:flex;
  align-items:center;
  align-content:center;
  min-height:40px;
}

.content .products.products-block .product .price-final{
  display:flex;
  align-items:center;
  min-height:40px;
}

/* Stejný prostor pro Do košíka i Detail. */
.content .products.products-block .product .p-tools{
  display:flex;
  flex:0 0 116px;
  align-items:center;
  justify-content:center;
  width:116px;
  min-width:116px;
}

.content .products.products-block .product .p-tools form{
  display:flex;
  width:100%;
  margin:0;
}

.content .products.products-block .product .p-tools .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:100%;
  min-width:116px;
  min-height:40px;
  height:40px;
  padding:9px 14px;
  box-sizing:border-box;
  text-align:center;
}

/* Přepíše rozdílnou systémovou ikonu košíku a doplní stejnou šipku i Detailu. */
.content .products.products-block .product .p-tools .btn::before{
  content:"" !important;
  position:static !important;
  display:block !important;
  flex:0 0 8px;
  width:8px !important;
  height:8px !important;
  margin:0 !important;
  border:0 !important;
  border-top:2px solid currentColor !important;
  border-right:2px solid currentColor !important;
  background:none !important;
  font-family:initial !important;
  font-size:0 !important;
  line-height:0 !important;
  transform:rotate(45deg);
}

/* Shoptet u varianty Detail používá .single-button – rozměry zůstávají stejné. */
.content .products.products-block .product .p-bottom.single-button > div{
  align-items:center;
  justify-content:space-between;
}

/* Mobil: cena nad tlačítkem, tlačítko přes celou šířku. */
@media (max-width:560px){
  .content .products.products-block .product .p-bottom > div,
  .content .products.products-block .product .p-bottom.single-button > div{
    align-items:stretch;
    flex-direction:column;
    gap:12px;
  }

  .content .products.products-block .product .p-tools,
  .content .products.products-block .product .p-tools form,
  .content .products.products-block .product .p-tools .btn{
    flex-basis:auto;
    width:100%;
    min-width:0;
  }
}

/* ==========================================================================
   FREECARP – VLASTNÁ PÄTA PODĽA XD
   ========================================================================== */

:root{
  --color-footer-bg:#161513;
  --color-footer-border:rgba(255,255,255,.11);
  --color-footer-text:#FFFFFF;
  --color-footer-muted:rgba(255,255,255,.58);
  --color-footer-head:#F4F3ED;
}

/* Pôvodná systémová päta Shoptetu – vlastná päta je vložená až za ňou. */
footer#footer{
  display:none !important;
}

.fc-footer,
.fc-footer *{
  box-sizing:border-box;
}

.fc-footer{
  position:relative;
  z-index:1;
  width:auto;
  margin:0;
  background:var(--color-footer-bg);
  color:var(--color-footer-text);
  font-family:var(--template-font,"Manrope",sans-serif);
  box-shadow:
    50vw 0 0 0 var(--color-footer-bg),
    -50vw 0 0 0 var(--color-footer-bg);
}

.fc-footer a{
  color:inherit;
  text-decoration:none;
}

.fc-footer__in{
  width:100%;
  max-width:1470px;
  margin:0 auto;
  padding:68px 20px 58px;
  display:grid;
  grid-template-columns:minmax(300px,1.55fr) repeat(3,minmax(150px,.8fr));
  gap:clamp(38px,5vw,84px);
  align-items:start;
}

.fc-footer__col{
  min-width:0;
}

/* -- logo a úvod ------------------------------------------------------- */
.fc-footer__logo{
  display:inline-flex;
  align-items:center;
  width:min(280px,100%);
  margin:0 0 24px;
}

.fc-footer__logo img{
  display:block;
  width:100%;
  max-width:140px;
  height:auto;
  object-fit:contain;
  object-position:left center;
  filter:brightness(0) invert(1);
}

.fc-footer__desc{
  max-width:390px;
  margin:0 0 34px;
  color:var(--color-footer-muted);
  font-size:14px;
  line-height:1.72;
}

/* -- nadpisy ----------------------------------------------------------- */
.fc-footer__head{
  margin:0 0 21px;
  color:var(--color-footer-head);
  font-family:var(--template-headings-font,"Bricolage Grotesque",sans-serif);
  font-size:13px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.075em;
  text-transform:uppercase;
}

.fc-footer__block .fc-footer__head{
  margin-bottom:13px;
}

/* -- kontakt ----------------------------------------------------------- */
.fc-footer__address{
  margin:0;
  color:var(--color-footer-muted);
  font-style:normal;
  font-size:14px;
  line-height:1.9;
}

.fc-footer__address a{
  color:var(--color-footer-muted);
  transition:color .18s ease;
}

.fc-footer__address a:hover,
.fc-footer__address a:focus-visible{
  color:var(--color-footer-text);
}

/* -- navigácia --------------------------------------------------------- */
.fc-footer__list{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:13px;
  margin:0;
  padding:0;
}

.fc-footer__list li{
  margin:0;
  padding:0;
}

.fc-footer__list a{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  color:var(--color-footer-muted);
  font-size:14px;
  line-height:1.45;
  transition:color .18s ease,transform .18s ease;
}

.fc-footer__list a:hover,
.fc-footer__list a:focus-visible{
  color:var(--color-footer-text);
  transform:translateX(3px);
}

/* -- sociálne siete ---------------------------------------------------- */
.fc-footer__social{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:30px;
}

.fc-footer__social a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  flex:0 0 46px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:50%;
  color:var(--color-footer-text);
  background:rgba(255,255,255,.025);
  transition:
    background-color .18s ease,
    border-color .18s ease,
    transform .18s ease;
}

.fc-footer__social a:hover,
.fc-footer__social a:focus-visible{
  background:var(--color-green);
  border-color:var(--color-green);
  transform:translateY(-2px);
}

.fc-footer__social svg{
  display:block;
  width:21px;
  height:21px;
  fill:currentColor;
}

/* -- spodný riadok ----------------------------------------------------- */
.fc-footer__bottom{
  border-top:1px solid var(--color-footer-border);
}

.fc-footer__bottom-in{
  width:100%;
  max-width:1470px;
  min-height:62px;
  margin:0 auto;
  padding:18px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  color:rgba(255,255,255,.46);
  font-size:12px;
  line-height:1.5;
}

/* -- responzivita ------------------------------------------------------ */
@media (max-width:1100px){
  .fc-footer__in{
    grid-template-columns:1.25fr repeat(3,1fr);
    gap:36px;
  }

  .fc-footer__logo{
    width:min(240px,100%);
  }
}

@media (max-width:900px){
  .fc-footer__in{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding-top:54px;
  }

  .fc-footer__col--brand{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:minmax(250px,.9fr) minmax(260px,1.1fr);
    column-gap:48px;
    align-items:start;
  }

  .fc-footer__col--brand .fc-footer__logo,
  .fc-footer__col--brand .fc-footer__desc{
    grid-column:1;
  }

  .fc-footer__col--brand .fc-footer__block{
    grid-column:2;
    grid-row:1 / span 2;
  }
}

@media (max-width:600px){
  .fc-footer__in{
    grid-template-columns:1fr;
    gap:38px;
    padding:48px 20px 42px;
  }

  .fc-footer__col--brand{
    grid-column:auto;
    display:block;
  }

  .fc-footer__logo{
    width:min(250px,82vw);
    margin-bottom:22px;
  }

  .fc-footer__desc{
    margin-bottom:28px;
  }

  .fc-footer__bottom-in{
    min-height:0;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    padding-top:17px;
    padding-bottom:17px;
  }
}