/* ==========================================================================
   The International Gringo — WooCommerce store styles (loaded only with WooCommerce)
   Uses the design tokens defined in site.css.
   ========================================================================== */

.ig-shop { --wp--preset--color--contrast: var(--ig-navy); }
.ig-band--shop .ig-band__title { max-width: 18ch; }
.ig-shop .ig-listing { padding-block: clamp(48px, 6vw, 88px); }
.ig-shop .ig-listing > * + * { margin-top: 28px; }

/* Breadcrumbs, counts, sorting */
.ig-shop .woocommerce-breadcrumb, .ig-shop .wc-block-breadcrumbs { font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--ig-slate); margin: 32px 0 24px; }
.ig-shop .woocommerce-breadcrumb a, .ig-shop .wc-block-breadcrumbs a { color: var(--ig-slate); }
.ig-shop .woocommerce-breadcrumb a:hover { color: var(--ig-red); }
.ig-shop-bar { padding-bottom: 18px; border-bottom: 1px solid rgba(19, 32, 58, .18); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--ig-slate); align-items: center; }
.ig-shop-bar p, .ig-shop-bar form { margin: 0; }
.ig-shop select, .ig-shop .orderby { font: 13px var(--ig-sans); color: var(--ig-navy); background: var(--ig-paper); border: 1px solid rgba(19, 32, 58, .3); border-radius: 0; padding: 10px 34px 10px 12px; letter-spacing: .04em; }

/* ---------- Product grids (shop, categories, related) ---------- */
.ig-shop-grid .wc-block-product-template { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)) !important; gap: 48px 24px; margin: 0; padding: 0; list-style: none; }
.ig-shop-grid .wc-block-product-template > li { width: auto !important; margin: 0 !important; display: flex; flex-direction: column; gap: 12px; text-align: left; }
.ig-shop-grid .wc-block-product-template > li > * { margin: 0 !important; text-align: left !important; }
.ig-shop-grid .wc-block-components-product-image { background: #EAE1D1; aspect-ratio: 1 / 1; overflow: hidden; margin-bottom: 6px !important; }
.ig-shop-grid .wc-block-components-product-image img { width: 100%; height: 100% !important; object-fit: cover; aspect-ratio: 1 / 1; transition: transform .8s var(--ig-ease); }
.ig-shop-grid li:hover .wc-block-components-product-image img { transform: scale(1.03); }
.ig-shop-grid .wp-block-post-title, .ig-shop-grid .wp-block-post-title a { font-family: var(--ig-sans) !important; font-size: 13px !important; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; line-height: 1.4 !important; color: var(--ig-navy); text-decoration: none; }
.ig-shop-grid .wp-block-post-title a:hover { color: var(--ig-red); }
.ig-shop-grid .wc-block-components-product-price, .ig-shop-grid .wp-block-woocommerce-product-price { font-family: var(--ig-serif); font-size: 18px !important; color: var(--ig-navy); }
.ig-shop-grid .wp-block-button__link, .ig-shop-grid .wc-block-components-product-button__button {
	background: transparent !important; color: var(--ig-navy) !important; border: 1px solid var(--ig-navy) !important; border-radius: 0 !important;
	padding: 12px 18px !important; font: 600 10.5px var(--ig-sans) !important; letter-spacing: .2em; text-transform: uppercase; width: auto !important; min-height: 0;
}
.ig-shop-grid .wp-block-button__link:hover, .ig-shop-grid .wc-block-components-product-button__button:hover { background: var(--ig-navy) !important; color: var(--ig-sand) !important; }
.ig-shop-grid .wc-block-components-product-button { align-items: flex-start !important; }
.ig-shop-grid .added_to_cart { font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--ig-red); margin-top: 8px; }
.ig-related { margin-top: clamp(64px, 8vw, 112px) !important; padding-top: 40px; border-top: 1px solid var(--ig-navy); }
.ig-related .ig-eyebrow { margin-bottom: 32px !important; }

/* Sale / sold-out badges */
.ig-shop .wc-block-components-product-sale-badge, .ig-shop .onsale { background: var(--ig-red); color: var(--ig-paper); border: 0; border-radius: 0; font: 700 9.5px var(--ig-sans); letter-spacing: .2em; text-transform: uppercase; padding: 5px 8px; }
.ig-product__soldout { position: absolute; top: 12px; right: 12px; z-index: 1; background: var(--ig-red); color: var(--ig-paper); font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; padding: 5px 8px; font-weight: 700; }
.ig-product.is-sold-out .ig-frame img { filter: grayscale(.6); opacity: .8; }

/* ---------- Single product ---------- */
.ig-pdp .ig-wrap { padding-bottom: clamp(64px, 8vw, 112px); }
.ig-pdp__top { gap: clamp(32px, 5vw, 72px) !important; margin-top: 8px; }
.ig-pdp__gallery .woocommerce-product-gallery { margin: 0; }
.ig-pdp__gallery .woocommerce-product-gallery__image, .ig-pdp__gallery .woocommerce-product-gallery__wrapper { background: #EAE1D1; }
.ig-pdp__gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin: 8px 0 0; padding: 0; list-style: none; }
.ig-pdp__gallery .flex-control-thumbs img { opacity: .6; cursor: pointer; transition: opacity .3s; }
.ig-pdp__gallery .flex-control-thumbs img.flex-active, .ig-pdp__gallery .flex-control-thumbs img:hover { opacity: 1; }
.ig-pdp__summary { display: flex; flex-direction: column; gap: 18px; }
.ig-pdp__summary > * { margin: 0 !important; }
.ig-pdp__summary .ig-eyebrow a { color: var(--ig-red); text-decoration: none; }
h1.ig-pdp__title { font-family: var(--ig-serif); font-weight: 300; font-size: clamp(38px, 4.4vw, 64px); line-height: 1; letter-spacing: -.02em; text-wrap: balance; }
.ig-pdp__price, .ig-pdp__price .price { font-family: var(--ig-serif); font-size: 28px !important; color: var(--ig-navy); }
.ig-pdp__excerpt { font-family: var(--ig-serif); font-style: italic; font-size: 20px; line-height: 1.5; color: var(--ig-ink-2); }
.ig-pdp__note { font-size: 12px; line-height: 1.6; color: var(--ig-slate); padding-top: 16px; border-top: 1px solid rgba(19, 32, 58, .14); }

.ig-shop form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin: 6px 0 0; }
.ig-shop form.variations_form { display: block; }
.ig-shop table.variations { width: 100%; border-collapse: collapse; margin-bottom: 18px; }
.ig-shop table.variations th, .ig-shop table.variations td { display: block; padding: 0; border: 0; text-align: left; }
.ig-shop table.variations th label { font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--ig-slate); font-weight: 500; }
.ig-shop table.variations td { margin: 8px 0 14px; }
.ig-shop table.variations select { width: 100%; max-width: 320px; font-size: 15px; padding: 14px 36px 14px 14px; }
.ig-shop .reset_variations { font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--ig-red); margin-left: 12px; }
.ig-shop .woocommerce-variation-price .price { font-family: var(--ig-serif); font-size: 22px; }
.ig-shop .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.ig-shop .quantity input.qty, .ig-shop .wc-block-components-quantity-selector {
	width: 72px; height: 56px; text-align: center; font: 16px var(--ig-sans); color: var(--ig-navy); background: var(--ig-paper); border: 1px solid var(--ig-navy); border-radius: 0; box-sizing: border-box;
}
.ig-shop .single_add_to_cart_button, .ig-shop button.single_add_to_cart_button.button {
	height: 56px; padding: 0 30px; background: var(--ig-navy); color: var(--ig-sand); border: 0; border-radius: 0; cursor: pointer;
	font: 700 12px var(--ig-sans); letter-spacing: .22em; text-transform: uppercase; transition: background .3s; flex: 1 1 auto; max-width: 340px;
}
.ig-shop .single_add_to_cart_button:hover { background: var(--ig-red); }
.ig-shop .single_add_to_cart_button.disabled, .ig-shop .single_add_to_cart_button:disabled { opacity: .45; cursor: not-allowed; }
.ig-shop .stock { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--ig-slate); }
.ig-shop .stock.out-of-stock { color: var(--ig-red); }
.ig-shop .wp-block-woocommerce-product-meta { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--ig-slate); }
.ig-shop .wp-block-woocommerce-product-meta a { color: var(--ig-slate); }

/* Description / reviews tabs */
.ig-pdp__details { margin-top: clamp(56px, 7vw, 96px) !important; }
.ig-shop .woocommerce-tabs ul.tabs, .ig-shop .wc-tabs { display: flex; flex-wrap: wrap; gap: 28px; list-style: none; margin: 0 0 32px; padding: 0 0 0; border-bottom: 1px solid var(--ig-navy); }
.ig-shop .woocommerce-tabs ul.tabs li, .ig-shop .wc-tabs li { margin: 0; padding: 0; border: 0; background: none; }
.ig-shop .woocommerce-tabs ul.tabs li a, .ig-shop .wc-tabs li a { display: block; padding: 0 0 14px; font: 600 11px var(--ig-sans); letter-spacing: .22em; text-transform: uppercase; color: var(--ig-slate); text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.ig-shop .woocommerce-tabs ul.tabs li.active a, .ig-shop .wc-tabs li.active a { color: var(--ig-navy); border-bottom-color: var(--ig-red); }
.ig-shop .woocommerce-Tabs-panel { font-family: var(--ig-serif); font-size: 19px; line-height: 1.65; color: var(--ig-ink); max-width: 760px; }
.ig-shop .woocommerce-Tabs-panel h2 { display: none; }
.ig-shop table.shop_attributes { width: 100%; max-width: 640px; border-collapse: collapse; font-family: var(--ig-sans); font-size: 14px; }
.ig-shop table.shop_attributes th, .ig-shop table.shop_attributes td { text-align: left; padding: 12px 0; border: 0; border-bottom: 1px solid rgba(19, 32, 58, .12); font-weight: 400; }
.ig-shop table.shop_attributes th { font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--ig-slate); width: 40%; }
.ig-shop table.shop_attributes p { margin: 0; }

/* ---------- Notices ---------- */
.ig-shop .wc-block-components-notice-banner, .ig-shop .woocommerce-message, .ig-shop .woocommerce-info, .ig-shop .woocommerce-error {
	border: 1px solid var(--ig-navy); border-radius: 0; background: var(--ig-paper); color: var(--ig-navy); font-size: 14px; padding: 14px 18px;
}
.ig-shop .wc-block-components-notice-banner.is-error, .ig-shop .woocommerce-error { border-color: var(--ig-red); }
.ig-shop .wc-block-components-notice-banner > svg { fill: var(--ig-sand); background: var(--ig-navy); border-radius: 50%; }
.ig-shop .wc-block-components-notice-banner .wc-forward, .ig-shop .woocommerce-message .button { color: var(--ig-red); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; text-decoration: none; background: none; border: 0; }

/* ---------- Cart & checkout (WooCommerce blocks) ---------- */
.ig-store-page .ig-listing { max-width: 1180px; }
.ig-store-page .wp-block-post-content > * { margin-top: 0; }
.ig-shop .wc-block-cart, .ig-shop .wc-block-checkout { font-family: var(--ig-sans); color: var(--ig-navy); }
.ig-shop .wc-block-cart .wc-block-cart__totals-title, .ig-shop .wc-block-components-checkout-step__title, .ig-shop .wc-block-components-title {
	font: 600 11px var(--ig-sans) !important; letter-spacing: .22em; text-transform: uppercase; color: var(--ig-navy);
}
.ig-shop .wc-block-cart-items { border-top: 1px solid var(--ig-navy); }
.ig-shop .wc-block-cart-items th { font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--ig-slate); font-weight: 500; }
.ig-shop .wc-block-cart-items td { border-color: rgba(19, 32, 58, .12) !important; }
.ig-shop .wc-block-components-product-name { font: 600 13px var(--ig-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ig-navy); text-decoration: none; }
.ig-shop .wc-block-components-product-metadata { font-size: 13px; color: var(--ig-slate); }
.ig-shop .wc-block-components-product-price, .ig-shop .wc-block-formatted-money-amount { font-family: var(--ig-serif); }
.ig-shop .wc-block-components-totals-item__label { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.ig-shop .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.ig-shop .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: var(--ig-serif); font-size: 24px; text-transform: none; letter-spacing: 0; }
.ig-shop .wc-block-components-sidebar .wc-block-components-panel, .ig-shop .wc-block-components-totals-wrapper { border-color: rgba(19, 32, 58, .14) !important; }
.ig-shop .wc-block-cart__sidebar, .ig-shop .wc-block-checkout__sidebar { background: var(--ig-sand); padding: 24px !important; box-sizing: border-box; }

.ig-shop .wc-block-components-button:not(.is-link), .ig-shop .wc-block-cart__submit-button, .ig-shop .wc-block-components-checkout-place-order-button {
	background: var(--ig-navy) !important; color: var(--ig-sand) !important; border-radius: 0 !important; border: 0 !important; min-height: 58px;
	font: 700 12px var(--ig-sans) !important; letter-spacing: .22em; text-transform: uppercase; transition: background .3s;
}
.ig-shop .wc-block-components-button:not(.is-link):hover, .ig-shop .wc-block-components-checkout-place-order-button:hover { background: var(--ig-red) !important; }
.ig-shop .wc-block-components-button.is-link { color: var(--ig-red); }
.ig-shop .wc-block-components-text-input input, .ig-shop .wc-block-components-text-input textarea,
.ig-shop .wc-block-components-combobox .wc-block-components-combobox-control input, .ig-shop .wc-blocks-components-select .wc-blocks-components-select__select,
.ig-shop .wc-block-components-textarea {
	border-radius: 0 !important; border: 1px solid rgba(19, 32, 58, .35) !important; background: var(--ig-paper) !important; color: var(--ig-navy) !important; font-family: var(--ig-sans) !important;
}
.ig-shop .wc-block-components-text-input input:focus, .ig-shop .wc-blocks-components-select__select:focus { border-color: var(--ig-navy) !important; box-shadow: 0 0 0 1px var(--ig-navy) !important; }
.ig-shop .wc-block-components-radio-control__option, .ig-shop .wc-block-components-radio-control-accordion-option { border-radius: 0 !important; }
.ig-shop .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { border-radius: 0; border-color: var(--ig-navy); }
.ig-shop .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--ig-navy); }
.ig-shop .wc-block-components-checkbox__mark { fill: var(--ig-sand); }
.ig-shop .wc-block-components-quantity-selector { width: auto; height: auto; }
.ig-shop .wc-block-components-quantity-selector input { font-family: var(--ig-sans); }
.ig-shop .wc-block-components-product-badge { border-radius: 0; font-size: 9.5px; letter-spacing: .16em; text-transform: uppercase; }
.ig-shop .wc-block-cart__empty-cart__title, .ig-shop .wc-block-cart .wp-block-heading { font-family: var(--ig-serif); font-weight: 300; }
.ig-shop .wc-block-checkout__terms { font-size: 13px; color: var(--ig-slate); }
.ig-shop .wc-block-checkout__terms a, .ig-shop .wc-block-cart a:not(.wc-block-components-button):not(.wc-block-components-product-name) { color: var(--ig-red); }

/* Order confirmation */
.ig-confirm { max-width: 980px; }
.ig-confirm > * + * { margin-top: 40px !important; }
.ig-confirm .wc-block-order-confirmation-status { font-family: var(--ig-serif); font-size: 24px; }
.ig-confirm .wc-block-order-confirmation-summary-list { border-top: 1px solid var(--ig-navy); padding-top: 18px; display: flex; flex-wrap: wrap; gap: 24px 48px; list-style: none; margin: 0; padding-left: 0; }
.ig-confirm .wc-block-order-confirmation-summary-list-item__key { display: block; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--ig-slate); }
.ig-confirm__head { font: 600 11px var(--ig-sans) !important; letter-spacing: .22em; text-transform: uppercase; padding-bottom: 12px; border-bottom: 1px solid var(--ig-navy); margin-bottom: 16px !important; }
.ig-confirm table { width: 100%; border-collapse: collapse; }
.ig-confirm table td, .ig-confirm table th { border: 0; border-bottom: 1px solid rgba(19, 32, 58, .12); padding: 12px 0; text-align: left; }
.ig-confirm address { font-style: normal; line-height: 1.7; }

/* Homepage cards linked to real products */
.ig-product.is-linked .ig-product__price { color: var(--ig-navy); }

@media (max-width: 781px) {
	.ig-pdp__top { flex-direction: column; }
	.ig-pdp__top > .wp-block-column { flex-basis: 100% !important; }
	.ig-shop .single_add_to_cart_button { max-width: none; }
}
