/* Sorrell & Smith — basket page + "Complete your dining set" chair panel.
   Black & white brand: black buttons and text, white page, light grey panels.
   Headings Abel, buttons/labels Oswald (uppercase, letter-spaced), body Actor. */

:root{
  --ss-ink:#111111; --ss-text:#222222; --ss-soft:#666666; --ss-mute:#8A8A8A;
  --ss-line:#E4E4E4; --ss-panel:#F4F4F4; --ss-hover:#3A3A3A; --ss-green:#3F7A4A;
  --ss-head:'Abel',Helvetica,Arial,sans-serif; --ss-btn:'Oswald',Helvetica,Arial,sans-serif;
}

/* ------------------------------------------------------------ Basket page */

/* Full width: no category sidebar or divider line. */
.ss-cart #sidebar{display:none !important}
.ss-cart #left-area{width:100% !important;float:none !important;padding:0 !important}
.ss-cart #main-content .container:before{display:none !important}
.ss-cart #main-content .container{padding-top:44px;padding-bottom:72px}
.ss-cart .entry-title.main_title{font-family:var(--ss-head);font-size:clamp(30px,3.4vw,42px);color:var(--ss-text);margin:0 0 26px;padding:0}

/* Two columns: items | sticky order summary. */
.ss-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 380px;column-gap:48px;align-items:start}
.ss-cart .woocommerce > *{grid-column:1 / -1}
.ss-cart .woocommerce > .woocommerce-cart-form{grid-column:1;grid-row:2}
.ss-cart .woocommerce > .ss-upsell{grid-column:1;grid-row:3}
.ss-cart .woocommerce > .cart-collaterals{grid-column:2;grid-row:2 / span 2;position:sticky;top:110px;width:auto;margin:0}

/* Notices (Divi paints these orange). */
.ss-cart .woocommerce-message,.ss-cart .woocommerce-info,.ss-cart .woocommerce-error{
  background:#fff !important;color:var(--ss-text) !important;border:1px solid var(--ss-line) !important;border-left:3px solid var(--ss-ink) !important;
  border-radius:0 !important;padding:14px 18px !important;font-size:14.5px !important;box-shadow:none !important;margin:0 0 20px !important;list-style:none}
.ss-cart .woocommerce-error{border-left-color:#B3261E !important}
.ss-cart .woocommerce-message a:not(.button),.ss-cart .woocommerce-info a:not(.button){color:var(--ss-ink);text-decoration:underline}
.ss-cart .woocommerce-message .button,.ss-cart .woocommerce-info .button{float:right;margin:-4px 0 0 16px}

/* Buttons: kill Divi's hover arrow + padding jump, then brand them. */
.ss-cart .button:after,.ss-cart .button:before,.ss-upsell .button:after{display:none !important}
.ss-cart .woocommerce .button,.ss-cart .woocommerce button.button{
  font-family:var(--ss-btn) !important;font-size:13px !important;font-weight:500 !important;letter-spacing:2px;text-transform:uppercase;
  color:var(--ss-ink) !important;background:#fff !important;border:1px solid var(--ss-ink) !important;border-radius:0 !important;
  padding:11px 20px !important;line-height:1.3 !important;transition:background .15s,color .15s}
.ss-cart .woocommerce .button:hover,.ss-cart .woocommerce button.button:hover{background:var(--ss-ink) !important;color:#fff !important}
.ss-cart .woocommerce button.button:disabled,.ss-cart .woocommerce button.button[disabled]{opacity:.4 !important;background:#fff !important;color:var(--ss-ink) !important;cursor:default}

/* Items table */
.ss-cart table.shop_table.cart{border:0 !important;border-radius:0 !important;border-collapse:collapse !important;margin:0 !important;width:100%}
.ss-cart table.shop_table.cart th{font-family:var(--ss-btn);font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--ss-mute);
  background:none !important;border:0 !important;border-bottom:1px solid var(--ss-line) !important;padding:0 10px 12px !important}
.ss-cart table.shop_table.cart td{border:0 !important;border-bottom:1px solid var(--ss-line) !important;padding:20px 10px !important;vertical-align:middle;background:none !important;color:var(--ss-text);font-size:15px}
.ss-cart table.cart .product-remove{width:40px;padding-left:0 !important}
.ss-cart table.cart a.remove{display:inline-flex !important;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50% !important;
  border:1px solid var(--ss-line);color:var(--ss-mute) !important;font-size:20px !important;line-height:1 !important;font-weight:400 !important;background:#fff}
.ss-cart table.cart a.remove:hover{background:var(--ss-ink) !important;border-color:var(--ss-ink);color:#fff !important}
.ss-cart table.cart .product-thumbnail{width:112px}
.ss-cart table.cart .product-thumbnail img{width:96px !important;height:96px !important;max-width:none !important;object-fit:cover;border:1px solid var(--ss-line);display:block}
.ss-cart table.cart .product-name a{font-family:var(--ss-head);font-size:19px;line-height:1.3;color:var(--ss-text) !important;text-decoration:none}
.ss-cart table.cart .product-name a:hover{text-decoration:underline}
.ss-cart table.cart .product-name dl.variation{font-size:13px;color:var(--ss-soft);margin:6px 0 0}
.ss-cart table.cart .product-price{color:var(--ss-text)}
.ss-cart table.cart .product-price del,.ss-cart .cart_totals del{color:var(--ss-mute);margin-right:4px}
.ss-cart table.cart .product-price ins{text-decoration:none}
.ss-cart table.cart .product-price small{color:var(--ss-soft);font-size:12.5px}
.ss-cart table.cart .product-subtotal{font-weight:600;color:var(--ss-ink);text-align:right}
.ss-cart table.cart th.product-subtotal{text-align:right}
.ss-cart .quantity .qty{width:66px !important;height:44px;border:1px solid #CCCCCC !important;border-radius:0 !important;background:#fff !important;
  color:var(--ss-text) !important;font-size:15px !important;text-align:center;padding:0 4px !important;box-shadow:none !important}
.ss-cart .quantity .qty:focus{border-color:var(--ss-ink) !important;outline:none}
.ss-cart table.cart td.actions{border-bottom:0 !important;padding:18px 0 0 !important;text-align:right}
.ss-cart table.cart td.actions .coupon{float:left}

/* Order summary card */
.ss-cart .cart-collaterals .cart_totals{float:none !important;width:100% !important;background:var(--ss-panel);padding:26px 26px 22px;box-sizing:border-box}
.ss-cart .cart_totals h2{font-family:var(--ss-head);font-size:26px;color:var(--ss-text);margin:0 0 12px;padding:0}
.ss-cart .cart_totals table.shop_table{border:0 !important;border-radius:0 !important;background:none !important;margin:0 !important}
.ss-cart .cart_totals table th,.ss-cart .cart_totals table td{border:0 !important;border-top:1px solid #DCDCDC !important;background:none !important;padding:14px 0 !important;font-size:14.5px;color:var(--ss-text);vertical-align:top}
.ss-cart .cart_totals table tr:first-child th,.ss-cart .cart_totals table tr:first-child td{border-top:0 !important}
.ss-cart .cart_totals table th{font-weight:600;text-align:left;width:38%}
.ss-cart .cart_totals table td{text-align:right}
.ss-cart .cart_totals #shipping_method{margin:0;padding:0;list-style:none}
.ss-cart .cart_totals #shipping_method li{margin:0 0 6px;text-align:right}
.ss-cart .cart_totals #shipping_method li label{color:var(--ss-text)}
.ss-cart .cart_totals .woocommerce-shipping-destination{font-size:13px;color:var(--ss-soft);margin:6px 0 2px}
.ss-cart .cart_totals .shipping-calculator-button{color:var(--ss-ink) !important;text-decoration:underline;font-size:13px}
.ss-cart .cart_totals .shipping-calculator-button:after{display:none}
.ss-cart .cart_totals .shipping-calculator-form input,.ss-cart .cart_totals .shipping-calculator-form select{border:1px solid #CCC;border-radius:0;background:#fff;padding:8px 10px}
.ss-cart .cart_totals .order-total th{font-size:16px}
.ss-cart .cart_totals .order-total td strong,.ss-cart .cart_totals .order-total .amount{font-family:var(--ss-head);font-size:26px;color:var(--ss-ink);font-weight:600}
.ss-cart .cart_totals .includes_tax{display:block;font-size:12px;color:var(--ss-soft)}
.ss-cart .wc-proceed-to-checkout{padding:18px 0 0 !important}
.ss-cart .wc-proceed-to-checkout a.checkout-button{display:block !important;width:100%;box-sizing:border-box;margin:0 !important;background:var(--ss-ink) !important;color:#fff !important;
  border:0 !important;font-size:16px !important;letter-spacing:3px;padding:18px 16px !important;text-align:center}
.ss-cart .wc-proceed-to-checkout a.checkout-button:hover{background:var(--ss-hover) !important;color:#fff !important}
.ss-cart-secure{display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px;color:var(--ss-soft);margin:12px 0 0 !important;padding:0 !important}
.ss-cart .ppc-button-wrapper,.ss-cart #ppc-button-ppcp-gateway{margin-top:14px}

/* Cross-sells, full width under everything */
.ss-cart .cross-sells{width:100% !important;float:none !important;margin-top:48px}
.ss-cart .cross-sells > h2{font-family:var(--ss-head);font-size:26px;color:var(--ss-text);margin:0 0 18px}
.ss-cart .cross-sells .price{color:var(--ss-text) !important}

/* Empty basket */
.ss-cart .wc-empty-cart-message{text-align:center}
.ss-cart .cart-empty.woocommerce-info{border-left:1px solid var(--ss-line) !important;text-align:center;padding:40px 20px !important;font-size:16px !important}
.ss-cart .return-to-shop{text-align:center;margin-top:18px}
.ss-cart .return-to-shop .button{background:var(--ss-ink) !important;color:#fff !important;padding:14px 26px !important}

/* ------------------------------------------------------------ Chair panel */

.ss-upsell{background:var(--ss-panel);padding:26px;margin:36px 0 0;box-sizing:border-box}
.ss-upsell-kicker{font-family:var(--ss-btn);font-size:12px;letter-spacing:2.4px;text-transform:uppercase;color:#777;margin:0 0 6px !important;padding:0 !important}
.ss-upsell h3{font-family:var(--ss-head);font-size:24px;color:var(--ss-text);margin:0 0 6px;padding:0;line-height:1.25}
.ss-upsell-note{font-size:14px;color:var(--ss-soft);margin:0 0 18px !important;padding:0 !important}
.ss-upsell-note strong{color:var(--ss-green)}
.ss-upsell-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ss-upsell-card{display:flex;flex-direction:column;text-decoration:none !important;color:inherit}
.ss-upsell-img{display:block;aspect-ratio:1;background:#fff;border:1px solid var(--ss-line);overflow:hidden}
.ss-upsell-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.ss-upsell-card:hover .ss-upsell-img img{transform:scale(1.04)}
.ss-upsell-name{font-family:var(--ss-head);font-size:17px;color:var(--ss-text);margin:9px 0 1px;line-height:1.25}
.ss-upsell-price{font-size:13px;color:var(--ss-soft)}
.ss-upsell-sw{display:flex;gap:4px;margin-top:6px}
.ss-upsell-sw i{width:11px;height:11px;border-radius:50%;border:1px solid rgba(0,0,0,.18);display:inline-block}
.ss-upsell-all{display:inline-block;margin-top:18px;font-family:var(--ss-btn);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--ss-ink) !important;text-decoration:none;border-bottom:1px solid var(--ss-ink);padding-bottom:2px}
.ss-upsell-all:hover{color:var(--ss-hover) !important}

/* In the narrow buy column on a table page: compact, no swatches. */
.ss-upsell--product{padding:20px;margin:26px 0 8px}
.ss-upsell--product h3{font-size:21px}
.ss-upsell--product .ss-upsell-grid{gap:10px}
.ss-upsell--product .ss-upsell-name{font-size:15px}
.ss-upsell--product .ss-upsell-price{font-size:12px}
.ss-upsell--product .ss-upsell-sw{display:none}

/* Keyboard focus */
.ss-cart a:focus-visible,.ss-cart button:focus-visible,.ss-cart input:focus-visible,.ss-upsell a:focus-visible{outline:2px solid var(--ss-ink);outline-offset:2px}

/* ------------------------------------------------------------ Tablet / phone */

@media (max-width:980px){
  .ss-cart .woocommerce{display:block}
  .ss-cart .woocommerce > .cart-collaterals{position:static;margin-top:30px}
}

@media (max-width:768px){
  .ss-cart #main-content .container{padding-top:26px}
  .ss-cart table.shop_table.cart thead{display:none}
  .ss-cart table.shop_table.cart tr.cart_item{display:grid !important;grid-template-columns:84px minmax(0,1fr) auto;
    grid-template-areas:"thumb name remove" "thumb price price" "thumb qty sub";column-gap:14px;row-gap:6px;padding:16px 0;border-bottom:1px solid var(--ss-line)}
  .ss-cart table.shop_table.cart tr.cart_item td{display:block !important;padding:0 !important;border:0 !important;text-align:left !important;background:none !important}
  .ss-cart table.shop_table.cart tr.cart_item td::before{display:none !important}
  .ss-cart table.cart .product-thumbnail{grid-area:thumb;display:block !important;width:auto}
  .ss-cart table.cart .product-thumbnail img{width:84px !important;height:84px !important}
  .ss-cart table.cart .product-name{grid-area:name}
  .ss-cart table.cart .product-name a{font-size:17px}
  .ss-cart table.cart .product-remove{grid-area:remove;justify-self:end;width:auto}
  .ss-cart table.cart .product-price{grid-area:price;font-size:13.5px}
  .ss-cart table.cart .product-quantity{grid-area:qty}
  .ss-cart table.cart .product-subtotal{grid-area:sub;align-self:center;justify-self:end;text-align:right !important;font-size:16px}
  .ss-cart table.shop_table.cart tr:not(.cart_item) td.actions{display:block !important;padding:16px 0 0 !important;border:0 !important}
  .ss-cart table.shop_table.cart td.actions::before{display:none !important}
  .ss-cart table.cart td.actions .button{width:100%}

  /* Summary rows: label left, value right (WooCommerce hides the th on phones). */
  .ss-cart .cart_totals table tr td{display:flex !important;justify-content:space-between;align-items:flex-start;gap:12px;text-align:right !important}
  .ss-cart .cart_totals table tr td::before{content:attr(data-title);font-weight:600;color:var(--ss-text);text-align:left;float:none !important;flex:none}
  .ss-cart .cart_totals table tr.woocommerce-shipping-totals td{display:block !important}
  .ss-cart .cart_totals table tr.woocommerce-shipping-totals td::before{display:block;margin-bottom:6px}
  .ss-cart .cart_totals .order-total td strong,.ss-cart .cart_totals .order-total .amount{font-size:24px}

  .ss-upsell{padding:20px}
  .ss-upsell-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ss-upsell--product .ss-upsell-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media (max-width:420px){
  .ss-upsell--product .ss-upsell-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Clean item names: type label, name, one details line */
.ss-ci-kick{display:block;font-family:var(--ss-btn);font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--ss-mute);margin-bottom:2px;line-height:1.4}
.ss-ci-meta{display:block;font-size:13px;color:var(--ss-soft);margin-top:3px;line-height:1.45;font-family:var(--ss-body,inherit)}
@media (min-width:769px){.ss-cart table.cart .product-name{min-width:220px}}
.ss-cart table.cart .product-name dl.variation{margin-top:6px;font-size:12.5px;color:var(--ss-soft)}
.ss-cart table.cart .product-name dl.variation dt{font-weight:600;color:var(--ss-text)}
.ss-cart table.cart .product-name dl.variation dd p{margin:0}
/* Quantity updates by itself, so the button can go */
.ss-autoupdate.ss-cart table.cart td.actions button[name="update_cart"]{display:none !important}
.ss-autoupdate.ss-cart table.cart td.actions{padding:0 !important}
.ss-autoupdate.ss-cart table.cart tr:last-child td.actions:empty{display:none}

/* "You may be interested in…" as a tidy grid */
.ss-cart .cross-sells ul.products{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin:0 !important;padding:0 !important}
.ss-cart .cross-sells ul.products::before,.ss-cart .cross-sells ul.products::after{display:none !important}
.ss-cart .cross-sells ul.products li.product{width:auto !important;margin:0 !important;float:none !important;padding:0 !important}
.ss-cart .cross-sells ul.products li.product a img,.ss-cart .cross-sells ul.products li.product .et_shop_image img{aspect-ratio:1;object-fit:cover;width:100%;height:auto;margin:0 0 10px !important;border:1px solid var(--ss-line)}
.ss-cart .cross-sells ul.products li.product .woocommerce-loop-product__title{font-family:var(--ss-head) !important;font-size:17px !important;color:var(--ss-text) !important;line-height:1.3;padding:0 !important}
.ss-cart .cross-sells ul.products li.product .button{display:none !important}
.ss-cart .cross-sells ul.products li.product .onsale{display:none}
@media (max-width:768px){.ss-cart .cross-sells ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}

/* Phones: the item name must not spill over the remove (X) button, which
   sits top-right of each item; give the X a finger-sized target too. */
@media (max-width:768px){
  .ss-cart table.cart .product-name{min-width:0;overflow-wrap:anywhere}
  .ss-cart table.cart .product-remove{position:relative;z-index:2}
  .ss-cart table.cart a.remove{width:36px;height:36px}
}
