Best Espresso Setup: Complete Chefio Coffee Guide - Chefio

Best Espresso Setup: Complete Chefio Coffee Guide

    <style>
        /* Override Shopify theme header decorations */
        .section-header {
            position: relative !important;
            border: none !important;
            background: transparent !important;
        }

        /* Remove decorative lines/pseudo elements from header */
        .section-header::before,
        .section-header::after,
        .section-header__title::before,
        .section-header__title::after,
        .article-template__title::before,
        .article-template__title::after,
        header.section-header::before,
        header.section-header::after {
            display: none !important;
            content: none !important;
            border: none !important;
            background: none !important;
        }

        /* Ensure clean header title with padding */
        .section-header__title,
        .section-header h1,
        header.section-header h1 {
            border: none !important;
            position: relative !important;
            background: transparent !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
            padding-top: 32px !important;
            padding-bottom: 32px !important;
            margin-left: auto !important;
            margin-right: auto !important;
        }

        /* Remove any spans or decorative elements inside header */
        .section-header span:not(.article__date *),
        .section-header__title span {
            border: none !important;
            background: none !important;
        }

        /* Remove horizontal lines that might be added by themes */
        .section-header hr,
        .section-header .divider,
        .section-header .separator {
            display: none !important;
        }

        /* TOC Link Styling - Override Shopify theme link styles */
        .puck-table-of-contents a,
        .puck-toc-link {
            color: #000000 !important;
            text-decoration: none !important;
            border-bottom: none !important;
            text-transform: none !important;
            letter-spacing: normal !important;
            font-weight: normal !important;
        }

        .puck-table-of-contents a:hover,
        .puck-toc-link:hover {
            color: #000000 !important;
            text-decoration: none !important;
            border-bottom: none !important;
        }

        .puck-table-of-contents a:visited,
        .puck-toc-link:visited {
            color: #000000 !important;
        }

        /* CSS ISOLATION: Override Shopify theme without breaking our styles */
        .puck-blog-content {
            /* Reset text and box model */
            font-family: var(--puck-font-body) !important;
            color: rgb(var(--puck-color-foreground)) !important;
            line-height: 1.5 !important;
            letter-spacing: normal !important;
            text-transform: none !important;
        }
        
        .puck-blog-content * {
            /* Ensure proper box model */
            box-sizing: border-box !important;
            /* Reset margins and paddings that Shopify might add */
            margin: 0;
            padding: 0;
        }

        .puck-keyword-topics {
            margin: 48px auto 24px auto;
            max-width: var(--page-width);
            padding: 0 16px;
        }

        .puck-keyword-inner {
            border: 1px solid rgba(226, 232, 240, 0.8);
            border-radius: 16px;
            padding: 28px;
            background: rgba(var(--puck-color-background), 0.95);
        }

        .puck-keyword-heading {
            font-size: 0.95rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(var(--puck-color-foreground), 0.7);
            margin-bottom: 6px;
            font-weight: 600;
        }

        .puck-keyword-primary {
            font-size: 1rem;
            margin-bottom: 16px;
            color: rgba(var(--puck-color-foreground), 0.8);
        }

        .puck-keyword-list {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }

        .puck-keyword-pill {
            display: inline-flex;
            align-items: center;
            border-radius: 9999px;
            background: rgba(var(--puck-color-primary), 0.08);
            color: rgb(var(--puck-color-foreground));
            padding: 6px 14px;
            font-size: 0.9rem;
            border: 1px solid rgba(var(--puck-color-primary), 0.15);
            text-transform: none;
        }

        .puck-collections-section {
            margin: 48px auto;
            max-width: var(--page-width);
            padding: 0 16px;
        }

        .puck-collections-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 24px;
            grid-auto-rows: min-content;
        }

        @media (max-width: 768px) {
            .puck-collections-grid {
                grid-template-columns: 1fr;
                gap: 16px;
            }
        }

        .puck-collection-card {
            border: 1px solid rgba(226, 232, 240, 0.8);
            border-radius: 16px;
            overflow: hidden;
            background: rgba(var(--puck-color-background), 0.95);
            transition: transform 0.2s ease, box-shadow 0.2s ease;
            display: flex;
            flex-direction: column;
            /* Removed min-height to allow dynamic sizing */
        }

        .puck-collection-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 15px 35px rgba(15, 23, 42, 0.08);
        }

        .puck-collection-card img {
            width: 100%;
            height: 140px;
            object-fit: cover;
            flex-shrink: 0;
        }

        .puck-collection-card-content {
            padding: 16px 18px;
            display: flex;
            flex-direction: column;
            gap: 10px;
            flex: 1;
        }

        .puck-collection-card-title {
            font-size: 1.125rem;
            font-weight: 600;
            color: rgb(var(--puck-color-foreground));
            font-family: var(--puck-font-heading, system-ui, -apple-system, sans-serif);
            line-height: 1.3;
        }

        .puck-collection-card-desc {
            font-size: 0.95rem;
            color: rgba(var(--puck-color-foreground), 0.75);
            line-height: 1.5;
            flex: 1;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .puck-collection-card a {
            align-self: flex-start;
            color: rgb(var(--puck-color-button));
            text-decoration: none;
            font-weight: 600;
            margin-top: auto;
        }
        
        /* Define CSS variables at root level for inline styles to access */
        :root {
            --page-width: 1000px; /* Wider content area */
            --puck-color-foreground: 0,0,0;
            --puck-color-background: 255,255,255;
            --puck-color-button: 1,123,36;
            --puck-color-button-text: 239,240,245;
            --puck-color-primary: 1,123,36;
            --puck-font-heading: Archivo, sans-serif;
            --puck-font-body: Questrial, sans-serif;
            --puck-color-primary-hex: #017b24;
            --puck-color-text-hex: #000000;
            --puck-color-button-hex: #017b24;
            /* Also set without 'puck' prefix for sections that use these */
            --color-foreground: 0,0,0;
            --color-background: 255,255,255;
            --color-background-2: 255,255,255;
            --puck-color-button-text: 239,240,245;
        }
        
        /* Override production article template title in header */
        .article-template__title {
            text-align: center !important;
            font-size: 3rem !important; /* Larger to match dev */
            font-weight: 700 !important;
            margin-bottom: 1.5rem !important;
            line-height: 1.2 !important;
        }
        
        /* Fix share link alignment on production */
        .ai-blog-share {
            text-align: center !important;
            margin: 2rem 0 !important;
            padding: 1rem !important;
        }
        
        .ai-blog-share-label {
            display: inline-block !important;
            margin-right: 1rem !important;
        }
        
        .ai-blog-share-link {
            display: inline-block !important;
            margin: 0 0.75rem !important;
            color: rgb(var(--puck-color-button)) !important;
            text-decoration: none !important;
            font-weight: 500 !important;
        }
        
        .ai-blog-share-link:hover {
            text-decoration: underline !important;
        }
        
        /* Shopify article meta/date overrides */
        .article-template__content .circle-divider,
        .article-template__content .circle-divider time,
        .article__date .circle-divider {
            display: block !important;
            text-align: center !important;
            margin: 0 auto 1rem auto !important;
            letter-spacing: 0.2em !important;
            text-transform: uppercase;
        }

        /* Center Shopify's native share block */
        .article-template__social-sharing {
            display: flex !important;
            justify-content: center !important;
            align-items: center !important;
            gap: 1.25rem;
            width: 100%;
            margin: 2rem auto !important;
            text-align: center !important;
        }

        .article-template__social-sharing share-button,
        .article-template__social-sharing .share-button__button {
            justify-content: center !important;
        }
        
        /* Override Shopify theme container constraints - target actual production classes */
        .article-template__content.page-width--narrow,
        .article-template__content.page-width--narrow.rte,
        .article-template__content.rte,
        .blog-post-content.rte,
        .page-width--narrow {
            max-width: 100% !important;
            width: 100% !important;
        }
        
        /* Force the article template itself to be wide when it contains our content */
        .article-template__content:has(.puck-blog-content) {
            max-width: 100% !important;
            width: 100% !important;
        }
        
        /* Override the narrow width specifically */
        .page-width--narrow .puck-blog-content,
        .article-template__content .puck-blog-content {
            max-width: 1000px !important;
            width: 100% !important;
        }
        
        .blog-post-content rte-formatter {
            max-width: 100% !important;
            width: 100% !important;
        }
        
        /* Break out of narrow containers using negative margins if needed */
        @media (min-width: 1440px) {
            .puck-blog-content {
                margin-left: calc(50% - 500px);
                margin-right: calc(50% - 500px);
                width: 1000px;
                max-width: 1000px;
            }
            
            /* Specific override for production article template */
            .article-template__content .puck-blog-content {
                margin-left: calc(50% - 500px) !important;
                margin-right: calc(50% - 500px) !important;
                width: 1000px !important;
                max-width: 1000px !important;
            }
        }
        
        /* Use theme CSS variables for consistent styling */
        .puck-blog-content {
            max-width: 1000px !important;
            margin: 0 auto;
            padding: 0 20px;
            width: 100%;
            box-sizing: border-box;
            /* Colors from store theme */
            --color-foreground: 0,0,0;
            --color-background: 255,255,255;
            --color-button: 1,123,36;
            --color-button-text: 239,240,245;
            --color-secondary-button: 255,255,255;
            --color-secondary-button-text: 1,123,36;
            --buttons-radius: 40px;
            --buttons-radius-outset: 41px;
            
            /* Product card styling from theme */
            --product-card-corner-radius: 1.8rem;
            --product-card-border-width: 0.1rem;
            --product-card-border-opacity: 1.0;
            --grid-desktop-horizontal-spacing: 28px;
            --grid-desktop-vertical-spacing: 28px;
            --grid-mobile-horizontal-spacing: 14px;
            --grid-mobile-vertical-spacing: 14px;
        }
        
        /* Override AI blog theme styles with higher specificity */
        .ai-blog-content,
        .ai-blog-content .puck-blog-content,
        .article-template__content .puck-blog-content {
            font-size: 16px !important; /* Force 16px base instead of theme's scaling */
            font-family: var(--puck-font-body);
            color: rgb(var(--puck-color-foreground));
        }
        
        /* Force specific font sizes throughout - combat theme interference */
        .ai-blog-content p,
        .ai-blog-content .puck-blog-content p,
        .puck-blog-content p,
        .article-template__content .puck-blog-content p {
            font-size: 18px !important; /* 1.125rem */
            line-height: 1.75 !important;
        }
        
        .ai-blog-content h1,
        .ai-blog-content .puck-blog-content h1,
        .article-template__content .puck-blog-content h1 {
            font-size: 48px !important; /* 3rem */
            font-family: var(--puck-font-heading);
            color: rgb(var(--puck-color-foreground));
        }
        
        .ai-blog-content h2,
        .ai-blog-content .puck-blog-content h2,
        .article-template__content .puck-blog-content h2 {
            font-size: 36px !important; /* 2.25rem */
            font-family: var(--puck-font-heading);
            color: rgb(var(--puck-color-foreground));
        }
        
        .ai-blog-content h3,
        .ai-blog-content .puck-blog-content h3,
        .article-template__content .puck-blog-content h3 {
            font-size: 30px !important; /* 1.875rem */
            font-family: var(--puck-font-heading);
            color: rgb(var(--puck-color-foreground));
        }
        
        /* Product titles and descriptions */
        .ai-blog-content .puck-product-title,
        .article-template__content .puck-product-title {
            font-size: 18px !important; /* 1.125rem */
        }
        
        .ai-blog-content .puck-product-desc,
        .article-template__content .puck-product-desc {
            font-size: 14px !important; /* 0.875rem */
        }
        
        .ai-blog-content .puck-product-price,
        .article-template__content .puck-product-price {
            font-size: 20px !important; /* 1.25rem */
        }
        
        /* Gallery subtitle */
        .ai-blog-content .puck-gallery-subtitle,
        .article-template__content .puck-gallery-subtitle {
            font-size: 18px !important; /* 1.125rem */
        }
        
        /* Reset generic AI blog content styles */
        .ai-blog-content .puck-blog-content h1,
        .ai-blog-content .puck-blog-content h2,
        .ai-blog-content .puck-blog-content h3,
        .ai-blog-content .puck-blog-content h4,
        .ai-blog-content .puck-blog-content h5,
        .ai-blog-content .puck-blog-content h6 {
            margin-top: 0 !important;
            margin-bottom: 1.5rem !important;
            font-weight: 700 !important;
            line-height: 1.2 !important;
        }
        
        .ai-blog-content .puck-blog-content p {
            margin-bottom: 1rem !important;
            font-size: 1.125rem !important;
            line-height: 1.75 !important;
        }
        
        
        /* Introduction Section - Match Puck Editor */
        .introduction-section {
            padding: 64px 16px;
            background: linear-gradient(to bottom, rgba(var(--color-background-2, 249,250,251), 1), rgb(var(--color-background, 255,255,255)));
            margin-bottom: 2rem;
        }
        
        .introduction-section h2 {
            font-size: clamp(1.875rem, 4vw, 2.25rem) !important;
            font-weight: bold !important;
            background: linear-gradient(to right, rgb(var(--color-foreground, 26,26,26)), rgba(var(--color-foreground, 26,26,26), 0.7)) !important;
            -webkit-background-clip: text !important;
            -webkit-text-fill-color: transparent !important;
            background-clip: text !important;
            margin-bottom: 32px !important;
            line-height: 1.3 !important;
            word-wrap: break-word !important;
            overflow: visible !important;
            white-space: normal !important;
        }
        
        .introduction-section .intro-content {
            font-size: 24px !important; /* 1.5rem - force larger size */
            line-height: 1.75;
            max-width: 1000px;
            margin: 0 auto;
        }
        
        .introduction-section .intro-drop-cap {
            float: left;
            font-size: clamp(3.5rem, 7vw, 5rem);
            font-weight: bold;
            margin-right: 12px;
            margin-top: 8px;
            line-height: 1;
            background: linear-gradient(135deg, var(--puck-color-primary-hex), var(--puck-color-button-hex));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        
        .introduction-section.highlight {
            background: linear-gradient(to bottom, rgba(var(--color-button, 71,112,219), 0.1), rgb(var(--color-background, 255,255,255)));
        }
        

/* Base Typography - Using theme fonts / .puck-blog-content { font-family: var(--puck-font-body); color: rgb(var(--puck-color-foreground)); line-height: 1.5; font-size: 1rem !important; / Ensure base size */ }

        /* Hero Section Style 1: Centered with Gradient */
        .puck-hero {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            padding: 100px 20px;
            text-align: center;
            background: rgb(var(--puck-color-background));
        }
        .puck-hero-small { padding: 60px 20px; }
        .puck-hero-medium { padding: 80px 20px; }
        .puck-hero-large { padding: 100px 20px; }
        .puck-hero-fullscreen { min-height: 100vh; padding: 100px 20px; }
        
        .puck-hero-category {
            display: inline-block;
            background: rgba(255, 255, 255, 0.2);
            color: white;
            padding: 6px 20px;
            border-radius: 20px;
            font-size: 12px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 20px;
            backdrop-filter: blur(10px);
            font-family: var(--puck-font-body);
        }
        
        .puck-hero-meta {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 24px;
            color: rgba(var(--puck-color-foreground, 31,41,55), 0.85);
            font-size: 14px;
            margin-top: 24px;
            flex-wrap: wrap;
            font-family: var(--puck-font-body);
        }
        
        @media (max-width: 768px) {
            .puck-hero {
                padding: 60px 20px;
            }
            .puck-hero-meta {
                flex-direction: column;
                gap: 12px;
            }
            /* Keep consistent padding on mobile */
            .puck-blog-content {
                padding: 0 15px;
            }
        }
        
        /* Hero Title Styling */
        .puck-hero h1,
        .puck-hero-title {
            font-size: clamp(2.5rem, 5vw, 4rem) !important;
            font-weight: 800 !important;
            line-height: 1.1 !important;
            margin-bottom: 24px !important;
            color: rgb(var(--puck-color-foreground, 31,41,55)) !important;
            text-align: center !important;
            text-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
            font-family: var(--puck-font-heading) !important;
        }
        /* Hero Subtitle Styling */
        .puck-hero p,
        .puck-hero-subtitle {
            font-size: clamp(1.125rem, 2vw, 1.375rem) !important;
            line-height: 1.6 !important;
            color: rgba(var(--puck-color-foreground, 31,41,55), 0.85) !important;
            max-width: 600px !important;
            margin: 0 auto 32px auto !important;
            text-align: center !important;
            display: block !important;
            font-family: var(--puck-font-body) !important;
            padding: 0 !important;
            box-sizing: border-box !important;
            left: 50% !important;
            transform: translateX(-50%) !important;
            position: relative !important;
        }
        
        /* Override any p tag within hero that has inline styles */
        .puck-hero [style*="text-align: center"],
        .page-width[style*="text-align: center"] p {
            text-align: center !important;
        }
        
        /* Specific hero title and subtitle classes */
        .puck-hero-container {
            text-align: center !important;
        }
        
        
        /* Hero Buttons */
        .ai-blog-content .puck-hero-btn,
        .puck-hero-btn {
            display: inline-block !important;
            padding: 1.25rem 3rem !important;
            font-size: 1.25rem !important;
            font-weight: 600 !important;
            text-decoration: none !important;
            border-radius: 9999px !important;
            transition: all 0.2s !important;
        }
        .puck-hero-btn-primary {
            background-color: rgb(var(--puck-color-button, 37,99,235));
            color: rgb(var(--puck-color-button-text, 255,255,255));
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
        }
        .puck-hero-btn-primary:hover {
            transform: scale(1.05);
        }
        .puck-hero-btn-outline {
            background-color: transparent;
            color: rgb(var(--puck-color-button, 37,99,235));
            border: 2px solid rgb(var(--puck-color-button, 37,99,235));
        }
        .puck-hero-btn-outline:hover {
            background-color: rgba(var(--puck-color-button, 37,99,235), 0.08);
        }
        
        /* General Typography with higher specificity */
        .ai-blog-content .puck-blog-content h1,
        .puck-blog-content h1 {
            font-size: 2.25rem !important;
            font-weight: 700 !important;
            line-height: 1.2 !important;
            margin: 0 0 1.5rem 0 !important;
        }
        .ai-blog-content .puck-blog-content h2,
        .puck-blog-content h2 {
            font-size: 1.875rem !important;
            font-weight: 700 !important;
            line-height: 1.2 !important;
            margin: 0 0 1.5rem 0 !important;
        }
        .ai-blog-content .puck-blog-content h3,
        .puck-blog-content h3 {
            font-size: 1.5rem !important;
            font-weight: 600 !important;
            line-height: 1.3 !important;
            margin: 0 0 0.75rem 0 !important;
        }
        .ai-blog-content .puck-blog-content p,
        .puck-blog-content p {
            font-size: 1.25rem !important;
            line-height: 1.75 !important;
            margin: 0 0 1rem 0 !important;
        }
        
        /* Conclusion Section */
        .puck-conclusion h2 {
            font-size: 1.875rem;
            font-weight: 700;
            margin-bottom: 1.5rem;
            text-align: center;
        }
        .puck-conclusion-content {
            font-size: 1.25rem;
            line-height: 1.75;
            margin-bottom: 2rem;
            text-align: center;
            color: rgba(var(--color-foreground, 26,26,26), 0.7);
        }
        .puck-conclusion-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 1.5rem;
            margin-top: 2rem;
        }
        .puck-conclusion-box {
            padding: 2rem;
            border-radius: 0.75rem;
            background: linear-gradient(135deg, rgba(var(--color-foreground, 26,26,26), 0.05) 0%, rgba(var(--color-foreground, 26,26,26), 0.1) 100%);
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
        }
        .puck-conclusion-box h3 {
            font-size: 1.5rem;
            font-weight: 700;
            margin-bottom: 1.5rem;
            color: rgb(var(--puck-color-foreground, 17, 24, 39));
            font-family: var(--puck-font-heading);
        }
        .puck-conclusion-box ul {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }
        .puck-conclusion-box li {
            display: flex;
            align-items: flex-start;
            font-size: 1rem;
            color: rgba(var(--puck-color-foreground), 0.9);
            font-weight: 500;
        }
        .puck-conclusion-box li:before {
            content: "✓";
            display: flex;
            align-items: center;
            justify-content: center;
            width: 1.5rem;
            height: 1.5rem;
            border-radius: 9999px;
            background: rgb(var(--puck-color-primary, 37, 99, 235));
            color: rgb(var(--color-button-text, 255,255,255));
            font-weight: 700;
            font-size: 0.875rem;
            margin-right: 0.75rem;
            flex-shrink: 0;
            margin-top: 0.125rem;
        }
        
        /* Rich Text Section with Prose Styling */
        .puck-rich-text {
            max-width: 1000px;
            margin: 0 auto;
            font-size: 18px !important; /* Force 1.125rem */
            line-height: 1.75;
            padding: 0 20px;
        }
        .ai-blog-content .puck-rich-text {
            font-size: 18px !important;
        }
        .ai-blog-content .puck-rich-text p {
            font-size: 18px !important;
            line-height: 1.75 !important;
        }
        .puck-rich-text h1, .ai-blog-content .puck-rich-text h1 { 
            font-size: 36px !important; /* 2.25rem */
            margin: 2rem 0 1.5rem !important; 
        }
        .puck-rich-text h2, .ai-blog-content .puck-rich-text h2 { 
            font-size: 30px !important; /* 1.875rem */
            margin: 2rem 0 1rem !important;
            font-weight: 700 !important;
            background: linear-gradient(to right, rgb(var(--color-foreground, 26,26,26)), rgba(var(--color-foreground, 26,26,26), 0.7)) !important;
            -webkit-background-clip: text !important;
            -webkit-text-fill-color: transparent !important;
            background-clip: text !important;
        }
        .puck-rich-text h3, .ai-blog-content .puck-rich-text h3 { 
            font-size: 24px !important; /* 1.5rem */
            margin: 1.5rem 0 0.75rem !important;
            font-weight: 600 !important;
            color: rgba(var(--color-foreground, 26,26,26), 0.85) !important;
        }
        .puck-rich-text h4, .ai-blog-content .puck-rich-text h4 { 
            font-size: 20px !important; /* 1.25rem */
            margin: 1.5rem 0 0.5rem !important; 
        }
        .puck-rich-text ul, .puck-rich-text ol { margin: 1rem 0; padding-left: 2rem; }
        .puck-rich-text li { margin-bottom: 0.5rem; }
        .puck-rich-text blockquote {
            border-left: 4px solid rgba(var(--color-foreground, 26,26,26), 0.15);
            padding-left: 1.5rem;
            margin: 1.5rem 0;
            font-style: italic;
            color: rgba(var(--color-foreground, 26,26,26), 0.6);
        }
        .puck-rich-text code {
            background-color: rgba(var(--color-foreground, 26,26,26), 0.05);
            padding: 0.125rem 0.25rem;
            border-radius: 0.25rem;
            font-size: 0.875rem;
        }
        .puck-rich-text pre {
            background-color: rgb(var(--color-foreground, 26,26,26));
            color: rgb(var(--color-background, 255,255,255));
            padding: 1rem;
            border-radius: 0.5rem;
            overflow-x: auto;
            margin: 1.5rem 0;
        }
        .puck-rich-text-dropcap:first-letter {
            float: left;
            font-size: 4rem;
            line-height: 1;
            font-weight: 700;
            margin-right: 0.5rem;
            margin-top: -0.25rem;
            color: var(--puck-color-primary-hex);
            font-family: var(--puck-font-heading);
        }
        
        /* Quote Section */
        .puck-quote {
            padding: 3rem 1rem;
            margin: 2rem 0;
            text-align: center;
        }
        .puck-quote-default {
            background-color: rgba(var(--color-foreground, 26,26,26), 0.05);
        }
        .puck-quote-default blockquote {
            color: rgb(var(--puck-color-foreground));
            font-family: var(--puck-font-body);
        }
        .puck-quote-large blockquote p {
            font-size: 1.75rem !important;
        }
        .puck-quote-testimonial {
            background-color: rgb(var(--color-foreground, 26,26,26));
        }
        .puck-quote-testimonial blockquote {
            color: rgb(var(--color-button-text, 255,255,255));
            font-family: var(--puck-font-body);
        }
        .puck-quote-testimonial blockquote p {
            font-size: 1.125rem !important;
        }
        .puck-quote blockquote {
            margin: 0;
            position: relative;
            max-width: 800px;
            margin: 0 auto;
        }
        .puck-quote blockquote p {
            font-size: 1.25rem;
            font-style: italic;
            line-height: 1.75;
            margin: 2rem 0;
        }
        .puck-quote cite {
            display: block;
            font-style: normal;
            margin-top: 1.5rem;
            font-size: 1rem;
            font-weight: 600;
        }
        
        /* Style 3 Product Spotlight - Split Layout */
        .puck-spotlight {
            max-width: 1000px;
            margin: 3rem auto;
            background: rgb(var(--puck-color-background));
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
        }
        .puck-spotlight-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            min-height: 500px;
            gap: 0;
        }
        .puck-spotlight-grid-right {
            direction: rtl;
        }
        .puck-spotlight-grid-right > * {
            direction: ltr;
        }
        .puck-spotlight-image {
            background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
            position: relative;
            overflow: hidden;
        }
        .puck-spotlight-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            min-height: 500px;
        }
        .puck-spotlight-grid-center .puck-spotlight-image {
            padding-bottom: 75%; /* Default 4:3 aspect ratio */
        }
        .puck-spotlight-grid-center .puck-spotlight-image img {
            position: absolute;
            top: 0;
            left: 0;
            min-height: auto;
        }
        .puck-spotlight-content {
            padding: clamp(30px, 5vw, 60px);
            display: flex;
            flex-direction: column;
            justify-content: center;
        }
        .puck-spotlight h2 {
            font-size: 32px;
            font-weight: 700;
            color: rgb(var(--puck-color-foreground));
            margin-bottom: 20px;
            line-height: 1.2;
        }
        .puck-spotlight-desc {
            font-size: 16px;
            line-height: 1.8;
            color: rgba(var(--puck-color-foreground), 0.85);
            margin-bottom: 30px;
        }
        .puck-spotlight-features {
            list-style: none;
            padding: 0;
            margin: 0 0 30px 0;
        }
        .puck-spotlight-features li {
            padding: 8px 0;
            color: rgb(var(--puck-color-foreground));
            font-size: 15px;
            display: flex;
            align-items: center;
        }
        .puck-spotlight-features li:before {
            content: "✓";
            color: rgb(var(--puck-color-foreground));
            font-weight: bold;
            margin-right: 12px;
            font-size: 18px;
        }
        .puck-spotlight-price-section {
            display: flex;
            align-items: center;
            gap: 20px;
            margin-bottom: 30px;
        }
        .puck-spotlight-price {
            font-size: 36px;
            font-weight: 700;
            color: rgb(var(--puck-color-button));
            font-family: var(--puck-font-heading);
        }
        .puck-spotlight-actions {
            display: flex;
            gap: 16px;
            width: 100%;
            max-width: 400px;
        }
        .puck-blog-content .puck-spotlight-btn,
        .puck-spotlight-btn {
            min-height: 44px !important;
            padding: 10px 24px !important;
            background: transparent !important;
            color: rgb(var(--puck-color-button)) !important;
            border: 1.5px solid rgb(var(--puck-color-button)) !important;
            border-radius: 6px !important;
            font-size: 14px !important;
            font-weight: 600 !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-decoration: none !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            font-family: var(--puck-font-body) !important;
            flex: 1 !important;
            min-width: 140px !important;
            box-shadow: none !important;
            text-transform: none !important;
        }
        .puck-blog-content .puck-spotlight-btn:hover,
        .puck-spotlight-btn:hover {
            background: rgb(var(--puck-color-button)) !important;
            color: white !important;
            transform: translateY(-1px) !important;
            box-shadow: 0 2px 8px rgba(var(--puck-color-button), 0.3) !important;
        }
        .puck-spotlight-btn-secondary {
            min-height: 48px;
            padding: 12px 32px;
            background: transparent;
            color: rgb(var(--puck-color-button));
            border: 2px solid rgb(var(--puck-color-button));
            border-radius: var(--buttons-radius, 40px);
            font-size: 15px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-family: var(--puck-font-body);
            flex: 1;
            min-width: 140px;
        }
        .puck-spotlight-btn-secondary:hover {
            background: rgba(var(--puck-color-button), 0.1);
            border-color: rgb(var(--puck-color-button));
            transform: translateY(-1px);
        }
        @media (max-width: 768px) {
            .puck-spotlight-grid {
                grid-template-columns: 1fr;
                min-height: auto;
            }
            .puck-spotlight-image {
                min-height: 300px;
            }
            .puck-spotlight-image img {
                min-height: 300px;
            }
            .puck-spotlight-content {
                padding: 30px;
            }
            .puck-spotlight-content h2 {
                font-size: clamp(24px, 5vw, 32px);
            }
            .puck-spotlight-actions {
                flex-direction: column;
                gap: 12px;
                max-width: 100%;
            }
            .puck-spotlight-btn,
            .puck-spotlight-btn-secondary {
                width: 100%;
                text-align: center;
                min-width: unset;
            }
        }
        @media (max-width: 480px) {
            .puck-spotlight {
                padding: 20px 15px;
            }
            .puck-spotlight-content {
                padding: 25px 20px;
            }
            .puck-spotlight-image {
                min-height: 250px;
            }
            .puck-spotlight-features {
                font-size: 14px;
            }
        }
        
        /* List view button specific styles - override Shopify theme */
        .puck-gallery-list-item .puck-list-btn,
        .article-template__content .puck-gallery-list-item .puck-list-btn,
        .template-article .puck-gallery-list-item .puck-list-btn,
        .shopify-section .puck-gallery-list-item .puck-list-btn,
        .main-article .puck-gallery-list-item .puck-list-btn,
        .puck-blog-content .puck-gallery-list-item .puck-list-btn,
        body .puck-gallery-list-item a.puck-list-btn,
        html body .puck-gallery-list-item a.puck-list-btn {
            width: auto !important;
            margin-left: auto !important;
            display: inline-block !important;
            flex: none !important;
            max-width: fit-content !important;
            min-width: auto !important;
        }

        /* Ensure the container doesn't force full width */
        .puck-gallery-list-content > div:last-child,
        .puck-list-btn-container {
            display: flex !important;
            justify-content: space-between !important;
            align-items: center !important;
        }

        /* Force right alignment with highest specificity */
        .puck-list-btn-container .puck-list-btn {
            margin-left: auto !important;
            width: auto !important;
            flex: 0 0 auto !important;
        }

        /* Product Gallery Section - using theme styling */
        .puck-gallery {
            padding: 3rem 0;
            background-color: rgba(var(--color-background, 255,255,255), 0.5);
            margin-bottom: 2rem;
        }
        .puck-gallery h2 {
            font-size: 2.25rem;
            font-weight: 700;
            text-align: center;
            margin-bottom: 1rem;
            color: rgb(var(--puck-color-foreground));
            font-family: var(--puck-font-heading);
        }
        .puck-gallery-subtitle {
            font-size: 1.125rem;
            color: rgba(var(--color-foreground, 14,27,77), 0.7);
            text-align: center !important;
            margin-bottom: 2rem;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
            line-height: 1.6;
        }
        
        /* Gallery Grid Layout - using theme variables */
        .puck-gallery-grid {
            display: grid !important;
            gap: var(--grid-desktop-horizontal-spacing, 28px);
            max-width: var(--page-width, 1000px);
            margin: 0 auto;
            padding: 0;
        }
        /* Override Shopify theme grid classes when used with puck-gallery-grid */
        .puck-gallery-grid.grid {
            display: grid !important;
        }
        .puck-gallery-grid-2 { grid-template-columns: repeat(2, 1fr) !important; }
        .puck-gallery-grid-3 { grid-template-columns: repeat(3, 1fr) !important; }
        .puck-gallery-grid-4 { grid-template-columns: repeat(4, 1fr) !important; }
        
        /* Gallery List Layout - using theme variables */
        .puck-gallery-list {
            max-width: var(--page-width, 1000px);
            margin: 0 auto;
            padding: 0;
        }
        .puck-blog-content .puck-gallery-list-item,
        .puck-gallery-list-item {
            display: flex !important;
            gap: 28px !important;
            align-items: center !important;
            padding: 20px !important;
            background: rgb(var(--puck-color-background)) !important;
            border-radius: 10px !important;
            margin-bottom: 16px !important;
            border: 1px solid #e5e7eb !important;
            transition: all 0.25s ease !important;
            position: relative !important;
        }
        .puck-blog-content .puck-gallery-list-item::before,
        .puck-gallery-list-item::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            border: 2px solid rgb(var(--puck-color-button));
            border-radius: 10px;
            opacity: 0;
            transition: opacity 0.25s ease;
            pointer-events: none;
            z-index: 1;
        }
        .puck-blog-content .puck-gallery-list-item:hover::before,
        .puck-gallery-list-item:hover::before {
            opacity: 1;
        }
        .puck-gallery-list-image {
            flex: 0 0 150px;
            height: 150px;
        }
        .puck-gallery-list-content {
            flex: 1;
        }
        
        /* Gallery Carousel Layout - using theme variables */
        .puck-gallery-carousel {
            display: flex;
            gap: var(--grid-desktop-horizontal-spacing, 28px);
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            -webkit-overflow-scrolling: touch;
            padding-bottom: 1rem;
            max-width: var(--page-width, 1000px);
            margin: 0 auto;
            padding: 0 0 1rem;
        }
        .puck-gallery-carousel::-webkit-scrollbar {
            height: 8px;
        }
        .puck-gallery-carousel::-webkit-scrollbar-track {
            background: rgba(var(--color-foreground, 26,26,26), 0.05);
            border-radius: 4px;
        }
        .puck-gallery-carousel::-webkit-scrollbar-thumb {
            background: rgba(var(--color-foreground, 26,26,26), 0.2);
            border-radius: 4px;
        }
        .puck-gallery-carousel-item {
            scroll-snap-align: start;
            flex-shrink: 0;
        }
        /* Carousel item sizing - proper card widths with gap compensation */
        .puck-gallery-carousel-2 .puck-gallery-carousel-item { 
            flex: 0 0 calc(50% - var(--grid-desktop-horizontal-spacing, 28px) / 2);
            min-width: 300px; /* Minimum width to ensure readability */
        }
        .puck-gallery-carousel-3 .puck-gallery-carousel-item { 
            flex: 0 0 calc(33.333% - var(--grid-desktop-horizontal-spacing, 28px) * 2 / 3);
            min-width: 280px; /* Minimum width to ensure readability */
        }
        .puck-gallery-carousel-4 .puck-gallery-carousel-item { 
            flex: 0 0 calc(25% - var(--grid-desktop-horizontal-spacing, 28px) * 3 / 4);
            min-width: 250px; /* Minimum width to ensure readability */
        }
        
        /* Compact styles for carousel cards */
        .puck-gallery-carousel .puck-product-card {
            min-height: 380px; /* Slightly smaller min-height for carousel */
        }
        .puck-gallery-carousel .puck-product-content {
            padding: 0.875rem; /* Smaller padding */
        }
        .puck-gallery-carousel .puck-product-title {
            font-size: 0.95rem; /* Smaller title */
            margin-bottom: 0.5rem;
            -webkit-line-clamp: 2;
        }
        .puck-gallery-carousel .puck-product-desc {
            font-size: 0.75rem; /* Smaller description */
            margin-bottom: 0.5rem;
            -webkit-line-clamp: 2; /* Show only 2 lines */
        }
        .puck-gallery-carousel .puck-product-price {
            font-size: 1rem; /* Smaller price */
            margin-bottom: 0.75rem;
        }
        .puck-gallery-carousel .puck-product-actions {
            gap: 0.5rem; /* Smaller gap between buttons */
            flex-direction: column; /* Stack buttons vertically to save width */
        }
        .puck-gallery-carousel .puck-product-btn {
            min-height: 2.25rem; /* Smaller buttons */
            padding: 0.5rem 0.75rem;
            font-size: 0.8rem;
            width: 100%; /* Full width buttons when stacked */
        }
        
        /* Product Card Styles - using theme variables */
        .puck-product-card {
            background: rgb(var(--color-background, 255,255,255));
            border-radius: var(--product-card-corner-radius, 1.8rem);
            overflow: hidden;
            border: var(--product-card-border-width, 0.1rem) solid rgba(var(--color-foreground, 14,27,77), var(--product-card-border-opacity, 0.1));
            box-shadow: 0 var(--product-card-shadow-vertical-offset, 0.4rem) var(--product-card-shadow-blur-radius, 0.5rem) rgba(var(--color-shadow, 14,27,77), var(--product-card-shadow-opacity, 0));
            transition: all 0.3s ease;
            min-height: 420px; /* Ensure card has minimum height */
            display: flex;
            flex-direction: column;
        }
        .puck-product-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 8px 12px rgba(var(--color-shadow, 14,27,77), 0.12);
        }
        .puck-product-image {
            position: relative !important;
            padding-bottom: 125% !important; /* 4:5 aspect ratio for product cards */
            background-color: rgba(var(--color-foreground, 26,26,26), 0.05);
            overflow: hidden !important;
            border-radius: 8px;
            height: 0 !important;
        }
        /* CRITICAL: Override theme's .rte img with height auto for gallery */
        .rte .puck-product-image img,
        .puck-product-image.rte__image img,
        .rte__image.puck-product-image img,
        .puck-blog-content .puck-product-image.rte__image img,
        .puck-product-image img.puck-no-rte,
        .puck-product-image img[class*="puck-no-rte"],
        .rte img.puck-no-rte,
        .rte__image img.puck-no-rte {
            height: 100% !important; /* MUST override theme's height: auto */
            width: 100% !important;
            position: absolute !important;
            top: 0 !important;
            left: 0 !important;
            object-fit: cover !important;
            max-width: none !important;
            max-height: none !important;
            transition: transform 0.3s ease;
        }
        
        /* Handle RTE styles for product gallery image containers */
        .puck-product-image.rte__image,
        .rte__image.puck-product-image {
            position: relative !important;
            height: 0 !important;
            max-height: none !important;
            min-height: 0 !important;
            width: 100% !important;
        }
        
        /* Maintain aspect ratios when rte__image is added */
        .puck-product-image[style*="padding-bottom: 133.33%"].rte__image {
            padding-bottom: 133.33% !important;
        }
        .puck-product-image[style*="padding-bottom: 125%"].rte__image {
            padding-bottom: 125% !important;
        }
        .puck-product-image[style*="padding-bottom: 100%"].rte__image {
            padding-bottom: 100% !important;
        }
        .puck-product-card:hover .puck-product-image img {
            transform: scale(1.05);
        }
        .puck-product-content {
            padding: 1.5rem;
            flex: 1; /* Take up available space */
            display: flex;
            flex-direction: column;
        }
        .puck-product-title {
            font-size: 1.125rem;
            font-weight: 600;
            margin-bottom: 0.75rem;
            color: rgb(var(--puck-color-foreground));
            font-family: var(--puck-font-body);
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            min-height: 2.5rem;
        }
        .puck-product-desc {
            font-size: 0.875rem;
            color: rgba(var(--color-foreground, 26,26,26), 0.6);
            margin-bottom: 1rem;
            line-height: 1.5;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            min-height: 3.75rem;
        }
        .puck-product-price {
            font-size: 1.25rem;
            font-weight: 700;
            color: rgb(var(--puck-color-foreground));
            font-family: var(--puck-font-heading);
            margin-bottom: 1.25rem;
        }
        .puck-product-actions {
            display: flex;
            gap: 0.75rem;
            margin-top: auto; /* Push to bottom of card */
            padding-top: 1rem; /* Add some space above buttons */
        }
        /* Style 3 button design with theme colors - ISOLATED */
        .puck-blog-content .puck-product-btn,
        .article-template__content .puck-blog-content .puck-product-btn,
        .puck-product-btn {
            display: inline-flex !important;
            justify-content: center !important;
            align-items: center !important;
            min-width: 120px !important;
            min-height: 44px !important;
            padding: 10px 16px !important;
            font-size: 14px !important;
            font-weight: 600 !important;
            letter-spacing: 0.05rem !important;
            line-height: 1.2 !important;
            text-decoration: none !important;
            cursor: pointer !important;
            background: transparent !important;
            color: rgb(var(--puck-color-button)) !important;
            border: 1.5px solid rgb(var(--puck-color-button)) !important;
            border-radius: 6px !important;
            transition: all 0.2s ease !important;
            position: relative !important;
            flex: 1 !important;
            font-family: var(--puck-font-body) !important;
            text-align: center !important;
            box-shadow: none !important;
            text-transform: none !important;
        }
        .puck-blog-content .puck-product-btn:hover,
        .article-template__content .puck-blog-content .puck-product-btn:hover,
        .puck-product-btn:hover {
            background: rgb(var(--puck-color-button)) !important;
            color: white !important;
            transform: translateY(-1px) !important;
            box-shadow: 0 2px 8px rgba(var(--puck-color-button), 0.3) !important;
        }
        
        /* Primary button - with production overrides */
        .article-template__content .puck-product-btn-add,
        .puck-product-btn-add {
            background-color: rgb(var(--puck-color-button)) !important;
            color: rgb(var(--color-button-text, 255,255,255)) !important;
            font-weight: 600 !important;
        }
        
        .article-template__content .puck-product-btn-add::after,
        .puck-product-btn-add::after {
            content: "";
            position: absolute;
            top: 1px;
            right: 1px;
            bottom: 1px;
            left: 1px;
            z-index: 1;
            border-radius: var(--buttons-radius, 39px);
            box-shadow: 0 0 0 1.3px rgba(var(--color-button-text, 255,255,255), 0),
                       0 0 0 1px rgba(var(--puck-color-button), 1);
            transition: box-shadow var(--duration-short, 0.15s) ease;
        }
        
        .article-template__content .puck-product-btn-add:hover::after,
        .puck-product-btn-add:hover::after {
            box-shadow: 0 0 0 2.3px rgba(var(--color-button-text, 255,255,255), 0.1),
                       0 0 0 2px rgba(var(--puck-color-button), 1);
        }
        
        /* Secondary button (View Details) - with production overrides */
        .article-template__content .puck-product-btn-view,
        .puck-product-btn-view {
            background-color: rgb(var(--puck-color-background)) !important;
            color: rgb(var(--puck-color-foreground)) !important;
            border: 1px solid rgba(var(--puck-color-foreground), 0.2) !important;
            position: relative !important;
            overflow: hidden !important;
        }
        
        /* Hide the ::after element initially to prevent visible line */
        .article-template__content .puck-product-btn-view::after,
        .puck-product-btn-view::after {
            content: "";
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            z-index: -1;
            border-radius: var(--buttons-radius, 39px);
            background-color: rgba(var(--puck-color-foreground), 0.05);
            transform: scaleX(0);
            transform-origin: left center;
            transition: transform var(--duration-short, 0.15s) ease;
        }
        
        .article-template__content .puck-product-btn-view:hover,
        .puck-product-btn-view:hover {
            background-color: transparent !important;
            border-color: rgba(var(--puck-color-foreground), 0.3) !important;
        }
        
        .article-template__content .puck-product-btn-view:hover::after,
        .puck-product-btn-view:hover::after {
            transform: scaleX(1);
        }
        
        /* Product Grid Section */
        .puck-grid {
            padding: 2rem 0;
            margin-bottom: 2rem;
        }
        .puck-grid h2 {
            font-size: 1.875rem;
            font-weight: 700;
            text-align: center;
            margin-bottom: 2rem;
            color: rgb(var(--puck-color-foreground));
            font-family: var(--puck-font-heading);
        }
        .puck-grid-container {
            display: grid;
            gap: var(--grid-desktop-horizontal-spacing, 28px);
            max-width: var(--page-width, 1000px);
            margin: 0 auto;
            padding: 0;
        }
        /* Custom grid classes for ProductGrid with Style 3 gaps */
        .puck-grid-container { display: grid; width: 100%; }
        .puck-custom-grid-2 { grid-template-columns: repeat(2, 1fr); gap: 20px; }
        .puck-custom-grid-3 { grid-template-columns: repeat(3, 1fr); gap: 18px; }
        .puck-custom-grid-4 { grid-template-columns: repeat(4, 1fr); gap: 16px; }
        .puck-custom-grid-5 { grid-template-columns: repeat(5, 1fr); gap: 16px; }
        .puck-custom-grid-6 { grid-template-columns: repeat(6, 1fr); gap: 16px; }
        
        /* Style 3: Elegant Product Card with refined borders */
        .puck-blog-content .puck-grid-card,
        .article-template__content .puck-grid-card,
        .puck-grid-card {
            background: rgb(var(--puck-color-background)) !important;
            border: 1px solid #e5e7eb !important;
            border-radius: 10px !important;
            overflow: hidden !important;
            transition: all 0.25s ease !important;
            width: 100% !important;
            position: relative !important;
            height: 100% !important;
            display: flex !important;
            flex-direction: column !important;
            margin: 0 !important;
            padding: 0 !important;
        }
        /* Hover effect with 2px theme color border */
        .puck-grid-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            border: 2px solid rgb(var(--puck-color-button));
            border-radius: 10px;
            opacity: 0;
            transition: opacity 0.25s ease;
            pointer-events: none;
            z-index: 1;
        }
        .puck-grid-card:hover::before {
            opacity: 1;
        }
        .puck-grid-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
        }
        .puck-grid-image {
            position: relative !important;
            width: 100%;
            background: #f3f4f6;
            overflow: hidden !important;
            border-bottom: 1px solid #e5e7eb;
            height: 0 !important; /* Force height to be determined by padding-bottom */
        }
        /* CRITICAL: Override theme's .rte img with height auto rule */
        .rte .puck-grid-image img,
        .puck-grid-image.rte__image img,
        .rte__image.puck-grid-image img,
        .puck-blog-content .puck-grid-image.rte__image img,
        .article-template__content .puck-grid-image.rte__image img,
        .puck-grid-image img.puck-no-rte,
        .puck-grid-image img[class*="puck-no-rte"],
        .rte img.puck-no-rte,
        .rte__image img.puck-no-rte {
            height: 100% !important; /* MUST override theme's height: auto */
            width: 100% !important;
            position: absolute !important;
            top: 0 !important;
            left: 0 !important;
            object-fit: cover !important;
            max-width: none !important;
            max-height: none !important;
            display: block !important;
        }
        
        /* Handle RTE image class container */
        .puck-grid-image.rte__image,
        .rte__image.puck-grid-image,
        .puck-blog-content .puck-grid-image.rte__image,
        .article-template__content .puck-grid-image.rte__image {
            position: relative !important;
            height: 0 !important; /* Critical for padding-bottom technique */
            width: 100% !important;
            max-height: none !important;
            min-height: 0 !important;
            display: block !important;
        }
        
        /* Preserve aspect ratios with higher specificity */
        .puck-grid-image[style*="padding-bottom: 133.33%"].rte__image,
        .puck-blog-content .puck-grid-image[style*="padding-bottom: 133.33%"].rte__image {
            padding-bottom: 133.33% !important;
        }
        
        .puck-grid-image[style*="padding-bottom: 125%"].rte__image,
        .puck-blog-content .puck-grid-image[style*="padding-bottom: 125%"].rte__image {
            padding-bottom: 125% !important;
        }
        
        .puck-grid-image[style*="padding-bottom: 100%"].rte__image,
        .puck-blog-content .puck-grid-image[style*="padding-bottom: 100%"].rte__image {
            padding-bottom: 100% !important;
        }
        .puck-grid-content {
            padding: 1rem;
        }
        .article-template__content .puck-grid-title,
        .puck-grid-title {
            font-size: 14px !important; /* 0.875rem */
            font-weight: 500;
            margin-bottom: 0.5rem;
            color: rgb(var(--puck-color-foreground));
            font-family: var(--puck-font-body);
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            line-height: 1.3;
            min-height: 36px;
        }
        .article-template__content .puck-grid-title,
        .ai-blog-content .puck-grid-title {
            font-size: 14px !important;
        }
        .article-template__content .puck-grid-price,
        .puck-grid-price {
            font-size: 14px !important; /* 0.875rem */
            font-weight: 600;
            color: rgb(var(--puck-color-foreground));
            font-family: var(--puck-font-heading);
        }
        .article-template__content .puck-grid-price,
        .ai-blog-content .puck-grid-price {
            font-size: 14px !important;
        }
        .puck-blog-content .puck-grid-btn,
        .article-template__content .puck-blog-content .puck-grid-btn,
        .puck-grid-btn {
            width: 100% !important;
            margin-top: 0.75rem !important;
            padding: 10px 16px !important;
            background: transparent !important;
            color: rgb(var(--puck-color-button)) !important;
            border: 1.5px solid rgb(var(--puck-color-button)) !important;
            border-radius: 6px !important;
            font-size: 14px !important;
            font-weight: 600 !important;
            font-family: var(--puck-font-body) !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            text-align: center !important;
            display: block !important;
            min-height: 44px !important;
            line-height: 1.5 !important;
            text-decoration: none !important;
            box-shadow: none !important;
            text-transform: none !important;
        }
        .puck-blog-content .puck-grid-btn:hover,
        .article-template__content .puck-blog-content .puck-grid-btn:hover,
        .puck-grid-btn:hover {
            background: rgb(var(--puck-color-button)) !important;
            color: white !important;
            transform: translateY(-1px) !important;
            box-shadow: 0 2px 8px rgba(var(--puck-color-button), 0.3) !important;
        }
        
        /* FAQ Section Styling */
        .puck-faq-section {
            padding: 3rem 1rem;
            background-color: rgba(var(--color-background-2, 249,250,251), 1);
            margin-bottom: 2rem;
        }
        
        .puck-faq-container {
            max-width: 900px; /* Wider than inline 800px */
            margin: 0 auto;
            padding: 0;
        }
        
        .puck-faq-title {
            text-align: center !important;
            margin-bottom: 2.5rem !important;
            font-size: 2.25rem !important;
            font-weight: 700 !important;
            color: rgb(var(--puck-color-foreground));
            font-family: var(--puck-font-heading);
        }
        
        .puck-faq-item {
            margin-bottom: 1.25rem;
            padding: 1.75rem;
            background: rgb(var(--color-background, 255,255,255));
            border-radius: 12px;
            box-shadow: 0 2px 8px rgba(var(--color-shadow, 14,27,77), 0.08);
            border: 1px solid rgba(var(--color-foreground, 14,27,77), 0.08);
        }
        
        .puck-faq-question {
            font-weight: 600;
            cursor: pointer;
            font-size: 1.25rem !important;
            color: rgb(var(--puck-color-foreground));
            font-family: var(--puck-font-body);
            line-height: 1.5;
            list-style: none;
        }

        /* FAQ Arrow Styling */
        .puck-faq-item summary::-webkit-details-marker {
            display: none;
        }

        .puck-faq-item summary::before {
            content: '▶';
            display: inline-block;
            margin-right: 0.5rem;
            transition: transform 0.3s;
            color: rgb(var(--puck-color-primary, 37, 99, 235));
        }

        .puck-faq-item[open] summary::before {
            transform: rotate(90deg);
        }

        .puck-faq-item summary:hover {
            color: rgb(var(--puck-color-primary, 37, 99, 235));
        }

        .puck-faq-answer {
            margin-top: 1rem;
            color: rgba(var(--puck-color-foreground), 0.75);
            font-size: 1.125rem !important;
            line-height: 1.75;
            font-family: var(--puck-font-body);
        }

        /* FAQ Answer List Styling */
        .puck-faq-answer ul,
        .puck-faq-answer ol {
            margin: 1rem 0;
            padding-left: 1.5rem;
        }

        .puck-faq-answer li {
            margin-bottom: 0.5rem;
            line-height: 1.75;
        }

        .puck-faq-answer ul li {
            list-style-type: disc;
        }

        .puck-faq-answer ol li {
            list-style-type: decimal;
        }

        .puck-faq-answer p {
            margin-bottom: 0.75rem;
        }

        .puck-faq-answer strong {
            font-weight: 600;
        }

        .puck-faq-answer em {
            font-style: italic;
        }

        /* CTA Section */
        .puck-cta {
            padding: 4rem 2rem;
            color: rgb(var(--puck-color-foreground, 17,24,39));
            margin: 2rem 0;
            background: rgb(var(--puck-color-background));
            border-radius: 24px;
            border: 1px solid rgba(var(--puck-color-foreground, 17,24,39), 0.08);
        }
        .puck-cta-center { text-align: center !important; }
        .puck-cta-center h2 { text-align: center !important; }
        .puck-cta-center p { text-align: center !important; }
        .puck-cta-left { text-align: left; }
        .puck-cta-left h2 { text-align: left; }
        .puck-cta-left p { text-align: left; }
        .puck-blog-content .puck-cta h2, .puck-cta h2, .ai-blog-content .puck-cta h2 {
            font-size: 36px !important;
            font-weight: 700;
            margin-bottom: 1.5rem;
            color: rgb(var(--puck-color-foreground, 17,24,39)) !important;
            font-family: var(--puck-font-heading);
        }
        .puck-blog-content .puck-cta p, .puck-cta p, .ai-blog-content .puck-cta p {
            font-size: 20px !important;
            margin-bottom: 2.5rem !important;
            opacity: 0.95;
            color: rgba(var(--puck-color-foreground, 17,24,39), 0.85) !important;
            font-family: var(--puck-font-body);
            max-width: 600px;
            margin-left: auto !important;
            margin-right: auto !important;
        }
        .puck-cta-buttons {
            display: flex;
            flex-wrap: wrap;
            gap: 1rem;
            justify-content: center;
        }
        .puck-cta-left .puck-cta-buttons {
            justify-content: flex-start;
        }
        .puck-cta-btn, .ai-blog-content .puck-cta-btn {
            display: inline-block !important;
            padding: 1rem 2.5rem !important;
            font-size: 18px !important;
            font-weight: 600 !important;
            text-decoration: none !important;
            border-radius: 9999px !important;
            transition: all 0.2s !important;
        }
        .puck-cta-btn-primary {
            background-color: rgb(var(--puck-color-button, 37,99,235));
            color: rgb(var(--puck-color-button-text, 255,255,255));
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }
        .puck-cta-btn-primary:hover {
            transform: scale(1.05);
        }
        .puck-cta-btn-secondary {
            background-color: rgb(var(--puck-color-secondary, 99,102,241));
            color: rgb(var(--puck-color-button-text, 255,255,255));
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.08);
        }
        .puck-cta-btn-secondary:hover {
            transform: scale(1.03);
        }
        .puck-cta-btn-outline {
            background-color: transparent;
            color: rgb(var(--puck-color-button, 37,99,235));
            border: 2px solid rgb(var(--puck-color-button, 37,99,235));
        }
        .puck-cta-btn-outline:hover {
            background-color: rgba(var(--puck-color-button, 37,99,235), 0.08);
        }

        /* Newsletter Section */
        .puck-newsletter-section {
            padding: 3rem 2rem;
            color: rgb(var(--puck-color-foreground, 17,24,39));
            margin: 2rem 0;
            border-radius: 16px;
            text-align: center;
        }
        .puck-newsletter-section.puck-newsletter-bg {
            background: rgb(var(--puck-color-background));
            border: 1px solid rgba(var(--puck-color-foreground, 17,24,39), 0.08);
        }
        .puck-newsletter-section h3 {
            font-size: 28px !important;
            font-weight: 700;
            margin-bottom: 1rem;
            color: rgb(var(--puck-color-foreground, 17,24,39)) !important;
            font-family: var(--puck-font-heading);
        }
        .puck-newsletter-section p {
            font-size: 18px !important;
            margin-bottom: 2rem !important;
            opacity: 0.85;
            color: rgb(var(--puck-color-foreground, 17,24,39)) !important;
            font-family: var(--puck-font-body);
            max-width: 500px;
            margin-left: auto !important;
            margin-right: auto !important;
        }
        .puck-newsletter-form {
            display: flex;
            flex-wrap: wrap;
            gap: 0.75rem;
            justify-content: center;
            align-items: center;
        }
        .puck-newsletter-input {
            padding: 0.875rem 1rem;
            font-size: 16px;
            border: 1px solid rgba(var(--puck-color-foreground, 17,24,39), 0.2);
            border-radius: 8px;
            background: rgb(var(--puck-color-background, 255,255,255));
            color: rgb(var(--puck-color-foreground, 17,24,39));
            font-family: var(--puck-font-body);
            flex: 1 1 200px;
            max-width: 300px;
            outline: none;
            transition: border-color 0.2s;
        }
        .puck-newsletter-input:focus {
            border-color: rgb(var(--puck-color-button, 37,99,235));
        }
        .puck-newsletter-input::placeholder {
            color: rgba(var(--puck-color-foreground, 17,24,39), 0.5);
        }
        .puck-newsletter-btn {
            display: inline-block;
            padding: 0.875rem 2rem;
            font-size: 16px;
            font-weight: 600;
            text-decoration: none;
            border-radius: 8px;
            border: none;
            cursor: pointer;
            transition: all 0.2s;
            font-family: var(--puck-font-body);
            background-color: rgb(var(--puck-color-button, 37,99,235));
            color: rgb(var(--puck-color-button-text, 255,255,255));
        }
        .puck-newsletter-btn:hover {
            opacity: 0.9;
            transform: translateY(-1px);
        }
        .puck-newsletter-btn:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }
        .puck-newsletter-success {
            display: none;
            margin-top: 1rem;
            padding: 1rem;
            background-color: #10B981;
            color: white;
            border-radius: 8px;
            font-family: var(--puck-font-body);
        }
        .puck-newsletter-error {
            display: none;
            margin-top: 1rem;
            padding: 1rem;
            background-color: #EF4444;
            color: white;
            border-radius: 8px;
            font-family: var(--puck-font-body);
        }
        .puck-newsletter-disclaimer {
            font-size: 0.8rem;
            margin-top: 1rem;
            opacity: 0.7;
            color: rgb(var(--puck-color-foreground, 17,24,39));
            font-family: var(--puck-font-body);
        }
        
        /* Responsive Styles using theme breakpoints */
        @media (max-width: 990px) {
            .puck-gallery-grid-4 { grid-template-columns: repeat(3, 1fr); }
            .puck-custom-grid-3, .puck-custom-grid-4, .puck-custom-grid-5, .puck-custom-grid-6 { 
                grid-template-columns: repeat(2, 1fr); 
            }
        }
        
        /* Tablet responsive styles */
        @media (max-width: 768px) {
            .puck-gallery { padding: 2rem 0; }
            .puck-gallery h2 { font-size: clamp(24px, 5vw, 32px); }
            .puck-gallery-subtitle { font-size: 16px; margin-bottom: 2rem; }
            .puck-gallery-grid-3 { grid-template-columns: repeat(2, 1fr); gap: 16px; }
            .puck-gallery-grid-4 { grid-template-columns: repeat(2, 1fr); gap: 16px; }
            .puck-gallery-carousel { gap: 16px; }
            .puck-gallery-carousel-2 .puck-gallery-carousel-item { 
                flex: 0 0 calc(70% - 8px);
                min-width: 260px;
            }
            .puck-gallery-carousel-3 .puck-gallery-carousel-item { 
                flex: 0 0 calc(60% - 8px);
                min-width: 240px;
            }
            .puck-gallery-carousel-4 .puck-gallery-carousel-item { 
                flex: 0 0 calc(50% - 8px);
                min-width: 220px;
            }
            .puck-custom-grid-4, .puck-custom-grid-5, .puck-custom-grid-6 { 
                grid-template-columns: repeat(2, 1fr); 
                gap: 16px;
            }
        }
        
        /* Mobile responsive styles */
        @media (max-width: 750px) {
            .ai-blog-content .puck-hero h1, .puck-hero h1 { font-size: 36px !important; }
            .ai-blog-content .puck-hero p, .puck-hero p { font-size: 20px !important; }
            .puck-hero-small { max-height: 350px; }
            .puck-hero-medium { max-height: 500px; }
            .puck-hero-large { max-height: 600px; }
            .ai-blog-content .puck-blog-content h1 { font-size: 30px !important; }
            .ai-blog-content .puck-blog-content h2 { font-size: 24px !important; }
            .ai-blog-content .puck-conclusion h2 { font-size: 24px !important; }
            .ai-blog-content .puck-conclusion-content { font-size: 18px !important; }
            .ai-blog-content .puck-spotlight h2 { font-size: 30px !important; }
            .ai-blog-content .puck-gallery h2 { font-size: 30px !important; }
            .puck-gallery { padding: 1.5rem 0; }
            .puck-gallery-grid-2 { grid-template-columns: 1fr; gap: 12px; }
            .puck-gallery-grid-3 { grid-template-columns: 1fr; gap: 12px; }
            .puck-gallery-grid-4 { grid-template-columns: 1fr; gap: 12px; }
            .puck-gallery-carousel { padding: 0 1rem 1rem; gap: 12px; }
            .puck-gallery-carousel-2 .puck-gallery-carousel-item,
            .puck-gallery-carousel-3 .puck-gallery-carousel-item,
            .puck-gallery-carousel-4 .puck-gallery-carousel-item { 
                flex: 0 0 85%;
                min-width: 240px;
                max-width: 320px;
            }
            .puck-product-actions {
                flex-direction: column;
                gap: 8px;
            }
            .puck-product-btn:not(.puck-list-btn) {
                width: 100%;
                min-width: unset;
            }
            .puck-gallery-list-item { flex-direction: column; text-align: center; }
            .puck-gallery-list-image { flex: 1 1 auto; width: 100%; max-width: 200px; margin: 0 auto; }
            .puck-gallery-list-item .puck-list-btn {
                width: auto !important;
                margin: 0 auto !important;
            }
            .puck-custom-grid-2, .puck-custom-grid-3, .puck-custom-grid-4, .puck-custom-grid-5, .puck-custom-grid-6 { 
                grid-template-columns: 1fr; 
                gap: 12px;
            }
            .puck-grid-5 { grid-template-columns: repeat(2, 1fr); gap: 12px; }
            .puck-grid-6 { grid-template-columns: repeat(2, 1fr); gap: 12px; }
            .puck-grid-card { padding: 12px; }
            .puck-grid-card-image { height: 240px; }
            .puck-grid-card-title { font-size: 14px; }
            .puck-grid-card-price { font-size: 16px; }
            .puck-cta h2 { font-size: 1.875rem; }
            .puck-cta p { font-size: 1.125rem; }
        }
        
        @media (max-width: 640px) {
            .puck-hero h1 { font-size: 1.5rem; }
            .puck-hero p { font-size: 1rem; }
            .puck-hero-btn { padding: 0.75rem 1.5rem; font-size: 0.875rem; }
            .puck-gallery-grid-2 { grid-template-columns: 1fr; }
            .puck-gallery-carousel-2 .puck-gallery-carousel-item { 
                flex: 0 0 85%; 
                min-width: 280px;
            }
            .puck-gallery-carousel-3 .puck-gallery-carousel-item { 
                flex: 0 0 85%; 
                min-width: 280px;
            }
            .puck-gallery-carousel-4 .puck-gallery-carousel-item { 
                flex: 0 0 85%; 
                min-width: 280px;
            }
            .puck-grid-2 { grid-template-columns: 1fr; }
            .puck-custom-grid-2, .puck-custom-grid-3, .puck-custom-grid-4, .puck-custom-grid-5, .puck-custom-grid-6 { grid-template-columns: repeat(1, 1fr); }
            .puck-grid-5 { grid-template-columns: repeat(2, 1fr); }
            .puck-grid-6 { grid-template-columns: repeat(2, 1fr); }
        }
    </style>
    
    <div class="puck-hero puck-hero-large">
        <div style="position: relative; z-index: 10; width: 100%; max-width: 1000px; margin: 0 auto;">
            <h1 class="puck-hero-title">Chefio Espresso Anywhere, Without the Café Line</h1>
            <p class="puck-hero-subtitle">We built this guide for people who want bold shots fast. You'll find portable espresso convenience, smart setup tips, and café-style results at home, work, or on the road.</p>
            
            <div class="puck-hero-meta">
                <span>📅 March 31, 2026</span>
                <span>⏱️ 5 min read</span>
            </div>
            
        </div>
    </div>
    

    <div class="puck-table-of-contents" style="
        background: rgb(var(--puck-color-background));
        background-image: linear-gradient(135deg, rgba(var(--puck-color-primary, 37, 99, 235), 0.03) 0%, rgba(var(--puck-color-primary, 37, 99, 235), 0.01) 100%);
        border-radius: 16px;
        padding: 32px;
        margin: 48px auto;
        max-width: 800px;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 0 20px 40px rgba(0, 0, 0, 0.04);
        border: 1px solid rgba(var(--puck-color-primary, 37, 99, 235), 0.1);
        position: relative;
        overflow: hidden;
    ">
        <div style="
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 4px;
            background: linear-gradient(90deg, #017b24, rgba(var(--puck-color-primary, 37, 99, 235), 0.6));
        "></div>
        <h3 style="
            margin: 0 0 24px 0;
            font-size: 20px;
            font-weight: 700;
            color: #000000;
            font-family: var(--puck-font-heading);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            display: flex;
            align-items: center;
            gap: 10px;
        ">
            <svg width="20" height="20" viewbox="0 0 24 24" fill="none" stroke="#017b24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <line x1="8" y1="6" x2="21" y2="6"></line>
                <line x1="8" y1="12" x2="21" y2="12"></line>
                <line x1="8" y1="18" x2="21" y2="18"></line>
                <line x1="3" y1="6" x2="3.01" y2="6"></line>
                <line x1="3" y1="12" x2="3.01" y2="12"></line>
                <line x1="3" y1="18" x2="3.01" y2="18"></line>
            </svg>
            Table of Contents
        </h3>
        <nav style="
            display: flex;
            flex-direction: column;
            gap: 8px;
        ">
    
            <a href="#build-a-home-espresso-setup-that-actually-works" class="puck-toc-link" onclick="event.preventDefault(); var elem = document.getElementById('build-a-home-espresso-setup-that-actually-works'); if(elem) { elem.scrollIntoView({behavior: 'smooth', block: 'start'}); } else { console.log('Element not found: build-a-home-espresso-setup-that-actually-works'); } return false;" style="
                   color: #000000 !important;
                   text-decoration: none !important;
                   font-size: 15px !important;
                   line-height: 1.6 !important;
                   padding: 10px 16px 10px 36px !important;
                   border-radius: 8px !important;
                   transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
                   display: block !important;
                   font-family: var(--puck-font-body) !important;
                   position: relative !important;
                   border: 1px solid transparent !important;
                   background-color: transparent !important;
               " onmouseover="this.style.backgroundColor='rgba(var(--puck-color-primary, 37, 99, 235), 0.08)'; this.style.borderColor='rgba(var(--puck-color-primary, 37, 99, 235), 0.2)'; this.style.transform='translateX(4px)';" onmouseout="this.style.backgroundColor='transparent'; this.style.borderColor='transparent'; this.style.transform='translateX(0)';">
                <span style="
                    position: absolute;
                    left: 12px;
                    top: 50%;
                    transform: translateY(-50%);
                    color: #017b24;
                    font-size: 16px;
                    transition: transform 0.2s ease;
                ">→</span>
                Build a Home Espresso Setup That Actually Works
            </a>
        
            <a href="#the-chefio-travel-espresso-essential" class="puck-toc-link" onclick="event.preventDefault(); var elem = document.getElementById('the-chefio-travel-espresso-essential'); if(elem) { elem.scrollIntoView({behavior: 'smooth', block: 'start'}); } else { console.log('Element not found: the-chefio-travel-espresso-essential'); } return false;" style="
                   color: #000000 !important;
                   text-decoration: none !important;
                   font-size: 15px !important;
                   line-height: 1.6 !important;
                   padding: 10px 16px 10px 36px !important;
                   border-radius: 8px !important;
                   transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
                   display: block !important;
                   font-family: var(--puck-font-body) !important;
                   position: relative !important;
                   border: 1px solid transparent !important;
                   background-color: transparent !important;
               " onmouseover="this.style.backgroundColor='rgba(var(--puck-color-primary, 37, 99, 235), 0.08)'; this.style.borderColor='rgba(var(--puck-color-primary, 37, 99, 235), 0.2)'; this.style.transform='translateX(4px)';" onmouseout="this.style.backgroundColor='transparent'; this.style.borderColor='transparent'; this.style.transform='translateX(0)';">
                <span style="
                    position: absolute;
                    left: 12px;
                    top: 50%;
                    transform: translateY(-50%);
                    color: #017b24;
                    font-size: 16px;
                    transition: transform 0.2s ease;
                ">→</span>
                The Chefio Travel Espresso Essential
            </a>
        
            <a href="#build-a-fuller-chefio-coffee-routine" class="puck-toc-link" onclick="event.preventDefault(); var elem = document.getElementById('build-a-fuller-chefio-coffee-routine'); if(elem) { elem.scrollIntoView({behavior: 'smooth', block: 'start'}); } else { console.log('Element not found: build-a-fuller-chefio-coffee-routine'); } return false;" style="
                   color: #000000 !important;
                   text-decoration: none !important;
                   font-size: 15px !important;
                   line-height: 1.6 !important;
                   padding: 10px 16px 10px 36px !important;
                   border-radius: 8px !important;
                   transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
                   display: block !important;
                   font-family: var(--puck-font-body) !important;
                   position: relative !important;
                   border: 1px solid transparent !important;
                   background-color: transparent !important;
               " onmouseover="this.style.backgroundColor='rgba(var(--puck-color-primary, 37, 99, 235), 0.08)'; this.style.borderColor='rgba(var(--puck-color-primary, 37, 99, 235), 0.2)'; this.style.transform='translateX(4px)';" onmouseout="this.style.backgroundColor='transparent'; this.style.borderColor='transparent'; this.style.transform='translateX(0)';">
                <span style="
                    position: absolute;
                    left: 12px;
                    top: 50%;
                    transform: translateY(-50%);
                    color: #017b24;
                    font-size: 16px;
                    transition: transform 0.2s ease;
                ">→</span>
                Build a Fuller Chefio Coffee Routine
            </a>
        
            <a href="#choosing-a-better-espresso-setup-with-chefio" class="puck-toc-link" onclick="event.preventDefault(); var elem = document.getElementById('choosing-a-better-espresso-setup-with-chefio'); if(elem) { elem.scrollIntoView({behavior: 'smooth', block: 'start'}); } else { console.log('Element not found: choosing-a-better-espresso-setup-with-chefio'); } return false;" style="
                   color: #000000 !important;
                   text-decoration: none !important;
                   font-size: 15px !important;
                   line-height: 1.6 !important;
                   padding: 10px 16px 10px 36px !important;
                   border-radius: 8px !important;
                   transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
                   display: block !important;
                   font-family: var(--puck-font-body) !important;
                   position: relative !important;
                   border: 1px solid transparent !important;
                   background-color: transparent !important;
               " onmouseover="this.style.backgroundColor='rgba(var(--puck-color-primary, 37, 99, 235), 0.08)'; this.style.borderColor='rgba(var(--puck-color-primary, 37, 99, 235), 0.2)'; this.style.transform='translateX(4px)';" onmouseout="this.style.backgroundColor='transparent'; this.style.borderColor='transparent'; this.style.transform='translateX(0)';">
                <span style="
                    position: absolute;
                    left: 12px;
                    top: 50%;
                    transform: translateY(-50%);
                    color: #017b24;
                    font-size: 16px;
                    transition: transform 0.2s ease;
                ">→</span>
                Choosing a Better Espresso Setup with Chefio
            </a>
        
            <a href="#frequently-asked-questions" class="puck-toc-link" onclick="event.preventDefault(); var elem = document.getElementById('frequently-asked-questions'); if(elem) { elem.scrollIntoView({behavior: 'smooth', block: 'start'}); } else { console.log('Element not found: frequently-asked-questions'); } return false;" style="
                   color: #000000 !important;
                   text-decoration: none !important;
                   font-size: 15px !important;
                   line-height: 1.6 !important;
                   padding: 10px 16px 10px 36px !important;
                   border-radius: 8px !important;
                   transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
                   display: block !important;
                   font-family: var(--puck-font-body) !important;
                   position: relative !important;
                   border: 1px solid transparent !important;
                   background-color: transparent !important;
               " onmouseover="this.style.backgroundColor='rgba(var(--puck-color-primary, 37, 99, 235), 0.08)'; this.style.borderColor='rgba(var(--puck-color-primary, 37, 99, 235), 0.2)'; this.style.transform='translateX(4px)';" onmouseout="this.style.backgroundColor='transparent'; this.style.borderColor='transparent'; this.style.transform='translateX(0)';">
                <span style="
                    position: absolute;
                    left: 12px;
                    top: 50%;
                    transform: translateY(-50%);
                    color: #017b24;
                    font-size: 16px;
                    transition: transform 0.2s ease;
                ">→</span>
                Frequently Asked Questions
            </a>
        
            <a href="#upgrade-your-coffee-routine-with-chefio" class="puck-toc-link" onclick="event.preventDefault(); var elem = document.getElementById('upgrade-your-coffee-routine-with-chefio'); if(elem) { elem.scrollIntoView({behavior: 'smooth', block: 'start'}); } else { console.log('Element not found: upgrade-your-coffee-routine-with-chefio'); } return false;" style="
                   color: #000000 !important;
                   text-decoration: none !important;
                   font-size: 15px !important;
                   line-height: 1.6 !important;
                   padding: 10px 16px 10px 36px !important;
                   border-radius: 8px !important;
                   transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
                   display: block !important;
                   font-family: var(--puck-font-body) !important;
                   position: relative !important;
                   border: 1px solid transparent !important;
                   background-color: transparent !important;
               " onmouseover="this.style.backgroundColor='rgba(var(--puck-color-primary, 37, 99, 235), 0.08)'; this.style.borderColor='rgba(var(--puck-color-primary, 37, 99, 235), 0.2)'; this.style.transform='translateX(4px)';" onmouseout="this.style.backgroundColor='transparent'; this.style.borderColor='transparent'; this.style.transform='translateX(0)';">
                <span style="
                    position: absolute;
                    left: 12px;
                    top: 50%;
                    transform: translateY(-50%);
                    color: #017b24;
                    font-size: 16px;
                    transition: transform 0.2s ease;
                ">→</span>
                Upgrade Your Coffee Routine with Chefio
            </a>
        
        </nav>
    </div>
    

    <section class="puck-collections-section">
        <h2 class="puck-keyword-heading" style="margin-bottom: 18px;">Featured Collections</h2>
        <div class="puck-collections-grid">
            
        <article class="puck-collection-card">
            
            <div class="puck-collection-card-content">
                <h3 class="puck-collection-card-title">Chefio's Exceptional Cooking Gadget Collection</h3>
                <p class="puck-collection-card-desc">Explore Our Unique Cooking Gadgets Find high-quality cooking gadgets that make cooking fun and easy. As our collection has tools for everyone, from beginners to expert chefs. Shop </p>
                <a href="/fr/collections/kitchen-gadget-unique-cooking-gadgets">Shop Collection →</a>
            </div>
        </article>
        
        <article class="puck-collection-card">
            
            <div class="puck-collection-card-content">
                <h3 class="puck-collection-card-title">tinyEinstein_new_arrival</h3>
                
                <a href="/fr/collections/tinyeinstein-new-arrival-982">Shop Collection →</a>
            </div>
        </article>
        
        <article class="puck-collection-card">
            
            <div class="puck-collection-card-content">
                <h3 class="puck-collection-card-title">tinyEinstein_new_arrival</h3>
                
                <a href="/fr/collections/tinyeinstein-new-arrival-686">Shop Collection →</a>
            </div>
        </article>
        
        <article class="puck-collection-card">
            
            <div class="puck-collection-card-content">
                <h3 class="puck-collection-card-title">tinyEinstein_new_arrival</h3>
                
                <a href="/fr/collections/tinyeinstein-new-arrival-383">Shop Collection →</a>
            </div>
        </article>
        
        </div>
    </section>
    

    <section class="puck-introduction-section" style="padding: clamp(40px, 8vw, 80px) 0; background: rgb(var(--puck-color-background));">
        <div style="max-width: 1000px; margin: 0 auto; padding: 0 20px;">
    
            <h2 id="build-a-home-espresso-setup-that-actually-works" style="font-size: clamp(24px, 4vw, 32px); font-weight: 700; color: rgb(var(--puck-color-foreground)); margin-bottom: 32px; text-align: center;">
                Build a Home Espresso Setup That Actually Works
            </h2>
        
            <div style="font-size: clamp(16px, 2.5vw, 20px); line-height: 1.8; color: rgba(var(--puck-color-foreground), 0.85);">
    
                <span style="float: left; font-size: clamp(3rem, 6vw, 5rem); font-weight: bold; margin-right: 12px; margin-top: 8px; line-height: 0.8; background: linear-gradient(135deg, rgb(var(--puck-color-primary)), rgba(var(--puck-color-primary), 0.7)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">
                    G
                </span>
                <span>reat espresso at home starts with the right setup, not a crowded counter. With chefio, we keep it simple. You only need a few smart tools to brew faster, make less mess, and get a more consistent cup every morning. In this guide, we’ll show you what matters most in an espresso setup. We’ll cover fresh grinding, portable brewing, and the small extras that save time when mornings feel rushed. The best part? You do not need a huge machine collection to get started. What are the best chefio to buy? We’d start with the essentials first. A grinder gives you fresher flavor, and a compact brewer gives you control. Then add one practical extra that keeps your routine moving. Our favorite place to begin is the Chefio coffee grinder for fresh espresso grounds paired with the Chefio portable espresso maker for home or travel. If you like strong, traditional coffee, the Chefio Turkish and Greek coffee maker is a smart pick. And for busy mornings, the Chefio self-stirring coffee mug is genuinely handy. How to choose the right chefio? Start with how you brew most days. If you want fresh taste and better control, choose grinding first. If speed matters more, pick a brewer that is easy to use and easy to clean. Look, the best setup is the one you will use daily. A portable brewer saves space, which we love for smaller kitchens. But keep in mind, a compact setup trades some batch size for convenience. That is usually worth it for one or two cups at a time. Use a DividerSection after this intro to give the next major content block clear visual separation.</span>
        
            </div>
    
            <div style="margin-top: 32px; padding: 24px; background: rgba(var(--puck-color-primary), 0.05); border-radius: 12px; border-left: 4px solid rgb(var(--puck-color-primary));">
                <ul style="list-style: none; padding: 0; margin: 0; font-size: clamp(14px, 2vw, 16px); line-height: 1.8;">
        
                    <li style="position: relative; padding-left: 28px; margin-bottom: 12px; color: rgba(var(--puck-color-foreground), 0.9);">
                        <span style="position: absolute; left: 0; top: 0.3em; width: 8px; height: 8px; background: rgb(var(--puck-color-primary)); border-radius: 50%;"></span>
                        Build a cleaner, faster espresso routine at home
                    </li>
                
                    <li style="position: relative; padding-left: 28px; margin-bottom: 12px; color: rgba(var(--puck-color-foreground), 0.9);">
                        <span style="position: absolute; left: 0; top: 0.3em; width: 8px; height: 8px; background: rgb(var(--puck-color-primary)); border-radius: 50%;"></span>
                        See which tools improve flavor and consistency first
                    </li>
                
                    <li style="position: relative; padding-left: 28px; margin-bottom: 12px; color: rgba(var(--puck-color-foreground), 0.9);">
                        <span style="position: absolute; left: 0; top: 0.3em; width: 8px; height: 8px; background: rgb(var(--puck-color-primary)); border-radius: 50%;"></span>
                        Compare a grinder, portable brewer, and practical mug add-on
                    </li>
                
                    <li style="position: relative; padding-left: 28px; margin-bottom: 12px; color: rgba(var(--puck-color-foreground), 0.9);">
                        <span style="position: absolute; left: 0; top: 0.3em; width: 8px; height: 8px; background: rgb(var(--puck-color-primary)); border-radius: 50%;"></span>
                        Learn the tradeoff between compact size and batch capacity
                    </li>
                
                </ul>
            </div>
        
        </div>
    </section>
    

    <div style="margin: 2rem 0;">
        <hr style="border: none; border-top: 1px solid rgba(var(--puck-color-foreground), 0.15); width: 100%; max-width: 200px; margin: 0 auto;">
    </div>
    

    <section style="padding: clamp(40px, 8vw, 80px) 0; background: rgb(var(--puck-color-background));">
        <div style="max-width: 1200px; margin: 0 auto; padding: 0 20px;">
    
            <h2 style="font-size: clamp(28px, 4vw, 36px); font-weight: 700; color: rgb(var(--puck-color-foreground, 31, 41, 55)); text-align: center; margin-bottom: 3rem; line-height: 1.2; font-family: var(--puck-font-heading, system-ui, -apple-system, sans-serif);">
                Our Top Pick for Easy Espresso Anywhere
            </h2>
        
            <div class="puck-spotlight" id="the-chefio-travel-espresso-essential">
                <div class="puck-spotlight-grid ">
                    
    <div class="puck-spotlight-image">
        <img src="https://cdn.shopify.com/s/files/1/0799/6493/0369/files/fulfily-image-1767354642346-3_5cd3a4d8-5ec8-4a02-94e5-f39f2124606d.jpg?v=1774464129" alt="The Chefio Travel Espresso Essential">
    </div>
    
                    <div class="puck-spotlight-content">
                        <h3 style="font-size: 24px; font-weight: 600; color: rgb(var(--puck-color-foreground)); margin-bottom: 16px; font-family: var(--puck-font-heading, system-ui, -apple-system, sans-serif);">The Chefio Travel Espresso Essential</h3>
                        <p class="puck-spotlight-desc">If you want espresso without a bulky setup, this is the one we’d choose. Our 3-in-1 Portable Espresso Maker keeps your routine simple, packs down small, and makes it easy to enjoy espresso wherever your day takes you. We especially like it for busy mornings, desk setups, and weekends away. Keep in mind, it’s built for convenience first, so it makes the most sense when you want quick daily use in a compact format.</p>
                        <ul class="puck-spotlight-features">
  • 3-in-1

  • coffee

  • easy

                        </div>
                        <div class="puck-spotlight-actions">
                            <a href="/fr/products/3-in-1-portable-espresso-maker" class="puck-spotlight-btn">
                                View Details
                            </a>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>
    

    <div class="puck-gallery">
        <div class="page-width">
            <h2 id="build-a-fuller-chefio-coffee-routine">Build a Fuller Chefio Coffee Routine</h2>
            <p class="puck-gallery-subtitle" style="font-size: 1.125rem !important; color: rgba(var(--color-foreground, 31, 41, 55), 0.7) !important; text-align: center !important; margin-bottom: 2rem !important; max-width: 600px !important; margin-left: auto !important; margin-right: auto !important; line-height: 1.6 !important; display: block !important;">Want more from your counter setup? We paired a Turkish coffee maker, a compact grinder, and a self-stirring mug so you can grind, brew, and sip with less fuss. The best part is how each tool covers...</p>
            <div class="puck-gallery-carousel puck-gallery-carousel-3">
BrewMaster Espresso™ |  Authentic Turkish & Greek Coffee Maker | Portable, Durable & Perfect for Rich, Traditional Coffee at Home or Travel

BrewMaster Espresso™ | Authentic Turkish & Greek Coffee Maker | Portable, Durable & Perfect for Rich, Traditional Coffee at Home or Travel

View Details

GrindMaster Go

GrindMaster Go

View Details

Self Stirring Mug for Coffee, Tea, and Protein Shakes

Self Stirring Mug for Coffee, Tea, and Protein Shakes

View Details

    <div style="margin: 2rem 0;">
        <hr style="border: none; border-top: 1px solid rgba(var(--puck-color-foreground), 0.15); width: 100%; max-width: 200px; margin: 0 auto;">
    </div>
    

    <div class="puck-rich-text-wrapper" style="padding: 2rem 0; background: rgb(var(--puck-color-background));">
        <h2 style="font-size: 2.25rem; font-weight: 700; text-align: center; margin-bottom: 2rem; color: rgb(var(--puck-color-foreground, 31, 41, 55)); font-family: var(--puck-font-heading, system-ui, -apple-system, sans-serif);" id="choosing-a-better-espresso-setup-with-chefio">Choosing a Better Espresso Setup with Chefio</h2>
        <div class="puck-rich-text ">
            <p>If you want better coffee without turning your kitchen into a project, <strong>chefio</strong> makes the setup simple. We think the smartest place to start is with tools that match your routine, your counter space, and how often you brew. Some people want a compact home station. Others need something they can toss in a bag before work.</p>

How to choose the right chefio?

Start with your schedule. If you brew at home most mornings, go for tools that save steps and keep cleanup light. If you travel, portability matters more than extra features.

Our favorite all-around pick is the Chefio 3-in-1 Portable Espresso Maker for home or travel espresso. It gives you flexibility in one compact tool, which is a big win if you do not want separate gear for different days. Keep in mind, though, portable espresso tools usually ask for a bit more hands-on effort than a large countertop machine. That is the tradeoff for saving space.

Why fresh grinding matters

Fresh grinding changes the cup fast. Coffee loses aroma after grinding, so beans that smelled rich yesterday can taste flat today. That is why we like the Chefio GrindMaster Go coffee grinder for fresh espresso prep as part of a practical setup.

  • Fresher aroma: You get a stronger, fuller smell right before brewing.

  • Better flavor: Shots taste less dull and more lively.

  • More control: You can adjust your grind based on the brew style you want.

"If you only change one thing, grind fresh. You will taste the difference in the first cup."

What are the best chefio to buy?

For most shoppers, we would build a simple three-part setup. Use the 3-in-1 Portable Espresso Maker for flexible brewing, pair it with GrindMaster Go for fresher grounds, and add the Self Stirring Mug for coffee on rushed mornings when you need a quick mix-and-go cup.

  1. Best for flexibility: 3-in-1 Portable Espresso Maker

  2. Best for flavor: GrindMaster Go

  3. Best for busy mornings: Self Stirring Mug

And if you enjoy a richer, slower coffee ritual, the BrewMaster Espresso Turkish and Greek coffee maker for compact brewing is a fun choice. It is not the fastest option. But the flavor style is bold, and the size works well in small kitchens or while traveling.

So, what is the best setup? We would keep it focused, not oversized. Choose the few tools you will actually use, then add a DividerSection before the next major content block to keep the page easy to scan.

    <div style="margin: 2rem 0;">
        <hr style="border: none; border-top: 1px solid rgba(var(--puck-color-foreground), 0.15); width: 100%; max-width: 200px; margin: 0 auto;">
    </div>
    

    <div class="puck-faq-section">
        <div class="puck-faq-container">
            <h2 id="frequently-asked-questions" class="puck-faq-title">Frequently Asked Questions</h2>
            <div>
                
        <details class="puck-faq-item">
            <summary class="puck-faq-question">How portable is the chefio 3-in-1 Portable Espresso Maker for daily carry and travel?</summary>
            <p class="puck-faq-answer">Very portable. We like it for commutes, office drawers, weekend trips, and hotel stays because it keeps espresso simple without taking over your bag. If you want an everyday option that can also travel well, the Chefio 3-in-1 Portable Espresso Maker is our top pick. Keep in mind, though, compact gear usually means smaller brew parts, so you'll want to pack and rinse each piece carefully after use.</p>
        </details>
            
        <details class="puck-faq-item">
            <summary class="puck-faq-question">Is the 3-in-1 Portable Espresso Maker easy to clean?</summary>
            <p class="puck-faq-answer">Yes, and that matters more than people think. A portable espresso maker only stays convenient if you can clean it fast after your drink. We recommend a quick rinse right after brewing so coffee residue does not dry inside the smaller parts. Look, if you plan to use it every morning, this habit makes a big difference. It keeps the flavor cleaner and makes the next cup easier.</p>
        </details>
            
        <details class="puck-faq-item">
            <summary class="puck-faq-question">What grind size should I use with the espresso setup?</summary>
            <p class="puck-faq-answer">Start with a fine grind for espresso. That gives you the richer, stronger cup most people want from a compact setup. If you grind too coarse, the shot can taste weak and thin. If you grind too fine, flow may slow down too much. The easiest way to control that at home or on the go is with the GrindMaster Go coffee grinder. We think fresh grinding is the best upgrade you can make, even before buying extra accessories.</p>
        </details>
            
        <details class="puck-faq-item">
            <summary class="puck-faq-question">How to choose the right chefio for home use versus travel?</summary>
            <p class="puck-faq-answer">Choose based on your routine. If you want espresso-style coffee in a small footprint, we would go with the 3-in-1 Portable Espresso Maker. If you prefer rich traditional coffee and a simple ritual, the BrewMaster Espresso is a smart travel-friendly choice. And if flavor matters most to you, pair either one with fresh grounds from GrindMaster Go. That setup feels practical, not fussy.</p>
        </details>
            
        <details class="puck-faq-item">
            <summary class="puck-faq-question">Does this kind of espresso maker work well for everyday use, or is it mainly for travel?</summary>
            <p class="puck-faq-answer">It can absolutely work every day. We like compact coffee gear most when it earns a spot in both your kitchen and your travel bag. The tradeoff is simple. Smaller brewers ask for a little more hands-on cleaning and setup than a big countertop machine. But if you want a flexible routine and a smaller footprint, that trade is usually worth it.</p>
        </details>
            
        <details class="puck-faq-item">
            <summary class="puck-faq-question">What are the best chefio to buy if I want a complete coffee setup?</summary>
            <p class="puck-faq-answer">Our favorite simple setup is the 3-in-1 Portable Espresso Maker plus GrindMaster Go. That gives you brewing and fresh grinding in a compact pair. If you enjoy traditional coffee styles, add BrewMaster Espresso instead of forcing an espresso-style routine that does not match your taste. And if your mornings get hectic, the Self Stirring Mug for Coffee, Tea, and Protein Shakes is handy for quick mixing after brewing.</p>
        </details>
            
        <details class="puck-faq-item">
            <summary class="puck-faq-question">Can I return a coffee item if it is not right for me?</summary>
            <p class="puck-faq-answer">Yes. We offer a 30-day return window from the date of purchase. To qualify, your item needs to be in the same condition you received it. If you need help before starting that process, contact us at letstalk@chefio.co or call +13393293974. You can also reach us by mail at Road 1632, Block 916, Riffa AL Shamali, Flat 35 Building 1257, Bahrain 916, Bahrain.</p>
        </details>
            
            </div>
        </div>
    </div>
    

    <div style="margin: 2rem 0;">
        <hr style="border: none; border-top: 1px solid rgba(var(--puck-color-foreground), 0.15); width: 100%; max-width: 200px; margin: 0 auto;">
    </div>
    

    <div class="puck-cta puck-cta-center">
        <div style="max-width: 900px; margin: 0 auto; text-align: center;">
            <h2 id="upgrade-your-coffee-routine-with-chefio">Upgrade Your Coffee Routine with Chefio</h2>
            <p>Ready for better mornings? We’ve made it simple. From the 3-in-1 Portable Espresso Maker to GrindMaster Go, our espresso essentials help you brew fresh, rich coffee at home or on the move. Start no...</p>
            <div class="puck-cta-buttons"><a href="/fr/collections/all" class="puck-cta-btn puck-cta-btn-primary" style="color: rgb(var(--puck-color-button-text,255,255,255)) !important;">Shop Now</a></div>
        </div>
    </div>
    

    <div class="puck-newsletter-section puck-newsletter-bg" style="background-color: rgba(var(--puck-color-secondary), 0.05);">
        <div style="max-width: 600px; margin: 0 auto;">
            <h3>Join our Newsletter</h3>

Get the latest updates, offers, and trends delivered to your inbox.

Subscribe

                    <div id="newsletter-form-d4bf9733-success" class="puck-newsletter-success">
                        <strong>🎉 Thank you!</strong> You've been subscribed successfully.
                    </div>
                    
                    <div id="newsletter-form-d4bf9733-error" class="puck-newsletter-error">
                        <strong>Oops!</strong> Something went wrong. Please try again.
                    </div>
                    
                    <p class="puck-newsletter-disclaimer">
                        By subscribing you agree to receive marketing emails from us.
                    </p>
                </div>
                
                <script>
                (function() {
                    var form = document.getElementById('newsletter-form-d4bf9733');
                    var emailInput = document.getElementById('newsletter-form-d4bf9733-email');
                    var submitBtn = document.getElementById('newsletter-form-d4bf9733-btn');
                    var successDiv = document.getElementById('newsletter-form-d4bf9733-success');
                    var errorDiv = document.getElementById('newsletter-form-d4bf9733-error');
                    
                    if (form) {
                        form.addEventListener('submit', async function(e) {
                            e.preventDefault();
                            
                            var email = emailInput.value.trim();
                            if (!email) return;
                            
                            // Disable button and show loading state
                            submitBtn.disabled = true;
                            submitBtn.textContent = 'Subscribing...';
                            successDiv.style.display = 'none';
                            errorDiv.style.display = 'none';
                            
                            try {
                                // Use Klaviyo Client API for subscription
                                // Note: Klaviyo's subscription API only accepts email as profile attribute
                                // Location data is automatically captured by Klaviyo from IP address
                                var response = await fetch('https://a.klaviyo.com/client/subscriptions/?company_id=R4wXie', {
                                    method: 'POST',
                                    headers: {
                                        'Content-Type': 'application/json',
                                        'revision': '2024-02-15'
                                    },
                                    body: JSON.stringify({
                                        data: {
                                            type: 'subscription',
                                            attributes: {
                                                profile: {
                                                    data: {
                                                        type: 'profile',
                                                        attributes: {
                                                            email: email
                                                        }
                                                    }
                                                },
                                                custom_source: 'Blog Newsletter'
                                            },
                                            relationships: {
                                                list: {
                                                    data: {
                                                        type: 'list',
                                                        id: 'Chefio Home Gadgets'
                                                    }
                                                }
                                            }
                                        }
                                    })
                                });
                                
                                if (response.ok || response.status === 202) {
                                    // Success!
                                    form.style.display = 'none';
                                    successDiv.style.display = 'block';
                                } else {
                                    throw new Error('Subscription failed');
                                }
                            } catch (err) {
                                console.error('Newsletter subscription error:', err);
                                errorDiv.style.display = 'block';
                                submitBtn.disabled = false;
                                submitBtn.textContent = 'Subscribe';
                            }
                        });
                    }
                })();
                </script>
                
        </div>
    </div>
    
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        // Force width override for narrow containers
        const narrowContainers = document.querySelectorAll('.page-width--narrow, .article-template__content.page-width--narrow');
        narrowContainers.forEach(container => {
            if (container.querySelector('.puck-blog-content')) {
                container.style.maxWidth = '100%';
                container.style.width = '100%';
            }
        });
        
        // Ensure puck-blog-content is wide
        const puckContent = document.querySelector('.puck-blog-content');
        if (puckContent) {
            puckContent.style.maxWidth = '1000px';
            puckContent.style.width = '100%';
            puckContent.style.margin = '0 auto';
            
            // For very wide screens, use negative margins
            if (window.innerWidth >= 1440) {
                puckContent.style.marginLeft = 'calc(50% - 500px)';
                puckContent.style.marginRight = 'calc(50% - 500px)';
                puckContent.style.width = '1000px';
            }
        }
        
        // More aggressive fix for image aspect ratios
        function fixImageAspectRatios() {
            // Fix wrapper-based images
            const imageWrappers = document.querySelectorAll('.puck-grid-image-wrapper, .puck-product-image-wrapper');
            imageWrappers.forEach(wrapper => {
                const padding = wrapper.getAttribute('data-padding');
                if (padding) {
                    // Find the inner container
                    const inner = wrapper.querySelector('.puck-grid-image-inner, .puck-product-image-inner');
                    if (inner) {
                        // Force the aspect ratio using padding-bottom
                        inner.setAttribute('style', 
                            'position: relative !important; ' +
                            'width: 100% !important; ' +
                            'padding-bottom: ' + padding + '% !important; ' +
                            'height: 0 !important; ' +
                            'overflow: hidden !important;'
                        );
                        
                        // Fix all images inside
                        const imgs = inner.querySelectorAll('img');
                        imgs.forEach(img => {
                            img.setAttribute('style',
                                'position: absolute !important; ' +
                                'top: 0 !important; ' +
                                'left: 0 !important; ' +
                                'width: 100% !important; ' +
                                'height: 100% !important; ' +
                                'object-fit: cover !important; ' +
                                'display: block !important; ' +
                                'max-width: none !important; ' +
                                'max-height: none !important;'
                            );
                            // Remove any classes that might interfere
                            img.classList.remove('rte__image');
                        });
                    }
                }
            });
            
            // Also fix any legacy grid images
            const gridImages = document.querySelectorAll('.puck-grid-image, .puck-product-image');
            gridImages.forEach(imageContainer => {
                // Remove the rte__image class if it exists
                imageContainer.classList.remove('rte__image');
                
                // Get the padding-bottom from inline style
                const style = imageContainer.getAttribute('style') || '';
                const paddingMatch = style.match(/padding-bottom:\s*([0-9.]+)%/);
                
                if (paddingMatch) {
                    const paddingValue = paddingMatch[1];
                    // Force the padding-bottom with maximum specificity
                    imageContainer.setAttribute('style',
                        'position: relative !important; ' +
                        'width: 100% !important; ' +
                        'padding-bottom: ' + paddingValue + '% !important; ' +
                        'height: 0 !important; ' +
                        'overflow: hidden !important; ' +
                        'background-color: rgba(var(--puck-color-foreground),0.05); ' +
                        'border-radius: 8px; ' +
                        'margin-bottom: 0.75rem; ' +
                        'max-height: none !important; ' +
                        'min-height: 0 !important;'
                    );
                    
                    // Fix the image inside
                    const img = imageContainer.querySelector('img');
                    if (img) {
                        img.setAttribute('style',
                            'position: absolute !important; ' +
                            'top: 0 !important; ' +
                            'left: 0 !important; ' +
                            'width: 100% !important; ' +
                            'height: 100% !important; ' +
                            'object-fit: cover !important; ' +
                            'display: block !important; ' +
                            'max-width: none !important; ' +
                            'max-height: none !important;'
                        );
                        img.classList.remove('rte__image');
                    }
                }
            });
        }
        
        // Run the fix multiple times to combat persistent theme interference
        fixImageAspectRatios();
        setTimeout(fixImageAspectRatios, 100);
        setTimeout(fixImageAspectRatios, 500);
        setTimeout(fixImageAspectRatios, 1000);
        setTimeout(fixImageAspectRatios, 2000);
        
        // Also run on window load
        window.addEventListener('load', fixImageAspectRatios);
        
        // Watch for ANY changes and fix them
        const observer = new MutationObserver(function(mutations) {
            let needsFix = false;
            mutations.forEach(function(mutation) {
                // Check for class changes
                if (mutation.type === 'attributes') {
                    const target = mutation.target;
                    if (target.classList && 
                        (target.classList.contains('puck-grid-image') || 
                         target.classList.contains('puck-product-image') ||
                         target.classList.contains('puck-grid-image-wrapper') ||
                         target.classList.contains('puck-grid-image-inner') ||
                         target.tagName === 'IMG' && target.getAttribute('data-puck-image'))) {
                        needsFix = true;
                    }
                }
                // Check for added nodes
                if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
                    needsFix = true;
                }
            });
            if (needsFix) {
                fixImageAspectRatios();
            }
        });
        
        // Start observing
        const blogContent = document.querySelector('.puck-blog-content');
        if (blogContent) {
            observer.observe(blogContent, {
                attributes: true,
                attributeFilter: ['class'],
                subtree: true
            });
        }
        
        // Also run after a delay to catch any late theme modifications
        setTimeout(fixRteImages, 500);
        setTimeout(fixRteImages, 1000);
        
        // Cart functionality removed - only View Details buttons remain
    });
    </script>
    
Retour au blog

Laisser un commentaire

Veuillez noter que les commentaires doivent être approuvés avant d'être publiés.