Holiday Hero Collectibles: 2025's Must-Have Figures

Holiday Hero Collectibles: 2025's Must-Have Figures


/* 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: #121212 !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: #121212 !important; text-decoration: none !important; border-bottom: none !important; } .puck-table-of-contents a:visited, .puck-toc-link:visited { color: #121212 !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: 18,18,18; --puck-color-background: 255,255,255; --puck-color-button: 18,18,18; --puck-color-button-text: 255,255,255; --puck-color-primary: 18,18,18; --puck-font-heading: Assistant, sans-serif; --puck-font-body: Assistant, sans-serif; --puck-color-primary-hex: #121212; --puck-color-text-hex: #121212; --puck-color-button-hex: #121212; /* Also set without 'puck' prefix for sections that use these */ --color-foreground: 18,18,18; --color-background: 255,255,255; --color-background-2: 255,255,255; --puck-color-button-text: 255,255,255; } /* 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: 18,18,18; --color-background: 255,255,255; --color-button: 18,18,18; --color-button-text: 255,255,255; --color-secondary-button: 255,255,255; --color-secondary-button-text: 18,18,18; --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); } /* 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); } }


Unlock the Magic of 2025 with Exclusive Action Figures!

Elevate your collection with luxury action figures 2025. Perfect gifts for the holidays.

📅 December 03, 2025 ⏱️ 5 min read

Table of Contents

Featured Collections

Unlock the Magic of Holiday Gift-Giving

I magine the look of joy on their faces. That's the magic of giving the perfect holiday gift. This year, dive into the world of 2025's most sought-after treasures: luxury action figures. We guide you through the finest selection of holiday hero collectibles. Discover exclusive action figures that sparkle under the holiday lights. Our action figure gift guide is your ticket to becoming the ultimate gift-giver. We spotlight premium collectible figures that are more than just gifts. They're a gateway to countless adventures. Whether for a seasoned collector or a new enthusiast, these figures will top their list. Let's explore what makes these action figures a must-have for 2025.

  • Find the perfect holiday hero collectibles for your loved ones
  • Explore 2025's exclusive action figures
  • Learn how premium collectible figures can become the ultimate gift


2025's Ultimate Collectors Showcase

Dive into our exclusive collection of luxury action figures for 2025. Perfect for both seasoned collectors and first-time buyers, these figures are the pinnacle of craftsmanship and detail.

Rider blackerterterterte

Introducing the Ultimate Action Figure, a must-have for any enthusiast or collector. This meticulously crafted figure features art...

$10.00 View Details

White ranger 1123123123

Discover the intricacy and excitement of our latest action figure. This dynamic toy features a striking white and...

$10.00 View Details


Gift Guide: Selecting Luxury Action Figures for Every Collector

Finding the perfect holiday gift can be a challenge. This year, surprise the action figure enthusiasts in your life with something special. Our guide will help you choose luxury action figures that are sure to impress. Keep reading for top tips on selecting these exclusive collectibles.

Understanding Collector Interests

First, think about what the collector enjoys. Do they love superheroes or are they fans of classic figures? Knowing this will help you pick the right figure.

Age Matters

Consider the age of the collector. Some figures are suited for older collectors, while others are perfect for younger fans. Make sure the action figure matches their level of interest and age.

Quality Over Quantity

When it comes to luxury action figures, quality beats quantity. Look for figures with detailed designs and high-quality materials. These features make them stand out as premium collectible figures.

  • Exclusive designs
  • High-quality materials
  • Attention to detail

Remember, a thoughtful choice will show how much you care. Use our action figure gift guide to find the perfect luxury holiday hero figures for your loved ones.


Keep Your Collectibles Mint: Action Figure Care Tips

Everyone loves a good action figure. Especially when it's one of the luxury action figures of 2025. But how do we keep them looking great? Here's how.

Cleaning Your Figures

First, dust them off gently. Use a soft brush or cloth. Make sure not to scratch the paint.

For sticky spots, use a damp cloth. Avoid harsh chemicals. They can damage your figures.

Storing Your Collectibles

Keep them away from sunlight. UV rays can fade the colors over time.

Display cases are great. They protect from dust and direct light. Plus, they make your figures look awesome.

Avoiding Damage

Don't handle them too much. The oils from your skin can affect the paint. When you do, make sure your hands are clean.

Be careful with joints. They can be fragile. Move them slowly to avoid breakage.

For the Collectors

Remember, these tips will help keep your collectibles in top condition. Happy collecting!


2025's Exclusive Hero Collectibles

Get ready for the holidays with our top picks for luxury action figures. These exclusive figures are perfect for collectors and action figure enthusiasts.

test card

Product donation

Rider blue

$10.00 View Details


Avoid Common Mistakes When Buying Action Figures

Shopping for luxury action figures 2025 can be thrilling. Yet, it's easy to make mistakes during the holiday rush. This guide will help you choose the best holiday hero collectibles.

Avoid Buying on Impulse

Research is key. Don't buy the first action figure you see. Take time to look at Ultimate Action Figure and Articulated White Gold Action Figure. They are top picks for exclusive action figures.

Check for Authenticity

Many premium collectible figures are out there, but some are fakes. Ensure you're getting the real deal. Brands like KhaneeingPhanesse 3 guarantee authenticity.

Read Reviews

Others' experiences can guide you. Look for feedback on quality and customer service. This info is gold when shopping for action figure gift guides.

  • Research before buying
  • Ensure authenticity
  • Read customer reviews

By avoiding these common mistakes, you'll find the perfect high-end action figures for your collection or as gifts. Remember, the best collectible action figures are those chosen with care.


Frequently Asked Questions

How long does shipping take?

Shipping takes 3-5 business days. We work hard to get your collectibles to you quickly.

Can I track my order?

Yes, you can! After placing your order, we'll send you a tracking number. Use it to check your package's progress online.

Do you offer international shipping?

Yes, we do. International shipping rates apply. Delivery times vary based on location.

What payment methods do you accept?

We accept major credit cards, PayPal, and Apple Pay. Choose the best option for you.

How can I contact customer service?

Reach out to us via our contact page. We're here to help with any questions or concerns.

Do you have a return policy?

Yes. Returns are accepted within 30 days of purchase. Items must be in original condition.

Can I gift an action figure?

Absolutely! Our action figures make great gifts. Check out our holiday hero collectibles for ideas.


Conclusion

This blog dove deep into the world of luxury action figures for 2025. We showcased the finest holiday hero collectibles. These figures are not just toys. They are masterpieces. Each one is crafted with stunning detail. They make perfect gifts for action figure enthusiasts. Our guide aimed to help you find the best premium collectible figures. Remember, these exclusive action figures are more than gifts. They are treasures that last a lifetime. We hope this action figure gift guide makes your holiday shopping easier. Let's bring joy with these high-end action figures.

Key Takeaways

  • Luxury action figures for 2025 are top-notch.
  • Holiday hero collectibles are perfect gifts.
  • Exclusive action figures are treasures for a lifetime.


Unlock the Magic of the Holidays!

Find the perfect luxury action figure for your collection.

Shop Now

Topics & Keywords

Primary focus: luxury action figures 2025

luxury action figures 2025 holiday hero collectibles exclusive action figures premium collectible figures action figure gift guide high-end action figures collectible action figures action figure enthusiasts

{"@context": "https://schema.org", "@type": "Article", "headline": "Holiday Hero Collectibles: 2025's Must-Have Figures", "description": "Unlock the joy of collectibles this holiday season with our 2025 guide to must-have action figures. Perfect gifts for enthusiasts of all ages! holiday collectib", "keywords": ["luxury action figures 2025", "holiday hero collectibles", "exclusive action figures", "premium collectible figures", "action figure gift guide", "high-end action figures", "collectible action figures", "action figure enthusiasts", "2025 must-have action figures", "luxury holiday hero figures"], "author": {"@type": "Organization", "name": "AI Content Assistant"}, "image": "https://shopify-staged-uploads.storage.googleapis.com/tmp/89823379478/files/02c30c4d-656b-4a22-b9d6-b050eeca9696/featured_collage_69305eeb7496a820bd8e1fa8.png", "mainEntityOfPage": {"@type": "WebPage", "@id": "https://qvik9c-i5.myshopify.com/blogs/news/holiday-hero-collectibles-2025s-must-have-figures"}} 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 });

https://cdn.shopify.com/s/files/1/0898/2337/9478/files/screenshot-2026-02-13-121713-am-1770913138.png?v=1770913140
https://cdn.shopify.com/s/files/1/0898/2337/9478/files/screenshot-2026-02-13-121713-am-1770913138.png?v=1770913140
Back to blog