/* WordPress/WooCommerce bridge. Components and layout come from frontend-src. */
* { box-sizing: border-box; }
body.admin-bar .header { top: 32px; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { top: 8px; left: 8px; z-index: 1000; background: #fff; padding: 8px 12px; }
.form-honeypot { position: absolute !important; left: -9999px !important; }
.notice { margin-bottom: 16px; border-radius: 12px; padding: 12px 16px; }
.notice-success { background: #dff2df; }
.notice-error, .field__error { color: #a61b1b; }
.field__error { padding: 6px 12px 0; font-size: 13px; }
.parafinoff-contact-form { display: grid; gap: 20px; width: 100%; }
.parafinoff-contact-form__title { font-weight: 600; font-size: var(--text-2xl); }
.product-card__title a, .cart-item__title a { color: inherit; text-decoration: none; }
.product-card__cart { text-decoration: none; }
.product-card__price .amount, .product-detail__price .amount { color: inherit; }
.added_to_cart.wc-forward { display: none !important; }
.generic-page, .generic-page__head { display: grid; gap: 40px; }
.generic-page__lead { max-width: 636px; color: var(--color-text-muted); font-size: var(--text-lg); line-height: var(--text-line-height-140); }
.generic-page__content { max-width: 900px; }
.content-cards { display: grid; gap: 32px; }
.content-cards__head { display: grid; gap: 16px; max-width: 636px; }
.content-cards__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 24px; }
.certificates-page { display: grid; gap: 40px; padding-top: 24px; }
.certificates-page__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(217px, 1fr)); gap: 24px; }
.about-page { display: grid; gap: 40px; }
.about-intro-block { display: grid; gap: 24px; }
.about-intro-block__lead { max-width: 636px; color: var(--color-text-muted); font-size: var(--text-lg); line-height: 1.4; }
.contacts-page__connect { display: grid; gap: 40px; }
.contacts-block__map iframe { display: block; border: 0; width: 100%; height: 100%; min-height: 420px; }
.policy__sections > :is(h2, h3) { scroll-margin-top: 24px; }
.policy__sections > h2 { margin-top: 40px; }
.policy__sections > h2:first-child { margin-top: 0; }
.policy__sections :is(p, ul, ol) { margin-top: 15px; }
.policy__sections :is(ul, ol) { padding-left: 1.4em; }
.pagination__page.page-numbers.current { background-color: var(--color-surface-card); color: var(--color-accent); }
.pagination__page.page-numbers.prev, .pagination__page.page-numbers.next { border-radius: 999px; background: var(--color-surface-card); }
.catalog-listing__total .woocommerce-result-count { margin: 0; }

.woocommerce-content { min-width: 0; }
.woocommerce .woocommerce-breadcrumb { display: none; }
.woocommerce-notices-wrapper:not(:empty), .woocommerce-error, .woocommerce-info, .woocommerce-message { margin: 0 auto 24px; width: min(calc(100% - 32px), 1312px); border-top-color: var(--color-accent); border-radius: var(--radius-card); background: var(--color-surface-card-light); }
.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before { color: var(--color-accent); }

/* Product */
.product-detail__form { display: grid; gap: 40px; }
.product-detail__lead { color: var(--color-text-muted); font-size: var(--text-base); line-height: var(--text-line-height-150); }
.product-detail .stock { color: var(--color-text-muted); }
.product-detail .stock.out-of-stock { color: #a61b1b; }
.product-detail .single_add_to_cart_button.loading { opacity: .65; }
.product-detail .single_add_to_cart_button.added::after { content: none; }
.woocommerce div.product form.cart { margin: 0; }
.woocommerce div.product form.cart::after, .woocommerce div.product form.cart::before { content: none; }
.product-detail__variable .variations_form { display: grid; gap: 24px; }
.product-detail__variable table.variations { width: 100%; border-spacing: 0 12px; }
.product-detail__variable table.variations th { padding-right: 12px; text-align: left; }
.product-detail__variable table.variations select { border: 1px solid var(--color-border); border-radius: var(--radius-pill); background: #fff; padding: 10px 18px; width: 100%; }
.product-detail__variable .reset_variations { display: inline-block; margin-top: 8px; color: var(--color-accent); }
.product-detail__variable .single_variation { margin-bottom: 16px; }
.product-detail__variable .quantity { display: inline-block; margin-right: 12px; }
.product-detail__variable .quantity .qty { border: 1px solid var(--color-border); border-radius: var(--radius-pill); padding: 12px; width: 84px; text-align: center; }
.product-detail__variable .single_add_to_cart_button { border: 0; border-radius: var(--radius-pill); background: var(--color-accent); padding: 14px 28px; color: #fff; font-weight: 600; text-transform: uppercase; }
.product-extras { display: grid; gap: 40px; }
.product-extras__section { display: grid; gap: 24px; }
.product-extras__title { font-weight: 600; font-size: var(--text-2xl); line-height: var(--text-line-height-110); }
.product-extras__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.product-extras__card { display: grid; align-content: start; gap: 10px; border: var(--surface-border); border-radius: var(--radius-card); background: var(--color-surface-card-light); padding: 24px; }
.product-extras__card h3 { font-weight: 600; font-size: var(--text-lg); line-height: var(--text-line-height-130); }
.product-extras__card p { color: var(--color-text-muted); font-weight: 500; line-height: var(--text-line-height-150); }
.product-extras__documents { display: flex; flex-wrap: wrap; gap: 12px; }

/* Cart */
.woocommerce-cart .woocommerce { min-width: 0; }
.woocommerce-cart-form { min-width: 0; }
.cart-item__meta .variation { display: contents; }
.cart-item__meta .variation dt, .cart-item__meta .variation dd { display: inline; margin: 0; }
.cart-item__meta .variation p { display: inline; }
.cart-item__remove { text-decoration: none; }
.cart-block__total-value .includes_tax { display: block; font-size: var(--text-xs); }

/* Checkout */
.woocommerce-form-coupon-toggle, form.checkout_coupon { display: none !important; }
.checkout__inputs :is(.woocommerce-billing-fields, .woocommerce-billing-fields__field-wrapper) { display: grid; gap: 12px; }
.checkout__fields :is(.woocommerce-billing-fields > h3, .woocommerce-additional-fields > h3, #ship-to-different-address, .woocommerce-shipping-fields) { display: none; }
.checkout__fields .woocommerce-additional-fields { margin-top: 24px; }
.checkout__fields .form-row { float: none; margin: 0; width: 100%; }
.checkout__fields .form-row > label:not(.checkbox) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.checkout__fields :is(input.input-text, textarea.input-text) { display: block; border: 1px solid var(--color-border); border-radius: 24px; background-color: var(--color-surface); padding: 12px 24px; width: 100%; color: var(--color-text); font: inherit; }
.checkout__fields textarea.input-text { min-height: 106px; resize: vertical; }
.checkout__fields .required { color: #a61b1b; }
.checkout__legal [hidden] { display: none !important; }
.checkout__legal .checkout__inputs { margin-top: 12px; }
.woocommerce-checkout-payment { display: grid; gap: 40px; border-radius: 0 !important; background: transparent !important; }
.woocommerce-checkout-payment .checkout__methods { display: grid; gap: 24px; border: 0 !important; padding: 0 !important; }
.checkout__method { display: grid; gap: 12px; margin: 0 !important; }
.checkout__method .radio { align-items: flex-start; }
.checkout__method .radio__label { display: grid; gap: 4px; }
.checkout__method .payment_box { margin: 0 !important; background: transparent !important; padding: 0 0 0 24px !important; }
.checkout__method .payment_box::before { content: none !important; }
.checkout__method .payment_box p { margin: 0; }
.checkout__method .checkout__logos { padding-left: 24px; }
.checkout__card .form-row { margin: 0; }
.checkout__card .woocommerce-input-wrapper > label.checkbox { display: flex; align-items: flex-start; gap: 12px; }
.checkout__card .input-checkbox { appearance: none; flex: 0 0 24px; border: 1px solid var(--color-text-muted); border-radius: 6px; background: #fff; width: 24px; height: 24px; }
.checkout__card .input-checkbox:checked { border-color: var(--color-accent); background: var(--color-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2' d='m3 8 3 3 7-7'/%3E%3C/svg%3E") center/16px no-repeat; }
.checkout__breakdown { margin-top: 16px; width: 100%; border-collapse: separate; border-spacing: 0 8px; color: var(--color-text-muted); font-size: var(--text-sm); }
.checkout__breakdown th { text-align: left; }
.checkout__breakdown td { text-align: right; }
.checkout__breakdown ul { margin: 0; padding: 0; list-style: none; }
.checkout__breakdown label { cursor: pointer; }
.checkout__submit { display: flex; justify-content: center; }
.checkout__submit .button { width: min(100%, 374px); }
.checkout__total-value .includes_tax { display: block; font-size: var(--text-xs); }
.woocommerce-privacy-policy-text { margin-bottom: 16px; }

@media (min-width: 1024px) { .contacts-page__connect { grid-template-columns: minmax(0, 1fr) 636px; } }
@media (max-width: 782px) { body.admin-bar .header { top: 46px; } }
@media (max-width: 767px) {
  .woocommerce-notices-wrapper:not(:empty), .woocommerce-error, .woocommerce-info, .woocommerce-message { width: calc(100% - 24px); }
  .product-detail__form { gap: 24px; }
}
