/* Shopping controls; deliberately scoped to preserve the catalogue design. */
header .header .search { max-width: 255px; min-width: 100px; flex: 1 1 255px; }
header .header .search input { min-width: 0; }
header .ps-header-cart { display: inline-flex; position: relative; align-items: center; gap: 6px; flex: 0 0 auto; padding: 10px 8px; margin: 5px 10px 0; color: #13459b; font-size: 13px; border-radius: 9px; }
header .ps-header-cart:hover { background: #eef4fc; }
.ps-cart-count { display: inline-flex; justify-content: center; align-items: center; min-width: 19px; height: 19px; padding: 0 4px; border-radius: 10px; background: #ee802f; color: white; font-size: 11px; line-height: 1; }
.ps-purchase { margin: 18px 0; }
.ps-purchase label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 600; }
.ps-buy-row { display: flex; gap: 10px; flex-wrap: wrap; }
.ps-quantity { display: flex; height: 46px; border: 1px solid #d6dfe9; border-radius: 9px; overflow: hidden; flex: 0 0 125px; background: white; }
.ps-quantity button { width: 34px; border: 0; background: #f3f6fa; font-size: 22px; cursor: pointer; color: #13459b; }
.ps-quantity input { width: 55px; min-width: 0; border: 0; text-align: center; font-size: 16px; -moz-appearance: textfield; }
.ps-quantity input::-webkit-inner-spin-button,.ps-quantity input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ps-buy-button { flex: 1 1 120px; min-height: 46px; padding: 11px 16px; border: 0; border-radius: 9px; background: #ee802f; color: white; font-size: 16px; font-weight: 650; cursor: pointer; }
.ps-buy-button:hover { background: #d86b1d; }
.ps-buy-button:disabled { opacity: .65; cursor: wait; }
.ps-purchase-message { margin-top: 12px; color: #23683b; font-size: 14px; line-height: 1.5; }
.ps-purchase-message.is-error { color: #b3261e; }
.ps-purchase-cart { display: inline-block; margin-top: 8px; color: #13459b; font-weight: 600; text-decoration: underline; }
.ps-purchase [hidden] { display: none; }
.ps-purchase-option { margin-bottom: 12px; }
.ps-purchase-option input,.ps-purchase-option select,.ps-purchase-option textarea { width: 100%; padding: 10px; border: 1px solid #ced8e5; border-radius: 6px; }
.ps-commerce { margin-top: 30px; margin-bottom: 55px; color: #222; line-height: 1.5; min-height: 280px; }
.ps-commerce h1 { font-size: 30px; line-height: 1.2; margin: 16px 0 25px; }
.ps-commerce h2 { font-size: 21px; margin: 20px 0 12px; }
.ps-commerce h3,.ps-commerce h4 { font-size: 17px; font-weight: 600; }
.ps-commerce p { margin-bottom: 14px; }
.ps-commerce a { color: #13459b; }
.ps-commerce .breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 15px; font-size: 13px; }
.ps-commerce .breadcrumb li+li:before { content: '/'; margin-right: 8px; color: #8795a7; }
.ps-commerce .row { display: flex; flex-wrap: wrap; margin: 0 -10px; }
.ps-commerce .row > [class*="col-"] { padding: 0 10px; min-width: 0; width: 100%; }
.ps-commerce .form-group { margin-bottom: 16px; }
.ps-commerce label { display: inline-block; margin-bottom: 6px; }
.ps-commerce .control-label { font-weight: 500; }
.ps-commerce .required .control-label:before { content:'* '; color: #b3261e; }
.ps-commerce .form-control { display: block; width: 100%; height: 43px; padding: 9px 12px; font-size: 15px; color: #222; border: 1px solid #ccd6e3; border-radius: 6px; background: white; }
.ps-commerce textarea.form-control { height: auto; min-height: 90px; }
.ps-commerce select.form-control { appearance: auto; }
.ps-commerce input[type=checkbox],.ps-commerce input[type=radio] { margin-right: 6px; width: 17px; height: 17px; accent-color: #13459b; vertical-align: middle; }
.ps-commerce .checkbox,.ps-commerce .radio { margin: 10px 0; }
.ps-commerce .btn { display: inline-block; border: 1px solid #ccd6e3; padding: 10px 15px; border-radius: 7px; cursor: pointer; font-size: 14px; font-weight: 500; line-height: 1.4; background: white; color: #13459b; text-align: center; }
.ps-commerce .btn-primary { color: white; background: #ee802f; border-color: #ee802f; }
.ps-commerce .btn-danger { color: #a32d29; background: #fff5f4; border-color: #ebc4c0; }
.ps-commerce .btn:disabled { opacity: .6; cursor: wait; }
.ps-commerce .buttons { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; margin: 22px 0; }
.ps-commerce .buttons:before,.ps-commerce .buttons:after { display: none; }
.ps-commerce .pull-right { margin-left: auto; }
.ps-commerce .panel { border: 1px solid #dbe3ed; border-radius: 9px; margin-bottom: 12px; background: white; overflow: hidden; }
.ps-commerce .panel-heading { padding: 16px 20px; background: #f4f7fb; }
.ps-commerce .panel-heading a { display: block; }
.ps-commerce .panel-body { padding: 20px; }
.ps-commerce .collapse { display: none; }
.ps-commerce .collapse.in { display: block; }
.ps-commerce .collapsing { height: 0; overflow: hidden; transition: height .3s ease; }
.ps-commerce fieldset { border: none; min-width: 0; margin-bottom: 15px; }
.ps-commerce legend { font-size: 19px; font-weight: 600; padding-bottom: 10px; margin-bottom: 15px; width: 100%; border-bottom: 1px solid #e5e9ee; }
.ps-commerce .table-responsive { overflow-x: auto; }
.ps-commerce table { width: 100%; border-collapse: collapse; margin: 12px 0 20px; font-size: 14px; }
.ps-commerce th,.ps-commerce td { padding: 13px 10px; border-bottom: 1px solid #e2e8ef; vertical-align: middle; }
.ps-commerce thead { background: #f4f7fb; font-weight: 600; }
.ps-commerce .text-right { text-align: right; }
.ps-commerce .text-left { text-align: left; }
.ps-commerce .text-center { text-align: center; }
.ps-commerce .img-thumbnail { max-width: 85px; height: auto; }
.ps-commerce .input-group { display: flex; align-items: stretch; gap: 6px; min-width: 180px; }
.ps-commerce .input-group .form-control { min-width: 55px; }
.ps-commerce .input-group-btn { display: flex; flex-wrap: wrap; gap: 5px; }
.ps-commerce .input-group-btn .btn { padding: 7px 9px; font-size: 12px; }
.ps-commerce .alert { padding: 14px 18px; margin: 15px 0; border-radius: 7px; background: #edf4ff; }
.ps-commerce .alert-danger { background: #fff0ef; color: #a32d29; }
.ps-commerce .alert-success { background: #edf8ef; color: #23683b; }
.ps-commerce .text-danger { color: #b3261e; font-size: 13px; }
.ps-commerce .has-error .form-control { border-color: #b3261e; }
.ps-commerce .close { float: right; background: transparent; border: 0; cursor: pointer; font-size: 20px; }
.ps-commerce .hidden { display: none !important; }
.ps-commerce .well { padding: 20px; background: #f4f7fb; border-radius: 8px; margin-bottom: 15px; }
.ps-commerce .ps-checkout-link { padding: 13px 25px; font-size: 17px; }
.ps-cart-empty { padding-top: 30px; padding-bottom: 30px; }
@media (min-width:768px) {
 .ps-commerce .row>.col-sm-6 { width: 50%; }
 .ps-commerce .row>.col-sm-4 { width: 33.333%; }
 .ps-commerce .row>.col-sm-8 { width: 66.667%; }
 .ps-commerce .row>.col-sm-9 { width: 75%; }
 .ps-commerce .row>.col-sm-3 { width: 25%; }
 .ps-commerce .col-sm-offset-8 { margin-left: 66.667%; }
}
@media (max-width:1192px) and (min-width:1081px) { header .ps-header-cart__label { display: none; } }
@media (max-width:1080px) {
 header .header .search { min-width: 24px; max-width: 50px; flex: 0 0 24px; margin-left: auto; }
 header .ps-header-cart { order: 4; margin: 0 12px; padding: 5px; }
 header .ps-header-cart__label { display: none; }
 header .header .contact { order: 5; flex: 0 0 auto; }
 header .ps-cart-count { position: absolute; top: -3px; right: -5px; min-width: 17px; height: 17px; font-size: 10px; }
}
@media (max-width:767px) {
 header .header { gap: 8px; }
 header .header .logo { min-width: 0; flex: 1 1 auto; }
 header .header .logo img { max-width: 100%; width: 220px; height: auto; }
 header .ps-header-cart { margin: 0; }
 header .header .search { margin: 0; }
 .ps-commerce { margin-top: 18px; margin-bottom: 30px; }
 .ps-commerce h1 { font-size: 25px; }
 .ps-commerce .panel-body { padding: 15px; }
 .ps-commerce .buttons > div { width: 100%; }
 .ps-commerce .buttons .btn { width: 100%; }
 .ps-commerce .table-responsive table { min-width: 650px; }
}

.ps-delivery-note { padding: 12px 16px; background: #f4f7fb; border-radius: 8px; }
@media (max-width:767px) {
 #checkout-cart form .table-responsive { overflow: visible; }
 #checkout-cart form table { min-width: 0; display: block; }
 #checkout-cart form thead { display: none; }
 #checkout-cart form tbody { display: block; }
 #checkout-cart form tbody tr { display: grid; grid-template-columns: 65px minmax(0,1fr); border: 1px solid #dde5ee; border-radius: 10px; padding: 12px; margin-bottom: 12px; }
 #checkout-cart form tbody td { display: block; border: none; padding: 8px 0; text-align: left; overflow-wrap: anywhere; }
 #checkout-cart form tbody td:nth-child(n+3) { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #edf0f5; }
 #checkout-cart form tbody td[data-label]:before { content: attr(data-label); color: #687486; font-size: 12px; flex: 0 0 82px; }
 #checkout-cart form tbody td:nth-child(3) { font-size: 13px; }
 #checkout-cart form .input-group { min-width: 0; width: 190px; }
 #checkout-cart form .input-group .form-control { width: 65px; }
 #checkout-cart form tbody td:last-child { font-weight: 650; }
}
/* Existing agreement dialog used by the checkout form. */
#modal-agree { position: fixed; inset: 0; z-index: 1050; display: none; overflow: auto; padding: 25px 12px; background: rgba(10,25,45,.45); }
#modal-agree .modal-dialog { max-width: 720px; margin: 20px auto; }
#modal-agree .modal-content { background: white; border-radius: 12px; box-shadow: 0 15px 60px #0003; }
#modal-agree .modal-header { padding: 18px 22px; border-bottom: 1px solid #e5e9ee; }
#modal-agree .modal-body { padding: 22px; line-height: 1.6; }
#modal-agree .modal-body p { margin-bottom: 12px; }
#modal-agree .close { float: right; border: 0; background: transparent; font-size: 25px; cursor: pointer; }
