/* Extend the existing IPIP777 product components; do not replace the site theme. */
.line-shop-page [hidden] { display: none !important; }
.line-shop-page #line-products { scroll-margin-top: 100px; margin-bottom: 18px; }
.line-shop-page #line-products .dm-static-step-grid { grid-template-columns: minmax(0, 1fr); }
.line-shop-page .national-note { margin: 0; color: rgba(219, 231, 249, .72); font-size: 13px; line-height: 1.7; }
.line-shop-page .national-preview-note { margin: 0 0 18px; padding: 12px 16px; border-left: 3px solid var(--dm-cyan); background: rgba(82, 223, 255, .06); color: #bcefff; font-size: 13px; line-height: 1.6; }
.line-shop-page #national-spec { margin-top: 12px; }
.line-shop-page #national-status:empty { display: none; }
.line-shop-page #national-status { padding: 0; border: 0; background: none; box-shadow: none; font-size: 13px; }
.line-shop-page .dm-static-country .dm-static-country-flag.is-text { font-family: inherit; font-size: 13px; font-weight: 700; line-height: 1; }
.line-shop-page #national-order-form select { min-height: 48px; }
.line-shop-page #line-product-options .dm-static-country strong { white-space: normal; }
.line-shop-page #line-product-options { grid-auto-rows: 1fr; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.line-shop-page #line-product-options .dm-static-country i { font-size: 15px; font-weight: 700; color: inherit; }
.line-shop-page .dm-static-country:focus-visible { outline: 2px solid var(--dm-cyan); outline-offset: 3px; }
:root[data-theme="light"] .line-shop-page :is(.national-note, .national-preview-note) { color: #40546b; }
@media (max-width: 1100px) {
  .line-shop-page #line-product-options { grid-auto-rows: 1fr; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .line-shop-page #line-product-options { grid-auto-rows: 1fr; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
}

/* Keep both product checkouts on the same four equal columns. */
.line-shop-page .line-order-checkout-panel .line-order-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.line-shop-page .line-order-checkout-panel .line-order-fields > label { min-width: 0; grid-column: auto; align-content: start; grid-template-rows: 20px 48px; }
.line-shop-page .line-order-checkout-panel .line-order-fields > label:has([name="note"]) { grid-column: 1 / -1; }
.line-shop-page .line-order-fields > label > span { line-height: 20px; }
.line-shop-page .line-order-fields > label > :is(input, select) { width: 100%; min-width: 0; height: 48px; min-height: 48px; box-sizing: border-box; }
@media (max-width: 860px) {
  .line-shop-page .line-order-checkout-panel .line-order-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
  .line-shop-page .line-order-checkout-panel .line-order-fields { grid-template-columns: minmax(0, 1fr); }
}

/* Keep transport and residential type as two distinct, readable labels. */
.line-shop-page #line-product-options .dm-static-country-head { min-height: 38px; }
.line-shop-page #line-product-options .dm-static-country-head small { font-size: 13px; line-height: 1.3; padding: 6px 9px; text-align: center; }
.line-shop-page #line-product-options .dm-static-country strong { display: flex; flex-wrap: wrap; align-items: baseline; align-content: start; gap: 4px 8px; overflow: visible; }
.line-shop-page #line-product-options .line-region-ip-type { color: rgba(219, 231, 249, .78); font-size: 12px; font-weight: 700; white-space: nowrap; }
:root[data-theme="light"] .line-shop-page #line-product-options .line-region-ip-type { color: #40546b; }
@media (max-width: 760px) {
  .line-shop-page #line-product-options .dm-static-country-head { grid-template-columns: 28px minmax(0, 1fr); gap: 6px; min-height: 44px; }
  .line-shop-page #line-product-options .dm-static-country-flag { width: 28px; height: 26px; font-size: 19px; }
  .line-shop-page #line-product-options .dm-static-country-head small { max-width: 100%; box-sizing: border-box; font-size: 12px; padding: 5px 6px; word-break: keep-all; }
  .line-shop-page #line-product-options .dm-static-country strong { min-height: 40px; }
}

/* Availability is conveyed by the card itself, without a separate status row. */
.line-shop-page #line-product-options .dm-static-country { min-height: 0; align-content: start; }
.line-shop-page #line-product-options .dm-static-country:disabled {
  cursor: not-allowed;
  filter: grayscale(1);
  opacity: .48;
  box-shadow: none;
}
