/* PATCH 041: 상품목록과 상품상세를 동일 화면에 동시에 표시하지 않음 */
.product-shop.is-detail>.product-shop__head,
.product-shop.is-detail>.product-shop__count,
.product-shop.is-detail>.product-shop__grid{display:none!important}
.product-shop.is-detail>.product-detail{display:block!important}
.product-shop:not(.is-detail)>.product-detail{display:none!important}
.portal-products-view{padding:0}.product-shop{max-width:1500px;margin:0 auto;padding:30px;background:#fff;border:1px solid #e2e6eb;border-radius:16px}.product-shop__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid #e5e7eb}.product-shop__head span{font-size:12px;letter-spacing:.16em;font-weight:800;color:#ef4444}.product-shop__head h1{margin:6px 0 4px;font-size:30px}.product-shop__head p{margin:0;color:#6b7280}.product-shop__tools{display:flex;gap:10px}.product-shop__tools input,.product-shop__tools select{height:44px;border:1px solid #d8dde4;border-radius:8px;background:#fff;padding:0 14px;font:inherit}.product-shop__tools input{width:230px}.product-shop__count{padding:18px 0;color:#5f6875;font-size:14px}.product-shop__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 20px}.product-card{cursor:pointer;min-width:0}.product-card__image{position:relative;aspect-ratio:1/1;background:#f3f4f6;overflow:hidden}.product-card__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.product-card:hover .product-card__image img{transform:scale(1.025)}.product-card__image span{height:100%;display:grid;place-items:center;color:#9ca3af}.product-card__image em{position:absolute;left:12px;top:12px;background:#111827;color:#fff;border-radius:4px;padding:5px 8px;font-size:11px;font-style:normal}.product-card__body{padding-top:14px}.product-card__body h2{margin:0 0 10px;font-size:16px;line-height:1.45}.product-card__price{margin:0;color:#2563eb;font-size:14px}.product-card__price strong{font-weight:600}.product-card__guide{margin:8px 0;color:#78a500;font-size:13px}.product-card__option{display:inline-block;margin-top:2px;background:#303030;color:#fff;padding:3px 6px;font-size:11px}.product-shop__empty{grid-column:1/-1;padding:80px 20px;text-align:center;color:#6b7280}.product-detail__back{border:0;background:none;padding:0 0 22px;font-weight:700;cursor:pointer}.product-detail__top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:60px}.product-detail__gallery{background:#f4f5f6;aspect-ratio:1/1;overflow:hidden}.product-detail__gallery img{width:100%;height:100%;object-fit:contain}.product-detail__noimage{height:100%;display:grid;place-items:center;color:#9ca3af}.product-detail__info{padding:18px 0}.product-detail__info>small{color:#8a93a0}.product-detail__info h1{font-size:32px;margin:10px 0 16px}.product-detail__summary{color:#626b77;line-height:1.7;padding-bottom:20px;border-bottom:1px solid #e5e7eb}.product-detail__info dl{margin:0 0 22px}.product-detail__info dl div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #edf0f3}.product-detail__info dt{color:#6b7280}.product-detail__info dd{margin:0;font-weight:700}.product-detail__info label{display:block;margin-top:16px;font-weight:700}.product-detail__info select{width:100%;height:48px;margin-top:8px;border:1px solid #d8dde4;border-radius:8px;padding:0 12px;background:#fff}.product-detail__quantity{display:grid;grid-template-columns:46px 1fr 46px;margin-top:8px}.product-detail__quantity button,.product-detail__quantity input{height:46px;border:1px solid #d8dde4;background:#fff;text-align:center;font:inherit}.product-detail__quantity button{cursor:pointer}.product-detail__quantity input{border-left:0;border-right:0}.product-detail__total{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding:20px;background:#f5f5f5}.product-detail__total strong{font-size:24px}.product-detail__editor{width:100%;height:54px;margin-top:14px;border:0;border-radius:8px;background:#374151;color:#fff;font-size:17px;font-weight:800;cursor:pointer}.product-detail__description{margin-top:56px;padding-top:30px;border-top:1px solid #e5e7eb}.product-detail__description h2{font-size:22px}.product-detail__description div{line-height:1.9;color:#4b5563;min-height:120px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1100px){.product-shop__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-detail__top{gap:32px}}@media(max-width:760px){.product-shop{padding:20px;border-radius:12px}.product-shop__head{align-items:stretch;flex-direction:column}.product-shop__tools{display:grid;grid-template-columns:1fr}.product-shop__tools input{width:100%}.product-shop__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}.product-detail__top{grid-template-columns:1fr}.product-detail__info h1{font-size:26px}}@media(max-width:430px){.product-shop__grid{grid-template-columns:1fr 1fr}.product-card__body h2{font-size:14px}.product-card__guide{font-size:11px}}

/* PATCH 037 quote detail */
.quantity-unit-table-wrap{margin:20px 0 22px}.quantity-unit-table-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.quantity-unit-table-title strong{font-size:15px}.quantity-unit-table-title span{font-size:12px;color:#6b7280}.quantity-unit-table-scroll{overflow-x:auto}.quantity-unit-table{width:100%;border-collapse:collapse;min-width:520px;text-align:center;font-size:13px}.quantity-unit-table th,.quantity-unit-table td{border:1px solid #d9dde3;padding:10px 8px}.quantity-unit-table thead th,.quantity-unit-table tbody th{background:#8f949b;color:#fff;font-weight:700}.quantity-unit-table td{background:#fff;font-weight:700}.product-quote-box{margin-top:22px;border:1px solid #e1e5ea;border-radius:12px;overflow:hidden}.product-quote-box>dl{margin:0;padding:10px 18px}.product-quote-box>dl div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #edf0f3}.product-quote-box>dl div:last-child{border-bottom:0}.product-quote-box dt{color:#667085}.product-quote-box dd{margin:0;font-weight:700}.product-quote-box .product-detail__total{margin:0;border-top:1px solid #e1e5ea}.product-detail__total small{display:block;color:#ef4444;font-size:11px;font-weight:600;margin-top:3px}.product-quote-box>p{margin:0;padding:10px 18px;color:#7b8493;font-size:12px;background:#fafbfc}

/* PATCH 038 product detail page */
.product-detail__top{align-items:start}.product-detail__gallery{background:#fff;aspect-ratio:auto;overflow:visible}.product-detail__mainimage{aspect-ratio:1/1;background:#f5f5f5;overflow:hidden;border:1px solid #e5e7eb}.product-detail__mainimage img{width:100%;height:100%;object-fit:contain;display:block}.product-detail__thumbs{display:flex;gap:10px;margin-top:14px;overflow-x:auto;padding-bottom:4px}.product-detail__thumbs button{flex:0 0 78px;width:78px;height:78px;padding:0;border:1px solid #dde2e8;background:#fff;cursor:pointer;overflow:hidden}.product-detail__thumbs button.is-active{border:2px solid #374151}.product-detail__thumbs img{width:100%;height:100%;object-fit:cover;display:block}.product-detail__code{font-size:13px;color:#8a93a0}.product-basic-policy{margin:20px 0!important;border-top:2px solid #1f2937}.product-basic-policy>div{display:grid!important;grid-template-columns:130px 1fr;gap:16px;justify-content:initial!important}.product-basic-policy dt{font-size:13px}.product-basic-policy dd{font-size:13px;line-height:1.65}.product-basic-policy dd strong{font-size:20px;color:#2563eb}.product-basic-policy dd small{color:#6b7280;font-weight:500}.product-buy-panel{margin-top:24px;padding-top:22px;border-top:1px solid #e5e7eb}.product-buy-panel>h2{font-size:15px;margin:0 0 12px}.product-option-list{display:grid;gap:9px}.product-option-card{margin:0!important;display:flex!important;align-items:center;gap:10px;padding:13px 14px;border:1px solid #d9dee5;border-radius:8px;cursor:pointer;font-weight:500!important}.product-option-card:has(input:checked){border-color:#374151;background:#f8fafc}.product-option-card input{margin:0}.product-option-card span{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%}.product-option-card small{font-size:12px;color:#6b7280}.product-option-empty{padding:14px;border:1px solid #d9dee5;border-radius:8px}.product-qty-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.product-qty-row>label{margin:0!important}.product-qty-row .product-detail__quantity{width:190px;margin:0}.product-detail__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.product-detail__editor,.product-detail__quote{height:54px;margin:0;border-radius:8px;font-size:16px;font-weight:800;cursor:pointer}.product-detail__quote{border:1px solid #374151;background:#fff;color:#374151}.product-detail__description{margin-top:70px;padding-top:0;border-top:0}.product-detail__description nav{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #dfe3e8}.product-detail__description nav button{height:56px;border:0;border-right:1px solid #dfe3e8;background:#f8f9fa;font:inherit;font-weight:700}.product-detail__description nav button:last-child{border-right:0}.product-detail__description nav button.is-active{background:#fff;color:#111827}.product-detail__description article{padding:46px 20px 20px;text-align:left}.product-detail__description article h2{text-align:center;margin:0 0 34px}.product-detail__description article>div{max-width:1100px;margin:0 auto;min-height:180px}.quantity-unit-table thead th:first-child,.quantity-unit-table tbody th{min-width:105px}.quantity-unit-table td{color:#111827}.quantity-unit-table-title{border-top:1px solid #d9dde3;padding-top:18px}
@media(max-width:760px){.product-detail__thumbs button{flex-basis:64px;width:64px;height:64px}.product-basic-policy>div{grid-template-columns:105px 1fr}.product-option-card span{align-items:flex-start;flex-direction:column;gap:3px}.product-qty-row{align-items:stretch;flex-direction:column}.product-qty-row .product-detail__quantity{width:100%}.product-detail__actions{grid-template-columns:1fr}.product-detail__description nav{grid-template-columns:1fr 1fr}.product-detail__description nav button{border-bottom:1px solid #dfe3e8}.product-detail__description article{padding:34px 0 0}}
@media print{body *{visibility:hidden!important}.product-detail,.product-detail *{visibility:visible!important}.product-detail{position:absolute;left:0;top:0;width:100%}.product-detail__back,.product-detail__gallery,.product-detail__description,.product-detail__actions,.product-option-list,.product-qty-row,.quantity-unit-table-wrap{display:none!important}.product-detail__top{display:block}.product-detail__info{padding:0}.product-shop{border:0;padding:0}.product-quote-box{break-inside:avoid}}

/* PATCH 044: keep PATCH 043 price labels while restoring separate detail view */
.quantity-unit-table-note{margin:10px 0 0;color:#737b87;font-size:12px;line-height:1.5}
.product-card__price strong{font-weight:700}

/* PATCH 045: quantity control fit + final price table typography */
.product-qty-row{width:100%;min-width:0}
.product-qty-row .product-detail__quantity{width:190px;max-width:100%;min-width:0;grid-template-columns:46px minmax(0,1fr) 46px;box-sizing:border-box;overflow:hidden}
.product-detail__quantity button,.product-detail__quantity input{min-width:0;width:100%;box-sizing:border-box}
.product-detail__quantity input{-moz-appearance:textfield}
.product-detail__quantity input::-webkit-outer-spin-button,.product-detail__quantity input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.quantity-unit-table tbody td{font-weight:400}
.quantity-unit-table tbody tr.is-base-price td{font-weight:700}
.quantity-unit-table tbody tr:not(.is-base-price) th{font-weight:500}
.quantity-unit-table-note{margin-top:10px}
.quantity-unit-table-note p{margin:3px 0;color:#737b87;font-size:12px;line-height:1.55}
.product-basic-policy dd small{display:inline-block;margin-top:2px}
@media(max-width:760px){.product-qty-row .product-detail__quantity{width:100%}}

/* PATCH 046: safe HTML product description */
.product-detail-html{font-size:15px;line-height:1.75;color:#252b35;overflow-wrap:anywhere}
.product-detail-html img{display:block;max-width:100%;height:auto;margin:18px auto}
.product-detail-html table{width:100%;border-collapse:collapse;margin:18px 0}
.product-detail-html th,.product-detail-html td{border:1px solid #dfe3e8;padding:10px 12px;text-align:left}
.product-detail-html h1,.product-detail-html h2,.product-detail-html h3{margin:24px 0 12px;line-height:1.35}
.product-basic-policy small{display:block;margin-top:4px;color:#7a8493;font-size:12px;font-weight:400;line-height:1.45}

/* PATCH 016: 상품목록 레이아웃 유지 + 글자색상만 중립 회색톤으로 정리 */
.product-card,
.product-card:link,
.product-card:visited{
  color:inherit;
  text-decoration:none;
}
.product-card__body h2,
.product-card:visited .product-card__body h2{
  color:#1f2937;
  text-decoration:none;
  font-weight:700;
  transition:color .18s ease;
}
.product-card:hover .product-card__body h2,
.product-card:focus-visible .product-card__body h2{
  color:#374151;
}
.product-card__price,
.product-card__price strong,
.product-card:visited .product-card__price,
.product-card:visited .product-card__price strong{
  color:#334155;
}
.product-card__guide,
.product-card:visited .product-card__guide{
  color:#6b7280;
  text-decoration:none;
}


/* CanvasD restore: homepage product exposure */
.home-products{margin-top:34px;padding:30px;background:#fff;border:1px solid #e2e6eb;border-radius:16px}
.home-products .section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}
.home-products .section-title button{border:1px solid #d8dde4;border-radius:8px;background:#fff;padding:10px 15px;font-weight:700;cursor:pointer}
.home-products__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media(max-width:1100px){.home-products__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.home-products{padding:20px}.home-products .section-title{align-items:flex-start;flex-direction:column}.home-products__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}}


/* CanvasD PRODUCT SEO PHASE 4: content + FAQ */
.product-detail__description nav{position:sticky;top:0;z-index:3;display:flex;gap:6px;overflow-x:auto;background:#fff;border-bottom:1px solid #e3e7ec;padding:12px 0;margin-bottom:28px}
.product-detail__description nav button{white-space:nowrap;border:0;background:transparent;padding:10px 14px;border-radius:8px;color:#586273;font-weight:700;cursor:pointer}
.product-detail__description nav button.is-active,.product-detail__description nav button:hover{background:#f0f3f7;color:#101827}
.product-seo-content{display:grid;gap:24px}
.product-content-block,.product-content-card,.product-faq-section{scroll-margin-top:86px;border:1px solid #e3e7ec;border-radius:14px;background:#fff;padding:26px}
.product-content-block h2,.product-content-card h2,.product-faq-section h2{margin:0 0 16px;font-size:21px;color:#111827}
.product-feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 0;padding:0;list-style:none}
.product-feature-list li{position:relative;padding:16px 16px 16px 39px;border-radius:10px;background:#f6f8fa;line-height:1.55}
.product-feature-list li:before{content:'✓';position:absolute;left:16px;top:16px;font-weight:800}
.product-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.product-content-card dl{margin:0}.product-content-card dl div{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid #edf0f3}.product-content-card dl div:last-child{border-bottom:0}.product-content-card dt{font-weight:700;color:#4b5563}.product-content-card dd{margin:0;line-height:1.6}.product-content-card p,.product-content-card li{line-height:1.7}.product-content-card ul{margin:14px 0 0;padding-left:19px}
.product-faq{border-top:1px solid #e7eaee}.product-faq:last-child{border-bottom:1px solid #e7eaee}.product-faq summary{cursor:pointer;padding:17px 34px 17px 4px;font-weight:700;list-style:none;position:relative}.product-faq summary::-webkit-details-marker{display:none}.product-faq summary:after{content:'+';position:absolute;right:8px;font-size:20px}.product-faq[open] summary:after{content:'−'}.product-faq p{margin:0;padding:0 34px 18px 4px;color:#586273;line-height:1.7}
@media(max-width:760px){.product-feature-list,.product-content-grid{grid-template-columns:1fr}.product-content-block,.product-content-card,.product-faq-section{padding:20px}.product-content-card dl div{grid-template-columns:1fr;gap:5px}.product-detail__description nav{top:0}}


/* CanvasD PRODUCT SEO PHASE 5: related products + internal links */
.product-related{margin-top:28px;border:1px solid #e3e7ec;border-radius:14px;background:#fff;padding:26px}
.product-related__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}
.product-related__head span{display:block;margin-bottom:6px;color:#e11d2e;font-size:11px;font-weight:800;letter-spacing:.12em}
.product-related__head h2{margin:0;font-size:22px;color:#111827}
.product-related__head p{margin:7px 0 0;color:#6b7280}
.product-related__head button{border:1px solid #d8dde4;border-radius:8px;background:#fff;padding:10px 15px;font-weight:700;cursor:pointer}
.product-related__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.product-related .product-card__image{aspect-ratio:1/1}
.product-related .product-card__body h2{font-size:16px}
@media(max-width:1100px){.product-related__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.product-related{padding:20px}.product-related__head{align-items:flex-start;flex-direction:column}.product-related__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}}

/* CanvasD MOBILE UX PATCH 1
   Mobile-only refinements. Desktop/tablet rules above remain unchanged. */
@media (max-width: 760px) {
  .portal-products-view {
    overflow-x: hidden;
  }

  .product-shop {
    width: 100%;
    max-width: 100%;
    padding: 16px;
    border-radius: 12px;
    overflow: hidden;
  }

  .product-detail__back {
    padding-bottom: 16px;
    font-size: 14px;
  }

  .product-detail__top {
    gap: 20px;
  }

  /* Prevent the hero image from occupying nearly the whole first screen. */
  .product-detail__mainimage {
    width: 100%;
    height: min(66vh, 520px);
    min-height: 300px;
    aspect-ratio: auto;
    border-radius: 8px;
  }

  .product-detail__mainimage img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .product-detail__info {
    padding: 0;
  }

  .product-detail__info h1 {
    margin: 7px 0 10px;
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: -0.035em;
  }

  .product-detail__summary {
    padding-bottom: 14px;
    font-size: 14px;
    line-height: 1.65;
  }

  .product-basic-policy {
    margin: 14px 0 !important;
  }

  .product-basic-policy > div {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 10px;
    padding: 11px 0 !important;
  }

  .product-basic-policy dd strong {
    font-size: 18px;
  }

  .quantity-unit-table-wrap {
    margin: 14px 0 18px;
  }

  .quantity-unit-table-title {
    align-items: flex-start;
    gap: 8px;
  }

  .quantity-unit-table-scroll {
    margin-right: -16px;
    padding-right: 16px;
    overscroll-behavior-x: contain;
  }

  .quantity-unit-table {
    min-width: 500px;
    font-size: 12px;
  }

  .quantity-unit-table th,
  .quantity-unit-table td {
    padding: 8px 6px;
  }

  .product-buy-panel {
    margin-top: 18px;
    padding-top: 18px;
  }

  .product-option-card {
    padding: 12px;
  }

  .product-detail__editor,
  .product-detail__quote {
    height: 50px;
    font-size: 15px;
  }

  .product-detail__description {
    margin-top: 42px;
  }

  .product-detail__description nav {
    margin: 0 -16px 22px;
    padding: 10px 16px;
    scrollbar-width: none;
  }

  .product-detail__description nav::-webkit-scrollbar {
    display: none;
  }

  .product-detail__description nav button {
    flex: 0 0 auto;
    height: 42px;
    padding: 0 13px;
    border: 1px solid #e1e5ea;
    border-radius: 8px;
    font-size: 13px;
  }

  .product-detail__description article {
    padding-top: 22px;
  }

  .product-content-block,
  .product-content-card,
  .product-faq-section,
  .product-related {
    padding: 18px;
    border-radius: 12px;
  }

  .product-content-block h2,
  .product-content-card h2,
  .product-faq-section h2,
  .product-related__head h2 {
    font-size: 19px;
  }

  .product-feature-list li {
    padding: 14px 14px 14px 36px;
    font-size: 14px;
  }

  .product-feature-list li::before {
    left: 14px;
    top: 14px;
  }

  .product-related__head {
    gap: 12px;
    margin-bottom: 16px;
  }

  .product-related__head button {
    padding: 8px 12px;
    font-size: 13px;
  }

  .product-related__grid {
    gap: 18px 10px;
  }

  .product-related .product-card__body {
    padding-top: 10px;
  }

  .product-related .product-card__body h2 {
    display: -webkit-box;
    overflow: hidden;
    margin-bottom: 6px;
    font-size: 13px;
    line-height: 1.4;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .product-related .product-card__price,
  .product-related .product-card__guide {
    font-size: 12px;
  }
}

@media (max-width: 430px) {
  .product-shop {
    padding: 14px;
  }

  .product-detail__mainimage {
    height: min(58vh, 430px);
    min-height: 270px;
  }

  .product-detail__info h1 {
    font-size: 22px;
  }

  .product-detail__description nav {
    margin-left: -14px;
    margin-right: -14px;
    padding-left: 14px;
    padding-right: 14px;
  }

  .product-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Tenant site content pages */
.customer-site-page{padding:28px 0}.customer-site-page__card{max-width:1080px;margin:0 auto;padding:48px 56px;background:#fff;border:1px solid #e1e6ec;border-radius:18px}.customer-site-page__back{display:inline-flex;margin-bottom:28px;color:#111827;font-weight:800;text-decoration:none}.customer-site-page__card header{padding-bottom:28px;border-bottom:1px solid #e5e7eb}.customer-site-page__card header span{font-size:12px;font-weight:900;letter-spacing:.14em;color:#e11d48}.customer-site-page__card h1{margin:8px 0 10px;font-size:34px}.customer-site-page__card header p{margin:0;color:#64748b}.customer-site-page__content{padding-top:28px;font-size:16px;line-height:1.85;color:#283548}.customer-site-page__content h2{margin:34px 0 10px;font-size:21px;color:#0f172a}.customer-site-page__content p{margin:0 0 20px}@media(max-width:760px){.customer-site-page{padding:12px}.customer-site-page__card{padding:26px 20px;border-radius:14px}.customer-site-page__card h1{font-size:27px}.customer-site-page__content{font-size:15px;line-height:1.8}.customer-site-page__content h2{font-size:19px}}

/* CMS 2.0 customer pages */
.customer-site-page__hero{position:relative;overflow:hidden;padding:42px 0 34px;border-bottom:1px solid #e5e7eb}.customer-site-page__hero.has-image{min-height:280px;padding:52px;border:0;border-radius:16px;background:linear-gradient(90deg,rgba(15,23,42,.92),rgba(15,23,42,.45)),var(--site-hero-image) center/cover no-repeat;color:#fff}.customer-site-page__hero.has-image p{color:rgba(255,255,255,.82)}.customer-site-page__content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:30px}.customer-site-page__section{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;margin:0;padding:24px;border:1px solid #e5e9ef;border-radius:15px;background:#fff}.customer-site-page__section-no{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:#f1f5f9;color:#e11d48;font-size:12px;font-weight:900}.customer-site-page__section h2{margin:2px 0 10px}.customer-site-page__section p{margin:0;color:#475569}.customer-site-page--terms .customer-site-page__content,.customer-site-page--privacy .customer-site-page__content{grid-template-columns:1fr}.customer-site-page--terms .customer-site-page__section,.customer-site-page--privacy .customer-site-page__section{grid-template-columns:52px minmax(0,1fr);padding:26px 28px}.customer-site-faq{grid-column:1/-1;border:1px solid #e5e9ef;border-radius:13px;background:#fff}.customer-site-faq summary{position:relative;padding:20px 52px 20px 22px;font-weight:850;cursor:pointer;list-style:none}.customer-site-faq summary::-webkit-details-marker{display:none}.customer-site-faq summary:after{content:'+';position:absolute;right:22px;top:16px;font-size:24px;color:#64748b}.customer-site-faq[open] summary:after{content:'−'}.customer-site-faq div{padding:0 22px 20px;color:#475569;line-height:1.8}.customer-site-faq p{margin:0}.customer-site-page__cta{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:34px;padding:28px 30px;border-radius:16px;background:#111827;color:#fff}.customer-site-page__cta span{font-size:11px;font-weight:900;letter-spacing:.14em;color:#fb7185}.customer-site-page__cta h2{margin:7px 0 5px;font-size:22px}.customer-site-page__cta p{margin:0;color:#cbd5e1}.customer-site-page__cta a{flex:0 0 auto;padding:14px 20px;border-radius:10px;background:#fff;color:#111827;font-weight:850;text-decoration:none}@media(max-width:760px){.customer-site-page__hero{padding:24px 0}.customer-site-page__hero.has-image{min-height:220px;padding:28px 22px}.customer-site-page__content{grid-template-columns:1fr;gap:11px;padding-top:20px}.customer-site-page__section,.customer-site-page--terms .customer-site-page__section,.customer-site-page--privacy .customer-site-page__section{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:18px 15px}.customer-site-page__section-no{width:30px;height:30px;border-radius:8px}.customer-site-page__section h2{margin-top:0;font-size:18px}.customer-site-page__cta{align-items:stretch;flex-direction:column;margin-top:20px;padding:22px}.customer-site-page__cta h2{font-size:20px}.customer-site-page__cta a{text-align:center}.customer-site-faq summary{padding:17px 46px 17px 17px}.customer-site-faq summary:after{right:17px;top:13px}.customer-site-faq div{padding:0 17px 17px}}

/* CanvasD MOBILE PRODUCT DETAIL SAFE FIX 3
   Scope: mobile product detail only. Desktop rules remain unchanged. */
@media (max-width: 760px) {
  .product-shop.is-detail {
    overflow: visible;
  }

  .product-shop.is-detail .product-detail__top {
    gap: 18px;
  }

  /* Keep the image visible without letting it dominate the first screen. */
  .product-shop.is-detail .product-detail__mainimage {
    height: auto;
    min-height: 0;
    max-height: 360px;
    aspect-ratio: 4 / 3;
    background: #f5f5f5;
  }

  .product-shop.is-detail .product-detail__mainimage img {
    width: 100%;
    height: 100%;
    max-height: 360px;
    object-fit: contain;
  }

  .product-shop.is-detail .product-detail__info,
  .product-shop.is-detail .product-buy-panel,
  .product-shop.is-detail .product-quote-box,
  .product-shop.is-detail .product-detail__description {
    min-width: 0;
    max-width: 100%;
  }

  /* Prevent long price/shipping text from escaping to the right. */
  .product-shop.is-detail .product-basic-policy > div,
  .product-shop.is-detail .product-quote-box > dl div,
  .product-shop.is-detail .product-detail__total {
    min-width: 0;
  }

  .product-shop.is-detail .product-basic-policy dd,
  .product-shop.is-detail .product-quote-box dd,
  .product-shop.is-detail .product-detail__total strong {
    min-width: 0;
    max-width: 62%;
    overflow-wrap: anywhere;
    word-break: keep-all;
    text-align: right;
  }

  .product-shop.is-detail .product-detail__total {
    gap: 12px;
  }

  .product-shop.is-detail .product-detail__total strong {
    font-size: 20px;
    line-height: 1.25;
  }

  /* Preserve the PC table while making only the mobile viewport scrollable. */
  .product-shop.is-detail .quantity-unit-table-scroll {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    padding-right: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .product-shop.is-detail .quantity-unit-table {
    min-width: 560px;
  }

  .product-shop.is-detail .product-detail__description article,
  .product-shop.is-detail .product-detail-html {
    max-width: 100%;
    overflow-x: hidden;
  }

  .product-shop.is-detail .product-detail-html img,
  .product-shop.is-detail .product-detail-html video,
  .product-shop.is-detail .product-detail-html iframe {
    max-width: 100% !important;
    height: auto !important;
  }
}

@media (max-width: 430px) {
  .product-shop.is-detail .product-detail__mainimage,
  .product-shop.is-detail .product-detail__mainimage img {
    max-height: 320px;
  }

  .product-shop.is-detail .product-basic-policy dd,
  .product-shop.is-detail .product-quote-box dd,
  .product-shop.is-detail .product-detail__total strong {
    max-width: 58%;
  }
}

/* 2026-08-06 product primary/secondary action layout */
.product-detail__actions{display:block;margin-top:14px}
.product-detail__editor{display:block;width:100%;height:58px;margin:0;border:0;border-radius:8px;background:#ef4444;color:#fff;font-size:18px;font-weight:800;cursor:pointer;transition:transform .12s ease,filter .12s ease}
.product-detail__editor:hover{filter:brightness(.96)}
.product-detail__editor:active{transform:translateY(1px) scale(.995)}
.product-detail__subactions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.product-detail__quick,.product-detail__quote{height:48px;margin:0;border-radius:8px;font-size:15px;font-weight:800;cursor:pointer}
.product-detail__quick{border:1px solid #374151;background:#374151;color:#fff}
.product-detail__quote{border:1px solid #cbd1d9;background:#fff;color:#374151}
.product-detail__quick:hover,.product-detail__quote:hover{filter:brightness(.97)}
.product-detail__quick:active,.product-detail__quote:active{transform:translateY(1px)}
@media(max-width:760px){.product-detail__editor{height:56px}.product-detail__subactions{grid-template-columns:1fr 1fr;gap:8px}.product-detail__quick,.product-detail__quote{height:46px;font-size:14px}}

/* SEO category + server-rendered product shell */
.product-category-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 24px;padding:16px 0 2px;border:0}.product-category-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid #d9dee5;border-radius:999px;color:#39424e;background:#fff;text-decoration:none;font-size:13px;line-height:1;white-space:nowrap}.product-category-nav a small{margin-left:3px;font-size:12px;font-weight:400;color:inherit}.product-category-nav a:hover,.product-category-nav a.is-active{border-color:#222;background:#222;color:#fff}.product-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0 0 14px;color:#7a828c;font-size:12px}.product-breadcrumb a{color:inherit;text-decoration:none}.product-breadcrumb a:hover{text-decoration:underline}.product-breadcrumb strong{color:#343b44;font-weight:600}.product-static-seo{padding:0}.product-static-seo__grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:46px;align-items:start}.product-static-seo__grid figure{margin:0;background:#f5f5f5;min-height:420px;display:flex;align-items:center;justify-content:center}.product-static-seo__grid img{max-width:100%;max-height:520px;object-fit:contain}.product-static-seo__grid h1{margin:8px 0 14px;font-size:34px;line-height:1.25}.product-static-seo__grid p{line-height:1.7;color:#5e6670}@media(max-width:760px){.product-static-seo__grid{grid-template-columns:1fr;gap:22px}.product-static-seo__grid figure{min-height:280px}.product-static-seo__grid h1{font-size:25px}}

@media(max-width:760px){.product-category-nav{gap:7px;margin-bottom:20px;padding-top:14px}.product-category-nav a{min-height:36px;padding:0 12px;font-size:12px}}

/* Hybrid product option groups - 2026-08-10 */
.product-option-groups{display:grid;gap:18px}
.product-option-group{display:grid;gap:9px}
.product-option-group h3{margin:0;font-size:14px;font-weight:600;color:#111827}
.product-option-group .product-option-list{display:grid;gap:8px}


/* 2026-08-10 MUGDOT quote/action cleanup */
.product-quote-box [hidden]{display:none!important}
.product-detail__actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:14px}
.product-detail__actions .product-detail__editor,.product-detail__actions .product-detail__quote{display:block;width:100%;height:54px;margin:0;border-radius:8px;font-size:16px;font-weight:800}
.product-detail__actions .product-detail__editor{background:#ef4444;color:#fff;border:0}
.product-detail__actions .product-detail__quote{background:#fff;color:#374151;border:1px solid #cbd1d9}
@media(max-width:560px){.product-detail__actions{grid-template-columns:1fr 1fr;gap:8px}.product-detail__actions .product-detail__editor,.product-detail__actions .product-detail__quote{height:50px;font-size:14px}}
