/* Seasious — WooCommerce
   ------------------------------------------------------------------ */

.woocommerce-products-header{max-width:var(--sea-max);margin:0 auto;padding:44px var(--sea-gutter) 0;text-align:center}
.woocommerce-products-header__title{font-size:clamp(30px,4vw,50px);margin:0 0 8px}
.woocommerce-products-header .term-description{color:var(--sea-muted);max-width:62ch;margin:0 auto}
.sea-crumbs{
  max-width:var(--sea-max);margin:0 auto;padding:18px var(--sea-gutter) 0;
  font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sea-muted)
}
.sea-crumbs a{color:var(--sea-muted)}
.sea-crumbs a:hover{color:var(--sea-wine)}
.sea-crumb-sep{margin:0 8px;opacity:.5}

/* Shop layout ------------------------------------------------------- */
.sea-shop{
  display:grid;grid-template-columns:262px minmax(0,1fr);gap:44px;align-items:start;
  max-width:var(--sea-max);margin:0 auto;padding:34px var(--sea-gutter) 72px;
}
.sea-shop > *{min-width:0}
/* WooCommerce prints the archive header and notices inside this wrapper —
   pin them full width so they cannot steal the sidebar column. */
.sea-shop > :not(.sea-filters):not(.sea-shop__main){grid-column:1 / -1}
.sea-shop > .sea-filters{grid-column:1}
.sea-shop > .sea-shop__main{grid-column:2}
.sea-shop .woocommerce-products-header{padding:0 0 8px;text-align:left}
.sea-shop .woocommerce-products-header__title{font-size:clamp(26px,3.2vw,40px);margin:0 0 6px}
.sea-shop .woocommerce-products-header .term-description{margin:0;max-width:70ch}
.sea-shop__main{min-width:0}
.sea-filter-toggle{
  display:none;grid-column:1/-1;justify-self:start;margin-bottom:4px;
  padding:11px 22px;border:1px solid var(--sea-wine);background:transparent;color:var(--sea-wine);
  border-radius:var(--sea-radius-sm);font-family:var(--sea-body);font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;cursor:pointer
}
.sea-filters{position:sticky;top:96px}
.sea-filters__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.sea-filters__head h2{font-size:22px;margin:0}
.sea-filters__close{display:none;background:none;border:0;font-size:26px;cursor:pointer;color:var(--sea-ink)}
.sea-clear{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sea-gold-ink);border-bottom:1px solid currentColor}
.sea-fgroup{border-top:1px solid var(--sea-line);padding:14px 0}
.sea-fgroup > summary{
  cursor:pointer;list-style:none;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--sea-ink);display:flex;justify-content:space-between;align-items:center
}
.sea-fgroup > summary::-webkit-details-marker{display:none}
.sea-fgroup > summary::after{content:"+";color:var(--sea-gold-ink);font-size:16px}
.sea-fgroup[open] > summary::after{content:"\2013"}
.sea-fgroup__body{padding-top:12px}
.sea-flist{list-style:none;margin:0;padding:0;max-height:280px;overflow:auto}
.sea-flist a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;font-size:14px;color:var(--sea-ink-soft)}
.sea-flist a span{color:var(--sea-muted);font-size:12px}
.sea-flist a:hover,.sea-flist a.is-active{color:var(--sea-wine)}
.sea-flist a.is-active{font-weight:500}
.sea-flist--check a::before{
  content:"";width:14px;height:14px;border:1px solid var(--sea-line);border-radius:2px;margin-right:8px;flex:0 0 auto
}
.sea-flist--check a.is-active::before{background:var(--sea-wine);border-color:var(--sea-wine)}
.sea-price{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.sea-price label{display:flex;flex-direction:column;gap:4px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--sea-muted);flex:1 1 80px}
.sea-price input{width:100%;padding:9px 10px;border:1px solid var(--sea-line);border-radius:var(--sea-radius-sm);background:#fff;font-family:var(--sea-body);font-size:14px}
.sea-price input:focus{outline:none;border-color:var(--sea-wine)}
.sea-price button{
  padding:10px 16px;border:1px solid var(--sea-wine);background:var(--sea-wine);color:#fff;border-radius:var(--sea-radius-sm);
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer
}
.sea-chips,.sea-swatches{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sea-chips a{
  display:block;padding:7px 14px;border:1px solid var(--sea-line);border-radius:999px;font-size:13px;color:var(--sea-ink-soft);background:#fff
}
.sea-chips a.is-active,.sea-chips a:hover{border-color:var(--sea-wine);color:var(--sea-wine)}
.sea-swatches li{position:relative}
.sea-swatches a{
  display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--sw,#ddd);
  border:1px solid rgba(28,26,25,.14);transition:box-shadow var(--sea-t)
}
.sea-swatches a span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.sea-swatches a.is-active{box-shadow:0 0 0 2px var(--sea-wine)}

/* Toolbar ----------------------------------------------------------- */
.woocommerce-result-count{margin:0;font-size:13px;color:var(--sea-muted)}
.woocommerce-ordering{margin:0}
.woocommerce-ordering select,.sea-shop select{
  padding:10px 14px;border:1px solid var(--sea-line);background:#fff;border-radius:var(--sea-radius-sm);
  font-family:var(--sea-body);font-size:13px;color:var(--sea-ink)
}
.woocommerce-notices-wrapper:empty{display:none}

/* Product grid ------------------------------------------------------ */
ul.products{
  display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:var(--gap,24px);
  list-style:none;margin:0;padding:0;
}
/* Defaults live on the wrappers so Elementor's "products per row" control wins. */
.sea-products{--cols:4;--gap:24px}
.sea-shop__main ul.products{--cols:3;--gap:26px}
ul.products::before,ul.products::after{content:none;display:none}
.sea-products--carousel ul.products{
  display:flex;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;
  scroll-behavior:smooth;scrollbar-width:none;padding-bottom:6px
}
.sea-products--carousel ul.products::-webkit-scrollbar{display:none}
.sea-products--carousel ul.products > li.product{
  flex:0 0 auto;width:calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));min-width:180px;scroll-snap-align:start
}
.sea-products-wrap .sea-carousel__nav{top:36%}

li.product.sea-card{
  position:relative;display:flex;flex-direction:column;background:var(--sea-white);
  border:1px solid var(--sea-line);border-radius:var(--sea-radius);overflow:hidden;
  transition:border-color var(--sea-t),box-shadow var(--sea-t),transform var(--sea-t);
}
li.product.sea-card:hover{border-color:var(--sea-beige-deep);box-shadow:0 18px 40px rgba(28,26,25,.08);transform:translateY(-3px)}
.sea-card__media{position:relative;background:var(--sea-beige);aspect-ratio:4/5;overflow:hidden}
.sea-card__link{display:block;height:100%}
.sea-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 700ms cubic-bezier(.2,.6,.2,1)}
li.product.sea-card:hover .sea-card__media img{transform:scale(1.045)}
.sea-badges{position:absolute;top:10px;left:10px;z-index:2;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.sea-badge{
  display:inline-block;padding:5px 10px;border-radius:999px;font-size:10px;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;line-height:1;color:#fff;background:var(--sea-ink)
}
.sea-badge--sale{background:var(--sea-sale)}
.sea-badge--new{background:var(--sea-gold);color:#241a0d}
.sea-badge--out{background:rgba(28,26,25,.78)}
.sea-wish{
  position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;border-radius:50%;
  border:1px solid var(--sea-line);background:rgba(255,255,255,.92);color:var(--sea-ink);
  display:flex;align-items:center;justify-content:center;
  padding:0;margin:0;line-height:0;box-sizing:border-box;-webkit-appearance:none;appearance:none;
  cursor:pointer;transition:color var(--sea-t),background var(--sea-t)
}
.sea-wish svg{display:block;width:17px;height:17px;flex:0 0 auto;margin:0}
.sea-wish:hover,.sea-wish.is-on{color:var(--sea-wine);border-color:var(--sea-wine)}
.sea-wish.is-on svg{fill:var(--sea-wine)}
.sea-card__body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.sea-card__kicker{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--sea-gold-ink)}
.woocommerce-loop-product__title{
  font-family:var(--sea-display);font-size:19px;line-height:1.25;margin:0;color:var(--sea-ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.sea-card__title-link:hover .woocommerce-loop-product__title{color:var(--sea-wine)}
.sea-card__rating{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--sea-muted)}
.sea-card__rating .star-rating{font-size:11px;margin:0}
ul.products .price{
  font-family:var(--sea-body);font-size:16px;font-weight:500;color:var(--sea-ink);margin:2px 0 0;display:flex;gap:8px;align-items:baseline
}
ul.products .price del{opacity:1;color:var(--sea-muted);font-weight:300;font-size:14px}
ul.products .price ins{text-decoration:none;color:var(--sea-sale);font-weight:500;background:transparent}
li.product .button,li.product .added_to_cart{
  margin-top:auto;display:block;width:100%;text-align:center;
  padding:12px 14px;border:1px solid var(--sea-line);background:transparent;color:var(--sea-ink);
  border-radius:var(--sea-radius-sm);font-family:var(--sea-body);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;font-weight:500;cursor:pointer;transition:background var(--sea-t),color var(--sea-t),border-color var(--sea-t)
}
li.product .button:hover{background:var(--sea-wine);border-color:var(--sea-wine);color:#fff}
li.product .added_to_cart{margin-top:8px;border-color:var(--sea-gold);color:var(--sea-gold-ink)}
.star-rating{color:var(--sea-gold)}

/* Pagination -------------------------------------------------------- */
.woocommerce-pagination{margin:44px 0 0;text-align:center}
.woocommerce-pagination ul{list-style:none;display:inline-flex;gap:6px;margin:0;padding:0;border:0}
.woocommerce-pagination li{border:0}
.woocommerce-pagination a,.woocommerce-pagination span{
  display:grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--sea-line);
  border-radius:var(--sea-radius-sm);font-size:14px;color:var(--sea-ink-soft);background:#fff
}
.woocommerce-pagination .current{background:var(--sea-wine);border-color:var(--sea-wine);color:#fff}
/* Single product ---------------------------------------------------- */
.single-product div.product{
  position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(28px,4vw,64px);max-width:var(--sea-max);margin:0 auto;
  padding:26px var(--sea-gutter) 72px;
}
.single-product div.product > *{min-width:0}
.single-product div.product .woocommerce-product-gallery,
.single-product div.product div.images{grid-column:1;grid-row:1;width:100%;float:none;opacity:1}
.single-product div.product .summary{grid-column:2;grid-row:1;width:100%;float:none;position:static}
.single-product div.product > *:not(.woocommerce-product-gallery):not(.images):not(.summary):not(.sea-badges){grid-column:1/-1}
.single-product div.product .sea-badges{top:24px;left:calc(var(--sea-gutter) + 12px);z-index:3}
.woocommerce-product-gallery{background:var(--sea-beige);border-radius:var(--sea-radius);overflow:hidden}
.woocommerce-product-gallery img{border-radius:var(--sea-radius)}
.woocommerce-product-gallery__wrapper{margin:0}
.flex-control-thumbs{display:flex;gap:10px;list-style:none;margin:12px;padding:0;flex-wrap:wrap}
.flex-control-thumbs li{width:calc(25% - 8px)}
.flex-control-thumbs img{border-radius:var(--sea-radius-sm);cursor:pointer;opacity:.62;transition:opacity var(--sea-t)}
.flex-control-thumbs img.flex-active,.flex-control-thumbs img:hover{opacity:1}

.summary .product_title{font-size:clamp(28px,3.2vw,44px);margin:0 0 8px}
.summary .woocommerce-product-rating{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:13px}
.summary .price{
  font-family:var(--sea-body);font-size:26px;font-weight:500;color:var(--sea-ink);
  display:flex;gap:12px;align-items:baseline;margin:0 0 18px;padding-bottom:18px;border-bottom:1px solid var(--sea-line)
}
.summary .price del{opacity:1;color:var(--sea-muted);font-size:19px;font-weight:300}
.summary .price ins{text-decoration:none;color:var(--sea-sale);background:transparent}
.woocommerce-product-details__short-description{color:var(--sea-ink-soft);margin-bottom:20px}
table.variations{width:100%;border:0;margin:0 0 16px}
table.variations th,table.variations td{border:0;padding:6px 0;vertical-align:middle;background:transparent}
table.variations th{
  width:110px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--sea-muted);font-weight:500;text-align:left
}
table.variations select{
  width:100%;padding:12px 14px;border:1px solid var(--sea-line);border-radius:var(--sea-radius-sm);
  background:#fff;font-family:var(--sea-body);font-size:14px
}
.reset_variations{font-size:12px;color:var(--sea-gold-ink)}
form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin:0 0 18px}
.single-product form.cart div.quantity{display:flex}
.quantity input.qty{
  width:76px;padding:14px 10px;border:1px solid var(--sea-line);border-radius:var(--sea-radius-sm);
  text-align:center;font-family:var(--sea-body);font-size:15px;background:#fff
}
.single_add_to_cart_button{
  flex:1 1 200px;padding:15px 28px;border:1px solid var(--sea-wine);background:var(--sea-wine);color:#fff;
  border-radius:var(--sea-radius-sm);font-family:var(--sea-body);font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;font-weight:500;cursor:pointer;transition:background var(--sea-t)
}
.single_add_to_cart_button:hover{background:var(--sea-wine-dark)}
.sea-buynow{
  flex:1 1 160px;padding:15px 28px;border:1px solid var(--sea-ink);background:var(--sea-ink);color:#fff;
  border-radius:var(--sea-radius-sm);font-size:12px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer
}
.sea-buynow:hover{background:#000}
.woocommerce-variation-add-to-cart{display:flex;gap:12px;flex-wrap:wrap;width:100%}
.sea-trust{list-style:none;margin:6px 0 18px;padding:0;display:grid;gap:8px}
.sea-trust li{position:relative;padding-left:22px;font-size:13px;color:var(--sea-ink-soft)}
.sea-trust li::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:var(--sea-gold)}
.product_meta{font-size:13px;color:var(--sea-muted);border-top:1px solid var(--sea-line);padding-top:16px;display:grid;gap:6px}
.product_meta a{color:var(--sea-ink-soft)}
.product_meta a:hover{color:var(--sea-wine)}

.woocommerce-tabs{margin-top:16px;border-top:1px solid var(--sea-line);padding-top:34px}
.woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:26px;margin:0 0 22px;padding:0;flex-wrap:wrap;border:0}
.woocommerce-tabs ul.tabs li{margin:0;padding:0;background:transparent;border:0}
.woocommerce-tabs ul.tabs li a{
  display:block;padding:8px 0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--sea-muted);border-bottom:1px solid transparent
}
.woocommerce-tabs ul.tabs li.active a{color:var(--sea-ink);border-bottom-color:var(--sea-wine)}
.woocommerce-tabs .panel{max-width:78ch;color:var(--sea-ink-soft)}
.woocommerce-tabs h2{font-size:22px}
.related,.up-sells{border-top:1px solid var(--sea-line);padding-top:40px;margin-top:12px}
.related > h2,.up-sells > h2{font-size:clamp(24px,2.6vw,34px);margin-bottom:22px}
.related ul.products,.up-sells ul.products{--cols:4}

/* Cart -------------------------------------------------------------- */
.woocommerce-cart .sea-page,
.woocommerce-checkout .sea-page,
.woocommerce-account .sea-page{max-width:var(--sea-max);margin:0 auto;padding:0 var(--sea-gutter)}
.woocommerce-cart-form table.shop_table,
.woocommerce table.shop_table{
  width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--sea-line);border-radius:var(--sea-radius)
}
.woocommerce table.shop_table th{
  text-align:left;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--sea-muted);
  font-weight:500;padding:16px;border-bottom:1px solid var(--sea-line)
}
.woocommerce table.shop_table td{padding:16px;border-bottom:1px solid var(--sea-line);vertical-align:middle}
.woocommerce table.shop_table img{width:74px;border-radius:var(--sea-radius-sm)}
.product-name a{font-family:var(--sea-display);font-size:18px;color:var(--sea-ink)}
.woocommerce a.remove{
  display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:var(--sea-muted);
  border:1px solid var(--sea-line);font-size:15px;line-height:1
}
.woocommerce a.remove:hover{background:var(--sea-sale);border-color:var(--sea-sale);color:#fff}
.coupon{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.coupon input[type=text]{
  padding:13px 16px;border:1px solid var(--sea-line);border-radius:var(--sea-radius-sm);min-width:190px;background:#fff
}
.woocommerce .button,.woocommerce button.button,.woocommerce input.button,.woocommerce a.button{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 26px;border:1px solid var(--sea-wine);background:var(--sea-wine);color:#fff;
  border-radius:var(--sea-radius-sm);font-family:var(--sea-body);font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;font-weight:500;cursor:pointer;transition:background var(--sea-t),color var(--sea-t)
}
.woocommerce .button:hover{background:var(--sea-wine-dark);color:#fff}
.woocommerce .button[disabled]{opacity:.5}
.cart-collaterals,.cart_totals{margin-top:34px}
.cart_totals h2,.cross-sells h2{font-size:24px}
.cart_totals table{background:#fff}
.checkout-button{width:100%}

/* Checkout + account ------------------------------------------------ */
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
.woocommerce form .form-row{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;padding:0}
.woocommerce form .form-row label{font-size:12px;letter-spacing:.08em;color:var(--sea-ink-soft)}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single{
  width:100%;padding:13px 15px;border:1px solid var(--sea-line);border-radius:var(--sea-radius-sm);
  background:#fff;font-family:var(--sea-body);font-size:15px;color:var(--sea-ink);height:auto
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{outline:none;border-color:var(--sea-wine)}
#order_review,.woocommerce-checkout-review-order{
  background:#fff;border:1px solid var(--sea-line);border-radius:var(--sea-radius);padding:22px;margin-top:10px
}
#payment ul.payment_methods{list-style:none;margin:0 0 18px;padding:0;border:0}
#payment ul.payment_methods li{padding:12px 0;border-bottom:1px solid var(--sea-line)}
#payment .payment_box{background:var(--sea-cream);border-radius:var(--sea-radius-sm);padding:12px 14px;font-size:13px}
.woocommerce-info,.woocommerce-message,.woocommerce-error{
  background:#fff;border:1px solid var(--sea-line);border-left:3px solid var(--sea-gold);
  border-radius:var(--sea-radius-sm);padding:14px 18px;margin:0 0 20px;list-style:none;font-size:14px
}
.woocommerce-error{border-left-color:var(--sea-sale)}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px;border:1px solid var(--sea-line);border-radius:var(--sea-radius-sm);margin-bottom:8px;background:#fff;font-size:14px}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--sea-wine);border-color:var(--sea-wine);color:#fff}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:250px minmax(0,1fr);gap:34px;align-items:start;max-width:var(--sea-max);margin:0 auto;padding:34px var(--sea-gutter) 70px}
.woocommerce-account .woocommerce-MyAccount-content{background:#fff;border:1px solid var(--sea-line);border-radius:var(--sea-radius);padding:26px}
.woocommerce-account:not(.logged-in) .woocommerce{grid-template-columns:minmax(0,1fr);max-width:560px}

/* ------------------------------------------------------------------
   WooCommerce core-CSS hardening.
   woocommerce-layout.css styles the loop as floats:
     .woocommerce ul.products li.product { float:left; width:22.05%; margin-right:3.8% }
   Those selectors are (0,3,2) and beat our (0,2,1) card rules, which collapses
   every card to ~22% of its own grid track on shop/category/product pages
   (the homepage is unaffected because the body has no .woocommerce class).
   Everything below is scoped high enough to win, and !important is used only
   where core sets the same property on the same element.
   ------------------------------------------------------------------ */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid !important;
  grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));
  gap:var(--gap,24px);margin:0;padding:0;list-style:none;float:none;
}
/* Archive cards sit squarer than the 4:5 used in the narrower homepage grids. */
.sea-shop__main ul.products li.product.sea-card .sea-card__media{aspect-ratio:1/1}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{content:none !important;display:none !important}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products[class*="columns-"] li.product{
  width:100% !important;max-width:none !important;margin:0 !important;
  float:none !important;clear:none !important;padding:0;text-align:left;
}
.woocommerce ul.products li.product.sea-card{
  display:flex;flex-direction:column;background:var(--sea-white);
  border:1px solid var(--sea-line);border-radius:var(--sea-radius);overflow:hidden;
}
.woocommerce ul.products li.product.sea-card .sea-card__media{
  aspect-ratio:4/5;width:100%;overflow:hidden;background:var(--sea-beige)
}
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product.sea-card .sea-card__media img{
  width:100% !important;height:100% !important;margin:0 !important;
  object-fit:cover;display:block;box-shadow:none;
}
.woocommerce ul.products li.product.sea-card .woocommerce-loop-product__title{
  font-family:var(--sea-display);font-size:19px;line-height:1.25;
  padding:0 !important;margin:0 !important;color:var(--sea-ink);font-weight:500;
}
.woocommerce ul.products li.product.sea-card .price{
  color:var(--sea-ink) !important;font-family:var(--sea-body);font-size:16px !important;
  font-weight:500;display:flex !important;gap:8px;align-items:baseline;
  margin:2px 0 0 !important;line-height:1.35;
}
.woocommerce ul.products li.product.sea-card .price del{color:var(--sea-muted);opacity:1;font-size:14px;font-weight:300}
.woocommerce ul.products li.product.sea-card .price ins{color:var(--sea-sale);background:transparent;text-decoration:none;font-weight:500}
.woocommerce ul.products li.product.sea-card .star-rating{
  float:none !important;margin:0 !important;font-size:11px;width:5.4em;color:var(--sea-gold)
}
.woocommerce ul.products li.product.sea-card .sea-card__rating{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--sea-muted)}
.woocommerce ul.products li.product.sea-card .button,
.woocommerce ul.products li.product.sea-card .added_to_cart{
  margin:auto 0 0 !important;display:block;width:100%;text-align:center;
  padding:12px 14px;border:1px solid var(--sea-line);background:transparent;color:var(--sea-ink);
  border-radius:var(--sea-radius-sm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
}
.woocommerce ul.products li.product.sea-card .button:hover{background:var(--sea-wine);border-color:var(--sea-wine);color:#fff}
.woocommerce ul.products li.product.sea-card .added_to_cart{margin-top:8px !important;border-color:var(--sea-gold);color:var(--sea-gold-ink)}

/* Carousels keep their own track sizing even on WooCommerce pages. */
.woocommerce .sea-products--carousel ul.products,
.sea-products--carousel ul.products{
  display:flex !important;grid-template-columns:none;overflow-x:auto;
  scroll-snap-type:x proximity;overscroll-behavior-x:contain;scroll-behavior:smooth;scrollbar-width:none;
}
.woocommerce .sea-products--carousel ul.products > li.product,
.sea-products--carousel ul.products > li.product{
  flex:0 0 auto;
  width:calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols)) !important;
  min-width:180px;scroll-snap-align:start;
}

/* Archive toolbar: core floats these; we lay them out in a row instead. */
.sea-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:0 0 20px;margin:0 0 22px;border-bottom:1px solid var(--sea-line)
}
.woocommerce .sea-toolbar .woocommerce-result-count,
.woocommerce .sea-toolbar .woocommerce-ordering{float:none !important;margin:0 !important}
.woocommerce .woocommerce-ordering select{margin:0}

/* --- Single product: core floats the gallery/summary at 48% ------- */
.woocommerce #content div.product div.images,
.woocommerce div.product div.images,
.woocommerce #content div.product .woocommerce-product-gallery,
.woocommerce div.product .woocommerce-product-gallery{
  width:100% !important;float:none !important;clear:none !important;margin:0 !important;opacity:1 !important;
}
.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary{
  width:100% !important;float:none !important;clear:none !important;margin:0 !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--sea-ink) !important;font-family:var(--sea-body);font-size:26px !important;font-weight:500;
}
.woocommerce div.product p.price del{color:var(--sea-muted);opacity:1;font-size:19px;font-weight:300}
.woocommerce div.product p.price ins{color:var(--sea-sale);background:transparent;text-decoration:none}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.woocommerce div.product form.cart div.quantity{float:none !important;margin:0 !important}
.woocommerce div.product form.cart .button{float:none !important;vertical-align:baseline}
.woocommerce .quantity .qty{width:76px !important;text-align:center}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  padding:0 !important;margin:0 0 22px !important;overflow:visible;display:flex;gap:26px;flex-wrap:wrap;border:0
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent !important;border:0 !important;border-radius:0 !important;
  margin:0 !important;padding:0 !important;display:inline-block
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{content:none !important;border:0 !important;box-shadow:none !important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  padding:8px 0 !important;font-weight:500 !important;font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--sea-muted) !important;border-bottom:1px solid transparent
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--sea-ink) !important;border-bottom-color:var(--sea-wine)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border:0 !important;content:none !important}
.woocommerce #reviews #comments ol.commentlist li img.avatar{width:44px;border:0;border-radius:50%;padding:0;background:none}
.woocommerce #reviews #comments ol.commentlist li .comment-text{border:1px solid var(--sea-line);border-radius:var(--sea-radius);padding:18px;margin-left:64px}
.woocommerce .woocommerce-product-gallery__trigger{z-index:3}

.woocommerce div.product div.images .flex-control-thumbs{
  display:flex !important;flex-wrap:wrap;gap:10px;margin:12px !important;padding:0 !important;overflow:visible !important
}
.woocommerce div.product div.images .flex-control-thumbs li{
  width:calc(25% - 8px) !important;float:none !important;margin:0 !important;list-style:none
}
.woocommerce div.product div.images .flex-control-thumbs img{border-radius:var(--sea-radius-sm);opacity:.62}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover{opacity:1}

/* --- Checkout payment box: core ships a grey panel ---------------- */
.woocommerce-checkout #payment,
.woocommerce-page #payment{background:transparent !important;border-radius:0}
.woocommerce-checkout #payment div.payment_box,
.woocommerce-page #payment div.payment_box{
  background-color:var(--sea-cream) !important;color:var(--sea-ink-soft);
  border-radius:var(--sea-radius-sm);font-size:13px
}
.woocommerce-checkout #payment div.payment_box::before,
.woocommerce-page #payment div.payment_box::before{border-bottom-color:var(--sea-cream) !important}
.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-page #payment ul.payment_methods{border:0 !important;padding:0 !important}
.woocommerce-checkout #payment div.form-row,
.woocommerce-page #payment div.form-row{padding:16px 0 0}
.woocommerce #payment #place_order{width:100%;font-size:13px;padding:16px 24px}

/* --- My account: core floats the two columns --------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
  width:100% !important;float:none !important;margin:0 !important
}

/* --- Cart / checkout tables -------------------------------------- */
body.woocommerce table.shop_table,
body.woocommerce-page table.shop_table{
  border:1px solid var(--sea-line);border-radius:var(--sea-radius);border-collapse:collapse;margin:0 0 24px
}
body.woocommerce table.shop_table td,
body.woocommerce table.shop_table th{border-left:0;border-right:0}
.woocommerce table.cart img,
.woocommerce #content table.cart img{width:74px;box-shadow:none;border-radius:var(--sea-radius-sm)}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals{float:none;width:100%;max-width:460px;margin-left:auto}
.woocommerce .cart-collaterals .cross-sells{float:none;width:100%}
.woocommerce-cart table.cart td.actions .coupon{float:none}
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-1,
.woocommerce-page .col2-set .col-2{float:none;width:100%}

/* Hello Elementor page shell for cart / checkout / account / policies */
.page .site-main,
.single-post .site-main{
  max-width:var(--sea-max);margin:0 auto;padding:40px var(--sea-gutter) 72px;
}
.woocommerce-account .site-main,
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main{padding-bottom:80px}
.page .site-main .entry-title,
.page .site-main .page-header .entry-title{
  font-size:clamp(30px,4vw,48px);margin:0 0 26px;text-align:center
}
.page .site-main .entry-content > *{max-width:none}
.page .site-main h2{font-size:26px;margin-top:1.6em}
.page-header{margin-bottom:0}

/* Responsive -------------------------------------------------------- */
@media (max-width:1024px){
  .sea-shop__main ul.products{--cols:2}
  .related ul.products,.up-sells ul.products{--cols:3}
}
@media (max-width:900px){
  .sea-shop{grid-template-columns:minmax(0,1fr);gap:18px}
  .sea-shop > .sea-filters,
  .sea-shop > .sea-shop__main{grid-column:1 / -1}
  .sea-filter-toggle{display:block}
  .sea-filters{
    position:fixed;inset:0 auto 0 0;width:min(86vw,330px);background:var(--sea-cream);z-index:9999;
    padding:18px 20px 60px;overflow-y:auto;transform:translateX(-100%);transition:transform 300ms ease;box-shadow:0 0 60px rgba(28,26,25,.2)
  }
  .sea-filters.is-open{transform:none}
  .sea-filters__close{display:block}
  .single-product div.product{grid-template-columns:minmax(0,1fr)}
  .single-product div.product .summary{grid-column:1;grid-row:2}
  .woocommerce-checkout .col2-set{grid-template-columns:minmax(0,1fr);gap:0}
  .woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:767px){
  .sea-shop__main ul.products{--cols:2;--gap:14px}
  .related ul.products,.up-sells ul.products{--cols:2;--gap:14px}
  .sea-card__body{padding:12px 12px 14px;gap:4px}
  .woocommerce-loop-product__title{font-size:16px}
  ul.products .price{font-size:15px}
  li.product .button{font-size:10px;letter-spacing:.1em;padding:11px 8px}
  .woocommerce table.shop_table thead{display:none}
  .woocommerce table.shop_table tr{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;padding:14px;border-bottom:1px solid var(--sea-line)}
  .woocommerce table.shop_table td{border:0;padding:2px 0}
  .woocommerce table.shop_table td::before{content:attr(data-title) ": ";color:var(--sea-muted);font-size:12px}
  .woocommerce table.shop_table td.product-remove::before,
  .woocommerce table.shop_table td.product-thumbnail::before{content:none}
  form.cart{gap:8px}
  .single_add_to_cart_button,.sea-buynow{flex:1 1 100%}
}

