/* Footer- und Produktgalerie-Refresh – kuk Kaffee & Ko */

/* Klarer, ausgewogener Footer */
.shop-footer-v2{padding:0 max(1.25rem,calc((100vw - 1440px)/2 + 1.6rem));}
.footer-service-bar{width:min(1440px,100%);margin:auto;grid-template-columns:repeat(3,minmax(0,1fr));}
.footer-service-bar>div{min-height:76px;box-sizing:border-box;padding:1.35rem 1.5rem;gap:.85rem;}
.footer-service-bar>div:first-child{padding-left:0;}
.footer-service-bar>div:last-child{padding-right:0;}
.footer-service-bar i{flex:0 0 auto;width:29px;height:29px;background:#f0c784;color:#082619;box-shadow:0 0 0 5px #f0c78414;}
.footer-service-bar b{font-size:.76rem;letter-spacing:.015em;}
.footer-service-bar small{font-size:.7rem;line-height:1.4;}
.footer-main-v2{width:min(1440px,100%);grid-template-columns:minmax(260px,1.45fr) repeat(3,minmax(150px,.74fr));gap:clamp(2rem,4.1vw,5.6rem);padding:4.4rem 0 3.4rem;}
.footer-main-v2>section{min-width:0;}
.footer-main-v2 .footer-intro{padding-right:1.1rem;}
.footer-main-v2 .footer-intro p{max-width:355px;margin:1.25rem 0 1.45rem;font-size:.97rem;line-height:1.72;}
.footer-main-v2 .footer-brand{display:inline-flex;align-items:center;gap:.78rem;}
.footer-main-v2 .footer-brand .brand-mark{width:48px;height:48px;}
.footer-main-v2 .footer-brand .brand-word{font-size:1.42rem;}
.footer-main-v2 h2{margin:0 0 1.25rem;padding-bottom:.8rem;border-bottom:1px solid #ffffff26;font-size:.66rem;letter-spacing:.16em;}
.footer-main-v2 a{display:flex;align-items:center;width:max-content;max-width:100%;margin:.25rem 0;font-size:.84rem;line-height:1.35;}
.footer-main-v2 .footer-cta{margin-top:.25rem!important;min-height:46px;padding:.72rem .95rem;}
.footer-main-v2 .contact-line{font-size:.94rem!important;line-height:1.4;}
.footer-main-v2 .address{margin:1rem 0 .45rem;line-height:1.65;}
.footer-main-v2 .footer-status{margin-top:1rem;}
.footer-main-v2 .footer-micro{margin:.8rem 0 0;line-height:1.5;}
.shop-footer-v2 .footer-bottom{display:grid;grid-template-columns:minmax(180px,.65fr) 1fr;align-items:start;gap:1.6rem;padding:1.45rem 0 1.8rem;}
.shop-footer-v2 .footer-bottom nav{justify-content:flex-end;gap:.25rem .8rem;}
.shop-footer-v2 .footer-bottom nav a{font-size:.7rem;white-space:nowrap;}

/* Hochwertige Produktgalerie */
.product-visual{display:grid;gap:.85rem;}
.product-main-image{border-color:#d9cec1;box-shadow:0 18px 42px #22180c12;transition:box-shadow .25s ease;}
.product-main-image:hover{box-shadow:0 22px 48px #22180c1d;}
.product-main-image:after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid #ffffff9e;}
.product-main-image img{transition:transform .35s ease;}
.product-main-image:hover img{transform:scale(1.018);}
.product-gallery-open{position:absolute;z-index:2;right:1rem;top:1rem;display:inline-flex;align-items:center;gap:.5rem;min-height:38px;padding:.5rem .68rem;border:1px solid #e9d7c0;background:#fffdf9eF;color:#1e1712;font:800 .64rem/1 Inter,system-ui,sans-serif;letter-spacing:.075em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(6px);box-shadow:0 6px 18px #21140d18;transition:background .2s,transform .2s,border-color .2s;}
.product-gallery-open:hover,.product-gallery-open:focus-visible{background:#173d2b;color:#fffdf8;border-color:#173d2b;transform:translateY(-1px);}
.product-gallery-open i{font-style:normal;font-size:1rem;line-height:.6;}
.product-gallery-open small{font:700 .61rem/1 Inter,system-ui,sans-serif;color:inherit;opacity:.75;letter-spacing:0;text-transform:none;}
.product-image-count{background:#103a29;color:#fffdf8;border:1px solid #ffffff38;}
.product-thumbnails{padding:0;gap:.6rem;}
.product-thumb{width:74px;height:74px;border-color:#ded4c7;box-shadow:0 2px 8px #2416090d;}
.product-thumb:hover,.product-thumb:focus-visible{border-color:#8a5125;transform:translateY(-2px);outline:0;}
.product-thumb.is-active{border-color:#153c2c;box-shadow:0 0 0 2px #153c2c;}
.product-gallery-dialog{width:min(100vw - 2rem,1100px);height:min(100vh - 2rem,850px);max-width:none;max-height:none;margin:auto;padding:0;border:0;background:#0b1e16;color:#fffdf8;box-shadow:0 30px 90px #0000006b;overflow:hidden;}
.product-gallery-dialog::backdrop{background:#09110dcc;backdrop-filter:blur(5px);}
.product-gallery-dialog-inner{height:100%;display:grid;grid-template-rows:auto 1fr auto;}
.product-gallery-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid #ffffff23;}
.product-gallery-dialog-head span{font-size:.7rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#efc47f;}
.product-gallery-close{width:40px;height:40px;display:grid;place-items:center;border:1px solid #ffffff52;border-radius:50%;background:transparent;color:#fffdf8;font-size:1.35rem;line-height:1;cursor:pointer;transition:background .2s,transform .2s;}
.product-gallery-close:hover,.product-gallery-close:focus-visible{background:#ffffff1c;transform:rotate(90deg);}
.product-gallery-stage{position:relative;min-height:0;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem) clamp(3.8rem,8vw,7rem);background:radial-gradient(circle at 50% 42%,#244c38 0,#102c20 44%,#071a12 100%);}
.product-gallery-stage img{display:block;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 18px 25px #0000004d);}
.product-gallery-nav{position:absolute;top:50%;z-index:1;width:42px;height:42px;border:1px solid #ffffff4b;border-radius:50%;background:#071a12c9;color:#fffdf8;font-size:1.35rem;cursor:pointer;transform:translateY(-50%);transition:background .2s,transform .2s;}
.product-gallery-nav:hover,.product-gallery-nav:focus-visible{background:#c48443;color:#17100a;border-color:#c48443;transform:translateY(-50%) scale(1.06);}
.product-gallery-prev{left:1.1rem;}
.product-gallery-next{right:1.1rem;}
.product-gallery-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.2rem;border-top:1px solid #ffffff23;}
.product-gallery-dialog-foot small{color:#d7e4d9;font-size:.72rem;}
.product-gallery-modal-thumbs{display:flex;gap:.4rem;overflow:auto;max-width:70%;}
.product-gallery-modal-thumb{width:38px;height:38px;flex:0 0 auto;padding:0;border:1px solid #ffffff38;background:#fffdf8;opacity:.64;cursor:pointer;}
.product-gallery-modal-thumb.is-active{opacity:1;border:2px solid #e2b16c;}
.product-gallery-modal-thumb img{width:100%;height:100%;object-fit:cover;}
.product-gallery-modal-thumb:focus-visible{outline:2px solid #fffdf8;outline-offset:2px;}

/* Präziseres Warenkorb-Symbol */
.main-nav-v2 .header-icon .ui-cart-icon{width:22px;height:22px;display:block;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;fill:none;}
.main-nav-v2 .cart-link{border:1px solid transparent;}
.main-nav-v2 .cart-link:hover,.main-nav-v2 .cart-link:focus-visible{border-color:#cfaf8d;}
.main-nav-v2 .cart-link b{right:-1px;top:-1px;min-width:17px;height:17px;border:2px solid #fcfaf7;font-size:.57rem;}

@media(max-width:1050px){
  .footer-main-v2{grid-template-columns:1.4fr repeat(3,minmax(120px,.8fr));gap:2rem;}
  .footer-main-v2 .footer-intro{padding-right:0;}
}
@media(max-width:720px){
  .shop-footer-v2{padding:0 1rem;}
  .footer-service-bar>div,.footer-service-bar>div:first-child,.footer-service-bar>div:last-child{min-height:0;padding:1rem 0;border-right:0;border-bottom:1px solid #4f765d;}
  .footer-service-bar>div:last-child{border-bottom:0;}
  .footer-main-v2{grid-template-columns:1fr 1fr;gap:2.4rem 1.15rem;padding:3.1rem 0 2.65rem;}
  .footer-main-v2 .footer-intro{grid-column:1/-1;padding:0 0 1.6rem;border-bottom:1px solid #ffffff28;}
  .footer-main-v2 .footer-intro p{margin:1rem 0 1.1rem;font-size:.92rem;}
  .footer-main-v2 .footer-brand .brand-mark{width:43px;height:43px;}
  .footer-main-v2 .footer-brand .brand-word{font-size:1.25rem;}
  .footer-main-v2 h2{margin-bottom:.78rem;padding-bottom:.65rem;font-size:.61rem;}
  .footer-main-v2 a{font-size:.76rem;margin:.12rem 0;}
  .footer-main-v2 .contact-line{font-size:.78rem!important;}
  .footer-main-v2 .address{font-size:.78rem;margin:.75rem 0 .35rem;}
  .footer-main-v2 .footer-status{font-size:.68rem;}
  .shop-footer-v2 .footer-bottom{grid-template-columns:1fr;gap:.8rem;padding:1.15rem 0 1.4rem;}
  .shop-footer-v2 .footer-bottom nav{justify-content:flex-start;gap:.1rem .55rem;}
  .shop-footer-v2 .footer-bottom nav a{font-size:.66rem;}
  .product-gallery-open{right:.7rem;top:.7rem;min-height:36px;padding:.45rem .55rem;font-size:.59rem;}
  .product-gallery-open small{display:none;}
  .product-image-count{right:.7rem;bottom:.7rem;}
  .product-gallery-dialog{width:100vw;height:100dvh;max-height:none;border-radius:0;}
  .product-gallery-dialog-head{padding:.85rem 1rem;}
  .product-gallery-stage{padding:1rem 3.45rem;}
  .product-gallery-prev{left:.65rem;}
  .product-gallery-next{right:.65rem;}
  .product-gallery-nav{width:38px;height:38px;}
  .product-gallery-dialog-foot{padding:.7rem 1rem;}
  .product-gallery-modal-thumbs{max-width:58%;}
  .main-nav-v2 .header-icon .ui-cart-icon{width:21px;height:21px;}
}

/* Kontaktzeile */
.utility-v2 .utility-contact{justify-self:end;display:flex;align-items:center;justify-content:flex-end;gap:1rem;min-width:0}.utility-v2 .utility-contact a{justify-self:auto;white-space:nowrap}.footer-main-v2 .contact-phone{color:#f2d0a3!important;font-weight:800}@media(max-width:720px){.utility-v2 .utility-contact{display:none}}

/* Mittlere Breiten: eine klare Kontaktoption statt gedrängter Kopfleiste */
@media(max-width:1200px) and (min-width:721px){.utility-v2 .utility-contact a:last-child{display:none}.utility-v2 .utility-contact{gap:0}}
