/* =====================================================================
   Prague Coffee Festival E-shop – vlastní CSS (Shoptet)
   Soubor: user/documents/custom.css  |  načítá se z Záhlaví <HEAD>
   Struktura: 1 Tokeny  2 Základ  3 Tlačítka a formuláře  4 Hlavička
              5 Výpis produktů  6 Detail produktu  7 Košík a objednávka
              8 Obsahové stránky  9 Patička  10 Mobil
   ===================================================================== */

/* ---------- 1) Tokeny + přepis proměnných šablony ---------- */
:root{
  --pcf-purple:#4f3eb5;
  --pcf-purple-dark:#3a2c8f;
  --pcf-orange:#ff3b0d;
  --pcf-beige:#efe7e0;
  --pcf-footer:#ff3b0d; /* barva patičky: oranžová; pro fialovou dej var(--pcf-purple) */

  /* MEZERY – tady se ladí vzdušnost celého webu (hodnoty v px) */
  --pcf-space-s:8px;   /* uvnitř karty produktu: název, cena, tlačítko */
  --pcf-space-m:12px;  /* mezi prvky v bloku (detail, formuláře) */
  --pcf-space-l:24px;  /* mezi sekcemi: nadpis a produkty, karty pod sebou */
  --pcf-space-xl:40px; /* velké odskoky: nahoře na stránce, patička */
  --pcf-ink:#161616;
  --pcf-muted:#5b5752;
  --pcf-line:rgba(22,22,22,.14);
  --pcf-radius:16px;
  --pcf-pill:50px;
  --pcf-font:"JetBrains Mono",monospace;

  /* proměnné šablony Shoptet: akcent = fialová, hover = tmavší fialová */
  --color-secondary:#4f3eb5;
  --color-secondary-hover:#3a2c8f;
  --template-font:"JetBrains Mono";
  --template-headings-font:"JetBrains Mono";
  --colors-surface-secondary:#fff
}

/* ---------- 2) Základ ---------- */
body{font-family:var(--pcf-font)}
.overall-wrapper{overflow-x:clip;background:var(--pcf-beige)!important}
/* patička vždy dole: stránka je minimálně na celou výšku okna */
.overall-wrapper{display:flex!important;flex-direction:column;min-height:100vh;min-height:100dvh}
.overall-wrapper>#content-wrapper,.overall-wrapper>.content-wrapper{flex:1 0 auto}
@media(max-width:767px){.overall-wrapper>#content-wrapper,.overall-wrapper>.content-wrapper{width:100%}}
.overall-wrapper>header,.overall-wrapper>#footer{flex:0 0 auto}
*{font-weight:400;font-style:normal}
body,.page,.page-wrapper,.content-wrapper,#content{background-color:var(--pcf-beige)!important}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.price-final,.price-final strong,.p-final-price-wrapper *{font-family:var(--pcf-font)!important;color:var(--pcf-ink)}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4{font-weight:700!important}
a{color:var(--pcf-purple)}
a:hover{color:var(--pcf-purple-dark)}
#content .content-inner :is(p,.category-perex,.consents,.contact-box) a:not(.btn){text-decoration:underline;text-underline-offset:3px}
.breadcrumbs,.breadcrumbs.navigation-home-icon-wrapper,.navigation-home-icon-wrapper{background:none!important}
.breadcrumbs a,.breadcrumbs span{color:#4a4a4a!important;font-size:12px!important;text-decoration:none!important}
.breadcrumbs a:hover{color:var(--pcf-purple)!important}
.breadcrumbs span:last-child,.breadcrumbs .last{color:#000!important;font-weight:700!important}

/* ---------- 3) Tlačítka a formuláře ---------- */
.btn,button.btn,a.btn,.btn-primary,.btn-conversion,.btn-cart,.btn-default,input[type=button],input[type=submit],input[type=reset]{
  background-color:var(--pcf-purple)!important;color:#fff!important;border:none!important;outline:none!important;box-shadow:none!important;
  border-radius:var(--pcf-pill)!important;padding:12px 28px!important;font-family:var(--pcf-font)!important;font-weight:700!important;
  text-transform:none!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  transition:background-color .2s ease-in-out}
.btn:hover,button.btn:hover,a.btn:hover,.btn-primary:hover,.btn-conversion:hover,.btn-cart:hover,.btn-default:hover,input[type=submit]:hover{background-color:var(--pcf-purple-dark)!important;color:#fff!important}
.btn i,.btn svg,.btn [class^=icon-]{color:#fff!important}
.btn span:not([class^=icon-]):not([class*=" icon-"]),.order-button-text,.btn-lg{font-family:var(--pcf-font)!important;text-transform:none!important;letter-spacing:.3px}
.btn.next-step-back,.btn.btn-lg.next-step-back{background:none!important;color:var(--pcf-muted)!important;font-weight:400!important;text-decoration:underline!important}
.btn.next-step-back:hover{background:none!important;color:var(--pcf-purple)!important}
.btn.unveil-button{background:none!important;color:var(--pcf-purple)!important;padding:0!important}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],select,textarea,.form-control{
  background-color:#fff!important;border:2px solid var(--pcf-purple)!important;border-radius:12px!important;font-family:var(--pcf-font)!important;color:var(--pcf-ink)!important;box-shadow:none!important}
input:focus,select:focus,textarea:focus,.form-control:focus{border-color:var(--pcf-orange)!important;outline:none!important}
label,.form-group label{color:var(--pcf-ink)!important;font-weight:700!important}
.required-asterisk:after,.required-asterisk--before:before{color:var(--pcf-orange)!important}
input[type=checkbox],input[type=radio]{accent-color:var(--pcf-purple)}

/* ---------- 4) Hlavička ---------- */
header#header,header#header .header-wrap,.navigation-in,.toggle-window,.header-navigation{background-color:var(--pcf-beige)!important}
header#header :is(.icon-search,.icon-login,.icon-cart){color:var(--pcf-purple)!important;stroke:var(--pcf-purple)!important;stroke-width:2px!important}
header#header :is(.icon-search,.icon-login,.icon-cart):after{background:none!important;color:transparent!important;content:""!important;box-shadow:none!important}
.top-nav-button:hover [class^=icon-],.cart-count:hover [class^=icon-]{color:var(--pcf-orange)!important;stroke:var(--pcf-orange)!important}
a.cart-count.btn,.btn.btn-icon.cart-count{background:none!important;padding:0!important}
a[data-testid=headerMenuItem] b{color:#000!important;font-weight:700!important}
a[data-testid=headerMenuItem]:hover b{color:var(--pcf-purple)!important}
.navigation-in>ul>li.exp>a,.navigation-in>ul>li>a:hover{background:none!important}
.user-action-search.popup-widget.search-widget.search{background-color:var(--pcf-beige)!important}
.user-action-search.popup-widget.search-widget.search .search-form-input-group{background:#fff!important;border:none!important;border-radius:30px!important;padding:0!important;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.user-action-search.popup-widget.search-widget.search .search-input,.user-action-search.popup-widget.search-widget.search .form-control{border:none!important;background:transparent!important;padding:14px 18px!important;font-size:16px!important;box-shadow:none!important}
.user-action-search.popup-widget.search-widget.search .search-input::placeholder{color:var(--pcf-purple)!important;opacity:1!important}
.user-action-search.popup-widget.search-widget.search .search-widget-close{background:#fff!important;color:var(--pcf-purple)!important;width:32px;height:32px;border-radius:20%;padding:0!important;display:flex!important;align-items:center;justify-content:center}
.user-action-search.popup-widget.search-widget.search .search-widget-close :is(i,svg){color:var(--pcf-purple)!important;stroke:var(--pcf-purple)!important;fill:var(--pcf-purple)!important}

/* ---------- 5) Výpis produktů (kategorie, úvodní stránka, hledání) ---------- */
.homepage-group-title,.category-title{color:var(--pcf-ink)!important}
.homepage-group-title{margin:var(--pcf-space-l) 0!important;padding-top:var(--pcf-space-l)!important}
.products-wrapper{padding-top:0!important;padding-bottom:0!important;margin-bottom:var(--pcf-space-l)!important}
.category-top{margin-bottom:var(--pcf-space-l)!important;padding-bottom:var(--pcf-space-m)!important}
.category-perex{color:var(--pcf-muted)}
/* zákazník: řazení, filtr a počet položek pryč */
.listSorting,.category-header,.filters-wrapper,#filters-wrapper,.listingControls .itemsTotal,.itemsTotal{display:none!important}
/* jednotná karta produktu: vždy "Detail →", žádné varianty, tlačítko dole */
.products .product .p{position:relative;display:flex!important;flex-direction:column;height:100%;background:none!important}
.products .product .p-in{display:flex;flex-direction:column;flex:1 1 auto}
.products .product .p-in{padding-top:var(--pcf-space-m)!important}
.products .product .p-in-in{text-align:center;height:auto!important;min-height:0!important}
.products .product .name{display:block!important;min-height:0!important;height:auto!important}
.products .product .name,.products .product .name span{color:var(--pcf-ink)!important;font-weight:400!important;text-decoration:none!important}
.products .product .p-bottom{display:flex;flex-direction:column;align-items:center;margin-top:auto!important;padding-top:var(--pcf-space-s)}
.products .product .prices{text-align:center;padding:0!important;margin-bottom:var(--pcf-space-s)}
.products .product .p-tools{padding:0!important}
.products .product .product,.products .product{margin-bottom:var(--pcf-space-l)}
.products .product .price-final,.products .product .price-final strong{font-size:16px!important;font-weight:700!important;color:var(--pcf-ink)!important}
.widget-parameter-wrapper{display:none!important}
.products .product .p-tools form.pr-action{display:none!important}
.products .product .p-tools:has(form.pr-action)::after{content:"Detail \2192";display:inline-flex;align-items:center;justify-content:center;background:var(--pcf-purple);color:#fff;font-weight:700;border-radius:var(--pcf-pill);padding:12px 28px;margin:0;font-size:14px;line-height:16px;letter-spacing:.4px}
.products .product .p:hover .p-tools:has(form.pr-action)::after{background:var(--pcf-purple-dark)}
.products .product .p-tools .btn{margin:0!important}
/* celá karta je klikací (odkaz na název se roztáhne přes kartu) */
.products .product .name::before{content:"";position:absolute;inset:0;z-index:1}
.products .product .p-tools .btn{position:relative;z-index:2}
.products .product .image img{border-radius:var(--pcf-radius)}
/* slider a stránkování */
.product-slider-navigation:is(.navigation-next,.navigation-prev){background-color:var(--pcf-purple)!important;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s ease-in-out}
.product-slider-navigation:is(.navigation-next,.navigation-prev) :is(i,svg),.product-slider-navigation:is(.navigation-next,.navigation-prev):before{color:#fff!important;fill:#fff!important;stroke:#fff!important}
.product-slider-navigation:is(.navigation-next,.navigation-prev):hover{background-color:var(--pcf-purple-dark)!important}
.pagination-button{background:var(--pcf-purple)!important;color:#fff!important;border:none!important;border-radius:6px!important;padding:3px 8px!important}
.pagination-button:hover,.pagination-button.active{background:var(--pcf-purple-dark)!important;color:#fff!important}
.flags-default .flag{background-color:var(--pcf-orange)!important;color:#fff!important}

/* ---------- 6) Detail produktu ---------- */
.p-image-wrapper img,.p-image img,.p-main-image,.p-main-image img{border-radius:var(--pcf-radius)!important}
.p-thumbnails-inner a,.p-thumbnails-inner img,.p-thumbnail,.p-thumbnail img{border-radius:10px!important}
.p-thumbnails-wrapper .p-thumbnail,.p-thumbnails-inner .p-thumbnail{width:96px!important;height:96px!important}
.p-thumbnail.highlighted,.p-thumbnail:hover,.p-thumbnails a.highlighted img,.p-thumbnails a.highlighted:hover img{border-color:var(--pcf-purple)!important}
.p-detail-inner h1,.p-detail-inner-header h1{font-weight:800!important;letter-spacing:-.5px!important}
.p-short-description,.p-short-description p{margin:0 0 var(--pcf-space-s)!important;line-height:1.6!important;font-size:15px!important}
.p-detail-inner .variant-label,.p-detail-inner .parameter-name,.p-detail-inner label{font-size:13px!important;letter-spacing:.5px!important}
.p-detail-inner select{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;border-radius:var(--pcf-pill)!important;height:52px!important;padding:0 52px 0 24px!important;font-size:15px!important;width:100%!important;max-width:100%!important;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%234f3eb5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 22px center/14px!important}
.p-detail-inner .p-price-wrapper .price-final,.p-price-wrapper .price-final-holder{font-size:40px!important;line-height:48px!important;font-weight:800!important;color:var(--pcf-ink)!important;white-space:nowrap!important;word-spacing:-.15em!important;letter-spacing:-.5px!important}
.p-to-cart-block{display:flex!important;align-items:stretch!important;gap:16px!important}
.quantity{display:flex!important;align-items:center!important;justify-content:space-between!important;background:#fff!important;border:2px solid var(--pcf-purple)!important;border-radius:var(--pcf-pill)!important;overflow:hidden!important;height:52px!important;min-width:130px!important}
.quantity input.amount{flex:1 1 auto!important;min-width:0!important;width:auto!important;margin:0!important;padding:0!important;height:100%!important;text-align:center!important;font-size:18px!important;font-weight:700!important;background:transparent!important;border:none!important;border-radius:0!important}
.quantity :is(.increase,.decrease){background:transparent!important;color:var(--pcf-purple)!important;font-size:22px!important;font-weight:800!important;width:40px!important;height:100%!important;border:none!important;border-radius:0!important;padding:0!important;cursor:pointer}
.quantity :is(.increase,.decrease):hover{background:transparent!important;color:var(--pcf-orange)!important}
.p-to-cart-block .add-to-cart{display:flex!important;flex-wrap:wrap;gap:16px;align-items:stretch;width:100%}
.p-to-cart-block .add-to-cart-button{flex:1 1 auto!important;height:52px!important;font-size:16px!important;letter-spacing:.3px!important;padding:0 28px!important}
.p-to-cart-block .add-to-cart-button i{margin-right:12px!important}
.link-icons{display:flex!important;gap:28px!important;margin-top:20px!important}
.link-icons .link-icon,.link-icons .link-icon span,.link-icons .link-icon:before{color:var(--pcf-purple)!important;font-size:13px!important;font-weight:600!important;text-decoration:none!important}
.link-icons .link-icon:hover,.link-icons .link-icon:hover span{color:var(--pcf-orange)!important}
.p-detail-tabs-wrapper,.p-detail-full-width,.shp-tabs-wrapper,.shp-tabs-row,.shp-tabs-holder,.shp-tabs,.p-detail-tabs{background:var(--pcf-beige)!important}
.shp-tabs-row .shp-tab a,.shp-tabs-row .shp-tab-link{border-radius:12px 12px 0 0!important;font-weight:700!important;color:#000!important}
.shp-tabs-row .shp-tab.active a,.shp-tabs-row .shp-tab.active .shp-tab-link{background-color:#fff!important;color:var(--pcf-purple)!important}
.p-detail-full-width #tab-content,#tab-content{background-color:#fff!important;border-radius:0 var(--pcf-radius) var(--pcf-radius) var(--pcf-radius)!important;box-shadow:none!important;padding:32px!important}
.shp-tab:has(a[href="#productDiscussion"]),.shp-tab-link[href="#productDiscussion"],#productDiscussion{display:none!important}

/* ---------- 7) Košík a objednávka ---------- */
ol.cart-header li a,ol.cart-header li strong{text-decoration:none!important}
ol.cart-header li.active a,ol.cart-header li.active strong,ol.cart-header li.completed a,ol.cart-header li.completed strong{color:var(--pcf-purple)!important}
ol.cart-header li.completed a:before{background-color:color-mix(in srgb,var(--pcf-purple) 8%,#fff)!important;border-color:color-mix(in srgb,var(--pcf-purple) 8%,#fff)!important}
.cart-table,.cart-table tbody,.cart-table tr,.cart-table td{background:transparent!important}
.cart-table tr{border-bottom:1px solid var(--pcf-line)}
.cart-table .p-name .main-link,.cart-table .main-link{color:var(--pcf-ink)!important;font-weight:700!important;text-decoration:none!important}
.cart-table .quantity{height:44px!important;min-width:110px!important}
.cart-table .quantity input.amount{font-size:15px!important}
.cart-table .price-final{font-size:16px!important;font-weight:700!important}
.cart-table .remove-item{background:none!important;border:none!important;box-shadow:none!important}
/* zákazník: "Dárky a slevy" pryč (info o dopravě zdarma zůstává) */
.cart-summary>h2,.cart-summary>.h4{display:none!important}
.box.box-bg-default,.box-sm.box-bg-default,.cart-content,.order-summary{border-radius:var(--pcf-radius)!important;box-shadow:none!important}
.cart-content .h4,.cart-content h2.h4,.order-summary-inner .h4{color:var(--pcf-purple)!important;font-size:14px!important;letter-spacing:.5px;text-transform:uppercase}
.order-summary .toggle-contacts{background:var(--pcf-purple)!important;border-radius:var(--pcf-radius)!important}
.price-wrapper .price-label.price-primary,.order-summary-item strong{white-space:normal;font-weight:700!important}
.price-wrapper{display:grid!important;grid-template-columns:1fr auto;align-items:baseline;gap:4px 16px}
.price-wrapper .price-label{text-align:left}
.price-wrapper .price{text-align:right}
.order-summary-item.helper{display:flex;justify-content:space-between;gap:16px}
.order-summary-item.helper>div:first-child{flex:1 1 auto!important;width:auto!important}
.order-summary-item.helper>div:last-child{flex:0 0 auto!important}
.box.box-bg-default.co-box{background:#fff!important}
.in-registrace #content,.in-login #content,.in-zapomenute-heslo #content{background:#fff!important;border-radius:var(--pcf-radius)!important;box-shadow:none!important}
.registration-form fieldset.box{background:transparent!important}
.order-recapitulation .recapitulation-single.last,.order-recapitulation .recapitulation-single:last-child{display:none!important}
.price-primary,.price-primary *{color:var(--pcf-ink)!important}
.order-icon,.order-icon i{color:var(--pcf-purple)!important}
.shipping-billing-table .radio-wrapper label,.shipping-billing-table .radio-wrapper b{color:var(--pcf-ink)!important}
.shipping-billing-table .radio-wrapper.active label{color:var(--pcf-purple)!important}
.shipping-billing-table .payment-shipping-price,.shipping-billing-table .payment-shipping-price *{color:var(--pcf-ink)!important}

/* ---------- 8) Obsahové stránky, registrace, hledání, 404 ---------- */
.content-inner,.content-wrapper-in,.content-wrapper>.container{background:transparent!important}
.registration-form,.co-registration,.login-wrapper{background:transparent!important;box-shadow:none!important}
.ordering-process .co-box{background:#fff!important;border-radius:var(--pcf-radius)!important;box-shadow:none!important}
.registration-form fieldset.box{background:#fff!important}
.empty-content h1,.empty-content-404 h1{color:var(--pcf-purple)!important}
.empty-content h2,.empty-content p{color:var(--pcf-ink)!important}
.contact-box a,.contact-box li a{color:var(--pcf-purple)!important}
.contact-box ul li{word-break:normal!important}
.sidebar-in-cart .contact-box a,.order-summary .contact-box a{font-size:14px}
.search-results-title span,.search-results-heading span,h1 .search-string,.h1 span{color:var(--pcf-purple)!important}
hr,.category-top{border-color:var(--pcf-line)!important}

/* ---------- 9) Patička ---------- */
#footer{background-color:var(--pcf-footer)!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;gap:var(--pcf-space-l) 96px!important;padding-top:var(--pcf-space-xl)!important;overflow:hidden!important}
#footer>.container{flex:0 1 auto!important;width:auto!important;max-width:none!important;margin:0!important;padding:0 24px!important}
#footer .footer-icons{display:block!important;padding:0!important}
#footer .footer-icons a{filter:brightness(0) invert(1)!important;display:block!important;width:260px!important;max-width:100%!important;aspect-ratio:150/56!important;background:url("https://cdn.myshoptet.com/usr/eshop.praguecoffeefestival.cz/user/logos/logo_pcf_new_smaller-2.svg") center/contain no-repeat!important}
#footer .footer-icons img{width:100%!important;height:100%!important;opacity:0!important}
#footer>.footer-rows{order:2!important;width:max-content!important;max-width:100%!important}
#footer .custom-footer{margin:0!important}
#footer .custom-footer__contact{float:none!important;flex:0 0 auto!important;width:auto!important;padding:0!important;text-align:left!important}
#footer>.container:not(.footer-rows){order:1!important}
#footer .footer-bottom-full-width{order:3!important;flex:0 0 100%!important;width:100%!important;max-width:none!important;position:static!important;left:auto!important;margin:24px 0 0!important;background:#fff!important}
#footer .pageElement__heading,#footer .pageElement__heading span{color:#fff!important;font-size:20px!important;font-weight:700!important;margin-top:0!important}
#footer .contact-box,#footer .contact-box a{color:#fff!important}
#footer .contact-box>strong{display:block!important;color:#fff!important;font-size:16px!important;font-weight:700!important;margin-bottom:8px!important}
#footer .contact-box ul{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:12px!important;list-style:none!important;padding:0!important;margin:12px 0 0!important}
#footer .contact-box ul li{word-break:normal!important}
#footer .contact-box li:has(.mail){flex:0 0 100%!important}
#footer .mail a{font-size:16px!important;font-weight:700!important;text-decoration:underline!important}
.social-icon-list a{background-color:#fff!important}
.social-icon-list a::before{color:#000!important}
.social-icon-list a:hover{background-color:var(--pcf-purple)!important}
.social-icon-list a:hover::before{color:#fff!important}
#footer .footer-bottom>span:first-child{flex:1 1 auto!important;width:auto!important;padding-right:24px!important}
#footer .footer-bottom,#footer .footer-bottom a{color:var(--pcf-muted)!important}

/* ---------- 10) Mobil ---------- */
@media(min-width:768px){#footer .footer-bottom>span:first-child{white-space:nowrap!important}}
@media(max-width:768px){
  .p-to-cart-block{flex-direction:column!important}
  .p-to-cart-block .add-to-cart-button{flex:1 1 100%!important}
  .p-to-cart-block .quantity{width:100%!important}
  .p-detail-inner .p-price-wrapper .price-final,.p-price-wrapper .price-final-holder{font-size:32px!important}
  .user-action-search.popup-widget.search-widget.search .search-widget-close{margin-left:10%!important}
  .popup-widget.search-widget form .search-form-input-group{margin-top:20px!important}
}
