/* ==========================================================================
   Cerco 2027 — WordPress + WooCommerce layer
   main.css is the prototype stylesheet (shared class names). This file maps
   WordPress / WooCommerce markup onto the same tokens. WooCommerce's own
   layout CSS stays loaded; only what clashes with the design is overridden.
   ========================================================================== */

/* ---------- WordPress basics ---------- */
/* Leftover global CSS from other plugins (e.g. Astra Pro printing Astra's "h1…h6 { color }")
   must not override headings: they take the colour of their section (white on the video
   banner and photo cards). Section rules like ".promo h2" still win (higher specificity). */
body :is(h1, h2, h3, h4, h5, h6) { color: inherit; font-family: var(--f-display); }

/* Product Add-Ons (sizes, colours, decoration, artwork) in the theme's type, not the old site fonts */
.pewc-product-extra-groups-wrap, .pewc-product-extra-groups-wrap :is(label, span, p, input, select, textarea, button) { font-family: var(--f-body); }
.pewc-product-extra-groups-wrap .pewc-group-heading { font-family: var(--f-display); font-weight: 600; font-size: var(--fs-title); letter-spacing: -0.01em; line-height: 1.25; text-transform: none; margin: 28px 0 10px; }
.pewc-product-extra-groups-wrap .pewc-field-label-text { font-weight: 600; font-size: 0.95rem; }
.pewc-product-extra-groups-wrap .required { color: var(--c-brand); }
.section--tight { padding-top: var(--gap); }
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.aligncenter { margin-inline: auto; }
.wp-caption-text, figcaption { font-size: var(--fs-sm); color: var(--c-muted); margin-top: 6px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.footer-contact { margin: 0 0 14px; line-height: 1.7; }
.footer-contact a:hover { color: var(--c-brand); }
.footer-grid ul.menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.footer-legal__list { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.footer-legal li + li::before { content: "|"; margin: 0 8px; color: var(--c-muted); }
.logo img, .footer-util img, .drawer__head img { height: auto; }
.page-lead > p { margin: 0; }
.cart-count[hidden] { display: none; }
.services { grid-template-columns: repeat(var(--services, 4), 1fr); }
@media (max-width: 860px) { .services { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .services { grid-template-columns: 1fr; } }

/* Pagination (blog + shop) */
.pagination-wrap, .woocommerce nav.woocommerce-pagination { display: flex; justify-content: center; padding-top: 48px; }
.nav-links, .woocommerce nav.woocommerce-pagination ul { display: flex; flex-wrap: wrap; gap: 8px; border: 0 !important; margin: 0; padding: 0; list-style: none; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; float: none; }
.nav-links .page-numbers, .woocommerce nav.woocommerce-pagination ul li .page-numbers {
  display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 14px;
  border-radius: var(--r-pill); border: 1px solid var(--c-line); font-weight: 500; background: #fff; color: var(--c-ink);
}
.nav-links .page-numbers.current, .nav-links .page-numbers:hover,
.woocommerce nav.woocommerce-pagination ul li span.current, .woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--c-ink); border-color: var(--c-ink); color: #fff;
}

/* ---------- Product lists: theme cards in a CSS grid ---------- */
.woocommerce ul.products, ul.products {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: 48px 32px;
}
.woocommerce ul.products::before, .woocommerce ul.products::after, .woocommerce-page ul.products::before, .woocommerce-page ul.products::after, ul.products::before, ul.products::after { display: none; }
.woocommerce ul.products.columns-4, ul.products.grid-4 { --cols: 4; gap: 36px var(--gap); }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product, ul.products li.product,
body .woocommerce ul.products[class*="columns-"] li.product, body.woocommerce ul.products[class*="columns-"] li.product,
body.woocommerce-page ul.products[class*="columns-"] li.product {
  float: none; width: auto; margin: 0; padding: 0; clear: none;
}
ul.products li.product .product__media { border-radius: 14px; }
ul.products.slider { display: grid; grid-template-columns: none; gap: var(--gap); }
.product .product__price del { color: var(--c-muted); font-weight: 400; margin-right: 4px; }
.product .product__price ins { text-decoration: none; color: var(--c-brand); }
.card-badge {
  position: absolute; top: 14px; left: 14px; z-index: 2; padding: 5px 11px; border-radius: var(--r-pill);
  background: #fff; font-size: 0.78rem; font-weight: 600;
}
.card-badge--sale { background: var(--c-brand); color: #fff; }
.product.is-oos .product__media img { opacity: 0.6; }
@media (max-width: 1100px) { .woocommerce ul.products, ul.products { --cols: 3; } ul.products.grid-4 { --cols: 2; } }
@media (max-width: 760px) { .woocommerce ul.products, ul.products, ul.products.grid-4 { --cols: 2; gap: 32px 16px; } }

/* ---------- Shop headline + toolbar ---------- */
.wc-main { padding-bottom: var(--before-footer, var(--section)); }
.woocommerce-products-header { padding-inline: 0; }
.woocommerce-products-header .breadcrumb { justify-content: center; margin: 0 0 clamp(24px, 3vw, 40px); }
.woocommerce-products-header .term-description,
.woocommerce-products-header .page-description { max-width: 62ch; margin: 14px auto 0; text-align: center; color: var(--c-ink-soft); }
.shop-toolbar .woocommerce-notices-wrapper { flex-basis: 100%; }
.shop-toolbar .woocommerce-result-count { margin: 0 auto 0 0 !important; float: none !important; font-size: var(--fs-sm); color: var(--c-ink-soft); }
.shop-toolbar .woocommerce-ordering { margin: 0 !important; float: none !important; }
.woocommerce .woocommerce-ordering select {
  appearance: none; -webkit-appearance: none; border: 1px solid var(--c-line); border-radius: var(--r-pill);
  padding: 10px 38px 10px 16px; font: inherit; font-size: 0.9rem; color: var(--c-ink); cursor: pointer;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111013' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center / 13px no-repeat;
}
.woocommerce-info, .woocommerce-message, .woocommerce-error {
  border: 0 !important; border-radius: 14px; background: var(--c-soft) !important; color: var(--c-ink) !important; padding: 16px 20px 16px 48px !important;
}
.woocommerce-info::before, .woocommerce-message::before { color: var(--c-ink) !important; }
.woocommerce-error::before { color: var(--c-brand) !important; }
.woocommerce-error { box-shadow: inset 3px 0 0 var(--c-brand); }
/* WooCommerce focuses notices for screen readers; keep it quiet visually (no red ring on success). */
.woocommerce-info:focus, .woocommerce-message:focus, .woocommerce-error:focus { outline: none; }
.woocommerce-info:focus-visible, .woocommerce-message:focus-visible { outline: 2px solid var(--c-line); outline-offset: 2px; }

/* Variable products (Variation Swatches): "Clear" sits on its own line under the swatches. */
.variations_form .variations td.value { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.variations_form .variations td.value .cfvsw-swatches-container { flex: 1 1 100%; }
.variations_form .reset_variations { font-size: 0.82rem; color: var(--c-muted); text-decoration: underline; text-underline-offset: 3px; margin: 0; }
.variations_form .reset_variations:hover { color: var(--c-ink); }

/* ---------- Buttons: WooCommerce buttons look like theme pills ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 22px;
  border-radius: var(--r-pill); border: 1.5px solid var(--c-ink); background: var(--c-ink); color: #fff;
  font-family: var(--f-display); font-weight: 600; font-size: var(--fs-btn); line-height: 1; transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
  background: var(--c-brand); border-color: var(--c-brand); color: #fff;
}
.woocommerce button.button:disabled, .woocommerce button.button.disabled, .woocommerce button.button.alt:disabled, .woocommerce button.button.alt.disabled, .woocommerce button.button.alt.disabled:hover {
  background: var(--c-ink); color: #fff; opacity: 0.45; padding: 0 22px;
}

/* ---------- Forms (cart, checkout, account, add-ons) ---------- */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce .quantity .qty, .woocommerce-page form .form-row input.input-text,
.woocommerce div.product form.cart select, .woocommerce div.product form.cart input[type="text"],
.woocommerce div.product form.cart input[type="number"], .woocommerce div.product form.cart textarea {
  border: 1px solid var(--c-line); border-radius: 12px; padding: 12px 14px; font: inherit; background: #fff; color: var(--c-ink);
}
.woocommerce .quantity .qty { width: 5.5em; min-height: 46px; border-radius: var(--r-pill); text-align: center; }
.woocommerce form .form-row label { font-weight: 500; font-size: 0.9rem; }
.select2-container--default .select2-selection--single { height: 46px; border: 1px solid var(--c-line); border-radius: 12px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 44px; padding-left: 14px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; }

/* ---------- Single product (Ohio product layout) ---------- */
.single-product .wc-main > .container > .breadcrumb { padding: 28px 0; }
.woocommerce div.product {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 0 clamp(32px, 5vw, 80px); align-items: start;
}
.woocommerce div.product > * { grid-column: 1 / -1; }
.woocommerce div.product div.images.woocommerce-product-gallery { grid-column: 1; float: none; width: auto; margin: 0; }
.woocommerce div.product div.summary { grid-column: 2; float: none; width: auto; margin: 0; position: sticky; top: calc(var(--header-h-fixed) + 24px); }
.woocommerce div.product div.images img { border-radius: 14px; background: var(--c-bg-alt); }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 10px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto; float: none; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: 10px; opacity: 0.6; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active, .woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; }
.woocommerce div.product .product_title {
  font-family: var(--f-display); font-weight: 600; text-transform: none; letter-spacing: -0.02em;
  font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.3rem); line-height: 1.1; margin: 0 0 12px;
}
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--c-ink); font-size: 1.25rem; font-weight: 600; }
.woocommerce div.product p.price ins { text-decoration: none; color: var(--c-brand); }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--c-ink-soft); margin: 16px 0 24px; }
.woocommerce div.product form.cart { margin: 24px 0; padding-top: 24px; border-top: 1px solid var(--c-line); }
.woocommerce div.product form.cart .button { min-width: 200px; }
.woocommerce div.product .product_meta { font-size: var(--fs-sm); color: var(--c-ink-soft); display: grid; gap: 4px; padding-top: 20px; border-top: 1px solid var(--c-line); }
.woocommerce div.product .product_meta a { color: var(--c-ink); text-decoration: underline; text-underline-offset: 3px; }
.woocommerce span.onsale { min-height: 0; min-width: 0; line-height: 1; padding: 6px 12px; border-radius: var(--r-pill); background: var(--c-brand); font-weight: 600; top: 14px; left: 14px; }

/* Tabs → simple underlined tabs */
.woocommerce div.product .woocommerce-tabs { margin-top: clamp(48px, 6vw, 80px); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 4px 28px; padding: 0; margin: 0 0 28px; border-bottom: 1px solid var(--c-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; border-radius: 0; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 0; font-family: var(--f-display); font-weight: 600; color: var(--c-muted); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { box-shadow: inset 0 -2px 0 var(--c-ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--c-ink); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 78ch; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce table.shop_attributes { border-top: 1px solid var(--c-line); }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border-bottom: 1px solid var(--c-line); padding: 12px; font-style: normal; background: none !important; }

/* Related + upsells */
.woocommerce div.product section.related, .woocommerce div.product section.upsells { margin-top: clamp(56px, 7vw, 96px); }
.woocommerce div.product section.related > h2, .woocommerce div.product section.upsells > h2 {
  font-family: var(--f-display); font-weight: 600; text-transform: none; font-size: var(--fs-title); letter-spacing: 0; margin-bottom: 24px;
}

@media (max-width: 960px) {
  .woocommerce div.product { grid-template-columns: 1fr; }
  .woocommerce div.product div.images.woocommerce-product-gallery, .woocommerce div.product div.summary { grid-column: 1; position: static; }
  .woocommerce div.product div.summary { margin-top: 28px; }
}

/* ---------- Cart / checkout / account pages ---------- */
.wc-page .content-layout { padding-bottom: var(--section); }
.wc-page__content { min-width: 0; }
.wc-page .page-headline h1 { text-align: left; }
.woocommerce table.shop_table { border: 1px solid var(--c-line); border-radius: 14px; border-collapse: separate; }
.woocommerce table.shop_table th { font-family: var(--f-display); font-weight: 600; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-top-color: var(--c-line); padding: 14px 16px; }
.woocommerce-cart table.cart img { width: 72px; border-radius: 10px; background: var(--c-bg-alt); }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout #order_review, .woocommerce-checkout-review-order {
  background: var(--c-soft); border-radius: 18px; padding: 24px;
}
.woocommerce-checkout #payment { background: #fff; border-radius: 14px; }
.woocommerce-checkout #payment div.payment_box { background: var(--c-soft); color: var(--c-ink); border-radius: 12px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--c-soft); }
/* Cart & Checkout blocks: inherit fonts; layout stays WooCommerce's */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { font-family: var(--f-body); }
.wc-block-components-button:not(.is-link) { border-radius: var(--r-pill) !important; font-family: var(--f-display); font-weight: 600; }
.wc-block-components-button:not(.is-link):not(.wc-block-components-express-payment__button) { background: var(--c-ink) !important; color: #fff !important; }
.wc-block-components-button:not(.is-link):not(.wc-block-components-express-payment__button):hover { background: var(--c-brand) !important; }

/* My account */
/* My Account (page-my-account.php): the prototype .dash grid does the layout; WooCommerce's wrapper stays a plain block. */
.woocommerce-account .account .woocommerce { display: block; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
.account .woocommerce-notices-wrapper:not(:empty) { margin-bottom: 24px; }
.account .auth-form .woocommerce-privacy-policy-text p { margin: 0; }
.woocommerce .account form.login, .woocommerce .account form.register, .account form.woocommerce-form-login, .account form.woocommerce-form-register { border: 0; padding: 0; margin: 0; border-radius: 0; }
.account .auth-form .check { display: inline-flex !important; gap: 8px; align-items: center; margin: 14px 0 18px; justify-self: start; }
.account .auth-form .check input { margin: 0 !important; position: static; vertical-align: middle; }
.account .password-input { display: block; position: relative; }
.account .password-input input { width: 100%; padding-right: 44px; }
.account .show-password-input { top: 50%; transform: translateY(-50%); right: 14px; }
.account .auth-form .btn svg { width: 16px; height: 16px; }
.dash__panel .woocommerce-orders-table, .dash__panel .shop_table { border-radius: 14px; overflow: hidden; }

/* Product page: quote link under the add-to-cart form */
.product-quote { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 0 20px; font-size: 0.92rem; color: var(--c-ink-soft); }
.woocommerce div.product .woocommerce-tabs .panel .table-scroll { overflow-x: auto; margin: 0 0 24px; }

/* ==========================================================================
   Single product in the prototype layout (woocommerce/content-single-product.php).
   The order form is Product Add-Ons' own; these rules restyle it to the prototype:
   size quantity boxes, round colour swatches, pill choices, dashed upload, price box.
   ========================================================================== */
.woocommerce div.product.pdp-product { display: block; }
.woocommerce div.product.pdp-product div.summary { grid-column: auto; position: static; margin: 0; width: auto; float: none; }
.woocommerce div.product.pdp-product .pdp__title { font-family: var(--f-display); font-weight: 600; font-size: var(--fs-h3); line-height: 1.15; letter-spacing: -0.02em; margin: 0; }
.woocommerce div.product.pdp-product p.pdp__price { margin: 18px 0 0; font-size: 1.3rem; font-weight: 600; color: var(--c-ink); }
.pdp__price small { font-size: 0.85rem; font-weight: 400; color: var(--c-muted); }
.pdp__summary-text > :last-child { margin-bottom: 0; }
.pdp__main img { width: 100%; height: 100%; object-fit: cover; }
.badge--muted { color: var(--c-ink-soft); }
.badge--sale { background: var(--c-brand); color: #fff; }
.pdp-tabs .tab-panel > h2:first-child { display: none; }
.pdp-featured { padding-top: clamp(56px, 7vw, 96px); }

.pdp__form { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--c-line); }
.pdp__form .min-order-note { margin: 0 0 18px; }
.woocommerce div.product.pdp-product .pdp__form form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; padding: 0; border: 0; }
.pdp__form .pewc-product-extra-groups-wrap { flex: 1 1 100%; display: grid; gap: 22px; margin: 0 0 8px; }
.pdp__form .pewc-group-wrap { margin: 0; padding: 0; }
.pdp__form .pewc-group-heading-wrapper { margin: 0 0 8px; }
.pdp__form .pewc-product-extra-groups-wrap .pewc-group-heading { font-family: var(--f-body); font-size: 0.9rem; font-weight: 600; letter-spacing: 0; margin: 0; }
.pdp__form .pewc-group-description { margin: 0 0 10px; font-size: 0.86rem; color: var(--c-ink-soft); }
.pdp__form ul.pewc-product-extra-groups { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.pdp__form ul.pewc-product-extra-groups.cols-3 { grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 8px; }
.pdp__form .pewc-item { margin: 0; padding: 0; width: auto; float: none; }
.pdp__form .pewc-field-label { margin: 0 0 6px; font-family: var(--f-body); font-size: 0.86rem; font-weight: 500; }
.pdp__form .pewc-theme-element { display: none; }
/* Sizes: one small quantity box per size */
.pdp__form .pewc-item-number .pewc-field-label { margin: 0 0 4px; font-size: 0.8rem; color: var(--c-muted); }
.pdp__form .pewc-item-number .required { display: none; }
.pdp__form input.pewc-number-field { width: 100%; height: 42px; border: 1px solid var(--c-line); border-radius: 10px; padding: 0 12px; font: inherit; }
.pdp__form input.pewc-number-field:focus { outline: none; border-color: var(--c-ink); }
/* Colours: round swatches in a scrolling box; the name shows in the field label */
.pdp__form .pewc-radio-images-wrapper { display: flex; flex-wrap: wrap; gap: 4px; max-height: 152px; overflow-y: auto; overflow-x: hidden; padding: 4px 2px; margin: 0; }
.pdp__form .pewc-radio-image-wrapper { flex: none; width: 34px; height: 34px; margin: 0; padding: 0; }
.pdp__form .pewc-radio-image-wrapper label { position: relative; display: grid; place-items: center; width: 34px; height: 34px; margin: 0; padding: 0; border-radius: 50%; border: 1px solid transparent; cursor: pointer; background: #fff; }
.pdp__form .pewc-radio-image-wrapper label:hover { border-color: var(--c-line); }
.pdp__form .pewc-radio-image-wrapper input,
.pdp__form .pewc-radio-image-wrapper img { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.pdp__form .pewc-radio-image-wrapper .pewc-hex { display: block; width: 25px; height: 25px; margin: 0; border-radius: 50%; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(17,16,19,0.14); }
.pdp__form .pewc-radio-image-wrapper .pewc-hex span { display: block; width: 100%; height: 100%; }
.pdp__form .pewc-radio-image-wrapper label:has(input:checked) { border-color: var(--c-ink); }
.pdp__form .pewc-radio-image-wrapper input:focus-visible ~ .pewc-hex { outline: 2px solid var(--c-brand); outline-offset: 3px; }
/* Choices (printing type, ink colours, heat transfer size): pills */
.pdp__form ul.pewc-checkbox-group-wrapper { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pdp__form ul.pewc-checkbox-group-wrapper li { margin: 0; padding: 0; }
.pdp__form label.pewc-radio-form-label, .pdp__form label.pewc-checkbox-form-label {
  position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 42px; padding: 6px 16px; margin: 0;
  border: 1.5px solid var(--c-line); border-radius: var(--r-pill); font-weight: 500; font-size: 0.9rem; cursor: pointer; transition: border-color 0.15s, background 0.15s;
}
.pdp__form label.pewc-radio-form-label:hover, .pdp__form label.pewc-checkbox-form-label:hover { border-color: var(--c-muted); }
.pdp__form label.pewc-radio-form-label input, .pdp__form label.pewc-checkbox-form-label input { position: absolute; opacity: 0; pointer-events: none; }
.pdp__form label.pewc-radio-form-label:has(input:checked), .pdp__form label.pewc-checkbox-form-label:has(input:checked) { border-color: var(--c-ink); background: var(--c-soft); }
.pdp__form label:has(input:focus-visible) { outline: 2px solid var(--c-brand); outline-offset: 2px; }
/* Information lines ("A one-time $85 …") and calculations */
.pdp__form .pewc-item-information .pewc-field-label, .pdp__form .pewc-item-information p { font-weight: 400; font-size: 0.86rem; color: var(--c-ink-soft); }
/* Artwork upload */
.pdp__form .dropzone { min-height: 0; padding: 18px; border: 1.5px dashed var(--c-line); border-radius: 14px; background: #fff; font-size: 0.9rem; }
.pdp__form .dropzone:hover { border-color: var(--c-ink); }
/* Additional requests */
.pdp__form textarea.pewc-form-field { width: 100%; min-height: 92px; border: 1px solid var(--c-line); border-radius: 12px; padding: 12px 14px; font: inherit; font-size: 0.95rem; resize: vertical; }
.pdp__form textarea.pewc-form-field:focus { outline: none; border-color: var(--c-ink); }
/* Price summary → prototype price box */
.pdp__form .pewc-total-field-wrapper { display: grid; gap: 8px; margin: 4px 0 0; padding: 16px 18px; border-radius: 14px; background: var(--c-soft); font-size: 0.9rem; }
.pdp__form .pewc-total-field-wrapper p { display: flex; justify-content: space-between; gap: 16px; margin: 0; color: var(--c-ink-soft); }
.pdp__form .pewc-total-field-wrapper .pewc-total-field { font-weight: 600; color: var(--c-ink); }
.pdp__form .pewc-total-field-wrapper p:last-child { padding-top: 10px; border-top: 1px solid var(--c-line); font-size: 1rem; font-weight: 600; color: var(--c-ink); }
/* Quantity, Add to cart, Request a quote */
.woocommerce div.product.pdp-product .pdp__form form.cart .quantity { margin: 0; }
.woocommerce .pdp__form .quantity .qty { height: 52px; width: 5.5em; }
.woocommerce div.product.pdp-product .pdp__form form.cart .single_add_to_cart_button { flex: 1 1 200px; min-height: 52px; }
.pdp__form .pdp__quote { min-height: 52px; }
/* PDP refinements: Product Add-Ons' own column widths and hex size lose to the prototype swatches */
.pdp__form .pewc-radio-images-wrapper[class*="pewc-columns-"] { display: flex; }
.pdp__form .pewc-radio-images-wrapper .pewc-radio-image-wrapper { width: 34px !important; max-width: 34px; flex: 0 0 34px; margin: 0 !important; }
.pdp__form .pewc-radio-image-wrapper .pewc-hex { width: 25px !important; height: 25px !important; min-width: 0; margin: 0 !important; position: static; border: 0; }
.pdp__form .pewc-radio-image-wrapper .pewc-hex span { width: 100% !important; height: 100% !important; border-radius: 50%; }
/* One label per option, like the prototype: keep the first group's heading (sizes), drop the repeated group titles */
.pdp__form .pewc-group-wrap:not(.first-group) .pewc-group-heading-wrapper { display: none; }
/* The quantity is filled in by Product Add-Ons from the size boxes, so the box is hidden when sizes exist */
.woocommerce div.product.pdp-product .pdp__form form.cart:has(.pewc-item-number) .quantity { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
/* Tab bar: plain text tabs (old button styles off) */
.pdp-tabs .tabs-bar button { border-radius: 0; background: none !important; box-shadow: none !important; min-height: 0; font-family: var(--f-body); font-size: 0.95rem; color: var(--c-muted); padding: 0 0 14px; }
.pdp-tabs .tabs-bar button[aria-selected="true"] { color: var(--c-ink); }

/* ==========================================================================
   PDP = prototype product.html, field by field
   Order: Colour → Sizes & quantities → Decoration → print options → note → Upload → Requests → price
   ========================================================================== */
.breadcrumb--product { margin: 28px 0 24px; }
.breadcrumb--product [aria-current] { color: var(--c-ink-soft); font-weight: 400; }
.single-product .wc-main > .container > .woocommerce-notices-wrapper:empty { display: none; }
.pdp__form .min-order-note { display: none; }                               /* shown as the note under Decoration */
.pdp__form .pewc-product-extra-groups-wrap { gap: 24px; }
.pdp__form .pewc-group-wrap { order: 9; }
.pdp__form .pewc-group-wrap:has(.pewc-item-image_swatch) { order: 1; }
.pdp__form .pewc-group-wrap:has(.pewc-item-checkbox_group) { order: 2; }
.pdp__form .pewc-group-wrap:has(.pewc-item-radio[data-field-label="Choose printing type"]) { order: 3; }
.pdp__form .pewc-group-wrap[data-condition-action="show"] { order: 4; margin-top: -10px; }
.pdp__form .pewc-group-wrap:has(.pewc-item-upload) { order: 5; }
.pdp__form .pewc-group-wrap:has(.pewc-item-textarea) { order: 6; }
.pdp__form .pewc-product-extra-groups-wrap > :not(.pewc-group-wrap) { order: 10; }
.pdp__form .pewc-group-wrap .pewc-group-heading-wrapper { display: none; }  /* prototype shows one label per option */
.pdp__form .pewc-group-description { display: none; }

/* Labels → prototype wording (legend style 0.9rem / 500) */
.pdp__form .pewc-field-label { margin: 0 0 10px; font-size: 0.9rem; font-weight: 500; color: var(--c-ink); }
.pdp__form .pewc-field-label .required { display: none; }
.pdp__form .pewc-item-image_swatch .pewc-field-label-text,
.pdp__form .pewc-item-checkbox_group .pewc-field-label-text,
.pdp__form .pewc-item-radio[data-field-label="Choose printing type"] .pewc-field-label-text,
.pdp__form .pewc-item-radio[data-field-label^="How many colors"] .pewc-field-label-text,
.pdp__form .pewc-item-radio[data-field-label^="Select heat transfer"] .pewc-field-label-text,
.pdp__form .pewc-item-upload .pewc-field-label { font-size: 0; }
.pdp__form .pewc-item-image_swatch .pewc-field-label-text::before { content: "Colour:"; font-size: 0.9rem; }
.pdp__form .pewc-item-image_swatch .cerco-colour-name { font-size: 0.9rem; font-weight: 700; margin-left: 4px; }
.pdp__form .pewc-item-checkbox_group .pewc-field-label-text::before { content: "Sizes & quantities"; font-size: 0.9rem; }
.pdp__form .pewc-item-checkbox_group .pewc-field-label-text::after { content: "Pick one or more sizes"; margin-left: 6px; font-size: 0.9rem; font-weight: 400; color: var(--c-muted); }
.pdp__form .pewc-item-radio[data-field-label="Choose printing type"] .pewc-field-label-text::before { content: "Decoration"; font-size: 0.9rem; }
.pdp__form .pewc-item-radio[data-field-label^="How many colors"] .pewc-field-label-text::before { content: "Number of print colours"; font-size: 0.86rem; font-weight: 400; color: var(--c-ink-soft); }
.pdp__form .pewc-item-radio[data-field-label^="Select heat transfer"] .pewc-field-label-text::before { content: "Heat transfer size"; font-size: 0.86rem; font-weight: 400; color: var(--c-ink-soft); }
.pdp__form .pewc-item-information { font-size: 0.86rem; color: var(--c-ink-soft); }
.pdp__form .pewc-item-information .pewc-field-label { font-size: 0.86rem; font-weight: 400; color: var(--c-ink-soft); margin: 0; }
.pdp__form .pewc-group-wrap:has(.pewc-item-radio[data-field-label="Choose printing type"]) .pewc-item-information { display: none; }
.pdp__form .pewc-item-calculation { display: none; }

/* Sizes: the hidden size checkboxes become pills; boxes appear per picked size (per-product CSS) */
.pdp__form .pewc-item-checkbox_group.pewc-visibility-hidden { display: block !important; visibility: visible !important; height: auto !important; opacity: 1 !important; position: static !important; }
.pdp__form .pewc-group-wrap:has(.pewc-item-checkbox_group) ul.pewc-product-extra-groups { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 8px; }
.pdp__form .pewc-group-wrap:has(.pewc-item-checkbox_group) .pewc-item-checkbox_group { grid-column: 1 / -1; margin-bottom: 4px; }
.pdp__form label.pewc-checkbox-form-label { min-width: 52px; }

/* Decoration sub-options: small pills */
.pdp__form .pewc-group-wrap[data-condition-action="show"] label.pewc-radio-form-label { min-width: 44px; min-height: 38px; padding: 6px 14px; font-size: 0.86rem; }

/* Note under Decoration (before the upload) */
.pdp__form .pewc-group-wrap:has(.pewc-item-upload)::before {
  content: "A one-time $85.00 setup is charged for any printing type. Minimum order for custom merch is 15 pieces.";
  display: block; margin: -8px 0 14px; padding-left: 16px; font-size: 0.86rem; color: var(--c-ink-soft);
}

/* Upload: dashed pill "Upload front & back artwork" */
.pdp__form .pewc-item-upload .pewc-field-label { display: none; }
.pdp__form .dropzone { display: inline-flex; align-items: center; min-height: 0; padding: 10px 18px; border: 1.5px dashed var(--c-line); border-radius: var(--r-pill); background: #fff; cursor: pointer; }
.pdp__form .dropzone .dz-message { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 0; }
.pdp__form .dropzone .dz-message svg, .pdp__form .dropzone .dz-message img { width: 17px; height: 17px; }
.pdp__form .dropzone .dz-message::after { content: "Upload front & back artwork"; font-size: 0.9rem; font-weight: 500; color: var(--c-ink); }
.pdp__form .dropzone.dz-started { display: flex; flex-wrap: wrap; gap: 10px; border-radius: 14px; }
.pdp__form .pewc-item-upload .pewc-description, .pdp__form .pewc-item-upload p { display: none; }

/* Additional requests */
.pdp__form .pewc-item-textarea .pewc-field-label { font-size: 0.86rem; font-weight: 400; color: var(--c-ink-soft); margin-bottom: 6px; }

/* Price box: hidden until there is a total (decoration.js-free toggle in site.js) */
.pdp__form .pewc-total-field-wrapper.is-empty { display: none; }
/* PDP: Product Add-Ons spacing → prototype (8px between pills) and the upload pill */
.pdp__form ul.pewc-checkbox-group-wrapper li { margin: 0 !important; width: auto !important; float: none !important; }
.pdp__form .dropzone { display: inline-flex !important; min-height: 0 !important; height: auto !important; padding: 10px 16px !important; margin: 0 !important; }
.pdp__form .dropzone .dz-message { width: auto !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; display: inline-flex !important; align-items: center; gap: 8px; background: none !important; }
.pdp__form .dropzone .dz-message::before { content: ""; display: block !important; position: static !important; width: 17px !important; height: 17px !important; margin: 0 !important; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111013' stroke-width='1.8'%3E%3Cpath d='M12 16V4M7 9l5-5 5 5M4 16v4h16v-4'/%3E%3C/svg%3E") center / contain no-repeat !important; }
.pdp__form .dropzone .dz-message span { display: none; }
/* PDP: selected pills = prototype (ink outline, soft fill), not Product Add-Ons' blue */
.pdp__form label.pewc-checkbox-form-label, .pdp__form label.pewc-radio-form-label { background: #fff !important; color: var(--c-ink) !important; box-shadow: none !important; }
.pdp__form label.pewc-checkbox-form-label:has(input:checked), .pdp__form label.pewc-radio-form-label:has(input:checked),
.pdp__form label.pewc-checkbox-form-label.checked, .pdp__form label.pewc-radio-form-label.checked,
.pdp__form li.checked > label.pewc-checkbox-form-label, .pdp__form li.checked > label.pewc-radio-form-label { border-color: var(--c-ink) !important; background: var(--c-soft) !important; color: var(--c-ink) !important; }
.pdp__form .required { display: none !important; }
.pdp__form .pewc-item-textarea .pewc-field-label-text { font-size: 0.86rem; font-weight: 400; color: var(--c-ink-soft); }
/* Price box wording = prototype */
.pdp__form #pewc-per-product-label, .pdp__form #pewc-options-total-label, .pdp__form #pewc-grand-total-label { font-size: 0; }
.pdp__form #pewc-per-product-label::before { content: "Blanks"; font-size: 0.9rem; }
.pdp__form #pewc-options-total-label::before { content: "Decoration & setup"; font-size: 0.9rem; }
.pdp__form #pewc-grand-total-label::before { content: "Estimated total"; font-size: 1rem; }
/* Product cards: no card background/border from other plugins (prototype: grey photo well only) */
.woocommerce ul.products li.product, ul.products li.product { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
/* PDP price box: hidden until Product Add-Ons has a total (site.js adds .has-total) */
.pdp__form .pewc-total-field-wrapper:not(.has-total) { display: none; }
/* Upload pill text before Product Add-Ons' script builds the dropzone */
.pdp__form .dropzone:empty::after { content: "Upload front & back artwork"; font-size: 0.9rem; font-weight: 500; color: var(--c-ink); }
.newsletter button:disabled { opacity: 0.45; cursor: not-allowed; }
/* ---------- Shop = prototype shop.html header + toolbar ---------- */
.woocommerce-products-header.page-headline { padding: clamp(40px, 6vw, 72px) 0 28px; }
.woocommerce-products-header .page-title { text-align: center; margin: 0; }
.woocommerce-products-header .shop-intro, .woocommerce-products-header .term-description { text-align: center; }
.woocommerce-products-header .breadcrumb { justify-content: flex-start; margin: clamp(32px, 4vw, 48px) 0 0; }
.woocommerce-products-header .breadcrumb [aria-current] { color: var(--c-ink-soft); font-weight: 400; }
.wc-main .group-pills { justify-content: flex-start; }
.wc-main .shop-toolbar .sort select { min-width: 0; }
.shop-more .btn.is-loading { opacity: 0.5; pointer-events: none; }
.wc-main ul.products { --cols: 3; gap: 48px 32px; }
/* Card photos fill the 4:5 well (WooCommerce's "img { height:auto; margin-bottom:1em }" loses) */
.woocommerce ul.products li.product .product__media img, ul.products li.product .product__media img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; margin: 0 !important; object-fit: cover; }
ul.products li.product .product__media img.is-contain { object-fit: contain; }
ul.products li.product .product__media > a { position: absolute; inset: 0; display: block; }
/* Filter panel: collapsed brands stay hidden; no sideways scroll */
.filter-panel .fcheck[hidden] { display: none; }
.filter-panel__body { overflow-x: hidden; }
/* PDP pixel fixes vs prototype */
.single-product .wc-main > .container > .breadcrumb.breadcrumb--product { padding: 0; margin: 28px 0 24px; }
.pdp__form .pewc-radio-images-wrapper { gap: 4px !important; justify-content: flex-start !important; }
.pdp__summary-text { margin: 16px 0 0; color: var(--c-ink-soft); }
.pdp__summary-text p { margin: 0; }
.pdp__form .cerco-sub-link { font-size: 0.86rem; font-weight: 400; color: var(--c-ink-soft); }
.pdp__form .cerco-sub-link a { text-decoration: underline; text-underline-offset: 2px; color: var(--c-ink-soft); }
/* Before scripts run (AirLift delays them until the first interaction), show the prototype's
   opening state: only the screen-printing options, first choices marked. site.js adds html.cerco-js. */
html:not(.cerco-js) .pdp__form .pewc-group-wrap[data-conditions*='"value":"Heat Transfer"'],
html:not(.cerco-js) .pdp__form .pewc-group-wrap[data-conditions*='"value":"Embroidery"'] { display: none; }
html:not(.cerco-js) .pdp__form .pewc-item-radio[data-field-label="Choose printing type"] li:first-child label,
html:not(.cerco-js) .pdp__form .pewc-item-radio[data-field-label^="How many colors"] li:first-child label { border-color: var(--c-ink) !important; background: var(--c-soft) !important; }
html:not(.cerco-js) .pdp__form .pewc-radio-image-wrapper:first-child label { border-color: var(--c-ink); }
.pdp__form .pewc-item-information:has(img):not(:has(p, .pewc-field-label-text:not(:empty))) { display: none; }
.pdp__form .pewc-group-wrap[data-conditions*='"value":"Screen Printing"'] .pewc-item-information:has(img) { display: none; }
/* PDP pill + label metrics = prototype (.choice-pill span 42px / 14.4px / 500; small pills 38px) */
.pdp__form label.pewc-radio-form-label, .pdp__form label.pewc-checkbox-form-label { height: 42px; min-height: 42px; padding: 0 16px; font-size: 0.9rem; font-weight: 500; line-height: 1; }
.pdp__form .pewc-group-wrap[data-condition-action="show"] label.pewc-radio-form-label { height: 38px; min-height: 38px; padding: 0 14px; font-size: 0.86rem; }
.pdp__form .cerco-sub-link, .pdp__form .cerco-sub-link a { font-size: 0.86rem !important; line-height: 1.4; }
.pdp__form .pewc-item-textarea .pewc-field-label-text { font-size: 0.9rem; font-weight: 500; color: var(--c-ink); }

/* Share Cart URL plugin (block cart): theme outline pill instead of the plugin's red square button. */
#share-cart-text { margin: 40px 0 12px; color: var(--c-ink-soft); font-size: 0.92rem; }
#share-cart-url-button-container .button {
  display: inline-flex; align-items: center; min-height: 46px; padding: 0 22px; border-radius: var(--r-pill) !important;
  border: 1.5px solid var(--c-ink) !important; background: transparent !important; color: var(--c-ink) !important;
  font-family: var(--f-display); font-weight: 600; font-size: var(--fs-btn); text-decoration: none; box-shadow: none !important;
}
#share-cart-url-button-container .button:hover { background: var(--c-ink) !important; color: #fff !important; }

/* Block cart + checkout: sentence-case section titles and the theme's soft rounded fields (main.css .field--soft). */
.wc-block-components-title.wc-block-components-title, .wc-block-checkout h2, .wc-block-cart h2 {
  font-family: var(--f-display); font-size: var(--fs-title); font-weight: 600; text-transform: none; letter-spacing: normal; line-height: 1.2;
}
.wc-block-components-text-input input[type], .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select .wc-blocks-components-select__select, .wc-block-components-textarea {
  border-radius: 14px !important; border: 1px solid var(--c-line) !important; background: #fff !important;
}
.wc-block-components-text-input input[type]:focus, .wc-blocks-components-select .wc-blocks-components-select__select:focus, .wc-block-components-textarea:focus {
  border-color: var(--c-ink) !important; box-shadow: 0 0 0 1px var(--c-ink) !important; outline: none;
}
.wc-block-components-radio-control--highlight-checked, .wc-block-components-radio-control-accordion-option, .wc-block-checkout__shipping-option .wc-block-components-radio-control__option {
  border-radius: 14px !important;
}
.wc-block-components-sidebar .wc-block-components-panel, .wp-block-woocommerce-checkout-order-summary-block { border-radius: 16px; }

/* ---------- Request a quote: Forminator form in the prototype's field style ----------
   Forminator's "material" design floats labels into underlined inputs; these rules put labels above
   soft rounded fields, radios as choice pills and the upload as the prototype dropzone. */
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] { margin: 0 !important; padding: 0 !important; background: none !important; font-family: inherit !important; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-row { margin-bottom: 14px !important; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-row-last { margin: 22px 0 0 !important; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-label,
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-field .forminator-label {
  position: static !important; transform: none !important; display: block !important; margin: 0 0 6px !important; padding: 0 !important;
  font-family: inherit !important; font-size: 0.9rem !important; font-weight: 500 !important; line-height: 1.4 !important; color: var(--c-ink) !important; background: none !important;
}
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-required { color: var(--c-brand) !important; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-input--wrap, #main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-textarea--wrap {
  position: static !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important;
}
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-input--wrap::before, #main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-input--wrap::after,
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-textarea--wrap::before, #main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-textarea--wrap::after { display: none !important; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] input.forminator-input, #main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] textarea.forminator-textarea {
  width: 100% !important; min-height: 48px !important; margin: 0 !important; padding: 12px 16px !important;
  background: rgba(136, 135, 137, 0.1) !important; border: 1px solid transparent !important; border-radius: 14px !important; box-shadow: none !important;
  font-family: inherit !important; font-size: 0.95rem !important; color: var(--c-ink) !important; transition: border-color 0.15s, background 0.15s;
}
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] textarea.forminator-textarea { min-height: 120px !important; resize: vertical; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] input.forminator-input:focus, #main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] textarea.forminator-textarea:focus {
  background: #fff !important; border-color: var(--c-ink) !important; outline: none !important;
}
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-field-radio .forminator-field { display: flex !important; flex-wrap: wrap; gap: 8px; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-field-radio .forminator-label { flex: 1 1 100%; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-radio {
  position: relative; display: inline-flex !important; align-items: center; min-height: 42px; margin: 0 !important; padding: 0 18px !important;
  border: 1.5px solid var(--c-line) !important; border-radius: var(--r-pill) !important; background: #fff; cursor: pointer;
  font-size: 0.9rem !important; font-weight: 500; color: var(--c-ink) !important; transition: border-color 0.15s, background 0.15s;
}
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-radio:hover { border-color: var(--c-muted) !important; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-radio:has(input:checked) { border-color: var(--c-ink) !important; background: var(--c-soft); }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-radio:has(input:focus-visible) { outline: 2px solid var(--c-brand); outline-offset: 2px; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-radio input { position: absolute !important; opacity: 0; pointer-events: none; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-radio-bullet { display: none !important; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-radio-label { margin: 0 !important; padding: 0 !important; font: inherit !important; color: inherit !important; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-multi-upload {
  display: flex !important; align-items: center; gap: 14px; padding: 20px !important; margin: 0 !important;
  border: 1.5px dashed var(--c-line) !important; border-radius: 16px !important; background: none !important; cursor: pointer;
  font-size: 0.9rem; color: var(--c-ink-soft) !important;
}
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-multi-upload:hover { border-color: var(--c-ink) !important; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-multi-upload-message { display: flex !important; align-items: center; gap: 14px; margin: 0 !important; text-align: left !important; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-multi-upload-message .forminator-icon-upload {
  flex: none; width: 46px; height: 46px; border-radius: 50%; background: var(--c-soft); display: grid !important; place-items: center; margin: 0 !important; color: var(--c-ink) !important;
}
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-multi-upload-message p { margin: 0 !important; font-size: 0.9rem !important; color: var(--c-ink-soft) !important; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-multi-upload-message a { color: var(--c-ink) !important; text-decoration: underline !important; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-button-submit {
  display: inline-flex !important; align-items: center; gap: 10px; height: auto !important; min-height: 52px !important; padding: 0 24px !important; margin: 0 !important; line-height: 1 !important;
  border: 2px solid var(--c-ink) !important; border-radius: var(--r-pill) !important; background: var(--c-ink) !important; color: #fff !important; box-shadow: none !important;
  font-family: var(--f-display) !important; font-weight: 600 !important; font-size: var(--fs-btn) !important; text-transform: none !important; letter-spacing: normal !important;
}
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-button-submit:hover { background: var(--c-brand) !important; border-color: var(--c-brand) !important; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-error-message { margin-top: 6px !important; padding: 0 !important; background: none !important; color: var(--c-brand) !important; font-size: 0.82rem !important; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-response-message:not([aria-hidden="true"]) { border-radius: 14px !important; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-row.forminator-no-margin { margin-bottom: 0 !important; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-row-last .forminator-col { padding-left: 0 !important; padding-right: 0 !important; }
#main .form-card--forminator .forminator-ui.forminator-custom-form[data-design] .forminator-row-last .forminator-field { padding: 0 !important; }

/* Signed-in account panels (orders, view order, addresses): theme type scale, full-width tables. */
.dash__panel { min-width: 0; }
.dash__panel h2, .dash__panel h3, .dash__panel .woocommerce-column__title {
  font-family: var(--f-display); font-size: var(--fs-title); font-weight: 600; text-transform: none; letter-spacing: normal; line-height: 1.2; margin: 32px 0 14px;
}
.dash__panel table.shop_table, .dash__panel .woocommerce-orders-table, .dash__panel .woocommerce-table { width: 100%; border-collapse: collapse; border: 1px solid var(--c-line); border-radius: 14px; overflow: hidden; }
.dash__panel table th, .dash__panel table td { padding: 12px 14px; text-align: left; border-top: 1px solid var(--c-line); vertical-align: top; }
.dash__panel table thead th { border-top: 0; background: var(--c-soft); font-weight: 600; }
.dash__panel .woocommerce-customer-details address { padding: 18px 20px; border: 1px solid var(--c-line); border-radius: 14px; font-style: normal; line-height: 1.6; }
.dash__panel .woocommerce-columns--addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.dash__panel .woocommerce-columns--addresses .woocommerce-column { width: auto; float: none; }
.dash__panel .woocommerce-columns--addresses::before, .dash__panel .woocommerce-columns--addresses::after { display: none; }
@media (max-width: 760px) {
  .dash__panel .woocommerce-columns--addresses { grid-template-columns: 1fr; }
  .dash__panel .woocommerce-orders-table thead { display: none; }
  .dash__panel .woocommerce-orders-table tr { display: grid; padding: 10px 0; border-top: 1px solid var(--c-line); }
  .dash__panel .woocommerce-orders-table td { border: 0; padding: 4px 14px; }
  .dash__panel .woocommerce-orders-table td::before { content: attr(data-title) ": "; font-weight: 600; }
  .dash__panel .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before { content: none; }
}
@media (max-width: 760px) {
  /* WooCommerce's small-screen CSS hides tbody <th> (the order number); bring it back as the row heading. */
  .woocommerce .dash__panel table.shop_table_responsive tbody th, .dash__panel .woocommerce-orders-table tbody th { display: block !important; padding: 4px 14px; border: 0; font-weight: 600; }
  .dash__panel .woocommerce-orders-table tbody th::before { content: none; }
  .dash__panel .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions { text-align: left !important; padding-top: 8px; }
  /* Swipeable account tabs without a visible scrollbar. */
  .dash__nav { scrollbar-width: none; }
  .dash__nav::-webkit-scrollbar { display: none; }
}

/* Phones: 2 products per row in the shop grid (.wc-main sets 3 above at every width). */
@media (max-width: 760px) { .wc-main ul.products { --cols: 2; gap: 32px 14px; } }
