/* Shared tablet proportions. Desktop and phone declarations remain untouched. */
@media (min-width: 761px) and (max-width: 1199px) {
	:root {
		--oa-tablet-title: clamp(36px, 4.5vw, 50px);
		--oa-tablet-heading: clamp(26px, 2.8vw, 32px);
		--oa-tablet-gutter: 28px;
	}
	body { font-size: 17px; line-height: 1.65; }
	.masthead { min-height: 106px; }
	.custom-logo { max-width: 171px; max-height: 74.1px; }
	.navigation-row { min-height: 54px; }
	.site-main, .form-page, .contact-page {
		width: min(calc(100% - 2 * var(--oa-tablet-gutter)), var(--oa-width));
		padding-block: 44px 72px;
	}
	.oa-home .site-main { padding-top: 40px; }
	.dashboard-page, .welcome-page { padding-block: 44px 72px; }
	.dashboard-page .section-inner, .welcome-page__inner {
		width: min(calc(100% - 2 * var(--oa-tablet-gutter)), var(--oa-width));
	}
	.form-page .section-inner, .contact-page .section-inner,
	.dashboard-page .section-inner .section-inner { width: 100%; }
	.page-heading, .home-heading, .welcome-page .page-heading,
	.form-page .page-header, .contact-page .page-header,
	.dashboard-page .page-header { margin-bottom: 28px; }
	.dashboard-page--section .page-header { margin-bottom: 0; }
	/* Reservation layout settings include desktop margins inline. Override only here. */
	.form-page .page-header { margin-top: 0 !important; margin-bottom: 28px !important; }
	.form-page.reservation-page .reservation-intro { margin-bottom: 28px !important; }
	.dashboard-page .page-header { max-width: none; }
	.site-main .page-heading h1, .page-heading h1,
	.form-page .page-title, .contact-page .page-title,
	.dashboard-page .page-title { font-size: var(--oa-tablet-title); line-height: 1.12; }
	.site-main .home-heading h1 { font-size: clamp(34px, 4vw, 44px); }
	.eyebrow { font-size: 11px; margin-bottom: 10px; }
	.prose, .form-page .page-content, .contact-page .page-content,
	.form-page .intro-text, .form-page .intro-text p,
	.dashboard-page .sans-excerpt, .contact-page .olarit-page-intro,
	.map-page__intro { font-size: 17px; line-height: 1.65; }
	.oa-home .prose > p:first-child { font-size: 19px; line-height: 1.6; }
	.prose h2, .form-page .intro-text h2,
	.dashboard-entry h2, .dashboard-subpage h2, .dashboard-section-panel h2,
	.map-card__copy h2 { font-size: var(--oa-tablet-heading); line-height: 1.25; }
	.prose h3 { font-size: 25px; }
	.prose h4 { font-size: 21px; }
	.prose h2, .prose h3, .prose h4 { margin-block: 1.4em .6em; }
	.page-id-478 .prose h2, .page-id-49 .prose > p:first-child,
	.page-template-terms-conditions-template .prose h2,
	.page-template-materials-guide-template .prose h2 { font-size: clamp(23px, 2.5vw, 28px); }
	.page-featured-media { margin-bottom: 28px; }
	.page-featured-media, .page-featured-media img { max-height: 480px; }
	.brand-palette-artwork { margin-bottom: 28px; }
	.prose .testimonials-grid { gap: 16px; }
	.testimonials-grid .testimonial-card { padding: 22px; }
	.testimonials-grid .testimonial-card__name { font-size: 21px; }
	.wp-block-gallery, .gallery { gap: 14px; }

	/* Two roomy columns, rather than desktop cards squeezed into three. */
	.content-grid, .editorial-layout--with-sidebar .content-grid,
	.dashboard-grid, .dashboard-reservation-grid, .dashboard-record-grid,
	.welcome-grid, .welcome-page--customer .welcome-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;
	}
	.content-card__media img { height: 200px; }
	.content-card__body { padding: 18px; }
	.content-card__title { font-size: 23px; }
	.dashboard-card { min-height: 164px; padding: 18px; }
	.dashboard-card__title, .welcome-card__title { font-size: clamp(21px, 2.2vw, 24px); }
	.dashboard-card__eyebrow, .welcome-card__eyebrow { margin-bottom: 10px; }
	.dashboard-card__description, .welcome-card__description { margin-top: 9px; }
	.welcome-card { min-height: 164px; padding: 20px; }
	.dashboard-panel, .dashboard-section-panel, .dashboard-tool-panel,
	.dashboard-editor-panel, .dashboard-security-panel { padding: 22px; margin-block: 18px; }
	.dashboard-media-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
	.dashboard-media-card { padding: 12px; }
	.dashboard-media-card img { height: auto; aspect-ratio: 1; }
	.dashboard-record-card h2 { font-size: 22px; }
	.dashboard-reservation-card, .dashboard-registration-card, .dashboard-record-card { padding: 14px; }
	.dashboard-subpage__navigation {
		left: auto; width: 100%; transform: none;
		margin-top: 20px;
	}
	.dashboard-subpage__navigation a { min-height: 44px; padding: 8px 10px; font-size: 12px; }
	.dashboard-access-history { padding: 16px; }
	.dashboard-preview-dialog { width: 94vw; padding: 18px; }

	/* Centre the card itself, not its labels or input text; avoid nested gutters. */
	.form-page .page-content, .contact-page .page-content { max-width: 820px; text-align: left; }
	.form-page .reservation-form-wrapper {
		width: 100%; max-width: 820px; margin: 0 auto !important;
		padding: 24px; box-sizing: border-box;
	}
	.form-page .reservation-form, .contact-page .contact-form { gap: 20px; font-size: 17px; line-height: 1.65; }
	.form-page .reservation-form label, .contact-page .contact-form label { font-size: 17px; line-height: 1.45; }
	.form-page .reservation-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="reset"]),
	.form-page .reservation-form select, .form-page .reservation-form textarea,
	.contact-page .contact-form input:not([type="submit"]), .contact-page .contact-form textarea {
		font-size: 17px; min-height: 48px; padding: 11px 13px;
	}
	.form-page .reservation-form textarea, .contact-page .contact-form textarea { min-height: 144px; }
	.form-page .registration-fieldset { padding: 20px; }
	.form-page .registration-fieldset legend { font-size: 22px; }
	.form-page .intro-text { margin-bottom: 24px; }
	.form-page .confirmation-card { padding: 22px; gap: 20px; }
	.form-page .confirmation-logo-column { flex-basis: 140px; }
	.contact-form { margin-top: 28px; }
	.contact-page .contact-form p { margin: 0; }
	.contact-form__submit { margin-top: 20px; }
	.contact-map-card { margin-top: 36px; }
	.map-card { grid-template-columns: minmax(220px, .9fr) minmax(0, 1.3fr); min-height: 320px; }
	.map-card__copy { padding: 24px; }
	.map-card__frame, .map-card__frame iframe { min-height: 320px; }
	.voucher-gift-hero { padding: 28px; }
	.voucher-gift-hero h2 { font-size: 26px; }
	.voucher-gift-steps { gap: 18px; margin-block: 28px; }
	.voucher-gift-steps h2 { font-size: 21px; }

	/* Commerce keeps native behavior and readable touch inputs, not scaled UI. */
	.woocommerce ul.products[class*="columns-"] { --oa-shop-columns: 2; gap: 18px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 22px; }
	.oa-commerce-main .woocommerce .product_title { font-size: clamp(30px, 3.4vw, 38px); }
	.oa-commerce-main .woocommerce ul.products li.product .price,
	.oa-commerce-main .woocommerce div.product p.price,
	.oa-commerce-main .woocommerce div.product span.price { font-size: 17px; }
	.woocommerce form.checkout, .woocommerce form.login, .woocommerce form.register,
	.woocommerce-MyAccount-content { padding: 22px; }
	/* WooCommerce's phone float reset ends at768; ours ends at760. Cover that seam. */
	.woocommerce-account .woocommerce-MyAccount-navigation { float: left; width: 25%; font-size: 15px; }
	.woocommerce-account .woocommerce-MyAccount-content { float: right; width: 72%; }
	.woocommerce-account .woocommerce-MyAccount-navigation a { padding: 10px; }
	.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; }
	.woocommerce-account .woocommerce-Address-title h2 { font-size: 22px; }
	.woocommerce-account #customer_login > .u-column1 > h2,
	.woocommerce-account #customer_login > .u-column2 > h2 { font-size: 24px; }
	.site-main .woocommerce .cart_totals h2, .site-main .woocommerce form.checkout h3 { font-size: 27px; }
	.woocommerce-cart .woocommerce-cart-form table.cart td.product-thumbnail { width: 156px; min-width: 156px; padding: 12px; }
	.woocommerce-cart .woocommerce-cart-form table.cart td.product-thumbnail img { width: 132px; max-width: 100%; }
	.site-main .woocommerce table.shop_table th, .site-main .woocommerce table.shop_table td { padding: 11px 10px; font-size: 15px; }

	/* Archives and the private component reference share the same tablet rhythm. */
	.editorial-layout--with-sidebar { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.oa-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--oa-line); }
	.footer-widgets { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
	.theme-explorer-section { padding: 24px; margin-block: 24px; }
	.theme-explorer-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.theme-explorer-section__heading h2 { font-size: var(--oa-tablet-heading); }
	.theme-explorer-heading > p:last-child { font-size: 17px; }
	.theme-explorer-type-sample--display { font-size: var(--oa-tablet-title); }
	.theme-explorer-type-sample--home { font-size: clamp(34px, 4vw, 44px); }
	.theme-explorer-type-sample--h2 { font-size: var(--oa-tablet-heading); }
	.theme-explorer-type-sample--h3 { font-size: 25px; }
	.theme-explorer-type-sample--h4 { font-size: 21px; }
	.theme-explorer-type-sample--body { font-size: 17px; line-height: 1.65; }
	.theme-explorer-type-sample--eyebrow { font-size: 11px; }
	.theme-explorer-type-sample--card { font-size: 23px; }
	.theme-explorer-product__layout { gap: 24px; }
	.theme-explorer-product__details h3 { font-size: 26px; }
}
