/* =============================================================
   Tudor model page (W&W 2026) — gallery
   Mobile-first - Breakpoints (min-width only):
     576px  — small landscape phones
     768px  — tablets
     992px  — desktop (sticky activates here)
     1200px — large desktop
   ============================================================= */

/* --- Container ------------------------------------------------- */
.tudor-model__gallery-col {
	grid-column: 1/-1;
}
.tudor-model__summary-col {
	grid-column: 1/-1;
}


.tudor-model {
	margin-bottom: 100px;
}

.tudor-gallery {
	width: 100%;
}

/* --- Main image ------------------------------------------------ */

.tudor-gallery__main {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.tudor-gallery__main .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
}

.tudor-gallery__main picture,
.tudor-gallery__main img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* --- Nav arrows ------------------------------------------------ */

.tudor-gallery__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	padding: 0;
	background: rgba(255, 255, 255, 0.85);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	z-index: 10;
	transition: background 0.2s, opacity 0.2s;
}

.tudor-gallery__nav:hover {
	background: rgba(255, 255, 255, 1);
}

.tudor-gallery__nav--prev { left: 12px; }
.tudor-gallery__nav--next { right: 12px; }

.tudor-gallery__nav::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
}

.tudor-gallery__nav--next::after {
	transform: translate(-65%, -50%) rotate(45deg);
}

.tudor-gallery__nav--prev::after {
	transform: translate(-35%, -50%) rotate(-135deg);
}

.tudor-gallery__nav.swiper-button-disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

/* --- Collection name (mobile only) ----------------------------- */

.tudor-gallery__collection {
	margin: 16px 0;
	font-size: 16px;
	font-weight: bold;
	text-transform: uppercase;
	text-align: center;
	color: var(---black);
}

@media (min-width: 992px) {
	.tudor-gallery__collection { display: none; }
}
@media (min-width: 1280px) {
	.tudor-model__gallery-col {
		grid-column: 1/7;
	}
	.tudor-model__summary-col {
		grid-column: 7/-1;
	}
}

/* --- Thumbnail strip (mobile defaults) ------------------------- */

.tudor-gallery__thumbs {
	margin-top: 12px;
}

/*
 * Centre the thumbs as a group when they fit. Swiper sizes
 */
.tudor-gallery {
	overflow-x: auto;
}
.tudor-gallery__thumbs .swiper-wrapper {
	justify-content: safe center;
}

.tudor-gallery__thumbs .swiper-slide {
	width: 56px;
	aspect-ratio: 1 / 1;
	cursor: pointer;
}

.tudor-gallery__thumbs .swiper-slide-thumb-active {
	opacity: 1;
}

.tudor-gallery__thumbs picture,
.tudor-gallery__thumbs img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}


.tudor-gallery__thumbs .swiper-wrapper {
	justify-content: flex-start;
}

.tudor-gallery__thumbs .swiper-slide {
	width: calc((100% - 24px) / 4) !important;
	flex: 0 0 calc((100% - 24px) / 4);
}

.tudor-gallery__thumbs .swiper-slide:last-child {
	margin-right: 0 !important;
}


/* Add Product Notice */
.theme-tudor-khh .woocommerce-message {
	background: var(--tudor-red);
	text-align: center;
  color: #fff;
  padding: 10px 0;
}

.theme-tudor-khh .woocommerce-message a{
	font-weight: bold;
	text-decoration: underline;
	color: #fff;
}

/* --- 576px+ : larger touch targets, slightly bigger arrows ----- */

@media (min-width: 576px) {
	.tudor-gallery__nav {
		width: 40px;
		height: 40px;
	}
	.tudor-gallery__nav--prev { left: 16px; }
	.tudor-gallery__nav--next { right: 16px; }

	.tudor-gallery__thumbs {
		margin-top: 14px;
	}
	.tudor-gallery__thumbs .swiper-slide {
		width: 72px;
	}
}

/* --- 768px+ : tablet — full thumb size ------------------------- */

@media (min-width: 768px) {
	.tudor-gallery__thumbs {
		margin-top: 16px;
	}
	.tudor-gallery__thumbs .swiper-slide {
		width: 88px;
		gap: 0; /* spaceBetween handled by Swiper */
	}
}

/* --- 992px+ : desktop — sticky + container cap ----------------- */

@media (min-width: 1280px) {
	.tudor-gallery {
		position: sticky;
		top: 80px; 
		align-self: start;
		max-width: 760px;
		will-change: transform;
		transform: translateZ(0);
		backface-visibility: hidden;
	}

	.tudor-model__summary-col {
		contain: layout style;
	}
}

/* =============================================================
   Right-side summary panel
   Mobile-first. Stacks below gallery on <992px, sits beside on 992+.
   ============================================================= */

/* --- Layout spacing between gallery and summary ---------------- */

.tudor-model__summary-col {
	margin-top: 32px;
}

@media (min-width: 1280px) {
	.tudor-model__summary-col {
		margin-top: 0;
		padding-left: 32px;
	}
}

/* --- Summary container ----------------------------------------- */

.tudor-summary {
	color: var(---black);
}

.tudor-summary > * + * {
	margin-top: 24px;
}

/* --- Header (name / sub / ref / price) ------------------------- */

.tudor-summary__header > * + * {
	margin-top: 8px;
}

.tudor-summary__name {
	display: flex;
	font-size: 28px;
	flex-direction: column;
	line-height: 1.2;
	text-transform: uppercase;
	margin: 0;
	font-weight: bold;
	row-gap: 16px;
}
.tudor-summary__name .sub-title {
	font-size: 20px;
}

.tudor-summary__sub {
	font-size: 14px;
	color: var(--normal-grey);
	margin: 0;
}

.tudor-summary__ref {
	font-size: 14px;
	color: var(--normal-grey);
	margin: 0;
}

.tudor-summary__price {
	font-size: 20px;
	font-weight: 500;
	color: var(--black-font);
	margin: 12px 0 0;
}

@media (min-width: 768px) {
	.tudor-summary__name { font-size: 1.75rem; } /* 28px */
}

@media (min-width: 1200px) {
	.tudor-summary__name { font-size: 40px; } /* 32px */
	.tudor-summary__name .sub-title {
		font-size: 24px;
	}

	.tudor-summary__price {
		font-size: 24px;
	}
}

/* --- Description ----------------------------------------------- */

.tudor-summary__description p {
	font-size: 16px;
	line-height: 1.6;
	color: var(--black-font);
	margin: 0;
}

/* --- Add to Bag ------------------------------------------------ */

.tudor-add-to-bag-form {
	margin: 0;
}

.tudor-btn {
	display: inline-block;
	padding: 14px 24px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: background 0.2s, color 0.2s, transform 0.05s;
}

.tudor-btn--primary {
	background: var(--tudor-red);
	color: var(--system-white);
	width: 100%;
}

.tudor-btn--primary:hover,
.tudor-btn--primary:focus {
	background: var(---black);
	color: var(--system-white);
}

.tudor-btn--primary:active {
	transform: translateY(1px);
}

.tudor-summary__delivery-note {
	margin-top: 8px;
	font-size: 0.75rem; /* 12px */
	font-style: italic;
	color: var(--normal-grey);
	text-align: center;
}

@media (min-width: 768px) {
	.tudor-summary__delivery-note { font-size: 14px; }
}

/* --- Accordions (native <details>) ----------------------------- */

.tudor-accordion {
	border-top: 1px solid var(--light-grey);
}

.tudor-accordion:last-of-type {
	border-bottom: 1px solid var(--light-grey);
}

.tudor-summary > .tudor-accordion + .tudor-accordion {
	margin-top: 0; /* override the 24px stacking gap; borders provide separation */
}

.tudor-accordion__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 0;
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--tudor-red);
	cursor: pointer;
	list-style: none;
}

/* Hide the default <details> disclosure triangle in WebKit and Firefox. */
.tudor-accordion__summary::-webkit-details-marker { 
	display: none; 
}
.tudor-accordion__summary {
	-webkit-appearance: none;
	appearance: none;
}

/* Custom +/− icon — toggled by [open] attribute. */
.tudor-accordion__summary::after {
	content: '+';
	font-size: 1.25rem; /* 20px */
	font-weight: 400;
	line-height: 1;
	margin-left: 16px;
	color: var(--tudor-red);
}

.tudor-accordion[open] > .tudor-accordion__summary::after {
	content: '−';
}

.tudor-accordion__summary:focus-visible {
	outline: 2px solid var(--tudor-red);
	outline-offset: 2px;
}

.tudor-accordion__title {
	font-size: 18px;
	margin-bottom: 0;
}

.tudor-accordion__content {
	padding: 0 0 20px;
}

.tudor-accordion__placeholder {
	font-size: 16px;
	font-style: italic;
	color: var(--drak-grey-34);
	margin: 0;
}

/* --- Spec rows inside Product Details -------------------------- */

.tudor-spec-row + .tudor-spec-row {
	margin-top: 16px;
}

.tudor-spec-row__label {
	font-size: 14px;
	text-transform: uppercase;
	color: var(--drak-grey-34);
	margin: 0 0 4px;
}

.tudor-spec-row__value {
	font-size: 16px;
	line-height: 1.5;
	color: var(--black);
	margin: 0;
}

/* --- SEO-only blocks ------------------------------------------- */
/* Render in DOM (so SEO crawlers and the SEO agency's keyword
   scoring continue to see the content) but hide from users.
   Used for the contact form section that the SEO agency tracks. */

.tudor-seo-only {
	display: none !important;
}

/* --- Enquire Now button list ----------------------------------- */

.tudor-enquire-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.tudor-enquire-list li + li {
	margin-top: 4px;
}

.tudor-enquire-link {
	display: block;
	padding: 8px 0;
	font-size: 16px;
	font-weight: 500;
	text-transform: uppercase;
	color: var(---black);
	text-decoration: none;
	transition: color 0.2s;
}

.tudor-enquire-link:hover,
.tudor-enquire-link:focus {
	color: var(--tudor-red);
	text-decoration: none;
}

/* --- Hide gallery nav arrows (all viewports) ------------------- */
.tudor-gallery__nav { display: none; }


/* May you also like */
.upsells .tudor-product-grids.products {
	display: block;
	grid-column-gap: 0;
	justify-content: center;
}
.up-sells.upsells .products ul.swiper-wrapper {
	justify-content: center;
}
div.products li.product .upsell-swiper-inner img {
	max-width: unset;
}
.up-sells.upsells .products {
	margin: 0 0 32px 0;
}
.upsell-swiper-inner .product-title {
    text-align: center;
    justify-content: center;
    align-items: center;
    display: flex;
    flex-direction: column;
}
.upsell-swiper-inner .product-title h3 {
	font-size: 22px;
	color: var(--black-font);
}
.upsell-swiper-inner .price {
	text-align: center;
}

@media (max-width: 1024px) {
	div.products li.product .upsell-swiper-inner img {
		max-width: unset;
		height: 180px;
		object-fit: contain;
		object-position: center;
	}
	.upsell-swiper-inner .product-title h3 {
		font-size: 18px;
		color: var(--black-font);
	}
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	div.products li.product .upsell-swiper-inner img {
		height: 300px;
	}
    ul.products.tudor-product-grids li.product a .price {
        font-size: 16px;
    }
}

@media (max-width: 767px) {
	.up-sells.upsells .products.swiper-container-multirow {
		height: auto;
	}

	.up-sells.upsells .products.swiper-container-multirow > .swiper-wrapper {
		height: auto !important;
		justify-content: flex-start;
		align-content: flex-start;
	}

	.up-sells.upsells .products.swiper-container-multirow .swiper-slide {
		height: auto !important;
	}
}