/*
Theme Name: Zuccaratu – Extendable Child
Theme URI: https://zuccaratu.com/
Description: Tema child di Extendable per il negozio Zuccaratu.
Author: Zuccaratu
Template: extendable
Version: 2.4.0
Text Domain: zuccaratu-extendable-child
*/

:root {
  --zuccaratu-shadow: 0 12px 34px rgba(52, 36, 24, 0.09);
  --zuccaratu-shadow-soft: 0 6px 22px rgba(52, 36, 24, 0.07);
  --zuccaratu-avorio: #fff8ee;
  --zuccaratu-nero: #1e1712;
  --zuccaratu-cotto: #d86232;
  --zuccaratu-arancio: #f2a23a;
  --zuccaratu-oliva: #4a5432;
  --zuccaratu-pistacchio: #78834c;
  --zuccaratu-sabbia: #ead8be;
}

html {
  scroll-behavior: smooth;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

header.wp-block-template-part {
  background: rgba(255, 248, 238, 0.96);
  border-bottom: 1px solid var(--wp--preset--color--sabbia);
  position: relative;
  z-index: 20;
}

header .wp-block-site-logo img {
  height: auto;
  max-width: 190px;
  width: min(190px, 36vw);
}

header .wp-block-site-title {
  display: none !important;
}

.wp-block-navigation a,
.wp-block-navigation-item__content {
  text-underline-offset: 0.28em;
}

.wp-block-navigation a:hover,
.wp-block-navigation-item__content:hover {
  color: var(--wp--preset--color--terracotta);
}

.wp-element-button,
.wp-block-button__link,
button,
input[type="button"],
input[type="submit"] {
  box-shadow: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.wp-element-button:hover,
.wp-block-button__link:hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover {
  background: var(--wp--preset--color--oliva-scuro);
  color: var(--wp--preset--color--bianco);
  transform: translateY(-1px);
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
  background: var(--wp--preset--color--bianco);
  border: 1px solid var(--wp--preset--color--sabbia);
  border-radius: 6px;
  color: var(--wp--preset--color--nero-bruno);
  min-height: 46px;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--wp--preset--color--terracotta);
  box-shadow: 0 0 0 3px rgba(216, 98, 50, 0.14);
  outline: none;
}

:focus-visible {
  outline: 3px solid var(--wp--preset--color--arancio);
  outline-offset: 3px;
}

.woocommerce ul.products li.product,
.wc-block-grid__product,
.wc-block-product,
.wp-block-woocommerce-product-template > li {
  background: var(--wp--preset--color--bianco);
  border: 1px solid rgba(233, 215, 190, 0.78);
  border-radius: 10px;
  box-shadow: var(--zuccaratu-shadow-soft);
  overflow: hidden;
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.woocommerce ul.products li.product:hover,
.wc-block-grid__product:hover,
.wc-block-product:hover,
.wp-block-woocommerce-product-template > li:hover {
  box-shadow: var(--zuccaratu-shadow);
  transform: translateY(-3px);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.wc-block-grid__product-title,
.wc-block-grid__product-price,
.wp-block-woocommerce-product-price {
  padding-left: clamp(14px, 2vw, 22px);
  padding-right: clamp(14px, 2vw, 22px);
}

.woocommerce ul.products li.product .price,
.wc-block-grid__product-price,
.wp-block-woocommerce-product-price {
  color: var(--wp--preset--color--terracotta);
  font-weight: 700;
}

.woocommerce span.onsale,
.wc-block-components-product-sale-badge {
  background: var(--wp--preset--color--pistacchio);
  border: 0;
  color: var(--wp--preset--color--bianco);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
  background: var(--wp--preset--color--bianco);
  border-color: var(--wp--preset--color--arancio);
  border-radius: 8px;
}

.woocommerce-cart-form,
.woocommerce-checkout,
.wc-block-cart,
.wc-block-checkout {
  background: var(--wp--preset--color--bianco);
  border-radius: 12px;
}

.wp-block-separator {
  color: var(--wp--preset--color--sabbia);
  opacity: 1;
}

@media (max-width: 781px) {
  header .wp-block-site-logo img {
    width: min(160px, 50vw);
  }

  .wp-site-blocks {
    overflow-x: clip;
  }
}

/* Homepage editoriale */
.zuccaratu-home { overflow: clip; }

.zuccaratu-hero {
  background:
    radial-gradient(circle at 84% 16%, rgba(242, 162, 58, 0.22) 0 84px, transparent 85px),
    radial-gradient(circle at 89% 22%, transparent 0 118px, rgba(216, 98, 50, 0.30) 119px 121px, transparent 122px),
    linear-gradient(135deg, #fff8ee 0%, #fff3df 62%, #f1dcc0 100%);
  min-height: min(760px, calc(100vh - 100px));
  position: relative;
}

.zuccaratu-hero::after {
  background-image: radial-gradient(rgba(74, 84, 50, 0.18) 1px, transparent 1px);
  background-size: 18px 18px;
  bottom: 42px;
  content: "";
  height: 126px;
  opacity: 0.55;
  position: absolute;
  right: 4vw;
  width: 180px;
}

.zuccaratu-eyebrow {
  color: var(--zuccaratu-cotto);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.zuccaratu-display {
  font-size: clamp(3.4rem, 7.2vw, 7rem) !important;
  letter-spacing: -0.045em !important;
  line-height: 0.93 !important;
  max-width: 900px;
}

.zuccaratu-intro {
  font-size: clamp(1.1rem, 1.6vw, 1.35rem);
  line-height: 1.65;
  max-width: 690px;
}

.zuccaratu-seal {
  align-items: center;
  aspect-ratio: 1;
  background: var(--zuccaratu-oliva);
  border: 12px solid rgba(255, 255, 255, 0.32);
  border-radius: 50%;
  box-shadow: 0 25px 60px rgba(52, 36, 24, 0.20);
  color: #fff8ee;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-inline: auto;
  max-width: 390px;
  padding: 54px;
  position: relative;
  text-align: center;
  transform: rotate(2deg);
}

.zuccaratu-seal::before,
.zuccaratu-seal::after {
  border: 2px solid var(--zuccaratu-arancio);
  border-radius: 50%;
  content: "";
  inset: 17px;
  position: absolute;
}

.zuccaratu-seal::after {
  border-color: rgba(255, 248, 238, 0.45);
  inset: 27px;
}

.zuccaratu-seal h2 {
  color: #fff8ee !important;
  font-size: clamp(2rem, 3.5vw, 3.4rem) !important;
  line-height: 1 !important;
  margin: 0;
  position: relative;
  z-index: 1;
}

.zuccaratu-seal p { margin: 18px 0 0; position: relative; z-index: 1; }

.zuccaratu-section-title {
  font-size: clamp(2.5rem, 4.4vw, 4.6rem) !important;
  letter-spacing: -0.035em !important;
  line-height: 1 !important;
}

.zuccaratu-category-wrap,
.zuccaratu-product-wrap {
  margin-inline: auto;
  max-width: 1320px;
  padding-inline: clamp(18px, 4vw, 56px);
}

.zuccaratu-category-wrap .product-category img { aspect-ratio: 4 / 5; object-fit: cover; }

.zuccaratu-store-grid {
  display: grid;
  gap: clamp(18px, 2.4vw, 30px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.zuccaratu-store-card {
  background: #fff;
  border: 1px solid rgba(233, 215, 190, 0.78);
  border-radius: 12px;
  box-shadow: var(--zuccaratu-shadow-soft);
  color: var(--zuccaratu-nero);
  display: block;
  overflow: hidden;
  text-decoration: none;
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.zuccaratu-store-card:hover {
  box-shadow: var(--zuccaratu-shadow);
  color: var(--zuccaratu-nero);
  transform: translateY(-4px);
}

.zuccaratu-store-card img {
  aspect-ratio: 1 / 1;
  display: block;
  object-fit: cover;
  width: 100%;
}

.zuccaratu-category-grid .zuccaratu-store-card img { aspect-ratio: 4 / 5; }
.zuccaratu-card-copy { padding: 20px 22px 24px; }
.zuccaratu-card-copy h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); margin: 0; }
.zuccaratu-card-copy p { color: var(--zuccaratu-cotto); font-weight: 750; margin: 8px 0 0; }
.zuccaratu-store-status { grid-column: 1 / -1; text-align: center; }

.zuccaratu-story {
  background:
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    var(--zuccaratu-oliva);
  background-size: 32px 32px;
  color: #fff8ee;
}

.zuccaratu-story h2,
.zuccaratu-story h3,
.zuccaratu-story p { color: inherit; }

.zuccaratu-trust .wp-block-column {
  border-top: 2px solid var(--zuccaratu-arancio);
  padding-top: 24px;
}

.zuccaratu-footer { background: var(--zuccaratu-nero); color: #fff8ee; }
.zuccaratu-footer h2,
.zuccaratu-footer h3,
.zuccaratu-footer p,
.zuccaratu-footer a { color: inherit; }
.zuccaratu-footer a:hover { color: var(--zuccaratu-arancio); }

@media (max-width: 781px) {
  .zuccaratu-hero { min-height: auto; }
  .zuccaratu-display { font-size: clamp(3rem, 15vw, 5.2rem) !important; }
  .zuccaratu-seal { max-width: 300px; padding: 42px; }
  .zuccaratu-hero::after { display: none; }
  .zuccaratu-store-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  .zuccaratu-store-grid { grid-template-columns: 1fr; }
}
