/* Tropicále on WordPress: WooCommerce and WordPress markup in the design's language. */

/* Elementor editor only: the public site renders sections without Elementor wrappers. */
.trp-root.e-con,
.trp-root {
	--padding-top: 0;
	--padding-right: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--gap: 0;
	--row-gap: 0;
	--content-width: 100%;
	--container-max-width: none;
	max-width: none;
	padding: 0;
}
.trp-root > .e-con-inner { max-width: none; padding: 0; }
.elementor-widget[class*="elementor-widget-trp-"] { width: 100%; max-width: none; margin: 0; }
.elementor-widget[class*="elementor-widget-trp-"] > .elementor-widget-container { margin: 0; padding: 0; }
body.elementor-editor-active .motion-reveal,
body.elementor-editor-active .motion-hero-item { opacity: 1 !important; transform: none !important; }
main:focus { outline: none; }

/* Prices: WooCommerce wraps amounts in spans. */
.price .woocommerce-Price-amount,
.cr-price .woocommerce-Price-amount { font: inherit; color: inherit; }
.price del, .cr-price del { opacity: .55; margin-right: .4em; }
.price ins, .cr-price ins { text-decoration: none; }
.cr-purchase-panel form.cart { display: contents; }
.cr-buy { border: 0; cursor: pointer; font: inherit; width: 100%; }
.trp-sort { margin: 0; }

/* Notices */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 1rem 1.25rem;
	border-left: 3px solid var(--clay);
	background: var(--sand);
	color: var(--ink);
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	align-items: center;
	justify-content: space-between;
}
.woocommerce-error { border-left-color: var(--danger, #9c403c); }
.woocommerce-message .button,
.woocommerce-info .button { order: 2; }

/* Buttons: WooCommerce .button gets the design's .btn look. */
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
#place_order,
.wc-proceed-to-checkout .checkout-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	padding: .95rem 1.6rem;
	border: 1px solid var(--forest);
	background: var(--forest);
	color: #fff;
	font: inherit;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background .25s, color .25s, border-color .25s;
}
.woocommerce .button:hover,
#place_order:hover,
.wc-proceed-to-checkout .checkout-button:hover { background: var(--forest-2); border-color: var(--forest-2); }
.woocommerce .button:disabled,
.woocommerce .button.disabled { opacity: .5; cursor: not-allowed; }

/* Form fields */
.trp-woo-page input[type="text"],
.trp-woo-page input[type="email"],
.trp-woo-page input[type="tel"],
.trp-woo-page input[type="password"],
.trp-woo-page input[type="number"],
.trp-woo-page select,
.trp-woo-page textarea,
.trp-woo-page .select2-container .select2-selection--single {
	width: 100%;
	min-height: 3rem;
	padding: .75rem .9rem;
	border: 1px solid var(--line);
	background: var(--white);
	color: var(--ink);
	font: inherit;
	border-radius: 0;
}
.trp-woo-page .select2-container .select2-selection--single .select2-selection__rendered { line-height: 1.5rem; padding: 0; color: var(--ink); }
.trp-woo-page .select2-container .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); }
.trp-woo-page label { display: block; margin-bottom: .35rem; font-size: .82rem; font-weight: 600; color: var(--ink); }
.trp-woo-page .form-row { margin: 0 0 1rem; }
.trp-woo-page .required { color: var(--clay); text-decoration: none; }
.trp-woo-page .woocommerce-input-wrapper { display: block; }

/* Bag */
.trp-woo-cart .woocommerce { display: grid; gap: 2.5rem; }
@media (min-width: 900px) {
	.trp-woo-cart .woocommerce { grid-template-columns: minmax(0, 1fr) 380px; align-items: start; }
	.trp-woo-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
}
.trp-woo-cart table.shop_table { width: 100%; border-collapse: collapse; }
.trp-woo-cart table.shop_table th { text-align: left; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); padding: .75rem .5rem; border-bottom: 1px solid var(--line); }
.trp-woo-cart table.shop_table td { padding: 1.1rem .5rem; border-bottom: 1px solid var(--line); vertical-align: middle; }
.trp-woo-cart .product-thumbnail img { width: 84px; height: 84px; object-fit: cover; }
.trp-woo-cart .product-name a { font-family: var(--serif); font-size: 1.15rem; color: var(--ink); text-decoration: none; }
.trp-woo-cart .product-remove a { color: var(--muted); text-decoration: none; font-size: 1.4rem; }
.trp-woo-cart .quantity input { width: 4.5rem; text-align: center; }
.trp-woo-cart td.actions { text-align: right; }
.trp-woo-cart .coupon { display: inline-flex; gap: .5rem; margin-right: 1rem; }
.trp-woo-cart .coupon input { min-width: 10rem; }
.trp-woo-cart .cart-collaterals .cart_totals,
.trp-woo-checkout #order_review {
	background: var(--sand);
	padding: 1.75rem;
}
.trp-woo-cart .cart_totals h2,
.trp-woo-checkout #order_review_heading { font-family: var(--serif); font-size: 1.5rem; margin: 0 0 1rem; }
.trp-woo-cart .cart_totals table,
.trp-woo-checkout .woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; }
.trp-woo-cart .cart_totals th,
.trp-woo-cart .cart_totals td,
.trp-woo-checkout .woocommerce-checkout-review-order-table th,
.trp-woo-checkout .woocommerce-checkout-review-order-table td { padding: .7rem 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.trp-woo-cart .cart_totals td,
.trp-woo-checkout .woocommerce-checkout-review-order-table td:last-child { text-align: right; }
.trp-woo-cart .order-total,
.trp-woo-checkout .order-total { font-weight: 700; }
.trp-woo-cart .wc-proceed-to-checkout { margin-top: 1.25rem; }
.trp-woo-cart .wc-proceed-to-checkout .checkout-button { width: 100%; }
.trp-woo-cart #shipping_method,
.trp-woo-checkout #shipping_method { list-style: none; margin: 0; padding: 0; }
.cart-empty.woocommerce-info { justify-content: center; }
.return-to-shop { text-align: center; }

/* Checkout */
.trp-woo-checkout form.checkout { display: grid; gap: 2.5rem; }
@media (min-width: 900px) {
	.trp-woo-checkout form.checkout { grid-template-columns: minmax(0, 1fr) 400px; align-items: start; }
	.trp-woo-checkout #order_review_heading { grid-column: 2; grid-row: 1; }
	.trp-woo-checkout #order_review { grid-column: 2; grid-row: 2; }
	.trp-woo-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
}
.trp-woo-checkout .col2-set .col-1,
.trp-woo-checkout .col2-set .col-2 { width: 100%; float: none; }
.trp-woo-checkout h3 { font-family: var(--serif); font-size: 1.5rem; margin: 0 0 1rem; }
.trp-woo-checkout .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.trp-woo-checkout .form-row-wide,
.trp-woo-checkout #billing_address_1_field,
.trp-woo-checkout #billing_address_2_field { grid-column: 1 / -1; }
.trp-woo-checkout #payment ul.payment_methods { list-style: none; margin: 1.25rem 0; padding: 0; }
.trp-woo-checkout #payment li { padding: .75rem 0; border-bottom: 1px solid var(--line); }
.trp-woo-checkout #payment .payment_box { font-size: .9rem; color: var(--muted); padding: .5rem 0 0 1.6rem; }
.trp-woo-checkout #place_order { width: 100%; margin-top: 1rem; }
.trp-woo-checkout .woocommerce-privacy-policy-text { font-size: .82rem; color: var(--muted); }
@media (max-width: 600px) {
	.trp-woo-checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
	.trp-woo-cart table.shop_table thead { display: none; }
	.trp-woo-cart table.shop_table tr { display: grid; grid-template-columns: 84px 1fr; gap: .25rem 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
	.trp-woo-cart table.shop_table td { border: 0; padding: 0; }
	.trp-woo-cart table.shop_table td.product-thumbnail { grid-row: span 4; }
	.trp-woo-cart td.actions { grid-column: 1 / -1; text-align: left; }
}

/* Account */
.trp-woo-myaccount .woocommerce { display: grid; gap: 2rem; }
@media (min-width: 900px) { .trp-woo-myaccount .woocommerce { grid-template-columns: 240px 1fr; } }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.woocommerce-MyAccount-navigation li a { display: block; padding: .8rem 0; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.woocommerce-MyAccount-navigation li.is-active a { color: var(--clay); font-weight: 700; }

/* Product reviews dialog posts to WordPress; keep its fields full width. */
.cr-feedback-dialog form label { display: block; }

/* Product page: grid items may shrink below their images' pixel width (else phones scroll sideways). */
.cr-product-grid > *,
.cr-gallery > *,
.cr-thumbnails > * { min-width: 0; }
.cr-thumbnails img,
.cr-main-media img { max-width: 100%; height: auto; }
/* The design centres the panel with auto margins, which sizes it to its text; long product
   copy then pushes it to its 760px cap. Fill the column instead (cap still applies). */
@media (max-width: 980px) {
	.cr-purchase-panel { width: 100%; }
}

/* Product cards (client feedback 2026-11-05): name on one full-width line, price on the line below. */
.product-card .product-meta .row { display: block; }
.product-card .product-meta h3 { overflow-wrap: anywhere; }
.product-card .product-meta .vendor { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.product-card .product-meta .price { margin-top: .45rem; text-align: left; white-space: nowrap; }
