/* DIY Marquees – Product Page (0.5.0) */

/* ---------- Buy box ---------- */
.dmpp-bb { margin: 4px 0 16px; font-family: inherit; }
.dmpp-chips { list-style: none; margin: 0 0 12px !important; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.dmpp-chips li { margin: 0 !important; padding: 5px 10px; border-radius: 999px; background: #f1f3f7; color: #1a1d24; font-size: 13.5px; font-weight: 600; line-height: 1.3; }
.dmpp-stock { display: block; margin: 0 0 4px !important; font-size: 15px; line-height: 1.45; color: #1a1d24; }
.dmpp-stock strong { color: #1d6b34; }
.dmpp-stock.is-out strong { color: #9a4a00; }
.dmpp-stock__dot { display: inline-block; vertical-align: 1px; margin-right: 7px; width: 9px; height: 9px; border-radius: 50%; background: #2e9c4f; box-shadow: 0 0 0 3px rgba(46, 156, 79, .18); }
.dmpp-stock.is-out .dmpp-stock__dot { background: #d98200; box-shadow: 0 0 0 3px rgba(217, 130, 0, .18); }
.dmpp-free { display: flex; align-items: center; gap: 8px; margin: 0 !important; font-size: 14px; color: #3a404c; }
.dmpp-free svg { flex: none; color: #1d6b34; }
.dmpp-trust { list-style: none; margin: 14px 0 0 !important; padding: 12px 0 0; border-top: 1px solid #e6e9ef; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; }
.dmpp-trust li { margin: 0 !important; display: flex; align-items: flex-start; gap: 6px; font-size: 13.5px; color: #3a404c; line-height: 1.35; }
.dmpp-trust svg { flex: none; margin-top: 1px; color: #1d6b34; }
/* The old bullet list under the button now duplicates the chips. */
body.dmpp-on-buybox .elementor-widget-woocommerce-product-short-description { display: none !important; }

/* ---------- Extras ---------- */
.dmpp-hidden-field { display: none !important; }
.dmpp-x { margin: 0 0 16px; padding: 14px; border: 1px solid #dfe4ee; border-radius: 12px; background: #fafbfd; }
.dmpp-x__head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; font-size: 16px; color: #1a1d24; }
.dmpp-x__opt { color: #555c69; font-size: 14px; }
.dmpp-x__sum { margin-left: auto; font-size: 13.5px; font-weight: 600; color: #1d6b34; }
.dmpp-pk { display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 8px; }
.dmpp-pkb, .dmpp-xo {
	all: unset; box-sizing: border-box; cursor: pointer; display: flex; flex-direction: column; gap: 2px;
	padding: 10px; border: 1.5px solid #d3d9e6; border-radius: 10px; background: #fff; font-size: 13px; line-height: 1.3; color: #3a404c;
}
.dmpp-pkb strong { font-size: 14.5px; color: #1a1d24; }
.dmpp-pkb b { margin-top: auto; padding-top: 4px; font-size: 13.5px; color: #1a1d24; }
.dmpp-pkb:hover, .dmpp-xo:hover { border-color: #1a2a5e; }
.dmpp-pkb[aria-pressed="true"], .dmpp-xo[aria-pressed="true"] { border-color: #1a2a5e; background: #eef2fa; box-shadow: inset 0 0 0 1px #1a2a5e; }
.dmpp-pkb:focus-visible, .dmpp-xo:focus-visible { outline: 2px solid #0a0ac2; outline-offset: 2px; }
.dmpp-x__more { margin-top: 10px; }
.dmpp-x__more summary { cursor: pointer; font-size: 14px; font-weight: 600; color: #0a0ac2; }
.dmpp-x__groups { display: grid; gap: 12px; margin-top: 10px; }
.dmpp-xg { margin: 0; padding: 0; border: 0; min-width: 0; }
.dmpp-xg legend { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; padding: 0; font-size: 14.5px; font-weight: 700; color: #1a1d24; }
.dmpp-xg legend img { width: 40px; height: 40px; object-fit: cover; border-radius: 6px; }
.dmpp-rec { font-style: normal; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #fff; background: #1d6b34; padding: 2px 6px; border-radius: 4px; }
.dmpp-xg__opts { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; }
.dmpp-xo span { font-size: 13px; }
.dmpp-xo b { font-size: 13px; color: #1a1d24; }

/* ---------- Sticky bar ---------- */
.dmpp-sticky {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; display: flex; align-items: center; gap: 12px;
	padding: 10px max(16px, calc((100vw - 1200px) / 2)); background: #fff; border-top: 1px solid #dfe4ee; box-shadow: 0 -6px 20px rgba(16, 24, 40, .08);
	transform: translateY(110%); transition: transform .25s ease; font-family: inherit;
}
.dmpp-sticky.is-on { transform: none; }
.dmpp-sticky img { width: 44px; height: 44px; object-fit: cover; border-radius: 6px; flex: none; }
.dmpp-sticky__t { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.dmpp-sticky__t span { font-size: 14px; font-weight: 600; color: #1a1d24; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dmpp-sticky__p { font-size: 15px; color: #1a1d24; }
.dmpp-sticky__b { all: unset; box-sizing: border-box; cursor: pointer; flex: none; padding: 12px 22px; border-radius: 8px; background: #ffe300; color: #111; font-weight: 700; font-size: 15px; }
.dmpp-sticky__b:hover { background: #f2d600; }
.dmpp-sticky__b:focus-visible { outline: 2px solid #0a0ac2; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .dmpp-sticky { transition: none; } }

/* ---------- Sections + in-page menu ---------- */
body.dmpp-on-sections .woocommerce-tabs ul.tabs,
body.dmpp-on-sections .woocommerce-tabs ul.wc-tabs { display: none !important; }
body.dmpp-on-sections .woocommerce-tabs .woocommerce-Tabs-panel { display: block !important; opacity: 1 !important; height: auto !important; visibility: visible !important; padding: 28px 0 8px !important; margin: 0 !important; border: 0 !important; border-top: 1px solid #e3e7ef !important; scroll-margin-top: 140px; }
body.dmpp-on-sections .woocommerce-tabs .woocommerce-Tabs-panel:first-of-type { border-top: 0 !important; }
.dmpp-sec__h { margin: 0 0 14px !important; font-size: 24px !important; line-height: 1.25; color: #1a1d24; }

/* ---------- At a glance ---------- */
.dmpp-glance { width: 100%; max-width: 860px; border-collapse: collapse; margin: 0 !important; font-size: 15px; border: 1px solid #dfe4ee; border-radius: 12px; overflow: hidden; }
.dmpp-glance th, .dmpp-glance td { padding: 10px 14px !important; text-align: left; vertical-align: top; border: 0 !important; border-bottom: 1px solid #e9edf3 !important; background: #fff; }
.dmpp-glance tr:last-child th, .dmpp-glance tr:last-child td { border-bottom: 0 !important; }
.dmpp-glance th { width: 150px; font-weight: 700; color: #1a1d24; background: #f7f9fc; }
.dmpp-glance td { color: #3a404c; }

@media (max-width: 767px) {
	.dmpp-pk { grid-template-columns: 1fr 1fr; }
	.dmpp-trust { grid-template-columns: 1fr; }
	.dmpp-glance th { width: 96px; }
	.dmpp-sticky { padding: 8px 12px; gap: 8px; }
	.dmpp-sticky img { display: none; }
	.dmpp-sticky__b { padding: 12px 16px; }
	.dmpp-sec__h { font-size: 20px !important; }
}

/* Guard against theme/form button styles (fixed height, large type) */
.dmpp-x .dmpp-pkb, .dmpp-x .dmpp-xo { height: auto !important; min-height: 0 !important; width: auto !important; font-size: 13px !important; line-height: 1.3 !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important; white-space: normal !important; text-align: left !important; overflow: visible !important; }
.dmpp-x .dmpp-pkb > *, .dmpp-x .dmpp-xo > * { line-height: 1.3 !important; letter-spacing: 0 !important; text-transform: none !important; }
.dmpp-x .dmpp-pkb > strong { font-size: 14.5px !important; font-weight: 700 !important; }
.dmpp-x .dmpp-pkb > span, .dmpp-x .dmpp-xo > span { font-size: 13px !important; font-weight: 400 !important; }
.dmpp-x .dmpp-pkb > b, .dmpp-x .dmpp-xo > b { font-size: 13.5px !important; font-weight: 700 !important; }

/* In-page section menu: pins under the header once scrolled past, coloured bar marks the current section */
.dmpp-nav { position: relative; z-index: 40; margin: 0 0 4px; background: #fff; border-bottom: 1px solid #e3e7ef; }
.dmpp-nav.is-pinned { position: fixed; box-shadow: 0 6px 14px -8px rgba(20, 30, 60, .25); }
.dmpp-nav__row { position: relative; display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; }
.dmpp-nav__row::-webkit-scrollbar { display: none; }
.dmpp-nav a { flex: none; padding: 13px 14px 12px; font-size: 14.5px; line-height: 1.2; font-weight: 600; color: #555c69 !important; text-decoration: none !important; white-space: nowrap; transition: color .15s; }
.dmpp-nav a:hover { color: #1a1d24 !important; background: #f6f7fa; }
.dmpp-nav a.is-current { color: #0a0ac2 !important; }
.dmpp-nav__bar { position: absolute; left: 0; bottom: 0; height: 3px; width: 0; border-radius: 3px 3px 0 0; background: #0a0ac2; opacity: 0; pointer-events: none; transition: transform .25s ease, width .25s ease, opacity .2s; }
@media (max-width: 767px) { .dmpp-nav a { padding: 12px 11px 11px; font-size: 14px; } }

/* Specifications table (sidebar widget and section) – calmer text size */
.single-product table.woocommerce-product-attributes th,
.single-product table.woocommerce-product-attributes td,
.single-product table.shop_attributes th,
.single-product table.shop_attributes td { font-size: 14px !important; line-height: 1.4 !important; padding-top: 9px !important; padding-bottom: 9px !important; }
.single-product table.woocommerce-product-attributes td p,
.single-product table.shop_attributes td p { margin: 0 !important; font-size: inherit !important; }
.single-product table.woocommerce-product-attributes th,
.single-product table.shop_attributes th { font-weight: 600 !important; }

/* ---------- Buy panel (right-hand column) ---------- */
body.dmpp-panel-live form.cart .single_add_to_cart_button,
body.dmpp-panel-live form.cart .quantity,
body.dmpp-panel-live .dmpp-bb .dmpp-stock,
body.dmpp-panel-live .dmpp-bb .dmpp-free,
body.dmpp-panel-live .dmpp-trust,
body:has(.dmpp-panel:not(#dmpp-panel-src .dmpp-panel)) form.cart .single_add_to_cart_button,
body:has(.dmpp-panel:not(#dmpp-panel-src .dmpp-panel)) form.cart .quantity,
body:has(.dmpp-panel:not(#dmpp-panel-src .dmpp-panel)) .dmpp-bb .dmpp-stock,
body:has(.dmpp-panel:not(#dmpp-panel-src .dmpp-panel)) .dmpp-bb .dmpp-free,
body:has(.dmpp-panel:not(#dmpp-panel-src .dmpp-panel)) .dmpp-trust { display: none !important; }
.dmpp-panel a.dmpp-panel__express { display: block; margin: 0 0 10px; text-align: center; font-size: 13px; font-weight: 600; text-decoration: underline !important; }
.dmpp-panel a.dmpp-panel__express[hidden] { display: none; }
form.cart p.dmpp-express__h { width: 100%; margin: 14px 0 8px !important; font-size: 13.5px; font-weight: 600; color: #555c69; }
.dmpp-panel { position: sticky; top: 90px; z-index: 5; width: 100%; box-sizing: border-box; padding: 18px 18px 14px; border: 1px solid #d5dbe6; border-radius: 12px; background: #fff; box-shadow: 0 2px 10px -4px rgba(20, 30, 60, .12); font-size: 14px; line-height: 1.45; color: #1a1d24; }
.dmpp-panel p { margin: 0 0 8px !important; font-size: 14px !important; line-height: 1.45 !important; }
.dmpp-panel__price { margin: 0 0 2px; }
.dmpp-panel__amt { font-size: 28px; font-weight: 700; letter-spacing: -.01em; color: #1a2a5e; line-height: 1.15; }
.dmpp-panel p.dmpp-panel__split { font-size: 13px !important; color: #555c69; margin-bottom: 10px !important; }
.dmpp-panel__del strong { color: #1a1d24; }
.dmpp-panel__del b { font-weight: 700; }
.dmpp-panel__cd b { color: #1d6b34; font-weight: 600; }
.dmpp-panel p.dmpp-panel__where { color: #555c69; font-size: 13px !important; }
.dmpp-panel p.dmpp-panel__stock { font-size: 18px !important; font-weight: 600; color: #1d6b34; margin: 10px 0 10px !important; }
.dmpp-panel p.dmpp-panel__stock.is-out { color: #9a4a00; }
.dmpp-panel__qty { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 0 0 0 12px; border: 1px solid #c9d0dc; border-radius: 8px; background: #f6f7fa; font-size: 14px; font-weight: 400; cursor: pointer; }
.dmpp-panel__qty select { flex: 1; min-width: 0; height: 38px !important; margin: 0 !important; padding: 0 8px !important; border: 0 !important; background: transparent !important; font-size: 14px !important; box-shadow: none !important; cursor: pointer; }
.dmpp-panel__add, .dmpp-panel__buy { all: unset; box-sizing: border-box; display: block; width: 100%; margin: 0 0 8px; padding: 12px 16px; border-radius: 999px; text-align: center; font-size: 15px !important; font-weight: 700 !important; line-height: 1.2 !important; color: #1a1d24 !important; cursor: pointer; transition: filter .15s; }
.dmpp-panel__add { background: #ffe300; }
.dmpp-panel__buy { background: #ffb21a; }
.dmpp-panel__add:hover, .dmpp-panel__buy:hover { filter: brightness(.95); }
.dmpp-panel__add:focus-visible, .dmpp-panel__buy:focus-visible { outline: 2px solid #0a0ac2; outline-offset: 2px; }
.dmpp-panel p.dmpp-panel__secure { display: flex; align-items: center; justify-content: center; gap: 5px; margin: 2px 0 12px !important; font-size: 12.5px !important; color: #555c69; }
.dmpp-panel__meta { margin: 0 0 10px !important; padding: 10px 0 0; border-top: 1px solid #e6e9ef; display: grid; gap: 5px; }
.dmpp-panel__meta div { display: grid; grid-template-columns: 112px 1fr; gap: 8px; }
.dmpp-panel__meta dt, .dmpp-panel__meta dd { margin: 0 !important; padding: 0 !important; font-size: 13px !important; line-height: 1.35 !important; }
.dmpp-panel__meta dt { color: #6a7180; font-weight: 400 !important; }
.dmpp-panel__meta dd { color: #1a1d24; }
.dmpp-panel a { color: #0a0ac2 !important; }
.dmpp-panel p.dmpp-panel__help { margin: 0 !important; font-size: 13px !important; color: #555c69; }
@media (max-width: 1024px) { .dmpp-panel { position: static; } }

/* ---------- Specifications as grouped cards ---------- */
.dmpp-specs { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; margin: 6px 0 0; }
.dmpp-spec { padding: 14px 16px 8px; border: 1px solid #e3e7ef; border-radius: 12px; background: #fafbfd; }
.dmpp-spec h3 { margin: 0 0 8px !important; font-size: 15px !important; font-weight: 700 !important; color: #1a2a5e; letter-spacing: 0; text-transform: none; }
.dmpp-spec dl { margin: 0 !important; }
.dmpp-spec dl div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 7px 0; border-top: 1px solid #e9ecf2; }
.dmpp-spec dl div:first-child { border-top: 0; }
.dmpp-spec dt, .dmpp-spec dd { margin: 0 !important; padding: 0 !important; font-size: 14px !important; line-height: 1.4 !important; }
.dmpp-spec dt { color: #555c69; font-weight: 400 !important; }
.dmpp-spec dd { color: #1a1d24; font-weight: 600; text-align: right; }
.dmpp-spec dd.is-yes { color: #1d6b34; }
.dmpp-spec dd.is-yes::before { content: "✓ "; }
.dmpp-spec dd.is-no { color: #8a909c; font-weight: 400; }

/* Amazon-style price: small raised £ and pence */
.dmpp-cur { font-size: .55em; vertical-align: .6em; margin-right: 1px; font-weight: inherit; }
.dmpp-dot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
sup.dmpp-pence { font-size: .5em; top: 0; vertical-align: .75em; margin-left: 1px; line-height: 0; font-weight: inherit; }

/* ---------- Section layout (0.4.0) ---------- */
.dmpp-ov { max-width: 820px; font-size: 16px; line-height: 1.65; }
.dmpp-ov h3 { margin: 0 0 8px !important; font-size: 19px !important; }
.dmpp-ov__glance { margin-top: 22px; }
.dmpp-ov__glance h3 { margin: 0 0 10px !important; font-size: 17px !important; }

.dmpp-mores { display: grid; gap: 10px; margin-top: 16px; }
.dmpp-more { border: 1px solid #e3e7ef; border-radius: 12px; background: #fff; }
.dmpp-more > summary, .dmpp-faq__q > summary, .dmpp-faq__more > summary { position: relative; list-style: none; cursor: pointer; padding: 14px 44px 14px 16px; font-size: 15.5px; font-weight: 700; color: #1a1d24; }
.dmpp-more > summary::-webkit-details-marker, .dmpp-faq__q > summary::-webkit-details-marker, .dmpp-faq__more > summary::-webkit-details-marker { display: none; }
.dmpp-more > summary::after, .dmpp-faq__q > summary::after, .dmpp-faq__more > summary::after { content: ""; position: absolute; right: 18px; top: 50%; width: 9px; height: 9px; margin-top: -7px; border: solid #555c69; border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .2s; }
.dmpp-more[open] > summary::after, .dmpp-faq__q[open] > summary::after, .dmpp-faq__more[open] > summary::after { transform: rotate(-135deg); margin-top: -2px; }
.dmpp-more > summary:hover, .dmpp-faq__q > summary:hover { color: #0a0ac2; }
.dmpp-more__body { padding: 4px 16px 16px; border-top: 1px solid #eef0f4; font-size: 15px; line-height: 1.6; }
.dmpp-more__body img { max-width: 100%; height: auto; }
.dmpp-more__body table { width: 100%; }
.dmpp-more--atcfg { margin: 12px 0 4px; background: #fafbfd; }
.dmpp-more--atcfg > summary { font-size: 14px; padding: 11px 40px 11px 14px; color: #0a0ac2; }

.dmpp-inc { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.dmpp-inc__col { padding: 16px 18px; border: 1px solid #e3e7ef; border-radius: 12px; background: #fafbfd; font-size: 15px; line-height: 1.55; min-width: 0; }
.dmpp-inc__col h3 { margin: 0 0 10px !important; font-size: 16px !important; color: #1a2a5e; }
.dmpp-inc__col p { margin: 0 0 10px !important; }
.dmpp-inc__col ul { margin: 0 0 10px 1.1em !important; }
.dmpp-inc__del img { display: block; float: none !important; max-width: 220px !important; max-height: 150px; width: auto; height: auto; margin: 6px 0 10px !important; border-radius: 8px; object-fit: cover; }
.dmpp-boxes__sum { font-size: 14.5px !important; color: #3a404c; }
.dmpp-boxes { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.dmpp-boxes li { display: grid; grid-template-columns: 88px 1fr; gap: 0 10px; padding: 8px 0; border-top: 1px solid #e9ecf2; margin: 0 !important; font-size: 14px; }
.dmpp-boxes li:first-child { border-top: 0; }
.dmpp-boxes__n { grid-row: span 2; font-weight: 700; color: #1a1d24; }
.dmpp-boxes__c { color: #1a1d24; }
.dmpp-boxes__d { color: #6a7180; font-size: 13px; }

.dmpp-asm { display: grid; grid-template-columns: 2fr 1fr; gap: 18px; align-items: start; }
.dmpp-asm h3 { margin: 0 0 10px !important; font-size: 16px !important; color: #1a2a5e; }
.dmpp-asm__main iframe { width: 100%; max-width: 640px; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 10px; }
.dmpp-asm__spares { padding: 16px 18px; border: 1px solid #e3e7ef; border-radius: 12px; background: #fafbfd; font-size: 15px; }
.dmpp-asm__spares h3 span, .dmpp-asm__spares h3 { text-transform: none !important; }
.dmpp-asm__spares h3 + h3 { display: none; }

.dmpp-faq { display: grid; gap: 8px; max-width: 860px; }
.dmpp-faq__q { border: 1px solid #e3e7ef; border-radius: 10px; background: #fff; }
.dmpp-faq__q > summary { font-size: 15px; padding: 12px 42px 12px 14px; }
.dmpp-faq__a { padding: 0 14px 12px; font-size: 15px; line-height: 1.6; color: #3a404c; }
.dmpp-faq__a p { margin: 0 0 8px !important; }
.dmpp-faq__more { margin-top: 4px; }
.dmpp-faq__more > summary { display: inline-block; padding: 10px 40px 10px 0; font-size: 15px; color: #0a0ac2; }
.dmpp-faq__more > summary::after { right: 18px; border-color: #0a0ac2; }
.dmpp-faq__more[open] { display: grid; gap: 8px; }
p.dmpp-faq__ask { margin: 14px 0 0 !important; font-size: 14.5px; color: #555c69; }

@media (max-width: 900px) {
	.dmpp-inc, .dmpp-asm { grid-template-columns: 1fr; }
}

/* Folded content drafted from the old tabs: tidy their layouts */
.dmpp-more__body h3 { margin: 14px 0 6px !important; font-size: 15px !important; line-height: 1.35 !important; }
.dmpp-more__body > *:first-child, .dmpp-more__body > div > *:first-child { margin-top: 10px !important; }
.dmpp-more__body .features-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 8px; margin: 10px 0 0 !important; }
.dmpp-more__body .feature-item { display: flex !important; align-items: center; gap: 10px; margin: 0 !important; padding: 8px 10px; border: 1px solid #eef0f4; border-radius: 10px; background: #fafbfd; }
.dmpp-more__body .feature-item p:empty { display: none; }
.dmpp-more__body .icon-wrapper { flex: none; margin: 0 !important; }
.dmpp-more__body .icon-wrapper img { width: 38px !important; height: 38px !important; object-fit: contain; border-radius: 6px; }
.dmpp-more__body .feature-text h3 { margin: 0 !important; font-size: 14px !important; font-weight: 600 !important; }
.dmpp-more__body .content-column, .dmpp-more__body section { padding: 0 !important; margin: 0 !important; width: auto !important; max-width: none !important; }
.dmpp-more__body table { border-collapse: collapse; margin: 6px 0 0 !important; }
.dmpp-more__body table td { padding: 10px 8px !important; border: 0 !important; border-top: 1px solid #eef0f4 !important; vertical-align: top; font-size: 14.5px; line-height: 1.5; }
.dmpp-more__body table tr:first-child td { border-top: 0 !important; }
.dmpp-more__body table td img { width: 140px; max-width: 140px; height: auto; border-radius: 8px; }
.dmpp-more__body #gallery { margin: 0 !important; }

@media (max-width: 767px) {
	.dmpp-sec__h { font-size: 20px !important; line-height: 1.25 !important; }
	body.dmpp-on-sections .woocommerce-tabs .woocommerce-Tabs-panel { padding-top: 20px !important; }
	.dmpp-more > summary { padding: 13px 40px 13px 14px; font-size: 15px; }
	.dmpp-more__body { padding: 2px 12px 12px; font-size: 14.5px; }
	.dmpp-more__body .features-grid { grid-template-columns: 1fr 1fr; gap: 6px; }
	.dmpp-more__body .feature-item { flex-direction: column; align-items: flex-start; gap: 6px; padding: 8px; }
	.dmpp-more__body .feature-text h3 { font-size: 13px !important; }
	.dmpp-more__body table, .dmpp-more__body tbody, .dmpp-more__body tr, .dmpp-more__body td { display: block; width: 100% !important; }
	.dmpp-more__body table tr { padding: 10px 0; border-top: 1px solid #eef0f4; }
	.dmpp-more__body table tr:first-child { border-top: 0; }
	.dmpp-more__body table td { padding: 4px 0 !important; border: 0 !important; }
	.dmpp-more__body table td img { width: 100%; max-width: 220px; }
	.dmpp-more__body iframe { max-width: 100%; }
	.dmpp-specs { grid-template-columns: 1fr; gap: 10px; }
	.dmpp-spec { padding: 12px 14px 6px; }
	.dmpp-inc { gap: 12px; }
	.dmpp-inc__col, .dmpp-asm__spares { padding: 14px; }
	.dmpp-boxes li { grid-template-columns: 76px 1fr; }
	.dmpp-faq__q > summary { padding: 12px 38px 12px 12px; font-size: 14.5px; }
	.dmpp-glance th, .dmpp-glance td { font-size: 14px; }
}
.dmpp-more__body .bike-feature-section { display: grid !important; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.dmpp-more__body .image-column img { width: 100%; height: auto; border-radius: 10px; }
.dmpp-more__body .content-column ul { margin: 12px 0 0 1.1em !important; }
.dmpp-more__body figure.alignright { float: right; max-width: 240px; margin: 10px 0 10px 16px !important; }
.dmpp-more__body figure img { width: 100%; height: auto; border-radius: 8px; }
.dmpp-more__body figcaption { font-size: 12.5px; color: #6a7180; line-height: 1.4; margin-top: 4px; }
.dmpp-more__body > div > ul, .dmpp-more__body ul { padding-left: 0; }
.dmpp-more__body li { margin: 0 0 3px !important; }
.dmpp-more__body > div > ul > li { list-style: none; }
@media (max-width: 767px) {
	.dmpp-more__body .bike-feature-section { grid-template-columns: 1fr; }
	.dmpp-more__body figure.alignright { float: none; max-width: 100%; margin: 10px 0 !important; }
}
.dmpp-more__body li ul, .dmpp-more__body .content-column ul, .dmpp-more__body > div > p + ul { padding-left: 1.2em !important; margin-left: 0 !important; }
.dmpp-more__body li ul li, .dmpp-more__body .content-column ul li, .dmpp-more__body > div > p + ul li { list-style: disc; }
@media (max-width: 767px) {
	.dmpp-more__body .feature-item { flex-direction: row; align-items: center; }
	.dmpp-more__body .icon-wrapper img { width: 30px !important; height: 30px !important; }
	.dmpp-more__body figure.alignright, .dmpp-more__body .image-column { max-width: 260px; }
	.dmpp-ov h3 { font-size: 17px !important; }
}

/* "Choose extras one by one": the theme sizes <legend> wider than its box, which widened the page on phones */
.dmpp-x { min-width: 0; max-width: 100%; box-sizing: border-box; }
.dmpp-xg legend { width: 100% !important; max-width: 100% !important; min-width: 0 !important; flex-wrap: wrap; white-space: normal !important; float: none !important; }
.dmpp-xg legend > * { min-width: 0; }
@media (max-width: 767px) {
	.dmpp-x { padding: 12px; }
	.dmpp-xg__opts { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
}

/* Phones/tablets: the right-hand column has a fixed minimum height in Elementor, which left a big gap under the buy panel */
@media (max-width: 1024px) {
	.dmpp-panel-con, .e-con:has(> .elementor-element > .dmpp-panel), .e-con:has(> .elementor-element > .elementor-widget-container > .dmpp-panel) { min-height: 0 !important; --min-height: 0px !important; }
}
.dmpp-more__body .bike-feature-section > *, .dmpp-more__body .features-grid > * { min-width: 0; }
@media (max-width: 767px) { .dmpp-more__body .features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* Pinned section menu: full screen width */
.dmpp-nav.is-pinned { right: 0; box-sizing: border-box; border-bottom: 1px solid #e3e7ef; }
.dmpp-nav.is-pinned .dmpp-nav__row { box-sizing: border-box; }

/* Frame details icons: larger */
.dmpp-more__body .icon-wrapper img { width: 52px !important; height: 52px !important; }
.dmpp-more__body .feature-text h3 { font-size: 15px !important; }
@media (max-width: 767px) {
	.dmpp-more__body .features-grid { grid-template-columns: 1fr !important; gap: 8px; }
	.dmpp-more__body .feature-item { flex-direction: row !important; align-items: center; gap: 12px; padding: 10px 12px; }
	.dmpp-more__body .icon-wrapper img { width: 56px !important; height: 56px !important; }
	.dmpp-more__body .feature-text h3 { font-size: 15px !important; }
}

/* ---------- "Side panels, linings & extras" global tab content (.dmx-opts) ---------- */
.dmx-opts { display: grid; gap: 14px; margin: 10px 0 0; font-size: 14.5px; line-height: 1.5; color: #3a404c; }
.dmx-opts * { box-sizing: border-box; }
.dmx-opts p { margin: 0 !important; }
.dmx-opts__intro { color: #555c69; }
.dmx-opts__grp { display: grid; gap: 8px; }
.dmx-opts h3.dmx-opts__h { margin: 0 !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .06em; text-transform: uppercase; color: #6a7180 !important; }
.dmx-opts__cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px; }
.dmx-card { display: grid; grid-template-columns: 72px 1fr; gap: 12px; align-items: start; padding: 12px; border: 1px solid #e3e7ef; border-radius: 12px; background: #fff; }
.dmx-card--wide { grid-column: 1 / -1; }
.dmx-card img { width: 72px !important; height: 72px !important; max-width: none !important; object-fit: cover; border-radius: 8px; background: #f1f3f7; margin: 0 !important; }
.dmx-card__t { display: block; margin: 0 0 2px; font-size: 15px; font-weight: 700; color: #1a1d24; }
.dmx-card__tag { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: #e7f4ec; color: #1d6b34; font-size: 11.5px; font-weight: 700; vertical-align: 2px; }
.dmx-choices { display: grid; gap: 6px; margin-top: 6px !important; }
.dmx-choice { display: grid; grid-template-columns: 150px 1fr; gap: 10px; padding-top: 6px; border-top: 1px solid #eef0f4; }
.dmx-choice:first-child { border-top: 0; padding-top: 0; }
.dmx-choice b { color: #1a1d24; font-weight: 600; }
@media (max-width: 767px) {
	.dmx-opts__cards { grid-template-columns: 1fr; }
	.dmx-card { grid-template-columns: 60px 1fr; gap: 10px; padding: 10px; }
	.dmx-card img { width: 60px !important; height: 60px !important; }
	.dmx-choice { grid-template-columns: 1fr; gap: 0; }
}

/* WordPress adds empty <p> and <br> tags to pasted tab content, which pushed the card text into the photo's narrow column */
.dmx-opts p:empty, .dmx-opts br, .dmx-card > p:empty { display: none !important; }

/* Frame details: real photos of the parts, larger */
.dmpp-more__body .dmpp-fitem .icon-wrapper { width: 96px; height: 96px; overflow: hidden; border-radius: 10px; background: #f1f3f7; flex: none; }
.dmpp-more__body .dmpp-fitem .icon-wrapper img.dmpp-fphoto { width: 96px !important; height: 96px !important; object-fit: cover; border-radius: 10px; display: block; }
.dmpp-more__body .dmpp-fitem .icon-wrapper img.dmpp-fphoto.is-ends { transform: scale(1.9); object-position: 18% 62%; transform-origin: 22% 60%; }
.dmpp-more__body .features-grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.dmpp-more__body .dmpp-fitem { gap: 14px; }
.dmpp-more__body .dmpp-fitem .feature-text h3 { font-size: 15.5px !important; }
@media (max-width: 767px) {
	.dmpp-more__body .dmpp-fitem .icon-wrapper, .dmpp-more__body .dmpp-fitem .icon-wrapper img.dmpp-fphoto { width: 84px !important; height: 84px !important; }
}
