:root {
    --ap-font-heading:'Satoshi', Arial, sans-serif;
    --ap-font-body:'Switzer', Arial, sans-serif;
    --ap-color-title:#291d03;
    --ap-color-ink:#291d03;
    --ap-color-text:#635c55;
    --ap-color-soft-ink:#635c55;
    --ap-color-muted:#918982;
    --ap-color-faint:#aaa197;
    --ap-color-line:#ded7cc;
    --ap-color-line-soft:#ebe5dc;
    --ap-color-accent:#bfa17a;
    --ap-color-accent-dark:#9a8068;
    --ap-color-deep:#000;
    --ap-color-bg:#f8f6f3;
    --ap-color-surface:#fff;
    --ap-heading-letter-spacing:-0.045em;
    --ap-heading-soft-letter-spacing:-0.028em;
    --ap-product-letter-spacing:.005em;
    --ap-body-letter-spacing:-0.01em;
    --ap-body-line-height:1.7;
    --ap-long-copy-line-height:1.78;
    --ap-micro-letter-spacing:.14em;
    --ap-eyebrow-letter-spacing:.18em;
}

body,
p,
li,
input,
textarea,
select,
form,
.woocommerce,
.woocommerce-page {
    font-family:var(--ap-font-body);
    font-size:16.8px;
    font-weight:300;
    line-height:var(--ap-body-line-height);
    letter-spacing:var(--ap-body-letter-spacing);
    color:var(--ap-color-text);
}

body {
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    font-kerning:normal;
    font-feature-settings:"kern" 1, "liga" 1;
}

h1,
.elementor-widget-heading h1.elementor-heading-title,
.product_title,
.ap-hero-title {
    font-family:var(--ap-font-heading);
    font-size:clamp(4rem, 8vw, 8rem);
    font-weight:500;
    line-height:.92;
    letter-spacing:var(--ap-heading-letter-spacing);
    color:var(--ap-color-title);
}

h2,
.elementor-widget-heading h2.elementor-heading-title,
.ap-related-title,
.ap-v18-title,
.ap-v19-title,
.ap-cart-panel__header h2 {
    font-family:var(--ap-font-heading);
    font-weight:300;
    line-height:.96;
    letter-spacing:var(--ap-heading-soft-letter-spacing);
    color:var(--ap-color-title);
}

h3,
h4,
.elementor-widget-heading h3.elementor-heading-title {
    font-family:var(--ap-font-heading);
    font-weight:300;
    line-height:1.02;
    letter-spacing:var(--ap-heading-soft-letter-spacing);
    color:var(--ap-color-title);
}

.woocommerce-loop-product__title,
.ap-product-info-meta h2,
.ap-v18-name,
.ap-v19-name,
.ap-search-result__title,
.ap-cart-item__title,
.ap-cart-recommendation__title {
    font-family:var(--ap-font-body);
    font-size:17px;
    font-weight:300;
    line-height:1.36;
    letter-spacing:var(--ap-product-letter-spacing);
    color:var(--ap-color-title);
}

header,
footer,
nav,
label,
button,
.button,
.elementor-button,
.elementor-nav-menu,
.elementor-nav-menu a,
.menu-item,
.ap-cart-checkout,
.ap-cart-recommendation__button,
.ap-hover-cart-container .button,
.ap-v18-add,
.ap-v19-add,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    font-family:var(--ap-font-body);
    font-size:12px;
    font-weight:400;
    line-height:1;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.ap-product-category-tag,
.ap-share-trigger,
.ap-accordion-header,
.ap-clr-title,
.ap-cart-complete__title,
.ap-search-count,
.ap-search-helper,
.ap-product-badge {
    font-family:var(--ap-font-body);
    font-size:11px;
    font-weight:400;
    line-height:1.2;
    letter-spacing:var(--ap-eyebrow-letter-spacing);
    text-transform:uppercase;
}

.price,
.woocommerce-Price-amount,
.ap-cart-item__price,
.ap-cart-recommendation__price,
.ap-v18-price,
.ap-v19-price,
.ap-search-result__price,
.woocommerce-account,
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-mini-cart {
    font-family:var(--ap-font-body);
    font-size:16.8px;
    font-weight:300;
    color:var(--ap-color-muted);
    letter-spacing:var(--ap-body-letter-spacing);
}

.ap-accordion-inner,
.ap-accordion-inner p,
.woocommerce-product-details__short-description {
    font-family:var(--ap-font-body);
    font-size:16.8px;
    font-weight:300;
    line-height:var(--ap-long-copy-line-height);
    letter-spacing:var(--ap-body-letter-spacing);
    color:var(--ap-color-text);
}

a {
    color:inherit;
    text-underline-offset:.18em;
}

a:hover {
    color:var(--ap-color-accent-dark);
}

::selection {
    background:var(--ap-color-accent);
    color:#fff;
}

@media (max-width:1024px) {
    h1,
    .elementor-widget-heading h1.elementor-heading-title,
    .product_title,
    .ap-hero-title {
        font-size:clamp(3.25rem, 9vw, 5.5rem);
        line-height:.94;
    }
}

@media (max-width:600px) {
    h1,
    .elementor-widget-heading h1.elementor-heading-title,
    .product_title,
    .ap-hero-title {
        font-size:clamp(2.75rem, 13vw, 4rem);
        line-height:.96;
        letter-spacing:-0.038em;
    }
}


/* --------------------------------------------------------------------------
   Badge prodotto (metabox "Badge prodotto").
   Stanno qui e non in shortcodes.css perché questo foglio è l'unico caricato su
   tutte le pagine: nelle collezioni shortcodes.css non viene incluso e i badge
   uscivano come testo semplice, senza sfondo e senza posizionamento.
   -------------------------------------------------------------------------- */

.ap-product-badges { position:absolute; top:12px; left:12px; z-index:5; display:flex; flex-direction:column; align-items:flex-start; gap:6px; pointer-events:none; }
.ap-product-badge { position:static; font-family:var(--ap-font-body); font-size:11px; font-weight:400; letter-spacing:.18em; text-transform:uppercase; padding:5px 10px; line-height:1.2; color:#fff; border:1px solid transparent; text-decoration:none; pointer-events:none; }
.ap-badge--new { background:#1a1a1a; color:#fff; }
.ap-badge--limited { background:#bfa17a; color:#fff; }
.ap-badge--exclusive { background:#93743b; color:#fff; }
.ap-badge--unique { background:#596747; color:#fff; }
.ap-badge--last { background:#78554b; color:#fff; }
.ap-badge--sold { background:#d8d1c8; color:#5e5146; border-color:#c8beb3; text-decoration:none; }
.ap-badge--coming { background:#8a7355; color:#fff; border-color:#8a7355; }

/* --------------------------------------------------------------------------
   Opere "Coming soon": avviso al posto del modulo di acquisto sulla scheda.
   In griglia lo stato è comunicato dal solo badge fisso (.ap-badge--coming),
   come per gli altri stati del metabox "Badge prodotto".
   -------------------------------------------------------------------------- */

.ap-coming-soon-notice {
    margin:0 0 30px;
    padding:22px 24px;
    border:1px solid var(--ap-color-line);
    background:#faf8f4;
}

.ap-coming-soon-notice__label {
    display:block;
    margin-bottom:8px;
    font-family:var(--ap-font-body);
    font-size:11px;
    font-weight:400;
    line-height:1.2;
    letter-spacing:var(--ap-eyebrow-letter-spacing);
    text-transform:uppercase;
    color:#8a7355;
}

.ap-coming-soon-notice__text {
    margin:0;
    font-family:var(--ap-font-body);
    font-size:15px;
    line-height:1.6;
    color:var(--ap-color-text);
}
