/* Caffé Trieste v0.7.0 — fixed UI states from supplied Figma frames:
   HeaderScrolled Frame 5022 (1920x126), PDP CTA Frame 5018 (1920x96),
   mobile CTA Frame 4865 (360x95), Mini-cart 496x867, menu 360x554.
   Uses native WooCommerce cart contents. */

/* Product carousel has NO visible scrollbar in the reference. */
.ct-rail,.ct-blog-rail{scrollbar-width:none!important;-ms-overflow-style:none!important;padding-bottom:0!important}
.ct-rail::-webkit-scrollbar,.ct-blog-rail::-webkit-scrollbar{height:0!important;width:0!important;display:none!important}
/* Figma hover add-to-cart: red by default AND on hover, rounded square. */
.ct-product-card__quick-add,.ct-product-card__quick-add:hover,
.ct-product-card__quick-add:focus-visible{background:#d13239!important;color:#fff!important;border-radius:20px!important}
.ct-product-card__quick-add:hover{background:#d13239!important}

/* Header: normal Figma navigation, then separate 126 px white sticky state. */
.ct-header{position:sticky;top:0;z-index:35;transition:background-color .2s ease,box-shadow .2s ease;background:#faf6ed}
.ct-header__scrolled-menu{display:none;background:#191919;color:#fff;border:0;border-radius:30px;min-height:63px;padding:13px 32px;align-items:center;justify-content:center;gap:12px;white-space:nowrap;font:500 17px/1.2 Archivo,Arial,sans-serif}
.ct-header__scrolled-menu .ct-svg-icon{width:24px;height:24px;filter:brightness(0) invert(1)}
.ct-header__scrolled-menu:hover,.ct-header__scrolled-menu:focus-visible{background:#34302e}
@media(min-width:1231px){
 .ct-header.is-scrolled{background:#fff;box-shadow:0 4px 24px rgba(0,0,0,.25)}
 .ct-header.is-scrolled .ct-header__inner{height:126px;grid-template-columns:minmax(0,1fr) 173px minmax(0,1fr)}
 .ct-header.is-scrolled .ct-header__scrolled-menu{display:inline-flex;grid-column:1;grid-row:1;justify-self:start}
 .ct-header.is-scrolled .ct-header__left{display:none}
 .ct-header.is-scrolled .ct-logo{grid-column:2;grid-row:1;justify-self:center}
 .ct-header.is-scrolled .ct-header__right{grid-column:3;grid-row:1}
 .ct-header.is-scrolled .ct-nav-extra{display:none}
}

/* Navigation drawer is 360 wide Figma frame, all links are native WP menu or categories. */
.ct-mobile-menu{top:0;bottom:0;left:0;right:auto;width:min(360px,100vw);height:100dvh;max-height:100dvh;overflow-y:auto;background:#faf6ed;z-index:56;box-shadow:12px 0 34px rgba(0,0,0,.16);overscroll-behavior:contain}
.ct-mobile-menu__header{height:64px;background:#fff;display:flex;justify-content:space-between;align-items:center;padding-left:16px;font:400 18px/1.25 Archivo,Arial,sans-serif;color:#4c4341}
.ct-mobile-menu__close{flex:0 0 64px;height:64px;border:0;background:#d13239;color:#fff;font:400 30px/1 Arial,sans-serif;display:grid;place-items:center}
.ct-mobile-menu__close:hover,.ct-mobile-menu__close:focus-visible{background:#ad252d}
.ct-mobile-menu__contents{padding:12px 16px 24px}
.ct-mobile-links{padding:0;margin:0;list-style:none}
.ct-mobile-links li{margin:0;border:0;border-bottom:1px solid #e4dbcf}
.ct-mobile-links a,.ct-mobile-links li a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:49px;padding:12px 0;color:#4c4341;font:400 14px/1.3 Archivo,Arial,sans-serif;text-decoration:none}
.ct-mobile-links a:hover,.ct-mobile-links a:focus-visible{color:#191919;text-decoration:underline}
.ct-mobile-menu__arrow{font-size:21px;font-weight:300;color:#e2d6c8;line-height:1}
.ct-mobile-menu__account{padding-top:18px}
.ct-mobile-menu__account>strong{display:block;padding:7px 0 8px;font:700 14px/1.3 Archivo,Arial,sans-serif;color:#4c4341}

/* Mini-cart under header cart icon: Figma Koszyk zakupowy component. */
.ct-cart-drawer .ct-drawer-heading{display:flex;align-items:center;justify-content:space-between;min-height:78px;padding:0 0 0 16px;border:0;background:#fff}
.ct-cart-drawer .ct-drawer-heading strong{font:400 18px/1.35 Archivo,Arial,sans-serif;color:#4c4341}
.ct-cart-drawer .ct-close{width:64px;height:64px;min-width:64px;min-height:64px;border-radius:0 24px 0 24px;background:#4c4341;color:#fff;font:400 28px/1 Arial,sans-serif;display:grid;place-items:center;margin:0}
.ct-cart-drawer .ct-close:hover,.ct-cart-drawer .ct-close:focus-visible{background:#191919}
.ct-cart-popover .ct-drawer-heading{padding:0 0 0 16px!important;min-height:78px!important}
.ct-cart-popover .ct-drawer-heading .ct-close{margin:0!important;width:64px;height:64px;border-radius:0 24px 0 24px}
.ct-cart-drawer__body,.ct-cart-popover .ct-cart-drawer__body{padding:0 16px 32px!important}
.ct-cart-popover{border-radius:24px!important;box-shadow:0 4px 44px rgba(0,0,0,.25)!important;width:min(496px,calc(100vw - 24px))!important;max-height:calc(100dvh - 24px)!important}
.ct-mini-cart{display:flex;flex-direction:column;gap:0}
.ct-mini-cart__list{list-style:none;margin:0;padding:0;max-height:min(60vh,640px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.ct-mini-cart__item{display:grid;grid-template-columns:115px minmax(0,1fr) 25px;gap:16px;position:relative;align-items:start;padding:16px 0;border-bottom:1px solid #dedede}
.ct-mini-cart__thumb{height:115px;width:115px;background:#e7ded1;border-radius:10px;overflow:hidden;display:grid;place-items:center}
.ct-mini-cart__thumb a{display:grid;place-items:center;width:100%;height:100%}
.ct-mini-cart__thumb img{display:block;width:100%;height:100%;object-fit:contain;padding:8px}
.ct-mini-cart__category{display:block;color:#b3926e;font:400 14px/1.3 Archivo,Arial,sans-serif;margin:4px 0 6px}
.ct-mini-cart__title{font:400 15px/1.35 Archivo,Arial,sans-serif;color:#4c4341;margin-bottom:13px}
.ct-mini-cart__title a:hover{text-decoration:underline}
.ct-mini-cart__line{display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-width:0}
.ct-mini-cart__stepper{display:flex;align-items:center;gap:4px}
.ct-mini-cart__stepper button,.ct-mini-cart__qty{display:grid;place-items:center;width:47px;height:49px;border-radius:10px;font:600 22px/1 Inter,Arial,sans-serif}
.ct-mini-cart__stepper button{background:#f6f6f6;color:#4c4341;border:0}
.ct-mini-cart__stepper button:hover:not(:disabled){background:#4c4341;color:#fff}
.ct-mini-cart__stepper button:disabled{opacity:.4;cursor:not-allowed}
.ct-mini-cart__qty{border:1px solid #e5e5e5;background:#fff;width:60px;font-size:15px;font-weight:500}
.ct-mini-cart__line-price{display:inline-flex;align-items:center;white-space:nowrap;gap:3px;color:#4c4341;font:700 13px/1.25 Archivo,Arial,sans-serif}
.ct-mini-cart__line-price small{font-weight:700;color:#907b78;font-size:12px}
.ct-mini-cart__quantity-mark{display:grid;place-items:center;width:21px;height:21px;flex:none;background:#000;color:#fff;border-radius:50%;font-size:11px}
.ct-mini-cart__remove{padding:3px;border:0;background:transparent;color:#d13239;display:grid;place-items:center;width:25px;height:32px}
.ct-mini-cart__remove svg{width:23px;height:23px}
.ct-mini-cart__remove:hover{color:#ad252d}
.ct-mini-cart__subtotal{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:26px 0 28px;color:#4c4341}
.ct-mini-cart__subtotal span{font:400 16px/1.3 Archivo,Arial,sans-serif}
.ct-mini-cart__subtotal strong{font:700 29px/1.2 Archivo,Arial,sans-serif}
.ct-mini-cart__checkout-link{display:flex;min-height:68px;padding:14px 28px;position:relative;align-items:center;justify-content:center;border-radius:36px;background:#d13239;color:#fff;font:500 18px/1.25 Inter,Arial,sans-serif;text-decoration:none}
.ct-mini-cart__checkout-link:hover,.ct-mini-cart__checkout-link:focus-visible{background:#ad252d;color:#fff}
.ct-mini-cart__checkout-link span{position:absolute;right:25px;font-size:30px;font-weight:300}
.ct-mini-cart__continue{display:block;margin:17px auto 0;border:0;background:none;color:#674c47;padding:15px;font:400 18px/1.3 Archivo,Arial,sans-serif;text-decoration:none;text-align:center}
.ct-mini-cart__continue:hover,.ct-mini-cart__continue:focus-visible{text-decoration:underline;color:#191919}
.ct-mini-cart__empty{margin:12px 0 20px;text-align:center;color:#4c4341}
.ct-mini-cart.is-loading{opacity:.58;pointer-events:none}
@media(min-width:768px){.ct-cart-popover{max-height:calc(100dvh - var(--ct-popover-top,140px) - 12px)!important}}

/* Scrolled product sticky CTA - Figma: 96px desktop / 95px mobile. */
.ct-pdp-sticky[hidden]{display:none!important}
.ct-pdp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:48;min-height:96px;background:#fff;box-shadow:0 -6px 34px rgba(0,0,0,.25);color:#4c4341}
.ct-pdp-sticky__inner{min-height:96px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.ct-pdp-sticky__product{display:flex;align-items:center;gap:32px;min-width:0}
.ct-pdp-sticky__thumb{width:64px;height:64px;object-fit:contain;background:#e7ded1;border-radius:12px;padding:4px;flex:none}
.ct-pdp-sticky__title{display:flex;flex-direction:column;gap:8px;min-width:0;font:400 20px/1.2 Archivo,Arial,sans-serif}
.ct-pdp-sticky__title>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px}
.ct-pdp-sticky__title .ct-card-badges{position:static;display:flex;gap:8px}
.ct-pdp-sticky__title .ct-badge{font-size:13px;padding:6px 9px}
.ct-pdp-sticky__purchase{display:flex;align-items:center;gap:24px;min-width:0}
.ct-pdp-sticky__price{display:flex;flex-direction:row-reverse;align-items:center;gap:12px;font:700 22px/1.1 Archivo,Arial,sans-serif;white-space:nowrap}
.ct-pdp-sticky__price>ins,.ct-pdp-sticky__price>.woocommerce-Price-amount{display:inline-flex;align-items:center;min-height:48px;padding:8px 15px;border-radius:28px;background:#000;color:#fff;text-decoration:none}
.ct-pdp-sticky__price>del{display:inline-flex;align-items:center;text-decoration:line-through}
.ct-pdp-sticky__price del{font-size:14px;font-weight:400;color:#674c47}
.ct-pdp-sticky__price ins{text-decoration:none}
.ct-pdp-sticky__action{display:flex;align-items:center;border:0;padding:0;background:transparent;flex:none;white-space:nowrap;font:500 17px/1.25 Inter,Arial,sans-serif}
.ct-pdp-sticky__label{display:grid;place-items:center;padding:0 30px;min-height:63px;border-radius:32px;background:#d13239;color:#fff}
.ct-pdp-sticky__disk{display:grid;place-items:center;width:63px;height:63px;border-radius:50%;background:#191919;color:#fff;transition:background .2s}
.ct-pdp-sticky__disk .ct-svg-icon{width:24px;height:24px;filter:brightness(0) invert(1)}
.ct-pdp-sticky__action:hover .ct-pdp-sticky__label{background:#ad252d}
.ct-pdp-sticky__action:hover .ct-pdp-sticky__disk{background:#d13239}
body.ct-has-sticky-pdp{padding-bottom:96px}
@media(min-width:768px) and (max-width:1150px){
 .ct-pdp-sticky__inner{gap:12px}.ct-pdp-sticky__product{gap:10px}
 .ct-pdp-sticky__title>span{max-width:185px;font-size:15px}
 .ct-pdp-sticky__purchase{gap:12px}.ct-pdp-sticky__price{font-size:17px}
 .ct-pdp-sticky__label{padding-inline:18px}
}
@media(max-width:1230px){
 .ct-header{position:sticky;top:0;z-index:35;background:#faf6ed}
 .ct-header.is-scrolled{background:#fff;box-shadow:0 4px 24px rgba(0,0,0,.25)}
 .ct-header .ct-header__inner{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;gap:8px;height:100px;align-items:center}
 .ct-header .ct-header__scrolled-menu{display:inline-flex;grid-column:1;grid-row:1;width:64px;height:63px;min-height:0;padding:0;border-radius:20px}
 .ct-header .ct-header__scrolled-menu span:not(.ct-svg-icon){display:none}
 .ct-header .ct-header__left{display:none}
 .ct-header .ct-logo{grid-column:2;grid-row:1;justify-self:center;max-width:173px}
 .ct-header .ct-header__right{grid-column:3;grid-row:1;gap:0;justify-content:end}
 .ct-header .ct-account-link,.ct-header .ct-mobile-menu-trigger,.ct-header .ct-nav-extra{display:none!important}
 .ct-header .ct-cart-trigger{display:inline-grid}
}
@media(max-width:767px){
 .ct-header .ct-header__inner{height:96px;grid-template-columns:56px minmax(0,1fr) 56px;gap:8px}
 .ct-header .ct-header__scrolled-menu{width:54px;height:54px;border-radius:15px}
 .ct-header .ct-cart-trigger{width:52px;height:52px}
 .ct-cart-popover{position:fixed;top:0;right:0;left:0;width:100%!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;overflow-y:auto}
 .ct-cart-drawer__body{padding:0 16px 22px!important}
 .ct-mini-cart__item{grid-template-columns:88px minmax(0,1fr) 22px;gap:10px}
 .ct-mini-cart__thumb{width:88px;height:88px}
 .ct-mini-cart__stepper button{width:34px;height:40px}.ct-mini-cart__qty{width:42px;height:40px}
 .ct-mini-cart__line-price{font-size:11px}
 .ct-mini-cart__line{gap:6px}
 .ct-mini-cart__subtotal strong{font-size:24px}
 .ct-mini-cart__checkout-link{min-height:60px;font-size:16px}
 .ct-pdp-sticky,.ct-pdp-sticky__inner{min-height:95px}
 .ct-pdp-sticky__inner{padding:16px 0;justify-content:center}
 .ct-pdp-sticky__product,.ct-pdp-sticky__price{display:none}
 .ct-pdp-sticky__purchase{width:100%;justify-content:center;gap:0}
 .ct-pdp-sticky__action{width:100%;max-width:340px;justify-content:center}
 .ct-pdp-sticky__label{flex:1;height:63px;padding-inline:12px;font-size:16px}
 .ct-pdp-sticky__disk{flex:0 0 63px}
 body.ct-has-sticky-pdp{padding-bottom:95px}
}
@media(prefers-reduced-motion:reduce){.ct-header,.ct-pdp-sticky__disk{transition:none!important}}
/* Keep steppers and price on one line in 496px Figma cart at desktop width. */
@media(min-width:768px){
 .ct-mini-cart__line{flex-wrap:nowrap;gap:5px}
 .ct-mini-cart__stepper{gap:3px}
 .ct-mini-cart__stepper button{width:42px;height:48px}
 .ct-mini-cart__qty{width:51px;height:48px}
 .ct-mini-cart__line-price{gap:2px;font-size:12px}
 .ct-mini-cart__quantity-mark{width:19px;height:19px;font-size:10px}
}
/* WP-assigned custom nav menus also receive the subtle arrow used in Figma. */
.ct-mobile-links .menu-item>a::after{content:"→";font-size:21px;font-weight:300;color:#e2d6c8;line-height:1;margin-left:auto}
