/* DCMG Piano Enquiry — matches the APW red buttons */
a.button.dcmg-enquire-btn { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; cursor: pointer; font-weight: 600 !important; text-transform: uppercase; letter-spacing: .4px; line-height: 1.2 !important; white-space: nowrap; border-radius: 0 !important; text-decoration: none !important; transition: background-color .2s, color .2s, border-color .2s; box-shadow: none !important; }
a.button.dcmg-enquire-btn .dcmg-enq-icon { flex: 0 0 auto; display: block; }
a.button.dcmg-enquire-btn span { display: inline !important; }

/* Product page: solid red, like Add to Cart */
.dcmg-enquire-single { margin: 14px 0 18px; }
.dcmg-enquire-single a.button.dcmg-enquire-btn { background: #dd3333 !important; color: #fff !important; border: 0 !important; padding: 14px 28px !important; font-size: 14px !important; min-height: 46px; }
.dcmg-enquire-single a.button.dcmg-enquire-btn:hover { background: #b92424 !important; }

/* Enquiry piano cards: full title, info lines, tidy bottom row */
.product-grid-item:has(.dcmg-enquire-loop) .wd-entities-title,
.product-grid-item:has(.dcmg-enquire-loop) .wd-entities-title a { display: block !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; height: auto !important; max-height: none !important; line-height: 1.4 !important; }
.product-grid-item:has(.dcmg-enquire-loop) .wd-entities-title { margin-bottom: 6px !important; position: static !important; }
.product-grid-item:has(.dcmg-enquire-loop) .product-rating-price { position: static !important; margin-top: 0 !important; }
.dcmg-card-info { display: flex; flex-direction: column; align-items: center; gap: 3px; margin: 6px 0 0; font-size: 12px; line-height: 1.35; text-align: center; }
.dcmg-avail { font-weight: 600; }
.dcmg-avail.is-in { color: #15803d; }
.dcmg-avail.is-order { color: #64748b; }
.dcmg-avail.is-in::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #16a34a; margin-right: 6px; vertical-align: 1px; }
.dcmg-specs { color: #475569; }
.product-grid-item:has(.dcmg-enquire-loop) .yith-wcbr-brands { display: none !important; }   /* logo already shows the brand */
.product-grid-item:has(.dcmg-enquire-loop) .wd-bottom-actions { align-items: center; gap: 6px; }

/* Line everything up across a row: title always takes 2 lines, specs 1 line, button pinned to the bottom */
.product-grid-item:has(.dcmg-enquire-loop) .wd-entities-title { min-height: 4.2em; display: flex !important; align-items: flex-start; justify-content: center; }
.product-grid-item:has(.dcmg-enquire-loop) .wd-entities-title a { display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden !important; }
/* Info block stays inside the card; specs wrap to max 2 lines (no spill into the next card) */
.dcmg-card-info { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; padding: 0 6px; overflow: hidden; }
.dcmg-specs { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; align-self: stretch; width: 100%; max-width: 100%; min-height: 2.7em; white-space: normal !important; overflow: hidden; overflow-wrap: anywhere; }
.product-grid-item:has(.dcmg-enquire-loop) .product-wrapper { height: 100%; display: flex; flex-direction: column; }
.product-grid-item:has(.dcmg-enquire-loop) .product-element-bottom { flex: 1 1 auto; display: flex; flex-direction: column; }
.product-grid-item:has(.dcmg-enquire-loop) .dcmg-enquire-loop-wrap { margin-top: auto; padding-top: 10px; }
.product-grid-item:has(.dcmg-enquire-loop) .product-element-top { flex: 0 0 auto; }

/* Category / shop lists: outline button under the price that fills red on hover */
.dcmg-enquire-loop-wrap { margin: 8px 0 4px; text-align: center; }
a.button.dcmg-enquire-btn.dcmg-enquire-loop { background: #fff !important; color: #dd3333 !important; border: 1px solid #dd3333 !important; padding: 9px 18px !important; font-size: 12px !important; min-height: 38px; width: auto; max-width: 100%; }
a.button.dcmg-enquire-btn.dcmg-enquire-loop:hover, a.button.dcmg-enquire-btn.dcmg-enquire-loop:focus-visible { background: #dd3333 !important; color: #fff !important; }

/* Theme icon bar (where Add to Cart normally sits): envelope icon only */
a.button.dcmg-enquire-btn.dcmg-enquire-icon { background: transparent !important; color: #dd3333 !important; border: 0 !important; padding: 0 !important; width: 40px; height: 40px; min-height: 0; min-width: 0; font-size: 0 !important; overflow: visible; border-radius: 50% !important; }
a.button.dcmg-enquire-btn.dcmg-enquire-icon .dcmg-enq-icon { width: 20px; height: 20px; }
a.button.dcmg-enquire-btn.dcmg-enquire-icon span { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
a.button.dcmg-enquire-btn.dcmg-enquire-icon:hover, a.button.dcmg-enquire-btn.dcmg-enquire-icon:focus-visible { background: #fdecec !important; color: #b92424 !important; }
.wd-add-btn:has(.dcmg-enquire-icon) { width: auto !important; flex: 0 0 auto !important; display: flex; align-items: center; justify-content: center; overflow: visible !important; }
.wd-add-btn:has(.dcmg-enquire-icon)::before, .wd-add-btn:has(.dcmg-enquire-icon)::after { display: none !important; }

html.dcmg-enq-open { overflow: hidden; }
.dcmg-enq[hidden] { display: none; }
.dcmg-enq { position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; padding: 16px; }
.dcmg-enq__backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .55); }
.dcmg-enq__panel { position: relative; background: #fff; width: 100%; max-width: 560px; max-height: calc(100vh - 32px); overflow-y: auto; padding: 26px 26px 22px; box-shadow: 0 20px 50px rgba(0, 0, 0, .3); font-size: 14px; }
.dcmg-enq__panel h2 { margin: 0 0 4px; font-size: 22px; color: #dd3333; text-transform: uppercase; }
.dcmg-enq__close { position: absolute; top: 8px; right: 12px; background: none; border: 0; font-size: 30px; line-height: 1; color: #64748b; cursor: pointer; padding: 4px; }
.dcmg-enq__product { margin: 0 0 6px; font-weight: 700; color: #1e293b; }
.dcmg-enq__intro { margin: 0 0 16px; color: #64748b; }
.dcmg-enq__form label { display: block; margin: 0 0 12px; font-weight: 600; color: #334155; font-size: 13px; }
.dcmg-enq__form input[type=text], .dcmg-enq__form input[type=email], .dcmg-enq__form input[type=tel], .dcmg-enq__form select, .dcmg-enq__form textarea { display: block; width: 100%; margin-top: 4px; padding: 9px 10px; border: 1px solid #d1d5db; border-radius: 0; font-size: 14px; font-weight: 400; font-family: inherit; background: #fff; box-sizing: border-box; }
.dcmg-enq__form input:focus, .dcmg-enq__form select:focus, .dcmg-enq__form textarea:focus { outline: 2px solid #dd3333; outline-offset: 0; border-color: #dd3333; }
.dcmg-enq__row { display: flex; gap: 12px; }
.dcmg-enq__row > label { flex: 1; min-width: 0; }
.dcmg-enq__check { display: flex !important; gap: 8px; align-items: flex-start; font-weight: 400 !important; }
.dcmg-enq__check input { margin-top: 3px; }
.dcmg-enq__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.dcmg-enq__error { background: #fee2e2; color: #991b1b; padding: 8px 12px; margin: 0 0 12px; }
.dcmg-enq__submit { width: 100%; font-family: inherit; background: #dd3333 !important; color: #fff !important; padding: 13px !important; font-weight: 700; text-transform: uppercase; border: 0 !important; border-radius: 0 !important; }
.dcmg-enq__submit:disabled { opacity: .6; }
.dcmg-enq__done { background: #dcfce7; color: #14532d; padding: 18px; font-size: 15px; }
@media (max-width: 520px) { .dcmg-enq__row { flex-direction: column; gap: 0; } .dcmg-enq__panel { padding: 22px 18px 18px; } }
