/**
 * Frontend Styles for iKetch Printing Cost Manager Pro for WooCommerce
 */

.iketch-pcm-badge-card {
	background-color: hsl(210, 30%, 99%);
	border: 2px solid hsl(210, 15%, 90%);
	border-radius: 12px;
	padding: 16px;
	margin: 20px 0;
	box-shadow: 0 4px 12px hsla(0, 0%, 0%, 0.03);
	font-family: inherit;
	transition: all 0.3s ease;
}

.iketch-pcm-badge-card:hover {
	box-shadow: 0 6px 16px hsla(0, 0%, 0%, 0.06);
	border-color: hsl(210, 20%, 85%);
}

.iketch-pcm-badge-card.iketch-pcm-active {
	background-color: hsl(210, 50%, 98%);
	border-color: hsl(210, 80%, 55%);
	box-shadow: 0 6px 18px hsla(210, 80%, 50%, 0.08);
}

.iketch-pcm-card-header {
	display: flex;
	align-items: center;
	margin-bottom: 12px;
}

.iketch-pcm-icon {
	font-size: 24px;
	margin-inline-end: 12px;
}

.iketch-pcm-title-group {
	display: flex;
	flex-direction: column;
}

.iketch-pcm-badge-label {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: hsl(210, 60%, 45%);
	background-color: hsl(210, 70%, 95%);
	padding: 2px 8px;
	border-radius: 20px;
	font-weight: 700;
	align-self: flex-start;
	margin-bottom: 2px;
}

.iketch-pcm-method-name {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	color: hsl(210, 25%, 15%);
}

.iketch-pcm-card-body {
	border-top: 1px dashed hsl(210, 15%, 90%);
	padding-top: 12px;
}

.iketch-pcm-cost-row {
	display: flex;
	justify-content: space-between;
	margin-bottom: 8px;
	font-size: 14px;
}

.iketch-pcm-cost-label {
	color: hsl(210, 15%, 45%);
}

.iketch-pcm-cost-val {
	font-weight: 600;
	color: hsl(210, 25%, 15%);
}

.iketch-pcm-tiers-table-container {
	margin-top: 16px;
	background-color: #ffffff;
	border-radius: 8px;
	border: 1px solid hsl(210, 15%, 93%);
	padding: 12px;
}

.iketch-pcm-tiers-title {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: hsl(210, 15%, 35%);
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.iketch-pcm-tiers-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.iketch-pcm-tiers-table th,
.iketch-pcm-tiers-table td {
	padding: 6px 8px;
	text-align: start;
}

.iketch-pcm-tiers-table th {
	font-weight: 600;
	color: hsl(210, 15%, 55%);
	border-bottom: 1px solid hsl(210, 15%, 90%);
	font-size: 11px;
	text-transform: uppercase;
}

.iketch-pcm-tiers-table td {
	color: hsl(210, 25%, 20%);
	border-bottom: 1px solid hsl(210, 10%, 96%);
}

.iketch-pcm-tiers-table tr:last-child td {
	border-bottom: none;
}

/* Delivery Days Badges */
.iketch-pcm-delivery-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 14px 0;
}

.iketch-pcm-delivery-badge {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	color: hsl(140, 45%, 30%);
	background-color: hsl(140, 55%, 95%);
	border: 1px solid hsl(140, 40%, 75%);
	border-radius: 6px;
	padding: 5px 10px;
}

/* Partial Printing Quantity & File Upload Fields */
.iketch-pcm-field-row {
	margin-bottom: 16px;
}

.iketch-pcm-field-row label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: hsl(210, 25%, 15%);
	margin-bottom: 6px;
}

.iketch-pcm-qty-field input[type="number"] {
	width: 100px;
	padding: 6px 10px;
	border: 1px solid hsl(210, 15%, 85%);
	border-radius: 6px;
	font-size: 14px;
}

.iketch-pcm-file-field input[type="file"] {
	width: 100%;
	font-size: 13px;
	color: hsl(210, 15%, 35%);
}

.iketch-pcm-field-hint {
	margin: 6px 0 0 0;
	font-size: 12px;
	color: hsl(210, 15%, 50%);
}

.iketch-pcm-field-error {
	margin: 6px 0 0 0;
	font-size: 12px;
	font-weight: 600;
	color: #d63638;
	display: none;
}

.iketch-pcm-product-customisation {
	clear: both;
	display: block;
	width: 100%;
	margin-block-start: 1rem;
}

/* The product summary is a narrow column in block themes. The script moves
 * this panel below the product columns while retaining the original cart form
 * association for every input and file control. */
.iketch-pcm-product-customisation.iketch-pcm-detached-customisation {
	box-sizing: border-box;
	width: 100%;
	max-width: 1108px;
	margin: 2rem auto 0;
}

.iketch-pcm-product-customisation.iketch-pcm-detached-customisation > .iketch-pcm-card {
	margin-block: 0;
}

/*
 * Themes frequently turn form.cart into a flex or grid layout. The printing
 * fields are emitted after WooCommerce's submit button, but without a full
 * row they can be rendered alongside it. Scope these rules to only forms
 * containing this component so normal theme add-to-cart layouts are intact.
 */
form.cart.iketch-pcm-has-customisation {
	flex-wrap: wrap !important;
}

form.cart.iketch-pcm-has-customisation > .iketch-pcm-product-customisation {
	clear: both !important;
	float: none !important;
	box-sizing: border-box;
	flex: 0 0 100% !important;
	grid-column: 1 / -1;
	order: 9999;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
	margin: 1rem 0 0 !important;
}

/* Block themes stretch both product columns to the tallest one. Keep the
 * gallery at its natural height when the printing panel expands the summary. */
.single-product .wp-block-columns.alignwide:has(.iketch-pcm-product-customisation) > .wp-block-column:first-child {
	align-self: flex-start;
}

.iketch-pcm-card {
	--iketch-accent: #0f766e;
	--iketch-accent-soft: #ecfdf5;
	--iketch-border: #dbe4ea;
	--iketch-muted: #64748b;
	margin-block: 1.5rem;
	padding: 1.35rem;
	border: 1px solid var(--iketch-border);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(15, 23, 42, .07);
	color: #0f172a;
}

.iketch-pcm-card-heading { margin-block-end: 1rem; }
.iketch-pcm-card-heading h3 { margin: .25rem 0 .3rem; font-size: 1.2rem; line-height: 1.35; color: #0f172a; }
.iketch-pcm-card-heading p { margin: 0; color: var(--iketch-muted); font-size: .9rem; }
.iketch-pcm-card-kicker { display: inline-flex; padding: .25rem .6rem; border-radius: 999px; background: var(--iketch-accent-soft); color: var(--iketch-accent); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }

.iketch-pcm-printing-fields[hidden] { display: none !important; }

.iketch-pcm-branding-choice {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .75rem;
	margin: 0 0 1.1rem;
	padding: 0;
	border: 0;
}

.iketch-pcm-branding-choice label { position: relative; cursor: pointer; }
.iketch-pcm-branding-choice input { position: absolute; opacity: 0; pointer-events: none; }
.iketch-pcm-branding-choice label > span { display: flex; min-height: 64px; flex-direction: column; justify-content: center; padding: .75rem 1rem; border: 1px solid var(--iketch-border); border-radius: 11px; background: #fff; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.iketch-pcm-branding-choice label > span strong { color: #172033; font-size: .92rem; }
.iketch-pcm-branding-choice label > span small { color: var(--iketch-muted); font-size: .76rem; }
.iketch-pcm-branding-choice input:checked + span { border-color: var(--iketch-accent); background: var(--iketch-accent-soft); box-shadow: 0 0 0 2px rgba(15, 118, 110, .1); }
.iketch-pcm-branding-choice input:focus-visible + span { outline: 2px solid var(--iketch-accent); outline-offset: 2px; }

.iketch-pcm-printing-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1rem; margin-block: 1rem; padding-block: 1rem; border-block: 1px solid #edf1f5; }
.iketch-pcm-printing-fields p { margin: 0 !important; }
.iketch-pcm-logo-size { grid-column: 1 / -1; padding: .65rem .75rem; border-radius: 8px; background: #f0fdfa; color: #115e59; font-size: .82rem; font-weight: 700; }
.iketch-pcm-printing-fields label { display: grid; gap: .4rem; color: #334155; font-size: .82rem; font-weight: 650; }
.iketch-pcm-printing-fields input:not([type="file"]), .iketch-pcm-printing-fields select { width: 100%; min-height: 42px; padding: .55rem .7rem; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #0f172a; font: inherit; box-sizing: border-box; }
.iketch-pcm-printing-qty-control { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; direction: ltr; overflow: hidden; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; }
.iketch-pcm-printing-fields .iketch-pcm-printing-qty-control .iketch-pcm-printing-qty { min-width: 0; min-height: 44px; margin: 0; padding: .55rem; border: 0; border-inline: 1px solid #cbd5e1; border-radius: 0; text-align: center; appearance: textfield; box-shadow: none; }
.iketch-pcm-printing-qty::-webkit-inner-spin-button, .iketch-pcm-printing-qty::-webkit-outer-spin-button { margin: 0; appearance: none; }
.iketch-pcm-printing-qty-step { min-width: 44px; min-height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; background: #f8fafc; color: #0f766e; font: inherit; font-size: 1.25rem; font-weight: 800; cursor: pointer; touch-action: manipulation; }
.iketch-pcm-printing-qty-step:focus-visible { position: relative; z-index: 1; outline: 2px solid var(--iketch-accent); outline-offset: -2px; }
.iketch-pcm-printing-qty-step:disabled { color: #94a3b8; cursor: not-allowed; opacity: .55; }
.iketch-pcm-field > .iketch-pcm-printing-qty-error { display: block; margin-block-start: .35rem; color: #b91c1c; font-size: .75rem; font-weight: 700; }
.iketch-pcm-printing-qty-error[hidden] { display: none !important; }
.iketch-pcm-printing-qty[aria-invalid="true"] { background: #fff7f7 !important; }
.iketch-pcm-method-name-static { display: flex; align-items: center; min-height: 42px; padding: .55rem .7rem; border: 1px solid #cbd5e1; border-radius: 8px; background: #f8fafc; color: #0f172a; font-weight: 700; box-sizing: border-box; }
.iketch-pcm-printing-fields input[readonly] { background: #f8fafc; color: #475569; }
.iketch-pcm-mockup-notice { grid-column: 1 / -1; padding: .85rem .95rem; border: 1px solid #bfdbfe; border-inline-start: 4px solid #2563eb; border-radius: 8px; background: #eff6ff; color: #1e3a8a; }
.iketch-pcm-mockup-notice strong { display: block; margin-bottom: .25rem; font-size: .85rem; }
.iketch-pcm-mockup-notice p { margin: 0 !important; font-size: .82rem; line-height: 1.6; }
.iketch-pcm-field > small { display: block; margin-block-start: .3rem; color: var(--iketch-muted); font-size: .72rem; }
.iketch-pcm-upload-field { grid-column: 1 / -1; }
.iketch-pcm-upload-field input[type="file"] { width: 100%; padding: .55rem; border: 1px dashed #aab9c6; border-radius: 8px; background: #f8fafc; box-sizing: border-box; }
.iketch-pcm-upload-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-block-end: .45rem; }
.iketch-pcm-upload-heading label { color: #334155; font-size: .82rem; font-weight: 650; }
.iketch-pcm-required-badge, .iketch-pcm-optional-badge { display: inline-flex; align-items: center; padding: .2rem .5rem; border-radius: 999px; font-size: .68rem; font-weight: 750; line-height: 1.2; }
.iketch-pcm-required-badge { background: #fff1f2; color: #be123c; }
.iketch-pcm-optional-badge { background: #eef2f6; color: #526174; }
.iketch-pcm-upload-rules { display: flex; flex-wrap: wrap; gap: .35rem 1rem; margin-block-start: .55rem; color: var(--iketch-muted); font-size: .73rem; }
.iketch-pcm-upload-rules strong { color: #475569; }
.iketch-pcm-required-note { display: block; margin-block-start: .45rem; color: #be123c; font-size: .73rem; font-weight: 650; }

.iketch-pcm-delivery { display: flex; align-items: center; gap: .75rem; margin: 1rem 0; padding: .8rem .9rem; border: 1px solid #bae6d3; border-radius: 10px; background: var(--iketch-accent-soft); color: #14532d; }
.iketch-pcm-delivery-mark { width: 12px; height: 12px; flex: 0 0 12px; border: 3px solid #fff; border-radius: 50%; background: #16a34a; box-shadow: 0 0 0 2px #86efac; }
.iketch-pcm-delivery > span:last-child { display: grid; gap: .12rem; }
.iketch-pcm-delivery small { color: #3f6f58; font-size: .72rem; font-weight: 600; }
.iketch-pcm-delivery-detail { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .55rem; }
.iketch-pcm-delivery-detail strong { color: #14532d; font-size: .9rem; }
.iketch-pcm-delivery-detail span { color: #14532d; font-size: .9rem; }

.iketch-pcm-breakdown { padding: 1rem; border: 1px solid #e7edf2; border-radius: 11px; background: #f8fafc; }
.iketch-pcm-breakdown-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-block-end: .7rem; border-block-end: 1px solid #e7edf2; }
.iketch-pcm-breakdown-heading > span { font-weight: 750; color: #172033; }
.iketch-pcm-breakdown-heading small { color: var(--iketch-muted); font-size: .7rem; }
.iketch-pcm-breakdown dl { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem 1rem; margin: .8rem 0 0; }
.iketch-pcm-breakdown dl[hidden] { display: none !important; }
.iketch-pcm-breakdown [hidden] { display: none !important; }
.iketch-pcm-breakdown .iketch-pcm-print-breakdown { margin-block-start: .9rem; padding-block-start: .9rem; border-block-start: 1px dashed #d7e0e7; }
.iketch-pcm-breakdown .iketch-pcm-grand-total { margin-block-start: .9rem; }
.iketch-pcm-breakdown dt, .iketch-pcm-breakdown dd { margin: 0; font-size: .83rem; }
.iketch-pcm-breakdown dt { color: #526174; }
.iketch-pcm-breakdown dd { color: #172033; font-weight: 700; text-align: end; white-space: nowrap; }
.iketch-pcm-subtotal-label, .iketch-pcm-subtotal-value { padding-block-start: .45rem; border-block-start: 1px solid #e7edf2; color: #334155 !important; font-weight: 750 !important; }
.iketch-pcm-selected-options-heading { grid-column: 1 / -1; margin-block-start: .25rem !important; padding-block: .65rem .15rem; border-block-start: 1px dashed #d7e0e7; color: #0f766e !important; font-weight: 750 !important; }
.iketch-pcm-selected-option-label { padding-inline-start: .55rem; border-inline-start: 2px solid #a7d7cc; color: #334155 !important; }
.iketch-pcm-selected-option-value { display: flex; justify-content: flex-end; gap: .5rem; }
.iketch-pcm-selected-option-value [data-option-choice] { font-weight: 650; }
.iketch-pcm-selected-option-value [data-option-total] { color: var(--iketch-accent); font-weight: 800; }
.iketch-pcm-total-label, .iketch-pcm-total-value { margin-block-start: .3rem !important; padding-block-start: .7rem; border-block-start: 1px solid #d7e0e7; color: #0f172a !important; font-size: .95rem !important; font-weight: 800 !important; }

/* Make the next step explicit: configure first, then add the chosen order. */
.single-product [data-iketch-customise-trigger] { white-space: normal; line-height: 1.3; }
.iketch-pcm-configuration-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-block-start: 1rem; }
.iketch-pcm-config-submit { min-height: 46px; padding: .72rem 1rem; border: 1px solid #cbd5e1; border-radius: 9px; background: #fff; color: #0f172a; font: inherit; font-weight: 750; line-height: 1.3; cursor: pointer; transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; }
.iketch-pcm-config-submit:hover, .iketch-pcm-config-submit:focus-visible { border-color: var(--iketch-accent, #0f766e); color: var(--iketch-accent, #0f766e); }
.iketch-pcm-submit-printed { border-color: var(--iketch-accent, #0f766e); background: var(--iketch-accent, #0f766e); color: #fff; }
.iketch-pcm-submit-printed:hover, .iketch-pcm-submit-printed:focus-visible { background: #115e59; border-color: #115e59; color: #fff; }
.iketch-pcm-config-submit:active { transform: translateY(1px); }
.iketch-pcm-config-submit[hidden] { display: none !important; }

/* Full-width product print-area configurator */
.iketch-pcm-area-list-frontend { display: grid; gap: 1rem; margin-block: 1rem; }
.iketch-pcm-area-card { display: grid; gap: .9rem; padding: 1rem; border: 1px solid var(--iketch-border, #dbe4ea); border-radius: 14px; background: #fff; transition: border-color .18s ease, box-shadow .18s ease, opacity .18s ease; }
.iketch-pcm-area-card.is-selected { border-color: var(--iketch-accent, #0f766e); box-shadow: 0 0 0 2px rgba(15, 118, 110, .08); }
.iketch-pcm-area-card__heading { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: .85rem; align-items: center; }
.iketch-pcm-area-card__heading img { width: 72px; height: 72px; object-fit: cover; border-radius: 10px; background: #f1f5f9; }
.iketch-pcm-area-card__heading h4 { margin: 0; color: #0f172a; font-size: 1rem; }
.iketch-pcm-area-card__heading small { display: block; margin-top: .3rem; color: #64748b; font-size: .75rem; }
.iketch-pcm-area-toggle { display: inline-flex; align-items: center; gap: .45rem; color: #0f766e; font-weight: 750; white-space: nowrap; }
.iketch-pcm-area-card__illustration { display: flex; align-items: center; gap: .75rem; margin: 0; padding: .65rem; border-radius: 9px; background: #f8fafc; }
.iketch-pcm-area-card__illustration img { width: 58px; height: 58px; object-fit: cover; border-radius: 7px; }
.iketch-pcm-area-card__illustration figcaption { color: #475569; font-size: .8rem; }
.iketch-pcm-area-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1rem; }
.iketch-pcm-area-fields label { display: grid; gap: .35rem; color: #334155; font-size: .82rem; font-weight: 650; }
.iketch-pcm-area-fields input:not([type="file"]), .iketch-pcm-area-fields select { width: 100%; min-height: 42px; box-sizing: border-box; padding: .55rem .7rem; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #0f172a; font: inherit; }
.iketch-pcm-area-fields input[type="file"] { width: 100%; box-sizing: border-box; padding: .55rem; border: 1px dashed #aab9c6; border-radius: 8px; background: #f8fafc; }
.iketch-pcm-area-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-column: 1 / -1; gap: .8rem 1rem; }
.iketch-pcm-area-options label { min-width: 0; }
.iketch-pcm-area-card__price { padding: .7rem .8rem; border-radius: 8px; background: #f0fdfa; color: #115e59; font-weight: 750; }
.iketch-pcm-area-card:not(.is-selected) { opacity: .76; }
@media (max-width: 640px) { .iketch-pcm-area-card__heading { grid-template-columns: 56px minmax(0, 1fr); } .iketch-pcm-area-card__heading img { width: 56px; height: 56px; } .iketch-pcm-area-toggle { grid-column: 1 / -1; } .iketch-pcm-area-fields, .iketch-pcm-area-options { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .iketch-pcm-configuration-actions { grid-template-columns: 1fr; } }
.iketch-pcm-total-value { color: var(--iketch-accent) !important; }
.iketch-pcm-card.is-printing { border-color: #a7d7cc; }
.iketch-pcm-branding-choice label.is-selected { border-color: var(--iketch-accent, #0f766e); background: #ecfdf5; box-shadow: 0 0 0 1px rgba(15, 118, 110, .12); }
.iketch-pcm-pricing-details { margin-top: .75rem; padding-top: .65rem; border-top: 1px dashed #d7e0e7; }
.iketch-pcm-pricing-details summary { cursor: pointer; color: var(--iketch-accent, #0f766e); font-weight: 700; }
.iketch-pcm-pricing-details dl { margin: .7rem 0 0; }
.iketch-pcm-pricing-details summary::marker { color: var(--iketch-accent, #0f766e); }
.iketch-pcm-pricing-details__content { margin-block-start: .8rem; }
.iketch-pcm-pricing-option { margin-block-start: .85rem; padding: .8rem; border: 1px solid #e3ebf0; border-radius: 9px; background: #fff; }
.iketch-pcm-pricing-option h4, .iketch-pcm-pricing-option h5 { margin: 0 0 .55rem; color: #334155; font-size: .84rem; }
.iketch-pcm-pricing-detail-list { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .38rem .9rem; margin: .55rem 0 0; }
.iketch-pcm-pricing-detail-list dt, .iketch-pcm-pricing-detail-list dd { margin: 0; font-size: .8rem; }
.iketch-pcm-pricing-detail-list dt { color: #64748b; }
.iketch-pcm-pricing-detail-list dd { color: #172033; font-weight: 650; text-align: end; }
.iketch-pcm-pricing-detail-total { margin-block-start: .85rem; padding-block-start: .75rem; border-block-start: 1px solid #d7e0e7; }
.iketch-pcm-pricing-detail-total dt, .iketch-pcm-pricing-detail-total dd { color: #0f172a; font-size: .9rem; font-weight: 800; }
.iketch-pcm-pricing-detail-total dd { color: var(--iketch-accent, #0f766e); }
.iketch-pcm-no-additional-cost { margin: .4rem 0 0; color: #64748b; font-size: .8rem; font-weight: 650; }
.iketch-pcm-product-pricing-options { margin-block-start: .85rem; }
.iketch-pcm-product-pricing-options > .iketch-pcm-pricing-option:first-child { margin-block-start: 0; }

/* Printing details inside classic and block-based Cart / Checkout. */
.wc-block-components-product-details:has(> .iketch-pcm-meta-row) {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	width: 100%;
	margin-block: .75rem 0 !important;
	padding: .75rem .85rem !important;
	border: 1px solid #dbe4ea;
	border-radius: 10px;
	background: #f8fafc;
	box-sizing: border-box;
	container-type: inline-size;
}

.wc-block-components-product-details:has(> .iketch-pcm-meta-row) > .iketch-pcm-meta-row {
	display: grid !important;
	grid-template-columns: minmax(110px, .85fr) minmax(0, 1.15fr);
	align-items: start;
	gap: .65rem;
	width: 100%;
	padding-block: .34rem;
	border-block-end: 1px solid #e7edf2;
	box-sizing: border-box;
}

.wc-block-components-product-details:has(> .iketch-pcm-meta-row) > .iketch-pcm-meta-row:last-child { border-block-end: 0; }
.wc-block-components-product-details:has(> .iketch-pcm-meta-row) > .iketch-pcm-meta-row > [aria-hidden="true"] { display: none !important; }
.wc-block-components-product-details:has(> .iketch-pcm-meta-row) .wc-block-components-product-details__name,
.wc-block-components-product-details:has(> .iketch-pcm-meta-row) .wc-block-components-product-details__value { display: block !important; margin: 0; }
.wc-block-components-product-details:has(> .iketch-pcm-meta-row) .wc-block-components-product-details__name { color: #64748b; font-weight: 600; }
.wc-block-components-product-details:has(> .iketch-pcm-meta-row) .wc-block-components-product-details__value { min-width: 0; color: #172033; font-weight: 650; text-align: end; overflow-wrap: break-word; word-break: normal; }
.wc-block-components-product-details:has(> .iketch-pcm-meta-row) > .iketch-pcm-meta-heading-row { align-items: center; padding-block: 0  .6rem; border-block-end-color: #bfe2d9; }
.wc-block-components-product-details:has(> .iketch-pcm-meta-row) > .iketch-pcm-meta-option-row { background: #fff; padding-inline: .45rem; }
.wc-block-components-product-details:has(> .iketch-pcm-meta-row) > .iketch-pcm-meta-option-row + .iketch-pcm-meta-summary-row { margin-block-start: .3rem; border-block-start: 1px dashed #b9c8d3; }
.wc-block-components-product-details:has(> .iketch-pcm-meta-row) > .iketch-pcm-meta-total-row { margin-block-start: .2rem; padding-block: .55rem; border-block: 1px solid #c9d7e0; color: #0f766e; font-size: .82rem; font-weight: 800; }
.wc-block-components-product-details:has(> .iketch-pcm-meta-row) > .iketch-pcm-meta-delivery-row { color: #14532d; }
.wc-block-components-product-details:has(> .iketch-pcm-meta-row) > .iketch-pcm-meta-pricing-details-row,
.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading) .iketch-pcm-meta-pricing-details-row,
.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-printing-meta-heading) .iketch-pcm-meta-pricing-details-row { grid-template-columns: minmax(0, 1fr) !important; padding-block: .7rem 0; border-block-end: 0; }
.wc-block-components-product-details:has(> .iketch-pcm-meta-row) > .iketch-pcm-meta-pricing-details-row .wc-block-components-product-details__name,
.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading) .iketch-pcm-meta-pricing-details-row dt,
.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-printing-meta-heading) .iketch-pcm-meta-pricing-details-row dt { display: none !important; }
.wc-block-components-product-details:has(> .iketch-pcm-meta-row) > .iketch-pcm-meta-pricing-details-row .wc-block-components-product-details__value,
.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading) .iketch-pcm-meta-pricing-details-row dd,
.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-printing-meta-heading) .iketch-pcm-meta-pricing-details-row dd { text-align: start; }
.iketch-pcm-cart-pricing-details { display: block; }
.iketch-pcm-cart-pricing-toggle { display: inline-flex; cursor: pointer; color: #0f766e; font-size: .82rem; font-weight: 750; }
.iketch-pcm-cart-pricing-toggle::after { content: '⌄'; margin-inline-start: .35rem; transition: transform .16s ease; }
.iketch-pcm-cart-pricing-details.is-open .iketch-pcm-cart-pricing-toggle::after { transform: rotate(180deg); }
.iketch-pcm-cart-pricing-toggle:focus-visible { outline: 2px solid #0f766e; outline-offset: 3px; border-radius: 2px; }
.iketch-pcm-cart-pricing-toggle__hide, .iketch-pcm-cart-pricing-details.is-open .iketch-pcm-cart-pricing-toggle__view { display: none; }
.iketch-pcm-cart-pricing-details.is-open .iketch-pcm-cart-pricing-toggle__hide { display: inline; }
.iketch-pcm-cart-pricing-details__content { display: none; margin-block-start: .7rem; padding: .75rem; border: 1px solid #e3ebf0; border-radius: 8px; background: #fff; }
.iketch-pcm-cart-pricing-details.is-open .iketch-pcm-cart-pricing-details__content { display: block; }
.iketch-pcm-cart-pricing-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .35rem .75rem; padding-block: .27rem; color: #64748b; font-size: .8rem; }
.iketch-pcm-cart-pricing-value { color: #172033; font-weight: 650; text-align: end; }
.iketch-pcm-calculation { direction: ltr; unicode-bidi: isolate; white-space: nowrap; }
.iketch-pcm-calculation bdi { direction: ltr; unicode-bidi: isolate; }
.iketch-pcm-calculation .woocommerce-Price-amount { display: inline-block; direction: ltr; unicode-bidi: isolate; }
.iketch-pcm-pricing-options { display: block; margin-block-start: .75rem; }
.iketch-pcm-cart-pricing-options-title, .iketch-pcm-cart-pricing-option-title { display: block; color: #334155; font-size: .82rem; font-weight: 750; }
.iketch-pcm-pricing-option { display: block; margin-block-start: .55rem; padding: .65rem; border: 1px solid #e3ebf0; border-radius: 7px; background: #fff; }
.iketch-pcm-pricing-option .iketch-pcm-cart-pricing-option-title { margin-block-end: .35rem; }
.iketch-pcm-cart-pricing-total { margin-block-start: .75rem; padding-block-start: .7rem; border-block-start: 1px solid #d7e0e7; color: #0f172a; font-size: .86rem; font-weight: 800; }
.iketch-pcm-cart-pricing-total .iketch-pcm-cart-pricing-value { color: #0f766e; font-weight: 800; }

.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading),
.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-printing-meta-heading) {
	display: grid;
	grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
	gap: .35rem .75rem;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	margin-block: .75rem 0 !important;
	padding: .8rem .9rem !important;
	border: 1px solid #dbe4ea;
	border-radius: 10px;
	background: #f8fafc;
	box-sizing: border-box;
	container-name: iketch-classic-print-meta;
	container-type: inline-size;
}

.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading) dd,
.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading) dt,
.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-printing-meta-heading) dd,
.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-printing-meta-heading) dt {
	float: none !important;
	clear: none !important;
	width: auto !important;
	min-width: 0;
	max-width: 100%;
	margin: 0 !important;
	padding: 0;
	box-sizing: border-box;
	overflow-wrap: break-word;
	word-break: normal;
}
.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading) dd p,
.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-printing-meta-heading) dd p { max-width: 100%; margin: 0; }
.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading) dt,
.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-printing-meta-heading) dt { color: #64748b; font-weight: 600; }
.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading) dd,
.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-printing-meta-heading) dd { color: #172033; font-weight: 650; text-align: end; overflow-wrap: break-word; word-break: normal; }

.iketch-pcm-printing-meta-heading { display: inline-flex; padding: .2rem .55rem; border-radius: 999px; background: #ecfdf5; color: #0f766e; font-size: .75rem; font-weight: 800; }
.iketch-pcm-option-selection { font-weight: 700; color: #334155; }
.iketch-pcm-option-total { display: inline-flex; margin-inline-start: .35rem; color: #0f766e; font-weight: 800; white-space: nowrap; }
.iketch-pcm-cart-printing-qty { display: inline-grid; grid-template-columns: 2rem 2.7rem 2rem; align-items: stretch; direction: ltr; border: 1px solid #cbd5e1; border-radius: 5px; overflow: hidden; background: #fff; }
.iketch-pcm-cart-printing-qty button,
.iketch-pcm-cart-printing-qty input { min-height: 2rem; margin: 0 !important; padding: .2rem !important; border: 0 !important; border-radius: 0 !important; background: #fff; color: #172033; text-align: center; box-shadow: none !important; }
.iketch-pcm-cart-printing-qty button { cursor: pointer; font-size: 1rem; }
.iketch-pcm-cart-printing-qty input { width: 2.7rem !important; border-inline: 1px solid #e2e8f0 !important; appearance: textfield; }
.iketch-pcm-cart-printing-qty input::-webkit-inner-spin-button,
.iketch-pcm-cart-printing-qty input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.iketch-pcm-cart-printing-qty button:disabled { cursor: not-allowed; opacity: .38; }
.iketch-pcm-cart-printing-qty.is-updating { opacity: .65; }

.iketch-pcm-customer-jobs { margin: 2rem 0; }
.iketch-pcm-customer-job { margin-block: 1rem; padding: 1rem; border: 1px solid #dbe5ec; border-radius: .65rem; background: #fff; }
.iketch-pcm-customer-job form + form { margin-block-start: 1rem; padding-block-start: 1rem; border-block-start: 1px solid #e5edf2; }
.iketch-pcm-customer-job textarea { inline-size: min(100%, 36rem); }
.wc-block-components-product-details:has(> .iketch-pcm-meta-row) > .iketch-pcm-meta-line-total-row,
.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading) .iketch-pcm-meta-line-total-row { margin-block-start: .2rem; padding-block: .6rem; border-block: 1px solid #a7d7cc; color: #0f766e; font-weight: 800; }
.iketch-pcm-line-total-marker { color: #0f766e; font-weight: 800; }

@container (max-width: 380px) {
	.wc-block-components-product-details:has(> .iketch-pcm-meta-row) > .iketch-pcm-meta-row { grid-template-columns: minmax(0, 1fr); gap: .08rem; }
	.wc-block-components-product-details:has(> .iketch-pcm-meta-row) .wc-block-components-product-details__value { text-align: start; }
	.wc-block-components-product-details:has(> .iketch-pcm-meta-row) .iketch-pcm-cart-pricing-row { grid-template-columns: minmax(0, 1fr); gap: .08rem; }
	.wc-block-components-product-details:has(> .iketch-pcm-meta-row) .iketch-pcm-cart-pricing-value { text-align: start; overflow-wrap: break-word; word-break: normal; }
	.wc-block-components-product-details:has(> .iketch-pcm-meta-row) .iketch-pcm-cart-pricing-details__content { padding: .6rem; }
}

@container iketch-classic-print-meta (max-width: 380px) {
	.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading) > dt,
	.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading) > dd,
	.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-printing-meta-heading) > dt,
	.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-printing-meta-heading) > dd {
		grid-column: 1 / -1;
		width: 100% !important;
		text-align: start !important;
	}
	.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading) > dd,
	.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-printing-meta-heading) > dd { padding-block-end: .38rem; }
	.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading) .iketch-pcm-cart-pricing-row,
	.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-printing-meta-heading) .iketch-pcm-cart-pricing-row {
		grid-template-columns: minmax(0, 1fr);
		gap: .08rem;
	}
	.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading) .iketch-pcm-cart-pricing-value,
	.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-printing-meta-heading) .iketch-pcm-cart-pricing-value { text-align: start; }
	.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading) .iketch-pcm-calculation,
	.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-printing-meta-heading) .iketch-pcm-calculation { white-space: normal; }
	.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading) .iketch-pcm-cart-pricing-details__content,
	.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-printing-meta-heading) .iketch-pcm-cart-pricing-details__content { padding: .6rem; }
}

/* The Checkout order-summary sidebar can be narrow on desktop too. */
.wc-block-checkout .iketch-pcm-cart-pricing-row,
.wc-block-components-checkout-order-summary .iketch-pcm-cart-pricing-row { grid-template-columns: minmax(0, 1fr); gap: .08rem; }
.wc-block-checkout .iketch-pcm-cart-pricing-value,
.wc-block-components-checkout-order-summary .iketch-pcm-cart-pricing-value { text-align: start; overflow-wrap: break-word; word-break: normal; }
.wc-block-checkout .iketch-pcm-cart-pricing-details__content,
.wc-block-components-checkout-order-summary .iketch-pcm-cart-pricing-details__content { padding: .6rem; }

@media (max-width: 640px) {
	.iketch-pcm-card { padding: 1rem; border-radius: 13px; }
	.iketch-pcm-printing-fields { grid-template-columns: 1fr; }
	.iketch-pcm-upload-field { grid-column: auto; }
	.iketch-pcm-breakdown-heading { align-items: flex-start; flex-direction: column; gap: .15rem; }
	.iketch-pcm-pricing-detail-list { grid-template-columns: minmax(0, 1fr); gap: .15rem; }
	.iketch-pcm-pricing-detail-list dd { text-align: start; }
	.iketch-pcm-cart-pricing-row { grid-template-columns: minmax(0, 1fr); gap: .08rem; }
	.iketch-pcm-cart-pricing-value { text-align: start; }
	.wc-block-components-product-details:has(> .iketch-pcm-meta-row),
	.woocommerce-cart-form dl.variation:has(.iketch-pcm-printing-meta-heading),
	.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-printing-meta-heading) { padding: .7rem !important; }
}

/*
 * Theme-independent printing summary.
 *
 * WooCommerce themes control the outer product-meta markup. The plugin owns
 * everything inside this single item-data value and wraps by available width,
 * so narrow cart and checkout columns do not collapse text letter by letter.
 */
.iketch-pcm-cart-summary,
.iketch-pcm-cart-summary * {
	box-sizing: border-box;
	max-width: 100%;
	word-break: normal;
}

.iketch-pcm-cart-summary {
	display: block !important;
	width: 100%;
	min-width: 0;
	margin-block: .7rem 0;
	padding: .8rem;
	border: 1px solid #dbe4ea;
	border-radius: 10px;
	background: #f8fafc;
	color: #172033;
	font: inherit;
	line-height: 1.45;
	text-align: start;
}

.iketch-pcm-cart-summary__header {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .45rem .75rem;
	padding-block-end: .65rem;
	border-block-end: 1px solid #bfe2d9;
}

.iketch-pcm-cart-summary__title {
	min-width: 0;
	color: #172033;
	font-size: .9rem;
	font-weight: 800;
	overflow-wrap: break-word;
}

.iketch-pcm-cart-summary__badge {
	display: inline-flex !important;
	flex: 0 1 auto;
	padding: .2rem .55rem;
	border-radius: 999px;
	background: #ecfdf5;
	color: #0f766e;
	font-size: .75rem;
	font-weight: 800;
	white-space: normal;
}

.iketch-pcm-cart-summary__rows,
.iketch-pcm-cart-summary__pricing {
	display: block !important;
	width: 100%;
	min-width: 0;
}

.iketch-pcm-cart-summary__row {
	display: flex !important;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: .15rem .8rem;
	width: 100%;
	min-width: 0;
	padding-block: .38rem;
	border-block-end: 1px solid #e7edf2;
}

.iketch-pcm-cart-summary__label {
	display: block !important;
	flex: 1 1 7rem;
	min-width: 0;
	color: #64748b;
	font-weight: 600;
	overflow-wrap: break-word;
}

.iketch-pcm-cart-summary__value {
	display: block !important;
	flex: 2 1 10rem;
	min-width: 0;
	color: #172033;
	font-weight: 650;
	text-align: end;
	overflow-wrap: break-word;
}

.iketch-pcm-cart-summary__row--option {
	padding-inline: .4rem;
	background: #fff;
}

.iketch-pcm-cart-summary__row--total {
	margin-block-start: .2rem;
	padding-block: .55rem;
	border-block: 1px solid #c9d7e0;
	color: #0f766e;
	font-weight: 800;
}

.iketch-pcm-cart-summary__row--total .iketch-pcm-cart-summary__value {
	color: #0f766e;
	font-weight: 800;
}

.iketch-pcm-cart-summary__row--delivery {
	color: #14532d;
}

.iketch-pcm-cart-summary__row--file .iketch-pcm-cart-summary__value,
.iketch-pcm-cart-summary__row--file bdi {
	overflow-wrap: anywhere;
}

.iketch-pcm-cart-summary__pricing {
	padding-block: .7rem;
	border-block-end: 1px solid #e7edf2;
	text-align: start;
}

.iketch-pcm-cart-summary .iketch-pcm-cart-pricing-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: .15rem .75rem;
}

.iketch-pcm-cart-summary .iketch-pcm-cart-pricing-label {
	flex: 1 1 7rem;
	min-width: 0;
	overflow-wrap: break-word;
}

.iketch-pcm-cart-summary .iketch-pcm-cart-pricing-value {
	flex: 2 1 10rem;
	min-width: 0;
	overflow-wrap: break-word;
}

.iketch-pcm-cart-summary .iketch-pcm-calculation {
	white-space: normal;
}

.iketch-pcm-cart-printing-qty-static {
	display: inline-block;
	min-width: 2rem;
	font-weight: 750;
	text-align: center;
}

/* Classic Cart and Checkout: suppress WooCommerce's duplicate outer label. */
.woocommerce-cart-form dl.variation:has(.iketch-pcm-cart-summary),
.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-cart-summary) {
	display: block !important;
	width: 100% !important;
	min-width: 0;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.woocommerce-cart-form dl.variation:has(.iketch-pcm-cart-summary) > dt:has(+ dd .iketch-pcm-cart-summary),
.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-cart-summary) > dt:has(+ dd .iketch-pcm-cart-summary) {
	display: none !important;
}

.woocommerce-cart-form dl.variation:has(.iketch-pcm-cart-summary) > dd:has(.iketch-pcm-cart-summary),
.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-cart-summary) > dd:has(.iketch-pcm-cart-summary) {
	display: block !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	min-width: 0;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	text-align: start !important;
}

.woocommerce-cart-form dl.variation:has(.iketch-pcm-cart-summary) > dd:has(.iketch-pcm-cart-summary) > p,
.woocommerce-checkout-review-order-table dl.variation:has(.iketch-pcm-cart-summary) > dd:has(.iketch-pcm-cart-summary) > p {
	display: block !important;
	width: 100%;
	margin: 0 !important;
}

/* The same item-data markup is also used by theme mini carts and quick carts. */
dl.variation:has(.iketch-pcm-cart-summary) {
	display: block !important;
	width: 100% !important;
	min-width: 0;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

dl.variation:has(.iketch-pcm-cart-summary) > dt:has(+ dd .iketch-pcm-cart-summary) {
	display: none !important;
}

dl.variation:has(.iketch-pcm-cart-summary) > dd:has(.iketch-pcm-cart-summary) {
	display: block !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	min-width: 0;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	text-align: start !important;
}

dl.variation:has(.iketch-pcm-cart-summary) > dd:has(.iketch-pcm-cart-summary) > p {
	display: block !important;
	width: 100%;
	margin: 0 !important;
}

/* JavaScript moves Classic Checkout summaries here so they span both columns. */
.woocommerce-checkout-review-order-table tr.iketch-pcm-checkout-summary-row > td {
	display: table-cell !important;
	width: 100% !important;
	padding-block: 0 .75rem !important;
	text-align: start !important;
}

.woocommerce-checkout-review-order-table tr.iketch-pcm-checkout-summary-row .iketch-pcm-cart-summary {
	width: 100% !important;
	margin: 0 !important;
}

/* Cart and Checkout Blocks: make the one plugin value occupy the full row. */
.wc-block-components-product-details:has(.iketch-pcm-cart-summary) {
	display: block !important;
	width: 100% !important;
	min-width: 0;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.wc-block-components-product-details:has(.iketch-pcm-cart-summary) > .wc-block-components-product-details__item:has(.iketch-pcm-cart-summary) {
	display: block !important;
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
}

.wc-block-components-product-details__item:has(.iketch-pcm-cart-summary) > .wc-block-components-product-details__name {
	display: none !important;
}

.wc-block-components-product-details__item:has(.iketch-pcm-cart-summary) > .wc-block-components-product-details__value {
	display: block !important;
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
	text-align: start !important;
}

/* Compact theme carts get stacked rows and a static printing quantity. */
.widget_shopping_cart .iketch-pcm-cart-summary,
.woocommerce-mini-cart .iketch-pcm-cart-summary,
[class*="mini-cart"] .iketch-pcm-cart-summary,
[class*="quick-cart"] .iketch-pcm-cart-summary,
[class*="side-cart"] .iketch-pcm-cart-summary {
	margin-block: .5rem !important;
	padding: .65rem;
	font-size: .82rem;
}

.widget_shopping_cart .iketch-pcm-cart-summary__label,
.widget_shopping_cart .iketch-pcm-cart-summary__value,
.woocommerce-mini-cart .iketch-pcm-cart-summary__label,
.woocommerce-mini-cart .iketch-pcm-cart-summary__value,
[class*="mini-cart"] .iketch-pcm-cart-summary__label,
[class*="mini-cart"] .iketch-pcm-cart-summary__value,
[class*="quick-cart"] .iketch-pcm-cart-summary__label,
[class*="quick-cart"] .iketch-pcm-cart-summary__value,
[class*="side-cart"] .iketch-pcm-cart-summary__label,
[class*="side-cart"] .iketch-pcm-cart-summary__value {
	flex-basis: 100%;
	width: 100%;
	text-align: start;
}

/* How to Use Styles */
.iketch-pcm-how-wrap {
	max-width: 1200px;
	margin: 20px auto;
	font-family: inherit;
}

.iketch-pcm-how-header {
	margin-bottom: 30px;
	text-align: center;
}

.iketch-pcm-how-header h2 {
	font-size: 28px;
	font-weight: 700;
	color: hsl(210, 25%, 15%);
}

.iketch-pcm-how-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
	margin-bottom: 40px;
}

.iketch-pcm-how-card {
	background: #ffffff;
	border: 1px solid hsl(210, 15%, 90%);
	border-radius: 12px;
	box-shadow: 0 4px 12px hsla(0, 0%, 0%, 0.03);
	overflow: hidden;
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
}

.iketch-pcm-how-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 24px hsla(0, 0%, 0%, 0.08);
	border-color: hsl(210, 20%, 85%);
}

.iketch-pcm-how-img-container {
	position: relative;
	width: 100%;
	height: 320px;
	background: #f9f9f9;
	border-bottom: 1px solid hsl(210, 15%, 92%);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.iketch-pcm-how-img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	transition: transform 0.3s ease;
}

.iketch-pcm-how-card:hover .iketch-pcm-how-img {
	transform: scale(1.05);
}

.iketch-pcm-how-content {
	padding: 20px;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.iketch-pcm-how-step {
	font-size: 11px;
	text-transform: uppercase;
	font-weight: 700;
	color: hsl(210, 60%, 45%);
	background: hsl(210, 70%, 95%);
	padding: 3px 10px;
	border-radius: 15px;
	align-self: flex-start;
	margin-bottom: 10px;
}

.iketch-pcm-how-title {
	font-size: 18px;
	font-weight: 600;
	margin: 0 0 10px 0;
	color: hsl(210, 25%, 15%);
}

.iketch-pcm-how-text {
	font-size: 14px;
	line-height: 1.6;
	color: hsl(210, 15%, 45%);
	margin: 0;
}

@media (max-width: 768px) {
	.iketch-pcm-how-grid {
		grid-template-columns: 1fr;
	}
	.iketch-pcm-how-img-container {
		height: 220px;
	}
}

/* Lightbox Modal Styles */
.iketch-pcm-lightbox-modal {
	display: none;
	position: fixed;
	z-index: 999999;
	padding-top: 50px;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(10, 20, 30, 0.9);
	backdrop-filter: blur(8px);
	transition: opacity 0.3s ease;
}

.iketch-pcm-lightbox-content {
	position: relative;
	margin: auto;
	display: block;
	width: 90%;
	max-width: 1400px;
	max-height: 85vh;
	text-align: center;
	overflow: hidden;
	border-radius: 8px;
}

.iketch-pcm-lightbox-content img {
	max-width: 100%;
	max-height: 85vh;
	border-radius: 8px;
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4);
	object-fit: contain;
	cursor: zoom-in;
	transition: transform 0.1s ease-out;
	display: block;
	margin: 0 auto;
}

.iketch-pcm-lightbox-content img.zoomed {
	cursor: zoom-out;
}

@keyframes zoomIn {
	from { transform: scale(0.95); opacity: 0; }
	to { transform: scale(1); opacity: 1; }
}

.iketch-pcm-lightbox-close {
	position: absolute;
	top: 20px;
	right: 35px;
	color: #f1f1f1;
	font-size: 40px;
	font-weight: 300;
	transition: 0.3s;
	cursor: pointer;
	user-select: none;
}

.iketch-pcm-lightbox-close:hover,
.iketch-pcm-lightbox-close:focus {
	color: #bbb;
	text-decoration: none;
	cursor: pointer;
}

/* Next & previous buttons */
.iketch-pcm-lightbox-prev,
.iketch-pcm-lightbox-next {
	cursor: pointer;
	position: absolute;
	top: 50%;
	width: auto;
	padding: 16px;
	margin-top: -50px;
	color: white !important;
	font-weight: bold;
	font-size: 32px;
	transition: 0.2s ease;
	border-radius: 0 3px 3px 0;
	user-select: none;
	background-color: rgba(255, 255, 255, 0.05);
	text-decoration: none !important;
	z-index: 1000000;
}

.iketch-pcm-lightbox-next {
	right: 20px;
	border-radius: 3px 0 0 3px;
}

.iketch-pcm-lightbox-prev {
	left: 20px;
}

.iketch-pcm-lightbox-prev:hover,
.iketch-pcm-lightbox-next:hover {
	background-color: rgba(255, 255, 255, 0.2);
}

#iketch-pcm-lightbox-caption {
	margin: auto;
	display: block;
	width: 80%;
	max-width: 700px;
	text-align: center;
	color: #ccc;
	padding: 15px 0;
	font-size: 18px;
	font-weight: 500;
}

.iketch-pcm-card .iketch-pcm-tax-label { display:inline-block; margin-inline-start:.3em; font-size:.8em; font-weight:400; white-space:nowrap; }
