/*
Theme Name: LD Fashion — Rosa & Argento
Description: Boutique donna su Astra: layout Elementor gratuito, WooCommerce e richieste ordine su WhatsApp.
Version: 1.0.0
Template: astra
Text Domain: ld-fashion
Requires at least: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root {
  --ld-rose: #b78490;
  --ld-rose-dark: #825263;
  --ld-blush: #f2e5e8;
  --ld-silver: #c4c6cb;
  --ld-paper: #fbf8f5;
  --ld-white: #fff;
  --ld-text: #29262a;
  --ld-muted: #69616a;
  --ld-line: #ded9da;
}
.ld-theme { background: var(--ld-paper); color: var(--ld-text); font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; font-size: 16px; line-height: 1.65; }
.ld-theme h1,.ld-theme h2,.ld-theme h3,.ld-wordmark { color: var(--ld-text); font-family: Georgia,"Times New Roman",serif; font-weight: 400; line-height: 1.15; }
.ld-theme a { color: var(--ld-rose-dark); text-decoration: none; }
.ld-theme button,.ld-theme input,.ld-theme select,.ld-theme textarea { font: inherit; }
.ld-theme a,.ld-theme button { -webkit-tap-highlight-color: transparent; }
.ld-theme :focus-visible { outline: 3px solid var(--ld-rose-dark); outline-offset: 4px; }
.ld-theme img { max-width: 100%; height: auto; }
.ld-theme [hidden] { display: none; }
.ld-theme .site-content > .ast-container { max-width: 1280px; width: 100%; padding: 0 28px; }
.ld-theme.ld-elementor-layout .site-content > .ast-container { max-width: none; padding: 0; display: block; }
.ld-theme #primary { width: 100%; float: none; border: 0; margin: 0; padding: 0; }
.ld-theme .ld-page:not(.elementor-page) .entry-content { padding-bottom: 36px; }
.ld-theme.ld-elementor-layout .ld-page .entry-content { padding-bottom: 0; }
.ld-theme .ld-page-title { font-size: clamp(32px,4vw,54px); margin: 44px 0 24px; }
.ld-theme .elementor-column { min-width: 0; }
.ld-theme .elementor-widget-wrap { min-width: 0; }
.ld-theme .elementor-section.elementor-section-boxed > .elementor-container { width: 100%; }
.ld-theme .elementor-button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; border-radius: 3px; }
.ld-theme .elementor-button:hover { filter: brightness(.94); }
.ld-shell { max-width: 1240px; margin-inline: auto; padding-inline: 28px; }
.ld-skip-link { position: absolute; z-index: 999999; top: -120px; left: 20px; padding: 12px 20px; background: white; }
.ld-skip-link:focus { top: 12px; }
.ld-site-header { position: relative; z-index: 50; background: var(--ld-paper); border-bottom: 1px solid var(--ld-line); }
.ld-header-fallback { display: flex; align-items: center; gap: 32px; justify-content: space-between; min-height: 96px; }
.ld-wordmark { font-size: 32px; letter-spacing: -.8px; }
.ld-theme .ld-wordmark { color: var(--ld-text); }
.ld-header-brand .elementor-heading-title { white-space: nowrap; }
.ld-header-menu .elementor-widget-wrap,.ld-header-tools .elementor-widget-wrap { align-content: center; }
.ld-menu-list,.ld-fallback-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 26px; }
.ld-theme .ld-menu-list a,.ld-theme .ld-fallback-menu a { display: inline-block; padding-block: 10px; color: var(--ld-text); font-size: 14px; }
.ld-theme .ld-menu-list a:hover,.ld-theme .ld-fallback-menu a:hover { color: var(--ld-rose-dark); text-decoration: underline; text-underline-offset: 7px; }
.ld-menu-toggle { display: none; background: transparent; border: 0; padding: 12px 6px; color: var(--ld-text); align-items: center; gap: 9px; }
.ld-utilities { display: flex; justify-content: flex-end; align-items: center; gap: 12px; }
.ld-icon-link,.ld-search > summary { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; cursor: pointer; color: var(--ld-text); }
.ld-theme .ld-icon-link { color: var(--ld-text); }
.ld-cart-count { position: absolute; top: -2px; right: 0; min-width: 19px; height: 19px; font-size: 11px; background: var(--ld-rose-dark); color: white; border-radius: 50%; text-align: center; line-height: 19px; padding-inline: 3px; }
.ld-search { position: relative; }
.ld-search > summary { list-style: none; }
.ld-search > summary::-webkit-details-marker { display: none; }
.ld-search form { position: absolute; right: 0; top: 55px; width: min(350px,calc(100vw - 40px)); display: flex; gap: 8px; padding: 14px; background: var(--ld-white); border: 1px solid var(--ld-line); box-shadow: 0 8px 28px #29262a15; }
.ld-search input { min-width: 0; width: 100%; border: 1px solid var(--ld-line); padding: 9px; }
.ld-search button { padding: 9px 14px; background: var(--ld-rose-dark); color: white; border: 0; border-radius: 3px; }
.ld-hero-image .elementor-widget-container,.ld-hero-image img { width: 100%; }
.ld-hero-image img { height: clamp(540px,50vw,730px); object-fit: cover; display: block; }
.ld-hero-copy .elementor-widget-wrap { align-content: center; }
.ld-theme .ld-hero-copy h1 em { font-weight: 400; }
.ld-theme .ld-eyebrow { letter-spacing: .19em; font-size: 11px; text-transform: uppercase; color: var(--ld-rose-dark); }
.ld-category-card .elementor-widget-wrap { min-height: 215px; align-content: center; }
.ld-theme .ld-category-card .elementor-button { min-height: 44px; }
.ld-theme .woocommerce ul.products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px 24px; margin: 0; padding: 0; }
.ld-theme .woocommerce ul.products::before,.ld-theme .woocommerce ul.products::after { display: none; }
.ld-theme .woocommerce ul.products li.product { float: none; width: auto; margin: 0; padding: 0 0 10px; min-width: 0; }
.ld-theme .woocommerce ul.products li.product img { aspect-ratio: 4/5; object-fit: cover; width: 100%; background: #f0eeec; border-radius: 2px; margin-bottom: 14px; transition: opacity .2s; }
.ld-theme .woocommerce ul.products li.product a:hover img { opacity: .9; }
.ld-theme .woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: inherit; font-size: 15px; font-weight: 500; line-height: 1.4; color: var(--ld-text); padding: 0; margin-bottom: 5px; }
.ld-theme .woocommerce ul.products li.product .price { font-size: 14px; color: var(--ld-rose-dark); margin-bottom: 10px; }
.ld-theme .woocommerce ul.products li.product .button { margin: 7px 0 0; width: 100%; text-align: center; padding: 12px 8px; font-size: 13px; min-height: 44px; }
.ld-theme .woocommerce .star-rating { color: var(--ld-rose-dark); }
.ld-theme .woocommerce span.onsale { background: var(--ld-blush); color: var(--ld-rose-dark); border-radius: 2px; min-height: 0; line-height: 1.3; padding: 7px 10px; min-width: 0; }
.ld-theme .ld-catalog-title { font-size: clamp(32px,4.5vw,56px); margin-bottom: 26px; }
.ld-category-links { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.ld-theme .ld-category-links a { padding: 8px 18px; border: 1px solid var(--ld-silver); border-radius: 30px; color: var(--ld-text); min-height: 44px; font-size: 14px; }
.ld-theme .ld-category-links a[aria-current],.ld-theme .ld-category-links a:hover { background: var(--ld-blush); border-color: var(--ld-rose); }
.ld-theme .woocommerce .woocommerce-ordering,.ld-theme .woocommerce .woocommerce-result-count { margin-bottom: 24px; }
.ld-theme .woocommerce select,.ld-theme .woocommerce input.input-text,.ld-theme .woocommerce textarea { background: white; color: var(--ld-text); border: 1px solid var(--ld-line); border-radius: 3px; min-height: 46px; padding: 10px 12px; max-width: 100%; }
.ld-theme .woocommerce nav.woocommerce-pagination { margin-top: 36px; }
.ld-theme .woocommerce nav.woocommerce-pagination ul { border-color: var(--ld-line); }
.ld-theme .woocommerce nav.woocommerce-pagination ul li { border-color: var(--ld-line); }
.ld-theme .woocommerce nav.woocommerce-pagination ul li a,.ld-theme .woocommerce nav.woocommerce-pagination ul li span { padding: 14px 17px; }
.ld-theme .woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ld-blush); color: var(--ld-text); }
.ld-theme .ld-button,.ld-theme .woocommerce a.button,.ld-theme .woocommerce button.button,.ld-theme .woocommerce input.button,.ld-theme .woocommerce #respond input#submit { background: var(--ld-rose-dark); color: white; border: 0; border-radius: 3px; box-shadow: none; text-decoration: none; font-family: inherit; font-weight: 500; line-height: 1.35; padding: 15px 24px; min-height: 48px; }
.ld-theme .ld-button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; }
.ld-theme .ld-button:hover,.ld-theme .woocommerce .button:hover { filter: brightness(.93); }
.ld-theme .woocommerce button.button.alt,.ld-theme .woocommerce a.button.alt { background: var(--ld-rose-dark); color: white; }
.ld-theme .woocommerce .button:disabled { opacity: .45; }
.ld-theme .woocommerce div.product .product_title { font-size: clamp(28px,3.5vw,46px); }
.ld-theme .woocommerce div.product p.price,.ld-theme .woocommerce div.product span.price { color: var(--ld-rose-dark); font-size: 21px; }
.ld-theme .woocommerce.ld-product-media div.images,.ld-theme .woocommerce.ld-product-purchase div.summary { width: 100%; float: none; margin: 0; }
.ld-theme .ld-product-media { position: relative; }
.ld-theme .ld-product-media .woocommerce-product-gallery { width: 100%; }
.ld-theme .ld-product-media .woocommerce-product-gallery__image img { border-radius: 2px; }
.ld-theme .woocommerce.ld-product-purchase .product_title { margin: 0 0 18px; }
.ld-theme .woocommerce.ld-product-purchase p.price { margin: 0 0 22px; }
.ld-theme .woocommerce.ld-product-purchase .woocommerce-product-details__short-description { margin-bottom: 22px; color: var(--ld-muted); }
.ld-theme .woocommerce.ld-product-purchase form.cart { margin: 26px 0 0; }
.ld-theme .woocommerce.ld-product-purchase .variations { margin-bottom: 18px; border: 0; }
.ld-theme .woocommerce.ld-product-purchase .variations th { text-align: left; padding: 6px 16px 6px 0; border: 0; font-weight: 500; }
.ld-theme .woocommerce.ld-product-purchase .variations td { border: 0; padding: 6px 0; }
.ld-theme .woocommerce .quantity .qty { min-width: 65px; padding-inline: 6px; }
.ld-wa-block { margin: 15px 0 28px; clear: both; }
.ld-theme .ld-wa-order { width: 100%; }
.ld-wa-note { font-size: 12px; color: var(--ld-muted); margin: 10px 0 0; line-height: 1.5; }
.ld-wa-error { background: #fff3f4; color: #882e40; padding: 12px; margin-top: 10px; font-size: 14px; }
.ld-theme .woocommerce .product_meta { display: grid; gap: 4px; font-size: 12px; color: var(--ld-muted); padding-top: 20px; border-top: 1px solid var(--ld-line); }
.ld-theme .woocommerce.ld-product-details .woocommerce-tabs { margin-bottom: 48px; }
.ld-theme .woocommerce.ld-product-details ul.tabs { padding-left: 0; border-bottom: 1px solid var(--ld-line); }
.ld-theme .woocommerce.ld-product-details ul.tabs li { background: transparent; border: 0; margin: 0 18px 0 0; padding: 0; }
.ld-theme .woocommerce.ld-product-details ul.tabs li::before,.ld-theme .woocommerce.ld-product-details ul.tabs li::after { display: none; }
.ld-theme .woocommerce.ld-product-details ul.tabs li a { padding: 16px 0; font-weight: 500; color: var(--ld-muted); }
.ld-theme .woocommerce.ld-product-details ul.tabs li.active a { color: var(--ld-rose-dark); border-bottom: 2px solid var(--ld-rose-dark); }
.ld-theme .woocommerce-message,.ld-theme .woocommerce-info,.ld-theme .woocommerce-error { background: #f2efee; color: var(--ld-text); border-top-color: var(--ld-rose-dark); font-size: 14px; }
.ld-theme .woocommerce-message::before,.ld-theme .woocommerce-info::before { color: var(--ld-rose-dark); }
.ld-theme .woocommerce table.shop_table { border-color: var(--ld-line); background: white; border-radius: 3px; font-size: 14px; }
.ld-theme .woocommerce table.shop_table td { border-color: var(--ld-line); }
.ld-theme .woocommerce table.shop_table th { font-weight: 500; }
.ld-theme .woocommerce table.cart td.product-thumbnail img { width: 64px; border-radius: 2px; }
.ld-theme .woocommerce .cart-collaterals .cart_totals { border: 1px solid var(--ld-line); background: white; padding: 22px; }
.ld-theme .woocommerce .cart-collaterals .cart_totals h2 { font-size: 26px; }
.ld-cart-whatsapp { margin: 24px 0; }
.ld-theme .woocommerce #payment { background: #f4eeef; border-radius: 3px; }
.ld-theme .woocommerce #payment div.payment_box { background: white; }
.ld-theme .woocommerce #payment div.payment_box::before { border-bottom-color: white; }
.ld-theme .woocommerce-checkout #payment .place-order { padding: 22px; }
.ld-theme .woocommerce form .form-row label { font-size: 14px; font-weight: 500; }
.ld-theme .woocommerce-checkout .col2-set { width: 53%; float: left; }
.ld-theme .woocommerce-checkout .col2-set .col-1,.ld-theme .woocommerce-checkout .col2-set .col-2 { width: 100%; float: none; }
.ld-theme .woocommerce-checkout #order_review_heading,.ld-theme .woocommerce-checkout #order_review { width: 43%; float: right; }
.ld-theme .woocommerce-checkout h3 { font-size: 27px; margin-bottom: 22px; }
.ld-site-footer { border-top: 1px solid var(--ld-silver); background: #f4eeef; margin-top: 0; }
.ld-site-footer .ld-menu-list { align-items: flex-start; justify-content: flex-start; gap: 2px; }
.ld-site-footer .ld-menu-list a { font-size: 13px; padding-block: 5px; }
.ld-footer-fallback { padding-block: 46px; }
.ld-editor-hint { border: 1px dashed var(--ld-rose); background: #fbf4f6; font-size: 13px; padding: 18px; color: #825263; }
@media (max-width:1024px) {
  .ld-theme .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ld-menu-list { gap: 15px; }
  .ld-utilities { gap: 4px; }
  .ld-theme .site-content > .ast-container { padding-inline: 22px; }
  .ld-theme.ld-elementor-layout .site-content > .ast-container { padding: 0; }
}
@media (max-width:767px) {
  .ld-shell { padding-inline: 20px; }
  .ld-theme .site-content > .ast-container { padding-inline: 20px; }
  .ld-theme.ld-elementor-layout .site-content > .ast-container { padding: 0; }
  .ld-header-brand { order: 1; }
  .ld-header-tools { order: 2; }
  .ld-header-menu { order: 3; }
  .ld-utilities { gap: 0; }
  .ld-icon-link,.ld-search > summary { width: 39px; height: 44px; }
  .ld-theme .ld-js .ld-menu-toggle,.ld-js .ld-menu-collapsible .ld-menu-toggle { display: inline-flex; }
  .ld-js .ld-menu-collapsible:not(.is-open) .ld-menu-list { display: none; }
  .ld-menu-collapsible .ld-menu-list { flex-direction: column; gap: 0; align-items: flex-start; padding-bottom: 12px; }
  .ld-menu-collapsible .ld-menu-list a { padding-block: 10px; min-height: 44px; }
  .ld-header-fallback { gap: 10px; flex-wrap: wrap; padding-block: 16px; }
  .ld-header-fallback .ld-wordmark { font-size: 26px; }
  .ld-hero-image img { height: auto; aspect-ratio: 4/3; object-position: center 46%; }
  .ld-theme .woocommerce ul.products { gap: 24px 12px; }
  .ld-theme .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px; }
  .ld-theme .woocommerce ul.products li.product .button { font-size: 12px; }
  .ld-theme .woocommerce .woocommerce-ordering,.ld-theme .woocommerce .woocommerce-result-count { float: none; width: 100%; }
  .ld-theme .woocommerce .woocommerce-ordering select { width: 100%; }
  .ld-theme .woocommerce div.product .product_title { font-size: 30px; }
  .ld-theme .woocommerce div.product form.cart .variations th { min-width: 70px; }
  .ld-theme .woocommerce.ld-product-details ul.tabs li { margin-right: 13px; font-size: 13px; }
  .ld-theme .woocommerce-checkout .col2-set,.ld-theme .woocommerce-checkout #order_review_heading,.ld-theme .woocommerce-checkout #order_review { width: 100%; float: none; }
  .ld-theme .woocommerce .cart-collaterals .cart_totals { padding: 15px; }
  .ld-theme .woocommerce table.cart .actions .coupon { float: none; display: flex; flex-wrap: wrap; gap: 8px; }
  .ld-theme .woocommerce table.cart .actions .coupon input.input-text { width: 100%; }
  .ld-theme .ld-cart-whatsapp .ld-button { width: 100%; font-size: 14px; }
}
@media (prefers-reduced-motion:reduce) {
  .ld-theme *, .ld-theme *::before, .ld-theme *::after { scroll-behavior: auto; animation-duration: .01ms; transition-duration: .01ms; }
}
