/* Surgical overrides for the existing Astra / Goldinvest theme. */
:root { --gi-a11y-border: #767676; --gi-a11y-ink: #212121; --gi-a11y-gold: #f9c349; --gi-a11y-gold-ink: #735500; }
html { scroll-padding-top: 120px; }
body :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--gi-a11y-ink) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #fff !important;
}
body :is(input, select, textarea, button, a, [tabindex]) { scroll-margin-top: 120px; }
.skip-link:focus { z-index: 100000; background: #fff; color: var(--gi-a11y-ink); padding: 1rem; }
.wpforms-container input:not([type="hidden"]), .wpforms-container textarea,
.woocommerce input:not([type="hidden"]):not([type="submit"]), .woocommerce select, .woocommerce textarea,
.woocommerce .select2-container .select2-selection { border-color: var(--gi-a11y-border) !important; }
.wpforms-container input::placeholder, .wpforms-container textarea::placeholder,
.woocommerce input::placeholder, .woocommerce textarea::placeholder { color: #545454 !important; opacity: 1; }
.wpforms-container label.wpforms-error, .wpforms-container .wpforms-error-container,
.woocommerce .gi-a11y-field-error { color: #b32d2e !important; font-weight: 500; }
.wpforms-container :is(input, textarea)[aria-invalid="true"], .woocommerce [aria-invalid="true"] { border: 2px solid #b32d2e !important; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--gi-a11y-gold-ink); }
.wpforms-container :is(a,.wpforms-field-description a), .woocommerce :is(.lost_password a,.woocommerce-terms-and-conditions-wrapper a,.showcoupon,.shipping-calculator-button) { text-decoration: underline !important; text-underline-offset: .15em; }
.woocommerce a.remove { color: #545454 !important; border: 1px solid #545454; }
.woocommerce a.remove:hover { background: var(--gi-a11y-ink) !important; color: #fff !important; }
.woocommerce .show-password-input {
  position: static !important; display: inline-block !important; padding: .45em .8em !important;
  width: auto !important; height: auto !important; font-size: 1rem !important; line-height: 1.4 !important;
  margin-top: .5rem; color: var(--gi-a11y-ink) !important; background: var(--gi-a11y-gold) !important;
}
.woocommerce .show-password-input::before, .woocommerce .show-password-input::after { display: none !important; }
.woocommerce .password-input { display: block !important; }
.woocommerce .password-input input { width: 100%; }
.woocommerce .coupon label.gi-a11y-coupon-label { display: block; position: static; width: auto; height: auto; clip: auto; clip-path: none; overflow: visible; font-weight: 600; margin-bottom: .35rem; }
.gi-a11y-form-instructions { margin-bottom: 1rem; color: var(--gi-a11y-ink); }
.gi-a11y-form-status:not(:empty) { margin: 1rem 0; color: #b32d2e; font-weight: 600; }
.gi-a11y-field-error { display: block; margin: .25rem 0; }
.gi-a11y-footer-nav { background: #000; padding: 1rem 2rem 1.5rem; text-align: center; color: #fff; }
.gi-a11y-footer-nav a { color: var(--gi-a11y-gold); text-decoration: underline; }
.gi-a11y-sitemap a { text-decoration: underline; }
.gi-a11y-gallery { list-style: none !important; columns: 4; column-gap: 5px; padding: 0 !important; margin: 0 auto !important; }
.gi-a11y-gallery li { break-inside: avoid; margin: 0 0 5px; padding: 0; }
.gi-a11y-gallery figure { margin: 0; }
.gi-a11y-gallery a { display: block; }
.gi-a11y-gallery img { width: 100%; height: auto; display: block; }
.gi-a11y-gallery video { width: 100%; height: auto; display: block; }
.gi-a11y-gallery figcaption { font-size: .9rem; color: var(--gi-a11y-ink); padding: .5rem; }
.gi-a11y-lightbox { background: #000; color: #fff; border: 2px solid #fff; border-radius: 0; max-width: calc(100vw - 2rem); max-height: calc(100vh - 2rem); padding: 1rem; }
.gi-a11y-lightbox::backdrop { background: rgba(0,0,0,.85); }
.gi-a11y-lightbox img { display: block; max-width: 100%; width: auto; max-height: 65vh; height: auto; margin: 1rem auto; object-fit: contain; }
.gi-a11y-lightbox nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; }
.gi-a11y-lightbox button { color: var(--gi-a11y-ink); background: var(--gi-a11y-gold); border: 1px solid var(--gi-a11y-gold-ink); white-space: normal; }
.gi-a11y-lightbox p { max-width: 65ch; margin: .5rem auto; }
.gi-a11y-video-toggle { position: absolute; bottom: 1rem; right: 1rem; z-index: 3; padding: .5rem 1rem; border: 1px solid #fff; background: #000; color: #fff; font-size: .9rem; line-height: 1.5; max-width: calc(100% - 2rem); }
#best-quality-products { font-size: 1rem; font-weight: 700; margin-bottom: 1.4rem; }
:is(#azienda,#la-fonderia,#gli-impianti) { font-size: 1.25rem; }
:is(#telefono,#address-1,#spedizione-europea,#qualita-certificata,#prezzi-aggiornati,#pagamenti-sicuri) { font-size: 1.25rem; }
.gi-a11y-legal-link { font-size: 1rem; margin: 1rem 0; }
.gi-a11y-legal-link a { text-decoration: underline; }
.blob.green { animation: none; }
@media (max-width: 921px) {
  .ast-header-break-point .main-header-menu .menu-link,
  .ast-header-break-point .main-header-menu .ast-menu-toggle { color: var(--gi-a11y-ink) !important; }
  .ast-header-break-point .main-header-menu :is(.menu-item.current-menu-item,.menu-item.current-menu-ancestor) > .menu-link { color: var(--gi-a11y-gold-ink) !important; text-decoration: underline; }
  .ast-header-break-point .main-header-menu .sub-menu { background: #fff !important; }
  .gi-a11y-gallery { columns: 2; }
}
@media (max-width: 480px) {
  .gi-a11y-gallery { columns: 1; }
  .woocommerce :is(.form-row-first,.form-row-last) { width: 100% !important; float: none !important; }
  .woocommerce .coupon { display: flex; flex-direction: column; gap: .5rem; }
  .woocommerce .coupon :is(input,button) { width: 100% !important; float: none !important; margin: 0 !important; }
  .woocommerce button, .woocommerce .button, .wpforms-container button { white-space: normal !important; max-width: 100%; overflow-wrap: anywhere; }
  .woocommerce table.shop_attributes th { width: 40%; }
  .woocommerce table.shop_attributes td { overflow-wrap: anywhere; }
  .gi-a11y-video-toggle { bottom: .5rem; right: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .blob, .bmi-cookie-widget, .wp-block-cover.has-parallax { animation: none !important; transition: none !important; background-attachment: scroll !important; }
}

.wpforms-container .wpforms-required-label{color:#b32d2e!important}.woocommerce-ordering{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.flex-control-thumbs img:focus-visible{outline:3px solid #212121;outline-offset:3px}


.gi-a11y-lightbox h2{color:#fff!important}


.woocommerce .woocommerce-breadcrumb,.woocommerce .woocommerce-breadcrumb a{color:#545454}@media(max-width:600px){.woocommerce .woocommerce-ordering{float:none;clear:both;width:100%;max-width:100%;margin:1rem 0}.woocommerce-ordering select.orderby{width:100%;min-width:0;max-width:100%;flex:1 1 100%}.woocommerce-ordering button{white-space:normal;width:auto;flex:0 1 auto}}


.wp-block-cover .wp-block-cover__background{background-color:#000!important;opacity:.75!important}.wpforms-container input[type=checkbox]{outline:1px solid #767676;outline-offset:0}


@media(max-width:480px){.ast-mobile-header-wrap .custom-logo{max-width:120px;width:100%;height:auto}.ast-mobile-header-wrap .main-header-menu-toggle{padding:8px!important;min-width:44px;min-height:44px;font-size:1rem!important}.ast-mobile-header-wrap .main-header-menu-toggle svg{width:24px!important;height:24px!important}.ast-mobile-header-wrap .site-header-section{min-width:0}}

