/**
 * Caffé Trieste / DIGIKROM 0.4.0 — source: supplied Figma JSON (home Desktop
 * 2:29, hero components 119:2749 / 119:2751) and screenshots.
 * Overrides legacy base/v02/v03 without altering saved WP Customizer settings.
 */
:root{--ct-figma-bg:#faf6ed;--ct-figma-brown:#674c47;--ct-figma-dark:#191919;--ct-slow:1.250123s}
html,body,.ct-theme,.ct-header{background-color:var(--ct-figma-bg)}

/* Top of the HERO: Figma subtraction of a 259x200.6 round rectangle; 34px
   protrudes below the top boundary at desktop, 144x110.6 on 360px mobile. */
.ct-header{z-index:25}
.ct-hero--carousel{position:relative;isolation:isolate;min-height:650px;overflow:hidden;background:#121818;display:block;border-radius:16px}
.ct-hero--carousel::before{
  content:"";position:absolute;left:50%;top:-166.4px;transform:translateX(-50%);
  width:259px;height:200.6px;border-radius:180px;
  background:var(--ct-figma-bg);z-index:12;pointer-events:none;
}
.ct-header .ct-logo{position:relative;z-index:26}
.ct-hero__slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;pointer-events:none;z-index:1;
  background-image:linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,0) 70%),var(--ct-hero-image);
  background-size:cover;background-position:center center;
  transition:opacity .55s ease,visibility .55s;
}
.ct-hero__slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.ct-hero__slide .ct-hero__content{position:relative;z-index:2;margin-left:8.5%;width:min(700px,55%);padding:40px 0}
.ct-hero--carousel h1,.ct-hero--carousel .ct-hero__title{
 font-family:Archivo,Arial,sans-serif;font-size:clamp(50px,4.27vw,82px);font-weight:700;
 letter-spacing:-.038em;line-height:1.087;max-width:650px;margin:0 0 0;
}
.ct-hero--carousel .ct-hero__subtitle{font-family:Archivo,Arial,sans-serif;font-size:clamp(21px,1.667vw,32px);font-weight:400;
 letter-spacing:-.025em;line-height:1.23;margin:0 0 32px}
.ct-hero--carousel .ct-special-cta{color:#191919}
.ct-hero__pagination{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:15;display:flex;align-items:center;gap:8px}
.ct-hero__dot{width:18px;height:18px;border:1.5px solid rgba(255,255,255,.67);background:transparent;border-radius:50%;padding:0;display:grid;place-items:center;transition:width .2s,height .2s,border-color .2s}
.ct-hero__dot span{display:block;border-radius:50%;width:6px;height:6px;background:transparent;transition:background .2s}
.ct-hero__dot.is-active{width:24px;height:24px;border-color:#fff}
.ct-hero__dot.is-active span{width:8px;height:8px;background:#fff}
.ct-hero__dot:hover{border-color:#fff}
.ct-hero__dot:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* Figma special CTA uses Smart Animate SLOW, 1.250123s (component 7:1385) */
.ct-special-cta,.ct-special-cta__label,.ct-special-cta__disk,.ct-special-cta__disk .ct-svg-icon{
  transition-duration:var(--ct-slow)!important;
  transition-timing-function:cubic-bezier(.2,.8,.2,1)!important;
}

/* Editorial typography: Figma 36px Archivo Light for product section headings,
   48px Istok Web Regular for brand story and footer; no synthesized Bold. */
.ct-section-heading h2{font-family:Archivo,Arial,sans-serif;font-weight:300;font-size:clamp(28px,2vw,36px);letter-spacing:-.025em;line-height:1.09}
.ct-story__heading h2{font-family:'Istok Web',Arial,sans-serif!important;font-weight:400!important;letter-spacing:-.025em!important;line-height:1.375!important}
.ct-story__text{font-family:Archivo,Arial,sans-serif;font-weight:400}
.ct-footer__intro h2{font-family:'Istok Web',Arial,sans-serif;font-weight:400;letter-spacing:-.025em;line-height:1.17;font-size:clamp(36px,2.5vw,48px)}
.ct-business__subtitle{font-weight:400}

/* View all is a text link. Figma default muted; hover dark and underlined. */
.ct-section-all{display:inline-flex;gap:10px;align-items:center;justify-content:center;background:none;border:0;border-radius:0;
 color:var(--ct-figma-brown);font:500 17.2px/1.45 Inter,Arial,sans-serif;min-height:0;padding:8px 0;
 text-decoration:none;text-underline-offset:5px;transition:color .25s ease;text-align:center;white-space:nowrap}
.ct-section-all:hover,.ct-section-all:focus-visible{background:none;color:var(--ct-figma-dark);text-decoration:underline}
.ct-section-all__arrow{font-size:19px;line-height:1;display:inline-block;transform:translateY(-1px)}
.ct-section-all--mobile{display:none}

/* Decorative coffee beans are an alpha-preserving WebP from Figma: above imagery. */
@media(min-width:1240px){
  .ct-story__beans{z-index:4;pointer-events:none}
  .ct-story__photo--second{z-index:2}
  .ct-story__heading h2{font-size:clamp(35px,2.5vw,48px);max-width:800px}
  .ct-story__text{font-size:clamp(17px,1.15vw,22px)}
}
@media(min-width:768px) and (max-width:1239px){
  .ct-story__beans{display:block;position:absolute;width:50%;max-width:none;height:auto;right:-28%;top:6%;z-index:4;pointer-events:none}
  .ct-story__photo--second{z-index:2}
}

/* Desktop WooCommerce cart: popover anchored to the right edge of the HERO;
   mobile retains accessible full-height drawer and overlay. */
@media(min-width:768px){
  .ct-cart-popover{position:fixed;left:var(--ct-popover-left,auto);right:auto;top:var(--ct-popover-top,140px);
    width:min(496px,calc(100vw - 24px));height:auto;max-height:min(78vh,930px);overflow-y:auto;
    border-radius:27px;background:#fff;box-shadow:0 22px 50px rgba(27,22,19,.21);
    transform:translateY(-9px) scale(.985);transform-origin:top right;
    opacity:0;visibility:hidden;pointer-events:none;z-index:55;
    transition:opacity .23s ease,transform .23s ease,visibility .23s}
  .ct-cart-popover.is-open{transform:translateY(0) scale(1);opacity:1;visibility:visible;pointer-events:auto}
  .ct-cart-popover .ct-drawer-heading{min-height:76px;padding:16px 24px;border-bottom:0}
  .ct-cart-popover .ct-drawer-heading strong{font-size:21px;font-weight:400}
  .ct-cart-popover .ct-close{height:64px;width:64px;margin:-16px -24px 0 0;border-radius:0 25px 0 25px;background:#4c4341;color:#fff;font-size:24px}
  .ct-cart-popover .ct-cart-drawer__body{padding:0 24px 24px}
  .ct-cart-popover .woocommerce-mini-cart-item{min-height:126px}
  .ct-cart-popover .woocommerce-mini-cart-item img{width:98px;height:98px;border-radius:12px}
  .ct-cart-popover .woocommerce-mini-cart__total{font-size:21px}
  .ct-cart-popover .woocommerce-mini-cart__buttons .button{width:100%}
}

/* Footer: standalone B2B button with arrow, not part of account menu. */
.ct-footer__b2b{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;
 background:#fff;border:1px solid transparent;border-radius:30px;min-height:48px;
 padding:10px 19px;font:500 15px/1.3 Inter,Arial,sans-serif;color:var(--ct-figma-brown);
 margin-top:27px;transition:background-color .3s ease,color .3s ease,border-color .3s ease}
.ct-footer__b2b .ct-svg-icon{width:18px;height:18px}
.ct-footer__b2b:hover,.ct-footer__b2b:focus-visible{background:var(--ct-figma-dark);color:#fff}
.ct-footer__social{gap:12px}

@media(max-width:1239px){
  .ct-hero--carousel::before{width:205px;height:165px;top:-138px;border-radius:150px}
  .ct-hero__slide .ct-hero__content{width:min(700px,75%);margin-left:7%}
  .ct-hero--carousel h1,.ct-hero--carousel .ct-hero__title{font-size:clamp(42px,5.4vw,74px)}
  .ct-hero--carousel .ct-hero__subtitle{font-size:clamp(19px,2.2vw,28px)}
}
@media(max-width:767px){
  .ct-hero--carousel{min-height:587px;display:block}
  .ct-hero--carousel::before{width:144px;height:110.6px;top:-95.3px;border-radius:110px}
  .ct-hero__slide{align-items:flex-end;background-position:60% center;
    background-image:linear-gradient(0deg,rgba(6,8,8,.76),rgba(6,8,8,.09) 75%),var(--ct-hero-image)}
  .ct-hero__slide .ct-hero__content{width:100%;margin:0;padding:0 25px 108px;text-align:center}
  .ct-hero--carousel h1,.ct-hero--carousel .ct-hero__title{font-size:clamp(37px,10.2vw,52px);line-height:1.12;letter-spacing:-.035em;max-width:none}
  .ct-hero--carousel .ct-hero__subtitle{font-size:clamp(18px,4.6vw,22px);line-height:1.28;margin:12px 0 24px}
  .ct-hero__pagination{bottom:30px}
  .ct-section-heading h2{font-size:clamp(27px,7.8vw,34px);font-weight:300}
  .ct-section-all--desktop{display:none!important}
  .ct-section-all--mobile{display:inline-flex!important;width:auto;min-height:44px;margin-top:20px}
  .ct-story__heading h2{font-size:clamp(28px,7.6vw,35px)!important;line-height:1.25!important}
  .ct-story__beans{display:none}
  .ct-footer__intro h2{font-size:clamp(33px,9vw,43px)}
  .ct-footer__b2b{margin-top:16px}
}
@media(prefers-reduced-motion:reduce){
 .ct-hero__slide,.ct-hero__dot,.ct-hero__dot span,.ct-section-all,.ct-cart-popover,
 .ct-special-cta,.ct-special-cta__label,.ct-special-cta__disk,.ct-special-cta__disk .ct-svg-icon{transition:none!important}
}
