/*
Theme Name: Atelier67
Theme URI: https://atelier67.com.br
Author: Atelier67
Description: Tema de blocos criado para a loja Atelier67, com integração ao WooCommerce.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: atelier67
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Inter:wght@400;500;600;700&display=swap');

:root {
  --a67-ivory: #f7f3ec;
  --a67-paper: #fffdf9;
  --a67-sand: #ded0bf;
  --a67-clay: #b27459;
  --a67-blush: #d7aaa3;
  --a67-sage: #66735f;
  --a67-ink: #514f4a;
  --a67-muted: #79736b;
  --a67-border: #e7ddd1;
  --a67-shadow: 0 18px 44px rgba(91, 70, 55, .10);
}

html { scroll-behavior: smooth; }
body { color: var(--a67-ink); background: var(--a67-paper); }
a { text-underline-offset: .18em; }
.wp-site-blocks { overflow: hidden; }

.a67-header {
  position: sticky; top: 0; z-index: 40;
  border-bottom: 1px solid var(--a67-border);
  background: rgba(255, 253, 249, .94);
  backdrop-filter: blur(14px);
}
.a67-header .wp-block-navigation-item__content { color: var(--a67-ink); }
.a67-logo img { width: 196px; height: auto; display: block; }
.a67-cart .wc-block-mini-cart__button { color: var(--a67-clay); }

.a67-eyebrow {
  margin: 0 0 1rem;
  color: var(--a67-clay);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.a67-display { font-family: 'Cormorant Garamond', Georgia, serif; line-height: .96; }
.a67-display em { color: var(--a67-clay); font-weight: 500; }
.a67-lead { max-width: 42rem; color: var(--a67-muted); line-height: 1.8; }

.a67-hero { min-height: 650px; background: var(--a67-ivory); }
.a67-hero-copy { padding: clamp(4rem, 7vw, 7rem) clamp(1.5rem, 7vw, 7rem); }
.a67-hero-media { min-height: 650px; }
.a67-hero-media img { width: 100%; height: 100%; object-fit: cover; }

.wp-element-button,
.wp-block-button__link,
.single_add_to_cart_button,
.add_to_cart_button,
.wc-block-components-button {
  border-radius: 2px !important;
  background: var(--a67-clay) !important;
  color: #fff !important;
  border: 1px solid var(--a67-clay) !important;
  box-shadow: none !important;
  font-weight: 700 !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.wp-element-button:hover,
.wp-block-button__link:hover,
.single_add_to_cart_button:hover,
.add_to_cart_button:hover,
.wc-block-components-button:hover {
  background: #9f654e !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(178, 116, 89, .18) !important;
}
.is-style-outline .wp-block-button__link { background: transparent !important; color: var(--a67-clay) !important; }

.a67-section { padding: clamp(4.5rem, 8vw, 7.5rem) clamp(1.25rem, 6vw, 6rem); }
.a67-section--ivory { background: var(--a67-ivory); }
.a67-section--sand { background: #e8ded1; }
.a67-section-title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(2.7rem, 5vw, 5rem); line-height: 1; margin: 0; }

.a67-category-grid .wp-block-column {
  padding: 1.7rem;
  border: 1px solid var(--a67-border);
  background: var(--a67-paper);
  min-height: 170px;
}
.a67-category-grid h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.7rem; margin: 0 0 .7rem; }
.a67-category-grid p { color: var(--a67-muted); line-height: 1.65; }

.a67-products .wc-block-product-template,
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 2rem !important;
}
.a67-products .wc-block-product,
.woocommerce ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  padding: 0 0 1.35rem !important;
  border: 1px solid var(--a67-border);
  background: #fff;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(91, 70, 55, .04);
}
.a67-products img,
.woocommerce ul.products li.product img { aspect-ratio: 4 / 5; object-fit: cover; margin: 0 0 1rem !important; }
.a67-products .wp-block-post-title,
.a67-products .wp-block-woocommerce-product-price,
.a67-products .wp-block-button,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button { margin-left: 1.2rem !important; margin-right: 1.2rem !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.45rem; color: var(--a67-ink); }
.woocommerce .price, .wc-block-components-product-price { color: var(--a67-clay) !important; font-weight: 700 !important; }

.a67-process { counter-reset: steps; }
.a67-process .wp-block-column { border-top: 1px solid var(--a67-border); padding-top: 1.3rem; }
.a67-process h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.55rem; }
.a67-process p { color: var(--a67-muted); }

.a67-about-image img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.a67-cta { text-align: center; background: var(--a67-sand); }
.a67-footer { background: #5d5a54; color: #f8f3eb; }
.a67-footer a { color: #f8f3eb; }
.a67-footer .a67-logo { filter: brightness(0) invert(1); opacity: .92; }

.woocommerce div.product { padding-top: 2rem; }
.woocommerce div.product .product_title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(2.5rem, 5vw, 4.7rem); line-height: 1; }
.woocommerce div.product div.images img { background: var(--a67-ivory); }
.woocommerce-checkout, .woocommerce-cart { color: var(--a67-ink); }

@media (max-width: 900px) {
  .a67-hero, .a67-hero-media { min-height: auto; }
  .a67-hero > .wp-block-columns { flex-direction: column; }
  .a67-hero-media img { min-height: 420px; }
  .a67-products .wc-block-product-template,
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
  .a67-logo img { width: 150px; }
  .a67-hero-copy { padding: 3.5rem 1.25rem; }
  .a67-hero-media img { min-height: 360px; }
  .a67-section { padding: 4rem 1.1rem; }
  .a67-products .wc-block-product-template,
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
  .a67-category-grid { gap: .75rem !important; }
}
