/* Existing DietMedica palette, typography and the shared 1144px grid. */
.elementor .dm-header-nav>.e-con-inner{gap:12px!important;flex-wrap:nowrap!important}
.elementor .dm-header-nav .dm-nav .elementor-nav-menu--main .elementor-item{font:400 13px/24px 'Plus Jakarta Sans',sans-serif!important;padding-inline:6px!important;white-space:nowrap}
.elementor .dm-header-nav .dm-header-booking .elementor-button{font-size:13px!important;padding:10px 14px!important}
.elementor .dm-header-nav .dm-menu-cart{flex:0 0 36px!important;width:36px!important}
.dm-header-nav .elementor-nav-menu--main .elementor-nav-menu{flex-wrap:nowrap!important}
.dm-editorial{color:#173f32;font-family:'Plus Jakarta Sans',sans-serif;overflow-wrap:break-word}
.elementor .dm-editorial .dm-section{width:100%;padding:64px 24px!important}
.elementor .dm-editorial .dm-section>.e-con-inner{max-width:var(--dm-content-width,1144px)!important;width:100%;gap:32px}
.elementor .dm-editorial .dm-editorial-hero>.e-con-inner{align-items:center;gap:48px}
.dm-editorial .dm-editorial-copy{flex:1;min-width:0}
.dm-editorial .dm-editorial-visual{flex:1;min-width:0}
.dm-editorial .dm-editorial-photo img{width:100%;height:430px;object-fit:cover;object-position:center 28%;border-radius:28px}
.dm-editorial-caption{color:#62736a;letter-spacing:.04em}
.dm-editorial .dm-actions{width:100%;gap:12px}
.dm-editorial .dm-actions>.elementor-widget{width:auto!important}
.dm-editorial .dm-editorial-guide-grid{align-items:stretch;gap:24px}
.dm-editorial .dm-editorial-guide{flex:1;min-width:0}
.dm-editorial-guide .dm-editorial-card-link{margin-top:auto}
.dm-editorial .dm-editorial-cta .dm-actions{margin-top:8px}
/* Native blog filters. Only their visual skin is shared with the old topic pills. */
.elementor .dm-blog-controls{width:100%;min-width:0}
.dm-blog-search{width:100%;max-width:560px}
.dm-blog-search .jet-filter-label{font:600 13px/22px 'Plus Jakarta Sans',sans-serif;color:#173f32;margin-bottom:8px}
.dm-blog-search .jet-search-filter{display:flex;align-items:stretch;gap:8px;width:100%;min-width:0}
.dm-blog-search .jet-search-filter__input-wrapper{flex:1;min-width:0}
.dm-blog-search .jet-search-filter__input{box-sizing:border-box;width:100%;min-width:0;font:400 14px/22px 'Plus Jakarta Sans',sans-serif;border:1px solid #d4e4da;border-radius:999px;padding:12px 20px;background:#f8faf6;color:#173f32}
.dm-blog-search .jet-search-filter__submit{font:600 13px/22px 'Plus Jakarta Sans',sans-serif;border:1px solid #23664b;border-radius:999px;padding:10px 20px;background:#23664b;color:white;flex:0 0 auto}
.dm-blog-topics .jet-radio-list-wrapper fieldset{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0;min-width:0}
.dm-blog-topics .jet-radio-list__row{margin:0;min-width:0;max-width:100%}
.dm-blog-topics .jet-radio-list__item{display:block;margin:0}
.dm-blog-topics .jet-radio-list__button{display:flex;align-items:center;justify-content:center;font:600 13px/22px 'Plus Jakarta Sans',sans-serif;border:1px solid #d4e4da;border-radius:999px;padding:10px 20px;background:#e6f1e8;color:#173f32;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.dm-blog-topics .jet-radio-list__decorator{display:none}
.dm-blog-topics input:checked+.jet-radio-list__button{background:#23664b;color:white;border-color:#23664b}
.dm-blog-topics .jet-radio-list__label{color:inherit;font:inherit}
.dm-blog-reset .jet-remove-all-filters__button{font:600 12px/20px 'Plus Jakarta Sans',sans-serif;background:transparent;color:#23664b;border:0;padding:4px 0;text-decoration:underline;text-underline-offset:3px}
.dm-blog-native-pagination .jet-filters-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}
.dm-blog-native-pagination .jet-filters-pagination__link{font:600 13px/20px 'Plus Jakarta Sans',sans-serif;background:#e6f1e8;border:1px solid #d4e4da;border-radius:999px;color:#173f32;padding:10px 16px;cursor:pointer}
.dm-blog-native-pagination .jet-filters-pagination__current .jet-filters-pagination__link{background:#23664b;color:white;border-color:#23664b}
.dm-blog-controls .jet-filter input:focus-visible+div,.dm-blog-controls .jet-filter button:focus-visible,.dm-blog-controls .jet-filter input[type=search]:focus-visible,.dm-blog-native-pagination .jet-filters-pagination__link:focus-visible{outline:3px solid #ee751b;outline-offset:3px}
.elementor .dm-blog-controls .dm-blog-topics{display:block;overflow:visible;margin:0;padding:0;width:100%}
.elementor .dm-blog-empty-state{gap:16px;padding:32px;border:1px dashed #b7cebe;border-radius:24px;background:#f8faf6;text-align:center;width:100%;min-width:0}
.dm-blog-posts .jet-filter-preloader{color:#23664b}
.dm-editorial .dm-blog-posts{width:100%}
.dm-blog-posts .elementor-posts-container{gap:24px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.dm-blog-posts .elementor-post{display:flex;flex-direction:column;border:1px solid #e3e6e2;border-radius:22px;overflow:hidden;background:white;box-shadow:0 4px 16px -2px #1b4d3e0f}
.dm-blog-posts .elementor-post__thumbnail__link{display:block!important;margin:0!important;width:100%!important}
.dm-blog-posts .elementor-post__thumbnail{padding-bottom:64%!important}
.dm-blog-posts .elementor-post__thumbnail img{height:100%!important;object-fit:cover}
.dm-blog-posts .elementor-post__text{display:flex;flex-direction:column;gap:14px;padding:24px;flex:1}
.dm-blog-posts .elementor-post__title{font:700 24px/1.25 'Playfair Display',serif!important;margin:0!important;color:#173f32}
.dm-blog-posts .elementor-post__meta-data{font:400 11px/1.6 'Plus Jakarta Sans',sans-serif;color:#62736a!important;margin:0!important}
.dm-blog-posts .elementor-post__excerpt p{font:400 14px/1.65 'Plus Jakarta Sans',sans-serif;color:#62736a!important;margin:0!important}
.dm-blog-posts .elementor-post__read-more{font:700 13px/1.5 'Plus Jakarta Sans',sans-serif;color:#23664b;margin-top:auto;padding-top:8px;text-decoration:none}
.dm-blog-posts .elementor-pagination{display:flex;justify-content:center;gap:12px;margin-top:32px}
.dm-blog-posts .page-numbers{border-radius:999px;background:#e6f1e8;padding:8px 14px;color:#173f32;font-size:13px}
.dm-blog-posts .page-numbers.current{background:#23664b;color:white}
.dm-blog-empty-state{padding:40px;border:1px dashed #b7cebe;border-radius:24px;background:#f8faf6;text-align:center}
.dm-blog-empty-state h3{font:700 30px/1.25 'Playfair Display',serif;color:#173f32;margin:16px 0}
.dm-blog-empty-state p{color:#62736a;margin-bottom:20px!important;font-size:14px}
.dm-blog-empty-state a{color:#23664b;font-size:13px;font-weight:700}
.elementor .dm-opinions-page .dm-opinions-reviews{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px!important;width:100%!important;height:auto!important;padding:0!important}
.elementor .dm-opinions-page .dm-opinion-card{width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;align-self:stretch;box-sizing:border-box}
.dm-opinions-page .dm-opinion-card p{overflow-wrap:anywhere}
.dm-editorial .dm-app-visual{align-items:center}
.elementor .dm-app-phone-preview{width:260px!important;max-width:100%;border:7px solid #173f32;box-shadow:12px 18px 0 #b4d0b980;transform:rotate(3deg);margin:12px 0}
.dm-app-meal img{width:100%;height:145px;object-fit:cover;border-radius:16px}
.dm-app-phone-functions>.elementor-widget{background:#f8faf6;padding:10px 12px;border-radius:10px}
.dm-blog-article-title h1{font:700 clamp(34px,4.5vw,56px)/1.12 'Playfair Display',serif;color:#173f32;max-width:950px}
.dm-blog-article-meta .elementor-icon-list-items{flex-wrap:wrap;gap:16px;font-size:12px;color:#62736a}
.dm-blog-article-image img{width:100%;max-height:520px;object-fit:cover;border-radius:28px}
.dm-blog-article-layout>.e-con-inner{align-items:flex-start;gap:48px!important}
.dm-blog-article-content{width:100%;font-size:16px;line-height:1.8;color:#173f32}
.dm-blog-article-content p{margin:0 0 1.25em!important}
.dm-blog-article-content :is(h2,h3){font-family:'Playfair Display',serif;color:#173f32;margin:1.4em 0 .6em}
.dm-blog-article-content h2{font-size:32px}.dm-blog-article-content h3{font-size:25px}
.dm-blog-article-content :is(ul,ol){padding-left:24px;margin:0 0 24px}
.dm-blog-article-content img{max-width:100%;height:auto;border-radius:16px}
.dm-blog-article-content a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1024px){.dm-blog-posts .elementor-posts-container{grid-template-columns:repeat(2,minmax(0,1fr))!important}.elementor .dm-editorial .dm-editorial-hero>.e-con-inner{gap:32px}.elementor .dm-opinions-page .dm-opinions-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.elementor .dm-editorial .dm-section{padding:40px 16px!important}.elementor .dm-editorial .dm-section>.e-con-inner{gap:24px;flex-direction:column}.elementor .dm-editorial .dm-editorial-copy,.elementor .dm-editorial .dm-editorial-visual,.elementor .dm-editorial .dm-app-visual{width:100%!important}.dm-editorial .dm-editorial-photo img{height:340px}.elementor .dm-editorial .dm-editorial-guide-grid{flex-direction:column;gap:16px}.elementor .dm-editorial .dm-editorial-guide{width:100%!important}.elementor .dm-editorial .dm-actions>.elementor-widget{width:100%!important}.dm-editorial .dm-actions .elementor-button{width:100%}.dm-blog-posts .elementor-posts-container{grid-template-columns:minmax(0,1fr)!important}.dm-blog-empty-state{padding:28px 20px}.dm-blog-empty-state h3{font-size:26px}.elementor .dm-opinions-page .dm-opinions-reviews{grid-template-columns:minmax(0,1fr)}.elementor .dm-blog-article-layout .dm-blog-main-content,.elementor .dm-blog-article-layout .dm-blog-sidebar{width:100%!important}.dm-blog-article-content{font-size:15px}.elementor .dm-editorial .dm-editorial-cta{padding:24px!important}}
@media(min-width:1025px) and (max-width:1199px){.elementor .dm-header-nav>.e-con-inner{gap:8px!important}.elementor .dm-header-nav .dm-logo{width:132px!important;flex:0 0 132px!important}.elementor .dm-header-nav .dm-logo img{width:132px!important}.elementor .dm-header-nav .dm-nav .elementor-nav-menu--main .elementor-item{font-size:12px!important;padding-inline:4px!important}.elementor .dm-header-nav .dm-header-booking .elementor-button{font-size:12px!important;padding:10px 12px!important}}
@media(max-width:1024px){.elementor .dm-header-nav .elementor-nav-menu--dropdown{max-height:calc(100dvh - 112px);overflow-y:auto;overscroll-behavior:contain}.admin-bar .elementor .dm-header-nav .elementor-nav-menu--dropdown{max-height:calc(100dvh - 158px)}}
@media(prefers-reduced-motion:reduce){.dm-app-phone-preview{transform:none}}
