/* BunnyTagz logo sticker designer — two-column product hero.
   Brand: pink #FF6B9D accent, deep plum #4A1650 for actions, ink #2E2A44 for text and price. */
.bll {
	--pink: #FF6B9D;
	--pink-2: #FF8FB4;
	--pink-soft: #FFF2F7;
	--plum: #4A1650;
	--ink: #2E2A44;
	--muted: #6F6886;
	--line: #EEE6F3;
	--surface: #FBF7FD;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
	margin: 8px 0 28px;
	color: var(--ink);
	text-align: left;
}

/* Hide the theme's stacked header pieces on this product (their contents are moved into the hero). */
.bt-logo-product.bll-mounted .product-header-container,
.bt-logo-product.bll-mounted .product-excerpt-wrapper { display: none; }
.bt-logo-product form.variations_form table.variations,
.bt-logo-product form.variations_form .reset_variations,
.bt-logo-product form.variations_form .woocommerce-variation-price,
.bt-logo-product form.variations_form .woocommerce-variation-description,
.bt-logo-product form.variations_form .quantity { display: none !important; }

/* ── Left: preview ── */
.bll-left { position: sticky; top: 110px; }
.bll-preview { background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 14px; box-shadow: 0 18px 40px rgba(74, 22, 80, .08); }
.bld-stage { position: relative; width: 100%; border-radius: 16px; overflow: hidden; background: var(--surface); touch-action: none; }
.bld-stage canvas { display: block; cursor: grab; }
.bld-stage canvas:active { cursor: grabbing; }
.bld-stage.is-drag { outline: 3px dashed var(--pink); outline-offset: -10px; }
.bll-live { position: absolute; top: 12px; left: 12px; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--plum); background: rgba(255,255,255,.85); border-radius: 999px; padding: 5px 10px; pointer-events: none; }
.bld-drop { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-align: center; cursor: pointer; }
.bld-drop[hidden] { display: none; }
.bld-drop__icon { width: 72px; height: 72px; border-radius: 50%; display: grid; place-items: center; color: #fff; margin-bottom: 8px;
	background: linear-gradient(135deg, var(--pink), var(--pink-2)); box-shadow: 0 10px 24px rgba(255,107,157,.35); transition: transform .2s; }
.bld-drop:hover .bld-drop__icon { transform: translateY(-3px); }
.bld-drop__title { font-size: 1.15rem; font-weight: 800; color: var(--ink); }
.bld-drop__text { font-size: .9rem; color: var(--muted); }
.bld-busy { position: absolute; right: 12px; bottom: 12px; display: flex; gap: 8px; align-items: center; background: #fff; padding: 8px 14px;
	border-radius: 999px; font-size: .85rem; box-shadow: 0 4px 14px rgba(0,0,0,.1); }
.bld-busy[hidden] { display: none; }
.bld-spinner { width: 14px; height: 14px; border-radius: 50%; border: 2px solid #F6CBDB; border-top-color: var(--pink); animation: bld-spin .8s linear infinite; }
@keyframes bld-spin { to { transform: rotate(360deg); } }
.bld-toolbar { display: flex; align-items: center; gap: 8px; justify-content: center; margin-top: 12px; flex-wrap: wrap; }
.bld-toolbar[hidden] { display: none; }
.bld-tool { min-width: 38px; height: 38px; border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--ink);
	font-size: 1.15rem; font-weight: 700; display: inline-grid; place-items: center; cursor: pointer; padding: 0 10px; }
.bld-tool--text { font-size: .85rem; padding: 0 14px; }
.bld-tool:hover, .bld-tool:focus-visible { border-color: var(--pink); color: var(--pink); }
.bld-toolbar input[type=range] { width: min(220px, 40vw); accent-color: var(--pink); }
.bld-sep { width: 1px; height: 22px; background: var(--line); }
.bld-toolbar.is-die [data-act="zoom-in"], .bld-toolbar.is-die [data-act="zoom-out"], .bld-toolbar.is-die input[type=range] { opacity: .3; pointer-events: none; }
.bld-hint { margin: 10px 4px 2px; text-align: center; font-size: .85rem; color: var(--muted); }

/* ── Right: header ── */
.bll-eyebrow { display: inline-block; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--pink); }
.bll-title-slot .product_title { margin: 6px 0 6px !important; font-size: clamp(1.9rem, 3vw, 2.6rem) !important; line-height: 1.12 !important; color: var(--ink) !important; text-align: left !important; }
.bll-rating-slot .woocommerce-product-rating { margin: 0 0 10px; }
.bll-price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin: 6px 0 14px; }
.bll-price__from { font-size: .95rem; color: var(--muted); }
.bll-price__amount, .bll-price__amount .amount { font-size: 2rem; font-weight: 800; color: var(--ink) !important; line-height: 1; }
.bll-price__each { font-size: .85rem; font-weight: 700; color: var(--plum); background: var(--pink-soft); padding: 5px 10px; border-radius: 999px; }
.bll-intro { margin: 0 0 18px; font-size: 1.02rem; line-height: 1.6; color: var(--muted); max-width: 60ch; }
.bll-features { list-style: none; margin: 0 0 26px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bll-features li { display: flex; gap: 10px; align-items: center; background: var(--surface); border-radius: 14px; padding: 10px 12px; min-width: 0; }
.bll-features__icon { flex: none; width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: #fff; color: var(--pink); box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.bll-features strong { display: block; font-size: .9rem; color: var(--ink); }
.bll-features small { display: block; font-size: .78rem; color: var(--muted); }

/* ── Steps ── */
.bll-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.bll-step { border: 1px solid var(--line); border-radius: 18px; padding: 16px 18px 18px; background: #fff; }
.bll-step[hidden] { display: none; }
.bll-step__head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.bll-step__n { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size: .85rem; font-weight: 800; color: #fff; background: var(--plum); flex: none; }
.bll-step.is-done .bll-step__n { background: #2BB38A; }
.bll-step__t { margin: 0 !important; font-size: 1.05rem !important; font-weight: 800; color: var(--ink) !important; line-height: 1.2; }
.bll-step__note { margin: 10px 0 0; font-size: .84rem; color: var(--muted); }

.bll-upload { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.bll-upload__btn { display: inline-flex; align-items: center; gap: 8px; border: 0; border-radius: 999px; padding: 11px 20px; cursor: pointer;
	font-weight: 800; font-size: .95rem; color: #fff; background: linear-gradient(135deg, var(--pink), var(--pink-2)); box-shadow: 0 6px 16px rgba(255,107,157,.3); }
.bll-upload__btn:hover, .bll-upload__btn:focus-visible { filter: brightness(1.04); transform: translateY(-1px); }
.bll-upload__status { font-size: .85rem; color: var(--muted); min-width: 0; overflow-wrap: anywhere; }
.bll-upload__status.is-ok { color: #1E8A5A; font-weight: 700; }
.bll-tip { margin: 10px 0 0; font-size: .82rem; color: var(--muted); }
.bld-notice { margin: 10px 0 0; padding: 10px 12px; border-radius: 10px; font-size: .86rem; background: #F4F0FA; }
.bld-notice--error { background: #FDECEE; color: #9B1C31; }
.bld-notice--info { background: #EEF6FF; color: #1D4F86; }
.bld-notice[hidden] { display: none; }

.bld-shapes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.bld-shape { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 4px; border-radius: 14px; border: 2px solid var(--line);
	background: #fff; color: var(--muted); font-weight: 700; font-size: .8rem; cursor: pointer; }
.bld-shape:hover { border-color: var(--pink-2); color: var(--pink); }
.bld-shape.active { border-color: var(--pink); color: var(--pink); background: var(--pink-soft); }

.bld-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.bld-swatch { width: 32px; height: 32px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--line); cursor: pointer; padding: 0; }
.bld-swatch.active { box-shadow: 0 0 0 3px var(--pink); }

.bld-qty { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.bld-qcard { position: relative; display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 14px 6px 10px; border-radius: 14px;
	border: 2px solid var(--line); background: #fff; cursor: pointer; color: var(--ink); }
.bld-qcard:hover { border-color: var(--pink-2); }
.bld-qcard.active { border-color: var(--pink); background: var(--pink-soft); }
.bld-qcard__n { font-size: 1.45rem; font-weight: 800; line-height: 1; }
.bld-qcard__l { font-size: .7rem; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; }
.bld-qcard__p { margin-top: 6px; font-weight: 800; color: var(--ink); font-size: 1rem; }
.bld-qcard__e { font-size: .74rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.bld-badge { position: absolute; top: -10px; left: 50%; transform: translateX(-50%); background: var(--pink); color: #fff;
	font-size: .64rem; font-weight: 800; letter-spacing: .04em; padding: 3px 8px; border-radius: 999px; white-space: nowrap; }

/* ── Order ── */
.bll-order { margin-top: 16px; display: grid; gap: 12px; }
.bld-summary { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; padding: 14px 18px; border-radius: 16px; background: var(--surface); color: var(--muted); font-size: .95rem; }
.bld-summary span + span::before { content: "·"; margin-right: 10px; color: #cbbfd6; }
.bld-summary strong { margin-left: auto; font-size: 1.5rem; font-weight: 800; color: var(--ink); }
.bll-form-slot form.cart { margin: 0 !important; }
.bll-form-slot .woocommerce-variation-add-to-cart { display: block !important; }
.bll-form-slot .single_add_to_cart_button { width: 100% !important; min-height: 56px; font-size: 1.1rem !important; border-radius: 999px !important; background: var(--plum) !important; }
.bll-form-slot .single_add_to_cart_button.bld-wait { opacity: .5; }
.bll-pay-slot .bt-payment-methods { margin: 0 !important; }

/* ── Responsive ── */
@media (max-width: 980px) {
	.bll { grid-template-columns: 1fr; gap: 18px; }
	.bll-left { position: static; order: 2; }
	.bll-right { display: contents; }
	.bll-head { order: 1; }
	.bll-steps { order: 3; }
	.bll-order { order: 4; }
}
@media (max-width: 560px) {
	.bll-features { grid-template-columns: 1fr; }
	.bld-shapes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.bld-qty { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bll-step { padding: 14px; }
	.bld-toolbar input[type=range] { width: 100%; order: 10; }
}
@media (prefers-reduced-motion: reduce) { .bld-spinner { animation: none; } .bld-drop__icon { transition: none; } }
.bld-swatch.is-extra { display: none; }
.bld-swatches.show-all .bld-swatch.is-extra { display: block; }
.bld-more { border: 1px dashed var(--line); background: #fff; color: var(--plum); font-weight: 700; font-size: .8rem; border-radius: 999px; padding: 0 12px; height: 32px; cursor: pointer; }
.bld-more:hover { border-color: var(--pink); color: var(--pink); }
/* Phones/tablets: title + price, then the preview, then steps; features move below the order button. */
@media (max-width: 980px) {
	.bll-head { display: contents; }
	.bll-head > * { order: 1; }
	.bll-features { order: 5; margin: 6px 0 0; }
	.bll-intro { margin-bottom: 4px; }
}
.bll-rating-slot:empty { display: none; }
@media (max-width: 980px) {
	.bll { row-gap: 0; }
	.bll-left, .bll-steps, .bll-order, .bll-features { margin-top: 16px; }
	.bll-title-slot .product_title { margin: 4px 0 2px !important; }
}

/* ═══════════ Product details section (logo product only) ═══════════
   Light section matching the hero; gallery sticks while the description scrolls;
   headings at a readable size instead of the theme's big pink cards. */
.bt-logo-product .product-content-section { background: #FBF7FD; padding: 64px 0; }
.bt-logo-product .product-content-grid { gap: 48px; max-width: 1280px; align-items: flex-start; }
.bt-logo-product .product-gallery-column { width: 46%; position: sticky; top: 110px; }
.bt-logo-product .product-description-column {
	width: 54%; padding: 32px 36px; color: #4E4866; background: #fff; border: 1px solid #EEE6F3; border-radius: 24px;
	box-shadow: 0 18px 40px rgba(74, 22, 80, .06);
}
.bt-logo-product .product-description-column > h2 {
	font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #FF6B9D;
	background: none; padding: 0; margin: 0 0 10px; border-radius: 0; line-height: 1.2;
}
.bt-logo-product .product-description-column > h2::before,
.bt-logo-product .product-description-column > h2::after { content: none; display: none; }
.bt-logo-product .product-description-column h3 { color: #2E2A44; font-size: 1.2rem; font-weight: 800; margin: 30px 0 12px; line-height: 1.25; }
.bt-logo-product .product-description-column p { color: #4E4866; font-size: 1rem; line-height: 1.7; margin: 0 0 12px; }
.bt-logo-product .product-description-column strong { color: #2E2A44; }
.bt-logo-product .product-description-column .bll-d-lead { font-size: 1.08rem; color: #2E2A44; }

.bt-logo-product .bll-d-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bt-logo-product .bll-d-card { background: #FBF7FD; border-radius: 14px; padding: 14px 16px; min-width: 0; }
.bt-logo-product .bll-d-card strong { display: block; font-size: .98rem; margin-bottom: 4px; }
.bt-logo-product .bll-d-card span { display: block; font-size: .88rem; line-height: 1.55; color: #6F6886; }

.bt-logo-product .product-description-column ul.bll-d-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bt-logo-product .bll-d-tags li { margin: 0; padding: 6px 12px; border-radius: 999px; background: #FFF2F7; color: #4A1650; font-size: .85rem; font-weight: 600; line-height: 1.3; }

.bt-logo-product .product-description-column ol.bll-d-steps { list-style: none; margin: 0; padding: 0; counter-reset: s; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bt-logo-product .bll-d-steps li { counter-increment: s; position: relative; margin: 0; padding: 14px 14px 14px 52px; border: 1px solid #EEE6F3; border-radius: 14px; }
.bt-logo-product .bll-d-steps li::before { content: counter(s); position: absolute; left: 14px; top: 14px; width: 26px; height: 26px; border-radius: 50%;
	background: #4A1650; color: #fff; font-weight: 800; font-size: .8rem; display: grid; place-items: center; }
.bt-logo-product .bll-d-steps strong { display: block; font-size: .95rem; }
.bt-logo-product .bll-d-steps span { display: block; font-size: .86rem; line-height: 1.5; color: #6F6886; }

.bt-logo-product .product-description-column ul.bll-d-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.bt-logo-product .bll-d-checks li { position: relative; margin: 0; padding-left: 30px; font-size: .95rem; line-height: 1.6; }
.bt-logo-product .bll-d-checks li::before { content: ""; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; border-radius: 50%;
	background: #2BB38A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }

@media (max-width: 980px) {
	.bt-logo-product .product-content-grid { flex-direction: column; gap: 24px; }
	.bt-logo-product .product-gallery-column, .bt-logo-product .product-description-column { width: 100%; position: static; }
	.bt-logo-product .product-content-section { padding: 32px 0; }
}
@media (max-width: 560px) {
	.bt-logo-product .product-description-column { padding: 22px 18px; }
	.bt-logo-product .bll-d-cards, .bt-logo-product .product-description-column ol.bll-d-steps { grid-template-columns: 1fr; }
}

/* Material cards */
.bll-mats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bll-mat { text-align: left; display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; border-radius: 14px; border: 2px solid var(--line); background: #fff; cursor: pointer; color: var(--ink); min-width: 0; }
.bll-mat:hover { border-color: var(--pink-2); }
.bll-mat.active { border-color: var(--pink); background: var(--pink-soft); }
.bll-mat__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.bll-mat__top strong { font-size: 1rem; }
.bll-mat__top em { font-style: normal; font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--plum); background: #fff; border: 1px solid var(--line); padding: 3px 8px; border-radius: 999px; white-space: nowrap; }
.bll-mat__desc { font-size: .84rem; line-height: 1.5; color: var(--muted); }
.bll-mat__from { font-size: .88rem; font-weight: 800; color: var(--ink); }
.bll-mat__from .amount { color: var(--ink); }
@media (max-width: 560px) { .bll-mats { grid-template-columns: 1fr; } }

/* Bulk / contact button under Add to cart */
.bll-bulk { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 10px 18px; border-radius: 999px;
	border: 2px solid var(--plum); color: var(--plum); background: #fff; text-decoration: none; font-size: .95rem; text-align: center; transition: background .15s, color .15s; }
.bll-bulk strong { font-weight: 800; }
.bll-bulk:hover, .bll-bulk:focus-visible { background: var(--plum); color: #fff; }
