/* ------------------------------------------------------------------ */
/*  SKALA WSPÓLNA                                                      */
/*                                                                     */
/*  Zmierzone na żywej stronie: motyw ustawia treść na 17 px w kolorze */
/*  rgba(240,235,224,.75), nagłówki krojem Cinzel, stopkę EB Garamond. */
/*  Komponenty wtyczki miały własną skalę — 15 px i szary #B0AAA0 —    */
/*  i to one robiły połowę wrażenia „raz biała, raz szara, raz         */
/*  większa, raz mniejsza".                                            */
/*                                                                     */
/*  Zasada, którą wprowadzam: tekst będący TREŚCIĄ dziedziczy rozmiar  */
/*  i kolor po stronie. Mniejszy i przygaszony zostaje wyłącznie tam,  */
/*  gdzie to naprawdę metadana — etykieta, cena obok nazwy, podpis.    */
/* ------------------------------------------------------------------ */
:where(.pos-facts,.pos-qa,.pos-related,.pos-compare,.pos-cat-cta,.pos-next,.pos-toc){
--pos-meta:.8125rem;
}
.pos-facts-row dd,.pos-qa-a,.pos-related-why,.pos-card-line,.pos-cat-cta p,.pos-next-list li{
font-size:1em;
line-height:inherit;
}

/* Power of Spells — elementy konwersyjne (front) */

.pos-disclaimer{
	font-size:12px;
	color:#A39E93;
	letter-spacing:.03em;
	margin:0 0 14px;
}

.pos-trust{
	margin-top:20px;
	padding-top:18px;
	border-top:1px solid #2A2A2D;
	font-size:14px;
	color:#A39E93;
	line-height:1.9;
	clear:both;
}
.pos-trust span{display:block;}
.pos-trust span::before{content:"\2726 ";color:#C9A84C;}

/* ---------- Tabela cen [pos_pricing] ---------- */
.pos-pricing{margin:26px 0;}
.pos-pricing h2{margin:30px 0 12px;font-size:26px;}
.pos-pricing-table{
	width:100%;
	border-collapse:collapse;
	margin:0 0 10px;
}
.pos-pricing-table td{
	padding:14px 4px;
	border-bottom:1px solid #2A2A2D;
	vertical-align:middle;
}
.pos-pricing-name a{
	text-decoration:none;
	font-size:17px;
	border-bottom:1px solid transparent;
}
.pos-pricing-name a:hover{border-bottom-color:#C9A84C;}
.pos-pricing-price{
	text-align:right;
	white-space:nowrap;
	color:#C9A84C;
	font-weight:600;
	font-size:17px;
}
.pos-pricing-price del{opacity:.5;font-weight:400;margin-right:6px;}

/* ---------- Formularz danych do zamówienia ---------- */
.pos-intake{
	max-width:640px;
	margin:34px auto;
	padding:30px 32px;
	background:#131315;
	border:1px solid #2A2A2D;
	border-radius:4px;
}
.pos-intake h2{margin:0 0 14px;font-size:26px;line-height:1.25;}
.pos-intake p{margin:0 0 14px;}
.pos-intake-form p{margin:0 0 18px;}
.pos-intake label{
	display:block;
	font-size:14px;
	font-weight:600;
	margin-bottom:6px;
	letter-spacing:.01em;
}
.pos-intake label span{color:#C9A84C;}
.pos-intake small{
	display:block;
	margin-top:5px;
	font-size:12.5px;
	color:#A39E93;
	font-weight:400;
}
.pos-intake input[type="text"],
.pos-intake input[type="url"],
.pos-intake input[type="date"],
.pos-intake textarea{
	width:100%;
	background:#0B0B0C;
	border:1px solid #2A2A2D;
	color:#EDE7DA;
	padding:13px 15px;
	font-size:16px; /* poniżej 16px iOS przybliża widok */
	border-radius:3px;
	font-family:inherit;
}
.pos-intake input:focus,
.pos-intake textarea:focus{border-color:#C9A84C;outline:none;}
.pos-intake-consent label{
	font-weight:400;
	font-size:13.5px;
	color:#A39E93;
	display:flex;
	gap:10px;
	align-items:flex-start;
	line-height:1.6;
}
.pos-intake-consent input{margin-top:3px;flex:0 0 auto;}
.pos-intake-submit{
	background:#C9A84C !important;
	color:#0B0B0C !important;
	border:none !important;
	padding:16px 34px !important;
	font-size:14px !important;
	font-weight:600 !important;
	letter-spacing:.09em !important;
	text-transform:uppercase !important;
	border-radius:2px !important;
	cursor:pointer;
	width:100%;
}
.pos-intake-submit:hover{background:#DFC276 !important;}
.pos-intake-error{
	background:rgba(179,45,46,.14);
	border-left:3px solid #b32d2e;
	padding:11px 15px;
	font-size:14px;
}
.pos-intake-done,.pos-intake-note{border-left:3px solid #C9A84C;}

.pos-sticky-cta{display:none;}

@media(max-width:768px){
	.pos-sticky-cta{
		display:block;
		position:fixed;
		left:0;right:0;bottom:0;
		z-index:9999;
		background:#C9A84C;
		color:#0B0B0C;
		text-align:center;
		padding:15px;
		font-weight:600;
		font-size:14px;
		letter-spacing:.08em;
		text-transform:uppercase;
		text-decoration:none;
		box-shadow:0 -2px 18px rgba(0,0,0,.55);
	}
	.pos-sticky-cta:hover,
	.pos-sticky-cta:focus{background:#DFC276;color:#0B0B0C;}
	body{padding-bottom:56px;}
}

/* ---------- Przewodnik doboru usługi ----------
   Styl przeniesiony do page-layout.css i ograniczony klasą
   body.posn-native. Powód: klasy `.pos-*` zderzają się ze 132 regułami
   motywu potomnego o tym samym prefiksie - stąd kropki nachodzące
   na tekst i wielkie litery w etykietach, mimo że w tym pliku było
   napisane co innego. Prefiks `posn-` nie ma z czym kolidować. */
/* ------------------------------------------------------------------ */
/*  Komponenty stron produktowych i kategorii                          */
/*                                                                     */
/*  Arkusz statyczny, a nie wstrzykiwany w nagłówek: przeglądarka      */
/*  zapisze go w pamięci podręcznej raz i nie pobierze przy każdej     */
/*  podstronie. Kolory czytamy ze zmiennych z modułu Wygląd, ale każda */
/*  ma wartość zapasową, więc komponenty wyglądają poprawnie także     */
/*  przy wyłączonym module.                                            */
/* ------------------------------------------------------------------ */
.pos-related{margin:3rem 0 0;container-type:inline-size;}
.pos-related-title{font-size:var(--pos-h3,1.25rem);margin:0 0 .25rem;}
.pos-related-grid{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;gap:1rem;}
.pos-related-card{
background:var(--pos-bg-alt,#131315);
border:1px solid var(--pos-line,#2A2A2D);
border-radius:var(--pos-radius,3px);
padding:1.1rem 1.2rem;
display:flex;flex-direction:column;gap:.35rem;
}
.pos-related-why{margin:0;color:var(--pos-text,#EFEAE1);opacity:.8;}
.pos-related-name{margin:0;font-size:1.0625rem;line-height:1.35;}
.pos-related-name a{color:var(--pos-gold,#C9A84C);text-decoration:none;}
.pos-related-name a:hover,.pos-related-name a:focus-visible{color:var(--pos-gold-hi,#DFC276);text-decoration:underline;}
.pos-related-price{margin:auto 0 0;color:var(--pos-dim,#A39E93);font-size:.9375rem;}
@media (min-width:768px){.pos-related-grid{grid-template-columns:repeat(3,1fr);}}
@supports (container-type:inline-size){
.pos-related-grid{grid-template-columns:1fr;}
@container (min-width:34rem){.pos-related-grid{grid-template-columns:repeat(2,1fr);}}
@container (min-width:52rem){.pos-related-grid{grid-template-columns:repeat(3,1fr);}}
}
.pos-autolink{text-underline-offset:.18em;text-decoration-thickness:1px;}
.pos-related-card,.pos-related-name a{transition:border-color .18s ease,color .18s ease;}

/* Skrzynka faktów */
.pos-facts{
border:1px solid var(--pos-line,#2A2A2D);
border-left:3px solid var(--pos-gold,#C9A84C);
background:var(--pos-bg-alt,#131315);
padding:1.15rem 1.35rem 1.25rem;margin:0 0 2rem;border-radius:var(--pos-radius,3px);
container-type:inline-size;
}
.pos-facts-head{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;justify-content:space-between;margin-bottom:.9rem;}
.pos-facts-eyebrow{
font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pos-gold,#C9A84C);
}
.pos-facts-price{font-size:1.25rem;font-weight:600;color:var(--pos-text,#EDE7DA);}
.pos-facts-price del{opacity:.55;font-weight:400;}
.pos-facts-list{margin:0;display:grid;gap:.7rem;}
.pos-facts-row{display:grid;gap:.15rem;}
.pos-facts-row dt{
font-size:var(--pos-meta,.8125rem);letter-spacing:.08em;text-transform:uppercase;
color:var(--pos-dim,#B0AAA0);
}
.pos-facts-row dd{margin:0;color:var(--pos-text,#EFEAE1);}
.pos-facts-note{
margin:1.1rem 0 0;padding-top:.9rem;border-top:1px solid var(--pos-line,#3A3A47);
color:var(--pos-text,#EFEAE1);opacity:.85;
}
.pos-facts-note strong{color:var(--pos-text,#EDE7DA);}
@supports (container-type:inline-size){
@container (min-width:32rem){
.pos-facts-row{grid-template-columns:11rem 1fr;gap:1.25rem;align-items:baseline;}
.pos-facts-row dt{padding-top:.1rem;}
}
}

/* Spis treści */
.pos-toc{
border:1px solid var(--pos-line,#2A2A2D);border-radius:var(--pos-radius,3px);
margin:0 0 2rem;padding:.15rem .35rem;
}
.pos-toc>summary{
cursor:pointer;padding:.7rem 1rem;font-weight:600;list-style-position:inside;
display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap;
}
.pos-toc-count{font-weight:400;font-size:.875rem;color:var(--pos-dim,#A39E93);}
.pos-toc-list{margin:0 0 .8rem;padding:0 1rem 0 2.4rem;display:grid;gap:.35rem;}
.pos-toc-list a{color:var(--pos-text,#EDE7DA);text-underline-offset:.18em;}
.pos-toc-list a:hover,.pos-toc-list a:focus-visible{color:var(--pos-gold-hi,#DFC276);}

/* FAQ */
.pos-faq{margin:1.2rem 0 0;border-top:1px solid var(--pos-line,#2A2A2D);}
.pos-faq-item{border-bottom:1px solid var(--pos-line,#2A2A2D);}
.pos-faq-item>summary{
cursor:pointer;padding:.95rem 2.2rem .95rem 0;font-weight:600;position:relative;
line-height:1.45;list-style:none;
}
.pos-faq-item>summary::-webkit-details-marker{display:none;}
.pos-faq-item>summary::after{
content:"+";position:absolute;right:.35rem;top:.85rem;
font-size:1.35rem;line-height:1;font-weight:400;color:var(--pos-gold,#C9A84C);
}
.pos-faq-item[open]>summary::after{content:"-";}
.pos-faq-item[open]>summary{color:var(--pos-gold,#C9A84C);}
.pos-faq-answer{padding:0 2.2rem 1.15rem 0;}
.pos-faq-answer p{margin:0;line-height:1.7;color:var(--pos-text,#EDE7DA);}

/* Kafelki i panel kategorii */
.pos-card-line{
/* NIE color:inherit — zmierzone na żywej stronie: wewnątrz kafelka
   WooCommerce dziedziczy złoty kolor nagłówka i zdanie „dla kogo"
   robi się złote. Ustawiamy wprost kolor treści. */
margin:.35rem 0 .6rem;
color:var(--pos-text,#EFEAE1);opacity:.9;
}
.pos-loop-button{display:inline-block;}
.pos-cat-cta{
margin:3rem 0 0;padding:1.6rem 1.75rem;
border:1px solid var(--pos-line,#2A2A2D);border-radius:var(--pos-radius,3px);
background:var(--pos-bg-alt,#131315);
}
.pos-cat-cta h2{margin:0 0 .6rem;font-size:var(--pos-h3,1.25rem);}
.pos-cat-cta p{margin:0 0 1rem;max-width:var(--pos-measure,68ch);}
.pos-cat-cta p:last-child{margin-bottom:0;}

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

/* Opis kategorii podzielony na dwie części */
.pos-cat-intro{margin-bottom:2rem;}
.pos-cat-rest{
margin:2.5rem 0 0;padding-top:1.75rem;
border-top:1px solid var(--pos-line,#3A3A47);
}
.pos-cat-rest p{max-width:var(--pos-measure,68ch);}
.pos-cat-rest a{color:var(--pos-gold,#C9A84C);}

/* ------------------------------------------------------------------ */
/*  Karta Q&A                                                          */
/* ------------------------------------------------------------------ */
.pos-qa{max-width:var(--pos-measure,68ch);}
.pos-qa-intro{color:var(--pos-dim,#A39E93);margin:0 0 1.75rem;}
.pos-qa-item{margin:0 0 1.6rem;}
.pos-qa-q{
margin:0 0 .4rem;font-size:1.0625rem;line-height:1.4;
color:var(--pos-gold,#C9A84C);
}
.pos-qa-a{margin:0;color:var(--pos-text,#EFEAE1);}

/* ------------------------------------------------------------------ */
/*  Tabela porównawcza                                                 */
/* ------------------------------------------------------------------ */
.pos-compare{margin:3rem 0 0;}
.pos-compare h2{margin:0 0 1rem;font-size:var(--pos-h3,1.25rem);}
.pos-compare-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.pos-compare-table{
width:100%;border-collapse:collapse;font-size:.9375rem;
border:1px solid var(--pos-line,#2A2A2D);
}
.pos-compare-table th,.pos-compare-table td{
padding:.7rem .85rem;text-align:left;vertical-align:top;
border-bottom:1px solid var(--pos-line,#2A2A2D);
}
.pos-compare-table thead th{
font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;
color:var(--pos-dim,#A39E93);background:var(--pos-bg-alt,#131315);
white-space:nowrap;
}
.pos-compare-table tbody th{font-weight:600;}
.pos-compare-table tbody th a{color:var(--pos-gold,#C9A84C);text-decoration:none;}
.pos-compare-table tbody th a:hover,.pos-compare-table tbody th a:focus-visible{
color:var(--pos-gold-hi,#DFC276);text-decoration:underline;
}
.pos-compare-table tbody tr:last-child th,.pos-compare-table tbody tr:last-child td{border-bottom:0;}

/* Na wąskim ekranie tabela zamienia się w listę kart. Poziome przewijanie
   pięciu kolumn na telefonie jest formalnie poprawne i praktycznie bezużyteczne. */
@media (max-width:640px){
.pos-compare-table,.pos-compare-table tbody,.pos-compare-table tr,
.pos-compare-table th,.pos-compare-table td{display:block;width:auto;}
.pos-compare-table thead{position:absolute;left:-9999px;}
.pos-compare-table tbody tr{
border:1px solid var(--pos-line,#2A2A2D);margin-bottom:.9rem;padding:.35rem 0;
}
.pos-compare-table tbody th{font-size:1.0625rem;border-bottom:0;padding-bottom:.2rem;}
.pos-compare-table td{border-bottom:0;padding-top:.2rem;padding-bottom:.2rem;}
.pos-compare-table td::before{
content:attr(data-label) ": ";
color:var(--pos-dim,#A39E93);font-size:.8125rem;
}
}

/* ------------------------------------------------------------------ */
/*  Koszyk, kasa, podziękowanie                                        */
/* ------------------------------------------------------------------ */
.pos-checkout-terms{
margin:1.25rem 0;padding:1rem 1.1rem;
border:1px solid var(--pos-line,#2A2A2D);border-left:3px solid var(--pos-gold,#C9A84C);
background:var(--pos-bg-alt,#131315);border-radius:var(--pos-radius,3px);
}
.pos-checkout-terms label{display:flex;gap:.7rem;align-items:flex-start;cursor:pointer;line-height:1.55;}
.pos-checkout-terms input[type=checkbox]{margin-top:.28rem;flex:0 0 auto;width:1.1rem;height:1.1rem;}
.pos-checkout-terms-links{margin:.7rem 0 0;font-size:.875rem;color:var(--pos-dim,#A39E93);}
.pos-checkout-terms-links a{color:var(--pos-gold,#C9A84C);}

.pos-checkout-trust{
list-style:none;margin:1.1rem 0 0;padding:0;
font-size:.9375rem;line-height:1.8;color:var(--pos-dim,#A39E93);
}
.pos-checkout-trust li::before{content:"\2726 ";color:var(--pos-gold,#C9A84C);}

.pos-descriptor{
margin:1rem 0;font-size:.9375rem;color:var(--pos-dim,#A39E93);
}

.pos-next{
margin:0 0 2.25rem;padding:1.4rem 1.6rem;
border:1px solid var(--pos-line,#2A2A2D);border-left:3px solid var(--pos-gold,#C9A84C);
background:var(--pos-bg-alt,#131315);border-radius:var(--pos-radius,3px);
}
.pos-next h2{margin:0 0 .9rem;font-size:var(--pos-h3,1.25rem);}
.pos-next-list{margin:0;padding-left:1.3rem;display:grid;gap:.6rem;}
.pos-next-list li{line-height:1.55;}
.pos-next-list span{display:block;color:var(--pos-dim,#A39E93);}
.pos-next-note{
margin:1.1rem 0 0;padding-top:.9rem;border-top:1px solid var(--pos-line,#2A2A2D);
font-size:.9375rem;color:var(--pos-dim,#A39E93);
}
.pos-empty-cart{margin:1.5rem 0;}
.pos-cat-cta-actions{display:flex;flex-wrap:wrap;gap:.9rem 1.4rem;align-items:center;}
.pos-cat-cta-alt{font-size:.9375rem;color:var(--pos-dim,#A39E93);text-underline-offset:.2em;}
.pos-cat-cta-alt:hover,.pos-cat-cta-alt:focus-visible{color:var(--pos-gold-hi,#DFC276);}
.pos-cat-rest-title{margin:0 0 1rem;font-size:var(--pos-h3,1.25rem);}
