/*
Theme Name: Shoreline Child
Template: generatepress
Version: 0.1.0
*/

/* Shared presentation: system fonts, Shoreline red and industrial neutrals. */
:root {
	--shoreline-red: #ba2634;
	--shoreline-ink: #111f2b;
	--shoreline-dark: #0c1721;
	--shoreline-muted: #52616b;
	--shoreline-paper: #f3f5f4;
	--shoreline-width: 1240px;
	--shoreline-gutter: clamp(1.25rem, 4vw, 4rem);
}

body {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: var(--shoreline-ink);
	line-height: 1.7;
}

.site-header, .main-navigation, .main-navigation ul ul {
	background: #fff;
}

.site-header {
	border-bottom: 1px solid #dde2e4;
}

.inside-header, .inside-navigation {
	max-width: var(--shoreline-width);
	margin-inline: auto;
}

.inside-header {
	box-sizing: border-box;
	max-width: calc(var(--shoreline-width) + 2 * var(--shoreline-gutter));
	padding: 1.25rem var(--shoreline-gutter);
	gap: 1rem 1.5rem;
	align-items: center;
}

.main-title {
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.035em;
}

/* Preserve the supplied logo's full aspect ratio and the theme's navigation. */
.site-header:has(.site-logo) .site-branding {
	display: none;
}

.site-header .site-logo {
	min-width: 0;
	max-width: 100%;
}

.site-header .site-logo a {
	display: block;
}

.site-header .site-logo img {
	display: block;
	width: 250px;
	max-width: 100%;
	height: auto;
}

.site-header:has(.site-logo) .inside-header {
	padding-block: .5rem;
}

@media (max-width: 768px) {
	.site-header .site-logo {
		max-width: calc(100% - 5rem);
	}

	.site-header .site-logo img {
		width: 200px;
	}
}

.main-title a, .main-title a:hover {
	color: var(--shoreline-ink);
}

.site-description {
	color: var(--shoreline-muted);
	font-size: .875rem;
}

.main-navigation .main-nav ul li a, .main-navigation .menu-toggle {
	color: var(--shoreline-ink);
	font-size: .9375rem;
	font-weight: 650;
	padding-inline: 1.1rem;
	line-height: 3.5rem;
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus-within > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
	color: var(--shoreline-red);
	background: #f3f5f4;
}

a:focus-visible, button:focus-visible {
	outline: 3px solid var(--shoreline-red);
	outline-offset: 5px;
}

/* Scope GeneratePress layout overrides to the page containing the shortcode.
 * Let the theme supply its main landmark; avoid viewport-width breakout hacks.
 */
body:has(.shoreline-home) .site.grid-container {
	max-width: none;
	padding: 0;
}

body:has(.shoreline-home) .site-content {
	display: block;
	padding: 0;
}

body:has(.shoreline-home) #primary {
	width: 100%;
	float: none;
	margin: 0;
}

body:has(.shoreline-home) .site-main,
body:has(.shoreline-home) .inside-article,
body:has(.shoreline-home) .entry-content {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

body:has(.shoreline-home) .entry-header,
body:has(.shoreline-home) .sidebar,
body:has(.shoreline-home) .entry-meta,
body:has(.shoreline-home) .entry-footer {
	display: none;
}

.shoreline-home, .shoreline-home * {
	box-sizing: border-box;
}

.shoreline-home {
	font-size: clamp(1rem, .95rem + .2vw, 1.125rem);
	overflow-wrap: break-word;
}

.shoreline-home__section {
	padding-block: clamp(3.5rem, 7vw, 6.5rem);
	padding-inline: max(var(--shoreline-gutter), calc((100% - var(--shoreline-width)) / 2));
	background: var(--shoreline-paper);
}

.shoreline-home__section > p,
.shoreline-home__hero-content > p {
	max-width: 72ch;
	margin: 0 0 1.25rem;
}

.shoreline-home__heading {
	max-width: 26ch;
	margin: 0 0 1.4rem;
	color: inherit;
	font-size: clamp(2rem, 3.6vw, 3.25rem);
	font-weight: 750;
	letter-spacing: -.04em;
	line-height: 1.12;
	text-wrap: balance;
}

.shoreline-home__heading::before {
	content: "";
	display: block;
	width: 3rem;
	height: 4px;
	margin-bottom: 1.5rem;
	background: var(--shoreline-red);
}

.shoreline-home__section > .shoreline-home__subheading {
	margin-bottom: 1.5rem;
	font-size: clamp(1.125rem, 1.6vw, 1.375rem);
	font-weight: 650;
	line-height: 1.4;
}

.shoreline-home__hero {
	padding: 0;
	background: #fff;
	color: var(--shoreline-ink);
}

.shoreline-home__hero-content {
	padding-block: clamp(1.75rem, 3vw, 2.75rem);
	padding-inline: max(var(--shoreline-gutter), calc((100% - var(--shoreline-width)) / 2));
}

.shoreline-home__hero-content > p {
	margin-bottom: 1rem;
}

.shoreline-home__subsea {
	padding-top: clamp(2.75rem, 5vw, 4.5rem);
}

.shoreline-home__image-holder {
	margin-block: 2rem;
	min-width: 0;
}

.shoreline-home__hero-image-holder {
	margin: 0;
}

.shoreline-home .shoreline-home__image {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

/* Only empty holders have a provisional ratio; supplied images keep their own. */
.shoreline-home__image-placeholder {
	display: grid;
	place-items: center;
	aspect-ratio: 16 / 7;
	padding: 1.25rem;
	background: #e4e9eb;
	color: #52616b;
	border: 1px dashed #7e8c96;
	font-size: .875rem;
	text-align: center;
}

.shoreline-home__hero-image-holder .shoreline-home__image-placeholder {
	aspect-ratio: 3 / 1;
	background: var(--shoreline-dark);
	color: #cad3da;
}

.shoreline-home__title {
	max-width: 32ch;
	margin: 0 0 1.25rem;
	color: var(--shoreline-ink);
	font-size: clamp(1.875rem, 3vw, 2.75rem);
	font-weight: 800;
	letter-spacing: -.045em;
	line-height: 1.08;
	text-wrap: balance;
}

.shoreline-home__hero-content > .shoreline-home__intro {
	max-width: 68ch;
	font-size: clamp(1.125rem, 1.7vw, 1.375rem);
	line-height: 1.6;
}

.shoreline-home a.shoreline-home__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	min-height: 3.5rem;
	margin-top: 1.25rem;
	padding: .9rem 1.65rem;
	border: 2px solid transparent;
	border-radius: 2px;
	background: var(--shoreline-red);
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
}

.shoreline-home a.shoreline-home__button:hover {
	background: #961d29;
}

.shoreline-home__hero-content a.shoreline-home__button {
	margin-top: .5rem;
}

.shoreline-home a.shoreline-home__button:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 4px;
	border-color: var(--shoreline-dark);
}

.shoreline-home .shoreline-home__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 2.5rem 0 2rem;
	padding: 1px;
	list-style: none;
	background: #d7dfe2;
}

.shoreline-home__list > li {
	margin: 0;
	padding: 1.4rem 1.5rem;
	background: #fff;
	font-weight: 600;
	line-height: 1.5;
}

.shoreline-home__section > .shoreline-home__closing {
	margin-bottom: 0;
	color: var(--shoreline-muted);
}

.shoreline-home__qa-qc, .shoreline-home__global,
.shoreline-home__contact {
	background: var(--shoreline-ink);
	color: #d2dbe1;
}

.shoreline-home__qa-qc .shoreline-home__heading,
.shoreline-home__global .shoreline-home__heading {
	color: #fff;
}

.shoreline-home__qa-qc .shoreline-home__list,
.shoreline-home__global .shoreline-home__list {
	background: #3b4a55;
}

.shoreline-home__qa-qc .shoreline-home__list > li,
.shoreline-home__global .shoreline-home__list > li {
	background: #192b38;
	color: #f4f6f7;
}

.shoreline-home__qa-qc > .shoreline-home__closing,
.shoreline-home__global > .shoreline-home__closing {
	color: #bcc8d0;
}

.shoreline-home__fat-sit {
	background: #fff;
}

.shoreline-home__fat-sit .shoreline-home__list > li {
	background: var(--shoreline-paper);
}

.shoreline-home__global {
	padding-bottom: 2rem;
}

.shoreline-home__contact {
	padding-top: 0;
}

/* Minimal footer identity within the existing GeneratePress footer structure.
 * Configure actual copyright content in WordPress when footer setup is available.
 */
.site-footer, .site-info {
	background: var(--shoreline-dark);
	color: #c4cdd4;
}

.site-info {
	border-top: 1px solid #33414b;
	padding: 2rem var(--shoreline-gutter);
}

.site-info .copyright-bar {
	display: none;
}

.inside-site-info::after {
	content: "© Shoreline Inspection Services";
	display: block;
	font-size: .9375rem;
	font-weight: 600;
}

.inside-site-info {
	max-width: var(--shoreline-width);
	margin-inline: auto;
	justify-content: space-between;
}

@media (min-width: 1100px) {
	.shoreline-home__subsea .shoreline-home__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.shoreline-home__fat-sit .shoreline-home__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.shoreline-home .shoreline-home__list {
		grid-template-columns: minmax(0, 1fr);
	}

	.shoreline-home__list > li {
		padding: 1.15rem;
	}

	.inside-header {
		padding-block: 1.25rem;
	}

	.shoreline-home a.shoreline-home__button {
		width: 100%;
	}
}

/* About Us: scoped layout keeps the homepage and shared header unchanged. */
body:has(.shoreline-about) .site.grid-container {
	max-width: none;
	padding: 0;
}

body:has(.shoreline-about) .site-content {
	display: block;
	padding: 0;
}

body:has(.shoreline-about) #primary {
	width: 100%;
	float: none;
	margin: 0;
}

body:has(.shoreline-about) .site-main,
body:has(.shoreline-about) .inside-article,
body:has(.shoreline-about) .entry-content {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

body:has(.shoreline-about) .entry-header,
body:has(.shoreline-about) .sidebar,
body:has(.shoreline-about) .entry-meta,
body:has(.shoreline-about) .entry-footer {
	display: none;
}

.shoreline-about, .shoreline-about * {
	box-sizing: border-box;
}

.shoreline-about {
	font-size: clamp(1rem, .95rem + .2vw, 1.125rem);
	overflow-wrap: break-word;
}

.shoreline-about__section {
	padding-block: clamp(3.5rem, 7vw, 6.5rem);
	padding-inline: max(var(--shoreline-gutter), calc((100% - var(--shoreline-width)) / 2));
	background: var(--shoreline-paper);
}

.shoreline-about__intro {
	background: #fff;
}

.shoreline-about__title, .shoreline-about__heading {
	max-width: 32ch;
	margin: 0 0 1.4rem;
	color: inherit;
	font-size: clamp(1.875rem, 3vw, 2.75rem);
	font-weight: 750;
	letter-spacing: -.04em;
	line-height: 1.12;
	text-wrap: balance;
}

.shoreline-about__heading::before {
	content: "";
	display: block;
	width: 3rem;
	height: 4px;
	margin-bottom: 1.5rem;
	background: var(--shoreline-red);
}

.shoreline-about__subheading {
	max-width: 68ch;
	margin: 0 0 2rem;
	font-size: clamp(1.125rem, 1.6vw, 1.375rem);
	font-weight: 650;
	line-height: 1.4;
}

.shoreline-about__intro-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
}

.shoreline-about__copy {
	max-width: 72ch;
	min-width: 0;
}

.shoreline-about__copy p {
	margin: 0 0 1.25rem;
}

.shoreline-about__copy p:last-child {
	margin-bottom: 0;
}

.shoreline-about__image-holder {
	min-width: 0;
}

.shoreline-about__image {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

.shoreline-about__image-placeholder {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 3;
	padding: 1.25rem;
	background: #e4e9eb;
	color: var(--shoreline-muted);
	border: 1px dashed #7e8c96;
	font-size: .875rem;
	text-align: center;
}

.shoreline-about__experience {
	background: var(--shoreline-ink);
	color: #d2dbe1;
}

.shoreline-about__experience .shoreline-about__heading {
	color: #fff;
}

.shoreline-about__approach {
	padding-bottom: 2rem;
}

.shoreline-about__contact {
	padding-top: 0;
}

.shoreline-about a.shoreline-about__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	min-height: 3.5rem;
	margin-top: 1.25rem;
	padding: .9rem 1.65rem;
	border: 2px solid transparent;
	border-radius: 2px;
	background: var(--shoreline-red);
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
}

.shoreline-about a.shoreline-about__button:hover {
	background: #961d29;
}

.shoreline-about a.shoreline-about__button:focus-visible {
	outline: 3px solid var(--shoreline-ink);
	outline-offset: 4px;
}

@media (max-width: 900px) {
	.shoreline-about__intro-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 600px) {
	.shoreline-about a.shoreline-about__button {
		width: 100%;
	}
}

/* Contact Us: isolated page layout and enquiry form. */
body:has(.shoreline-contact) .site.grid-container { max-width: none; padding: 0; }
body:has(.shoreline-contact) .site-content { display: block; padding: 0; }
body:has(.shoreline-contact) #primary { width: 100%; float: none; margin: 0; }
body:has(.shoreline-contact) .site-main,
body:has(.shoreline-contact) .inside-article,
body:has(.shoreline-contact) .entry-content {
	margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none;
}
body:has(.shoreline-contact) .entry-header,
body:has(.shoreline-contact) .sidebar,
body:has(.shoreline-contact) .entry-meta,
body:has(.shoreline-contact) .entry-footer { display: none; }

.shoreline-contact, .shoreline-contact * { box-sizing: border-box; }
.shoreline-contact {
	font-size: clamp(1rem, .95rem + .2vw, 1.125rem);
	overflow-wrap: break-word;
	background: #fff;
}
.shoreline-contact__intro, .shoreline-contact__main {
	padding-block: clamp(3.5rem, 7vw, 6.5rem);
	padding-inline: max(var(--shoreline-gutter), calc((100% - var(--shoreline-width)) / 2));
}
.shoreline-contact__intro { background: var(--shoreline-paper); }
.shoreline-contact__intro > p { max-width: 72ch; margin: 0 0 1.25rem; }
.shoreline-contact__intro > p:last-child { margin-bottom: 0; }
.shoreline-contact__title, .shoreline-contact__heading {
	margin: 0 0 1.4rem;
	color: inherit;
	font-weight: 750;
	letter-spacing: -.04em;
	line-height: 1.12;
	text-wrap: balance;
}
.shoreline-contact__title { max-width: 32ch; font-size: clamp(1.875rem, 3vw, 2.75rem); }
.shoreline-contact__heading { font-size: clamp(1.5rem, 2.2vw, 2rem); }
.shoreline-contact__heading::before {
	content: ""; display: block; width: 3rem; height: 4px;
	margin-bottom: 1.5rem; background: var(--shoreline-red);
}
.shoreline-contact__subheading {
	font-size: clamp(1.125rem, 1.6vw, 1.375rem); font-weight: 650; line-height: 1.4;
}
.shoreline-contact__main {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
}
.shoreline-contact__main > *, .shoreline-contact__field { min-width: 0; }
.shoreline-contact__notice {
	padding: 1rem 1.25rem;
	border-left: 4px solid var(--shoreline-red);
	background: var(--shoreline-paper);
}
.shoreline-contact__form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.shoreline-contact__form legend { padding: 0; font-weight: 700; }
.shoreline-contact__form fieldset > p { font-size: .9375rem; color: var(--shoreline-muted); }
.shoreline-contact__fields {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem;
}
.shoreline-contact__field--wide { grid-column: 1 / -1; }
.shoreline-contact__field label { display: block; margin-bottom: .5rem; font-size: 1rem; font-weight: 650; }
.shoreline-contact__field input, .shoreline-contact__field textarea {
	display: block; width: 100%; max-width: 100%; min-width: 0;
	padding: .8rem 1rem; border: 1px solid #7e8c96; border-radius: 2px;
	background: #fff; color: var(--shoreline-ink); font: inherit; font-size: 1rem;
}
.shoreline-contact__field textarea { resize: vertical; }
.shoreline-contact__field input:focus-visible, .shoreline-contact__field textarea:focus-visible {
	outline: 3px solid var(--shoreline-red); outline-offset: 3px;
}
.shoreline-contact__field input:disabled, .shoreline-contact__field textarea:disabled {
	background: var(--shoreline-paper); opacity: 1; cursor: not-allowed;
}
.shoreline-contact .shoreline-contact__button {
	display: inline-flex; align-items: center; justify-content: center;
	max-width: 100%; min-height: 3.5rem; margin-top: 1.5rem; padding: .9rem 1.65rem;
	border: 2px solid transparent; border-radius: 2px;
	background: var(--shoreline-red); color: #fff;
	font-size: 1rem; font-weight: 700; line-height: 1.5; text-align: center;
}
.shoreline-contact__button:disabled { cursor: not-allowed; opacity: 1; }
.shoreline-contact__button:focus-visible { outline: 3px solid var(--shoreline-ink); outline-offset: 4px; }
.shoreline-contact__requirements, .shoreline-contact__details { padding: clamp(1.5rem, 3vw, 2.5rem); }
.shoreline-contact__requirements { background: var(--shoreline-ink); color: #d2dbe1; }
.shoreline-contact__requirements .shoreline-contact__heading { color: #fff; }
.shoreline-contact__requirements ul { margin: 0; padding-left: 1.25rem; }
.shoreline-contact__requirements li { padding-block: .4rem; }
.shoreline-contact__requirements li::marker { color: #d2dbe1; }
.shoreline-contact__details { margin-top: 1.5rem; background: var(--shoreline-paper); }
.shoreline-contact__details dl { margin: 0; }
.shoreline-contact__details dt { font-weight: 700; }
.shoreline-contact__details dd { margin: .25rem 0 1.25rem; }
.shoreline-contact__details dd:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
	.shoreline-contact__main { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.shoreline-contact__fields { grid-template-columns: minmax(0, 1fr); }
	.shoreline-contact .shoreline-contact__button { width: 100%; }
}

/* Contact workflow feedback and the separate inspector enquiry band. */
.shoreline-contact__details a {
	color: var(--shoreline-red);
	text-decoration: underline;
	text-underline-offset: .2em;
	overflow-wrap: anywhere;
}
.shoreline-contact__details > p { margin: 1.5rem 0 0; }
.shoreline-contact .shoreline-contact__button { text-decoration: none; }
.shoreline-contact .shoreline-contact__button:hover { background: #961d29; }
.shoreline-contact__inspectors {
	padding-block: clamp(3.5rem, 7vw, 6.5rem);
	padding-inline: max(var(--shoreline-gutter), calc((100% - var(--shoreline-width)) / 2));
	background: var(--shoreline-ink);
	color: #d2dbe1;
}
.shoreline-contact__inspectors .shoreline-contact__heading { color: #fff; }
.shoreline-contact__inspectors > p { max-width: 72ch; margin: 0 0 1.25rem; }
.shoreline-contact__inspectors .shoreline-contact__button:focus-visible {
	outline-color: #fff;
}

/* Restrained long-form policy and notices, scoped to their own components. */
body:has(.shoreline-privacy) .site.grid-container { max-width: none; padding: 0; }
body:has(.shoreline-privacy) .site-content { display: block; padding: 0; }
body:has(.shoreline-privacy) #primary { width: 100%; float: none; margin: 0; }
body:has(.shoreline-privacy) .site-main,
body:has(.shoreline-privacy) .inside-article,
body:has(.shoreline-privacy) .entry-content { margin: 0; padding: 0; background: #fff; box-shadow: none; }
body:has(.shoreline-privacy) .entry-header,
body:has(.shoreline-privacy) .sidebar,
body:has(.shoreline-privacy) .entry-footer { display: none; }
.shoreline-privacy {
	box-sizing: border-box;
	padding-block: clamp(3.5rem, 7vw, 6.5rem);
	padding-inline: max(var(--shoreline-gutter), calc((100% - var(--shoreline-width)) / 2));
	font-size: clamp(1rem, .95rem + .2vw, 1.125rem);
	color: var(--shoreline-ink);
	overflow-wrap: anywhere;
}
.shoreline-privacy h1 {
	font-size: clamp(1.875rem, 3vw, 2.75rem);
	font-weight: 750; letter-spacing: -.04em; line-height: 1.12;
	margin: 0 0 2.5rem;
}
.shoreline-privacy__section { max-width: 75ch; margin-top: 2.5rem; }
.shoreline-privacy__section h2 {
	font-size: clamp(1.375rem, 2vw, 1.75rem);
	font-weight: 700; line-height: 1.3;
	border-top: 1px solid #dde2e4; padding-top: 1.5rem; margin: 0 0 1rem;
}
.shoreline-privacy__section p { margin: 0 0 1rem; }
.shoreline-privacy__section ul { margin: 0 0 1.25rem; padding-left: 1.4rem; }
.shoreline-privacy__section li { margin-bottom: .35rem; }
.shoreline-contact .shoreline-contact__privacy-note {
	margin-top: 1.25rem; font-size: .9375rem; line-height: 1.7; max-width: 72ch;
}
.shoreline-contact__privacy-note a { color: var(--shoreline-red); text-decoration: underline; text-underline-offset: .2em; }
.shoreline-contact__inspectors .shoreline-contact__privacy-note a { color: #fff; }
.site-info .shoreline-footer__privacy { color: #fff; text-decoration: underline; text-underline-offset: .2em; }
.inside-site-info:has(.shoreline-footer__privacy) { gap: 1rem 2rem; flex-wrap: wrap; }

/* Compact informational notice; no modal, overlay or page interaction blocking. */
.shoreline-cookie-notice[hidden] { display: none; }
.shoreline-cookie-notice {
	position: fixed;
	inset: auto 0 0;
	z-index: 1000;
	box-sizing: border-box;
	padding: .5rem var(--shoreline-gutter);
	padding-bottom: max(.5rem, env(safe-area-inset-bottom));
	background: var(--shoreline-dark);
	color: #f4f6f7;
	border-top: 1px solid #33414b;
	font-size: .875rem;
	line-height: 1.5;
}
.shoreline-cookie-notice__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1rem;
	max-width: var(--shoreline-width);
	margin-inline: auto;
}
.shoreline-cookie-notice p { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.shoreline-cookie-notice a { color: #fff; text-decoration: underline; text-underline-offset: .2em; }
.shoreline-cookie-notice .shoreline-cookie-notice__ok {
	flex: 0 0 auto;
	min-width: 44px;
	min-height: 36px;
	padding: .35rem .85rem;
	border: 2px solid transparent;
	border-radius: 2px;
	background: var(--shoreline-red);
	color: #fff;
	font: inherit;
	font-weight: 700;
	line-height: 1.5;
	cursor: pointer;
}
.shoreline-cookie-notice .shoreline-cookie-notice__ok:hover { background: #961d29; }
.shoreline-cookie-notice a:focus-visible,
.shoreline-cookie-notice button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 600px) {
	.shoreline-cookie-notice { padding-inline: 1rem; }
	.shoreline-cookie-notice__inner { flex-wrap: wrap; }
	.shoreline-cookie-notice p { flex: 1 1 14rem; }
	.shoreline-cookie-notice .shoreline-cookie-notice__ok { min-height: 44px; }
}
