/* Responsive widget variables inherit the site's defaults without altering catalog data. */
.dop-menu-modern{--dm-card-pad:10px;--dm-action-size:46px;--dm-action-gap:10px;--dm-card-gap:18px;--dm-content-gap:6px;--dm-image-radius:20px;--dm-card-shadow:0 8px 24px #2637580d;--dm-logo-size:120px;--dm-logo-x:0px;--dm-logo-y:0px}
.dop-menu-modern .product-cards,.dop-menu-modern .product-cards:has(.product-card[data-dop-meta]){gap:var(--dm-card-gap)!important;grid-auto-rows:1fr;align-items:stretch!important}
.dop-menu-modern .product-cards>.product-card{padding:var(--dm-card-pad)!important;border-radius:var(--dm-radius)!important;background:var(--dm-card-surface,var(--dm-surface))!important;box-shadow:var(--dm-card-shadow)!important}
.dop-menu-modern .product-cards .product-image{height:var(--dm-photo-height,215px)!important;aspect-ratio:auto!important;--cut:calc(var(--dm-action-size) + var(--dm-action-gap));border-radius:var(--dm-image-radius)!important}
.dop-menu-modern .products-section[data-dm-single="1"] .product-cards .product-image{height:var(--dm-single-photo-height,230px)!important}
.dop-menu-modern .product-cards .product-image img{object-fit:var(--dm-fit,cover)!important}
.dop-menu-modern .product-cards .product-card-upper{gap:var(--dm-content-gap)!important;justify-content:flex-start!important}
.dop-menu-modern .product-cards .price-caption-section{gap:var(--dm-content-gap)!important;flex:0 1 auto!important}
.dop-menu-modern .product-cards .name-caption-section{gap:var(--dm-content-gap)!important}
.dop-menu-modern .product-cards .name-phrase{font-size:var(--dm-title-size,19px)!important;line-height:1.55;font-weight:850;min-height:0!important;margin:0;color:var(--dm-title-color,var(--dm-ink))!important}
.dop-menu-modern .product-cards .caption-phrase{font-size:var(--dm-caption-size,12px)!important;line-height:1.75;min-height:3.5em!important;color:var(--dm-caption-color,var(--dm-muted))!important}
.dop-menu-modern .product-cards .price-section{height:auto!important;min-height:36px!important;align-items:center!important;margin:0!important;padding:0!important}
.dop-menu-modern .number-toman-section{display:flex!important;align-items:baseline;justify-content:flex-start;flex-wrap:nowrap!important;gap:5px;min-width:0;width:100%;direction:rtl}
.dop-menu-modern .number-phrase{font-size:var(--dm-price-size,23px)!important;line-height:1.5;font-weight:850;color:var(--dm-price-color,var(--dm-orange))!important;white-space:nowrap}
.dop-menu-modern .toman-phrase{font-size:var(--dm-unit-size,10px)!important;white-space:nowrap}
.dop-menu-modern .dop-original-price{font-size:var(--dm-old-price-size,12px)!important;line-height:1.6;flex:0 1 auto!important;min-width:0;white-space:nowrap;margin:0!important;order:3;color:#8a929d}
.dop-menu-modern .product-cards .dop-product-badges{min-height:0!important;margin:0!important;gap:4px;align-content:flex-start}
.dop-menu-modern .dop-product-badges>span{font-size:var(--dm-badge-size,10px)!important}
.dop-menu-modern .product-cards .product-card>.product-card-button{top:var(--dm-card-pad)!important;right:var(--dm-card-pad)!important;width:var(--dm-action-size)!important;min-width:var(--dm-action-size)!important;height:var(--dm-action-size)!important;min-height:var(--dm-action-size)!important;border-radius:var(--dm-action-radius,18px)!important;background:var(--dm-action-color,var(--dm-blue))!important}
.dop-menu-modern .product-cards .product-card>.product-card-button:after{font-size:calc(var(--dm-action-size) * .65)!important}
.dop-menu-modern .product-cards>.product-card>.dm-favorite{left:calc(var(--dm-card-pad) + 6px);top:calc(var(--dm-card-pad) + 6px)}
.dop-menu-modern .product-cards .product-card-button:disabled{background:#9aA2ae!important}
/* Both amounts stay on the same line. Full units remain in the accessible label. */
.dop-menu-modern .number-toman-section:has(.dop-original-price){gap:4px;flex-wrap:nowrap!important}
.dop-menu-modern .number-toman-section:has(.dop-original-price) .dop-original-price{font-size:min(var(--dm-old-price-size,12px),3vw)!important}
.dop-menu-modern .bestseller-section .number-toman-section{flex-wrap:nowrap!important;width:auto}
/* Keep square targets stable while their content wraps inside the available width. */
.dop-unified .popup-mid .popup-mid-container{display:flex!important;align-items:center!important;gap:8px!important;overflow:hidden;box-sizing:border-box;min-height:68px!important}
.dop-unified .popup-mid .popup-mid-container .icon,.dop-unified .popup-mid .popup-mid-container img{width:var(--dm-option-icon,40px)!important;height:var(--dm-option-icon,40px)!important;max-width:42%;flex:0 0 auto;padding:0!important}
.dop-unified .popup-mid .popup-mid-container .icon img{width:100%!important;height:100%!important;max-width:100%}
.dop-unified .popup-mid .hover-popup-mid-container{flex:1;min-width:0;max-width:100%;font-weight:750;font-size:var(--dm-option-text,14px)!important;line-height:1.5;text-align:right}
.dop-unified .popup-mid .plus-price-name{display:flex!important;flex-direction:column;align-items:flex-start;min-width:0;width:100%;gap:2px}
.dop-unified .popup-mid .plus-price-name>span,.dop-unified .popup-mid .coffee-item .plus-price-name>span{font-size:var(--dm-option-text,14px)!important;font-weight:750;line-height:1.5!important;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;max-width:100%;margin:0!important}
.dop-unified .popup-mid .hover-popup-mid-container .plus-price{font-size:var(--dm-option-price,13px)!important;font-weight:750;line-height:1.4;white-space:nowrap}
.dop-unified .popup .popup-name-phrase{font-size:var(--dm-popup-title,25px)!important}
.dop-unified .popup .popup-img{height:var(--dm-popup-photo,300px)!important}
.dop-unified .popup-mid{container-type:inline-size}
@container(max-width:440px){
 .dop-unified .popup-mid .popup-mid-container{display:grid!important;grid-template-columns:var(--dm-option-icon,40px) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;column-gap:4px!important;row-gap:0!important;height:68px!important;min-height:68px!important;padding:4px 6px!important}
 .dop-unified .popup-mid .popup-mid-container .icon{grid-column:1;grid-row:1;max-width:100%;align-self:center;justify-self:center}
 .dop-unified .popup-mid .popup-mid-container .hover-popup-mid-container,.dop-unified .popup-mid .popup-mid-container .plus-price-name{display:contents!important}
 .dop-unified .popup-mid .popup-mid-container .plus-price{grid-row:1;grid-column:2;justify-content:center;align-self:center}
 .dop-unified .popup-mid .popup-mid-container .plus-price-name>span{grid-column:1/-1;grid-row:2;text-align:center;line-height:1.2!important;font-size:var(--dm-option-text,14px)!important;max-height:2.4em;overflow:hidden}
}
/* The notebook is the last child of the fixed table dock, so it needs no second bottom offset. */
.dop-unified .dop-table-dock{bottom:calc(12px + env(safe-area-inset-bottom))!important;right:12px!important;top:auto!important;transform:none!important;gap:8px!important}
.dop-unified .dop-table-dock:not(:has(>#caffito-notes-toggle)){bottom:var(--dop-dock-bottom,110px)!important}
.dop-unified .dop-table-dock>#caffito-notes-toggle{order:10;min-height:78px!important;padding:10px 12px!important;max-width:calc(100vw - 24px)!important}
.dop-menu-modern #caffito-notes-toggle{bottom:calc(12px + env(safe-area-inset-bottom))!important;min-height:78px}
.dop-unified .dop-table-dock>#caffito-notes-toggle :is(.notes-toggle-label,.dop-notes-label),.dop-menu-modern #caffito-notes-toggle :is(.notes-toggle-label,.dop-notes-label){font-size:var(--dop-notebook-font-desktop,18px)!important;line-height:1.6!important;padding:12px 16px!important;white-space:normal}
.dop-unified .dop-table-dock .dop-dock-control{font-size:var(--dop-dock-font-desktop,18px)!important;min-height:48px!important;padding:10px 15px!important}
.dop-unified .dop-table-dock .dop-dock-icon,.dop-unified .dop-table-dock .dop-dock-icon svg{width:var(--dop-dock-icon-size,24px);height:var(--dop-dock-icon-size,24px);flex-basis:var(--dop-dock-icon-size,24px)}
.dop-menu-modern .dm-dock-summary{min-width:0}.dop-menu-modern .dm-dock-summary b{font-size:14px}.dop-menu-modern .dm-dock-summary small{font-size:11px}
/* Physical direction of the arrows and a deliberate gap below each carousel. */
.dop-menu-modern :is(.bestseller-section,.services-section) .owl-nav{display:flex!important;direction:ltr;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 0!important;padding:0!important;position:static!important;width:100%!important}
.dop-menu-modern :is(.bestseller-section,.services-section) .owl-nav button{position:static!important;margin:0!important;flex:0 0 44px}
.dop-menu-modern :is(.bestseller-section,.services-section) .owl-nav .owl-next{order:0}.dop-menu-modern :is(.bestseller-section,.services-section) .owl-nav .owl-prev{order:1}
.dop-menu-modern :is(.bestseller-section,.services-section) .owl-nav .owl-next svg{transform:rotate(180deg)}
.dop-menu-modern :is(.bestseller-section,.services-section) .owl-nav .owl-prev svg{transform:rotate(180deg)}
/* Logo is part of the banner layout, with responsive Elementor position controls. */
.dop-menu-modern .dm-banner>div{flex:1;min-width:0}
.dop-menu-modern .dm-banner .dm-banner-logo,.dop-menu-modern .dm-banner .dm-banner-art{order:var(--dm-logo-order,2);transform:translate(var(--dm-logo-x),var(--dm-logo-y));flex:0 0 auto;max-width:35%}
.dop-menu-modern .dm-banner .dm-banner-logo{width:var(--dm-logo-size);height:var(--dm-logo-size);object-fit:contain;border-radius:0}
.dop-menu-modern .dm-banner strong{font-size:var(--dm-banner-title-size,26px)!important;overflow-wrap:anywhere}
.dop-menu-modern .dm-banner .dm-banner-label{font-size:var(--dm-banner-label-size,13px)!important}
/* Restore two contrasting footer panels, including icons that do not depend on a font. */
.dop-unified .footer-section{padding:0!important;gap:0!important;background:#fff!important}
.dop-unified .footer-section>.footer-section-right{background:var(--dop-primary)!important;color:#fff!important;padding:28px!important}
.dop-unified .footer-section>.footer-section-left{background:#fff!important;color:#202632!important;padding:28px!important}
.dop-unified .footer-section .footer-section-right :is(.footer-name,.footer-caption){color:#fff!important}
.dop-unified .footer-section .footer-contact-us :is(i,.dm-contact-icon){color:var(--dop-primary)!important;opacity:1!important;width:24px;height:24px;flex:0 0 24px}
.dop-unified .footer-section .footer-social-item{color:var(--dop-primary)!important;background:#eef3ff!important}
.dop-unified .footer-section .footer-social-item svg{width:24px;height:24px;color:var(--dop-primary)!important;fill:currentColor!important}
.dop-unified .footer-section .footer-social-item svg [fill]:not([fill="none"]){fill:currentColor!important}
.dop-unified .footer-section .footer-social-item img{filter:brightness(0) saturate(100%)!important;opacity:.8}
/* Availability colors are semantic; general button branding must not flatten map markers. */
.dop-unified .dop-reservation .dop-res-map button.dop-map-point{--dm-marker:var(--dop-available-color,#16803d);background:var(--dm-marker)!important;color:#fff!important;min-height:0!important;padding:0!important;border-radius:50%!important;box-shadow:0 var(--dop-point-depth,7px) 0 color-mix(in srgb,var(--dm-marker) 55%,#000),0 10px 15px #132d3429!important;border:1px solid color-mix(in srgb,var(--dm-marker) 70%,#000)!important}
.dop-unified .dop-reservation .dop-map-point[data-busy=true]{--dm-marker:var(--dop-busy-color,#dc2626)!important}
.dop-unified .dop-reservation .dop-map-point[data-closed=true]{--dm-marker:var(--dop-unavailable-color,#111)!important}
.dop-unified .dop-res-map[data-point-shape=rounded] button.dop-map-point{border-radius:25%!important}.dop-unified .dop-res-map[data-point-shape=square] button.dop-map-point{border-radius:5%!important}
.dop-unified .dop-res-map[data-three=false] button.dop-map-point{box-shadow:none!important}
.dop-unified .dop-res-map .dop-map-point[data-selected=true]{outline:3px solid #fff;outline-offset:3px}
/* Retained style settings are active, instead of being overridden by fixed modern values. */
body.dop-status-modern{font-size:var(--dop-font-size,16px)!important}.dop-status-modern .dop-status-page{border-radius:var(--dop-radius,24px)!important}.dop-status-modern .dop-status-actions button{border-radius:var(--dop-button-radius,12px)!important}.dop-status-modern .dop-back-main{font-size:var(--dop-back-font,20px)!important}.dop-status-modern [data-status-description]{font-size:inherit}
.dop-unified :is(.dop-service-dialog,.dop-checkout-dialog){border-radius:var(--dop-service-radius,20px)!important}
.dop-settings-card h3{margin:26px 0 12px;padding-top:14px;border-top:1px solid #e1e7ef;font-size:17px}
@media(max-width:600px){
 .dop-menu-modern{--dm-card-pad:8px;--dm-action-size:44px;--dm-action-gap:10px;--dm-card-gap:14px;--dm-logo-size:76px}
 .dop-menu-modern .product-cards .product-image{height:var(--dm-photo-height,215px)!important}
 .dop-menu-modern .products-section[data-dm-single="1"] .product-cards .product-image{height:var(--dm-single-photo-height,230px)!important}
 .dop-menu-modern .dm-banner strong{font-size:var(--dm-banner-title-size,19px)!important}
 .dop-unified .dop-table-dock>#caffito-notes-toggle :is(.notes-toggle-label,.dop-notes-label),.dop-menu-modern #caffito-notes-toggle :is(.notes-toggle-label,.dop-notes-label){font-size:var(--dop-notebook-font-mobile,14px)!important;max-width:55%;padding:12px!important}
 .dop-unified .dop-table-dock .dop-dock-control{font-size:var(--dop-dock-font-mobile,14px)!important;min-height:46px!important;padding:10px 14px!important}
 .dop-menu-modern .dm-dock-summary b{font-size:12px}.dop-menu-modern .dm-dock-summary small{font-size:10px}
 .dop-menu-modern .number-phrase{font-size:var(--dm-price-size,23px)!important}
 .dop-menu-modern .number-toman-section:has(.dop-original-price) .toman-phrase{font-size:8px!important}
 .dop-unified .footer-section>.footer-section-right,.dop-unified .footer-section>.footer-section-left{padding:22px!important}
}

.dop-menu-modern .product-cards{grid-template-columns:repeat(var(--dm-columns,var(--dm-desktop)),minmax(0,1fr))!important}
@media(max-width:900px){.dop-menu-modern .product-cards{grid-template-columns:repeat(var(--dm-columns,2),minmax(0,1fr))!important}}
@media(max-width:600px){.dop-menu-modern .product-cards{grid-template-columns:repeat(var(--dm-columns,var(--dm-mobile)),minmax(0,1fr))!important}}
