/* =========================================================================
   Island Collection — store layer
   WooCommerce markup (classic templates, Cart block, classic checkout,
   My Account, mini-cart) dressed in the same components as ic-v2.css:
   cards, chips, panels, coral action buttons, dark inputs.
   ========================================================================= */

/* ---------- Wrapper for the classic templates ---------- */
.ic-woo{padding:0 var(--ic-gutter) 56px}
.ic-woo .woocommerce-breadcrumb{font-size:12px;color:var(--ic-tx-3);padding:18px 0 0;margin:0 0 6px}
.ic-woo .woocommerce-breadcrumb a{color:var(--ic-tx-2)}
.ic-woo .woocommerce-breadcrumb a:hover{color:var(--ic-turq-lt)}

/* Shop / collection header becomes the V2 banner */
.ic-woo .woocommerce-products-header{background:#000;border-bottom:1px solid #1C1C1C;margin:0 calc(-1 * var(--ic-gutter)) 28px;padding:28px var(--ic-gutter) 34px}
.ic-woo .woocommerce-products-header__title.page-title{font-size:40px;line-height:1.1;margin:0 0 10px;color:#fff}
.ic-woo .term-description,.ic-woo .page-description{color:#C6C6C6;max-width:60ch;font-size:15.5px}
.ic-woo .term-description p{margin:0}

/* Count + sort */
.ic-woo .woocommerce-result-count{color:var(--ic-tx-2);font-size:12.5px;margin:6px 0 18px}
.ic-woo .woocommerce-ordering select,
body.ic-v2 :is(.woocommerce,.ic-woo) select,
body.ic-v2 select{background:var(--ic-s2);color:var(--ic-tx);border:1px solid var(--ic-edge);border-radius:3px;padding:8px 12px;font-size:13px;font-family:inherit}

/* ---------- Product grid = V2 cards ---------- */
body.ic-v2 :is(.woocommerce,.ic-woo) ul.products,
body.ic-v2 ul.products{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:0 0 30px !important;padding:0;list-style:none}
body.ic-v2 ul.products::before,body.ic-v2 ul.products::after{content:none !important;display:none !important}
body.ic-v2 ul.products li.product{float:none !important;width:auto !important;margin:0 !important;padding:0 0 18px !important;
  position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,#141414,#0C0C0C);border:1px solid var(--ic-edge);
  border-radius:var(--ic-radius);overflow:hidden;text-align:left;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
body.ic-v2 ul.products li.product::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--ic-turq),var(--ic-turq-lt));transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
body.ic-v2 ul.products li.product:hover{transform:translateY(-5px);border-color:rgba(79,216,203,.45);box-shadow:0 18px 44px rgba(25,179,166,.20)}
body.ic-v2 ul.products li.product:hover::after{transform:scaleX(1)}
body.ic-v2 ul.products li.product a img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#101010;margin:0 0 14px !important;transition:transform .5s ease}
body.ic-v2 ul.products li.product:hover a img{transform:scale(1.04)}
body.ic-v2 ul.products li.product .woocommerce-loop-product__title{font-family:var(--ic-serif);font-weight:400;font-size:17px !important;color:var(--ic-tx);padding:0 15px !important;margin:0 0 4px;line-height:1.25}
body.ic-v2 ul.products li.product .price{color:var(--ic-turq-lt) !important;font-size:15px !important;padding:0 15px;margin:0 0 12px !important;display:block}
body.ic-v2 ul.products li.product .price del{color:var(--ic-tx-3);opacity:1}
body.ic-v2 ul.products li.product .price ins{text-decoration:none}
body.ic-v2 ul.products li.product .button{margin:auto 15px 0 !important;align-self:flex-start}
body.ic-v2 ul.products li.product .onsale{background:var(--ic-coral);color:var(--ic-ink);border-radius:20px;min-height:0;min-width:0;line-height:1;padding:6px 11px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;top:10px;left:10px;right:auto;margin:0}
@media (max-width:1024px){ body.ic-v2 ul.products{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:720px){ body.ic-v2 ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  body.ic-v2 ul.products li.product .woocommerce-loop-product__title{font-size:15px !important;padding:0 11px !important}
  body.ic-v2 ul.products li.product .price{padding:0 11px}
  body.ic-v2 ul.products li.product .button{margin:auto 11px 0 !important;padding:10px 12px !important;font-size:11px !important} }

/* Pagination */
body.ic-v2 .woocommerce-pagination ul{border:0 !important;display:flex;gap:6px;justify-content:center}
body.ic-v2 .woocommerce-pagination ul li{border:0 !important}
body.ic-v2 .woocommerce-pagination ul li a,body.ic-v2 .woocommerce-pagination ul li span{background:var(--ic-s2);color:var(--ic-tx-2);border:1px solid var(--ic-edge);border-radius:6px;padding:8px 13px}
body.ic-v2 .woocommerce-pagination ul li span.current{background:var(--ic-turq);color:var(--ic-ink);border-color:var(--ic-turq)}

/* ---------- Woo buttons share the V2 button system ---------- */
body.ic-v2 :is(.woocommerce,.ic-woo) a.button,body.ic-v2 :is(.woocommerce,.ic-woo) button.button,body.ic-v2 :is(.woocommerce,.ic-woo) input.button,
body.ic-v2 :is(.woocommerce,.ic-woo) #respond input#submit,body.ic-v2 a.button,body.ic-v2 button.button,
body.ic-v2 .wc-block-components-button:not(.is-link),body.ic-v2 .wpforms-container button[type=submit]{
  position:relative;overflow:hidden;isolation:isolate;display:inline-block;
  background:transparent;color:#fff !important;border:1.5px solid rgba(255,255,255,.55);border-radius:3px;
  padding:12px 22px;font-family:var(--ic-sans);font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;line-height:1.2;
  transition:color .25s,border-color .25s,background-color .25s,transform .2s,box-shadow .25s;text-decoration:none}
body.ic-v2 :is(.woocommerce,.ic-woo) a.button::before,body.ic-v2 :is(.woocommerce,.ic-woo) button.button::before,body.ic-v2 a.button::before,body.ic-v2 button.button::before{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--ic-turq);transform:scaleY(0);transform-origin:bottom;transition:transform .28s ease}
body.ic-v2 :is(.woocommerce,.ic-woo) a.button:hover,body.ic-v2 :is(.woocommerce,.ic-woo) button.button:hover,body.ic-v2 a.button:hover,body.ic-v2 button.button:hover{
  background:transparent;color:var(--ic-ink) !important;border-color:var(--ic-turq);transform:translateY(-2px)}
body.ic-v2 :is(.woocommerce,.ic-woo) a.button:hover::before,body.ic-v2 :is(.woocommerce,.ic-woo) button.button:hover::before,body.ic-v2 a.button:hover::before,body.ic-v2 button.button:hover::before{transform:scaleY(1)}

/* The primary action on every store page is coral (add to cart, checkout, place order, submit) */
body.ic-v2 :is(.woocommerce,.ic-woo) .single_add_to_cart_button,body.ic-v2 :is(.woocommerce,.ic-woo) a.button.alt,body.ic-v2 :is(.woocommerce,.ic-woo) button.button.alt,
body.ic-v2 #place_order,body.ic-v2 .checkout-button,body.ic-v2 .wc-block-cart__submit-button,
body.ic-v2 .wc-block-components-checkout-place-order-button,body.ic-v2 .wc-block-mini-cart__footer-checkout,
body.ic-v2 .wpforms-container button[type=submit]{
  background:var(--ic-coral) !important;color:var(--ic-ink) !important;border-color:var(--ic-coral) !important;box-shadow:0 8px 22px rgba(201,97,79,.28)}
body.ic-v2 :is(.woocommerce,.ic-woo) .single_add_to_cart_button::before,body.ic-v2 :is(.woocommerce,.ic-woo) a.button.alt::before,body.ic-v2 :is(.woocommerce,.ic-woo) button.button.alt::before,
body.ic-v2 #place_order::before,body.ic-v2 .checkout-button::before{
  inset:0 auto 0 -60% !important;width:45%;transform:skewX(-18deg) !important;background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent) !important;transition:left .6s ease !important}
body.ic-v2 :is(.woocommerce,.ic-woo) .single_add_to_cart_button:hover,body.ic-v2 :is(.woocommerce,.ic-woo) a.button.alt:hover,body.ic-v2 :is(.woocommerce,.ic-woo) button.button.alt:hover,
body.ic-v2 #place_order:hover,body.ic-v2 .checkout-button:hover,body.ic-v2 .wc-block-cart__submit-button:hover,
body.ic-v2 .wc-block-components-checkout-place-order-button:hover,body.ic-v2 .wpforms-container button[type=submit]:hover{
  background:var(--ic-coral-hi) !important;border-color:var(--ic-coral-hi) !important;box-shadow:0 12px 28px rgba(201,97,79,.42)}
body.ic-v2 :is(.woocommerce,.ic-woo) .single_add_to_cart_button:hover::before,body.ic-v2 :is(.woocommerce,.ic-woo) a.button.alt:hover::before,body.ic-v2 :is(.woocommerce,.ic-woo) button.button.alt:hover::before,
body.ic-v2 #place_order:hover::before,body.ic-v2 .checkout-button:hover::before{left:120% !important}
body.ic-v2 :is(.woocommerce,.ic-woo) .button:disabled,body.ic-v2 :is(.woocommerce,.ic-woo) .button.disabled{opacity:.5;cursor:not-allowed}

/* ---------- Forms (checkout, account, contact) ---------- */
body.ic-v2 :is(.woocommerce,.ic-woo) form .form-row label,body.ic-v2 .wpforms-container .wpforms-field-label{color:var(--ic-tx-2);font-size:13px;font-weight:400}
body.ic-v2 :is(.woocommerce,.ic-woo) form .form-row .required{color:var(--ic-coral-lt)}
body.ic-v2 :is(.woocommerce,.ic-woo) form .form-row input.input-text,body.ic-v2 :is(.woocommerce,.ic-woo) form .form-row textarea,
body.ic-v2 :is(.woocommerce,.ic-woo) input[type=text],body.ic-v2 :is(.woocommerce,.ic-woo) input[type=email],body.ic-v2 :is(.woocommerce,.ic-woo) input[type=tel],
body.ic-v2 :is(.woocommerce,.ic-woo) input[type=password],body.ic-v2 :is(.woocommerce,.ic-woo) input[type=number],body.ic-v2 :is(.woocommerce,.ic-woo) textarea,
body.ic-v2 .wpforms-container input[type=text],body.ic-v2 .wpforms-container input[type=email],body.ic-v2 .wpforms-container input[type=tel],
body.ic-v2 .wpforms-container textarea,body.ic-v2 .wpforms-container select,
body.ic-v2 .select2-container--default .select2-selection--single{
  background:#1D1D1D !important;border:1px solid var(--ic-edge) !important;color:var(--ic-tx) !important;border-radius:4px !important;
  padding:11px 13px;font-family:inherit;font-size:15px;box-shadow:none !important;max-width:100% !important}
body.ic-v2 .select2-container--default .select2-selection--single{height:auto;padding:6px 6px}
body.ic-v2 .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ic-tx);line-height:30px}
body.ic-v2 .select2-dropdown{background:#1D1D1D;border-color:var(--ic-edge);color:var(--ic-tx)}
body.ic-v2 .select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--ic-turq);color:var(--ic-ink)}
body.ic-v2 .select2-search--dropdown .select2-search__field{background:#111;color:var(--ic-tx);border-color:var(--ic-edge)}
body.ic-v2 :is(.woocommerce,.ic-woo) input:focus,body.ic-v2 :is(.woocommerce,.ic-woo) textarea:focus,body.ic-v2 .wpforms-container input:focus,body.ic-v2 .wpforms-container textarea:focus{
  border-color:var(--ic-turq) !important;outline:none;box-shadow:0 0 0 1px var(--ic-turq) !important}
body.ic-v2 ::placeholder{color:var(--ic-tx-3);opacity:1}

/* ---------- Notices ---------- */
body.ic-v2 .woocommerce-message,body.ic-v2 .woocommerce-info,body.ic-v2 .woocommerce-error,body.ic-v2 .woocommerce-noreviews{
  background:var(--ic-s2) !important;color:var(--ic-tx-2) !important;border:0;border-left:3px solid var(--ic-turq);border-radius:6px;padding:14px 18px 14px 48px;margin:0 0 22px;list-style:none}
body.ic-v2 .woocommerce-error{border-left-color:var(--ic-coral)}
body.ic-v2 .woocommerce-message::before,body.ic-v2 .woocommerce-info::before{color:var(--ic-turq-lt)}
body.ic-v2 .woocommerce-error::before{color:var(--ic-coral)}
body.ic-v2 .woocommerce-message a:not(.button),body.ic-v2 .woocommerce-info a:not(.button){color:var(--ic-turq-lt)}
body.ic-v2 .woocommerce-message .button,body.ic-v2 .woocommerce-info .button{float:right;padding:8px 14px;font-size:11px}

/* ---------- Single product (base; the V2 layout is refined in the product pass) ---------- */
body.ic-v2 :is(.woocommerce,.ic-woo) div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;padding-top:12px}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product > *{grid-column:1 / -1}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product > .woocommerce-product-gallery{grid-column:1;float:none !important;width:auto !important;margin:0}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product > .summary{grid-column:2;float:none !important;width:auto !important;margin:0}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product > .onsale{grid-column:1}
body.ic-v2 .woocommerce-product-gallery__wrapper,body.ic-v2 .woocommerce-product-gallery .flex-viewport{background:var(--ic-s2);border:1px solid var(--ic-edge);border-radius:var(--ic-radius);overflow:hidden}
body.ic-v2 .woocommerce-product-gallery__image img{object-fit:contain;background:#101010}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product div.images .flex-control-thumbs{display:flex;gap:10px;margin-top:12px}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product div.images .flex-control-thumbs li{width:76px !important}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product div.images .flex-control-thumbs li img{border:1px solid var(--ic-edge);border-radius:6px;background:#101010;object-fit:contain;aspect-ratio:1/1;opacity:.7}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product div.images .flex-control-thumbs li img.flex-active,
body.ic-v2 :is(.woocommerce,.ic-woo) div.product div.images .flex-control-thumbs li img:hover{opacity:1;border-color:var(--ic-turq)}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .woocommerce-product-gallery__trigger{background:rgba(0,0,0,.6);border-radius:50%}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .product_title{font-size:40px;line-height:1.1;margin:0 0 12px}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product p.price,body.ic-v2 :is(.woocommerce,.ic-woo) div.product span.price{color:var(--ic-turq-lt);font-size:26px;font-family:var(--ic-serif);margin:0 0 18px}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .woocommerce-product-details__short-description{color:var(--ic-tx-2);font-size:15.5px;line-height:1.7}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin:24px 0}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product form.cart .quantity .qty{width:72px;height:100%;min-height:46px;text-align:center;background:var(--ic-s2) !important}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product form.cart .single_add_to_cart_button{flex:1;min-width:220px;padding:15px 24px;font-size:13px}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product form.cart.variations_form{display:block}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product table.variations th,body.ic-v2 :is(.woocommerce,.ic-woo) div.product table.variations td{color:var(--ic-tx-2);background:none;border:0;padding:6px 0}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .woocommerce-variation-add-to-cart{display:flex;gap:12px;margin-top:12px}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .product_meta{border-top:1px solid var(--ic-edge);padding-top:14px;font-size:13px;color:var(--ic-tx-3)}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .product_meta a{color:var(--ic-tx-2)}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .product_meta a:hover{color:var(--ic-turq-lt)}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .stock{color:var(--ic-turq-lt)}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .stock.out-of-stock{color:var(--ic-coral-lt)}
/* The specs row already says "In stock"; hide Woo's duplicate line (sold-out notice stays). */
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .summary p.stock.in-stock{display:none}

/* Tabs → quiet accordion-style headers */
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .woocommerce-tabs{margin-top:20px}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 18px;border-bottom:1px solid var(--ic-edge);display:flex;gap:24px}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .woocommerce-tabs ul.tabs::before,body.ic-v2 :is(.woocommerce,.ic-woo) div.product .woocommerce-tabs ul.tabs li::before,body.ic-v2 :is(.woocommerce,.ic-woo) div.product .woocommerce-tabs ul.tabs li::after{display:none !important}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .woocommerce-tabs ul.tabs li{background:none !important;border:0 !important;margin:0;padding:0;border-radius:0}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .woocommerce-tabs ul.tabs li a{color:var(--ic-tx-2);padding:10px 0;font-weight:400;letter-spacing:.06em;text-transform:uppercase;font-size:12.5px;border-bottom:2px solid transparent}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ic-tx);border-bottom-color:var(--ic-coral)}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .woocommerce-tabs .panel{color:var(--ic-tx-2);line-height:1.7;background:none;border:0;padding:0}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .woocommerce-tabs .panel h2{font-size:22px}
body.ic-v2 :is(.woocommerce,.ic-woo) table.shop_attributes,body.ic-v2 :is(.woocommerce,.ic-woo) table.shop_attributes th,body.ic-v2 :is(.woocommerce,.ic-woo) table.shop_attributes td{border-color:var(--ic-edge) !important;background:none !important;color:var(--ic-tx-2)}
body.ic-v2 :is(.woocommerce,.ic-woo) table.shop_attributes th{color:var(--ic-tx-3);font-weight:400}
body.ic-v2 :is(.woocommerce,.ic-woo) .related > h2,body.ic-v2 :is(.woocommerce,.ic-woo) .upsells > h2{font-size:30px;text-align:center;margin:40px 0 24px}
@media (max-width:920px){
  body.ic-v2 :is(.woocommerce,.ic-woo) div.product{grid-template-columns:minmax(0,1fr);gap:26px}
  body.ic-v2 :is(.woocommerce,.ic-woo) div.product > *{min-width:0;max-width:100%}
  body.ic-v2 :is(.woocommerce,.ic-woo) div.product > .woocommerce-product-gallery,body.ic-v2 :is(.woocommerce,.ic-woo) div.product > .summary{grid-column:1}
  body.ic-v2 :is(.woocommerce,.ic-woo) div.product .product_title{font-size:30px}
}

/* ---------- Tables (cart totals, order review, order details) ---------- */
body.ic-v2 :is(.woocommerce,.ic-woo) table.shop_table{border:1px solid var(--ic-edge);border-radius:10px;border-collapse:separate;background:var(--ic-s2);color:var(--ic-tx-2)}
body.ic-v2 :is(.woocommerce,.ic-woo) table.shop_table th,body.ic-v2 :is(.woocommerce,.ic-woo) table.shop_table td{border-top:1px solid var(--ic-edge) !important;padding:13px 16px}
body.ic-v2 :is(.woocommerce,.ic-woo) table.shop_table thead th{border-top:0 !important;color:var(--ic-tx);font-weight:400;font-family:var(--ic-serif);font-size:16px}
body.ic-v2 :is(.woocommerce,.ic-woo) table.shop_table .order-total th,body.ic-v2 :is(.woocommerce,.ic-woo) table.shop_table .order-total td{color:var(--ic-tx)}
body.ic-v2 :is(.woocommerce,.ic-woo) table.shop_table .order-total .amount{color:var(--ic-turq-lt);font-size:18px}

/* ---------- Classic checkout ---------- */
body.ic-v2 .ic-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px 40px;align-items:start}
body.ic-v2 .ic-checkout form.checkout > *{grid-column:1 / -1}
body.ic-v2 .ic-checkout form.checkout > #customer_details{grid-column:1;grid-row:span 3}
body.ic-v2 .ic-checkout form.checkout > #order_review_heading{grid-column:2;margin:0;font-size:22px}
body.ic-v2 .ic-checkout form.checkout > #order_review{grid-column:2;background:var(--ic-s2);border:1px solid var(--ic-edge);border-radius:14px;padding:18px}
body.ic-v2 .ic-checkout #customer_details .col-1,body.ic-v2 .ic-checkout #customer_details .col-2{float:none;width:auto;max-width:none}
body.ic-v2 .ic-checkout h3{font-size:22px;margin:0 0 14px}
body.ic-v2 .ic-checkout #order_review table.shop_table{background:transparent;border:0}
body.ic-v2 .woocommerce-checkout #payment{background:transparent !important;border-radius:10px}
body.ic-v2 .woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--ic-edge) !important;padding:0 0 14px}
body.ic-v2 .woocommerce-checkout #payment ul.payment_methods li{color:var(--ic-tx)}
body.ic-v2 .woocommerce-checkout #payment div.payment_box{background:#1D1D1D !important;color:var(--ic-tx-2) !important;border-radius:8px}
body.ic-v2 .woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#1D1D1D !important}
body.ic-v2 .woocommerce-checkout #payment div.form-row{padding:16px 0 0}
body.ic-v2 .woocommerce-checkout #place_order{width:100%;padding:16px 24px;font-size:13.5px}
body.ic-v2 .woocommerce-checkout .woocommerce-privacy-policy-text,body.ic-v2 .woocommerce-terms-and-conditions-wrapper{color:var(--ic-tx-3);font-size:13px}
body.ic-v2 :is(.woocommerce,.ic-woo) form.checkout_coupon,body.ic-v2 :is(.woocommerce,.ic-woo) form.login,body.ic-v2 :is(.woocommerce,.ic-woo) form.register{border:1px solid var(--ic-edge) !important;border-radius:12px;background:var(--ic-s2)}
@media (max-width:920px){
  body.ic-v2 .ic-checkout form.checkout{grid-template-columns:1fr}
  body.ic-v2 .ic-checkout form.checkout > #customer_details,body.ic-v2 .ic-checkout form.checkout > #order_review_heading,body.ic-v2 .ic-checkout form.checkout > #order_review{grid-column:1;grid-row:auto}
}

/* ---------- Cart block + mini-cart (WooCommerce blocks) ---------- */
body.ic-v2 .wc-block-cart,body.ic-v2 .wc-block-components-sidebar-layout{color:var(--ic-tx)}
body.ic-v2 .wc-block-cart-items,body.ic-v2 .wc-block-cart-items th,body.ic-v2 .wc-block-cart-items td{border-color:var(--ic-edge) !important}
body.ic-v2 .wc-block-cart-items__header{color:var(--ic-tx-3)}
body.ic-v2 .wc-block-components-product-name{font-family:var(--ic-serif);font-size:18px;color:var(--ic-tx) !important}
body.ic-v2 .wc-block-cart-item__image img{background:#101010;object-fit:contain;border-radius:6px}
body.ic-v2 .wc-block-components-product-price,body.ic-v2 .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{color:var(--ic-turq-lt)}
body.ic-v2 .wc-block-cart .wc-block-components-sidebar,body.ic-v2 .wp-block-woocommerce-cart-totals-block{background:var(--ic-s2);border:1px solid var(--ic-edge);border-radius:14px;padding:18px !important}
body.ic-v2 .wc-block-components-totals-wrapper{border-color:var(--ic-edge) !important}
body.ic-v2 .wc-block-components-quantity-selector{border-color:var(--ic-edge) !important;background:#1D1D1D;border-radius:4px}
body.ic-v2 .wc-block-components-quantity-selector input,body.ic-v2 .wc-block-components-quantity-selector button{color:var(--ic-tx) !important;background:transparent}
body.ic-v2 .wc-block-components-text-input input,body.ic-v2 .wc-block-components-combobox input,body.ic-v2 .wc-blocks-components-select__select{background:#1D1D1D !important;color:var(--ic-tx) !important;border-color:var(--ic-edge) !important}
body.ic-v2 .wc-block-components-text-input label,body.ic-v2 .wc-blocks-components-select__label{color:var(--ic-tx-3) !important}
body.ic-v2 .wc-block-components-notice-banner{background:var(--ic-s2);color:var(--ic-tx-2);border-color:var(--ic-edge)}
body.ic-v2 .wc-block-cart__empty-cart__title{font-family:var(--ic-serif)}

body.ic-v2 .wc-block-mini-cart__button{color:#fff}
body.ic-v2 .wc-block-mini-cart__button:hover{color:var(--ic-turq-lt) !important}
body.ic-v2 .wc-block-mini-cart__badge{background:#fff !important;color:var(--ic-bar) !important;font-weight:700}
body.ic-v2 .wc-block-mini-cart__drawer .components-modal__content,body.ic-v2 .wc-block-mini-cart__drawer .wc-block-mini-cart__template-part,
body.ic-v2 .wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents{background:#0D0D0D !important;color:var(--ic-tx) !important}
body.ic-v2 .wc-block-mini-cart__title{font-family:var(--ic-serif);font-weight:400}
body.ic-v2 .wc-block-mini-cart__footer{border-top:1px solid var(--ic-edge)}
body.ic-v2 .wc-block-mini-cart__footer-cart{border-color:rgba(255,255,255,.55) !important;color:#fff !important}
body.ic-v2 .wc-block-customer-account a{color:#fff}

/* ---------- My Account ---------- */
body.ic-v2 .ic-account .woocommerce{display:grid;grid-template-columns:260px minmax(0,1fr);gap:26px;align-items:start}
body.ic-v2 .ic-account .woocommerce > .woocommerce-notices-wrapper,body.ic-v2 .ic-account .woocommerce > h2,
body.ic-v2 .ic-account .woocommerce > .u-columns,body.ic-v2 .ic-account .woocommerce > form{grid-column:1 / -1}
body.ic-v2 .woocommerce-account .woocommerce-MyAccount-navigation{float:none;width:auto;background:var(--ic-s2);border:1px solid var(--ic-edge);border-radius:14px;padding:8px}
body.ic-v2 .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
body.ic-v2 .woocommerce-MyAccount-navigation li a{display:block;padding:11px 14px;border-radius:9px;color:#cfcfcf;font-size:14px}
body.ic-v2 .woocommerce-MyAccount-navigation li.is-active a{background:var(--ic-bar);color:#fff}
body.ic-v2 .woocommerce-MyAccount-navigation li:not(.is-active) a:hover{background:#1e1e1e;color:#fff}
body.ic-v2 .woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto;background:var(--ic-s2);border:1px solid var(--ic-edge);border-radius:14px;padding:24px 26px;color:var(--ic-tx-2)}
body.ic-v2 .woocommerce-account .woocommerce-MyAccount-content mark{background:none;color:var(--ic-turq-lt)}
body.ic-v2 .ic-account .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:26px}
body.ic-v2 .ic-account .u-columns .col-1,body.ic-v2 .ic-account .u-columns .col-2{float:none;width:auto}
@media (max-width:820px){ body.ic-v2 .ic-account .woocommerce,body.ic-v2 .ic-account .u-columns{grid-template-columns:1fr} }

/* ---------- Order received / order details ---------- */
body.ic-v2 .woocommerce-order-overview{color:var(--ic-tx-2)}
body.ic-v2 .woocommerce-order-overview li{border-color:var(--ic-edge) !important}
body.ic-v2 .woocommerce-order-overview strong{color:var(--ic-tx)}
body.ic-v2 .woocommerce-customer-details address{border-color:var(--ic-edge) !important;color:var(--ic-tx-2);border-radius:10px}

/* ---------- WPForms (contact) ---------- */
body.ic-v2 .wpforms-container{margin:0 !important}
body.ic-v2 .wpforms-container .wpforms-field{padding:8px 0 !important}
body.ic-v2 .wpforms-container .wpforms-field-sublabel{color:var(--ic-tx-3) !important}
body.ic-v2 .wpforms-confirmation-container-full{background:var(--ic-s2) !important;border:1px solid var(--ic-turq) !important;color:var(--ic-tx) !important;border-radius:10px}

/* ---------- Fixes from the 11/12 preview pass ---------- */
/* Prices: one colour everywhere (plugins colour the inner amount span) */
body.ic-v2 .price .woocommerce-Price-amount,body.ic-v2 .price bdi,body.ic-v2 .price .woocommerce-Price-currencySymbol,
body.ic-v2 .amount bdi{color:inherit !important}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .summary p.price,
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .summary span.price{color:var(--ic-turq-lt) !important}

/* Variation dropdowns and quantity: dark like every other field */
body.ic-v2 .ic-woo table.variations select,body.ic-v2 .ic-woo .quantity input.qty{
  background:#1D1D1D !important;color:var(--ic-tx) !important;border:1px solid var(--ic-edge) !important;border-radius:4px !important;
  padding:11px 36px 11px 13px;min-width:200px;font-size:15px;appearance:auto}
body.ic-v2 .ic-woo .quantity input.qty{min-width:0;padding:11px 8px}
body.ic-v2 .ic-woo table.variations th.label,body.ic-v2 .ic-woo table.variations td.label{color:var(--ic-tx-2) !important;font-weight:400;padding-right:14px !important}
body.ic-v2 .ic-woo .reset_variations{color:var(--ic-tx-3);font-size:12px;margin-left:10px}
body.ic-v2 .ic-woo .woocommerce-variation-price .price{color:var(--ic-turq-lt) !important}

/* Card title split: name, then a small line with the details (see functions.php) */
body.ic-v2 ul.products li.product .ic-card-sub{display:block;font-family:var(--ic-sans);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ic-tx-3);margin-top:5px;line-height:1.4}
body.ic-v2 .ic-woo .product_meta .sku_wrapper{display:none}

/* =========================================================================
   Product page — V2 layout (from files/redesign-v2/product.html)
   ========================================================================= */
body.ic-v2 .ic-woo div.product{gap:48px 56px;padding-top:18px}
body.ic-v2 .ic-woo div.product .summary > *{margin-top:0}
body.ic-v2 .ic-pkicker{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ic-coral-lt);margin:0 0 9px}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .product_title{font-size:42px;line-height:1.08;margin:0 0 12px}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product .summary p.price{font-family:var(--ic-sans);font-size:22px;margin:0 0 16px}
body.ic-v2 .ic-handmade{background:rgba(224,131,107,.12);border:1px solid rgba(224,131,107,.38);color:#F0A992;border-radius:6px;padding:9px 14px;font-size:13px;margin:0 0 18px;display:inline-block}
body.ic-v2 .ic-woo .woocommerce-product-details__short-description{max-width:46ch;margin-bottom:20px}
body.ic-v2 .ic-woo .woocommerce-product-details__short-description p{margin:0}
body.ic-v2 .ic-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid var(--ic-edge);border-bottom:1px solid var(--ic-edge);padding:16px 0;margin:0 0 22px}
body.ic-v2 .ic-specs .s b{display:block;font-family:var(--ic-sans);font-weight:400;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ic-tx-3);margin-bottom:4px}
body.ic-v2 .ic-specs .s span{font-size:13.5px;color:var(--ic-tx)}
body.ic-v2 :is(.woocommerce,.ic-woo) div.product form.cart{margin:0 0 12px}
body.ic-v2 .ic-woo a.button.ic-ask{display:block;width:100%;text-align:center;border-color:var(--ic-turq);color:var(--ic-turq-lt) !important;margin:0 0 4px}
body.ic-v2 .ic-woo a.button.ic-ask:hover{color:var(--ic-ink) !important}
body.ic-v2 .ic-shipnote{background:var(--ic-s2);border:1px solid var(--ic-edge);border-radius:6px;padding:11px 14px;margin:16px 0 0;font-size:12.5px;color:var(--ic-tx-2)}
body.ic-v2 .ic-shipnote p{margin:0}
body.ic-v2 .ic-shipnote b{color:var(--ic-tx);font-weight:600}
body.ic-v2 .ic-shipnote .sep{opacity:.5;margin:0 6px}
body.ic-v2 .ic-shipnote .ic-hang{margin-top:6px;color:var(--ic-tx-3)}
/* Square's Apple Pay / Google Pay buttons on the product page */
body.ic-v2 .ic-woo #wc-square-digital-wallet{margin:12px 0 0}

/* Gallery: whole piece, never cropped; illustrated-room label */
body.ic-v2 .ic-woo .woocommerce-product-gallery{position:relative}
body.ic-v2 .ic-woo .woocommerce-product-gallery__image{position:relative}
body.ic-v2 .ic-woo .woocommerce-product-gallery__image img{width:100%;height:auto;max-height:560px;object-fit:contain;background:#101010}
body.ic-v2 .ic-galtag{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.72);color:#fff;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:3px;pointer-events:none}

/* In Phil's words */
body.ic-v2 .ic-philwords{grid-column:1 / -1;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;
  margin-top:10px;padding-top:34px;border-top:1px solid rgba(79,216,203,.18)}
body.ic-v2 .ic-philwords .pw-text{padding-left:20px;border-left:2px solid var(--ic-turq)}
body.ic-v2 .ic-philwords .lbl{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ic-turq-lt);margin-bottom:10px}
body.ic-v2 .ic-philwords p{font-size:16.5px;line-height:1.8;color:var(--ic-tx-2);margin:0 0 12px}
body.ic-v2 .ic-philwords .pw-photo{margin:0;position:relative}
body.ic-v2 .ic-philwords .pw-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;box-shadow:0 18px 42px rgba(0,0,0,.65)}
body.ic-v2 .ic-philwords .pw-photo::before{content:"";position:absolute;top:-12px;right:-12px;width:64px;height:64px;border-top:1.5px solid var(--ic-turq-lt);border-right:1.5px solid var(--ic-turq-lt);border-top-right-radius:12px}
body.ic-v2 .ic-philwords figcaption{margin-top:12px;font-family:var(--ic-serif);font-style:italic;font-size:14px;color:var(--ic-turq-lt)}

/* More from the series */
body.ic-v2 :is(.woocommerce,.ic-woo) .related{grid-column:1 / -1;margin-top:20px}
body.ic-v2 :is(.woocommerce,.ic-woo) .related > h2{font-size:34px;margin:30px 0 30px}
body.ic-v2 :is(.woocommerce,.ic-woo) .related > h2::before{content:"You may also like";display:flex;align-items:center;justify-content:center;gap:14px;
  font-family:var(--ic-sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ic-coral-lt);margin-bottom:10px}
body.ic-v2 :is(.woocommerce,.ic-woo) .related > h2::after{content:"";display:block;width:56px;height:2px;margin:16px auto 0;border-radius:2px;background:linear-gradient(90deg,var(--ic-turq),var(--ic-turq-lt))}

@media (max-width:920px){
  body.ic-v2 :is(.woocommerce,.ic-woo) div.product .product_title{font-size:32px}
  body.ic-v2 .ic-philwords{grid-template-columns:minmax(0,1fr);gap:26px}
  body.ic-v2 .ic-specs{grid-template-columns:1fr 1fr}
}

/* ---------- 11/12 feedback: contact form legibility, 2-up grids on phones ---------- */
/* WPForms "modern" markup reads its colours from CSS variables */
body.ic-v2 .wpforms-container,body.ic-v2 div.wpforms-container-full{
  --wpforms-field-background-color:#1D1D1D;--wpforms-field-border-color:#3A3A3A;--wpforms-field-text-color:#EFEDEA;
  --wpforms-label-color:#C9C5BF;--wpforms-label-sublabel-color:#A6A29C;--wpforms-label-error-color:#EE9880;
  --wpforms-button-background-color:#E0836B;--wpforms-button-text-color:#00211F;--wpforms-button-border-color:#E0836B;
  --wpforms-field-border-radius:4px;--wpforms-button-border-radius:3px}
body.ic-v2 div.wpforms-container-full input,body.ic-v2 div.wpforms-container-full textarea,body.ic-v2 div.wpforms-container-full select{color:#EFEDEA !important}
body.ic-v2 div.wpforms-container-full input::placeholder,body.ic-v2 div.wpforms-container-full textarea::placeholder{color:#A6A29C !important;opacity:1 !important}
body.ic-v2 div.wpforms-container-full .wpforms-field-label{color:#C9C5BF !important}
body.ic-v2 div.wpforms-container-full .wpforms-error,body.ic-v2 div.wpforms-container-full label.wpforms-error{color:#EE9880 !important}

/* Product grids: 3 across on tablets, 2 on phones (same selector weight as the base rule) */
@media (max-width:1024px){
  body.ic-v2 :is(.woocommerce,.ic-woo) ul.products,body.ic-v2 ul.products{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media (max-width:720px){
  body.ic-v2 :is(.woocommerce,.ic-woo) ul.products,body.ic-v2 ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px}
  body.ic-v2 ul.products li.product .ic-card-sub{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:10px;letter-spacing:.06em}
  body.ic-v2 ul.products li.product .button{white-space:nowrap}
}

/* ---------- My Account layout (11/12): WooCommerce's clearfix ::before/::after were
   becoming grid items and pushing the menu into column 2 ---------- */
body.ic-v2 .ic-woo .woocommerce::before,body.ic-v2 .ic-woo .woocommerce::after,
body.ic-v2 .ic-woo .u-columns::before,body.ic-v2 .ic-woo .u-columns::after,
body.ic-v2 .ic-woo .col2-set::before,body.ic-v2 .ic-woo .col2-set::after{content:none !important;display:none !important}
body.ic-v2 .ic-account .woocommerce{max-width:var(--ic-wrap) !important}
body.ic-v2 .ic-account .woocommerce-MyAccount-navigation{grid-column:1;width:auto !important;float:none !important;position:sticky;top:150px}
body.ic-v2 .ic-account .woocommerce-MyAccount-content{grid-column:2;width:auto !important;float:none !important;min-width:0}
/* The panels: .woocommerce-account sits on <body>, so the earlier panel rules never matched */
body.ic-v2 .ic-account .woocommerce-MyAccount-navigation{background:var(--ic-s2);border:1px solid var(--ic-edge);border-radius:14px;padding:8px}
body.ic-v2 .ic-account .woocommerce-MyAccount-content{background:var(--ic-s2);border:1px solid var(--ic-edge);border-radius:14px;padding:24px 26px;color:var(--ic-tx-2)}
body.ic-v2 .ic-account .woocommerce-MyAccount-content p{color:var(--ic-tx-2)}
body.ic-v2 .ic-account .woocommerce-MyAccount-content p a,body.ic-v2 .ic-account .woocommerce-MyAccount-content strong{color:var(--ic-tx)}
body.ic-v2 .ic-account .woocommerce-MyAccount-content p a{color:var(--ic-turq-lt)}
/* Addresses: two cards side by side */
body.ic-v2 .ic-account .woocommerce-Addresses{display:grid !important;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px}
body.ic-v2 .ic-account .woocommerce-Address{float:none !important;width:auto !important;background:#111;border:1px solid var(--ic-edge);border-radius:10px;padding:18px 20px}
body.ic-v2 .ic-account .woocommerce-Address-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
body.ic-v2 .ic-account .woocommerce-Address-title h2{font-size:20px;margin:0 0 10px}
body.ic-v2 .ic-account .woocommerce-Address address{font-style:normal;color:var(--ic-tx-2);line-height:1.7}
/* Forms inside the account panel (edit account, edit address) */
body.ic-v2 .ic-account .woocommerce-MyAccount-content form .form-row{float:none;width:100%;margin:0 0 14px}
body.ic-v2 .ic-account .woocommerce-MyAccount-content form .form-row-first,
body.ic-v2 .ic-account .woocommerce-MyAccount-content form .form-row-last{width:100% !important;float:none !important}
body.ic-v2 .ic-account .woocommerce-MyAccount-content form .form-row input.input-text{width:100%}
body.ic-v2 .ic-account .woocommerce-MyAccount-content fieldset{border:1px solid var(--ic-edge);border-radius:10px;padding:16px 18px;margin:18px 0}
body.ic-v2 .ic-account .woocommerce-MyAccount-content legend{font-family:var(--ic-serif);font-size:18px;color:var(--ic-tx);padding:0 8px}
body.ic-v2 .ic-account .woocommerce-MyAccount-content em,body.ic-v2 .ic-account .woocommerce-MyAccount-content .description{color:var(--ic-tx-3);font-size:12.5px}
body.ic-v2 .ic-account .woocommerce-MyAccount-content h2,body.ic-v2 .ic-account .woocommerce-MyAccount-content h3{font-size:22px;margin:0 0 14px}
/* Orders table / empty states */
body.ic-v2 .ic-account .woocommerce-orders-table,body.ic-v2 .ic-account .woocommerce-table{width:100%}
body.ic-v2 .ic-account .woocommerce-orders-table .button{padding:8px 14px;font-size:11px}
body.ic-v2 .ic-account .woocommerce-info .button,body.ic-v2 .ic-account .woocommerce-Message .button{float:none;margin-left:12px}
/* Logged-out: login / register side by side */
body.ic-v2 .ic-account .u-columns{display:grid !important;grid-template-columns:1fr 1fr;gap:26px}
body.ic-v2 .ic-account .u-columns .u-column1,body.ic-v2 .ic-account .u-columns .u-column2{float:none !important;width:auto !important}
@media (max-width:820px){
  body.ic-v2 .ic-account .woocommerce-MyAccount-navigation,body.ic-v2 .ic-account .woocommerce-MyAccount-content{grid-column:1;position:static}
  body.ic-v2 .ic-account .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:4px}
  body.ic-v2 .ic-account .woocommerce-MyAccount-navigation li a{padding:8px 12px;font-size:13px}
  body.ic-v2 .ic-account .woocommerce-Addresses,body.ic-v2 .ic-account .u-columns{grid-template-columns:1fr}
}
