.catalog-refresh { background: #fff; --ink: #25282b; --ink-soft: #5d6267; --line: #e5e8e7; }
.catalog-refresh [hidden] { display: none !important; }
.catalog-refresh .top-strip { background: #006f65; min-height: 30px; padding: 5px 24px; }
.catalog-refresh .site-header { background: #fff; border-bottom: 1px solid var(--line); backdrop-filter: none; }
.catalog-refresh .nav-shell { width: min(1600px, calc(100% - 48px)); min-height: 86px; padding-block: 8px; }
.catalog-refresh .brand-logo { width: 154px; max-height: 72px; object-fit: contain; }
.catalog-refresh .nav-links { font-size: 14px; }
.catalog-refresh .catalog-section { width: min(1600px, calc(100% - 48px)); margin: 0 auto; padding-bottom: 110px; }
.catalog-refresh .catalog-panel { position: static; padding: 28px 0 18px; background: #fff; box-shadow: none; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; backdrop-filter: none; }
.catalog-refresh .catalog-panel-head h1 { margin: 0; font-size: 28px; line-height: 1.2; letter-spacing: 0; }
.catalog-refresh .catalog-sync { gap: 4px; font-size: 13px; }
.catalog-refresh .catalog-sync span { background: none; font-weight: 400; padding: 0; }
.catalog-panel:has([data-catalog-count]:not(:empty)) [data-catalog-status] { display: none; }
.catalog-refresh .catalog-sync strong { color: var(--ink-soft); background: none; font-weight: 500; padding: 0; }
.catalog-refresh .catalog-tools { display: grid; grid-template-columns: minmax(220px, 360px) 1fr; gap: 24px; margin-top: 20px; align-items: center; }
.catalog-refresh .catalog-search { display: block; }
.catalog-refresh .catalog-search input { background: #f6f7f7; border-color: #e5e8e7; font-size: 15px; font-weight: 400; }
.catalog-refresh .catalog-filters { gap: 6px; }
.catalog-refresh .catalog-filter { min-height: 42px; font-size: 13px; font-weight: 600; border-color: transparent; background: transparent; }
.catalog-refresh .catalog-filter.is-active { background: #006f65; color: white; }
.catalog-filter-drawer > summary { cursor: pointer; font-size: 14px; font-weight: 600; padding: 16px 0 0; width: fit-content; }
.catalog-filter-drawer > summary span { color: #006f65; }
.catalog-refresh .catalog-refine { grid-template-columns: repeat(4, minmax(0, 1fr)) auto; border: 0; margin: 0; padding-top: 14px; }
.catalog-refresh .catalog-refine select { background: #fff; font-weight: 500; font-size: 13px; }
.catalog-refresh .catalog-refine label { font-weight: 600; }
.catalog-refresh .catalog-photo-toggle { font-size: 13px; font-weight: 600; }
.catalog-active-filters { display: flex; gap: 8px; flex-wrap: wrap; }
.catalog-active-filters:not(:empty) { margin-top: 14px; }
.catalog-active-filters button { border: 1px solid #d1e5e0; color: #005a52; background: #eef7f4; border-radius: 4px; padding: 7px 10px; font: inherit; font-size: 12px; cursor: pointer; }
.catalog-refresh .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 20px; margin-top: 24px; }
.catalog-refresh .product-card { display: flex; flex-direction: column; min-width: 0; border: 0; border-radius: 0; box-shadow: none; transition: none; }
.catalog-refresh .product-card:hover { transform: none; box-shadow: none; }
.catalog-refresh .product-card-media { background: #f8f9f8; border-radius: 6px; overflow: hidden; }
.catalog-refresh .product-card-media > a { display: block; aspect-ratio: 1; }
.catalog-refresh .product-main-image { width: 100%; height: 100%; aspect-ratio: 1; object-fit: contain; background: white; }
.product-image-placeholder { display: grid; place-items: center; height: 100%; background: #f3f5f4; color: #727a76; font-size: 13px; }
.product-skeleton { aspect-ratio: 3 / 4; background: #f3f5f4; border-radius: 6px; }
.product-photo-count { position: absolute; right: 10px; bottom: 10px; background: #ffffffeb; color: #59625e; padding: 3px 7px; font-size: 11px; border-radius: 4px; pointer-events: none; }
.catalog-refresh .product-card-body { display: flex; flex-direction: column; flex: 1; padding: 12px 0 0; gap: 8px; }
.product-label { color: #006f65; font-size: 11px; font-weight: 600; letter-spacing: 0; min-height: 16px; }
.catalog-refresh .product-card h2 { margin: 0; font-size: 14px; font-weight: 500; min-height: 2.8em; line-height: 1.4; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.product-price { font-size: 13px; font-weight: 600; }
.catalog-refresh .product-sizes { flex-wrap: wrap; overflow: visible; gap: 5px; }
.catalog-refresh .product-sizes button { min-height: 36px; min-width: 36px; padding: 5px 7px; font-size: 12px; font-weight: 500; background: #fff; border-radius: 4px; }
.catalog-refresh .product-sizes button.is-active { background: #006f65; color: #fff; border-color: #006f65; }
.catalog-refresh .product-card-actions { margin-top: auto; padding-top: 4px; display: flex; flex-direction: column; gap: 5px; }
.catalog-refresh .product-card-actions button { width: 100%; background: #006f65; border-color: #006f65; font-size: 13px; font-weight: 600; min-height: 42px; padding: 8px; }
.catalog-refresh .product-card-actions a { border: 0; background: transparent; color: #52635b; font-size: 12px; font-weight: 500; min-height: 38px; padding: 6px; }
.catalog-refresh .product-card-actions .icon { width: 17px; height: 17px; }
.catalog-refresh .catalog-consultbar { width: min(680px, calc(100% - 24px)); background: #fff; color: #25282b; border: 1px solid #dce5e0; box-shadow: 0 6px 30px #16382b20; border-radius: 8px; padding: 12px 16px; gap: 12px; }
.catalog-refresh .catalog-consultbar span { display: none; }
.catalog-refresh .catalog-consultbar strong { font-size: 14px; font-weight: 600; }
.catalog-refresh .catalog-consultbar-actions { display: flex; gap: 8px; }
.catalog-refresh [data-catalog-bag-clear] { display: none; }
.catalog-refresh .catalog-consultbar-actions a { background: #006f65; color: white; font-size: 13px; min-height: 42px; }
.catalog-refresh .catalog-consultbar-actions button { color: #006f65; background: #edf6f2; font-size: 13px; min-height: 42px; border: 0; width: auto; }
.consultation-dialog { width: min(520px, calc(100% - 24px)); max-height: min(760px, calc(100dvh - 32px)); padding: 0; border: 0; border-radius: 8px; color: #25282b; }
.consultation-dialog[open] { display: flex; flex-direction: column; }
.consultation-dialog::backdrop { background: #172c2580; }
.consultation-dialog header { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #e5e8e7; padding: 16px; flex: 0 0 auto; }
.consultation-dialog h2 { margin: 0; font-size: 20px; }
.consultation-dialog header button { width: 44px; height: 44px; font-size: 26px; background: none; border: 0; cursor: pointer; }
.consultation-items { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 16px; }
.consultation-item { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 16px 0; border-bottom: 1px solid #e5e8e7; }
.consultation-item img { width: 64px; height: 64px; object-fit: contain; }
.consultation-item strong { display: block; font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
.consultation-item label { display: flex; align-items: center; gap: 8px; margin-top: 6px; font-size: 12px; }
.consultation-item select { max-width: 110px; min-height: 36px; background: white; border: 1px solid #ccd7d1; border-radius: 4px; }
.consultation-item button { border: 0; background: none; color: #97605b; width: 40px; height: 44px; font-size: 24px; cursor: pointer; }
.consultation-dialog footer { padding: 14px 16px max(16px, env(safe-area-inset-bottom)); border-top: 1px solid #e5e8e7; flex: 0 0 auto; }
.consultation-dialog footer p { font-size: 12px; margin: 0 0 10px; color: #65716a; }
.consultation-footer-note { display: flex; gap: 12px; align-items: baseline; justify-content: space-between; }
.consultation-footer-note button { border: 0; background: none; color: #9b443c; padding: 8px; cursor: pointer; }
.consultation-dialog footer a { display: flex; align-items: center; justify-content: center; gap: 8px; background: #006f65; color: white; padding: 12px; border-radius: 5px; font-weight: 600; }
html:has(.consultation-dialog[open]) { overflow: hidden; }
.catalog-notice { position: fixed; bottom: 90px; left: 50%; transform: translateX(-50%); z-index: 40; padding: 12px 18px; background: #25282b; color: white; border-radius: 6px; width: max-content; max-width: calc(100% - 32px); font-size: 14px; }
.catalog-refresh .product-detail-shell { width: min(1240px, calc(100% - 48px)); padding: 32px 0 80px; gap: 48px; }
.catalog-refresh .product-detail-info { background: none; border: 0; box-shadow: none; padding: 0; }
.catalog-refresh .product-detail-info h1 { font-size: 26px; line-height: 1.3; font-weight: 600; overflow-wrap: anywhere; letter-spacing: 0; }
.catalog-refresh .product-detail-description { font-size: 14px; text-align: left; }
.catalog-refresh .product-detail-main { border: 0; border-radius: 6px; background: #fff; }
.catalog-refresh .product-detail-main img { aspect-ratio: 1; width: 100%; object-fit: contain; }
.catalog-refresh .product-detail-thumbs { display: flex; overflow-x: auto; gap: 8px; }
.catalog-refresh .product-detail-thumbs button { flex: 0 0 64px; width: 64px; height: 64px; }
.catalog-refresh .product-detail-thumbs img { object-fit: contain; }
.catalog-refresh .product-detail-price { background: none; border: 0; padding: 12px 0; }
.catalog-refresh .product-detail-price strong { font-size: 22px; }
.catalog-refresh .product-detail-meta { display: flex; flex-wrap: wrap; gap: 20px; }
.catalog-refresh .product-detail-meta div { padding: 0; background: none; border: 0; }
.catalog-refresh .product-detail-meta dd { font-size: 13px; }
.catalog-refresh .product-detail-actions .button { font-size: 14px; border-radius: 5px; }
.catalog-refresh .product-detail-add { background: #006f65; color: #fff; }
.catalog-refresh .product-detail-consult-status { color: #005a52; background: #edf6f2; }
.catalog-refresh .site-footer { border-top: 1px solid #e5e8e7; background: #f6f8f7; color: #58645d; }
.catalog-refresh :focus-visible { outline: 3px solid #e7943b; outline-offset: 3px; }
@media (min-width: 1500px) { .catalog-refresh .product-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .catalog-refresh .catalog-tools { grid-template-columns: 1fr; gap: 10px; } .catalog-refresh .catalog-filters { justify-content: flex-start; } }
@media (max-width: 900px) {
  .catalog-refresh .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 14px; }
  .catalog-refresh .catalog-panel-head { display: flex; }
  .catalog-refresh .catalog-refine { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-refresh .product-detail-shell { grid-template-columns: 1fr; max-width: 620px; gap: 20px; }
}
@media (max-width: 600px) {
  .catalog-refresh .top-strip { display: none; }
  .catalog-refresh .nav-shell { min-height: 68px; width: calc(100% - 28px); padding-block: 6px; }
  .catalog-refresh .brand-logo { width: 118px; height: 56px; }
  .catalog-refresh .catalog-section { width: calc(100% - 28px); }
  .catalog-refresh .catalog-panel { padding: 20px 0 12px; }
  .catalog-refresh .catalog-panel-head { display: block; }
  .catalog-refresh .catalog-panel-head h1 { font-size: 22px; }
  .catalog-refresh .catalog-sync { justify-content: flex-start; margin-top: 4px; }
  .catalog-refresh .catalog-tools { margin-top: 14px; gap: 10px; }
  .catalog-refresh .catalog-search input { font-size: 16px; }
  .catalog-refresh .catalog-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
  .catalog-refresh .catalog-filter { flex: 0 0 auto; min-height: 38px; padding: 7px 10px; }
  .catalog-filter-drawer > summary { padding-top: 8px; }
  .catalog-refresh .catalog-refine { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .catalog-refresh .catalog-refine select { font-size: 16px; padding: 8px; }
  .catalog-refresh .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; margin-top: 16px; }
  .catalog-refresh .product-card h2 { font-size: 13px; }
  .catalog-refresh .product-sizes button { min-width: 32px; min-height: 36px; padding: 5px; }
  .catalog-refresh .product-card-actions button { font-size: 12px; }
  .catalog-refresh .catalog-consultbar { left: 12px; right: 12px; width: auto; transform: none; padding: 10px; bottom: max(10px, env(safe-area-inset-bottom)); grid-template-columns: minmax(0, 1fr) auto; }
  .catalog-refresh .catalog-consultbar-actions { gap: 5px; }
  .catalog-refresh .catalog-consultbar-actions a { font-size: 12px; padding: 8px; }
  .catalog-refresh .catalog-consultbar-actions button { padding: 8px; font-size: 12px; }
  .catalog-refresh .catalog-consultbar strong { font-size: 12px; }
  .catalog-refresh .product-detail-shell { width: calc(100% - 28px); padding-top: 12px; }
  .catalog-refresh .product-detail-info h1 { font-size: 22px; }
  .catalog-refresh .product-detail-main { max-width: 390px; margin: 0 auto; }
  .catalog-refresh .product-detail-actions { grid-template-columns: 1fr; }
}
