.storefront { background:#fff; color:#242424; font-family:Arial,Helvetica,sans-serif; }
.storefront .shop-shell { width:min(1440px,calc(100% - 80px)); max-width:1440px; margin-inline:auto; }
.procurement-header { background:#fff; border-bottom:1px solid #eeeae5; }
.procurement-nav { display:flex; align-items:center; gap:24px; min-height:94px; }
.procurement-brand { display:flex; align-items:center; gap:9px; text-decoration:none; flex-shrink:0; }
.procurement-brand img { width:42px; height:52px; object-fit:contain; }
.procurement-brand>span { color:#222; font-size:21px; font-weight:900; line-height:1.02; letter-spacing:.3px; }
.procurement-brand>span>span { display:block; color:#b22528; font-size:19px; margin-top:4px; }
.header-location { white-space:nowrap; color:#6b655e; font-size:13px; }
.header-location>span { display:block; }
.header-location>a { display:block; margin-top:5px; color:#282622; font-size:14px; font-weight:650; text-decoration:none; }
.procurement-catalog-button { background:#b62227; color:white; border-radius:6px; padding:14px 19px; display:flex; align-items:center; gap:11px; text-decoration:none; font-size:15px; font-weight:700; white-space:nowrap; }
.procurement-catalog-button .menu-lines { color:white; width:17px; }
.procurement-search { display:flex; border:1px solid #d8d4cd; border-radius:6px; overflow:hidden; flex:1; min-width:100px; height:47px; }
.procurement-search input { border:0; background:white; padding:0 14px; font-size:14px; width:100%; min-width:0; outline-offset:-3px; }
.procurement-search button { border:0; background:white; color:#6d6860; padding:0 16px; min-width:45px; }
.header-delivery,.header-cart { display:flex; align-items:center; gap:8px; text-decoration:none; color:#333; font-size:14px; white-space:nowrap; }
.header-cart .cart-count { color:#b62227; background:#f8eeee; min-width:20px; height:20px; font-size:11px; display:grid; place-items:center; border-radius:50%; }
.cart-feedback { position:fixed; right:24px; bottom:24px; z-index:900; width:min(420px,calc(100% - 48px)); padding:16px 18px; display:flex; flex-wrap:wrap; align-items:center; gap:12px; background:#fffdf8; border:1px solid #63944f; border-radius:8px; box-shadow:0 5px 24px #0002; font-size:13px; line-height:1.45; }
.cart-feedback[hidden] { display:none; }
.cart-feedback.error { border-color:#b62227; }
.cart-feedback-message { flex:1 1 220px; overflow-wrap:anywhere; }
.cart-feedback a { color:#b62227; font-weight:700; text-decoration:none; white-space:nowrap; margin-left:auto; }
.card-cart-form button:disabled,.product-buy-form button:disabled { opacity:.6; cursor:progress; }
.procurement-hero { position:relative; overflow:hidden; background:#f5f0e5; min-height:500px; }
.hero-background { position:absolute; inset:0; width:100%; height:100%; }
.hero-background img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-inner { position:relative; z-index:1; padding-block:24px; }
.hero-copy { max-width:580px; margin:0; color:#111; }
.hero-background:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#f7f2e966 35%,transparent 64%); }
.storefront .hero-copy h1 { max-width:none; font-size:clamp(44px,4vw,60px); line-height:.98; letter-spacing:-1.7px; margin:0 0 16px; font-weight:800; }
.hero-subtitle { font-size:21px; line-height:1.15; font-weight:700; margin:0 0 12px; }
.hero-description { font-size:16px; line-height:1.32; color:#57524a; margin:0 0 18px; }
.procurement-primary { display:inline-flex; align-items:center; justify-content:center; gap:25px; background:#b62227; color:white; text-decoration:none; border-radius:6px; min-height:54px; padding:0 28px; font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; border:0; }
.procurement-primary:hover,.procurement-catalog-button:hover { background:#992027; color:#fff; }
.procurement-primary span { font-size:24px; line-height:1; }
.procurement-benefits { background:white; border-bottom:1px solid #e9e6df; }
.benefits-inner { display:flex; justify-content:space-between; gap:24px; padding-block:25px; }
.benefits-inner>span { display:flex; align-items:center; gap:11px; font-size:15px; font-weight:600; }
.benefits-inner i { color:white; background:#63944f; width:32px; height:32px; flex-shrink:0; border-radius:50%; display:grid; place-items:center; font-style:normal; font-size:22px; }
.procurement-main { padding-block:28px 60px; }
.material-request-strip { background:#f7f3e9; border:1px solid #eee8da; padding:22px 28px; display:flex; justify-content:space-between; align-items:center; gap:24px; border-radius:7px; margin-bottom:35px; }
.material-request-strip h2 { font-size:23px; margin:0 0 6px; font-weight:750; }
.material-request-strip p { font-size:14px; margin:0; color:#625d53; }
.material-request-strip>a { border:1px solid #b62227; border-radius:5px; padding:13px 22px; color:#a22125; font-size:12px; text-transform:uppercase; letter-spacing:.6px; font-weight:700; text-decoration:none; flex-shrink:0; display:flex; align-items:center; gap:23px; }
.material-request-strip>a:hover { background:#f2e6da; }
.procurement-catalog { display:grid; grid-template-columns:240px minmax(0,1fr); gap:30px; align-items:start; }
.procurement-sidebar { position:sticky; z-index:20; top:18px; border:1px solid #e4e1db; border-radius:7px; background:white; max-height:calc(100dvh - 36px); display:flex; flex-direction:column; overflow:hidden; }
.procurement-sidebar h2 { margin:0; padding:18px 20px; font-size:17px; border-bottom:1px solid #e9e6e0; flex-shrink:0; }
.category-scroll { max-height:calc(100dvh - 100px); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#cbc4b8 transparent; padding:8px 0; }
.category-scroll::-webkit-scrollbar { width:5px; }
.category-scroll::-webkit-scrollbar-thumb { background:#cbc4b8; border-radius:10px; }
.category-scroll a,.mobile-category-menu nav a { text-decoration:none; color:#343330; display:block; padding:12px 18px; line-height:1.4; font-size:13px; }
.category-scroll a:hover,.category-scroll a.active,.category-branch>summary:hover,.category-branch.active>summary,.category-branch[open]>summary { background:#f7f2e8; color:#a62226; }
.category-all { font-weight:650; border-bottom:1px solid #eeeae5; margin-bottom:4px; }
.category-branch>summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 18px; font-size:13px; line-height:1.4; list-style:none; cursor:pointer; }
.category-branch>summary::-webkit-details-marker { display:none; }
.category-arrow { font-size:22px; line-height:1; flex-shrink:0; color:#9b9184; }
.category-panel { position:fixed; z-index:100; width:330px; max-height:calc(100dvh - 32px); overflow-y:auto; overscroll-behavior:contain; background:white; border:1px solid #e4e1db; border-radius:7px; box-shadow:0 10px 35px #33291e24; padding:8px 0; scrollbar-width:thin; }
.category-scroll .category-section-link,.mobile-category-menu .category-section-link { color:#a62226; font-weight:600; border-bottom:1px solid #eeeae5; margin-bottom:4px; display:flex; justify-content:space-between; gap:12px; }
.category-scroll>.category-branch>summary,.category-scroll>.category-leaf { font-weight:600; }
.procurement-section-head { min-height:42px; display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:16px; }
.procurement-section-head h2,.storefront .procurement-section-head h1 { font-size:28px; line-height:1.2; letter-spacing:-.5px; margin:0; max-width:none; }
.procurement-section-head>a { text-decoration:none; font-size:13px; color:#9d2628; padding-top:8px; white-space:nowrap; }
.procurement-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.storefront .procurement-card { padding:0; min-height:0; background:#fff; border:1px solid #e7e3dc; border-radius:7px; overflow:hidden; box-shadow:none; display:flex; flex-direction:column; }
.storefront .procurement-card:hover { border-color:#d3cbbb; box-shadow:0 4px 18px #28201208; }
.storefront .procurement-card .product-visual { height:165px; min-height:0; background:white; border:0; display:flex; align-items:center; justify-content:center; padding:14px; }
.storefront .procurement-card .product-visual img { height:100%; width:100%; object-fit:contain; }
.storefront .procurement-card .product-visual>span { color:#a8a194; font-size:13px; text-align:center; }
.storefront .procurement-card .product-card-main { padding:0 16px 16px; display:flex; flex-direction:column; gap:0; flex:1; }
.storefront .procurement-card .product-name { font-size:14px; line-height:1.38; font-weight:600; color:#2c2b29; text-decoration:none; min-height:57px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:12px; }
.card-availability { color:#577b4c; font-size:12px; display:flex; align-items:center; gap:6px; margin:0 0 12px; }
.card-availability:before { content:''; width:6px; height:6px; border-radius:50%; background:#628458; flex-shrink:0; }
.card-availability.unavailable { color:#837664; }
.card-availability.unavailable:before { background:#a39377; }
.card-price { margin-top:auto; display:flex; flex-wrap:wrap; align-items:baseline; gap:5px; margin-bottom:14px; }
.card-price strong { font-size:20px; line-height:1.2; font-weight:750; }
.card-price>span { font-size:11px; color:#797269; }
.storefront .procurement-card .card-cart-form { margin:0; padding:0; }
.storefront .procurement-card .card-cart-form button,.card-request { display:flex; align-items:center; justify-content:space-between; text-decoration:none; width:100%; background:#b62227; color:white; border-radius:5px; border:0; padding:10px 13px; min-height:38px; font-size:12px; font-weight:600; }
.card-cart-form button span { font-size:20px; line-height:1; }
.mobile-category-menu { display:none; }
.catalog-empty { grid-column:1/-1; padding:40px 20px; border:1px solid #e6e1d7; border-radius:7px; background:#faf8f3; }
.catalog-empty a { color:#a52629; }
.procurement-seo { margin-top:65px; border-top:1px solid #ebe6dc; padding-top:35px; max-width:1040px; }
.procurement-seo h2,.procurement-faq h2 { font-size:27px; margin:0 0 20px; letter-spacing:-.4px; }
.procurement-seo h3 { font-size:20px; margin:27px 0 12px; }
.procurement-seo p { font-size:15px; line-height:1.7; color:#6b645a; margin:0 0 15px; }
.procurement-seo a,.service-page a:not(.procurement-primary) { color:#a22d2c; text-decoration-color:#ddbbb2; text-underline-offset:3px; }
.procurement-faq { max-width:1040px; margin-top:42px; }
.procurement-faq details { border-bottom:1px solid #e8e4db; padding:18px 0; }
.procurement-faq summary { font-size:16px; font-weight:650; cursor:pointer; }
.procurement-faq p { color:#6b645a; font-size:15px; line-height:1.6; max-width:900px; }
.procurement-footer { background:#f7f5ef; border-top:1px solid #eae5db; padding:34px 0 22px; }
.footer-brand { color:#262626; text-decoration:none; font-weight:800; font-size:21px; }
.footer-brand span { color:#b62227; }
.footer-inner>nav { display:flex; flex-wrap:wrap; gap:24px; margin:20px 0 25px; }
.footer-inner>nav a { color:#514d46; text-decoration:none; font-size:13px; }
.footer-small { display:flex; flex-wrap:wrap; gap:12px 25px; color:#847d71; font-size:11px; }
.footer-small a { color:inherit; text-decoration:none; }
.storefront .breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; font-size:12px; color:#938a7b; margin:8px 0 25px; }
.breadcrumbs a { color:#746c60; }
.service-page { padding-block:35px 65px; max-width:1050px!important; }
.storefront .service-page h1 { font-size:40px; max-width:850px; margin:0 0 24px; }
.service-intro { font-size:21px; line-height:1.55; color:#685f54; }
.service-page section { margin:30px 0; }
.service-page section h2 { font-size:23px; }
.service-page p { line-height:1.7; }
.service-links { display:flex; gap:24px; flex-wrap:wrap; margin-top:40px; font-size:14px; }
.detail-public-price { display:flex; align-items:baseline; gap:12px; margin:25px 0 15px; }
.detail-public-price strong { font-size:36px; }
.detail-public-price span { color:#8a8174; font-size:14px; }
.stock-location-details { font-size:13px; margin:15px 0; color:#746b5d; }
.stock-location-details summary { cursor:pointer; }
.stock-location-details dl div { display:flex; justify-content:space-between; gap:20px; padding-block:6px; }
.stock-location-details dd { margin:0; }
.pack-description { font-size:13px; color:#817768; }
.inquiry-overlay[hidden],.inquiry-confirmation[hidden],.inquiry-errors[hidden] { display:none!important; }
.inquiry-overlay { position:fixed; z-index:1000; inset:0; background:rgba(32,30,26,.60); display:flex; justify-content:center; align-items:center; padding:24px; overflow-y:auto; }
.inquiry-dialog { background:#fff; position:relative; padding:36px 40px 28px; border-radius:12px; width:min(620px,100%); max-height:calc(100dvh - 48px); overflow-y:auto; box-shadow:0 22px 90px #0004; outline:none; }
.inquiry-close { position:absolute; right:14px; top:8px; background:transparent; border:0; color:#8b8378; width:40px; height:40px; padding:0; font-size:31px; font-weight:400; }
.inquiry-intro h2,.storefront .request-panel h1 { font-size:30px; letter-spacing:-.6px; line-height:1.2; margin:0 0 10px; }
.inquiry-intro p,.request-panel>p { color:#827869; font-size:14px; line-height:1.5; margin:0 0 24px; max-width:460px; }
.inquiry-contact-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.inquiry-form label { font-size:13px; color:#524c43; display:block; }
.inquiry-form input:not([type=checkbox]):not([type=file]):not([type=hidden]),.inquiry-form textarea { font:inherit; width:100%; min-height:46px; background:#fff; border:1px solid #dcd6cc; border-radius:5px; padding:12px; margin-top:7px; box-sizing:border-box; color:#39352f; }
.inquiry-form textarea { resize:vertical; min-height:100px; }
.inquiry-upload { position:relative; border:1px dashed #c9bca7; border-radius:6px; background:#fbf9f5; margin:20px 0; text-align:center; }
.inquiry-upload label { padding:18px 10px; display:flex; flex-direction:column; align-items:center; cursor:pointer; }
.upload-symbol { width:25px; height:28px; border:1.5px solid #ac9c82; border-radius:2px; color:#8c795c; font-size:22px; line-height:24px; margin-bottom:10px; }
.inquiry-upload strong { color:#70604a; font-weight:600; font-size:14px; }
.inquiry-upload label>span:last-child { font-size:11px; color:#9d9180; margin-top:7px; }
.inquiry-upload input[type=file] { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; }
.inquiry-upload:focus-within { outline:2px solid #b62227; outline-offset:3px; }
.inquiry-file-names { display:block; font-size:12px; line-height:1.4; color:#817058; padding:0 10px; overflow-wrap:anywhere; }
.inquiry-file-names:not(:empty) { padding-bottom:14px; }
.inquiry-form .inquiry-consent { display:flex; align-items:flex-start; gap:9px; margin:16px 0 20px; color:#8a8071; font-size:11px; }
.inquiry-consent input { margin:0; padding:0; width:16px; height:16px; min-height:16px; accent-color:#b62227; flex-shrink:0; }
.inquiry-consent a { color:inherit; text-underline-offset:2px; }
.inquiry-submit { border:0; border-radius:5px; background:#b62227; color:white; width:100%; min-height:48px; padding:12px; font-size:14px; font-weight:650; }
.inquiry-submit:disabled { opacity:.6; cursor:wait; }
.inquiry-free { font-size:11px; color:#a29683; text-align:center; margin:12px 0 0; }
.inquiry-errors { color:#a72126; background:#fff4f1; border-radius:5px; padding:10px 14px; font-size:13px; margin-bottom:16px; }
.inquiry-errors p { margin:5px 0; }
.inquiry-confirmation { text-align:center; padding:35px 0; }
.inquiry-confirmation h3 { font-size:27px; }
.inquiry-confirmation p { color:#7d7260; font-size:15px; line-height:1.5; }
.confirmation-check { color:#628450; font-size:50px; }
.inquiry-done { background:#b62227; color:#fff; border:0; border-radius:5px; padding:12px 35px; margin-top:18px; }
.request-page { padding-block:40px 60px; }
.request-panel { max-width:620px; margin-inline:auto; border:1px solid #e7e0d5; border-radius:10px; padding:32px 40px; }
.storefront :focus-visible { outline:2px solid #b62227; outline-offset:3px; }
.storefront .pagination { margin-top:28px; display:flex; gap:20px; justify-content:center; font-size:14px; }
@media(min-width:1700px) { .hero-inner { padding-block:75px; } .procurement-hero { min-height:545px; } }
@media(max-width:1200px) {
  .storefront .shop-shell { width:calc(100% - 48px); }
  .procurement-nav { gap:17px; }
  .header-location { display:none; }
  .hero-copy { max-width:520px; }
  .hero-copy h1 { font-size:44px!important; }
  .hero-subtitle { font-size:19px; }
  .hero-description { font-size:14px; }
  .procurement-catalog { grid-template-columns:210px minmax(0,1fr); gap:22px; }
  .procurement-product-grid { gap:12px; }
  .storefront .procurement-card .product-card-main { padding-inline:12px; }
  .storefront .procurement-card .product-visual { height:145px; }
  .card-price strong { font-size:18px; }
  .benefits-inner>span { font-size:13px; }
}
@media(max-width:980px) {
  .procurement-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .header-delivery { display:none; }
  .hero-background:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#f6f1e8 35%,#f6f1e822 80%); }
  .benefits-inner { display:grid; grid-template-columns:1fr 1fr; gap:15px 25px; }
  .procurement-section-head h2,.storefront .procurement-section-head h1 { font-size:25px; }
  .material-request-strip h2 { font-size:21px; }
}
@media(max-width:680px) {
  .cart-feedback { right:16px; bottom:16px; width:calc(100% - 32px); }
  .storefront .shop-shell { width:calc(100% - 32px); }
  .procurement-nav { min-height:0; padding-block:12px; gap:10px 14px; flex-wrap:wrap; }
  .procurement-brand { margin-right:auto; }
  .header-location { display:flex; order:2; width:100%; justify-content:space-between; align-items:center; font-size:11px; }
  .header-location>a { font-size:12px; margin:0; }
  .procurement-brand img { width:31px; height:39px; }
  .procurement-brand>span { font-size:17px; }.procurement-brand>span>span { font-size:15px; }
  .procurement-catalog-button { order:3; padding:11px 13px; font-size:13px; height:42px; }
  .procurement-search { order:4; flex:1; height:42px; }
  .header-cart { margin-left:auto; font-size:12px; gap:5px; }.header-cart svg { width:19px; }
  .procurement-hero { min-height:0; padding-bottom:178px; }
  .hero-inner { padding-top:29px; padding-bottom:5px; }
  .hero-background img { object-fit:cover; object-position:80% bottom; }
  .hero-background:after { background:linear-gradient(180deg,#f6f1e8 0%,#f6f1e8 52%,#f6f1e840 75%,transparent 100%); }
  .hero-copy { max-width:none; }.storefront .hero-copy h1 { font-size:32px!important; letter-spacing:-.95px; line-height:1.14; margin-bottom:18px; }
  .hero-subtitle { font-size:17px; margin-bottom:13px; }.hero-description { font-size:13px; line-height:1.5; margin-bottom:22px; }.hero-description br { display:none; }
  .procurement-primary { font-size:12px; min-height:47px; padding-inline:21px; }
  .benefits-inner { padding-block:18px; gap:14px 15px; }.benefits-inner>span { font-size:12px; line-height:1.35; gap:8px; }.benefits-inner i { font-size:19px; }
  .procurement-main { padding-top:19px; }
  .material-request-strip { padding:18px; display:block; margin-bottom:25px; }.material-request-strip h2 { font-size:18px; }.material-request-strip p { font-size:12px; line-height:1.45; }.material-request-strip>a { width:max-content; font-size:10px; padding:10px 14px; margin-top:14px; gap:18px; }
  .procurement-catalog { display:block; }.procurement-sidebar { display:none; }.mobile-category-menu { display:block; border:1px solid #e0dace; border-radius:6px; margin-bottom:20px; }
  .mobile-category-menu>summary { cursor:pointer; padding:13px 16px; font-size:13px; font-weight:600; }.mobile-category-menu nav { max-height:60dvh; overflow-y:auto; overscroll-behavior:contain; }
  .mobile-category-menu .category-panel { position:static; width:auto; max-height:none; overflow:visible; border:0; border-radius:0; box-shadow:none; padding:0 0 4px 12px; margin-left:16px; border-left:1px solid #e8e1d6; }
  .mobile-category-menu .category-branch>summary,.mobile-category-menu nav a { min-height:44px; padding:12px 16px; }.mobile-category-menu .category-branch[open]>summary .category-arrow { transform:rotate(90deg); }
  .procurement-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.procurement-section-head { gap:10px; min-height:0; margin-bottom:16px; }.procurement-section-head h2,.storefront .procurement-section-head h1 { font-size:23px; }.procurement-section-head>a { font-size:11px; padding-top:4px; }
  .storefront .procurement-card .product-visual { height:125px; padding:10px; }.storefront .procurement-card .product-name { font-size:12px; min-height:51px; margin-bottom:10px; }.storefront .procurement-card .product-card-main { padding:0 12px 12px; }.card-availability { font-size:10px; margin-bottom:10px; }.card-price { gap:4px; margin-bottom:12px; }.card-price strong { font-size:17px; }.card-price>span { font-size:10px; }.storefront .procurement-card .card-cart-form button { font-size:11px; padding:8px 10px; }
  .procurement-seo { margin-top:40px; padding-top:25px; }.procurement-seo h2,.procurement-faq h2 { font-size:23px; }.procurement-seo h3 { font-size:18px; }.procurement-seo p,.procurement-faq p { font-size:13px; }.procurement-faq summary { font-size:14px; }
  .footer-inner>nav { gap:15px 20px; }.footer-small { flex-direction:column; gap:10px; }
  .service-page { padding-top:25px; }.storefront .service-page h1 { font-size:30px; }.service-intro { font-size:17px; }.service-page section h2 { font-size:21px; }
  .inquiry-overlay { padding:12px; }.inquiry-dialog { padding:30px 22px 22px; border-radius:10px; max-height:calc(100dvh - 24px); }.inquiry-intro h2,.storefront .request-panel h1 { font-size:26px; }.inquiry-intro p { font-size:12px; margin-bottom:20px; }.inquiry-contact-row { grid-template-columns:1fr; gap:13px; }.inquiry-upload { margin:16px 0; }.inquiry-upload label { padding:14px 8px; }.inquiry-upload label>span:last-child { font-size:10px; }.inquiry-form textarea { min-height:80px; }.inquiry-form .inquiry-consent { margin:13px 0 18px; }.request-panel { padding:25px 20px; }
}
@media(prefers-reduced-motion:reduce) { .storefront * { scroll-behavior:auto!important; transition:none!important; } }
