/* Native homepage blocks: desktop grid settings remain independent of shop rules. */
.tc-home-editor { padding: clamp(24px, 4vw, 54px) 0 64px; }
.tc-home-editor-content > * { margin-top: 0; margin-bottom: clamp(28px, 4vw, 54px); }
.tc-home-editor-content > .alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }
.tc-home-editor-content .wp-block-columns { gap: 24px; }
.tc-home-editor-content .wp-block-column { min-width: 0; }
.tc-home-editor-content .wp-block-media-text { overflow: hidden; border-radius: 24px; }
.tc-home-editor-content .wp-block-media-text__content { padding: 28px; }
.tc-home-info > .wp-block-column { border-radius: 20px; padding: 24px; background: var(--tc-surface, #fff); border: 1px solid #e5e1dd; }
.tc-home-brand-story { background: var(--tc-surface, #fff); }
.tc-home-editor-content a:not(.button):not(.tc-editor-banner):not(.woocommerce-LoopProduct-link):not(.wp-block-button__link) { text-decoration: underline; text-underline-offset: 3px; }
.tc-editor-banner { position: relative; isolation: isolate; display: flex; align-items: center; min-height: var(--tc-banner-height, 360px); padding: clamp(24px, 5vw, 64px); border-radius: 24px; overflow: hidden; background: #e7ded7; color: #172854; text-decoration: none; }
.tc-editor-banner-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.tc-editor-banner.has-copy:has(.tc-editor-banner-image) { color: #fff; }
.tc-editor-banner.has-copy:has(.tc-editor-banner-image)::before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,var(--tc-banner-overlay, .35)); z-index: -1; }
.tc-editor-banner-copy { max-width: 780px; }
.tc-editor-banner-copy h2 { font-size: clamp(28px, 4vw, 52px); margin: 0 0 16px; color: inherit; }
.tc-editor-banner-copy p { font-size: clamp(16px, 2vw, 20px); margin: 0 0 20px; color: inherit; }
.tc-editor-banner-cta { display: inline-flex; gap: 12px; padding: 14px 24px; border-radius: 99px; color: #172854; background: #fff; font-weight: 800; }
.tc-editor-banner:focus-visible { outline: 3px solid var(--tc-primary, #7f372e); outline-offset: 4px; }
.tc-editor-products-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.tc-editor-products-heading h2 { margin: 0; font-size: clamp(26px, 4vw, 42px); }
html body .tc-editor-products .woocommerce ul.products { display: grid !important; grid-template-columns: repeat(var(--tc-home-columns, 4), minmax(0,1fr)) !important; gap: 24px 16px !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; justify-content: stretch !important; }
html body .tc-editor-products .woocommerce ul.products > li.product { width: auto !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; float: none !important; }
.tc-editor-block-toolbar { padding: 12px; background: #f3f1ee; }
.tc-editor-preview a, .tc-editor-preview button { pointer-events: none; }
.editor-styles-wrapper .tc-editor-products { border: 1px dashed #ccc; padding: 20px; }
.editor-styles-wrapper .tc-editor-products .woocommerce ul.products { list-style: none; }
.editor-styles-wrapper .tc-editor-banner { margin: 0; }
@media (min-width: 768px) and (max-width: 1024px) {
  html body .tc-editor-products .woocommerce ul.products { grid-template-columns: repeat(min(3, var(--tc-home-columns, 4)), minmax(0,1fr)) !important; }
}
@media (max-width: 767px) {
  .tc-editor-banner { min-height: min(var(--tc-banner-height, 360px), 420px); padding: 26px 20px; border-radius: 18px; }
  html body .tc-editor-products .woocommerce ul.products { grid-template-columns: repeat(var(--tc-home-mobile-columns, 1), minmax(0,1fr)) !important; gap: 18px 12px !important; }
  .tc-home-editor-content .wp-block-columns { flex-wrap: wrap !important; }
  .tc-home-editor-content .wp-block-column { flex-basis: 100% !important; }
  .tc-home-editor-content .wp-block-media-text { grid-template-columns: 100% !important; }
  .tc-home-editor-content .wp-block-media-text__media { grid-column: 1 !important; grid-row: 1 !important; }
  .tc-home-editor-content .wp-block-media-text__content { grid-column: 1 !important; grid-row: 2 !important; padding: 22px; }
}
