/* Laravel dynamic pages rendered inside the original theme chrome */
.page { padding: 2.5rem 0 5rem; }
.page.narrow, .narrow { max-width: 760px; }
.page h1, .prose h1 { font-size: 2.1875rem; font-weight: 700; text-transform: uppercase; margin-bottom: 1.5rem; }
.page h2 { font-size: 1.25rem; text-transform: uppercase; letter-spacing: .06em; margin-top: 2rem; }
.page-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 1.5rem; border-bottom: 1px solid #e4e4e4; padding-bottom: 1rem; }
.page-head p { margin: 0; color: #767676; }
.filters { display: grid; grid-template-columns: 1.4fr .9fr .9fr auto; gap: .75rem; margin-bottom: 2rem; }
.filters input, .filters select, .stack input, .stack select, .stack textarea { height: 3.4375rem; border: 1px solid #e4e4e4; border-radius: 0; padding: 0 1rem; background: #fff; width: 100%; }
.stack { display: grid; gap: 1rem; }
.stack textarea { height: auto; padding: .75rem 1rem; }
.stack label, .checkout label { display: grid; gap: .375rem; font-size: .875rem; text-transform: uppercase; letter-spacing: .05em; color: #767676; }
.split, .checkout { display: grid; grid-template-columns: 1.3fr .7fr; gap: 2.5rem; align-items: start; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem; }
.form-grid input, .form-grid select { height: 3.4375rem; border: 1px solid #e4e4e4; border-radius: 0; padding: 0 1rem; width: 100%; background: #fff; }
.span-2 { grid-column: span 2; }
.summary { border: 1px solid #e4e4e4; padding: 1.5rem; background: #fff; }
.summary h2 { margin-top: 0; }
.summary p { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .6rem; }
.summary .total { font-size: 1.125rem; font-weight: 600; border-top: 1px solid #e4e4e4; padding-top: .75rem; }
.cart-line { display: grid; grid-template-columns: 92px 1fr auto; gap: 1.25rem; align-items: center; border-bottom: 1px solid #e4e4e4; padding: 1rem 0; }
.cart-line img { width: 92px; height: 112px; object-fit: cover; }
.cart-line p { margin: .15rem 0; }
.cart-line .qty-form { display: flex; gap: .5rem; align-items: center; }
.qty-form input { width: 70px; height: 2.5rem; border: 1px solid #e4e4e4; padding: 0 .5rem; }
.coupon { display: grid; grid-template-columns: 1fr auto; gap: .5rem; margin: 1rem 0; }
.coupon input { height: 3rem; border: 1px solid #e4e4e4; padding: 0 1rem; }
.muted, .price-lg s { color: #767676; }
.price-lg { font-size: 1.375rem; margin: .75rem 0 1rem; }
.price-lg s { margin-left: .5rem; font-size: 1rem; }
.check { display: flex; gap: .5rem; align-items: flex-start; margin: .75rem 0; font-size: .9375rem; }
.check input { margin-top: .2rem; }
.note { background: #f7f3d7; padding: .75rem 1rem; font-size: .9375rem; border-radius: 4px; }
.mask-preview { font-size: .9375rem; color: #767676; }
.mask-preview strong { color: #222; font-family: ui-monospace, monospace; }
.flash { margin: 1rem auto; padding: .75rem 1rem; }
.flash.ok { background: #def2d7; }
.flash.bad { background: #f8d7da; }
.prose { padding: 2.5rem 0 5rem; max-width: 820px; }
.prose h2 { font-size: 1.25rem; text-transform: uppercase; letter-spacing: .05em; margin-top: 2rem; }
.prose p, .prose li { line-height: 1.75rem; }
.buy-box { display: grid; gap: .75rem; margin: 1.25rem 0; max-width: 380px; }
.buy-box select, .buy-box input { height: 3.4375rem; border: 1px solid #e4e4e4; padding: 0 1rem; background: #fff; }
.pc__btn-wl[data-wish] { border: 0; background: transparent; cursor: pointer; padding: .25rem; }
.btn.btn-dark { background: #222; color: #fff; border-color: #222; }
.btn.btn-ghost { background: transparent; border: 1px solid #222; }
@media (max-width: 991.98px) {
  .filters, .split, .checkout, .form-grid { grid-template-columns: 1fr 1fr; }
  .span-2 { grid-column: span 2; }
}
@media (max-width: 767.98px) {
  .filters, .split, .checkout, .form-grid { grid-template-columns: 1fr; }
  .span-2 { grid-column: auto; }
  .cart-line { grid-template-columns: 72px 1fr; }
  .cart-line .qty-form { grid-column: 1 / -1; }
}
