/*
 * jh-shop-look: cart, checkout, my-account and shop pages of automatedboatingsolutions.com
 * in the home page's look. Loaded ONLY on those four pages (see ../jh-shop-look.php), and every
 * rule starts with body.jh-shop, so nothing here can reach the home page or the quote form.
 * Values are the home page's own (page 10, widget 710cc672, .abslp rules), not approximations.
 * 2026-10-13.
 */

body.jh-shop {
	--abs-navy: #0a2540;
	--abs-navy-2: #0d2f52;
	--abs-deep: #061a30;
	--abs-aqua: #16b8cf;
	--abs-aqua-2: #2ad4e8;
	--abs-sand: #f4f7fa;
	--abs-ink: #1a2a3a;
	--abs-muted: #5b6b7c;
	--abs-line: #e3e9f0;
	--abs-field: #c5d1dc; /* form field border: a step darker than --abs-line so fields stay visible on white */
	--abs-error: #c0392b;
	--abs-radius: 14px;
	--abs-shadow: 0 18px 40px -18px rgba(6, 26, 48, .35);
	--abs-font: 'Segoe UI', system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
	background: var(--abs-sand);
	color: var(--abs-ink);
	font-family: var(--abs-font);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

body.jh-shop h1,
body.jh-shop h2,
body.jh-shop h3,
body.jh-shop h4,
body.jh-shop button,
body.jh-shop input,
body.jh-shop select,
body.jh-shop textarea {
	font-family: var(--abs-font);
}

body.jh-shop h1,
body.jh-shop h2,
body.jh-shop h3 {
	color: var(--abs-navy);
	line-height: 1.15;
	letter-spacing: -.01em;
}

body.jh-shop a {
	color: var(--abs-navy);
}

body.jh-shop a:hover {
	color: var(--abs-aqua);
}

/* ---- page frame: same width as the home page's .wrap (1160px, 24px gutters) ---- */

body.jh-shop .site-main {
	max-width: 1160px;
	padding: 0 24px 84px;
	margin: 0 auto;
}

body.jh-shop .site-main .page-header,
body.jh-shop .woocommerce-products-header {
	padding: 56px 0 28px;
}

body.jh-shop h1.entry-title,
body.jh-shop .woocommerce-products-header__title {
	font-size: clamp(1.7rem, 3.4vw, 2.6rem);
	font-weight: 800;
	margin: 0;
}

body.jh-shop .alignwide {
	margin-inline: 0;
	max-width: none;
}

/* ---- buttons: the home page's .btn + .btn-dark, and .btn-primary for the buy buttons ---- */

body.jh-shop .wc-block-components-button:not(.is-link),
body.jh-shop .woocommerce .button,
body.jh-shop .woocommerce button.button,
body.jh-shop .woocommerce a.button,
body.jh-shop .woocommerce input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
	font-family: var(--abs-font);
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.6;
	padding: 15px 30px;
	border-radius: 999px;
	border: 2px solid transparent;
	background: var(--abs-navy);
	color: #fff;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
	transition: .2s;
}

body.jh-shop .wc-block-components-button:not(.is-link):hover,
body.jh-shop .wc-block-components-button:not(.is-link):focus,
body.jh-shop .woocommerce .button:hover,
body.jh-shop .woocommerce .button:focus,
body.jh-shop .woocommerce button.button:hover,
body.jh-shop .woocommerce a.button:hover {
	background: var(--abs-navy-2);
	color: #fff;
	transform: translateY(-2px);
	text-decoration: none;
}

body.jh-shop .wc-block-components-button:not(.is-link) .wc-block-components-button__text {
	text-decoration: none;
}

body.jh-shop .wc-block-components-button.wc-block-cart__submit-button:not(.is-link),
body.jh-shop .wc-block-components-button.wc-block-components-checkout-place-order-button:not(.is-link) {
	width: 100%;
	background: linear-gradient(135deg, var(--abs-aqua), var(--abs-aqua-2));
	color: var(--abs-deep);
}

body.jh-shop .wc-block-components-button.wc-block-cart__submit-button:not(.is-link):hover,
body.jh-shop .wc-block-components-button.wc-block-cart__submit-button:not(.is-link):focus,
body.jh-shop .wc-block-components-button.wc-block-components-checkout-place-order-button:not(.is-link):hover,
body.jh-shop .wc-block-components-button.wc-block-components-checkout-place-order-button:not(.is-link):focus {
	background: linear-gradient(135deg, var(--abs-aqua), var(--abs-aqua-2));
	color: var(--abs-deep);
	transform: translateY(-2px);
	box-shadow: 0 12px 28px -10px rgba(22, 184, 207, .7);
}

body.jh-shop .wc-block-components-button:disabled,
body.jh-shop .wc-block-components-button[aria-disabled="true"] {
	opacity: .55;
	transform: none;
	box-shadow: none;
}

/* Small in-form buttons keep their own size; only the theme's pink hover is taken away. */
body.jh-shop .wc-block-components-quantity-selector__button,
body.jh-shop .wc-block-cart-item__remove-link,
body.jh-shop .wc-block-components-panel__button,
body.jh-shop .wc-block-components-address-card__edit,
body.jh-shop .wc-block-components-address-form__address_2-toggle {
	color: var(--abs-ink);
}

body.jh-shop .wc-block-components-quantity-selector__button:hover,
body.jh-shop .wc-block-components-quantity-selector__button:focus,
body.jh-shop .wc-block-cart-item__remove-link:hover,
body.jh-shop .wc-block-cart-item__remove-link:focus,
body.jh-shop .wc-block-components-panel__button:hover,
body.jh-shop .wc-block-components-panel__button:focus {
	background: transparent;
	color: var(--abs-aqua);
}

/* ---- cards ---- */

/* Main column: the home page's quote card (.qcard). */
body.jh-shop .wc-block-components-sidebar-layout .wc-block-components-main.wc-block-cart__main,
body.jh-shop .wc-block-components-sidebar-layout .wc-block-components-main.wc-block-checkout__main {
	background: #fff;
	border: 1px solid var(--abs-line);
	border-radius: 20px;
	box-shadow: var(--abs-shadow);
	padding: 36px 40px;
}

body.jh-shop .wc-block-components-sidebar-layout {
	margin: 0;
	gap: 28px;
	flex-wrap: nowrap;
	align-items: flex-start;
}

body.jh-shop .wc-block-components-sidebar-layout .wc-block-components-main {
	padding-right: 0;
}

/* Totals / order summary: the home page's model card (.model): white, 18px radius, navy gradient top. */
body.jh-shop .wc-block-cart__sidebar,
body.jh-shop .wp-block-woocommerce-checkout-order-summary-block {
	background: #fff;
	border: 1px solid var(--abs-line);
	border-radius: 18px;
	overflow: hidden;
	padding: 0;
}

body.jh-shop .wc-block-components-sidebar-layout .wc-block-components-sidebar {
	padding-left: 0;
}

body.jh-shop .wc-block-cart__sidebar {
	padding-bottom: 26px;
}

body.jh-shop .wc-block-cart__sidebar > *,
body.jh-shop .wc-block-cart__sidebar .wc-block-components-totals-wrapper {
	padding-left: 26px;
	padding-right: 26px;
}

body.jh-shop .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
	padding: 0;
}

body.jh-shop .wc-block-cart__totals-title,
body.jh-shop .wc-block-components-checkout-order-summary__title {
	display: block;
	margin: 0 0 6px;
	padding: 22px 26px;
	background: linear-gradient(135deg, var(--abs-navy), var(--abs-navy-2));
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.15;
	text-transform: none;
	text-align: left;
	border: 0;
}

body.jh-shop .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
	margin: 0;
}

body.jh-shop .wc-block-components-checkout-order-summary__title-icon {
	color: #fff;
}

body.jh-shop .wc-block-components-sidebar .wc-block-components-panel,
body.jh-shop .wc-block-components-sidebar .wc-block-components-totals-wrapper {
	border-color: var(--abs-line);
}

body.jh-shop .wc-block-cart__submit {
	margin: 20px 0 0;
}

/* Spec-row look for the totals (.spec): label muted, value bold navy. */
body.jh-shop .wc-block-components-totals-item__label {
	color: var(--abs-muted);
}

body.jh-shop .wc-block-components-totals-item__value {
	color: var(--abs-navy);
	font-weight: 700;
}

body.jh-shop .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.jh-shop .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--abs-navy);
	font-size: 1.35rem;
	font-weight: 800;
	letter-spacing: -.01em;
}

/* ---- cart lines + order summary lines ---- */

body.jh-shop table.wc-block-cart-items,
body.jh-shop table.wc-block-cart-items th,
body.jh-shop table.wc-block-cart-items td {
	border-color: var(--abs-line);
	background: transparent;
}

body.jh-shop .wc-block-cart-items__header {
	color: var(--abs-muted);
	font-size: .78rem;
	letter-spacing: .14em;
}

body.jh-shop .wc-block-cart-item__image img,
body.jh-shop .wc-block-components-order-summary-item__image img {
	border-radius: 10px;
}

/* doubled class + row chain: wc cart.css loads after this file and uses table...__row ...product-name */
body.jh-shop .wc-block-components-product-name.wc-block-components-product-name,
body.jh-shop table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name.wc-block-components-product-name {
	color: var(--abs-navy);
	font-weight: 700;
	font-size: 1.05rem;
	text-decoration: none;
}

body.jh-shop .wc-block-components-order-summary-item .wc-block-components-product-name {
	font-size: .95rem;
}

body.jh-shop .wc-block-components-product-name:hover {
	color: var(--abs-aqua);
}

body.jh-shop .wc-block-components-product-price,
body.jh-shop .wc-block-cart-item__total,
body.jh-shop .wc-block-components-order-summary-item__total-price {
	color: var(--abs-navy);
	font-weight: 700;
}

body.jh-shop .wc-block-components-product-metadata,
body.jh-shop .wc-block-components-product-metadata p {
	color: var(--abs-muted);
}

body.jh-shop .wc-block-components-quantity-selector {
	border-color: var(--abs-field);
	border-radius: 10px;
}

body.jh-shop .wc-block-components-quantity-selector::after {
	border-color: var(--abs-field);
	border-radius: 10px;
}

body.jh-shop .wc-block-components-order-summary-item__quantity {
	background: var(--abs-navy);
	border-color: var(--abs-navy);
	color: #fff;
	box-shadow: none;
}

/* ---- checkout steps ---- */

body.jh-shop .wc-block-components-checkout-step__title,
body.jh-shop .wc-block-components-title.wc-block-components-title {
	color: var(--abs-navy);
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: -.01em;
}

body.jh-shop .wc-block-checkout__guest-checkout-notice,
body.jh-shop .wc-block-components-checkout-step__description,
body.jh-shop .wc-block-checkout__terms {
	color: var(--abs-muted);
}

body.jh-shop .wc-block-checkout__terms a {
	color: var(--abs-navy);
	text-decoration: underline;
}

body.jh-shop .wc-block-checkout__terms.wc-block-checkout__terms--with-separator {
	border-color: var(--abs-line);
}

/* ---- form fields: the home page's quote-form inputs ---- */

body.jh-shop .wc-block-components-text-input input,
body.jh-shop .wc-block-components-textarea,
body.jh-shop .wc-blocks-components-select .wc-blocks-components-select__container,
body.jh-shop .wc-block-components-combobox .wc-block-components-combobox-control input,
body.jh-shop .woocommerce form .form-row .input-text,
body.jh-shop .woocommerce form .form-row select,
body.jh-shop .woocommerce form .form-row textarea {
	background: #fbfcfe;
	border: 1px solid var(--abs-field);
	border-radius: 10px;
	color: var(--abs-ink);
	box-shadow: none;
}

body.jh-shop .woocommerce form .form-row .input-text,
body.jh-shop .woocommerce form .form-row select,
body.jh-shop .woocommerce form .form-row textarea {
	padding: 13px 14px;
	font-size: .96rem;
}

body.jh-shop .wc-blocks-components-select .wc-blocks-components-select__select {
	background: transparent;
	color: var(--abs-ink);
}

body.jh-shop .wc-block-components-text-input input:focus,
body.jh-shop .wc-block-components-textarea:focus,
body.jh-shop .wc-blocks-components-select .wc-blocks-components-select__container:focus-within,
body.jh-shop .woocommerce form .form-row .input-text:focus,
body.jh-shop .woocommerce form .form-row select:focus {
	background: #fff;
	border-color: var(--abs-aqua);
	box-shadow: 0 0 0 1px var(--abs-aqua);
	outline: none;
}

body.jh-shop .wc-blocks-components-select .wc-blocks-components-select__select:focus {
	box-shadow: none;
	outline: none;
}

body.jh-shop .wc-block-components-text-input label,
body.jh-shop .wc-blocks-components-select .wc-blocks-components-select__label {
	color: var(--abs-muted);
}

body.jh-shop .woocommerce form .form-row label {
	color: var(--abs-navy);
	font-size: .85rem;
	font-weight: 600;
}

/* Validation: red border + red message, the colour the home page uses for its warnings. */
body.jh-shop .wc-block-components-text-input.has-error input,
body.jh-shop .wc-blocks-components-select.has-error .wc-blocks-components-select__container,
body.jh-shop .wc-block-components-combobox.has-error input,
body.jh-shop .woocommerce form .form-row.woocommerce-invalid .input-text {
	border-color: var(--abs-error);
	box-shadow: 0 0 0 1px var(--abs-error);
}

body.jh-shop .wc-block-components-text-input.has-error label,
body.jh-shop .wc-block-components-validation-error,
body.jh-shop .wc-block-components-validation-error > p {
	color: var(--abs-error);
}

body.jh-shop .wc-block-components-validation-error > p {
	font-size: .85rem;
	font-weight: 600;
}

/* Radios and checkboxes: navy instead of the theme default. */
body.jh-shop .wc-block-components-radio-control__input,
body.jh-shop .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] {
	border-color: var(--abs-muted);
}

body.jh-shop .wc-block-components-radio-control__input:checked,
body.jh-shop .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked {
	border-color: var(--abs-navy);
}

body.jh-shop .wc-block-components-radio-control__input:checked::before {
	background: var(--abs-navy);
}

body.jh-shop .wc-block-components-checkbox .wc-block-components-checkbox__mark {
	fill: var(--abs-navy);
}

body.jh-shop .wc-block-components-radio-control--highlight-checked::after,
body.jh-shop .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted,
body.jh-shop .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	border-radius: 12px;
}

body.jh-shop .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted,
body.jh-shop .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	box-shadow: inset 0 0 0 1.5px var(--abs-aqua);
}

body.jh-shop .wc-block-components-radio-control--highlight-checked::after {
	border-color: var(--abs-line);
}

/* Notices */
body.jh-shop .wc-block-components-notice-banner,
body.jh-shop .woocommerce-info,
body.jh-shop .woocommerce-message,
body.jh-shop .woocommerce-error {
	border-radius: 12px;
}

body.jh-shop .woocommerce-info,
body.jh-shop .woocommerce-message {
	background: #fff;
	border-top-color: var(--abs-aqua);
	color: var(--abs-ink);
}

body.jh-shop .woocommerce-info::before,
body.jh-shop .woocommerce-message::before {
	color: var(--abs-aqua);
}

body.jh-shop .woocommerce-error {
	background: #fff;
	border-top-color: var(--abs-error);
}

body.jh-shop .woocommerce-error::before {
	color: var(--abs-error);
}

/* ---- my account (classic shortcode) ---- */

body.jh-shop .woocommerce h2 {
	color: var(--abs-navy);
	font-size: 1.5rem;
	font-weight: 800;
	margin: 0 0 18px;
}

body.jh-shop .woocommerce form.login,
body.jh-shop .woocommerce form.register,
body.jh-shop .woocommerce form.lost_reset_password,
body.jh-shop .woocommerce-MyAccount-content {
	background: #fff;
	border: 1px solid var(--abs-line);
	border-radius: 20px;
	box-shadow: var(--abs-shadow);
	padding: 36px 40px;
}

body.jh-shop .woocommerce form.login,
body.jh-shop .woocommerce form.register,
body.jh-shop .woocommerce form.lost_reset_password {
	max-width: 560px;
	margin: 0 0 24px;
}

body.jh-shop .woocommerce-MyAccount-content p {
	color: var(--abs-muted);
}

body.jh-shop .woocommerce-MyAccount-content p strong,
body.jh-shop .woocommerce-MyAccount-content p a {
	color: var(--abs-navy);
}

body.jh-shop .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 10px;
	background: #fff;
	border: 1px solid var(--abs-line);
	border-radius: 18px;
}

body.jh-shop .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 11px 16px;
	border-radius: 10px;
	color: var(--abs-navy);
	font-weight: 600;
	text-decoration: none;
}

body.jh-shop .woocommerce-MyAccount-navigation li a:hover {
	background: var(--abs-sand);
	color: var(--abs-navy);
}

body.jh-shop .woocommerce-MyAccount-navigation li.is-active a {
	background: linear-gradient(135deg, var(--abs-navy), var(--abs-navy-2));
	color: #fff;
}

body.jh-shop .woocommerce table.shop_table {
	background: #fff;
	border-color: var(--abs-line);
	border-radius: var(--abs-radius);
}

body.jh-shop .woocommerce table.shop_table th,
body.jh-shop .woocommerce table.shop_table td {
	border-color: var(--abs-line);
}

body.jh-shop .woocommerce-form-login__rememberme,
body.jh-shop .woocommerce-LostPassword a {
	color: var(--abs-muted);
}

/* ---- shop archive ---- */

body.jh-shop.woocommerce ul.products li.product {
	background: #fff;
	border: 1px solid var(--abs-line);
	border-radius: 18px;
	overflow: hidden;
	padding: 0 0 22px;
	text-align: left;
}

body.jh-shop.woocommerce ul.products li.product > * {
	margin-left: 22px;
	margin-right: 22px;
}

body.jh-shop.woocommerce ul.products li.product a img {
	margin: 0 0 14px;
	width: 100%;
	max-width: none;
	margin-left: 0;
}

body.jh-shop.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link {
	margin-left: 0;
	margin-right: 0;
	display: block;
}

body.jh-shop.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link > *:not(img) {
	margin-left: 22px;
	margin-right: 22px;
}

body.jh-shop.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--abs-navy);
	font-size: 1.2rem;
	font-weight: 700;
}

body.jh-shop.woocommerce ul.products li.product .price {
	color: var(--abs-navy);
	font-weight: 800;
	font-size: 1.35rem;
}

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

@media (max-width: 781px) {
	body.jh-shop .wc-block-components-sidebar-layout {
		flex-wrap: wrap;
	}
}

@media (max-width: 560px) {
	body.jh-shop .site-main {
		padding: 0 16px 60px;
	}

	body.jh-shop .site-main .page-header,
	body.jh-shop .woocommerce-products-header {
		padding: 36px 0 20px;
	}

	/* phone cart: narrower image column so the price column stays inside the card */
	body.jh-shop .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main.wc-block-cart__main {
		padding-left: 14px;
		padding-right: 14px;
	}

	/* wc cart.css fixes the phone row grid at 80px 132px, which is wider than the card */
	body.jh-shop .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
		grid-template-columns: 64px minmax(0, 1fr);
		column-gap: 12px;
	}

	body.jh-shop .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row td.wc-block-cart-item__image {
		padding-right: 0;
	}

	body.jh-shop .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row td.wc-block-cart-item__image img {
		width: 56px;
		max-width: 56px;
	}

	body.jh-shop .wc-block-components-sidebar-layout .wc-block-components-main.wc-block-cart__main,
	body.jh-shop .wc-block-components-sidebar-layout .wc-block-components-main.wc-block-checkout__main,
	body.jh-shop .woocommerce form.login,
	body.jh-shop .woocommerce form.register,
	body.jh-shop .woocommerce form.lost_reset_password,
	body.jh-shop .woocommerce-MyAccount-content {
		padding: 22px 18px;
		border-radius: 16px;
	}

	body.jh-shop .wc-block-cart__sidebar > *,
	body.jh-shop .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
	body.jh-shop .wc-block-cart__totals-title,
	body.jh-shop .wc-block-components-checkout-order-summary__title {
		padding-left: 18px;
		padding-right: 18px;
	}
}
