/*
 * tMP Core: store reskin ("pin sheet" design).
 * CSS ONLY. Every rule is scoped to body.tmp-skin, which tMP Core adds on
 * WooCommerce pages when Site Design is on. No templates are overridden, no
 * markup is hidden that carries data: fee lines, add-ons, booking fields and
 * membership notices all render exactly as WooCommerce outputs them.
 */

body.tmp-skin {
	--paper: #F5F2EA; --card: #FFFDF8; --tint: #F5F2EA; --ink: #0F2029; --ink2: #3C4C55; --muted: #5F6E76;
	--line: rgba(15, 32, 41, 0.16); --line2: rgba(15, 32, 41, 0.09); --field: rgba(15, 32, 41, 0.3);
	--accent: #58B4E5; --blue-deep: #1A6A96; --green: #2D6A4F; --green-tint: #DCE8D6; --green-mid: #C5DABD;
	--danger: #8A2B1A; --danger-tint: #F6E1DC;
	--serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
	--sans: 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--mono: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;
	background: var(--paper) !important; color: var(--ink2);
	font-family: var(--sans) !important; font-size: 16px; line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
body.tmp-skin .wrap, body.tmp-skin .content, body.tmp-skin .inner-container, body.tmp-skin section.standard-blog, body.tmp-skin section.content-editor { background: transparent !important; }
body.tmp-skin p, body.tmp-skin li, body.tmp-skin td, body.tmp-skin th, body.tmp-skin label, body.tmp-skin input, body.tmp-skin select, body.tmp-skin textarea, body.tmp-skin button { font-family: var(--sans); }
body.tmp-skin .content p, body.tmp-skin .content li { font-size: 16px; color: var(--ink2); }
body.tmp-skin .content a { color: var(--blue-deep); }
body.tmp-skin .content a:hover { color: var(--ink); }
body.tmp-skin h1, body.tmp-skin h2, body.tmp-skin h3 { font-family: var(--serif) !important; font-weight: 400 !important; color: var(--ink) !important; letter-spacing: -0.015em; line-height: 1.05; }

/* Header, footer and base typography live in frame.css, which loads on every page. */

/* ---------- buttons ---------- */
body.tmp-skin .woocommerce a.button, body.tmp-skin .woocommerce button.button, body.tmp-skin .woocommerce input.button,
body.tmp-skin.woocommerce a.button, body.tmp-skin.woocommerce button.button, body.tmp-skin.woocommerce input.button,
body.tmp-skin .woocommerce #respond input#submit, body.tmp-skin .elementor-button {
	background: var(--ink) !important; color: var(--card) !important; border: 1px solid var(--ink) !important; border-radius: 8px !important;
	font-family: var(--sans) !important; font-size: 15px !important; font-weight: 500 !important; line-height: 1.2 !important;
	letter-spacing: 0 !important; text-transform: none !important; padding: 14px 20px !important; box-shadow: none !important; text-shadow: none !important;
	transition: background .15s ease, transform .15s ease;
}
body.tmp-skin .woocommerce a.button:hover, body.tmp-skin .woocommerce button.button:hover, body.tmp-skin .woocommerce input.button:hover,
body.tmp-skin.woocommerce a.button:hover, body.tmp-skin.woocommerce button.button:hover, body.tmp-skin .elementor-button:hover { background: #1B3442 !important; color: var(--card) !important; transform: translateY(-1px); }
body.tmp-skin .woocommerce button.button.disabled, body.tmp-skin .woocommerce button.button:disabled, body.tmp-skin.woocommerce button.button.disabled { opacity: .45 !important; transform: none !important; cursor: not-allowed; }
/* secondary actions */
body.tmp-skin .woocommerce button[name="update_cart"], body.tmp-skin .woocommerce button[name="apply_coupon"], body.tmp-skin .woocommerce input[name="update_cart"], body.tmp-skin .woocommerce input[name="apply_coupon"],
body.tmp-skin ul.products li.product a.button {
	background: transparent !important; color: var(--ink) !important; border-color: var(--field) !important;
}
body.tmp-skin .woocommerce button[name="update_cart"]:hover, body.tmp-skin .woocommerce button[name="apply_coupon"]:hover, body.tmp-skin .woocommerce input[name="update_cart"]:hover, body.tmp-skin .woocommerce input[name="apply_coupon"]:hover,
body.tmp-skin ul.products li.product a.button:hover { background: rgba(15, 32, 41, 0.05) !important; color: var(--ink) !important; }

/* ---------- form fields ---------- */
body.tmp-skin .woocommerce input.input-text, body.tmp-skin .woocommerce textarea, body.tmp-skin .woocommerce select,
body.tmp-skin.woocommerce input.input-text, body.tmp-skin.woocommerce select, body.tmp-skin .woocommerce .quantity input.qty, body.tmp-skin.woocommerce .quantity input.qty,
body.tmp-skin .select2-container--default .select2-selection--single {
	background: var(--card) !important; color: var(--ink) !important; border: 1px solid var(--field) !important; border-radius: 8px !important;
	font-size: 16px !important; min-height: 48px; padding: 10px 14px; box-shadow: none !important; outline: 0;
}
body.tmp-skin .woocommerce textarea { min-height: 110px; }
body.tmp-skin .select2-container--default .select2-selection--single { padding: 0 !important; display: flex; align-items: center; }
body.tmp-skin .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--ink) !important; padding-left: 14px !important; line-height: 46px !important; }
body.tmp-skin .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px !important; right: 8px !important; }
body.tmp-skin .woocommerce input.input-text:focus, body.tmp-skin .woocommerce textarea:focus, body.tmp-skin .woocommerce select:focus, body.tmp-skin .woocommerce .quantity input.qty:focus { border-color: var(--ink) !important; box-shadow: 0 0 0 3px rgba(88, 180, 229, 0.35) !important; }
body.tmp-skin .woocommerce form .form-row label, body.tmp-skin .woocommerce-page form .form-row label { font-size: 14px !important; font-weight: 500 !important; color: var(--ink) !important; margin-bottom: 6px; line-height: 1.4; }
body.tmp-skin .woocommerce form .form-row .required { color: var(--danger); text-decoration: none; }
body.tmp-skin .woocommerce .quantity input.qty, body.tmp-skin.woocommerce .quantity input.qty { width: 84px !important; text-align: center; font-family: var(--mono) !important; padding: 10px 6px !important; }

/* ---------- notices ---------- */
body.tmp-skin .woocommerce-message, body.tmp-skin .woocommerce-info, body.tmp-skin .woocommerce-error, body.tmp-skin .woocommerce-noreviews, body.tmp-skin p.no-comments {
	background: var(--card) !important; color: var(--ink) !important; border: 1px solid var(--line) !important; border-radius: 6px !important;
	font-size: 15px !important; line-height: 1.5; padding: 16px 20px !important; margin: 0 0 24px !important; box-shadow: none !important;
}
/* The active theme already hides WooCommerce's notice icons; hide them everywhere so the padding stays even. */
body.tmp-skin .woocommerce-message::before, body.tmp-skin .woocommerce-info::before, body.tmp-skin .woocommerce-error::before { display: none !important; }
body.tmp-skin .woocommerce-message { background: var(--green-tint) !important; border-color: transparent !important; color: #1E4D38 !important; }
body.tmp-skin .woocommerce-error { background: var(--danger-tint) !important; border-color: transparent !important; color: var(--danger) !important; }
body.tmp-skin .woocommerce-message a, body.tmp-skin .woocommerce-info a { color: inherit !important; text-decoration: underline; text-underline-offset: 3px; }
body.tmp-skin .woocommerce-message .button, body.tmp-skin .woocommerce-info .button { padding: 9px 14px !important; font-size: 14px !important; text-decoration: none !important; color: var(--card) !important; }

/* ---------- prices ---------- */
body.tmp-skin .woocommerce .price, body.tmp-skin.woocommerce .price, body.tmp-skin .woocommerce-Price-amount { font-family: var(--mono) !important; color: var(--ink) !important; font-weight: 400 !important; }
body.tmp-skin .woocommerce .price del, body.tmp-skin.woocommerce .price del { color: var(--muted) !important; opacity: 1; }
body.tmp-skin .woocommerce .price ins, body.tmp-skin.woocommerce .price ins { text-decoration: none; }
body.tmp-skin .woocommerce span.onsale, body.tmp-skin.woocommerce span.onsale { background: var(--ink) !important; color: var(--card) !important; font-family: var(--mono) !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.1em; text-transform: uppercase; border-radius: 4px !important; min-height: 0 !important; min-width: 0 !important; line-height: 1 !important; padding: 7px 9px !important; top: 12px !important; left: 12px !important; right: auto !important; margin: 0 !important; }

/* ---------- catalog ---------- */
body.tmp-skin #themo_woocommerce_layout_content { padding-top: 56px; padding-bottom: 96px; }
body.tmp-skin .term-description { max-width: 760px; margin-bottom: 40px; }
body.tmp-skin .term-description p { font-size: 17px; line-height: 1.6; }
body.tmp-skin .term-description p:first-child strong { display: block; font-family: var(--serif); font-weight: 400; font-size: clamp(40px, 5vw, 64px); line-height: 1; letter-spacing: -0.02em; color: var(--ink); margin-bottom: 6px; }
body.tmp-skin .woocommerce-result-count { font-family: var(--mono) !important; font-size: 12px !important; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted) !important; margin: 14px 0 24px !important; }
body.tmp-skin .woocommerce-ordering select { min-height: 44px !important; font-size: 14px !important; padding: 8px 12px !important; }

body.tmp-skin ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0 0 40px !important; padding: 0 !important; clear: both; }
body.tmp-skin ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.tmp-skin ul.products::before, body.tmp-skin ul.products::after { display: none !important; }
body.tmp-skin ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; padding: 12px 12px 18px !important; background: var(--card); border: 1px solid var(--line); border-radius: 6px; display: flex; flex-direction: column; text-align: left !important; transition: transform .18s ease, box-shadow .18s ease; }
body.tmp-skin ul.products li.product:hover { transform: translateY(-2px); box-shadow: 0 24px 40px -28px rgba(15, 32, 41, 0.45); }
body.tmp-skin ul.products li.product a.woocommerce-LoopProduct-link, body.tmp-skin ul.products li.product-category > a { display: flex; flex-direction: column; flex-grow: 1; text-decoration: none !important; }
body.tmp-skin ul.products li.product a img { border-radius: 4px; margin: 0 0 16px !important; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: var(--tint); box-shadow: none !important; }
body.tmp-skin ul.products li.product-category a img { object-fit: contain; padding: 10px; }
body.tmp-skin ul.products li.product .woocommerce-loop-product__title, body.tmp-skin ul.products li.product .woocommerce-loop-category__title { font-family: var(--serif) !important; font-size: 25px !important; line-height: 1.08 !important; color: var(--ink) !important; padding: 0 4px !important; margin: 0 0 8px !important; text-align: left !important; }
body.tmp-skin ul.products li.product .woocommerce-loop-category__title mark.count { background: transparent; color: var(--muted); font-family: var(--mono); font-size: 12px; letter-spacing: 0.06em; vertical-align: 0.25em; }
body.tmp-skin ul.products li.product .price { display: block; font-size: 14px !important; padding: 0 4px; margin: 0 0 14px !important; color: var(--ink2) !important; }
body.tmp-skin ul.products li.product a.button { margin: auto 4px 0 !important; align-self: flex-start; padding: 10px 14px !important; font-size: 14px !important; }
body.tmp-skin ul.products li.product .star-rating { margin: 0 4px 10px !important; }
body.tmp-skin .woocommerce nav.woocommerce-pagination ul { border: 0 !important; display: flex; gap: 6px; justify-content: center; }
body.tmp-skin .woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
body.tmp-skin .woocommerce nav.woocommerce-pagination ul li a, body.tmp-skin .woocommerce nav.woocommerce-pagination ul li span { font-family: var(--mono); font-size: 14px; min-width: 44px; padding: 13px 0 !important; border: 1px solid var(--line); border-radius: 8px; background: var(--card) !important; color: var(--ink) !important; }
body.tmp-skin .woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ink) !important; color: var(--card) !important; border-color: var(--ink); }

/* ---------- product page ---------- */
body.tmp-skin.single-product div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 64px; align-items: start; }
body.tmp-skin.single-product div.product > * { grid-column: 1 / -1; min-width: 0; }
body.tmp-skin.single-product div.product > .woocommerce-product-gallery { grid-column: 1; width: auto !important; float: none !important; margin: 0 0 48px !important; grid-row: 1; }
body.tmp-skin.single-product div.product > .summary { grid-column: 2; grid-row: 1; width: auto !important; float: none !important; margin: 0 0 48px !important; }
body.tmp-skin.single-product div.product > section.related, body.tmp-skin.single-product div.product > section.upsells, body.tmp-skin.single-product div.product > .woocommerce-tabs { clear: both; position: relative; z-index: 1; background: var(--paper); }
body.tmp-skin.single-product div.product > span.onsale { grid-column: 1; grid-row: 1; justify-self: start; position: relative; z-index: 2; }
body.tmp-skin .woocommerce-product-gallery__wrapper { background: var(--card); border: 1px solid var(--line); border-radius: 6px; padding: 14px; margin: 0; }
body.tmp-skin .woocommerce-product-gallery__image img { border-radius: 4px; }
body.tmp-skin .woocommerce-product-gallery .flex-control-thumbs { margin-top: 12px !important; display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
body.tmp-skin .woocommerce-product-gallery .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
body.tmp-skin .woocommerce-product-gallery .flex-control-thumbs img { border-radius: 4px; border: 1px solid var(--line); }
body.tmp-skin div.product .product_title { font-size: clamp(40px, 4.6vw, 60px) !important; line-height: 1 !important; letter-spacing: -0.02em !important; margin: 0 0 16px !important; }
body.tmp-skin div.product p.price, body.tmp-skin div.product span.price { font-size: 22px !important; margin: 0 0 24px !important; }
body.tmp-skin div.product .woocommerce-product-details__short-description { font-size: 17px; line-height: 1.6; margin-bottom: 24px; }
body.tmp-skin div.product form.cart { margin: 0 0 28px !important; padding: 24px 0 0; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
body.tmp-skin div.product form.cart > * { margin-top: 0 !important; margin-bottom: 0 !important; }
body.tmp-skin div.product form.cart .quantity { margin: 0 !important; float: none !important; }
body.tmp-skin div.product form.cart .single_add_to_cart_button { float: none !important; font-size: 16px !important; padding: 16px 28px !important; min-height: 48px; }
body.tmp-skin div.product form.cart.variations_form, body.tmp-skin div.product form.cart:has(.wc-bookings-booking-form), body.tmp-skin div.product form.cart:has(.pewc-product-extra-groups-wrap), body.tmp-skin div.product form.cart:has(.wc-pao-addons-container) { display: block; }
body.tmp-skin div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 16px; }
body.tmp-skin div.product form.cart table.variations { margin: 0 0 8px !important; border: 0 !important; }
body.tmp-skin div.product form.cart table.variations td, body.tmp-skin div.product form.cart table.variations th { display: block; padding: 0 0 8px !important; border: 0 !important; background: transparent !important; text-align: left; }
body.tmp-skin div.product form.cart table.variations label { font-size: 14px; font-weight: 500; color: var(--ink); }
body.tmp-skin div.product form.cart table.variations select { width: 100%; max-width: 100%; }
body.tmp-skin div.product form.cart .reset_variations { font-size: 13px; color: var(--muted) !important; }
body.tmp-skin div.product .product_meta { border-top: 1px solid var(--line); padding-top: 18px; font-family: var(--mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); display: flex; flex-direction: column; gap: 6px; }
body.tmp-skin div.product .product_meta a { color: var(--ink2) !important; }
body.tmp-skin div.product p.first-payment-date { color: var(--muted); }

body.tmp-skin .woocommerce-tabs ul.tabs { padding: 0 !important; margin: 0 0 28px !important; border-bottom: 1px solid var(--line); display: flex; gap: 28px; overflow-x: auto; }
body.tmp-skin .woocommerce-tabs ul.tabs::before, body.tmp-skin .woocommerce-tabs ul.tabs li::before, body.tmp-skin .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.tmp-skin .woocommerce-tabs ul.tabs li { background: transparent !important; border: 0 !important; border-radius: 0 !important; margin: 0 !important; padding: 0 !important; }
body.tmp-skin .woocommerce-tabs ul.tabs li a { font-family: var(--mono) !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted) !important; padding: 14px 0 !important; display: block; border-bottom: 2px solid transparent; }
body.tmp-skin .woocommerce-tabs ul.tabs li.active a { color: var(--ink) !important; border-bottom-color: var(--ink); }
body.tmp-skin .woocommerce-tabs .panel { max-width: 760px; }
body.tmp-skin .woocommerce-tabs .panel > h2:first-child { display: none; }
body.tmp-skin section.related > h2, body.tmp-skin section.upsells > h2, body.tmp-skin .cross-sells > h2 { font-size: clamp(34px, 4vw, 48px) !important; margin: 24px 0 28px !important; padding-top: 48px; border-top: 1px solid var(--ink); text-align: left !important; }

/* ---------- bookings ---------- */
body.tmp-skin .wc-bookings-booking-form { background: var(--card) !important; border: 1px solid var(--line) !important; border-radius: 6px !important; padding: 20px !important; margin: 0 0 16px !important; }
body.tmp-skin .wc-bookings-booking-form label, body.tmp-skin .wc-bookings-booking-form legend { font-size: 14px !important; font-weight: 500 !important; color: var(--ink) !important; border: 0; margin-bottom: 8px; }
body.tmp-skin .wc-bookings-booking-form .form-field { margin: 0 0 16px !important; }
body.tmp-skin .wc-bookings-booking-form input[type="number"], body.tmp-skin .wc-bookings-booking-form select { background: var(--card); color: var(--ink); border: 1px solid var(--field); border-radius: 8px; min-height: 44px; padding: 8px 12px; font-size: 16px; }
body.tmp-skin .wc-bookings-date-picker-timezone-block { font-family: var(--mono); font-size: 11px !important; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted) !important; margin-bottom: 10px !important; }
body.tmp-skin .wc-bookings-date-picker .ui-datepicker { width: 100% !important; padding: 0 !important; border: 1px solid var(--line) !important; border-radius: 8px !important; overflow: hidden; background: var(--card) !important; font-family: var(--sans) !important; box-shadow: none !important; }
body.tmp-skin .wc-bookings-date-picker .ui-datepicker-header { background: var(--ink) !important; color: var(--card) !important; border: 0 !important; border-radius: 0 !important; padding: 12px 0 !important; text-shadow: none !important; }
body.tmp-skin .wc-bookings-date-picker .ui-datepicker-title { font-family: var(--sans) !important; font-size: 15px !important; font-weight: 500 !important; color: var(--card) !important; line-height: 1.6 !important; }
body.tmp-skin .wc-bookings-date-picker .ui-datepicker-prev, body.tmp-skin .wc-bookings-date-picker .ui-datepicker-next { background: transparent !important; color: var(--card) !important; top: 8px !important; border: 0 !important; cursor: pointer; }
body.tmp-skin .wc-bookings-date-picker .ui-datepicker-prev.ui-state-disabled, body.tmp-skin .wc-bookings-date-picker .ui-datepicker-next.ui-state-disabled { opacity: .3; }
body.tmp-skin .wc-bookings-date-picker .ui-datepicker table { margin: 0 !important; border: 0 !important; font-size: 14px !important; }
body.tmp-skin .wc-bookings-date-picker .ui-datepicker th { background: var(--tint) !important; color: var(--muted) !important; font-family: var(--mono) !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.08em; text-transform: uppercase; padding: 9px 0 !important; border: 0 !important; }
body.tmp-skin .wc-bookings-date-picker .ui-datepicker td { padding: 2px !important; border: 0 !important; background: transparent !important; }
body.tmp-skin .wc-bookings-date-picker .ui-datepicker td a, body.tmp-skin .wc-bookings-date-picker .ui-datepicker td span { font-family: var(--mono) !important; font-size: 14px !important; text-align: center !important; padding: 11px 0 !important; border: 0 !important; border-radius: 6px !important; background: transparent !important; color: var(--muted) !important; text-shadow: none !important; box-shadow: none !important; }
body.tmp-skin .wc-bookings-date-picker .ui-datepicker td.ui-state-disabled span, body.tmp-skin .wc-bookings-date-picker .ui-datepicker td.not_bookable span { opacity: .4; }
body.tmp-skin .wc-bookings-date-picker .ui-datepicker td.bookable a { background: var(--green-tint) !important; color: #173B2B !important; font-weight: 500 !important; }
body.tmp-skin .wc-bookings-date-picker .ui-datepicker td.partial_booked a { background: linear-gradient(135deg, var(--green-tint) 50%, var(--green-mid) 50%) !important; color: #173B2B !important; }
body.tmp-skin .wc-bookings-date-picker .ui-datepicker td.fully_booked a, body.tmp-skin .wc-bookings-date-picker .ui-datepicker td.fully_booked span { background: transparent !important; color: var(--muted) !important; text-decoration: line-through; opacity: .6; }
body.tmp-skin .wc-bookings-date-picker .ui-datepicker td.bookable a:hover { background: var(--green-mid) !important; }
body.tmp-skin .wc-bookings-date-picker .ui-datepicker td.ui-datepicker-current-day a, body.tmp-skin .wc-bookings-date-picker .ui-datepicker td.bookable-range a, body.tmp-skin .wc-bookings-date-picker .ui-datepicker td.selection-start-date a, body.tmp-skin .wc-bookings-date-picker .ui-datepicker td.selection-end-date a { background: var(--ink) !important; color: var(--card) !important; }
body.tmp-skin .wc-bookings-date-picker .ui-datepicker td.ui-datepicker-today a, body.tmp-skin .wc-bookings-date-picker .ui-datepicker td.ui-datepicker-today span { box-shadow: inset 0 0 0 1px var(--ink) !important; }
body.tmp-skin .wc-bookings-date-picker-date-fields { border: 0; padding: 0; margin: 14px 0 0; }
body.tmp-skin .wc-bookings-booking-form .block-picker { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 !important; margin: 0 !important; list-style: none; }
body.tmp-skin .wc-bookings-booking-form .block-picker li { margin: 0 !important; padding: 0 !important; float: none !important; }
body.tmp-skin .wc-bookings-booking-form .block-picker li a { display: block; font-family: var(--mono) !important; font-size: 14px !important; color: var(--ink) !important; background: var(--card) !important; border: 1px solid var(--field) !important; border-radius: 8px !important; padding: 11px 14px !important; min-width: 44px; text-align: center; text-decoration: none !important; }
body.tmp-skin .wc-bookings-booking-form .block-picker li a:hover { background: var(--green-tint) !important; border-color: transparent !important; }
body.tmp-skin .wc-bookings-booking-form .block-picker li a.selected, body.tmp-skin .wc-bookings-booking-form .block-picker li.selected a { background: var(--ink) !important; color: var(--card) !important; border-color: var(--ink) !important; }
body.tmp-skin .wc-bookings-booking-form .block-picker li a small { color: inherit; opacity: .7; }
/* time picker: small chips, split into Morning / Afternoon / Evening by bookings.js */
body.tmp-skin .wc-bookings-booking-form ul.block-picker.tmp-slots { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: 6px; height: auto !important; max-height: none !important; overflow: visible !important; }
body.tmp-skin .wc-bookings-booking-form fieldset.time-picker-fieldset { min-width: 0 !important; width: 100%; border: 0 !important; padding: 0 !important; margin: 0 !important; }
body.tmp-skin .wc-bookings-booking-form ul.block-picker.tmp-slots li { width: auto !important; min-width: 0 !important; max-width: none !important; flex: none !important; }
body.tmp-skin .wc-bookings-booking-form ul.block-picker.tmp-slots li a { width: auto !important; height: auto !important; padding: 8px 4px !important; font-size: 13px !important; line-height: 1.3 !important; text-align: center; border-radius: 8px !important; white-space: nowrap; }
body.tmp-skin .wc-bookings-booking-form ul.block-picker[data-part="am"] li.block:not([data-part="am"]),
body.tmp-skin .wc-bookings-booking-form ul.block-picker[data-part="pm"] li.block:not([data-part="pm"]),
body.tmp-skin .wc-bookings-booking-form ul.block-picker[data-part="eve"] li.block:not([data-part="eve"]) { display: none !important; }
.tmp-parts { display: flex; gap: 4px; padding: 4px; margin: 0 0 12px; background: var(--tint); border-radius: 12px; }
.tmp-parts button { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 8px 6px !important; border: 0 !important; border-radius: 9px !important; background: transparent !important; color: var(--ink2) !important; font-family: var(--sans) !important; cursor: pointer; transition: background .2s, color .2s, box-shadow .2s; min-height: 0 !important; box-shadow: none; text-transform: none !important; letter-spacing: 0 !important; }
.tmp-parts button strong { font-size: 14px; font-weight: 600; line-height: 1.3; }
.tmp-parts button span { font-family: var(--mono); font-size: 11px; color: var(--muted); letter-spacing: .04em; }
.tmp-parts button:hover { color: var(--ink) !important; }
.tmp-parts button.is-on { background: var(--card) !important; color: var(--ink) !important; box-shadow: 0 1px 3px rgba(15, 32, 41, .14); }
body.tmp-skin .wc-bookings-booking-form .wc-bookings-booking-cost { background: var(--green-tint) !important; border: 0 !important; border-radius: 8px !important; color: #173B2B !important; font-family: var(--mono) !important; font-size: 15px !important; padding: 14px 16px !important; margin: 16px 0 0 !important; }
body.tmp-skin .wc-bookings-booking-form .wc-bookings-booking-cost .woocommerce-Price-amount { color: #173B2B !important; font-weight: 500 !important; }
body.tmp-skin .wc-bookings-booking-form .wc-bookings-booking-cost:empty { display: none; }
body.tmp-skin .wc-bookings-booking-form-button { margin-top: 4px !important; width: 100%; }

/* ---------- product add-ons and extras ---------- */
body.tmp-skin .wc-pao-addons-container, body.tmp-skin .pewc-product-extra-groups-wrap { margin: 0 0 16px; }
body.tmp-skin .wc-pao-addon, body.tmp-skin .pewc-group-wrap { background: var(--card); border: 1px solid var(--line); border-radius: 6px; padding: 18px 20px; margin: 0 0 12px !important; }
body.tmp-skin .wc-pao-addon .wc-pao-addon-name, body.tmp-skin .pewc-item > label, body.tmp-skin .pewc-field-label, body.tmp-skin .pewc-group-heading-wrapper h3 { font-family: var(--sans) !important; font-size: 15px !important; font-weight: 500 !important; color: var(--ink) !important; letter-spacing: 0 !important; margin: 0 0 8px !important; }
body.tmp-skin .wc-pao-addon input[type="text"], body.tmp-skin .wc-pao-addon input[type="number"], body.tmp-skin .wc-pao-addon select, body.tmp-skin .wc-pao-addon textarea,
body.tmp-skin .pewc-item input[type="text"], body.tmp-skin .pewc-item input[type="number"], body.tmp-skin .pewc-item input[type="email"], body.tmp-skin .pewc-item select, body.tmp-skin .pewc-item textarea { width: 100%; background: var(--card); color: var(--ink); border: 1px solid var(--field); border-radius: 8px; min-height: 46px; padding: 10px 14px; font-size: 16px; }
body.tmp-skin .wc-pao-addon-description, body.tmp-skin .pewc-description { font-size: 14px; color: var(--muted); }
body.tmp-skin #product-addons-total, body.tmp-skin .pewc-total-field-wrapper { font-family: var(--mono); font-size: 14px; color: var(--ink); border-top: 1px dashed var(--line); padding-top: 12px; margin: 12px 0; }

/* ---------- tables: cart, totals, order review, account ---------- */
body.tmp-skin .woocommerce table.shop_table { background: var(--card) !important; border: 1px solid var(--line) !important; border-radius: 6px !important; border-collapse: separate !important; border-spacing: 0; overflow: hidden; margin: 0 0 24px !important; }
body.tmp-skin .woocommerce table.shop_table th { font-family: var(--mono) !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted) !important; background: transparent !important; padding: 16px 18px !important; border: 0 !important; }
body.tmp-skin .woocommerce table.shop_table td { padding: 18px !important; border: 0 !important; border-top: 1px solid var(--line2) !important; background: transparent !important; color: var(--ink) !important; font-size: 16px; vertical-align: middle; }
body.tmp-skin .woocommerce table.shop_table tbody th, body.tmp-skin .woocommerce table.shop_table tfoot th { border-top: 1px solid var(--line2) !important; }
body.tmp-skin .woocommerce table.shop_table td.product-name a { color: var(--ink) !important; font-weight: 500; text-decoration: none; }
body.tmp-skin .woocommerce table.shop_table td.product-name dl.variation, body.tmp-skin .woocommerce table.shop_table td.product-name .wc-item-meta { font-size: 14px; color: var(--ink2); margin-top: 6px; }
body.tmp-skin .woocommerce table.shop_table td.product-name dl.variation dt { font-weight: 500; color: var(--ink); }
body.tmp-skin .woocommerce table.cart img { width: 64px !important; border-radius: 4px; border: 1px solid var(--line); background: var(--tint); }
body.tmp-skin .woocommerce a.remove { color: var(--muted) !important; background: transparent !important; border: 1px solid var(--line); width: 32px; height: 32px; line-height: 28px; font-size: 20px; font-weight: 400; border-radius: 999px; }
body.tmp-skin .woocommerce a.remove:hover { color: var(--card) !important; background: var(--danger) !important; border-color: var(--danger); }
body.tmp-skin .woocommerce table.cart td.actions { padding: 16px 18px !important; background: var(--tint) !important; }
body.tmp-skin .woocommerce table.cart td.actions .coupon { display: flex; gap: 8px; align-items: center; float: left; }
body.tmp-skin .woocommerce table.cart td.actions .coupon label { display: none; }
body.tmp-skin .woocommerce table.cart td.actions .coupon .input-text { width: 200px !important; margin: 0 !important; min-height: 46px; float: none !important; }
body.tmp-skin .woocommerce table.cart td.actions .button { min-height: 46px; }

body.tmp-skin .cart-collaterals { margin-top: 8px; }
body.tmp-skin .woocommerce .cart-collaterals .cart_totals, body.tmp-skin .woocommerce-page .cart-collaterals .cart_totals { width: min(100%, 460px) !important; float: right; }
body.tmp-skin .cart_totals > h2, body.tmp-skin #order_review_heading, body.tmp-skin .woocommerce-billing-fields > h3, body.tmp-skin .woocommerce-additional-fields > h3, body.tmp-skin .woocommerce-shipping-fields > h3, body.tmp-skin .woocommerce-column__title, body.tmp-skin .woocommerce-order-details__title { font-size: 34px !important; margin: 0 0 18px !important; text-align: left !important; }
body.tmp-skin .woocommerce table.shop_table tr.cart-subtotal th, body.tmp-skin .woocommerce table.shop_table tr.fee th, body.tmp-skin .woocommerce table.shop_table tr.tax-total th, body.tmp-skin .woocommerce table.shop_table tr.tax-rate th, body.tmp-skin .woocommerce table.shop_table tr.shipping th, body.tmp-skin .woocommerce table.shop_table tr.order-total th, body.tmp-skin .woocommerce table.shop_table tr.cart-discount th, body.tmp-skin .woocommerce table.shop_table tr.recurring-total th {
	font-family: var(--sans) !important; font-size: 15px !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ink2) !important; width: 45%;
}
body.tmp-skin .woocommerce table.shop_table tr.cart-subtotal td, body.tmp-skin .woocommerce table.shop_table tr.fee td, body.tmp-skin .woocommerce table.shop_table tr.tax-total td, body.tmp-skin .woocommerce table.shop_table tr.tax-rate td, body.tmp-skin .woocommerce table.shop_table tr.shipping td, body.tmp-skin .woocommerce table.shop_table tr.order-total td, body.tmp-skin .woocommerce table.shop_table tr.cart-discount td { text-align: right !important; }
body.tmp-skin .woocommerce table.shop_table tr.order-total th, body.tmp-skin .woocommerce table.shop_table tr.order-total td { border-top: 1px solid var(--ink) !important; color: var(--ink) !important; font-weight: 500 !important; }
body.tmp-skin .woocommerce table.shop_table tr.order-total .woocommerce-Price-amount { font-size: 24px; font-weight: 500 !important; letter-spacing: -0.02em; }
body.tmp-skin .woocommerce ul#shipping_method { margin: 0 !important; }
body.tmp-skin .woocommerce ul#shipping_method li { font-size: 15px; margin: 0 !important; padding: 0 !important; text-indent: 0 !important; }
body.tmp-skin .woocommerce-shipping-destination, body.tmp-skin .woocommerce-shipping-calculator { font-size: 13px !important; color: var(--muted) !important; }
body.tmp-skin .wc-proceed-to-checkout { padding: 4px 0 0 !important; }
body.tmp-skin .wc-proceed-to-checkout a.checkout-button { display: block; width: 100%; text-align: center; font-size: 17px !important; padding: 18px 24px !important; margin: 0 !important; }
body.tmp-skin .cart-empty.woocommerce-info { font-family: var(--serif); font-size: 32px !important; line-height: 1.1; background: transparent !important; border: 0 !important; padding: 24px 0 8px !important; }
body.tmp-skin .cart-empty.woocommerce-info::before { display: none; }

/* ---------- checkout ---------- */
/* Rows 1-19 hold whatever WooCommerce and gateways print above the form (express checkout, notices).
   Row 20 is the "Your order" heading; row 21 is flexible so the tall billing column does not stretch the heading row. */
body.tmp-skin.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); grid-template-rows: repeat(19, auto) auto 1fr; column-gap: 56px; align-items: start; }
body.tmp-skin.woocommerce-checkout form.checkout > #customer_details, body.tmp-skin.woocommerce-checkout form.checkout > #order_review_heading, body.tmp-skin.woocommerce-checkout form.checkout > #order_review { width: auto !important; float: none !important; }
body.tmp-skin.woocommerce-checkout #order_review_heading { padding: 0 !important; border: 0 !important; background: transparent !important; }
body.tmp-skin.woocommerce-checkout form.checkout > * { grid-column: 1 / -1; min-width: 0; }
body.tmp-skin.woocommerce-checkout form.checkout > #customer_details { grid-column: 1; grid-row: 20 / span 2; }
body.tmp-skin.woocommerce-checkout form.checkout > #order_review_heading { grid-column: 2; grid-row: 20; }
body.tmp-skin.woocommerce-checkout form.checkout > #order_review { grid-column: 2; grid-row: 21; position: sticky; top: 116px; }
body.tmp-skin.woocommerce-checkout #customer_details .col-1, body.tmp-skin.woocommerce-checkout #customer_details .col-2 { width: 100% !important; float: none !important; max-width: none; }
body.tmp-skin.woocommerce-checkout #customer_details .col-2 { margin-top: 12px; }
body.tmp-skin.woocommerce-checkout #ship-to-different-address { font-family: var(--sans) !important; font-size: 16px !important; font-weight: 500 !important; letter-spacing: 0 !important; margin: 8px 0 16px !important; }
body.tmp-skin.woocommerce-checkout #ship-to-different-address br { display: none; }
body.tmp-skin.woocommerce-checkout #ship-to-different-address label { display: flex; align-items: center; gap: 10px; font-size: 16px !important; cursor: pointer; }
body.tmp-skin .woocommerce form .form-row { padding: 0 !important; margin: 0 0 16px !important; }
body.tmp-skin .woocommerce form .form-row-first, body.tmp-skin .woocommerce form .form-row-last { width: calc(50% - 8px) !important; }
body.tmp-skin .woocommerce form .form-row input[type="checkbox"], body.tmp-skin .woocommerce form input[type="radio"] { accent-color: var(--ink); width: 18px; height: 18px; vertical-align: -3px; margin-right: 6px; }
body.tmp-skin #wc-stripe-express-checkout-element { margin-bottom: 8px; }
body.tmp-skin #wc-stripe-express-checkout-button-separator { font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); margin: 14px 0 28px !important; }
body.tmp-skin .nsl-container { margin-bottom: 18px; }

body.tmp-skin.woocommerce-checkout #order_review { background: var(--card); border: 1px solid var(--line); border-radius: 6px; padding: 8px 22px 22px; }
body.tmp-skin.woocommerce-checkout #order_review table.shop_table { border: 0 !important; border-radius: 0 !important; margin: 0 0 8px !important; background: transparent !important; }
body.tmp-skin.woocommerce-checkout #order_review table.shop_table th, body.tmp-skin.woocommerce-checkout #order_review table.shop_table td { padding-left: 0 !important; padding-right: 0 !important; }
body.tmp-skin.woocommerce-checkout #order_review table.shop_table td.product-total, body.tmp-skin.woocommerce-checkout #order_review table.shop_table th.product-total { text-align: right !important; }
body.tmp-skin.woocommerce-checkout #order_review table.shop_table td.product-name { font-weight: 500; }
body.tmp-skin.woocommerce-checkout #order_review .product-quantity { font-family: var(--mono); font-weight: 400; color: var(--muted); }
body.tmp-skin .woocommerce-checkout #payment, body.tmp-skin #add_payment_method #payment { background: transparent !important; border-radius: 0 !important; border-top: 1px solid var(--line); padding-top: 8px; }
body.tmp-skin .woocommerce-checkout #payment ul.payment_methods { border: 0 !important; padding: 12px 0 !important; margin: 0 !important; }
body.tmp-skin .woocommerce-checkout #payment ul.payment_methods li { padding: 6px 0; font-size: 16px; color: var(--ink); }
body.tmp-skin .woocommerce-checkout #payment ul.payment_methods li label { font-weight: 500; color: var(--ink); }
body.tmp-skin .woocommerce-checkout #payment ul.payment_methods li img { max-height: 22px; margin-left: 6px; }
body.tmp-skin .woocommerce-checkout #payment div.payment_box { background: var(--tint) !important; color: var(--ink2) !important; border-radius: 8px !important; padding: 16px !important; margin: 10px 0 6px !important; font-size: 14px; }
body.tmp-skin .woocommerce-checkout #payment div.payment_box::before { display: none !important; }
body.tmp-skin .woocommerce-checkout #payment div.form-row.place-order { padding: 12px 0 0 !important; margin: 0 !important; }
body.tmp-skin .woocommerce-checkout #payment #place_order { float: none !important; display: block; width: 100%; font-size: 17px !important; padding: 18px 24px !important; margin-top: 14px; }
body.tmp-skin .woocommerce-privacy-policy-text p, body.tmp-skin .woocommerce-terms-and-conditions-wrapper { font-size: 13px !important; line-height: 1.5; color: var(--muted) !important; }
body.tmp-skin form.checkout_coupon, body.tmp-skin form.woocommerce-form-login, body.tmp-skin form.woocommerce-form-register, body.tmp-skin .woocommerce-ResetPassword { background: var(--card); border: 1px solid var(--line) !important; border-radius: 6px !important; padding: 22px !important; margin: 0 0 24px !important; }

/* ---------- order received and my account ---------- */
body.tmp-skin .woocommerce ul.order_details { background: var(--card); border: 1px solid var(--line); border-radius: 6px; padding: 8px 20px !important; margin: 0 0 32px !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
body.tmp-skin .woocommerce ul.order_details::before, body.tmp-skin .woocommerce ul.order_details::after { display: none; }
body.tmp-skin .woocommerce ul.order_details li { float: none !important; border: 0 !important; margin: 0 !important; padding: 14px 12px 14px 0 !important; font-family: var(--mono); font-size: 11px !important; letter-spacing: 0.1em; color: var(--muted); }
body.tmp-skin .woocommerce ul.order_details li strong { font-family: var(--sans); font-size: 16px !important; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--ink); margin-top: 4px; }
body.tmp-skin .woocommerce-thankyou-order-received { font-family: var(--serif); font-size: clamp(30px, 3.4vw, 44px) !important; line-height: 1.05; color: var(--ink) !important; margin-bottom: 24px; }
body.tmp-skin .woocommerce-customer-details address { background: var(--card); border: 1px solid var(--line) !important; border-radius: 6px !important; padding: 18px 20px !important; font-style: normal; }
body.tmp-skin .woocommerce-account .woocommerce-MyAccount-content mark { background: var(--green-tint); color: #1E4D38; padding: 1px 6px; border-radius: 4px; }

/* ---------- tablet and phone ---------- */
@media (max-width: 1080px) {
	body.tmp-skin ul.products, body.tmp-skin ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body.tmp-skin.single-product div.product { gap: 0 40px; }
	body.tmp-skin.woocommerce-checkout form.checkout { column-gap: 36px; }
}
@media (max-width: 860px) {
	body.tmp-skin.single-product div.product, body.tmp-skin.woocommerce-checkout form.checkout { display: block; }
	body.tmp-skin.single-product div.product > .woocommerce-product-gallery, body.tmp-skin.woocommerce-checkout form.checkout > #order_review { position: static; }
	body.tmp-skin.woocommerce-checkout form.checkout > #order_review_heading { margin-top: 28px !important; }
	body.tmp-skin .woocommerce .cart-collaterals .cart_totals, body.tmp-skin .woocommerce-page .cart-collaterals .cart_totals { width: 100% !important; float: none; }
}
@media (max-width: 700px) {
	body.tmp-skin #themo_woocommerce_layout_content { padding-top: 32px; padding-bottom: 64px; }
	body.tmp-skin ul.products, body.tmp-skin ul.products.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	body.tmp-skin ul.products li.product { padding: 8px 8px 14px !important; }
	body.tmp-skin ul.products li.product .woocommerce-loop-product__title, body.tmp-skin ul.products li.product .woocommerce-loop-category__title { font-size: 21px !important; }
	body.tmp-skin .woocommerce form .form-row-first, body.tmp-skin .woocommerce form .form-row-last { width: 100% !important; float: none !important; }
	body.tmp-skin .woocommerce table.shop_table_responsive tr td, body.tmp-skin .woocommerce-page table.shop_table_responsive tr td { padding: 12px 16px !important; }
	body.tmp-skin .woocommerce table.cart td.actions .coupon { float: none; width: 100%; margin-bottom: 10px; }
	body.tmp-skin .woocommerce table.cart td.actions .coupon .input-text { flex-grow: 1; width: auto !important; }
	body.tmp-skin .woocommerce table.cart td.actions > .button { width: 100%; }
	body.tmp-skin .wc-bookings-date-picker .ui-datepicker td a, body.tmp-skin .wc-bookings-date-picker .ui-datepicker td span { padding: 12px 0 !important; }
}

/* ---------- cart on phones: the theme's cart table has no responsive markup, so each line becomes a card ---------- */
body.tmp-skin.woocommerce-cart .elementor-widget-icon:has(.icon-ecommerce-cart-check) { display: none !important; }
@media (max-width: 768px) {
	body.tmp-skin.woocommerce-cart .elementor-section > .elementor-container { margin-left: 0 !important; margin-right: 0 !important; padding: 0 16px !important; max-width: none !important; }
	body.tmp-skin.woocommerce-cart .elementor-widget-wrap { padding: 0 !important; }
	body.tmp-skin.woocommerce-cart .woocommerce { padding-top: 24px; }
	body.tmp-skin.woocommerce-cart table.cart, body.tmp-skin.woocommerce-cart table.cart tbody { display: block !important; width: 100% !important; }
	body.tmp-skin.woocommerce-cart table.cart thead { display: none !important; }
	body.tmp-skin.woocommerce-cart table.cart tr { display: block !important; }
	body.tmp-skin.woocommerce-cart table.cart tr.cart_item { display: grid !important; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 4px 14px; align-items: center; padding: 16px !important; border-bottom: 1px solid var(--line2, rgba(15, 32, 41, 0.09)); }
	body.tmp-skin.woocommerce-cart table.cart tr.cart_item td { display: block !important; width: auto !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important; }
	body.tmp-skin.woocommerce-cart table.cart tr.cart_item td::before { display: none !important; }
	body.tmp-skin.woocommerce-cart table.cart td.product-thumbnail { grid-column: 1; grid-row: 1 / span 2; align-self: start; }
	body.tmp-skin.woocommerce-cart table.cart td.product-thumbnail img { width: 56px !important; height: 56px; object-fit: cover; display: block; }
	body.tmp-skin.woocommerce-cart table.cart td.product-name { grid-column: 2; grid-row: 1; font-size: 16px; font-weight: 500; line-height: 1.35; color: var(--ink); overflow-wrap: anywhere; }
	body.tmp-skin.woocommerce-cart table.cart td.product-name dl, body.tmp-skin.woocommerce-cart table.cart td.product-name .variation, body.tmp-skin.woocommerce-cart table.cart td.product-name ul { font-size: 13px; font-weight: 400; color: var(--muted); margin: 4px 0 0 !important; }
	body.tmp-skin.woocommerce-cart table.cart td.product-remove { grid-column: 3; grid-row: 1; align-self: start; justify-self: end; }
	body.tmp-skin.woocommerce-cart table.cart td.product-price { grid-column: 2 / span 2; grid-row: 2; font-size: 14px; color: var(--muted); }
	body.tmp-skin.woocommerce-cart table.cart td.product-price::after { content: ' each'; }
	body.tmp-skin.woocommerce-cart table.cart td.product-quantity { grid-column: 1 / span 2; grid-row: 3; margin-top: 10px; }
	body.tmp-skin.woocommerce-cart table.cart td.product-quantity .quantity { margin: 0 !important; }
	body.tmp-skin.woocommerce-cart table.cart td.product-quantity input.qty { width: 84px !important; min-height: 44px; }
	body.tmp-skin.woocommerce-cart table.cart td.product-subtotal { grid-column: 3; grid-row: 3; margin-top: 10px; justify-self: end; font-size: 17px; font-weight: 600; color: var(--ink); white-space: nowrap; }
	body.tmp-skin.woocommerce-cart table.cart td.actions { display: block !important; width: 100% !important; padding: 16px !important; box-sizing: border-box; }
	body.tmp-skin.woocommerce-cart table.cart td.actions .coupon { display: flex !important; gap: 8px; float: none !important; width: 100% !important; max-width: none !important; box-sizing: border-box; margin: 0 0 10px !important; padding: 0 !important; }
	body.tmp-skin.woocommerce-cart table.cart td.actions .coupon label { display: none; }
	body.tmp-skin.woocommerce-cart table.cart td.actions .coupon .input-text { flex: 1 1 auto; min-width: 0; width: auto !important; margin: 0 !important; min-height: 46px; float: none !important; }
	body.tmp-skin.woocommerce-cart table.cart td.actions .coupon .button { flex: 0 0 auto; width: auto !important; margin: 0 !important; float: none !important; white-space: nowrap; padding-left: 16px !important; padding-right: 16px !important; }
	body.tmp-skin.woocommerce-cart table.cart td.actions > .button, body.tmp-skin.woocommerce-cart table.cart td.actions > input[type="submit"] { display: block; width: 100% !important; float: none !important; margin: 0 !important; }

	body.tmp-skin.woocommerce-cart .cart-collaterals { display: flex !important; flex-direction: column; gap: 32px; width: 100% !important; margin-top: 24px !important; }
	body.tmp-skin.woocommerce-cart .cart-collaterals .cart_totals { order: -1; width: 100% !important; float: none !important; margin: 0 !important; }
	body.tmp-skin.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size: 24px !important; margin: 0 0 12px !important; }
	body.tmp-skin.woocommerce-cart .cart-collaterals .cart_totals table, body.tmp-skin.woocommerce-cart .cart-collaterals .cart_totals table tbody { display: block !important; width: 100% !important; }
	body.tmp-skin.woocommerce-cart .cart-collaterals .cart_totals table tr { display: flex !important; align-items: baseline; justify-content: space-between; gap: 16px; width: 100% !important; box-sizing: border-box; }
	body.tmp-skin.woocommerce-cart .cart-collaterals .cart_totals table tr + tr { border-top: 1px solid var(--line2, rgba(15, 32, 41, 0.09)); }
	body.tmp-skin.woocommerce-cart .cart-collaterals .cart_totals table tr.order-total { border-top: 1px solid var(--ink); }
	html body.tmp-skin.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total th, html body.tmp-skin.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total td { border: 0 !important; }
	body.tmp-skin.woocommerce-cart .cart-collaterals .cart_totals table th, body.tmp-skin.woocommerce-cart .cart-collaterals .cart_totals table td { display: block !important; width: auto !important; border: 0 !important; flex: 0 1 auto; }
	body.tmp-skin.woocommerce-cart .cart-collaterals .cart_totals table td { text-align: right !important; }
	body.tmp-skin.woocommerce-cart .cart-collaterals .cart_totals table td::before { display: none !important; }
	body.tmp-skin.woocommerce-cart .wc-proceed-to-checkout .checkout-button { display: block; width: 100% !important; min-height: 54px; font-size: 17px !important; }
	body.tmp-skin.woocommerce-cart .cart-collaterals .cross-sells { width: 100% !important; float: none !important; margin: 0 !important; padding-top: 24px; border-top: 1px solid var(--line); }
	body.tmp-skin.woocommerce-cart .cart-collaterals .cross-sells > h2 { font-size: 22px !important; line-height: 1.2 !important; margin: 0 0 16px !important; border: 0 !important; padding: 0 !important; }
	body.tmp-skin.woocommerce-cart .cart-collaterals .cross-sells ul.products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; margin: 0 !important; }
	body.tmp-skin.woocommerce-cart .cart-collaterals .cross-sells ul.products::before, body.tmp-skin.woocommerce-cart .cart-collaterals .cross-sells ul.products::after { display: none !important; }
	body.tmp-skin.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; }
	body.tmp-skin.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product .woocommerce-loop-product__title { font-size: 17px !important; }
}
