/*
Theme Name: Piccola Blocksy Child
Theme URI: https://piccola-new.test/
Description: Motyw potomny Blocksy dla nowej strony Piccola.
Author: Piccola
Template: blocksy
Version: 1.5.13
Text Domain: piccola-blocksy-child
*/

:root {
	--piccola-charcoal: #111310;
	--piccola-charcoal-soft: #1a1d19;
	--piccola-cream: #f5f0e7;
	--piccola-red: #d93832;
	--piccola-red-dark: #b92824;
	--piccola-green: #3a9b4a;
	--piccola-white: #ffffff;
	--piccola-container: 1240px;
	--piccola-header-height: 94px;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--piccola-cream);
}

.piccola-site-header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: var(--piccola-header-height);
	border-bottom: 1px solid rgba(255, 255, 255, 0.13);
	background: linear-gradient(180deg, rgba(8, 10, 8, 0.9), rgba(8, 10, 8, 0.7));
	color: var(--piccola-white);
}

body:not(.home) .piccola-site-header {
	position: relative;
	background: var(--piccola-charcoal);
}

.piccola-header-inner {
	display: grid;
	grid-template-columns: 205px minmax(350px, 1fr) auto;
	align-items: center;
	gap: clamp(24px, 3vw, 54px);
	width: min(calc(100% - 48px), var(--piccola-container));
	height: 100%;
	margin-inline: auto;
}

.piccola-brand {
	display: inline-flex;
	align-items: center;
	width: 232px;
	height: 80px;
}

.piccola-brand img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 78px;
	object-fit: contain;
}

.piccola-primary-nav ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(24px, 2.4vw, 42px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.piccola-primary-nav a,
.piccola-header-phone {
	color: rgba(255, 255, 255, 0.88);
	text-decoration: none;
}

.piccola-primary-nav a {
	position: relative;
	display: inline-flex;
	padding: 12px 0;
	font-size: 14px;
	font-weight: 650;
	letter-spacing: 0.03em;
}

.piccola-primary-nav a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 6px;
	width: 100%;
	height: 2px;
	transform: scaleX(0);
	transform-origin: right;
	background: var(--piccola-green);
	transition: transform 180ms ease;
}

.piccola-primary-nav a:hover::after,
.piccola-primary-nav a:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left;
}

.piccola-header-actions {
	display: flex;
	align-items: center;
	gap: 18px;
	white-space: nowrap;
}

.piccola-header-contact-meta {
	display: grid;
	justify-items: start;
	gap: 3px;
}

.piccola-opening-status .op-is-open-shortcode {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
}

.piccola-opening-status .op-is-open-shortcode > span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.piccola-opening-status .op-is-open-shortcode > span::before {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	content: '';
}

.piccola-opening-status .op-open {
	color: #86d895;
}

.piccola-opening-status .op-open::before {
	background: var(--piccola-green);
}

.piccola-opening-status .op-closed {
	color: rgba(255, 255, 255, 0.66);
}

.piccola-opening-status .op-closed::before {
	background: #c97772;
}

.piccola-opening-status-mobile {
	display: none;
}

.piccola-header-phone {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 700;
}

.piccola-header-phone svg,
.piccola-button svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.piccola-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 50px;
	padding: 0 24px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 750;
	line-height: 1;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.piccola-button:hover {
	transform: translateY(-2px);
}

.piccola-button.wp-block-button {
	padding: 0;
}

.piccola-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: inherit;
	padding: 0 24px;
	border: 0;
	border-radius: inherit;
	background: transparent;
	color: inherit;
	font: inherit;
}

.piccola-button--phone .wp-block-button__link::before {
	content: '\260E';
	font-size: 20px;
	line-height: 1;
}

.piccola-button:focus-visible,
.piccola-primary-nav a:focus-visible,
.piccola-header-phone:focus-visible,
.piccola-menu-toggle:focus-visible {
	outline: 3px solid rgba(255, 255, 255, 0.85);
	outline-offset: 4px;
}

.piccola-button--header,
.piccola-button--primary {
	background: var(--piccola-red);
	color: var(--piccola-white);
	box-shadow: 0 10px 28px rgba(217, 56, 50, 0.28);
}

.piccola-button--header {
	min-height: 44px;
	padding-inline: 20px;
}

.piccola-button--header:hover,
.piccola-button--primary:hover {
	background: var(--piccola-red-dark);
	color: var(--piccola-white);
}

.piccola-menu-toggle {
	display: none;
}

.piccola-home-main {
	background: var(--piccola-cream);
}

/* Gutenberg dodaje odstępy między blokami Group; układ Piccoli kontroluje je jawnie. */
.piccola-home-main :where(.is-layout-flow > *) {
	margin-block-start: 0;
	margin-block-end: 0;
}

.piccola-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: clamp(650px, 76vh, 790px);
	overflow: hidden;
	background-color: #0b0d0a;
	background-image: url('assets/images/piccola-hero.jpg');
	background-position: center center;
	background-size: cover;
	color: var(--piccola-white);
}

.piccola-hero-backdrop {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(7, 9, 7, 0.96) 0%, rgba(7, 9, 7, 0.83) 32%, rgba(7, 9, 7, 0.35) 58%, rgba(7, 9, 7, 0.08) 100%),
		linear-gradient(0deg, rgba(7, 9, 7, 0.36), transparent 42%);
}

.piccola-hero-inner {
	position: relative;
	z-index: 1;
	width: min(calc(100% - 48px), var(--piccola-container));
	margin-inline: auto;
	padding-top: calc(var(--piccola-header-height) + 42px);
	padding-bottom: 54px;
}

.piccola-hero-copy {
	width: min(600px, 52%);
}

.piccola-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 13px;
	font-weight: 750;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.piccola-eyebrow::before {
	content: '';
	width: 30px;
	height: 3px;
	background: linear-gradient(90deg, var(--piccola-green) 0 46%, var(--piccola-white) 46% 62%, var(--piccola-red) 62%);
}

.piccola-hero h1 {
	max-width: 700px;
	margin: 0;
	color: var(--piccola-white);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(54px, 6.1vw, 88px);
	font-weight: 700;
	line-height: 0.98;
	letter-spacing: -0.045em;
	text-wrap: balance;
}

.piccola-hero-lead {
	max-width: 590px;
	margin: 28px 0 0;
	color: rgba(255, 255, 255, 0.84);
	font-size: clamp(17px, 1.5vw, 20px);
	line-height: 1.65;
}

.piccola-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 36px;
}

.piccola-button--secondary {
	border-color: rgba(255, 255, 255, 0.5);
	background: rgba(13, 16, 13, 0.28);
	color: var(--piccola-white);
	backdrop-filter: blur(4px);
}

.piccola-button--secondary:hover {
	border-color: var(--piccola-white);
	background: var(--piccola-white);
	color: var(--piccola-charcoal);
}

.piccola-info-strip {
	position: relative;
	z-index: 2;
	background: var(--piccola-charcoal-soft);
	color: var(--piccola-white);
}

.piccola-info-strip-inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	width: min(calc(100% - 48px), var(--piccola-container));
	margin-inline: auto;
}

.piccola-info-item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-height: 112px;
	padding: 24px;
	font-size: 15px;
	font-weight: 650;
	text-align: center;
}

.piccola-info-item + .piccola-info-item {
	border-left: 1px solid rgba(255, 255, 255, 0.13);
}

.piccola-info-item svg {
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	fill: none;
	stroke: var(--piccola-green);
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.piccola-info-item::before {
	content: '';
	display: block;
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.piccola-info-item--since::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 8v4l3 2M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z' fill='none' stroke='%233a9b4a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.piccola-info-item--delivery::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h11v11H3V6Zm11 4h4l3 3v4h-7v-7ZM7 20a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm11 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z' fill='none' stroke='%233a9b4a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.piccola-info-item--card::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6.5h18v12H3v-12Zm0 4h18M6 15h4' fill='none' stroke='%233a9b4a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.piccola-info-item--pickup::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 10 12 4l8 6v10H4V10Zm4 10v-7h8v7M9 9h6' fill='none' stroke='%233a9b4a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.piccola-container {
	width: min(calc(100% - 48px), var(--piccola-container));
	margin-inline: auto;
}

.piccola-section {
	padding-block: clamp(82px, 9vw, 132px);
}

.piccola-section-heading {
	margin-bottom: clamp(38px, 5vw, 58px);
}

.piccola-section-heading--split {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
}

.piccola-section-heading--split > div {
	max-width: 690px;
}

.piccola-section-kicker {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 0 0 14px;
	color: #687067;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.piccola-section-kicker::before {
	content: '';
	width: 28px;
	height: 3px;
	background: linear-gradient(90deg, var(--piccola-green) 0 46%, #fff 46% 62%, var(--piccola-red) 62%);
	box-shadow: 0 0 0 1px rgba(17, 19, 16, 0.04);
}

.piccola-section-kicker--light {
	color: rgba(255, 255, 255, 0.65);
}

.piccola-section h2,
.piccola-delivery h2 {
	margin: 0;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(38px, 4.1vw, 58px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.piccola-section h2 {
	color: var(--piccola-charcoal);
}

.piccola-section-intro {
	margin: 19px 0 0;
	color: #555d54;
	font-size: 18px;
	line-height: 1.7;
}

.piccola-text-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	flex: 0 0 auto;
	padding: 10px 0;
	border-bottom: 1px solid #aeb3ab;
	color: var(--piccola-charcoal);
	font-size: 14px;
	font-weight: 750;
	text-decoration: none;
}

.piccola-text-link span {
	font-size: 20px;
	line-height: 0;
}

.piccola-text-link-wrap {
	margin: 0;
}

.piccola-text-link:hover {
	border-color: var(--piccola-red);
	color: var(--piccola-red-dark);
}

.piccola-popular {
	background:
		radial-gradient(circle at 100% 0%, rgba(58, 155, 74, 0.08), transparent 30%),
		var(--piccola-cream);
}

.piccola-menu-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.piccola-menu-card {
	display: flex;
	flex-direction: column;
	min-height: 250px;
	padding: 28px;
	border: 1px solid #ded8cc;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.72);
	box-shadow: 0 14px 36px rgba(34, 29, 22, 0.055);
}

.piccola-menu-card-top {
	display: flex;
	align-items: center;
	gap: 13px;
}

.piccola-menu-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #e9eee7;
	color: var(--piccola-green);
	font-size: 11px;
	font-weight: 850;
}

.piccola-menu-card h3 {
	margin: 0;
	color: var(--piccola-charcoal);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 25px;
	line-height: 1.15;
}

.piccola-menu-badge {
	margin-left: auto;
	padding: 6px 9px;
	border-radius: 999px;
	background: #f8dfdc;
	color: var(--piccola-red-dark);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.piccola-menu-card > p {
	margin: 22px 0 24px;
	color: #62685f;
	font-size: 15px;
	line-height: 1.58;
}

.piccola-price-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-top: auto;
	padding-top: 18px;
	border-top: 1px solid #e3ded4;
}

.piccola-price-row span {
	color: var(--piccola-charcoal);
	font-size: 15px;
	font-weight: 800;
}

.piccola-price-row > div,
.piccola-price-row p {
	margin: 0;
	padding: 0;
	background: transparent;
	color: var(--piccola-charcoal);
	font-size: 15px;
	font-weight: 800;
}

.piccola-price-row > div {
	min-width: 0;
}

.piccola-price-row small {
	display: block;
	margin-bottom: 3px;
	color: #8c928a;
	font-size: 10px;
	font-weight: 650;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.piccola-section-cta--mobile {
	display: none;
}

.piccola-section-cta.piccola-section-cta--mobile {
	margin-block-start: 22px !important;
}

.piccola-button--dark {
	background: var(--piccola-charcoal);
	color: var(--piccola-white);
}

.piccola-button--dark:hover {
	background: var(--piccola-red);
	color: var(--piccola-white);
}

.piccola-about {
	background: #fffdf9;
}

.piccola-about-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(380px, 0.92fr);
	align-items: center;
	gap: clamp(56px, 7vw, 104px);
}

.piccola-about-media {
	position: relative;
	margin: 0;
}

.piccola-about-media::before {
	content: '';
	position: absolute;
	top: -18px;
	left: -18px;
	z-index: 0;
	width: 132px;
	height: 132px;
	border-top: 2px solid var(--piccola-green);
	border-left: 2px solid var(--piccola-green);
	border-radius: 18px 0 0;
}

.piccola-about-media img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	aspect-ratio: 1.28 / 1;
	object-fit: cover;
	border-radius: 18px;
	box-shadow: 0 28px 70px rgba(30, 24, 17, 0.17);
}

.piccola-about-media figcaption {
	position: absolute;
	right: -24px;
	bottom: 28px;
	z-index: 2;
	display: grid;
	min-width: 190px;
	padding: 20px 24px;
	border-radius: 13px;
	background: var(--piccola-charcoal);
	color: var(--piccola-white);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.23);
}

.piccola-about-media figcaption strong {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 27px;
}

.piccola-about-media figcaption span {
	margin-top: 3px;
	color: rgba(255, 255, 255, 0.66);
	font-size: 12px;
}

.piccola-about-copy > p:not(.piccola-section-kicker) {
	color: #555d54;
	font-size: 17px;
	line-height: 1.75;
}

.piccola-feature-list {
	display: grid;
	gap: 0;
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: piccola-feature;
}

.piccola-feature-list li {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 14px 0;
	border-bottom: 1px solid #e5e0d7 !important;
	color: #353a34;
	font-weight: 650;
}

.piccola-feature-list li::before {
	counter-increment: piccola-feature;
	content: counter(piccola-feature, decimal-leading-zero);
	color: var(--piccola-green);
	font-size: 11px;
	font-weight: 850;
}

.piccola-feature-list li span {
	color: var(--piccola-green);
	font-size: 11px;
	font-weight: 850;
}

.piccola-delivery {
	position: relative;
	overflow: hidden;
	padding-block: clamp(82px, 9vw, 126px);
	background:
		radial-gradient(circle at 85% 15%, rgba(217, 56, 50, 0.19), transparent 36%),
		linear-gradient(135deg, #10130f, #1a1d19);
	color: var(--piccola-white);
}

.piccola-delivery::before {
	content: '';
	position: absolute;
	right: -100px;
	bottom: -180px;
	width: 520px;
	height: 520px;
	border: 1px solid rgba(255, 255, 255, 0.055);
	border-radius: 50%;
}

.piccola-delivery-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(380px, 0.76fr);
	align-items: center;
	gap: clamp(50px, 7vw, 100px);
}

.piccola-delivery-copy > p:not(.piccola-section-kicker) {
	max-width: 660px;
	margin: 20px 0 0;
	color: rgba(255, 255, 255, 0.68);
	font-size: 18px;
	line-height: 1.65;
}

.piccola-delivery h2 {
	color: var(--piccola-white);
}

.piccola-delivery-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 38px 0 0;
	padding: 0;
	background: rgba(255, 255, 255, 0.1);
	list-style: none;
}

.piccola-delivery-list li {
	display: grid;
	gap: 7px;
	padding: 21px 23px;
	background: #171a16;
}

.piccola-delivery-list strong {
	color: var(--piccola-white);
	font-size: 16px;
}

.piccola-delivery-list span {
	color: rgba(255, 255, 255, 0.58);
	font-size: 13px;
	line-height: 1.5;
}

.piccola-delivery-actions {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-top: 36px;
}

.piccola-delivery-phone {
	color: var(--piccola-white);
	font-size: 19px;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-decoration: none;
}

.piccola-delivery-media {
	position: relative;
	margin: 0;
}

.piccola-delivery-media::after {
	content: '';
	position: absolute;
	inset: 18px -18px -18px 18px;
	z-index: -1;
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: 18px;
}

.piccola-delivery-media img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 18px;
	box-shadow: 0 26px 70px rgba(0, 0, 0, 0.35);
}

.piccola-gallery {
	background: var(--piccola-cream);
}

.piccola-gallery-grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr 0.85fr 1.15fr;
	grid-auto-rows: 330px;
	gap: 14px;
}

.piccola-gallery-item {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: 15px;
	background: #d8d2c8;
}

.piccola-gallery-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.piccola-gallery-item:nth-child(2) img {
	object-position: 52% center;
}

.piccola-contact {
	background: #fffdf9;
}

.piccola-contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.86fr) minmax(420px, 1.14fr);
	align-items: stretch;
	gap: clamp(48px, 7vw, 100px);
}

.piccola-contact-primary {
	display: grid;
	gap: 5px;
	margin-top: 32px;
}

.piccola-contact-primary span {
	color: #7b8179;
	font-size: 12px;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.piccola-contact-primary p {
	margin: 0;
}

.piccola-contact-primary > p:first-child {
	color: #7b8179;
	font-size: 12px;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.piccola-contact-primary a {
	width: fit-content;
	color: var(--piccola-red);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(32px, 4vw, 48px);
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.piccola-contact-secondary {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	margin-top: 14px;
}

.piccola-contact-secondary a {
	color: #51574f;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
}

.piccola-contact-secondary p {
	margin: 0;
}

.piccola-map-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 390px;
	padding: 42px;
	overflow: hidden;
	border: 1px solid #dcd7cd;
	border-radius: 18px;
	background:
		linear-gradient(35deg, transparent 47%, rgba(58, 155, 74, 0.09) 48% 51%, transparent 52%),
		linear-gradient(-28deg, transparent 46%, rgba(217, 56, 50, 0.07) 47% 50%, transparent 51%),
		#eeeae2;
	text-align: center;
}

.piccola-map-pin {
	position: relative;
	width: 66px;
	height: 66px;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	background: var(--piccola-red);
	box-shadow: 0 16px 32px rgba(217, 56, 50, 0.28);
}

.piccola-map-pin span {
	position: absolute;
	top: 19px;
	left: 19px;
	width: 28px;
	height: 28px;
	border: 7px solid #fff;
	border-radius: 50%;
}

.piccola-map-pin > div {
	position: absolute;
	top: 19px;
	left: 19px;
	width: 28px;
	height: 28px;
	border: 7px solid #fff;
	border-radius: 50%;
}

.piccola-map-card p {
	display: grid;
	gap: 4px;
	margin: 28px 0 24px;
	color: var(--piccola-charcoal);
}

.piccola-map-card p strong {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 24px;
}

.piccola-map-card p span {
	color: #666d65;
	font-size: 14px;
}

.piccola-site-footer {
	background: #0d0f0c;
	color: rgba(255, 255, 255, 0.67);
}

.piccola-footer-grid {
	display: grid;
	grid-template-columns: 1.15fr 1fr 0.75fr;
	gap: clamp(54px, 8vw, 120px);
	padding-block: 68px 60px;
}

.piccola-footer-brand img {
	display: block;
	width: 168px;
	height: auto;
}

.piccola-footer-brand p {
	margin: 18px 0 0;
	font-size: 14px;
}

.piccola-site-footer h2 {
	margin: 0 0 20px;
	color: var(--piccola-white);
	font-family: inherit;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.piccola-footer-contact address {
	margin: 0 0 14px;
	font-size: 14px;
	font-style: normal;
	line-height: 1.75;
}

.piccola-footer-phone {
	color: var(--piccola-white);
	font-size: 19px;
	font-weight: 800;
	text-decoration: none;
}

.piccola-footer-facebook {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin-top: 16px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 50%;
	color: var(--piccola-white);
}

.piccola-footer-facebook svg {
	width: 17px;
	height: 17px;
	fill: currentColor;
}

.piccola-footer-facebook:hover {
	border-color: var(--piccola-red);
	background: var(--piccola-red);
	color: var(--piccola-white);
}

.piccola-footer-nav ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px 26px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.piccola-footer-nav a {
	color: rgba(255, 255, 255, 0.67);
	font-size: 14px;
	text-decoration: none;
}

.piccola-footer-nav a:hover,
.piccola-footer-phone:hover {
	color: var(--piccola-white);
}

.piccola-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.piccola-footer-bottom .piccola-container {
	padding-block: 20px;
}

.piccola-footer-bottom p {
	margin: 0;
	font-size: 12px;
}

@media (max-width: 1120px) {
	.piccola-header-inner {
		grid-template-columns: 170px minmax(300px, 1fr) auto;
		gap: 22px;
	}

	.piccola-brand {
		width: 190px;
	}

	.piccola-header-contact-meta {
		display: none;
	}
}

@media (max-width: 959px) {
	:root {
		--piccola-header-height: 78px;
	}

	.piccola-site-header {
		background: rgba(10, 12, 10, 0.94);
	}

	.piccola-header-inner {
		position: relative;
		display: flex;
		justify-content: space-between;
		width: min(calc(100% - 32px), var(--piccola-container));
	}

	.piccola-brand {
		width: 154px;
		height: 60px;
	}

	.piccola-header-actions {
		margin-left: auto;
	}

	.piccola-opening-status-mobile {
		display: flex;
		justify-content: center;
		padding: 10px 16px;
		background: var(--piccola-charcoal);
		color: var(--piccola-white);
	}

	.piccola-opening-status-mobile .piccola-opening-status .op-is-open-shortcode {
		font-size: 12px;
	}

	.piccola-button--header {
		min-height: 42px;
		padding-inline: 17px;
		font-size: 13px;
	}

	.piccola-menu-toggle {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		order: 3;
		padding: 10px 0 10px 10px;
		border: 0;
		background: transparent;
		color: var(--piccola-white);
		font-size: 13px;
		font-weight: 700;
	}

	.piccola-menu-toggle-icon {
		display: grid;
		gap: 4px;
		width: 22px;
	}

	.piccola-menu-toggle-icon span {
		display: block;
		width: 100%;
		height: 2px;
		background: currentColor;
		transition: transform 180ms ease, opacity 180ms ease;
	}

	.piccola-site-header.is-menu-open .piccola-menu-toggle-icon span:nth-child(1) {
		transform: translateY(6px) rotate(45deg);
	}

	.piccola-site-header.is-menu-open .piccola-menu-toggle-icon span:nth-child(2) {
		opacity: 0;
	}

	.piccola-site-header.is-menu-open .piccola-menu-toggle-icon span:nth-child(3) {
		transform: translateY(-6px) rotate(-45deg);
	}

	.piccola-primary-nav {
		position: absolute;
		top: 100%;
		left: -16px;
		width: calc(100% + 32px);
		max-height: 0;
		overflow: hidden;
		background: rgba(10, 12, 10, 0.98);
		opacity: 0;
		visibility: hidden;
		transition: max-height 220ms ease, opacity 180ms ease, visibility 180ms ease;
	}

	.piccola-site-header.is-menu-open .piccola-primary-nav {
		max-height: 360px;
		opacity: 1;
		visibility: visible;
	}

	.piccola-primary-nav ul {
		display: grid;
		gap: 0;
		padding: 14px 16px 22px;
	}

	.piccola-primary-nav a {
		display: flex;
		justify-content: center;
		padding: 14px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.09);
	}

	.piccola-primary-nav a::after {
		display: none;
	}

	.piccola-hero {
		min-height: 660px;
		background-position: 62% center;
	}

	.piccola-hero-backdrop {
		background: linear-gradient(90deg, rgba(7, 9, 7, 0.94) 0%, rgba(7, 9, 7, 0.72) 60%, rgba(7, 9, 7, 0.28) 100%);
	}

	.piccola-hero-copy {
		width: min(620px, 76%);
	}

	.piccola-info-strip-inner {
		grid-template-columns: repeat(2, 1fr);
	}

	.piccola-info-item:nth-child(3) {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.13);
	}

	.piccola-info-item:nth-child(4) {
		border-top: 1px solid rgba(255, 255, 255, 0.13);
	}
}

@media (max-width: 620px) {
	.piccola-header-inner,
	.piccola-hero-inner,
	.piccola-info-strip-inner {
		width: min(calc(100% - 28px), var(--piccola-container));
	}

	.piccola-brand {
		width: 134px;
	}

	.piccola-button--header {
		width: 42px;
		min-width: 42px;
		padding: 0;
	}

	.piccola-button--header span {
		display: none;
	}

	.piccola-menu-toggle-label {
		display: none;
	}

	.piccola-hero {
		min-height: 640px;
		background-position: 58% center;
	}

	.piccola-hero-backdrop {
		background:
			linear-gradient(180deg, rgba(7, 9, 7, 0.2) 0%, rgba(7, 9, 7, 0.76) 42%, rgba(7, 9, 7, 0.97) 100%),
			linear-gradient(90deg, rgba(7, 9, 7, 0.84), rgba(7, 9, 7, 0.12));
	}

	.piccola-hero-inner {
		display: flex;
		align-items: flex-end;
		min-height: 640px;
		padding-top: calc(var(--piccola-header-height) + 180px);
		padding-bottom: 44px;
	}

	.piccola-hero-copy {
		width: 100%;
	}

	.piccola-eyebrow {
		margin-bottom: 14px;
		font-size: 11px;
	}

	.piccola-hero h1 {
		font-size: clamp(45px, 14vw, 62px);
		line-height: 1;
	}

	.piccola-hero-lead {
		margin-top: 20px;
		font-size: 16px;
		line-height: 1.55;
	}

	.piccola-hero-actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		margin-top: 28px;
	}

	.piccola-button {
		min-height: 48px;
		padding-inline: 14px;
		font-size: 13px;
	}

	.piccola-info-strip-inner {
		width: 100%;
	}

	.piccola-info-item {
		flex-direction: column;
		gap: 9px;
		min-height: 108px;
		padding: 18px 10px;
		font-size: 13px;
	}

	.piccola-info-item svg {
		width: 27px;
		height: 27px;
	}

	.piccola-info-item::before {
		width: 27px;
		height: 27px;
	}
}

/* Globalne, pływające akcje. Cookie banner może ustawić na :root
 * --piccola-floating-actions-offset na swoją rzeczywistą wysokość. */
.piccola-floating-actions {
	position: fixed;
	right: max(20px, env(safe-area-inset-right));
	bottom: calc(20px + env(safe-area-inset-bottom) + var(--piccola-floating-actions-offset, 0px));
	z-index: 110;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
	pointer-events: none;
}

.piccola-floating-action {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	color: #fff;
	box-shadow: 0 8px 22px rgba(30, 34, 31, 0.24);
	opacity: 0;
	transform: translateY(12px);
	visibility: hidden;
	pointer-events: none;
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms step-end, background-color 180ms ease;
}

.piccola-floating-action.is-visible {
	opacity: 1;
	transform: translateY(0);
	visibility: visible;
	pointer-events: auto;
	transition: opacity 180ms ease, transform 180ms ease, background-color 180ms ease;
}

.piccola-floating-action svg {
	width: 25px;
	height: 25px;
	fill: currentColor;
}

.piccola-floating-action--phone { background: var(--piccola-red); }
.piccola-floating-action--phone:hover,
.piccola-floating-action--phone:focus-visible { background: var(--piccola-red-dark); }

.piccola-floating-action--top { background: var(--piccola-charcoal); cursor: pointer; }
.piccola-floating-action--top:hover,
.piccola-floating-action--top:focus-visible { background: #343a35; }

.piccola-floating-action--top svg {
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.5;
}

.piccola-floating-action:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
}

.piccola-floating-action__label {
	position: absolute;
	right: calc(100% + 10px);
	padding: 8px 11px;
	border-radius: 5px;
	background: var(--piccola-charcoal);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
	opacity: 0;
	transform: translateX(4px);
	pointer-events: none;
	transition: opacity 160ms ease, transform 160ms ease;
}

@media (hover: hover) and (min-width: 621px) {
	.piccola-floating-action--phone:hover .piccola-floating-action__label,
	.piccola-floating-action--phone:focus-visible .piccola-floating-action__label {
		opacity: 1;
		transform: translateX(0);
	}
}

@media (max-width: 620px) {
	.piccola-floating-actions {
		right: max(14px, env(safe-area-inset-right));
		bottom: calc(14px + env(safe-area-inset-bottom) + var(--piccola-floating-actions-offset, 0px));
		gap: 10px;
	}

	.piccola-floating-action { width: 52px; height: 52px; }
	.piccola-floating-action__label { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.piccola-floating-action,
	.piccola-floating-action__label { transition: none; }
}

@media (max-width: 1024px) {
	.piccola-menu-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.piccola-about-grid,
	.piccola-delivery-grid,
	.piccola-contact-grid {
		gap: 48px;
	}

	.piccola-about-grid {
		grid-template-columns: minmax(0, 1fr) minmax(340px, 0.9fr);
	}

	.piccola-delivery-grid {
		grid-template-columns: minmax(0, 1fr) minmax(310px, 0.68fr);
	}

	.piccola-delivery-list {
		grid-template-columns: 1fr;
	}

	.piccola-gallery-grid {
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 300px;
	}

	.piccola-gallery-item--wide {
		grid-column: span 1;
	}

	.piccola-contact-grid {
		grid-template-columns: minmax(0, 0.85fr) minmax(360px, 1fr);
	}
}

@media (max-width: 760px) {
	.piccola-container {
		width: min(calc(100% - 32px), var(--piccola-container));
	}

	.piccola-section {
		padding-block: 76px;
	}

	.piccola-section-heading--split {
		display: block;
	}

	.piccola-section-heading--split > .piccola-text-link {
		display: none;
	}

	.piccola-menu-grid,
	.piccola-about-grid,
	.piccola-delivery-grid,
	.piccola-contact-grid {
		grid-template-columns: 1fr;
	}

	.piccola-menu-card {
		min-height: 232px;
	}

	.piccola-section-cta--mobile {
		display: flex;
		justify-content: center;
	}

	.piccola-about-media {
		width: calc(100% - 12px);
	}

	.piccola-about-media figcaption {
		right: -12px;
		bottom: 20px;
	}

	.piccola-about-copy {
		order: -1;
	}

	.piccola-delivery-media {
		width: min(520px, calc(100% - 16px));
		margin-inline: auto;
	}

	.piccola-delivery-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.piccola-gallery-grid {
		grid-auto-rows: 250px;
	}

	.piccola-footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 46px;
	}

	.piccola-footer-brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 520px) {
	.piccola-section {
		padding-block: 68px;
	}

	.piccola-section h2,
	.piccola-delivery h2 {
		font-size: 38px;
	}

	.piccola-section-intro,
	.piccola-delivery-copy > p:not(.piccola-section-kicker) {
		font-size: 16px;
	}

	.piccola-menu-grid {
		grid-template-columns: 1fr;
	}

	.piccola-menu-card {
		min-height: 220px;
		padding: 24px;
	}

	.piccola-about-media::before {
		top: -10px;
		left: -10px;
	}

	.piccola-about-media img {
		aspect-ratio: 1 / 1;
	}

	.piccola-about-media figcaption {
		position: relative;
		right: auto;
		bottom: auto;
		width: calc(100% - 28px);
		margin: -36px auto 0;
	}

	.piccola-delivery-list {
		grid-template-columns: 1fr;
	}

	.piccola-delivery-actions {
		align-items: flex-start;
		flex-direction: column;
		gap: 17px;
	}

	.piccola-delivery-media::after {
		inset: 10px -10px -10px 10px;
	}

	.piccola-gallery-grid {
		grid-template-columns: 1fr 1fr;
		grid-auto-rows: 190px;
		gap: 9px;
	}

	.piccola-gallery-item:first-child,
	.piccola-gallery-item:last-child {
		grid-column: 1 / -1;
	}

	.piccola-contact-primary a {
		font-size: 34px;
	}

	.piccola-map-card {
		min-height: 340px;
		padding: 30px 22px;
	}

	.piccola-footer-grid {
		grid-template-columns: 1fr;
		gap: 38px;
		padding-block: 56px 44px;
	}

	.piccola-footer-brand {
		grid-column: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* Podstrona Galeria */
.piccola-gallery-page main#main {
	background: var(--piccola-cream);
}

.piccola-gallery-page [data-content="normal"] {
	--theme-block-width: 100%;
	--theme-block-max-width: 100%;
}

.piccola-gallery-page .hero-section {
	display: none;
}

.piccola-gallery-page .ct-container-full[data-vertical-spacing] {
	padding-block: 0;
}

.piccola-gallery-page .entry-content {
	margin: 0;
}

.piccola-gallery-page-intro {
	position: relative;
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-height: 370px;
	margin: 0 !important;
	padding: clamp(70px, 9vw, 118px) max(24px, calc((100vw - var(--piccola-container)) / 2)) !important;
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 22%, rgba(58, 155, 74, 0.2), transparent 29%),
		radial-gradient(circle at 96% 92%, rgba(217, 56, 50, 0.2), transparent 31%),
		linear-gradient(120deg, #0d100c, var(--piccola-charcoal-soft));
	color: var(--piccola-white);
}

.piccola-gallery-page-intro::after {
	content: '';
	position: absolute;
	right: clamp(20px, 7vw, 110px);
	bottom: -165px;
	width: 420px;
	height: 420px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 50%;
	box-shadow: 0 0 0 46px rgba(255, 255, 255, 0.025);
}

.piccola-gallery-page-intro > * {
	position: relative;
	z-index: 1;
	width: min(100%, var(--piccola-container));
	margin-inline: auto;
}

.piccola-gallery-page-intro .piccola-section-kicker {
	color: #77bd74;
}

.piccola-gallery-page-intro h1 {
	max-width: 780px;
	margin: 8px auto 18px;
	color: var(--piccola-white);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(52px, 7vw, 82px);
	line-height: 0.98;
	letter-spacing: -0.04em;
}

.piccola-gallery-page-intro p:not(.piccola-section-kicker) {
	max-width: 650px;
	margin: 0 auto;
	color: rgba(255, 255, 255, 0.76);
	font-size: clamp(16px, 2vw, 19px);
	line-height: 1.65;
}

.piccola-gallery-page-photos {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(68px, 8vw, 108px) 24px clamp(84px, 10vw, 132px) !important;
}

.piccola-gallery-page-photos > * {
	width: min(100%, var(--piccola-container));
	margin-inline: auto;
}

.piccola-gallery-page-heading {
	margin-bottom: clamp(34px, 5vw, 54px);
}

.piccola-gallery-page-heading h2 {
	margin: 0;
	color: var(--piccola-charcoal);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(38px, 4.1vw, 58px);
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.piccola-gallery-page-heading p {
	max-width: 690px;
	margin: 18px 0 0;
	color: #555d54;
	font-size: 17px;
	line-height: 1.7;
}

.piccola-photo-grid.wp-block-gallery {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-auto-rows: clamp(190px, 16vw, 230px);
	gap: 16px !important;
	margin: 0 auto !important;
}

.piccola-photo-grid > figure.wp-block-image {
	position: relative;
	width: auto !important;
	height: 100%;
	margin: 0 !important;
	overflow: hidden;
	border-radius: 17px;
	background: #d8d2c8;
	box-shadow: 0 14px 38px rgba(34, 29, 22, 0.08);
}

.piccola-photo-grid > figure.wp-block-image:nth-child(1) {
	grid-column: span 7;
	grid-row: span 2;
}

.piccola-photo-grid > figure.wp-block-image:nth-child(2),
.piccola-photo-grid > figure.wp-block-image:nth-child(3) {
	grid-column: span 5;
}

.piccola-photo-grid > figure.wp-block-image:nth-child(4),
.piccola-photo-grid > figure.wp-block-image:nth-child(5),
.piccola-photo-grid > figure.wp-block-image:nth-child(6) {
	grid-column: span 4;
}

.piccola-photo-grid > figure.wp-block-image:nth-child(7) {
	grid-column: 1 / -1;
	grid-row: span 2;
}

.piccola-photo-grid > figure.wp-block-image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform 300ms ease, filter 300ms ease;
}

.piccola-photo-grid > figure.wp-block-image:nth-child(3) img {
	object-position: 50% 46%;
}

.piccola-photo-grid > figure.wp-block-image:nth-child(6) img {
	object-position: 50% 40%;
}

.piccola-photo-grid > figure.wp-block-image:is(:hover, :focus-within) img {
	filter: saturate(1.04);
	transform: scale(1.018);
}

.piccola-photo-grid .lightbox-trigger:focus-visible {
	outline: 3px solid var(--piccola-white);
	outline-offset: 3px;
}

/* Podstrona Kontakt */
.piccola-contact-page main#main {
	background: var(--piccola-cream);
}

.piccola-contact-page [data-content="normal"] {
	--theme-block-width: 100%;
	--theme-block-max-width: 100%;
}

.piccola-contact-page .hero-section {
	display: none;
}

.piccola-contact-page .ct-container-full[data-vertical-spacing] {
	padding-block: 0;
}

.piccola-contact-page .entry-content {
	margin: 0;
}

.piccola-contact-page-intro,
.piccola-contact-page-details,
.piccola-contact-page-hours {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.piccola-contact-page-intro {
	position: relative;
	min-height: 370px;
	padding: clamp(70px, 9vw, 118px) max(24px, calc((100vw - var(--piccola-container)) / 2)) !important;
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 22%, rgba(58, 155, 74, 0.2), transparent 29%),
		radial-gradient(circle at 96% 92%, rgba(217, 56, 50, 0.2), transparent 31%),
		linear-gradient(120deg, #0d100c, var(--piccola-charcoal-soft));
	color: var(--piccola-white);
}

.piccola-contact-page-intro::after {
	content: '';
	position: absolute;
	right: clamp(20px, 7vw, 110px);
	bottom: -165px;
	width: 420px;
	height: 420px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 50%;
	box-shadow: 0 0 0 46px rgba(255, 255, 255, 0.025);
}

.piccola-contact-page-intro > *,
.piccola-contact-page-details > *,
.piccola-contact-page-hours > * {
	position: relative;
	z-index: 1;
	width: min(100%, var(--piccola-container));
	margin-inline: auto;
}

.piccola-contact-page-intro .piccola-section-kicker {
	color: #77bd74;
}

.piccola-contact-page-intro h1 {
	max-width: 780px;
	margin: 8px auto 18px;
	color: var(--piccola-white);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(52px, 7vw, 82px);
	line-height: 0.98;
	letter-spacing: -0.04em;
}

.piccola-contact-page-intro p:not(.piccola-section-kicker) {
	max-width: 650px;
	margin: 0 auto;
	color: rgba(255, 255, 255, 0.76);
	font-size: clamp(16px, 2vw, 19px);
	line-height: 1.65;
}

.piccola-contact-page-details {
	padding: clamp(68px, 8vw, 108px) 24px !important;
	background: #fffdf9;
}

.piccola-contact-page-details .wp-block-columns {
	align-items: stretch;
	gap: clamp(24px, 4vw, 60px);
}

.piccola-contact-card,
.piccola-directions-card,
.piccola-hours-card {
	box-sizing: border-box;
	margin: 0;
	border: 1px solid #ded8cc;
	border-radius: 18px;
	box-shadow: 0 14px 36px rgba(34, 29, 22, 0.055);
}

.piccola-contact-card {
	display: flex;
	flex-direction: column;
	padding: clamp(28px, 4vw, 46px);
	background: var(--piccola-charcoal);
	color: var(--piccola-white);
}

.piccola-contact-card h2,
.piccola-directions-card h2,
.piccola-hours-card h2 {
	margin: 0;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(30px, 3vw, 42px);
	line-height: 1.08;
}

.piccola-contact-card h2 { color: var(--piccola-white); }

.piccola-contact-card address {
	margin: 25px 0 28px;
	color: rgba(255, 255, 255, 0.7);
	font-size: 17px;
	font-style: normal;
	line-height: 1.65;
}

.piccola-contact-label {
	margin: 0 0 7px;
	color: #aeb7ab;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.piccola-contact-phone-main a {
	color: var(--piccola-white);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(35px, 4.2vw, 54px);
	font-weight: 700;
	line-height: 1.1;
	text-decoration: none;
}

.piccola-contact-phone-main a:hover { color: #f8c6c2; }

.piccola-contact-phone-extra {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 26px 0 32px;
}

.piccola-contact-phone-extra a {
	color: rgba(255, 255, 255, 0.78);
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
}

.piccola-contact-phone-extra a:hover { color: var(--piccola-white); }

.piccola-contact-facebook {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 30px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

.piccola-contact-facebook svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.piccola-contact-facebook:hover { color: var(--piccola-white); }

.piccola-contact-card .wp-block-buttons { margin-top: auto; }

.piccola-directions-card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100%;
	padding: clamp(28px, 4vw, 46px);
	overflow: hidden;
	background:
		linear-gradient(35deg, transparent 47%, rgba(58, 155, 74, 0.13) 48% 51%, transparent 52%),
		linear-gradient(-28deg, transparent 46%, rgba(217, 56, 50, 0.1) 47% 50%, transparent 51%),
		#eeeae2;
}

.piccola-directions-card::before {
	content: '';
	width: 54px;
	height: 54px;
	margin-bottom: 28px;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	background: var(--piccola-red);
	box-shadow: 0 14px 28px rgba(217, 56, 50, 0.25);
}

.piccola-directions-card::after {
	content: '';
	position: absolute;
	top: 47px;
	left: clamp(39px, 5.1vw, 58px);
	width: 18px;
	height: 18px;
	border: 5px solid #fff;
	border-radius: 50%;
}

.piccola-directions-card h2 { color: var(--piccola-charcoal); }

.piccola-directions-card p:not(.piccola-section-kicker) {
	max-width: 460px;
	margin: 20px 0 30px;
	color: #586057;
	font-size: 17px;
	line-height: 1.65;
}

.piccola-contact-page-hours {
	padding: clamp(68px, 8vw, 108px) 24px clamp(84px, 10vw, 132px) !important;
	background: var(--piccola-cream);
}

.piccola-hours-card {
	padding: clamp(30px, 5vw, 58px);
	background: #fffdf9;
}

.piccola-hours-content {
	width: min(100%, 640px) !important;
	max-width: 640px !important;
	margin: 0 auto !important;
}

.piccola-hours-content > .piccola-section-kicker {
	justify-content: flex-start;
	max-width: none;
	margin: 0 0 14px;
	text-align: left;
}

.piccola-hours-content > h2 {
	margin: 0;
	text-align: left;
}

.piccola-hours-card > p {
	max-width: 660px;
	margin: 15px 0 30px;
	color: #596157;
	font-size: 17px;
	line-height: 1.65;
}

.piccola-hours-content .op-overview-shortcode {
	width: 100%;
	max-width: none;
	margin: clamp(30px, 4vw, 46px) 0 0;
}

.piccola-hours-card .op-table-overview {
	width: 100%;
	border: 0 !important;
	border-collapse: collapse;
	color: var(--piccola-charcoal);
}

.piccola-hours-card .op-row-day > .op-cell {
	padding: clamp(17px, 2vw, 23px) 0;
	border: 0 !important;
	border-bottom: 1px solid #e5e0d7 !important;
	background: transparent;
	font-size: clamp(16px, 1.5vw, 18px);
	line-height: 1.35;
	vertical-align: middle;
}

.piccola-hours-card .op-row-day > .op-cell-heading {
	width: 50%;
	color: var(--piccola-charcoal);
	font-weight: 750;
	text-align: left;
}

.piccola-hours-card .op-row-day > .op-cell-periods {
	color: #596157;
	font-weight: 650;
	text-align: right;
}

.piccola-hours-card .op-row-day:last-child > .op-cell { border-bottom: 0 !important; }

.piccola-hours-card .op-row-day .op-period-time { display: inline; }

.piccola-hours-card .op-row-day .op-closed {
	color: var(--piccola-red-dark);
	font-weight: 750;
}

/* Podstrona Polityka prywatności */
.piccola-privacy-page main#main {
	background: var(--piccola-cream);
}

.piccola-privacy-page [data-content="normal"] {
	--theme-block-width: 100%;
	--theme-block-max-width: 100%;
}

.piccola-privacy-page .hero-section { display: none; }
.piccola-privacy-page .ct-container-full[data-vertical-spacing] { padding-block: 0; }
.piccola-privacy-page .entry-content { margin: 0; }

.piccola-privacy-intro,
.piccola-privacy-content {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.piccola-privacy-intro {
	position: relative;
	padding: clamp(70px, 9vw, 118px) max(24px, calc((100vw - var(--piccola-container)) / 2)) !important;
	overflow: hidden;
	background: var(--piccola-charcoal);
	color: var(--piccola-white);
}

.piccola-privacy-intro::after {
	content: '';
	position: absolute;
	right: clamp(20px, 7vw, 110px);
	top: 50%;
	width: 170px;
	height: 170px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 50%;
	transform: translateY(-50%);
	box-shadow: 0 0 0 46px rgba(255, 255, 255, 0.025);
}

.piccola-privacy-intro > *,
.piccola-privacy-content > * {
	position: relative;
	z-index: 1;
	width: min(100%, 820px);
	margin-inline: auto;
}

.piccola-privacy-intro .piccola-section-kicker { color: #77bd74; }

.piccola-privacy-intro h1 {
	margin: 8px auto 18px;
	color: var(--piccola-white);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(42px, 5.4vw, 72px);
	letter-spacing: -0.04em;
}

.piccola-privacy-intro p:not(.piccola-section-kicker) {
	margin: 0 auto;
	color: rgba(255, 255, 255, 0.76);
	font-size: 17px;
	line-height: 1.65;
}

.piccola-privacy-content {
	padding: clamp(58px, 8vw, 104px) 24px clamp(84px, 10vw, 128px) !important;
	background: #fffdf9;
}

.piccola-privacy-section {
	padding: 0 0 clamp(30px, 4vw, 46px);
	margin-bottom: clamp(30px, 4vw, 46px) !important;
	border-bottom: 1px solid #e5e0d7;
}

.piccola-privacy-section:last-child {
	padding-bottom: 0;
	margin-bottom: 0 !important;
	border-bottom: 0;
}

.piccola-privacy-section h2 {
	margin: 0 0 14px;
	color: var(--piccola-charcoal);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(27px, 3vw, 38px);
	letter-spacing: -0.03em;
}

.piccola-privacy-section p,
.piccola-privacy-section li {
	color: #596157;
	font-size: 16px;
	line-height: 1.7;
}

.piccola-privacy-section p { margin: 0; }
.piccola-privacy-section p + p { margin-top: 14px; }
.piccola-privacy-section ul { margin: 14px 0 0; padding-left: 1.25em; }
.piccola-privacy-section li + li { margin-top: 6px; }

.piccola-privacy-note {
	margin-top: 18px !important;
	padding: 16px 18px;
	border-left: 3px solid var(--piccola-red);
	background: #f5f0e8;
	color: #4e564d !important;
	font-size: 15px !important;
}

/* Podstrona Alergeny */
.piccola-allergens-page main#main { background: var(--piccola-cream); }
.piccola-allergens-page [data-content="normal"] { --theme-block-width: 100%; --theme-block-max-width: 100%; }
.piccola-allergens-page .hero-section { display: none; }
.piccola-allergens-page .ct-container-full[data-vertical-spacing] { padding-block: 0; }
.piccola-allergens-page .entry-content { margin: 0; }

.piccola-allergens-intro,
.piccola-allergens-content {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.piccola-allergens-intro {
	position: relative;
	min-height: 370px;
	padding: clamp(70px, 9vw, 118px) max(24px, calc((100vw - var(--piccola-container)) / 2)) !important;
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 22%, rgba(58, 155, 74, 0.2), transparent 29%),
		radial-gradient(circle at 96% 92%, rgba(217, 56, 50, 0.2), transparent 31%),
		linear-gradient(120deg, #0d100c, var(--piccola-charcoal-soft));
	color: var(--piccola-white);
}

.piccola-allergens-intro::after {
	content: '';
	position: absolute;
	right: clamp(20px, 7vw, 110px);
	bottom: -165px;
	width: 420px;
	height: 420px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 50%;
	box-shadow: 0 0 0 46px rgba(255, 255, 255, 0.025);
}

.piccola-allergens-intro > *,
.piccola-allergens-content > * {
	position: relative;
	z-index: 1;
	width: min(100%, 900px);
	margin-inline: auto;
}

.piccola-allergens-intro .piccola-section-kicker { color: #77bd74; }
.piccola-allergens-intro h1 {
	max-width: 780px;
	margin: 8px auto 18px;
	color: var(--piccola-white);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(52px, 7vw, 82px);
	line-height: 0.98;
	letter-spacing: -0.04em;
}
.piccola-allergens-intro p:not(.piccola-section-kicker) {
	max-width: 650px;
	margin: 0 auto;
	color: rgba(255, 255, 255, 0.76);
	font-size: clamp(16px, 2vw, 19px);
	line-height: 1.65;
}

.piccola-allergens-content {
	padding: clamp(68px, 8vw, 108px) 24px clamp(84px, 10vw, 132px) !important;
	background: #fffdf9;
}
.piccola-allergens-section {
	padding: 0 0 clamp(34px, 5vw, 54px);
	margin-bottom: clamp(34px, 5vw, 54px) !important;
	border-bottom: 1px solid #e5e0d7;
}
.piccola-allergens-section:last-child { padding-bottom: 0; margin-bottom: 0 !important; border-bottom: 0; }
.piccola-allergens-section h2 {
	margin: 0 0 18px;
	color: var(--piccola-charcoal);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(30px, 3.4vw, 44px);
	line-height: 1.08;
	letter-spacing: -0.03em;
}
.piccola-allergens-section p,
.piccola-allergens-section li { color: #596157; font-size: 17px; line-height: 1.7; }
.piccola-allergens-section p { margin: 0; }
.piccola-allergens-list { display: grid; gap: 7px; margin: 20px 0; padding-left: 1.3em; }
.piccola-allergens-note {
	margin-top: 24px !important;
	padding: 18px 20px;
	border-left: 3px solid var(--piccola-red);
	background: var(--piccola-cream);
	color: #4e564d !important;
	font-size: 15px !important;
}
.piccola-allergens-document {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: clamp(24px, 4vw, 36px);
	border: 1px solid #ded8cc;
	border-radius: 18px;
	background: var(--piccola-cream);
}
.piccola-allergens-document h2 { margin-bottom: 8px; font-size: clamp(26px, 3vw, 36px); }
.piccola-allergens-document p { max-width: 520px; }
.piccola-allergens-document .wp-block-button { flex: 0 0 auto; margin: 0; }

@media (max-width: 620px) {
	.piccola-allergens-intro { min-height: 320px; padding-inline: 20px !important; }
	.piccola-allergens-intro::after { right: -170px; }
	.piccola-allergens-content { padding-inline: 20px !important; }
	.piccola-allergens-document { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 620px) {
	.piccola-contact-page-intro { min-height: 320px; padding-inline: 20px !important; }
	.piccola-contact-page-intro::after { right: -170px; }
	.piccola-contact-page-details,
	.piccola-contact-page-hours { padding-inline: 14px !important; }
	.piccola-contact-phone-main a { font-size: 40px; }
	.piccola-hours-card .op-row-day > .op-cell {
		padding-block: 16px;
		font-size: 15px;
	}

	.piccola-hours-card .op-overview-shortcode {
		max-width: none;
	}
	.piccola-privacy-intro { padding-inline: 20px !important; }
	.piccola-privacy-intro::after { right: -170px; }
	.piccola-privacy-content { padding-inline: 20px !important; }
}

@media (max-width: 900px) {
	.piccola-photo-grid.wp-block-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: 260px;
		gap: 14px !important;
	}

	.piccola-photo-grid > figure.wp-block-image:nth-child(n) {
		grid-column: auto;
		grid-row: auto;
	}

	.piccola-photo-grid > figure.wp-block-image:nth-child(1),
	.piccola-photo-grid > figure.wp-block-image:nth-child(7) {
		grid-column: 1 / -1;
	}

	.piccola-photo-grid > figure.wp-block-image:nth-child(1) {
		grid-row: span 2;
	}
}

@media (max-width: 620px) {
	.piccola-gallery-page-intro {
		min-height: 320px;
		padding-inline: 20px !important;
	}

	.piccola-gallery-page-intro::after {
		right: -170px;
	}

	.piccola-gallery-page-photos {
		padding: 60px 14px 78px !important;
	}

	.piccola-gallery-page-heading {
		padding-inline: 2px;
	}

	.piccola-photo-grid.wp-block-gallery {
		grid-template-columns: minmax(0, 1fr);
		grid-auto-rows: auto;
		gap: 11px !important;
	}

	.piccola-photo-grid > figure.wp-block-image:nth-child(n) {
		grid-column: 1;
		grid-row: auto;
		aspect-ratio: 4 / 3;
		border-radius: 14px;
	}

	.piccola-photo-grid > figure.wp-block-image:nth-child(1),
	.piccola-photo-grid > figure.wp-block-image:nth-child(7) {
		aspect-ratio: 16 / 10;
	}
}

/* Wspólny hero podstron ze zdjęciami Piccoli. */
.piccola-menu-page .piccola-subpage-hero,
.piccola-promotions-page .piccola-subpage-hero,
.piccola-gallery-page .piccola-subpage-hero,
.piccola-contact-page .piccola-subpage-hero,
.piccola-allergens-page .piccola-subpage-hero {
	--piccola-hero-image: none;
	--piccola-hero-overlay: rgba(8, 10, 8, 0.58);
	--piccola-hero-position: center center;
	min-height: 370px !important;
	padding-top: 52px !important;
	padding-bottom: 52px !important;
	background-color: #111310 !important;
	background-image:
		linear-gradient(var(--piccola-hero-overlay), var(--piccola-hero-overlay)),
		var(--piccola-hero-image) !important;
	background-position: center, var(--piccola-hero-position) !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

.piccola-subpage-hero::after {
	display: none !important;
}

.piccola-menu-page .piccola-subpage-hero {
	--piccola-hero-image: url('assets/images/heroes/menu-hero.webp');
	--piccola-hero-overlay: rgba(8, 10, 8, 0.58);
	--piccola-hero-position: 52% 57%;
}

.piccola-promotions-page .piccola-subpage-hero {
	--piccola-hero-image: url('assets/images/heroes/promocje-hero.webp');
	--piccola-hero-overlay: rgba(8, 10, 8, 0.63);
	--piccola-hero-position: 50% 58%;
}

.piccola-gallery-page .piccola-subpage-hero {
	--piccola-hero-image: url('assets/images/heroes/galeria-hero.webp');
	--piccola-hero-overlay: rgba(8, 10, 8, 0.53);
	--piccola-hero-position: 50% 56%;
}

.piccola-contact-page .piccola-subpage-hero {
	--piccola-hero-image: url('assets/images/heroes/kontakt-hero.webp');
	--piccola-hero-overlay: rgba(8, 10, 8, 0.58);
	--piccola-hero-position: 50% 55%;
}

.piccola-allergens-page .piccola-subpage-hero {
	--piccola-hero-image: url('assets/images/heroes/alergeny-hero.webp');
	--piccola-hero-overlay: rgba(8, 10, 8, 0.55);
	--piccola-hero-position: 50% 48%;
}

@media (max-width: 620px) {
	.piccola-menu-page .piccola-subpage-hero,
	.piccola-promotions-page .piccola-subpage-hero,
	.piccola-gallery-page .piccola-subpage-hero,
	.piccola-contact-page .piccola-subpage-hero,
	.piccola-allergens-page .piccola-subpage-hero {
		min-height: 250px !important;
		padding-top: 22px !important;
		padding-bottom: 22px !important;
	}

	.piccola-menu-page .piccola-subpage-hero h1,
	.piccola-promotions-page .piccola-subpage-hero h1,
	.piccola-gallery-page .piccola-subpage-hero h1,
	.piccola-contact-page .piccola-subpage-hero h1,
	.piccola-allergens-page .piccola-subpage-hero h1 {
		font-size: 42px !important;
	}

	.piccola-menu-page .piccola-subpage-hero p:not(.piccola-section-kicker),
	.piccola-promotions-page .piccola-subpage-hero p:not(.piccola-section-kicker),
	.piccola-gallery-page .piccola-subpage-hero p:not(.piccola-section-kicker),
	.piccola-contact-page .piccola-subpage-hero p:not(.piccola-section-kicker),
	.piccola-allergens-page .piccola-subpage-hero p:not(.piccola-section-kicker) {
		font-size: 15px !important;
		line-height: 1.5 !important;
	}

	.piccola-menu-page .piccola-subpage-hero {
		--piccola-hero-position: 39% 56%;
	}

	.piccola-promotions-page .piccola-subpage-hero {
		--piccola-hero-position: 44% 56%;
	}

	.piccola-gallery-page .piccola-subpage-hero {
		--piccola-hero-position: 67% 55%;
	}

	.piccola-contact-page .piccola-subpage-hero {
		--piccola-hero-position: 56% 54%;
	}

	.piccola-allergens-page .piccola-subpage-hero {
		--piccola-hero-position: 55% 48%;
	}
}
