/* Honeyzzz — cart & checkout. Scoped to body.hzcs (added only on cart/checkout). */

body.hzcs {
	--hz-teal: #033d50;
	--hz-teal-soft: #0b5468;
	--hz-honey: #f9c300;
	--hz-honey-dark: #e5b300;
	--hz-cream: #fff8e6;
	--hz-cream-soft: #fffcf4;
	--hz-line: #eee2c2;
	--hz-muted: #5f7783;
	--hz-sale: #c2410c;
	--hz-radius: 16px;
}

/* ---------- Compact page header (theme banner is ~480px tall) ---------- */
body.hzcs .breadcrumb-wrap .e-con,
body.hzcs .breadcrumb-wrap .e-con-inner {
	--min-height: 0px;
	min-height: 0 !important;
}
body.hzcs .breadcrumb-wrap > .elementor > .e-con {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
body.hzcs .breadcrumb-wrap > .elementor > .e-con > .e-con-inner {
	padding-top: 44px !important;
	padding-bottom: 40px !important;
}
body.hzcs .breadcrumb-wrap .elementor-widget-image { display: none !important; }
body.hzcs .beezi-woocommerce-title { font-size: clamp(34px, 5vw, 48px) !important; line-height: 1.1 !important; }

/* ---------- Progress steps + promo ---------- */
body.hzcs .hzcs-top { margin: 0 0 28px; }
body.hzcs .hzcs-preview {
	margin: 0 0 16px; padding: 8px 14px; border-radius: 8px;
	background: #eef6f8; color: var(--hz-teal); font-size: 13px;
}
body.hzcs .hzcs-steps {
	display: flex; gap: 0; list-style: none; margin: 0 0 18px; padding: 0;
	counter-reset: none;
}
body.hzcs .hzcs-steps li {
	flex: 1; display: flex; align-items: center; gap: 10px;
	color: var(--hz-muted); font-size: 14px; position: relative; margin: 0;
}
body.hzcs .hzcs-steps li:not(:last-child)::after {
	content: ""; flex: 1; height: 2px; margin: 0 14px;
	background: var(--hz-line); border-radius: 2px;
}
body.hzcs .hzcs-steps li.is-done:not(:last-child)::after { background: var(--hz-honey); }
body.hzcs .hzcs-steps__n {
	width: 30px; height: 30px; flex: none; display: grid; place-items: center;
	border-radius: 50%; border: 1.5px solid var(--hz-line);
	font-size: 13px; font-weight: 600; background: #fff;
}
body.hzcs .hzcs-steps li.is-active { color: var(--hz-teal); font-weight: 600; }
body.hzcs .hzcs-steps li.is-active .hzcs-steps__n { background: var(--hz-teal); border-color: var(--hz-teal); color: #fff; }
body.hzcs .hzcs-steps li.is-done .hzcs-steps__n { background: var(--hz-honey); border-color: var(--hz-honey); color: var(--hz-teal); }
body.hzcs .hzcs-steps__l { white-space: nowrap; }

body.hzcs .hzcs-promo {
	display: flex; align-items: center; gap: 12px; margin: 0;
	padding: 12px 16px; border-radius: 12px;
	background: var(--hz-cream); border: 1px solid var(--hz-line);
	color: var(--hz-teal); font-size: 14px; line-height: 1.45;
}
body.hzcs .hzcs-promo svg { flex: none; color: var(--hz-honey-dark); fill: var(--hz-honey); }

/* ---------- Shared: buttons, inputs, radios ---------- */
body.hzcs .wc-block-components-button:not(.is-link):not(.wc-block-components-button--text) {
	background: var(--hz-honey) !important; color: var(--hz-teal) !important;
	border: 0 !important; border-radius: 10px !important; min-height: 54px;
	font-weight: 700; font-size: 14px; letter-spacing: .08em; text-transform: uppercase;
	box-shadow: 0 6px 16px -8px rgba(229, 179, 0, .9);
	transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
}
body.hzcs .wc-block-components-button:not(.is-link):not(.wc-block-components-button--text):hover {
	background: var(--hz-honey-dark) !important; transform: translateY(-1px);
	box-shadow: 0 10px 22px -10px rgba(229, 179, 0, 1);
}
body.hzcs .wc-block-components-button:not(.is-link):focus-visible { outline: 3px solid var(--hz-teal); outline-offset: 2px; }

body.hzcs .wc-block-components-text-input input,
body.hzcs .wc-block-components-text-input textarea,
body.hzcs .wc-blocks-components-select .wc-blocks-components-select__select,
body.hzcs .wc-block-components-combobox .wc-block-components-combobox-control input,
body.hzcs .wc-block-components-textarea {
	border-radius: 10px !important; border-color: #d6dfe2 !important; background: #fff !important;
}
body.hzcs .wc-block-components-text-input input:focus,
body.hzcs .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body.hzcs .wc-block-components-textarea:focus {
	border-color: var(--hz-teal) !important;
	box-shadow: 0 0 0 3px rgba(249, 195, 0, .35) !important; outline: 0 !important;
}

body.hzcs .wc-block-components-radio-control__option,
body.hzcs .wc-block-components-radio-control-accordion-option {
	border-radius: 12px !important;
}
body.hzcs .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked,
body.hzcs .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.hzcs .wc-block-components-radio-control__option-checked {
	background: var(--hz-cream-soft);
	box-shadow: inset 0 0 0 1.5px var(--hz-honey) !important;
	border-color: transparent !important;
}
body.hzcs .wc-block-components-radio-control__input:checked { border-color: var(--hz-teal) !important; }
body.hzcs .wc-block-components-radio-control__input:checked::before { background: var(--hz-teal) !important; }

body.hzcs .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	background: var(--hz-teal); border-color: var(--hz-teal);
}
body.hzcs .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #fff; }

/* ---------- Cart: items ---------- */
body.hzcs .wc-block-cart { gap: 32px; }
body.hzcs table.wc-block-cart-items,
body.hzcs table.wc-block-cart-items th,
body.hzcs table.wc-block-cart-items td { border: 0 !important; background: transparent; }
body.hzcs table.wc-block-cart-items {
	background: #fff; border: 1px solid var(--hz-line) !important; border-radius: var(--hz-radius);
	border-collapse: separate; overflow: hidden;
}
body.hzcs .wc-block-cart-items__header { display: none; }
body.hzcs .wc-block-cart-items__row > td { padding: 22px 18px !important; vertical-align: top; }
body.hzcs .wc-block-cart-items__row + .wc-block-cart-items__row > td { border-top: 1px dashed var(--hz-line) !important; }
body.hzcs .wc-block-cart-item__image { width: 112px; padding-left: 22px !important; }
body.hzcs .wc-block-cart-item__image img {
	width: 96px !important; height: 96px; object-fit: cover; border-radius: 12px;
	background: var(--hz-cream);
}
body.hzcs .wc-block-cart-item__product .wc-block-components-product-name {
	font-family: "BeeziHeading", Georgia, serif; font-size: 21px !important; line-height: 1.25 !important;
	color: var(--hz-teal) !important; text-decoration: none;
}
body.hzcs .wc-block-cart-item__prices { margin: 6px 0 4px; }
body.hzcs .wc-block-components-product-price__value.is-discounted,
body.hzcs .wc-block-cart-item__total .wc-block-components-product-price__value {
	color: var(--hz-teal) !important; font-weight: 600;
}
body.hzcs .wc-block-components-product-price__regular { color: var(--hz-muted) !important; opacity: .8; }
body.hzcs .wc-block-components-product-metadata { color: var(--hz-muted); font-size: 13px; max-width: 46ch; }
body.hzcs .wc-block-components-product-metadata,
body.hzcs .wc-block-components-product-metadata * { word-break: normal !important; overflow-wrap: break-word !important; }
body.hzcs .wc-block-components-product-price { font-size: 15px; }
body.hzcs .wc-block-cart-item__total { padding-right: 22px !important; }
body.hzcs .wc-block-cart-item__total-price-and-sale-badge-wrapper { align-items: flex-end; gap: 6px; }
body.hzcs .wc-block-components-sale-badge {
	background: #fdf1d2 !important; color: #8a5a00 !important; border: 0 !important;
	border-radius: 999px !important; padding: 3px 10px !important; font-size: 12px !important; font-weight: 600;
}

body.hzcs .wc-block-components-quantity-selector {
	border-radius: 999px !important; border: 1px solid #d6dfe2 !important; width: 116px !important;
	overflow: hidden; background: #fff;
}
body.hzcs .wc-block-components-quantity-selector::after { display: none !important; }
body.hzcs .wc-block-components-quantity-selector__button { color: var(--hz-teal) !important; opacity: 1 !important; font-size: 18px !important; }
body.hzcs .wc-block-components-quantity-selector__button:hover { background: var(--hz-cream) !important; }
body.hzcs .wc-block-components-quantity-selector__input { font-weight: 600; color: var(--hz-teal); }
body.hzcs .wc-block-cart-item__remove-link { color: var(--hz-muted) !important; }
body.hzcs .wc-block-cart-item__remove-link:hover { color: var(--hz-sale) !important; }

/* ---------- Summary cards (cart + checkout) ---------- */
body.hzcs .wc-block-cart__sidebar,
body.hzcs .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	background: var(--hz-cream-soft); border: 1px solid var(--hz-line) !important;
	border-radius: var(--hz-radius); padding: 22px 22px 20px !important;
}
body.hzcs .wc-block-cart__sidebar .wc-block-components-totals-wrapper:first-of-type { border-top: 0 !important; }
body.hzcs .wc-block-cart__sidebar,
body.hzcs .wc-block-checkout__sidebar { position: sticky; top: 24px; align-self: flex-start; }
body.hzcs .wc-block-cart__totals-title,
body.hzcs .wc-block-components-checkout-order-summary__title-text,
body.hzcs .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title {
	font-family: "BeeziHeading", Georgia, serif !important; font-size: 24px !important;
	text-transform: none !important; color: var(--hz-teal) !important; letter-spacing: 0 !important;
	padding: 0 0 6px !important; margin: 0 !important;
}
body.hzcs .wc-block-components-totals-wrapper { border-color: var(--hz-line) !important; }
body.hzcs .wc-block-components-totals-item { color: var(--hz-teal); }
body.hzcs .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.hzcs .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: "BeeziHeading", Georgia, serif; font-size: 26px !important; color: var(--hz-teal);
}
body.hzcs .wc-block-components-totals-item__description { color: var(--hz-muted); }
body.hzcs .wc-block-components-panel__button { color: var(--hz-teal) !important; font-weight: 600; }
body.hzcs .wc-block-cart__submit { margin-top: 18px; }
body.hzcs .wc-block-cart__submit-button { width: 100%; }

/* ---------- Checkout ---------- */
body.hzcs .wc-block-checkout__main { counter-reset: hzstep; }
body.hzcs .wc-block-components-checkout-step {
	background: #fff; border: 1px solid var(--hz-line) !important; border-radius: var(--hz-radius);
	padding: 22px 24px 8px !important; margin: 0 0 18px !important;
}
body.hzcs .wc-block-components-checkout-step::after { display: none !important; } /* default step connector line */
body.hzcs .wc-block-components-checkout-step__heading { margin-bottom: 14px !important; }
body.hzcs .wc-block-components-checkout-step__title {
	font-family: "BeeziHeading", Georgia, serif !important; font-size: 24px !important; color: var(--hz-teal) !important;
	display: flex; align-items: center; gap: 12px;
}
body.hzcs .wc-block-components-checkout-step__title::before {
	counter-increment: hzstep; content: counter(hzstep);
	width: 28px; height: 28px; flex: none; display: inline-grid; place-items: center;
	border-radius: 50%; background: var(--hz-honey); color: var(--hz-teal);
	font-family: "Beezi", system-ui, sans-serif; font-size: 13px; font-weight: 700;
}
body.hzcs .wc-block-components-checkout-step__description { color: var(--hz-muted); }
body.hzcs .wc-block-checkout__actions { padding-top: 6px; }
body.hzcs .wc-block-components-checkout-place-order-button { width: 100%; min-height: 58px !important; font-size: 15px !important; }
body.hzcs .wc-block-checkout__terms { color: var(--hz-muted); font-size: 13px; }
body.hzcs .wc-block-components-order-summary-item__image img { border-radius: 10px; }
body.hzcs .wc-block-components-order-summary-item__quantity {
	background: var(--hz-teal) !important; color: #fff !important; border: 2px solid var(--hz-cream-soft) !important;
}

/* ---------- Trust strip ---------- */
body.hzcs .hzcs-trust {
	list-style: none; margin: 40px 0 8px; padding: 0;
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
}
body.hzcs .hzcs-trust li {
	display: flex; gap: 12px; align-items: flex-start; margin: 0;
	padding: 16px; border-radius: 14px; background: var(--hz-cream-soft); border: 1px solid var(--hz-line);
	color: var(--hz-teal);
}
body.hzcs .hzcs-trust svg { flex: none; color: var(--hz-honey-dark); margin-top: 1px; }
body.hzcs .hzcs-trust strong { display: block; font-size: 14px; line-height: 1.3; }
body.hzcs .hzcs-trust span { display: block; font-size: 12.5px; color: var(--hz-muted); line-height: 1.4; margin-top: 2px; }

/* ---------- Small screens ---------- */
@media (max-width: 782px) {
	body.hzcs .hzcs-top { margin: 0 0 20px; }
	body.hzcs .hzcs-steps__l { white-space: normal; font-size: 12px; line-height: 1.2; }
	body.hzcs .hzcs-steps li { gap: 6px; }
	body.hzcs .hzcs-steps li:not(:last-child)::after { margin: 0 8px; min-width: 12px; }
	body.hzcs .hzcs-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.hzcs .wc-block-cart__sidebar,
	body.hzcs .wc-block-checkout__sidebar { position: static; }
	body.hzcs .wc-block-components-checkout-step { padding: 18px 16px 4px !important; }
	body.hzcs .wc-block-cart-item__image { width: 84px; padding-left: 14px !important; }
	body.hzcs .wc-block-cart-item__image img { width: 72px !important; height: 72px; }
	body.hzcs .wc-block-cart-item__product .wc-block-components-product-name { font-size: 18px; }
}
@media (max-width: 420px) {
	body.hzcs .hzcs-trust { grid-template-columns: 1fr; }
}

/* ---------- Fixes after review ---------- */
/* Payment accordion: one highlighted card, not separate option + description boxes. */
body.hzcs .wc-block-components-radio-control-accordion-option { overflow: hidden; }
body.hzcs .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option,
body.hzcs .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option-checked {
	box-shadow: none !important; background: transparent !important; border-radius: 0 !important;
}
body.hzcs .wc-block-components-radio-control-accordion-content { box-shadow: none !important; border: 0 !important; color: var(--hz-muted); }
/* Order summary: name + price only, the long description crowded the column. */
body.hzcs .wc-block-components-order-summary-item .wc-block-components-product-metadata { display: none; }
body.hzcs .wc-block-components-order-summary-item__total-price,
body.hzcs .wc-block-components-order-summary-item .wc-block-components-product-price__value { color: var(--hz-teal) !important; font-weight: 600; }
body.hzcs .wc-block-components-order-summary-item__description { font-size: 14px; color: var(--hz-teal); }

/* Sticky order summary: the theme's overflow-x:hidden on body/.site turns them into
   scroll containers, which silently disables position:sticky. clip hides overflow without that. */
body.hzcs,
body.hzcs .hfeed.site { overflow-x: clip !important; overflow-y: visible !important; }
body.hzcs .wc-block-checkout__sidebar,
body.hzcs .wc-block-cart__sidebar { top: calc(var(--wp-admin--admin-bar--height, 0px) + 24px) !important; }
