/* Ward Store — shared WooCommerce pieces.
   Tokens/base: tokens.css · chrome: chrome.css · card/archive/wishlist: catalog.css · homepage: home.css · product page: product.css */

.ward-section{padding-block:var(--section-gap) 0}
main > section:last-child{padding-bottom:var(--section-gap)}

/* Product image placeholder (no photo yet): category icon on surface */
.ward-product-placeholder{width:100%;height:100%;background:var(--ward-surface);display:grid;place-items:center;align-content:center;gap:12px;color:#E7A3BB;text-align:center;padding:24px}
.ward-product-placeholder span{font-size:12px;font-weight:500;color:var(--ward-muted)}

/* WooCommerce notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;border-radius:var(--r);padding:14px 16px;margin:16px 0;background:var(--ward-surface);border:0;color:var(--ward-ink);font-size:14px;font-weight:500}
.woocommerce-message{background:var(--ward-success-bg);color:#0B5E43}
.woocommerce-error{background:var(--ward-error-bg);color:#B42318}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce-message .button,.woocommerce-info .button{float:none;margin-inline-start:12px;background:none;padding:0;color:inherit;font-weight:800;text-decoration:underline}

/* WooCommerce loops are real <ul><li> lists styled by catalog.css: reset the WooCommerce float grid */
.woocommerce ul.products{list-style:none;margin:0;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none;display:none}
.woocommerce ul.products[class*=columns-] li.product.ward-pcard{float:none;width:auto;margin:0;padding:0;clear:none}

/* Shared components (loaded everywhere; page stylesheets add page-specific overrides) */
.ward-muted{color:var(--ward-muted);font-weight:400}
.ward-free{color:var(--ward-success);font-weight:700}
.ward-btn-wa{background:var(--ward-whatsapp);color:#fff}
.ward-btn-wa:hover{background:#1FBE5B;color:#fff}

/* Order totals (cart, checkout, order received, account order view) */
.ward-totals{margin:0;display:flex;flex-direction:column;gap:10px;font-size:14px}
.ward-totals > div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.ward-totals dt{color:var(--ward-ink-2)}
.ward-totals dd{margin:0;text-align:end;font-weight:500}
.ward-totals .ward-total{padding-top:12px;border-top:1px solid var(--ward-line)}
.ward-totals .ward-total dt{font-size:16px;font-weight:800;color:var(--ward-ink)}

/* Order item thumbnails + address cards (order received, account order view) */
.ward-co-thumb img{width:100%;height:100%;object-fit:contain;border-radius:var(--r-sm);display:block}
.ward-co-item-meta{font-size:12px;color:var(--ward-muted)}
.ward-thanks-addr{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.ward-thanks-addr section{border-radius:16px;background:var(--ward-surface-2);padding:16px}
.ward-thanks-addr h2{margin:0 0 8px;font-size:15px}
.ward-thanks-addr address,.ward-thanks-addr p{margin:0;font-style:normal;font-size:14px;line-height:1.7;color:var(--ward-ink-2)}

/* Address field grid (checkout, account addresses) */
.ward-fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.ward-fields .form-row.ward-third{grid-column:span 2}
.ward-fields .form-row.ward-hidden-field,
.ward-fields .form-row:is(#billing_country_field,#shipping_country_field):has(input[type=hidden],select.country_to_state--single){display:none!important}  /* single allowed country (older + WooCommerce 11 markup) */

/* Service / trust bar (homepage, About) */
.ward-trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--ward-line-2);border:1px solid var(--ward-line-2);border-radius:16px;overflow:clip;list-style:none;margin:0;padding:0}
.ward-trust li{background:#fff;padding:clamp(14px,1.6vw,20px);display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.ward-trust-icon{width:42px;height:42px;border-radius:var(--r);background:var(--ward-tint);color:var(--ward-pink);display:grid;place-items:center;flex:none}
.ward-trust-text{display:flex;flex-direction:column;gap:2px;flex:1 1 110px}
.ward-trust-text b{font-size:14px}
.ward-trust-text span{font-size:12px;color:var(--ward-muted);line-height:1.4}
/* Homepage service bar (v2.12.0): the shown statements share the whole row evenly (data-count = how many; 3 since the
   "returns" statement was removed). Phones: 3 statements stay one balanced row with the icon above centred text;
   4 statements keep the 2 × 2 grid. */
.ward-trust[data-count]{grid-template-columns:repeat(var(--trust-n,3),minmax(0,1fr))}
.ward-trust[data-count] li{flex-wrap:nowrap;justify-content:center}
.ward-trust[data-count] .ward-trust-text{flex:0 1 auto;min-width:0}
@media (max-width:767px){
  .ward-trust[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ward-trust[data-count="4"] li{justify-content:flex-start}
  .ward-trust[data-count="3"] li{flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:8px;padding:14px 8px}
  .ward-trust[data-count="3"] .ward-trust-icon{width:38px;height:38px}
  .ward-trust[data-count="3"] .ward-trust-text b{font-size:13px;line-height:1.35}
  .ward-trust[data-count="3"] .ward-trust-text span{font-size:11.5px;line-height:1.4}
}
@media (max-width:359px){ .ward-trust[data-count="3"] li{padding:12px 5px} .ward-trust[data-count="3"] .ward-trust-text b{font-size:12.5px} }
