/* ========================================
   06) PRICE GUIDE SECTION
======================================== */
        .price-guide-wrapper { width: 100%; max-width: 1080px; margin: 0 auto; padding: 0 10px; }
        .price-hero {
            position: relative;
            overflow: hidden;
            padding: 26px 24px 22px;
            border: 1px solid rgba(248, 180, 44, 0.28);
            border-radius: 24px;
            background:
              radial-gradient(circle at top right, rgba(248,180,44,0.22), transparent 30%),
              radial-gradient(circle at bottom left, rgba(36,53,68,0.08), transparent 28%),
              linear-gradient(135deg, #fffaf1 0%, #fff6e4 52%, #ffffff 100%);
            box-shadow: 0 18px 40px rgba(17, 24, 39, 0.08);
        }
        .price-hero:before,
        .price-hero:after {
            content: "";
            position: absolute;
            border-radius: 999px;
            pointer-events: none;
        }
        .price-hero:before {
            width: 160px;
            height: 160px;
            right: -55px;
            top: -55px;
            background: rgba(248, 180, 44, 0.12);
        }
        .price-hero:after {
            width: 120px;
            height: 120px;
            left: -36px;
            bottom: -44px;
            background: rgba(44, 62, 80, 0.06);
        }
        .price-kicker {
            position: relative;
            z-index: 1;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 8px 12px;
            border-radius: 999px;
            background: rgba(36,53,68,0.08);
            color: #8e6004;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }
        .price-hero-grid {
            position: relative;
            z-index: 1;
            display: block;
        }
        .price-hero-copy {
            min-width: 0;
            max-width: 560px;
            padding: 8px 0 0;
        }
        .price-title {
            position: relative;
            z-index: 1;
            margin: 14px 0 0;
            font-size: clamp(30px, 5vw, 46px);
            line-height: 0.98;
            color: #243544;
            letter-spacing: -0.03em;
        }
        .material-carousel {
            position: relative;
            width: 100%;
            padding: 10px 10px 8px;
            border: 1px solid rgba(241, 223, 181, 0.92);
            border-radius: 22px;
            background: rgba(255,255,255,0.82);
            box-shadow: 0 14px 24px rgba(17, 24, 39, 0.08);
            backdrop-filter: blur(6px);
        }
        .material-carousel-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            padding: 0 2px 8px;
        }
        .material-carousel-title {
            color: #8e6004;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }
        .material-carousel-stage {
            position: relative;
            aspect-ratio: 1 / 1;
            overflow: hidden;
            border-radius: 18px;
            background: #fffdf7;
            box-shadow: inset 0 0 0 1px rgba(241, 223, 181, 0.65);
        }
        .material-slide {
            position: absolute;
            inset: 0;
            opacity: 0;
            transform: translateX(24px) scale(0.97);
            transition: opacity 0.65s ease, transform 0.65s ease;
        }
        .material-slide.active {
            opacity: 1;
            transform: translateX(0) scale(1);
        }
        .material-slide img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: contain;
      image-rendering: auto;
  }
        .material-carousel-dots {
            display: flex;
            justify-content: center;
            gap: 8px;
            margin-top: 12px;
        }
        .material-carousel-dot {
            width: 8px;
            height: 8px;
            padding: 0;
            border: none;
            border-radius: 999px;
            background: rgba(36, 53, 68, 0.18);
            cursor: pointer;
            transition: all 0.28s ease;
        }
        .material-carousel-dot.active {
            width: 28px;
            background: linear-gradient(90deg, #F8B42C 0%, #ffd774 100%);
        }
        .material-carousel-hint {
            margin-top: 8px;
            color: #7a8592;
            font-size: 12px;
            text-align: center;
        }
        .price-layout {
            display: grid;
            grid-template-columns: minmax(0, 1.8fr) minmax(280px, 0.95fr);
            gap: 16px;
            margin-top: 16px;
            align-items: start;
        }
        .price-main-panel {
            display: grid;
            gap: 16px;
            min-width: 0;
        }
        .price-table-card {
            background: var(--bg-card);
            border: 1px solid var(--brand-orange-line);
            border-radius: 20px;
            box-shadow: 0 8px 24px rgba(36, 53, 68, 0.05);
            overflow: hidden;
        }
        .price-card-head {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            gap: 10px;
            padding: 20px 20px 14px;
            background: linear-gradient(180deg, rgba(248,180,44,0.12) 0%, rgba(248,180,44,0.03) 100%);
            border-bottom: 1px solid #f4e4bd;
        }
        .price-card-title {
            margin: 0;
            color: #243544;
            font-size: 21px;
            font-weight: 700;
        }
        .price-table-scroll {
            overflow-x: auto;
            padding: 12px 14px 14px;
            background: linear-gradient(180deg, rgba(255,248,236,0.55) 0%, rgba(255,255,255,0) 100%);
        }
        .price-table {
            width: 100%;
            min-width: 760px;
            border-collapse: separate;
            border-spacing: 0;
        }
        .price-table thead th {
            padding: 13px 14px;
            border-bottom: 1px solid #2f4354;
            background: linear-gradient(180deg, #31485A 0%, #253544 100%);
            color: #ffffff;
            font-size: 12px;
            font-weight: 700;
            text-align: center;
            white-space: nowrap;
        }
        .price-table thead th:first-child {
            text-align: left;
        }
        .price-table tbody th,
        .price-table tbody td {
            padding: 12px 14px;
            border-bottom: 1px solid #f1ead8;
            background: #ffffff;
        }
        .price-table tbody tr:nth-child(even) th,
        .price-table tbody tr:nth-child(even) td {
            background: #FAF8F3;
        }
        .price-table tbody tr:last-child th,
        .price-table tbody tr:last-child td {
            border-bottom: none;
        }
        .price-table tbody th {
            min-width: 190px;
            color: #243544;
            font-size: 14px;
            font-weight: 600;
            text-align: left;
        }
        .price-table tbody td {
            color: #253644;
            font-size: 16px;
            font-weight: 600;
            text-align: center;
        }
        .price-table tbody tr.price-group-row th {
      padding: 9px 14px;
      background: linear-gradient(180deg, #F4B12B 0%, #E9A41D 100%);
      color: #ffffff;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-align: left;
      border-top: 1px solid #E0B55A;
      border-bottom: 1px solid #E0B55A;
      position: sticky;
      left: 0;
      z-index: 2;
      box-shadow: inset 0 -1px 0 rgba(255,255,255,0.08);
  }

        .price-table tbody tr.price-group-row:first-child th {
            border-top: none;
        }
        .price-value {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 72px;
      padding: 4px 10px;
      border-radius: 999px;
      background: var(--brand-orange-soft);
      color: var(--brand-orange-deep);
      font-size: 13px;
      font-weight: 700;
      line-height: 1;
      border: 1px solid #F1D6A2;
      box-shadow: none;
      white-space: nowrap;
  }
        .price-empty {
            padding: 22px 20px 26px;
            color: #6d7682;
            font-size: 14px;
            line-height: 1.6;
        }
        .price-side-panel {
            display: grid;
            gap: 16px;
        }
        .price-info-card {
            position: relative;
            background: var(--bg-card);
            border: 1px solid var(--brand-orange-line);
            border-radius: 18px;
            box-shadow: 0 8px 22px rgba(36, 53, 68, 0.04);
            padding: 16px;
            overflow: hidden;
        }
        .price-info-card.soft {
            background: linear-gradient(180deg, #fffbf3 0%, #fff6e8 100%);
        }
        .price-info-card:before {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            height: 4px;
            background: linear-gradient(90deg, var(--brand-orange) 0%, #FFD27A 100%);
        }
        .price-info-title {
            margin: 4px 0 12px;
            color: #243544;
            font-size: 17px;
            font-weight: 700;
        }
        .option-list,
        .shipping-grid {
            display: grid;
            gap: 10px;
        }
        .option-item-card,
        .shipping-item-card {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            padding: 11px 12px;
            border: 1px solid #E9DFC9;
            border-radius: 12px;
            background: #F9F8F4;
        }
        .option-item-card strong,
        .shipping-item-card strong {
            color: #243544;
            font-size: 14px;
        }
        .option-item-card span,
        .shipping-item-card span {
            color: #8a6906;
            font-size: 14px;
            font-weight: 700;
            white-space: nowrap;
        }
        .option-empty {
            color: #7a8592;
            font-size: 14px;
            line-height: 1.6;
        }
.price-note-text {
    margin: 0;
    color: #5f6773;
    font-size: 14px;
    line-height: 1.7;
}

/* ========================================
   PRICE GUIDE MOBILE UX IMPROVEMENTS
======================================== */
@media (max-width: 768px) {
    #section-price {
        padding: 0 14px 28px;
    }

    #section-price .price-guide-wrapper {
        padding: 0;
    }

    #section-price .price-hero {
        padding: 20px 16px;
        border-radius: 20px;
        margin-bottom: 16px;
    }

    #section-price .price-layout {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
        margin-top: 0;
    }

    #section-price .price-table-card,
    #section-price .price-info-card,
    #section-price .material-carousel {
        border-radius: 18px;
    }

    #section-price .price-table-card {
        padding: 14px;
        overflow: hidden;
    }

    #section-price .price-info-card {
        padding: 16px 14px;
    }

    #priceTableEmpty {
        padding: 18px 12px;
        font-size: 14px;
        line-height: 1.7;
    }

    #section-price .price-table-scroll {
        padding: 8px 0 4px;
        overflow: visible;
        mask-image: none;
    }

    #priceGuideTable {
        width: 100%;
        min-width: 0;
        border-collapse: separate;
        border-spacing: 0;
        table-layout: fixed;
    }

    #priceGuideTable thead {
        display: none;
    }

    #priceGuideTable tbody {
        display: block;
    }

    #priceGuideTable tbody tr {
        display: block;
        margin-bottom: 14px;
    }

    #priceGuideTable tbody tr:not(.price-group-row) {
        border: 1px solid #eddcb4;
        border-radius: 18px;
        background: linear-gradient(180deg, #fffdf8 0%, #fff8ea 100%);
        box-shadow: 0 8px 22px rgba(36, 53, 68, 0.06);
        overflow: hidden;
    }

    #priceGuideTable tbody tr:not(.price-group-row) th,
    #priceGuideTable tbody tr:not(.price-group-row) td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        width: 100%;
        padding: 12px 14px;
        box-sizing: border-box;
        border: 0;
        border-bottom: 1px solid #f3ead4;
        background: transparent;
        text-align: left;
    }

    #priceGuideTable tbody tr:not(.price-group-row) th {
        color: #243544;
        font-size: 15px;
        font-weight: 800;
        line-height: 1.5;
        background: linear-gradient(180deg, rgba(248,180,44,0.14) 0%, rgba(248,180,44,0.04) 100%);
    }

    #priceGuideTable tbody tr:not(.price-group-row) td:last-child {
        border-bottom: 0;
    }

    #priceGuideTable tbody tr:not(.price-group-row) td::before {
        content: attr(data-tier-label);
        flex: 0 0 92px;
        color: #5f6773;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.35;
    }

    #priceGuideTable .price-group-row {
        margin: 18px 0 10px;
    }

    #priceGuideTable .price-group-row th {
        display: block;
        width: 100%;
        box-sizing: border-box;
        padding: 10px 14px;
        border-radius: 14px;
        background: linear-gradient(180deg, #f6c35b 0%, #eeae2d 100%);
        color: #243544;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        text-align: left;
        white-space: normal;
        border: 0;
    }

    #priceGuideTable .price-value {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: auto;
        max-width: 100%;
        padding: 6px 10px;
        border-radius: 999px;
        background: #fff4db;
        border: 1px solid #f1d49a;
        color: #9a6205;
        font-size: 12px;
        font-weight: 800;
        text-align: right;
        white-space: nowrap;
    }

    #section-price .price-card-head {
        padding: 16px 16px 12px;
    }

    #priceOptionList,
    #shippingGuide {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    #section-price .option-item-card,
    #section-price .shipping-item-card {
        padding: 12px 12px;
        border-radius: 14px;
    }

    #section-price .option-item-card strong,
    #section-price .shipping-item-card strong {
        font-size: 14px;
    }

    #section-price .option-item-card span,
    #section-price .shipping-item-card span {
        font-size: 13px;
    }

    #section-price .material-carousel {
        padding: 14px;
    }
}

@media (max-width: 480px) {
    #section-price {
        padding: 0 12px 24px;
    }

    #section-price .price-hero {
        padding: 18px 14px;
    }

    #section-price .price-table-card,
    #section-price .price-info-card,
    #section-price .material-carousel {
        border-radius: 16px;
    }

    #section-price .price-table-card {
        padding: 12px;
    }

    #priceGuideTable tbody tr:not(.price-group-row) th,
    #priceGuideTable tbody tr:not(.price-group-row) td {
        padding: 11px 12px;
    }

    #priceGuideTable tbody tr:not(.price-group-row) td::before {
        flex-basis: 84px;
        font-size: 11px;
    }

    #priceGuideTable .price-value {
        font-size: 11px;
        padding: 6px 9px;
    }
}

/* ========================================
   PRICE GUIDE MOBILE ACCORDION VIEW
======================================== */
.price-guide-mobile {
    display: none;
}

@media (max-width: 768px) {
    #priceGuideTable {
        display: table !important;
    }

    .price-guide-mobile {
        display: none;
        gap: 14px;
        margin-top: 4px;
    }

    .price-table-scroll.has-mobile-price-guide #priceGuideTable {
        display: none !important;
    }

    .price-table-scroll.has-mobile-price-guide .price-guide-mobile {
        display: grid;
    }

    .price-mobile-group {
        display: grid;
        gap: 12px;
        padding: 2px 0 2px;
    }

    .price-mobile-group-title {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 14px 16px;
        border-radius: 18px;
        background: linear-gradient(135deg, #243544 0%, #31485A 100%);
        color: #ffffff;
        font-size: 14px;
        font-weight: 900;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        box-shadow: 0 12px 28px rgba(36, 53, 68, 0.16);
        border: 1px solid rgba(255, 211, 122, 0.32);
    }

    .price-mobile-group-list {
        display: grid;
        gap: 10px;
    }

    .price-mobile-card {
        border: 1px solid #ead7af;
        border-radius: 18px;
        background: linear-gradient(180deg, #fffdf8 0%, #fff8ea 100%);
        box-shadow: 0 8px 22px rgba(36, 53, 68, 0.06);
        overflow: hidden;
        transform-origin: top center;
        transition: box-shadow 0.28s ease, transform 0.28s ease, border-color 0.28s ease, background 0.28s ease;
    }

    .price-mobile-card[open] {
        border-color: #efc46b;
        box-shadow: 0 14px 32px rgba(36, 53, 68, 0.12);
        transform: translateY(-1px);
        background: linear-gradient(180deg, #fffefb 0%, #fff7e7 100%);
    }

    .price-mobile-summary {
        list-style: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 15px 15px;
        cursor: pointer;
        user-select: none;
        background: linear-gradient(180deg, rgba(248,180,44,0.14) 0%, rgba(248,180,44,0.04) 100%);
        transition: background 0.26s ease, padding 0.26s ease, box-shadow 0.26s ease;
        position: relative;
        overflow: hidden;
        isolation: isolate;
    }

    .price-mobile-summary::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(255,255,255,0.26) 0%, rgba(255,255,255,0) 58%);
        opacity: 0.9;
        pointer-events: none;
        z-index: 0;
    }

    .price-mobile-summary > * {
        position: relative;
        z-index: 1;
    }

    .price-mobile-card[open] .price-mobile-summary {
        background: linear-gradient(180deg, rgba(248,180,44,0.24) 0%, rgba(248,180,44,0.09) 100%);
        box-shadow: inset 0 -1px 0 rgba(227, 194, 123, 0.32);
    }

    .price-mobile-summary::-webkit-details-marker {
        display: none;
    }

    .price-mobile-material-name {
        color: #243544;
        font-size: 16px;
        font-weight: 900;
        line-height: 1.5;
        letter-spacing: -0.01em;
    }

    .price-mobile-summary-hint {
        flex: 0 0 auto;
        color: rgba(142, 96, 4, 0.82);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.02em;
        white-space: nowrap;
        padding: 5px 24px 5px 10px;
        position: relative;
        opacity: 0.86;
        border-radius: 999px;
        background: rgba(255, 244, 219, 0.86);
        border: 1px solid rgba(241, 212, 154, 0.9);
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.55);
    }

    .price-mobile-summary-hint::after {
        content: '+';
        position: absolute;
        right: 8px;
        top: 50%;
        transform: translateY(-52%) rotate(0deg);
        font-size: 15px;
        line-height: 1;
        color: #8e6004;
        transition: transform 0.22s ease, opacity 0.22s ease;
    }

    .price-mobile-card[open] .price-mobile-summary-hint::after {
        content: '+';
        transform: translateY(-52%) rotate(45deg);
    }

    .price-mobile-tier-list {
        display: grid;
        gap: 0;
        padding: 0;
        background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(255,250,240,0.86) 100%);
        overflow: hidden;
        max-height: 0;
        opacity: 0;
        transform: perspective(900px) rotateX(-14deg) scaleY(0.82);
        transform-origin: top center;
        clip-path: inset(0 0 100% 0 round 0 0 16px 16px);
        filter: blur(2px);
        transition: max-height 0.38s ease, opacity 0.24s ease, transform 0.34s ease, clip-path 0.38s ease, padding 0.30s ease, filter 0.26s ease;
        will-change: max-height, opacity, transform, clip-path, filter;
        position: relative;
    }

    .price-mobile-tier-list::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        height: 18px;
        background: linear-gradient(180deg, rgba(36,53,68,0.10) 0%, rgba(36,53,68,0) 100%);
        opacity: 0;
        transition: opacity 0.22s ease;
        pointer-events: none;
    }

    .price-mobile-card[open] .price-mobile-tier-list {
        max-height: 420px;
        opacity: 1;
        transform: perspective(900px) rotateX(0deg) scaleY(1);
        clip-path: inset(0 0 0 0 round 0 0 16px 16px);
        padding: 4px 0;
        filter: blur(0);
    }

    .price-mobile-card[open] .price-mobile-tier-list::before {
        opacity: 1;
    }

    .price-mobile-tier-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 13px 14px;
        border-top: 1px solid #f3ead4;
        transform: translateY(-8px) scale(0.985);
        opacity: 0;
        transition: transform 0.26s ease, opacity 0.24s ease, background 0.22s ease;
    }

    .price-mobile-tier-row:first-child {
        border-top: none;
    }

    .price-mobile-card[open] .price-mobile-tier-row {
        transform: translateY(0) scale(1);
        opacity: 1;
    }

    .price-mobile-card[open] .price-mobile-tier-row:nth-child(1) { transition-delay: 0.02s; }
    .price-mobile-card[open] .price-mobile-tier-row:nth-child(2) { transition-delay: 0.05s; }
    .price-mobile-card[open] .price-mobile-tier-row:nth-child(3) { transition-delay: 0.08s; }
    .price-mobile-card[open] .price-mobile-tier-row:nth-child(4) { transition-delay: 0.11s; }
    .price-mobile-card[open] .price-mobile-tier-row:nth-child(5) { transition-delay: 0.14s; }
    .price-mobile-card[open] .price-mobile-tier-row:nth-child(6) { transition-delay: 0.17s; }

    .price-mobile-tier-row:hover {
        background: rgba(248, 180, 44, 0.08);
    }

    .price-mobile-tier-label {
        color: #4f5a66;
        font-size: 13px;
        font-weight: 800;
        line-height: 1.4;
    }

    .price-mobile-tier-value {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 7px 11px;
        border-radius: 999px;
        background: #fff4db;
        border: 1px solid #f1d49a;
        color: #8f5800;
        font-size: 13px;
        font-weight: 900;
        white-space: nowrap;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.45);
    }
}

@media (max-width: 480px) {
    .price-guide-mobile {
        gap: 12px;
    }

    .price-mobile-group-title {
        padding: 11px 12px;
        font-size: 12px;
    }

    .price-mobile-summary {
        padding: 13px 12px;
    }

    .price-mobile-material-name {
        font-size: 15px;
    }

    .price-mobile-summary-hint {
        font-size: 9px;
        padding: 5px 22px 5px 9px;
    }

    .price-mobile-tier-row {
        padding: 11px 12px;
    }

    .price-mobile-tier-label {
        font-size: 12px;
    }

    .price-mobile-tier-value {
        font-size: 12px;
        padding: 6px 10px;
    }
}
